深度學習中的self-attention機制

閱讀時間約 4 分鐘

前面的篇章,我們主要都是在處理單一的輸入值,或是固定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的資訊,就能考慮到彼此的依賴關係。

raw-image


要如何計算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

raw-image


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的基礎知識~




1會員
13內容數
留言0
查看全部
發表第一個留言支持創作者!
dab戴伯的沙龍 的其他內容
卷積神經網路(CNN)是一種專門用於影像相關應用的神經網路。本文介紹了CNN在影像辨識中的應用,包括圖片的組成、Receptive Field、Parameter Sharing、以及Pooling等技術。通過本文,讀者將瞭解CNN在影像辨識領域的優勢和運作原理。
本文介紹了在深度學習中使用Batch Normalization來解決error surface複雜性的問題。通過特徵歸一化來加速收斂速度和訓練順利程度。同時,也提到了在測試階段使用moving average計算平均值和標準差的方法。
瞭解如何透過Regression實作Classification,使用one-hot vector表示不同的類別,並透過乘上不同的Weight和加上不同的bias來得到三個數值形成向量。同時通過softmax的方式得到最終的y'值,並探討使用Cross-entropy來計算類別的loss。
瞭解梯度下降算法中的學習速率調整,包括為什麼需要動態的學習速率、Root Mean Square、RMSProp、最常用的optimization策略Adam,以及如何進行Learning rate Scheduling。
本文將介紹batch的定義與其在機器學習中的作用,以及不同batch size 的影響。同時也會講解Momentum動量在機器學習中的重要性。透過本文,您將清楚地瞭解batch、batch size和Momentum動量的概念以及其對機器學習的影響。
之前有提到有時我們在微分之後會得到gradient = 0的值,就以為我們已經找到最小值,但其實它只是local minima。 那這一節主要想跟大家分享我們要怎麼區分是不是Local Minima。
卷積神經網路(CNN)是一種專門用於影像相關應用的神經網路。本文介紹了CNN在影像辨識中的應用,包括圖片的組成、Receptive Field、Parameter Sharing、以及Pooling等技術。通過本文,讀者將瞭解CNN在影像辨識領域的優勢和運作原理。
本文介紹了在深度學習中使用Batch Normalization來解決error surface複雜性的問題。通過特徵歸一化來加速收斂速度和訓練順利程度。同時,也提到了在測試階段使用moving average計算平均值和標準差的方法。
瞭解如何透過Regression實作Classification,使用one-hot vector表示不同的類別,並透過乘上不同的Weight和加上不同的bias來得到三個數值形成向量。同時通過softmax的方式得到最終的y'值,並探討使用Cross-entropy來計算類別的loss。
瞭解梯度下降算法中的學習速率調整,包括為什麼需要動態的學習速率、Root Mean Square、RMSProp、最常用的optimization策略Adam,以及如何進行Learning rate Scheduling。
本文將介紹batch的定義與其在機器學習中的作用,以及不同batch size 的影響。同時也會講解Momentum動量在機器學習中的重要性。透過本文,您將清楚地瞭解batch、batch size和Momentum動量的概念以及其對機器學習的影響。
之前有提到有時我們在微分之後會得到gradient = 0的值,就以為我們已經找到最小值,但其實它只是local minima。 那這一節主要想跟大家分享我們要怎麼區分是不是Local Minima。
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
這本書訪談了大學學生,並且歸納出幾點建議,書中也提到不必每條條都嚴格遵守,而是選擇一組吸引你的規則,並在大學生活中履行。 我自己在看這本書的時候,結合自己的大學經歷,選取幾點我比較有感觸的部分,分為以下幾點,後面則會提到一些關於書中內容反思
Thumbnail
學術論文的段落比網路文章更為複雜。 利用筆記卡片的方式來解析學術論文能夠提煉出更具價值的知識。 此外,卡片化的學習方法可能對學術研究特別有用。
Thumbnail
英文學習貴在能學以致用。自學好(中)高階時事(商用)英文過程中,關鍵在於是否有足夠詞彙量?及是否能自行理解字裡行間複雜的文法結構?每日例行閱讀一篇國際知名新聞摘要,是自我提升英文很有效的方法,雖然花時間,但工整的複習筆記,就是建構自己知識庫很重要的學習資源。
Thumbnail
我因為老高關於講運氣的影片,看到某位觀眾留言4think的文章,文筆通順好閱讀、案例有趣好吸收,不看還看一看成粉絲,在這邊也推薦該網站給大家。 本書我推薦給對於閱讀、思考領域有興趣的讀者
Thumbnail
在資訊繁複的環境中,你是否經常感到學習過於分散、無法深入,或是難以理解自己的內心世界? 在這個瞬息萬變的世界裡,我們都渴望抓住並善用所獲得的知識,並深入理解自己的內在世界。你是否曾經苦惱過如何有效地管理學習,讓思考更有深度,或者如何更好地理解自己的情感和想法?這篇文章會為你揭示三個能有效解答這些問題
Thumbnail
記得2001年的時候,曾經上映一步電影,叫作「A.I.人工智慧」,格式是在描述一個機械小男孩,想要成為人類的故事。記得2001年的時候,曾經上映一步電影,叫作「A.I.人工智慧」,格式是在描述一個機械小男孩,想要成為人類的故事。 當時在看這部電影的時候,除了對於小男孩的執著印象深刻外,另外也在思考,
Thumbnail
快速精通專業的學習能力與在品質和速度達到高水準的生產能力,是在快速變化的數位時代中,取得不可取代性與競爭力的兩種關鍵能力,而這兩種關鍵能力與深度工作力息息相關:你是否能長時間專注在單一工作上。
Thumbnail
在一個波光粼粼的人造河邊,我想著怎麼樣的人,最後能走上創作這條路?作家這等人的本質是什麼? 從學術的世界出走,開始進入藝術的世界後,發現科學跟藝術,本質上是相似的-都需要面對一個人的孤獨。
Thumbnail
現代流圍棋五原則能擊敗(干擾)「ZenGo 九段」與「Katrain 9段」電腦圍棋,其意義類似當今時髦的愚弄人工智慧的「干擾遊戲」。也同時證明了,人類的圍棋智慧卻是「由上而下」(Top-Down)的「知識策略」,最終可能戰勝有史以來最強的AI人工智慧電腦圍棋─ AlphaGo Zero。
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
這本書訪談了大學學生,並且歸納出幾點建議,書中也提到不必每條條都嚴格遵守,而是選擇一組吸引你的規則,並在大學生活中履行。 我自己在看這本書的時候,結合自己的大學經歷,選取幾點我比較有感觸的部分,分為以下幾點,後面則會提到一些關於書中內容反思
Thumbnail
學術論文的段落比網路文章更為複雜。 利用筆記卡片的方式來解析學術論文能夠提煉出更具價值的知識。 此外,卡片化的學習方法可能對學術研究特別有用。
Thumbnail
英文學習貴在能學以致用。自學好(中)高階時事(商用)英文過程中,關鍵在於是否有足夠詞彙量?及是否能自行理解字裡行間複雜的文法結構?每日例行閱讀一篇國際知名新聞摘要,是自我提升英文很有效的方法,雖然花時間,但工整的複習筆記,就是建構自己知識庫很重要的學習資源。
Thumbnail
我因為老高關於講運氣的影片,看到某位觀眾留言4think的文章,文筆通順好閱讀、案例有趣好吸收,不看還看一看成粉絲,在這邊也推薦該網站給大家。 本書我推薦給對於閱讀、思考領域有興趣的讀者
Thumbnail
在資訊繁複的環境中,你是否經常感到學習過於分散、無法深入,或是難以理解自己的內心世界? 在這個瞬息萬變的世界裡,我們都渴望抓住並善用所獲得的知識,並深入理解自己的內在世界。你是否曾經苦惱過如何有效地管理學習,讓思考更有深度,或者如何更好地理解自己的情感和想法?這篇文章會為你揭示三個能有效解答這些問題
Thumbnail
記得2001年的時候,曾經上映一步電影,叫作「A.I.人工智慧」,格式是在描述一個機械小男孩,想要成為人類的故事。記得2001年的時候,曾經上映一步電影,叫作「A.I.人工智慧」,格式是在描述一個機械小男孩,想要成為人類的故事。 當時在看這部電影的時候,除了對於小男孩的執著印象深刻外,另外也在思考,
Thumbnail
快速精通專業的學習能力與在品質和速度達到高水準的生產能力,是在快速變化的數位時代中,取得不可取代性與競爭力的兩種關鍵能力,而這兩種關鍵能力與深度工作力息息相關:你是否能長時間專注在單一工作上。
Thumbnail
在一個波光粼粼的人造河邊,我想著怎麼樣的人,最後能走上創作這條路?作家這等人的本質是什麼? 從學術的世界出走,開始進入藝術的世界後,發現科學跟藝術,本質上是相似的-都需要面對一個人的孤獨。
Thumbnail
現代流圍棋五原則能擊敗(干擾)「ZenGo 九段」與「Katrain 9段」電腦圍棋,其意義類似當今時髦的愚弄人工智慧的「干擾遊戲」。也同時證明了,人類的圍棋智慧卻是「由上而下」(Top-Down)的「知識策略」,最終可能戰勝有史以來最強的AI人工智慧電腦圍棋─ AlphaGo Zero。