MobileViT

news2024/11/16 9:25:41

还是vit系列啊 只不过这次是Apple团队出的轻量级、通用且移动友好的网络框架

 

论文地址:https://arxiv.org/pdf/2110.02178.pdf

轻量级卷积神经网络 (CNN) 是移动视觉任务的事实。他们的空间归纳偏差使他们能够在不同的视觉任务中以较少的参数学习表示。

轻量级卷积神经网络 (CNN) 是移动视觉任务的事实。他们的空间归纳偏差使他们能够在不同的视觉任务中以较少的参数学习表示。然而,这些网络在空间上是局部的。为了学习全局表示,已经采用了基于自我注意的视觉变换器 (ViTs)。与CNN不同,ViTs是重量级的。

基于self-attention的模型,尤其是视觉变换器(ViTs;下图a),是卷积神经网络的替代方法,可用于学习视觉表示。简而言之,ViTs将图像划分为一系列不重叠的补丁,然后使用Transformer中的multi-headed自注意力学习interpatch表示。总体趋势是增加ViTs网络中的参数数量以提高性能。然而,这些性能改进是以模型大小(网络参数)和延迟为代价的。许多现实世界的应用程序(例如,增强现实和自动轮椅)需要视觉识别任务(例如,目标检测和语义分割)才能及时在资源受限的移动设备上运行。为了有效,此类任务的ViT模型应该是轻量级和快速的。即使缩小ViT模型的模型大小以匹配移动设备的资源限制,其性能也明显比轻量级CNN差。例如,对于大约5-6百万的参数预算,DeIT的准确度比MobileNetv3低3%。因此,设计轻量级的ViTs模型势在必行。

轻量级CNN为许多移动视觉任务提供了动力。然而,基于ViT的网络还远未在此类设备上使用。与易于优化和与特定任务网络集成的轻量级CNN不同,ViT是重量级的(例如,ViT-B/16 vs. MobileNetv3:86 vs. 750 万个参数),更难优化,需要大量的数据增强和L2正则化以防止过拟合,并且需要昂贵的解码器来执行下游任务,尤其是密集预测任务。例如,基于ViT的分割网络学习了大约3.45亿个参数,并获得了与基于CNN的网络DeepLabv3相似的性能,有5900万个参数。在基于ViT的模型中需要更多参数可能是因为它们缺乏特定于图像的归纳偏差,这是CNN固有的 。为了构建稳健且高性能的ViT模型,结合卷积和变换器的混合方法引起了人们的兴趣。然而,这些混合模型仍然是重量级的,并且对数据增强很敏感。例如,去除CutMix和DeIT-style数据增强会导致ImageNet准确率显着下降(78.1% 到 72.4%)(2021)。

研究者提出以下问题:是否可以结合两者的优势?CNN和ViT为移动视觉任务构建轻量级低延迟网络?

为此,研究者推出了MobileViT,这是一种用于移动设备的轻量级通用视觉转换器。MobileViT为使用转换器(即,转换器作为卷积)对信息的全局处理提出了不同的观点。新框架的结果表明,MobileViT在不同的任务和数据集上明显优于基于CNN和ViT的网络。在ImageNet-1k数据集上,MobileViT在大约600万个参数下达到了78.4%的top-1准确率,比MobileNetv3(基于CNN)和DeIT(基于ViT)准确率高3.2%和6.2%。在MS-COCO目标检测任务上,对于相似数量的参数,MobileViT的准确度比MobileNetv3高5.7%。

与ViT及其变体(有和没有卷积)不同,MobileViT提供了一个不同的视角来学习全局表示。标准卷积涉及三个操作:展开、局部处理和折叠。MobileViT块使用转换器将卷积中的局部处理替换为全局处理。这允许MobileViT块具有类似CNN和ViT的属性,这有助于它以更少的参数和简单的训练配方(例如,基本增强)学习更好的表示。

据我们所知,这是第一项表明轻量级ViT可以通过跨不同移动视觉任务的简单训练配方实现轻量级CNN级性能的工作。对于大约5-600万的参数预算,MobileViT在 ImageNet-1k数据集上实现了78.4%的 top-1 准确率,比MobileNetv3准确率高3.2%。当MobileViT用作高度优化的移动视觉任务特定架构中的功能主干时,我们还观察到性能的显着提升。将MNASNet替换为MobileViT作为SSDLite中的特征主干,产生了更好(+1.8% mAP)和更小(1.8×)的检测网络。具体如下图:

MobileViT显示出与CNN类似的泛化能力。MobileNetv2和ResNet-50的最终训练和验证错误分别用☆和O标记。 

 

每个像素都能看到MobileViT块中的每个其他像素。在这个例子中,红色像素使用 transformers处理蓝色像素(其他补丁中相应位置的像素)。因为蓝色像素已经使用卷积对相邻像素的信息进行了编码,所以这允许红色像素对来自图像中所有像素的信息进行编码。这里,黑色和灰色网格中的每个单元格分别代表一个补丁和一个像素。       whaosoft aiot http://143ai.com

Multi-scale vs. standard sampler.

实验

 

ImageNet-1k验证集上MobileViT和CNN的比较。所有模型都使用基本增强。

 在这里,Basic意味着ResNet风格的增强,而Advanced意味着是增强方法的组合,如MixUp、RandAugmentation和CutMix。 

Inference time of MobileViT models on different tasks. 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务自动化【集群搭建】

目录 搭建 etcd 集群 etcd构建自身高可用集群主要有三种形式: 1. 静态部署(前提) 2. 集群搭建 3. 集群测试 搭建 etcd 集群 etcd构建自身高可用集群主要有三种形式: 静态发现:预先已知etcd集群中有哪些节点, 在启动时通过--initial-cluster参数直接指定好etc…

[附源码]JAVA毕业设计互联网保险网站(系统+LW)

[附源码]JAVA毕业设计互联网保险网站(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&a…

JavaWeb(一)

前言 首先深入了解之前,先回顾一些基础知识 C/S & B/S 就比如咱们日常生活中,咱们说的CF是cs游戏,这个cs是什么意思(年幼的我也十分痴迷CF游戏,过去式了 hhh)这里的cs可不是咱们说的csgo或者cs游戏。…

Vue 官方文档2.x教程学习笔记 1 基础 1.4 模板语法 1.4.1 插值

Vue 官方文档2.x教程学习笔记 文章目录Vue 官方文档2.x教程学习笔记1 基础1.4 模板语法1.4.1 插值1 基础 1.4 模板语法 【介绍】 Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。 所有 Vue.js 的模板都是合法的 HTML&…

Flink SQL管理平台flink-streaming-platform-web安装搭建-整理

目录 步骤 安装 第二步 下载flink 第三步 安装flink-streaming-patform-web 第四步 配置flink web平台 第五步 运行demo 在Flink学习的入门阶段,非常重要的一个过程就是Flink环境搭建,这是认识FLInk框架的第一步,也是为后续的理论学习和…

全栈性能测试教程之性能测试理论(一) mockserver应用

1、mockServer 1.1什么是mockServer moco替代 Server服务 mocoServer即为测试替身的服务 主要针对于单元测试的应用,主要应用于解除单元测试之间的依赖 1.2mocoServer使用的场景 前端程序员 前端已经写好页面,但是后端的接口没有写好&#xff…

[Android]Mac电脑Android Studio使用真机调试运行

一、Mac电脑连接Android真机 我这里是一台中兴手机 1. 手机打开USB调试 打开“设置”找到“关于手机”进入,连续点击版本号,直到提示“您已经进入开发者模式”。回到“设置”找到“系统与更新”进入,再进入“开发者选项”,打开…

Vue笔记_03组件_mavonEditor组件(基于vue)

目录下载mavonEditor导入并注册mavonEditor组件[1] 全局注册[2]局部注册使用mavonEditor属性修改举例说明1-不展示预览分屏工具栏修改举例说明-根据配置显示工具栏编辑器插槽举例说明-自定义工具栏按钮函数监听下载mavonEditor 使用命令 npm install mavon-editor --s 进行下载…

Koa 6 响应(Response)

Koa Koa 本文仅用于学习记录,不存在任何商业用途,如侵删 6 响应(Response) 文章目录Koa6 响应(Response)6.1 APIStringBufferStreamObjectKoa Response 对象是在 node 的原生响应对象之上的抽象,提供了诸多对 HTTP 服务器开发有用的功能。 6…

Linux系统移植一:移植U-BOOT 添加自己的板子并编译(非petalinux版)

Linux系统移植流程 之前一直用官方给的Linux系统文件,没有自己系统地移植过,故整理一遍 不使用petalinux工具,尽管它提升了开发效率,但是不利于学习移植过程 嵌入式Linux系统移植主要由四大部分组成: 搭建交叉开发环…

【计算机网络】实验四 应用层和传输层协议分析(PacketTracer)

一.实验目的 通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解。 二.实验内容 研究应用层和传输层协议 从 PC 使用 URL 捕获 Web 请求,运行模拟并捕获通信…

健身用什么耳机比较好、五款适合健身房运动的耳机推荐

大家都运动本身是一件特别枯燥无味的事情,尤其是一个人在健身房沉浸式撸铁的时候,而听音乐是大多数人缓解枯燥的首选,不过在健身的过程中拥有一款既要音质好、又要适合运动佩戴防水防汗的耳机可就不那么容易了。今天给大家推荐几款最佳的运动…

如何在lnmp中实现PHP多版本共存

背景:one框架需要swool扩展,同时php版本需要7.3,目前服务器安装的是lnmp1.6其中php5.6. 所以觉得安装一个php7.3作为切换版本 ,以下是安装步骤 1.查找lnmp的install.sh文件,一般在/root/lnmp1.5/install.sh 下执行命令…

【Docker】Compose容器编排:微服务实战

Docker-Compose是Docker官方的开源项目, 负责实现对Docker容器集群的快速编排。是一个工具软件,可以 管理多个 Docker 容器 组成一个应用。你需要 定义一个 YAML 格式的配置文件docker-compose.yml ,写好多个容器之间的调用关系。然后&#x…

GeoTools快速入门

本文将帮助读者获取GeoTools的源代码并进行编译。下载源代码并进行编译有助于读者对GeoTools建立整体性的理解,帮助读者厘清GeoTools的模块划分。同时因为GeoTools是一个开源类库,读者在实际使用中遇到的一些问题可以通过直接阅读GeoTools源代码来进行解…

vue3+ts项目中封装3d单柱柱状图

vue3ts项目中封装单柱的柱状图 成品图 下载echarts npm i echarts 封装组件为Barchart.vue文件 <template> </template><script setup lang"ts"> import { nextTick, watch } from vue import echarts from /assets/ts/echarts; import useRes…

[附源码]计算机毕业设计在线项目管理Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

十三、Vue CLI(2)

本章概要 项目结构编写一个 Hello 组件package.json 13.4 项目结构 通过 Vue CLI 生成的项目的目录结构及各文件夹和文件的用途说明如下&#xff1a; |--node_modules //项目依赖的模块 |--public //该目录下的文件不会被 Webpack 编译压缩处理&…

Springboot社区疫情防控系统毕业设计,社区疫情防控管理系统设计与实现,毕设作品参考

功能清单 【后台管理员功能】 关于我们设置&#xff1a;设置学校简介、联系我们、加入我们、法律声明、学校详情 广告管理&#xff1a;设置小程序首页轮播图广告和链接 留言列表&#xff1a;所有用户留言信息列表&#xff0c;支持删除 会员列表&#xff1a;查看所有注册会员信…

【树莓派开发日记2 】树莓派安装Ubuntu22系统及启动黑屏等问题的踩坑记录

树莓派安装Ubuntu22系统及启动黑屏等问题的踩坑记录 在成功进行了组装后&#xff0c;就到了最为关键的部分了&#xff0c;进行树莓派的系统烧录。虽然树莓派有自己对应的系统&#xff0c;raspbian&#xff0c;但是绝大部分的开发者还是会选择Ubuntu系统作为主要的开发系统 Ub…