作者:Lilian Weng
翻译:老齐
与本文相关书籍推荐:《数据准备和特征工程》
最近,我聆听了Naftali Tishby教授的演讲“深度学习中的信息论”,感觉很有意思。他在演讲中说明了如何将信息论用于研究深度神经网络的增长和转换,他利用IB(Information Bottleneck)方法,为深度神经网络(DNN)开创了一个新的领域,由于参数的数量成指数增长,导致传统的学习理论在该领域均行不通。另外的一种敏锐观察显示,在DNN训练中包含了两个迥异的阶段:首先,训练网络充分表示输入数据,最小化泛化误差;然后,通过压缩输入的表示形式,它学会了忘记不相关的细节。
基本概念
马尔科夫链
马尔科夫过程是一个“无记忆”(也称为“马尔科夫性质”)的随机过程,马尔科夫链是一类包含多个离散状态的马尔科夫过程,也就是说,过程的未来状态的条件概率仅由当前状态决定,而不取决于过去状态。
KL散度
KL散度用于度量一个概率分布
p
偏离另一个期望的概率分布
q
的程度,它是不对称的。
当
==
时,
达到最小值零。
互信息
互信息度量两个变量之间的相互依赖程度,它把一个随机变量通过另一个随机变量所获得的“信息量”进行量化,互信息是对称的。
数据处理不等式(DPI)
对于任意的马尔科夫链:
,我们有
。
深度神经网络可以看作是一个马尔科夫链,因此当我们沿着DNN层向下移动时,层与输入之间的互信息只会减少。
再参数化不变性
对于两个可逆函数
,
,互信息仍然是:
。
例如,如果我们在DNN的一个层中调整权重,它不会影响这个层和另一个层之间的互信息。
马尔科夫链的深度神经网络
训练数据来自
和
联合分布的抽样观测,输入变量
和隐藏层的权重都是高维随机变量。真实值
和预测值
是分类设置中较小维度的随机变量。
图1:一个深度神经网络的结构,它包含标签
、输入层
、隐藏层
和预测值
。
如果我们将DNN的隐藏层标记为
,如图1所示,我们可以将每一层看作是一个马尔科夫链的状态:
。根据DPI,我们有:
DNN的设计目的是学习如何描述
,以便预测
;最终,将
压缩成只包含与
相关的信息。Tishby将这一过程描述为“相关信息的逐次细化”。
信息平面定理
DNN依次实现了
的内部表示,一组隐藏层
。根据信息平面定理,通过它的编码器和解码器信息来描述每一层,编码器即对输入数据
编码,而解码器则将当前层中的信息转换为目标输出
。
准确地说,在一个信息平面图中:
-
X轴:样本
复杂度由编码器互信息
决定,样本复杂度是指你需要多少个样本来达到一定的准确性和泛化。
-
Y轴:精度(泛化误差),由解码器互信息
决定。