Upgrade to Pro — share decks privately, control downloads, hide ads and more …

論文読み会 KDD2022 | Multi-Behavior Hypergraph-Enhan...

cocomoff
September 02, 2024

論文読み会 KDD2022 | Multi-Behavior Hypergraph-Enhanced Transformer for Sequential Recommendation

論文読み会の資料です.

(A slide for the paper-reading activity at my company, written in Japanese.)

cocomoff

September 02, 2024
Tweet

More Decks by cocomoff

Other Decks in Research

Transcript

  1. Multi-Behavior Hypergraph-Enhanced Transformer for Sequential Recommendation (KDD'22) 読む人: @cocomoff Feb.

    27, 2024 (マニアックすぎるので、数式の細かい読解まではやっていません…)
  2. はじめに & やりたいタスク 注意事項 細かい数式の解説は全部やりません 無限に系列推薦の手法が世の中にあり、マニア以外興味ない… 系列推薦 ≒ 系列予測なので、 似たアイデアはどこかで使えるかも?ぐらいの気持ちで説明します

    所与: 振る舞いラベル付きデータ 全アイテム 、全ユーザ ユーザ のログ 目的の振る舞い (target behav.) とそれ以外 (aux. behav.) がある タスク 入力: 出力: target behavior (e.g., 購入) なアイテム を予測する (ような モデルを得たい、ということ)
  3. 手法の説明(1): 埋め込み 全ては埋め込みからはじめる 系列 中のアイテム の 特徴ベクトル アイテム 、振る舞い 、位置

    の要素和 それぞれ 次元に埋め込みする 長さ の を表現する行列 を料理する (e.g., Attention, Transformer) どこかで見覚えのある式 アイテム数 がヤバそうな気配がある (行列積) Transformer を軽くする提案は色々研究されている (はず) 今回も低ランクな Self-Attention モジュールを採用する
  4. 手法の説明(2): 低ランク Self-Attention 学習可能な行列: を用いて とかは前ページの とかの意味です (learnable weight mat.)

    論文による解説 変換行列 が定義できる (省略) ( )-次元のkey/valueに相当する を ( )-次元の 低ランク埋め込み に変形して、 サイズの計算を避ける
  5. 手法の説明(3): 短期・長期パターンの考慮 系列の短期・長期パターンを考慮して aggregation する 簡単な例: 長さ の列に対して、 ずつ移動平均を取る 式:

    論文の表記 はあまりよく分からないけど… に集約されているので、ここにもself-attentionを使う こちらのQ/K/Vの重みは適当な型でいい感じに… ( に応じて) コメント: ギュっとしたらここまではすぐできる (たぶん)
  6. 続き ここまでで計算したもの : 低ランク埋め込みした情報 : 短期・長期を見た情報 ノリ: 3つの行列を列方向にconcat ( )

    して 学習可能な を通す これを1つのヘッドとして、複数用いる ただし 最後に FFN と活性化関数 GELU を通してエンコード完了 コメント: ここまでは Transformer しただけとも言える(?)
  7. 手法の説明(4): Hypergraph-Enhanced Features 提案手法ではハイパーグラフを使う: 隣接 (普通の辺) より高次の関係性を使 いたいから (コメント: ちょっと珍しい

    (かも)) 提案の超辺構造 (1) 長期間の相関関係によるもの (下) (2) アイテム自身のmulti-behaviorによるもの (上) 本文図 (コメント: 図だけだと、何が言いたいのか最初まったく分からん…→次ページへ!)
  8. 続き 提案手法 列 に出現するユニークなアイテム数の超辺を考える 超辺 (ユニークなアイテム に対応) は、 別に定義する重み (略)

    が大きい順に 個の と超辺をつくる 二部グラフっぽい情報は隣接行列 で表現できる コメント: なので一見、どこがハイパーグラフかよく分からなかった これを2つ作る ( ) ユニークアイテムが2つ (灰色・オレンジ)なので、こうなる (たぶん)。 点線は超辺の関係性を二部グラフっぽくかいたもの (たぶん)。同じ色しかつながってないのはたまたま (たぶん)。
  9. 続き ( ) から2つの重み行列を持つので、くっつけて とする ハイパーグラフと行っているが、要するに2部グラフ (アイテムと超辺) グラフなので、思考停止してmessage passingする アイテム

    超辺、頂点 アイテム Hypergraph conv. layer と呼ばれているらしい (なんだそりゃ…) 普通のGraph conv. layerと見た目は一緒 (数式書くのが辛くなった): 何層かpassingして、 を求める 一旦雑に振り返る 持っているもの Transformerっぽい構造から埋め込んできた ハイパーグラフから埋め込んできたもの データが2種類ある (data from different view、と呼ばれている) 2つあるので、重みつけてまとめる (cross-view aggregationと呼ぶ) 何か埋め込みベクトルが出てくるので、クロスエントロピー学習する