機器學習基礎
下列關於Transformer所用之自注意力(self-attention)的敘述,何者適當?
- A從序列開頭一次讀入一個元素,一邊把前一個元素的隱藏狀態傳給下一個元素,一邊整合整個序列的資訊
- B由各詞元的查詢(query)與所有詞元的鍵(key)的相似度求出權重,取值(value)的加權和,因此序列所有位置的計算可以平行進行
- C對各詞元堆疊多層只看相鄰固定數量詞元的卷積,使其不處理與遠處詞元的關係
查看答案與解析
正確答案:B. 由各詞元的查詢(query)與所有詞元的鍵(key)的相似度求出權重,取值(value)的加權和,因此序列所有位置的計算可以平行進行
在自注意力中,由各詞元的向量產生查詢(Q)、鍵(K)、值(V),將查詢與所有鍵的內積經softmax函數轉成權重,再求出值的加權和。每個詞元都能直接取入遠處詞元的資訊,而且計算可以整理成矩陣乘積,不必像RNN那樣等待前一個時刻的結果,因此訓練時可以平行計算序列的所有位置。這個計算本身不含詞序的資訊,因此會搭配加入位置資訊的位置編碼。另一方面,計算量與序列長度的平方成正比增加。
- A. 這是RNN的處理方式,依時刻順序計算,因此難以平行化。
- B. 正確。以權重求出所有詞元之間的關係,並以矩陣乘積平行計算。
- C. 自注意力不限於鄰近的詞元,可以直接處理與序列中所有詞元的關係。