自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Transformer為什么一定要添加一個Positional Encoding模塊?

人工智能 新聞
沒有Positional Encoding的transformer架構(gòu)具有置換等變性。

之前老喜歡死記硬背transformer的網(wǎng)絡(luò)架構(gòu),雖然內(nèi)容并不復(fù)雜,但是發(fā)現(xiàn)這個transformer模塊中的positional encoding在死記硬背的情況之下很容易被忽略。為了更好地理解為什么transformer一定需要有一個positional encoding,簡單推了一下公式

先說結(jié)論:沒有Positional Encoding的transformer架構(gòu)具有置換等變性。

證明如下:

1. 對self-attn的公式推導(dǎo)

圖片圖片

其中的是可訓(xùn)練的權(quán)重矩陣。首先計算Query和Key之間的點積,得到注意力權(quán)重矩陣:

圖片

然后計算自注意力輸出:

圖片

2. 假設(shè)對輸入進行置換

圖片

置換后的Query, Key, Value的公式分別為:

圖片

注意力矩陣的計算則變化為:

圖片

由于P是置換矩陣,滿足=,且P=I,所以:

圖片

所以最終的輸出可以這樣寫:

圖片

這樣就可以證明,transformer架構(gòu)在沒有Positional Encoding計算的情況下具有置換等變性,換句話說,輸入序列中元素的排列方式不會影響模型對它們的處理方式,只是輸出的順序相應(yīng)地改變。

3. 添加Positional Encoding之后的影響

加入Positional Encoding之后,置換后的輸入為:

圖片

由于P是固定的,加入Positional Encoding之后,輸入序列的置換將導(dǎo)致模型的輸出發(fā)生變化,模型能夠區(qū)分不用的序列:

圖片

從公式上看,在沒有位置編碼的情況下,自注意力機制的計算只涉及輸入向量的內(nèi)容,不涉及任何位置信息,且對輸入序列的置換是等變的。

加入位置編碼后,輸入向量包含了位置信息,打破了自注意力機制的置換等變性,使模型能夠?qū)π蛄兄械脑匚恢妹舾小?/p>

責(zé)任編輯:張燕妮 來源: 自動駕駛之心
相關(guān)推薦

2021-03-05 11:02:14

iOS 14.5蘋果更新

2011-05-10 15:51:34

SEO

2022-04-24 09:54:24

ProxyReflect前端

2018-08-24 09:02:26

2022-01-10 13:06:13

微服務(wù)API網(wǎng)關(guān)

2017-10-16 12:52:51

2024-02-22 14:22:17

數(shù)字化轉(zhuǎn)型企業(yè)架構(gòu)

2024-11-13 00:58:28

2017-08-17 11:11:41

深度學(xué)習(xí)弱智能機器學(xué)習(xí)

2018-07-02 08:57:27

碼農(nóng)業(yè)務(wù)程序員

2024-10-10 05:00:00

2022-05-26 09:24:09

volatile懶漢模式

2019-01-29 11:02:30

消息中間件Java互聯(lián)網(wǎng)

2022-06-01 16:17:00

互聯(lián)網(wǎng)Web3區(qū)塊鏈

2018-06-05 09:14:42

Redis分布式場景

2019-12-31 09:43:54

微服務(wù)JavaDocker

2024-05-14 08:11:56

ReactuseState造輪子

2020-12-23 13:29:15

微服務(wù)架構(gòu)面試官

2022-03-21 07:40:08

線程池Executors方式
點贊
收藏

51CTO技術(shù)棧公眾號