李宏毅机器学习课程
Categories:
此文是根据李宏毅2021年春季的机器学习课程撰写。李宏毅机器学习课程的特点是对理论理解的剖析非常深入同时又不失在实际训练过程中的trick教学。
1. 机器学习general guidence
2. 调参trick
1. local minima(局部最小值)and saddle point(鞍点)
Hessian Matrix - 其实就是二阶导 在一阶导数消失的时候通过二阶导来决定下一步行进的方向
H正定时(Hessian Matrix 所有特征值为正)说明遇到 local minima
H正负不定(Hessian Matrix 特征值有正有负)说明遇到 saddle point
向沿H特征向量的方向更新参数
2. batch size and momentum
batch size大小的优劣
由1、2得出的conclusion
3. Adaptive Learning Rate
sigma
Root Mean Square –> RMSProp –> Adam(RMSProp + Momentum)
eta
Learning Rate Scheduling: Learing Rate Decay and Warm Up
Optimizer总结
4. Loss function
Cross-entropy 如何优于 Mean Square Error (MSE)?
从error surface的角度来看 Cross-entropy 的梯度变化更平缓 –> 更好 train
5. Batch Normalization
Feature Normalization - 对所有样本的每一个维度(dimension)作 normalization(减均值、除方差)
可以对每一层的输出(激活函数前后影响不大)作上述 Featurn Normalization
归根结底让整个 error surface 不那么崎岖(还有各种Normalization的方法)
3. CNN
在图像感知的问题中使用
stride 迈步步长 padding 越界填充
Receptive field –> neutrons –> shared parameters
filters –> Feature Map
两种看待CNN所做事情的角度
Pooling - subsampling 比较典型的 Max Pooling
Pooling不是必要的
CNN的标准流程
4. Self-attention
Sequence(vector set) input 考虑整个input sequence的资讯
《Attention is all you need》
Self-attention的运行方式
Multi-head Self-attention
Position Encoding
Self-attention可以视作可调感知域的CNN(在数据量足够大时效果要好于CNN) CNN属于简化版的Self-attention
Self-attention比起RNN更加不受输入vector之间距离的影响
5. Transformer (Seq2Seq)
语音辨识
Encoder + Decoder
Encoder
Encoder block的构成
Encoder的结构
Decoder
分为 Autoregressive 和 Non- Autoregressive
下面以Autoregressive为例概述Decoder的组成结构
Masked Self-attention
显然在Decoder中上一个的输出作为下一个的输入,输入一个一个依次产生,无法像Self-attention那样直接考虑所有的资讯
Cross attention
Decoder的结构(Encoder and Decoder)
其它的Seq2Seq架构
Copy mechanism: Pointer Network
Guided Attention: Monotonic Attention、 Location-aware attention
评价方法
BLUE score
但BLUE难以用于optimuze,对于不知道如何optimize的问题可以使用RL解决
exposure bias
Scheduled Sampling来防止在teacher forcing下可能出现的“一步错步步错”的问题
6. GAN
输出一种分布 Generator-生成
Discriminator(判别Generator生成的优劣)
D将G的生成集和训练集分别label后进行训练以期分辨G的生成和自然数据的差异(real or fake,real打分更高);G将生成接到D上让D打分 以此作为loss 来更新G的参数
轮流固定G和D,训练D和G
训练trick
D存在的意义是在无法或者不容易计算生成数据分布与自然数据分布的divergence的情况下给出loss使G能够train起来,divergence的选择(参见f-GAN文章)决定了D的objective function。
JS divergence 不适合区分两个分布没有重叠(overlap)的情况,而在高维空间中不同分布图像的overlap很少;Wasserstein distance适于计算两个分布之间的距离(WGAN)
未完待续…