返回列表

[1st place solution] Last Query Transformer RNN

416. Riiid Answer Correctness Prediction | riiid-test-answer-prediction

开始: 2020-10-05 结束: 2021-01-07 学习效果预测 数据算法赛
[第1名方案] Last Query Transformer RNN

[第1名方案] Last Query Transformer RNN

作者:keetar (Grandmaster)
发布时间:2021-02-10

各位 Kaggle 参赛者好,这里是论文链接。
论文链接:https://arxiv.org/abs/2102.05038
详情请参阅该论文。

摘要

我想使用 Transformer,但我无法将很长的历史记录输入到模型中,因为当输入长度为 L 时,Transformer 中的 QK 矩阵乘法具有 O(L^2) 的时间复杂度。

方法

我的方法是仅使用最后的输入作为查询,因为在历史输入中,我只需要预测最后一个问题的回答正确率。这意味着我将只比较最后一个问题和其它问题,而不会比较其它问题之间的情况。这使得 Transformer 中的 QK 矩阵乘法具有 O(L) 的时间复杂度(因为 len(Q)=1, len(K)=L),这允许我输入更长的历史记录。

细节

在最终的提交中,我集成了 5 个模型,输入的历史长度为 1728。
我没有做太多的特征工程,因为我可以使用极长的历史记录,我希望模型能自己从中学习。我使用的 5 个输入特征分别是:问题 ID、问题部分、回答正确性、当前问题的耗时以及时间戳差值。

致谢

感谢 @limerobot,在 2019 Data Science Bowl 的第 3 名方案中分享了处理表格数据问题的精彩 Transformer 模型。这是我在 Transformer 编码器上工作的一个很好的动力。
https://www.kaggle.com/c/data-science-bowl-2019/discussion/127891

感谢比赛赞助商和组织者举办了这场有趣的比赛。

感谢阅读。

同比赛其他方案