ConvNets 与 Vision Transformers:数学深入探讨

一、说明

        我目睹了关于 Vision Transformer 的争论,讨论它们如何与 CNN 一样好或更好。我想知道我们是否也同样争论菠萝比西瓜好!或者马比海豚更好?其中许多讨论往往缺乏具体性,有时可能会歪曲上下文。

        作为背景,在快速发展的深度学习领域,有两种架构在图像“分类”任务中脱颖而出:卷积神经网络(ConvNets)和视觉变换器(ViTs)。虽然从业者经常交替使用它们进行分类,但它们的数学基础是不同的。

        在本文中,我深入研究了这些架构的数学原理,阐明了它们在分类方面的功能等效性以及生成任务中的差异。我还提供了关于预算如何根据具体情况趋同或不同的数学比较。

二、深入探讨非生成功能等价

2.1. 层次特征空间

        卷积网络:

        给定输入I和滤波器 { Fk ​},卷积定义为:

        堆叠这些卷积:

        其中σ是激活函数,bk​是偏置项。

        维特:

        代币进行自我关注:

        整个序列演变为:

        两种架构都基于其输入逐层构建,对分层模式进行建模。

2.2. 注入非线性

        卷积网络:

        ReLU常用:

        维特:

        GELU 在变形金刚中很典型:

        这些非线性确保模型可以捕获复杂的模式。

2.3. 分类参数化的效率

        卷积网络:

        由于权重共享:

        维特:

        尽管它们随序列长度呈二次方增长,但像 Linformer 这样的线性近似:

        两者都描绘了特征空间,形成稳健的决策边界。

到目前为止,我们了解到,虽然 ConvNet 和 Vision Transformer 具有不同的数学基础,但它们在分类任务中表现出显着的功能等效性。他们捕获分层模式并对其进行有效分类的方法使它们成为从业者的首选。

三、非生成式培训预算:它们的协调点

        在非生成任务(主要是分类)中,两种架构的训练预算表现出显着的相似性。让我们从数学上探讨一下这个问题。

3.1. 计算复杂度

        卷积网络:

        卷积层的计算成本为:

        其中K是滤波器大小,M × N是特征图大小。

        维特:

        对于自我关注:

        其中L是序列长度,N是特征维度。

        在实践中,对于大规模数据集和深度网络,这些复杂性往往会收敛,特别是在使用 Linformer 或 Performer 等高效转换器变体时。

3.2. 内存占用

        卷积网络:

        由于权重共享,所需的内存为:

        其中D_in​ 和D_out​ 是输入和输出深度。

        维特:

        内存成本为:

        同样,通过有效的变体和优化,内存占用量可以与大规模分类任务紧密结合。

正如我们所看到的,从数学上来说,ConvNet 和 Vision Transformer 在大规模分类任务的非生成任务的训练预算方面是趋同的。

四、生成任务:分歧

4.1. 空间相干性

        卷积网络:

        它们本质上保持空间连贯性:

        维特:

        ViT 需要位置嵌入:

        虽然 ConvNet 生成自然平滑的图像,但 ViT 可能需要添加约束。

4.2. 顺序数据生成

        卷积网络:

        在 PixelCNN 等架构中:

        维特:

        Transformer 自然地处理序列:

        ViT 在自然生成序列方面具有优势,而 ConvNet 需要特定的设计。

4.3.潜在空间动力学

        卷积网络:

        在 VAE 结构中:

        维特:

        更丰富的潜在空间的潜力:

        ViT 可能由于其自注意力机制而捕获复杂的潜在空间,而 ConvNet 可能需要更复杂的设计。

正如我们所看到的,当冒险进入生成领域时,他们固有的偏见明显地表现出来。

五、生成预算情景:出现差异的地方

当谈到生成任务时,ConvNet 和 ViT 的训练预算开始出现显着差异。

5.1. 空间连贯性和连续性

        卷积网络:

        固有的空间结构确保了局部相干的输出。因此,获得高质量图像可能需要更少的训练迭代:

        其中ϵ_conv​是 ConvNet 的收敛速度。

        维特:

        ViT 缺乏固有的空间偏差,可能需要额外的训练迭代来确保生成图像的局部一致性:

        由于缺乏空间先验,ϵ_vit​通常小于ϵ_conv ​。

5.2. 潜在空间探索

        卷积网络:

        对 VAE 等生成模型中潜在空间的探索是直接的:

        其中Z是潜在空间的维数。

        维特:

        考虑到自注意力机制,ViT 可能会对潜在空间表现出更丰富的探索,但计算成本可能更高(这会在顺序依赖性中得到抵消):

5.3. 顺序依赖

        卷积网络:

        尽管具有适应性,但卷积网络本质上并不是顺序的。因此,建模顺序依赖关系可能需要更复杂的设计和可能更长的训练(这是 ViT 在生成用例上击败 ConvNet 的地方):

        其中τ是序列长度,δ_conv​是迭代因子。

        维特:

        鉴于 ViT 起源于 NLP,它可以自然地处理序列,从而有可能减少所需的训练迭代:

        其中δ_vit​通常小于δ_conv ​。

在生成场景中,情况发生了巨大的变化。具有空间先验的 ConvNet 可能在图像生成方面具有优势,而具有全局注意力的 ViT 可能更适合文本或多模态域生成等任务,且预算可能较少。同样,这在很大程度上取决于使用环境和数据集大小。背景很重要。

        希望这种数学深入研究能够提供一个视角来理解两种架构的优势和挑战,指导研究人员根据领域和上下文选择不同的任务。

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

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

相关文章

【owt】p2p client mfc 工程梳理

1年前构建的,已经搞不清楚了。所以梳理下,争取能用较新的webrtc版本做测试。最早肯定用这个测试跑通过 【owt】p2p Signaling Server 运行、与OWT-P2P-MFC 交互过程及信令分析官方的mfc客户端 估计是构造了多个不同的webrc版本的客户端

Spring:常见的面试题和答案

1、什么是 Spring 框架?Spring 框架有哪些主要模块? Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。 Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。 Spring 框架…

Find My手机保护壳|苹果Find My与手机保护壳结合,智能防丢,全球定位

随着科技水平的快速发展,科技美容这一行业做为新型产业新生而出。时尚IT品牌随着市场的多元化发展。针对手机品牌和功能的增加而呈多样化,将手机保护壳按质地分有PC壳,皮革 ,硅胶,布料,硬塑,皮套…

OpenAI史诗级更新,最强大模型炸场,128K上下文、价格暴降2/3,定制专属GPT快到只需5分钟

今早,2023年最瞩目的人工智能大会举办! CSDN11月7日报道,今天凌晨2点,在OpenAI首届开发者大会上,OpenAI的首席执行官萨姆•阿尔特曼(Sam Altman)宣布了GPT-4、ChatGPT的年度最重磅更新。 OpenA…

设置Linux时间格式

一、事因 不知道什么时候我在输入ls -l 命令时候的显示变成了。 -rw-r--r-- 1 bossftp ftp 6796376499 915 05:31 rac_full_20230915.gz -rw-r--r-- 1 bossftp ftp 6804104515 104 05:25 rac_full_20231024.gz -rw-r--r-- 1 bossftp ftp 6804365525 105 05:29 rac_full_202…

Git 基础知识回顾及 SVN 转 Git 自测

背景 项目开发过程中使用的版本控制工具是 SVN,Git 多有耳闻,以前也偶尔玩过几次,但是工作中不用,虽然本地也有环境,总是不熟练。 最近看一本网络开源技术书时,下载源码部署了一下,又温故了一…

精读《算法题 - 二叉树中的最大路径和》

今天我们看一道 leetcode hard 难度题目:二叉树中的最大路径和。 题目 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点…

随时随地时时刻刻使用GPT类应用

疑问 很多人说GPT的广泛使用可能会使人们失业,会对一些互联网公司的存活造成挑战,那么这个说法是真的吗? 这个说法并不完全准确。虽然GPT等AI技术的广泛应用可能会对某些行业和职业产生影响,但并不意味着它会导致人们失业或互联网…

群晖7.2版本安装Jellyfin

一、添加三方套件库 打开桌面【套件中心】,点击右上角的【设置】-【套件来源】-【新增】,添加矿神库 名称:我不是矿神 位置:https://spk7.imnks.com/ 二、安装Jellyfin 【套件中心】-搜索【Jellyfin】-【安装套件】 集显版群…

【MySQL--->索引】

文章目录 [TOC](文章目录) 一、索引概念二、B树与B树1.B树的特点:2.B树的特点:3.为什么使用B树而不使用B树 三、聚簇索引和非聚簇索引四、索引操作1.创建索引2. 删除索引3.全文索引 一、索引概念 mysql的查询的过程是从文件中提取到内存中查询,MySQL启动时会在内存中维护一个b…

LED点阵显示原理(取字模软件+Keil+Proteus)

前言 写这个的时候我还是有点生气的,因为发现完全按照书上面的步骤来,结果发现不理想,后面还是自己调试才解决了。-_-说多了都是泪,直接进入正文。 软件的操作还是参考我之前的博客。 LED数码管的静态显示与动态显示&#xff0…

LabelImg使用笔记

LabelImg使用笔记 文章目录 LabelImg使用笔记一、LabelImg简介1.1、特性1.2、LabelImg的热键 二、LabelImg安装三、3种格式的使用3.1、VOC格式标注3.2、yolo格式标注3.3、json格式 四、LabelMe 和 LabelImg适用场景 一、LabelImg简介 LabelImg 是一个用于图像标注的开源工具&a…

win11下使用VMmare设置CentOS7里面的静态IP

1,win11上的VMware 8 设置 2,选择VMmare上的虚拟网络编辑进行设置 #3,接下来进入虚拟机设置(就是进入CentOS7 打开终端 右键 Open Terminal ) # 切换root su root #ksana #编辑网络配置文件 vi /etc/sysconfig/networ…

【MongoDB】索引 - 单字段索引

MongoDB支持在集合文档中的任意字段上创建索引,默认情况下所有的集合都有一个_id字段的索引,用户和应用可以新增索引用于查询和操作。 一、准备工作 这里准备一些学生数据 db.students.insertMany([{ _id: 1, name: "张三", age: 20, clas…

马斯克发布大模型Grok;主流AI创意生成工具图谱;Runway视频大赛获奖作品解析;DALL-E 3图像混合操作;42章经播客推荐 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 👀 马斯克「xAI」发布首个AI大模型「Grok」 https://grok.x.ai 11月5日,马斯克旗下人工智能公司 xAI 发布了首款 AI 聊天产品…

Capto2024专为Mac电脑设计的屏幕录制和视频编辑软件

不得不说视频编辑功能:Capto提供了多种视频编辑功能,例如剪辑、旋转、裁剪、调整音频和视频的音量、加入水印、添加注释等,你能够使用Capto编辑你的视频,使之更加专业和生动。有目共睹的是录制完成后,你能够使用Capto提…

20.7 OpenSSL 套接字SSL加密传输

OpenSSL 中的 SSL 加密是通过 SSL/TLS 协议来实现的。SSL/TLS 是一种安全通信协议,可以保障通信双方之间的通信安全性和数据完整性。在 SSL/TLS 协议中,加密算法是其中最核心的组成部分之一,SSL可以使用各类加密算法进行密钥协商,…

web3 dapp React项目引入 antd 对 balance 用户token信息组件进行样式改造

好 上文 web3 React dapp中编写balance组件从redux取出并展示用户资产 我们简单处理了用户资产的展示 那么 我们继续 先启动 ganache 环境 终端输入 ganache -d然后 打开我们的项目 将合约发布到区块链上 truffle migrate --reset然后 我们启动项目 确认一切正常 还原到上文…

k8s中实现mysql主备

文章目录 一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.1 安装nfs1.2.2 部署nfs-provisioner 1.3 安装mysql1.4 备库上查看是否同步 一、k8s中实现mysql主备 1.1 环境信息 机器操作系统ipmysql版本k8s版本storageClassmaster1CentOS7.8192.168.0.20mysql5.…

C++ 代码实例:多项式除法简单计算工具

文章目录 前言代码仓库代码说明核心片段 结果总结参考资料作者的话 前言 C 代码实例:多项式除法简单计算工具。 代码仓库 yezhening/Programming-examples: 编程实例 (github.com)Programming-examples: 编程实例 (gitee.com) 代码 说明 由于代码篇幅较多&#…