大语言模型在图像分类与目标检测中的高级应用
1. 基于视觉Transformer的图像分类
1.1 传统方法的局限性
在使用Transformer处理图像输入时,一种方法是用四个变量(像素强度、行、列和通道位置)对每个像素进行编码,将其输入到一个简单的神经网络中,输出一个模型维度的嵌入向量,把三维图像表示为这些嵌入向量的一维序列。但这种方法存在输入序列长度的问题,图像是二维结构,输入序列长度会随图像尺寸增大而二次增长,导致模型计算量大,且难以学习图像结构。而卷积神经网络(CNNs)通过使用滤波器限制单元的输入大小,解决了这一问题。
1.2 Vision Transformer(ViT)的工作原理
ViT将输入图像分割成二维正方形补丁序列。设输入图像分辨率为 (H, W),通道数为C,可表示为张量 (x \in \mathbb{R}^{H×W×C})。ViT将其分割为 (x_p \in \mathbb{R}^{N×P^2×C}) 的补丁序列,其中 (P, P) 是每个图像补丁的分辨率(P = 16),(N = (H × W) / P^2) 是补丁数量,也是输入序列长度。
输入补丁 (x_p) 经过线性投影,为每个补丁输出一个模型维度的补丁嵌入向量,形成输入序列 (z_0),公式如下:
(z_0 = [x_{cls}; x_p^{(1)}E; x_p^{(2)}E; … x_p^{(N)}E] + E_{pos})
其中,(E \in \mathbb{R}^{(P^2⋅C)×d_{model}}) 是线性投影,(E_{pos} \in \mathbb{R}^{(N + 1)×d_{model}}) 是静态位置编码。
ViT与DETR的高级应用解析
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



