深度学习中的学习机制与优化策略
1. 神经网络训练中的潜在问题
在神经网络训练过程中,存在一些可能影响训练效果的情况。例如,在训练网络时可能会发现一定比例的神经元在整个过程中值为零。另外,循环神经网络(RNN)中可能出现梯度消失或梯度爆炸的问题。在通过所有隐藏状态进行时间反向传播时,梯度信号有时会与同一个矩阵相乘,并穿插着非线性运算。矩阵的最大特征值会影响梯度消失或爆炸的情况,这也提示我们可以使用梯度裁剪来解决此类问题。如果忽视这些内在问题,可能会导致严重的后果,并且黑盒思维会使网络难以有效训练和调试。
2. 梯度下降算法
梯度是微积分中的简单导数,它计算的是神经网络参数的变化率与网络训练过程中产生的误差之间的比率。迭代最小化可微损失/误差函数的过程称为梯度下降,该算法可能是由奥古斯丁 - 路易·柯西在18世纪中叶引入的。
对于单变量函数,一阶优化算法会计算神经网络权重的目标函数的导数,然后使用该导数沿着由最大负梯度定义的最陡下降方向调整权重,这个最大负梯度对应于目标函数的最陡斜率。由于其易于实现且具有重要意义,梯度下降是最常用的寻找局部最小值的优化算法,并且不仅限于训练机器学习和深度学习模型。
对于多变量函数,梯度是沿每个变量轴的偏导数向量。对于一个n维函数f,在给定点x0处的梯度∇f (x0) 定义为每个n个变量的偏导数向量,如下所示:
[
\nabla f (x_0) =
\begin{bmatrix}
\frac{\delta f}{\delta x_1} (x_0) \
\vdots \
\frac{\delta f}{\delta x_n} (x_0)
\
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



