再谈注意力机制 | 运用强化学习实现目标特征提取

简介: 再谈注意力机制 | 运用强化学习实现目标特征提取

02ef639f7af265f45273359b4e6c7e0f.png

研究目标


研究如何减少图像相关任务的计算量, 提出通过使用attention based RNN 模型建立序列模型(recurrent attention model, RAM), 每次基于上下文和任务来适应性的选择输入的的image patch, 而不是整张图片, 从而使得计算量独立于图片大小, 从而缓解CNN模型中计算量与输入图片的像素数成正比的缺点. 该文通过强化学习的方式来学习任务明确的策略, 从而解决模型是不可微的问题.

RAM 模型在几个图像分类任务上,在处理杂乱图像(cluttered images)时, 它明显优于基于CNN的模型,并且在动态视觉控制问题上,无需明确的训练信号, 它就能学习跟踪一个简单的对象。

Introduction


该文将注意力问题视为与视觉环境交互时以目标为导向的序列决策过程。

人类感知的一个重要特性是人们不会倾向于一次完整地处理整个场景。相反,人们将注意力有选择地集中在视觉空间的某些部分,以便在需要的时间和地点获取信息,并随着时间的推移组合来自不同固定位置(fixation)的信息,以建立场景的内部表示,指导下一步眼睛看下哪里以及决策。将计算资源聚焦在场景的各部分上节省了“带宽”,因为需要处理的“像素”更少。但它也大大降低了任务复杂性,因为感兴趣的对象可以置于固定位置(fixation)的中心,并且固定区域外的视觉环境(“混乱”)的不相关特征自然被忽略。

模型架构


attention注意力机制网络架构如下图所示:

a99d5e0a6095f219a29d7ee1b65462c3.png

该模型架构主要由Glimpse NetworkLocation NetworkCoreNetwork三部分网络组成。其中Glimpse Network主要由由Glimpse Sensor组成。

如上图所示,agent围绕一个递归神经网络构建。在每个时间步骤中,它处理传感器数据,随着时间的推移集成信息,并在下一次时间步骤中选择如何操作和如何部署传感器。过程主要是通过强化学习实现的,下面介绍主要部件:

  • Sensor:在每个步骤t中,agent接受到一个输入图像Xt的环境,agent没有完全访问这个图像,而是通过信息带宽有限的传感器ρ提取信息。如通过传感器在某些地区或感兴趣的频段。
  • Internal state:agent保持一种内部状态,该状态汇总从过去的观察历史中提取的信息,它对代理的环境进行编码,并有助于决定如何操作和在何处部署传感器。该内部状态由递归神经网络的隐藏单元ht组成,通过下面要介绍的它对代理的环境知识进行编码,并有助于决定如何操作和在何处部署传感器CoreNetwork进行更新。网络的外部输入是Glimpse sensor输出向量gt

image.png

训练


image.png

loss采用混合监督损失。

Experiments


我们评估了我们的方法在几个图像分类任务以及一个简单的游戏。我们首先描述了我们所有实验中常见的设计选择:

image.png

mnist手写字母图像识别结果


ab989a352af1d405d17ba08796697d2c.png

来自MNIST测试集的输入图像,其中Glimpse路径以绿色(正确分类)或红色(错误分类)覆盖。

第2-7栏:网络选择的6个亮点。每个图像的中心显示全分辨率的一瞥,外部低分辨率区域是通过将低分辨率的一瞥放大到全图像的尺寸来获得的。瞥见路径清楚地表明,学习策略避免了在输入空间的空或噪声部分进行计算,并直接探索了感兴趣对象周围的区域。

结论


介绍了一种新颖的视觉注意力模型。制定作为一个以一睹窗口为递归神经网络输入和使用网络的内部状态来选择下一个位置关注以及生成控制信号在动态环境中。虽然模型是不可微的,但是所提出的统一架构是使用策略梯度方法从像素输入到操作端到端进行训练的。这个模型有几个吸引人的特性。首先,参数的数量和RAM执行的计算量都可以独立于输入图像的大小进行控制。其次,该模型能够忽略图像中存在的杂波,将视网膜集中在相关区域。

我们的实验表明,在一个混乱的对象分类任务中,RAM的性能显著优于具有相同数量参数的卷积架构。此外,我们的方法的灵活性允许许多有趣的扩展。例如,可以使用另一个操作来扩展网络,该操作允许网络在任何时间点终止并做出最终的分类决策。我们的初步实验表明,一旦有了足够的信息来进行可靠的分类,网络就可以学会停止Glimpse。该网络还可以控制视网膜采样图像的尺度,使其能够在固定大小的视网膜中适应不同大小的对象。在这两种情况下,可以使用前面描述的策略梯度过程将额外的操作简单地添加到操作网络fa中并对其进行训练。鉴于RAM取得的令人鼓舞的结果,将该模型应用于大规模对象识别和视频分类是未来工作的一个自然方向。

开源代码


https://github.com/kevinzakka/recurrent-visual-attention

相关文章
|
Linux 虚拟化 Windows
VirtualBox安装教程及使用(Windows)
VirtualBox安装教程及使用(Windows)
908 0
VirtualBox安装教程及使用(Windows)
|
3月前
|
存储 数据采集 人工智能
技术架构决胜GEO优化:AI搜索优化底层逻辑拆解与实测
2025年调研显示,83%品牌布局GEO,但62%因技术架构不足致AI引用率偏低。本文拆解“垂直模型、数据处理、内容运营、效果迭代”四大底层逻辑,构建六维评测体系,深度解析五大GEO公司技术实力与选型策略,揭示全自研架构在AI搜索变革中的决定性作用。
|
前端开发 JavaScript API
020 Umi@4 中如何实现动态菜单
020 Umi@4 中如何实现动态菜单
1420 0
020 Umi@4 中如何实现动态菜单
|
弹性计算 人工智能 应用服务中间件
一键部署开源DeepSeek并集成到企业微信
DeepSeek近期发布了两款先进AI模型V3和R1,分别适用于通用应用和推理任务。由于官方API流量过大,建议通过阿里云的计算巢进行私有化部署,以确保稳定使用。用户无需编写代码即可完成部署,并可通过AppFlow轻松集成到钉钉、企业微信等渠道。具体步骤包括选择适合的机器资源、配置安全组、创建企业微信应用及连接流,最后完成API接收消息配置和测试应用。整个过程简单快捷,帮助用户快速搭建专属AI服务。
2290 7
一键部署开源DeepSeek并集成到企业微信
|
数据采集 JSON 小程序
零成本 API 服务搭建,用 GitHub Actions 自动爬取文章?
本着将成本降到最低,我目前做的应用或小程序都是单机的,也就是不用请求接口,只要一上架就没有任何支出。但是写死的数据毕竟有限,应用的内容单一无法紧跟时事热点,每次打开一个样,自然就没有留存。遇到有错字啥还要更新版本,那有没有方法既能丰富应用内容,又不用增加成本呢?
357 0
|
存储 监控 机器人
UiPath简介
RPA(Robotic Process Automation)是软件机器人,是基于计算机操作系统的工作桌面,自动识别、完成预先设定的工作流程。 UiPath即RPA中的一种。
UiPath简介
|
缓存 分布式计算 算法
优化Hadoop MapReduce性能的最佳实践
【8月更文第28天】Hadoop MapReduce是一个用于处理大规模数据集的软件框架,适用于分布式计算环境。虽然MapReduce框架本身具有很好的可扩展性和容错性,但在某些情况下,任务执行可能会因为各种原因导致性能瓶颈。本文将探讨如何通过调整配置参数和优化算法逻辑来提高MapReduce任务的效率。
1486 0
|
JSON 关系型数据库 MySQL
MySQL 5.x和8.0区别
性能:8.0的速度要比5.7快2倍,8.0在以下方面带来了更好的性能:读/写负载、IO密集型工作负载、高竞争("hot spot"热点竞争问题)工作负载。
560 3
|
负载均衡 监控 应用服务中间件
Nginx极简实战—如何实现Nginx负载均衡高可用
之前讲了Nginx 如何实现负载均衡,以及如何实现动静分离。但是还确少Nginx 高可用的部分。因为Nginx 处于整个系统非常重要的位置,Nginx的高可用影响到整个系统的稳定性。如果nginx服务器宕机后端web服务将无法提供服务,影响严重。所以,接下来就来介绍Nginx + keepalived 实现高可用的方案。
Nginx极简实战—如何实现Nginx负载均衡高可用
|
前端开发 测试技术 持续交付
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试
【4月更文挑战第30天】本文探讨了 Flutter 应用中UI测试和自动化测试的重要性,包括保障质量、提高效率和增强开发信心。Flutter提供`flutter_test`库进行Widget测试,以及`flutter_driver`进行集成测试。UI测试涵盖界面布局、交互和状态变化的验证,最佳实践建议尽早引入测试、保持用例简洁,并结合手动测试。未来,随着Flutter技术发展,UI测试和自动化测试将更加完善,助力开发高质量应用。
694 0
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试

热门文章

最新文章