1.介绍下word2vec,有哪两种实现,可以用什么方法提高性能,分层softmax介绍一下原理,负采样怎么做,,负采样和原始做法的优缺点比较。
参考答案:
在进行最优化的求解过程中,从隐藏层到输出的softmax层放入计算量很大,因为要计算所有词的softmax概率,再去找概率最大的值,可以使用层次softmax和负采样两种方法;
层次softmax采用对输出层进行优化的策略,输出层从原始模型利用softmax计算概率值改为利用huffman树进行计算概率值,其优点:由于是二叉树,之前计算量为V,现在变为了logV;由于使用Huffman树是高频的词靠近树根,这样高频词需要更少的时间被找到,符合贪心优化思想;其缺点:如果训练样本中的中心词w是一个很生僻的词,那么就需要在Huffman树中向下走很久。
负采样过程:比如我们有一个训练样本,中心词是w,它周围上下文共有2c个词,记为context(w)。由于这个中心词w和context(w)相关存在,因此它是一个真实的正例。通过Negative Sampling采样,我们得到neg个和w不同的中心词wi,i=1,2,…neg,这样context(w)和wi就组成了neg个并不真实存在的负例。利用这一个正例和neg个负例,我们进行二元逻辑回归,得到负采样对应每个词wi对应的模型参数θi,和每个词的词向量。
负采样相比原始做法:每次只需要更新采样的词的权重,不需要更新所有词的权重,可以减少了训练过程的计算负担,加速模型的计算,另一方面也可以保证模型训练的效果,提高了其结果词向量的质量。
2.介绍LSTM和GRU有什么不同?
(1)LSTM和GRU的性能在很多任务上不分伯仲;
(2)GRU参数更少,因此更容易收敛,但是在大数据集的情况下,LSTM性能表现更好;
(3)从结构上说,GRU只有两个门,LSTM有三个门,GRU直接将hidden
state传给下一个单元,而LSTM则用memory cell把hidden state包装起来。
3.介绍一下LSTM单元里面的运算过程。
4.CRF的损失函数是什么,具体怎么算?
在训练过程中,CRF损失函数只需要两个分数:真实路径的分数和所有可能路径的总分数。所有可能路径的分数中,真实路径分数所占的比例会逐渐增加。
损失函数:
5.transformer介绍一下原理,transformer为什么可以并行,它的计算代价瓶颈在哪?多头注意力机制计算过程?
Transformer结构(原理):
Transformer本身还是一个典型的encoder-decoder模型,Encoder端和Decoder端均有