Cyan's Blog

Search

Search IconIcon to open search

D2L-72-Self-Attention

Last updated Apr 26, 2022 Edit Source

# 自注意力

2022-04-26

Tags: #Self-Attention #Attention #DeepLearning

450

Self-Attention

# 实现

1
2
3
4
5
6
7
num_hiddens, num_heads = 100, 5
attention = d2l.MultiHeadAttention(num_hiddens, 
								   num_hiddens, 
								   num_hiddens, 
								   num_hiddens, 
								   num_heads, 0.5)
attention.eval()

# 优缺点

CNNRNN自注意力
计算复杂度$\mathcal{O}(knd^2)$$\mathcal{O}(nd^2)$$\mathcal{O}(n^2d)$
并行度$\mathcal{O}(n)$$\mathcal{O}(1)$$\mathcal{O}(n)$
最长路径$\mathcal{O}(n/k)$$\mathcal{O}(n)$$\mathcal{O}(1)$

# 位置编码


  1. 回看我之前的笔记, 我当时记录的并没有这么清晰. 这说明在第一遍"学懂"以后, 第二遍的梳理往往能获得新的, 更凝练的理解. What is Attention, Self Attention, Multi-Head Attention? | Aditya Agrawal ↩︎

  2. 10.6. 自注意力和位置编码 — 动手学深度学习 2.0.0-beta0 documentation ↩︎