李宏毅-机器学习2021春-2


1 机器学习任务攻略

image-20211017200943668

  • Model bias:模型过于简单,有局限性

  • Optimization Issue:模型足够复杂了,但Optimization做的不够好。

    image-20211017201139668

  • Overfitting:在训练集上效果好,在测试集上效果差。解决方法如下:

    1. 增加训练数据,Data augmentation(图片左右翻转)
    2. 限制模型,减少模型的flexibility:
      • 减少参数,共享参数(CNN)
      • 减少features
      • Early stopping
      • Regularization
      • Dropout
  • 模型的复杂性需要在Overfitting和Model bias间进行trade-off

    image-20211017202556724

  • mismatch:训练集和测试集的数据分别不同

    image-20211017202958149

  • N-fold Cross Validation:将Training Set进行不同的分组,分别对模型进行训练和验证,得到的mse取平均值。

    image-20211017202848671

2 类神经网络训练不起来怎么办

2.1 Local Minima与Saddle Point

Critical point包括Local Minima与Saddle Point。

当有很多参数时,Local Minima几乎不存在。

2.2 Batch与Momentum

Batch

image-20211017214252193

  • Shuffle:在一个epoch结束后重新分batch。

大Batch v.s. 小Batch

  • 当考虑并行运算(gpu)后,大Batch的运行速度更快。

  • 小Batch的noise更大,但这反而有助于训练。

    image-20211017221145504

结论:小Batch效果更好,但耗时间更多。

image-20211017221723883

Momentum

image-20211017222007662

image-20211017222243933

2.3 Adaptive Learning Rate

$$ \theta_i^{t+1}\leftarrow\theta_i^t-\frac{\eta}{\sigma^t_i}g^t_i $$

  • Root Mean Square:

    • image-20211018152743652
    • Used in Adagrad
  • RMSProp:

    • image-20211018153513599
  • Learning Rate Scheduling

    image-20211018153915627

    • Learning Rate Decay:image-20211018154205233
    • Warm Up:image-20211018154229848

Summay of Optimization

image-20211018155048545

2.4 Batch Normalization

Feature Normalization

image-20211018164201732

在实际中,由于$z^1$的改变,会引起$\mu和\sigma$的改变,进而引起$\widetilde z^1、\widetilde z^2、\widetilde z^3$的改变,因此,整个Batch组成了一个大的神经网络。

image-20211018165405706

Batch Normalization

$\gamma$和$\beta$一开始是全1和全0,它们作为参数,被机器学习。

image-20211018170308367