Skip to main content
QUICK REVIEW

[论文解读] Parallel Complexity of Forward and Backward Propagation

Maxim Naumov|arXiv (Cornell University)|Dec 18, 2017
Neural Networks and Applications参考文献 26被引用 6
一句话总结

本文将神经网络中的前向传播和反向传播表述为求解下三角和上三角线性方程组,通过直接法和迭代法实现新型并行算法。证明了对于前馈网络和循环网络,反向传播可分别在 O(log k) 和 O(log k log τ) 步内并行化,为标准顺序计算之外的模型并行化提供了通用框架。

ABSTRACT

We show that the forward and backward propagation can be formulated as a solution of lower and upper triangular systems of equations. For standard feedforward (FNNs) and recurrent neural networks (RNNs) the triangular systems are always block bi-diagonal, while for a general computation graph (directed acyclic graph) they can have a more complex triangular sparsity pattern. We discuss direct and iterative parallel algorithms that can be used for their solution and interpreted as different ways of performing model parallelism. Also, we show that for FNNs and RNNs with $k$ layers and $τ$ time steps the backward propagation can be performed in parallel in O($\log k$) and O($\log k \log τ$) steps, respectively. Finally, we outline the generalization of this technique using Jacobians that potentially allows us to handle arbitrary layers.

研究动机与目标

  • 将神经网络中的前向传播和反向传播系统性地表述为求解三角方程组。
  • 利用直接法和迭代数值方法,为这些方程组开发并行算法。
  • 分析所提出的并行方案的时间复杂度、工作量和内存复杂度。
  • 建立并行算法在实际中变得高效的前提条件。
  • 通过雅可比矩阵,将该框架推广至任意计算图和任意层类型。

提出的方法

  • 将前向传播和反向传播表示为从计算图导出的下三角和上三角方程组的求解。
  • 应用循环约减的一种变体,以并行化前馈神经网络(FNNs)和循环神经网络(RNNs)中块带状三角方程组的求解。
  • 基于递归分解的直接法,分别实现前馈神经网络(FNNs)和循环神经网络(RNNs)的 O(log k) 和 O(log k log τ) 并行步骤。
  • 采用雅可比或 BiCGStab 等迭代求解器获得近似解,实现内存高效的并行化。
  • 将各种数值线性代数技术解释为不同形式的模型并行化。
  • 通过雅可比矩阵将框架推广至任意层,实现对复杂或非标准操作的应用。

实验结果

研究问题

  • RQ1神经网络中的前向传播和反向传播能否系统性地表述为求解三角方程组?
  • RQ2标准前馈神经网络(FNNs)和循环神经网络(RNNs)中反向传播的理论并行复杂度是多少?
  • RQ3直接法和迭代法如何被适配以在深度学习中实现模型并行化?
  • RQ4在何种条件下,所提出的并行算法在实际中优于顺序反向传播?
  • RQ5该框架能否推广至标准前馈和循环架构之外的任意层和计算图?

主要发现

  • 使用直接法,具有 k 层的前馈神经网络(FNNs)中的反向传播可并行化为 O(log k) 步。
  • 对于具有 τ 个时间步的循环神经网络(RNNs),反向传播可并行化为 O(log k log τ) 步。
  • 该并行算法的内存开销最多为顺序反向传播的两倍,因此具有内存效率。
  • 通过使用雅可比矩阵,该方法可推广至任意层,从而可应用于复杂或不可微分的组件。
  • 迭代方法实现 O(ln²rη) 的时间复杂度,内存开销为 O(lnr),当 η < l 时具有实用性。
  • 当小批量大小 r ≥ n 或 l/log l ≥ n 时,该方法变得实用,确保计算开销具有合理性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。