Deep SSL 系列2: Ladder Network (NIPS 15)

"Semi-Supervised Learning with Ladder Networks" 这篇文章发表在NIPS 2015上,是比较早的一篇关于Deep SSL的文章,也是我个人非常喜欢的一篇文章。作者都是来自Curious AI。

这篇文章也是基于low density 的assumption来做半监督的,但是其中的联系没有那么直接。

虽然论文里面写的非常复杂,但其实Ladder Network非常简单,就是对降噪自编码器做的一个适应半监督的改进。

降噪自编码器是无监督的一个学习数据表示的过程,首先对数据 x 加上随机噪声得到 \tilde{x} ,然后经过encoder得到数据表示,然后在通过decoder得到 \hat{x} ,目标是最小化重构误差。

Ladder Network主要做了两点改进:

1)降噪自编码器只对输入层加入噪声,而Ladder Network对编码层的每一层都加入了噪声。

2)Ladder Network增加了一个横向连接,所以其损失函数是每一层的重构误差之和,而降噪自编码器只计算decoder输出层的重构误差。

下图就是Ladder Network的整体流程,左边两列就是降噪自编码器,然后每一层都加入随机的噪声,最右边这一列就是为了计算每一层的重构误差。

所以整体的Loss就是有监督部分,即有标记数据上的loss,加上无监督部分,即每一层的重构误差之和。

为什么我说Ladder Network是基于low density假设来做半监督的。是因为,对未标记数据增加噪声然后最小化重构误差其实是鼓励对于未标记数据,增加不同的噪声后,其输出应该是较为稳定的,是在提高unlabeled data上的stability。这样就可以使得模型对训练数据的扰动不敏感,也就是鼓励决策边界在低密度区域。(这应该也是每一层都要加入随机噪声的原因,但作者不是依据这个来展开的。)

其实所有的半监督模型无非就是这几种假设, 流形假设,低密度假设,聚类假设等, 读SSL的文章,只要找到它是属于哪一种假设就很容易理解了。

文章作者oral: youtube.com/watch?

代码链接:github.com/CuriousAI/la

编辑于 2019-07-11

文章被以下专栏收录