深度學(xué)習(xí)是一個廣闊的領(lǐng)域,它圍繞著一種形態(tài)由數(shù)百萬甚至數(shù)十億個變量決定并不斷變化的算法——神經(jīng)網(wǎng)絡(luò)。似乎每隔一天就有大量的新方法和新技術(shù)被提出來。不過,總的來說,現(xiàn)代深度學(xué)習(xí)可以分為三種基本的學(xué)習(xí)范式。每一種都有自己的學(xué)習(xí)方法和理念,提升了機器學(xué)習(xí)的能力,擴大了其范圍。
深度學(xué)習(xí)的未來在于這三種學(xué)習(xí)模式,而且它們彼此之間密切相關(guān):
混合學(xué)習(xí)——現(xiàn)代深度學(xué)習(xí)方法如何跨越監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)之間的邊界,以適應(yīng)大量未使用的無標簽數(shù)據(jù)?
復(fù)合學(xué)習(xí)——如何以創(chuàng)造性的方法將不同的模型或組件連接起來,以生成一個大于各部分之和的復(fù)合模型?
簡化學(xué)習(xí)——出于性能和部署目的,如何減少模型的規(guī)模和信息流,同時保持相同或更強的預(yù)測能力?
混合學(xué)習(xí)
這種范式試圖跨越監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)之間的界限。由于有標簽數(shù)據(jù)缺乏且成本高,所以常常在業(yè)務(wù)上下文中使用。從本質(zhì)上說,混合學(xué)習(xí)是對下面這個問題的回答:
如何使用監(jiān)督方法解決非監(jiān)督問題?
首先,半監(jiān)督學(xué)習(xí)在機器學(xué)習(xí)領(lǐng)域取得了良好的進展,因為它只需要很少的有標簽數(shù)據(jù)就能夠在監(jiān)督問題上有非常好的表現(xiàn)。例如,一個設(shè)計良好的半監(jiān)督式 GAN(生成式對抗網(wǎng)絡(luò))只需要 25 個訓(xùn)練樣本,就能在 MNIST 數(shù)據(jù)集上獲得了超過 90% 的準確率。
半監(jiān)督學(xué)習(xí)是針對有大量無監(jiān)督數(shù)據(jù)和少量有監(jiān)督數(shù)據(jù)的數(shù)據(jù)集而設(shè)計的。傳統(tǒng)上,監(jiān)督學(xué)習(xí)模型只在一部分數(shù)據(jù)上進行訓(xùn)練,無監(jiān)督模型則在另一部分數(shù)據(jù)上進行訓(xùn)練,而半監(jiān)督模型則可以將有標簽數(shù)據(jù)與從無標簽數(shù)據(jù)中提取的見解結(jié)合起來。
半監(jiān)督 GAN(簡稱 SGAN)是對 標準生成式對抗網(wǎng)絡(luò)模型 的改寫。判別器輸出 0/1 表示圖像是否生成,它也輸出項的類別(多輸出學(xué)習(xí))。
這是基于這樣一種想法,即通過判別器學(xué)習(xí)區(qū)分真實的和生成的圖像,它能夠?qū)W習(xí)它們的結(jié)構(gòu)而不需要具體的標簽。通過少量標簽數(shù)據(jù)的額外增強,半監(jiān)督模型就可以在少量監(jiān)督數(shù)據(jù)的情況下實現(xiàn)最高的性能。
要了解關(guān)于 SGAN 和半監(jiān)督學(xué)習(xí)的更多內(nèi)容,請查看這里:
https://towardsdatascience.com/supervised-learning-but-a-lot-better-semi-supervised-learning-a42dff534781
GAN 還參與了混合學(xué)習(xí)的另一個領(lǐng)域——自監(jiān)督學(xué)習(xí),在這種學(xué)習(xí)中,非監(jiān)督問題被明確地定義為監(jiān)督問題。GAN 通過引入生成器人為地創(chuàng)建監(jiān)督數(shù)據(jù);創(chuàng)建標簽來識別真實 / 生成的圖像。在無監(jiān)督的前提下,創(chuàng)建了一個有監(jiān)督的任務(wù)。
或者,考慮使用 編碼器 - 解碼器壓縮模型。在最簡單的形式中,它們是中間有少量節(jié)點(表示某種瓶頸壓縮形式)的神經(jīng)網(wǎng)絡(luò)。兩端分別是編碼器和解碼器。
網(wǎng)絡(luò)被訓(xùn)練成產(chǎn)生與輸入向量相同的輸出(從無監(jiān)督數(shù)據(jù)人為地創(chuàng)建監(jiān)督任務(wù))。由于故意在中間設(shè)置了瓶頸,所以網(wǎng)絡(luò)不會被動地傳遞信息;相反,它必須找到最好的方法將輸入內(nèi)容保存到一個小的單元中,這樣,解碼器就可以再次合理地對它解碼。
訓(xùn)練完成后,將編碼器和解碼器分開,用于壓縮或編碼數(shù)據(jù)的接收端,以極小的形式傳輸信息,而又幾乎不丟失數(shù)據(jù)。它們還可以用來降低數(shù)據(jù)的維數(shù)。
另一個例子,考慮一個大型的文本集(可能是來自數(shù)字平臺的評論)。通過一些聚類或流形學(xué)習(xí)(manifold learning)方法,我們可以為文本集生成聚類標簽,然后用它們作為標簽(如果聚類做得好的話)。
在對每個類進行解釋之后(例如,類 A 表示對產(chǎn)品的抱怨,類 B 表示積極的反饋,等等),可以使用像 BERT 這樣的深層 NLP 架構(gòu)將新文本分類到這些類中,所有這些都是使用了完全未標記的數(shù)據(jù),并將人的參與降至最低。
這又是一個將非監(jiān)督任務(wù)轉(zhuǎn)換為監(jiān)督任務(wù)的有趣應(yīng)用。在一個絕大多數(shù)數(shù)據(jù)都是非監(jiān)督數(shù)據(jù)的時代,通過混合學(xué)習(xí),在監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)之間創(chuàng)造性地架起一座橋梁,具有巨大的價值和潛力。
復(fù)合學(xué)習(xí)
復(fù)合學(xué)習(xí)為的是利用幾種模式的知識,而不是一種。該方法認為,通過獨特的組合或信息注入——包括靜態(tài)和動態(tài)——與單一模式相比,深度學(xué)習(xí)能夠在理解和性能方面不斷地深入。
遷移學(xué)習(xí)是復(fù)合學(xué)習(xí)的一個明顯的例子,它的前提是模型的權(quán)重可以從一個在類似的任務(wù)上預(yù)先訓(xùn)練過的模型中借用,然后在特定任務(wù)上進行微調(diào)。像 Inception 或 VGG-6 這樣的預(yù)訓(xùn)練模型,其結(jié)構(gòu)和權(quán)重被設(shè)計成可以區(qū)分幾種不同類別的圖像。
如果我要訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)來識別動物(貓、狗等),我不會從頭開始訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),因為要達到不錯的效果需要太長時間。相反,我會使用一個預(yù)先訓(xùn)練過的模型(比如 Inception,它已經(jīng)存儲了圖像識別的基礎(chǔ)知識),在數(shù)據(jù)集上額外進行幾個 epoch 的訓(xùn)練。
類似地,在 NLP 神經(jīng)網(wǎng)絡(luò)中,詞嵌入會根據(jù)單詞之間的關(guān)系在一個嵌入空間中將單詞映射到實際距離較近的其他單詞(例如,“apple”和“orange”的距離比“apple”和“truck”的距離更小)。像 GloVe 這樣預(yù)先訓(xùn)練好的嵌入可以放到神經(jīng)網(wǎng)絡(luò)中,從單詞到有意義的數(shù)字化實體的有效映射開始。
較為隱秘的一點是,競爭也能促進知識增長。首先,生成式對抗網(wǎng)絡(luò)借鑒了復(fù)合學(xué)習(xí)范式,從根本上使兩個神經(jīng)網(wǎng)絡(luò)相互競爭。生成器的目標是欺騙判別器,而判別器的目標是不被騙。
下文會將模型之間的競爭稱為“對抗性學(xué)習(xí)”,不要與另一種 設(shè)計惡意輸入并利用模型弱決策邊界 的對抗性學(xué)習(xí)相混淆。
對抗性學(xué)習(xí)可以增強模型,通常是不同類型的模型,在對抗性學(xué)習(xí)中,一個模型的性能可以用其他模型的性能來表示。在對抗性學(xué)習(xí)領(lǐng)域還有很多研究需要做,生成式對抗網(wǎng)絡(luò)是這個子領(lǐng)域唯一突出的創(chuàng)新。
另一方面,競爭性學(xué)習(xí)與對抗性學(xué)習(xí)類似,但是逐節(jié)點執(zhí)行的:節(jié)點競爭對輸入數(shù)據(jù)的一個子集作出響應(yīng)的權(quán)利。競爭性學(xué)習(xí)是在一個“競爭層”中實現(xiàn)的,在這個“競爭層”中,除了某些權(quán)重隨機分布外,神經(jīng)元都是相同的。
將每個神經(jīng)元的權(quán)值向量與輸入向量進行比較,然后激活(output = 1)相似度最高的“贏者全拿”神經(jīng)元,其余神經(jīng)元“不激活”(output = 0),這種無監(jiān)督技術(shù)是 自組織映射 和 特征發(fā)現(xiàn) 的核心組成部分。
復(fù)合學(xué)習(xí)的另一個有趣的例子是神經(jīng)結(jié)構(gòu)搜索。簡而言之,在強化學(xué)習(xí)環(huán)境中,神經(jīng)網(wǎng)絡(luò)(通常是 RNN)通過學(xué)習(xí)為數(shù)據(jù)集生成最好的神經(jīng)網(wǎng)絡(luò)——算法為你找出最好的架構(gòu)!
你可以點擊這里了解更多理論知識:
https://towardsdatascience.com/if-youre-hyped-about-gpt-3-writing-code-you-haven-t-heard-of-nas-19c8c30fcc8a
點擊這里查看其 Python 實現(xiàn):
https://towardsdatascience.com/automl-creating-top-performing-neural-networks-without-defining-architectures-c7d3b08cddc
集成(Ensemble)方法也是一種重要的復(fù)合學(xué)習(xí)方法。深度集成方法已經(jīng)被證明非常 有效,而且,端到端模型疊加,像編碼器和解碼器,已經(jīng)變得越來越流行。
復(fù)合學(xué)習(xí)的主要目的是找出在不同模型之間建立聯(lián)系的獨特方法。它的前提是:
單個模型,即使是一個非常大的模型,其性能也不如幾個小模型 / 組件,其中每一個都被委派專門處理一部分任務(wù)。
例如,考慮為一家餐館構(gòu)建一個聊天機器人的任務(wù)。
我們可以將其劃分為三個獨立的部分:寒暄 / 閑聊、信息檢索和動作,并針對每個部分單獨設(shè)計一個模型。或者,我們可以委托一個模型來執(zhí)行所有這三個任務(wù)。
復(fù)合模型性能更好,同時占用的空間更少,這應(yīng)該沒什么可奇怪的。此外,這些非線性拓撲可以用 Keras 函數(shù)式 API 這樣的工具輕松構(gòu)建。
為了處理越來越多樣化的數(shù)據(jù)類型,如視頻和三維數(shù)據(jù),研究人員必須建立創(chuàng)造性的復(fù)合模型。
點擊這里閱讀更多關(guān)于復(fù)合學(xué)習(xí)及其未來展望的內(nèi)容:
https://medium.com/analytics-vidhya/compositional-learning-is-the-future-of-machine-learning-22b56ad09edc
簡化學(xué)習(xí)
模型的規(guī)模,尤其是在 NLP 領(lǐng)域(深度學(xué)習(xí)研究的中心),正在大幅增長。最新的 GPT-3 模型有 1750 億個參數(shù)。把它和 BERT 比較就像把木星和蚊子比較一樣(并不夸張)。未來,深度學(xué)習(xí)的模型會更大嗎?
很可能不會。誠然,GPT-3 非常強大,但歷史一再表明,“成功的科學(xué)”是那些對人類影響最大的科學(xué)。當學(xué)術(shù)偏離現(xiàn)實太遠時,通常會淡出人們的視線。這就是神經(jīng)網(wǎng)絡(luò)在 20 世紀末期被短暫遺忘的原因,因為可用的數(shù)據(jù)太少了,以至于這個想法,無論多么巧妙,都是沒用的。
GPT-3 是另一種語言模型,它可以寫出令人信服的文本。它的應(yīng)用在哪里?是的,它可以生成查詢的答案。不過,還有更高效的方法來實現(xiàn)這一點(例如,遍歷一個知識圖,并使用一個更小的模型如 BERT 來輸出答案)。
考慮到 計算能力的枯竭,GPT-3 的龐大規(guī)模(更不用說更大的模型)似乎是不可行的,或者是不必要的。
“摩爾定律有點過時了。”——微軟首席執(zhí)行官 Satya Nadella
相反,我們正在走向一個嵌入式人工智能的世界,智能冰箱可以自動訂購食品雜貨,無人機可以自行導(dǎo)航飛遍整個城市。強大的機器學(xué)習(xí)方法應(yīng)該能夠下載到個人電腦、手機和小型芯片上。
這就需要輕量級人工智能:在保持性能的同時使神經(jīng)網(wǎng)絡(luò)更小。
事實證明,在深度學(xué)習(xí)研究中,幾乎所有的東西都與直接或間接地減少必要參數(shù)的數(shù)量有關(guān),而這又與提高泛化能力和性能緊密相關(guān)。例如,卷積層的引入大大減少了神經(jīng)網(wǎng)絡(luò)處理圖像所需的參數(shù)數(shù)量。遞歸層在使用相同權(quán)值的同時融入了時間的概念,使得神經(jīng)網(wǎng)絡(luò)能夠以更少的參數(shù)更好地處理序列。
嵌入層顯式地將實體映射到具有物理意義的數(shù)值,這樣負擔就不會落在其他參數(shù)上。有一種解釋說,Dropout 層在對輸入的某些部分進行操作時會顯式地屏蔽參數(shù)。L1/L2 正則化 確保網(wǎng)絡(luò)利用了所有的參數(shù),而且每個參數(shù)都不會太大,并最大化了每個參數(shù)的信息價值。
隨著專用層的建立,網(wǎng)絡(luò)對更復(fù)雜、更大數(shù)據(jù)的要求越來越少。其他最新方法明確地尋求簡化網(wǎng)絡(luò)。
神經(jīng)網(wǎng)絡(luò)剪枝 試圖去除對網(wǎng)絡(luò)輸出沒有價值的突觸和神經(jīng)元。通過剪枝,網(wǎng)絡(luò)可以在去除大部分網(wǎng)絡(luò)節(jié)點的情況下保持其性能。
其他方法,如 Patient Knowledge Distillation,可以將大型語言模型壓縮成可下載到用戶手機上的形式。對于支撐谷歌翻譯的 谷歌神經(jīng)機器翻譯(GNMT)系統(tǒng) 來說,這種考慮是有必要的,該系統(tǒng)需要創(chuàng)建一個能夠離線訪問的高性能翻譯服務(wù)。
本質(zhì)上講,簡化學(xué)習(xí)以部署為中心進行設(shè)計。這就是為什么大多數(shù)關(guān)于簡化學(xué)習(xí)的研究都來自于公司的研究部門。以部署為中心的設(shè)計不能盲目地遵循數(shù)據(jù)集上的性能指標,而要關(guān)注模型部署時的潛在問題。
例如,前面提到的 對抗性輸入 是設(shè)計用來欺騙網(wǎng)絡(luò)的惡意輸入。可以用噴漆或貼紙來欺騙自動駕駛汽車,使其遠遠超過限速。負責任的簡化學(xué)習(xí)不僅是使模型足夠輕量化,而且要確保它能夠適應(yīng)數(shù)據(jù)集中沒有表示出的極端情況。
在深度學(xué)習(xí)研究中,簡化學(xué)習(xí)得到的關(guān)注最少,因為“我們成功地在可行的架構(gòu)規(guī)模下實現(xiàn)了良好的性能”遠不如“我們利用一個擁有無數(shù)參數(shù)的架構(gòu)實現(xiàn)了最先進的性能”那么吸引人。
不可避免地,當對更高百分比的追求消失時,正如創(chuàng)新的歷史所顯示的那樣,簡化學(xué)習(xí)——實際上就是實用的學(xué)習(xí)——將得到更多它應(yīng)該得到的關(guān)注。
總 結(jié)
混合學(xué)習(xí)試圖跨越監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)的邊界。像半監(jiān)督和自監(jiān)督學(xué)習(xí)這樣的方法能夠從無標簽數(shù)據(jù)中提取有價值的見解,當無監(jiān)督數(shù)據(jù)的數(shù)量呈指數(shù)增長時,這些見解就變得非常有價值。
隨著任務(wù)變得越來越復(fù)雜,復(fù)合學(xué)習(xí)將一個任務(wù)分解為幾個更簡單的組件。當這些組件一起工作或者相互對抗,就可以得到一個更強大的模型。
深度學(xué)習(xí)已經(jīng)進入炒作階段,而簡化學(xué)習(xí)還沒有得到太多關(guān)注,但很快就會出現(xiàn)足夠?qū)嵱貌⑶沂且圆渴馂橹行牡脑O(shè)計。
責任編輯人:CC
-
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5518瀏覽量
121604
原文標題:深度學(xué)習(xí)未來的三種范式
文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
示波器的三種觸發(fā)模式
![示波器的<b class='flag-5'>三種</b>觸發(fā)<b class='flag-5'>模式</b>](https://file1.elecfans.com//web3/M00/05/0F/wKgZPGd8mc6ALpdlAAD652PjOPY684.png)
NPU在深度學(xué)習(xí)中的應(yīng)用
GPU深度學(xué)習(xí)應(yīng)用案例
激光雷達技術(shù)的基于深度學(xué)習(xí)的進步
AI大模型與深度學(xué)習(xí)的關(guān)系
深度學(xué)習(xí)中的時間序列分類方法
深度學(xué)習(xí)中的無監(jiān)督學(xué)習(xí)方法綜述
深度學(xué)習(xí)與nlp的區(qū)別在哪
深度學(xué)習(xí)的基本原理與核心算法
人工智能、機器學(xué)習(xí)和深度學(xué)習(xí)是什么
深度學(xué)習(xí)常用的Python庫
深度學(xué)習(xí)與傳統(tǒng)機器學(xué)習(xí)的對比
為什么深度學(xué)習(xí)的效果更好?
![為什么<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的效果更好?](https://file.elecfans.com/web2/M00/4E/DC/poYBAGLCjeiALm_WAAAYmfR7Qec474.png)
動態(tài)無功補償裝置的三種運行模式
![動態(tài)無功補償裝置的<b class='flag-5'>三種</b>運行<b class='flag-5'>模式</b>](https://file1.elecfans.com/web2/M00/B4/39/wKgaomV4ARmAeINRAAOenVmcIQ0086.jpg)
評論