⚡
Transformerベースの推薦
Self-Attentionでユーザー行動系列を一度に処理
SASRec(2018)が代表的だ。TransformerのSelf-Attentionを推薦システムに初めて適用したモデル。
GRU4Recと目標は同じ — 次のアイテム予測。違いは方法論にある。
GRU vs Transformer
GRUは系列を前から順に処理する。10番目のアイテムの表現に1番目の情報が届くには、9回のhidden state伝達が必要だ。情報が希釈される。
Transformerは全ての位置が全ての位置に直接attentionする。10番目が1番目を直接参照できる。長距離依存に強く、GPU並列化もはるかに有利。
実際の適用
Alibaba、JD.comなどの大手ECサイトでGRU4RecをTransformerベースに置き換えてCTRが有意に上がったという報告がある。ただしモデルが大きくなるとサービングレイテンシが問題になる。
動作原理
1
アイテム系列にPosition Encodingを追加
2
Multi-Head Self-Attentionでアイテム間の関係を学習
3
Feed-Forward + Layer Normで表現を精製
4
最後の位置の出力で次のアイテムを予測
メリット
- ✓ 長距離依存を直接捉える(GRU比で強み)
- ✓ GPU並列化で学習速度が速い
デメリット
- ✗ AttentionのO(n²)計算量 — 系列が長いとコスト増加
- ✗ サービングレイテンシの管理がGRUより困難
ユースケース
大規模ECサイトのリアルタイム推薦
動画プラットフォームの「次の動画」推薦