inflearn logo
知識共有
inflearn logo

埋め込みからトランスフォーマーまで:内積から理解する推薦システムの数学

映画の評価予測という一つの問題を通して、PCA、SVD、行列分解、アテンションを内積の観点からつなげます。ライブラリを呼び出すだけだった人が、埋め込み数値の意味とトランスフォーマーの計算原理を自ら説明できるようになります。推薦システムの空欄を埋めるすべての過程を、一つの数式で理解する旅です。

3名 が受講中です。

難易度 中級以上

受講期間 無制限

attention-model
attention-model
factorization
factorization
iframes
iframes
recommender-systems
recommender-systems
transformer
transformer
attention-model
attention-model
factorization
factorization
iframes
iframes
recommender-systems
recommender-systems
transformer
transformer

受講後に得られること

  • 固有値・固有ベクトルからQuery・Key・Valueまでを一つの内積の流れで解説

  • 映画の評価の空欄を、平均、SVD、行列分解、アテンションで埋める計算過程を実装する

  • 埋め込みとトランスフォーマーの重みが生成される数学的原理を理解する

H2. 埋め込みがなぜその評価を出すのか

埋め込みを呼び出しても、なぜその評価が出てくるのか説明できないとき、この講義がその計算を一本の流れとしてつなぎます。主成分分析から始めて、特異値分解、行列分解、トランスフォーマーのアテンションまで、ひとつの映画評価を題材に追っていきます。ライブラリ名を暗記する時間ではなく、同じ内積が推薦スコアへと変わる過程を言葉で説明する時間です。

H2. 計算は一行でつながります

この見出しのすぐ下に授業の順序を示す図を入れてください。代替テキストは主成分分析、特異値分解、行列分解、トランスフォーマーが矢印でつながった授業の順序です。ファイルはダウンロードフォルダーのイン프런_수업순서_PCA_SVD_MF_Transformer.pngです。

H3. 主成分分析、情報量が集まる軸

成分は独立変数です。データが広がっている度合いが分散で、その力は内積です。共分散はデータを転置してから掛け合わせて求めます。情報量はパレートのように、一つか二つの軸に集中します。その軸の長さが固有値で、方向の比率が固有ベクトルです。固有値は情報量であり、固有ベクトルは重みです。身長と体重の楕円や、アヤメの花びらの長さによって、このことを確認します。人は二つの軸しか見ることができないので、図には情報量の大きい軸だけを残します。集団が重なっている場合は、LDAでデータを再構成します。平均は遠く、集団内の広がりは小さくする軸です。

H3. 特異値分解、空欄を再構成する計算

映画の評価では、空欄が問題になります。顧客は一部の映画だけを観て、点数を残します。SVDはその空欄を平均で埋めた後、顧客側と映画側の固有値をそれぞれ求めます。情報量の大きい軸だけを残すと次元が減り、空いていたセルに新しい評価が生まれます。ホン・ギルドンが観ていない映画が4点前後と予測されたら推薦し、それを下回れば除外する、といった方法が初期の推薦です。過去の評価と予測評価の差を平均した値が小さければ、そのシステムは信頼できます。すでに観た映画の実際の点数と、再現した点数を比較する方法です。

H3. 行列分解、視聴した評価のみで学習

平均で埋めた値は、その人が付けた評価ではありません。事前データには、実際に見た記録だけを使う必要があります。したがって、空欄は学習から除外します。映画や顧客のように次元が分からない対象については、属性を任意に設定します。その数値を平均0、分散1に近づけ、互いに異なるように抽出することが埋め込みです。両者の内積に重みを掛けると、評価が得られます。実際の点数との差があれば、重みだけを修正して差を小さくします。その重みを保存したものがモデルです。この学習が行列分解 factorization です。

H3. トランスフォーマーとアテンション

質問を変えると、最後の計算になります。ホン・ギルドンがまだ見ていない映画の評価を尋ねる言葉が Query です。過去に似た評価を残した人が Key です。内積で似ている度合いを求め、それを全体の合計で割ると確率になり、数値が大きくなるとソフトマックスで小さくします。その人が付けた評価が Value です。確率と評価を掛けて足し合わせると、期待スコアが得られます。これがアテンションであり、期待値と同じ計算です。空欄の多い実際の表では、見た映画だけで属性を作るのは難しいため、埋め込みを使います。質問、核心、評価にそれぞれ重みが入って計算量が大きくなります。この構造が transformer であり、その評価方法が attention-model です。

H2. 映画の評価から見る推薦

この流れが映画評価におけるレコメンダーシステムの計算です。NetflixやYouTubeの推薦がここから始まり、行列分解やトランスフォーマーへとつながっていった歴史を授業でたどります。誤差が0.4前後なら5点満点でどの程度近いのか、データを100人から1,000人に増やすと誤差がどのように減るのか、バッチで複数の誤差を平均することで一つの点だけに合わせてしまうのを避ける方法も一緒に見ていきます。

H2. この講義が向いている人

埋め込みの数値がなぜ出てくるのか説明できない方、空欄の評価を平均で埋めたまま推薦結果を信じている方、QueryとKeyとValueは名前だけ知っていて計算は分からない方に適しています。行列の行と列、積と転置を知っていれば、無理なくついていけます。Pythonファイルを実行したことがあれば、実習も一緒に進められます。実習コードは、授業で話した条件をChatGPTに入力して受け取ります。

H2. 授業で見る順序

授業は3つの部分に分かれています。1つ目は主成分分析です。PCAを始める理由、固有値と固有ベクトル、次元削減とLDAについて見ていきます。2つ目は特異値分解です。空欄を埋めるSVDと、誤差を確認して行列分解に進む理由について見ていきます。3つ目は行列分解とトランスフォーマーです。学習曲線を確認し、アテンションで評価を計算した後、全体を整理します。

H2. 授業動画の視聴方法

各授業動画は授業ノートのiframеに接続され、教室で再生されます。ログイン、会員登録、Amazonデータを使ってサービスを作る内容はこの動画にはありません。計算を理解した次の段階です。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 埋め込みベクトルの数値がどのように算出されるのか説明できないMLエンジニア

  • Query・Key・Valueを概念としてしか知らず、実際の計算は知らないAI開発者

  • 推薦システムを平均ベースだけで実装してみたデータアナリスト

前提知識、
必要でしょうか?

  • 行列の乗算と転置演算に関する基本的な理解

  • Pythonファイルを実行し、簡単なコードを修正した経験

  • 分散と共分散の概念的な意味

こんにちは
kogo14905334です。

キャリア認証

受講レビュー

まだ十分な評価が集まっていない講座です。
ぜひ最初のレビューをお寄せください。

似ている講座

同じ分野の他の講座を見てみましょう!

無料