从热力学与统计物理到信息论编码——浅谈“熵”
这是我很久之前概率论与随机过程的大作业,稍作修改就放上来了。
相比之前的内容有不少删节。删掉了当时要求的,在我看来可能不是那么必要的具体问题推导和仿真。后面有关信息论的具体部分我也放到了信息论笔记里。
大纲目录
-
1.背景:基本背景和定义的介绍、伏笔以及选择主题的原因
-
2.理论与推导
-
2.1 宏观状态下的克劳修斯熵:宏观状态下的克劳修斯熵和热力学第二定律介绍,以及孤立系统熵增的初步证明
-
2.2 微观视角下熵与熵的统计意义:由宏观熵过渡到微观玻尔兹曼熵的推导,并统一了克劳修斯熵与玻尔兹曼熵,最终引申至统计物理中的内容
-
2.3 吉布斯熵与信息论:由统计物理和概率论中的熵发展到信息论中,介绍了信息论中有关信息和熵的基本理论
-
-
3.后记:对本文档的声明,以及在学习和记录过程中的感想
-
参考资料:顾名思义
1. 背景——关于选题“熵”
熵最先来源于物理学家克劳修斯,他受到卡诺对热机效率描述时热温比\(\frac QT\)形式的启发,把热温比这个量叫做entropy,词根同时含有“能量”和“转变”两层意思。后来克劳修斯和玻尔兹曼等科学家将熵在热力学中的内容完善,并在统计物理中让熵大放异彩,熵被引入概率论后香农又将其推广,创建了信息论。可以说,随着熵这一概念的发展和扩充,多门学科得以创立和完善,熵这一看不见摸不着,甚至很难直观量化或感知到的概念颇具传奇色彩。
1.1 克劳修斯熵的简要物理意义
篇幅有限,我们不去细究克劳修斯熵在热力学中的由来和主流应用,只需要知道它的定义是:
不难发现熵是状态量。严格来说,熵是态函数,数值由状态位移确定,也可以说对于可逆过程,经历循环后体系的熵不变
1.2 香农熵在信息论中的意义
信息论的发展是以玻尔兹曼和吉布斯完善后的概率论中的熵的概念为基础的。信息论的创始人香农将热力学系统的熵的概念推广,某种意义来说,信息论来源于热力学统计 (当然这句话只是开个玩笑并不严谨。科学的发展是成簇状进展的,即使一个学科的基础是另一个学科的成果也不能这么说,否则就会出现诸如 “物理学不过是一些数学公式的堆叠”、“化学研究的主体不过是物理学中热力学和电动力学的部分内容” 或者 “深度学习不过是复合函数的嵌套”这样的结论)
在了解信息论的熵之前,我们需要先了解Shannon信息论的基本论点之一是:信息就是用来消除不确定的东西。一个概率为\(p(x)\)的事件\(x\)的自信息量是:
至于为什么是负对数这个形式,就是简单的边际问题(\(p=1则I=0,\,\,p\rightarrow 0则I\rightarrow +\infty\)且连续)和运算法则(对于独立事件,同时发生则自信息量叠加)可以推导出的
香农熵直接由下面的式子定义
熵相当于离散随机变量自信息的期望值(按概率加权的自信息),单位直接沿用自信息。所以熵也可以表示为:
熵是随机变量平均不确定度的度量,也代表了消除随机变量不确定度所需获得的信息量。消除的不确定性=获得的信息量
熵的数值在本质上的解释是最短平均编码长度(信息论的笔记中有详细说明)
1.3 伏笔
如果读者不是很了解热力学或信息论并且见微知著,可能已经一头问号了:
- 为什么只说了可逆过程的熵不变,非可逆过程的熵增是怎么得到的呢
- 物理学中的熵的量纲单位是 焦耳/开尔文 ,也就是热容的单位,可是信息论的熵是无量纲量,这还能比较吗?
- 信息论中的熵命名是从热力学演化来的,和编码长度又有什么关系?
- 既然有从物理到信息论的演化过程,那是不是物理中的熵也有类似信息论的对数表现形式呢?
- 信息论中的熵与热力学中的熵还有什么共通之处吗?为什么两者在定义大相径庭的情况下还能有如此大的关联?
别着急,这些都会解释的。
1.4 一点题外话:我为什么选择“熵”这个主题
先说说我。我和熵有些渊源,我本科之前学过普物和一部分四大力学,后来因为各种缘故本科学了计算机,对机器学习也有些兴趣,所以就在两个层面都接触到了熵这个概念。
再说回熵。我能选择熵为主题,也是因为熵本身具有以下特性:
- 熵是少有的横跨物理学,信息论和概率论的概念,非常适合顺着思路写下去
- 熵在物理学中的举足轻重,甚至有人说,“熵”这个概念的重要性不亚于“能量”,甚至超过能量。甚至赵凯华先生也在他的书中赞同说“这并不夸大”。
- 普物学习阶段几乎所有物理原则或定律都是由对称性推导守恒量,但熵不是。至少我觉得这和我以往思考物理的角度都有很大区别,我第一次了解热力学第二定律就产生了“给我一万年时间我也绝对想不出来这么个定律”的想法。
- 熵在信息论中的意义不必多说,熵在表征识别这个大方向上也很重要,我们衡量机器学习提取的表征的好坏常常需要用到信息熵。
2. 理论推导
2.1 宏观状态下的克劳修斯熵
2.1.1 克劳修斯定理
如上图,我们取工作于任意两个状态A,C(温度分别为\(T_1,T_2\))可逆卡诺热机(其实任意两个状态之间都可以看作无数微卡诺循环进行)。我们规定数学上\(đQ>0\)代表系统吸收热量,反之亦然,那么有:
由卡诺定理,任何热机的效率,总是小于等于在两个相同温度之间工作的理想卡诺热机,即
带入热机的效率计算公式,因此有
对热机稍有了解就可以知道(篇幅限制本文无法展开阐述),可逆热机的必要充分条件是:
或者写为:
将(2)式带入(1)式,可得
将大量(3)式的微卡诺循环迭加在一起时,有
(4)式就是广为人知的克劳修斯定理
2.1.2 孤立系统的熵为什么只增不减?
克劳修斯定理就是热力学第二定律的数学解释,它是怎么得到熵增的结论的呢?
结合(1),(4)式,可以推出
按照熵的定义,有
因此我们可得
写为微分形式,即
其中,等号只适用于可逆变化的情况
那么,对于孤立系统,与外界没有热接触,取\(đQ=0\),我们得到
就是俗称的熵增原理,我随后会从统计物理学中重新分析
2.1.3 总结:合并了热力学第一、第二定律的微分式
热力学的两个定律的流行表述是:
- 第一定律:宇宙的能量是常量(就是能量守恒的一种表现形式)
- 第二定律:宇宙的熵趋向最大值
写成基本算式,就是:
和
联立得
为了适应更普遍的情况,我们用广义力的集合\(X_i\),把系统做的功写作
由此我们可以得到在统计物理中更有意义的式子
即在恒定体积下,熵S对内能U的偏导确定了热力学温度T
2.2 微观视角下的熵与熵的统计意义
2.2.1 玻尔兹曼熵与概率
2.2.1.1 广延量
一些物理量可以被分为两类,一类是强度量,一类是广延量。强度量不因物质的量的变化而变化,广延量却与物质的量成简单相加关系。还有一些物理量既不是强度量也不是广延量 。毫无疑问,熵是广延量。
2.2.1.2 概率视角
玻尔兹曼用系统状态随机出现的概率描述系统的无序度,并确立了这个概率和系统的熵的关系。
假定有两个独立且不同的平衡态系统,\(p_1,p_2\)分别是这两个系统独自出现的概率,这两个状态同时出现的概率是\(p=p_1*p_2\),我们用\(S_1,S_2\)代表系统1和系统2的熵,因为熵是广延量,故总熵为
是不是觉得和第一章1.2介绍的自信息以及信息熵的推导非常像?因为信息论的熵就是源于这里
因此如果熵和概率有关,那么两者之间的关系就必须是一个对数关系,即
其中C是一个常数
2.2.1.3 玻尔兹曼熵
但是严格来说,玻尔兹曼熵并没有这么简单。微观态数目\(\Omega\)是最重要的物理量之一,我们希望通过微观态数目\(\Omega\)从微观上引入熵的概念。简单来说,顾名思义,微观态数目就是一个体系微观下可能的状态的数目,就类似于“从黑盒中有可能摸出五个种类的笔”这样的描述,那么对两个系统A和B,以及他们形成的大系统\(A+B\),他们之间的微观态数目的关系是什么呢?这就类似于“黑盒中有\(\Omega_A\)种笔,有\(\Omega_B\)种本,你随手摸一个笔一个本,有几种可能的情况”,是一个乘法原理(实际理论已经经过我简化和片面化了,为了通俗),所以有
剩下的推导和上面2.2.1.2推导一样,不难得到
其中\(k\)是常数,并且计算验证是玻尔兹曼常数(随后会具体证明),这里定义的熵叫玻尔兹曼熵,也叫微观熵
2.2.2 克劳修斯熵(宏观熵)与玻尔兹曼熵(微观熵)的统一
在2.1中我们了解了宏观状态下的克劳修斯熵,也在刚才推出了玻尔兹曼熵的形式,那么他们有什么具体联系呢?
为区别两种熵,我们管克劳修斯熵叫\(S_C\),管玻尔兹曼熵叫\(S_B\)
2.2.2.1 玻尔兹曼系统
假设对一个系统,其中的粒子可以分辨,它一共有\(N\)个粒子,有\(i\)个能级,每个能级上都可以放置无数个粒子,第\(i\)能级上的粒子数为\(N_i\),能量态为\(\epsilon_i\),简并度为\(g_i\) (简并度的通俗化解释:比如对于绕原子核公转的电子,每个能级的电子最多有两种自旋,则简并度为2)
那么毫无疑问,玻尔兹曼系统的微观态数目为:
2.2.2.2 微观熵与宏观熵关系的推导与表述
对于简单情况下的玻尔兹曼系统,我们令\(g_i=1\),则有\(\Omega=\frac{N!}{\prod_iN_i!}\),则
由粒子数守恒得知,\(dN=0,d\ln N!\cong d[N\ln N-N]=\ln NdN+N\frac{dN}N-dN=0\),于是
对于能量组态{\(\epsilon_i\)},由波尔兹曼分布\(N_i=g_ie^{-\alpha-\beta\epsilon_i}\)
玻尔兹曼分布应该大伙都有所耳闻就不多介绍了,其中\(e^{-\alpha}=N_0\),\(\beta=\frac1{k_BT}\),\(\epsilon_i\)可以粗浅地理解为能量E,不管\(g_i\)的话,玻尔兹曼分布可以写成我们常见的形式:
如果对深度学习的玻尔兹曼机有了解的话,应该知道这玩意和能量有关,那个系数就是玻尔兹曼分布后面的这个系数\(e^{-\frac E{k_BT}}\)
回到我们对玻尔兹曼分布的严谨定义,在\(g_i=1\)时,有
带回上式,所以有
由能量守恒,外界做功等于内部状态能量增加
由热力学第一定律可知
比较上述两式,我们有
将该结果带入\(\ln\Omega\)的代表式,则
将\(\beta=\frac1{k_BT}\)代入,则得
这里已经看到了我们想要的形式,等式左边是玻尔兹曼熵\(S_B\)的形式,右边是克劳修斯熵\(S_C\)的形式
显然\(k_B\)和我们在2.2.1.3推出的(7)式的\(k\)在量纲和形式上都符合,因此\(k_Bd\ln\Omega=dS_B\),于是有
宏观上,\({\frac{đQ}T|}_{可逆}=dS_C\),所以
因此,只要选取同样的参考点,热力学系统的玻尔兹曼熵与克劳修斯熵完全相同
2.2.3 熵的统计意义——定性与半定量分析
系统如何趋向平衡?统计语言中,热的流动是让系统的态密度增加。
但是因为涉及的前置知识过多过于复杂(热流,量子,和统计物理的主体内容),且笔者水平有限(主要是当时一些内容是速成的,忘了好多,即使重新看书也怕写出什么错误),我们在此只进行定性和半定量的不算特别严谨的分析。
由之前的结论,我们有
因为微观状态数目\(\Omega\)小意味着无序程度降低,所以熵是宏观的热力学系统对应的无序程度的度量,也就是宏观态出现概率大小的标志。熵高意味着系统包含的微观态数目多,从而宏观态出现的概率大,也就是混乱、分散,无序程度高(这里终于将概率和状态数目统一了起来,也就是(6)式和(7)式)
再把目光放到(4)式——克劳修斯定理
对于不可逆过程,式子不能取等。也就是说非理想热机(或者就是自然界的能自发发生的过程)会不可避免地将一些能量从高温热库直接泄露到低温热库而没有对外做功。而根据热力学第二定律,能量又不能自发从低温热库跑到高温热库而不引起其他影响,因此泄露的能量就“贬值”了,这些能量被称为无用能。
由此知,熵增意味着又用能减少,被贬值的无用能增多。
具体的实例可以参考诸如第二类永动机的模型,比如:能不能让全球的海水温度自发降低5摄氏度,这样产生的能量够全人类用很久。或者摩擦生热,能否让散逸的热量不产生其他影响地重新成为能带动机械的能量?答案是当然不能。
2.2.4 热力学第二定律的诘难与佯谬
2.2.4.1 洛施密特的诘难
假如“上帝”某一时刻让时间反演,也就是让所有分子同时速度大小不变方向反向,那么宏观历程也会被逆转。换句话说,分子运动是可逆的,由分子的可逆得到宏观的可逆,这样原来熵增的体系会变得熵逐渐下降。
洛施密特的想法设想是可以实现的,已经被计算机模拟证实,但模拟实验随即在初始的反演系统中加入了\(10^{-8}\)随机误差,多次实验都发现系统在略微熵减后持续熵增到最大熵状态(数据来源:J. Orban, A. Bellemans, Phys. Lett. , 24A(1967) ,620. )。可以想象随着分子数目的增多,任何微不足道的误差都能将精准的反演结果荡平。
从上述模拟中我们发现熵增定律 (其实是玻尔兹曼的H定律但是太复杂了我们就认为叫熵增定律吧) 并非绝对不能违反。玻尔兹曼随后调整他的观点,熵增是一个统计现象。熵不是严格单调增的,它增长的概率远大于下降的概率。即使在热平衡,围绕熵的极大值也会有一定的涨落,但是涨落幅度一般是很小的。
2.2.4.2 策尔梅洛的诘难
庞加莱曾证明过一条定理,被叫做始态复现定理:孤立有限的保守动力学系统在有限时间内回复到任意接近初始组态的组态。策尔梅洛用这一定理对热力学第二定律进行诘难,认为热力学不兼容动力学。
玻尔兹曼还是用涨落的概念调和了两者:越大的涨落幅度,对应的概率越低。根据他的估计,\(10^{18}\)个粒子的系统,庞加莱回归时间(用所有通常的单位)都要用\(10^{18}\)位数字来表示,也就是\(10^{10^{18}}\)的数量级。而一mol都有多于\(6*10^{23}\)个例子,宇宙中的粒子估计有\(3.28*10^{80}\)个,宇宙的年龄只有\(10^{18}\)量级的秒。因此该理论对宏观系统没有任何现实意义
2.2.4.3 麦克斯韦妖
这是大家耳熟能详的“物理学四大神兽”之一,不在此详细介绍。大概就是一个智能小精灵通过推拉一扇完全光滑的“小窗”让某种分子实现单向输送,从而熵减。蔡子星老师给我们讲课时,讲过对于麦克斯韦妖,有三个角度:
首先,即使没有这个智能的精灵,粒子也有一定概率单向输送,算是一种涨落的结果,但是正如策尔梅洛诘难中玻尔兹曼的估算,这样达到可被观测量级的输送概率极小,甚至远小于你10m/s撞墙然后身体发生量子隧穿然后穿墙而过的概率(据估算,大约是\(\frac1{10^{10^{10}}}\))
其次,麦克斯韦妖需要拥有体系内所有粒子的信息,起码是每时每刻的类别、位置和速度信息。即使具有这样的信息,你就能知道下一个时刻哪个粒子会碰到“小窗”上吗?(这里涉及到机械决定论,建议开门左转找另一个物理学神兽“拉普拉斯妖”:拥有宇宙中所有粒子某一时刻的全部信息能否正向或逆向得到其他时刻宇宙的所有信息?以及以玻尔为代表的哥本哈根学派和爱因斯坦的大战)
最后再引申,麦克斯韦妖要如何拥有体系内所有粒子的信息呢?确定这些信息是否需要能量,如果需要,这个体系就不是孤立体系;从另一种角度来说,非要认为看作孤立体系,这些信息是既成事实的话,那就说明这些信息也是熵,是负熵。麦克斯韦妖靠信息这种负熵来干预系统,我们的分析又引到了信息论的熵当中
事情更加有趣了起来。
(蔡老师只讲了三个角度,后面的例子和分析是我添油加醋写的,即使出错也和蔡老师无关,要骂就来骂我就好了 ,,Ծ‸Ծ,, )
2.3 吉布斯熵与信息
2.3.1 香农定理
1948年,香农发现了香农定理,此后才能在信息论的基础熵,十分普遍地讲述统计方法。概率论中,香农定力是一个最基础的定理,它能描述为:
如果一个系统的n个事件具有彼此独立的概率\(p_i\,\,\,\,\,\,\,\,(i=1,2,\cdots,n)\),那么存在一个独特的函数
对于一组给定的约束,当函数\(f\)取最大值时,\(p_i\,\,\,\,\,\,\,\,(i=1,2,\cdots,n)\)是系统的最概然分布
2.3.2 吉布斯熵
按照香农定理,在没有任何约束条件时,最有可能的概率分布是所有事件的概率都一样
\(-\sum_i^np_i\ln p_i\)取最大值的情况是所有的\(p_i\)彼此相等的情况(这可以由\(-x\ln x\)是严格凹函数证明(国内的凹函数的定义很多是和国外相反的,这里的凹函数是二阶导为负))
这与熵增定理惊人的相似,直接导致了吉布斯熵的定义:
因此这个函数的最大值与系统的最概然分布对应,这里的熵可以用于平衡态或非平衡态对应
信息论中,信息的定义是
是个负值(第一章的介绍中是正的是工程上方便研究),所以信息也叫做负熵。
2.3.3 香农熵,相对熵和互信息
这些内容基本就是出于应用和工程需求被定义出来的,出于文章结构的完整性考虑列举于下
2.3.3.1 联合熵
一对离散随机变量\((X,Y)\)服从联合分布\(p(x,y)\),其联合熵\(H(X,Y)\)定义为
联合熵的定义是单个变量的熵的定义的简单推广
2.3.3.2 条件熵
条件熵用来度量在一个一直随机变量的强况下,另一个随机变量还存在的不确定度
(数学上就是把自信息量的考量换成条件概率了仅此而已)
\(H(X|Y)\leq H(X)\),当且仅当X和Y相互独立时取等
2.3.3.3 链式法则
推论:
注意条件概率的"|"竖棍把事件分为两部分,这个推论也很好用概率论来解释。但是用文氏图和容斥原理解释起来是真的很方便,我对一些这相关的分析不够敏感就是因为venn图还没有出神入化
比如很容易就能从文氏图中看出来\(H(Y|X)\neq H(X|Y)\)
注意文氏图中两独立变量是没有交集的,这也很好解释
2.3.3.4 互信息
互信息是一个随机变量包含另一个随机变量信息量的度量
两个随机变量\(X\)和\(Y\)的联合概率密度函数为\(p(x,y)\),边缘概率密度函数为\(p(x)和p(y)\)
注意是分号,因为表示的不是\(XY\)同时发生,\(XY\)同时发生的是联合熵
(其实有个小的互信息量的,针对事件而非分布\(I(x_i;y_i)=\log\frac{p(x_i|y_i)}{p(x_i)}=\log\frac{先验概率}{后验概率}\))
不难发现互信息的定义就是建立在容斥的基础上的
互信息就是信息增益!妈妈再也不用担心我的决策树学习!
2.3.3.5 相对熵(KL散度)
是老熟人了,也是这篇文档理论分析的终点
相对熵是两个随机分布之间距离的度量,也称为Kullback-Leibler距离
注意和之前不同的是,之前研究的是两个变量,而KL散度研究的是一个变量上的两个分布
约定:\(0\log\frac00=0;\,\,\,\,0\log\frac0q=0;\,\,\,\,\,p\log\frac p0=\infty\)
- 相对熵总是非负的 (非负性由\(-\log x\)是严格凸函数证明),并且当且仅当\(p=q\)时相对熵为零(国内的凸函数的定义很多是和国外相反的,这里的凸函数是二阶导为正)
- 如果存在一个\(x\)使得\(p(x)>0,q(x)=0\),则有\(D(p||q)=\infty\)
- 相对熵不是真正意义上的距离,它不对称也不满足三角不等式,看作距离只是方便理解
- 相对熵\(D(p||q)\)关于\((p,q)\)是凸的
- 有时会用对称性的相对熵,就是\(D(p||q)+D(q||p)\)
后面还有信源和信道编码,可以加深对信息的理解,但是是纯信息论的东西了,就不细讲了
3. 后记——反思,体会与声明
这篇文章的写作动机并不只是应付大作业,也算是我的学习笔记和复盘手稿(毕竟我大学也记过信息论与编码的笔记,但是热统到信息论的发展我没有好好记过,因为我高中写手稿的时候也没想到我将来会学计算机),所以维持了我一贯的喜欢在手稿里碎碎念的习惯,因为自己看着舒服,当然也采用了一些通俗化解释方便别人观看和理解
尽管写了这么多,这篇文章还有更多想写的内容没有写。这篇文章想讲好“熵”这个贯穿多个领域的概念,但是事实是,由于篇幅限制,很多内容没法铺垫或介绍,例如:
- 理想气体和宏观物质角度下熵的计算,虽然很重要但不是必须介绍的内容
- 卡诺定理和热机没有介绍,因为篇幅限制
- 具体介绍熵增原理的热力学第二定律的推导和多种表述没有专门分辨,因为涉及到热机了
- 宏观和微观的熵没有完全严谨的结合起来,因为没能有机会介绍能量均分定理
- 热力学与统计物理学的基石——麦克斯韦速度分布的推导由来没有详细介绍,因为太复杂了篇幅有限
- 没有详细介绍量子统计分布、量子气体(玻色,费米)和玻尔兹曼的H定理的来龙去脉,因为太复杂了。因此吉布斯熵和热力学佯谬会少很重要也很精彩的部分,但笔者也无可奈何。
- 没有介绍麦克斯韦关系和热力学中的雅可比行列式,还是因为太复杂了
- 态密度以及最可几状态等概念没有介绍,直接引入了玻尔兹曼系统,稍有唐突
- 信息论与编码的后面还有随机过程的熵率等内容,但是我学艺不精,很有可能驾驭不了,没法讲明白这样的内容,再者篇幅受限故而放弃
熵是热力学中很重要的一块内容,想要讲明白它并不容易,因为需要许多前置知识。笔者只能尽量选择最有用的前置知识作为主干并尽可能简短介绍,甚至有些只能作为已知信息直接给出
本人水平也实在有限,如果文档中出现阐述不清或者谬误,敬请指正
关于原创性,首先这些理论肯定不可能是我原创的,我也在此先向提出这些理论的伟大科学家们致以敬意(譬如,玻尔兹曼在完成他的工作后却因为热力学发展阶段较落后,当时能量均分定理都不被广泛认可,对比热的探讨和光谱分析也并不明朗,所以他的工作也不被关注,只有爱因斯坦等少数几位物理学家认可他,最终玻尔兹曼郁郁自杀,这无疑是巨大的悲剧和损失。他自杀的同一年,爱因斯坦解决了比热的问题)。热力学和信息论的逻辑框架是我列出的,式子也算是我自己推导的,当然也查一些资料以丰满内容。到统计物理的时候,因为我本来就菜,再加上有些内容确实记不住了,所以才从下面那一堆参考资料找灵感并列出了大概逻辑框架然后推导。
参考资料
Waldram J R.The Theory of Thermodynamics[M].Cambridge: Cambridge University Press, 1985
Malcolm Longair. Theoretical Concepts in Physics[M],安徽合肥:中国科学技术大学出版社,2017
Kittel C. Thermal Physics[M].New York: John Wiley and Sons, 1969
刘玉鑫.热学[M],北京:北京大学出版社,2016
赵凯华,罗蔚茵.热学[M],北京:高等教育出版社,2005
舒幼生.物理学难题集萃[M]北京:北京大学出版社,2016
郑永令.国际物理奥赛的培训与选拔[M],上海:复旦大学出版社,2017
刘斌.信息论与编码课程(中科大) 信息论基础课程主页 (ustc.edu.cn)
一个我觉得很不错的知乎回答:如何通俗解释交叉熵与相对熵