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