李林 岳排槐 发自 凹非寺 量子位 出品 | 公众号 QbitAI 深度学习的论文越来越多了~ 多到什么程度?Google scholar的数据显示,2016年以来,人工智能领域新增的论文已经超过3.5万篇。arXiv上,AI相关的论文每天都不下百篇。 刚刚结束不久的计算机视觉会议ICCV上,发表了621篇论文;2018年的ICLR,有1004篇论文正在匿名开放评审;NIPS 2017共收到3240篇论文投稿。 研究成果极大丰富了,但离应用到产品中,还差一大步:把论文转化成代码。毕竟,作者顺便提供源码的是少数。 怎么办? IBM印度研究院最近公布了一项新研究:DLPaper2Code,顾名思义,这个程序能够用深度学习技术,将论文转化成代码。 △ 论文转代码的过程 这么神奇?!该不是看到一篇假研究? 坦白讲,相关论文DLPaper2Code: Auto-generation of Code from Deep Learning Research Papers已经被AAAI 2018接收为会议论文。 AAAI是人工智能顶会之一,明年就是第32届了,2月2-7日在美国路易斯安那州的新奥尔良召开。百度、京东是大会的黄金赞助商。 深度学习论文自动转代码这篇论文中指出,由于大部分深度学习论文都会用流程图来表示神经网络模型的设计模式,因此,在论文转换成代码的过程中,DLPaper2Code首先提取、理解论文中描述的深度学习设计流程图和表格,将它们转化成抽象的计算图。 然后,它会把抽取的计算图转换成Keras和Caffe框架下的可执行源代码。 IBM的这项研究,总共生成了5000篇arXiv深度学习论文的Caffe和Keras代码,还创建了一个网站,供同行们众包编辑这些代码。不过,这个网站的地址还没有公布,目前只能看到截图: 在提取流程图的过程中,IBM的研究员们遇到了一些障碍:他们需要让程序提取论文中所有图表之后,再进行一次分类,找出包含深度学习模型设计的那些,去掉那些和模型相关性不大的描述性图片和展示结果的表格。 但是,论文中介绍深度学习模型设计的图千奇百怪,表格的结构也各不相同。 怎样让程序自动找出有用的图表呢?IBM研究员们人肉处理了论文中的3万张图,将深度学习模型设计图分成了5大类: △ 5大类深度学习模型设计图 1. 神经元分布图; 2. 2D Box:将每个隐藏层表示为一个2D方块; 3. Stacked2D Box:将神经网络每一层表示为堆叠的2D方块,表示层的深度; 4. 3D Box:将每个隐藏层表示为一个3D立方体结构; 5. 表示整个流程的Pipeline plot。 而表格,主要包括横排表示模型设计流程和纵列表示模型设计流程两类。 在此基础上,他们构建了一个细粒度的分类器,来把图表分到上面提到的5类图2类表之中,然后就可以使用OCR等工具将图表中的内容提取出来。 △ 从图中提取内容的过程 图表内容提取出来之后,就可以根据这些信息构建计算图并生成源代码了。 △ 池化2D层对应的计算图、Caffe(Protobuf)和Keras(Python)代码 自动生成的代码究竟怎么样呢? 为了对DLPaper2Code进行评估,IBM研究员们创建了一个包含21.6万份设计可视化图的模拟数据集,在这些数据集上的实验显示,上面讲的模型,在流程图内容提取上准确率可达93%。 AI自动化畅想曲上面这个研究。来自IBM印度研究院。 |
|