ViT(vision transformer)架构

在Transformer的编码器中,多头自注意力机制(MSA)和多层感知器(MLP)的堆叠结构,能够有效地捕捉EEG数据中的长距离依赖关系和复杂的时空特征,这正是针对时间序列数据处理的关键优势。通过这种架构,模型可以在不同时间点的数据之间建立联系。

ViT模型设计用于处理二维数据,如图像。基础ViT概述如图:

它主要由投影头、多个堆叠编码器和分类器组成。

投影头:

将输入数据进行分割和线性投影获得块嵌入向量,与类嵌入、位置嵌入向量 组合作为编码器的输入向量。为的是将图像的局部特征转换为Transformer可以处理的向量格式。

①输入被分割为固定大小的块并展平。

在处理图像数据时,我们通常将图像表示为一个三维张量,其中两个维度对应于图像的空间维度(高度和宽度),第三个维度对应于图像的通道数。为了便于二维输入处理,ViT首先将输入分割成大小为的一系列平坦的二维块,这里,H是图像的高度,即图像在垂直方向上的像素数量,W是图像的宽度,即图像在水平方向上的像素数量。C是通道数,(多通道数据(Multi-Channel Data)是指具有多个维度或特征集的数据,其中每个维度或特征集可以被视为一个“通道”,通道数可以指数据集中的特征数量,在图像处理中,多通道数据通常指的是具有多个颜色通道的图像。例如,RGB图像有3个通道,分别代表红色、绿色和蓝色。)(P1,P2)是块的固定大小,单位是像素。是块的数量,也表示输入序列的实际长度。

为了便于二维输入处理,ViT首先将输入的三维数据分割成一系列平坦的二维块。然后将分割后的块展平为一维向量。

② 通过一个线性层进行线性投影

将每个展平的块映射到一个更高维度的空间d维向量中,得到块嵌入向量。

③ 将类嵌入、块嵌入向量、位置嵌入向量 组合作为编码器输入

类嵌入为三维模型的情绪状态,即标签,放在嵌入向量序列开头;块嵌入将每个块转换为向量表示;位置编码以保留块序列的顺序信息,和前面进行加法运算。最终三者组合为一个向量序列,作为堆叠编码器第一层的最终嵌入向量输入:

每个x_p^i是输入数据的一个patch(块)经过嵌入层后的表示,E是嵌入矩阵,d是嵌入维度。

堆叠编码器:

是一个多层架构。每层都包含了多头自注意力机制(MSA)和多层感知器(MLP)块,而且每个块之前和之后都进行层归一化(LN)处理和残差连接。它能够从输入向量中进行多角度特征提取和特征转换。通过逐层深入可以从原始的输入数据中逐步学习到更高级、更抽象的特征表示,进而实现对数据的准确分类和处理。

① 多头注意力层进行多角度的特征提取

MSA基于单头自注意力机制,采用多头获得多组Q、K和V。最后,并行执行自注意力机制并投影它们的拼接输出。这样可以共同聚焦于来自不同位置处的不同表示子空间的信息。

② 多层感知机对数据进行非线性变换

进一步提取和整合特征,学习到输入数据的更复杂的非线性关系,从而增强模型的表达能力。

分类器:

将编码器输出转换为概率分布,以最高概率代表的类作为ViT模型的最终输出。

① 线性层维度变换、

是一个简单的全连接神经网络,将编码器输出的向量转换为最终的输出维度。

② Softmax层

将线性层的输出转换为概率分布,以便进行最终的预测,将最高概率代表的类作为输出。

posted @ 2025-01-08 15:53  魔魔胡胡胡萝卜  阅读(77)  评论(0编辑  收藏  举报