You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于ResNet50+BiLSTM的手写句子识别模型损失过高且准确率持续为0的问题排查求助

基于ResNet50+BiLSTM的手写句子识别模型损失过高且准确率持续为0的问题排查求助

我最近在做手写句子识别的任务,用的是ResNet50搭配BiLSTM的组合架构。我的数据集是手写句子的图片,每个句子对应一个图片序列;每个句子有10个样本,都存在单独的文件夹里,标签则存在CSV文件中,包含句子ID和对应的文本标签。我用TensorFlow框架实现,但训练时遇到了很棘手的问题:

  • 损失函数初始值是9.1130,之后一直居高不下,没有明显下降趋势
  • 已经训练了20个epoch,准确率始终是0.0000e+00,完全没有提升

我的数据集路径定义和自定义数据生成器代码如下:

# Dataset paths
dataset_path = "/content/drive/My Drive/Images"
csv_path = "/content/drive/My Drive/Labels/lines-labels.csv"

# Data Generator:
# 我实现了一个自定义数据生成器来加载图片序列和对应的标签:

class DataGenerator(Sequence):
    def __init__(self, dataset_path, labels_df, batch_size, seq_length, img_width, img_height):
        # 初始化参数...

    def __len__(self):
        # 返回批次数...
    
    def __getitem__(self, index):
        # 加载一批序列数据...

模型方面,我用ResNet50做特征提取,双向LSTM处理序列建模,代码如下:

def build_resnet_bilstm_model(input_shape, num_classes):
    resnet_base = ResNet50(weights='imagenet', include_top=False, input_shape=(224, 224, 3))

    for layer in resnet_base.layers:
        layer.trainable = False

    input_layer = Input(shape=input_shape)
    time_distributed = TimeDistributed(resnet_base)(input_layer)
    time_distributed = TimeDistributed(Flatten())(time_distributed)
    
    bilstm = Bidirectional(LSTM(256, return_sequences=False))(time_distributed)
    dropout = Dropout(0.5)(bilstm)
    
    output_layer = Dense(num_classes, activation='softmax')(dropout)
    
    model = Model(inputs=input_layer, outputs=output_layer)
    model.compile(optimizer=Adam(learning_rate=0.001), loss='categorical_crossentropy', metrics=['accuracy'])

    return model

训练参数设置:

  • 训练轮次:20
  • 早停机制patience:5
  • 最小学习率:1e-6

我现在怀疑问题可能出在以下几个方向,想请教各位大佬:

  • 图片或者标签的预处理是不是存在错误?
  • 数据生成器的实现,或者序列长度(SEQ_LENGTH = 10)的设置有没有问题?
  • 模型架构本身,尤其是ResNet50和BiLSTM的整合部分是否存在不合理的地方?

希望大家能给我一些建议或者排查思路,帮我改善模型的训练表现。

备注:内容来源于stack exchange,提问作者Hevi Khosrawi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 12:05:31