125

AOGNet:基于深度 AND-OR 语法网络的目标识别方法

 6 years ago
source link: https://www.jiqizhixin.com/articles/2017-12-19-6?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

本期推荐的论文笔记来自 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)放到神经网络的设计中来,在分类和目标检测任务中,均取得比基于残差结构的模型更好的效果

整个模型概览图如下:

0c8268e87da5929d77f47da7bddbc1a2x800x143x10.webp

中间有 4 个 AOG 构建块,每个 AOG 块的结构如下图所示:

1e6149e7cde42ed338075bba1e340042x571x533x26.webp

AOG 的全称叫 AND-OR graph,是一种语法模型(grammer model)。在人工智能的发展历程中,大体有两种解决办法:一种是自底向上,即目前非常流形的深度神经网络方法,另一种方法是自顶向下,语法模型可以认为是一种自顶向下的方法。

所谓的语法模型,即规定 3-4 条规则,构建 graph,graph 可以认为是一种特征表达的范式,它没有具体规定特征表达是什么形式,但是如果遵循这种规则构建特征表达,却能达到比较好的效果。本文使用如下三条语法规则:

b6b3a8736a2c5897055bbc828e2e12dax1186x70x5.webp

AOGNet 的构建流程如下:

c4a5431c8fbe46af1c006385f279a0e6x546x902x52.webp

可以配合视频[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 的方式。

ca555d3b52e4a1b9df13ad31afb84a38x584x365x10.webp

其实可以不同的节点,设计不同的运算符,作者这里都统一成一样的。处理上面统一的运算符,各个不同的节点还要分别做下面的运算。

84ac40fb482349895d0d80b7ea62dd3dx570x177x8.webp

在 CIFAR 和 ImageNet-1k 上做了分类的实验,在 VOC0712 做了目标检测的实验(使用 fasterRCNN 框架)。

c75e595f7566da31e9d17e34b79e6fbfx548x602x51.webp
d1edf89248d9d4d5536c7fc8f78e804cx547x279x22.webp
b5a289943c01ad7267df6507068d5dc4x800x111x25.webp

本文作者团队是朱松纯教授[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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK