编码器-解码器是一种用于序列数据处理与生成的神经网络架构。
在深度学习领域中,编码器-解码器架构是神经网络的一种类型,与转换器架构联系最为广泛,用于序列到序列学习。因此,文献有时将编码器-解码器称为序列到序列模型(seq2seq 模型)的一种实现形式。许多机器学习研究重点关注用于自然语言处理 (NLP) 任务的编码器-解码器模型,特别是涉及大型语言模型 (LLM) 的应用。
编码器-解码器模型用于处理序列数据,尤其适用于输入输出序列长度不匹配的映射任务,如神经机器翻译、文本摘要、图像字幕和语音识别。在此类任务中,输入词元与输出词元的映射常呈非直接对应关系。以机器翻译为例:不同语言具有迥异的语序结构——英语等语言将动词置于句首,德语等语言置于句尾,而拉丁语等语言动词位置更为灵活。编码器-解码器网络生成长度可变但上下文相关的输出序列,以对应于给定的输入序列。1。
从其各自的名称可以推断,编码器将给定的输入编码成向量表示,解码器将该向量解码成与原始输入数据集相同的数据类型。
编码器和解码器都是独立的、完全连接的神经网络。它们可以是循环神经网络 (RNN) 及其变体长短期记忆 (LSTM)、门控循环单元 (GRU)、卷积神经网络 (CNN) 以及转换器模型。一个编码器-解码器模型通常包含多个编码器和多个解码器。
每个编码器由两层组成:自注意力层(或自注意力机制)和前馈神经网络层。第一层在编码特定词汇时,会引导编码器关注输入序列中其他相关词汇。前馈神经网络则对编码表示进行进一步处理,使其适配后续编码器或解码器层的输入要求。
解码器部分同样包含自注意力层与前馈神经网络,并额外增加第三层结构:编码器-解码器注意力层。该层将网络注意力集中在编码器输出的特定部分。因此,多头注意力层映射来自两个不同序列的词元。2
学术界通常认为编码器-解码器模型由三个组件组成:编码器、上下文向量和解码器3
编码器的核心组件是自注意力机制。自我注意力机制确定输入中的词元权重,以反映词元间的关系。与传统词嵌入方法忽略词序不同,自注意力会处理整个输入文本序列,根据词元在序列中的相对位置计算每个词元的加权平均嵌入表示。它根据以下公式,将平均嵌入值计算为输入序列的所有嵌入的线性组合:
此处, xj 代表输入文本字符串中第 j 个位置的输入词元,xi 则对应输入文本字符串中第 i 个位置的输出词元。系数 wij 为注意力权重,通过 softmax 函数计算得出,表征输出文本中该词元对源序列的重要程度。换言之,这个系数表示相对于源文本中原始词元的重要性,编码器应对输出文本中各词元分配相应关注。4
编码器将此词元嵌入传递至前馈层,该层会为词元嵌入添加位置编码(或称位置嵌入)。这种位置编码能够捕捉文本中词元的顺序关系,特别是词元间的相对距离。这种词元嵌入和位置嵌入共同构成隐藏状态,传递给解码器进行处理。5
学术界通常将编码器的最终隐藏状态称为上下文向量。这是编码器初始输入文本的压缩数值表示。更简单地说,它是编码器为输入序列中每个词汇生成的嵌入表示与位置编码的集合。
学术界通常使用以下函数来定义上下文向量,其中上下文向量 X 定义为输入序列中第 i 个位置处的词元 X:6
与编码器类似,解码器由自注意力层和前馈网络构成。在这两者之间,解码器包含一个多头注意力屏蔽层。这标志着编码器和解码器之间的差异。编码器同时生成上下文相关的词元嵌入,而解码器的多头注意力层则利用自回归掩码技术。
解码器首先接收来自编码器的上下文向量。解码器使用这些位置嵌入来计算每个词元的注意力分数。这些注意力分数决定了输入中的每个词元对后续词元的影响程度,即在生成输出序列时,每个词元在其他词元决策中所占的权重比例。
这种方法的重要特性在于,解码器不会使用同一序列中后续词元来确定前面的词元。每个词元生成的输出仅取决于前面的词元;换句话说,在生成词元的输出时,解码器不会考虑当前词元之后的下一个单词或词元。与许多人工智能技术一样,这种设计模仿了人类处理信息(特别是语言)的认知方式。这种信息处理方法称为自回归。7
编码器-解码器模型在情感分析或掩码语言建模等下游 NLP 任务中的突出优势在于其能够生成上下文嵌入。这些嵌入不同于 Bag of words 模型中使用的固定词嵌入。
首先,固定嵌入无法捕捉词汇顺序信息。它们忽略了文本序列中词元之间的关系。然而,上下文嵌入通过位置编码保留了词序特征。此外,上下文词元嵌入试图通过注意力机制来捕捉词元之间的关系,该机制在生成词元嵌入时会考虑给定序列中词元之间的距离。
固定嵌入为每个给定词元生成一个嵌入,将该词元的所有实例合并在一起。编码器-解码器模型则为词元的每个实例生成上下文相关嵌入。因此,上下文嵌入能更精准处理多义词现象。例如,“flies”既可表示动作“飞行”,也可指代昆虫“苍蝇”。固定词嵌入通过为词元或单词创建单一的嵌入,将该单词的多种含义进行压缩。但编码器-解码器模型会为每次出现的“flies”生成独立上下文嵌入,通过多重差异化嵌入捕捉其丰富语义。8
正如预期的那样,编码器-解码器架构已发展出多个变体形式,每个变体在数据科学和机器学习领域都有其特定的主要应用场景。
纯编码器架构这类模型(也称为自编码器)仅使用编码器堆栈,而完全摒弃了解码器部分。因此,这类模型不具备自回归掩码建模能力,但可以访问初始输入文本中的所有词元。这类模型被描述为双向模型,因为它们使用周围的所有词元(包括前面和后面的词元)对给定的词元进行预测。著名的编码器型号是 BERT 系列模型,例如 BERT、9robertA、10 和 ELECTRA11以及 IBM Slate 模型。仅编码器模型通常用于需要全面理解输入文本的任务,例如文本分类或命名实体识别。
纯解码器架构。这类模型(也称为自回归模型)仅使用解码器堆栈而无需任何编码器组件。因此在进行词元预测时,模型的注意力层只能访问所考虑的词元之前的词元。纯解码器模型通常用于文本生成任务,例如智能问答、代码自动编写或类似 ChatGPT 的对话系统。IBM granite 系列基础模型就是纯解码器架构的典型代表。12
使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。
1 Jurafsky, D. and Martin, J., “Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition”, Third edition, 2023.
2 Telmo, P., Lopes, A. V., Assogba, Y. and Setiawan, H. “One Wide Feedforward Is All You Need” , 2023.
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L. and Polosukhin I. “Attention Is All You Need”, 2017.
Tunstall, L., Werra, L. and Wolf and T. “Natural Language Processing with Transformers”, Revised Edition, O’Reilly, 2022
3 Goodfellow, I., Bengio, Y. and Courville, A. “Deep Learning”, MIT Press, 2016.
Jurafsky, D. and Martin, J. “Speech and Language Processing”, Third Edition, 2023.
Tunstall, L., Werra, L. and Wolf and T. “Natural Language Processing with Transformers”, Revised Edition, O’Reilly, 2022.
4 Tunstall, L., Werra, L. and Wolf and T. “Natural Language Processing with Transformers”, Revised Edition, O’Reilly, 2022.
Goldberg, Y. “Neural network methods for Natural Language Processing”, Springer, 2022.
5 Alammar, J. and Grootendorst, M. “Hands-on Large Language Models”, O’Reilly, 2024.
6 Goodfellow, I., Bengio, Y. and Courville, A. “Deep Learning”, MIT Press, 2016.
Jurafsky, D. and Martin, J. “Speech and Language Processing”, Third Edition, 2023.
7 Foster, D. “Generative Deep Learning”, Second Edition, O’Reilly, 2023.
Rothman, D. “Transformers for Natural Language Processing”, Second Edition, 2022.
Jurafsky, D. and Martin, J. “Speech and Language Processing”, Third Edition, 2023.
8 Tunstall, L., Werra, L. and Wolf and T. “Natural Language Processing with Transformers”, Revised Edition, O’Reilly, 2022.
9 Devlin, J. et all. “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”, 2019.
10 Liu, Y., Ott, M., Goyal, N., Du, J., Joshi, M., Chen, D., Levy, O., Lewis, M. , Zettlemoyer, L. and Stoyanov, V. “RoBERTa: A Robustly Optimized BERT Pretraining Approach”, 2019.
11 Clark, K. et all. “ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators”, 2020.
12 Mayank, M. et all. “Granite Code Models: A Family of Open Foundation Models for Code Intelligence” 2024.
Ruiz, A. “IBM Granite Large Language Models Whitepaper” 2024.