神经网络为什么使用深层表示,以及深层神经网络难以训练的原因

深度神经网络利用多层表示逐步学习低层次至高层次的特征,但训练过程中常遇到梯度消失和梯度爆炸问题,导致训练困难。梯度消失可能因学习率、激活函数选择和初始化权重不当引起,而梯度爆炸则可能源于过多的隐藏层或大权重初始化。解决方案包括使用ReLU激活函数、残差连接、梯度裁剪和正则化等方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

神经网络

神经⽹络类型众多,其中最为重要的是多层感知机。多层感知机中的特征神经元模型称为感知机,简单的感知机如下图所⽰:
在这里插入图片描述

其中x1, x2, x3 为感知机的输⼊,其输出为:
在这里插入图片描述
多层感知机由感知机推⼴⽽来,最主要的特点是有多个神经元层,因此也叫深度神经⽹络。
在这里插入图片描述

神经网络为什么使用深层表示?

  • 深度神经⽹络是⼀种特征递进式的学习算法,浅层的神经元直接从输⼊数据中学习⼀些低层次的简单特征;⽽深层的特征则基于已学习到的浅层特征继续学习更⾼级的特征。
  • 深层的⽹络隐藏单元数量相对较少,隐藏层数⽬较多,如果浅层的⽹络想要达到同样的计算结果则需要指数级增长的单元数量才能达到。

为什么深层神经网络难以训练?

1. 梯度消失

梯度消失是指通过隐藏层从后向前看,梯度会变的越来越⼩,说明前⾯层的学习会显著慢于后⾯层的学习。

在深层神经⽹络中,每⼀个神经元计算得到的梯度都会传递给前⼀层,较浅层的神经元接收到的梯度受到之前所有层梯度的影响。如果计算得到的梯度值⾮常⼩,随着层数增多,求出的梯度更新信息将会以指数形式衰减,就会发⽣梯度消失。

梯度消失的原因:

  • 学习率大小
  • 隐藏层的层数过多
  • 使用了不适合的激活函数
  • 网络参数的初始化

梯度消失的解决方案:

  • 更换激活函数:sigmoid、tanh激活函数存在梯度消失的问题,sigmoid函数的导数,是在0 ~ 0.25区间,tanh是在0~1区间。在神经网络中,除了最后二分类问题的最后一层会用sigmoid之外,每一层的激活函数一般都是用ReLU。
  • 残差连接
  • 归一化

2. 梯度爆炸

在深度⽹络或循环神经⽹络等⽹络结构中,梯度可在⽹络更新的过程中不断累积,变成⾮常⼤的梯度,导致⽹络权重值的⼤幅更新,使得⽹络不稳定;在极端情况下,权重值甚⾄会溢出,变为值,再也⽆法更新。

梯度爆炸的原因:

  • 隐藏层的层数过多
  • 权值初始化值太大

梯度爆炸的解决方案:

  • 梯度裁剪:设置一个梯度剪切阈值,然后更新梯度的时候,如果梯度超过这个阈值,那么就将其强制限制在这个范围之内。
  • 正则化

3. 权重矩阵的退化导致模型的有效⾃由度减少

参数空间中学习的退化速度减慢,导致减少了模型的有效维数,⽹络的可⽤⾃由度对学习中梯度范数的贡献不均衡,随着相乘矩阵的数量(即⽹络深度)的增加,矩阵的乘积变得越来越退化。在有硬饱和边界的⾮线性⽹络中(例如 ReLU),随着深度增加,退化过程会变得越来越快。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1 + 1=王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值