来自 | AI科技评论 编辑 | 陈大鑫
研究动机及简介
方法详述
-
首先,对于一张任意给定的输入图片,由于我们没有任何关于它的先验知识,我们直接将其放缩为一个patch的大小,输入网络,这一方面产生了一个初步的判断结果,另一方面也提供了原始输入图片的空间分布信息;这一阶段称为扫视(Glance)。 -
而后,我们再以这些基本的空间分布信息为基础,逐步从原图上取得高分辨率的patch,将其不断输入网络,以此逐步更新预测结果和空间分布信息,得到更为准确的判断,并逐步寻找神经网络尚未见到过的关键区域;这一阶段称为关注(Focus)。
网络结构
-
全局编码器和局部编码器(Global Encoder and Local Encoder)为两个CNN,分别用于从放缩后的原图和局部patch中提取信息,之所以用两个CNN,是因为我们发现一个CNN很难同时适应缩略图和局部patch两种尺度(scale)的输入。几乎所有现有的网络结构均可以作为这两个编码器以提升其推理效率(如MobileNet-V3、EfficientNet、RegNet等)。 -
分类器 (Classifier)为一个循环神经网络(RNN),输入为全局池化后的特征向量,用于整合过去所有输入的信息,以得到目前最优的分类结果。 -
图像块选择网络 (Patch Proposal Network)是另一个循环神经网络(RNN),输入为全局池化前的特征图(不做池化是为了避免损失空间信息),用于整合目前为止所有的空间分布信息,并决定下一个patch的位置。值得注意的是由于取得patch的crop操作不可求导,是使用强化学习中的策略梯度方法(policy gradient)训练的。
训练方法
-
首先,我们从GFNet中移除 ,在每一步均以均匀分布随机选择patch的位置,以下面所示的损失函数训练,和,使其达到最佳的分类性能,其中 代表交叉熵损失, 和分别代表在第步的预测结果和原始输入图片 对应的标签, 表示训练集,表示序列的最大可能长度。
-
而后,我们固定第一步得到的,和 ,在网络中插入一个随机初始化的 ,以强化学习算法(policy gradient)优化以下形式的折扣奖励函数。其中 为一个预先定义折扣因子, 为每次选择patch位置的奖励(reward),我们将其定义为所选择的patch所造成的在正确标签上的confidence的增量,换言之,我们总是希望选择目前的网络没有处理过的、对产生正确的预测结果最有帮助的patch。
-
最后,我们固定第二步得到的 ,再以第一步中的损失函数对,和 进行最终的微调(Finetune)。
实验结果
-
budgeted batch classification,测试数据伴随有一个计算开销的预算(budget),网络需要在这个计算预算内进行推理。在此设置下,我们使用前面提到的方法,确定阈值(confidence threshold)并进行自适应推理。 -
anytime prediction,网络有可能在任何时候被要求立刻输出预测结果。在此设置下,我们不使用自适应推理技术,并假设所有测试样本的序列长度固定。
GFNet的另一个显著优势是,由于其没有更改CNN的具体结构,其可以方便地在移动端或边缘设备上使用现有的工具部署,且享有和理论结果几乎等同的实际加速比。
下图为我们在一台iPhone XS Max(就是我的手机)上基于TensorFlow Lite的测试结果:
下面是GFNet的一些可视化结果,可以从中看出,对于比较简单的样本,GFNet可以仅在Glance阶段或Focus阶段的第一步以很高的confidence得到正确的结果,对于较为复杂的样本,则实现了以不断关注关键区域的形式逐步提升confidence。
结语
参考链接:
<section data-brushtype="text" style="padding-right: 0em;padding-left: 0em;white-space: normal;max-width: 100%;letter-spacing: 0.544px;color: rgb(62, 62, 62);font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;widows: 1;word-spacing: 2px;caret-color: rgb(255, 0, 0);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong>完<strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong></span></strong></span></strong></section><pre style="padding-right: 0em;padding-left: 0em;max-width: 100%;letter-spacing: 0.544px;color: rgb(62, 62, 62);widows: 1;word-spacing: 2px;caret-color: rgb(255, 0, 0);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><pre style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-bottom: 15px;padding-right: 0em;padding-left: 0em;max-width: 100%;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 16px;font-family: 微软雅黑;caret-color: red;box-sizing: border-box !important;overflow-wrap: break-word !important;">为您推荐</span></strong></span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;">一文了解深度推荐算法的演进</section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;">干货 | 算法工程师超实用技术路线图</section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 14px;">13个算法工程师必须掌握的PyTorch Tricks</span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 14px;">吴恩达上新:生成对抗网络(GAN)专项课程</span><br /></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;">拿到2021灰飞烟灭算法岗offer的大佬们是啥样的<span style="font-size: 14px;">?</span></section></section></section></section></section></section></section></section></section>
本篇文章来源于: 深度学习这件小事
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
内容反馈