Split-Brain Autoencoders: Unsupervised Learning by Cross-Channel Prediction
Introduction
本文的作者和博客自监督学习(七)Colorful Image Colorization介绍论文的作者是同一批人,本文作者依然借鉴了很多图像上色的思路。论文主要的创新点是提出了一种“Cross Channel”的自动编码器,作者把传统的自动编码器拆解为两个自网络,分别完成两个不同的任务,比如一个负责图像上色中的L->(ab)任务,另一个负责(ab)->L的任务。论文地址。
Method
Cross Channel Encoders
个人认为,本文的研究思路还是延续了作者上一篇自动上色的文章,在上一篇文章中,作者利用分类的方法预测图像的颜色:L->ab。在这篇文章中,作者继续深入研究,发现只有L->ab还不行,还应该有ab->L啊,所以就有了本文介绍得到Cross Channel自编码器。作者将输入图像
X
X
X分为两部分
X
1
,
X
2
X_1, X_2
X1,X2,子编码网络分别为
F
1
,
F
2
F_1, F_2
F1,F2。以
X
1
X_1
X1数据为例,该方法的目的是利用
X
1
X_1
X1预测
X
2
X_2
X2的值
X
2
^
\widehat{X_2}
X2
, 对于
X
2
X_2
X2也是如此。
尽管以上的任务和图像上色非常的契合,但是实际上也可以用于其他的pretext tasks。在这一过程可以用下面的式子表示:
当然也可以使用分类来表示:
Split-Brain Autoencoders as Aggregated Cross Channel Encoders
根据以上的描述,该任务的优化过程可以写成如下的形式:
作者在这里还探讨了损失函数和预测任务的不同形式,从而可以组成不同的学习范式。
首先,损失函数可以有不同的形式,既可以使用回归的形式,也可以使用分类的形式,还可以任意增加任务的数量:
另外,作者还探讨了不同任务的聚合方式。介绍几种比较重要的,其他的可以看原文:
- Split-Brain Autoencoder (cl,cl) :这是作者最终使用的方法,该方法把
F
1
F_1
F1看做是一个从L到ab的分类任务,把
F
2
F_2
F2从ab到L的预测任务
- Split-Brain Autoencoder (reg,reg):这个方法和第一个基本相同,唯一的不同是上色的损失函数是L2损失函数。
- (L,ab,Lab)->(ab,L,Lab):就是上一部分公式5中讨论的加了一个新任务的情况
Experiments
在实验阶段,作者使用三个数据集验证该方法作为自监督模型的效果,分别为在ImageNet数据集上验证线性分类效果,在Place数据机上验证分类效果,在VOC 07数据集上验证分类、检测和分割效果。
ImageNet Classification
在ImageNet数据集上,作者固定卷积神经网络,从特定的卷积层中获取特征训练线性分类器,从而评估该方法提取特征的泛化能力,实验结果如下表所示:
可以看出,本文的方法仅次于使用强监督训练的方法,在自监督的方法中取得了最好的效果。
Place Classification
在Place的分类效果如下:
Pascal VOC 07
作者在VOC07数据集上,验证了该方法在分类检测分割上的效果:
这个效果就不是很好了,而且从实验结果上来看,这个方法很有可能是在分类任务上更有优势。
Conclusion
总体来说,作者提出的方法还是有一定的效果的,而且方法比较有意思。