源地址

arXiv:1712.07465: Recurrent Attentional Reinforcement Learning for Multi-label Image Recognition

简介

识别图像中的多个标签是计算机视觉中的一项基本但具有挑战性的任务。针对现有方法计算成本高、不能有效利用空间上下文的问题,论文提出了循环迭代的结合注意力机制的强化学习框架,并进行了对应的熔断测试。

框架结构

输入部分

将图片放缩至W*H的大小,送入FCN(VGG16 ConvNet)产生特征图\(f_I\)。

循环注意力感知模块

第t次迭代,模块首先接收在前一次迭代中计算的位置\(l_t\),并基于\(l_t\)按照不同的区域大小、不同的长宽比,提取k个区域\(R_t=\{R_{tr}\}^k_{r=1}\),然后从\(f_I\)中提取这些区域的特征,得到\(f_{tr} = G(f_i, R_{tr}) r=1,2,\cdots,k\)。

接下来,将特征送入LSTM网络实现的循环注意感知模块,将前一次迭代的隐藏状态以及当前定位区域的特征作为输入,得到每一个区域的得分\(\{a_{t1},a_{t2},\cdots,a_{tk}\}\)并搜索下一次迭代的最佳位置\(l_{k+1}\)。初始区域设置为整个图像,因此\(R_0\)只有一个区域,它仅用于确定的位置。

重复T+1次迭代,产生\(T \cdot k\)个得分向量,分别在每个类别中选出最大的得分向量,即

\[ a^c = \max(a^c_{11},a^c_{12},\cdots, a^c_{Tk}),c = 0,1, \cdots,C-1\]

训练过程

在形式上,模型需要学习策略\(\pi ((a_t,l_t+1)| S_t;\theta)\),该策略基于过去观察的序列和代理所采取的动作(即)来预测当前迭代的动作分布。为此,我们定义目标函数以最大化期望奖励,表示为:

\[J(\theta) = E_{P(S_T;\theta)}[R]\]

\[\nabla J(\theta) = \sum ^{T}_{t=1} E_{P(S_T;\theta)}[\nabla_{\theta}log\pi ((a_t,l_t+1)| S_t;\theta)R]\]

其中,\(R\) 为奖励函数,通过比对实际标签获得,即

在每一个时间 t,主体接收到一个观测 \(o_t\),通常其中包含奖励 \(r_t\)。然后,它从允许的集合中选择一个动作 \(a_{t}\),然后送出到环境中去。环境则变化到一个新的状态 \(s_{t+1}\),然后决定了和这个变化\((s_t,a_t,s_{t+1}\)相关联的奖励 \(r_{t+1}\)。强化学习主体的目标,是得到尽可能多的奖励。主体选择的动作是其历史的函数,它也可以选择随机的动作。

  • 环境:\(s_t\), 即\(\{f_{t1}, f_{t2}, \cdots, f_{tk}, h_{t-1}\}\)
  • 行动:

    1. 进行分类

      分类有分类网络实现,并且有一个额外的损失函数(预测概率向量和真实概率向量的平均平方差)

    2. 寻找下一次\(l_{k+1}\)的最佳位置

      由loc网络给出值作为一个位置的高斯分布的均值,高斯分布的方差则由经验给出。之后在高斯分布上随机取值。

  • 奖励:

    \[ r_t=\left\{
    \begin{aligned}
    \frac{|g\cap p|}{n}& \quad t=T\\
    0 &\quad t<T\\
    \end{aligned}
    \right.
    \]

    \[R=\sum^T_{t=1}\gamma^{t-1}r_t\]

细节

输入部分

  1. 训练期间,所有样本图像的大小会调整为N*N,并随机裁剪为五个\((N-64)(N-64)\)的图像片段,同时对五个片段进行水平翻转,产生十个视图。最终结果为十个视图预测向量的平均值。

  2. 在实验中,生成整张特征图,并相应地为每个patch裁剪特征图,有效地减少了计算量。

  3. 在实验中,k设置为9个,通过三个尺度区域和三个宽高比产生。从而能够对更多种类的图像进行实验。

循环注意力感知模块

  1. 在特征图上进行裁剪操作,相比先前在原始输入图像处裁剪区域并应用CNN以重复提取每个区域的特征,避免了重复计算。

  2. LSTM相关

长短期记忆网络(Long Short Term Memory networks)
设计 LSTMs 主要是为了避长时期依赖 (long-term dependency )的问题。

LSTM通过隐藏层状态进行遗忘、传入和输出。

消融研究

An ablation study typically refers to removing some “feature” of the model or algorithm, and seeing how that affects performance.

论文设计实验分析了关注区域、LSTM、可变比例和纵横比的区域、迭代次数对效果的影响,以仔细评估和讨论模型的关键组成部分的贡献。

一些想法

  1. 随机裁剪和翻转是图像集扩充的常见方法,可以提高样本数量,从而更好地进行训练。一般来说,还可以通过加入噪声,改变对比度、清晰度,甚至是采用GAN生成数据。

  2. 不同的尺度区域和不同的宽高比能够让模型更好地对物体进行检测,个人猜测即使在考虑成回归问题的时候也能够发挥不错的效果。

  3. 个人理解,LSTM网络通过模仿人类选择性记忆的机制,改善了RNNs持续记忆的问题,即长文本等应用场景下RNNs需要过多样本和迭代次数来寻找合适的映射关系的问题。

  4. 感觉上,LSTM的遗忘机制和ResNet的跨层连接有一些相同的点。

  5. 消融研究能够有效地体现模型的优势,减少其他不确定因素的影响。和精心设计的图表一起,可以更好地实现对模型的展示。

论文阅读 | Recurrent Attentional Reinforcement Learning for Multi-label Image Recognition的更多相关文章

  1. [论文阅读] A Discriminative Feature Learning Approach for Deep Face Recognition (Center Loss)

    原文: A Discriminative Feature Learning Approach for Deep Face Recognition 用于人脸识别的center loss. 1)同时学习每 ...

  2. 【论文阅读】Deep Mutual Learning

    文章:Deep Mutual Learning 出自CVPR2017(18年最佳学生论文) 文章链接:https://arxiv.org/abs/1706.00384 代码链接:https://git ...

  3. 论文阅读 Dynamic Graph Representation Learning Via Self-Attention Networks

    4 Dynamic Graph Representation Learning Via Self-Attention Networks link:https://arxiv.org/abs/1812. ...

  4. 论文阅读 | DeepDrawing: A Deep Learning Approach to Graph Drawing

    作者:Yong Wang, Zhihua Jin, Qianwen Wang, Weiwei Cui, Tengfei Ma and Huamin Qu 本文发表于VIS2019, 来自于香港科技大学 ...

  5. 论文阅读笔记“Attention-based Audio-Visual Fusion for Rubust Automatic Speech recognition”

    关于论文的阅读笔记 论文的题目是“Attention-based Audio-Visual Fusion for Rubust Automatic Speech recognition”,翻译成中文为 ...

  6. 【论文阅读】Motion Planning through policy search

    想着CSDN还是不适合做论文类的笔记,那里就当做技术/系统笔记区,博客园就专心搞看论文的笔记和一些想法好了,[]以后中框号中间的都算作是自己的内心OS 有时候可能是问题,有时候可能是自问自答,毕竟是笔 ...

  7. Deep Reinforcement Learning for Dialogue Generation 论文阅读

    本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...

  8. 【论文阅读】PRM-RL Long-range Robotic Navigation Tasks by Combining Reinforcement Learning and Sampling-based Planning

    目录 摘要部分: I. Introduction II. Related Work III. Method **IMPORTANT PART A. RL agent training [第一步] B. ...

  9. 论文阅读之: Hierarchical Object Detection with Deep Reinforcement Learning

    Hierarchical Object Detection with Deep Reinforcement Learning NIPS 2016 WorkShop  Paper : https://a ...

随机推荐

  1. 【转载】C#使用InsertRange方法往ArrayList集合指定位置插入另一个集合

    在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,ArrayList集合可存储多种数据类型的对象.在实际的开发过程中,我们可以使用InsertRange方法在ArrayList集合指 ...

  2. vue自定义指令VNode详解(转)

    1.自定义指令钩子函数 Vue.directive('my-directive', {bind: function () {// 做绑定的准备工作// 比如添加事件监听器,或是其他只需要执行一次的复杂 ...

  3. vs2017 添加 mysql EF实体数据模型闪退

    1.查看vs2017安装路径找到Mysql.Data.dll版本号与MySQL Connector Net版本是否一致 历史版本下载地址 http://mysql.inspire.net.nz/Dow ...

  4. PHP获取当前脚本的绝对路径方法

    一.dirname(__FILE__) 比如:a.php所在路径为/var/www/web/a.php dirname(__FILE__)返回的则是/var/www/web/ 二.__DIR__ a. ...

  5. Cheat Engine 修改汇编指令

    打开游戏 扫描阳光 扫描过程就不讲了 找到阳光的地址 显示反汇编 找到使阳光减少的反汇编代码 空指令替换 将阳光减少汇编指令,用空指令替换.这样阳光就不再减少了 指令替换 也可以将汇编指令修改,减少变 ...

  6. 对List集合中的元素进行排序

    原文:http://blog.csdn.net/veryisjava/article/details/51675036 Collections对List集合中的数据进行排序 有时候需要对集合中的元素按 ...

  7. 一款APP的完整开发流程 (转载)

    来源:https://www.sohu.com/a/239089829_100063940 近年来,在市场和政策的双轮驱动下,我国服务外包产业快速发展,服务智能化趋势显现.随着企业核心业务外包活动的日 ...

  8. echarts 通过源码方法 传入对应data数据获取分割步长值

    通过源码方法获取这里的分割数字长度 /** * Quantity of a number. e.g. 0.1, 1, 10, 100 * * @param {number} val * @return ...

  9. asp.net中的参数传递:Context.Handler 的用法

    网上天天有人问怎么在webform页面之间传值,基本上来说,大家熟悉的是     (1)url字符串传值     (2)session传值     (3)直接读取server.transfer过来的页 ...

  10. Mock Server之接口信息从DB获取

    上一篇,写了Mock Server的基础实现与被测系统的对接 当我们mock的接口信息.返回值等时不时维护时,都要在代码中编辑,那体验就不太好了,如果这些可以直接在浏览器编辑就好了. 因此对后端部分做 ...