论文标题:Learning deep representations by mutual information estimation and maximization
论文链接:https://arxiv.org/abs/1808.06670
论文来源:ICLR 2019
之前的相关博客:MINE:随机变量互信息的估计方法
一、概述
本文提出的方法主要目的是训练一个表示学习的函数(也就是一个encoder)来最大化其输入与输出之间的互信息(Mutual Information, MI)。高维连续随机变量互信息的估计一向是个困难的问题,然而最近的方法(上面的博客)已经可以利用神经网络来对互信息进行有效地计算。
本文的方法利用互信息的估计来进行表示学习,并且表明完整的输入和encoder输出之间的互信息(global MI)对于学习到有用的表示来说是不足够的,输入的结构也起到一定作用,也就是说,表示与输入的局部部分(比如图片的patch)之间的互信息(local MI)能够提高表示的质量,而global MI在给定表示重构输入方面有重要的作用。
二、方法
- 介绍
encoder
本文的encoder按照以下标准进行训练:
- 互信息最大化(Global MI)
- 框架
下图展示了互信息(global MI)最大化的基本框架:
global MI
- JS散度形式
另外,我们的目的是要最大化互信息,而不是估计其值(上述KL散度形式的互信息可以作为互信息的估计值),因此我们可以采用其他非KL散度的形式,比如Jensen-Shannon MI估计:
- InfoNCE形式
本文还利用了另外一种互信息的下界表示的形式,由InfoNCE损失而来。InfoNCE的目标是最大化正样本对的得分,最小化负样本对的得分,其形式为:
本文实验采用了JSD和InfoNCE两种形式,在下游任务上,使用InfoNCE通常优于JSD,尽管这种效果随着更具挑战性的数据而减弱。InfoNCE和DV需要大量的负样本,而JSD对负样本的数量够没那么敏感,在负样本数量较小时效果优于InfoNCE。
- 算法
Global MI的算法为:
- 局部互信息最大化(Local MI)
- 框架
对于global MI来说,某些任务可能是不必要的。举例来说,像素级别的噪声对于图像分类任务来说是不重要的,所以图片的表示不应该编码这些噪声。为了能够使得图像的表示更适合分类任务,我们可以最大化表示与图像的局部块之间的平均互信息,这样有利于表示包含图像块之间共享的信息。
下图展示了local MI的框架:
local MI
- 算法
Local MI的算法为:
- 将表示与先验分布匹配
GAN的相关内容:
- Deep InfoMax的目标函数
Global MI、Local MI以及先验匹配的目标函数可以结合在一起,那么Deep InfoMax最终的完整目标函数就是:
三、 实验
本文实验在CIFAR10和CIFAR100、Tiny ImageNet、STL-10以及CelebA等数据集上进行。以下为部分实验结果:
实验
实验
实验
实验
实验
参考资料
Learning Deep Representations by Mutual Information Estimation and Maximization