在這個資訊洪流洶湧的時代,熵與資訊不僅是科學領域的基石,更是我們理解世界的關鍵。本期給大家上一道“硬菜”,科學聲音王木頭老師的重磅專欄——《熵與資訊》。預計每週一更,共 6~7 期。
理解「熵」的本質可以幫助我們理解資訊的無序狀態,而如何準確評估資訊的可靠性和相關性,對於做出明智決策至關重要。
我們開始吧~
“熵”,這個詞大家應該都聽過。熱力學第二定律描述的就是一個“熵增”的過程。現在很多人想去說一件事開始變得混亂,就愛用“熵增”去形容。
但是你真的理解熵嗎?
在大多數的科普書裡都會說,熵表示的是一個系統的混亂程度。然後舉例說明,一個整潔有序的房間是比雜亂的房間有更低的熵,一個封閉系統總是會不可逆的熵增,就像是一個房間如果不收拾,重視會越來越亂。
這麼理解不能說錯,但是一定會讓人產生這樣一個疑問,房間整潔有序的標準是什麼?我認為把衣服疊起來放最有序,那是不是把衣服掛起來就變得混亂了呢?那如果有另一個人認為把衣服掛起來才是有序的,疊起來放相對掛起來才更混亂。如果是這樣的話,那麼熵就應該是一個主觀的概念了。
都說我們的宇宙一直處於熵增狀態,這會不會是以宇宙大爆炸為標準,認定那個時候是最有序的狀態,宇宙後來的演化才會是越來越混亂。如果改變一下標準呢?我們把未來的宇宙情況定義為是最有序的情況呢?會不會宇宙大爆炸的時候才是相對更混亂的情況呢?宇宙的發展其實是在熵減?
我想絕大多數的人在第一次聽到熵這個概念的時候都會有這樣疑問。不只是別人,就是我自己也是如此。
會有這樣的疑問,最根本的原因還是完全在用舉例類比的方式去理解熵本意。但這樣是遠遠不夠的,熵的含義要深刻的多。在現在,熵所涉及的領域已經遠遠超過了熱力學本身,通訊、密碼學就不用說了,複雜科學、統計學、金融,以及人工智慧背後都有熵的影子。
尤其是人工智慧,熵更是其中的核心概念。所有人工智慧從資料中學習規律,本質上就是一個求解最大熵的過程;想訓練 AI 模型,就需要當前模型引數和真實資料的差距,而這個差距的標準就是它們之間的交叉熵。
熵這個概念是一定要和資訊放在一起理解,才能明白其本質的含義。即便是熵這個詞最開始是來自於熱力學的,但只是用物理學的視角,也很難抓住熵這個概念的深刻含義。
所以,要想對熵的本質有根基一步的理解,就需要把對什麼是熵的描述升升級。把“熵是對系統混亂程度的描述”,變成“熵是對一個系統裡資訊總量的一種度量方式”。
我們都知道,資訊理論的建立者是克勞德·夏農。任何一名新學科的開創都是非常困難的,而夏農就是憑藉著一己之力開闢出了一門前無古人的學科。
而且,資訊理論在夏農手上可以說是開局即巔峰,僅憑 1948 年發表的一篇叫做《通訊的數學理論》的論文,不只是開創了資訊理論,還讓資訊理論的理論體系及其紮實,後人只能擴充套件無法超越。
現在在大學課堂裡學到的關於資訊理論的知識,像是編碼、通道容量、通訊系統最佳化等到,其實都是這篇論文裡的內容。
夏農之所以會做出這麼多前人想做沒有做到的事,就是因為他作對了一件事,他找到了一種非常合理的方法對資訊進行定量描述。
這其實就很像是牛頓。牛頓對力學的貢獻可以說是前人的許多倍,但並不是說牛頓就比伽利略、惠更斯要聰明許多倍,而是牛頓比前人多作對了一件事,他將力定義為了 F=ma 然後很多複雜的問題就變得迎刃而解了。這層窗戶紙捅破之後,後續的問題都變得豁然考慮。
夏農也是,他捅破的窗戶紙就是定義了資訊量,可以用它統一衡量一個訊息裡所含資訊大小。
定義出資訊量,夏農就基於這個概念做了很多研究,其中有一個副產品。最開始,夏農對於這個副產品是什麼也沒有什麼概念,只是用一個沒有具體含義的 H 符號來代替。本意是用一個數學指標去衡量一個系統裡所有可能性的資訊量。
結果,很快馮·諾伊曼看的了這篇論文,而且還敏銳地就注意到了這個 H。因為只需要把 H 的公式帶入到物理系統裡,這 H 最後計算出了的就是熱力學中的“熵”。
馮·諾伊曼寫信把自己的告訴了夏農。夏農也接受了馮·諾伊曼的建議。於是在後來的論文和著作中,他正式採用了“資訊熵”這個術語。於是“熵”這個詞給資訊理論與熱力學、乃至整個物理學之間都建立起來一種深層次的聯絡。而這個聯絡,也為後來的研究帶來了許許多多的靈感。
所以,想要理解熵,尤其是用資訊理論的角度去理解上,我們就需要先理解夏農口中的資訊量到底是什麼?
其實,對於資訊別說定量了,就是定性的去描述都很困難。資訊這個概念非常的特別,它不像物理物件一樣,是某個可以觀察到的實體,實體只能算是資訊的載體。
不同的實體完全可以承載同樣的資訊。這就導致,我們很難說清楚資訊的本質是什麼東西。一段語音可以是資訊,一個圖案可以是資訊,一段 DNA 可以是資訊,一個光子可以是資訊,一個符號也可以是資訊。它們的共同之處是什麼呢?
夏農的厲害之處就在於,他把這些不同載體上的資訊統一了起來。夏農認為資訊不論載體是什麼,它都是一種可以減少不確定的東西。
比如高考剛考完,你還不知道成績,這個時候高考分數就是不確定的。你可能考個高分,也可能考個低分。但是一旦你查了高考分,這個不確定就消除了。
還有看世界盃,8 強已經產生了,到底誰會得冠軍呢?不知道。但是隻要決賽一踢完,你一看新聞,這個不確定性就消失了。
還有當電腦裡某個位元組沒有儲存資料的時候,它裡面的二進位制情況是不確定的。直到接收到了一個儲存的資訊,這個位元組裡的二進位制情況被確定了下來。
所以,將資訊定性地理解為可以降低系統的不確定性就非常合理。但只是這樣的話還是無法滿足對資訊的定量描述,也就是說如何理解一條訊息裡面那個包含的資訊的多少呢?也就是不確定性被消除了多少呢?
夏農對於資訊的定量描述,其實也不是憑空想出來的,而是對我們直覺習慣進行歸納,然後用一個數學方式呈現出來的。所以,如何衡量一個訊息所含資訊的多少,我們需要先看看我們的直覺習慣是怎樣的。
比如,一個月考次次都是考 680 分的同學,如果高考成績出來了,他考了 700 分,這個訊息所含的資訊是多還是少呢?如果高考成績出來,他只考了 300 分,這個訊息是比前一種情況資訊量更多呢,還是更少呢?
還有,一天醒來,你得到訊息說中國的奪得了世界盃冠軍,和這個訊息相比,阿根廷奪得冠軍的訊息是包含的資訊更多呢還是更少呢?
比較麻煩的是這種情況。計算機儲存了一個位元組的資料,它接收的資料是 11101000,或者是 11110111,這兩個資料的資訊量一樣嗎?
前面兩種情況比如容易理解。一個平時學習很好的學生,如果最後知道自己考了一個好成績,這個訊息其實沒有什麼特別的。而如果是平時一直學習好,最後考了一個特別差的成績,這個訊息才算讓人驚訝,或者說這個訊息所包含的資訊量應該是更多的。
同樣的道理,阿根廷和中國相比,阿根廷奪冠雖然也是提供了一定的資訊量,但是中國隊奪冠了,這個資訊才能算是讓人震驚。
我們習慣上肯定是覺得一個訊息越讓人震驚,就越是有料,所包含的資訊也就越多。但是這個震驚應該如何用數學描述呢?
不論是知道高考成績,還是知道世界盃冠軍,這兩種情況接受資訊後都是從多個可能結果中變成了一個確定的結果,也可以說它們的“終點”都是相同的。
不同的其實是“起點”,一個好學生考好成績的可能性本來就很大,最後結果是它真的考了一個好成績,這只是從一個大機率事件變成了一個確定事件,跨越過的可能性比較少。相反,他考出一個很差的成績是一個小機率事件,如果最後的訊息真的是他考出來一個很差的成績,從一個小機率事件變成一個確定事件,跨越過的可能性就比較大。
所以,從我們的習慣中可以看出來,一個訊息的資訊量的多少,其實就是這個訊息的“驚訝程度”,而這個驚訝程度又是和機率的變化情況有關的。一個小機率事件變成了確定事件,驚訝程度就高,資訊量就大。
既然這樣的話,那就太方便了。機率越小的事情發生了,那麼驚訝度就越大,而機率這個數學概念是現成的,我們直接用機率值作為資訊量的定量描述就可以了。
如果考慮問題只考慮前面的情況,這麼做完全沒有問題,但是事情並沒有那麼簡單,我們還需要考慮這樣一種情況——訊息是可以分開傳遞的。
拿前面足球的例子來說,“阿根廷隊奪冠了”這一個訊息所包含的資訊量,是不是和“阿根廷進決賽了”加“阿根廷贏得了決賽”,這兩個訊息合在一起的資訊量是一樣的。都是從八強到最後的冠軍,起點終點都一樣。
這樣的話,那是不是我們應該得出一個特別符合直覺的關係,奪冠的資訊量=進入決賽的資訊量+贏得決賽的資訊量。
這本來沒有什麼問題,但是如果用機率直接去定量描述資訊量的話,問題就來了。
我們把問題做一些簡化,假如 8 強裡面的每隻球隊奪冠的機率都是相同的。也就是說阿根廷在 8 強的時候,奪冠的機率是 1/8。
那麼阿根廷進入決賽的機率是多少呢?需要贏兩場比賽,每場比賽贏球的機率都是 1/2,那麼連贏兩場的機率就是 1/4。這是進入決賽的機率。
那麼贏得決賽的機率呢?就一場比賽了,所以贏球的機率是 1/2。
發現問題了嗎?阿根廷奪冠,可以拆分成兩個事件,一個是進入決賽,一個是贏得決賽,先要奪冠那麼必須這兩個事件同時發生。
進入決賽同時贏得比賽,根據機率的基本運算可以知道,兩個事件同時發生需要機率想成。1/4* 1/2 正好等於 1/8。
也就是說,我們直覺上感覺資訊量應該是一個相加的關係,如果直接套用機率值去表示的話,那麼是沒有辦法滿足這一點的。機率值是相乘的關係。
怎麼辦呢?數學上很簡單,就是定一個函式,只需要把機率值傳給這個函式,這個函式就可以把相應的資訊量返回出來。
這個函式是什麼樣的?我們現在只對它有一個要求,如果這個函式是 I(P) 的話,這個函式需要滿足:
將乘法變成加法,這樣的函式你能想到什麼?log 對數運算。有沒有其他的函式也滿足同樣的要求呢?不是說絕對不可能,但是從數學上可以證明,初等基本函數里 log 是唯一可以滿足要求的情況。
所以資訊量的計算函式的大框架就已經被定下來了,只不過它的正負號和底應該怎麼取還是需要額外進行考慮的。
前面的正負號比較容易確定,機率值越小,越是小機率事件,最後確定後得到的資訊量應該越大,所以前面應該是負號,這樣得到資訊量的數值和機率值的大小正好是相反的。
而對數運算的底,就比較麻煩一點,這裡並沒有什麼絕對的標準,可以是以 10 為底,可以是以 e 為底也可以是以 2 為底。
夏農選擇的是以 2 為底。這樣做的好處是,以 2 為底計算出來的資訊量,我們更容易對資訊量進行一個直觀的想象。它最後計算出來的結果,就相當於是最少可以用幾枚理想的硬幣可以把這個資訊對應事件的機率描述出來。
像前面說的,阿根廷在 8 強,奪冠的機率就是 1/8,那麼
表示可以用 3 枚硬幣就完全表示出來。只不過,現實中沒辦法出現類似 1.2 個硬幣的情況,在數學計數卻是可以計算出 1.2 的。
硬幣還是過於具體了,抽象一下的話,一個硬幣就相當是一個二進位制數,這樣的話資訊量的大小也就是可以最少用多少個二進位制數就給描述出來。
以 2 為底計算出來的資訊量是有單位的,那就是我們熟悉的 bit,而我們現在用 1bit 表示一個二進位制數也真是這個原因。
如果是以 e 為底,那麼計算出來的資訊就不是 bit 了,它的單位是那特(nat),如果是以10為底的話,單位就是哈特利(Hart)或狄特(dit)了。
我們前面其實還留下了一個問題沒有解決。舉例子的時候,我還舉例了,一個電腦如果接收到了兩個資料分別是11101000和11110111,那麼這兩個資料的資訊量一樣嗎?
乍一看,這不都是 8bit 的資料嗎,都是 8bit,那麼應該資訊量是一樣的對吧。我先公佈答案啊,其實這個問題並沒有這麼簡單。
那麼具體問題出在哪兒?如果我不說,你可能都沒有意識到有問題,而要想了解到其中隱藏的問題,那麼就需要從熵的視角去考慮問題了。
熵到底是什麼?和資訊量是怎樣的關係,我們下一期繼續聊。
最後,關於資訊量再額外補充一些內容。這些內容雖然對應後面理解熵並沒有什麼直接的關係,但的確都是非常有趣的知識點。
首先我問一下大家,資訊量大單位是 bit,那麼資訊量的量綱是什麼呢?
現在規定的基礎量綱有 7 個,分別是長度,質量,溫度,電流,時間,物質的量,發光強度,其他所有的量綱都是由這 7 個量綱組成的。
我們通常認為量綱是和單位有關的,每個基礎量綱對應的國際標準單位也都是最基礎的單位。沒有量綱的情況的確有,像是 π,比值,都是無量綱的量,但是它們也沒有單位啊。
而資訊量有單位,但是它沒有量綱。這其實也可以很好的體現出資訊本質上是脫離物理世界的。雖然沒有物理世界裡的東西作為載體也不會有資訊,但是資訊具體是什麼,資訊量的大小,是不依賴物理世界的。比起物理量,資訊量更像是一個純粹數學領域裡的量。
前面為了把問題簡化,我說了前面加負號,是因為和機率值的大小相反,這樣講的確沒有問題,不過不全面。只需要對公式變一下形,對數 log 運算,前面的符號是可以拿進 log 裡面的。拿進裡面之後,裡面會變成倒數。也就是資訊量公式:
這有什麼特別的呢?我把經常用來表示音量大小的分貝的計算公式寫出來,大家對比一下應該就能看出來了。
其中 L 是分貝數,P1 是要測量的物理量(如功率、電壓等等),P0 是參考值或基準值,通常是一個選定的標準值。
分貝的計算公式是不是和資訊量的計算公式非常的像,除了係數和底數就是一樣的。
只不過,資訊量公式 log 裡面的分母是一個機率值,分子 1 如果也可以看作是機率。按照分貝公式的意義,資訊量就是以事情發生的機率(分母的 p)作為基準,然後用最後確定的機率值 1 去做比較,看看最後的數值是多少。
也就是說,不同可能性的事件,在計算資訊量的時候選擇的它們的機率值 p 會不一樣,那麼 p 作為基礎刻度也就不一樣了,只不過這個時候測量的那個物件都是相同的,都是確定發生的機率,也就是分子的 1。然後看看 1 和 p 中間差了多少倍,然後這個倍數再進行 log 運算。
所以,如果想的話資訊量是可以換成分貝的,聲音的分貝是聲音的相對強度,無線電訊號的分貝是訊號的相對強度,資訊量的分貝其實衡量的就是一個訊息帶來的驚訝程度。
熵與資訊的關係,是個非常有趣且深刻的話題。如果你想了解更多關於資訊理論的內容,推薦你收聽“得到”APP的付費專欄《吳軍:資訊理論40講》。這個專欄中,吳軍老師以通俗易懂的語言,詳細講述了資訊理論的基本原理、發展歷程以及在現代科技中的應用,從通訊技術到人工智慧,資訊理論的精髓貫穿始終。
相信透過這 40 講的深入剖析,你不僅能夠開闊科技視野,更能夠深化對世界的認知,讓你在資訊時代中游刃有餘。
科聲使用者專屬福利 🎁滿200-20元,全網僅限科聲使用者專享!
悄悄告訴大家,滿減後到手價比在“得到APP”內購買還要低哦~
歡迎大家選購自己想要學習的「得到」課程,如果以前沒有下定決心,現在就別再猶豫了。