说到一致(consistency),其实很多代价都有这个内涵,如MSE代价,最小化预测与标签的差值,也就是希望预测与标签能够一致,其他的代价,如KL散度、交叉熵代价也类似。所以一致性,是一种非常内在而本质的目标,可以让深度网络进行有效学习。
但是在半监督中,无标签数据并没有标签,因而勤劳而美丽的科研工作者们就想出了各种无需标签信息的 consistency regularization,随着 consistency regularizaton 的不断发展,一度成为半监督深度学习发展史上耀眼的SOTA。
Consistency Regularization 的主要思想是:对于一个输入,即使受到微小干扰,其预测都应该是一致的。
这是NIPS 2014年发表的工作,其提出了一个概念:pseudo-ensemble,一个 pseudo-ensemble 是一系列子模型(child model),这些子模型通过某种噪声过程(noise process)扰动父模型(parent model)得到。
Pseudo-ensemble 与其他的有关扰动的方法的区别在于:其他的方法只考虑在输入空间的扰动,而 pseudo-ensemble 还考虑在模型空间(model space)上的扰动。
一个典型的 pseudo-ensemble 就是 Dropout。
但是,除了dropout 以外,我没怎么想到其他的模型空间上的扰动,看论文的公式貌似是在网络的中间表示添加噪声?论文有代码,但我没怎么看,有不同意见的同学可以评论里提出。
其有监督代价函数如下:
minθE(x,y)∼pxyEξ∼pξL(fθ(x;ξ),y)
其中 θ 是网络参数, ξ表示某种噪声过程,该有监督代价函数就是让扰动得到的子模型与标签 y一致。
论文中还提出其半监督形式:The Pseudo-Ensemble Agreement regularizer(PEA),其形式如下:
PEA(fθ,px,pξ)=Ex∼pxEξ∼pξ[∑di=2λiVi(fiθ(x),fiθ(x;ξ))]
其中 d是网络的层数,其含义应该是把父模型的每一层中间表示,与子模型的进行一致正则, V� 是某种惩罚函数,如MSE代价。(注:最后一层的中间表示即网络的预测)
现在回顾一下Consistency regularization的思想:对于一个输入,受扰微小扰动后,其预测应该是一致的。