Deep InfoMax:基于互信息最大化的表示学习

简介: Deep InfoMax:基于互信息最大化的表示学习

论文标题: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在给定表示重构输入方面有重要的作用。


二、方法


  1. 介绍


image.png

                                               encoder


本文的encoder按照以下标准进行训练:


image.png


  1. 互信息最大化(Global MI)


  • 框架


下图展示了互信息(global MI)最大化的基本框架:


image.png

                                             global MI


image.png


  • JS散度形式


另外,我们的目的是要最大化互信息,而不是估计其值(上述KL散度形式的互信息可以作为互信息的估计值),因此我们可以采用其他非KL散度的形式,比如Jensen-Shannon MI估计:


image.png

image.png


  • InfoNCE形式


本文还利用了另外一种互信息的下界表示的形式,由InfoNCE损失而来。InfoNCE的目标是最大化正样本对的得分,最小化负样本对的得分,其形式为:


image.png


本文实验采用了JSD和InfoNCE两种形式,在下游任务上,使用InfoNCE通常优于JSD,尽管这种效果随着更具挑战性的数据而减弱。InfoNCE和DV需要大量的负样本,而JSD对负样本的数量够没那么敏感,在负样本数量较小时效果优于InfoNCE。


  • 算法


Global MI的算法为:


image.png


  1. 局部互信息最大化(Local MI)


  • 框架


对于global MI来说,某些任务可能是不必要的。举例来说,像素级别的噪声对于图像分类任务来说是不重要的,所以图片的表示不应该编码这些噪声。为了能够使得图像的表示更适合分类任务,我们可以最大化表示与图像的局部块之间的平均互信息,这样有利于表示包含图像块之间共享的信息。


下图展示了local MI的框架:


image.png

                                   local MI

image.png

  • 算法


Local MI的算法为:


image.png


  1. 将表示与先验分布匹配


image.png

GAN的相关内容:


生成对抗网络-基本概念|深度学习(李宏毅)(二十二)


生成对抗网络-理论部分|深度学习(李宏毅)(二十三)


  1. Deep InfoMax的目标函数


Global MI、Local MI以及先验匹配的目标函数可以结合在一起,那么Deep InfoMax最终的完整目标函数就是:


image.png


三、 实验


本文实验在CIFAR10和CIFAR100、Tiny ImageNet、STL-10以及CelebA等数据集上进行。以下为部分实验结果:


image.png

                                                        实验


image.png

                                                    实验


image.png

                                                             实验


image.png

                                                        实验


image.png

                                                          实验


参考资料


Learning Deep Representations by Mutual Information Estimation and Maximization

对 Deep InfoMax(DIM)的理解


Deep InfoMax

相关文章
|
机器学习/深度学习 算法 TensorFlow
深度学习常用知识梯度下降学习率和反向传播
深度学习常用知识梯度下降学习率和反向传播
121 0
|
6月前
|
数据可视化 Python
流形学习(Manifold Learning)是一种非线性降维方法
流形学习(Manifold Learning)是一种非线性降维方法
176 24
|
8月前
|
机器学习/深度学习 运维 算法
高斯混合模型:GMM和期望最大化算法的理论和代码实现
高斯混合模型(gmm)是将数据表示为高斯(正态)分布的混合的统计模型。这些模型可用于识别数据集中的组,并捕获数据分布的复杂、多模态结构。
440 0
|
机器学习/深度学习 算法 安全
基于时态差分法的强化学习:Sarsa和Q-learning
时态差分法(Temporal Difference, TD)是一类在强化学习中广泛应用的算法,用于学习价值函数或策略。Sarsa和Q-learning都是基于时态差分法的重要算法,用于解决马尔可夫决策过程(Markov Decision Process, MDP)中的强化学习问题。
254 1
|
机器学习/深度学习 算法 决策智能
【ICLR2020】通过强化学习和稀疏奖励进行模仿学习
【ICLR2020】通过强化学习和稀疏奖励进行模仿学习
212 0
|
机器学习/深度学习 算法 数据可视化
梯度提升算法决策过程的逐步可视化
梯度提升算法是最常用的集成机器学习技术之一,该模型使用弱决策树序列来构建强学习器。这也是XGBoost和LightGBM模型的理论基础,所以在这篇文章中,我们将从头开始构建一个梯度增强模型并将其可视化。
174 0
梯度提升算法决策过程的逐步可视化
|
机器学习/深度学习 传感器 算法
【FNN预测】基于粒子群算法结合引力搜索算法优化前向反馈神经网络FNN实现数据回归预测附matlab代码
【FNN预测】基于粒子群算法结合引力搜索算法优化前向反馈神经网络FNN实现数据回归预测附matlab代码
|
机器学习/深度学习 算法
深度学习相关概念:动量法与自适应梯度
在梯度下降的每一步中,我们都用到了所有的训练样本,我们需要进行求和运算,在梯度下降中,在计算微积随机梯度下降(SGD)
179 0
|
机器学习/深度学习 算法 数据挖掘
深度学习相关概念:交叉熵损失
 我在学习深度学习的过程中,发现交叉熵损失在分类问题里出现的非常的频繁,但是对于交叉熵损失这个概念有非常的模糊,好像明白又好像不明白,因此对交叉熵损失进行了学习。
191 0
|
机器学习/深度学习 自然语言处理 算法
深度学习与CV教程(18) | 深度强化学习 (梯度策略,Actor-Critic,DDPG,A3C)
本文讲解了 Policy Gradient,结合policy-based 和 value-based 的 Actor-Critic 方法,以及在 Actor-Critic 基础上的 DDPG、A3C方法【对应 CS231n Lecture 14】
18073 21
深度学习与CV教程(18) | 深度强化学习 (梯度策略,Actor-Critic,DDPG,A3C)