神经网络学习引入-优化(随机梯度下降)

通过之前的学习我们知道,计算不同权重值的损失函数来评价权重值的设置是不是我们希望的数值,以此来改变权重的设置。优化指的就是我们从某个解决方案开始,使用多种不同的迭代方法,然后逐步对它进行改进。

  • 最愚蠢的方法:随机搜索
  • 常用方法:计算各个方向的梯度
    • 数值梯度:计算 l i m h > 0 f ( x + h ) f ( x ) h lim_{h->0}\frac{f(x+h)-f(x)}{h}

    • 解析梯度:对f(x)求导

    • 正梯度指向函数增加最快的方向

    • 负梯度指向函数下降最快的方向

梯度下降 Gradient Descent

首先初始化W为随机只,然后计算其损失和梯度,向梯度相反的方向更新权重。
这里涉及一个很重要的超参数的设置:步长(又称为“学习率”)
想象梯度下降的过程在平面示意图中是一个曲线,但是每一步的下降走的都是直线,所以可以想象,步长过长可能会导致梯度下降的步骤变多,步长过短可能会导致计算次数过多。

随机梯度下降 Stochastic Gradient Descent

在计算误差时,由于我们选取的是所有N的误差的平均值,所以当N很大的时候这里会产生极大的计算量,并不现实。于是在实际操作中,我们会随机选取选取样本中的部分样本作为一个小批量(minibatch),计算小批量的误差作为整体样本的平均误差。常选取的批量大小通常为2的幂次:32,64,128,256等。

猜你喜欢

转载自blog.csdn.net/AG9GgG/article/details/84777112