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

相关推荐
安逸sgr7 小时前
1、CycleGAN
pytorch·深度学习·神经网络·生成对抗网络
数据智能老司机8 小时前
从零开始构建大型语言模型——微调用于分类
深度学习·神经网络·llm
#include<菜鸡>19 小时前
动手学深度学习(pytorch土堆)-05-1神经网络
pytorch·深度学习·神经网络
985小水博一枚呀1 天前
【梯度消失|梯度爆炸】Vanishing Gradient|Exploding Gradient——为什么我的卷积神经网络会不好呢?
人工智能·python·深度学习·神经网络·计算机视觉·cnn·numpy
wei_shuo2 天前
神经网络的公式推导与代码实现(论文复现)
人工智能·深度学习·神经网络
红米煮粥2 天前
神经网络-MNIST数据集训练
人工智能·深度学习·神经网络
水花花花花花2 天前
卷积神经网络
人工智能·神经网络·cnn
985小水博一枚呀2 天前
【梯度下降|链式法则】卷积神经网络中的参数是如何传输和更新的?
人工智能·python·深度学习·神经网络·机器学习·计算机视觉·cnn
Colddd_d2 天前
动手学深度学习(四)卷积神经网络-下
人工智能·神经网络·cnn
拓端研究室TRL2 天前
深度神经网络DNN、RNN、RCNN及多种机器学习金融交易策略研究|附数据代码
人工智能·rnn·神经网络·机器学习·dnn