Transformer

背景​​

电脑并不能将数字信息和现实世界建立联系,给电脑一句话让他理解到意思需要词向量化。但是词向量话在正确性方面遇到了问题:电脑给的向量的初值都是随机值,所以结果大都是错的。

解决办法

信息压缩与特征提取:找到正确的规律(这里的“规律”是指:http://t.csdn.cn/ve9bD中的:词向量化(word2vec)的好处:一、好找规律:在高维空间内,相似的点(本质是一个向量)挨得近。)所以就需要:

Transformer

Transformer是基于注意力机制的编码器-解码器类型架构:

Transformer模型详解(图解最完整版) - 初识CV的文章 - 知乎 https://zhuanlan.zhihu.com/p/338817680

编码器(Google用它做出了BERT)

考验理解语言

训练方法:

完形填空——给前后文,求中间的空

例子:兔子喜欢__胡萝卜

预训练模型框架:双向语言模型预训练+应用微调(Fine-tuning)

解码器(OpenAI用它做出了GPT(chatGPT的前身))

考验生成语言

训练方法:词语接龙

例子:兔子喜欢吃______

预训练模型框架:自回归语言模型(即从左到右单向语言模型)+Zero /Few Shot Prompt

用了自注意力机制,解决了自然语言的特征提取问题。具体是:让句子里的词自己去和句子中所有的词做向量相乘,正确的词是乘积大的。

当模型逐字生成文本时,它有能力引用或关注与生成的单词相关的单词。模型在训练过程中通过反向传播知道参考哪个词。

Transformer_第1张图片

RNN也能看之前的输入,但注意力机制的优点是它不受短时记忆的影响。RNN的参考较短,因此当故事变得很长时,RNN无法访问序列中较早生成的单词,提取特征的效果不好:rnn循环神经网络的原则是离下一个词越近的词,权重越高。即把离得近的词认为是对的词。比如他看了b站的up的视频,很喜欢,伸手给了_________?A一键三联orB大逼兜子。rnn会根据离挖的空最近的位置的词即“伸手给了”来判断选B。所以rnn让电脑会遗忘太远的词,而且总是提取错误的特征。所以按照顺序去提取特征是行不通的。

GRU和LSTM具有更大的长时记忆能力,因此具有更长的参考窗口,但是也没什么用

所以还得是transformer(from Attention is all you need)

理论上注意力机制在计算资源充足的情况下有无限的参考窗口,因此能在生成文本时使用整个故事的上下文。

你可能感兴趣的:(transformer,深度学习,人工智能)