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

相关推荐
Always_away1 天前
动手学深度学习|线性神经网络:线性回归的实现
深度学习·神经网络·线性回归
机器学习之心2 天前
硬约束物理信息神经网络如何反演含水层渗透系数场——从数学原理到代码实现
人工智能·深度学习·神经网络·硬约束物理信息神经网络·参数反演
宝贝儿好2 天前
【LLM】第三章:BERT讲解+情感分析案例
人工智能·深度学习·神经网络·算法·自然语言处理·bert
AI 大模型学习不踩坑2 天前
Harness 架构原理与工程实践详解
java·人工智能·神经网络·机器学习·计算机视觉·架构
想你依然心痛2 天前
TensorFlow Lite Micro:在MCU上运行神经网络推理——量化、算子支持与内存优化
单片机·神经网络·tensorflow
承渊政道2 天前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(基于PyTorch卷积层的MNIST分类实战:从卷积直觉到高效卷积设计)
人工智能·pytorch·神经网络·分类·chatglm·卷积·大模型学习
次旅行的库2 天前
解决Device API gpu is not enabled. Please install the cuda version of dgl.
深度学习·神经网络·推荐算法
Tbisnic3 天前
22.AI大模型开发:深度学习中神经网络的神经元、激活函数与参数初始化
人工智能·深度学习·神经网络·激活函数·梯度下降·反向传播
劫持的程序流3 天前
深入浅出卷积神经网络:从全连接到卷积的智慧
人工智能·神经网络·cnn
极光代码工作室3 天前
基于深度学习的异常行为检测系统
人工智能·python·深度学习·神经网络·机器学习