我一直在阅读很多关于卷积神经网络的内容,并且想知道它们如何避免梯度消失问题。我知道深度信念网络堆叠单级自动编码器或其他预训练的浅层网络,因此可以避免这个问题,但我不知道如何在 CNN 中避免它。
根据维基百科:
“尽管存在上述“梯度消失问题”,GPU 的卓越处理能力使得简单的反向传播对于具有多层的深度前馈神经网络变得可行。”
我不明白为什么 GPU 处理会解决这个问题?
我一直在阅读很多关于卷积神经网络的内容,并且想知道它们如何避免梯度消失问题。我知道深度信念网络堆叠单级自动编码器或其他预训练的浅层网络,因此可以避免这个问题,但我不知道如何在 CNN 中避免它。
根据维基百科:
“尽管存在上述“梯度消失问题”,GPU 的卓越处理能力使得简单的反向传播对于具有多层的深度前馈神经网络变得可行。”
我不明白为什么 GPU 处理会解决这个问题?
梯度消失问题要求我们使用梯度下降的小学习率,然后需要许多小步骤来收敛。如果您的计算机速度较慢,每一步都需要很长时间,这将是一个问题。如果你有一个快速的 GPU 可以在一天内执行更多的步骤,那么这不是问题。
有几种方法可以解决梯度消失问题。我猜想 CNN 的最大影响来自于从 sigmoid 非线性单元切换到整流线性单元。如果您考虑一个简单的神经网络,其误差仅通过取决于权重,其中
它的梯度是
如果是逻辑 sigmoid 函数,对于大输入和小输入,将接近于零。如果是一个整流线性单元,
http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf