机器学习研究趋势分析:TensorFlow已超越Caffe成研究最常用框架
开玩笑地说,现在提交论文的主题是不是应该围绕把全卷积编码器解码器BatchNorm ResNet GAN应用于风格迁移,用 Adam 进行优化?
你是否使用过 Google Trends?相当的酷,你在里面输入关键词,看一下谷歌搜索中这一词条如何随时间变化的。我想,过去 5 年中 arxiv-sanity 数据库中刚好有 28303 篇机器学习论文,为什么不做一些类似的工作,看一下过去 5 年机器学习研究有何进化?结果相当的有趣,所以我把它贴了出来。
arXiv 奇点
首先,让我们看一下在 arxiv-sanity 类别下(cs.AI、cs.LG、cs.CV、cs.CL、cs.NE、stat.ML)所递交论文的总数。随时间变化,得出以下结果:
是的,2017 年 3 月,该领域有几乎 2000 篇论文被提交。这一峰值可能是由于大会截止日期(例如 NIPS/ICML)。注意,这不是关于该领域自身体量的一个直接说明,因为不是每个人都会把论文提交到 arXiv 上,而且研究人员做研究的分类也会随时间变化。但有一点可以说明,人工智能领域正有大量论文被发现、浏览、阅读。
把论文的总量做为分母,我们现在看一下有多少比例的论文包含确切的关键词。
深度学习框架
作为热身,我们先看一下深度学习框架。为了计算这个关键词,我们记录了在全部文本中的某处提到框架名的论文以及其比例(任何地方,包括 bibiliography 等)。在 2017 年三月份提交的论文中,我们得出了下面的结果:
也就是说,2017 年 3 月提交的论文中 10% 提到了 TensorFlow。当然,不是每篇论文都宣布使用了该框架,如果我们假设那些提到框架的论文都有一定概率使用该框架,那看起来社区中有 40% 的人在使用 TensorFlow(或者更多,如果你把带有 TF 后端的 Keras 也算在内)。下面是更多框架随时间变化的图绘:
我们能看到 Theano 已经出现很长时间了,但其增长趋于停滞。Caffe 在 2014 年有急剧的增长,但在过去几个月被 TensorFlow 超越。Torch(以及最近的 PyTorch)也在攀爬阶段,缓慢却稳定。接下来几个月的发展值得注意,我个人的猜测是 Caffe/Theano 将继续缓慢的衰退,TensorFlow 也会因为 PyTorch 出现,增长速度变的更慢。
ConvNet 模型
接下来看一下常见的 ConvNet 模型。下图中,我们能清楚的看到 ResNet 的涨幅,直到三月份所有论文的 9% 提到了它。
还有,在 InceptionNet 之前谁在讨论「inception」?对此也很好奇。
优化算法
在优化算法方面,看起来 Adam 正在流行,所有论文中 23% 提到了 Adam。实际使用的比例难以估计,但可能要比 23% 高,因为一些论文没有公布用到的优化算法,而且一批论文可能没优化任何神经网络。然后它可能还低了 5%,也就是 Adam「隐藏」在背后,可能与作者的名字冲突,因为 Adam 优化算法到了 2014 年 12 月才发布。
研究人员
我们对深度学习中一些重要人物出现的比例也很好奇,所以进行了绘图。这有点类似于引用量,但它要比论文非零即一的统计更为稳健,而且对所有的论文进行了标准化。
可以注意的:所有提交的论文中 35% 提到了「bengio」,但研究人员中有两个 Bengio:Samy 和 Yoshua,在此图中是合并统计的。特别提到的一点,在所有新论文中有超过 30% 提到了 Geoff Hinton,看起来非常的多。
热词或非关键词
最后,除了手动查阅的关键词类别,让我们看一下一些热词或不热的关键词。
顶级热词
有很多方式可对此进行定义,但该实验中我观察了所有论文中的单字母组合或双子母词组,并记录了相比于去年最大使用量的比例。超越此标准的论文就是一年前还是有潜力的,但在今年就有相当高关联频率的论文。列表如下:
例如,ResNet 的比例是 8.17。因为一年前它在所有提交论文中出现的比率是 1.044%(2016 年 3 月),但今年 3 月它出现的比例是 8.53,所以 8.53 除以 1.044 约等于 8.17。所以得出的结果是,过去一年所有的核心创新领域是 1) ResNets, 2) GANs, 3) Adam, 4) BatchNorm,在研究中多使用下这些模型。在研究兴趣方面,我们看到 1) 风格迁移,2) 深度强化学习,3) 神经机器翻译,以及 4) 图像生成。在架构上,热于使用 1) 全卷机网络 (FCN),2) LSTMs/GRUs,3) Siamese 网络,以及 4) 编码器-解码器网络。
顶级但不热
相反的一面呢?过去一年有哪些词有较少的提交,但历史上有更高的比例?下面列出了一些:
我不太确定「fractal」指代什么,但更普遍的可能是贝叶斯非参数在被攻击。