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