香农与信息论三大定律
香農是20世紀一位全才型科學家,他在通信技術、信息工程、計算機技術、密碼學等方面都作出了巨大的貢獻。
1948年,香農發表了他在二戰前后對通信和密碼學的研究成果,系統性地論述了信息的定義、如何量化信息、如何更好地對信息編碼。在這些研究中,香農借用熱力學中“熵”的概念來描述信息的不確定性,并把通信和密碼學的所有問題都看成是數學問題。香農的理論不僅奠定了如今整個通信系統的基礎架構,也發展了有關信息的理論體系和數學方法,讓信息變得可測。在此之前,沒人懂得如何度量信息。
香農使用了“信息論”一詞來論述他的理論。后來信息論被發展成了一門學科,為密碼學和通信行業奠定了理論基礎。
在信息論中,香農提出了三個著名定律。
香農第一定律又稱無失真信源編碼定律,它給出了有效編碼信息的方法。它告訴人們,如何讓通信信號攜帶盡可能大的信息量,提高信息存儲和傳輸效率。比如大眾熟知的摩斯電碼,它使用長音和短音的信號組合來表示不同的數字和字母。不過,摩斯電碼是根據字母使用的頻度來編碼的,每個字母的編碼長度并不相同:常用字母用短編碼,不常見的字母使用長編碼。例如元音字母e,只用一個短音表示,對于不常用的字母z,使用了兩個長音、兩個短音表示(見圖3-2)。這樣做可以有效降低整體的編碼長度。
? ? ? ? ? ? ? ? ? ? ? ?? ? ??圖3-2 摩斯電碼表(點表示短音、劃表示長音)
香農第二定律定量地描述了一個信道中的極限信息傳輸率和帶寬的關系,它主要用來保證信息在通信和傳輸過程中不出錯。它的數學公式如下:
其中,C是信道容量,B是信道帶寬,S是信號功率,N是噪聲功率。
根據香農第二定律公式,如果要增加信道容量,即增加信息最大傳輸速率,最好的方法是增加帶寬(頻率范圍)或者增加信噪比(信號與噪聲的比值)。舉個例子,5G網絡技術的傳輸速度要比4G快幾十倍甚至上百倍,這是因為5G使用的是毫米波(對應波長只有1mm到10mm),它的通信帶寬在30GHz至300GHz,比只有100MHz頻段的4G要寬得多。根據香農第二定律,在信噪比一定的情況下,信道越寬,傳輸速度就越大,這也是5G相比4G傳輸速度大幅提高的原因。
香農還發現,信息傳輸率無法超過信道容量。一旦超過,便無法保證可靠傳輸,這是香農第三定律。比如聽廣播時,兩個電臺頻率很接近就會產生干擾。因為一旦頻率范圍確定,信道容量就被固定在一個有限范圍。假設兩個電臺的總帶寬很窄,無法承載單位時間內要傳輸的語音信息,即信道容量小于實際需要傳輸信息的速率,電臺內容就會聽不清。此時只能讓兩個電臺的頻率間隔變大,增加總帶寬,而不是把收音機的頻率調準。
我們可以拿香農三大定律做個類比:假設道路上開了很多車。香農第一定律想要說明的是,每輛車應該如何優化資源配置,才能達到整體效率最大。香農第二定律需要確定,這條道路的情況如何,道路的寬度和車輛、車速之間是什么關系。香農第三定律則告訴我們,這條道路的極限是多少,如何才能避免交通堵塞,路上最多可以跑多少輛車,車速是多快。
起初,絕大多數科學家和工程師很難理解香農的理論,因為信息論通過描述不確定性的概率方法來解釋信息,它有悖于人們直覺上的理解。但如今,這一理論已經成為現代通信的基礎框架,在科學、數學、工程學領域都有亮眼的表現。
哈夫曼和有效編碼
在香農看來,通信系統中遇到的所有信息交換問題,都是關于處理不確定性的問題。信號源會產生很多種可能的信息,只是它們的發生概率不同。要解決通信問題,關鍵是能處理具有不確定性的信號。就是說,完全可以基于概率和統計學方法,把一個物理通信問題抽象成數學問題。這種思路的轉變,是破解信息和通信問題的重大突破。
在整個信息交換過程中,信息編碼就像一個“翻譯器”,是非常重要的環節。網絡通信剛剛起步時,信息傳輸的成本很高,通信效率很低。因此,如何高效利用信道交換信息,顯得尤為重要。此時就要用到信息編碼。好的編碼不僅能讓信息高效安全地傳輸給對方,還能減少信息存儲的容量。
關于信息編碼,香農曾經做過這樣的試驗:他從書架上隨機選擇一本書中的任意一個段落,然后讓他的妻子逐個猜里面出現的字母,比如她可以問:“第一個字母是H嗎?”。如果她猜錯了,就告訴她正確答案。如果猜對了,就繼續猜下一個字母。一開始,這樣的猜測沒有方向,可隨著知道的內容越來越多,猜對字母的準確率會越來越高,甚至可以一下子猜對好多個單詞。這是一個通過不斷提問來消除不確定的過程。
如果一個字母能根據之前的內容猜出來,那它就可能是冗余的。既然是冗余的,它就沒有提供額外的信息。假設英語的冗余度是75%,對于一條包含1000個單詞的訊息,我們只保留250個單詞,仍然可以表達原本的含義。中文也是如此,發一封電報說“家里老母親過世,請趕快回家”,長達12個字,用“母喪速歸”4個字也能表達相同的含義,但長度縮減了2/3。可見,字數越多并不代表信息量就越大,字數只代表了信息編碼的長度。在信息論中,這屬于編碼有效性問題。
那么,是否存在一種最短、最優的編碼方式呢?答案是有的。這種編碼方式最早由美國人哈夫曼在1952年提出。哈夫曼編碼是一種變長編碼,它的編碼方式是:一條信息編碼的長度和它出現概率的對數成正比。也就是說,經常出現的信息采用較短的編碼,不常出現的信息采用較長的編碼,以達到整體資源配置最優。信息攜帶的信息量越大,它的編碼就越短,這樣做比采用相同碼長的編碼方法更高效。如果每條信息出現的概率相同,在哈夫曼編碼中就是等長編碼。在數學上,可以證明哈夫曼編碼是最優的編碼方式。我們平時經常使用的計算機文件壓縮功能,其背后的算法原理通常就是哈夫曼編碼,它是一種無損編碼方法。
有人認為,對信息的編碼越短越好,這樣信息交換的成本最低。實際情況并非如此,因為還要考慮到信息的辨認度和容錯性。人類語言的信息編碼就存在冗余,它并不是以效率優先的編碼方式。人們習慣使用“啰唆”的方式進行溝通。冗余的信息雖然在傳遞時消耗了更大的帶寬和資源,但是它有更好的容錯性,更易于理解,消除了很多歧義。當信息在傳遞過程中發生錯誤時,信息冗余可以幫助我們恢復原來的內容。
在學英語的時候,我們傾向于通過閱讀一些國外名著來學習單詞,而不是直接去背字典。雖然字典里每一頁單詞的信息編碼更短,但冗余信息少,要記住這些單詞的難度就很大。相反,閱讀一些英語讀物時,每個單詞都出現在特定的語境中,雖然每一頁的信息編碼長,信息量小,但更容易理解和記憶。
下面來看個例子——老鼠實驗。
假如實驗室里有1000只瓶子,其中999瓶裝了普通的水,還有1瓶裝了毒藥,這瓶毒藥無法根據氣味或外觀分辨出來。如果給小白鼠喝了毒藥,一天后它就會死亡。假如你只有一天時間,請問至少需要幾只小白鼠,你才能檢驗出毒藥?
如果我們有1000只小白鼠,給每只老鼠喝不同瓶中的水,則自然能檢測出哪瓶是毒藥,但這么做的效率不高。
讓我們來換一種思路,看看用信息編碼的方式,應該如何考慮這個問題。
讓小白鼠喝瓶子中的水,結果只會呈現出2種狀態,要么活著、要么死亡。就是說,這只小白鼠可以提供的信息。我們要從1000個瓶子中選出一瓶毒藥,相當于需要。也就是說,我們如果有10只小白鼠,提供10bit的信息,就能找到那瓶毒藥。
檢測1000個瓶子居然只要10只小白鼠就夠了,這不免讓人感到驚訝。具體的操作是這樣的:我們先把1000個瓶子用1到1000編號,這個號碼是二進制數,也就是說,每個瓶子要用10個0或1的數字表示。比如,1號瓶是0000000001;2號瓶是0000000010;以此類推,1000號瓶就是1111101000。再把小白鼠用1到10來編號。現在我們取出一瓶水,查看上面的二進制編號,編號上對應位數是1的,就給相應編號的小白鼠喝下這瓶水。從第1瓶開始,重復這一動作,直到第1000瓶。比如,1號瓶的二進制編號是0000000001,只有最后一位是1,就給10號小白鼠喝下瓶中的水。2號瓶的二進制編號是0000000010,就給9號小白鼠喝水。1000號瓶的二進制編號是1111101000,就要給1、2、3、4、5、7號小白鼠喝下瓶里的水。
一天以后,我們根據小白鼠的狀態獲得一個二進制數,0代表生存,1代表死亡。假設1、5、8、9號小白鼠死了,這個二進制數就是1000100110,換算成十進制是550。也就是說,第550號瓶中裝的是毒藥。因此, 10只小白鼠相當于一組編碼,它能檢測出哪瓶是毒藥。
可以看到,信息編碼并非只能用于信息交換,它還能用于科學研究和實驗篩查,很多互聯網公司會利用信息編碼對用戶進行分組測試,優化網站使用體驗;又比如在疫情期間,如果要做大規模病毒核酸檢測,則可以將多人樣本混采檢測,只對檢測結果呈陽性的(說明混檢樣本有病毒)再做單樣本檢測,這也是一種提高篩查效率的信息編碼方法。
除此以外,信息編碼還有很多其他應用。比如,互聯網上的搜索網站、郵件系統和云存儲服務,就要考慮如何高效地存儲海量數據;玩手游、看網劇時也要考慮本地和服務器之間的網絡傳輸和編碼效率問題;一個部署在多地的人工智能模型,如果要做分布式訓練,就要考慮信息編碼的效率和安全??梢哉f,日常生活中大多數與計算機性能、容量有關的問題,都離不開信息編碼的身影。
信息論是關于不確定性和概率理論的具體實踐。今天,信息論作為一門普適性基礎理論,不僅與通信系統的基礎框架有關,它還在信息相關的各領域得到了廣泛應用。當然,它也是人工智能的理論基礎。人工智能的很多應用都可以用信息論去理解。比如智能汽車上的激光雷達,會主動探測道路和周邊環境,根據電磁波的反射信號來定位目標,這些技術的背后都有信息論的身影。
本文摘編自《大話機器智能:一書看透AI的底層運行邏輯》,轉載請標明文章來源
轉載請聯系微信:Better_lydia
RECOMMEND
推薦閱讀
01
大話機器智能:一書看透AI的底層運行邏輯
作者:徐晟
本書以通俗易懂的方式,勾勒人工智能的全貌,展現AI的底層運行邏輯。
告訴你AI是如何工作的!
推薦閱讀
本書以有趣的案例和深入淺出的語言,直擊AI的底層運行邏輯與核心原理,勾勒人工智能的全貌,以便讀者掌握AI技術要點,打通AI的各種技術壁壘,厘清不易察覺的“認知錯誤”,從而更好地認識正在運轉的神秘AI世界。
02
代數大腦:揭秘智能背后的邏輯
作者:[美]加里·F. 馬庫斯(Gary F. Marcus)
譯者:劉偉、劉欣、于棲洋 等
DeepMind人手一本!
屢次對戰深度學習三巨頭
揭秘大腦黑盒到底是神經網絡機器,還是加工符號的機器
推薦理由
本書英文版出版至今已近20年,但關于大腦究竟如何工作的問題至今仍無答案,而符號主義(認為大腦是類似于計算機的加工符號的機器)與聯結主義(認為大腦是并行運轉的大型神經網絡)之間的爭論也從未停息。本書分析了聯結主義模型和符號加工模型在計算方面的優勢和劣勢,關注不同聯結主義模型之間的差異以及特定模型與符號加工的特定假設之間的關系,并圍繞多層感知器展開討論。書中的觀點在今天依然頻繁成為學術討論的焦點,并為認知科學、人工智能、深度學習等領域的未來研究指明了可能的方向。
03
認識AI:人工智能如何賦能商業(原書第2版)
作者:[美]道格·羅斯(Doug Rose) ?
譯者:劉強
多倫多大學Shehroz S.Khan作序推薦
傳統商業與AI技術的碰撞
智能時代不可不讀的AI趣味概述
推薦理由
本書通俗地介紹人工智能(AI)和機器學習(ML):它們是如何工作的,能做什么,不能做什么,如何借助它們獲利。這本書為非技術高管和非專業人士撰寫。羅斯基于多年的教學和咨詢經驗,以直觀的類比和解釋揭開了AI/ML技術的神秘面紗,解釋了從早期的“專家系統”到先進的深度學習網絡的發展。
更多精彩回顧
書訊 |?4月書訊(下)| 上新了,華章
書訊 |?4月書訊(上)| ?上新了,華章
資訊 |?AI 是否擁有意識?從意識的定義說起
書單 |?金三銀四求職季,十道騰訊算法真題解析!
干貨 |?場景拆解六步設計法,手把手教你細化場景
收藏 |?趙宏田:用戶畫像場景與技術實現
上新 |?Web滲透測試實戰:基于Metasploit 5.0
書評?|?數據分析即未來
贈書?|?【第97期】2022 軟件工程師狀況報告:Go 最搶手
總結
以上是生活随笔為你收集整理的香农与信息论三大定律的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CES直击:戴尔连发多款ALIENWAR
- 下一篇: 关于STM32红外遥控器的研究与分析