卷积神经网络 反向传播

误差的计算

softmax

经过softmax处理后所有输出节点概率和为1

损失(激活函数)

多分类问题:输出只可能归于某一个类别,不可能同时归于多个类别。

误差的反向传播

求w的误差梯度

权值的更新

首先是更新 输出层和隐藏层之间的权重 。更新权重,我们首先需要知道损失梯度损失梯度实际上是损失根据所需要的更新的权重求偏导 ,而要求解这个偏导,我们要通过链式法则来求解。成功求解损失梯度后,要通过梯度下降 的方法来更新我们的权重。这里的损失梯度前面的系数,我们称之为学习率 ,直观意义去理解实际上就是步长

这个参数是我们人为调整的,但是学习率不宜过大,也不易过小。过大可能会导致损失无法收敛,过小可能会导致损失收敛的速度过慢,或者会陷入局部最优解的问题中。因此学习率我们不能随意取值,需要通过后续不断地迭代,来获取最优学习率。

接着我们需要进一步更新我们的隐藏层和输入层之间的权重,对于这里的损失梯度,我们同样是通过链式法则得到损失梯度的表达式,过程基本与前面保持一致。但是这里有两个注意点,第一,这里通过链式法则最后得到的损失梯度的结果会用到我们前面更新过的权重,所以说反向传播的顺序是不可逆的。第二,对与隐藏层和输入层之间权重的更新是多个损失项更新的叠加。通过上述的推到过程,我们可以求得我们所需的损失梯度,得到损失梯度后,通过梯度下降,我们可以得到隐藏层和输入层之间更新后的权重。

至此,我们已经完成了通过误差的反向传播实现了一次完整的权重的更新。后面的过程就是在正向传播更新输出,然后再反向更新权重,循环迭代,直到损失收敛或者是达到设定的迭代次数,一次神经网络的训练完成。

优化器

使网络更快地得到收敛

相关推荐
数据科学作家7 小时前
学数据分析必囤!数据分析必看!清华社9本书覆盖Stata/SPSS/Python全阶段学习路径
人工智能·python·机器学习·数据分析·统计·stata·spss
CV缝合救星8 小时前
【Arxiv 2025 预发行论文】重磅突破!STAR-DSSA 模块横空出世:显著性+拓扑双重加持,小目标、大场景统统拿下!
人工智能·深度学习·计算机视觉·目标跟踪·即插即用模块
TDengine (老段)10 小时前
从 ETL 到 Agentic AI:工业数据管理变革与 TDengine IDMP 的治理之道
数据库·数据仓库·人工智能·物联网·时序数据库·etl·tdengine
蓝桉80210 小时前
如何进行神经网络的模型训练(视频代码中的知识点记录)
人工智能·深度学习·神经网络
星期天要睡觉11 小时前
深度学习——数据增强(Data Augmentation)
人工智能·深度学习
南山二毛12 小时前
机器人控制器开发(导航算法——导航栈关联坐标系)
人工智能·架构·机器人
大数据张老师12 小时前
【案例】AI语音识别系统的标注分区策略
人工智能·系统架构·语音识别·架构设计·后端架构
xz2024102****12 小时前
吴恩达机器学习合集
人工智能·机器学习
anneCoder12 小时前
AI大模型应用研发工程师面试知识准备目录
人工智能·深度学习·机器学习
骑驴看星星a12 小时前
没有深度学习
人工智能·深度学习