RNN、Seq2Seq、Attention

 循环神经网络

RNN,擅长处理序列信息,常见结构有N-1,1-N,N-N。

RNN、Seq2Seq、Attention_第1张图片

但是我们更希望输入N个能够得到M个输出,比如一般翻译任务,输入和输出长度是不一样的。

“Sequence-to-Sequence”

结构:encoder(RNN网络),decoder(RNN网络),状态向量

RNN、Seq2Seq、Attention_第2张图片

encoder:负责将输入信息进行编码得到一个固定大小的向量——状态向量

decoder:解码状态向量得到输出

处理长序列比较健忘,需要更快精度更高的模型

注意力机制

RNN、Seq2Seq、Attention_第3张图片

注意力机制目标:从大量信息中选择出更有用的信息

核心思想:公式

Q\K\V:输入X(词向量)经过线性变换得到的(提升模型的拟合能力)

W:通过学习得到的矩阵

Q:要查询的信息;K:正在被查询的信息;V:查询得到的值

RNN、Seq2Seq、Attention_第4张图片

(Q和K越相似,查询得到的值越是想要查询的信息)

向量点乘越大,两个向量之间的相似度越高

RNN、Seq2Seq、Attention_第5张图片

Q、K的每一行点乘(每一行的相关性)

dk:K的维度,除以根号dk可以让梯度保持稳定

softmax函数:对结果进行归一化(所有元素的和为1)——权重矩阵

用这个权重矩阵和内容V相乘进行加权

参考:

在线激情讲解transformer&Attention注意力机制(上)_哔哩哔哩_bilibili

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