2020 年 8 月 7 日,全球人工智能和機(jī)器人峰會(CCF-GAIR 2020)正式開幕。CCF-GAIR 2020 峰會由中國計(jì)算機(jī)學(xué)會(CCF)主辦,香港中文大學(xué)(深圳)、雷鋒網(wǎng)聯(lián)合承辦,鵬城實(shí)驗(yàn)室、深圳市人工智能與機(jī)器人研究院協(xié)辦。從 2016 年的學(xué)產(chǎn)結(jié)合,2017 年的產(chǎn)業(yè)落地,2018 年的垂直細(xì)分,2019 年的人工智能 40 周年,峰會一直致力于打造國內(nèi)人工智能和機(jī)器人領(lǐng)域規(guī)模最大、規(guī)格最高、跨界最廣的學(xué)術(shù)、工業(yè)和投資平臺。
在第一天的人工智能前沿專場上,南京大學(xué)計(jì)算機(jī)系主任、人工智能學(xué)院院長、CCF會士、ACM、AAAI、IEEE、IAPR Fellow周志華教授以“反繹學(xué)習(xí)”為題發(fā)表了大會報(bào)告。 周志華表示,當(dāng)今的人工智能熱潮是由于機(jī)器學(xué)習(xí),特別是其中的深度學(xué)習(xí)技術(shù)取得巨大進(jìn)展,在大數(shù)據(jù)、大算力的支持下發(fā)揮出巨大的威力。機(jī)器學(xué)習(xí)算法模型用了更多數(shù)據(jù)和算力后,獲得的性能增長可能遠(yuǎn)超算法模型設(shè)計(jì)者的預(yù)想。但是,把模型“做大”要付出高昂的成本代價(jià)。 因此,他認(rèn)為,在人工智能研究上,學(xué)術(shù)界和工業(yè)界適宜有不同的分工:把“對性能的追求”交給工業(yè)界,學(xué)術(shù)界回到本源,做“探路”和“思考未來”的事情。 如何將“機(jī)器學(xué)習(xí)“與“邏輯推理”相結(jié)合,是人工智能領(lǐng)域的“圣杯問題”,以往的努力有的是“重推理”,有的是“重學(xué)習(xí)”,另一側(cè)未能充分發(fā)揮力量。周志華教授提出了“反繹學(xué)習(xí)”,希望在一個框架下讓機(jī)器學(xué)習(xí)和邏輯推理二者能更均衡更充分地發(fā)揮效用。 他說到,“現(xiàn)在都知道人工智能技術(shù)發(fā)揮作用需要數(shù)據(jù)、算法和算力這三要素,未來需要把知識這個要素也考慮進(jìn)來。知識凝聚了人的智慧。過去十幾年,我們都是從數(shù)據(jù)驅(qū)動的角度來研究人工智能,現(xiàn)在是時(shí)候把數(shù)據(jù)驅(qū)動和知識驅(qū)動結(jié)合起來。”
以下為周志華教授的現(xiàn)場演講內(nèi)容,AI 科技評論進(jìn)行了不改變原意的整理和編輯:
周志華:各位專家、朋友,大家上午好。感謝CCF和杜子德秘書長邀請,作為CCF的老會員,很高興來參加這個活動。今天我跟大家分享的主題是《Abductive Learning(反繹學(xué)習(xí))》。
人工智能技術(shù)的發(fā)展需要三個要素:數(shù)據(jù)、算法和算力。前幾年,“大數(shù)據(jù)時(shí)代”是一個熱詞。大家都知道,大數(shù)據(jù)本身并不必然意味著大價(jià)值。數(shù)據(jù)是資源,要得到資源的價(jià)值,就必須進(jìn)行有效的數(shù)據(jù)分析。在今天,有效的數(shù)據(jù)分析主要依靠機(jī)器學(xué)習(xí)算法。
今天的人工智能熱潮主要就是由于機(jī)器學(xué)習(xí),特別是其中的深度學(xué)習(xí)技術(shù)取得巨大進(jìn)展,而且是在大數(shù)據(jù)、大算力的支持下發(fā)揮出巨大的威力。 談到深度學(xué)習(xí),就要談到深度神經(jīng)網(wǎng)絡(luò)。深度神經(jīng)網(wǎng)絡(luò)是非常龐大的系統(tǒng),要訓(xùn)練出來需要很多數(shù)據(jù)、很強(qiáng)算力的支撐。人工智能算法模型對于算力的巨大需求,也推動了今天芯片業(yè)的發(fā)展。例如現(xiàn)在訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)用到的GPU,更早是用于動畫、渲染。如果沒有深度神經(jīng)網(wǎng)絡(luò)這么大的需求,GPU也很難有今天這么大的市場,更不用說現(xiàn)在還有TPU等新的設(shè)計(jì)。 所以我們可以看到,人工智能算法模型的發(fā)展,與算力、芯片發(fā)展之間,有相互促進(jìn)的作用。這幾方面的要素是互相促進(jìn)、互相支撐。 1 把“對性能的追求”交給工業(yè)界另一方面,把強(qiáng)大的算力、超大的數(shù)據(jù)往上堆,可能把現(xiàn)有機(jī)器學(xué)習(xí)算法模型的能力發(fā)揮到極致,所能達(dá)到的性能水平甚至可能令算法研究者自己都感到驚訝。這種“大力出奇跡”的“暴力美學(xué)”,已經(jīng)產(chǎn)生出了非常強(qiáng)大的模型。 比方說,最近大家談到的當(dāng)前最大人工智能模型——GPT3。它用到的訓(xùn)練數(shù)據(jù)是45TB,模型參數(shù)1750億參數(shù),模型大小700G。基于這個模型,很多困難的問題像自然語言處理里的許多問題都取得大幅度進(jìn)展。 我們來看看這篇關(guān)于GPT3的論文。和我們這個學(xué)科一般的論文不太一樣,作者非常多,31位作者。文章后面有分工介紹,有的作者是專門寫代碼、有的是專門調(diào)參數(shù)、有的專門做數(shù)據(jù)采樣、有的專門寫論文…… 流水線分工作業(yè),簡直是工業(yè)化大生產(chǎn)的模式。 再看看論文中的算法模型,可以看到,都是已有的技術(shù),里面每一部分都不是新的。但是,基于強(qiáng)大的工程化組織,讓它發(fā)揮了巨大作用。核心要點(diǎn)就是做大、做大、再做大。 做大就必然付出代價(jià)。讀這篇文章可以注意到里面有一句話,說作者發(fā)現(xiàn)這個工作中有一個Bug,但是由于成本太高,就沒有重新訓(xùn)練。據(jù)說訓(xùn)練一次的成本大約1300萬美元,所以即便發(fā)現(xiàn)有Bug,也就忍著算了。 這樣的模型能夠解決很多問題,帶來很大的性能提升。但是如此高昂的成本,也給我們從事人工智能研究的人帶來了新的挑戰(zhàn),特別值得讓學(xué)術(shù)界從事人工智能研究的學(xué)者思考一個問題:昂貴的成本必須換來效益回報(bào),模型性能提升,在工業(yè)界能提升經(jīng)濟(jì)效益,有時(shí)哪怕性能提升一兩個點(diǎn),帶來的回報(bào)可能足以彌補(bǔ)投入。但學(xué)術(shù)界如果花這么大成本,怎么能帶來足夠的回報(bào)?
學(xué)術(shù)界和工業(yè)界在人工智能研究上,適宜有不同的分工:把對“性能”的追求交給工業(yè)界,學(xué)術(shù)界不必過多地關(guān)注“性能”,因?yàn)槟P托阅芴岣吣敲磶讉€點(diǎn),對于學(xué)術(shù)界并沒有多大的意義,僅僅是發(fā)表幾篇論文的話,對不起這么巨大的投入。當(dāng)然,我們培養(yǎng)了人才,人才是無價(jià)的,但是不用花這么多成本也可以培養(yǎng)優(yōu)秀人才。 把對性能的追求交給工業(yè)界,那么學(xué)術(shù)界做什么呢?回到本源,做學(xué)術(shù)界該做的工作:“探路”、“思考未來”。只要是全新的探索,成功了可以指出新的道路,即便不成功,也可以指出此路不通,都是有巨大意義的。一條道路探明之后,進(jìn)一步的改進(jìn)和提升就交給工業(yè)界。 2 “推理+學(xué)習(xí)”的難題開頭我們說到,人工智能技術(shù)發(fā)揮作用要有算法、算力和數(shù)據(jù)三大要素,未來是不是還這樣呢?要不要往里面加?xùn)|西?這是我們現(xiàn)在要思考的。 疫情期間我們跟合作者,包括公司企業(yè)和醫(yī)學(xué)專家,一起做了一點(diǎn)事,做的人工智能疫情分析推演模型為相關(guān)部門疫情防控決策做了一點(diǎn)微小的輔助。這個工作中大量使用了機(jī)器學(xué)習(xí)技術(shù),但是僅有機(jī)器學(xué)習(xí)夠不夠?不夠!我們使用了很多高水平醫(yī)學(xué)專家、病毒專家的知識。我們深深體會到,如果機(jī)器學(xué)習(xí)技術(shù)能夠跟專家知識很好地結(jié)合起來,或許會發(fā)揮超出我們預(yù)想的作用。 事實(shí)上,在人工智能領(lǐng)域有一個長期存在的“圣杯”問題,就是我們什么時(shí)候能夠把機(jī)器學(xué)習(xí)和邏輯推理很好地融合起來?如果能夠得到一個完整的框架,能夠讓這二者同時(shí)在其中很好的發(fā)揮作用,那這是我們非常希望達(dá)到的一個目標(biāo)。 為什么要考慮這件事?我們首先可以看一看。邏輯推理它非常容易來利用我們的知識, 而機(jī)器學(xué)習(xí)呢比較容易來利用數(shù)據(jù)、利用證據(jù)、事實(shí)。但是如果從人類決策來看,很多決策的時(shí)候同時(shí)要使用知識以及證據(jù)。那么這兩者能不能很好地弄到一起去呢?
非常遺憾,雖然邏輯推理和機(jī)器學(xué)習(xí)在人工智能歷史上有很多研究,但是這兩者基本上是獨(dú)立發(fā)展起來的。比方說在1956年代到1990年代期間,邏輯推理和知識工程是人工智能的主流技術(shù),但這時(shí)候機(jī)器學(xué)習(xí)的研究還很冷清。而到了90年代中期之后,機(jī)器學(xué)習(xí)研究變得非常的熱門,但這時(shí)候邏輯推理和知識工程的研究又變得冷清起來,甚至今天從事這方面研究的人在全世界都已經(jīng)很少了。
如果想把兩者結(jié)合起來,最主要的障礙是什么呢?最主要的是,這兩者幾乎是基于完全不同的表示方式。 邏輯推理我們一般來說可以認(rèn)為它是基于一階邏輯規(guī)則的表示。這里我們看一個例子,這里面有三個子句,第一個字句:對于任意X和Y,如果X是Y的父母,那么X比Y年長;第二個字句:對于任何兩個人,X是Y的媽媽,那么X就是Y的父母;第三:LuLu是FiFi的媽媽。現(xiàn)在如果我們問:誰更年長一些?那么如果從這樣的一個邏輯系統(tǒng),我們馬上就可以知道,第三句話,我們知道Lulu是Fifi的媽媽,那么從第2句話我們就知道她是Fifi的父母。又從第1句話我們知道她肯定比Fifi年長。邏輯推理就是基于這樣的一些邏輯規(guī)則描述出來的知識,來幫助我們做這樣的推理判斷。 機(jī)器學(xué)習(xí)呢,它走的是另外一個路線。我們會收集很多的數(shù)據(jù),比方說把這個數(shù)據(jù)組織成這么一個表格形式,每一行就是一個對象或者事件,每一列是刻畫它的一個屬性或特征,這就是所謂的“屬性-值“表示形式。如果從邏輯的角度來看,這種表示是非?;A(chǔ)的命題邏輯的表示方式,可以把屬性值表對應(yīng)成邏輯真值表。 而命題邏輯和硬件邏輯中間是有非常大的差別,很重要的就是有對于“任意”以及“存在”這樣的量詞會發(fā)生作用。一階邏輯表示由于涉及量詞,比方說如果要把“任意”這個量詞拆開把每個可能的X當(dāng)做一個樣本,那就會變成無限大的樣本集。如果把一階邏輯中的謂詞比方說“parent”當(dāng)作一個屬性,那么你會發(fā)現(xiàn),每個邏輯子句刻畫的并不是某個樣本,而是在刻畫樣本之間的某種關(guān)系。 于是,當(dāng)我們把謂詞直接當(dāng)做屬性試圖展開成普通數(shù)據(jù)集的時(shí)候,會發(fā)現(xiàn)數(shù)據(jù)集里甚至沒有真正的屬性-值的描述。 雖然很困難,但大家都知道,如果能把兩者結(jié)合起來,可能會有更大的威力,因此歷史上已經(jīng)有很多研究者在做努力。我們可以歸結(jié)是大致兩個方向的努力。一個方向主要是做邏輯推理方面的學(xué)者,嘗試引入一些機(jī)器學(xué)習(xí)里面的基礎(chǔ)的技術(shù)或者概念。這里面形成了一大類技術(shù),有很多的做法。 我們舉一個最簡單的例子,比方說剛剛給大家看到的幾個子句,每個邏輯子句是確定的:要么成立,要么不成立。我們現(xiàn)在可以給每個邏輯子句加上一個權(quán)重,一定程度上我們可以認(rèn)為它反映這個子句成立的概率。 比如說:如果一個人是大學(xué)三年級,另一個人是大學(xué)一年級,那么第一個人很可能比第二個人年長,這個可能性是80%。通過加一個0.8,我們就使得這個事實(shí)變成一個概率的成立。這樣得到的帶有概率權(quán)重的子句,就可以進(jìn)行一定程度的概率推理。 另一個方向是從機(jī)器學(xué)習(xí)的角度,嘗試把一些邏輯推理方面的東西引進(jìn)來。比方說我們看到有這么一條子句,如果一個人他抽煙,那么他很有可能得癌癥。有了這么一個知識,我們就可以在做貝葉斯網(wǎng)初始化的時(shí)候,把任何一個X,如果他smoke,我們就把它和cancer之間的這條邊連起來,也就是說我們用這個初步的規(guī)則幫助我們做這個網(wǎng)絡(luò)的初始化。初始化之后,原來貝葉斯網(wǎng)該怎么學(xué)就怎么學(xué)。
所以我們可以看上面這兩大類做法。第一類,我們可以看到它是把機(jī)器學(xué)習(xí)往邏輯推理中引,但是后面主體還是通過推理來解決問題,所以我們稱它是推理重而學(xué)習(xí)輕。第二種做法基本上是反過來,它把邏輯推理的技術(shù)往機(jī)器學(xué)習(xí)里面引,但是后期主要的解決問題是靠機(jī)器學(xué)習(xí),所以我們稱它是學(xué)習(xí)重而推理輕??偸且活^重一頭輕,這就意味著有一頭的技術(shù)沒有充分發(fā)揮威力。 所以我們現(xiàn)在就想,能不能有一個新的機(jī)制幫助我們把這兩大類技術(shù)的威力都充分地發(fā)揮起來呢?我們最近提出了一個新的方案,叫做Abductive Learning。 3 什么是“反繹”?要去理解Abductive learning之前,我們先來理解這個abductive是什么含義。
在人類對知識的處理上,或者說對現(xiàn)實(shí)問題的抽象上,我們通常有兩種做法。 一種是演繹,我們從一個一般性的原理出發(fā),然后把一些特定的結(jié)果能夠得出來,而且這個得出的過程是有保障的。比方說我們做定理證明,首先拿到一些數(shù)學(xué)公理,然后基于這些數(shù)學(xué)公理,把與它們一致的所有別的定理都證明出來。這就是一個“從一般到特殊”的過程,這是演繹。 另一種做法是歸納,就是說我們先看到一些特定的事實(shí),然后我們從特定的事實(shí)中總結(jié)出一般的規(guī)律。其實(shí)機(jī)器學(xué)習(xí)做的就是這么一件事。我們看到很多很多的數(shù)據(jù),然后希望學(xué)習(xí)出反映一般規(guī)律的模型,這就是“從特殊到一般”。 定理證明可以說是演繹的典型代表,而機(jī)器學(xué)習(xí)是歸納的典型代表。我們今天講到的這個反繹,不太一樣。Abductive這個詞在邏輯里有時(shí)候翻譯成誘導(dǎo)。但是在我們這個框架下,再把它翻譯成誘導(dǎo)就不是特別合適,所以我們另譯為反繹。反繹學(xué)習(xí)就大致是把演繹反向嵌入到機(jī)器學(xué)習(xí)歸納過程中去。 反繹是什么意思呢?它是首先從一個不完備的觀察出發(fā),然后希望得到一個關(guān)于某一個我們特別關(guān)心的集合的最可能的解釋。直接從這句話來理解可能有困難。那么下面我就先給大家看一個例子,是關(guān)于怎么去破譯瑪雅歷法這么一個故事。 大家知道中美洲有一個古老的瑪雅文明。他們建立起了非常復(fù)雜、精致的歷法系統(tǒng),具體是有三套歷法。
左邊這三個石柱子上畫出了很多的圖案,每個圖案它會表達(dá)一個含義??粗虚g紅色方框中間的5個圖像,考古學(xué)家知道是對應(yīng)了瑪雅的一個歷法叫做長歷。這是一組看起來像是IP地址的數(shù)字,它實(shí)際是不嚴(yán)格的20進(jìn)制,描述了一個日期,就是瑪雅文明認(rèn)為從創(chuàng)世開始一共經(jīng)過了多少天。這里面第1個和第4個是什么含義還不知道,所以打了問號,第2個圖像對應(yīng)于18,第3個對應(yīng)于5,最后一個對應(yīng)于0。 接下來,藍(lán)色框出來這兩位,對應(yīng)于瑪雅的神歷。左邊這個圖像是什么含義還不知道,打了問號;右邊這個符號已經(jīng)知道代表一個東西叫做Ahau。這兩位結(jié)合起來也代表了一天。其實(shí)這兩位一個是指月,一個是指日,有點(diǎn)像我們中國天干、地支的搭配,類似于在說“庚月子日”。但僅靠它肯定是不精確的,即便知道“庚月子日”也不知道具體是哪一天,因?yàn)闅v史上有很多的庚月子日,還需要要和別的信息結(jié)合起來。 最后這兩位是13 Mac,對應(yīng)瑪雅的太陽歷,是說這一年第13個月第14天。但是,這是哪一年?僅憑它還不知道。 但是如果這三個歷法里的問號都清楚了,那么這一天的定位就非常精確了?,F(xiàn)在需要把這三個問號破譯出來。我們有一個重要的知識:這三個歷法系統(tǒng),由于它們指的是同一天,那么揭示出來的這三個問號的值一定會使這三個計(jì)數(shù)達(dá)到一致。 那我們看看考古學(xué)家會怎么做這個事。拿到這個圖像之后,他們首先根據(jù)以往破譯圖像的經(jīng)驗(yàn)去“猜“ 這些數(shù)字是什么。但這很難,考古學(xué)家現(xiàn)在只知道這兩個紅色的應(yīng)該是同一個數(shù),藍(lán)色的應(yīng)該是另外一個數(shù),但這個紅色的既有可能是1,也有可能是8,也有可能是9。因?yàn)楝斞湃丝淌鞘止ざ皇菣C(jī)器做的,每次都有變化。比方說大家看到最上面這個紅色的圖像,它好像和這個1最左邊這個很像,和8的第二個也很像,跟9最右邊的這個也比較像。
然后接下來考古學(xué)家做什么呢?他們把可能的情況全部展開。比方說如果我們認(rèn)為紅色的這個是1,那我們現(xiàn)在這個藍(lán)色的就有幾種可能,2 3 4 5 6 7這些可能都有,例如右邊的最下面一行是1.18.5.7.0,這是從觀察到的圖像得出的猜測。也就是說從觀測到的石柱,他們得出了這么幾個可能的假設(shè)。接下來的一步,他們就要利用所掌握的知識來做判斷。 所掌握的知識是告訴我們現(xiàn)在這三個歷法系統(tǒng),它對應(yīng)的日期應(yīng)該是同一天。這里恰好找到紅色是1、藍(lán)色是6的這一行,對應(yīng)的破譯結(jié)果是長歷的創(chuàng)世以來第275520天,恰好是神歷中一年的倒數(shù)第三天,也恰好是太陽歷中第13個月的第14天,一切都一致了!于是,這就得到了結(jié)果。 這就是反繹的過程。 我們回顧一下,首先它來自一個不完備的觀察,有的圖像是什么我們知道,有的圖像是什么我們不知道。然后基于這個觀察,我們得到一個假設(shè)。有了這個假設(shè)之后,根據(jù)我們的知識來找一個最可能的解釋。而這個解釋就是現(xiàn)在紅色,藍(lán)色這個我們當(dāng)前所關(guān)心的集合。這就是反繹的含義。
我們現(xiàn)在回頭看一看現(xiàn)在的機(jī)器學(xué)習(xí)。首先我們要有很多instance,這是我們的樣本。我們要有很多l(xiāng)abel,這是關(guān)于訓(xùn)練樣本的已經(jīng)知道的結(jié)果。我們把它合起來做監(jiān)督學(xué)習(xí),訓(xùn)練出一個分類器。 反繹學(xué)習(xí)的設(shè)置不太一樣。我們有一些樣本,但只有樣本的表現(xiàn),不知道結(jié)果。這就類似于剛才在瑪雅這個故事里面我們看到很多圖像,但這個圖像對應(yīng)的含義是什么還不知道。反繹學(xué)習(xí)中假設(shè)有一個知識庫,這就類似于剛才考古學(xué)家所擁有的關(guān)于歷法的知識。同時(shí)我們還有一個初始分類器,這就好比說考古學(xué)家一開始看到這個圖像,他會猜這個圖像到底是什么?那么他憑什么猜呢?是他腦子里面有這么一個分類器。
在這個學(xué)習(xí)中,我們先把所有的數(shù)據(jù)提供給這個初始分類器,這個初始分類器就會猜出一個結(jié)果,比方說紅色的可能是1等等。然后得到這個結(jié)果之后,我們就會把它轉(zhuǎn)化成一個知識推理系統(tǒng)它能夠接受的符號表示。比如說從這些label里面,得到了A,非B,非C等等。 那么接下來這一步,我們就要根據(jù)知識庫里面的知識來發(fā)現(xiàn)有沒有什么東西是不一致的?剛才在瑪雅歷法的故事里,第一輪就一致了,但在一般的任務(wù)中未必那么早就能發(fā)現(xiàn)一致的結(jié)果。 如果有不一致,我們能不能找到某一個東西,一旦修改之后它就能變成一致?這就是我們要去找最小的不一致。假設(shè)我們現(xiàn)在找到,只要把這個非C改成C,那么你得到的事實(shí)就和知識都一致了。我們就把它改過來,這就是紅色的這個部分。那這就是一個反繹的結(jié)果。 而反繹出來的這個C,我們現(xiàn)在會回到原來的label中,把這個label把它改掉,接下來我們就用修改過的label和原來的數(shù)據(jù)一起來訓(xùn)練一個新分類器。這個過程可以不斷地迭代下去。這個分類器可以代替掉老的分類器。這個過程一直到分類器不發(fā)生變化,或者我們得到的事實(shí)和知識庫完全一致,這時(shí)候就停止了。
可以看到,左邊這一半就是在做機(jī)器學(xué)習(xí),而右邊這一半是在做邏輯推理。而且,它不是說一頭重一頭輕,而是這兩者互相依賴,一直這樣循環(huán)處理下去,這么一個過程。反繹學(xué)習(xí)的形式化描述,我們今天就不展開了。 4 反繹學(xué)習(xí)的討論與案例有幾點(diǎn)內(nèi)容我們來討論一下。首先我們看這個數(shù)據(jù)部分。在反繹學(xué)習(xí)中,這個數(shù)據(jù)只需要有instance,不需要有l(wèi)abel。那么我們靠什么來做監(jiān)督學(xué)習(xí)呢?主要就是靠初始分類器以及知識庫中的知識。 可以認(rèn)為這個監(jiān)督信息是來自于數(shù)據(jù)之外的地方,所以從這個角度上說,反繹學(xué)習(xí)可以看成是一個很廣義的弱監(jiān)督學(xué)習(xí)。但另一方面,如果初始數(shù)據(jù)中確實(shí)是有l(wèi)abel的,那這個學(xué)習(xí)過程,label信息完全可以用上去。比方說,我們把真的label和反繹出來的label一起用來對分類器做更新等等。 第二個方面,初始的分類器從哪來?這可以有很多的辦法,比方說類似于深度學(xué)習(xí)的預(yù)訓(xùn)練或者遷移學(xué)習(xí),做一個任務(wù)時(shí)可以用另外一個任務(wù)的結(jié)果做初步模型。甚至把數(shù)據(jù)聚類的結(jié)果作為粗糙的起點(diǎn),有時(shí)也可以。 這里的關(guān)鍵是,初始分類器未必要準(zhǔn)確可靠,只不過用它把過程啟動起來。當(dāng)初始模型非常粗糙時(shí),如果知識庫的知識靠譜,那就能通過知識庫的信息來修正分類器,能進(jìn)行下去。如果知識不太精準(zhǔn),而初始模型比較好,也能往下學(xué)。如果兩者都好,當(dāng)然可以做得更好。也就是說,至少有一個好就能往下做。當(dāng)然,如果數(shù)據(jù)沒有l(wèi)abel、初始分類器不靠譜、知識也不靠譜,那這樣的任務(wù)本身就沒法做。 那接下來,這個知識庫從哪來?這個目前還是需要人類專家來提供。最近一些關(guān)于知識圖譜的工作能提供很多幫助。另外,有可能初始的知識并不是完美的,那么這個過程中,也可以通過對數(shù)據(jù)的學(xué)習(xí)來對知識做精化,所以反繹學(xué)習(xí)本身也可以認(rèn)為是一個對知識精化的過程。 接下來這個過程中涉及到怎么樣具體地去做學(xué)習(xí),去做推理等等,這些具體算法機(jī)制的設(shè)計(jì)。反繹學(xué)習(xí)本身是一個框架,對里面這些機(jī)制細(xì)節(jié)做不同的設(shè)計(jì),可以產(chǎn)生出不同特點(diǎn)的反繹學(xué)習(xí)模型和算法。 下面就介紹一個簡單的例子,面對的這個任務(wù)是破譯長代碼。
例如上面三行代碼,這個代碼是以圖像形式呈現(xiàn),比方說第一行是正例,第二行是反例,能不能判斷第三行是正例還是反例?這里訓(xùn)練數(shù)據(jù)的長度和測試數(shù)據(jù)所用的長度不一樣。而且,數(shù)據(jù)的語義是什么事先也不知道。這和破譯密碼有點(diǎn)像?,F(xiàn)在考慮簡單的XNOR問題。 第一個是DBA任務(wù),左邊是訓(xùn)練數(shù)據(jù),每個數(shù)據(jù)都是由5個圖像組成,可以認(rèn)為它是5位,0+0=0是正例,1+0=0是反例。我們對這5位圖像組成的數(shù)據(jù)學(xué)習(xí)之后,測試數(shù)據(jù)是右邊這樣,長度要比訓(xùn)練數(shù)據(jù)長得多,而且有些數(shù)據(jù)特點(diǎn)也不同,例如訓(xùn)練數(shù)據(jù)中的等號總在倒數(shù)第二位,而測試數(shù)據(jù)中的等號可以出現(xiàn)在很不一樣的位置。第二個RBA任務(wù)更困難,連圖像的含義都看不出來,圖像都是隨機(jī)生成的。
我們用了一個簡單的實(shí)現(xiàn)。機(jī)器學(xué)習(xí)部分就是用卷積神經(jīng)網(wǎng)絡(luò),邏輯推理部分用ALP,都有開源代碼可以直接用。把兩者銜接起來,中間的優(yōu)化求解過程跟一般機(jī)器學(xué)習(xí)里不太一樣,我們在神經(jīng)網(wǎng)絡(luò)、統(tǒng)計(jì)學(xué)習(xí)里的優(yōu)化一般用到的是數(shù)值優(yōu)化,通常用梯度下降來做,但現(xiàn)在是面對符號優(yōu)化,不能求導(dǎo)、梯度下降。這里就用到我們研究團(tuán)隊(duì)近五六年一直在做的零階優(yōu)化方法,不用求梯度地做優(yōu)化。把這幾個技術(shù)結(jié)合起來,就是這個簡單的實(shí)現(xiàn)。
我們看看這個實(shí)驗(yàn)結(jié)果,圖上藍(lán)色和紫色分別對應(yīng)基于卷積神經(jīng)網(wǎng)絡(luò)、 LSTM處理得到的結(jié)果。下面有一條橫線對應(yīng)的是隨機(jī)猜測,上面一條橫線對應(yīng)的是人的水平。第一個圖的DBA任務(wù),我們可以看到,如果長度在12位以內(nèi),神經(jīng)網(wǎng)絡(luò)比人做得好。但是長度超過12位,人比這些神經(jīng)網(wǎng)絡(luò)要強(qiáng)。 橙色部分是反繹學(xué)習(xí)的結(jié)果,通過把機(jī)器學(xué)習(xí)跟邏輯推理結(jié)合起來之后,在這個任務(wù)上比一般人做得好。右邊的RBA任務(wù)情況類似,在這個更困難的任務(wù)上,隨著串長度的增加,所有方法的性能都在下降,但是基于反繹學(xué)習(xí)的方法還是比人的水平高一些。 實(shí)驗(yàn)里這個簡單任務(wù)本身并不重要,重要的是顯示出把機(jī)器學(xué)習(xí)和邏輯推理以”相對均衡”的反繹學(xué)習(xí)方式結(jié)合起來,雖然僅用了很簡單的實(shí)現(xiàn),就煥發(fā)出令人興奮的能力。今后如果設(shè)計(jì)出更精致、巧妙的實(shí)現(xiàn)方式,可能會給我們帶來更多驚喜。
大家感興趣的話,上面第一篇文獻(xiàn)是發(fā)表在中國科學(xué)上的文章,跳出細(xì)節(jié)來描述整個框架,很容易讀。第二個是描述了剛才的這個具體實(shí)現(xiàn)。
最后做一個簡單的小結(jié)和展望:我們現(xiàn)在經(jīng)常在談數(shù)據(jù)、算法和算力三要素,未來或許應(yīng)該考慮進(jìn)知識這個要素,知識凝聚了人類積累的智慧。過去十幾年,我們都是從數(shù)據(jù)驅(qū)動的角度來研究人工智能,現(xiàn)在可能是時(shí)候把數(shù)據(jù)驅(qū)動和知識驅(qū)動結(jié)合起來了。我們的這個工作只是非常粗淺的初步探索,這里的研究空間很大,大家如果有興趣,相信會在這方面做出更好的工作。謝謝!
-
人工智能
+關(guān)注
關(guān)注
1789文章
46652瀏覽量
237073 -
數(shù)據(jù)驅(qū)動
+關(guān)注
關(guān)注
0文章
124瀏覽量
12312 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8349瀏覽量
132312
原文標(biāo)題:周志華:“數(shù)據(jù)、算法、算力”人工智能三要素,在未來要加上“知識”| CCF-GAIR 2020
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論