談談機器學習的趨勢 - 新三大學習范式
引 言
機器學習/深度學習是一個廣闊的研究領域,說來并不年輕,但又朝氣蓬勃,似乎每天都在涌現大量的新方法和新技術。
一般來說,傳統的機器學習可以分為三個基本學習范式,即監督學習、無監督學習以及強化學習。
但在本篇中,我們將現代機器學習根據模型的形式分為新的三個學習范式,即混合學習、復合學習以及簡化學習。在每個范式中都包含一種學習方式和理念,它為拓展當前機器學習的能力和研究范圍提供了巨大的潛力。
- 混合學習(Hybrid learning)— 如何跨越監督學習和無監督學習的邊界,以充分使用大量的未標記數據?
- 復合學習(Composite learning)— 如何以新方式組合模型或組件以產生一個比各部分總和更強大的復合模型?
- 簡化學習(Reduced learning)— 出于性能和部署目的,在保持相同或更大的預測能力的同時,如何減少模型的規模和信息流?
機器學習的未來或許在于這三種學習范式,而每一種都是緊密相關的。
2混合 學習
這種范式試圖跨越監督學習和無監督學習之間的界限。由于標簽數據缺乏且成本高,因此常常在業務上下文中使用這類方法。從本質上說,混合學習就是下面這個問題的答案,
+ 如何使用監督方法來解決或結合無監督問題?
首先,半監督學習在機器學習社區中獲得了發展,因為它能夠以較少的標記數據在監督問題上表現出色。例如,經過精心設計的半監督 GAN(Generative Adversarial Network)在僅查看 25 個訓練示例[1]后,在 MNIST 數據集上實現了 90% 以上的準確率。
半監督學習是針對存在大量無監督數據而少量監督數據的數據集而設計的。傳統上,將在數據的一部分上訓練帶監督的學習模型,而在另一部分上訓練無監督的模型,而半監督的模型則可以將標記數據與未標記數據中提取的見解(insights)相結合。
〄 半監督模型示例。
半監督的 GAN(縮寫為 SGAN)是對標準對抗網絡模型的改進。鑒別器既輸出 0/1以判斷是否為生成圖像,又輸出類別信息(multi-output learning)。
基于這樣的思想,即通過鑒別器的學習來區分真實圖像和生成圖像,它能夠在沒有具體標記的情況下學習數據背后的結構。通過來自少量標記數據的額外增強,半監督模型可以用少量的監督數據來達到最佳性能。
可以在此處閱讀有關 SGAN 和半監督學習的更多信息[2]。
GAN 還參與了混合學習的另一個領域 — 自監督學習,其中無監督問題被明確地定義為監督問題。GAN 通過生成器的引入來人為創建監督數據;創建標記以標識真實的/生成的圖像。在無人監督的前提下,實施了監督任務。
或者,考慮使用編碼器 - 解碼器模型進行壓縮。形式最簡單的一種,就是中間有少量節點的神經網絡,表示以某種瓶頸方式的壓縮。兩側分別對應編碼器和解碼器。
〄 自編碼器示例。
網絡經過訓練可以產生與輸入相同的輸出(從無監督的數據人為創建監督任務)。由于中間有一個故意放置的瓶頸,因此網絡無法直接保持原樣地傳遞信息。相反,它必須找到最佳方法來將輸入內容保存到一個較小的單元中,以便解碼器可以對其進行合理地解碼。
經過訓練后,編碼器和解碼器被拆開,可用于解碼數據,或者以極小的形式壓縮數據。它們也可以用于數據降維。
再舉一個例子,考慮大量文本(比如來自數字平臺的評論)。通過一些聚類或流形學習方法,我們可以為文本集生成聚類標記,然后將它們視為標記。
在解釋了每個聚類之后(例如,聚類 A 代表抱怨產品的評論,聚類 B 代表積極的反饋等),然后可以使用像 BERT 這樣的深度自然語言處理(NLP)架構將新文本分類到這些聚類中,所有這些都是在沒有標記的數據以及較少人員參與的情況下進行。
這又是將無監督任務轉換為監督任務的一種精彩應用。在一個絕大多數數據都是無監督數據的時代,通過混合學習,在監督學習和無監督學習之間建立創造性的聯接,具有巨大的潛力和應用價值。
3復合 學習
復合學習的目的不是利用一種模型的知識,而是幾種模型的知識。人們認為,通過靜態或動態信息的獨特組合或注入,深度學習可以比單一模型在理解和性能上更加深入。
遷移學習是復合學習的一個典型示例,其前提是模型的權重可以從一個在類似任務上預先訓練過的模型中借用,然后在特定任務上進行微調。像 Inception 或 VGG-16 這樣的預訓練模型,其結構和權重被設計用來分類圖像。
如果我要訓練一個神經網絡來識別動物(如貓,狗等),那么我不會從頭開始訓練一個卷積神經網絡,因為要獲得良好的結果將花費大量時間。相反地,我將采用像 Inception 這樣的預訓練網絡,該網絡已經具有圖像識別的基本知識,只需要在數據集上進行了一些額外的訓練。
同樣,NLP 神經網絡中的詞嵌入功能,根據詞與詞之間的關系將詞在實際意義上更接近其他詞(例如,蘋果和橙子的距離要比蘋果和卡車的距離小)。像 GloVe 這樣的預訓練嵌入可以放置到神經網絡中,從已經有效的單詞映射到數字的、有意義的實體。
不太明顯的是,競爭也會刺激知識的增長。一方面,生成對抗網絡通過從根本上使兩個神經網絡相互對抗而借鑒了復合學習范式。生成器的目標是欺騙鑒別器,而鑒別器的目標則是不被欺騙。
模型之間的競爭將被稱為對抗性學習,不要與另一種對抗學習相混淆,后者是指設計惡意輸入以及利用模型中的弱決策邊界。
對抗學習可以刺激通常是不同類型的模型,其中模型的性能可以相對于其他模型的性能來表示。在對抗學習領域,仍有很多研究工作要做,生成對抗網絡是對抗學習領域唯一突出的創新。
另一方面,競爭學習與對抗學習類似,不過是在逐節點的規模上執行的: 節點在對輸入數據的子集做出響應的權利上競爭。競爭學習是在競爭層中實現的,除了一些隨機分布的權重外,所有神經元完全相同。
將每個神經元的權值向量與輸入向量進行比較,將相似度最高的神經元激活(輸出 = 1),將其他神經元停用(輸出 = 0),這種無監督技術是自組織映射[3]和特征探索[4]的核心組成部分。
復合學習的另一個有趣示例是神經網絡架構搜索。簡單來說,強化學習環境中的神經網絡(通常是遞歸的)會學習為數據集生成最佳的神經網絡 — 此算法為你找到最佳的架構!
集成方法也是復合學習中的主要內容。深度集成方法已經證明是非常有效的,并且在實際應用中,端對端模型的堆疊(例如編碼器和解碼器)已經越來越流行。
許多復合學習正在尋找在不同模型之間建立聯系的獨特方法。前提是,一個單一的模型,甚至是非常大的模型,都比幾個小型模型/組件的復合模型的性能差,其中那個每個小型模型/組件都被委托專門負責部分任務。
例如,考慮為餐廳構建聊天機器人的任務。
〄 聊天機器人模型設計示例。
我們可以將其分為三個獨立的模塊: 閑聊、信息檢索以及動作,并設計一個專門針對每種任務的模型。另外,我們可以委托一個單一模型來執行所有三個任務。
復合模型可以在占用更少空間的同時實現更好的性能。此外,可以用 Keras functional API 之類的工具輕松地構建這些具有非線性拓撲的網絡架構。
為了處理越來越多的數據類型(例如視頻和 3D 數據),研究人員必須建立更復雜的復合模型。
在這里閱讀更多關于復合學習及其未來發展的知識[5]。
4簡化 學習
模型的規模正在不斷擴大,尤其是在 NLP 方面。最新的 GPT-3 模型具有 1750 億個參數。將其與 BERT 進行比較就像將木星與蚊子進行比較。深度學習的未來會更廣闊嗎?
這點可能具有很大的爭議?并沒有。誠然,GPT-3 的功能非常強大,但是人類歷史一再證明成功的科學是對人類影響最大的科學。當學術界偏離現實太遠時,它通常就會淡出人們的視線。這也是神經網絡在 20 世紀后期的一段短暫時間里被遺忘了的原因之一,因為可用的數據太少了,所以無論它的想法多么精巧,都毫無用處。
GPT-3 是另一種語言模型,它可以編寫令人信服的文本。它的應用在哪里?它的確可以生成例如查詢答案。但是,有更加有效的方法可以做到這一點(例如遍歷知識圖并使用較小的模型 BERT 來輸出答案)。
考慮到計算能力的下降,GPT-3 的龐大規模(更不用說更大的模型)似乎根本不是可行或必要的了。
“摩爾定律有點兒沒用了。” — 微軟首席執行官 Satya Nadella。
取而代之的是,我們正朝著嵌入式 AI 的世界邁進。在這個世界中,智能冰箱可以自動訂購雜貨,而無人機則可以自行導航整個城市。強大的機器學習方法應該能夠加載到 PC、移動電話和小型芯片上。
這要求輕量級 AI,即在保持性能的同時使神經網絡更小。
事實證明,在深度學習研究中,幾乎所有的東西都直接或間接地與減少必要數量的參數有關,而這些參數與提高泛化和性能緊密相關。
例如,卷積層的引入大大地減少了神經網絡處理圖像所需的參數數量。遞歸層在使用相同權值的同時融入了時間概念,使得神經網絡能夠以更少的參數更好地處理序列數據。
嵌入層顯式地將實體映射到具有物理意義的數值上,從而使得負擔不會放在其他參數上。在一種解釋中,Dropout 層顯式地阻止參數對輸入的某些部分進行操作。L1/L2 正則化確保網絡利用了所有的參數,確保每個參數都不會太大,并且每個參數都最大化了它們的信息價值。
隨著專業層的建立,網絡對更復雜、更大數據的要求越來越少,而對于尋求壓縮網絡的趨勢則更加明顯了。
神經網絡修剪試圖去除對網絡輸出沒有價值的突觸和神經元。通過修剪,網絡可以在幾乎完全去除自身的情況下保持其性能。
〄 神經網絡修剪示例。
其他方法,例如患者知識提煉(Patient Knowledge Distillation)查找方法,可將大型語言模型壓縮為可下載到用戶手機上的表單。這是 Google 神經機器翻譯(GNMT)系統的做法,該系統為 Google Translate 提供支持,且可以創建可離線訪問的高性能翻譯服務。
實質上,簡化學習圍繞以部署為中心的架構設計。這就是為什么大多數簡化學習的研究來自公司的研究部門。以部署為中心的設計的一個方面不是盲目遵循數據集的性能指標,而是專注于部署模型時的潛在問題。
例如,前面提到的對抗輸入是旨在欺騙網絡的惡意輸入。在標志上噴上油漆或貼紙會欺騙自動駕駛汽車,使其加速超過極限速度。負責任的簡化學習的一部分,不僅是使模型輕巧到足以使用,同時要確保它可以適應數據集中未顯示的極端情況。
在深度學習研究中,簡化學習可能得到的關注最少,因為我們成功地在可行的架構規模下實現了良好的性能遠不如我們通過一個擁有無數參數的架構實現了最先進的性能那么吸引人。
不可避免地,當對更高百分比的追求消失時,正如創新的歷史所顯示的那樣,簡化學習(實際上可以認為是實用學習)將得到它應該得到的更多關注。
5小 結
混合學習試圖跨越監督學習和無監督學習的邊界。半監督學習和自監督學習之類的方法能夠從未標記的數據中提取有價值的見解。隨著無監督數據的數量呈指數級增長,這種方法具有不可思議的價值。
隨著任務變得越來越復雜,復合學習將一項任務分解為幾個更簡單的部分。當這些對應不同部分的模型一起工作或相互對抗時,結果就形成了一個更加強大的模型。
深度學習走入炒作階段,簡化學習并沒有引起太多關注,但是很快就會出現足夠的實用性以及以部署為中心的網絡設計。
[1]半監督 GAN: https://coursys.sfu.ca/2020sp-cmpt-726-x1/pages/SSL_GAN_report/view
[2]SGAN 和半監督學習: https://towardsdatascience.com/supervised-learning-but-a-lot-better-semi-supervised-learning-a42dff534781
[3]自組織映射: https://en.wikipedia.org/wiki/Self-organizing_map
[4]特征探索: https://onlinelibrary.wiley.com/doi/pdf/10.1207/s15516709cog0901_5
[5]復合學習: https://medium.com/analytics-vidhya/compositional-learning-is-the-future-of-machine-learning-22b56ad09edc
[6]Andre Ye: https://towardsdatascience.com/the-future-of-deep-learning-can-be-broken-down-into-these-3-learning-paradigms-e7970dec5502
本文轉載自微信公眾號「機器學習與數學」,可以通過以下二維碼關注。轉載本文請聯系機器學習與數學公眾號。