0
本文作者: 蔡博侖 | 2016-09-05 10:50 |
古有算盤(pán),今有計(jì)算機(jī),人工智能(Artificial Intelligence,AI)始終是人類永恒又美好的夢(mèng)想。然而,漫漫的歷史長(zhǎng)河中人類前仆后繼,雖然計(jì)算機(jī)技術(shù)已經(jīng)取得了長(zhǎng)足的進(jìn)步,然而仍然沒(méi)有一臺(tái)機(jī)器產(chǎn)生真正的“自我”意識(shí)。谷歌大腦認(rèn)出貓和狗,阿法狗打敗了李世石,智能車?yán)覀內(nèi)ザ碉L(fēng)……盡管深度學(xué)習(xí)(Deep Learning)讓 AI 在近期取得了諸多突破,但人工智能始終還是離不開(kāi)“人工+智能”,離不開(kāi)大量的人工標(biāo)定數(shù)據(jù)去指導(dǎo)智能系統(tǒng)的學(xué)習(xí)。
ImageNet,COCO,Places,我們?yōu)榱酥悄芏粩嗳斯?,為了一勞永逸而不斷地?biāo)定數(shù)據(jù)。然而,這并不是人類的最終夢(mèng)想——不勞而獲。直到 Science 封面文章 Bayesian Program Learning(BPL,《Human-level concept learning through probabilistic program induction》),像人類一樣學(xué)習(xí)的人工智能又引爆了人類曾經(jīng)的夢(mèng)想,Google DeepMind 的新成果 Memory-Augmented Neuaral Networks(MANN,《One-shot Learning with MemoryAugmented Neuaral Networks》)讓夢(mèng)想又朝現(xiàn)實(shí)邁進(jìn)了一步。
懶惰是人類社會(huì)進(jìn)步的原動(dòng)力,單點(diǎn)學(xué)習(xí)(One-Shot learning)的目標(biāo)是不勞而獲。不同于傳統(tǒng)機(jī)器學(xué)習(xí)方法需要大量數(shù)據(jù)去學(xué)習(xí)和反復(fù)的訓(xùn)練,One-Shot 通過(guò)單一的訓(xùn)練樣本去學(xué)習(xí)并做出準(zhǔn)確的預(yù)測(cè)。然而,One-Shot learning 是一個(gè)永恒的挑戰(zhàn)。由于現(xiàn)有的機(jī)器學(xué)習(xí)模型參數(shù)量龐大,小樣本下很難在巨大的搜索空間中找到刻畫(huà)本質(zhì)屬性的最優(yōu)解。
因此當(dāng)遇到新的任務(wù)(Task)時(shí),傳統(tǒng)學(xué)習(xí)算法只能通過(guò)新任務(wù)的大量樣本低效率地去調(diào)整(finetuning)原有模型,以保證在杜絕錯(cuò)誤干擾(Catastrophic Interference)的情況下將新信息充分涵括。BPL 從認(rèn)知科學(xué)的角度,基于貝葉斯過(guò)程模擬人類學(xué)習(xí)思路;MANN 從神經(jīng)科學(xué)的角度,基于記憶神經(jīng)網(wǎng)絡(luò)構(gòu)造仿生學(xué)習(xí)模型。相比于貝葉斯過(guò)程學(xué)習(xí)(BPL),記憶增強(qiáng)神經(jīng)網(wǎng)絡(luò)(MANN)將 One-shot Learning 從應(yīng)用驅(qū)動(dòng)型推向數(shù)據(jù)驅(qū)動(dòng)型,從已有數(shù)據(jù)出發(fā)去主動(dòng)挖掘One-shot Learning的方法。通過(guò)關(guān)注存儲(chǔ)內(nèi)容的外部記憶機(jī)制快速吸收新知識(shí),并且僅利用少數(shù)幾個(gè)例子就可以從數(shù)據(jù)中做出準(zhǔn)確預(yù)測(cè)。
從神經(jīng)科學(xué)的角度來(lái)說(shuō),學(xué)習(xí)(Learning)定義為將經(jīng)驗(yàn)(Experience)編碼進(jìn)記憶(Memory)的過(guò)程。魚(yú)的記憶只有 7 秒,沒(méi)有記憶的學(xué)習(xí)不是智能,魚(yú)永遠(yuǎn)是只能在水里游的魚(yú)。學(xué)習(xí)形成了不同類型的記憶:形象記憶(以感知過(guò)的事物形象為內(nèi)容),情緒記憶(以過(guò)去體驗(yàn)過(guò)的情感為內(nèi)容),邏輯記憶(是以概念命題為內(nèi)容),動(dòng)作記憶(以操作性行為為內(nèi)容)……記憶指導(dǎo)學(xué)習(xí),學(xué)習(xí)增強(qiáng)記憶。人類從刀耕火種,嬰兒從呱呱落地,“學(xué)習(xí)→ 記憶→學(xué)習(xí)”貫穿著社會(huì)與個(gè)體。對(duì)于社會(huì),古書(shū)典籍讓經(jīng)驗(yàn)得到記憶;對(duì)于個(gè)體,大腦皮層讓知識(shí)得到記憶。
人的學(xué)習(xí)過(guò)程中(如下圖),大腦對(duì)外部環(huán)境進(jìn)行感知,注意機(jī)制對(duì)感興趣的信息保持關(guān)注;在工作記憶中,新知識(shí)在舊知識(shí)的基礎(chǔ)上通過(guò)檢索被快速建立起來(lái);而后經(jīng)過(guò)神經(jīng)元的加工整理,形成難被遺忘的長(zhǎng)時(shí)記憶。由此,人不斷地從生活經(jīng)驗(yàn)中建立并整合知識(shí),從而學(xué)會(huì)處理日益復(fù)雜的任務(wù)。在持續(xù)不斷的學(xué)習(xí)過(guò)程中,對(duì)以往知識(shí)檢索利用,使得人們只需要少量的訓(xùn)練就能快速地學(xué)會(huì)新的任務(wù)。綜上,一個(gè)真正的智能系統(tǒng)應(yīng)具備以下兩方面的作用:
(1)在長(zhǎng)時(shí)記憶系統(tǒng)中建立一個(gè)可檢索的知識(shí)庫(kù);
(2)在交互過(guò)程中持續(xù)不斷的整合更新知識(shí)庫(kù)。
埃德加?福爾在《學(xué)會(huì)生存》中指出:“未來(lái)的文盲不再是不認(rèn)識(shí)字的人,而是沒(méi)有學(xué)會(huì)怎樣學(xué)習(xí)的人 。 ”學(xué)會(huì)學(xué)習(xí)(Learning to Learn)不僅僅是教育界面臨的問(wèn)題,也是機(jī)器學(xué)習(xí)中面臨的問(wèn)題:未來(lái)的智能不再是能干活的機(jī)器,而是學(xué)會(huì)怎樣學(xué)習(xí)的機(jī)器。“學(xué)會(huì)學(xué)習(xí)” 中的“學(xué)習(xí)”即為元學(xué)習(xí)(Meta-learning)。行為學(xué)意義上認(rèn)為元學(xué)習(xí)是學(xué)習(xí)行為本身的改變;信息學(xué)意義上認(rèn)為元學(xué)習(xí)是關(guān)于獲取知識(shí)和經(jīng)驗(yàn)的學(xué)習(xí)。人工智能意義上的元學(xué)習(xí)一般指的是一種遷移學(xué)習(xí)(Transfer Learning)方案,通過(guò)已有的知識(shí)輔助新知識(shí)的學(xué)習(xí),照著葫蘆畫(huà)瓢,照著貓畫(huà)老虎。可規(guī)模化的元學(xué)習(xí)方案應(yīng)滿足以下兩個(gè)要求:
(1)知識(shí)必須以穩(wěn)定且可尋址的方式存儲(chǔ);
(2)存儲(chǔ)容量不與參數(shù)規(guī)模相關(guān)。
長(zhǎng)短時(shí)模型(Long Short Term Model,LSTM)通過(guò)隱性的共享記憶結(jié)構(gòu),不完全地實(shí)現(xiàn)知識(shí)的存儲(chǔ)。直到了神經(jīng)圖靈機(jī)(Neuaral Turing Machine,NTM)的出現(xiàn),NTM 引入帶記憶的神經(jīng)網(wǎng)絡(luò)去模擬大腦皮質(zhì)的長(zhǎng)時(shí)記憶功能,實(shí)現(xiàn)用極少量新任務(wù)的觀測(cè)數(shù)據(jù)進(jìn)行快速學(xué)習(xí)。不同于傳統(tǒng)神經(jīng)網(wǎng)絡(luò),NTM(如下圖)通過(guò)控制器(Controller)對(duì)輸入輸出(Input/Output)向量進(jìn)行選擇性地讀寫(xiě)(Read&Write Heads)操作,實(shí)現(xiàn)與外部記憶矩陣(Memory)進(jìn)行交互?;趶?qiáng)泛化能力的深度神經(jīng)網(wǎng)絡(luò)架構(gòu),并綜合長(zhǎng)時(shí)觀測(cè)的記憶模型與新觀測(cè)的匹配信息對(duì)存儲(chǔ)內(nèi)容進(jìn)行有效地更新。
相比于神經(jīng)網(wǎng)絡(luò)圖靈機(jī),記憶增強(qiáng)神經(jīng)網(wǎng)絡(luò)(MANN)提出了一種新讀寫(xiě)更新策略——LRUA(Least Recently Used Access)。有別于 NTM 由信息內(nèi)容和存儲(chǔ)位置共同決定存儲(chǔ)器讀寫(xiě), MANN 的每次讀寫(xiě)操作只選擇空閑或最近利用的存儲(chǔ)位置,因此讀寫(xiě)策略完全由信息內(nèi)容所決定。這種更為靈活的讀寫(xiě)策略更適用于時(shí)序無(wú)關(guān)的分類回歸問(wèn)題。MANN 結(jié)合了更靈活的存儲(chǔ)能力和強(qiáng)泛化的深度架構(gòu),實(shí)現(xiàn)知識(shí)的更為高效的歸納轉(zhuǎn)移(Inductive transfer)——新知識(shí)被靈活的存儲(chǔ)訪問(wèn),基于新知識(shí)和長(zhǎng)期經(jīng)驗(yàn)對(duì)數(shù)據(jù)做出精確的推斷。
活到老學(xué)到老,人的一生是學(xué)習(xí)的一生。終身學(xué)習(xí)(Life-long Learning)是一種能夠存儲(chǔ)學(xué)習(xí)過(guò)的任務(wù)知識(shí),并能利用舊知識(shí)快速學(xué)習(xí)新任務(wù)的完整系統(tǒng)方案。相較于傳統(tǒng)機(jī)器學(xué)習(xí)方法,終身學(xué)習(xí)憑借任務(wù)間的知識(shí)共享和知識(shí)庫(kù)的知識(shí)積累,突破了學(xué)習(xí)過(guò)程在樣本集和時(shí)間上的限制,為實(shí)現(xiàn)高效及高度智能化的系統(tǒng)提供可能。
一個(gè)終身學(xué)習(xí)系統(tǒng)包含以下基本組成部分,各模塊間的相互作用共同實(shí)現(xiàn)“活到老學(xué)到老”。
記憶是智能的基礎(chǔ),終身學(xué)習(xí)系統(tǒng)期望充分利用已學(xué)過(guò)的知識(shí)輔助學(xué)習(xí)。知識(shí)倉(cāng)庫(kù)用于存儲(chǔ)學(xué)習(xí)過(guò)程中需要長(zhǎng)期存儲(chǔ)的知識(shí)。其中可分為基礎(chǔ)知識(shí)和抽象知識(shí)兩類,分別支持知識(shí)從簡(jiǎn)單到復(fù)雜的縱向遷移,以及相關(guān)任務(wù)之間知識(shí)的橫向遷移。
任務(wù)隊(duì)列考慮知識(shí)的學(xué)習(xí)順序?qū)ο到y(tǒng)的泛化能力與學(xué)習(xí)代價(jià)的影響。學(xué)習(xí)順序設(shè)置對(duì)學(xué)習(xí)有著重要的影響,因此終身學(xué)習(xí)系統(tǒng)期望合理設(shè)置學(xué)習(xí)順序以越快越好地進(jìn)行學(xué)習(xí),循序漸進(jìn),拋磚引玉。此外,高效的任務(wù)隊(duì)列也為終身學(xué)習(xí)系統(tǒng)提供主動(dòng)學(xué)習(xí)的可能,系統(tǒng)可以主動(dòng)優(yōu)先學(xué)習(xí)對(duì)關(guān)鍵任務(wù)。
知識(shí)遷移是終身學(xué)習(xí)系統(tǒng)的基礎(chǔ)。知識(shí)遷移從知識(shí)倉(cāng)庫(kù)中選擇對(duì)新知識(shí)(目標(biāo)領(lǐng)域,Target Domain)有幫助的舊知識(shí)(源領(lǐng)域,Source Domain)進(jìn)行遷移。因此要求終身學(xué)習(xí)系統(tǒng)應(yīng)具備有效度量并創(chuàng)造正遷移條件的能力,充分利用已經(jīng)學(xué)到的任務(wù)知識(shí),盡可能高效地學(xué)習(xí)新任務(wù)——遷移什么?如何遷移?何時(shí)遷移?
知識(shí)整合是終身學(xué)習(xí)系統(tǒng)中至關(guān)重要的環(huán)節(jié),以保證知識(shí)倉(cāng)庫(kù)能得到及時(shí)的更新。取其精華,去其糟粕,知識(shí)在整合過(guò)程中,系統(tǒng)應(yīng)對(duì)知識(shí)進(jìn)行相應(yīng)的篩選,在兼顧不損害原有知識(shí)的前提下,盡可能整合有利于遷移的新知識(shí)。
學(xué)海無(wú)涯,活到老學(xué)到老。人工智能之路漫漫,吾將上下而求索。
[1] Santoro A, Bartunov S, Botvinick M, et al. One-shot Learning with Memory-Augmented Neural Networks[J]. arXiv preprint arXiv:1605.06065, 2016.
[2] Lake B M, Salakhutdinov R, Tenenbaum J B. Human-level concept learning through probabilistic program induction[J]. Science, 2015, 350(6266): 1332-1338.
[3] Graves A, Wayne G, Danihelka I. Neural turing machines[J]. arXiv preprint arXiv:1410.5401, 2014.
[4] Ruvolo P, Eaton E. ELLA: An Efficient Lifelong Learning Algorithm[J]. ICML (1), 2013, 28:507-515.
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。