本博客纯属个人观点,不喜勿喷,也欢迎大神们留言补充。
我们把提高泛化能力的方法分为4类
- 数据端
- 模型端
- 训练过程
- 后处理
下面分别从这4个部分进行分类
一、数据端
方法:
1. data augmentation(CV domain)
直接对原始数据处理
- 平移
- 加噪
- 去噪
- 翻转
- 裁剪
- 旋转
- 加权
- 。。。。
间接对原始数据处理,这里主要指按照不同的需求进行特定处理
- Mixup
- data aug by reinforcement learning
- GAN
从online 和offline的角度看,
online:
- data aug by reinforcement learning
- GAN
- dynamic weighting
offline:
- data transform
- static weighting by task (determined befoore training)
- MixUP(有争议,先放在这里了)
二、 模型端
模型复杂度
模型结构
正则化
dropout
distilling
三、训练过程
weight initialization
early stop
cross validation
optimizer selection
loss function (在reinforcement learning最为明显)
transfer
batch size
batch norm
。。。
四、后处理
ensemble learning
average (multi-models or multi-results for one model )
voting