fasttext模型在大量类别上能够快速训练的原因、为了提升fasttext模型的评估指标做了哪些优化

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


fasttext模型在大量类别上能够快速训练的原因、为了提升fasttext模型的评估指标做了哪些优化 

简述BERT模型的训练过程、BERT模型在推断过程中做了哪些性能优化、BERT模型在训练过程中做了哪些性能优化 

在某个模型训练过程中遇到的难题及其解决办法、对自动超参数调优方法的理解、模型部署时如何实现热更新、说一说最近看过的一篇论文

Softmax反向传播推导、Bert的模型架构


问题:fasttext模型在大量类别上能够快速训练的原因

问题背景

fasttext模型因其简单的结构和在大规模文本处理上的高性能而闻名于世,而考核该模型在哪些部分上的优化得以增强性能几乎成为fasttext面试中的必考问题。

解题思路

第一步: 找出核心知识点并解析

  • fasttext模型:
    • fasttext模型是结构简单,仅由Embedding层,GAP层和输出层组成,适用于大规模文本分类的高效选择之一。使用n-gram特征,层次softmax是fasttext模型的两大显著特征。

  • fasttext模型高效训练的原因:
    • 1,模型结构简单,参数量相比大型模型(如BERT)较少,即提高训练效率又提高推断效率。
    • 2,当业务场景中存在大量目标类别时,fasttext的输出层使用层次softmax提升训练效率。

  • 层次softmax详解:
    • 1,什么是层次softmax: 是一种使用最优二叉树结构替代网络原有输出层(全连接层)的方式。
    • 2,提升训练效率的内在原理: 在训练阶段,由于二叉树是根据预先统计的每个标签数量的占比构造的哈夫曼树(最优二叉树),根据哈夫曼树的性质,使得占比最大的标签节点路径最短,又因为路径中的节点代表参数量,也就意味着这种方式需要更新的参数最少,因此提升训练速度。
    • 3,该方式对模型推断(预测)是否有影响: 在预测阶段,相比全连接层速度略有提升,因为运算参数减少了1/N,N是标签总数。
    • 4,是否存在一定弊端: 因为最优二叉树的节点中存储参数,而样本数量最多的标签对应的参数又最少,可能出现在某些类别上欠拟合,影响模型准确率。因此,若非存在大量目标类别产生的训练低效,首选具有全连接层的输出层。

第二步: 整合核心知识点形成答案

答案

fasttext的输出层使用层次softmax提升在大量类别上的训练效率。


问题:为了提升fasttext模型的评估指标做了哪些优化

解题思路

第一步: 找出核心知识点并解析

  • fasttext模型:
    • fasttext模型是结构简单,仅由Embedding层,GAP层和输出层组成,适用于大规模文本分类的高效选择之一。使用n-gram特征,层次softmax是fasttext模型的两大显著特征。

  • fasttext模型如何提升评估指标:
    • 1,迁移词向量,使模型初始化的参数为迁移参数。
    • 2,对数据进行增强,对于中文文本数据,一般是选择回译增强法,扩充正负样本的数量。
    • 3,根据文本分类目标和业务要求修改损失函数(这种方法实现难度较大,一般不采用)。

第二步: 整合核心知识点形成答案

答案

在项目中,我们首先使模型初始化参数为迁移参数,这样我们的模型训练时,起始的验证准确率由原来的50%提升至63%,最终准确率也提升了大概7%。而且我们还对正负样本数据分别进行回译增强,在原有的数据集基础上,我们分别上采样了正负样本各1000条,有效扩展了数据特征维度,将验证准确率由之前的87%提升至90%。


fasttext模型在⼤量类别上能够快速训练的原因

1:fasttext模型是结构简单,仅由Embedding层,GAP层和输出层组成,适⽤于⼤规模⽂本分类
的⾼效选择之⼀。使⽤n-gram特征,层次softmax是fasttext模型的两⼤显著特征。
2: 模型结构简单,参数量相⽐⼤型模型(如BERT)较少,即提⾼训练效率⼜提⾼推断效率。
3: 当业务场景中存在⼤量⽬标类别时,fasttext的输出层使⽤层次softmax提升训练效率。
4: 关于层次softmax
4.1: 层次softmax是⼀种使⽤最优⼆叉树结构替代⽹络原有输出层(全连接层)的⽅式。
4.2: 提升训练效率的内在原理: 在训练阶段,由于⼆叉树是根据预先统计的每个标签数量的
占⽐构造的哈夫曼树(最优⼆叉树),根据哈夫曼树的性质,使得占⽐最⼤的标签节点路径
最短,⼜因为路径中的节点代表参数量,也就意味着这种⽅式需要更新的参数最少,因此提
升训练速度。
4.3: 该⽅式对模型推断(预测)是否有影响: 在预测阶段,相⽐全连接层速度略有提升,因为运
算参数减少了1/N,N是标签总数。
4.4: 是否存在⼀定弊端: 因为最优⼆叉树的节点中存储参数,⽽样本数量最多的标签对应的
参数⼜最少,可能出现在某些类别上⽋拟合,影响模型准确率。因此,若⾮存在⼤量⽬标类
别产⽣的训练低效,⾸选具有全连接层的输出层。

为了提升fasttext模型的评估指标都做了哪些优化

1: 迁移词向量,使模型初始化的参数为迁移参数。
2: 对数据进⾏增强,对于中⽂⽂本数据,⼀般是选择回译增强法,扩充正负样本的数量。
3: 根据⽂本分类⽬标和业务要求修改损失函数(这种⽅法实现难度较⼤,⼀般不采⽤) 。
在项⽬中,我们⾸先使模型初始化参数为迁移参数,这样我们的模型训练时,起始的验证准确率
由原来的50%提升⾄63%,最终准确率也提升了⼤概7%。⽽且我们还对正负样本数据分别进⾏回
译增强,在原有的数据集基础上,我们分别上采样了正负样本各1000条,有效扩展了数据特征维
度,将验证准确率由之前的87%提升⾄90%。

 

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