嚴(yán)冬
九十年代末,神經(jīng)網(wǎng)絡(luò)遇到的困境就是一個(gè)字——“慢”。
除了計(jì)算速度的因素外,還有一個(gè)根本問題就是反向傳播時(shí)所謂的“梯度消失問題”(vanishing gradient problem)。
簡(jiǎn)單的說, 就是cost function從輸出層反向傳播時(shí),每經(jīng)過一層,梯度衰減速度極快, 學(xué)習(xí)速度變得極慢,神經(jīng)網(wǎng)絡(luò)很容易停滯于局部最優(yōu)解而無法自拔。
又由于當(dāng)時(shí)SVM在圖像和語(yǔ)音方面取得的成功,使得很多研究者轉(zhuǎn)戰(zhàn)SVM(就像現(xiàn)在研究者開始往深度學(xué)習(xí)這邊靠攏)。到本世紀(jì)初,神經(jīng)網(wǎng)絡(luò)在學(xué)術(shù)界的情況更加糟糕,以至于任何論文送到學(xué)術(shù)期刊時(shí),研究者都不敢用 “神經(jīng)網(wǎng)絡(luò)” 幾個(gè)字,免得被粗暴拒絕。
但是在這樣的科研環(huán)境中,有個(gè)執(zhí)著的小老頭,多倫多大學(xué)的Geoffrey Hinton,還在神經(jīng)網(wǎng)絡(luò)領(lǐng)域苦苦堅(jiān)守。一個(gè)五十多歲的小老頭,做了三十多年“沒有前途的研究“,還要絞盡腦汁四處神經(jīng)研究經(jīng)費(fèi),境況可謂悲慘。2003年 在溫哥華大都會(huì)酒店,以 Hinton 為首的十五名來自各地的不同專業(yè)的科學(xué)家,和加拿大先進(jìn)研究院 (Canadan Institue oF Advanced Research,簡(jiǎn)稱 CIFAR) 的基金管理負(fù)責(zé)人Melvin Silverman 交談。
Silverman 問大家,為什么 CIFAR 要支持他們的研究項(xiàng)目。計(jì)算神經(jīng)科學(xué)研究者,Sebastian Sung (現(xiàn)為普林斯頓大學(xué)教授),回答道,“喔,因?yàn)槲覀冇悬c(diǎn)古怪。如果 CIFAR 要跳出自己的舒適區(qū),尋找一個(gè)高風(fēng)險(xiǎn),極具探索性的團(tuán)體,就應(yīng)當(dāng)資助我們了!”
最終 CIFAR 同意從 2004年 開始資助這個(gè)團(tuán)體十年,總額一千萬加元。CIFAR 成為當(dāng)時(shí),世界上唯一支持神經(jīng)網(wǎng)絡(luò)研究的機(jī)構(gòu)。
不夸張地說,如果沒有 2004年 CIFAR 的資金支持,人類在人工智能的研究上可能還會(huì)在黑暗中多摸索幾年。
不過鑒于”神經(jīng)網(wǎng)絡(luò)“之前在學(xué)術(shù)界的糟糕口碑,Hinton在拿到資金之后,將其改名換姓,叫作”Deep Learning“。
復(fù)興之路 – 深度學(xué)習(xí)
2006年,Hinton 和合作者發(fā)表論文,”A fast algorithm for deep belief nets”。使用RBM(限制玻爾茲曼機(jī))預(yù)訓(xùn)練初始化后的網(wǎng)絡(luò)(即對(duì)網(wǎng)絡(luò)連接的權(quán)重進(jìn)行初始化),再用反向傳播算法微調(diào)。
2007年之前, 用 GPU 編程缺乏一個(gè)簡(jiǎn)單的軟件接口。 編程繁瑣,debug困難。這在 07年 Nvidia 推出 CUDA 的 GPU 軟件接口后才真正改善。
2009年6月, 斯坦福大學(xué)的 Rajat Raina 和吳恩達(dá)(Andrew Ng)合作發(fā)表論文“Large-scale Deep Unsupervised Learning using Graphic Processors“。論文結(jié)果顯示,使用 GPU 運(yùn)行速度和用傳統(tǒng)雙核 CPU 相比, 最快時(shí)要快近七十倍。在一個(gè)四層,一億個(gè)參數(shù)的深信度網(wǎng)絡(luò)上,使用 GPU 把程序運(yùn)行時(shí)間從幾周降到一天。
2010年 瑞士學(xué)者 Dan Ciresan 和合作者發(fā)表論文,“Deep Big Simple Neural Nets Excel on Handwritten Digit Recognition”把訓(xùn)練神經(jīng)網(wǎng)絡(luò)的圖像,刻意通過旋轉(zhuǎn), 放大縮小和彈性形變等方式進(jìn)行改變。這樣用于訓(xùn)練的圖像數(shù)目大大增加。
2011年,加拿大蒙特利爾大學(xué)學(xué)者 Xavier Glorot 和 Yoshua Bengio 發(fā)表論文,“Deep Sparse Rectifier Neural Networks”。論文中使用 “修正線性單元”(Rectified Linear Unit,又稱 ReLU)激活函數(shù)。使用 RELU 的含有三個(gè)隱層的神經(jīng)網(wǎng)絡(luò)模型,被用來測(cè)試于四個(gè)不同的經(jīng)典的圖像識(shí)別問題。和使用別的激勵(lì)函數(shù)的模型相比,RELU 不僅識(shí)別錯(cuò)誤率普遍更低,而且其有效性,對(duì)于神經(jīng)網(wǎng)絡(luò)是否進(jìn)行 “預(yù)先訓(xùn)練” 過并不敏感。
2012 年還在斯坦福大學(xué)做研究生的黎越國(guó)同學(xué) (Quoc Viet Le) 領(lǐng)銜, 和他的導(dǎo)師吳恩達(dá),以及眾多谷歌的科學(xué)家聯(lián)合發(fā)表論文,(Building High-level Features Using Large Scale Unsupervised Learning)。黎越國(guó)的計(jì)算模型分布式地在一千臺(tái)機(jī)器 (每臺(tái)機(jī)器有 16 個(gè) CPU 內(nèi)核) 上運(yùn)行,花了三天三夜才完成訓(xùn)練。經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò),在ImageNet 的共享圖像數(shù)據(jù)庫(kù)里,面對(duì)兩萬兩千個(gè)不同類別,一千四百萬個(gè)圖像, 分類識(shí)別的正確率達(dá)到了 15.8%。 而在此之前最好的公開發(fā)表的模型,正確率只有 9.3%。
2012年7月,Hinton發(fā)表論文,”Improving neural networks by preventing co-adaptation of feature detectors“。提出用于解決過擬合問題的“Dropout”技術(shù)。
LSTM, FCN, ……
AlexNet
GoogLeNet
VGG
……
直到2016年,AlphaGo橫空出世,才讓所有人意識(shí)到,深度學(xué)習(xí)已一統(tǒng)天下。
但悲傷的是,筆者在博士階段的工作。
是基于SVM的。
好氣啊。