信息论是对深度学习和人工智能做出重要贡献的一个重要领域,但很多人对信息论知之甚少。信息论可以看作是深度学习的基本组成部分:微积分、概率和统计学的复杂组合。一些来自信息论或相关领域的AI概念的例子:
常用的交叉熵损失函数
基于最大信息增益构建决策树
Viterbi算法广泛应用于NLP和语音
编码器-解码器的概念,广泛用于机器翻译的RNNs和各种其他类型的模型
Claude Shannon 信息时代之父.
在20世纪初,科学家和工程师都在努力解决一个问题:“如何量化信息?”有没有一种分析方法或数学方法可以告诉我们有关信息内容?”例如,考虑以下两句话:
布鲁诺是一只狗。
布鲁诺是一只棕色的大狗。
不难看出,第二句话给了我们更多的信息,因为它还告诉我们,布鲁诺除了是一个“狗”之外,还是“大”和“棕色”的。我们如何量化两个句子之间的差异?我们能有一个数学度量来告诉我们第二个句子比第一个句子多多少信息吗?
科学家们正在努力解决这些问题。语义、领域和数据形式只会增加问题的复杂性。随后,数学家兼工程师克劳德·香农提出了“熵”的概念,彻底改变了我们的世界,标志着“数字信息时代”的开始。
香农在1948年引入了“bit”一词,他谦逊地把它归功于同事约翰•图基(John Tukey)。
Shannon提出“数据的语义方面是不相关的”,当涉及到信息内容时,数据的性质和意义并不重要。相反,他用概率分布和“不确定性”来量化信息。Shannon还介绍了术语“bit”,他谦虚地把它归功于他的同事John Tukey。这一革命性的理念不仅奠定了信息论的基础,也为人工智能等领域的发展开辟了新的道路。
下面我们将讨论在深度学习和数据科学中四个流行的、广泛使用的、必须知道的信息理论概念:
也叫作信息熵和香农熵。
熵是实验中随机性或不确定性的量度。
直观解释
熵给出了实验中不确定度的量度。让我们考虑两个实验:
1.抛一枚均匀硬币(P(H)=0.5),观察它的输出,比如H
2.抛一枚有偏差的硬币(P(H)=0.99),观察它的输出,比如H
如果我们比较这两个实验,在实验2比实验1更容易预测结果。因此,我们可以说实验1本质上比实验2更不确定/不可预测。实验中的这种不确定性是用熵来测量的。
因此,如果实验中存在更多的固有不确定性,那么熵值就会更高。实验是可预测性越小熵越大。利用实验的概率分布来计算熵。
一个完全可预测的确定性实验,比如抛一枚P(H)=1的硬币,熵为零。一个完全随机的实验,比如掷骰子,是最不可预测的,具有最大的不确定性,并且在这些实验中具有最高的熵。
抛一枚均匀硬币的实验比抛一枚偏置硬币的实验的熵大。
另一种观察熵的方法是观察随机实验结果时得到的平均信息。实验结果的信息被定义为该结果发生概率的函数。结果越稀有,从观察中获得的信息就越多。
例如,在确定性实验中,我们总是知道结果,所以从观察结果中没有获得新的信息,因此熵是零。
数学解释
对于离散随机变量X,具有可能的结果(状态)x_1,…,x_n,熵的单位为位,定义为:
其中,p (x_i)的概率是 X的第i个输出。
应用
熵用于决策树的自动构造。在构建树的每个步骤中,特征选择都是使用熵准则来完成的。
基于最大熵原理的模型选择,从各竞争模型中选择熵值最大的模型最优。
直观解释
交叉熵用于比较两个概率分布。它告诉我们两个分布有多相似。
数学解释
在同一组结果下定义的两个概率分布p和q之间的交叉熵为:
应用
基于卷积神经网络的分类器通常使用softmax层作为最后一层,使用交叉熵损失函数进行训练。
交叉熵损失函数广泛应用于logistic回归等分类模型。当预测与实际输出偏离时,交叉熵损失函数增大。
在卷积神经网络等深度学习架构中,最终输出的“softmax”层经常使用交叉熵损失函数。
直观解释
互信息量是两个概率分布或随机变量之间相互依赖的度量。它告诉我们关于一个变量的信息被另一个变量携带了多少。
互信息量捕获随机变量之间的依赖关系,比一般的相关系数更一般化,后者只捕获线性关系。
数学解释
两个离散随机变量X和Y的互信息定义为:
其中p(x,y)为x 和y 的联合概率分布,p(x)和p(y)分别为x和y的边缘概率分布。
应用
在贝叶斯网络中,变量之间的关系结构可以用互信息量来确定。
特征选择:不使用相关性,可以使用相互信息量。相关性只捕获线性依赖,而忽略了非线性依赖,但互信息量不会。相互独立性为零保证了随机变量是独立的,而相关性为零则不是。
在贝叶斯网络中,利用互信息量学习随机变量之间的关系结构,定义这些关系的强度。
也叫作相对熵。
KL散度用于比较两个概率分布
直观解释
KL散度是另一种寻找两个概率分布相似性的度量方法。它衡量一个分布与另一个分布的偏离程度。
假设,我们有一些数据,它的真实分布是P。但我们不知道这个P,所以我们选择一个新的分布Q来近似这个数据。由于“Q”只是一个近似值,它将无法像“P”那样接近数据,并且会发生一些信息丢失。这个信息损失是由KL散度给出的。
“P”和“Q”之间的KL散度告诉我们,当我们试图用“Q”近似“P”给出的数据时,我们丢失了多少信息。
数学解释
一个概率分布Q与另一个概率分布P的KL散度定义为:
应用
KL散度常用在无监督机器学习技术中的变分自编码器中。
英文原文:
https://towardsdatascience.com/must-know-information-theory-concepts-in-deep-learning-ai-e54a5da9769d