关于几个名词的说明:
1.局部极小值,局部极大值,与鞍点。
在进行参数更新时,遇到梯度为0的点往往对应这三种情况,对于这三种情况,需要考虑这些点附近的点与其值的大小关系。如果在二维的情况下,周围的点均比该点大,则为局部极小值,反之为局部最大值。此外,如果比如说在X轴上时最小,Y轴上最大,则为鞍点。
2.批量梯度下降与随机梯度下降
梯度下降的过程中需要对数据进行损失计算与梯度更新参数。批量梯度下降是将其全部的数据(比如说有20笔数据,一笔数据成为一个批量,即batch)用于计算,然后更新一次参数。而随机梯度计算只计算其中的一个batch即更新一次参数。当遍历所有变量后,这段过程称之为一个epoch。
对抗局部最小值或鞍点的方法:
1.动量法:引入动量后,每次在移动参数的时候,不是只往梯度的反方向来移动参数,而是根据梯度的反方向加上前一步移动的方向决定移动方向。假设误差表面就是真正的斜坡,参数是一个球,把球从斜坡上滚下来,如果球的动量足够大,其甚至翻过小坡继续往前走。
2.由于特征的维数特别高,局部极小值并不常见,碰到的点往往是鞍点,最小值(正特征值数量比上总特征值数量)比例越高,该点越像局部极小值,但是并非局部极小值。