一、为什么要知道到底是卡在local minima还是卡在saddlepoint呢?
1.因为如果是卡在local minima那可能就没有路可以走了。这是因为该点四周都比较高,你现在所在的位置已经是最低的点,此时loss最低。往四周走loss都会比较高,你不知道怎么走到其他地方。
2.但saddle point相比较就没有这个问题。如果你今天是卡在saddle point的话,saddle point旁边还是有路可以走的,还是有方向可以让你的loss更低的。你只要逃离saddle point,你就有可能让你的loss更低
鞍点(像马鞍)左右比较高前后比较底,gradient也为0
局部最低点
局部最大点 这些点统称为critical point驻点
二、判断方法
证明请看李宏毅老师类神经网络训练不起来的第一节
找一个hessian矩阵
1.当H是正定矩阵时,所有特征值都是正的这时候就是一个local minima。
2.当H是负定矩阵时,所有特征值都是负这时候是一个local maxima。
3.当特征值有正有负时,他是一个鞍点。
三、当是鞍点的时候怎么降低loss
假设这是我们这个function的errof surface
当然往左上和右下loss会升高,而往左下和左上会减小。四个角都是loss比较高的
那我们怎么知道呢?
首先算出特征值得矩阵
并且算出特征值,将特征值带入计算特征向量
往(1,1)方向loss会降低