iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0
AI & Data

Attention到底在關注什麼?系列 第 8

Day 8 Self-attention(二) 如何算出input彼此是相關的?

前言

昨天講到為什麼要使用self-attention,今天稍微來介紹一下self-attention的架構

Self-attention

昨天提到的問題,解決問題的方法就是self-attention

self-attention就是把每一個vector的input丟進self-attention中,input幾個vector,就會輸出幾個vector,這個方法跟昨天提到的方法不同的地方是,每一個輸出的vector,都是考慮到所有輸入的vector


全連接層跟self-attention是可以交疊使用的,可以讓self-attention處理全部的資訊,利用全連接層處理個別的資訊
那self-attention是怎麼處理全部的資訊的呢?

從這張圖可以看到每一個輸出的vector都是有接收到輸入vector的資訊
如果只是這樣不就只是一個很大的全連接層了嗎?

接下來就要講到跟全連接層不同的地方

一開始我們會根據a1這個項目來找到哪幾個項目是和a1相關的,關聯的程度用alpha來決定,那self-attention是怎麼算出alpha的呢?

這邊有講到兩個方法做計算

將兩個vector分別乘上不同的矩陣,再將相乘過後的結果做內積

第二個方法是把兩個乘上矩陣後的vector相加,經過Activation Functions,再經過一層transform,最後輸入alpha,但是這邊只會考慮到dot-product這個方法

知道計算方法後實際的情況是怎麼樣了,這部份明天再繼續講


上一篇
Day 7 Self-attention(一) input和output
下一篇
Day 9 Self-attention(三) input相關聯性計算
系列文
Attention到底在關注什麼?30

尚未有邦友留言

立即登入留言