美文网首页深度学习大数据,机器学习,人工智能
自然语言处理—自注意机制(self-attention)

自然语言处理—自注意机制(self-attention)

作者: zidea | 来源:发表于2021-01-01 19:15 被阅读0次

今天是 2021 年第一天,在此祝大家新年快乐! 相关视频都发布在西瓜视频上,西瓜视频账号为 zidea。

cover.jpg

自注意力机制(Self Attention)

\hat{g}(x) = \frac{\sum_{i=1}^n|X_i - 1 \le h|y_i}{\sum_{i=1}^n|X_i - 1 \le h|}

\frac{\sum_{i=1}^n (\frac{X_i - x}{h})y_i}{(\sum_{i=1}^n \frac{X_i - x}{h})}

  • 这里老师不错,就是学习氛围不太好

  • 户型不错就是价格有段

g(x) = E(y_i|X_i = x)

  • 观察数据集 X_i 大量等于 x 的样本对应 y_i 的平均值就是作为估计值

有关自注意力层应用,在原始论文中是将 self-attention 和 LSTM 结合使用,这里介绍将 self-attention 和 SimpleRNN 结合使用,其实道理都是一样的,我们主要是学习如何将 self-attention 融入到循环神经网络中。

h_1 = \tanh(A \cdot \begin{bmatrix} x_1\\ h_0 \end{bmatrix} + b)

在之前介绍 SimpleRNN 中,我们知道更新 h_1 是通过上一个时刻和当前时刻输入 x_1 一起来更新当前的隐含状态 h_1

h_1 = \tanh(A \cdot \begin{bmatrix} x_1\\ c_0 \end{bmatrix} + b)

引入自注意力机制后,我们更新隐含状态 h_1 就是用当前上时刻得到 c_0 来代替 h_0 来和输入 x_0 一起更新隐含状态 h_1

h_1 = \tanh(A \cdot \begin{bmatrix} x_1\\ h_0\\ c_0 \end{bmatrix} + b)

\alpha_i = align(h_i,h_2)

self_attention_001.png self_attention_002.png self_attention_003.png

然后以此类推来更新下一个时刻隐含状态,用隐含状态 h_1 后,利用 h_1c_1 计算得到得到当前时刻的隐含状态 h_2

self_attention_005.png

然后通过计算 \alpha = align(h_i,h_2) 可以得到隐含状态 \alpha_1,\alpha_2

self_attention_006.png

这样我们可以使用这些权重 \alpha_1,\alpha_2h_1,h_2

self_attention_007.png self_attention_008.png self_attention_009.png self_attention_010.png
  • 每一轮都会用 context 看一轮之前输入隐含状态。
  • 自注意力机制还会关注每一个输入,

相关文章

网友评论

    本文标题:自然语言处理—自注意机制(self-attention)

    本文链接:https://www.haomeiwen.com/subject/cuwjoktx.html