This commit is contained in:
erenup 2021-09-04 17:34:00 +08:00
parent 34414def8a
commit 459a81207f
2 changed files with 4 additions and 4 deletions

View File

@ -565,7 +565,7 @@
"source": [
"  两个最常用的attention函数是\n",
"- 加法attention[(cite)](https://arxiv.org/abs/1409.0473)\n",
"- - 点积乘法attention\n",
"- 点积乘法attention\n",
"\n",
"除了缩放因子$\\frac{1}{\\sqrt{d_k}}$ 点积Attention跟我们的平时的点乘算法一样。加法attention使用具有单个隐层的前馈网络计算相似度。虽然理论上点积attention和加法attention复杂度相似但在实践中点积attention可以使用高度优化的矩阵乘法来实现因此点积attention计算更快、更节省空间。 \n",
"当$d_k$ 的值比较小的时候,这两个机制的性能相近。当$d_k$比较大时加法attention比不带缩放的点积attention性能好 [(cite)](https://arxiv.org/abs/1703.03906)。我们怀疑,对于很大的$d_k$值, 点积大幅度增长将softmax函数推向具有极小梯度的区域。(为了说明为什么点积变大假设q和k是独立的随机变量均值为0方差为1。那么它们的点积$q \\cdot k = \\sum_{i=1}^{d_k} q_ik_i$, 均值为0方差为$d_k$)。为了抵消这种影响,我们将点积缩小 $\\frac{1}{\\sqrt{d_k}}$倍。 \n",
@ -1464,7 +1464,7 @@
"cell_type": "markdown",
"source": [
"# 真实场景示例\n",
"由于原始jupyter的真实数据场景需要多GPU训练本教程暂时不将其纳入感兴趣的读者可以继续阅读[原始教程](https://nlp.seas.harvard.edu/2018/04/03/attention.html)。另外由于真是数据原始url失效原始教程应该也无法运行真是数据场景的代码。"
"由于原始jupyter的真实数据场景需要多GPU训练本教程暂时不将其纳入感兴趣的读者可以继续阅读[原始教程](https://nlp.seas.harvard.edu/2018/04/03/attention.html)。另外由于真实数据原始url失效原始教程应该也无法运行真实数据场景的代码。"
],
"metadata": {}
},

View File

@ -339,7 +339,7 @@ def attention(query, key, value, mask=None, dropout=None):
  两个最常用的attention函数是
- 加法attention[(cite)](https://arxiv.org/abs/1409.0473)
- - 点积乘法attention
- 点积乘法attention
除了缩放因子$\frac{1}{\sqrt{d_k}}$ 点积Attention跟我们的平时的点乘算法一样。加法attention使用具有单个隐层的前馈网络计算相似度。虽然理论上点积attention和加法attention复杂度相似但在实践中点积attention可以使用高度优化的矩阵乘法来实现因此点积attention计算更快、更节省空间。
当$d_k$ 的值比较小的时候,这两个机制的性能相近。当$d_k$比较大时加法attention比不带缩放的点积attention性能好 [(cite)](https://arxiv.org/abs/1703.03906)。我们怀疑,对于很大的$d_k$值, 点积大幅度增长将softmax函数推向具有极小梯度的区域。(为了说明为什么点积变大假设q和k是独立的随机变量均值为0方差为1。那么它们的点积$q \cdot k = \sum_{i=1}^{d_k} q_ik_i$, 均值为0方差为$d_k$)。为了抵消这种影响,我们将点积缩小 $\frac{1}{\sqrt{d_k}}$倍。
@ -896,7 +896,7 @@ print(greedy_decode(model, src, src_mask, max_len=10, start_symbol=1))
# 真实场景示例
由于原始jupyter的真实数据场景需要多GPU训练本教程暂时不将其纳入感兴趣的读者可以继续阅读[原始教程](https://nlp.seas.harvard.edu/2018/04/03/attention.html)。另外由于真是数据原始url失效原始教程应该也无法运行真是数据场景的代码。
由于原始jupyter的真实数据场景需要多GPU训练本教程暂时不将其纳入感兴趣的读者可以继续阅读[原始教程](https://nlp.seas.harvard.edu/2018/04/03/attention.html)。另外由于真实数据原始url失效原始教程应该也无法运行真实数据场景的代码。
# 结语