《深度学习:卷积神经网络从入门到精通》——3.3 LeNet的学习算法

举报
华章计算机 发表于 2019/06/06 08:52:25 2019/06/06
【摘要】 本书摘自《深度学习:卷积神经网络从入门到精通》——书中第3章,第3.3节,作者是李玉鑑、张婷、单传辉、刘兆英等。

3.3 LeNet的学习算法

作为一种特殊的多层感知器,LeNet可以用反向传播算法来学习其中的参数。不妨设有N个训练样本。为了方便起见,先定义下面的记号:

image.png(3.7)

如果用diag(ol)表示以ol各分量为对角元的对角矩阵,且选择平方误差(2.57)为目标函数,那么通过链式法则可以计算得到各层反向传播误差,如下:

image.png(3.8)

而且,不难进一步得到梯度:

image.png(3.9)

基于以上推导和计算,很容易利用梯度下降的思想给图3.2的LeNet建立反向传播算法,即算法3.1。

算法3.1 LeNet的反向传播算法

image.png

如果把目标函数改为交叉熵(2.61),那么相应的反向传播算法只需把δl6的计算公式改为

image.png(3.10)

其他部分保持不变。注意,在(3.10)式中,1./(1?-?δl)表示列向量1与(1?-?δl)对应元素相除得到的列向量。

最后,还必须指出,在输出为软最大函数时,卷积神经网络一般都使用近似交叉熵(2.66)作为目标函数,以加快计算速度。如果期望输出yl仅有一个分量为yljt = 1,那么相应的δl6可以计算如下:

image.png(3.11)


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。