BERT4Rec性能问题 #1293
-
BERT4Rec在Beauty数据集上跑出的最好结果与DuoRec中所报告的结果相差甚远,Beauty数据集采用5-core的预处理方式过滤,为了公平比较,我都是采用的全排序评估方式,其他参数也都是按照论文来设置的,具体设置如下: 结果如下:(mask_ratio经过超参数调优最好为0.2) DuoRec论文中所报告的结果Recall@5:0.0193,Recall@10:0.0401,NDCG@5:0.0187,NDCG@10:0.0254 |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
@kuzma-long 您好,首先 DuoRec 论文中固定的训练集批次大小为 256( 其次,论文中提到 我们团队经过调节 best params: {'attn_dropout_prob': 0.2, 'hidden_dropout_prob': 0.3} 在最优的参数配置下,BERT4Rec 的结果为: attn_dropout_prob:0.2, hidden_dropout_prob:0.3
Valid result:
recall@5 : 0.0377 recall@10 : 0.0619 mrr@5 : 0.0188 mrr@10 : 0.022 ndcg@5 : 0.0235 ndcg@10 : 0.0313 hit@5 : 0.0377 hit@10 : 0.0619 precision@5 : 0.0075 precision@10 : 0.0062
Test result:
recall@5 : 0.0268 recall@10 : 0.0445 mrr@5 : 0.0132 mrr@10 : 0.0156 ndcg@5 : 0.0166 ndcg@10 : 0.0223 hit@5 : 0.0268 hit@10 : 0.0445 precision@5 : 0.0054 precision@10 : 0.0045 此时 RecBole 所复现模型结果的召回值 Recall 高于 DuoRec 论文结果,而 NDCG 值相对较低,造成这一现象的原因是 RecBole 的提前停止机制和两个评测指标的不同侧重点。 一方面,RecBole 默认使用以 Recall@10 作为指示器,当模型在验证集上 Recall@10 的评测值连续 比如当 attn_dropout_prob:0.1, hidden_dropout_prob:0.1
Valid result:
recall@5 : 0.0408 recall@10 : 0.0601 mrr@5 : 0.0233 mrr@10 : 0.0259 ndcg@5 : 0.0276 ndcg@10 : 0.0339 hit@5 : 0.0408 hit@10 : 0.0601 precision@5 : 0.0082 precision@10 : 0.006
Test result:
recall@5 : 0.0302 recall@10 : 0.0456 mrr@5 : 0.0174 mrr@10 : 0.0194 ndcg@5 : 0.0206 ndcg@10 : 0.0255 hit@5 : 0.0302 hit@10 : 0.0456 precision@5 : 0.006 precision@10 : 0.0046 在比较不同的基线模型时,超参数的调节至关重要,不同的调节方式和范围也会取得不同的结果。但只要都在同一个框架体系下复现,并采用同样的配置方式评测,模型的结果就是可比的,这也是 RecBole 项目的出发点和立足点。 感谢您对 RecBole 的关注,希望您的问题能得到解答。 |
Beta Was this translation helpful? Give feedback.
@kuzma-long 您好,首先 DuoRec 论文中固定的训练集批次大小为 256(
The training batch size is set to 256.
),即train_batch_size=256
,但是您提供的配置文件中设置的值为 128,与原文不符。其次,论文中提到
The Dropout [40] rate on the embedding matrix and the Transformer module are chosen from {0.1, 0.2, 0.3, 0.4, 0.5}.
,即模型的超参数hidden_dropout_prob
和attn_dropout_prob
都需要经过调节才能达到最优结果。我们团队经过调节
hidden_dropout_prob
和attn_dropout_prob
得到在 Amazon Beauty 数据集上的最优参数配置为:在最优的参数配置下,BERT4Rec 的结果为: