位置编码 Positional embeddings in transformers

https://www.youtube.com/watch?v=1biZfFLPRSY

在不同位置,使用sin和cos波取值,可以将语义向量在高维空间作位移。由于取值范围是[-1, 1],所以不会出现将向量推离太远的情况。

位置编码 Positional embeddings in transformers_第1张图片

如果sin波长较小,则相邻位置之间的取值差别较大,但低位置与高位置之间可能出现重复取值。模型能够辨别相邻位置的区别,但难以辨别其他周期的等值点。

位置编码 Positional embeddings in transformers_第2张图片

若sin波长较大,则低位置与高位置之间不容易出现重复取值,但是相邻位置之间的取值差别太小,难以让模型辨别。位置编码 Positional embeddings in transformers_第3张图片

假设第一个维度的取值来自sin,则第二个维度可以是cos。我们会交替使用sin和cos取值。
位置编码 Positional embeddings in transformers_第4张图片

使用多个不同波长的sin和cos波,模型就能同时区分各种位置的单词了。

位置编码 Positional embeddings in transformers_第5张图片

你可能感兴趣的:(AI与ML,人工智能)