English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

ゲスト
1 / ?

データは幾何学的空間に住む

すべてはベクトル

単語埋め込みベクトル — 方向としての類似性

機械学習では、データは幾何学的空間に住む。N個の特徴を持つ各データポイントは、N次元空間の点である。これは比喩ではなく、すべてのアルゴリズムの文字通りの数学的基礎である。


手書き数字画像(28×28ピクセル)は784次元空間の点である。各ピクセルが1つの座標。似ている2つの数字は、その空間の近い点。異なる数字は遠く離れている。


単語埋め込みは、単語を300次元空間の点にマップする。意味が似た単語は同じ近所に集まる。「犬」と「子犬」は近い。「犬」と「議会」は遠い。


50個の特徴を持つユーザープロファイル(年齢、購入履歴、クリックパターン)は、50次元空間の点である。レコメンデーションエンジンは『近くにいる』ユーザーを見つけ、彼らの『幾何学的な隣人』が何を好きかを提案する。


幾何学はこれらの空間について推論する方法である。距離、方向、角度、投影 — これらが機械学習の基本的な操作である。

ベクトル演算 — 基本構成要素

ドット積がすべてを支える

機械学習で最も重要な3つのベクトル演算:


ベクトル加算 — 特徴またはシグナルの結合。2つの単語ベクトルを加えると、両方の概念がブレンドされたベクトルが得られる。


スカラー倍算 — ベクトルをスケーリングすると、その大きさが変わるが方向は変わらない。勾配降下法の学習率はスカラー倍算である。


ドット積 — これが主力。2つのベクトルa & bのドット積は |a||b|cos(θ)に等しい。θはそれらの間の角度。ベクトルが正規化されている場合(単位長)、ドット積はその角度の余弦そのものである。


コサイン類似度 = cos(θ) = (a·b) / (|a||b|)


この単一の公式が以下を支える:

- 検索エンジン — クエリに似たドキュメントを見つける

- 注意メカニズム — どのトークンが互いに関係するかを決定する

- レコメンデーションエンジン — ユーザープロファイルをアイテムプロファイルにマッチさせる

- 検索強化生成 — 言語モデルの関連コンテキストを見つける


cos(θ) = 1は、ベクトルが正確に同じ方向を指す(同一の意味)。cos(θ) = 0は、垂直である(関連なし)。cos(θ) = -1は、反対方向を指す(対立する意味)。

コサイン類似度

コサイン類似度は現代の機械学習システムで最も使用されているメトリクスの1つである。

2つの単語埋め込みベクトルのコサイン類似度が0.95である。別のペアのコサイン類似度が0.12である。各数字は、各ペアの単語間の関係について何を示唆しているか。

距離を測定する3つの方法

距離メトリクスの選択は『類似』の意味を変える

3つの距離メトリクス — 同じ点、異なる意味

空間内の2つの点が与えられたとき、それらの間の『距離』を測定する多くの方法がある。各メトリクスは異なる幾何学を定義し、その幾何学は、あなたのモデルが『類似』と見なすものを決定する。


ユークリッド距離(L2) — 直線距離。d = √(Σ(aᵢ - bᵢ)²)。これは『カラスの飛ぶ距離』で、あなたの直感が期待する距離である。すべての次元を等しく扱い、大きさに敏感である。


マンハッタン距離(L1) — グリッド歩行距離。d = Σ|aᵢ - bᵢ|。市街地を移動するようなもの — 軸に沿ってのみ移動でき、決して斜めには移動できない。1つの次元の外れ値に対してより堅牢である。なぜなら差を二乗しないから。


コサイン距離 — ベクトル間の角度を測定し、大きさを完全に無視する。d = 1 - cos(θ)。同じトピックについての2つのドキュメントは長さに関係なく小さなコサイン距離を持つ。異なるトピックについての2つの等しく長いドキュメントは大きなコサイン距離を持つ。


選択は恣意的ではない。大きさが重要な場合(薬の用量、原子炉の温度)、ユークリッド距離を使用する。絶対値よりも比率を気にかける場合(単語頻度分布、ユーザープロファイル設定)、コサイン距離を使用する。個別の特徴差がより重要な場合(1つのセンサーがスパイクすることが意味のある障害診断)、マンハッタン距離を使用する。

K最近傍 — 純粋な幾何学

KNN: 最もシンプルな幾何学的アルゴリズム

K最近傍は機械学習で最も透明な幾何学的アルゴリズムである。訓練段階がない — それが訓練データそのものである。


新しい点を分類する:訓練データ内で最もK個近い点を見つける。投票させる。多数派クラスが勝つ。これがアルゴリズム全体である。


KNNが生成する決定境界はボロノイ図である — 各点が最も近い訓練サンプルの領域に属する空間の分割。境界は隣接する訓練点間の垂直二等分線である。


重要な幾何学的洞察:距離メトリクスの選択はボロノイ図を完全に変える。ユークリッド距離は曲線の円形の境界を生成する。マンハッタン距離はダイヤモンド形の境界を生成する。コサイン距離は角形のコーン形の境界を生成する。


同じ訓練データ。同じK。異なる距離メトリクス。完全に異なるモデル。幾何学はモデルそのものである。

距離メトリクスの選択

距離メトリクスは交換可能ではない — 正しい選択は、あなたのデータにとって『類似』が何を意味するかに依存する。

ドキュメントを比較するとき、ユークリッド距離の代わりにコサイン距離を使う理由は何か。1つのドキュメントがはるかに長い場合、同じトピックについて議論している2つのドキュメントに何が起こるかを考える。

ハイパープレーン — 高次元の平坦な境界

すべての線形分類器はハイパープレーンを見つける

決定境界 — 線形、非線形、カーネルトリック

線形分類器は、2つのクラスを分離する平坦な曲面を見つける。この曲面の次元は空間の次元に依存する:


- 2D空間では、境界は(1次元)

- 3D空間では、境界は平面(2次元)

- 784D空間(MNIST数字画像)では、境界は783次元ハイパープレーン


一般的なパターン:N次元空間では、決定境界はハイパープレーンと呼ばれる(N-1)次元の平坦な曲面である。


ロジスティック回帰、サポートベクターマシン、単層パーセプトロンはすべてハイパープレーン探索である。最良のハイパープレーンを見つける方法が異なる:

- ロジスティック回帰は正しい分類の確率を最大化する

- SVMは幾何学的マージン — ハイパープレーンから最も近いデータポイントまでの距離 — を最大化する

- パーセプトロンは、最適性を保証せずに、データを分離するハイパープレーンを見つけるだけである


線形分類器の重みベクトルはハイパープレーンの法線ベクトルそのものである。バイアス項はハイパープレーンを原点から離す。これらは幾何学的な対象で幾何学的な解釈を持つ。

平坦な境界を超えて

データが線形分離可能ではない場合

多くの現実世界の問題は平坦な境界では解決できない。猫と犬の画像を分類することを考える — ピクセル空間の単一のハイパープレーンはそれらを明確に分離しない。


2つの幾何学的戦略が存在する:


戦略1:カーネルトリック — データを線形分離可能である、より高次元の空間に変換する。古典的な例:2D内の円の内部(クラスA)と外部(クラスB)の点。線で分離するできない。しかし3番目の次元z = x² + y²を追加すると、内部の点(小さいx² + y²)は低く座り、外部の点(大きいx² + y²)は高く座る。今、平面はそれらを完璧に分離する。


カーネル関数を持つSVMはこれを暗黙的に行う — 実際の高次元ベクトルを決して構築することなく、高次元空間でドット積を計算する。これを『カーネルトリック』と呼び、純粋に幾何学的な洞察である。


戦略2:ニューラルネットワーク — 線形変換と非線形活性化関数を層状にする。各層は線形変換(行列乗算=回転+スケーリング+せん断)その後に非線形『曲げ』(ReLU、シグモイド、tanh)を適用する。多くの線形次非線形操作の組成は、任意の連続境界形状を近似できる。


深いニューラルネットワークは、最終層でクラスが線形分離可能になるまで入力空間を歪ませる幾何学的変換の列である。

円形データの分離

これは機械学習で最も重要な幾何学的問題の1つである。

2D内では、赤い点が円の内部にあり、青い点が外側にある。直線ではそれらを分離できない。この問題を解くための2つの幾何学的戦略を説明する。

損失曲面

訓練=曲面を下へ歩く

損失曲面 — 曲面をナビゲートする

すべての機械学習モデルはパラメータを持つ — 重みとバイアス。損失関数は、モデルの予測がどの程度間違っているかを測定する。これらは一緒に損失曲面を定義する:ランドスケープで、各点は特定のパラメータセットに対応し、高さは損失である。


2つのパラメータを持つモデル場合、損失曲面は視覚化できる3Dランドスケープ — 丘、谷、平原。175億個のパラメータを持つモデル(GPT-3など)の場合、損失曲面は175億次元空間に存在する。数学は同じである。


勾配降下法はこの曲面をナビゲートするアルゴリズムである。勾配は幾何学的対象 — 最も急な上昇方向を指すベクトル。損失を減らすため、反対方向に移動する:負の勾配。これは文字通り下へ歩くことである。


学習率はステップサイズを制御する。大きすぎると谷を行き過ぎる。小さすぎるとのろのろ進む。勾配は方向を指示する;学習率はどのくらい進むかを指示する。

鞍点、最小値、高次元の幾何学

損失曲面は単純なボウルではない

訓練の素朴な図は、最も低い単一の点を持つ滑らかなボウルをイメージする。現実ははるかに複雑である:


局所最小値 — 最も深い谷ではない谷。勾配降下法はここに陥ることができ、すべての方向が上昇することに満足している。たとえ、より深い谷が他の場所に存在していても。


鞍点 — 馬の鞍のような形。損失は一部の次元で曲がり下り、他の次元では上昇する。2Dではこれはまれである。高次元では、鞍点は局所最小値よりも指数関数的に一般的である。1000次元空間の臨界点は、局所最小値になるために、1000の次元すべてで上昇する必要がある。1つの次元が下に曲がっていても、それは鞍点である。


平坦な台地 — 勾配がゼロに近い領域。勾配がないため、訓練が止まる。


シャープな最小値 vs フラットな最小値 — シャープな最小値は狭い谷である。フラットな最小値は広い谷である。研究はフラットな最小値が未見のデータにより良く一般化することを示唆している。なぜなら、パラメータへの小さな摂動(新しいデータのノイズから)は、損失を劇的に変更しないから。


モメンタムを持つSGDは、鞍点とシャープな最小値を抜け出すのを助ける。確率的勾配降下法のランダム性は、曲面でボールを揺らすのと同じように作用する — それは狭いトラップから跳ね出し、より広い、フラットな谷を見つける。

SGD vs フルバッチ勾配降下法

これは機械学習の訓練における最も重要な実用的な洞察の1つである。

確率的勾配降下法(SGD)が幾何学的な観点からフルバッチ勾配降下法よりもしばしば、より良い解決策を見つける理由は何か。

単語としてのベクトル — 意味的算術

意味は方向を持つ

単語埋め込み空間 — 意味的幾何学

Word2Vec、GloVe、現代的なトランスフォーマー埋め込みは、離散トークン(単語、部分語)を連続ベクトル空間にマップする。結果は、意味が座標を持つ幾何学的な世界である。


有名な例:王 - 男 + 女 ≈ 女王


これはベクトル算術である。『男』から『王』へのベクトルは、『男性に適用されたロイヤリティ』の概念を表す。『女』から『女王』へのベクトルは『女性に適用されたロイヤリティ』を表す。これらのベクトルはおおよそ平行 — 同じ方向、同じ関係、異なる開始点。


テキストに対する訓練から生まれる他の幾何学的関係:

- パリ - フランス + イタリア ≈ ローマ(首都関係)

- 歩いた - 歩く + 泳ぐ ≈ 泳いだ(過去形変換)

- より大きい - 大きい + 小さい ≈ より小さい(比較級形態)


誰もこれらの関係をプログラムしていない。モデルは数十億の単語を読むことにより、意味が幾何学的構造を持つことを発見した。埋め込み空間の方向は意味的関係に対応する。これは機械学習で最も深刻な幾何学的発見の1つである。

多様体仮説

高次元データは低次元曲面に住む

64×64グレースケール顔画像は4,096のピクセル値を持つ — 4,096次元空間の点である。しかし、その空間のすべての点が有効な顔ではない。ランダムな4,096次元ベクトルのほとんどは、顔ではなく静的なノイズに見える。


多様体仮説は、実世界の高次元データが実際には、高次元空間に埋め込まれた低次元の曲面(多様体)上またはその近くに住むと述べている。顔の多様体は50次元のみかもしれない — 照明角度、頭のポーズ、表情、肌色、年齢などの要因によるパラメータ化。


これは実用的な影響を持つ幾何学的な主張である:


- 次元削減(PCA、t-SNE、UMAP)は、データがおおよそ低次元であるため、機能する。これらのアルゴリズムは多様体を見つけ、それに投影する。

- オートエンコーダは、データを低次元潜在空間(多様体)に圧縮し、それから再構成することを学ぶ。

- 生成モデル(VAE、拡散モデル)は、多様体を学び、それ上の新しい点をサンプリングする — 新しい顔、新しい音楽、新しいテキストを生成する。それが実に見えるのは、学習された多様体上に住むから。


あなたのモデルが一般化に失敗するとき、1つの幾何学的説明は:それが間違った多様体を学習した。訓練データは、真のデータ分布と一致しない曲面を追跡した。

ベクトル類似度

埋め込み空間の幾何学的構造は、現代の機械学習で最も驚くべき結果の1つである。

単語埋め込みが意味を幾何学的に捉える場合、『男』から『王』へのベクトルが『女』から『女王』へのベクトルにおおよそ平行であることを述べるのは何を意味するか。どの幾何学的概念が作用しているか。

ROC曲線 — 分類品質として領域

評価メトリクスは幾何学的空間に住む

ROC空間 — 分類品質として幾何学

ROC(受信者動作特性)曲線は、真陽性率(y軸)を偽陽性率(x軸)に対してプロットしながら、分類閾値を0から1に掃引する。


これは意味のあるランドマークを持つ幾何学的空間である:

- (0、1) — 左上隅 — 完璧な分類。すべての陽性が検出され、ゼロの誤報。

- (0、0) — 左下 — モデルがすべてを陰性に分類する。

- (1、1) — 右上 — モデルがすべてを陽性に分類する。

- 対角線 (0,0)から(1,1) — ランダム分類器。すべての閾値で、真陽性率と偽陽性率は同じである。


AUC(曲線下領域)は文字通りの幾何学的領域測定である。AUC = 0.5は、モデルがランダムであることを意味する(対角線の下の領域)。AUC = 1.0は完璧な分類を意味する(全体のユニット平方)。良いモデルのROC曲線は左上隅に向かって曲がり、より多くの領域を囲む。


AUCは美しい確率的解釈を持つ:それはモデルがランダムな陽性例をランダムな陰性例よりも高くスコアする確率に等しい。しかし幾何学的には、それはただ領域 — その幾何学的単純性があなたにそれを直感的に理解させる。

適合率-再現率空間

異なる幾何学的トレードオフ

適合率-再現率曲線はROC曲線とは異なる幾何学的空間に住み、別の物語を語る。


適合率 = モデルが陽性のフラグを付けたすべてのもののうち、実際に陽性だった割合はどのくらいか。

再現率 = すべての実際の陽性のうち、モデルが見つけたのはどの割合か。


分類閾値を低下させると(より多くのものを陽性とフラグ付けする)、再現率は増加する(より多くの実陽性を捕捉する)が、適合率は通常減少する(より多くの偽陽性も捕捉する)。このトレードオフは適合率-再現率空間の曲線を描く。


F1スコア = 2 × (適合率 × 再現率)/(適合率 + 再現率) — 調和平均。幾何学的には、F1スコアは適合率-再現率曲線上の点に等しい。ここで適合率が再現率に等しくなる。それが適合率-再現率正方形の対角線と交わる場所である。


平均適合率(AP) = 適合率-再現率曲線下の領域。AUC-ROCのように、それはモデルを表す幾何学的領域を表す単一の数字に要約する。


ROC曲線と適合率-再現率曲線は同じモデルの補完的な幾何学的ビューである。ROC曲線は不均衡なデータセット(99%の陰性クラス)上で誤解を招くほど楽観的である。適合率-再現率曲線は陽性クラスに焦点を当てるため、情報的なままである。

AUC-ROC解釈

AUC-ROCが幾何学的に何を測定するかを理解することは、モデル間の選択に役立つ。

2つのモデルは同じ精度(85%)を持つ。モデルAのAUC-ROCは0.92である。モデルBのAUC-ROCは0.78である。モデルAを選ぶかもしれない理由は何か。彼らのROC曲線の幾何学的な違いはあなたに何を伝えるか。

トランスフォーマー — ドット積として注意

注意は幾何学的類似度測定

注意 = クエリとキー間の幾何学的配置

トランスフォーマーアーキテクチャ — 現代的な言語モデルの基礎 — は幾何学的操作で構築される:ドット積。


各トークン用に、トランスフォーマーは3つのベクトルを計算する:クエリ(Q)キー(K)バリュー(V)。各々は入力埋め込みに学習された重み行列を乗じることで得られる。


2つのトークン間の注意スコアは:スコア = Q · K^T / √d


これはスケール付きドット積 — 幾何学的類似度測定。QとKが同じ方向を指す場合(それらの間の小さな角度)、ドット積は大きい:このキーはこのクエリに高度に関連する。垂直な場合、ドット積はゼロ:無関連。


スコアはソフトマックスを通して渡され、確率分布が作成される:合計が1になる注意重みをする。出力は値ベクトルの重み付き合計で、重みは幾何学的配置により決定される。


『猫は敷物の上に座っていた。なぜなら、それは疲れていた。』という文のように、注意は計算する:『それ』という単語について、どの他の単語が最も幾何学的に配置されているか。『それ』のQベクトルが『猫』のKベクトルと最も密接に配置される場合、モデルは『猫』に注意する — 代名詞参照を幾何学を通じて解決する。

マルチヘッド注意 — 複数の幾何学的観点

なぜ複数のヘッドか。

単一のQ、K、V行列セットを持つ自己注意は、1種類の幾何学的配置を計算する。しかし、言語には多くの種類の関係がある — 統語的、意味的、位置的、参照的。


マルチヘッド注意は複数のセットのQ、K、V投影行列を使用し、各々は埋め込みの異なる部分空間に投影する。各ヘッドは、独自の幾何学的部分空間で配置を測定する。


研究者が注意ヘッドを検査するとき観察される:

- ヘッド1は前の単語に注意するかもしれない(位置的近接)

- ヘッド2は主語からのベクトルに注意するかもしれない(統語的依存)

- ヘッド3は、コンテキスト内で意味的に関連している単語に注意するかもしれない

- ヘッド4は、最新の名詞に注意するかもしれない(共参照)


各ヘッドは、同じデータ上の異なる幾何学的レンズである。投影は埋め込み空間を異なる方法で回転・スケールし、異なる関係を配置を通じて可視化させる。


これが単一の注意メカニズムを持つモデルよりもトランスフォーマーが優れている理由。単一のドット積は完全な埋め込み空間での類似度の1つの概念をキャプチャする。複数のドット積は異なる部分空間での複数の、補完的な概念を同時にキャプチャする。

マルチヘッド注意

マルチヘッド注意は、トランスフォーマーの主要なアーキテクチャ革新の1つである。

トランスフォーマーでは、なぜ複数の注意ヘッドの使用が、単一のヘッドと比較して、幾何学的部分空間に関して役立つのか。

機械学習は応用幾何学

統一的なスレッド

カバーしたものを見る。機械学習のすべての主要な概念は幾何学的なコアを持つ:


データ = 高次元空間の点

特徴 = その空間の次元

類似性 = 点間の距離または角度

分類 = クラス間の幾何学的境界を見つける

訓練 = 勾配に従って損失曲面をナビゲートする

埋め込み = 幾何学が意味をエンコードする学習された座標系

評価 = メトリクス空間での曲線下領域

注意 = 角度配置を測定するドット積


これは偶然ではない。機械学習は線形代数と微分幾何学からその数学的フレームワークを継承した — 基本的に空間、形、変換についての分野。


幾何学を理解することは、アルゴリズムを暗記することができないもの — 直感を与えている。モデルが失敗するとき、幾何学的ビューはどこを見るかを示唆する。クラスが分離可能ではない。境界を見る。訓練が止まっているか。損失曲面を調べる。埋め込みが不足しているか。類似したアイテムが幾何学的に近いかどうかを確認する。注意が分散しているか。部分空間投影を検査する。


幾何学は3次元か3十億次元かは同じである。数学はスケールする。直感は転送する。これが幾何学を機械学習の普遍的な言語にするものである。

幾何学的デバッグ

ベクトル、距離、境界、訓練、埋め込み、評価、注意をカバーした — すべて幾何学のレンズを通じて。

このレッスンから1つの概念を選び、その幾何学的性質を理解することが、それを使用するモデルをデバッグまたは改善する方法をどのように変えるかを説明する。具体的である。