【机器学习 笔记2】Tips for Deep Learning
课程链接李宏毅2020机器学习深度学习(完整版)国语-Tips for Deep Learning课程学习网站 链接1.深度学习基本流程1.检查在training data的performance,KNN,DT等方法在训练数据上一般表现很好,有时候会接近1。相比较而言,DL反而比较不容易overfitting。2.对症下药优化方法2.1. Bad Results on Training Data梯
课程链接
李宏毅2020机器学习深度学习(完整版)国语-Tips for Deep Learning
课程学习网站 链接
1.深度学习基本流程
1.检查在training data的performance,KNN,DT等方法在训练数据上一般表现很好,有时候会接近1。相比较而言,DL反而比较不容易overfitting。
2.对症下药优化方法
2.1. Bad Results on Training Data
梯度消失与激活函数:
最初,sigmoid函数是最常用的激活函数。
当DNN层数很多时候,靠近输出层的微分值大,更新快,然而,远离输出层的微分值小,更新慢。当前者收敛时,后者还几乎是初始值。
原因:sigmoid激活函数将input不断衰减,层数越多,衰减越严重。
解决方式:
修改激活函数,如:ReLU,Maxout
收敛速度与学习率:
面对不同种类的问题,优化学习率更新方法可以提高模型收敛速度、避免未收敛或陷入局部最优值等问题。
1.Adagrad在学习率处 除以 之前所有梯度和的平方,使之在梯度变化大的地方,学习率更小,反之亦然。可以提高更新效率和收敛速度。
然而,当面对更加复杂的误差平面时,这种方法无法动态调节学习率。
RMSProp引入更新权重α,使之将 之前所有梯度 与 当前梯度 综合考虑,更加动态的调节学习率。
2.模型训练过程中,可能无法收敛的各种情况:平坦地区更新很慢,卡在鞍点…,或者陷入局部最小值。
解决方式:引入真实世界中的惯性理论,采用 Vanilla Gradient Descent、Momentum、adam等学习率更新方式。
2.1.Good Results on Trainging Data 【BUT】 Bad Results on Testing Data(Overfitting)
【注】此处testing data指带有label的
Early Stopping
Regularization和Loss Function
通过重新定义损失函数,找到使损失最小并且权重接近0的权重组成。
目前有L1 Regularization和L2 Regularization两种方式。
Dropout
训练模型时,每次更新权重时,随机使固定比例部分神经元失活。
应用在测试数据时,不需要dropout,而且要使每个神经元的权重,乘以dropout的比例。
dropout可以看作是一种ensemble。
更多推荐
所有评论(0)