首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

BP表达式与硬件架构:相似性构建更高效的计算单元

原标题:深度 | BP表达式与硬件架构:相似性构建更高效的计算单元

选自Medium

作者:Yaroslav Bulatov

机器之心编译

参与:蒋思源

反向传播是当前深度学习主要使用的参数更新方法,因此深度学习的硬件设计也需要拟合这种反向传播的计算结构。本文从反向传播的抽象表达开始简要地分析了 BP 算法和脉动阵列架构(systolic array architecture)之间的相似性,从而表明了脉动阵列架构适合执行 BP 和进行模型训练。

在并行计算的体系架构中,脉动阵列(systolic array)是紧密耦合的数据处理单元(data processing unit/DPU)的一种同构网络。每一个结点或 DPU 独立地计算部分结果,并将该部分结果作为从上游单元接受数据的函数,在将结果储存在当前结点后会传递到下游单元。本文重点在于论述反向传播算法的抽象表达,并讨论表达式与这种脉动阵列架构之间的相关性。

假设我们有一个 n=3 的多层网络架构,且运算的对象为 m 维向量,因此预测或推断的过程可以表示为:

我们将预测函数 Y 放入到损失函数 l 中以进行最优化。为了表示这种结构,我们使用圆圈表示复合函数算子(Ring 算子),因此目标函数 L 可以写为:

根据链式法则,目标函数的导数可以根据矩阵乘法的形式写为:

其中,链式乘法中的每一项都是雅可比矩阵(Jacobian matrix)。为了更形象地说明这一过程,假设我们的损失函数 l 有以下形式:

层级函数 f 仅仅只是简单地求输入向量中每一个元素的平方:

它们的雅可比矩阵就可以写为以下形式:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171212C03BU300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券