AI科技大本營(yíng)按:4 月 15 日舉辦的京東人工智能創(chuàng)新峰會(huì)上,剛剛上任京東人工智能南京分院學(xué)術(shù)總顧問(wèn)的周志華教授做了《關(guān)于深度學(xué)習(xí)一點(diǎn)思考》的公開(kāi)分享。
近年來(lái),深度神經(jīng)網(wǎng)絡(luò)在語(yǔ)音、圖像領(lǐng)域取得突出進(jìn)展,以至于很多人將深度學(xué)習(xí)與深度神經(jīng)網(wǎng)絡(luò)等同視之。但周志華表示,總結(jié)Kaggle 競(jìng)賽中的獲獎(jiǎng)結(jié)果可以發(fā)現(xiàn),神經(jīng)網(wǎng)絡(luò)獲勝的往往就是在圖像、視頻、聲音這幾類典型任務(wù)上,而在其它涉及到混合建模、離散建模、符號(hào)建模的任務(wù)上,相比其他模型就會(huì)差一些。
為什么會(huì)產(chǎn)生這樣的結(jié)果?周志華從深度神經(jīng)網(wǎng)絡(luò)的深層含義說(shuō)起,條分縷析地總結(jié)出神經(jīng)網(wǎng)絡(luò)取得成功的三大原因:
有逐層的處理
有特征的內(nèi)部變化
有足夠的模型復(fù)雜度
并得出結(jié)論:如果滿足這三大條件,則并不一定只能用深度神經(jīng)網(wǎng)絡(luò)。
由于神經(jīng)網(wǎng)絡(luò)存在的一些缺陷,很多時(shí)候人們不得不考慮其他的模型。周志華介紹了他所領(lǐng)導(dǎo)的團(tuán)隊(duì)提出的gcforest方法,稱該方法有良好的跨任務(wù)表現(xiàn)、自適應(yīng)的模型復(fù)雜度等優(yōu)勢(shì)。
而對(duì)于 gcforest 研究的重要意義,正如周志華在分享中表示的那樣,深度學(xué)習(xí)是一個(gè)黑屋子,以前大家都知道它里面有深度神經(jīng)網(wǎng)絡(luò),現(xiàn)在我們把這個(gè)屋子打開(kāi)了一扇門(mén),把 gcforest 放進(jìn)來(lái),我想以后可能還有更多的東西,這是這個(gè)工作從學(xué)術(shù)科學(xué)發(fā)展上更重要的價(jià)值所在。
周志華教授是美國(guó)計(jì)算機(jī)學(xué)會(huì) (ACM)、美國(guó)科學(xué)促進(jìn)會(huì) (AAAS)、國(guó)際人工智能學(xué)會(huì) (AAAI) 、國(guó)際電氣電子工程師學(xué)會(huì) (IEEE) 、國(guó)際模式識(shí)別學(xué)會(huì) (IAPR)、國(guó)際工程技術(shù) (IET/IEE) 等學(xué)會(huì)的會(huì)士,實(shí)現(xiàn)了 AI 領(lǐng)域會(huì)士大滿貫,也是唯一一位在中國(guó)大陸取得全部學(xué)位的 AAAI 會(huì)士,對(duì)于機(jī)器學(xué)習(xí)中的集成學(xué)習(xí)、多標(biāo)記學(xué)習(xí)與半監(jiān)督學(xué)習(xí)有著卓越的貢獻(xiàn)。他還一手參與創(chuàng)建了南京大學(xué)人工智能學(xué)院并擔(dān)任院長(zhǎng)。
下面是演講全文,AI科技大本營(yíng)整理:
各位可能最近都聽(tīng)說(shuō)我們南京大學(xué)成立了人工智能學(xué)院,這是中國(guó) C9 高校的第一個(gè)人工智能學(xué)科。今天就跟大家談一談我們自己對(duì)于深度學(xué)習(xí)的一點(diǎn)點(diǎn)非常粗淺的看法,僅供大家批評(píng)討論。
▌什么是深度學(xué)習(xí)?
我們都知道現(xiàn)在人工智能很熱,掀起這股的熱潮最重要的技術(shù)之一就是深度學(xué)習(xí)技術(shù)。今天當(dāng)我們談到深度學(xué)習(xí)的時(shí)候,其實(shí)已經(jīng)可以看到在各種各樣的應(yīng)用,包括圖像、視頻、聲音、自然語(yǔ)言處理等等。如果我們問(wèn)一個(gè)問(wèn)題,什么是深度學(xué)習(xí)?大多數(shù)人基本會(huì)認(rèn)為,深度學(xué)習(xí)差不多就等于深度神經(jīng)網(wǎng)絡(luò)。
我給大家看一個(gè)例子。有一個(gè)非常著名的學(xué)會(huì)是國(guó)際工業(yè)與應(yīng)用數(shù)學(xué)學(xué)會(huì),他們有一個(gè)報(bào)紙叫 SIAM News。去年 6 月份的頭版上有一篇文章,它里面的重點(diǎn)說(shuō)的就是深度學(xué)習(xí)是什么?它(深度學(xué)習(xí))是機(jī)器學(xué)習(xí)的一個(gè)子域(subfield),這里面要用深度神經(jīng)網(wǎng)絡(luò)。
所以基本上如果我們要談深度學(xué)習(xí)的話,首先要從神經(jīng)網(wǎng)絡(luò)開(kāi)始。神經(jīng)網(wǎng)絡(luò)并不是一個(gè)新生事物,人們已經(jīng)研究了超過(guò)半個(gè)世紀(jì)。但以往的話我們會(huì)用這樣的神經(jīng)網(wǎng)絡(luò),就是中間有一個(gè)隱層或者有兩個(gè)隱層。在這樣的神經(jīng)網(wǎng)絡(luò)里面,它的每一個(gè)單元是一個(gè)什么樣的東西呢?是個(gè)非常簡(jiǎn)單的計(jì)算模型。
比如說(shuō)這么一個(gè)計(jì)算模型,實(shí)際上半個(gè)多世紀(jì)以前我們就已經(jīng)總結(jié)出來(lái)了。我們收到一些輸入,這些輸入通過(guò)一些連接放大,到了細(xì)胞之后,它的“加和”如果超過(guò)一個(gè)閾值,這個(gè)細(xì)胞就激活了。實(shí)際上說(shuō)穿了就是這么一個(gè)非常簡(jiǎn)單的公式,所謂的神經(jīng)網(wǎng)絡(luò)就是很多這樣的公式通過(guò)嵌套迭代得到的一個(gè)數(shù)學(xué)系統(tǒng)。
今天我們說(shuō)深度神經(jīng)網(wǎng)絡(luò)的時(shí)候指的是什么?其實(shí)簡(jiǎn)單來(lái)說(shuō)就是用的神經(jīng)網(wǎng)絡(luò)有很多層,很深很深。大概多少?看一個(gè)數(shù)據(jù),2012 年深度學(xué)習(xí)剛剛受到大家的重視的時(shí)候,一個(gè) ImageNet 競(jìng)賽的冠軍用了 8 層,2015 年 152 層,2016 年 1207 多層,這是一個(gè)非常龐大的系統(tǒng)。
要把這個(gè)系統(tǒng)訓(xùn)練出來(lái)難度非常大,但有一個(gè)非常好的消息,真正的神經(jīng)網(wǎng)絡(luò)里面的計(jì)算單元,它最重要的激活函數(shù)是連續(xù)的,是可微的。以前在神經(jīng)網(wǎng)絡(luò)里面我們經(jīng)常用 Sigmoid,它是連續(xù)可微的,現(xiàn)在在深度神經(jīng)網(wǎng)絡(luò)里,我們經(jīng)常用 tanh 或者 tanh 的變體,它也是連續(xù)可微的。有了這么一個(gè)性質(zhì)以后,我們會(huì)得到一個(gè)非常好的結(jié)果,這個(gè)結(jié)果就是現(xiàn)在我們可以很容易計(jì)算系統(tǒng)的梯度。因此就可以很容易用著名的 BP 算法(注:反向傳播算法)來(lái)訓(xùn)練這系統(tǒng)。
今天通過(guò)這樣的算法,神經(jīng)網(wǎng)絡(luò)已經(jīng)取得了非常多的勝利,但實(shí)際上在學(xué)術(shù)界大家一直沒(méi)有想清楚一件事情,就是我們?yōu)槭裁匆眠@么深的模式?可能今天有很多人會(huì)說(shuō)深度學(xué)習(xí)已經(jīng)取得了很多的成功,但它一個(gè)很大的問(wèn)題就是理論基礎(chǔ)不清楚,我們理論上還說(shuō)不清楚它到底怎么做?為什么會(huì)成功?這里面的關(guān)鍵是什么?其實(shí)我們根本不知道該從什么角度去看它。因?yàn)槿绻覀円隼碚摲治龅脑?,首先?yīng)該有一點(diǎn)直覺(jué),你到底因?yàn)槭裁从杏茫谶@條路上往前走才能有關(guān)鍵的結(jié)果。
關(guān)于深度神經(jīng)網(wǎng)絡(luò)為什么能深,其實(shí)這件事情到今天為止學(xué)術(shù)界都沒(méi)有統(tǒng)一的看法。在這里面給大家講一個(gè)我們前一段時(shí)間給出的論述,這個(gè)論述其實(shí)是從主要模型的復(fù)雜度的角度來(lái)討論的。
▌深度學(xué)習(xí)成功的關(guān)鍵是什么?
我們知道一個(gè)機(jī)器學(xué)習(xí)模型的復(fù)雜度實(shí)際上和它的容量有關(guān),而這個(gè)容量直接決定了它的學(xué)習(xí)能力,所以說(shuō)學(xué)習(xí)能力和復(fù)雜度是有關(guān)的。其實(shí)我們老早就知道,如果我們能夠增強(qiáng)一個(gè)學(xué)習(xí)模型的復(fù)雜度,它的學(xué)習(xí)能力就能夠提升,那么怎樣去提高復(fù)雜度呢?
對(duì)神經(jīng)網(wǎng)絡(luò)這樣的模型來(lái)說(shuō)有兩條很明顯的途徑,一條是我們把模型變深,一條是我們把它變寬,但是如果從提升復(fù)雜度的角度,變深會(huì)更有效。當(dāng)你變寬的時(shí)候你只不過(guò)增加了一些計(jì)算單元、增加了函數(shù)的個(gè)數(shù),而在變深的時(shí)候不僅增加了個(gè)數(shù),其實(shí)還增加了嵌入的層次,所以泛函的表達(dá)能力會(huì)更強(qiáng)。所以從這個(gè)角度來(lái)說(shuō),我們應(yīng)該嘗試變深。
大家可能就會(huì)問(wèn)了,既然要變深,你們不早就知道這件事了嗎?為什么現(xiàn)在才開(kāi)始做呢?其實(shí)這就涉及到另外一個(gè)問(wèn)題,我們?cè)跈C(jī)器學(xué)習(xí)里面把學(xué)習(xí)能力變強(qiáng)了,這其實(shí)未必真的是一件好事。因?yàn)槲覀儥C(jī)器學(xué)習(xí)一直在斗爭(zhēng)的一個(gè)問(wèn)題,就是我們經(jīng)常會(huì)碰到過(guò)擬合。
給定一個(gè)數(shù)據(jù)集,我們希望把數(shù)據(jù)集里的東西學(xué)出來(lái),但是有時(shí)候可能把這個(gè)數(shù)據(jù)本身的一些特性學(xué)出來(lái)了,而這個(gè)特性卻不是一般的規(guī)律。當(dāng)把學(xué)出來(lái)的錯(cuò)誤東西當(dāng)成一般規(guī)律來(lái)用的時(shí)候,就會(huì)犯巨大的錯(cuò)誤,這種現(xiàn)象就是過(guò)擬合。為什么會(huì)把數(shù)據(jù)本身的特性學(xué)出來(lái)?就是因?yàn)槲覀兊哪P蛯W(xué)習(xí)能力太強(qiáng)了。
所以以往我們不太用太復(fù)雜的模型,為什么現(xiàn)在我們可以用這樣的模型?其實(shí)有很多因素,第一個(gè)因素是現(xiàn)在我們有很大的數(shù)據(jù),那么比如說(shuō)我手上如果只有 3000 多數(shù)據(jù),學(xué)出來(lái)的特性就不太可能是一般規(guī)律。但是如果有三千萬(wàn)、甚至三千萬(wàn)萬(wàn)的數(shù)據(jù),那么這些數(shù)據(jù)里的特性本來(lái)就是一般規(guī)律,所以使用大的數(shù)據(jù)本身就是緩解過(guò)擬合的關(guān)鍵條件。
第二個(gè)因素,今天有很多很強(qiáng)大的計(jì)算設(shè)備,所以才能夠訓(xùn)練出這樣的模型,同時(shí)通過(guò)領(lǐng)域里很多學(xué)者的努力,我們有了大量關(guān)于訓(xùn)練這樣復(fù)雜模型的技巧和算法,所以這使得我們使用復(fù)雜模型成為可能。
按照這個(gè)思路來(lái)說(shuō),其實(shí)有三件事:第一,我們今天有更大的數(shù)據(jù);第二;有強(qiáng)力的計(jì)算設(shè)備;第三,有很多有效的訓(xùn)練技巧。
這導(dǎo)致我們可以用高復(fù)雜度的模型。而深度神經(jīng)網(wǎng)絡(luò)恰恰就是一種很便于實(shí)現(xiàn)的高復(fù)雜度的模型。所以這么一套理論解釋,如果我們說(shuō)它是一個(gè)解釋的話,它好像是能告訴我們?yōu)槭裁次覀儸F(xiàn)在能用深度神經(jīng)網(wǎng)絡(luò)。為什么它能成功?就是因?yàn)閺?fù)雜度大。
在一年多之前,我們把這個(gè)解釋說(shuō)出來(lái)的時(shí)候,其實(shí)國(guó)內(nèi)外很多同行也很贊同這么一個(gè)解釋,因?yàn)榇蠹矣X(jué)得這聽(tīng)起來(lái)蠻有道理的,其實(shí)我一直對(duì)這個(gè)不是特別滿意,這是為什么?其實(shí)有一個(gè)潛在的問(wèn)題我們一直沒(méi)有回答。如果從復(fù)雜度解釋的話,我們就沒(méi)有辦法說(shuō)為什么扁平的或者寬的網(wǎng)絡(luò)做不到深度神經(jīng)網(wǎng)絡(luò)的性能?因?yàn)槭聦?shí)上我們把網(wǎng)絡(luò)變寬,雖然它的效率不是那么高,但是它同樣也能起到增加復(fù)雜度的能力。
實(shí)際上我們?cè)?1989 年的時(shí)候就已經(jīng)有一個(gè)理論證明,說(shuō)神經(jīng)網(wǎng)絡(luò)有萬(wàn)有逼近能力:只要你用一個(gè)隱層,就可以以任意精度逼近任意復(fù)雜度的定義在一個(gè)緊集上的連續(xù)函數(shù)。
其實(shí)不一定要非常深。這里面我要引用一個(gè)說(shuō)法,神經(jīng)網(wǎng)絡(luò)有萬(wàn)有逼近能力,可能是有的人會(huì)認(rèn)為這是導(dǎo)致神經(jīng)網(wǎng)絡(luò)為什么這么強(qiáng)大的一個(gè)主要原因,其實(shí)這是一個(gè)誤解。
我們?cè)跈C(jī)器學(xué)習(xí)里面用到的所有模型,它必須具有萬(wàn)有逼近能力。如果沒(méi)有這個(gè)能力,根本不可用。所以最簡(jiǎn)單的,哪怕傅立葉變換,它就已經(jīng)有這個(gè)能力,所以這個(gè)能力不是神經(jīng)網(wǎng)絡(luò)所特有的。那我們?cè)谶@兒要強(qiáng)調(diào)的一件事情是什么?其實(shí)我只要有一個(gè)隱層,我加無(wú)限度的神經(jīng)元進(jìn)去,它的能力也會(huì)變得很強(qiáng),復(fù)雜度會(huì)變得很高。但是這樣的模型無(wú)論在應(yīng)用里面怎么試,我們發(fā)現(xiàn)都不如深度神經(jīng)網(wǎng)絡(luò)好。所以從復(fù)雜的角度可能很難解決這個(gè)問(wèn)題,我們需要一點(diǎn)更深入的思考。
所以我們要問(wèn)這么一個(gè)問(wèn)題:深度神經(jīng)網(wǎng)絡(luò)里面最本質(zhì)的東西到底是什么?今天我們的答案可能是要做表示學(xué)習(xí)的能力。以往我們用機(jī)器學(xué)習(xí),首先拿到一個(gè)數(shù)據(jù),比如這個(gè)數(shù)據(jù)對(duì)象是一個(gè)圖像,我們就用很多特征把它描述出來(lái),比如說(shuō)顏色、紋理等等,這一些特征都是我們?nèi)祟悓<彝ㄟ^(guò)手工來(lái)設(shè)計(jì)的,表達(dá)出來(lái)之后我們?cè)偃ミM(jìn)行學(xué)習(xí)。
而今天我們有了深度學(xué)習(xí)之后,現(xiàn)在不再需要手工設(shè)計(jì)特征,把數(shù)據(jù)從一端扔進(jìn)去,模型從另外一端出來(lái),中間所有的特征完全通過(guò)學(xué)習(xí)自己來(lái)解決,這是所謂的特征學(xué)習(xí)或者表示學(xué)習(xí),這和以往的機(jī)器學(xué)習(xí)技術(shù)相比是一個(gè)很大的進(jìn)步,我們不再需要完全依賴人類專家去設(shè)計(jì)特征了。
有時(shí)候我們的工業(yè)界朋友會(huì)說(shuō),這里面有一個(gè)很重要的叫做端到端學(xué)習(xí),大家認(rèn)為這個(gè)非常重要。其實(shí)這一件事情要分兩個(gè)方面來(lái)看:一個(gè)方面當(dāng)我們把特征學(xué)習(xí)和分類器學(xué)習(xí)聯(lián)合起來(lái)考慮,可以達(dá)到聯(lián)合優(yōu)化的作用,這是好的方面;但另一方面,如果這里面發(fā)生什么我們不清楚,這時(shí)候端到端的學(xué)習(xí)不一定真的好,因?yàn)榭赡艿谝徊糠滞鶘|,第二部分往西,合起來(lái)看往東走的更多一些,其實(shí)內(nèi)部有一些東西已經(jīng)抵消了。
實(shí)際上機(jī)器學(xué)習(xí)里面早就有端到端學(xué)習(xí),比如說(shuō)做特征選擇,但這類方法是不是比其它特征選擇的方法要強(qiáng)?不一定,所以這不是最重要的,真正重要的還是特征學(xué)習(xí)或者表示學(xué)習(xí)。
我們?cè)賳?wèn)下一個(gè)問(wèn)題,表示學(xué)習(xí)最關(guān)鍵的又是什么?對(duì)這件事情我們現(xiàn)在有這么一個(gè)答案,就是逐層的處理?,F(xiàn)在我們就引用非常流行的《深度學(xué)習(xí)》一書(shū)里的一張圖,當(dāng)我們拿到一個(gè)圖像的時(shí)候,如果我們把神經(jīng)網(wǎng)絡(luò)看作很多層的時(shí)候,首先在最底層我們看到是一些像素的東西,當(dāng)我們一層一層往上的時(shí)候,慢慢的有邊緣,再往上有輪廓等等,在真正的神經(jīng)網(wǎng)絡(luò)模型里不一定有這么清晰的分層,但總體上確實(shí)是在往上不斷做對(duì)象的抽象。
而這個(gè)特點(diǎn),我們現(xiàn)在認(rèn)為這好像是深度學(xué)習(xí)真正成功的關(guān)鍵因素之一,因?yàn)楸馄缴窠?jīng)網(wǎng)絡(luò)能做很多深層神經(jīng)網(wǎng)絡(luò)所做的事,但是有一點(diǎn)它做不到:當(dāng)它是扁平的時(shí)候,就沒(méi)有進(jìn)行一個(gè)深度加工,所以深度的逐層抽象可能很關(guān)鍵。那如果我們?cè)倏匆豢?,大家可能就?huì)問(wèn),其實(shí)逐層處理這件事,在機(jī)器學(xué)習(xí)里也不是一個(gè)新東西。
以前有很多逐層處理的東西,比如說(shuō)決策樹(shù),它就是逐層處理,這是非常典型的模型。這個(gè)已經(jīng)有五六十年的歷史了,但它為什么做不到深度神經(jīng)網(wǎng)絡(luò)這么好呢?首先它的復(fù)雜度不夠,因?yàn)闆Q策樹(shù)的深度,如果我們只考慮離散特征,其最深的深度不會(huì)超過(guò)特征的個(gè)數(shù),所以它的模型復(fù)雜度有上限;第二整個(gè)決策樹(shù)的學(xué)習(xí)過(guò)程中,它內(nèi)部沒(méi)有進(jìn)行特征變化,始終是在一個(gè)特征空間里面進(jìn)行,這可能也是一個(gè)問(wèn)題。
大家如果對(duì)高級(jí)一點(diǎn)的機(jī)器學(xué)習(xí)模型有所了解,你可能會(huì)問(wèn),現(xiàn)在很多 Boosting 模型也是一層一層往下走,為什么它沒(méi)有取得深度學(xué)習(xí)的成功?我想問(wèn)題其實(shí)差不多,首先復(fù)雜度還不夠,第二,更關(guān)鍵的一點(diǎn),它始終在原始空間里面做事情,所有的這些學(xué)習(xí)器都是在原始特征空間,中間沒(méi)有進(jìn)行任何的特征變換。
深度神經(jīng)網(wǎng)絡(luò)到底為什么成功?里面的關(guān)鍵原因是什么?我想首先我們需要兩件事,第一是逐層地處理,第二我們要有一個(gè)內(nèi)部的特征變換。而當(dāng)我們考慮到這兩件事情的時(shí)候,我們就會(huì)發(fā)現(xiàn),其實(shí)深度模型是一個(gè)非常自然的選擇。有了這樣的模型,我們很容易可以做上面兩件事。但是當(dāng)我們選擇用這么一個(gè)深度模型的時(shí)候,我們就會(huì)有很多問(wèn)題,它容易 overfit,所以我們要用大數(shù)據(jù),它很難訓(xùn)練,我們要有很多訓(xùn)練的 trick,這個(gè)系統(tǒng)的計(jì)算開(kāi)銷非常大,所以我們要有非常強(qiáng)有力的計(jì)算設(shè)備,比如 GPU 等等。
實(shí)際上所有這些東西是因?yàn)槲覀冞x擇了深度模型之后產(chǎn)生的一個(gè)結(jié)果,他們不是我們用深度學(xué)習(xí)的原因。所以這和以往我們的思考不太一樣,以往我們認(rèn)為有了這些東西,導(dǎo)致我們用深度模型,現(xiàn)在我們覺(jué)得這個(gè)因果關(guān)系恰恰是反過(guò)來(lái)的——因?yàn)槲覀円盟?,所以我們才?huì)考慮上面的這些東西。
而另外還有一點(diǎn)我們要注意,當(dāng)我們要有很大的訓(xùn)練數(shù)據(jù)的時(shí)候,這就要求我們必須要有很復(fù)雜的模型。假設(shè)我們有一個(gè)線性模型的話,給你 2000 萬(wàn)要的還是 2 億的樣本,其實(shí)對(duì)它不是太大區(qū)別,它已經(jīng)學(xué)不進(jìn)去。而我們有了充分的復(fù)雜度,其實(shí)我們看到恰恰它又給我們使用深度模型加了一分。
由于這幾個(gè)原因,我們才覺(jué)得可能這是深度學(xué)習(xí)里面最關(guān)鍵的事情。所以這是我們現(xiàn)在的一個(gè)認(rèn)識(shí):第一我們要有逐層的處理;第二我們要有特征的內(nèi)部變化;第三,我們要有足夠的模型復(fù)雜度。
這三件事情是我們現(xiàn)在認(rèn)為深度神經(jīng)網(wǎng)絡(luò)為什么能夠成功的關(guān)鍵原因,或者說(shuō)這是一個(gè)猜測(cè)。如果滿足這幾個(gè)條件,我其實(shí)可以馬上想到,不一定真的要用神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)是選擇的幾個(gè)方案之一,我只要同時(shí)做到這三件事,別的模型也可以,并不一定只能用深度神經(jīng)網(wǎng)絡(luò)。
▌深度神經(jīng)網(wǎng)絡(luò)的缺陷
我們就要想一想,我們有沒(méi)有必要考慮神經(jīng)網(wǎng)絡(luò)之外的模型?其實(shí)是有的。因?yàn)榇蠹叶贾郎窠?jīng)網(wǎng)絡(luò)有很多缺陷。
第一,凡是用過(guò)深度神經(jīng)網(wǎng)絡(luò)的人都知道,你要花大量的精力來(lái)調(diào)它的參數(shù),因?yàn)檫@是一個(gè)巨大的系統(tǒng)。這里面會(huì)帶來(lái)很多問(wèn)題,首先當(dāng)我們調(diào)參數(shù)的時(shí)候,這個(gè)經(jīng)驗(yàn)其實(shí)是很難共享的。有的朋友可能說(shuō),我在第一個(gè)圖像數(shù)據(jù)集之上調(diào)數(shù)據(jù)的經(jīng)驗(yàn),當(dāng)我用第二個(gè)圖像數(shù)據(jù)集的時(shí)候,這個(gè)經(jīng)驗(yàn)肯定可以重用的。但是我們有沒(méi)有想過(guò),比如說(shuō)我們?cè)趫D像方面做了一個(gè)很大的神經(jīng)網(wǎng)絡(luò),這時(shí)候如果要去做語(yǔ)音,其實(shí)在圖像上面調(diào)參數(shù)的經(jīng)驗(yàn),在語(yǔ)音問(wèn)題上可能基本上不太有借鑒作用,所以當(dāng)我們跨任務(wù)的時(shí)候,經(jīng)驗(yàn)可能就很難有成效。
而且還帶來(lái)第二個(gè)問(wèn)題,我們今天都非常關(guān)注結(jié)果的可重復(fù)性,不管是科學(xué)研究、技術(shù)發(fā)展,都希望這結(jié)果可重復(fù),而在整個(gè)機(jī)器學(xué)習(xí)領(lǐng)域里面,深度學(xué)習(xí)的可重復(fù)性是最弱的。我們經(jīng)常會(huì)碰到這樣的情況,有一組研究人員發(fā)文章報(bào)告了一個(gè)結(jié)果,而這結(jié)果其他的研究人員很難重復(fù)。因?yàn)槟呐履阌猛瑯拥臄?shù)據(jù)、同樣的方法,只要超參數(shù)的設(shè)計(jì)不一樣,你的結(jié)果就不一樣。
我們?cè)谟蒙疃壬窠?jīng)網(wǎng)絡(luò)的時(shí)候,模型的復(fù)雜度必須事先指定,因?yàn)樵谟?xùn)練模型之前,神經(jīng)網(wǎng)絡(luò)是什么樣就必須定了,然后才能用 BP 算法等等去訓(xùn)練它。其實(shí)這就會(huì)帶來(lái)很大的問(wèn)題,因?yàn)樵跊](méi)有解決這個(gè)任務(wù)之前,我們?cè)趺粗肋@個(gè)復(fù)雜度應(yīng)該有多大呢?所以實(shí)際上大家做的通常都是設(shè)更大的復(fù)雜度。
如果在座各位關(guān)注過(guò)去三四年里深度神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)領(lǐng)域的進(jìn)展,你可以看到很多最前沿的工作在做什么事呢?其實(shí)都是在有效地縮減網(wǎng)絡(luò)的復(fù)雜度。比如說(shuō) ResNet 網(wǎng)絡(luò),還有最近大家經(jīng)常用的模型壓縮等,其實(shí)我們想一想不都是把復(fù)雜度變小,實(shí)際上是先用了一個(gè)過(guò)大的復(fù)雜度,然后再降下來(lái)。
那么我們有沒(méi)有可能在一開(kāi)始就讓這個(gè)模型的復(fù)雜度隨著數(shù)據(jù)而變化?這一點(diǎn)對(duì)神經(jīng)網(wǎng)絡(luò)可能很困難,但是對(duì)別的模型是有可能的。還有很多別的問(wèn)題,比如說(shuō)理論分析很困難,需要非常大的數(shù)據(jù),黑箱模型等等。
從另外一個(gè)方面,各位朋友可能說(shuō),你做學(xué)術(shù)研究可能要考慮這些事,我是做應(yīng)用的,你只要給我解決問(wèn)題就好了。就算從這角度來(lái)講,我們研究神經(jīng)網(wǎng)絡(luò)之外的東西也是很必要的。雖然神經(jīng)網(wǎng)絡(luò)這么流行,這么成功,但是其實(shí)我們可以看到,在很多的任務(wù)上性能最好的,不見(jiàn)得完全是深度神經(jīng)網(wǎng)絡(luò),比如說(shuō)大家經(jīng)常關(guān)心的 Kaggle 競(jìng)賽,它上面是各種各樣的真實(shí)問(wèn)題,比如說(shuō)有機(jī)票、訂旅館,商品推薦等等。
如果我們看上面的獲勝者,今天很多還不是神經(jīng)網(wǎng)絡(luò),很多是像隨機(jī)森林等這樣的模型。如果我們真的仔細(xì)去關(guān)注,真的神經(jīng)網(wǎng)絡(luò)獲勝的往往就是在圖像、視頻、聲音這幾類典型任務(wù)上,而在其它涉及到混合建模、離散建模、符號(hào)建模的任務(wù)上,其實(shí)神經(jīng)網(wǎng)絡(luò)的性能比其它模型還要差一些。
所以如果我們從一個(gè)學(xué)術(shù)的角度重新總結(jié)下這件事,我們就可以看到,今天我們談到的深度模型基本上都是深度神經(jīng)網(wǎng)絡(luò)。如果用術(shù)語(yǔ)來(lái)說(shuō)的話,它是多層可參數(shù)化的可微分的非線性模塊所組成的模型,而這個(gè)模型可以用 BP 算法來(lái)訓(xùn)練。
那么這里面有兩個(gè)問(wèn)題:第一,我們現(xiàn)實(shí)世界遇到的各種各樣的問(wèn)題的性質(zhì),并不是絕對(duì)都是可微的,或者能夠用可微的模型做最佳建模;第二,過(guò)去幾十年里面,我們的機(jī)器學(xué)習(xí)界做了很多很多模型出來(lái),這些都可以作為我們構(gòu)建一個(gè)系統(tǒng)的基石,而中間有相當(dāng)一部分模塊是不可微的。
那么這些能不能用來(lái)構(gòu)建深度模型?能不能通過(guò)構(gòu)建深度模型之后得到更好的性能呢?能不能通過(guò)把它們變深之后,使得今天深度模型還打不過(guò)隨機(jī)森林這一些模型的任務(wù),能夠得到更好的結(jié)果呢?
所以我們現(xiàn)在有一個(gè)很大的挑戰(zhàn),這不光是學(xué)術(shù)上也是技術(shù)上的挑戰(zhàn),就是我們能不能用不可微的模塊來(lái)構(gòu)建深度模型。
其實(shí)這個(gè)問(wèn)題一旦得到回答,我們同時(shí)就可以得到好多其他問(wèn)題的回答。比如說(shuō)深度模型是不是就是深度神經(jīng)網(wǎng)絡(luò)?我們能不能用不可微的模型把它做深,這個(gè)時(shí)候我們不能用 BP 算法來(lái)訓(xùn)練,同時(shí)我們能不能讓深度模型在更多的任務(wù)上獲勝。這個(gè)問(wèn)題其實(shí)我們提出來(lái)之后在國(guó)際上也有一些學(xué)者提出了一些相似看法。比如大家都知道深度學(xué)習(xí)非常著名的領(lǐng)軍人物 Geoffrey Hinton 教授,他也提出來(lái)希望深度學(xué)習(xí)以后能不能擺脫 BP 算法來(lái)做,他提出這個(gè)想法比我們要更晚一些。所以我想這一些問(wèn)題是站在很前沿的角度上做的探索。
那我們自己就受到這樣的一個(gè)啟發(fā),我們要考慮這三件事,就是剛才跟大家分析得到的三個(gè)結(jié)論:第一要做逐層處理,第二是特征的內(nèi)部變換,第三我們希望得到一個(gè)充分的模型復(fù)雜度。
▌深度森林
我自己領(lǐng)導(dǎo)的研究組最近在這一方面做了一些工作,我們最近提出了一個(gè) 深度森林的方法。
在這個(gè)方法里面我今天不跟大家講技術(shù)細(xì)節(jié),它是一個(gè)基于樹(shù)模型的方法,主要是借用集成學(xué)習(xí)的很多想法。其次在很多不同的任務(wù)上,它的模型得到的結(jié)果和深度神經(jīng)網(wǎng)絡(luò)是高度相似的,除了一些大規(guī)模的圖像等等。在其他的任務(wù)上,特別是跨任務(wù)表現(xiàn)非常好,我們可以用同樣一套參數(shù),用在不同的任務(wù)中得到不錯(cuò)的性能,就不需要逐任務(wù)的慢慢調(diào)參數(shù)。
還有一個(gè)很重要的特性,它有自適應(yīng)的模型復(fù)雜度,可以根據(jù)數(shù)據(jù)的大小自動(dòng)來(lái)判定該模型長(zhǎng)到什么程度。它的中間有很多好的性質(zhì),有很多朋友可能也會(huì)下載我們的開(kāi)源代碼拿去試,到時(shí)候我們會(huì)有更大規(guī)模分布式的版本等等,要做大的任務(wù)必須要有更大規(guī)模的實(shí)現(xiàn),就不再是單機(jī)版能做的事。
但另一方面,我們要看到這實(shí)際上是在發(fā)展學(xué)科思路上一個(gè)全新的思路探索,所以今天雖然它已經(jīng)能夠解決一部分問(wèn)題了,但是我們應(yīng)該可以看到它再往下發(fā)展,前景可能是今天我們還不太能夠完全預(yù)見(jiàn)到的,所以我這邊簡(jiǎn)單回顧一下卷積神經(jīng)網(wǎng)絡(luò),這么一個(gè)非常流行的技術(shù),它其實(shí)也是經(jīng)過(guò)了很長(zhǎng)期的發(fā)展。
最早信號(hào)處理里面關(guān)于卷積的出現(xiàn),其實(shí)是有一個(gè)多世紀(jì)了,但是現(xiàn)在深度神經(jīng)網(wǎng)絡(luò)的歷史是從 1962 年兩位諾貝爾獎(jiǎng)得主關(guān)于生物視覺(jué)皮層的研究開(kāi)始。但是不管怎么樣第一次在神經(jīng)網(wǎng)絡(luò)里引入卷積是 1982 年,在此之后他們做了很多的工作,1989 年引入 BP 算法,那時(shí)算法就已經(jīng)成型了,到了 1995 年第一次對(duì) CNN 有了一個(gè)完整的描述,在 1998 年對(duì)美國(guó)支票的識(shí)別取得了很大的成功,在 2006 年提出了通過(guò)無(wú)監(jiān)督逐層訓(xùn)練深層模型,到了 2009 年這個(gè)技術(shù)被引到 CNN 里,我們可以做深度的 CNN,2012 年深度的 CNN 被用在ImageNet 比賽中,直接掀起了一波深度學(xué)習(xí)的浪潮。
回顧這段歷史,從卷積神經(jīng)網(wǎng)絡(luò)開(kāi)始出現(xiàn),到這個(gè)算法真正在工業(yè)界取得巨大成效,中間經(jīng)過(guò)了 30 年的發(fā)展,我經(jīng)常說(shuō)我們其實(shí)沒(méi)有什么真正的顛覆性技術(shù),所有的技術(shù)都是一步步發(fā)展。今天我們有新的探索,新的探索能夠解決一些問(wèn)題,但我們應(yīng)該往長(zhǎng)遠(yuǎn)看,在經(jīng)過(guò)很多年,很多人的進(jìn)一步努力后,今天的探索應(yīng)該是為未來(lái)技術(shù)打下一個(gè)更加重要的基礎(chǔ)。
我們做的這一工作,我想它實(shí)際上是深度森林這一大類模型的開(kāi)始,技術(shù)細(xì)節(jié)就不展開(kāi)了,但是它全面的用到了集成學(xué)習(xí)里,據(jù)我所知多樣性增強(qiáng)方面,所有的技術(shù)都用進(jìn)去,所以如果大家感興趣,這是我自己寫(xiě)的一本書(shū)。
我所做的工作的最重要的意義是什么呢?以前我們說(shuō)深度學(xué)習(xí)是一個(gè)黑屋子,這個(gè)黑屋子里面有什么東西呢?大家都知道它有深度神經(jīng)網(wǎng)絡(luò),現(xiàn)在我們把這個(gè)屋子打開(kāi)了一扇門(mén),把深度森林放進(jìn)來(lái),我想以后可能還有更多的東西。所以這是這個(gè)工作從學(xué)術(shù)科學(xué)發(fā)展上的意義上,有一個(gè)更重要的價(jià)值。
▌AI時(shí)代最重要的是人才
最后我想用兩分鐘的時(shí)間談一談,南京大學(xué)人工智能學(xué)院馬上跟京東開(kāi)展全面的、深入的在科學(xué)研究和人才培養(yǎng)方面的合作。
關(guān)于人工智能產(chǎn)業(yè)的發(fā)展,我們要問(wèn)一個(gè)問(wèn)題,我們到底需要什么?大家說(shuō)需要設(shè)備嗎?其實(shí)做人工智能的研究不需要特殊機(jī)密的設(shè)備,你只要花錢,這些設(shè)備都買得到,GPU 這些都不是什么高端的禁運(yùn)的商品。第二是不是缺數(shù)據(jù)?也不是,現(xiàn)在我們的數(shù)據(jù)收集存儲(chǔ)、傳輸、處理的能力大幅度的提升,到處都是數(shù)據(jù),真正缺的是什么?
其實(shí)人工智能時(shí)代最缺的就是人才。因?yàn)閷?duì)這個(gè)行業(yè)來(lái)說(shuō),你有多好的人,才有多好的人工智能。所以我們現(xiàn)在可以看到,其實(shí)全球都在爭(zhēng)搶人工智能人才,不光是中國(guó),美國(guó)也是這樣。所以我們成立人工智能學(xué)院,其實(shí)就有這樣的考慮。
信息化之后人類社會(huì)必然進(jìn)入智能化,可以說(shuō)這是一個(gè)不可逆轉(zhuǎn)、不可改變的一個(gè)趨勢(shì)。因?yàn)槲覀兓跀?shù)據(jù)信息為人提供智能輔助,讓人做事更容易,這是我們所有人的愿望。蒸汽機(jī)的革命是把我們從體力勞動(dòng)里面解放出來(lái),人工智能革命應(yīng)該是把我們?nèi)祟悘囊恍┓磸?fù)性強(qiáng)的簡(jiǎn)單智力勞動(dòng)中解放出來(lái),而且人工智能這一個(gè)學(xué)科和其他短期的投資風(fēng)口和短期熱點(diǎn)不太一樣,它經(jīng)過(guò) 60 多年的發(fā)展,已經(jīng)有了一個(gè)龐大的、真正的知識(shí)體系。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4814瀏覽量
103524
原文標(biāo)題:周志華:滿足這三大條件,可以考慮不用深度神經(jīng)網(wǎng)絡(luò)
文章出處:【微信號(hào):AI_Thinker,微信公眾號(hào):人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
ADS828的GND引腳有三個(gè),這三個(gè)引腳的接地是哪個(gè)接數(shù)字地,哪個(gè)接模擬地?
BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的比較
BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的關(guān)系
深度學(xué)習(xí)入門(mén):簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)的構(gòu)建與實(shí)現(xiàn)
人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較
深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)模型
LSTM神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)RNN的區(qū)別
LSTM神經(jīng)網(wǎng)絡(luò)在時(shí)間序列預(yù)測(cè)中的應(yīng)用
Moku人工神經(jīng)網(wǎng)絡(luò)101

評(píng)論