Prof Naftali Tishby提出用information bottleneck 的思路理解神经网络。主要文章有以下三篇:
《The Information Bottleneck Method》:信息瓶颈理论的提出
《Deep Learning and the Information Bottleneck Principle》:发现深度学习和信息瓶颈理论的存在关联
《Opening the Black Box of Deep Neural Networks via Information》根据信息瓶颈理论进一步探索神经网络是怎么产生作用的。
实验结果图
上面这个图是论文中第一个实验结果,展示的是信息平面(Information plane)在训练过程中的变化。左图训练了5%的样本,右图训练了95%的样本。
信息平面 Information plane
和X-Y平面一样,也是一个平面,不过information plane的横纵坐标是互信息的大小。横轴是I(X;T),也就是输入和隐层T的互信息。 纵轴是I(Y;T),也就是输出(神经网的决策)和隐层的互信息。信息平面的位置体现了不同的隐层保留了多少关于X和Y的信息,如下图所示。
互信息
熵
其中,H(Y)是Y的熵,定义为
H(Y)=−∫Y P(Y)logP(Y)
Y的熵指的是衡量的是Y的不确定度,Y分布得越离散,H(Y)的值越高
互信息
I(X,Y)=H(Y)−H(Y|X)
可以看出,I(X,Y)可以解释为由X引入而使Y的不确定度减小的量,这个减小的量为H(Y|X)
所以,如果X,Y关系越密切,I(X,Y)就越大
I(X,Y)最大的取值是H(Y)H(Y),此时H(Y|X)为0,意义为X和Y完全相关,在X确定的情况下Y是个定值,没有出现其他不确定情况的概率,所以为H(Y|X)为0
I(X,Y)取0时,代表X与Y独立,此时H(Y)=H(Y|X),意义为X的出现不影响Y。
性质
1)I(X;Y)⩾0 ,I(X;Y)⩾0
2)H(X)−H(X|Y)=I(X;Y)=I(Y;X)=H(Y)−H(Y|X)H(X)−H(X|Y)=I(X;Y)=I(Y;X)=H(Y)−H(Y|X)
3)当X,Y独立时,I(X;Y)=0,I(X;Y)=0
4)当X,Y知道一个就能推断另一个时,I(X;Y)=H(X)=H(Y)
KL散度
实验图解释
实验结果里那条粗的竖着的渐变色的曲线,是随着迭代进行,某一隐层T包含的关于X,Y的信息量的在信息平面上的轨迹。深紫色是开始迭代,颜色越黄表示迭代越多次。
实验结果里细线连的是一个神经网络中不同的隐层,右上角是第一个隐层,往左下依次是第二到五个隐层、输出层。第一个隐层自始至终在信息平面右上角,训练过程中,它的位置没怎么变,一直包含了很多关于X,Y的信息。而后面的隐层,包含的X,Y的信息逐渐减少,但是随着训练,在信息平面的位置发生了较大的改变。 这个改变分为两个阶段,按照作者说的,一个是“学习阶段”,第二个阶段是“压缩阶段”。一开始,隐层会学到关于输入输出的信息,所以在信息平面上朝着右上方移动。第二个阶段,隐层开始忘记关于输入的信息,包含的关于X的信息开始下降,朝左移动。
ref
https://zhuanlan.zhihu.com/p/29723280
https://www.zhihu.com/question/41252833
https://blog.csdn.net/qq_20936739/article/details/82453558?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control
https://blog.csdn.net/qq_20936739/article/details/82492804?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-3.control
https://blog.csdn.net/weixin_42711949/article/details/107787363?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-3&spm=1001.2101.3001.4242
https://freemind.pluskid.org/machine-learning/data-processing-inequality/
https://blog.csdn.net/weixin_34216036/article/details/90359168?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control