【论文阅读】Faster Neural Networks Straight from JPEG

Faster Neural Networks Straight from JPEG

论文链接:Faster Neural Networks Straight from JPEG (neurips.cc)

作者:Lionel Gueguen,Alex Sergeev,Ben Kadlec,Rosanne Liu,Jason Yosinski

机构:Uber,Uber AI Labs

关键词:DCT,CNN,JPEG,图像编码

参考文献:Gueguen L, Sergeev A, Kadlec B, et al. Faster neural networks straight from jpeg[J]. Advances in Neural Information Processing Systems, 2018, 31.

代码链接:https://github.com/calmevtime/DCTNet

摘要

在这里插入图片描述

直接从RGB像素训练卷积神经网络(CNNs)的简单、优雅的方法在经验上取得了压倒性的成功。但是,通过使用不同的输入表示,是否可以从网络中挤出更多的性能?在本文中,提出并探索了一个简单的想法:直接在JPEG编解码器中间计算并可用的分块离散余弦变换(DCT)系数上训练CNN。直观地说,当使用CNN处理JPEG图像时,似乎没有必要将逐块频率表示解压缩为扩展的像素表示,将其从CPU搬到GPU,然后使用CNN进行处理,该CNN将在其第一层中学习类似于转换回频率表示的东西。为什么不跳过这两个步骤,直接将频域输入网络?在本文中,作者修改libjpeg以直接生成DCT系数,并修改ResNet-50网络以适应不同大小和跨步输入,并在ImageNet上评估性能。实验发现网络速度更快、更准确,以及精度大致相同但比ResNet-50快1.77倍。

Method

在这里插入图片描述

来自 Y 通道 D Y D_Y DY 的 DCT 系数通常比来自色度通道 D C b D_{Cb} DCb D C r D_{Cr} DCr 的 DCT 系数具有更大的尺寸,如图 1a 所示,其中实际形状是根据图像输入大小 224 × 224 224×224 224×224 计算的。因此,有必要进行特殊的转换来处理空间维度匹配,然后才能将生成的激活连接起来并馈送到传统的CNN中。论文考虑了两个抽象变换 ( T 1 , T 2 ) (T_1, T_2) (T1,T2) ,它们分别在不同的系数通道上运行,目的是在三个激活 a Y a_Y aY a C b a_{Cb} aCb a C r a_{Cr} aCr 之间产生匹配的空间大小,其中 a Y = T 1 ( D Y ) a_Y = T_1(D_Y) aY=T1(DY) a C b = T 2 ( D C b ) a_{Cb} = T_2(D_{Cb}) aCb=T2(DCb) a C r = T 2 ( D C r ) a_{Cr} = T_2(D_{Cr}) aCr=T2(DCr)。图 3 说明了这一过程。

在这里插入图片描述

除了确保卷积特征图大小对齐外,还必须考虑在变换结束时和整个网络中每个单元生成的感受野大小和步幅(以下用 R R R S S S 表示)。对于采用RGB输入的典型网络,每个单元的感受野和步幅在每个输入通道(红色、绿色、蓝色)方面都是相同的,但对于流经Y通道与Cb和Cr通道的信息,原始像素空间中考虑的感受野可能不同,这是不希望的。通过检查 DCT 操作产生的表示大小,当与不同块(下表)的 ResNet-50 的同一组参数进行比较时,发现 D Y D_Y DY 的空间维度与Block 3 的激活维度匹配,而 D C r D_{Cr} DCr D C b D_{Cb} DCb 的空间维度与Block 4 的空间维度匹配。这启发了我们在网络架构设计中跳过一些 ResNet 模块,但跳过而不进行进一步修改会导致网络功能大大降低(层数和参数更少),以及最终的网络层具有更小的感受野。

变换 ( T 1 , T 2 ) (T_1, T_2) (T1,T2)是通用的,允许我们将DCT系数调整到兼容的大小。在确定变换时,考虑了以下设计概念。变换可以是 (1) 非参数或手动设计的,例如原始 DCT 系数的上采样或下采样,(2) 可学习并且可以简单地表示为卷积层,或 (3) 卷积层的组合,例如 ResNet 模块本身。论文探索了七种不同的变换方法 ( T 1 , T 2 ) (T_1, T_2) (T1,T2),从最简单的上采样到反卷积,并结合了后续 ResNet 块的不同选择:

UpSampling:色度 DCT 系数 D_{Cb} 和 D_{Cr} 都是通过将像素的高度和宽度复制 2 倍到 D_{Y} 的尺寸来上采样的。然后将这三者按通道连接起来,并在进入 ResNet ConvBlock 3 (CB_3) 之前经过批量归一化层,但步幅为 1,然后是标准 CB_4 和 CB_5。

UpSampling-RFA:类似于 UpSampling,但在这里保留 ResNet CB_2(而不是删除它)以及 CB_2 和 CB_3,以便它们模仿在原始 ResNet-50 块中观察到的 R 和 S 的增加,并记作“Receptive Field Aware”或 RFA。

Deconvolution-RFA:上采样的替代方法是可学习的反卷积层。在此设计中,在 D C b D_{Cb} DCb D C r D_{Cr} DCr 上使用两个独立的反卷积层来增加空间尺寸。设计的其余部分与 UpSampling-RFA 相同。

DownSampling:使用卷积层对较大的系数 D Y D_Y DY 进行下采样。

Late-Concat:通过 ResNet-50 的两个 ConvBlocks (CBs) 和三个 IdentityBlocks (IBs) 自行运行 D Y D_Y DY D C b D_{Cb} DCb D C r D_{Cr} DCr 在与 D Y D_{Y} DY 路径连接之前并行通过 CB。然后,在 C B 4 CB_4 CB4 之后将连接的表示形式馈送到标准 ResNet 中。

Late-Concat-RFA:将 D Y D_Y DY 通过三个 CBs,并调整了内核大小和步幅,使得 R 的增加模仿原始 ResNet-50 中的 R。在并行中, D C b D_{Cb} DCb D C r D_{Cr} DCr 在连接到 D Y D_Y DY 路径的结果之前采用与 Late-Concat 相同的路径。

Late-Concat-RFA-Thinner:与 Late-Concat-RFA 相同,但通道数有所修改。沿 D Y D_Y DY 路径的前两个 CB 的通道数减少,第三个 CB 的通道数增加,将通道数从 {1024、512、512} 更改为 {384、384 、 768}。 D C b D_{Cb} DCb D C r D_{Cr} DCr 通过具有 256 个通道而不是 512 个通道的 CB 反馈。

实验

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/572979.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云实时计算Flink的产品化思考与实践【上】

摘要:本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。内容主要为以下五部分: 阿里云实时计算 Flink 简介产品化思考产品化实践SQL 产品化思考及实践展望 该主题由黄鹏程和陈婧敏共同完成,前半程…

政安晨:【深度学习神经网络基础】(一)—— 逐本溯源

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 政安晨的机器学习笔记 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 与计算机一样的古老历史 神经网络的出现可追溯到20世纪40年…

STM32启动方式

s在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式。 启动方式:从内部的Flash中启动、 存储器映射: 0x0000 0000 -----0x0800 0000 映射的内部Flash

SQLite数据库浏览器sqlite-web

什么是 sqlite-web ? sqlite-web是一个用 Python 编写的基于 Web 的 SQLite 数据库浏览器。 软件特点: 可与您现有的 SQLite 数据库配合使用,也可用于创建新数据库。添加或删除: 表格列(支持旧版本的 SQLite&#xff…

阿里云ECS选型推荐配置

本文介绍构建Kubernetes集群时该如何选择ECS类型以及选型的注意事项。 集群规格规划 目前在创建Kubernetes集群时,存在着使用很多小规格ECS的现象,这样做有以下弊端: 网络问题:小规格Worker ECS的网络资源受限。 容量问题&…

风力发电电网系统的simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1风力发电原理与风机数学模型 4.2 电力电子变换器模型 4.3并网控制策略 5.完整工程文件 1.课题概述 风力发电电网系统的simulink建模与仿真。 2.系统仿真结果 3.核心程序与模型 版本:…

快速上手Spring Cloud 十一:微服务架构下的安全与权限管理

快速上手Spring Cloud 一:Spring Cloud 简介 快速上手Spring Cloud 二:核心组件解析 快速上手Spring Cloud 三:API网关深入探索与实战应用 快速上手Spring Cloud 四:微服务治理与安全 快速上手Spring Cloud 五:Spring …

每日一题--- 环形链表[力扣][Go]

环形链表 题目:142. 环形链表 II 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给…

elasticsearch基础应用

1._cat接口 | _cat接口 | 说明 | | GET /_cat/nodes | 查看所有节点 | | GET /_cat/health | 查看ES健康状况 | | GET /_cat/master | 查看主节点 | | GET /_cat/indices | 查看所有索引信息 | es 中会默认提供上面的几个索引,表头…

MOV压敏电阻的微观结构与制造工艺

EAK 压敏电阻 应用于电力系统的MOV目前主要有两大系列,它们都是以ZnO为主要成分再加人少量其他金属氧化物添加剂而构成的。添加剂为Bi,O:、Sb,O:、MnO₂和CoO,等构成的 MOV称为Bi系列:添加剂为Pr,0、Co,0、Mg0而不含B,0,或含量极少的MOV称为Pr系列(或称稀土系列)。添…

基于Java实现宠物领养救助交流平台设计和实现

基于Java实现宠物领养救助交流平台设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源码联…

矢量(向量)数据库

矢量(向量)数据库 什么是矢量数据库? 在人工智能领域,大量的数据需要有效的分析和处理。随着我们深入研究更高级的人工智能应用,如图像识别、语音搜索或推荐引擎,数据的性质变得更加复杂。这就是矢量数据库发挥作用的地方。与存…