“神经网络的参数为什么不能全为0“的简单理解

考虑一个最简单的多层全连接网络,每一层的输出和输入之间的关系为:

复制代码
Z = AW + b

如果W和b均为0,那么整个网络除了第一层的输入不为0外,其他所有层的输入都为0,也就是说对于除了 input layer 之外的任意层,A 均为0。

而如果考虑每一层单独的导数,就会有 Z'(b) = 1Z'(A) = W, Z'(W) = A ,那么如果W都为0,则意味着对A的导数为0,而我们知道对每一层的导数都是由其上一层的导数经过链式法则得来的,而现在最上面的output layer 对A的导数全为0,那么由上往下走,每一层的梯度都需要乘以上一层的梯度,也就是0,导致整个网络的梯度全为0。

最终的结果是,除了最后一层的b,(导数为1,可以更新),所有其他的参数均不会得到更新。

相关推荐
绝顶大聪明8 小时前
【深度学习】神经网络-part2
人工智能·深度学习·神经网络
Danceful_YJ9 小时前
16.使用ResNet网络进行Fashion-Mnist分类
人工智能·深度学习·神经网络·resnet
豆豆12 小时前
神经网络构建
人工智能·深度学习·神经网络
霖0016 小时前
神经网络项目--基于FPGA的AI简易项目(1-9图片数字识别)
人工智能·pytorch·深度学习·神经网络·机器学习·fpga开发
weikuo050618 小时前
【手搓大模型】从零手写Llama3
神经网络·llm
Hao想睡觉18 小时前
深度学习之神经网络(二)
人工智能·深度学习·神经网络
亲持红叶1 天前
神经网络常见激活函数 15-B-SiLU 函数
人工智能·深度学习·神经网络
lishaoan771 天前
用Python实现神经网络(二)
开发语言·python·神经网络
Danceful_YJ1 天前
15.手动实现BatchNorm(BN)
人工智能·深度学习·神经网络·batchnorm
deephub1 天前
贝叶斯状态空间神经网络:融合概率推理和状态空间实现高精度预测和可解释性
人工智能·深度学习·神经网络·贝叶斯概率·状态空间