卷积神经网络 反向传播

误差的计算

softmax

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

损失(激活函数)

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

误差的反向传播

求w的误差梯度

权值的更新

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

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

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

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

优化器

使网络更快地得到收敛

相关推荐
测试_AI_一辰20 小时前
Agent & RAG 测试工程 02:RAG 从最小闭环到可信
开发语言·前端·人工智能·github·ai编程
查无此人byebye20 小时前
手写Multi-Head Attention多头注意力机制,Pytorch实现与原理详解
人工智能·pytorch·python·深度学习·transformer
Gavin在路上20 小时前
SpringAIAlibaba之深度剖析序列化过程中LinkedHashMap类型转换异常(十)
人工智能
wfeqhfxz258878220 小时前
击剑运动员姿态识别与关键部位检测_YOLOv26模型应用与优化
人工智能·yolo·目标跟踪
OpenCSG20 小时前
OpenCSG(开放传神)开源数据贡献解析:3大标杆数据集,筑牢中文AI基建
人工智能·开源
国产化创客20 小时前
RK3588平台基于RKNN-SDK的NPU加速推理与YOLOv5模型部署全流程
人工智能·边缘计算·智能硬件
CHrisFC20 小时前
江苏硕晟 LIMS 系统:加速环境检测机构合规化进程的利器
大数据·人工智能
SEO_juper20 小时前
Query Fan-Out:AI搜索时代,内容如何突破“隐形壁垒”被引用?
人工智能·ai·seo·数字营销
Wilber的技术分享20 小时前
【Transformer原理详解2】Decoder结构解析、Decoder-Only结构中的Decoder
人工智能·笔记·深度学习·llm·transformer
智能相对论20 小时前
Hilight开启公测:营销视频的“DeepSeek时刻”,来了
大数据·人工智能·音视频