Transformer与注意力机制解析I | 豆包MarsCode AI 刷题

3 阅读2分钟

引言

要想了解GPT这个具有划时代意义的大语言模型是怎么工作的,就不得不预先了解注意力机制与Transformer。因为从某种程度上来讲,GPT可以理解成是一种参数固定,Transformer Decoder,我们调用GPT实现AI生成文本的过程也可以理解成是一种解码的过程。

一、注意力机制的由来

神经网络的原始理论基础是仿照人类的神经网络结构(神经元,突触相关的生物学知识),让机器模仿人类的学习过程。由此诞生了多层感知机模型,用多层隐藏层模仿神经元之间的信息传递与信息加工。

更进一步地,研究人员注意到人类具有注意力机制,即将注意力集中到某个方面可以更有利于记忆和学习。那么这种机制是否也可以搬运到机器学习中呢?当然是可以的,由此诞生了机器学习中的注意力机制。

二、如何实现注意力机制呢?

下面的问题就是如何在神经网络中实现注意力机制呢?

我们可以这样理解这个故事:当我们想要着重学习(注意)某方面的知识的时候,我们需要基于自己以往的经验知道如何将注意力集中,这样当我们接受到了多方面信息的时候就能高效地将自己的注意力集中到最重要的方面。

当用相对更标准的语言来表述上述过程,就是注意力机制通过注意力汇聚将查询Query(自主性提示)和键Key(非自主性提示)结合在一起,实现对值Value(感官输入)的选择倾向。

三、注意力汇聚的方法

注意力汇聚机制解决的是如何根据自主性提示Query (xx)和非自主性提示Key (xix_i)赋予感官输入Value (yiy_i)不同的权重。

比较简单的方式是使用平均汇聚来估计样本的输出值:f(x)=1/nyif(x)=1/n \sum y_i。这里并没有使用到自主性提示和非自主性提示,显然结果是不够准确的,也不能概括大多数情况。

现在考虑利用xxxix_i之间的关系,让注意力机制更合理,f(x)=α(x,xi)yif(x)=\sum \alpha (x,x_i)y_i,相当于yiy_i的加权平均。

进一步地,可以在α(x,xi)\alpha(x, x_i)中引入可以训练的权重可以实现更灵活的注意力汇聚表示。

参考资料

《动手学习深度学习》

未完待续,欢迎交流讨论。