機器學習的本質:理解泛化的新觀點

2021-01-11 巡洋艦人工智慧學堂

人工智慧的主題是學習, 從簡單的機器學習到深度學習, 我們始終在頭疼的一個事情就是過擬合。 對於過擬合, 我們有很多說法, 過擬合對應的是機器死記硬背, 沒有能夠舉一反三的情況。 關於什麼是泛化能力, 我們管它叫機器在新數據面前的預測水平。

用一個簡單的方法理解過擬合,如果你手中的數據有限,比如說星空裡觀測到的三個星星, 你可以想像出任何一個複雜的圖形穿過那三個點,也是你的想像力豐富多彩,你就可以做出越多這樣的圖形。事實上,我們知道這樣的想像不具備任何預測能力,如果天空中出現第四顆星,我們一定就不能確定它是否在該在的位置上。 

過擬合的反面, 就是泛化, 應該說,它就是學習的本質。 否則, 整個機器學習就是一門擬合而已, 深度學習就是比較複雜的擬合。學習的最高境界,是在紛繁的現象裡總結出簡單的定理,比如看到大量物體運動的軌跡,總結出牛頓定律: F=ma . 但是它的預測能力幾乎是無限的。學習, 本來就是在總結規律, 而不是複製數據。        

然而翻開機器學習的典籍,關於泛化和過擬合的理解,卻非常零碎,表面化。首先,我們回顧,我們看來自不同學派的不同觀點和做法:

1, 貝葉斯學派的最簡單模型: 學習是從先驗到後驗概率的轉化, 一個好的學習算法, 最重要的事情是用最少的假設,得到對數據出現最大概率的解釋 ,每多一個假設 ,整個觀測成立的概率就乘以一個小於1的因子, 假設解釋理論的概率迅速減少。 這個理念翻譯為白話就是「如無必須, 勿添實體」。 來自貝葉斯的一個直接方法論是引入最大後驗概率和正則化的概念, 貝葉斯派的核心觀點是我們需要簡單的模型。 模型的參數直接體現複雜度, 因此貝葉斯觀點下參數多而數據少, 就是過擬合的直接原因。

2, 幾何派機器學習的風險最小化: 泛化誤差的來源是數據的量不夠大, 新的沒有見過的數據代表著看不見的額風險, 因此我們要泛化風險最小化, 如果是一個分類問題, 意味著你要找一個分類界限,叫已知的數據點離分類邊界足夠遠, 這個想法, 就是maximum margin solution 支持向量機的源泉。

3, 統計機器學習的模型平均: 過擬合的源泉是數據量不夠大而模型的參數過多,引起對於數據集的輕微變化, 模型參數劇烈變化, 從而在測試集的表現就是高方差, 訓練集稍微一變,結果就變了。

那麼如何抵抗過擬合的一個方法就是做平均,每個模型假設可能會犯錯誤, 把它們平均起來減少了模型在新數據上的方差。 比如說我們最喜歡的決策樹, 我們如果把一棵樹變成一片森林, 過擬合的風險大大減少, 因此我們得到隨機森林。

3, 連接主義學派, 連接主義學派認為, 過擬合的風險來自於神經網絡具有無與倫比的擬合能力, 那麼如果要削弱過擬合的風險, 我們就加入一個東西, 叫dropout, 我們在訓練的時候隨機的篩選掉一些連接, 然後如果網絡還能做正確分類他就是具有魯棒性, 這就是連接主義的做法。

應該說,這些說法不僅有些雜亂,甚至某些時候是矛盾的。 如果仔細思考,我們會立刻發現下面幾個問題:

1,在機器學習時代,我們希望在同等數據下參數越少越好,而在深度學習時代 ,我們發現模型的範化能力隨著參數的增加而增加,層數多了,反而泛化誤差的能力更好。更有甚者, 深度學習動輒使用參數的數量大於數據的量,但是模型卻不會過擬合。 

2,即使機器學習傳統的正則方法,也看起來矛盾重重,比如很多模型都沒有使得模型更簡單而是更複雜,卻同樣能夠減少範化誤差。         

一種更好的理解方法是,機器學習裡說的泛化誤差和物理裡的熵最大有一種深刻的聯繫。如果有一個實際觀測,有一個模型空間, 這個模型空間的每個模型都代表著我們對真實數據生成過程的一種模擬。 那麼我們希望符合實際觀測的模型在這個模型空間裡越多越好,而不僅僅只有一個, 而且從符合觀測到不符合觀測的過度要比較均勻,這樣我們就可以從容的容納最多的隨機性,這樣找到的模型,也就是我們要的泛化能力最高的解。

簡單的來說,機器學習的過擬合, 根源於它是一種反向工程。 一組輸入, 經過真實世界的變化得到一組輸出,比如說人腦看到一個圖片就知道是個蘋果。機器只是得到了這些輸入和輸出,就要產生一個模型,跟那個真實世界的產生過程一樣。這其實是不可能的,頂多是類似。你所擁有的數據也僅僅是一些特例而已。我們的機器學習黑箱,無論如何學,只是提供可能的關係中的一個版本。你的訓練集上的準確度再高,這僅僅是一個巧合而已。 一個經常被用到的比喻就是,如果一個機器學習模型死記硬背的能力超強,它幾乎可以把所有的訓練集的標籤都記下來,然後一個不差的背出(想像一個神經元數量和數據量一樣多的神經網絡),但是只要數據哪怕改變一點點,它一定出錯。 

那麼如何抵抗這樣的問題呢? 其實一個很好的方法就是讓這個求得的解不那麼湊巧。假如你用不同的方法改變你的數據集, 最終得到的結果是一致的。當年的機器學習經典教材裡管這個叫低方差,就是說數據變一變, 結果不太變。 如果你一味追求低方差, 你會發現最後模型就傻了,所以,你還要權衡一下模型的準確度。

我們再看下物理裡熵的概念: 對於一個複雜的系統,比如一群分子,一個人群,你要測量其中的某個性質, 比如分子的動能, 人的身高, 這個東西首先具有的性質就是不確定性,由一個概率分布表達。熵用來衡量這個分布的不確定性大小。一個分布具有的可能性越多, 概率分布越均勻,熵就越大。 物理上一個系統往往趨於熵最大的狀態, 熵越高系統越穩定。但是真實情況下, 我們只關心在一定限制條件下的熵, 比如體積溫度壓強,這個時候熵不能隨意的增大而是受到限制條件的最大化, 我們通過在熵最大化公式裡引入拉格朗日乘子法解決這個問題,也就是受限條件下的最大化問題。

在同樣能擬合數據的情況下, 我們需要找到模型空間裡那個熵最大的解。 學習器永遠不是只有一組參數w,而是一個很多參數組成的空間。 每組參數代表一個假設。什麼是好的模型?  一方面你要能給我生成特別多不一樣的假設, 也就是模型的容量要足夠大, 足夠有層次(比如加入深度),這樣你具有足夠強的擬合能力。 另一方面, 要讓符合數據觀測的假設足夠多, 可能的分布足夠均勻, 這也正是熵最大的含義所在。 你找到的解不是那麼湊巧得到的, 也就是熵很大,最終, 你在這組解裡取一個平均,也就取得了泛化誤差最小的解。

一方面模型儘量複雜,一方面有大量行的通的解, 這樣就是最好的。 這就把那些特別複雜的模型從潘多拉的魔盒解放了出來。

用這樣的觀點來看,機器學習和深度學習不同視角下的正則化就不會那麼多矛盾:

1, 機器學習, 這個觀點在支持向量機算法上體現的淋漓盡致。所謂的max margin solution,  也就是最大間隔,也就是說這個時候兩組點之間的隔離帶最胖,兩組點被分的最開,這個時候,所有出於隔離帶裡的直線本質都可以把兩組點分開,如果一個直線代表模型的一種可能,這個時候就有最多的模型可以解釋數據,而我們選擇中央的那一條,是因為這個解是所有那些可能的解的平均,因而也就是最安全的。 我們最終把這個解釋為結構風險最小。 

再看邏輯斯蒂回歸,整個邏輯斯蒂回歸都可以從熵最大裡面推出。事實上,通過交叉熵找到的最後的邏輯斯蒂回歸的解, 和支持向量機的解具有一致性。 我們的邏輯斯蒂回歸就是加了概率分布的最大間隔解。 

2,關於一範數和二範數: 如果有一組數據x,y同時可以被模型w解釋,那麼我們偏好w較小的(這基於你假定預測數據的分布符合高斯)。 事實上如果你做一個統計實驗你會發現,w的模長越小,你在你選擇的解周圍就有越多差不多也符合觀測的解。 相反,如果你的w模長很大,你會發現,你稍微改變w以後, 模型的解釋力就很差了。 一範數的道理是類似的, 只不過你假定數據的分布符合拉普拉斯而非高斯分布,同時引入稀疏性。          

3 進入到深度學習的世界, 我們看到之前說過的那個矛盾不見了, 因為,增加模型參數不再和過擬合有必然聯繫,增加模型參數只是增大了可能的模型空間。但是,如果這裡面有很多解是符合觀測的,那增大的模型空間不但不是詛咒,還是一種福祉。 比如如果你增加了很多層, 但是通過dropout這樣的隨機減枝操作,你的解不受影響,也就說明有大量的解都符合觀測, 也就是說這一組解其實都是泛化能力比較好的。  

我們的網絡不是宇宙裡最特別的那個, 它只是無數個這樣的網絡裡的一元,而最後我們就把這些網絡做個平均就可以了, 這正是dropout的道理所在! 一個網絡越接近一個隨機的網絡, 越是在毫不刻意的情況下發現數據裡的規律, 就越有可能是泛化能力最好的模型。

再看各類隱式的防止過擬合的手段,比如隨機梯度下降,SGD,  隨機梯度下降是說每次取一個數據(或一個小批量數據), 由於取數據的這個過程是隨機的,帶來的參數改變的信息也就有限,也就是帶來一個噪聲。我們說,這個過程就像物理裡的含有一個漂移項的布朗運動,一方面它在往更正確的方向運動,一方面它也在做一個隨機遊走。Tshiby信息瓶頸的論文指出到了訓練後期,我們幾乎完全做的是一個隨機遊走(我們看到訓練誤差變化不大)。這件事和泛化的聯繫就很顯然了,一個隨機遊走的過程又不允許訓練誤差增大,那麼它只能尋找那個周圍有很大的自由度,或者說附近的解都比較正確的那個參數區域, 這就是泛化的根本。 

4, 回看Tshiby的信息瓶頸理論,其實,它裡面有新意的東西已然不多了,它所說的,深度網絡實現一個信息壓縮,也就是一個降維的過程,它符合公式:

而在這其中, 我們也看到深度學習和傳統機器學習的潛在不同, 它出現了一個介導T, 也就是我們說的representation。 輸入信息X, 先被翻譯成表徵T, 再達到Y , 從T到Y的過程。

這裡說的是, 表徵就是被轉化出來的特徵T, 需要具有兩重性, 一方面, 它需要儘量少的含有X的信息, 另一方面, 它們需要儘量多的含有標籤Y的信息。

儘量少的含有X的信息, 也就是你要儘可能的不care X裡的變化。

如果對這個公式進行處理:

這裡的 H(T|H) 就是條件熵,數據本身分布的熵 H(X) 是先天確定的,那麼最小化互信息,就是最大化這個條件熵。也就回到了我們剛剛說的,要有儘可能多的模型符合觀測數據的同時保存對Y的預測力,也正是泛化的本質,也是深度學習模型能夠在變得越來越複雜的同時保有抵抗過擬合能力的關鍵。 

作者簡介

作者許鐵, 法國巴黎高師物理碩士 ,以色列理工大學(以色列85%科技創業人才的搖籃, 計算機科學享譽全球)計算神經科學博士,巡洋艦科技有限公司創始人, 《機器學習與複雜系統》紙質書作者。曾在香港浸會大學非線性科學中心工作一年 ,萬門童校長好戰友。

相關焦點

  • 如何理解和評價機器學習中的表達能力、訓練難度和泛化性能
    這些模型還只是在一個相對簡單的環境中去尋找單一的策略來使模型表現得更好, 沒有任何的選擇性機制讓他們可以泛化。 也就是說, 它們還僅僅是單純的優化問題, 而不是一個複雜的機器學習問題。泛化性能在這三個問題中, 泛化性能是最深刻的,也是機器學習的核心問題。簡單來講, 泛化性能用來衡量一個在訓練集上訓練好的模型在測試集上的表現。
  • 觀點| 我們該如何學習機器學習中的數學
    如上所示,若對於微積分有一定的理解,那麼我們可以清晰地理解這兩行基本代碼。因為機器學習中很多代碼都在描述數學運算,因此了解數學原理對於理解機器學習模型過程非常重要。構建機器學習產品中的數學為了完成這一章節,我曾與機器學習工程師探討到底哪些數學對於調試他們的系統最重要。以下一些問題與回答是工程師站在數學的角度下的看法。
  • 史丹福大學馬騰宇:無法理解現有的深度學習算法?那就設計一個能...
    「雖然我們無法理解現有的深度學習算法,但我們可以設計我們既能理解又能保證有效的新算法。」我們下面來看馬騰宇的報告內容:一、為什麼過參數化的深度學習模型能實現泛化?深度學習是馬騰宇研究組的重要研究方向,他們的主要研究思路是從方法論層面,通過一些數學或理論的分析從技術的角度提高深度學習模型的性能。
  • 如何入門Python與機器學習
    什麼是機器學習  清晨的一句「今天天氣真好」、朋友之間的寒暄「你剛剛是去吃飯了吧」、考試過後的感嘆「複習了那麼久終有收穫」……這些日常生活中隨處可見的話語,其背後卻已蘊含了「學習」的思想—它們都是利用以往的經驗、對未知的新情況作出的有效的決策。而把這個決策的過程交給計算機來做,可以說就是「機器學習」的一個最淺白的定義。
  • 要理解深度學習,必須突破常規視角去理解優化
    深度學習時代,機器學習通常歸結為首先為手頭的學習任務定義合適的目標/成本函數,然後使用梯度下降的某種變體(通過反向傳播實現)來優化這個函數。難怪每年有數以百計的機器學習論文貢獻給優化的不同領域。但我認為,如果你的目標是對深度學習進行數學理解的話,那麼從常規視角去理解優化明顯是不夠的。優化的常規視角:儘快找到目標最小可能值的解決方案。先驗上來說,並不確定是否所有的學習都要優化一個目標。大腦中的學習是否也如此是神經科學中一個長期存在的開放性問題。
  • 人工神經網絡為夢想新理論鋪平道路
    Hoel說:「大多數的夢根本不涉及特定的記憶,這使得整合新記憶成為做夢的一個可疑目的。 機器學習的線索 他的新觀點是,夢的目的是幫助大腦基於特定的經驗做出概括。他們的做法與防止人工神經網絡過度擬合的機器學習專家類似。
  • 極簡機器學習課程:使用Python構建和訓練一個完整的人工神經網絡
    1.數據+架構要想使用一種機器學習的方法,我們首先需要數據。獲取到數據後,我們會使用程式語言Python,在二維numpy庫裡存儲數據。數據準備好後,就可以用它訓練一個模型了。機器學習中有大量的模型,本文訓練的是當前特別火的人工神經網絡。
  • Cell|機器學習通過對海馬結構的泛化來整合空間和關聯記憶
    撰文 | Qi人類和其他動物能夠從零碎的觀察中得出複雜的推論,並迅速整合新知識來控制其行為,這些表現與海馬-內嗅系統(hippocampal-entorhinal system)對於空間和關聯記憶的調控密不可分。
  • ...走向機器學習「正道」:小朋友才迷信算法,大人們更重視工程實踐
    其實 AI 新人們在進入職場後也愈發意識到這個問題,那他們該如何提升自己的實戰能力?雷鋒網特邀王剛為大家講述機器學習的實戰與應用,王剛根據工程、產品、業務等多個維度幫大家梳理如何系統地去學習機器學習。嘉賓介紹:王剛,前樂視大數據總監,現任某電商平臺大數據總監。
  • 重磅乾貨 | 從連續的視角看機器學習
    英文論文PDF文件下載請在本公眾號回復關鍵詞「機器學習連續視角」。摘要 在經典數值分析的影響下,我們提出了一個連續的機器學習形式,將其作為變分法和微分積分方程中的一個問題。我們證明了傳統的機器學習模型和算法,如隨機特徵模型、兩層神經網絡模型和殘差神經網絡模型,都可以表示成(以比例形式)對應連續形式的離散化的特例。我們還提供了從這種連續形式自然產生的新模型,例如基於流的隨機特徵模型,以及新算法,例如平滑粒子方法和譜方法。我們討論了如何在這個框架下研究泛化誤差和隱式正則化問題。
  • 觀點| NIPS 2017經典論文獎獲得者機器學習「鍊金術」說引熱議,Le...
    Ali Rahimi 的完整演講視頻 Ali Rahimi 在演講中說道:「吳恩達曾說過, 機器學習就像是新時代的電力 。我卻認為,機器學習正在變成新時代的鍊金術。鍊金術本身並不壞,它引出了冶金、紡織、玻璃製造,也推動了人類醫療科技的發展;但與此同時,鍊金術師還用水蛭來給人治病,希望讓其他金屬變成金子。」
  • 【全自動機器學習】ML 工程師屠龍利器,一鍵接收訓練好的模型
    文章內容屬作者個人觀點,不代表和訊網立場。投資者據此操作,風險請自擔。  1 新智元原創作者:胡毅奇,南京大學 LAMDA 研究所   【新智元導讀】機器學習系統有大量的超參數,在應用中需要依賴領域專家知識,並且有繁重的人工調參任務。
  • 快速泛化理論假說揭示記憶提取機制
    原標題:快速泛化理論假說揭示記憶提取機制 中國科學院昆明動物研究所研究員徐林帶領的學習記憶研究實驗室,與多家科研單位密切合作,發現了記憶「快速泛化」新現象。通過揭示其神經環路機制,提出了記憶提取的「快速泛化理論假說」。12月19日,其相關研究成果論文發表在《自然·通訊》上。 記憶有編碼、儲存和提取三個過程。
  • 在機器學習的世界裡打怪升級——KNN算法篇
    「全文約2000字,閱讀時間約6分鐘」 來自機器學習世界裡的勇士,你剛走出新手村,還沒完全武裝自己,就碰到了旅途中第一個小boss——KNN算法。 不過也別害怕,這是入門機器學習zui簡單、也zui容易理解的一個算法。
  • 機器學習之正則化
    當利用複雜的模型擬合數據,過擬合現象的出現導致模型的泛化能力下降時,使用正則化的適用可以降低模型的複雜度。這次為大家總結了正則化的相關知識點,幫助更好的理解正則化這一概念。正則化的本質就是對某一問題加以先驗的限制或約束以達到特定目的的一種手段或操作。
  • 機器學習在生命科學中的應用
    機器學習可以應用於drug-develop的所有階段,包括靶標驗證,預後生物標記物的鑑定和試驗中數字pathology數據的分析。目前許多公司已經將投資目標轉向機器學習領域,通過支持機器學習方法的開發,促進drug-develop研發。
  • 常見的機器學習算法,你知道幾個?
    最近幾年,得益於數據量的上漲、運算力的提升,特別是機器學習新算法的出現,人工智慧迎來了大爆發的時代。提到機器學習這個詞時,有些人首先想到的可能是科幻電影裡的機器人。事實上,機器學習是一門多領域交叉學科,涉及概率論、統計學、算法複雜度理論等多門學科。專門研究計算機如何模擬或實現人類的學習行為,利用數據或以往的經驗,以此優化電腦程式的性能標準。
  • 清華張撥:人工智慧還處於「低等動物」的認知水平 機器學習的本質...
    張院士認為:以深度學習為基礎的人工智慧,還處於「低等動物」的認知水平,能夠識別物體、到不能理解,遠未到人類認知水平。另外,目前的人工智慧系統非常容易受到攻擊,例如人為地供給數據:黑客可以針對訓練數據進行篡改。這樣一來,機器學習的本質變得非常脆弱、易受攻擊。
  • 機器學習和深度學習最佳作品
    來源:CPDA數據分析師網 機器學習算法的超參數優化:理論與實踐 機器學習算法已廣泛應用於各種應用程式和領域,為了使機器學習模型適應不同的問題,必須調整其超參數,為機器學習模型選擇最佳的超參數配置會直接影響模型的性能,它通常需要對機器學習算法和適當的超參數優化技術有深入的了解
  • 注水、佔坑、瞎掰:起底機器學習學術圈的那些「偽科學」
    我們認識到推測作為一種方式,可以讓作者傳授可能尚未經過嚴格科學審核的直覺理解。然而,有些論文通常以解釋為幌子發表實則是推測的觀點,而由於科學論文一貫嚴謹的聲譽和作者被假定的專業性,這些推測被進一步視為了權威。