目录
1.模型的架构设计
1.1.从特征抽取角度进行设计
(1)通过probe探针,了解各种网络结构(CNN/LSTM)捕获到的语言学特征
(2)从预测任务、语料,找到需要哪些语言学特征
(3)基于(1)(2)选用合适的网络架构
(4)利用layer层叠
①扩大特征覆盖的输入token范围
②实现特征间的组合
1.2.保证训练能够收敛的设计
Batchnorm/layernorm
残差连接
RELU激活函数
1.3.保证泛化能力的设计
Dropout
1.4.验证架构是否达到预期
(1)使用probe探针验证语言学特征是否学习到。
2.模型在训练样本表现不佳(高偏差)
(1)查看LOSS曲线,确保模型收敛;
(2)提升模型复杂度,看看能否达到低偏差、低方差的理想状态
(3)将badcase集合与goodcase集合进行比较,或者与人脑对badcase的理想处理流程进行比较;寻找他们在哪些属性的统计分布上存在差异。那么这些属性,就可能是导致badcase的原因。属性包括:
a) 标注是否正确
b) 与其他样本的距离 (数据稀疏问题:badcase距离其他训练样本很远;考虑是否可以通过主动学习、数据增强的方式,构建类似数据,解决数据稀疏问题)
c) 对badcase样本的预测,有重要影响的样本子集的属性分布
d) 各Token对预测结果的影响度是否符合预期(即:热力图)
3.模型在验证集上表现不好(高方差)
引入dropout等正则化机制
4.鲁棒性
使用GAN对抗网络,发现模型处理不好的样本,提升模型效果。
引入dropout等正则化机制
5.其他思路
基于主动学习,补充语料
采用强化学习的方法进行模型训练,类似RLHF