back to index
【機器學習2021】自注意力機制 (Self-attention) (下)

link |
怎麼根據input sequence
link |
self-attention要做的事情
link |
得到另外一排output的vector
link |
怎麼根據input的這一排vector sequence
link |
怎麼從input的vector得到B2
link |
都去計算attention的score
link |
那怎麼計算attention的score呢
link |
你就把Q2跟K1做個double order
link |
你把Q2跟K2也做個double order
link |
你把Q2跟K3也做double order
link |
你把Q2跟K4也做double order
link |
你可能還會做一個normalization
link |
然後得到最後的attention的score
link |
來表示經過normalization以後的attention score
link |
那得到這個attention的分數以後
link |
得到這個alpha21 alpha22 alpha23 alpha24
link |
你就可以由A3乘一個transform
link |
從A4乘一個transform得到Q4
link |
我們剛才講的self-attention
link |
好那self-attention是怎麼運作的呢
link |
就是我們SELF ATTENTION的input
link |
那我們把這個input的四個factor
link |
就是這邊四個代表value的factor
link |
去計算這個inner product
link |
所以α11就是Q1跟K1的inner product
link |
所以Q1乘上K1的transpose
link |
要對K1到K4計算attention
link |
Q2也要對K1到K4計算attention
link |
對K1到K4計算attention呢
link |
就是Q跟這個K之間的attention的分數
link |
那麼說我們會對attention的分數呢
link |
每一個element做weighted sum
link |
就是SELF ATTENTION的輸出
link |
所以其實整個SELF ATTENTION
link |
是SELF ATTENTION的input
link |
SELF ATTENTION的input
link |
所以I是SELF ATTENTION的input
link |
叫做ATTENTION的matrix
link |
O就是SELF ATTENTION這個layer的輸出
link |
雖然SELF ATTENTION這邊
link |
SELF ATTENTION layer裡面
link |
那這整個就是SELF ATTENTION的操作
link |
就是做了SELF ATTENTION
link |
叫做MULTIHEAD SELF ATTENTION
link |
那MULTIHEAD SELF ATTENTION呢
link |
助教原來的code是有MULTIHEAD SELF ATTENTION
link |
其實就可以過MEDIAN的BASELINE
link |
這個又是另外一個hyperparameter
link |
那為什麼我們會需要比較多的HEAD呢
link |
我們說我們在做這個SELF ATTENTION的時候
link |
所以假設你要做MULTIHEAD SELF ATTENTION的話
link |
然後這個1跟2代表是這個位置的第幾個Q
link |
那接下來怎麼做SELF ATTENTION呢
link |
他在算這個ATTENTION的分數的時候
link |
所以QI1就跟KI1算個ATTENTION
link |
QI1就跟KJ1算個ATTENTION
link |
然後呢得到這個ATTENTION的分數
link |
然後今天在做WEIGHTED SUM的時候
link |
所以Q2只對K2做ATTENTION
link |
他們在做WEIGHTED SUM的時候
link |
就是MULTIHEAD ATTENTION
link |
一個這個SELF ATTENTION的變形
link |
SELF ATTENTION的這個LAYER
link |
對一個SELF ATTENTION而言
link |
對一個SELF ATTENTION LAYER而言
link |
你想想看對SELF ATTENTION而言
link |
也沒有誰在整個SEQUENCE的最後面
link |
講的SELF ATTENTION的操作裡面
link |
所以你做SELF ATTENTION的時候
link |
叫做POSITIONAL ENCODING的技術
link |
叫做POSITIONAL VECTOR
link |
告訴你的SELF ATTENTION
link |
ATTENTION IS ALL YOU NEED
link |
ATTENTIONS OVNI的PAPER
link |
SINE COSINE的FUNCTION
link |
這個POSITIONAL VECTOR呢
link |
這個POSITIONAL ENCODING
link |
或甚至POSITIONAL ENCODING
link |
POSITIONAL ENCODING呢
link |
新的POSITIONAL ENCODING
link |
最早的POSITIONAL ENCODING
link |
那如果你的POSITIONAL ENCODING
link |
你把POSITIONAL ENCODING
link |
POSITIONAL ENCODING
link |
來產生POSITIONAL ENCODING
link |
BERT裡面也用到SELF ATTENTION
link |
你也可以用SELF ATTENTION
link |
你可能會希望對SELF ATTENTION
link |
在計算這個attention matrix的時候
link |
attention matrix A'
link |
L乘以L次的inner product
link |
這個attention matrix
link |
truncated self-attention
link |
truncated self-attention
link |
這個是truncated的self-attention
link |
我們在講self-attention的時候
link |
self-attention適用的範圍
link |
它適合使用self-attention
link |
它既然也是一個vector set的話
link |
self-attention來處理一張圖片
link |
self-attention來處理一張圖片呢
link |
那現在把self-attention
link |
self-attention跟CNN之間
link |
是用self-attention來處理一張圖片
link |
你今天在做inner product的時候
link |
CNN會畫出一個receptive field
link |
每一個filter 每一個neural
link |
只考慮receptive field範圍裡面的資訊
link |
CNN跟self-attention的話
link |
簡化版的self-attention
link |
receptive field裡面的資訊
link |
而在做self-attention的時候
link |
所以CNN是簡化版的self-attention
link |
self-attention是一個複雜化的CNN
link |
我們要畫定receptive field
link |
receptive field裡面的資訊
link |
而receptive field的範圍跟大小
link |
receptive field有什麼樣可能的設計
link |
而對self-attention而言
link |
我們用attention去找出相關的pixel
link |
就好像是receptive field
link |
receptive field的形狀長什麼樣子
link |
所以receptive field的範圍
link |
這邊講的是self-attention跟CNN的關係
link |
叫做On the relationship between self-attention and convolutional layer
link |
其實這個CNN就是self-attention的特例
link |
self-attention只要設定合適的參數
link |
所以CNN它的function set長這個樣子
link |
而self-attention它的function set長這個樣子
link |
所以self-attention是更flexible的CNN
link |
而CNN是有受限制的self-attention
link |
self-attention只要透過某些設計
link |
你發現它放到網路上的時間是19年的11月
link |
既然CNN是self-attention的一個subset
link |
self-attention比較flexible
link |
那記不記得我們在講overfitting的時候
link |
我們講說比較flexible的model
link |
它可能比較不會overfitting
link |
來訓練CNN跟self-attention
link |
來自於An image is worth 16x16 words
link |
它就是把這個self-attention
link |
因為一般我們這個self-attention
link |
那self-attention的結果
link |
self-attention可以超過CNN
link |
CNN它是可以比self-attention
link |
你就可以從CNN跟self-attention
link |
所以這個就是self-attention
link |
那self-attention跟CNN誰比較好呢
link |
如果你要做strong baseline的話
link |
裡面就是有用到self-attention
link |
self-attention跟RNN
link |
RNN就是recurrent neural network
link |
recurrent neural network
link |
因為recurrent neural network的角色
link |
用self-attention來取代了
link |
RNN跟self-attention一樣
link |
這是你的input sequence
link |
這個hidden layer的output
link |
然後通過這個fully connected network
link |
然後再去做你想要的prediction
link |
第二個vector作為input的時候
link |
再拿去給fully connected network
link |
再通過fully connected的那個
link |
recurrent neural network
link |
都是一個vector sequence
link |
都是一個vector sequence
link |
output是另外一個vector sequence
link |
整個input的sequence以後
link |
再給fully connected network
link |
也會給fully connected network
link |
那self-attention跟RNN
link |
考慮了整個input的sequence
link |
跟self-attention output
link |
就算你用bi-directional的RNN
link |
但對self-attention來說
link |
所以這是RNN跟self-attention
link |
output一排sequence的時候
link |
output另外一排vector的時候
link |
但self-attention有一個優勢
link |
在output這四個vector的時候
link |
output的這個vector sequence裡面
link |
運算速度上self-attention
link |
逐漸改成self-attention的架構了
link |
RNN跟self-attention的關係的話
link |
self-attention也可以被用在graph上面
link |
graph也可以看作是一堆vector
link |
就可以用self-attention來處理
link |
所以self-attention也可以用在graph上面
link |
但是當我們把self-attention
link |
那之前我們在做self-attention的時候
link |
所以今天當你把self-attention
link |
attention matrix計算的時候
link |
graph neural network
link |
graph neural network
link |
在講graph neural network
link |
這個graph neural network
link |
叫做Long Range Arena
link |
self-attention的運算量
link |
指的就是self-attention
link |
所以self-attention的變形
link |
帶來的就是performance變差
link |
這個縱軸代表是performance
link |
那到底什麼樣的self-attention
link |
如果你對self-attention
link |
Efficient Transformer