观看b站up:霹雳吧啦Wz的课程学习笔记

至于为什么要用反向传播算法以及用到的梯度知识,有必要了解清楚,链接如下:
https://blog.csdn.net/Strive_LiJiaLe/article/details/115327218

神经网络训练方法----反向传播算法
它是计算深度学习模型参数梯度的方法。总的来说,反向传播会依据微积分中的链式法则,按照输入层,靠近输出层的隐含层,靠近输入层的隐含层和输入层的次序,计算并存储模型损失函数有关模型各层的中间变量的参数的梯度。
应用链式求导法则的误差反向传播算法(BP)
通过不断修正网络参数,求得输出层节点的误差平方和的最小值。
包括信息的正向传播和误差的反向传播过程,主要解决正向传播算法中难以直接计算隐含层误差的问题。
正向传播过程是逐层迭代计算出各单元的输出值。
反向传播过程是根据网络输出的误差,按误差梯度下降的方式,将误差进行逐层回代,修正每一层的权值。

1.误差的计算

在这里插入图片描述
在这里插入图片描述

softmax激活函数:
输出的y1,y2并不满足规则分布,为使得其服从概率分布,进行表达式处理。
此时O1+O2=1

2.损失的计算(交叉熵损失)

1.多分类:softmax
在这里插入图片描述

例如:分类人和男人,那么就不满足概率分布了,只能二分类。

2.二分类:sigmoid
在这里插入图片描述
默认log以e为底等于ln
在这里插入图片描述

3.误差的反省传播

有了上面的损失之后,
在这里插入图片描述

就可以进行误差的反向传播;
在这里插入图片描述
以求W(2)11为例讲解:
将W(2)11的输入作为常数a来处理,方便计算。
在这里插入图片描述
求其偏导(梯度):根据链式求导法则。
在这里插入图片描述
计算公式中的Loss对O1求偏导:此时O2视为常数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
带入以后,最终结果为:
在这里插入图片描述
有了误差的梯度以后,进行反向的更新。

4.权重的更新

表达式:在这里插入图片描述
若使用整个样本集进行求解,损失梯度指向全局最优方向。
但是,时间应用中往往不能一次性将所有数据载入内存,所以只能分批次(batch)训练。此时,梯度指向当前批次最优方向。

优化器optimazer

目的:为了使网络更快的收敛
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击阅读全文
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐