出品 | AI科技大本營(公眾號ID:rgznai100)
AI科技大本營按:4 月 15 日舉辦的京東人工智能創(chuàng)新峰會上,剛剛上任京東人工智能南京分院學(xué)術(shù)總顧問的周志華教授做了《關(guān)于深度學(xué)習(xí)一點思考》的公開分享伍绳。
近年來虏等,深度神經(jīng)網(wǎng)絡(luò)在語音、圖像領(lǐng)域取得突出進展啡专,以至于很多人將深度學(xué)習(xí)與深度神經(jīng)網(wǎng)絡(luò)等同視之险毁。但周志華表示,總結(jié)?Kaggle 競賽中的獲獎結(jié)果可以發(fā)現(xiàn),神經(jīng)網(wǎng)絡(luò)獲勝的往往就是在圖像畔况、視頻鲸鹦、聲音這幾類典型任務(wù)上,而在其它涉及到混合建模跷跪、離散建模馋嗜、符號建模的任務(wù)上,相比其他模型就會差一些吵瞻。
為什么會產(chǎn)生這樣的結(jié)果葛菇?周志華從深度神經(jīng)網(wǎng)絡(luò)的深層含義說起,條分縷析地總結(jié)出神經(jīng)網(wǎng)絡(luò)取得成功的三大原因:
有逐層的處理
有特征的內(nèi)部變化
有足夠的模型復(fù)雜度
并得出結(jié)論:如果滿足這三大條件橡羞,則并不一定只能用深度神經(jīng)網(wǎng)絡(luò)眯停。
由于神經(jīng)網(wǎng)絡(luò)存在的一些缺陷,很多時候人們不得不考慮其他的模型尉姨。周志華介紹了他所領(lǐng)導(dǎo)的團隊提出的?gcforest?方法庵朝,稱該方法有良好的跨任務(wù)表現(xiàn)、自適應(yīng)的模型復(fù)雜度等優(yōu)勢又厉。
而對于 gcforest 研究的重要意義九府,正如周志華在分享中表示的那樣,深度學(xué)習(xí)是一個黑屋子覆致,以前大家都知道它里面有深度神經(jīng)網(wǎng)絡(luò)侄旬,現(xiàn)在我們把這個屋子打開了一扇門,把 gcforest 放進來煌妈,我想以后可能還有更多的東西儡羔,這是這個工作從學(xué)術(shù)科學(xué)發(fā)展上更重要的價值所在。
周志華教授是美國計算機學(xué)會 (ACM)璧诵、美國科學(xué)促進會 (AAAS)汰蜘、國際人工智能學(xué)會 (AAAI) 、國際電氣電子工程師學(xué)會 (IEEE) 之宿、國際模式識別學(xué)會 (IAPR)族操、國際工程技術(shù) (IET/IEE) 等學(xué)會的會士,實現(xiàn)了 AI 領(lǐng)域會士大滿貫比被,也是唯一一位在中國大陸取得全部學(xué)位的 AAAI 會士色难,對于機器學(xué)習(xí)中的集成學(xué)習(xí)、多標記學(xué)習(xí)與半監(jiān)督學(xué)習(xí)有著卓越的貢獻等缀。他還一手參與創(chuàng)建了南京大學(xué)人工智能學(xué)院并擔任院長枷莉。
下面是演講全文,AI科技大本營整理:
各位可能最近都聽說我們南京大學(xué)成立了人工智能學(xué)院尺迂,這是中國 C9 高校的第一個人工智能學(xué)科笤妙。今天就跟大家談一談我們自己對于深度學(xué)習(xí)的一點點非常粗淺的看法冒掌,僅供大家批評討論。
▌什么是深度學(xué)習(xí)危喉?
我們都知道現(xiàn)在人工智能很熱宋渔,掀起這股的熱潮最重要的技術(shù)之一就是深度學(xué)習(xí)技術(shù)。今天當我們談到深度學(xué)習(xí)的時候辜限,其實已經(jīng)可以看到在各種各樣的應(yīng)用皇拣,包括圖像、視頻薄嫡、聲音氧急、自然語言處理等等。如果我們問一個問題毫深,什么是深度學(xué)習(xí)吩坝?大多數(shù)人基本會認為,深度學(xué)習(xí)差不多就等于深度神經(jīng)網(wǎng)絡(luò)哑蔫。
我給大家看一個例子钉寝。有一個非常著名的學(xué)會是國際工業(yè)與應(yīng)用數(shù)學(xué)學(xué)會,他們有一個報紙叫 SIAM News闸迷。去年 6 月份的頭版上有一篇文章嵌纲,它里面的重點說的就是深度學(xué)習(xí)是什么?它(深度學(xué)習(xí))是機器學(xué)習(xí)的一個子域(subfield)腥沽,這里面要用深度神經(jīng)網(wǎng)絡(luò)逮走。
所以基本上如果我們要談深度學(xué)習(xí)的話,首先要從神經(jīng)網(wǎng)絡(luò)開始今阳。神經(jīng)網(wǎng)絡(luò)并不是一個新生事物师溅,人們已經(jīng)研究了超過半個世紀。但以往的話我們會用這樣的神經(jīng)網(wǎng)絡(luò)盾舌,就是中間有一個隱層或者有兩個隱層墓臭。在這樣的神經(jīng)網(wǎng)絡(luò)里面,它的每一個單元是一個什么樣的東西呢妖谴?是個非常簡單的計算模型窿锉。
比如說這么一個計算模型,實際上半個多世紀以前我們就已經(jīng)總結(jié)出來了窖维。我們收到一些輸入榆综,這些輸入通過一些連接放大妙痹,到了細胞之后铸史,它的“加和”如果超過一個閾值,這個細胞就激活了怯伊。實際上說穿了就是這么一個非常簡單的公式琳轿,所謂的神經(jīng)網(wǎng)絡(luò)就是很多這樣的公式通過嵌套迭代得到的一個數(shù)學(xué)系統(tǒng)。
今天我們說深度神經(jīng)網(wǎng)絡(luò)的時候指的是什么?其實簡單來說就是用的神經(jīng)網(wǎng)絡(luò)有很多層崭篡,很深很深挪哄。大概多少?看一個數(shù)據(jù)琉闪,2012 年深度學(xué)習(xí)剛剛受到大家的重視的時候迹炼,一個 ImageNet 競賽的冠軍用了 8 層,2015 年 152 層颠毙,2016 年 1207 多層斯入,這是一個非常龐大的系統(tǒng)。
要把這個系統(tǒng)訓(xùn)練出來難度非常大蛀蜜,但有一個非常好的消息刻两,真正的神經(jīng)網(wǎng)絡(luò)里面的計算單元,它最重要的激活函數(shù)是連續(xù)的滴某,是可微的磅摹。以前在神經(jīng)網(wǎng)絡(luò)里面我們經(jīng)常用 Sigmoid,它是連續(xù)可微的霎奢,現(xiàn)在在深度神經(jīng)網(wǎng)絡(luò)里户誓,我們經(jīng)常用 tanh 或者 tanh 的變體,它也是連續(xù)可微的椰憋。有了這么一個性質(zhì)以后厅克,我們會得到一個非常好的結(jié)果,這個結(jié)果就是現(xiàn)在我們可以很容易計算系統(tǒng)的梯度橙依。因此就可以很容易用著名的 BP 算法(注:反向傳播算法)來訓(xùn)練這系統(tǒng)证舟。
今天通過這樣的算法,神經(jīng)網(wǎng)絡(luò)已經(jīng)取得了非常多的勝利窗骑,但實際上在學(xué)術(shù)界大家一直沒有想清楚一件事情女责,就是我們?yōu)槭裁匆眠@么深的模式?可能今天有很多人會說深度學(xué)習(xí)已經(jīng)取得了很多的成功创译,但它一個很大的問題就是理論基礎(chǔ)不清楚抵知,我們理論上還說不清楚它到底怎么做?為什么會成功软族?這里面的關(guān)鍵是什么刷喜?其實我們根本不知道該從什么角度去看它。因為如果我們要做理論分析的話立砸,首先應(yīng)該有一點直覺掖疮,你到底因為什么有用,在這條路上往前走才能有關(guān)鍵的結(jié)果颗祝。
關(guān)于深度神經(jīng)網(wǎng)絡(luò)為什么能深浊闪,其實這件事情到今天為止學(xué)術(shù)界都沒有統(tǒng)一的看法恼布。在這里面給大家講一個我們前一段時間給出的論述,這個論述其實是從主要模型的復(fù)雜度的角度來討論的搁宾。
▌深度學(xué)習(xí)成功的關(guān)鍵是什么折汞?
我們知道一個機器學(xué)習(xí)模型的復(fù)雜度實際上和它的容量有關(guān),而這個容量直接決定了它的學(xué)習(xí)能力盖腿,所以說學(xué)習(xí)能力和復(fù)雜度是有關(guān)的爽待。其實我們老早就知道,如果我們能夠增強一個學(xué)習(xí)模型的復(fù)雜度翩腐,它的學(xué)習(xí)能力就能夠提升堕伪,那么怎樣去提高復(fù)雜度呢?
對神經(jīng)網(wǎng)絡(luò)這樣的模型來說有兩條很明顯的途徑栗菜,一條是我們把模型變深欠雌,一條是我們把它變寬,但是如果從提升復(fù)雜度的角度疙筹,變深會更有效富俄。當你變寬的時候你只不過增加了一些計算單元、增加了函數(shù)的個數(shù)而咆,而在變深的時候不僅增加了個數(shù)霍比,其實還增加了嵌入的層次,所以泛函的表達能力會更強暴备。所以從這個角度來說悠瞬,我們應(yīng)該嘗試變深。
大家可能就會問了涯捻,既然要變深浅妆,你們不早就知道這件事了嗎?為什么現(xiàn)在才開始做呢障癌?其實這就涉及到另外一個問題凌外,我們在機器學(xué)習(xí)里面把學(xué)習(xí)能力變強了,這其實未必真的是一件好事涛浙。因為我們機器學(xué)習(xí)一直在斗爭的一個問題康辑,就是我們經(jīng)常會碰到過擬合。
給定一個數(shù)據(jù)集轿亮,我們希望把數(shù)據(jù)集里的東西學(xué)出來捺信,但是有時候可能把這個數(shù)據(jù)本身的一些特性學(xué)出來了帽驯,而這個特性卻不是一般的規(guī)律祖驱。當把學(xué)出來的錯誤東西當成一般規(guī)律來用的時候舅柜,就會犯巨大的錯誤,這種現(xiàn)象就是過擬合仓手。為什么會把數(shù)據(jù)本身的特性學(xué)出來胖齐?就是因為我們的模型學(xué)習(xí)能力太強了。
所以以往我們不太用太復(fù)雜的模型嗽冒,為什么現(xiàn)在我們可以用這樣的模型呀伙?其實有很多因素,第一個因素是現(xiàn)在我們有很大的數(shù)據(jù)添坊,那么比如說我手上如果只有 3000 多數(shù)據(jù)剿另,學(xué)出來的特性就不太可能是一般規(guī)律。但是如果有三千萬贬蛙、甚至三千萬萬的數(shù)據(jù)雨女,那么這些數(shù)據(jù)里的特性本來就是一般規(guī)律,所以使用大的數(shù)據(jù)本身就是緩解過擬合的關(guān)鍵條件阳准。
第二個因素氛堕,今天有很多很強大的計算設(shè)備,所以才能夠訓(xùn)練出這樣的模型野蝇,同時通過領(lǐng)域里很多學(xué)者的努力讼稚,我們有了大量關(guān)于訓(xùn)練這樣復(fù)雜模型的技巧和算法,所以這使得我們使用復(fù)雜模型成為可能绕沈。
按照這個思路來說锐想,其實有三件事:第一,我們今天有更大的數(shù)據(jù)乍狐;第二赠摇;有強力的計算設(shè)備;第三浅蚪,有很多有效的訓(xùn)練技巧藕帜。
這導(dǎo)致我們可以用高復(fù)雜度的模型。而深度神經(jīng)網(wǎng)絡(luò)恰恰就是一種很便于實現(xiàn)的高復(fù)雜度的模型惜傲。所以這么一套理論解釋耘戚,如果我們說它是一個解釋的話,它好像是能告訴我們?yōu)槭裁次覀儸F(xiàn)在能用深度神經(jīng)網(wǎng)絡(luò)操漠。為什么它能成功收津?就是因為復(fù)雜度大。
在一年多之前浊伙,我們把這個解釋說出來的時候撞秋,其實國內(nèi)外很多同行也很贊同這么一個解釋,因為大家覺得這聽起來蠻有道理的嚣鄙,其實我一直對這個不是特別滿意吻贿,這是為什么?其實有一個潛在的問題我們一直沒有回答哑子。如果從復(fù)雜度解釋的話舅列,我們就沒有辦法說為什么扁平的或者寬的網(wǎng)絡(luò)做不到深度神經(jīng)網(wǎng)絡(luò)的性能肌割?因為事實上我們把網(wǎng)絡(luò)變寬,雖然它的效率不是那么高帐要,但是它同樣也能起到增加復(fù)雜度的能力把敞。
實際上我們在 1989 年的時候就已經(jīng)有一個理論證明,說神經(jīng)網(wǎng)絡(luò)有萬有逼近能力:只要你用一個隱層榨惠,就可以以任意精度逼近任意復(fù)雜度的定義在一個緊集上的連續(xù)函數(shù)奋早。
其實不一定要非常深。這里面我要引用一個說法赠橙,神經(jīng)網(wǎng)絡(luò)有萬有逼近能力耽装,可能是有的人會認為這是導(dǎo)致神經(jīng)網(wǎng)絡(luò)為什么這么強大的一個主要原因,其實這是一個誤解期揪。
我們在機器學(xué)習(xí)里面用到的所有模型掉奄,它必須具有萬有逼近能力。如果沒有這個能力凤薛,根本不可用挥萌。所以最簡單的,哪怕傅立葉變換枉侧,它就已經(jīng)有這個能力引瀑,所以這個能力不是神經(jīng)網(wǎng)絡(luò)所特有的。那我們在這兒要強調(diào)的一件事情是什么榨馁?其實我只要有一個隱層憨栽,我加無限度的神經(jīng)元進去,它的能力也會變得很強翼虫,復(fù)雜度會變得很高屑柔。但是這樣的模型無論在應(yīng)用里面怎么試,我們發(fā)現(xiàn)都不如深度神經(jīng)網(wǎng)絡(luò)好珍剑。所以從復(fù)雜的角度可能很難解決這個問題掸宛,我們需要一點更深入的思考。
所以我們要問這么一個問題:深度神經(jīng)網(wǎng)絡(luò)里面最本質(zhì)的東西到底是什么招拙?今天我們的答案可能是要做表示學(xué)習(xí)的能力唧瘾。以往我們用機器學(xué)習(xí),首先拿到一個數(shù)據(jù)别凤,比如這個數(shù)據(jù)對象是一個圖像饰序,我們就用很多特征把它描述出來,比如說顏色规哪、紋理等等求豫,這一些特征都是我們?nèi)祟悓<彝ㄟ^手工來設(shè)計的,表達出來之后我們再去進行學(xué)習(xí)。
而今天我們有了深度學(xué)習(xí)之后蝠嘉,現(xiàn)在不再需要手工設(shè)計特征最疆,把數(shù)據(jù)從一端扔進去,模型從另外一端出來蚤告,中間所有的特征完全通過學(xué)習(xí)自己來解決努酸,這是所謂的特征學(xué)習(xí)或者表示學(xué)習(xí),這和以往的機器學(xué)習(xí)技術(shù)相比是一個很大的進步罩缴,我們不再需要完全依賴人類專家去設(shè)計特征了。
有時候我們的工業(yè)界朋友會說层扶,這里面有一個很重要的叫做端到端學(xué)習(xí)箫章,大家認為這個非常重要。其實這一件事情要分兩個方面來看:一個方面當我們把特征學(xué)習(xí)和分類器學(xué)習(xí)聯(lián)合起來考慮镜会,可以達到聯(lián)合優(yōu)化的作用檬寂,這是好的方面;但另一方面戳表,如果這里面發(fā)生什么我們不清楚桶至,這時候端到端的學(xué)習(xí)不一定真的好,因為可能第一部分往東匾旭,第二部分往西镣屹,合起來看往東走的更多一些,其實內(nèi)部有一些東西已經(jīng)抵消了价涝。
實際上機器學(xué)習(xí)里面早就有端到端學(xué)習(xí)女蜈,比如說做特征選擇,但這類方法是不是比其它特征選擇的方法要強色瘩?不一定伪窖,所以這不是最重要的,真正重要的還是特征學(xué)習(xí)或者表示學(xué)習(xí)居兆。
我們再問下一個問題覆山,表示學(xué)習(xí)最關(guān)鍵的又是什么?對這件事情我們現(xiàn)在有這么一個答案泥栖,就是逐層的處理〈乜恚現(xiàn)在我們就引用非常流行的《深度學(xué)習(xí)》一書里的一張圖,當我們拿到一個圖像的時候吧享,如果我們把神經(jīng)網(wǎng)絡(luò)看作很多層的時候晦毙,首先在最底層我們看到是一些像素的東西,當我們一層一層往上的時候耙蔑,慢慢的有邊緣见妒,再往上有輪廓等等,在真正的神經(jīng)網(wǎng)絡(luò)模型里不一定有這么清晰的分層,但總體上確實是在往上不斷做對象的抽象须揣。
而這個特點盐股,我們現(xiàn)在認為這好像是深度學(xué)習(xí)真正成功的關(guān)鍵因素之一,因為扁平神經(jīng)網(wǎng)絡(luò)能做很多深層神經(jīng)網(wǎng)絡(luò)所做的事耻卡,但是有一點它做不到:當它是扁平的時候疯汁,就沒有進行一個深度加工,所以深度的逐層抽象可能很關(guān)鍵卵酪。那如果我們再看一看幌蚊,大家可能就會問,其實逐層處理這件事溃卡,在機器學(xué)習(xí)里也不是一個新東西溢豆。
以前有很多逐層處理的東西,比如說決策樹瘸羡,它就是逐層處理漩仙,這是非常典型的模型。這個已經(jīng)有五六十年的歷史了犹赖,但它為什么做不到深度神經(jīng)網(wǎng)絡(luò)這么好呢队他?首先它的復(fù)雜度不夠,因為決策樹的深度峻村,如果我們只考慮離散特征麸折,其最深的深度不會超過特征的個數(shù),所以它的模型復(fù)雜度有上限粘昨;第二整個決策樹的學(xué)習(xí)過程中磕谅,它內(nèi)部沒有進行特征變化,始終是在一個特征空間里面進行雾棺,這可能也是一個問題膊夹。
大家如果對高級一點的機器學(xué)習(xí)模型有所了解,你可能會問捌浩,現(xiàn)在很多 Boosting 模型也是一層一層往下走放刨,為什么它沒有取得深度學(xué)習(xí)的成功?我想問題其實差不多尸饺,首先復(fù)雜度還不夠进统,第二,更關(guān)鍵的一點浪听,它始終在原始空間里面做事情螟碎,所有的這些學(xué)習(xí)器都是在原始特征空間,中間沒有進行任何的特征變換迹栓。
深度神經(jīng)網(wǎng)絡(luò)到底為什么成功掉分?里面的關(guān)鍵原因是什么?我想首先我們需要兩件事,第一是逐層地處理酥郭,第二我們要有一個內(nèi)部的特征變換华坦。而當我們考慮到這兩件事情的時候,我們就會發(fā)現(xiàn)不从,其實深度模型是一個非常自然的選擇惜姐。有了這樣的模型,我們很容易可以做上面兩件事椿息。但是當我們選擇用這么一個深度模型的時候歹袁,我們就會有很多問題,它容易 overfit寝优,所以我們要用大數(shù)據(jù)条舔,它很難訓(xùn)練,我們要有很多訓(xùn)練的 trick倡勇,這個系統(tǒng)的計算開銷非常大逞刷,所以我們要有非常強有力的計算設(shè)備嘉涌,比如 GPU 等等妻熊。
實際上所有這些東西是因為我們選擇了深度模型之后產(chǎn)生的一個結(jié)果,他們不是我們用深度學(xué)習(xí)的原因仑最。所以這和以往我們的思考不太一樣扔役,以往我們認為有了這些東西,導(dǎo)致我們用深度模型警医,現(xiàn)在我們覺得這個因果關(guān)系恰恰是反過來的——因為我們要用它亿胸,所以我們才會考慮上面的這些東西。
而另外還有一點我們要注意预皇,當我們要有很大的訓(xùn)練數(shù)據(jù)的時候侈玄,這就要求我們必須要有很復(fù)雜的模型。假設(shè)我們有一個線性模型的話吟温,給你 2000 萬要的還是 2 億的樣本序仙,其實對它不是太大區(qū)別,它已經(jīng)學(xué)不進去鲁豪。而我們有了充分的復(fù)雜度潘悼,其實我們看到恰恰它又給我們使用深度模型加了一分。
由于這幾個原因爬橡,我們才覺得可能這是深度學(xué)習(xí)里面最關(guān)鍵的事情治唤。所以這是我們現(xiàn)在的一個認識:第一我們要有逐層的處理;第二我們要有特征的內(nèi)部變化糙申;第三宾添,我們要有足夠的模型復(fù)雜度。
這三件事情是我們現(xiàn)在認為深度神經(jīng)網(wǎng)絡(luò)為什么能夠成功的關(guān)鍵原因,或者說這是一個猜測辞槐。如果滿足這幾個條件掷漱,我其實可以馬上想到,不一定真的要用神經(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ò)之外的模型舱殿?其實是有的奥裸。因為大家都知道神經(jīng)網(wǎng)絡(luò)有很多缺陷。
第一沪袭,凡是用過深度神經(jīng)網(wǎng)絡(luò)的人都知道湾宙,你要花大量的精力來調(diào)它的參數(shù),因為這是一個巨大的系統(tǒng)冈绊。這里面會帶來很多問題侠鳄,首先當我們調(diào)參數(shù)的時候,這個經(jīng)驗其實是很難共享的死宣。有的朋友可能說伟恶,我在第一個圖像數(shù)據(jù)集之上調(diào)數(shù)據(jù)的經(jīng)驗,當我用第二個圖像數(shù)據(jù)集的時候毅该,這個經(jīng)驗肯定可以重用的博秫。但是我們有沒有想過,比如說我們在圖像方面做了一個很大的神經(jīng)網(wǎng)絡(luò)眶掌,這時候如果要去做語音挡育,其實在圖像上面調(diào)參數(shù)的經(jīng)驗,在語音問題上可能基本上不太有借鑒作用朴爬,所以當我們跨任務(wù)的時候即寒,經(jīng)驗可能就很難有成效。
而且還帶來第二個問題寝殴,我們今天都非常關(guān)注結(jié)果的可重復(fù)性蒿叠,不管是科學(xué)研究、技術(shù)發(fā)展蚣常,都希望這結(jié)果可重復(fù)市咽,而在整個機器學(xué)習(xí)領(lǐng)域里面,深度學(xué)習(xí)的可重復(fù)性是最弱的抵蚊。我們經(jīng)常會碰到這樣的情況施绎,有一組研究人員發(fā)文章報告了一個結(jié)果溯革,而這結(jié)果其他的研究人員很難重復(fù)。因為哪怕你用同樣的數(shù)據(jù)谷醉、同樣的方法致稀,只要超參數(shù)的設(shè)計不一樣,你的結(jié)果就不一樣俱尼。
我們在用深度神經(jīng)網(wǎng)絡(luò)的時候抖单,模型的復(fù)雜度必須事先指定,因為在訓(xùn)練模型之前遇八,神經(jīng)網(wǎng)絡(luò)是什么樣就必須定了矛绘,然后才能用 BP 算法等等去訓(xùn)練它。其實這就會帶來很大的問題刃永,因為在沒有解決這個任務(wù)之前货矮,我們怎么知道這個復(fù)雜度應(yīng)該有多大呢?所以實際上大家做的通常都是設(shè)更大的復(fù)雜度斯够。
如果在座各位關(guān)注過去三四年里深度神經(jīng)網(wǎng)絡(luò)囚玫、深度學(xué)習(xí)領(lǐng)域的進展,你可以看到很多最前沿的工作在做什么事呢读规?其實都是在有效地縮減網(wǎng)絡(luò)的復(fù)雜度抓督。比如說 ResNet 網(wǎng)絡(luò),還有最近大家經(jīng)常用的模型壓縮等掖桦,其實我們想一想不都是把復(fù)雜度變小本昏,實際上是先用了一個過大的復(fù)雜度供汛,然后再降下來枪汪。
那么我們有沒有可能在一開始就讓這個模型的復(fù)雜度隨著數(shù)據(jù)而變化?這一點對神經(jīng)網(wǎng)絡(luò)可能很困難怔昨,但是對別的模型是有可能的雀久。還有很多別的問題,比如說理論分析很困難趁舀,需要非常大的數(shù)據(jù)赖捌,黑箱模型等等。
從另外一個方面矮烹,各位朋友可能說越庇,你做學(xué)術(shù)研究可能要考慮這些事,我是做應(yīng)用的奉狈,你只要給我解決問題就好了卤唉。就算從這角度來講,我們研究神經(jīng)網(wǎng)絡(luò)之外的東西也是很必要的仁期。雖然神經(jīng)網(wǎng)絡(luò)這么流行桑驱,這么成功竭恬,但是其實我們可以看到,在很多的任務(wù)上性能最好的熬的,不見得完全是深度神經(jīng)網(wǎng)絡(luò)痊硕,比如說大家經(jīng)常關(guān)心的 Kaggle 競賽,它上面是各種各樣的真實問題押框,比如說有機票岔绸、訂旅館,商品推薦等等橡伞。
如果我們看上面的獲勝者亭螟,今天很多還不是神經(jīng)網(wǎng)絡(luò),很多是像隨機森林等這樣的模型骑歹。如果我們真的仔細去關(guān)注预烙,真的神經(jīng)網(wǎng)絡(luò)獲勝的往往就是在圖像、視頻道媚、聲音這幾類典型任務(wù)上扁掸,而在其它涉及到混合建模、離散建模最域、符號建模的任務(wù)上谴分,其實神經(jīng)網(wǎng)絡(luò)的性能比其它模型還要差一些。
所以如果我們從一個學(xué)術(shù)的角度重新總結(jié)下這件事镀脂,我們就可以看到牺蹄,今天我們談到的深度模型基本上都是深度神經(jīng)網(wǎng)絡(luò)。如果用術(shù)語來說的話薄翅,它是多層可參數(shù)化的可微分的非線性模塊所組成的模型沙兰,而這個模型可以用 BP 算法來訓(xùn)練。
那么這里面有兩個問題:第一翘魄,我們現(xiàn)實世界遇到的各種各樣的問題的性質(zhì)鼎天,并不是絕對都是可微的,或者能夠用可微的模型做最佳建模暑竟;第二斋射,過去幾十年里面,我們的機器學(xué)習(xí)界做了很多很多模型出來但荤,這些都可以作為我們構(gòu)建一個系統(tǒng)的基石罗岖,而中間有相當一部分模塊是不可微的。
那么這些能不能用來構(gòu)建深度模型腹躁?能不能通過構(gòu)建深度模型之后得到更好的性能呢?能不能通過把它們變深之后潜慎,使得今天深度模型還打不過隨機森林這一些模型的任務(wù)蓖康,能夠得到更好的結(jié)果呢?
所以我們現(xiàn)在有一個很大的挑戰(zhàn)蒜焊,這不光是學(xué)術(shù)上也是技術(shù)上的挑戰(zhàn)科贬,就是我們能不能用不可微的模塊來構(gòu)建深度模型。
其實這個問題一旦得到回答优妙,我們同時就可以得到好多其他問題的回答。比如說深度模型是不是就是深度神經(jīng)網(wǎng)絡(luò)套硼?我們能不能用不可微的模型把它做深胞皱,這個時候我們不能用 BP 算法來訓(xùn)練,同時我們能不能讓深度模型在更多的任務(wù)上獲勝反砌。這個問題其實我們提出來之后在國際上也有一些學(xué)者提出了一些相似看法。比如大家都知道深度學(xué)習(xí)非常著名的領(lǐng)軍人物 Geoffrey Hinton 教授策菜,他也提出來希望深度學(xué)習(xí)以后能不能擺脫 BP 算法來做,他提出這個想法比我們要更晚一些酒贬。所以我想這一些問題是站在很前沿的角度上做的探索又憨。
那我們自己就受到這樣的一個啟發(fā),我們要考慮這三件事同衣,就是剛才跟大家分析得到的三個結(jié)論:第一要做逐層處理竟块,第二是特征的內(nèi)部變換壶运,第三我們希望得到一個充分的模型復(fù)雜度耐齐。
▌深度森林
我自己領(lǐng)導(dǎo)的研究組最近在這一方面做了一些工作,我們最近提出了一個 深度森林的方法蒋情。
在這個方法里面我今天不跟大家講技術(shù)細節(jié)埠况,它是一個基于樹模型的方法,主要是借用集成學(xué)習(xí)的很多想法棵癣。其次在很多不同的任務(wù)上辕翰,它的模型得到的結(jié)果和深度神經(jīng)網(wǎng)絡(luò)是高度相似的,除了一些大規(guī)模的圖像等等狈谊。在其他的任務(wù)上喜命,特別是跨任務(wù)表現(xiàn)非常好沟沙,我們可以用同樣一套參數(shù),用在不同的任務(wù)中得到不錯的性能壁榕,就不需要逐任務(wù)的慢慢調(diào)參數(shù)矛紫。
還有一個很重要的特性,它有自適應(yīng)的模型復(fù)雜度牌里,可以根據(jù)數(shù)據(jù)的大小自動來判定該模型長到什么程度颊咬。它的中間有很多好的性質(zhì),有很多朋友可能也會下載我們的開源代碼拿去試牡辽,到時候我們會有更大規(guī)模分布式的版本等等喳篇,要做大的任務(wù)必須要有更大規(guī)模的實現(xiàn),就不再是單機版能做的事态辛。
但另一方面麸澜,我們要看到這實際上是在發(fā)展學(xué)科思路上一個全新的思路探索,所以今天雖然它已經(jīng)能夠解決一部分問題了痰憎,但是我們應(yīng)該可以看到它再往下發(fā)展铣耘,前景可能是今天我們還不太能夠完全預(yù)見到的蜗细,所以我這邊簡單回顧一下卷積神經(jīng)網(wǎng)絡(luò)炉媒,這么一個非常流行的技術(shù)吊骤,它其實也是經(jīng)過了很長期的發(fā)展白粉。
最早信號處理里面關(guān)于卷積的出現(xiàn)鸭巴,其實是有一個多世紀了鹃祖,但是現(xiàn)在深度神經(jīng)網(wǎng)絡(luò)的歷史是從 1962 年兩位諾貝爾獎得主關(guān)于生物視覺皮層的研究開始恬口。但是不管怎么樣第一次在神經(jīng)網(wǎng)絡(luò)里引入卷積是 1982 年祖能,在此之后他們做了很多的工作芯杀,1989 年引入 BP 算法揭厚,那時算法就已經(jīng)成型了筛圆,到了 1995 年第一次對 CNN 有了一個完整的描述太援,在 1998 年對美國支票的識別取得了很大的成功提岔,在 2006 年提出了通過無監(jiān)督逐層訓(xùn)練深層模型荠瘪,到了 2009 年這個技術(shù)被引到 CNN 里哀墓,我們可以做深度的 CNN篮绰,2012 年深度的 CNN 被用在?ImageNet 比賽中吠各,直接掀起了一波深度學(xué)習(xí)的浪潮走孽。
回顧這段歷史,從卷積神經(jīng)網(wǎng)絡(luò)開始出現(xiàn)念逞,到這個算法真正在工業(yè)界取得巨大成效翎承,中間經(jīng)過了 30 年的發(fā)展叨咖,我經(jīng)常說我們其實沒有什么真正的顛覆性技術(shù)甸各,所有的技術(shù)都是一步步發(fā)展趣倾。今天我們有新的探索儒恋,新的探索能夠解決一些問題诫尽,但我們應(yīng)該往長遠看牧嫉,在經(jīng)過很多年驹止,很多人的進一步努力后衣洁,今天的探索應(yīng)該是為未來技術(shù)打下一個更加重要的基礎(chǔ)坊夫。
我們做的這一工作环凿,我想它實際上是深度森林這一大類模型的開始智听,技術(shù)細節(jié)就不展開了到推,但是它全面的用到了集成學(xué)習(xí)里莉测,據(jù)我所知多樣性增強方面捣卤,所有的技術(shù)都用進去鸠项,所以如果大家感興趣锈锤,這是我自己寫的一本書久免。
我所做的工作的最重要的意義是什么呢阎姥?以前我們說深度學(xué)習(xí)是一個黑屋子呼巴,這個黑屋子里面有什么東西呢衣赶?大家都知道它有深度神經(jīng)網(wǎng)絡(luò)府瞄,現(xiàn)在我們把這個屋子打開了一扇門遵馆,把深度森林放進來货邓,我想以后可能還有更多的東西换况。所以這是這個工作從學(xué)術(shù)科學(xué)發(fā)展上的意義上拨匆,有一個更重要的價值挽拂。
▌AI時代最重要的是人才
最后我想用兩分鐘的時間談一談亏栈,南京大學(xué)人工智能學(xué)院馬上跟京東開展全面的绒北、深入的在科學(xué)研究和人才培養(yǎng)方面的合作闷游。
關(guān)于人工智能產(chǎn)業(yè)的發(fā)展,我們要問一個問題扳埂,我們到底需要什么阳懂?大家說需要設(shè)備嗎巷燥?其實做人工智能的研究不需要特殊機密的設(shè)備缰揪,你只要花錢堕澄,這些設(shè)備都買得到蛙紫,GPU 這些都不是什么高端的禁運的商品坑傅。第二是不是缺數(shù)據(jù)?也不是星爪,現(xiàn)在我們的數(shù)據(jù)收集存儲粉私、傳輸诺核、處理的能力大幅度的提升漓摩,到處都是數(shù)據(jù)入客,真正缺的是什么桌硫?
其實人工智能時代最缺的就是人才皱埠。因為對這個行業(yè)來說咖驮,你有多好的人托修,才有多好的人工智能砚嘴。所以我們現(xiàn)在可以看到涩拙,其實全球都在爭搶人工智能人才兴泥,不光是中國搓彻,美國也是這樣。所以我們成立人工智能學(xué)院搪泳,其實就有這樣的考慮岸军。
信息化之后人類社會必然進入智能化凛膏,可以說這是一個不可逆轉(zhuǎn)、不可改變的一個趨勢须喂。因為我們基于數(shù)據(jù)信息為人提供智能輔助趁蕊,讓人做事更容易是己,這是我們所有人的愿望任柜。蒸汽機的革命是把我們從體力勞動里面解放出來宙地,人工智能革命應(yīng)該是把我們?nèi)祟悘囊恍┓磸?fù)性強的簡單智力勞動中解放出來宅粥,而且人工智能這一個學(xué)科和其他短期的投資風(fēng)口和短期熱點不太一樣秽梅,它經(jīng)過 60 多年的發(fā)展企垦,已經(jīng)有了一個龐大的竹观、真正的知識體系。
可能我們投資風(fēng)口里面有一些詞,今年還很熱列牺,明年就已經(jīng)不見了瞎领,這些詞如果我們追究一下震放,它里面科學(xué)含義到底是什么殿遂?可能沒幾個人說的清楚墨礁,而人工智能和這些東西完全不一樣恩静,是經(jīng)過 60 多年發(fā)展出來的一個學(xué)科驶乾。
高水平的人工智能人才奇缺轻掩,這是一個世界性的問題,我們很多企業(yè)都是重金挖人丐重,但實際上挖人不能帶來增量,所以我們要從源頭做起扮惦,為國家亲桦、社會、產(chǎn)業(yè)的發(fā)展培養(yǎng)高水平的人工智能人才抡柿。
(添加小助手微信1092722531,邀你加入讀者群)
作者:AI科技大本營
鏈接:http://www.reibang.com/p/1168ab75e2ae
來源:簡書
簡書著作權(quán)歸作者所有等恐,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處洲劣。