NEGABARO RecSys
推薦システムのアルゴリズムとアーキテクチャをまとめた技術ガイド
埋め込み & 表現学習
ベクトルとは?距離と角度で「似ている」を測る数の並び
方向と大きさを持つ数値の束 — 次元が上がると意味を持つ
ベクトルは数値の並びだ。2つなら平面上の点、3つなら空間の点、1536個なら意味空間の点になる。
埋め込み(Embedding)とは?意味が近いものを近い数値に変える技術
計算するには数値化が必要 — すべてのAIの出発点
埋め込みはテキスト・画像・アイテムなど非構造データを数値ベクトルに変換する技法だ。ベクトル間の距離がそのまま「意味的類似度」になる。
Word2Vecとは?周りの単語から意味ベクトルを学ぶ仕組み
単語をベクトルに変える出発点
周辺語から中心語を予測(CBOW)、または中心語から周辺語を予測(Skip-gram)して意味ベクトルを学習する。
Item2Vecとは — 購入・クリック系列からアイテム埋め込みを学習する仕組み
Word2Vecをアイテムに適用した推薦埋め込み
Item2Vecは購入・クリック系列を文、アイテムを単語とみなし、Word2Vec(Skip-gram + Negative Sampling)でアイテム埋め込みを学習する。一緒に見られた商品ほどベクトルが近づき、コサイン類似度で似た商品を推薦できる。
推薦システムの埋め込み総整理
User、Item、Contextを1つのベクトル空間に集める
推薦システムにおける埋め込みは、ユーザーとアイテムを同じベクトル空間にマッピングし、距離で好みを測定する手法だ。
古典的手法
ディープラーニング推薦
GRU4Recとは?RNNで次のクリックを当てる推薦モデル
セッションベース推薦の始まり
GRU(Gated Recurrent Unit)でユーザーのクリック系列をモデリングし、次にクリックするアイテムを予測する。
Transformerで推薦する仕組み — GRUとの違い
Self-Attentionでユーザー行動系列を一度に処理
GRUが逐次処理したのに対し、TransformerはSelf-Attentionで系列全体の関係を並列に把握する。
BERT4Recとは?穴埋めでユーザーの好みを学ぶ推薦モデル
Masked Language Modelを推薦に持ち込み、双方向の文脈を学ぶ
BERTのMLM方式を推薦に適用。系列の中間アイテムをマスキングして当てることで、双方向文脈を学習する。