为什么loss的下降过程是阶段性的?


QQ截图20160429135352.jpg

如图,loss曲线有很大一部分时间是趋于平缓的,而到达一定的次数后,突然下降。
为什么会突然下降?如何判断这种下降过程会在一定的迭代次数后发生?而不是已经达到极限了(或者说再下降就过拟合了)。
已邀请:

YJango - 在日研究生,人工智能专业

赞同来自: 佛仙魔

因为学习过程就是通过通过梯度不断缩小损失函数的过程,经常会遇到局部最小值。
 
持续很长时间不变就是因为“卡”在了局部最小值上了

whjxnyzh

赞同来自: 佛仙魔

突然下降一般是降低学习率了

YJango - 在日研究生,人工智能专业

赞同来自: 佛仙魔

12n.jpg

这是我当初第一次接触神经网络时候学习XOR gate的error图(最原始的神经网络算法)
学习速率是始终不变的。像我在上面说过学习过程就是通过梯度不断缩小损失函数的过程。很容易陷在某个局部最小极值。这种loss曲线成阶段性是正常现象。现在的神经网络算法有很多手段可以加快 越过局部最小极值 的速度。

比如shuffle训练数据来加入“随机性”,让训练过程不走“常规路”。以及在训练中逐步缩小学习速率。
判断是否达到真正的最小值而不是局部最小极值的方法就是改变网络的学习过程。上述的shuffle(尤为重要),和逐步降低学习速度就可以做到。用dropout也可以。

xinmiao

赞同来自:

learning rate policy选的是stepwise吧

要回复问题请先登录注册