“神经网络的参数为什么不能全为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,可以更新),所有其他的参数均不会得到更新。

相关推荐
大脑探路者1 小时前
【PyTorch】继承 nn.Module 创建简单神经网络
人工智能·pytorch·神经网络
屎派克2 小时前
神经网络知识
人工智能·深度学习·神经网络
小白的高手之路21 小时前
常用的卷积神经网络及Pytorch示例实现
人工智能·pytorch·python·深度学习·神经网络·cnn
www_pp_1 天前
# 使用 OpenCV 和神经网络实现图像风格化
人工智能·神经网络·opencv
MobiCetus1 天前
【MachineLearning】生成对抗网络 (GAN)
linux·人工智能·python·深度学习·神经网络·生成对抗网络·机器人
天若有情6731 天前
[学术][人工智能] 001_什么是神经网络?
人工智能·深度学习·神经网络
Francek Chen1 天前
【现代深度学习技术】现代卷积神经网络06:残差网络(ResNet)
人工智能·pytorch·深度学习·神经网络·cnn·resnet
Mr.Winter`1 天前
深度强化学习 | 基于优先级经验池的DQN算法(附Pytorch实现)
人工智能·pytorch·神经网络·机器学习·机器人·强化学习
Watermelo6171 天前
Manus使用的MCP协议是什么?人工智能知识分享的“万能插头”
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·数据挖掘
赵大仁2 天前
深度神经网络全解析:原理、结构与方法对比
人工智能·神经网络·dnn