機器學習流行趨勢一覽
你用過 Google Trends 嗎?相當酷,輸入一些關(guān)鍵詞,然后能看到它們在谷歌中的搜索趨勢變化。剛好 arxiv-sanity 論文數(shù)據(jù)庫在過去 5 年內(nèi)有 28303 份機器學習相關(guān)論文,所以我想,為什么不做一些類似的事情,來看看機器學習研究在過去 5 年是如何進展的?結(jié)果相當有趣,所以我想我該寫篇文章分享一下。
(機器學習是一個大領(lǐng)域。本文偏重的領(lǐng)域是深度學習——這是我最熟悉的一個分區(qū)。)
arxiv 奇點
讓我們首先看下,在 arxiv-sanity 上( cs.AI、cs.LG、cs.CV、cs.CL、cs.NE、stat.ML)的 論文提交總數(shù),見下圖:
是的, 2017 年 3 月這些領(lǐng)域差不多提交了 2000 份論文。峰值可能與會議(比如 NIPS/ICML)的截止日期有關(guān)。注意,這里并不能說明該領(lǐng)域本身論文數(shù)量規(guī)模,因為并不是所有人都會把論文提交到 arxiv ,而且研究人員對一部分論文的分類會隨時間變化。但值得指出的是,這些領(lǐng)域有大量的論文。
把論文的總數(shù)作為分母。我們現(xiàn)在可以看下這部分論文包含了哪些我們感興趣的特定關(guān)鍵詞。
深度學習框架
先預熱下,讓我們看看正在使用的那些深度學習框架。計算這個值時,在整篇論文中任何地方(包括提到的參考書目書名等)提到深度學習框架的這部分論文都被記錄在內(nèi)。對上傳于 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 。當然,不是每篇論文都聲明了它使用的框架,但如果我們假定那部分聲明了該框架的論文,對框架使用有一個比較固定概率的話,那么大約 40% 的社區(qū)目前正在使用 TensorFlow (甚至更多,如果你把帶 TF 后端的 Keras 也算上)。下圖可以看出一些比較流行的框架是如何隨時間演變的:
我們可以看到 Theano 已經(jīng)出現(xiàn)一段時間了,但是它的增長幾乎停滯。Caffe 在 2014 年急速猛增,但是在過去幾個月被 TensorFlow 趕超。Torch(以及最近的 PyTorch)也在攀升,雖緩慢但穩(wěn)定。接下來幾個月的發(fā)展會很有趣——我個人的猜測是 Caffe/Theano 會繼續(xù)有一個緩慢的下降,以及由于 PyTorch 的出現(xiàn), TF 的增長會稍微變得緩慢。
ConvNet 模型
就樂趣而言,我們何不來看下常見的 ConvNet 模型?這里,我們清楚地看到 ResNets 有一個巨大的攀升:2017 年 3 月它們出現(xiàn)在 9% 的論文中:
還有,在 InceptionNet 之前誰在討論 inception?我對此表示好奇。
優(yōu)化算法
在優(yōu)化算法方面,看起來 Adam 連連獲勝,2017 年 3 月 23% 的論文中都出現(xiàn)了它!實際的使用比例很難估測;它可能高于 23%,因為一些論文沒有聲明優(yōu)化算法,而且很大一部分論文可能甚至沒有優(yōu)化任何神經(jīng)網(wǎng)絡。然后它還可能就是 5% 左右,因為 Adam 在 2014 年 12 月才發(fā)布,并且可能與論文作者名字沖突。
研究者們
我還好奇深度學習領(lǐng)域重要人物的提及情況,因此作出下圖(這有點類似于論文引用量計數(shù),但是:① 它比論文的“0/1”計數(shù)更穩(wěn)定, ② 對總范圍進行了標準化。
值得注意的幾點:提交的論文中有 35% 提到了“bengio”,這里有兩個 Bengio : Samy Bengio 和 Yoshua Bengio,我們做了合并。 Geoff Hinton 出現(xiàn)的比例超過 30%!看起來很高。
熱點或非熱點關(guān)鍵詞
最后,我們不去對關(guān)鍵詞做手動分類,而是看一下熱點(hot)或者非熱點的關(guān)鍵詞。
Top hot keywords 排前列的熱點關(guān)鍵詞
對此有多種定義,但是這次嘗試中我查看了所有論文中每個 unigram(單個 word )或 bigram ( 雙 word ),并記錄了相比于去年最大使用量的比例。高于這個比例,就是去年有較大潛力但是今年表現(xià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,因為 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)風格轉(zhuǎn)換、2) 深度強化學習、3) 神經(jīng)網(wǎng)絡機器翻譯 (“nmt”),以及 4) 圖像生成 。
在架構(gòu)上,熱點使用是 1) 全卷機網(wǎng)絡 ( FCN )、2) LSTMs / GRUs 、3) Siamese 網(wǎng)絡,以及 4) 編碼器-解碼器網(wǎng)絡。
非熱詞
在相反的方面呢?有哪些詞過去一年有較少的提交,但是歷史上較高。以下列舉了一些:
- 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)在提交的論文主題應該是圍繞全卷積編碼器解碼器 BatchNorm ResNet GAN( Fully Convolutional Encoder Decoder BatchNorm ResNet GAN )應用于風格轉(zhuǎn)換,用 Adam 進行優(yōu)化。這聽起來似乎沒那么不著邊際。