ViT Model

news/2024/11/5 21:48:05 标签: 深度学习

卷积神经网络本身具有先验知识:

  • Locality:相邻的区域之间的相关性更高
  • Translation equation:平移等变性

Transformer的时间复杂度在O(n^2),n是序列长度,而图片的大小是224 * 224,Flatten之后太大了,有一些之前的文章将Res50中的Res4部分输出的14*14的特征输入Transformer中解决了输入太大的问题,而ViT通过将图片切分成一个一个的Patch输入Transformer。

Transformer目前没有饱和的现象。
在这里插入图片描述

VIT - Patch输入

  1. 输入图像224 * 224 * 3的大小
  2. 根据16 * 16的Patch对图像进行切分,切分为14*14=196的数量
  3. 196个Patch,每个Patch中16 * 16 * 3的维度,得到196 * 768的特征维度
  4. 特征通过Linear全连接层,得到196 * 768的大小特征
  5. Cls特征用于学习分类的损失,特征大小为768大小,与196 * 768大小进行拼接,得到197 * 768大小的特征
  6. 然后与位置编码进行相加,位置编码对应的和之前的特征一样的大小,为了减少对模型的改动,我们最后还是使用了1D的位置编码(1D和2D的效果发现很像)

最后得到197*768的大小作为输入。

VIT - Transformer Encoder

  • 输入为197 * 768大小
  • 通过Layer和Norm得到197 * 768
  • 如果使用12个头,得到197*64的QKV
  • 通过多头的拼接得到197*768的特征
  • 然后通过Layer和Norm得到197 * 768
  • 最后通过MLP,中间特征维度一般会增大4倍,得到197*3072维度的特征
  • 最后得到的197*768的特征维度

VIT - 分类

  • MLP用作分类头
  • stay as close as possible:保留了原始的< cls >,用这个输入MLP中进行分类

VIT - Fine Tuning and Higher Resolution

如果改变了图像大小,意味着改变了Patch的数量,也就是原来的位置信息可能就没用了;在这里可以使用插值的思想,临时解决方案,所以可能会掉点。

VIT - 自监督学习

Bert使用的是Mask Language Model.

VIT使用的是Masked Patch Prediction.


http://www.niftyadmin.cn/n/5739882.html

相关文章

CSS 计数器:深入解析与高级应用

CSS 计数器&#xff1a;深入解析与高级应用 CSS 计数器是前端开发中一个强大但经常被忽视的功能。它们允许开发者创建和管理自定义的计数序列&#xff0c;这在处理复杂文档结构时尤其有用。本文将深入探讨 CSS 计数器的原理、用法&#xff0c;并展示一些高级应用示例。 什么是…

Freertos学习日志(1)-基础知识

目录 1.什么是Freertos&#xff1f; 2.为什么要学习RTOS&#xff1f; 3.Freertos多任务处理的原理 1.什么是Freertos&#xff1f; RTOS&#xff0c;即&#xff08;Real Time Operating System 实时操作系统&#xff09;&#xff0c;是一种体积小巧、确定性强的计算机操作系统…

齿轮类型及其几何学与啮合理论的分析与实现——基于李特文《齿轮几何学与啮合理论》的MATLAB程序探究,《齿轮几何学与啮合理论及其MATLAB程序实现》

齿轮、行星齿轮、端面齿轮、斜齿轮、非圆齿轮、圆弧齿轮……啮合理论、啮合原理、齿面求解、传动特性、接触分析tca、传动误差等技术matlab程序实现。 参照李特文《齿轮几何学与啮合理论》 ID:21450706743787164 用户_06541178 齿轮是机械传动中常用的零部件&#xff0c;广泛…

字符类型模糊查询优化案例一

在实际开中中经常会遇到 like %a 运算&#xff0c;一般在数据库中此种写法不能使用索引优化查询&#xff0c;本示例提供一个简单的优化思路 这里借鉴 oracle 的反向索引的设计理念 可以在该表结构的基础上增加一个新的字段&#xff0c;该字段为目标字段的 REVERSE 使用触发…

成都睿明智科技有限公司共赴抖音电商蓝海

在这个短视频风起云涌的时代&#xff0c;抖音作为现象级的社交媒体平台&#xff0c;不仅改变了人们的娱乐方式&#xff0c;更悄然间重塑了电商行业的格局。在这片充满机遇与挑战的蓝海中&#xff0c;成都睿明智科技有限公司凭借其敏锐的市场洞察力和专业的服务能力&#xff0c;…

算法专题:栈

目录 1. 删除字符串中的所有相邻重复项 1.1 算法原理 1.2 算法代码 2. 844. 比较含退格的字符串 2.1 算法原理 2.2 算法原理 3. 基本计算器 II 3.1 算法原理 3.2 算法代码 4. 字符串解码 4.1 算法原理 4.2 算法代码 5. 验证栈序列 5.1 算法原理 5.2 算法代码 1.…

bert-base-chinese模型使用教程

向量编码和向量相似度展示 import torch from transformers import BertTokenizer, BertModel import numpy as npmodel_name "C:/Users/Administrator.DESKTOP-TPJL4TC/.cache/modelscope/hub/tiansz/bert-base-chinese"sentences [春眠不觉晓, 大梦谁先觉, 浓睡…

华为HarmonyOS借助AR引擎帮助应用实现虚拟与现实交互的能力4-检测环境中的平面

本章节介绍如何通过AR Engine进行平面检测。通过学习本章节&#xff0c;您可以检测当前环境中的平面&#xff0c;并在您的应用中处理这些平面。 创建ARSession 您可以参考管理AR会话创建ARSession。 创建平面对象列表 创建一个平面对象列表planeList&#xff0c;用于存放AR…