青州做網(wǎng)站的網(wǎng)絡(luò)公司深圳龍崗區(qū)布吉街道
位置編碼
位置編碼從前到后包括:絕對(duì)位置編碼、余弦位置編碼、旋轉(zhuǎn)位置編碼、ALiBi相對(duì)位置編碼。
1 絕對(duì)位置編碼(Absolute Positional Encoding)
應(yīng)用的模型:BERT、GPT等Transformer基礎(chǔ)模型廣泛使用絕對(duì)位置編碼來(lái)處理序列數(shù)據(jù)。
算法思想:絕對(duì)位置編碼通過(guò)為序列中的每個(gè)位置分配一個(gè)唯一的向量來(lái)工作。這些向量被加到對(duì)應(yīng)位置的詞嵌入上,從而使模型能夠根據(jù)單詞的位置信息進(jìn)行學(xué)習(xí)。在BERT中,位置編碼是可學(xué)習(xí)的參數(shù),而在原始的Transformer和GPT中,則采用了預(yù)定義的、基于固定公式生成的絕對(duì)位置編碼。
優(yōu)點(diǎn):
- 簡(jiǎn)單直接,易于實(shí)現(xiàn)。
- 通過(guò)為每個(gè)位置分配唯一的編碼,模型可以準(zhǔn)確地獲得每個(gè)單詞的絕對(duì)位置信息,有助于處理位置敏感的任務(wù)。
缺點(diǎn):
- 固定的位置編碼可能限制了模型處理長(zhǎng)序列的能力,因?yàn)樗枰谟?xùn)練前預(yù)先定義最大序列長(zhǎng)度。
- 可能不如相對(duì)位置編碼靈活,后者能更好地處理長(zhǎng)距離依賴關(guān)系。
2 余弦位置編碼(Sinusoidal Positional Encoding)
應(yīng)用的模型:原始的Transformer模型在其編碼器和解碼器的輸入中采用了余弦位置編碼。
算法思想:余弦位置編碼使用一組正弦和余弦函數(shù)來(lái)生成每個(gè)位置的編碼,這些函數(shù)的波長(zhǎng)遵循幾何級(jí)數(shù)。這意味著每個(gè)維度的位置編碼對(duì)應(yīng)于正弦和余弦函數(shù)的不同頻率,從而允許模型捕捉序列中的相對(duì)位置信息。公式大致為:對(duì)于位置
pos
和維度i
,位置編碼pos
的第i
維的值為sin(pos / 10000^(2i/d_model))
或cos(pos / 10000^(2i/d_model))
,其中