当前位置: 首页 > news >正文

无锡网站网站建设seo网站关键词

无锡网站网站建设,seo网站关键词,做网站显示不同字体,加强信息网站建设Vision Transformer模型入门 一、Vision Transformer 模型1,Embedding 层结构详解2,Transformer Encoder 详解3,MLP Head 详解 二、ViT-B/16 网络结构三、Hybrid 模型详解四、ViT 模型搭建参数 一、Vision Transformer 模型 总体三个模块&am…

Vision Transformer模型入门

  • 一、Vision Transformer 模型
    • 1,Embedding 层结构详解
    • 2,Transformer Encoder 详解
    • 3,MLP Head 详解
  • 二、ViT-B/16 网络结构
  • 三、Hybrid 模型详解
  • 四、ViT 模型搭建参数

一、Vision Transformer 模型

总体三个模块:Embedding层、Transformer Encoder、MLP Head(分类层)
在这里插入图片描述
:以下层结构讲解均以ViT-B/16为例

1,Embedding 层结构详解

Transformer 要求 token 向量,需要 Embedding 层做数据转换。将一张图根据给定大小分为一堆 patches。
例如 224 x 224 的图片按照 16 x 16 的 patch 划分,得到(224 / 16)² = 196 个 patches。接着将每个 patch 映射到一维向量,即每个 patch 的 shape [16,16,3] 通过映射得到一个长度为 768 的向量(即为Transformer 所需的 token 向量)。

代码实现:通过一个 16 x 16 的卷积核,步距 16,卷积个数 768 实现。shape [224,224,3] -> [14,14,768],再把 H 和 W 两个维度展平,[14,14,768] -> [196,768]

在输入Transformer Encoder之前注意需要加上[class]token以及Position Embedding。
在刚刚得到的一堆 tokens 中插入一个专门用于分类的 [class]token,这个 [class]token 是一个可训练的参数,数据格式和其他 token 一样都是一个向量。以 ViT-B/16 为例,就是一个长度为768的向量,与之前从图片中生成的 tokens 拼接在一起,Cat([1, 768], [196, 768]) -> [197, 768]。
关于 Position Embedding 就是 Transformer 中的 Positional Encoding,采用的是一个可训练的参数(1D Pos. Emb.),是直接叠加在 tokens 上的(add),所以 shape 要一样。以 ViT-B/16 为例,刚刚拼接 [class]token 后 shape 是 [197, 768],那么这里的 Position Embedding 的 shape 也是 [197, 768]。
在这里插入图片描述

2,Transformer Encoder 详解

Transformer Encoder 其实就是重复堆叠 Encoder Block L次,主要由以下几部分组成:

  • Layer Norm:对每个 token 进行 Norm 处理(层归一化)
  • Multi-Head Attention
  • Dropout/DropPath
  • MLP Block:全连接 + GELU 激活函数 + Dropout 组成,需要注意第一个全连接层会把输入节点个数翻 4 倍 [197, 768] -> [197, 3072],第二个全连接层会还原回原节点个数 [197, 3072] -> [197, 768]
    在这里插入图片描述
    注意:Transformer Encoder后还有一个 Layer Norm 没有画出来

3,MLP Head 详解

上面通过 Transformer Encoder 后输出的 shape 和输入的 shape 是保持不变的,以 ViT-B/16 为例,输入的是 [197, 768] 输出的还是 [197, 768]。
这里我们只需要分类信息,所以只需提取出 [class]token 生成的对应结果就行,即 [197, 768] 中抽取出 [class]token 对应的 [1, 768]。接着通过 MLP Head 得到最终的分类结果。
在这里插入图片描述

二、ViT-B/16 网络结构

在这里插入图片描述

三、Hybrid 模型详解

Hybrid 混合模型就是将传统 CNN 特征提取和 Transformer 进行结合。下图绘制的是以 ResNet50 作为特征提取器的混合模型。
但这里的 Resnet 与之前讲的 Resnet 有些不同。

  • R50 的卷积层采用的 StdConv2d 而不是传统的 Conv2d
  • 所有的 BatchNorm 层替换成 GroupNorm 层
  • 在原 Resnet50 网络中,stage1 重复堆叠 3 次,stage2 重复堆叠 4 次,stage3 重复堆叠 6 次,stage4 重复堆叠 3 次,但在这里的R50 中,把 stage4 中的 3 个 Block 移至 stage3 中,所以 stage3 中共重复堆叠 9 次

通过 R50 Backbone 进行特征提取后,得到的特征矩阵 shape 是 [14, 14, 1024],接着再输入 Patch Embedding 层,注意Patch Embedding中卷积层 Conv2d 的 kernel_size 和 stride 都变成了 1,只是用来调整 channel。后面的部分和前面ViT中讲的完全一样。
在这里插入图片描述

四、ViT 模型搭建参数

下面给出三个模型(Base/ Large/ Huge)的参数,其中,

  • Layers 就是 Transformer Encoder 中重复堆叠 Encoder Block 的次数
  • Hidden Size 就是对应通过 Embedding 层后每个 token 的 dim(向量的长度)
  • MLP size 是 Transformer Encoder 中 MLP Block 第一个全连接的节点个数(是 Hidden Size 的四倍)
  • Heads 代表 Transformer 中 Multi-Head Attention 的 heads 数
ModelPatch SizeLayersHidden Size DMLP sizeHeadsParams
ViT-Base16x161276830721286M
ViT-Large16x16241024409616307M
ViT-Huge14x14321280512016632M
http://www.epmgrl.cn/news/270.html

相关文章:

  • 微网站建设包括哪些方面公关公司排行榜
  • 棋牌类网站开发seo怎么做
  • 谁做政府网站群内网商城网站建设
  • 网站建设与维护工作百度快照怎么看
  • 创意设计网站公司培训班招生方案有哪些
  • 关于网站开发书籍域名备案官网
  • 营销案例网站推荐亚马逊站外推广网站
  • 做网站配置网站内链优化
  • 南京微网站开发网络推广营销公司
  • 金华市建设银行网站电商平台网站
  • 北京公司网站建站带佣金的旅游推广平台有哪些
  • 网站内页做友链电脑版百度入口
  • 淘宝做导航网站有哪些如何制作网页游戏
  • seo型网站百度助手应用商店下载安装
  • 网站开发如何做账务处理推广文案范例
  • 山东富泰建设工程有限公司网站seo营销排名
  • 温州网站建设活动百度首页排名优化平台
  • 淄博服装网站建设媒体平台推广
  • 慈城旅游网站建设策划书厦门seo公司到1火星
  • 更换网站ico建个人网站的详细步骤
  • 厦门集美建设局网站三亚百度推广公司
  • 好的产品设计网站百度关键词点击
  • 中成网站建设关键词挖掘爱站网
  • 衡水做网站推广宁波免费建站seo排名
  • 网站建设虚线的代码网站换友链平台
  • 长沙城通基础管网建设有限公司seo网站查询
  • 记事本怎么做网站图片链接天津网站排名提升多少钱
  • 石家庄最新疫情2023贵州seo培训
  • No商业网站建设优化搜索曝光次数的方法
  • 做平面设计都在那个网站找免费素材百度搜索广告