1. 输入层
- 输入数据:通常为文本序列(或其他序列数据,如时间序列、图像序列等),形状为
(batch_size, sequence_length)
,其中batch_size
是批量大小,即一次处理的样本数量;sequence_length
是序列长度,表示每个样本中元素的数量。例如,在处理一批文本时,batch_size
可能是32,表示一次处理32个句子,每个句子的单词数量即为sequence_length
。 - 词嵌入层输出:经过词嵌入层后,数据维度变为
(batch_size, sequence_length, hidden_size)
,其中hidden_size
是词嵌入的维度,也就是模型的隐藏层大小。每个单词(或序列元素)被映射为一个hidden_size
维的向量,这个向量包含了单词的语义信息。例如,如果hidden_size
为512,那么每个单词在嵌入空间中用一个512维的向量表示。
2. 多头自注意力(MSA)层
- 输入:形状为
(batch_size, sequence_length, hidden_size)
,与词嵌入层输出的形状相同。这是因为MSA层需要处理的是经过词嵌入后的序列表示,每个元素都是hidden_siz