transfer_learning.md 6.7 KB
Newer Older
littletomatodonkey's avatar
littletomatodonkey 已提交
1
# 图像分类迁移学习
littletomatodonkey's avatar
littletomatodonkey 已提交
2

littletomatodonkey's avatar
littletomatodonkey 已提交
3
迁移学习是机器学习领域的一个重要分支,广泛应用于文本、图像等各种领域,此处我们主要介绍的是图像分类领域的迁移学习,也就是我们常说的域迁移,比如将 ImageNet 分类模型迁移到我们自己场景的图像分类任务上,如花卉分类。
littletomatodonkey's avatar
littletomatodonkey 已提交
4 5 6

## 一、 超参搜索

littletomatodonkey's avatar
littletomatodonkey 已提交
7
ImageNet 作为业界常用的图像分类数据被大家广泛使用,已经总结出一系列经验性的超参,使用这些超参往往能够得到不错的训练精度,而这些经验性的参数在迁移到自己的业务中时,有时效果不佳。有两种常用的超参搜索方法可以用于获得更好的模型超参。
littletomatodonkey's avatar
littletomatodonkey 已提交
8

littletomatodonkey's avatar
littletomatodonkey 已提交
9
### 1.1 网格搜索
littletomatodonkey's avatar
littletomatodonkey 已提交
10

littletomatodonkey's avatar
littletomatodonkey 已提交
11
网格搜索,即穷举搜索,通过查找搜索空间内所有的点,确定最优值。方法简单有效,但当搜索空间较大时,需要消耗大量的计算资源。
littletomatodonkey's avatar
littletomatodonkey 已提交
12 13 14

### 1.2 贝叶斯搜索

littletomatodonkey's avatar
littletomatodonkey 已提交
15
贝叶斯搜索,即贝叶斯优化,在搜索空间中随机选取超参数点,采用高斯过程,即根据上一个超参数点的结果,更新当前的先验信息,计算前面n个超参数点的后验概率分布,得到搜索空间中每一个超参数点的期望均值和方差,其中期望均值越大表示接近最优指标的可能性越大,方差越大表示不确定性越大。通常将选择期望均值大的超参数点称为`exporitation`,选择方差大的超参数点称为`exploration`。在贝叶斯优化中通过定义`acquisition function`权衡期望均值和方差。贝叶斯搜索认为当前选择的超参数点是处于最大值可能出现的位置。
littletomatodonkey's avatar
littletomatodonkey 已提交
16 17 18 19 20 21 22

------

基于上述两种搜索方案,我们在8个开源数据集上将固定一组参数实验以及两种搜索方案做了对比实验,参照[1]的实验方案,我们对4个超参数进行搜索,搜索空间及实验结果如下所示:

- 固定参数:

littletomatodonkey's avatar
littletomatodonkey 已提交
23
```
littletomatodonkey's avatar
littletomatodonkey 已提交
24
初始学习率lr=0.003,l2 decay=1e-4,label smoothing=False,mixup=False
littletomatodonkey's avatar
littletomatodonkey 已提交
25
```
littletomatodonkey's avatar
littletomatodonkey 已提交
26 27 28

- 超参搜索空间:

littletomatodonkey's avatar
littletomatodonkey 已提交
29
```
littletomatodonkey's avatar
littletomatodonkey 已提交
30 31 32 33 34 35 36
初始学习率lr: [0.1, 0.03, 0.01, 0.003, 0.001, 0.0003, 0.0001]

L2 decay: [1e-3, 3e-4, 1e-4, 3e-5, 1e-5, 3e-6, 1e-6]

Label smoothing: [False, True]

Mixup: [False, True]
littletomatodonkey's avatar
littletomatodonkey 已提交
37
```
littletomatodonkey's avatar
littletomatodonkey 已提交
38

littletomatodonkey's avatar
littletomatodonkey 已提交
39
网格搜索的搜索次数为196次,而贝叶斯搜索通过设置最大迭代次数(`max_iter`)和是否重复搜索(`de_duplication`)来确定搜索次数。我们设计了系列实验,baseline为ImageNet1k校验集Top1 Acc为79.12%的ResNet50_vd预训练模型,并固定超参,在新数据集上finetune得到的模型。下表给出了固定参数、网格搜索以及贝叶斯搜索的精度与搜索次数对比。
littletomatodonkey's avatar
littletomatodonkey 已提交
40

littletomatodonkey's avatar
littletomatodonkey 已提交
41
- 精度与搜索次数对比:
littletomatodonkey's avatar
littletomatodonkey 已提交
42

littletomatodonkey's avatar
littletomatodonkey 已提交
43
| 数据集             | 固定参数 | 网格搜索 | 网格搜索次数 | 贝叶斯搜索 | 贝叶斯搜索次数|
littletomatodonkey's avatar
littletomatodonkey 已提交
44 45 46 47 48 49 50 51 52
| ------------------ | -------- | -------- | -------- | -------- | ---------- |
| Oxford-IIIT-Pets   | 93.64%   | 94.55%   | 196 | 94.04%     | 20         |
| Oxford-102-Flowers | 96.08%   | 97.69%   | 196 |  97.49%     | 20         |
| Food101            | 87.07%   | 87.52%   | 196 |  87.33%     | 23         |
| SUN397             | 63.27%   | 64.84%   | 196 |  64.55%     | 20         |
| Caltech101         | 91.71%   | 92.54%   | 196 |  92.16%     | 14         |
| DTD                | 76.87%   | 77.53%   | 196 |  77.47%     | 13         |
| Stanford Cars      | 85.14%   | 92.72%   | 196 |  92.72%     | 25         |
| FGVC Aircraft      | 80.32%   | 88.45%   | 196 |  88.36%     | 20         |
littletomatodonkey's avatar
littletomatodonkey 已提交
53 54


littletomatodonkey's avatar
littletomatodonkey 已提交
55
- 上述实验验证了贝叶斯搜索相比网格搜索,在减少搜索次数10倍左右条件下,精度只下降0%~0.4%。
littletomatodonkey's avatar
littletomatodonkey 已提交
56 57 58 59
- 当搜索空间进一步扩大时,例如将是否进行AutoAugment,RandAugment,Cutout, Cutmix以及Dropout这些正则化策略作为选择时,贝叶斯搜索能够在获取较优精度的前提下,有效地降低搜索次数。

## 二、 大规模分类模型

littletomatodonkey's avatar
littletomatodonkey 已提交
60
在实际应用中,由于训练数据的匮乏,往往将ImageNet1k数据集训练的分类模型作为预训练模型,进行图像分类的迁移学习。为了进一步助力解决实际问题,基于ResNet50_vd, 百度开源了自研的大规模分类预训练模型,其中训练数据为10万个类别,4300万张图片。10万类预训练模型的下载地址:[**下载地址**](https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_vd_10w_pretrained.tar)
littletomatodonkey's avatar
littletomatodonkey 已提交
61

littletomatodonkey's avatar
littletomatodonkey 已提交
62
我们在6个自有采集的数据集上进行迁移学习实验,采用一组固定参数以及网格搜索方式,其中训练轮数设置为20epochs,选用ResNet50_vd模型,ImageNet预训练精度为79.12%。实验数据集参数以及模型精度的对比结果如下:
littletomatodonkey's avatar
littletomatodonkey 已提交
63 64 65

固定参数:

littletomatodonkey's avatar
littletomatodonkey 已提交
66
```
littletomatodonkey's avatar
littletomatodonkey 已提交
67
初始学习率lr=0.001,l2 decay=1e-4,label smoothing=False,mixup=False
littletomatodonkey's avatar
littletomatodonkey 已提交
68
```
littletomatodonkey's avatar
littletomatodonkey 已提交
69 70 71

| 数据集          | 数据统计                                  | **ImageNet预训练模型 <br />固定参数Top-1/参数搜索Top-1** | **大规模分类预训练模型<br />固定参数Top-1/参数搜索Top-1** |
| --------------- | ----------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------- |
littletomatodonkey's avatar
littletomatodonkey 已提交
72 73 74 75 76 77
| 花卉         | class:102<br />train:5789<br />valid:2396 | 0.7779/0.9883                                            | 0.9892/0.9954                                             |
| 手绘简笔画   | Class:18<br />train:1007<br />valid:432   | 0.8795/0.9196                                            | 0.9107/0.9219                                             |
| 植物叶子     | class:6<br />train:5256<br />valid:2278   | 0.8212/0.8482                                            | 0.8385/0.8659                                             |
| 集装箱车辆   | Class:115<br />train:4879<br />valid:2094 | 0.6230/0.9556                                            | 0.9524/0.9702                                             |
| 椅子         | class:5<br />train:169<br />valid:78      | 0.8557/0.9688                                            | 0.9077/0.9792                                             |
| 地质         | class:4<br />train:671<br />valid:296     | 0.5719/0.8094                                            | 0.6781/0.8219                                             |
littletomatodonkey's avatar
littletomatodonkey 已提交
78

littletomatodonkey's avatar
littletomatodonkey 已提交
79
- 通过上述的实验验证了当使用一组固定参数时,相比于ImageNet预训练模型,使用大规模分类模型作为预训练模型在大多数情况下能够提升模型在新的数据集上得效果,通过参数搜索可以进一步提升精度。
littletomatodonkey's avatar
littletomatodonkey 已提交
80

littletomatodonkey's avatar
littletomatodonkey 已提交
81 82

## 参考文献
littletomatodonkey's avatar
littletomatodonkey 已提交
83 84 85

[1] Kornblith, Simon, Jonathon Shlens, and Quoc V. Le. "Do better imagenet models transfer better?." *Proceedings of the IEEE conference on computer vision and pattern recognition*. 2019.

littletomatodonkey's avatar
littletomatodonkey 已提交
86
[2] Kolesnikov, Alexander, et al. "Large Scale Learning of General Visual Representations for Transfer." *arXiv preprint arXiv:1912.11370* (2019).