提到AI領(lǐng)域的多任務(wù)學(xué)習(xí),很多人可能一下子就想到通用人工智能那里了。通俗意義上的理解,就像《超能陸戰(zhàn)隊》里的大白這樣一種護(hù)理機器人,既能進(jìn)行醫(yī)療診斷,又能讀懂人的情緒,還能像陪伴機器人一樣完成各種復(fù)雜任務(wù)。
不過大白畢竟只是科幻電影當(dāng)中的產(chǎn)物,現(xiàn)有的AI技術(shù)大多還處于單體智能的階段,也就是一個機器智能只能完成一項簡單任務(wù)。工業(yè)機器人中做噴漆的就只能用來噴漆,做搬運的只能用來搬運;識別人臉的智能攝像頭只能進(jìn)行人臉,一旦人類戴上口罩,那就要重新調(diào)整算法。
當(dāng)然,讓單個智能體實現(xiàn)多種任務(wù)也是當(dāng)前AI領(lǐng)域研究的熱點。最近,在強化學(xué)習(xí)和多任務(wù)學(xué)習(xí)算法上成績最好的是DeepMind公司的一款名為Agent57的智能體,該智能體在街機學(xué)習(xí)環(huán)境(ALE)數(shù)據(jù)集所有57個雅達(dá)利游戲中實現(xiàn)了超越人類的表現(xiàn)。
當(dāng)然,多任務(wù)學(xué)習(xí)不止用在游戲策略上。相對于現(xiàn)階段的AI,我們?nèi)祟惒攀悄軌蜻M(jìn)行多任務(wù)學(xué)習(xí)的高手。我們既不需要學(xué)習(xí)成千上萬的數(shù)據(jù)樣本就可以認(rèn)識某類事物,我們又不用針對每一類事物都從頭學(xué)起,而是可以觸類旁通地掌握相似的東西。
AI在單體智能上面確實可以輕松碾壓人類,比如可以識別成千上萬的人臉;但AI在多任務(wù)學(xué)習(xí)上面就要向人類的這種通用能力看齊了。
什么是多任務(wù)學(xué)習(xí)?
多任務(wù)學(xué)習(xí)(Multi-Task Learning,MTL),簡單來說,就是一種讓機器模仿人類學(xué)習(xí)行為的一種方法。人類的學(xué)習(xí)方式本身就是泛化的,也就是可以從學(xué)習(xí)一種任務(wù)的知識遷移到其他的相關(guān)的任務(wù)上,而且不同的任務(wù)的知識技能可以相互幫助提升。多任務(wù)學(xué)習(xí)涉及多個相關(guān)的任務(wù)同時并行學(xué)習(xí),梯度同時反向傳播,利用包含在相關(guān)任務(wù)訓(xùn)練信號中的特定領(lǐng)域的信息來改進(jìn)泛化能力。
?。▎稳蝿?wù)學(xué)習(xí)和多任務(wù)學(xué)習(xí)的模型對比示意)
做一個形象的類比。我們知道人類不如虎豹擅跑,不如猿猴擅爬,也不如鯨豚擅游,但是人類是唯獨可以同時做到奔跑、攀援和游泳的。用在人工智能和人類智能上,我們通常認(rèn)為AI更擅于在單一任務(wù)上表現(xiàn)優(yōu)異并超越人類專家,如AlphaGo一樣;而人類則可能在各種任務(wù)上都能勝任。
MTL正是要讓人工智能來實現(xiàn)人類的這種能力。通過在多個任務(wù)的學(xué)習(xí)中,共享有用的信息來幫助每個任務(wù)的學(xué)習(xí)都得到提升的一個更為準(zhǔn)確的學(xué)習(xí)模型。
這里需要注意的是多任務(wù)學(xué)習(xí)和遷移學(xué)習(xí)的區(qū)別。遷移學(xué)習(xí)的目標(biāo)是將知識從一個任務(wù)遷移到另一個任務(wù),其目的是使用一個或多個任務(wù)來幫助另一個目標(biāo)任務(wù)提高,而 MTL 則是希望多個任務(wù)之間彼此能相互幫助提升。
這里我們就要搞清楚MTL的兩個特征:
一、是任務(wù)具有相關(guān)性。任務(wù)的相關(guān)性是說幾種任務(wù)的完成模式是存在一定的關(guān)聯(lián)性的,比如,在人臉識別中,除了對人臉特征的識別,還可以進(jìn)行性別、年齡的估算識別,或者,在不同的幾類游戲中識別出共通的一些規(guī)則,這種相關(guān)性會被編碼進(jìn) MTL 模型的設(shè)計當(dāng)中。
二、是任務(wù)有不同的分類。MTL的任務(wù)分類主要包括監(jiān)督學(xué)習(xí)任務(wù)、無監(jiān)督學(xué)習(xí)任務(wù)、半監(jiān)督學(xué)習(xí)任務(wù)、主動學(xué)習(xí)任務(wù)、強化學(xué)習(xí)任務(wù)、在線學(xué)習(xí)任務(wù)和多視角學(xué)習(xí)任務(wù),因此不同的學(xué)習(xí)任務(wù)對應(yīng)于不同的MTL設(shè)置。
共享表示和特征泛化,理解MTL 優(yōu)勢的兩個關(guān)鍵
為什么在一個神經(jīng)網(wǎng)絡(luò)上同時訓(xùn)練多個任務(wù)的學(xué)習(xí)效果可能會更好?
我們知道,深度學(xué)習(xí)網(wǎng)絡(luò)是具有多個隱層的神經(jīng)網(wǎng)絡(luò),逐層將輸入數(shù)據(jù)轉(zhuǎn)化成非線性的、更抽象的特征表示。而各層的模型參數(shù)不是人為設(shè)定的,而是給定學(xué)習(xí)器的參數(shù)后在訓(xùn)練過程中學(xué)到的,這給了多任務(wù)學(xué)習(xí)施展拳腳的空間,具備足夠的能力在訓(xùn)練過程中學(xué)習(xí)多個任務(wù)的共同特征。
例如在上面的MTL的網(wǎng)絡(luò)中,后向傳播并行地作用于4個輸出。由于4個輸出共享底部的隱層,這些隱層中用于某個任務(wù)的特征表示也可以被其他任務(wù)利用,促使多個任務(wù)共同學(xué)習(xí)。多個任務(wù)并行訓(xùn)練并共享不同任務(wù)已學(xué)到的特征表示,這樣多任務(wù)信息就有助于共享隱層學(xué)到更好的內(nèi)部表示,這成為多任務(wù)學(xué)習(xí)的關(guān)鍵。
那么MTL是如何產(chǎn)生效果的?
MTL的方法中引入了歸納偏置(inductive bias)。歸納偏置有兩個效果,一個是互相促進(jìn),可以把多任務(wù)模型之間的關(guān)系看作是互相先驗知識,也稱歸納遷移(inductive transfer),有了對模型的先驗假設(shè),可以更好的提升模型的效果;另外一個效果是約束作用,借助多任務(wù)間的噪聲平衡以及表征偏置來實現(xiàn)更好的泛化性能。
首先,MTL的引入可以使得深度學(xué)習(xí)減少對大數(shù)據(jù)量的依賴。少量樣本的任務(wù)可以從大樣本量的任務(wù)中學(xué)習(xí)一些共享表示,以緩解任務(wù)數(shù)據(jù)的稀疏問題。
其次,多任務(wù)直接的相互促進(jìn),體現(xiàn)在:①多個模型特性互相彌補,比如在網(wǎng)頁分析模型中,改善點擊率預(yù)估模型也同時能促進(jìn)轉(zhuǎn)化模型學(xué)習(xí)更深層的特征;②注意力機制,MTL可以幫助訓(xùn)練模型專注在重要特征上面,不同的任務(wù)將為這種重要特征提供額外證據(jù);③任務(wù)特征的“竊聽”,也就是MTL可以允許不同任務(wù)之間相互“竊聽”對方的特征,直接通過“提示”訓(xùn)練模型來預(yù)測最重要的特征。
再次,多任務(wù)的相互約束可以提高模型的泛化性。一方面多任務(wù)的噪聲平衡。多任務(wù)模型的不同噪聲模式可以讓多個任務(wù)模型學(xué)到一般化的表征,避免單個任務(wù)的過度擬合,聯(lián)合學(xué)習(xí)能夠通過平均噪聲模式獲得更好的表征;另一方面,表征偏置。MTL的表征偏好會造成模型偏差。但這將有助于模型在將來泛化到新任務(wù)。在任務(wù)同源的前提下,可以通過學(xué)習(xí)足夠大的假設(shè)空間,在未來某些新任務(wù)中得到更好的泛化表現(xiàn)。
行業(yè)場景落地,MTL如何解決現(xiàn)實問題
由于MTL具有減少大數(shù)據(jù)樣本依賴和提高模型泛化表現(xiàn)的優(yōu)勢,MTL正被廣泛應(yīng)用到各類卷積神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練當(dāng)中。
首先,多任務(wù)學(xué)習(xí)可以學(xué)到多個任務(wù)的共享表示,這個共享表示具有較強的抽象能力,能夠適應(yīng)多個不同但相關(guān)的目標(biāo),通??梢允怪魅蝿?wù)獲得更好的泛化能力。
其次,由于使用共享表示,多個任務(wù)同時進(jìn)行預(yù)測時,減少了數(shù)據(jù)來源的數(shù)量以及整體模型參數(shù)的規(guī)模,使預(yù)測更加高效。
我們以MTL在諸如目標(biāo)識別、檢測、分割等場景為主的計算機視覺的應(yīng)用為例。
比如臉部特征點檢測。因為臉部特征可能會受到遮擋和姿勢變化等問題的影響。通過MTL能夠提高檢測健壯性,而不是把檢測任務(wù)視為單一和獨立的問題。
多任務(wù)學(xué)習(xí)希望把優(yōu)化臉部特征點檢測和一些不同但細(xì)微相關(guān)的任務(wù)結(jié)合起來,比如頭部姿勢估計和臉部屬性推斷。臉部特征點檢測不是一個獨立的問題,它的預(yù)測會被一些不同但細(xì)微相關(guān)的因素影響。比如一個正在笑的孩子會張開嘴,有效地發(fā)現(xiàn)和利用這個相關(guān)的臉部屬性將幫助更準(zhǔn)確地檢測嘴角。
如上圖人臉特征點檢測(TCDCN)模型,除了檢測特征點任務(wù),還有識別眼鏡、笑臉、性別和姿態(tài)這四個輔助任務(wù),通過與其它網(wǎng)絡(luò)的對比,可以看出輔助任務(wù)使主任務(wù)的檢測更準(zhǔn)確。
MTL在不同領(lǐng)域有不同應(yīng)用,其模型各不相同,解決的應(yīng)用問題也不盡相同,但在各自的領(lǐng)域都存在著一些特點,除上面介紹的計算機視覺領(lǐng)域,還有像生物信息學(xué)、健康信息學(xué)、語音、自然語言處理、網(wǎng)絡(luò)垃圾郵件過濾、網(wǎng)頁檢索和普適計算在內(nèi)的很多領(lǐng)域,都可以使用 MTL 來提升各自的應(yīng)用的效果和性能。
比如,在生物信息學(xué)和健康信息學(xué)中,MTL被應(yīng)用于識別治療靶點反應(yīng)的特征作用機制,通過多個群體的關(guān)聯(lián)性分析來檢測因果遺傳標(biāo)記,以及通過稀疏貝葉斯模型的自動相關(guān)性特征,來預(yù)測阿爾茨海默病的神經(jīng)成像測量的認(rèn)知結(jié)果。
在語音處理上的應(yīng)用。2015年,有研究者在國際聲學(xué)、語音與信號處理會議(ICASSP)上分享了一篇《基于多任務(wù)學(xué)習(xí)的深度神經(jīng)網(wǎng)絡(luò)語音合成》的論文,提出一種多任務(wù)疊層深層神經(jīng)網(wǎng)絡(luò)。它由多個神經(jīng)網(wǎng)絡(luò)組成,前一個神經(jīng)網(wǎng)絡(luò)將其最上層的輸出作為下一個神經(jīng)網(wǎng)絡(luò)的輸入,用于語音合成,每個神經(jīng)網(wǎng)絡(luò)有兩個輸出單元,通過共享兩個任務(wù)之間的隱藏層,一個用于主任務(wù),另一個用于輔助任務(wù),從而更好地提升語音合成的準(zhǔn)確度。
在網(wǎng)絡(luò)Web應(yīng)用程序中,MTL可以用于不同任務(wù)共享一個特征表示,學(xué)習(xí)web搜索中的排名提升;MTL可以通過可擴展分層多任務(wù)學(xué)習(xí)算法,用于找到廣告中轉(zhuǎn)換最大化的層次結(jié)構(gòu)和結(jié)構(gòu)稀疏性等問題。
總體上來說,在這些MTL的應(yīng)用領(lǐng)域中,特征選擇方法和深度特征轉(zhuǎn)換方法得到研究者的普遍應(yīng)用。因為前者可以降低數(shù)據(jù)維數(shù)并提供更好的可解釋性,而后者通過學(xué)習(xí)強大的特征表示可以獲得良好的性能。
MTL正在越來越多的領(lǐng)域作為一種提高神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)能力的手段被廣泛應(yīng)用。這其實正是AI在眾多行業(yè)實際應(yīng)用中的常態(tài)化場景。
我們可以最終溯源反思一下,人類之所以能夠具有多任務(wù)學(xué)習(xí)的靈活應(yīng)用的能力,恰恰是因為所處環(huán)境正是處在多特征、多噪聲的狀況之下,這樣必然要求我們?nèi)祟惐仨毮軌蛴|類旁通地進(jìn)行先驗的學(xué)習(xí)能力的遷移。而如果人工智能僅僅停留在單體智能上面,為每一類知識或任務(wù)都建立一套單獨的模型,最后可能仍然只是一套“人工智障”的機械系統(tǒng),鬧出“白馬非馬”這類的笑話來。
當(dāng)AI未來真正既能在融會貫通的方面像人類一樣熟練,又能克服人類認(rèn)知帶寬和一些認(rèn)知偏見,那通向AGI的前路才可能迎來一絲曙光。當(dāng)然這條路還相當(dāng)遙遠(yuǎn)。
評論
查看更多