Information Bottleneck 信息瓶颈

信息瓶颈(Information Bottleneck,IB),是一个比较朴素的思想:当面对一个任务,应用试图用最少的信息来完成。这和 “最小熵系列”类似,因为信息对应着学习成本,我们用最少的信息来完成一个任务,就意味着用最低的成本来完成这个任务,这意味着得到泛化性能更好的模型。

把所有那些对工作有帮忙的判断性信息全提取进去,同时又过滤掉冗余性的信息。

信息瓶颈的原理

为什么更低的成本/更少的信息就能得到更好的泛化能力?

比如在公司中,如果要为每个客户都制定一个解决方案,派专人去跟进,那么成本是很大的;如果能找到一套普适的方案来,以后只需要在这个方案基础上进行微调,那么成本就会低很多。

“普适的方案” 是因为我们找到了客户需求的共性和规律,所以很显然,一个成本最低的方案意味着我们能找到一些普适的规律和特性,这就意味这泛化性能

在深度学习中,我么能利用 ”变分信息瓶颈“(VIB)Variational Information Bottleneck来体现这一点。

原理

查看reference

结果观察与实现

相比原始的监督学习任务,变分信息瓶颈的改动是:

1. 引入了均值和方差的概念,加入了重参数操作

2. 加入了KL散度为额外的损失函数

跟VAE如出一辙

Reference:

从变分编码、信息瓶颈到正态分布:论遗忘的重要性 - 知乎

--------------------------------------------------------

可以理解为一个损失函数
信息瓶颈理论把神经网络理解为一个编码器和一个解码器,编码器将输入x编码成Z,解码器将Z解码成输出y
而信息瓶颈理论的目标则是在这里插入图片描述

 

R_{IB}(\theta)就是信息瓶颈,θ是网络的参数,也是要优化的东西
I ( Z , Y ; θ ) 就是输出Y和中间feature Z的互信息
I ( Z , X ; θ ) 是输入X和中间feature Z的互信息
互信息参考互信息的定义
在决策树的C4.5算法中又被叫做信息增益
信息瓶颈理论的本质就是:最大化Z和Y的互信息,尽量减少X和Z的互信息

互信息也可以简单理解成互相包含的信息。
按照这种理解,减少X和Z的互信息,同时增大Z和Y的互信息,实际上是希望Z中尽量减少X的与Y不相关的信息,保留X的和Y最相关的那部分信息。

通过公式推导,可以得到 R_{IB}(\theta)的下界L,即R_{IB}(\theta)》L,最大化IB相当于最大化L,取L的相反数为J_{IB} ,即最大化IB相当于最小化 J_{IB},因此,可以把J_{IB}作为模型的损失函数:

 Information Bottleneck 信息瓶颈_第1张图片

 


上式中,q(y_n|z)即为模型的decoder,  p(z|x_n)即为模型的encoder, ||是和的意思,即求这两者的KL散度

总结:
IB理论把深度学习阶段分为两部分,前一段时间尽量增加中间feature和Y的互信息,后一段时间尽量压缩X和中间feature的互信息,使得中间feature包含X最精华的信息。
 

python error :Information Bottleneck information bottleneck theory

Information Bottleneck信息瓶颈理论_lt1103725556的博客-CSDN博客_信息瓶颈代码

你可能感兴趣的:(机器学习,算法,人工智能)