预训练Glove+LSTM模型欠拟合:训练准确率不变求解决方案
情感分类任务训练准确率停滞问题排查与解决思路
问题背景
用预训练GloVe词向量结合LSTM模型做Google Play评论情感分类,数据集是自行爬取的5万+条评论,尝试对少数类别做随机过采样,但训练多轮后训练准确率始终没变化。
数据集关键信息
- Embedding维度:(41151, 100)
- 最大序列长度:731
- 过采样前标签分布:
{'positive': 58749, 'negative': 26643, 'neutral': 9106} - 过采样后标签分布:
{'positive': 58749, 'negative': 26643, 'neutral': 9106}(注:过采样后分布和原分布完全一致,说明过采样操作未生效) - 训练集X(已填充):(140997, 200)
- 验证集X(已填充):(17625, 200)
- 测试集X(已填充):(17625, 200)
- 训练集y(独热编码):(140997, 3)
- 验证集y(独热编码):(17625, 3)
- 测试集y(独热编码):(17625, 2003)(注:维度异常,应与训练/验证集一致为(17625,3))
核心模型代码
lstm_model = Sequential() lstm_model.add(Input(shape=(max_len,))) lstm_model.add(Embedding(input_dim=total_vocab, output_dim=embedding_dim, weights=[embedding_matrix], trainable=False)) lstm_model.add(LSTM(256, return_sequences=True)) lstm_model.add(LSTM(128, return_sequences=True)) lstm_model.add(LSTM(64)) lstm_model.add(Dense(128, activation='relu')) lstm_model.add(Dense(units=3, activation='softmax')) lstm_model.compile(loss='categorical_crossentropy', optimizer=Adam(learning_rate=0.001), metrics=['accuracy']) lstm_model.summary()
训练异常表现
训练多轮后准确率始终无提升(训练情况截图:
)
排查与解决思路
1. 数据集与预处理问题
- 验证过采样逻辑:过采样后标签分布没变化,说明代码没真正执行过采样操作,要检查过采样代码,确保对
neutral类别样本做了复制/生成,重新生成平衡数据集。 - 修复测试集标签维度:测试集y维度(17625,2003)明显错误,要检查独热编码代码,确保测试集标签正确转为3维独热向量,避免模型训练时维度不兼容。
- 调整序列填充长度:最大序列长度是731,但实际填充到200,要确认截断/填充是否保留了关键情感信息,可尝试用731或数据分位数长度,避免过度截断丢失有效特征。
- 检查数据划分:确认训练/验证/测试集划分无数据泄露,标签分布符合预期。
2. 模型结构与参数优化
- 放开Embedding层训练:当前Embedding层设为
trainable=False,GloVe词向量可能不适配评论领域语义,可改为trainable=True,允许词向量在训练中更新。 - 简化LSTM结构:连续3层LSTM容易导致梯度消失,可尝试保留1-2层LSTM,或在层间加
Dropout(0.2)缓解过拟合与梯度问题。 - 调整全连接层:LSTM输出后接128维Dense层,可尝试调整单元数,或添加
BatchNormalization层稳定训练。 - 调整学习率:当前Adam学习率0.001,若模型陷入局部最优,可降到0.0001,或用
ReduceLROnPlateau调度器在验证损失停滞时自动降学习率。
3. 训练过程优化
- 匹配损失函数与标签格式:确认用
categorical_crossentropy时标签是独热编码,若标签是整数编码要改用sparse_categorical_crossentropy。 - 调整批次大小:尝试把
batch_size改成32/64/128等常见值,避免批次过小导致训练不稳定、过大降低梯度更新效率。 - 添加早停机制:用
EarlyStopping回调函数监控验证损失或准确率,停止无效训练,防止过拟合。 - 检查梯度状态:若以上调整无效,可打印模型梯度值,排查是否有梯度消失/爆炸,针对性加梯度裁剪等操作。
内容的提问来源于stack exchange,提问作者mathias yeremia
相关产品推荐
相关产品推荐

