示例:简单的两层神经网络
假设我们有一个简单的神经网络,包括一个输入层、一个隐藏层和一个输出层。
- 输入层
- 隐藏层:权重为 1 ,激活函数为
- 输出层:权重为 2 ,损失函数为
一、 前向传播
计算隐藏层输出:
1 = ( 1 )
计算输出层输出:
2 = 2 1
2 = ( 2 )
其中 是输出层的激活函数(例如Sigmoid或Softmax)。
计算损失:
= Loss ( 2 , )
其中 是真实标签。
2.反向传播计算损失对输出层权重的梯度 ∂ / ∂ 2
计算输出层误差:
2 = ∂ ∂ 2 ⋅ ′ ( 2 )
这里, ′ 是输出激活函数的导数。
计算权重梯度:
∂ / ∂ 2 = 2 ⋅ 1
计算隐藏层权重的梯度 ∂ / ∂ 1
计算隐藏层误差:
1 = ( 2 2 ) ⋅ ′ ( 1 )
这里, ′ 是隐藏层激活函数的导数。
计算权重梯度:
∂ / ∂ 1 = 1 ⋅
3.更新权重
使用计算得到的梯度更新权重:
2 = 2 − ∂ / ∂ 2
1 = 1 − ∂ / ∂ 1
其中 是学习率。
通过这个例子,我们看到了如何使用链式法则计算损失对各层权重的梯度。前向传播用于计算输出和损失,而反向传播则利用链式法则将误差从输出层向后传播,以更新每一层的权重。这个过程是深度学习模型训练的基础。
今天的文章 RMsprop适用于轻量级网络(rmsprop适用于轻量级网络,收敛速度快)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/41380.html