ruotianluo / self-critical.pytorch

Unofficial pytorch implementation for Self-critical Sequence Training for Image Captioning. and others.
MIT License
991 stars 278 forks source link

使用new self critical yml训练transformer的结果比预期的低很多 #246

Open ecustliu opened 3 years ago

ecustliu commented 3 years ago

你好,我直接使用transformer_nsc.yml进行训练,前15个epoch使用cross entropy训练,后面使用new_self_critical训练,训练结果没有达到120。 BASE: transformer.yml reduce_on_plateau: true noamopt: false learning_rate: 0.00001 learning_rate_decay_start: -1

self_critical_after: -1 structure_after: 15 train_sample_n: 5 structure_loss_weight: 1 structure_loss_type: new_self_critical

max_epochs: 30

下面是我在Karpathy's test split的结果: Bleu_1: 0.786 Bleu_2: 0.626 Bleu_3: 0.477 Bleu_4: 0.357 computing METEOR score... METEOR: 0.274 computing Rouge score... ROUGE_L: 0.567 computing CIDEr score... CIDEr: 1.184

请问我这样训练对吗?但是我使用普通的self-critical训练,结果会比较正常。在inference阶段,beam_size设置为3的时候,cider达到了128

ruotianluo commented 3 years ago

你需要先用transformer.yml train,然后再转到nsc