阿里、腾讯、滴滴等社招面试问题整理

已入职阿里,腾讯总监面聊得不开心,挂,也拿到滴滴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的计算效率

      

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章