目录
-
- 1、跨模态对齐的方案
- 2、位置编码方式
-
- [1. **正弦和余弦位置编码(Sinusoidal Positional Encoding)**](#1. 正弦和余弦位置编码(Sinusoidal Positional Encoding))
- [2. **可学习的位置编码(Learnable Positional Encoding)**](#2. 可学习的位置编码(Learnable Positional Encoding))
- [3. **相对位置编码(Relative Positional Encoding)**](#3. 相对位置编码(Relative Positional Encoding))
- [4. **线性位置编码(Linear Positional Encoding)**](#4. 线性位置编码(Linear Positional Encoding))
- [5. **一热编码(One-hot Encoding)**](#5. 一热编码(One-hot Encoding))
- [6. **动态位置编码(Dynamic Positional Encoding)**](#6. 动态位置编码(Dynamic Positional Encoding))
- 3、
1、跨模态对齐的方案
- 嵌入空间对齐
来自不同模态的数据(如图像和文本)被映射到一个共享的嵌入空间,例如CLIP通过对图像和文本进行对比学习,使得图像和文本的嵌入向量在同一空间中更具可比性,从而实现跨模态对齐。 - 多模态注意力机制
注意力机制,模型能够聚焦于不同模态中最相关的部分,并对其进行对齐融合。
Q(查询):表示我们希望学习到的特征。
K, V(键值):表示我们用来计算注意力的特征。 - 。。。。。
2、位置编码方式
1. 正弦和余弦位置编码(Sinusoidal Positional Encoding)
- 概述:由Vaswani等人在Transformer模型中提出,正弦和余弦位置编码通过不同频率的正弦和余弦函数对序列中的每个位置进行编码。
- 计算方式 :对每个位置i和维度2k,使用正弦函数和余弦函数进行编码:
- 优点:位置编码是固定的,不依赖于训练数据,可以适用于任意长度的序列。编码的顺序信息是通过周期性函数显式表达的。
2. 可学习的位置编码(Learnable Positional Encoding)
- 概述:可学习的位置编码将位置编码作为可训练的参数直接嵌入到模型中。这些编码通过反向传播进行优化,随着训练的进行不断调整。
- 计算方式:每个位置对应一个向量,和模型中的其他权重一样,这些位置向量通过训练进行优化。
- 优点:通过学习获得的位置编码可以根据具体任务进行优化,能够更好地适应特定任务的需求。
3. 相对位置编码(Relative Positional Encoding)
- 概述:相对位置编码通过编码序列中元素之间的相对位置,而不是绝对位置。它在一些Transformer变种(如Transformer-XL)中被使用,旨在改进长序列建模。
- 计算方式:对于序列中的任意两个位置 ( i ) 和 ( j ),编码表示它们之间的相对位置 ( |i - j| )。
- 优点:适合处理长序列,尤其是在序列长度较大时,相对位置编码比绝对位置编码表现更好。
4. 线性位置编码(Linear Positional Encoding)
- 概述:线性位置编码是一种简单的编码方法,通过线性增加的位置向量来表达位置关系。
- 计算方式:位置编码可以简单地通过位置的线性映射(例如直接使用位置作为编码向量)来完成。
- 优点:实现简单,但通常效果不如其他复杂的编码方式。
5. 一热编码(One-hot Encoding)
- 概述:对于每个位置,使用一个独热向量来表示该位置的存在。这种编码方式是最简单的一种,但通常只用于短序列或其他简单任务。
- 计算方式:每个位置有一个对应的独热向量,表示该位置的唯一性。
- 优点:简单直观,但不保留位置信息的连贯性和顺序。
6. 动态位置编码(Dynamic Positional Encoding)
- 概述:与固定位置编码不同,动态位置编码基于输入的序列动态计算位置编码,通常结合其他特征(如上下文信息)。
- 优点:更加灵活,可以根据具体输入序列的上下文动态调整。