Borrowing treasures from the wealthy: deep transfer learning through selective joint fine-tuning

来源:互联网 发布:linux cat 多个文件 编辑:程序博客网 时间:2024/06/05 21:49

做一些笔记

2017_CVPR_Borrowing treasures from the wealthy: deep transfer learning through selective joint fine-tuning


Introduction:

1. 如果用少量的数据训练深度网络,那么它的性能可能还不如传统方法。少量的数据并不能够展现出sample diversity,所以比较容易over-fitting。

2. fine-tuning也可以认为是一种简单的transfer learning, 对于fine-tuning来说,迭代次数应该少,不然还是容易出现over-fitting

3. 利用迁移学习的问题:源域有足够的样本和标记,目标域只有少量样本和标记(或者有大量样本,但是标记很少,甚至没有标记),源域的样本和目标域的样本分布并不相同,有一定的相关性。

4. 文章的核心想法就是,从源域训练集中挑选一些样本,这些样本的低维特征与目标域很相似,然后将源域挑选出的样本与目标域的样本放在一起,进行jointly fine-tuning。这样做的逻辑是,如果把源域中的所有样本拿来做fine-tuning,源域中与目标域中不相似的样本会干扰目标域特征的学习。


Selective Joint Fine-Tuning


1. 选择source domain:ImageNet ILSVRC, Places, and MS COCO

2. 选择低维特征: Gabor filter或者kernels in the convolutional layers of AlexNet pre-trained on ImageNet,然后计算它的histograms作为descriptor

3. 选择网络结构:AlexNet, VGG, ResNet,文章用的是ResNet

4. 源域的问题和目标域的问题是各自的cost function (那么问题来了,两个cost function是同等的权重?是同时更新的还是迭代更新的?)


Similar Image Search重点来了

1. Gabor filter: 4 scales, 6个direction, 实部虚部分开,总共48个Gabor filter

2. kernels in convolutional layers: 利用AlexNet pre-trained on ImageNet的第一层和第二层的所有kernel

3. image descriptor: 对每个response map,计算目标域中的最大值和最小值,然后在最大和最小值直接划分许多bin,bin的width是不固定的,目的是为了让每个bin基本上都能落入一样多的pixel。将一幅图所有的response map的histogram叠在一起,作为descriptor

4. Nearest Neighbor Ranking: convolutional layer每一层的的kernel都不同,因此对kernel需要用每一层总的kernel数目进行归一化

5. Hard samples in the target domain: 对hard samples应该选择更多的nearest neighbor。文章中使用了迭代的方法,计算target samples 在第m次迭代后,被分为某一类的概率值的确定性,这个确定性用信息熵描述。对于难分的样本,增加nearest neighbor的方法如下:

如果预测标记与真实标记不同,那么增加其nearest neighbor,增加4K0个nearest neighbor

如果预测标记与真实标记相同,但是属于难分样本,增加2K0个nearest neighbor

如果预测标记与真实标记相同,不属于难分样本,不增加nearest neighbor

K0是初始给每个target sample选择nearest neighbor的数目。



阅读全文
0 0
原创粉丝点击