你用过 Google Trends 吗?相当酷,输入一些关键词,然后能看到它们在谷歌中的搜索趋势变化。刚好 arxiv-sanity 论文数据库在过去 5 年内有 28303 份机器学习相关论文,所以我想,为什么不做一些类似的事情,来看看机器学习研究在过去 5 年是如何进展的?结果相当有趣,所以我想我该写篇文章分享一下。

(机器学习是一个大领域。本文偏重的领域是深度学习——这是我最熟悉的一个分区。)

arxiv 奇点

让我们首先看下,在 arxiv-sanity 上(cs.AI、cs.LG、cs.CV、cs.CL、cs.NE、stat.ML)的论文提交总数,见下图:

点击查看大图

是的, 2017 年 3 月这些领域差不多提交了 2000 份论文。峰值可能与会议(比如 NIPS/ICML)的截止日期有关。注意,这里并不能说明该领域本身论文数量规模,因为并不是所有人都会把论文提交到 arxiv ,而且研究人员对一部分论文的分类会随时间变化。但值得指出的是,这些领域有大量的论文。

把论文的总数作为分母。我们现在可以看下这部分论文包含了哪些我们感兴趣的特定关键词。

深度学习框架

先预热下,让我们看看正在使用的那些深度学习框架。计算这个值时,在整篇论文中任何地方(包括提到的参考书目书名等)提到深度学习框架的这部分论文都被记录在内。对上传于 2017 年 3 月的这部分论文,我们得到如下结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
% 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% 的社区目前正在使用  TensorFlow (甚至更多,如果你把带 TF 后端的 Keras 也算上)。下图可以看出一些比较流行的框架是如何随时间演变的:

点击查看大图

我们可以看到  Theano 已经出现一段时间了,但是它的增长几乎停滞。Caffe 在 2014 年急速猛增,但是在过去几个月被  TensorFlow 赶超。Torch(以及最近的 PyTorch)也在攀升,虽缓慢但稳定。接下来几个月的发展会很有趣——我个人的猜测是 Caffe/Theano 会继续有一个缓慢的下降,以及由于 PyTorch 的出现, TF 的增长会稍微变得缓慢。

ConvNet 模型

就乐趣而言,我们何不来看下常见的 ConvNet 模型?这里,我们清楚地看到 ResNets 有一个巨大的攀升:2017 年 3 月它们出现在 9% 的论文中:

点击查看大图

还有,在 InceptionNet 之前谁在讨论 inception?我对此表示好奇。

优化算法

在优化算法方面,看起来  Adam 连连获胜,2017 年 3 月 23% 的论文中都出现了它!实际的使用比例很难估测;它可能高于 23%,因为一些论文没有声明优化算法,而且很大一部分论文可能甚至没有优化任何神经网络。然后它还可能就是高估了 5% 左右,因为 Adam 在 2014 年 12 月才发布,并且可能与论文作者名字冲突。

点击查看大图

研究者们

我还好奇深度学习领域重要人物的提及情况,因此作出下图(这有点类似于论文引用量计数,但是:① 它比论文的“0/1”计数更稳定, ② 对总范围进行了标准化。

点击查看大图

值得注意的几点:提交的论文中有 35% 提到了“bengio”,这里有两个 Bengio :  Samy Bengio 和  Yoshua Bengio,我们做了合并。  Geoff Hinton 出现的比例超过 30%!看起来很高。

热点或非热点关键词

最后,我们不去对关键词做手动分类,而是看一下热点(hot)或者非热点的关键词。

Top hot keywords   排前列的热点关键词

对此有多种定义,但是这次尝试中我查看了所有论文中每个 unigram(单个 word )或 bigram ( 双 word ),并记录了相比于去年最大使用量的比例。高于这个比例,就是去年有较大潜力但是今年表现出更高的相对频率。热点关键词排名结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
8.17394726486 resnet
6.76767676768 tensorflow
5.21818181818 gans
5.0098386462 residual networks
4.34787878788 adam
2.95181818182 batch normalization
2.61663993305 fcn
2.47812783318 vgg16
2.03636363636 style transfer
1.99958217686 gated
1.99057177616 deep reinforcement
1.98428686543 lstm
1.93700787402 nmt
1.90606060606 inception
1.8962962963 siamese
1.88976377953 character level
1.87533998187 region proposal
1.81670721817 distillation
1.81400378481 tree search
1.78578069795 torch
1.77685950413 policy gradient
1.77370153867 encoder decoder
1.74685427385 gru
1.72430399325 word2vec
1.71884293052 relu activation
1.71459655485 visual question
1.70471560525 image generation

举例来说, ResNet 的比例是 8.17,因为 1 年前( 2016 年 3 月——最大使用量的月份)它在所有提交的论文中出现的比例是 1.044% ,而上月( 2017 年 3 月)是  8.53% ,  8.53 / 1.044 ~= 8.17。

所以可以从上图看到,过去一年盛行的核心创新是: 1) ResNets、2) GANs,、3) Adam、4) BatchNorm。在研究中多使用这些模型。

在研究兴趣方面,我们看到的是 1)风格转换、2) 深度强化学习、3) 神经网络机器翻译 (“nmt”),以及 4) 图像生成 。

在架构上,热点使用是 1) 全卷机网络 ( FCN )、2)  LSTMs / GRUs 、3)  Siamese  网络,以及 4) 编码器-解码器网络。

点击查看大图

非热词

在相反的方面呢?有哪些词过去一年有较少的提交,但是历史上较高。以下列举了一些:

1
2
3
4
5
6
7
8
0.0462375339982 fractal
0.112222705524 learning bayesian
0.123531424661 ibp
0.138351983723 texture analysis
0.152810895084 bayesian network
0.170535340862 differential evolution
0.227932960894 wavelet transform
0.24482875551 dirichlet process

我不确定 “fractal” 指什么,但是一般来说看起来像是贝叶斯非参数受到攻击。

结论

现在提交的论文主题应该是围绕全卷积编码器解码器  BatchNorm  ResNet  GAN( Fully Convolutional Encoder Decoder BatchNorm ResNet GAN )应用于风格转换,用 Adam 进行优化。这听起来似乎没那么不着边际。