细粒度分类:ACNet(Attention Convolutional Binary Neural Tree)

文章目录

  • 前言
  • 摘要
  • 一、简介
  • 二、相关工作
  • 三、Attention Convolutional Binary Neural Tree
    • 3.1 Architecture
      • Backbone network module
      • Branch routing module
      • Attention transformer
      • Label prediction
    • 3.2 Training
      • Data augmentation
      • Loss function
      • Optimization
  • 四、实验
  • 五、结论
  • 其他


前言

本文主要介绍 Attention Convolutional Binary Neural Tree for Fine-Grained Visual Categorization 这篇论文中提出的ACNet,不同于Asymmetric Convolution的ACNet和Adaptively Connected Neural Networks的ACNet。


摘要

细粒度视觉分类(FGVC)是一项重要但具有挑战性的任务,因为变形、遮挡、光照等导致类内方差较高,类间方差较低。针对这些问题,提出了一种注意力卷积二叉神经树结构。

一、简介

ACNet沿树结构的边缘加入卷积运算,并使用每个节点中的路由函数来确定树内根到叶的计算路径,作为深度神经网络。这种设计的结构使得我们的方法继承了深度卷积模型的表示学习能力,以及从粗到细的分层特征学习过程。这样,树结构中的不同分支将重点放在不同的局部对象区域进行分类。最后的决策计算为所有叶节点预测的总和。同时,我们使用注意力变换来强化树网络,以捕获区分性特征,从而获得准确的结果。采用负对数似然损失,通过带反向传播的随机梯度下降,以端到端的方式对整个网络进行训练。

我们的方法使用了一个具有预先指定深度的完整二叉树结构和软决策方案来学习每个根到叶路径中的区分性特征,避免了剪枝错误并减少了训练时间。注意力转换器模块用于进一步帮助我们的网络实现更好的性能。

二、相关工作

  • Deep supervised methods
  • Deep weakly supervised method
    这些方法仅将注意力机制整合到单个网络中,影响了它们的性能。
  • Decision tree
    我们将决策树与神经网络相结合,同时实现分支选择和表征学习。
  • Attention mechanism
    注意力机制在模仿人类视觉机制的深度学习中发挥了重要作用。我们在树结构的每个分支上应用注意力机制,以便获得用于分类的有区分性的区域。

三、Attention Convolutional Binary Neural Tree

细粒度分类:ACNet(Attention Convolutional Binary Neural Tree)_第1张图片
因为我们使用满二叉树T,所以节点总数n=2h− 1和边的总数k=2h− 2,其中h是T的高度。T中的每个节点由确定样本发送路径的路由模块形成,注意力转换用作沿边的操作。同时,在完全二叉树中使用了非对称结构。通过这种方式,网络能够捕捉不同尺度的特征,以获得准确的结果。

3.1 Architecture

Backbone network module

由于细粒度类别中的鉴别区域高度局部化1,我们需要通过限制卷积滤波器和池核的大小和步幅,来使用提取特征的相对较小的感受野
我们使用输入图像大小448×448,而不是默认的224×224。在实践中,我们使用VGG-16(保留conv1到conv4-3的层)和ResNet-50(保留res1到res4的层)网络作为本工作的主干。

Branch routing module

我们使用分支路由模块来确定样本将被发送到哪个子级。具体来说,如图Figure 2(b)所示,第k层的第i个路由模块 R i k R^k_i Rik(·)使用一个内核大小为1×1的卷积层,然后是一个global context block2。通过这种方式,上下文信息被整合,以更好地描述对象。之后,使用全局平均池、元素平方根和L2归一化,以及带有sigmoid激活函数的全连接层,在[0,1]中生成一个标量值,表示样本被发送到左或右分支的概率。

Attention transformer

注意力转换模块用于加强网络捕捉辨识性强的特征的能力。
细粒度分类:ACNet(Attention Convolutional Binary Neural Tree)_第2张图片
根据深层网络中经验感受野比理论感受野小得多的事实3,所以在我们提出的树状结构的新添加层中,更大的感受野应该被用于形成辨别性表征。为此,我们将ASPP模块整合到注意力转换模块中。ASPP模块提供了不同的特征图,每个特征图都有不同的尺度\感受野和注意力模块;多尺度特征图由四个不同扩张率的平行扩张卷积生成。在并行扩展的卷积层之后,级联的特征映射由一个核为1×1、步长为1的卷积层进行融合。在ASPP模块之后,我们加入一个注意力模块,该模块使用BN层、全局平均池(GAP)层、全连接(FC)层和ReLU激活函数以及FC层和sigmoid函数生成大小为RC×1×1的通道注意图。通过这种方式,引导网络关注有意义的特征,以获得准确的结果。

Label prediction

对于ACNet模型中的每个叶节点,我们使用标签预测模块Pi(即i=1,···,2h−1) 预测对象xj的从属类别。设r i k ^k_i ik(xj)为对象xj从根节点到第k层的第i个节点的累积概率。例如,如果树上节点R i k ^k_i ik(·)路径的根是R 1 1 ^1_1 11,R 1 2 ^2_1 12,···,R 1 k ^k_1 1k,也就是说,对象xj总是发送给左边的子对象,那么我们就得到了r i k ^k_i ik(xj)= ∏ i = 0 n \prod_{i=0}^n i=0nΦ 1 i ^i_1 1i(xj)。
该模块由一个BN层、一个内核大小为1×1的卷积层、一个maxpooling层、一个sqrt和L2规范化层以及一个全连接层组成。 第j个对象xj的最终预测C(xj)计算为所有叶预测乘以通过分支路由模块生成的累积概率的总和,即C(xj) = ∑ i = 1 2 h − 1 \sum_{i=1}^{2^{h-1}} i=12h1Pi(xj)r i k ^k_i ik(xj)。
如图2所示,当发生遮挡时,ACNet仍然可以定位一些有区别的对象部分和鸟类的上下文信息。虽然在FGVC中,类内视觉差异总是很高,但ACNet使用从粗到细的分层特征学习过程来利用鉴别特征进行分类。这样,树结构中的不同分支将重点放在不同的细粒度对象区域,以获得准确的结果。

3.2 Training

Data augmentation

在训练阶段,我们使用裁剪和翻转操作来扩充数据,以构建一个健壮的模型来适应对象的变化。首先重新缩放原始图像,使其短边为512像素。然后,我们随机裁剪大小为448×448的补丁,并随机翻转它们以生成训练样本。

Loss function

ACNet的损失函数由两部分组成,即叶节点预测的损失和最终预测的损失,由叶节点所有预测的总和计算。即:
细粒度分类:ACNet(Attention Convolutional Binary Neural Tree)_第3张图片

Optimization

ACNet中的主干网络是在ImageNet数据集上预先训练的。此外,xavier 方法用于随机初始化附加卷积层的参数。整个训练过程分为两个阶段:

  • 对于第一阶段,截断VGG-16网络中的参数是固定的,其他参数用60个epochs进行训练。在训练中,批量大小设置为24,初始学习率为1.0。在第10、20、30和40个时期,学习率逐渐除以4 。
  • 在第二阶段,我们对整个网络进行了200个时代的微调。我们在培训中使用批量16,初始学习率为0.001。在第30、40和50个时期,学习率逐渐除以10。

我们使用SGD算法来训练动量为0.9的网络,第一阶段的权重衰减为0.000005,第二阶段的权重衰减为0.0005。

四、实验

五、结论

本文提出了一种用于弱监督FGVC的注意卷积二叉神经树(ACNet)。具体地说,树网络中不同的根到叶路径使用插入到沿边缘卷积运算中的注意变压器聚焦于不同的辨别区域。最后的决定是通过对来自叶节点的预测进行最大投票产生的。


其他

这里给出了pytorch版本的实现:https://github.com/FlyingMoon-GitHub/ACNet


  1. Yaming Wang, Vlad I. Morariu, and Larry S. Davis. Learning a discriminative filter bank within a CNN for fine-grained recognition. In CVPR, pages 4148–4157, 2018. ↩︎

  2. Yue Cao, Jiarui Xu, Stephen Lin, Fangyun Wei, and Han Hu. Gcnet: Non-local networks meet squeeze-excitation net-works and beyond. CoRR, abs/1904.11492, 2019. ↩︎

  3. Wei Liu, Andrew Rabinovich, and Alexander C. Berg. Parsenet: Looking wider to see better. CoRR, abs/1506.04579, 2015. ↩︎

你可能感兴趣的:(细粒度分类FGVC,分类,深度学习,机器学习)