自然语言处理要点:理解人工智能中的变换器
您可能之前使用过ChatGPT(聊天生成预训练变换器)。您是否想过像ChatGPT这样的聊天机器人是如何如此出色地处理自然语言的?本文将向您介绍自然语言处理(NLP)领域和2017年由“注意力就是全部”论文首次推出的突破性架构——变换器。
NLP简介
自然语言处理(NLP)是AI的一个方面,它解释人类语言,支持翻译、语音识别和情感分析等任务。NLP在包括医疗保健、法律和金融在内的各个领域都有应用——它增强了搜索功能、社交媒体分析和数字助理,简化了大量非结构化数据(如文本、视频和音频)的处理。
如图1所示,自然语言模型自2000年代以来已经显著发展。早期模型可以将单词转换为向量嵌入,但在序列中的上下文方面存在困难。例如,在“I arrived at the bank after crossing the river”中,“bank”一词可能指金融机构或河岸。变换器通过上下文化向量,克服了这个问题,导致了更精确的语言表示,我们将在本文中进一步探讨这个概念。
20.1.PNG
图1. 来源:谷歌教程视频
理解变换器模型
如图二所示,变换器是一个编码器-解码器模型,它使用注意力机制而不是递归或卷积来将输入序列转换为输出。
20.2.PNG
图2. 变换器模型基本架构结构(作者图片)
“注意力就是全部”论文的作者根据表一中显示的三个标准评估了变换器层与卷积(CNN)和递归(RNN)层。他们展示了变换器层优于CNN和RNN层。
20.3.PNG
表1. 变换器与RNN与CNN
变换器的主要组成部分
嵌入和位置编码层
输入和目标令牌序列必须转换为向量。然而,注意力层看到这些向量集时没有顺序。例如,“how are you”、“how you are”和“you how are”是不可区分的向量。变换器的位置编码部分将位置编码到嵌入向量中。
编码器和解码器
编码器接收输入序列的嵌入令牌。它通过自注意力传递它们,使模型能够权衡序列中不同令牌的重要性,从而产生上下文化向量表示。解码器从编码器接收表示,连同一个起始序列词,以输出适当的输出,如图3所示。
20.4.PNG
图3. 变换器中的信息流(作者图片)
更深入的自注意力
假设您想将法语陈述“Je m'appelle Juma”翻译成英语“My name is Juma”。编码器将接收法语句子作为输入嵌入和位置编码,如图4所示。自注意力将这个输入分解为查询、键和值(QKV)向量。一旦我们有了QKV向量,我们就可以使用公式一在图4中说明的过程中,根据查询关注最相关的值。
公式1. 用于同时计算一组查询上的注意力函数。
20.5.png
20.6.png
图4. 注意力机制是自注意力块的支柱,将输入序列分解为查询键和值向量,这些向量是从变换器的学到的权重计算出来的。(作者图片)
解码器接收来自编码器的内容丰富的向量,并开始使用起始序列令牌进行翻译过程。它首先预测“Je”翻译成“My”,然后自回归地生成后续单词,直到完成翻译,如图5所示。
20.7.png
图5. 使用变换器进行翻译任务的示例(作者图片)
变换器的关键应用和示例
有多种变换器模型。一些基于编码器和解码器,而另一些仅基于解码器或编码器。
生成预训练变换器(GPT)堆叠变换器解码器以生成文本序列,从而产生聊天机器人和数字助理。
来自变换器的双向编码器表示(BERT)模型是一个仅编码器架构,经过训练以从过去和未来的令牌中学习更深层次的上下文,现在应用于搜索引擎。
视觉变换器,将变换器架构重新用于将图像作为一系列补丁而不是网格进行处理,现在应用于多模态任务。
结论
随着变换器模型的出现,NLP领域经历了显著的转变,这是一种突破性的架构。我们深入研究了注意力机制的工作原理,强调了它相对于传统方法(如RNN和CNN)的优势,并通过一个实际示例展示了变换器的运作方式。此外,我们观察了变换器模型变体在现实世界应用中的适应性。为了进一步了解变换器及其能力,资源部分提供的资源可能在提供实现细节方面很有用。Zilliz包含更多可能增强您学习的资源。
参考资料:
- NLP Basics Learn Series
- NLP Advanced Guide
- The paper “Attention is all you need”
- What are transformers in AI
- What are transformer models
- Survey on GitHub
- Neural machine translation with a Transformer
- Annotated Transformer