> Image by Author
深度學習通常用於為資料驅動的分析做出預測。但是這些預測的含義是什麼?
這篇文章解釋了深度學習中使用的神經網路如何提供描述事件發生機率的統計模型的引數。
事件的發生和不確定性資料,可觀察的事物,事件或任何其他描述我們可以看到和/或收集的事物的方式都是絕對的:我們在一對六邊骰子上擲兩個六點,或者得到其他結果組合;我們拋硬幣十次,每次都正面,或者正面和反面都有其他混合;我們的宇宙以某種方式進化,我們觀察它,或者觀察不到,我們也觀察不到。我們不知道是先驗的,是否每次擲硬幣都會得到兩個骰子擲骰子或擲骰子,或者我們可能存在什麼宇宙來觀察它。由於缺乏知識,我們將不確定性描述為偶然的。這是由於缺少有關此類資料生成的基本資訊-我們永遠無法確切知道我們將獲得什麼結果。我們預言不確定性視為無法瞭解某個隨機數生成過程的隨機種子。
我們使用函式P(d)來描述事件發生的機率:P(d)[…,0],即機率分佈函式P在所有可能的事件E的範圍內為任何事件d分配一個介於0和1之間的值。如果一個事件不可能,則P(d)等於0,而某個結果的機率為P(d)等於1。此機率是加和的,因此可以肯定所有E的可能事件的並集,即P(E)= 1。
使用一點點的記號,我們可以寫出d P,這意味著某個事件d是從所有可能事件E的空間中抽取的,機率為P(d)。這意味著觀察到事件d的可能性為100×P(d)%。 d可以是過程的任何觀察,事件或結果,例如,當滾動n = 2個六邊形骰子並同時獲得兩個骰子時,d =(d¹= 0,d²= 0,d³= 0,d⁴= 0 ,d⁵= 0,d⁶= 2)。我們事先不知道確切地知道透過擲骰子這兩個骰子會得到什麼結果,但是我們知道有可能獲得任何特定的結果。在骰子擲骰實驗的多次重複下(骰子完全平衡且條件相同),我們應該看到d發生的機率為P(d)≈≈¹/₃₆。即使不進行骰子擲骰的許多次重複,我們也可以提供我們對看到特定結果的可能性分佈的可靠估計。
統計模型為了進行統計預測,我們使用可引數化分佈Pₐ對資料分佈進行建模。我們可以認為a是定義一個統計模型,其中包含對資料分佈的描述以及該模型的任何可能的不可觀察引數v∈Eᵥ。然後,分佈函式將機率值歸因於可觀察/不可觀察事件Pₐ的出現:(d,v)∈(E,Eᵥ)↦Pₐ(d,v)∈[0,1]。值得注意的是,我們可以將此聯合機率分佈寫為條件語句,Pₐ=Lₐ·pₐ=ρₐ·eₐ。這些機率分佈函式是:
· 似然—Lₐ:(d,v)∈(E,Eᵥ)↦Lₐ(d | v)∈[0,1]
· 先驗的—pₐ:v∈Eᵥ↦pₐ(v)∈[0,1]
· 後驗—ρₐ:(d,v)∈(E,Eᵥ)ₐρₐ(v | d)∈[0,1]
· 證據—eₐ:d∈E↦eₐ(d)∈[0,1]
這些函式的引入使我們可以將觀察d和v的機率解釋為等於給定模型引數的值v乘以這些模型引數值的可能性的觀察d的機率-同樣,它等於假設觀察到的d乘以在模型中觀察到d的可能性,則將模型引數的值v的機率乘以n。
對於擲骰實驗,我們可以(並且可以)使用多項式分佈P model = ∏ᵢ n!/dⁱ!對資料分佈進行建模。pᵢᵈⁱ,其中多項式模型的固定引數為v = {p₁,p_2,p₃,p₄,p₅,p₆,n} = {pᵢ,n |i∈[1,6]},其中pᵢ為從骰子中獲得i∈[1,6]的機率,n為擲骰數。如果我們考慮完全無偏的骰子,則p 1 = p 2 = p 1 = p 1 = p 1 = p 1 = 1/3。因此,在我們的n = 2個骰子擲骰的多項式模型中,觀察到兩個六個機率d =(d¹= 0,d²= 0,d³= 0,d⁴= 0,d⁵= 0,d⁶= 2)可以估計為Pₐ(d)=¹/₃₆。由於模型引數v是固定的,這等效於將i∈[1,6]的先驗值設定為pₐ=δ(pᵢ-¹/₆,n-2),這樣Lₐ= ∏ᵢ 2(¹/₆))ᵈⁱ/dⁱ!或0。
當然,我們可以建立一個更復雜的模型,其中pᵢ的值取決於其他因素,例如骰子可能彈起的表面數量,擲骰子的強度或擊中的每個空氣分子的速度在他們離開我們的那一刻的骰子或無數種不同的效果。在這種情況下,分佈Pₐ將根據資料中出現的不可觀測引數v之間的相互作用,將機率分配給資料出現d〜P,即描述這種物理效應,即在多項式模型中,模型引數的值v將改變描述d可能性的pᵢ值。但是,我們可能不確切知道這些不可觀察引數的值。因此,Pₐ不僅描述了資料真實分佈的估計,而且還描述了其對不可觀測模型引數的依賴性。我們稱條件分佈函式描述了從不可觀測引數觀測資料的可能性,即似然Lₐ。由於模型a描述了整個統計模型,模型引數v的先驗機率分佈p 1是模型的固有屬性。
我們不知道模型a中引數的值v的事實(甚至缺乏關於模型本身選擇的知識)引入了不確定性的來源,我們稱其為認知的,即由於某些原因而產生的不確定性我們可以透過觀察事件的支援來了解。因此,儘管由於資料分佈P造成的事件d的真實隨機性導致了不確定的不確定性,但是透過用Pₐ對這種分佈進行建模也產生了認知不確定性。但是,不應將先驗分佈pₐ與認知不確定性相混淆,因為先驗是對特定模型a的選擇。可能會使用錯誤的先驗分佈選擇(由於統計模型的定義),從而不允許資料支援模型。
例如,對於骰子滾動問題,在構建模型時,我們可以確定模型是確定的,並且模型引數的可能值的先驗分佈為pₐ=δ(pᵢ-¹/₆,n-2 )表示i∈[1,6]。在這種情況下,將不會考慮認知不確定性,因為我們假設沒有什麼可以瞭解。但是,如果對骰子進行加權,使得p₁= 1且p2 =p₃=p₄=p₅=p₆= 0,那麼我們將永遠不會得到兩個6,並且資料也將不支援我們的模型。相反,如果我們選擇一個不同的模型a',它是多項式分佈,但是在p distribution的可能值上的先驗分佈是這樣的,則它們可以在∑ᵢpᵢ= 1的情況下取0到1的任何值,沒有假定的知識(在該特定模型內)。因此,由於我們缺乏知識,因此存在很大的認知不確定性,但是可以透過在觀察可用資料時推斷可能的引數值來減少不確定性。
主觀推論我們可以使用主觀推斷(通常稱為貝葉斯推斷)來了解觀測資料支援哪些模型引數值,從而在我們選擇的模型內減少認知不確定性。使用聯合分佈的條件展開式的兩個等式Pₐ,我們可以計算出在模型a中,當觀察到某些d〜P時引數具有值v的後驗機率。
該後驗分佈現在可以用作具有聯合機率分佈Pₐ'的新模型a'的基礎,其中pₐ'=ρₐ,即Pₐ'=Lₐ·pₐ'。請注意,由於資料的支援,模型的形式沒有改變,只是我們對模型引數的確定性—我們可以使用這個新模型對資料的分佈做出更明智的預測。
除其他方法外,我們還可以使用MCMC技術來表徵後驗分佈,從而使我們能夠減少此假設模型中的認知不確定性。但是,對與錯,人們常常只對資料的最佳擬合分佈感興趣,即找到Pₐ與P最相似的v的集合。
最大似然和最大後驗估計為了使模型適合資料的真實分佈,我們需要測量兩個分佈之間的距離。最常用的量度是相對熵(也稱為Kullback-Leibler(KL)散度)
相對熵描述了由於將P(d)與Pₐ(d,v)近似而丟失的資訊。關於相對熵,有一些有趣的特性,使它無法理想地用作距離度量。因為它不是對稱的,D(P∥Pₐ)≠D(PₐP),因此不能用作度量。我們可以採用D(PₐP)和D(P∥Pₐ)的對稱組合,但仍然存在問題,例如必須在同一域E上定義P和Pₐ。其他措施,例如推土機距離在此處可能具有邊緣,因為它是對稱的,並且可以在不同的座標系上定義(並且當用作任意函式而不是用於預測模型引數時,現在可以使用神經網路很好地近似)。但是,我們仍然最經常考慮相對熵。重寫相對熵,我們看到我們可以將相似性的度量表示為兩個項
第一項是資料分佈的負熵,即可以透過觀察結果而獲得的預期資訊量,直接類似於統計熱力學中的熵。第二項是交叉熵H(P,Pₐ),它量化區分一個分佈P和另一個分佈Pₐ所需的資訊量,即,需要多少次d〜P繪製才能知道d是從P,而不是P∈。注意到以這種相對熵的形式只有一組自由引數v,然後我們可以透過最小化相對於這些引數的相對熵來嘗試使Pₐ儘可能接近P
但是,實際上我們該如何做呢?我們可能無法訪問可能資料的整個分佈來進行積分。取而代之的是考慮一個取樣分佈s:d∈S↦s(d)∈[0,1],其中s(d)是來自採樣空間的事件的歸一化頻率,其中N個條件獨立的值為d,S⊆E。在這種情況下,積分變為和,H(P,Pₐ)≊-∑ s(d)logPₐ(d,v)。然後使用條件關係,如前所述寫Pₐ=Lₐ·pₐ,因此交叉熵為H(P,Pₐ)≊-∑ s(d)logLₐ(d | v)-∑ s(d)logpₐ(v)。由於先驗與資料無關,因此它只是將加常數新增到交叉熵中。
換句話說,在給定取樣分佈中資料出現頻率的情況下,我們可以將似然度寫為機率的乘積
因此,除了先驗的加性常數外,交叉熵還與模型中資料似然性的負對數成正比。這意味著,假設所有v均具有一個統一的先驗(或忽略先驗),那麼最大化資料相對於模型引數的對數就等於最小化交叉熵,這可以解釋為最小化相對熵。,從而使Pₐ儘可能接近P。忽略交叉熵中的第二項,可提供引數值的非主觀最大似然估計(非主觀意味著我們忽略了引數值的任何先驗知識)。但是,如果考慮到先驗,我們將恢復最簡單的主觀推斷形式,即最大後驗(MAP)估計
其中描述了引數值v的集合,該引數值v提供了一個儘可能接近P的Pₐ。在此必須強調一個提示-由於我們使用的是取樣分佈s,因此最大可能度(或後驗)實際上為我們提供了最接近取樣分佈s的分佈P 1。如果s不代表P,則該模型不一定是P的良好擬合。第二個注意事項-儘管對於這組v,Pₐ可能與P(或實際上為s)儘可能接近。 (或後驗)機率實際上可能離分佈的高密度區域很遠,因此不能代表所有更可能的模型引數值。當考慮使用MCMC技術或類似方法進行整個後驗分佈時,可以避免這種情況。本質上,如果使用最大似然或最大後驗估計,則無需考慮先前(或後驗)機率密度的大部分,就會嚴重低估認知錯誤。
模型比較請注意,到目前為止,還沒有宣告說模型a實際上是否有任何好處。我們可以透過計算證據來衡量模型對資料d的擬合程度,這相當於對模型引數的所有可能值進行積分,即
透過選擇具有自己的一組引數u∈Eᵤ的不同模型a',我們可以得出一個描述模型a或a'是否更適合資料d的準則。請注意,此標準不一定定義明確。我們是否更喜歡一個完全適合資料但具有半無限個引數的模型,還是我們更喜歡一個很少引數但擬合性較差的優雅模型?在神經網路出現之前,我們通常選擇引數最少的模型,該模型最適合資料,並且可以對未來事件進行一致的預測,但這仍需爭論。
到目前為止,所描述的一切都不過是科學方法。我們觀察到一些資料,並希望對將來的觀察結果進行建模。因此,我們建立了一個引數化的模型來描述觀察結果和觀察結果的可能性,瞭解該模型的引數的可能值,然後根據奧卡姆剃刀等標準對模型進行改進。
神經網路作為統計模型深度學習是一種建立資料分佈模型的方法無論目標是有監督的學習,分類,迴歸,生成等,深度學習都只是為資料分佈建立模型。對於監督學習和其他預測方法,我們將資料d視為一對輸入和目標d =(x,y)。例如,我們的輸入可以是貓和狗的圖片x,並帶有標籤y。然後,我們可能希望對先前看不見的影象x'進行標籤y'的預測-等同於對d的一部分已知的相應輸入和目標對d進行預測。
因此,我們想使用神經網路f來對分佈P建模:f:(x,v)∈(E,Eᵥ)↦g = f(x,v)∈G,其中f是權重引數化的函式, v,它接受輸入x並從可能的網路輸出G的空間中輸出一些值g。函式f的形式由超引數化a來描述,並且包括體系結構,初始化,最佳化例程和最重要的是,損失或成本函式Λₐ:(d,v)∈(E,Eᵥ)↦Λₐ(y | x,v)∈K·[0,1]。損失函式描述了具有不可觀察引數v的資料出現機率d =(x,y)的未歸一化度量。即,當給定x等於對x建模時,使用神經網路對y進行預測資料出現的機率d,其中分佈的形狀由網路a的形式和屬性以及引數v的值定義。我們經常區分經典神經網路(對目標進行預測)從神經密度估計器(估計輸入的機率,即空間G = [0,1])中獲取資料,但是這些函式執行相同的工作,但是經典神經網路的分佈只能使用損失函式進行估計(通常不會像真實機率一樣歸一化為1)。這闡明瞭經典神經網路的輸出或預測的含義-它們是控制模型中資料的機率分佈形狀的引數值(透過選擇超引數來定義)。
例如,當使用均方誤差作為損失函式執行迴歸時,神經網路的輸出g = f(x,v)等效於具有單位方差的廣義正態分佈的均值。這意味著,當輸入某些輸入x時,網路會透過引數的值v提供y的可能值的平均值的估計,其中y的可能值是從具有單位方差的廣義法線中得出,即y〜N(g,I)。請注意,對於y值的此模型無論如何都不是一個好的選擇。另一個例子是當使用softmax輸出執行分類時,我們可以將輸出直接解釋為多項式分佈的pᵢ,其中模型的不可觀察引數v以類似於物理模型中引數的方式影響這些輸出的值影響發生不同資料的可能性。
掌握了這些知識之後,我們便可以透過對資料分佈P建模來了解網路引數的最佳化(稱為訓練)。通常,當經典地訓練網路時,我們選擇的模型允許v〜pₐ=統一的任何值[-∞,∞](儘管我們傾向於從一些正態分佈中得出它們的初始值)。本質上,因為我們沒有任何先驗知識,所以我們忽略了有關權重值的任何先驗資訊。在這種情況下,有關資料分佈的所有資訊都來自似然度Lₐ。因此,為了進行訓練,我們對網路引數進行了最大似然估計,這使得資料分佈與來自神經網路的估計分佈之間的交叉熵最小,從而使相對熵最小。為了實際評估帶有引數值v的經典神經網路的似然對數,我們可以擴充套件某些觀測資料d的似然,如Lₐ(d | v)ₐΛₐ(y | x,v)s(x),其中s(x)是x的取樣分佈,等效於分配x出現在S中的次數的歸一化頻率。給定相應的x時,對取樣分佈中每個y評估Λₐ(y | x,v),因此,將該機率的對數與結果相加即可得出抽樣分佈的可能性的對數。因此,相對於網路引數v最大化此點,可以得出最接近s的分佈Pₐ(希望它應接近P)。
就是這樣。訓練後,神經網路將提供統計模型的引數,可以對其進行評估以找到最可能的預測值。如果損失函式給出了未歸一化的可能性,則可以使用像MCMC這樣的方法來獲取表徵資料分佈的樣本。
必須考慮一些注意事項。首先,損失函式的選擇定義了統計模型-如果損失函式無法描述資料的分佈,那麼用於資料分佈的統計模型將是錯誤的。避免假設分佈的一種方法是透過考慮均方誤差,分類交叉熵或絕對誤差以外的損失函式-一種理想的選擇是推土機距離,該距離可以透過特定型別的神經網路很好地近似並提供目標它模擬了將資料分配到統計模型之間的最佳運輸計劃,從而為P providing提供了一種非假定形式。要注意的另一件事是,使用神經網路的統計模型被過度引數化。宇宙演化的模型只需要6個引數(在美好的一天),而神經網路將使用數百萬個無法識別的引數來完成更簡單的任務。在追求模型優雅的模型選擇中,神經網路幾乎總是會丟失。最後,根據資料使網路適合資料-如果資料中存在任何偏差d∈S,即s與P不相似,則該偏差將很明顯。物理模型可以透過建立直覺來避免這些偏差。實際上,使用神經網路也可以做到這一點,但是要花很多的腦力和花更多的時間而不是盲目地選擇東西。
因此,使用神經網路和損失函式進行的深度學習等效於構建描述資料分佈的引數化統計模型。
Tom Charnock是統計和機器學習方面的專家。他目前居住在巴黎,致力於解決機器學習和人工智慧模型的統計可解釋性方面的突出問題。作為一名國際自由顧問,他為與複雜資料分析,資料建模和下一代計算機科學方法有關的問題提供了實用的解決方案。他的角色包括一對一的支援,全球合作以及透過講座,研討會,教程和文章進行的外展活動。