多层神经网络

多层神经网络
一.多层线性神经网络但是串联的神经元若只有传递的作用那么一根和多根则没有区别同理人工神经元若都是线性网络那么一层和多层便没有区别。二.多层非线性神经网络因此通过模仿生物神经元当接受的刺激达到一定阈值时才会传递神经冲动的现象我们引入了激活函数。1、生物原型神经元的「阈值开关」位置图中蓝色箭头指向突触 / 胞体区域这是神经元整合输入信号、决定是否发放冲动的关键位置。机制模拟「刺激阈值」—— 只有当输入信号的总和超过阈值时神经元才会被激活产生并传递神经冲动否则保持抑制状态。本质这是一种非线性的决策机制是大脑处理复杂信息的基础。2、人工实现激活函数的位置与计算1. 激活函数的位置在上侧的简单神经网络中输入层x1,x2原始数据特征feature隐藏层黄色神经元r1,r2——激活函数就作用于此右侧及线性函数作用之后输出层红色神经元z1最终结果2. 激活函数的数学计算流程以r1为例其计算过程分为两步线性加权求和偏置bias相当于神经元的基础阈值权重weight代表不同输入的重要程度这一步是线性变换将输入信息整合为一个数值。非线性激活r1​sigmoid(z1​)sigmoid是一种典型的激活函数将线性输出z1压缩到 (0, 1) 区间这一步模拟了生物神经元的阈值决策输入信号越强输出值越接近 1激活越弱则越接近 0抑制。激活函数的作用如果没有激活函数无论网络多么复杂最后的输出都是输入的线性组合而纯粹的线性组合并不能解决更为复杂的问题。引入激活函数之后由于激活函数都是非线性的这样就给神经元引入了非线性元素使得神经网络可以逼近任何非线性函数这样使得神经网络应用到更多的非线性模型中。模型最终结构三.神经网络的参数Ⅰ、公式结构拆解单隐藏层前馈网络公式各部分含义​模型预测输出模型的最终结果x输入特征feature已知数据非可训练参数W隐藏层权重矩阵连接输入层与隐藏层隐藏层偏置向量隐藏层神经元的阈值偏移σ(⋅)激活函数如 Sigmoid/ReLU固定函数非可训练参数输出层权重向量连接隐藏层与输出层输出层偏置输出层的阈值偏移Ⅱ、可训练参数集合 θ所有未知参数Unknown parameters被打包为一个参数向量 θ包含四类(总结来看就两类权重和偏置参数类别符号作用说明隐藏层权重W控制输入特征对隐藏层神经元的影响强度是模型学习的核心模式载体隐藏层偏置调整隐藏层神经元的激活阈值避免输入为 0 时输出恒为 0增强模型表达灵活性输出层权重cT控制隐藏层特征对最终输出的贡献度完成从隐藏特征到任务结果的映射输出层偏置调整最终输出的基准偏移提升模型拟合数据分布的能力 本质将矩阵 / 向量形式的权重与偏置全部「展平」为一维向量便于后续梯度计算与参数更新反向传播算法的基础。Ⅲ、核心逻辑参数即模型输入与参数分离x 是数据已知W,,,是模型待学习的知识未知。训练的本质通过梯度下降等优化算法不断调整 θ 中所有参数使预测尽可能逼近真实标签 y即最小化损失函数 L(​,y)。参数规模参数数量由网络结构决定 —— 输入维度、隐藏层神经元数、输出维度共同决定 θ 的长度这也是大模型「参数量万亿级」的来源。Ⅳ、总结可训练参数 权重 偏置W,,,是模型唯一需要学习的部分激活函数与输入特征固定。参数打包 θ将所有参数展平为一维向量是优化算法的标准操作便于统一计算梯度和更新。训练即寻优神经网络训练的过程就是在参数空间 θ 中寻找一组最优值让模型对数据的预测误差最小。四.深度学习的训练过程1、基础场景单步链式求导1. 模型结构以最简单的单参数神经元为例σ(r),rwxby^​模型预测输出σ(⋅)激活函数如 Sigmoidr线性加权和中间变量w待优化的权重参数x输入特征b偏置2. 梯度计算链式法则目标是计算损失 L 对权重 w 的梯度∂L/∂w​根据链式求导法则∂L/∂w​∂L/∂r​ ⋅ ∂r/∂w​拆解∂L/∂r​损失对中间变量 r 的梯度由激活函数导数 σ′(r) 传递而来。∂r/∂w​中间变量 r 对权重 w 的梯度直接等于输入 x因 rwxb。 本质梯度通过「函数复合关系」逐层传递是反向传播的数学基础。照应前文要求激活函数可以求导。2、复杂场景深度网络的链式求导核心难点1. 深度模型结构深度网络是多层函数嵌套形式为每一层都对应一个中间变量预测值是这些函数的嵌套复合结果。2. 梯度计算长链乘积此时损失对底层权重 w 的梯度变为长链乘积形式链长 网络层数层数越深乘积项越多。每一项是激活函数的导数如与权重的乘积通常是小于 1 的小数如 Sigmoid 导数最大值为 0.25。3. 核心问题梯度消失 / 爆炸在反向传播过程中梯度消失若每一项导数都小于 1长链乘积后梯度会趋近于 0底层参数几乎无法更新模型「学不动」。梯度爆炸若某层导数大于 1长链乘积后梯度会指数级增长导致参数更新过大、模型不稳定训练崩溃。因此深度网络的梯度传播极易失效。三、关键概念与技术呼应1. 链式求导 反向传播的数学内核反向传播算法本质就是高效计算链式求导的工程实现从输出层损失 L开始反向逐层计算梯度复用中间结果避免重复计算。是所有深度学习框架PyTorch/TensorFlow自动微分的核心原理。2. 损失函数曲面的直观理解图中左侧的波浪形曲线代表损失函数曲面横轴参数空间如权重 w纵轴损失值 L梯度下降的目标是沿曲面「下坡」找到最小值但深度网络的曲面往往崎岖不平局部最优、鞍点多且梯度消失 / 爆炸会让「下坡」变得异常困难。3. 解决方案为应对梯度消失 / 爆炸工业界发展出关键技术ReLU 激活函数导数在正区间恒为 1缓解梯度消失。残差连接ResNet通过跳跃连接让梯度「直连」底层缩短梯度传播路径。层归一化Layer Norm稳定梯度分布避免梯度剧烈波动。层归一化Layer Norm1.简单理解把每一层的输出强行变成 “均值接近 0方差接近 1” 的分布。解释神经网络每一层输出有时候太大、有时候太小、有时候乱跳。Layer Norm 就是把它们拉回一个稳定、标准的范围2.为什么要层归一化如果某一层输出太大 → 激活函数如 sigmoid进入饱和区→ 梯度接近 0 →梯度消失太小 → 数据没区分度 → 模型学不动每批次变化剧烈 → 梯度乱抖 → 训练不稳定、不收敛Layer Norm 就是为了解决每层输出分布不稳定 → 梯度不稳定。3.做了什么给定一层的输出向量比如 BERT 里某层的 hidden state求均值减均值 → 让均值 0除以标准差 → 让方差 14.好处稳定每层分布不让数据忽大忽小。稳定梯度防止梯度消失让训练更快、更稳定、更容易收敛不依赖 batch 大小和 Batch Norm 最大区别5.Layer Norm和 Batch Norm 的区别Batch Norm按 “特征维度” 归一同一特征不同样本Layer Norm按 “样本维度” 归一同一样本所有特征一句话记忆BN 看一批样本的同一列LN 看一个样本的所有列BERT、Transformer 全部用Layer Norm因为 NLP 句子长度不固定BN 不适用。四、总结数学核心链式求导是梯度计算的唯一工具决定了梯度如何在网络中传递。深度困境网络层数越深梯度乘积链越长梯度消失 / 爆炸是必然的数学结果。技术本质深度学习的优化算法如 Adam、残差网络本质都是在缓解长链乘积带来的梯度不稳定问题让模型能够有效训练。五.名词解析1.全连接网络全连接网络是最基础的神经网络结构也叫「多层感知机MLP」是理解深度学习的起点。全连接 层与层之间「两两相连」任意一层的每个神经元都和下一层的所有神经元两两相连。没有局部连接、没有权重共享信息在层间是「完全流通」的。直观结构以 2 层全连接为例输入层 → 隐藏层1 → 隐藏层2 → 输出层输入层每个节点 → 隐藏层 1 所有节点隐藏层 1 每个节点 → 隐藏层 2 所有节点隐藏层 2 每个节点 → 输出层所有节点2.欠拟合与过拟合1. 欠拟合Underfitting定义模型过于简单无法捕捉数据中的基本规律在训练集和测试集上都表现很差。直观比喻学生上课没听懂连课本例题都做不对考试自然也考不好。表现训练集损失高测试集损失也高二者差距小但整体水平低。2. 过拟合Overfitting定义模型过于复杂把训练数据中的噪声、细节甚至错误都当成了规律在训练集上表现极好但在测试集 / 新数据上表现极差。直观比喻学生死记硬背课本例题连标点符号都背下来了换一道同类型新题就完全不会做。表现训练集损失极低测试集损失显著升高二者差距大。3.解决方案针对性优化策略①. 解决欠拟合让模型变强目标提升模型容量让它能学到数据规律增加模型复杂度增加网络层数加深增加每层神经元数量加宽换用更强大的激活函数如 ReLU 替代 Sigmoid延长训练时间增加训练轮数Epochs调整优化器如换用 Adam 替代 SGD特征工程加入更多有意义的特征对特征做非线性变换如平方、交叉项②. 解决过拟合让模型「笨」一点更泛化目标限制模型容量防止它学习噪声数据增强Data Augmentation图像翻转、裁剪、旋转、加噪声文本同义词替换、随机掩码本质人为增加数据多样性让模型学习更通用的规律正则化RegularizationL1/L2 正则化在损失函数中加入参数惩罚项防止参数过大Dropout训练时随机让部分神经元失活打破神经元间的共适应简化模型减少网络层数 / 神经元数量提前停止训练Early Stopping当验证损失不再下降时停止训练增加训练数据收集更多真实数据从根源上减少噪声的影响