当前位置: 首页 > news >正文

MINE:Mutual Information Neural Estimation

Mutual Information Neural Estimation

摘要

文章认为高维连续随机变量之间的互信息可以通过在神经网络上梯度下降优化得到。
文中提出了互信息估计器(Mutual Information Neural Estimator),它在维度和
样本大小上都是可伸缩的,可以通过反向传播训练的,并且具有很强的一致性
文章提出了一些可以使用MINE来最小化或最大化互信息的
应用。作者应用MINE来改进对抗训练的生成模型。还使用MINE来实现信息瓶颈,将其应用到监督分类中:结果表明,在这些设置中,灵活性和性能有很大的改善。

背景知识补充1

与相关系数相比,互信息可以捕获非线性关系
H ( X ) = − ∑ x p ( x ) l o g ( p ( x ) ) = − E x [ l o g ( p ( x ) ) ] H ( X ∣ Z ) = − ∑ z p ( z ) ∑ x p ( x ∣ z ) l o g ( p ( x ∣ z ) ) I ( X , Z ) = ∑ x ∑ z p ( x , z ) l o g p ( x , z ) p ( x ) p ( z ) = D K L ( p ( x , z ) ∣ ∣ p ( x ) p ( z ) ) = H ( X ) − H ( X ∣ Z ) = H ( Z ) − H ( Z ∣ X ) \begin{align} H(X) &= -\sum_x p(x)log(p(x))\\ &= -\mathbb{E}_x[log(p(x))] \notag\\ H(X|Z) &= -\sum_z p(z)\sum_x p(x|z)log(p(x|z))\\ I(X, Z) &= \sum_x\sum_z p(x, z)log\frac{p(x, z)}{p(x)p(z)}\\ &= D_{KL}(p(x, z)||p(x)p(z)) \\ &= H(X)-H(X|Z)\\ &= H(Z)-H(Z|X) \end{align} H(X)H(XZ)I(X,Z)=xp(x)log(p(x))=Ex[log(p(x))]=zp(z)xp(xz)log(p(xz))=xzp(x,z)logp(x)p(z)p(x,z)=DKL(p(x,z)∣∣p(x)p(z))=H(X)H(XZ)=H(Z)H(ZX)
H H H是信息熵, I I I是互信息。

KL散度的对偶(Dual)表示

Donsker-Varadhan represention

  • 理论1(Q,P指分布,dQ,dP密度函数):
    D K L ( P ∣ ∣ Q ) = sup ⁡ T : Ω → R E P [ T ] − l o g ( E Q [ e T ] ) D_{KL}(P||Q)=\sup\limits_{T:\Omega\rightarrow R}\mathbb{E}_P{[T]}-log(\mathbb{E}_Q[e^T]) DKL(P∣∣Q)=T:ΩRsupEP[T]log(EQ[eT])
    其中 T T T表示所有任意函数。
  • 证明理论1:令 d G = 1 Z e T d Q dG=\frac{1}{Z}e^TdQ dG=Z1eTdQ,其中 Z = E Q [ e T ] Z=\mathbb{E}_Q[e^T] Z=EQ[eT].
    d G d Q = 1 Z e T E P [ E Q ] = E Q E P [ l o g d G d Q ] = E P [ T ] − l o g ( Z ) Δ : = D K L ( P ∣ ∣ Q ) − ( E P [ T ] − l o g ( Z ) ) = E P [ l o g d P d Q − l o g d G d Q ] = E P [ l o g d P d G ] = D K L ( P ∣ ∣ G ) ≥ 0 D K L ( P ∣ ∣ Q ) ≥ E P [ T ] − l o g ( E Q [ e T ] ) \begin{align} \frac{dG}{dQ}&=\frac{1}{Z}e^T\\ \mathbb{E}_P[\mathbb{E}_Q]&=\mathbb{E}_Q\\ \mathbb{E}_P[log\frac{dG}{dQ}]&=\mathbb{E}_P[T]-log(Z)\\ \Delta :&=D_{KL}(P||Q)-(\mathbb{E}_P[T]-log(Z))\\ &= \mathbb{E}_P\left[log\frac{dP}{dQ}-log\frac{dG}{dQ}\right]\\ &= \mathbb{E}_P\left[log \frac{dP}{dG}\right]=D_{KL}(P||G)\ge 0\\ D_{KL}(P||Q)&\ge \mathbb{E}_P{[T]}-log(\mathbb{E}_Q[e^T]) \end{align} dQdGEP[EQ]EP[logdQdG]Δ:DKL(P∣∣Q)=Z1eT=EQ=EP[T]log(Z)=DKL(P∣∣Q)(EP[T]log(Z))=EP[logdQdPlogdQdG]=EP[logdGdP]=DKL(P∣∣G)0EP[T]log(EQ[eT])
    可以看到,当 G = = P G==P G==P时,取等号,即边界是贴近的, T ∗ = l o g d P d Q + C T^*=log\frac{dP}{dQ}+C T=logdQdP+C

f f f-divergence representation

D K L ( P ∣ ∣ Q ) ≥ sup ⁡ T ∈ F E P [ T ] − l o g ( E Q [ e T − 1 ] ) D_{KL}(P||Q)\ge\sup\limits_{T\in \mathcal{F}}\mathbb{E}_P{[T]}-log(\mathbb{E}_Q[e^{T-1}]) DKL(P∣∣Q)TFsupEP[T]log(EQ[eT1])

尽管对于足够大的族 F \mathcal{F} F,两种表示都可以逼近散度,但是Donsker-Varadhan 界限更强。
E P [ T ] − l o g ( E Q [ e T ] ) ≥ E P [ T ] − l o g ( E Q [ e T − 1 ] ) \mathbb{E}_P{[T]}-log(\mathbb{E}_Q[e^{T}])\ge\mathbb{E}_P{[T]}-log(\mathbb{E}_Q[e^{T-1}]) EP[T]log(EQ[eT])EP[T]log(EQ[eT1])

方法

使用神经网络参数化函数 T T T
I ( X , Z ) ≥ I Θ ( X , Z ) I Θ ( X , Z ) = sup ⁡ θ ∈ Θ E P X Z [ T θ ] − l o g ( E P X P Z [ e T θ ] ) I(X, Z)\ge I_\Theta(X, Z)\\ I_\Theta(X, Z)=\sup\limits_{\theta\in\Theta}\mathbb{E}_{P_{XZ}}{[T_\theta]}-log(\mathbb{E}_{P_{X}P_{Z}}[e^{T_\theta}]) I(X,Z)IΘ(X,Z)IΘ(X,Z)=θΘsupEPXZ[Tθ]log(EPXPZ[eTθ])
训练神经网络尽量增大 I Θ I_\Theta IΘ以逼近 I ( X , Z ) I(X, Z) I(X,Z)

定义MINE:

I ( X , Z ) ^ n = sup ⁡ θ ∈ Θ E P X Z n [ T θ ] − l o g ( E P X n P Z n [ e T θ ] ) \widehat{I(X,Z)}_n=\sup\limits_{\theta\in\Theta}\mathbb{E}_{P^n_{XZ}}{[T_\theta]}-log(\mathbb{E}_{P^n_{X}P^n_{Z}}[e^{T_\theta}]) I(X,Z) n=θΘsupEPXZn[Tθ]log(EPXnPZn[eTθ])
其中 P n P^n Pn表示独立同分布的n个样本的经验分布。

算法中提供了 MINE 实现的详细信息。类似的定义和算法也适用于 f − d i v e r g e n c e f-divergence fdivergence散度公式,称为 M I N E − f MINE-f MINEf。它通常会导致互信息的估计量更宽松。然而,在小批量设置中,MINE的SGD梯度是有偏差的,不过可以调小学习率来调节偏差。

在这里插入图片描述

定义强一致性

如果对任意 ϵ ≥ 0 \epsilon\ge 0 ϵ0,都存在一个正整数 N N N和一个网络,使得:
∀ n ≥ N , ∣ I ( X , Z ) − I ( X , Z ) ^ ∣ ≤ ϵ \forall n\ge N,\quad |I(X,Z)-\widehat{I(X,Z)}|\le \epsilon nN,I(X,Z)I(X,Z) ϵ

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【学习笔记】无人机系统(UAS)的连接、识别和跟踪(七)-广播远程识别码(Broadcast Remote ID)
  • Nova Admin - 简洁干净、免费开源的后台管理系统,基于Vue3 / Vite5 / Typescript / Naive UI 等前端开发技术栈
  • Express 框架基本用法以及相关知识点
  • 一个电子小说阅读系统源码,thinkphp开发的小说系统系统
  • C基础(学习)2024.7.23
  • JDBC操作MySQL数据
  • 通天星CMSV6车载视频监控平台disable接口处存在SQL注入漏洞 [附POC]
  • 如何保护你的网络安全?
  • K3s部署及研究
  • Ubuntu24.04 NFS 服务配置
  • React前端面试每日一试 2.JSX是什么?JSX如何工作?
  • 新版GPT-4omini上线!快!真TM快!
  • mac 如何给默认终端(zsh)装插件,使得更美观易用
  • git-常用基础指令
  • Docker中安装的postgresql14在启用vector扩展的时候,找不到该扩展的控制文件。
  • [LeetCode] Wiggle Sort
  • django开发-定时任务的使用
  • ESLint简单操作
  • ES学习笔记(12)--Symbol
  • JavaScript 基础知识 - 入门篇(一)
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 批量截取pdf文件
  • 前端面试题总结
  • 小程序01:wepy框架整合iview webapp UI
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 延迟脚本的方式
  • 与 ConTeXt MkIV 官方文档的接驳
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​2020 年大前端技术趋势解读
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #if和#ifdef区别
  • #Linux(make工具和makefile文件以及makefile语法)
  • #NOIP 2014#Day.2 T3 解方程
  • #QT(QCharts绘制曲线)
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)React组件、useState、组件样式
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)shell调试方法
  • .Net IOC框架入门之一 Unity
  • .net 连接达梦数据库开发环境部署
  • .net6 webapi log4net完整配置使用流程
  • .NET导入Excel数据
  • .Net环境下的缓存技术介绍
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?