原文來源:Towards Data Science
作者:Abhishek Parbhakar
「雷克世界」編譯:嗯~是阿童木呀、EVA
導語:1948年,數學家和電氣工程師克勞德•香農(Claude Elwood Shannon)在其開創性論文《通信的數學理論》中提出了“信息論”,這一概念。對深度學習和人工智能的發展具有非凡的意義。那麼,對於信息論大家又瞭解多少呢?在本文中,Abhishek Parbhakar對在深度學習和數據科學中廣泛流行和通用、且必須知道的信息論概念進行了介紹,希望能夠為大家瞭解這些概念有所助益。
信息論(Information Theory)是對深度學習和AI做出重大貢獻的重要領域,但對許多人而言,信息論是很陌生的。我們可以將信息論看作深度學習的基礎構建塊(basic building block)的複雜融合,這些基礎構建塊包括微積分、概率論和統計學。AI中的一些概念源自信息論或其相關領域,例如:
· 流行的交叉熵損失函數
· 在最大信息增益基礎上構建決策樹
· 廣泛應用於自然語言處理(Natural Language Processing, NLP)和語音的維特比算法(Viterbi algorithm)
· 在機器翻譯循環神經網絡(Recurrent Neural Network, RNN)和各種其他類型的模型中被廣泛使用的編碼器-解碼器概念
信息論史簡介
在20世紀早期,科學家和工程師正在努力解決這樣一個問題:“如何量化信息?是否有一種分析方法或數學方法可以告訴我們關於信息內容的信息?”例如,考慮以下兩句話:
Bruno是一條狗。
Bruno是一條棕色的大狗。
不難看出,第二句話為我們提供了更多的信息,因為它還告訴我們,Bruno除了是一條“狗”之外還是 “棕色”和“大”的。我們如何量化兩句話的區別?我們能否用一種數學方法來告訴我們第二句話比第一個句子多出多少信息?
科學家正在努力解決這些問題。數據的語義、領域和形式只會增加問題的複雜性。然後,數學家和工程師克勞德•香農(Claude Shannon)提出了“熵”的概念,這個概念改變了我們的世界,並標誌著“數字信息時代(Digital Information Age)”的開始。
香農提出,“數據的語義方面是無關緊要的”,而數據的性質和意義在信息內容方面並不重要。相反,他用概率分佈(probability distribution)和“不確定性(uncertainty)”來量化信息。香農還引入了“比特(bit)”一詞,他謙遜地將其歸功於他的同事John Tukey。這個革命性的概念不僅奠定了信息論的基礎,而且為人工智能領域的進步開闢了新的道路。
下面,我們將討論在深度學習和數據科學中四種流行的,廣泛使用的,且必須知道的信息論概念:
熵(Entropy)
也叫信息熵(Information Entropy)或香農熵(Shannon Entropy)。
在實驗中,熵給出了隨機度和不確定度的度量。讓我們來考慮兩個實驗:
1.拋一個均勻的硬幣(P(H)=0.5)並觀察它的輸出H。
2.拋一個有偏差的硬幣(P(H)=0.99)並觀察它的輸出H。
如果我們比較這兩個實驗,在實驗2中預測結果要比在實驗1中容易。所以,我們可以說實驗1本質上比實驗2更不確定/不可預測。實驗中的不確定性是使用熵來測量的。
因此,如果實驗中存在固有的不確定性越多,那麼它的熵就會越高。或者可預測的實驗越少,熵就會越多。用實驗的概率分佈來計算熵。
一個完全可以預測的確定性實驗(deterministic experiment),比如拋硬幣P(H)=1,熵為零。一個完全隨機的實驗,比如擲骰子,是最不可預測的,具有最大的不確定性,在這樣的實驗中具有最高的熵。
另一種查看熵的方法是在我們觀察隨機實驗的結果時所獲得的平均信息。所獲得的實驗結果信息被定義為該結果發生的概率函數。該結果越為罕見,通過觀察所獲得的信息越多。
例如,在一個確定性實驗中,我們總是知道結果,所以在這裡沒有從觀察結果中得到新的信息,因此熵是零。
對於一個離散的隨機變量X,可能的結果(狀態)x_1,...,x_n,以位為單位的熵被定義為:
其中p(x_i)是X的第i個結果的概率。
應用
熵用於自動決策樹的構建。在構建樹的每一步中,特徵選擇都是使用熵標準來完成的。
基於最大熵原理(Principle of Maximum Entropy)的模型選擇,從競爭模型中選擇具有最高熵的模型是最好的。
交叉熵(Cross-Entropy)
交叉熵是用來比較兩個概率分佈的。它會告訴我們兩個分佈的相似程度。
在同一組結果上定義的兩個概率分佈p和q之間的交叉熵是由下列公式給出的:
應用
·交叉熵損失函數廣泛用於邏輯迴歸(logistic regression)等分類模型。交叉熵損失函數會隨著預測結果與真實輸出之間的偏離而增加。
·在像卷積神經網絡這樣的深度學習體系結構中,最終的輸出“softmax”層經常使用交叉熵損失函數。
互信息(Mutual Information)
互信息是兩個概率分佈或隨機變量之間相互依賴的度量。它告訴我們一個變量的多少信息量是被另一個變量攜帶的。
互信息捕捉隨機變量之間的依賴關係,並且比普通相關係數更具有泛化性,而普通相關係數僅捕獲線性關係。
兩個離散隨機變量X和Y的互信息被定義為:
其中p(x,y)是X和Y的聯合概率分佈,p(x)和p(y)分別是X和Y的邊際概率分佈。
應用
.特徵選擇:使用的不是相關性,而是使用互信息。相關性僅捕獲線性依賴關係,並遺漏了非線性依賴關係,但互信息卻沒有。零的互獨立保證隨機變量是獨立的,但零相關不是。
.在貝葉斯網絡中,互信息用於學習隨機變量之間的關係結構並定義這些關係的強度。
KL散度(Kullback Leibler Divergence)
KL散度也稱為相對熵。
KL散度是尋找兩個概率分佈之間相似性的另一種方法。它衡量了一個分配與另一個分配之間的差異程度。
假設,我們有一些數據,真實的分佈是“P”。但我們不知道這個“P”,所以我們選擇一個新的分佈“Q”來對這個數據進行近似。由於“Q”只是一個近似值,它不能對數據的近似做到像“P”那樣好,並且會發生一些信息丟失。而這種信息損失是由KL散度給出的。
“P”和“Q”之間的KL散度會告訴我們,當我們嘗試用“Q”近似“P”給出的數據時,我們失去了多少信息。
來自另一概率分佈P的概率分佈Q的KL散度定義為:
應用
KL散度通常用於無監督機器學習技術變分自編碼器。
原文鏈接:https://towardsdatascience.com/must-know-information-theory-concepts-in-deep-learning-ai-e54a5da9769d
閱讀更多 雷克世界 的文章