什么是深度學習
深度學習是近10年機器學習領(lǐng)域發(fā)展最快的一個分支,由于其重要性,三位教授(Geoffrey Hinton、Yann Lecun、Yoshua Bengio)因此同獲圖靈獎。深度學習模型的發(fā)展可以追溯到1958年的感知機(Perceptron)。1943年神經(jīng)網(wǎng)絡(luò)就已經(jīng)出現(xiàn)雛形(源自NeuroScience),1958年研究認知的心理學家Frank發(fā)明了感知機,當時掀起一股熱潮。后來Marvin Minsky(人工智能大師)和Seymour Papert發(fā)現(xiàn)感知機的缺陷:不能處理異或回路等非線性問題,以及當時存在計算能力不足以處理大型神經(jīng)網(wǎng)絡(luò)的問題。于是整個神經(jīng)網(wǎng)絡(luò)的研究進入停滯期。
最近30年來取得快速發(fā)展??傮w來說,主要有4條發(fā)展脈絡(luò)。
第一個發(fā)展脈絡(luò)以計算機視覺和卷積網(wǎng)絡(luò)為主。
這個脈絡(luò)的進展可以追溯到1979年,F(xiàn)ukushima提出的Neocognitron。該研究給出了卷積和池化的思想。1986年Hinton提出了反向傳播訓練MLP(之前也有幾個類似的研究),該研究解決了感知機不能處理非線性學習的問題。1998年,以Yann LeCun為首的研究人員實現(xiàn)了一個七層的卷積神經(jīng)網(wǎng)絡(luò)LeNet-5以識別手寫數(shù)字?,F(xiàn)在普遍把Yann LeCun的這個研究作為卷積網(wǎng)絡(luò)的源頭,但其實在當時由于SVM的迅速崛起,這些神經(jīng)網(wǎng)絡(luò)的方法還沒有引起廣泛關(guān)注。真正使得卷積神經(jīng)網(wǎng)絡(luò)榮耀登上大雅之堂的事件是,2012年Hinton組的AlexNet(一個設(shè)計精
巧的CNN)在ImageNet上以巨大優(yōu)勢奪冠,這引發(fā)了深度學習的熱潮。AlexNet在傳統(tǒng)CNN的基礎(chǔ)上加上了ReLU、Dropout等技巧,并且網(wǎng)絡(luò)規(guī)模更大。這些技巧后來被證明非常有用,成為卷積神經(jīng)網(wǎng)絡(luò)的標配,被廣泛發(fā)展,于是后來出現(xiàn)了VGG、GoogLenet等新模型。2016年,青年計算機視覺科學家何愷明在層次之間加入跳躍連接,提出殘差網(wǎng)絡(luò)ResNet。ResNet極大增加了網(wǎng)絡(luò)深度,效果有很大提升。一個將這個思路繼續(xù)發(fā)展下去的是近年的CVPR Best Paper中黃高提出的DenseNet。在計算機視覺領(lǐng)域的特定任務(wù)出現(xiàn)了各種各樣的模型(Mask-RCNN等),這里不一一介紹。2017年,Hinton認為反向傳播和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)還存在一定缺陷,因此提出Capsule Net,該模型增強了可解釋性,但目前在CIFAR等數(shù)據(jù)集上效果一般,這個思路還需要繼續(xù)驗證和發(fā)展。
第二個發(fā)展脈絡(luò)以生成模型為主。
傳統(tǒng)的生成模型是要預測聯(lián)合概率分布P(x,y)。機器學習方法中生成模型一直占據(jù)著一個非常重要的地位,但基于神經(jīng)網(wǎng)絡(luò)的生成模型一直沒有引起廣泛關(guān)注。Hinton在2006年的時候基于受限玻爾茲曼機(RBM,一個19世紀80年代左右提出的基于無向圖模型的能量物理模型)設(shè)計了一個機器學習的生成模型,并且將其堆疊成為Deep BeliefNetwork,使用逐層貪婪或者wake-sleep的方法訓練,當時模型的效果其實并沒有那么好。但值得關(guān)注的是,正是基于RBM模型,Hinton等人開始設(shè)計深度框架,因此這也可以看做深度學習的一個開端。Auto-Encoder也是上個世紀80年代Hinton就提出的模型,后來隨著計算能力的進步也重新登上舞臺。Bengio等人又提出了Denoise Auto-Encoder,主要針對數(shù)據(jù)中可能存在的噪音問題。Max Welling(也是變分和概率圖模型的高手)等人后來使用神經(jīng)網(wǎng)絡(luò)訓練一個有一層隱變量的圖模型,由于使用了變分推斷,并且最后長得跟Auto-Encoder有點像,被稱為Variational Auto-Encoder。此模型中可以通過隱變量的分布采樣,經(jīng)過后面的Decoder網(wǎng)絡(luò)直接生成樣本。生成對抗模型GAN(Generative Adversarial Network)是2014年提出的非常火的模型,它是一個通過判別器和生成器進行對抗訓練的生成模型,這個思路很有特色,模型直接使用神經(jīng)網(wǎng)絡(luò)G隱式建模樣本整體的概率分布,每次運行相當于從分布中采樣。后來引起大量跟隨的研究,包括:DCGAN是一個相當好的卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn),WGAN是通過維爾斯特拉斯距離替換原來的JS散度來度量分布之間的相似性的工作,使得訓練穩(wěn)定。PGGAN逐層增大網(wǎng)絡(luò),生成逼真的人臉。
第三個發(fā)展脈絡(luò)是序列模型。
序列模型不是因為深度學習才有的,而是很早以前就有相關(guān)研究,例如有向圖模型中的隱馬爾科夫HMM以及無向圖模型中的條件隨機場模型CRF都是非常成功的序列模型。即使在神經(jīng)網(wǎng)絡(luò)模型中,1982年就提出了Hopfield Network,即在神經(jīng)網(wǎng)絡(luò)中加入了遞歸網(wǎng)絡(luò)的思想。1997年Jürgen Schmidhuber發(fā)明了長短期記憶模型LSTM(Long-Short Term Memory),這是一個里程碑式的工作。當然,真正讓序列神經(jīng)網(wǎng)絡(luò)模型得到廣泛關(guān)注的還是2013年Hinton組使用RNN做語音識別的工作,比傳統(tǒng)方法高出一大截。在文本分析方面,另一個圖靈獎獲得者Yoshua Bengio在SVM很火的時期提出了一種基于神經(jīng)網(wǎng)絡(luò)的語言模型(當然當時機器學習還是SVM和CRF的天下),后來Google提出的word2vec(2013)也有一些反向傳播的思想,最重要的是給出了一個非常高效的實現(xiàn),從而引發(fā)這方面研究的熱潮。后來,在機器翻譯等任務(wù)上逐漸出現(xiàn)了以RNN為基礎(chǔ)的seq2seq模型,通過一個Encoder把一句話的語義信息壓縮成向量再通過Decoder轉(zhuǎn)換輸出得到這句話的翻譯結(jié)果,后來該方法被擴展到和注意力機制(Attention)相結(jié)合,也大大擴展了模型的表示能力和實際效果。再后來,大家發(fā)現(xiàn)使用以字符為單位的CNN模型在很多語言任務(wù)也有不俗的表現(xiàn),而且時空消耗更少。Self-attention實際上就是采取一種結(jié)構(gòu)去同時考慮同一序列局部和全局的信息,Google有一篇很有名的文章“attention is all you need”把基于Attention的序列神經(jīng)模型推向高潮。當然2019年ACL上同樣有另一篇文章給這一研究也稍微降了降溫。
第四個發(fā)展脈絡(luò)是增強學習。
這個領(lǐng)域最出名的當屬Deep Mind,圖中標出的David Silver博士是一直研究RL的高管。Q-learning是很有名的傳統(tǒng)RL算法,Deep Q-learning將原來的Q值表用神經(jīng)網(wǎng)絡(luò)代替,做了一個打磚塊的任務(wù)。后來又應(yīng)用在許多游戲場景中,并將其成果發(fā)表在Nature上。Double Dueling對這個思路進行了一些擴展,主要是Q-Learning的權(quán)重更新時序上。DeepMind的其他工作如DDPG、A3C也非常有名,它們是基于Policy Gradient和神經(jīng)網(wǎng)絡(luò)結(jié)合的變種。大家都熟知的AlphaGo,里面其實既用了RL的方法也有傳統(tǒng)的蒙特卡洛搜索技巧。Deep Mind后來提出了的一個用AlphaGo框架,但通過主學習來玩不同(棋類)游戲的新算法Alpha Zero。