已入职阿里,腾讯总监面聊得不开心,挂,也拿到滴滴offer
1、为何会梯度消失和爆炸:
消失:BPTT时,多个激活函数导数的相乘导致
解决:LSTM、BN、RELU
爆炸:权重函数初始化过大,
解决:梯度截断
2、word2vec、fasttext的区别:
word2vec训练方式有两种,Cbow和Skip-gram,加速方法有两种层次softmax和负采样
cbow是上下文预测当前词;skip-gram是当前词预测上下文;权重矩阵过大,导致计算量大
层次softmax是huffman树,高频词路径短,低频次路径长,每个节点是一个二分类,但低频次深度大,计算量大
负采样是构造一个正样本多个负样本的集合,使输出概率最大,
都是极大似然估计
word2vec是无监督学习过程,输入是上下文,预测是中间词
fasttext是分类算法,有监督,词向量是中间结果,输入是整个句子,输出是分类结果
3、损失函数有哪些:平方差损失,交叉熵损失、0-1损失
一般使用交叉熵损失,是因为在更新权值求导过程中,交叉熵的值中没有激活函数的导数,而平方差损失中有,这就会导致 权值矩阵更新较慢
4、激活函数有哪些:tanh、sigmoid、relu
5、LSTM为何能防止梯度消失:
记忆单元中起的作用,在求导的过程中,权值的更新不是激活函数的导数,而是激活函数的实际值
6、为什么会过拟合和欠拟合:
过拟合:模型过于复杂+数据存在偏差
解决:L1和L2范数,一个会导致特征少,一个会保留更多的特征;dropout每次只更新部分权重,相当于训练多个模型;提 前截断模型
欠拟合:模型过于简单+数据量少
解决:增大数据量
7、讲一下transformer:
1、输入是词向量+位置向量+segment向量
2、经过WQ、WK和WV矩阵得到QKV矩阵
3、Z=softmax(QKT/8)V
4、送入前向网络,relu函数和线性激活函数
虽然加入了位置信息,但还不是足够的,在计算QKV的过程中,加上两个词之间的距离是1
8、bert和gpt的区别:
1、bert使用双向信息(类似于完型填空),gpt使用单向信息
2、gpt更适合做生成
3、bert使用了transformer的encoder层,而gpt使用了encoder和decoder层
4、maked解决了在预训练时多层自己看见自己的问题
9、BM25和tf-idf算法对比:
1、bm25增加了几个可调节参数,使得在应用上更加灵活和强大
2、词频对得分的影响控制在一定范围内
10、CRF讲一下:
条件随机场,在给定输入X的情况下,随机变量Y的条件概率输出构成条件随机场
在实体识别中的作用是 通过转移概率矩阵限制结果中错误情况的发生
计算过程是维特比算法:每步保存到达这一步是BMES的最大概率
CRF层的损失计算:最大化(真实路径得分/所有路径得分),可通过-log最小值
11、textrank的原理:
计算两两句子的相似度,并通过迭代函数收敛得到每个句子的权重
12、HMM分词:观察句子4*10000(10000是词汇量),转移矩阵4*4,初始矩阵IS(开头是BMES的概率)
13、样本不平衡问题:
1、重采样
2、惩罚函数对小样本惩罚更大
3、few shot learning:C-way K-shot(计算的是每个way的特征向量,预测的时候得到的向量与特征向量计算相似度)
15、大模型耗时问题:知识蒸馏,利用训练好的大模型去指导小模型训练,hard target和soft target
16、attention的计算方法:
1、点乘
2、加入参数,有三种方式大概
17、filed-gate network:
1、计算标签层的attention
2、计算类目层的attention
3、两者的相对位置相乘再softmax
4、与标签层的隐含层向量加权叠加得到预测结果
18、pointer-network:
attention层softmax的结果直接当做概率预测向量
19、pointer-generator network:
1、attention层的结果与上一层输出得到预测向量P
2、attention层的结果与上一层的输出和输入计算得到概率p
3、预测向量=p*P+(1-p)*(attention层未softmax的结果),p=0表明从原句中抽取,p=1表明从词汇表中抽取
20、蓄水池抽样:n个元素中等概率抽取m个元素
i < m res[i] = data[i]
for i = m; i< data.length;i++
d = next.Int(0,i+1) # 从0到i中随机抽取一个数字
if d < m:
res[d] = data[i]
这样的结果就是res中每个元素的都是等概率m/n从n中获取的
21、意图识别模型的评价指标:
1、意图和答案的准召
2、线上有PV、UV、各个意图的回复率
22、标题生成的评估指标:
1、rouge得分:一般指召回率,40%左右
2、点击率和投递率
23、RNN不能使用RELU的原因:因为如果W初始化不是单位矩阵的话,BPTT时就是W的n次方,容易梯度爆炸,而textCNN可 以使用是因为每层权重不一样
24、快排+循环链表
25、分词算法:HMM+正向最大匹配+反向最大匹配
26、分词工具:ltp(哈工大分词)、jieba
27、训练的时候词向量是一起训练的,并没有预训练词向量
28、LR(逻辑斯蒂回归):通过极大似然函数求参数
29、决策树的离散特征和连续特征:
连续特征离散化再做处理
ID3树:信息增益:H(D)-H(D|A)
C4.5树:信息增益比
30、随机森林:
从总体样本中随机取一部分样本进行训练,通过多次这样的结果,进行投票获取平均值作为结果输出
31、GBDT:梯度提升决策树
Boosting思想:各个基分类器有依赖,将基分类器层层叠加,每一层训练的时候,对前一层分错的样本加上更高的权重
XGBoost:提升GBDT的计算效率