深度学习基础
high variance/data mismatch
what is data mismatch
如果训练集和验证集的loss不一样,且验证集的loss高很多,有2种原因:
1.方差太大。模型没见过,没学习到;
2.数据不匹配。训练集和验证集的数据分布不同。
how to solve data mismatch
currently no systematic ways to solve, so try:
- manually error analysis
- make training and dev sets more similar.
data synthesis数据合成
make similar的方法包括数据合成。比如含有噪音的音频。
但是要注意:噪音背景需要和清晰的音频一样diverse,不能音频有1000条,噪音只有1条,要不然可能过拟合。
该方法在音频识别种效果很好。
迁移学习与预训练/微调
迁移学习是原本适用于taskA的模型同样应用在taskB。
为了能够使其适用于TaskB,需要对模型进行进一步训练,这个过程取决于taskB的样本数量。
- 如果样本数量较少,就重新训练最后一层layer或最后几层,其他layers固定不变;
- 如果样本数量很多,可以对整个模型重新进行训练。
对于最终的taskB来说,taskA过程的训练就是预训练,对于taskB的训练是微调。
什么时候用迁移学习
- taskA和taskB输入相同,如都是图片
- taskA的样本远多于taskB
- taskA的低层次特征low level features有助于taskB
什么时候用多任务学习
- 多个任务有共性的低维特征;
- 每个任务的数据集数量多比较多,不会像迁移学习一样不平衡
卷积
三维卷积
如果输入不是二维灰度图,而是一个RGB图或者高维图像,那么过滤器也会有跟高维图像相同的维度。
比如图像是6x6x3,filter是3x3x3,那么得到4x4x1。
如果想学习多个不同的特征怎么办呢?
可以使用多个filter,每个filter关注不同的特性。以上面的例子为例,假如有n个filter,那么得到4x4xn的输出。
损失
二分类损失
Focal loss
二分类损失常用的是交叉熵损失,但是这不能解决正负样本不平衡的问题,因此出现了Focal loss,对于易于分类(分类概率越高)的样本乘以较小的权重,对于不易于分类的样本乘以较大的权重。
参考:https://blog.csdn.net/BIgHAo1/article/details/121783011