NLP开发常见问题
Q01:过拟合问题?
解决方案:
1,数据增强;增加数据集;
在输入层加入噪声:数据集增强。
在隐藏层加入噪声:Dropout。
在输出层加入噪声:标签平滑。
4,添加残差块;
5,提前终止;
6,随机池化等
Q02:梯度消失和梯度爆炸
解决方案:
1,由于梯度消失或者梯度爆炸都是一堆数值的累乘,如果是一堆大于1的数一起累乘,容易发生梯度爆炸;
如果是一堆小于1的数一起累乘,容易发生梯度消失,所以,一般把训练数据送入模型之前都会做归一化处理;
2,梯度裁剪:梯度裁剪是一种简单有效的方法,通过设置一个阈值,当梯度的范数超过该阈值时,将其裁剪到该阈值范围内,从而防止梯度爆炸
3,换模型,比如RNN模型容易发生梯度爆炸或者梯度消失,LSTM和GRU模型虽然不能完全解决梯度消失问题,但是在一定程度上可以缓解梯度消失
Q03:模型漂移和模型退化的问题?
解决方案:
1,更换模型;
2,使用付费模型
Q04:LangChain问题:1,版本不稳定,升级到0.2以后,0.1版本不可用;2,LangChain更新迭代太慢,很多功能都没有,需要程序员重新开发
解决方案:弃用LangChain,根据需求重新开发一版
Q05:泛化能力不足的问题?
解决方案:
◼ 正则化
◼ 增加神经网络层数
◼ 使用正确的代价函数
◼ 使用好的权重初始化技术
◼ 人为拓展训练集
◼ 弃权技术
增加模型复杂度:
增加测试数据相似度较高的数据集:
Q06:多分类问题:
1,如果是两层循环:准确率高达98%-99%
2,如果是三层循环:准确率95%-96%
3,如果是四层五层循环:准确率不但会大大降低,还有可能分错
调优技巧:
1,超参数调节:网格搜索、随机搜索
2,激活函数的选择:
3,损失函数的选择:
原文地址:https://blog.csdn.net/w13716207404/article/details/143800820
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!