BERT 时代的常见 NLP 面试题

翻译和整理自 NLP Interview Questions

  1. 什么是困惑度(perplexity)?它在 NLP 中的作用是什么?

困惑度是一种用于评估语言模型通顺程度的方法,测评困惑度的方法为:对测试集中的句子计算语言模型概率,概率越高则语言模型越好。
P P ( W ) = P ( w 1 w 2 . . . w n ) 1 N PP(W) = P(w_1w_2...w_n)^{\frac{1}{N}} PP(W)=P(w1w2...wn)N1
由公式可知,句子概率越大,语言模型越好,迷惑度越小。

  1. 梯度爆炸和梯度消失是什么?如何解决?

反向传播时,如果网络过深,每层梯度连乘小于1的数,值会趋向0,发生梯度消失。大于1则趋向正无穷,发生梯度爆炸。

  • 梯度爆炸 — 梯度剪裁
    梯度剪裁:如果梯度过大则投影到一个较小的尺度上

  • 梯度消失 — 使用ReLU 和 PReLU
    BERT 时代的常见 NLP 面试题_第1张图片
    其他方法:使用 Batch Normalization 、Xavier 初始化和正交初始化(RNN)

  1. SVD 的词向量方法和神经网络的词向量方法有什么区别?

SVD 是线性方法,而神经网络是非线性方法。

词向量方法

  1. LSTM 的隐层(hidden)和单元状态(cell state)都有哪些信息?

隐层状态( h t h_t ht)保存直至当前时刻的所有信息。单元状态( C t C_t Ct)保存了下一时刻可能会用到的信息。

  1. LSTM 模型的参数数量(包括 bias)

4 ( m h + h 2 + h ) 4(mh+h^2+h) 4(mh+h2+h) ,其中 m 是输入向量的长度, h 是输出向量(隐层)的长度。

  1. LSTM 和 Transformer 复杂度对比

LSTM s e q _ l e n g t h ∗ h i d d e n 2 seq\_length * hidden^2 seq_lengthhidden2

Transformer s e q _ l e n g t h 2 ∗ h i d d e n seq\_length^2*hidden seq_length2hidden

因此,当隐层神经元数量大于序列长度时,Transformer 比 LSTM 快。

  1. self-attention 有哪些优缺点?

优点:

  1. 矩阵相乘一步到位捕捉到全局的联系,解决了长距离依赖。
  2. 可以并行计算。

缺点:
不能捕捉语序信息(用 Position Embedding 解决)

  1. Adam 有哪些优缺点?

优点,Adam 解决了 SGD 的两大问题:

  1. 对于非凸函数,容易陷入局部极小值或者鞍点。
  2. 对于所有参数使用相同的学习率(对稀疏数据,应该对出现频率低的特征进行大一些的更新,LR随着更新的次数减小)。

缺点:

  1. 训练后期学习率震荡可能导致不收敛
  2. 动量机制有可能导致越过全局最优解
  1. BatchNorm 和 LayerNorm 的区别?

BatchNorm:计算整个 minibatch 的均值和方差
LayerNorm:对单个样本在每一层的输入计算均值和方差

  1. 为什么 Transformer 使用 LayerNorm 而不是 BatchNorm?

BERT 时代的常见 NLP 面试题_第2张图片
LayerNorm 不受 Batch Size 的影响,并且它作用在单一样本上的效果比在 batch 上更好。

  1. GPT 与 BERT 的区别是什么?
  1. GPT 是单向的,BERT 是双向的。
  2. 训练方法不同,GPT 是语言模型使用最大似然,BERT 的训练分为 MLM 和 NSP。

你可能感兴趣的:(BERT 时代的常见 NLP 面试题)