李宏毅(Deep Learning)--(三)
一.前向传播与反向传播的理解:
二.模型训练遇到的问题
在模型训练中,我们可能会遇到效果不好的情况,那么我们应该怎么思考切入,找到问题所在呢?
流程图如下:
第一个就是去看训练的损失函数值情况。如果损失较大,那么就有可能是两种情况:
(1)模型过于简单:如图:当你设计的模型所能拟合的函数集合(蓝色区域)这么大时,即使你找了蓝色区域内最优的函数(optimization最优),但是真正完美拟合的函数不能通过该模型拟合(不在蓝色区域内),所以loss较大。
(2) optimization效果不佳(梯度下降难以到达最优解)
基于以上情况,我们怎么去判别呢?(我们可以去增加模型的复杂度,如果新模型的loss在training data上比原model还高,那就说明是optimization的问题了)
假如经过努力,你已经可以让training data的loss变得小了,这时我们看testing data的loss,假如我们发现testing data的loss较大,这时候也有两种可能得原因:
(1) over fitting :在training data上的loss好,在testing 上的loss差(缺一不可)才叫过拟合
比如:如上图,所有的data拟合的预期目标函数是二次函数,但由于 某些原因(原因很多,这里暂不探讨),导致拟合的函数虽然能够在有training data限制的地方,表现的很好,但是在其他地方是随机预测的(函数弹性过大,如黑色箭头所指函数),这使得testing data在该函数的loss较大
解决方法:add training data or data augmentation or regularation
今天先学到这啦
谢谢