专栏首页人工智能前沿讲习独家解读 | 矩阵视角下的BP算法

独家解读 | 矩阵视角下的BP算法

作者:孙裕道

背景介绍

有深度学习三巨头之称的YoshuaBengio、Yann LeCun、Geoffrey Hinton共同获得了2018年的图灵奖,得奖理由是他们在概念和工程上取得的巨大突破,使得深度神经网络成为计算的关键元素。其中九项选定的技术成就分别是:反向传播,玻尔兹曼机,提出卷积神经网络,序列的概率建模,高维词嵌入与注意力机制,生成对抗网络,对卷积神经网络的修正,改进反向传播算法,拓宽神经网络的视角。这其中两项成就技术与反向传播有关。

图1:深度学习三剑客

关注文章公众号

对话框回复“ 反向传播 ”获取反向传播资料

BP算法前言

神经网络参数的更新的时候,经常会混淆两个概念链式法则与BP 算法。BP算法其实是链式法则求解参数梯度的一种优化方法,它可以简化梯度计算量,降低计算的冗余度。当我们提到BP反向传播的时候,不禁会问反向传播的对象是什么呢,BP算法的目的是求解各个层参数的梯度,而传播的对象其实是“变种”的误差信息。

标量视角下的链式法则

3.1 标量形式的神经网络

下图为标量形式的神经网络,并且为了说明方便不考虑偏置项。

图2:神经网络的标量形式

给定一个训练样本 ,假设模型输出为 ,则均方误差为

根据梯度下降法更新模型的参数,则各个参数的更新公式为:

链式法则求解 会有如下推导形式:

链式法则求解 会有如下推导形式:

可以发现,当计算前一层 梯度分量时候,后一层已经计算好的 结果并不能给它提供任何有益的信息,而是重新从均方误差开始进行复杂的偏导计算,这样会导致计算冗余度太大,而且标量视角下的链式法则求解梯度会给人一种很混乱的感觉。

矩阵视角下的BP算法

下面的内容会涉及到大量矩阵求导运算,这确实是一个非常难啃的部分。矩阵求导法则本文中不做介绍,感兴趣的人可以阅读《The Matrix Cookbook》这本书详细学习。

关注文章公众号回复“反向传播”获取此书电子版。

图3:matrix book

4.1 矩阵形式的神经网络

下图为3层不考虑偏置项的全连接神经网络示意图:

图4:全连接神经网络

上图[network]可以描述为如下公式:

θσσ()损失函数如下所示:

()优化的目标函数为:

()其中 ,表示的权重矩阵, 为隐层向量。

4.2 随机梯度

采用随机梯度下降法求解优化深度神经网络的问题,如下式所示:

()上式中,主要的问题是在于计算 θ ,通常采用的方法是链式法则求导。而反向传播就是一种很特殊的链式法则的方法。反向传播非常有效的避免大量的重复性的计算。

4.3 无激活函数的神经网络

L层神经网络的无激活函数的目标函数定义为:

()

有如下形式:

()

其中,

4.4 含有激活函数的神经网络

首先,考虑2层的有激活函数的神经网络,目标函数定义为:

θσ()则有

()其中 σ , , 是 导数。再考虑L层有激活函数的神经网络,目标函数定义为:

()

中, σσ ,并且 。

4.5 BP反向传播的原理示意

首先定义如下形式:

()具体会有:

()综上所述会有:

()

BP反向传播的工作原理示意图如下所示:

上图精练准确的阐释了BP算法的原理,图中蓝色箭头是神经网络前向传播的过程,图中紫色箭头是网络反向传播的过程。可以知道,前向传播的对象是特征提取信息 ,反向传播的对象是“变种形式”的误差信息 (其中 的递推公式为图中的黑体字部分),并且每一层网络参数的梯度 用到了前一层的特征信息 ,后一层的误差信息 。

本文分享自微信公众号 - 人工智能前沿讲习(AIFrontier),作者:孙裕道

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • AIDL专栏|社会媒体数据挖掘与信息传播预测

    1. Collective creditallocation in science

    马上科普尚尚
  • AI综述专栏|跨领域推荐系统文献综述(下)

    跨领域推荐系统(Cross domain recommender systems,CDRS)能够通过源领域的信息对目标领域进行辅助推荐,CDRS由三个基本要素构...

    马上科普尚尚
  • 秦龙:人工智能技术重塑语言教育

    本文报告主要分享AI技术对语言教育引起的改变,着重介绍针对现今语言教育中存在的问题,进行自动化测评、自适应学习、场景智能对话等相关AI技术的研究与应用。

    马上科普尚尚
  • 惊群效应

    传统的服务器使用“listen-accept-创建通信socket”完成客户端的一次请求服务。在高并发服务模型中,服务器创建很多进程-单线程(比如apache ...

    mariolu
  • 产业观察 | “互联网+旅游”迎来更大发展机遇

    ? ? 随着“互联网+”加速与产业融合,数字经济已成为中国发展的新引擎。疫情防控期间,云旅游、无接触服务等数字文旅新业态不断涌现。 此次疫情在给文旅行业带来不...

    腾讯文旅
  • 某大公司产品经理被研发人员暴打!是你产品飘了,还是我开发提不动刀了?

    产品经理了解技术,有助于和研发人员沟通。但了解技术后提需求时,会权衡需求和实现难度。有人说产品经理提需求时,只需要考虑用户需求,不应该考虑技术实现难度,这样做是...

    老九君
  • DB2导入数据库

    首先使用db2用户登录到需要导库的服务器,通常用户名和密码为db2inst1/db2inst1

    说故事的五公子
  • 快速签发Let's Encrypt证书指南

    本文仅记录给自己的网站添加“小绿锁”的动手操作过程,不涉及HTTPS工作原理等内容的讲解,感兴趣的同学可以参考篇尾的文章自行了解。

    Esofar
  • mongo固定集合

    莫问今朝
  • 速读原著-GRUB_多系统引导(菜单命令)

    菜单命令只能用于grub配置文件的全局配置部分,不能用在grub命令行交互界面,菜单命令在配置文件中应放在其它命令之前。 1、default //设置默认启动...

    cwl_java

扫码关注云+社区

领取腾讯云代金券