Vision Transformer(二):位置嵌入向量

本文解释了位置嵌入向量在Transformer模型中的作用,它是如何为序列元素提供位置信息,以及在处理图像数据时如何通过求和方式与patchembedding结合。通过实例说明了位置嵌入对于理解图像序列结构和对象识别的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 什么是位置嵌入向量

位置嵌入向量是Transformer兴起时就引入的一个概念。早期在处理文本信息时,词语之间是相关联的,只有具有一定位置关系的词语组合才能够表达一些正确的意思。

2. 在Transformer中是如何实现的?

在Transformer的训练过程中,我们将图片划分为一个patch序列作为输入。在开始阶段,Position Embedding作为一个可训练参数与patch embedding进行求和引入到网络中(实际上Transformer已经不能再称为网络)。

3. 什么是位置嵌入

Transformer 模型中的位置嵌入(position embedding)是一种机制,用来给模型提供关于序列中各个元素位置的信息。在原始的 Transformer 模型中,这是必要的,因为模型的主要构建块(如自注意力层)本身并不具备处理序列中元素位置关系的能力。

位置嵌入通常是以向量形式实现的,这些向量有与序列中的每个元素(例如,单词或者图像的patches)相同的维度。模型在处理输入之前,会将这些位置向量加到对应元素的嵌入(embedding)上。这样做的目的是让模型不仅能够学习输入元素的特征,还能学习元素在序列中的相对或绝对位置。

4. 举例

在很多网络资源中,已经就“为什么position embedding与sequences of image patches以求和的方式引入”做了很多详解。本处并不准备进行大量的公式推导,而是举一个简单的例子讲解“位置嵌入”的意义。

如图1所示,为一张训练图片,图像中是一辆车。假设我们在训练时,仅将该图像划分为三个patch进行输入,如图2所示。

在训练过程中,从简化的角度看,位置嵌入就是表征车头在车身左边,车尾在车身右侧,经过学习所得到的就是这种位置关系,具有这种位置关系的才会被检测为汽车。从另一方面,如图3和图4的位置关系,因为违反了这种位置关系,就不会被认作是一辆汽车。

当然,Transformer 通过位置嵌入学习的不仅仅是简单的“车头在车身前端,车尾在后端”的物理布局。它更倾向于学习如何在视觉上将各个图像块整合成一个有意义的整体(在这个例子中是一辆车)。这包括理解各个图像块之间的相对位置和视觉特征,以及如何将这些块组合起来构成一个连贯的对象。

图1 典型的训练数据(汽车)

图2 正确的位置关系(汽车)

图3 不正确的位置关系(非汽车)

图4 不正确的位置关系(非汽车类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值