2024-05-03|閱讀時間 ‧ 約 26 分鐘

深度學習中的self-attention機制

前面的篇章,我們主要都是在處理單一的輸入值,或是固定size的一維矩陣輸入值。但有時候我們會沒辦法保證輸入的大小都是固定的,像是聲音訊號、文字長度。或者輸入的值是一組vector set,像是一次有好幾組vector同時要輸入等等。

同樣的,很多時候我們沒辦法知道輸出的label的size,像是我們輸入一段文字,可能只需要透過classification辨別文字給予的評價好壞,這時候就只會有一個輸出。或者是在翻譯英文的時候,就可能是一個英文字對應到一個中文字,這時候幾組輸入可能就對應到幾組輸出。

*當輸入與輸出是一個set對一個set,那我們可以稱之為sequence-to-sequence的問題。


Q:那如果我們各別將每一組的input直接經過fully connected network計算可以得到我們的目標嗎?

A: 有些問題可以,但像是英翻中的問題,是不是就會考慮到詞性問題,考慮到他們彼此的依賴關係?這時候fully connected Network就沒辦法精準處理我們的問題。

-> 所以才需要self-attention

self-attention

self attention能夠同時接收整個sequence的資訊,就能考慮到彼此的依賴關係。


要如何計算self Attention?

  1. 首先,我們假設有一個sequence的input: a1, a2, a3, a4。會用a來表示而不是x是因為有可能他是最初的輸入,也有可能前面hidden layer的輸出,也就是是前面已經先透過 fully connected或是self-attention的計算。
  2. 透過Dot-product的方法(較常用的方法),依序找出ai與其他aj的關聯程度,用𝛼來表示。
  3. 計算出其相關性,通過softmax(不一定需要),就會得到a'1,1, a'1,2, a'1,3, a'1,4
  4. 接著通過一個共同的向量𝑊𝑣分別與a1, a2, a3, a4相乘計算出𝒗1,𝒗2, 𝒗3, 𝒗4,最後在相乘計算出b'1,1, b'1,2, b'1,3, b'1,4,加總得到b1
  5. 那如果a1~a4哪個關聯性越大,值就會最大,那最後加總得到的b1值就會越接近該值(假設a1與a2關聯度很高,最後a2的值會與b1非常相近)。


*b1~b4的計算不需要照順序,他們可以同時平行計算。

*Wq, Wk, Wv(transformer)的參數需要透過training data尋找。

*我們也可以將a1~a4整合起來做為矩陣,W也能以矩陣表示。



Dot-product的計算方法:

需要被計算出關聯性的主角,我們先透過Wq, Wk得到qi(query)與ki(key),其他的配角計算出kj(key)。

接著,我們將qi 與所有配角的 kj相乘 ,就能得到關聯性𝛼ij


Multi-head Self-attention

相關性本身就有許多不一樣的定義,所以我們應該要有不同q與k,做出不同的相關性 → 以此推論出會有不同的k與v,這就被稱為有多個head。但要注意的是,如果我們有多個q,那在計算時它們彼此是獨立的,不能互相使用。


Positional Encoding

但到目前為止,我們少了一個位置的資訊。但有時位置的資訊也是很重要,像是英文字的位置有可能決定他是名詞或是動詞,因此我們需要加上一個判斷位置的資訊

所以我們可以設置一個位置參數ei,加入到ai上面。(第一個位置就是e1,第二個就是e2),ei的值是可以由我們設計的。 -> 這部分是尚待研究的問題,可以參考一些論文的設計。


語音辨識的使用

通常我們在語音辨識上,每一個向量只有10ms的範圍,所以講一句話就有可能產生上千個向量,複雜度就會提高。

-> 所以在語音辨識上,我們可以採用Truncated Self-attention的方法,在看一整個句子時,只挑選某個範圍內的文字做辨識,這樣就不需要輸入所有的向量。


Self-attention VS CNN

CNN可以看做是簡化版的Self-attention,CNN是只計算receptive field一個特定小範圍,而self-attention是考慮整個範圍。

認真想想,其實圖片本身就是一組vector set,所以自然也能使用self-attention。而且self attention能夠透過attention,找到圖片中的像素與自己W參數的相關性,就好像receptive field是機器自己決定出來的(大小、範圍等等),而不像CNN是有我們自己設定的。


以上是關於今天self-attention的基礎知識~




分享至
成為作者繼續創作的動力吧!
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

作者的相關文章

dab戴伯的沙龍 的其他內容

你可能也想看

發表回應

成為會員 後即可發表留言
© 2024 vocus All rights reserved.