nogawanogawa / paper_memo

4 stars 0 forks source link

BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer #36

Closed nogawanogawa closed 2 years ago

nogawanogawa commented 2 years ago

論文URL

https://arxiv.org/abs/1904.06690

著者

Fei Sun, Jun Liu, Jian Wu, Changhua Pei, Xiao Lin, Wenwu Ou, and Peng Jiang

会議

CIKM 2019

背景

ユーザーの興味を正確に把握することは推薦において非常に重要である。 それに対応するために、ユーザーの過去のインタラクションの系列に基づいて推薦を行う様々な手法が提案されている。 ただしこれらは、系列を古い方から新しい方に向かう一方向にしか系列を考慮できていない。これでは、RNNの隠れ層の表現が制限されると考えられ、各項目は前の項目からしか情報を得られないのは制約となりうる。

目的

双方向シーケンシャルを考慮した推薦の実現

アプローチ

nogawanogawa commented 2 years ago

背景

ユーザーの興味を正確に把握することは推薦において非常に重要である。 それに対応するために、ユーザーの過去のインタラクションの系列に基づいて推薦を行う様々な手法が提案されている。 ただしこれらは、系列を古い方から新しい方に向かう一方向にしか系列を考慮できていない。これでは、RNNの隠れ層の表現が制限されると考えられ、各項目は前の項目からしか情報を得られないのは制約となりうる。

nogawanogawa commented 2 years ago

目的

双方向シーケンシャルを考慮した推薦の実現

アプローチ

nogawanogawa commented 2 years ago

BERT4Rec

BERT4Recのアーキテクチャを下記に示す。(図中b)

image

SASRecやRNNとの違いは、シーケンスを双方向に考えている点が最大の違いとなっている。

学習

シーケンスを双方向にするようになった結果、本来であれば得られない未来のデータが学習データに含まれ, 何も学習しないようになってしまう。これを回避するためにCloze task ( "Masked Language Model ")を採用する。

学習時には、シーケンスの中の一部のアイテムをランダムにMASKして学習し、推論時には最後のアイテムが[MASK]になっているように問題を設定して解くことで、シーケンスを複雑にいじることなく大量の学習データを生成することができる。

nogawanogawa commented 2 years ago

評価

image

先行研究と比べて良さそうなことが確認された。

image

Cloze task がちゃんと効いていることを確認。

image

あんまり良く分かってないけど、前方のアイテムに対してもAttentionがはられているから、うまいこと使えてるらしい。

image

マスクの割合はデータセットによって変わるらしい。