1. 为什么要进行预训练?
为模型提供了一个好的初始化参数,在目标任务上具备更好的泛化性能、并加速收敛;
是一种有效的正则化手段,避免在小数据集上过拟合。
2. 什么是词嵌入和分布式表示?PTMs与分布式表示的关系?
把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量,
这也是分布式表示:向量的每一维度都没有实际意义,而整体代表一个具体概念。
3. 什么是TF-IDF(词频-逆文档频率)
TF(Term Frequency): 某个词在整个文档中出现的频率,即词频统计逆文本频率,文本频率指含有某个词的文本在整个语料
库中所占的比例。逆文本频率是文本频率的倒数。
不能反映词的位置信息,对关键词进行提取的时候,词的位置信息(如:标题、句首、句尾的词应该赋予更高的权重)。TF-IDF
严重依赖语料库,尤其是在训练同类语料库时,往往会掩盖一些同类型的关键词。
4. 什么是交叉熵损失函数
交叉熵和 KL 散度差了一个常数项,可用于度量两个概率分布间的差异性信息,熵越小则分布越接近真实分布,不确定性越低。
5. BERT 如何训练的?
BERT输入向量的组成部分是词向量(token embeddings)、段向量(segment embeddings)、位置向量(position embeddings)。
BERT输入的最大长度限制为512。bert的输出是每个token的表示向量,也可以获取每一层的表示向量。
BERT是一种自编码语言模型,可以看到一个单词两个方向的上下文信息,结构采用原始Transformer的编码器部分。BERT的输入
序列可以是一个句子或两个句子的组合,每个序列都在起始位置添加一个特殊的分类标记[CLS]。输入是两个句子时,句子之间需
要用一个特殊的分隔符[SEP]分隔,并且为每个词添加一个可学习的段嵌入向量来指示该词属于哪一个句子,每个词的输入表示是
对应的词向量,段嵌入向量和位置向量的和。
采用两个无监督的任务对BERT进行预训练,分别为MLM(Masked LM)和NSP(Next Sentence Prediction),两个任务一起训练,输入是句子对构成的序列。
在MLM任务中,从输入序列随机选择出15%的词,输出端不重建整个输入,只对这15%的词做预测。在选出的词中,80%替换为[MASK]标记,10%替换为随机的单
词,剩下10%的词不做更改。之所以没有将这15%的词全部替换为[MASK]标记,是为了缓解在训练时存在[MASK]标记而在fine-tune时没有[MASK]标记而带来的
不一致,但差异仍然存在,另外MLM通过没有掩盖的词来重建被掩盖的词,忽略了被掩盖单词之间的依赖关系。
NSP任务的目的是训练模型理解句子之间的关系。在构造句子对的时候,50%的可能性后面的句子是前面句子真实的下一句,50%的可能性后面的句子是从语料
库中随机选择的。
6. 过拟合的处理方法,有哪些正则化方法?
正则化是机器学习中最常见的过拟合解决方法,在损失函数中加入正则项来惩罚模型的参数,以此来降低模型的复杂度,常见的添加正则项的正则化技术有
L1,L2 正则化,在神经网络中则有Dropout等。选取合适的停止训练标准,使对机器的训练在合适的程度,即Early Stopping。数据增强。
正则化工作的时候,它使网络的权值更小。权值变小意味着,如果我们在这里或那里改变一些随机输入,网络的行为不会有太大的变化,这反过来使正则化
的网络很难学习数据中的局部噪声。这迫使网络只学习那些在训练集中经常看到的特征。对bias进行正则化可能引入大量的欠拟合。
7. LayerNorm 和 BatchNorm 的区别
Batch Normalization 的处理对象是对一批样本, Layer Normalization 的处理对象是单个样本。Batch Normalization 是对这批样本的同一维度特征做标准
化,Layer Normalization 是对这单个样本的所有维度特征做标准化。