TencentGameMate / chinese_speech_pretrain

chinese speech pretrained models
997 stars 84 forks source link

用CTC直接微调效果非常差 #39

Open zyh3826 opened 1 year ago

zyh3826 commented 1 year ago

在common voice上使用huggingface的Wav2Vec2ForCTC进行微调,模型加载

model = Wav2Vec2ForCTC.from_pretrained(
                                        model_path,
                                        ctc_loss_reduction='mean',
                                        pad_token_id=tokenizer.pad_token_id,
                                        vocab_size=len(tokenizer))
model.freeze_feature_extractor()

loss从160直接干到4就不降了,预测的时候输入一句话,其输出向量每一行都是一样的,也就是说只输出同一个字,如图 train loss image eval loss image logits image pred_id image 怎么调都无法成功。 但是在common voice上用facebook/wav2vec2-large-xlsr-53微调是有效果的 image

LiuShixing commented 1 year ago

hugging face使用我用的是Wav2Vec2Model,没有用Wav2Vec2ForCTC,不知道是不是因为这个。另外,common voice是多语言吧,我们的模型只在中文上训练的。其他语言能力未知

zyh3826 commented 1 year ago

hugging face使用我用的是Wav2Vec2Model,没有用Wav2Vec2ForCTC,不知道是不是因为这个。另外,common voice是多语言吧,我们的模型只在中文上训练的。其他语言能力未知

common voice的中文数据,2GB的那个,Facebook那个也是没有CTC,自己做词表,然后接CTC微调

lizongyao123 commented 10 months ago

@zyh3826 你直接CTC微调最后成功了吗

zyh3826 commented 10 months ago

@zyh3826 你直接CTC微调最后成功了吗

没有,换fb的模型了