问题动机
目前有很多类似摄像头这些边缘采集设备在世界中采集信息,为了节约成本,这些终端设备的配置和寿命往往会比较低,其中限制这些收集设备终端最主要的就是电力问题,必须要谨慎的使用云交互并最小化数据传输量来减少电力消耗,所以有效的方法是减少传输的像素数来延长这些设备的使用时间,同时要保证精度和经过充分训练的神经网络相当。
不过细粒度图像分类为这样的要求带来了根本性挑战,突出了准确率和成本的矛盾:
- 要找到最具有判别力的部件
- 不能传输整个图像
-
简介
本文提出了一种新颖的基于深度强化学习的注视点模型DRIFT,它依次生成和识别混合锐度图像。本文通过条件批评和指导(DDPGC3)算法训练一个具有深度确定性策略梯度的注视网络。在每次注视到正确目标后附加奖励以便更好的进行强化学习训练。
具体来说,首先传输分辨率极低的缩略图,然后由服务器来寻找最具有价值的图像区域,终端再将这些区域的高清晰版本传输到服务器,将服务器中模糊图的区域替换成高清版本。
不过传统找出重要区域的注意力方法必须先获得高清晰度图像。所以本文提出了一种寻找注视点的强化学习方法来找出最有价值的区域。通过一个有条件的评论家来训练一个演员网络,并将评论家的评估和启发式预言机制相结合。
本文的强化学习寻找注视点的方法和以前比有以下优点: 在没有任何对象位置监督的情况下学习注视行为
- 动作空间是无限的,而传统方法只能在受限列表中选择
- 在低清晰度图像上仍然可以进行,所用的输入信息要少得多
本方法在五个细粒度数据集上获得了最先进性能,并将传输的像素数减少3倍
方法核心
混合锐度注视图
首先调整图像两种版本,高分辨率版本默认为299×299,低分辨率版本30×30。
本方法的实现的步骤为:
- 边缘设备将低分辨率版本传输到云服务器
- 服务器上的注视点模型推断注视点,定义为一个小型圆形区域,用坐标和半径定义
- 边缘设备根据注视点传输新的高清内容
- 服务器将高清内容合并到低分辨率图像中,更新注视点,如果不确定则请求新坐标
一个好的注视点模型应当在传输效率和分类精度之间取得平衡,这就要求模型寻找图像中最具有辨别力的区域,同时尽可能减少传输高分辨率区域的次数。
本文将上述步骤定义为一个马尔科夫决策问题(MDP)的一个实例,并使用强化学习进行训练
马尔科夫决策过程
将寻找注视点的过程定义为一个顺序决策的过程,其中注视点模型在离散的时间步长(交互次数)中与动态环境交互,每个时间步长,注视点模型接受观测状态,采取行动,接受标量奖励,整个过程可以进行建模,动作空间A,状态空间S,接受后从到的转换和奖励函数
步骤
为了模拟物联网场景,将原始图像下采样到低分辨率版本,当时,边缘设备传输低分辨率图,将其视作初始环境,在一定范围的时间步长中,注视模型预测进行注视操作,指定圆形区域的位置和大小,接收到之后,物联网设备返回区域部分的高清晰度部分。环境使用高分辨率版本进行更新。在每一步结束时候,使用当前的同时存在高低分辨率的注视点图像进行预测,得到预测概率。
动作空间
对于图像上每个像素都可以生成一个任意半径的圆形区域。训练时,选取操作三个值的大小范围为,其中最大最小半径预先定义,这样保证三个值都在较小范围内,然后实际选取的区域通过以下公式计算出来
状态空间
本文有一个主干网络和分类网络,主干网络用于提取特征,分类网络用于最后决策。在每个时间步的状态可以由当前状态,上一个状态和选择的局部区域的特征向量来定义。然后再使用一个动作历史向量记录已经执行过的操作,用0填充还未执行的动作
相对比较的密集奖励
我们的目标是在最后一个时间步时使用注视点图像获得高分类精度,并通过注视动作只使用最小的高分辨率信息。其中简单的策略就是在每步结束后进行预测,然而这种方法无法将体现每一步的贡献
本文提出了密集奖励函数,给定动作,观测结果从变为,给定真实标签y,分别计算过去观测结果和当前观测结果的交叉熵损失,直观来说,一个好的行动步应该让交叉熵损失变小,所以精度奖励的定义是相对于过去步分类精度的改进,值为交叉熵的减少量
此外,还希望可以限制高分辨率区域尽可能少,所以这里定义了传输效率奖励,其中是像素整数,预先定义阈值thr,指示函数表示内容为真时为1,否则为0,当高分辨率像素太多时附加惩罚
条件批评和指导
深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)算法用来训练深度神经网络来学习高维连续动作空间中的策略,适用于本问题。这个方法的关键就是应用演员-评论家设置。本方法输出一个确定性策略,需要进行评估并改进,评估方法使用的是状态值函数来计算当前策略的预期回报。策略改进使用评论家的估计来改进当前策略模型。形式上,评论家网络最小化贝尔曼方程的时间差,演员网络最大化评论家的估计。
不过传统方法往往训练效果不好,可能原因是全局状态函数太难被评论网络估计,同时由于评论家无法访问高分辨率版本,估计奖励区域十分困难,所以本文提出一个评论条件,对于每一步都会生成一个唯一的状态函数,不过由于评论家网络的参数是随机初始化的,减缓了收敛速度。
为了解决这个问题,作者利用指导的思想引入了一个低成本启发式预言,它提供了比随机猜测更好的策略,让演员基于启发式预言采取行动,指数级加速了网络的收敛速度。作者将改进方法称之为条件评论家(DDPGC3)。使用最后阶段的特征图,执行1×1卷积得到响应图,根据响应图的相对位置进行采样,尽管只提供了粗略线索,但仍有助于加速和稳定演员的训练。
实验
物联网场景测试
在互联网场景下,使用低分辨率图像作为原始输入,使用不同策略来观察重要区域的捕捉效果,再使用经过融合后的注视图进行分类。在这种情况下,分类精度和传输高分辨率像素的比例都是需要考虑因素,好的注意力模型应当在更少高分辨率像素的情况下实现更高精度。
这里对多个注视策略进行对比分别是:随机均匀分布、固定图像中心、预测类别显著性、注意力(MA-CNN)、预测熵、DRIFT、,这个方法相当于是如果预测的交叉熵高于一个阈值,则传输完整高分辨率图,阈值被控制在只有25%的样本传输完整图
在五种数据集上,本文提出的DRIFT均获得了最高精度,并大幅度领先其他方法,精度提升至少20%,所需的高分辨率像素比例也比其他方法低了4%~5%。比如在飞机数据集上,只是用了14.4%的高分辨率像素就达到了86.7%的准确率。
如果使用了方法,精度进一步提高,在飞机数据集上达到了88.0%的精度,通过可视化发现本文提出的注视方法确实包含最具有判别力的区域,而其他方法往往无法在低分辨率图像上有效捕捉重要区域,主要是因为这些网络没有针对混合锐度的注视图进行优化
常规测试
常规测试验证这种策略是否对标准分类任务也有效,评价方法是包含所有高分辨率的注视圆形区域的最小边界框作为注意力锚框。然后对这个锚框区域的内容进行缩放,将其作为输入送入主干网络中进行分类测试
将注视区域送入基线网络进行分类发现,精度比直接对完整图像进行分类有着较大的提升,相对于Iception-V3提升了1.9%,相对于ResNet50提升了2.1%,并在车、飞机、食物数据集上取得了2019年最先进性能,鸟、狗数据集上第二名的水平。
本方法证明了DRIFT可以专注于判别区域,并可以过滤掉背景杂波
定位精度
将上述的注视锚框和标注的定位框重叠90%的样本认为命中,在汽车数据集上有90%的命中率,鸟、狗、飞机上有40%的命中率,在只是用图像级标签的情况下,充分证明了本方法的潜力和定位准确性,因为DRIFT的注视区域和对象的位置密切相关。
可视化DRIFT中最常见的特征,以便更好的理解、学习、优化注视策略。通过聚类算法找到同一个数据集中最着重关注的特征,表现了注视区域不光可以准确定位主体,还可以定位判别性部件,充分展现了潜力
总结
本文针对传输成本较高的场景进行优化,在输入的像素数极其有限的情况下实现了非常高的分类精度,同时还可以准确的定位对象位置。本文创新的将深度强化学习的策略用在了细粒度图像分类上,实现了注视网络,在低分辨率输入的情况下,定位判别性部件的效果优于其他效果。这种思路可以应用在其他方法上。本文还证实了细粒度图像分类各个部分的重要性,只要可以准确提取出判别性区域,或者只是找出对象主体,就可以大幅度优化分类精度。
本文的策略我认为提出的策略非常具有启发性,2019年并没有Vision Transformer架构,如果使用本文的优化传输方法,将低分辨率图像拆分成少量小块输入,寻找注视区域后只把注视区域的高分辨率小块的输入到Transformer中,可以极大幅度降低时间复杂度。
本文也充分验证了混合锐度图像对可以获得精度和速度的平衡。也可以针对Transformer架构进一步优化强化学习寻找注视区域的的策略,因为CNN和自注意力之间还有差距,Transformer会计算每个小块之间的关系。强化学习可以进一步学习一下,看看有没有其他将强化学习用在图像分类上的论文。