機(jī)器學(xué)習(xí)流行趨勢(shì)一覽
你用過 Google Trends 嗎?相當(dāng)酷,輸入一些關(guān)鍵詞,然后能看到它們?cè)诠雀柚械乃阉髭厔?shì)變化。剛好 arxiv-sanity 論文數(shù)據(jù)庫(kù)在過去 5 年內(nèi)有 28303 份機(jī)器學(xué)習(xí)相關(guān)論文,所以我想,為什么不做一些類似的事情,來看看機(jī)器學(xué)習(xí)研究在過去 5 年是如何進(jìn)展的?結(jié)果相當(dāng)有趣,所以我想我該寫篇文章分享一下。
(機(jī)器學(xué)習(xí)是一個(gè)大領(lǐng)域。本文偏重的領(lǐng)域是深度學(xué)習(xí)——這是我最熟悉的一個(gè)分區(qū)。)
arxiv 奇點(diǎn)
讓我們首先看下,在 arxiv-sanity 上( cs.AI、cs.LG、cs.CV、cs.CL、cs.NE、stat.ML)的 論文提交總數(shù),見下圖:
是的, 2017 年 3 月這些領(lǐng)域差不多提交了 2000 份論文。峰值可能與會(huì)議(比如 NIPS/ICML)的截止日期有關(guān)。注意,這里并不能說明該領(lǐng)域本身論文數(shù)量規(guī)模,因?yàn)椴⒉皇撬腥硕紩?huì)把論文提交到 arxiv ,而且研究人員對(duì)一部分論文的分類會(huì)隨時(shí)間變化。但值得指出的是,這些領(lǐng)域有大量的論文。
把論文的總數(shù)作為分母。我們現(xiàn)在可以看下這部分論文包含了哪些我們感興趣的特定關(guān)鍵詞。
深度學(xué)習(xí)框架
先預(yù)熱下,讓我們看看正在使用的那些深度學(xué)習(xí)框架。計(jì)算這個(gè)值時(shí),在整篇論文中任何地方(包括提到的參考書目書名等)提到深度學(xué)習(xí)框架的這部分論文都被記錄在內(nèi)。對(duì)上傳于 2017 年 3 月的這部分論文,我們得到如下結(jié)果:
- % of papers framework has been around for (months)
- ------------------------------------------------------------
- 9.1 tensorflow 16
- 7.1 caffe 37
- 4.6 theano 54
- 3.3 torch 37
- 2.5 keras 19
- 1.7 matconvnet 26
- 1.2 lasagne 23
- 0.5 chainer 16
- 0.3 mxnet 17
- 0.3 cntk 13
- 0.2 pytorch 1
- 0.1 deeplearning4j 14
也就是說,2017 年 3 月提交的論文中有 10% 提到了 TensorFlow 。當(dāng)然,不是每篇論文都聲明了它使用的框架,但如果我們假定那部分聲明了該框架的論文,對(duì)框架使用有一個(gè)比較固定概率的話,那么大約 40% 的社區(qū)目前正在使用 TensorFlow (甚至更多,如果你把帶 TF 后端的 Keras 也算上)。下圖可以看出一些比較流行的框架是如何隨時(shí)間演變的:
我們可以看到 Theano 已經(jīng)出現(xiàn)一段時(shí)間了,但是它的增長(zhǎng)幾乎停滯。Caffe 在 2014 年急速猛增,但是在過去幾個(gè)月被 TensorFlow 趕超。Torch(以及最近的 PyTorch)也在攀升,雖緩慢但穩(wěn)定。接下來幾個(gè)月的發(fā)展會(huì)很有趣——我個(gè)人的猜測(cè)是 Caffe/Theano 會(huì)繼續(xù)有一個(gè)緩慢的下降,以及由于 PyTorch 的出現(xiàn), TF 的增長(zhǎng)會(huì)稍微變得緩慢。
ConvNet 模型
就樂趣而言,我們何不來看下常見的 ConvNet 模型?這里,我們清楚地看到 ResNets 有一個(gè)巨大的攀升:2017 年 3 月它們出現(xiàn)在 9% 的論文中:
還有,在 InceptionNet 之前誰(shuí)在討論 inception?我對(duì)此表示好奇。
優(yōu)化算法
在優(yōu)化算法方面,看起來 Adam 連連獲勝,2017 年 3 月 23% 的論文中都出現(xiàn)了它!實(shí)際的使用比例很難估測(cè);它可能高于 23%,因?yàn)橐恍┱撐臎]有聲明優(yōu)化算法,而且很大一部分論文可能甚至沒有優(yōu)化任何神經(jīng)網(wǎng)絡(luò)。然后它還可能就是 5% 左右,因?yàn)?Adam 在 2014 年 12 月才發(fā)布,并且可能與論文作者名字沖突。
研究者們
我還好奇深度學(xué)習(xí)領(lǐng)域重要人物的提及情況,因此作出下圖(這有點(diǎn)類似于論文引用量計(jì)數(shù),但是:① 它比論文的“0/1”計(jì)數(shù)更穩(wěn)定, ② 對(duì)總范圍進(jìn)行了標(biāo)準(zhǔn)化。
值得注意的幾點(diǎn):提交的論文中有 35% 提到了“bengio”,這里有兩個(gè) Bengio : Samy Bengio 和 Yoshua Bengio,我們做了合并。 Geoff Hinton 出現(xiàn)的比例超過 30%!看起來很高。
熱點(diǎn)或非熱點(diǎn)關(guān)鍵詞
最后,我們不去對(duì)關(guān)鍵詞做手動(dòng)分類,而是看一下熱點(diǎn)(hot)或者非熱點(diǎn)的關(guān)鍵詞。
Top hot keywords 排前列的熱點(diǎn)關(guān)鍵詞
對(duì)此有多種定義,但是這次嘗試中我查看了所有論文中每個(gè) unigram(單個(gè) word )或 bigram ( 雙 word ),并記錄了相比于去年最大使用量的比例。高于這個(gè)比例,就是去年有較大潛力但是今年表現(xiàn)出更高的相對(duì)頻率。熱點(diǎn)關(guān)鍵詞排名結(jié)果如下:
- 8.17394726486 resnet
- 6.76767676768 tensorflow
- 5.21818181818 gans
- 5.0098386462 residualnetworks
- 4.34787878788 adam
- 2.95181818182 batchnormalization
- 2.61663993305 fcn
- 2.47812783318 vgg16
- 2.03636363636 styletransfer
- 1.99958217686 gated
- 1.99057177616 deepreinforcement
- 1.98428686543 lstm
- 1.93700787402 nmt
- 1.90606060606 inception
- 1.8962962963 siamese
- 1.88976377953 characterlevel
- 1.87533998187 regionproposal
- 1.81670721817 distillation
- 1.81400378481 treesearch
- 1.78578069795 torch
- 1.77685950413 policygradient
- 1.77370153867 encoderdecoder
- 1.74685427385 gru
- 1.72430399325 word2vec
- 1.71884293052 reluactivation
- 1.71459655485 visualquestion
- 1.70471560525 imagegeneration
舉例來說, ResNet 的比例是 8.17,因?yàn)?1 年前( 2016 年 3 月——最大使用量的月份)它在所有提交的論文中出現(xiàn)的比例是 1.044% ,而上月( 2017 年 3 月)是 8.53% , 8.53 / 1.044 ~= 8.17。
所以可以從上圖看到,過去一年盛行的核心創(chuàng)新是: 1) ResNets、2) GANs,、3) Adam、4) BatchNorm。 在研究中多使用這些模型。
在研究興趣方面,我們看到的是 1)風(fēng)格轉(zhuǎn)換、2) 深度強(qiáng)化學(xué)習(xí)、3) 神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯 (“nmt”),以及 4) 圖像生成 。
在架構(gòu)上,熱點(diǎn)使用是 1) 全卷機(jī)網(wǎng)絡(luò) ( FCN )、2) LSTMs / GRUs 、3) Siamese 網(wǎng)絡(luò),以及 4) 編碼器-解碼器網(wǎng)絡(luò)。
非熱詞
在相反的方面呢?有哪些詞過去一年有較少的提交,但是歷史上較高。以下列舉了一些:
- 0.0462375339982 fractal
- 0.112222705524 learningbayesian
- 0.123531424661 ibp
- 0.138351983723 textureanalysis
- 0.152810895084 bayesiannetwork
- 0.170535340862 differentialevolution
- 0.227932960894 wavelettransform
- 0.24482875551 dirichletprocess
我不確定 “fractal” 指什么,但是一般來說看起來像是貝葉斯非參數(shù)受到攻擊。
結(jié)論
現(xiàn)在提交的論文主題應(yīng)該是圍繞全卷積編碼器解碼器 BatchNorm ResNet GAN( Fully Convolutional Encoder Decoder BatchNorm ResNet GAN )應(yīng)用于風(fēng)格轉(zhuǎn)換,用 Adam 進(jìn)行優(yōu)化。這聽起來似乎沒那么不著邊際。