ABSA-PyTorch icon indicating copy to clipboard operation
ABSA-PyTorch copied to clipboard

RAM 和 TNET 跑出来的ACC和给的数据差2-3个点左右

Open xuuuluuu opened this issue 5 years ago • 9 comments

RAM 和 TNET 用default的值跑出来的ACC和给的数据差2-3个点左右,请问是hyper parameter的原因么? 哪些parameter会对结果影响比较大

xuuuluuu avatar Jul 10 '19 16:07 xuuuluuu

100个epoch, batch size 16, lr 0.001,hidden dim =300,ram loss 大概停留在0.3-0.4, acc: 0.7866, F1 0.6724, tnets loss 大概在0.1, acc: 7902, F1 0.6705

xuuuluuu avatar Jul 11 '19 02:07 xuuuluuu

有出入是正常的,因为小数据集的确对超参数比较敏感,尤其是非BERT的模型,对num_epoch、dropout、random_seed都比较敏感。 建议新做模型的话,用10折交叉验证版本的train文件,结果不是那么高,但会稳定一些,随机性会小一些。

songyouwei avatar Jul 11 '19 03:07 songyouwei

没有记错的话,原文中batch_size=64

GeneZC avatar Jul 11 '19 04:07 GeneZC

试了下batch size 64, 没什么提高。所以这种非bert的模型的结果,是需要跑很多组random seed才能复现结果么?

xuuuluuu avatar Jul 11 '19 05:07 xuuuluuu

ABSA这个小邻域,确实有不少复现方面的问题

songyouwei avatar Jul 11 '19 06:07 songyouwei

IAN,RAM这些模型的结果都比较差,与原论文 相差3,4个点,这是我的参数设置100个epoch, batch size 16, lr 0.002 batchsize:32, 64个epoch RAM在rest14上的结果 test_acc: 0.7866, test_f1: 0.6694 与论文的F1相差更大,IAN结果也比不上原论文。想请问一下,之前在实现这些模型的时候,有达到原论文结果吗?还是数据集划分和原论文不同的原因或者参数设置的原因?请问最好的参数设置或者模型您有保留吗?

minusVIP avatar Nov 27 '19 13:11 minusVIP

是的,同楼上,可能需要一套最好的参数。比如隔壁的ABSA_Keras就有相应的数据。我感觉这个蛮重要的。如果能调到原文,对我们follow是特别有好处的。

GW-S avatar Nov 27 '19 19:11 GW-S

@peaceminumi RAM和MemNet的确存在一些复现上的问题,但是IAN按照原文设置还是能到文中的结果的

GeneZC avatar Nov 28 '19 01:11 GeneZC

是的,RAM和MemNet在memory那里复现有点问题。对于RAM或许可以尝试一下不要直接调用BiLSTM,而是自己写。

minusVIP avatar Nov 30 '19 06:11 minusVIP