精读Hard-Attention for Scalable Image Classification
摘要
方法
架构
架构部分就是摘要部分的具象化展示。图中,LVL1是原图像长宽缩小到1/4得到的图像。一个特征提取模块分析将图像均分为四块后,那些块包含了丰富的分类所需信息,并将这些块的输出结果定为1。然后根据这个结果,将分辨率扩大一倍的图像,即长宽为原图像1/2的图像对应部分裁剪出来,分别丢入下一个特征提取模块。同时,特征提取模块提取的特征还会放入特征编码模块,最终不同分辨率中,信息丰富部分的特征一起取平均,丢进分类器。
模块
特征提取模块是CNN,要预设好输入尺寸,上图例子中,预定尺寸为224*224。位置模块是一系列1*1卷积核。位置编码模块是一个全连接层,输入是特征提取模块提取出来的f和不知道从哪冒出来的位置编码p。
损失函数
Ri是一个离散的指示函数,分类正确时为1,错误时为0。b是每一轮epoch更新一次,根据Ri的值做指数平均移动
实验
如图可知,虽然因为模块多,模型的参数也比BagNet-77稍微多一些,但因为每一层只需要针对信息丰富的部分进行特征提取,所以计算量和耗时都短得多。随着采样快变多,要计算的东西也增多,所以计算量和精读都会有所上升。
如图,该模型同样取得了很好地结果。对于高分辨率的输入图像,依旧能保持较低的计算量。不过要注意到的是,在896*896的那一行,每一层取样6块的性能反而不如4块,这说明取样块数太多时,会添加许多冗杂信息,干扰模型分类,最后费力不讨好。
总结
同时,该模型要提前预设好每层采样块数,这导致多了一个超参数,对于更大分辨率的现实场景可能会成为一个缺点,值得进一步研究。
上一篇:
JS实现多线程数据分片下载
下一篇:
服务器被大流量攻击该怎么办