论文笔记之:Active Object Localization with Deep Reinforcement Learning
Active Object Localization with Deep Reinforcement Learning
ICCV 2015
最近Deep Reinforcement Learning算是火了一把,在Google Deep Mind的主页上,更是许多关于此的paper,基本都发在ICML,AAAI,IJCAI等各种人工智能,机器学习的牛会顶刊,甚至是Nature,可以参考其官方publication page: https://www.deepmind.com/publications.html
本文是做特定物体的定位和检测,但是不用提取proposal的方式。本文的方法采用从上至下的搜索策略,刚开始的时候,是分析整个场景,然后向物体准确的位置行进。其实,就是先用一个较大的box将物体框住,然后一步一步的缩小,最终使得物体完美的被一个紧凑的box围住。重点是这个step by step的定位过程,该过程是由一个机制确定,并且分析当前可见区域的内容,然后选择下一步最优的action,每一步transformation都尽可能将背景部分砍掉,并且要将物体完整的留在box之中,示例的调整过程如下图所示:

本文所用的方法是 dynamic attention-action strategy,需要注意当前区域的内容,使得转移box的导向是:the target object is progressively more focused. 为了模拟所提出机制的attention,当前box覆盖目标物体的好坏决定了奖励函数(reward function)。基于DeepQNetwork algorithm,作者将奖励函数和增强学习(reinforcement learning setting)结合来学习一个定位策略(localization policy)。作者的结果表明,一个训练的agent可以在11步左右定位到一个物体的示例,这意味着该算法可以在处理11个区域之后准确的找到一个物体。
Object Localization as a Dynamic Decision Process
本文将物体定位问题看做为马尔科夫决策过程(Markov decision process (MDP)),因为这套设置提供了一个正式的框架来建模一个agent,能够做出一系列的决策。该机制拥有当前可见区域的状态描述(state representation with information of the currently visible region) 和 过去的动作(past actions),在训练的过程中,会对每一个决定都会给出positive or negative rewards。在测试的过程中,该机制不在收到反馈,不再更新model,只是遵循学习到的策略。所以,MDP由三个部分构成,即:a set of actions A, a set of states S, and a reward function R.
1. Localization Actions

可以看到 action set A 有8个转移动作(四个方向的移动,尺寸的放大和缩小,长宽比例的变换)和1个终止动作(Trigger)。box的位置:b = [x1, y1, x2, y2], 任何一个转移动作(transformation actions)都会对box造成一个discrete change,通过:
2. State
The state representation is a tuple (o, h), 其中 o 是观测区域的特征向量,h 是一个向量,存储的是所采用action的历史记录。特征向量 o 是用CNN网络结构提取的,将输入改为224*224,将fc6层的feature提出来。在历史记录向量中,每一个action都表示为一个9维的二进制向量,除了存在的那个动作为1,其余的都为0. 文中将该记录编码为10个 past actions,那么h就是一个 90维的向量。
3. Reward Function
奖励函数 R 和选定一个特定区域后该机制定位物体的提升程度成正比。预测box和给定box的重叠程度作为我们setup的改善的衡量标准。More specifically,奖励函数用从一个状态到另一个状态的IoU的不同来预测。假设观测区域的box 为b,目标物体的gt box为 g。b和g之间的IoU定义为:
IoU(b, g) = area(b^g) / area(bvg).
当agent选定action a 从 s 移动到 s'时,执行奖励函数 Ra(s, s'). 每一个状态 s 有一个相关的box b包含倾向的区域,then the reward is as follows:
Ra(s, s') = sign ( IoU(b', g) - IoU(b, g) )
可以看到,从状态s到s',如果IoU改善了,那么奖励就是positive的,否则就是negative的。奖励机制是二值 r 属于{-1, +1}, 适合用所有转移box的action。通过这种方式,agent对于那些移走box的操作给予惩罚,对于那些符合要求的action给予奖励,直到没有其余的转移可以更好的改善定位,在这种情况下,就要进行trigger操作了。
Trigger拥有一个不同的奖励机制,因为这个操作会带来终止状态,该action的IoU差别会永远为0。IoU的阈值函数作为trigger的奖励:

最终,the reward scheme显示的考虑了step的个数作为一个cost,the agent follow a greedy strategy,which prefers short sequences because any unnecessary step pays a penalty that reduces the accumulated utility.
Finding a Localization Policy with Reinforcement Learning
Agent的设计是为了一系列的选择actions来转移bbox,使得在与环境交互的过程中,得到的rewards最大。核心问题是找到一个策略指导agent的决策制定的过程。一个策略就是一个函数pi(s)来指定选择action a,当current state is s。由于我们没有状态转移概率,且奖励函数是依赖于数据的,该问题就构成了利用Q-Learning的增强学习问题。
本文follow了Mnih et al.的deep Q-learning algorithm,该算法利用神经网络预测 action-value function,与之前的Q-learning方法对比,有如下几点优势:
(1). Q-network的输出有许多单元(units),像该问题的多个actions一样。
(2). 该算法结合一个 replay-memory来收集不同的经验和在长期运行中进行学习。
(3). 为了更新model,该算法从replay-memory uniformly at random的选择transitions,来破坏状态之间的短期关系。这使得算法更加稳定并且阻止了参数的不收敛。
在学习了 action-value function Q(s, a)之后,agent采用的策略就是选择拥有最大预测值的 action a。
1. Q-learning for Object Localization
网络结构如上图所示,输入图像是:224*224,经过5个卷基层,提取fc6层的feature,然后训练 Deep Q-Network,最终输出9个actions, 这9个action 就是 对应 fc 的9个输出。
2. Training Localization Agents


另外,为了更好的理解Deep Q-Network,还是抽空看一下这篇文章" Human-level control through deep reinforcement learning"。
The link is here: http://gnusha.org/~nmz787/pdf/Human-level_control_through_deep_reinforcement_learning.pdf
大家有什么疑惑,欢迎一起讨论学习!
论文笔记之:Active Object Localization with Deep Reinforcement Learning的更多相关文章
- 论文阅读之: Hierarchical Object Detection with Deep Reinforcement Learning
Hierarchical Object Detection with Deep Reinforcement Learning NIPS 2016 WorkShop Paper : https://a ...
- 论文笔记之:Asynchronous Methods for Deep Reinforcement Learning
Asynchronous Methods for Deep Reinforcement Learning ICML 2016 深度强化学习最近被人发现貌似不太稳定,有人提出很多改善的方法,这些方法有很 ...
- 论文笔记之:Playing Atari with Deep Reinforcement Learning
Playing Atari with Deep Reinforcement Learning <Computer Science>, 2013 Abstract: 本文提出了一种深度学习方 ...
- 论文笔记之:Human-level control through deep reinforcement learning
Human-level control through deep reinforcement learning Nature 2015 Google DeepMind Abstract RL 理论 在 ...
- getting started with building a ROS simulation platform for Deep Reinforcement Learning
Apparently, this ongoing work is to make a preparation for futural research on Deep Reinforcement Le ...
- Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记
Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记 arXiv 摘要:本文提出了一种 DRL 算法进行单目标跟踪 ...
- [CVPR2015] Is object localization for free? – Weakly-supervised learning with convolutional neural networks论文笔记
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 } p. ...
- 论文笔记:Learning how to Active Learn: A Deep Reinforcement Learning Approach
Learning how to Active Learn: A Deep Reinforcement Learning Approach 2018-03-11 12:56:04 1. Introduc ...
- 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning
论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning 2017-06-06 21: ...
随机推荐
- python抓取性感尤物美女图
由于是只用标准库,装了python3运行本代码就能下载到多多的美女图... 写出代码前面部分的时候,我意识到自己的函数设计错了,强忍继续把代码写完. 测试发现速度一般,200K左右的下载速度,也没有很 ...
- ios category类别的使用
ios category类别的使用 Objective-C提供了一个非常灵活的类(Class)扩展机制-类别(Category).类别用于对一个已经存在的类添加方法(Methods).你只需要知道这个 ...
- ant新建scp和sshexec任务
1.build.xml中新建targer如下: <target name="remotecopytest" description="拷贝文件到远程服务器" ...
- Detail in Response.redirect and Server.transfer in ASP.NET
http://www.developerfusion.com/article/4643/implementing-http-handlers-in-aspnet/4/
- sublime3笔记
选择类Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中并更改所有相同的变量名.函数名 ...
- 用python做些有意思的事——分析QQ聊天记录——私人订制
之前,写了这篇文章,用python提取全部群成员的发言时间,并简单做了下分析.先补充一下,针对特定单个群成员(这里以 小小白 为例)消息记录的获取. 代码比较简单,主要是正则表达式的书写.(附: ...
- 作业3-个人项目<词频统计>
上了一天的课,现在终于可以静下来更新我的博客了. 越来越发现,写博客是一种享受.来看看这次小林老师的“作战任务”. 词频统计 单词: 包含有4个或4个以上的字 ...
- 9、SQL基础整理(两表连接exists,join on,union)
exists的用法 select *from haha where exists (select *from bumen where bumen.code = haha.bumen and bumen ...
- Inno Setup 安装前卸载原程序
Inno Setup 安装前卸载原程序 分类: Install Setup 2013-02-02 15:53 2315人阅读 评论(0) 收藏 举报 很多時候我們需要在安裝文件之前卸載原有的程序而不是 ...
- 查询语句中select from where group by having order by的执行顺序
查询语句中select from where group by having order by的执行顺序 1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from--w ...