微积分在神经网络中的本质

2023-12-13 04:40:16

calculus

在一个神经网络中我们通常将每一层的输出结果表示为: a [ l ] a^{[l]} a[l]

image-20231114205301553

  • 为了方便记录,将神经网络第一层记为:

[ 1 ] [1] [1]

对应的计算记录为为:
a [ l ] : 第 l 层 a [ j ] : 第 j 个神经元 a^{[l]}:\textcolor{red}{第l层}\\ a_{[j]}:\textcolor{green}{第j个神经元}\\ a[l]la[j]?j个神经元
代价函数为:

image-20231114205349937

其中y为实际值,

image-20231114212845441

而对于 d C 0 d w {d{C_0}\over dw} dwdC0??是求斜率,或者具体的解释是 w \textcolor{green}{w} w的数值变动对 C 0 \textcolor{red}{C_0} C0?的影响:

image-20231114205649333

根据链式法则:

image-20231114213029377

具体计算过程:

image-20231114213501468

所以 w \textcolor{green}{w} w的数值变动对 C 0 \textcolor{red}{C_0} C0?的影响与:真实值与计算值的偏差激活函数 σ \sigma σ,上一层的输出值有关

如果理解了上述的内容,其他的代价函数 ? C \nabla C ?C就只是换偏导对象即可:

image-20231114214324160

比如,如果要计算 d C 0 d b {d{C_0}\over db} dbdC0??,只需要替换一项即可:

image-20231114214708819

同理,应用在BP中可以计算 w j k L ; 一条线的权值的影响 w^{L}_{jk}\textcolor{red}{;一条线的权值的影响} wjkL?;一条线的权值的影响(其中jk分别代表 L ? 1 L-1 L?1 L L L层中的不同点):

image-20231114220514081

也可以计算 a k L ? 1 ; 前一层的输出值的影响 a^{L-1}_{k}\textcolor{red}{;前一层的输出值的影响} akL?1?;前一层的输出值的影响

image-20231114221057200

文章来源:https://blog.csdn.net/weixin_66261421/article/details/134477125
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。