本期推荐的论文笔记来自 PaperWeekly 社区用户 @duinodu。本文研究的问题是深度学习中的网络工程问题。如何设计更好的网络结构,是目前的一个研究热点。这样的网络结构一旦被设计出来,可以马上用于很多其他任务。
本文贡献主要有两点:
1. 把语法模型和深度神经网络模型结合起来,设计的模型同时兼顾特征的 exploration and exploitation(探索和利用),并在网络的深度和宽度上保持平衡;
2. 设计的网络结构,在分类任务和目标检测任务上,都比基于残差结构的方法要好。
如果你对本文工作感兴趣,点击底部的阅读原文即可查看原论文。
关于作者:杜敏,华中科技大学硕士生,研究方向为模式识别与智能系统。
■ 论文 | AOGNets: Deep AND-OR Grammar Networks for Visual Recognition
■ 链接 | https://www.paperweekly.site/papers/1315
■ 作者 | duinodu
论文亮点
网络工程问题,属于深度学习中比较基础的问题。网络工程的最大难点在于,由于缺乏对深度神经网络的理论理解,无法根据某种理论来设计网络结构,实际中更多的不断地尝试,根据实验反馈来确定某种结构是不是好。
而使用像增强学习、进化算法等自动学习网络结构的方法,搜索空间巨大。有两个子空间,一个是结构连接子空间,一个是运算符子空间,搜索空间是这两个空间的乘积,自动学习网络结构的算法需要昂贵的计算资源。
本文的解决办法是,把语法模型(grammer model)放到神经网络的设计中来,在分类和目标检测任务中,均取得比基于残差结构的模型更好的效果。
模型介绍
整个模型概览图如下:
中间有 4 个 AOG 构建块,每个 AOG 块的结构如下图所示:
AOG 的全称叫 AND-OR graph,是一种语法模型(grammer model)。在人工智能的发展历程中,大体有两种解决办法:一种是自底向上,即目前非常流形的深度神经网络方法,另一种方法是自顶向下,语法模型可以认为是一种自顶向下的方法。
所谓的语法模型,即规定 3-4 条规则,构建 graph,graph 可以认为是一种特征表达的范式,它没有具体规定特征表达是什么形式,但是如果遵循这种规则构建特征表达,却能达到比较好的效果。本文使用如下三条语法规则:
AOGNet 的构建流程如下:
可以配合视频[1],看这个流程图。
网络工程分为两个部分:设计连接结构和设计运算操作符(structure space 和 operator space)。
整个的 CNN 发展历程,都可以归结到这两点。论文的相关工作部分,很好地对 CNN 网络结构的演变,梳理了一番,有如下网络结构:
LeNet-5(20 年前)
AlexNet(8 层,在 operator space 提出两种新的操作符:ReLU 和 Dropout))
VGG Net(19 层,多个连续的重复的小卷积核,且卷积的 stride 很小)
network-in-network(用 1x1 的卷积,在层层之间,增大或者较少特征的维数)
GoogleNet(inception, bottleneck)
Highway network(skip connection)
Residual Network(Residual connection)
Fractal Net(another short path without residual)
DenseNet(concatenation scheme)
Dual Path Network SE-Net(channel-wise encoding)
Hourglass(subsampling & upsampling)
使用三条语法规则构建了网络连接方式,网络中每个节点的运算操作符采用 Bottleneck + Conv_BN_ReLU 的方式。
其实可以不同的节点,设计不同的运算符,作者这里都统一成一样的。处理上面统一的运算符,各个不同的节点还要分别做下面的运算。
实验结果
在 CIFAR 和 ImageNet-1k 上做了分类的实验,在 VOC0712 做了目标检测的实验(使用 fasterRCNN 框架)。
文章评价
本文作者团队是朱松纯教授[2]组的,他们组一直在做语法模型。之前读过他写的《人工智能的现状、任务、架构和统一》[3],看到这篇文章以及了解了语法模型,才算是了解朱松纯组到底要做什么样的事情。
语法模型和深度神经网络,是可以相互融合的方法,前者基于规则,后者基于大量数据拟合。本文只是语法模型的冰山一角,另一篇论文 Interpretable R-CNN [4],也用到了语法模型,和 RFCN 方法结合,获得一种目标的 part configuration。
这种语法模型目前还在探索之中,尤其是和深度神经网络结合的工作,以及和 GAN、RL 等不同范式的深度学习方法结合,应该会有有趣的工作。
相关链接
[1] AOGNet 构建流程视频
http://v.youku.com/v_show/id_XMzIxNDU4MTQ4NA
[2] 朱松纯教授主页
http://www.stat.ucla.edu/~sczhu/
[3] 人工智能的现状、任务、架构和统一
http://www.stat.ucla.edu/~sczhu/Blog_articles/浅谈人工智能.pdf
[4] Interpretable R-CNN
https://www.paperweekly.site/papers/1215