2017年末,谷歌在他们的开创性文章Attention is all you need中提出了一种注意力机制架构,这种架构被认为是自然语言处理社区中最先进的。transformer架构利用一种特殊的多头注意力机制来产生不同级别的注意力。此外,它还使用剩余连接来进一步确保梯度消失问题对学习的影响最小。transformer的特殊架构也允许大规模加速训练阶段,同时提供更好的质量结果。 transformer架构最常用的封装是tensor2tensor。transformer的Keras代码往往非常庞大且难以维持,而tensor2tensor允许使用Python包和简单的命令行实用程序来训练transformer模型。
传统的CNN、RNN(或者LSTM,GRU)计算是顺序的、迭代的、串行的,即只能从左向右依次计算或者从右向左依次计算,而这会导致两个问题:
-
计算依赖问题。必须要等到当前字处理完才能处理下一个字,限制了模型的并行处理能力;
-
顺序计算中的信息丢失。CNN、RNN在层次很深时,因为有max pooling,会逐渐丢失一些信息,尽管残差块、门机制等结构在一定程度上缓解了这个问题,但是对于特别长期的依赖现象,传统神经网络依旧无能为力。
而Transformer使用了位置嵌入 (Positional Encoding) 来理解语言的顺序,使用自注意力机制(Self Attention Mechanism)和全连接层进行计算,所有字都是同时训练,具有更好的并行性,不仅大大提高了计算效率,从长远来看更符合GPU的逻辑。
BERT
NLP的深度学习社区长期以来一直缺少训练模

文章探讨了Transformer架构在自然语言处理中的重要性,它通过多头注意力机制解决了传统CNN和RNN的局限性,提高了并行计算效率。BERT和GPT-2作为Transformer的衍生物,分别引入了预训练和文本生成的能力,推动了NLP领域的进步。
最低0.47元/天 解锁文章
3879

被折叠的 条评论
为什么被折叠?



