Skip to content

Commit

Permalink
Updates bm/transformer/transformershu-ru.md
Browse files Browse the repository at this point in the history
Auto commit by GitBook Editor
  • Loading branch information
shunliz committed Mar 10, 2024
1 parent 22486a6 commit f72a122
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
Binary file added assets/llm-transformer-input1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/llm-transformer-input2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions bm/transformer/transformershu-ru.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Transformer 的输入

Transformer 中单词的输入表示**x****单词 Embedding****位置 Embedding**Positional Encoding相加得到

![](/assets/llm-transformer-input1.png)

### 2.1 单词 Embedding {#h_338817680_3}

单词的 Embedding 有很多种方式可以获取例如可以采用 Word2VecGlove 等算法预训练得到也可以在 Transformer 中训练得到

### 2.2 位置 Embedding {#h_338817680_4}

Transformer 中除了单词的 Embedding还需要使用位置 Embedding 表示单词出现在句子中的位置**因为 Transformer 不采用 RNN 的结构而是使用全局信息不能利用单词的顺序信息而这部分信息对于 NLP 来说非常重要**所以 Transformer 中使用位置 Embedding 保存单词在序列中的相对或绝对位置

位置 Embedding **PE**表示**PE**的维度与单词 Embedding 是一样的PE 可以通过训练得到也可以使用某种公式计算得到 Transformer 中采用了后者计算公式如下:![](/assets/llm-transformer-input2.png)

其中pos 表示单词在句子中的位置d 表示 PE的维度 \(与词 Embedding 一样\),2i 表示偶数的维度2i+1 表示奇数维度 \( 2id, 2i+1d\)。使用这种公式计算 PE 有以下的好处

* 使 PE 能够适应比训练集里面所有句子更长的句子假设训练集里面最长的句子是有 20 个单词突然来了一个长度为 21 的句子则使用公式计算的方法可以计算出第 21 位的 Embedding
* 可以让模型容易地计算出相对位置对于固定长度的间距 k**PE\(pos+k\)**可以用**PE\(pos\)**
计算得到因为 Sin\(A+B\) = Sin\(A\)Cos\(B\) + Cos\(A\)Sin\(B\), Cos\(A+B\) = Cos\(A\)Cos\(B\) - Sin\(A\)Sin\(B\)。

将单词的词 Embedding 和位置 Embedding 相加就可以得到单词的表示向量**x****x**就是 Transformer 的输入

0 comments on commit f72a122

Please sign in to comment.