Navy1228 2023-03-24 09:30 采纳率: 44.8%
浏览 16
已结题

为何服从标准正态分布随机生成的权重初始值,经过5层sigmoid函数后,每一次的激活值(sigmoid输出值)都是两端多中间少

【深度学习入门基于Python的理论与实现】一书中,第六章,为何服从标准正态分布随机生成的权重初始值,经过5层sigmoid函数后,每一次的激活值(sigmoid输出值)都是两端多中间少。
书中没有细讲原因,我理解的应该是随着层数递进,越来越靠近0才对,然而各层输出值偏向几乎没怎么变化

img

img

  • 写回答

3条回答 默认 最新

  • 不酸的甜柠檬 2023-03-24 09:55
    关注

    这个现象可能是由于sigmoid函数的特性所导致的。sigmoid函数具有S形状,其输出值在接近两端的位置会趋近于0或1,而在中间位置则会比较平坦,输出值接近0.5。
    在神经网络的训练中,通常会对权重进行随机初始化,如果这些权重服从标准正态分布,那么初始值中有一些非常大或非常小的值可能会导致一些神经元的输出在初始阶段就趋近于0或1,这会产生梯度消失的问题。梯度消失会使得神经元的更新变得非常缓慢,导致网络无法有效地学习。
    另一方面来看,如果权重的初始值都比较接近0,那么每个神经元的输出值都会比较接近0.5,因为sigmoid函数在接近0的位置和接近1的位置都会趋近于0.5。这会使得网络的输出变得比较平坦,可能会导致欠拟合的问题。
    所以,权重的初始值需要在保持随机性的同时避免过大或过小,以使得每个神经元的输出值能够在中间位置附近,避免梯度消失和欠拟合问题。此外,还可以采用其他的激活函数,如ReLU等,来避免这个问题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月2日
  • 创建了问题 3月24日

悬赏问题

  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数