nogawanogawa / paper_memo

4 stars 0 forks source link

Next item recommendation with self-attentive metric learning #37

Closed nogawanogawa closed 2 years ago

nogawanogawa commented 2 years ago

論文URL

https://arxiv.org/abs/1808.06414

著者

Shuai Zhang, Yi Tay, Lina Yao, Aixin Sun

会議

AAAI'19

背景

ユーザーの行動履歴にもとづいて推薦を行う際に、短期ー長期の嗜好を十分にモデル化できた手法がない。

目的

ユーザの履歴についてitem-itemの相互作用(おそらくattention mapのこと)を同時に考慮した推薦モデルの構築

アプローチ

nogawanogawa commented 2 years ago

背景

過去のデータを利用して将来の予測を行うことは、多くの機械学習ベースの推薦システムの基礎となっています。 これを行うにあたって、近年(※論文発表は2019年)ではRNN(Recurrent Neural Network)やCNN(Convolutional Neural Network)といったニューラルネットワークを活用した推薦モデルが注目されています。RNN系は、連続するitem間の相互作用がリカレント行列で捉えられ、長期的な依存関係が読みながらリカレントメモリに保持される仕組みになっています。一方、CNNは、入力列に対してパラメータ化された変換をスライドさせることにより、相互作用を捉える仕組みになっています。

どちらのモデルも、モデルはユーザの履歴に関して興味を十分に捉えることはできているとは言えない。

nogawanogawa commented 2 years ago

目的

ユーザの履歴についてitem-itemの相互作用(おそらくattention mapのこと)を同時に考慮した推薦モデルの構築

アプローチ

nogawanogawa commented 2 years ago

AttRec

AttRecのアーキテクチャを下記に示す。

image

短期的な興味と長期的な興味を組み合わせて構築されている。

Self Attention

AttRecで使用するSelf Attentionの概念図を下記に示す。

image

Self AttentionはAttentionメカニズムの中でも特殊な例で、1つのシーケンスを自分自身と照合し、シーケンスの要素それぞれがシーケンス内のどこに注目するかをモデリングしている。これにより、通常のRNNとは異なり、シーケンス内の要素の関係を距離に関わらず捉えることができる。

通常のSelf Attentionでは、1つの要素のEmbeddingからQuery, Key, Value が別々に生成され、それらを用いて出力が計算される。 AttRecでは、Query, Key, Valueは重みを共有したNNによって計算される。

Embeddingの次元をdとし、対象とするシーケンス長をLとすると、特定のユーザーuの時点tにおける関係するEmbeddingの集合は下記のような行列で表現できる。

image

これについて、まずQueryとKeyのシーケンスは上記で同じとなっている。次に、QueryとKeyについて別々の行列積とReLUを適用する。

image

ここからAttentionMapを下記のように算出する。

image

そのため出力はL×Lの行列になる。その後、Valueと積をとってAttentionの出力を得る。

image

通常、valueはXとは異なる値になるが、AttRecでは同じにしている。 この状態では長さLのベクトルのリストになってしまっているので、1つのAttention表現を取得するために、平均を用いる。

image

ここまでで、Self Attentionとしての処理は終わり、ユーザーの短期的な短期的な興味を示している。 また、Transformer同様Position Encodingを行う。 はじめのEmbeddingを得る段階で、sin, cos関数を使用してTime Embeddingを作成する。

image

これらはKey , Queryに対して非線形変換の前に単純に加算される。

ユーザーの長期的嗜好のモデリング

latent factorアプローチ同様、各ユーザーと各アイテムに対して latent factorを割り当てる。 ここで、単純に内積でユーザーとアイテムの関係を計算することができるが、先行研究で内積は最適解にならないことが示唆されていることから、関係についてはユークリッド距離を用いて算出する。

image

この距離が小さいほど、ユーザーがアイテムを好み、大きいほどユーザーはアイテムに無関心であることを表す。

学習

時間ステップ t での短期的興味と長期的興味が与えられたとき、我々のタスクは時間ステップ t+1 でユーザがインタラクションするアイテムを予測することが目的である。

学習に関して目的関数を下記のように設定する。

image

第1項がユーザーとアイテムのユークリッド距離を表した長期的興味、第2項が短期的興味を表す。(Hは予測した結果, Xはアイテムから計算されるValue) これらをωで荷重をかけたものを目的変数としている。

pairwise ranking methodを採用し、T個のアイテムをネガティブサンプリングする。 最適化関数はadaptive gradient algorithmを使用し、yの値をもとに上位のアイテムを推薦するものとする。

nogawanogawa commented 2 years ago

評価

image

先行研究の他の手法より、HR@50・MRRが優れていることを確認。

image

Self Attentionの有無での結果の比較を見るに、ありのほうが優れていることを確認。