openspeech-team / openspeech

Open-Source Toolkit for End-to-End Speech Recognition leveraging PyTorch-Lightning and Hydra.
https://openspeech-team.github.io/openspeech/
MIT License
668 stars 115 forks source link

Seq2Seq 모델에서 teacher forcing 사용시 validation loss가 계속 증가하는 문제 #171

Closed Klassikcat closed 1 year ago

Klassikcat commented 2 years ago

❓ Questions & Help

Seq2Seq 모델에서 Teacher forcing 사용시 validation loss가 지나치게 높고, epoch당 validation loss가 증가함

environment

Device: RTX 3090 * 4 OS: Ubuntu 20.24 CUDA Toolkit version: 11.3 Nvidia driver version: 465.19.01 Model: Seq2Seq(Listen Attend and Spell, Conformer Attention)

Details

안녕하십니까, Openspeech의 모듈을 사용한 코드를 토대로 KsponSpeech 데이터를 기반으로 음성인식 모델을 학습하고 있습니다. 토크나이저와 manifest file은 개인적으로 제작하여 사용하고 있습니다.

Conformer attention을 사용하여 모델을 학습하는 도중, teacher forcing ratio를 1.0으로 하였을 때 train CER, WER및 valid CER, WER는 정상적으로 감소되고 있어나 validation loss가 증가하는 이슈가 발생하였습니다. DeepSpeech2(CTC)를 사용하여 모델을 학습할 때는 validation loss가 정상적으로 줄어들었음을 확인하였습니다.

해당 이슈가 multi-gpu 사용시 발생하는 이슈인지, 아니면 seq2seq 모델에서 teacher forcing을 사용할 시 원래 발생하는 문제인지 궁금하여 여쭈어봅니다. 모델의 파라미터는 다음과 같습니다. 감사합니다.

    num_mels=80
    num_encoder_layers=3
    num_decoder_layers=2
    hidden_state_dim=512
    encoder_dropout_p=0.3
    encoder_bidirectional=True
    rnn_type=lstm
    joint_ctc_attention=False
    max_length=128
    num_attention_heads=1
    decoder_dropout_p=0.2
    decoder_attn_mechanism="dot"
    teacher_forcing_ratio=1.0
    optimizer="adam"
    init_lr=1e-10
    peak_lr=1e-4
    reduction="mean"
    criterion=
    warmup_steps=5000
스크린샷 2022-06-15 오전 1 54 14 스크린샷 2022-06-15 오전 1 52 07 스크린샷 2022-06-15 오전 1 52 17 스크린샷 2022-06-15 오전 1 52 31 스크린샷 2022-06-15 오전 1 52 44 스크린샷 2022-06-15 오전 1 52 53 스크린샷 2022-06-15 오전 1 53 04 스크린샷 2022-06-15 오전 1 53 15
sooftware commented 1 year ago

티쳐포싱 비율이 높으면 train때와 evaluation 사이에 차이가 생깁니다. 이걸 Exposure Bias Problem이라고 흔히 말하는데, 이 문제 때문에 valid loss가 증가할 수 있습니다. 또한, CTC모델의 경우 시퀀스 태깅이기 때문에 티쳐포싱 개념 자체가 적용이 되지 않습니다. 그러므로 CTC 모델과 디코더가 존재하는 모델을 비교하기는 어렵습니다.

Klassikcat commented 1 year ago

@sooftware 감사합니다. 티쳐포싱을 사용할 시 Exposure Bias Problem이 발생할 수 있고, 수치상으로는 이 차이가 명확히 보이는군요. CTC 모델의 경우 환경 문제가 아닐 것이라는 뜻으로 올렸습니다. 감사합니다.