《深度学习:卷积神经网络从入门到精通》——3.3 LeNet的学习算法
【摘要】 本书摘自《深度学习:卷积神经网络从入门到精通》——书中第3章,第3.3节,作者是李玉鑑、张婷、单传辉、刘兆英等。
3.3 LeNet的学习算法
作为一种特殊的多层感知器,LeNet可以用反向传播算法来学习其中的参数。不妨设有N个训练样本。为了方便起见,先定义下面的记号:
(3.7)
如果用diag(ol)表示以ol各分量为对角元的对角矩阵,且选择平方误差(2.57)为目标函数,那么通过链式法则可以计算得到各层反向传播误差,如下:
(3.8)
而且,不难进一步得到梯度:
(3.9)
基于以上推导和计算,很容易利用梯度下降的思想给图3.2的LeNet建立反向传播算法,即算法3.1。
算法3.1 LeNet的反向传播算法
如果把目标函数改为交叉熵(2.61),那么相应的反向传播算法只需把δl6的计算公式改为
(3.10)
其他部分保持不变。注意,在(3.10)式中,1./(1?-?δl)表示列向量1与(1?-?δl)对应元素相除得到的列向量。
最后,还必须指出,在输出为软最大函数时,卷积神经网络一般都使用近似交叉熵(2.66)作为目标函数,以加快计算速度。如果期望输出yl仅有一个分量为yljt = 1,那么相应的δl6可以计算如下:
(3.11)
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)