type
Post
status
Published
date
May 6, 2022
slug
summary
tags
NLP
category
技术分享
icon
password
URL
由于最近面试被文档 Transformer 结构的基础题,这边便简单地记录一下。

Encoder 和 Decoder的不同

首先需要贴一个图
notion image
不同之处:
  1. 在 Encoder 的每一个 block 中只有一个 Multi-Head Attention 层,而 Decoder 有两个,而且中间的 Attention 不是自注意力层,为 K, V 来自Encoder 的输出,而 Q 来自前一个模块的输出。
  1. Mask 不同,Encoder 的是全局可见,而 Decoder 不能看见当前单词之后的。(是一个下三角方阵)

BERT 和 Transformer 位置编码的区别

  • BERT是词汇表形式的Embedding,是一个 max_seq_len * hidden_size 的矩阵,是一个绝对位置编码。
  • Transformer 是一个三角函数的形式的位置编码,计算 Attention 的时候可以表示相对位置。
i表示第i维,这样做是因为需要不同维度上应该用不同的函数操作位置编码,这样高位的空间表示才有意义。
 
相对位置编码的需求:
  1. 需要体现同一单词在不同位置的区别。
  1. 需要体现一定的先后次序,并且在一定范围内的编码差异不应该依赖于文本的长度,具有一定的不变性。
  1. 需要有值域的范围限制。
 

WordPiece 预处理

WordPiece字面理解是把 word 切开。
实现这个功能的算法叫 BPE (Byte-Pair Encoding)双字节编码。
训练过程:
首先将词分成一个一个的字符,然后在词的范围内统计字符对出现的次数,每次将次数最多的字符对保存起来,直到循环次数结束。
用处
  1. 较少词表
  1. 过滤低频的词,模型更好学
  1. 时态之间语义关联更强
EVM 基础onnxruntime InferenceSession Segmentation fault 解决方案

Ross
Ross
这是关于Ross的百科。我将会在这里分享关于编程、机器学习、加密货币的相关内容,有时也会分享一些实用教程或者生活趣事。