用語集

t分散確率的近傍埋め込み(t-SNE)

高次元データを可視化するための強力なテクニック、t-SNEをご覧ください。その用途、利点、AIやMLへの応用について学びます。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

t-distributed Stochastic Neighbor Embedding (t-SNE)は、次元削減のための強力な手法であり、主に高次元のデータセットを低次元空間(通常は2次元または3次元)で可視化するために設計されている。Laurens van der Maatenと Geoffrey Hintonによって開発されたt-SNEは、クラスターや多様体といったデータの根底にある局所構造を明らかにすることに優れている。これにより、人工知能(AI)や機械学習(ML)モデルによって生成または処理された複雑なデータセットを、視覚的な検査によって解釈しやすくする。コンピュータ・ビジョン(CV)や自然言語処理(NLP)など、さまざまな分野で広く利用されている。

t-SNEの仕組み

t-SNEの核となる考え方は、点間の類似性を保持する方法で、高次元データ点を低次元空間(例えば2次元プロット)にマッピングすることである。高次元の点のペア間の類似性を条件付き確率としてモデル化し、マップされた点間の条件付き確率が類似する低次元の埋め込みを見つけようとする。このプロセスは、局所的な構造を保持することに重点を置く。つまり、高次元空間で近接している点は、低次元マップでも近接したままであるべきなのである。

主成分分析(PCA)のような線形手法とは異なり、t-SNEは非線形で確率的である。これにより、PCAでは見逃されがちな、曲線多様体のような複雑で非線形な関係を捉えることができる。このアルゴリズムは、高次元空間ではガウス分布、低次元空間ではスチューデントのt分布(自由度1)を用いて類似度を計算する。t分布を使用することで、低次元マップにおいて非類似点をより遠くに分離することができ、点が集まりやすい「混雑問題」を緩和することができる。最適な埋め込みは、勾配降下のような最適化手法を用いて、2つの確率分布間の発散(具体的には、カルバック・ライブラー発散)を最小化することで求められる。技術的な詳細については、t-SNEの原著論文を参照されたい。

t-SNEとPCAの比較

t-SNEもPCAも一般的な次元削減技術であるが、両者は大きく異なる:

  • 線形性:PCAは線形手法であるが、t-SNEは非線形である。PCAは分散を最大化する主成分を見つけ、本質的にデータを回転させる。
  • 焦点t-SNEは局所的な構造(点の近傍)を優先する。
  • 使用例PCAは、データ圧縮、ノイズ除去、他のMLアルゴリズムを適用する前のデータ前処理としてよく使用される。t-SNEは、クラスタを明らかにする能力により、主にデータの可視化と探索に使用される。
  • 解釈可能性:PCAプロットの軸は主成分を表し,分散に関連する明確な数学的解釈を持つ.t-SNEプロットの軸とクラスター間の距離は,そのような直接的なグローバルな解釈を持たない.

AIとMLの応用

t-SNEは、ディープラーニングモデルによって学習された埋め込みを探索するなど、AIやMLパイプラインでしばしば遭遇する複雑で高次元のデータを理解するための、非常に貴重な可視化ツールとして機能する。

  • 画像特徴の可視化 コンピュータビジョンでは、t-SNEは、CNN(Convolutional Neural Networks:畳み込みニューラルネットワーク)によって生成された高次元の特徴マップや埋め込みを視覚化することができます。 Ultralytics YOLOのような畳み込みニューラルネットワーク(CNN)によって生成された高次元特徴マップや埋め込みを可視化することができます。ImageNetや COCOのようなデータセットから抽出された特徴にt-SNEを適用することで、研究者は、モデルが特徴空間内で類似画像やオブジェクトクラスをグループ化することを学習するかどうかを確認することができ、モデルの理解に関する洞察を得ることができます。これは、標準的な精度メトリクスを超えたモデル性能の分析に役立ちます(YOLO Performance Metricsを参照)。
  • 単語の埋め込みを探る 自然言語処理では、t-SNEは(Word2Vec、GloVe、BERTなどの)単語の埋め込みを2Dで可視化するために使用されます。例えば、「王様」、「女王様」、「王子様」、「お姫様」のような単語は、明確なクラスターを形成したり、意味のある相対的な位置を示すことがあり、言語モデリングの品質を実証します。TensorFlow Projectorのようなツールは、埋め込み可視化にt-SNEをよく利用する。
  • トレーニングデータの理解 モデルのトレーニング前またはトレーニング中に、t-SNEはトレーニングデータ自体の構造を視覚化するのに役立ち、Ultralytics HUBのようなプラットフォームを通じて管理されるデータセット内の明確なクラスター、外れ値、またはラベリングの問題を明らかにする可能性があります。

考察

視覚化には強力だが、t-SNEにはいくつかの注意点がある:

  • 計算コスト:t-SNEはペアワイズ計算を行うため、非常に大きなデータセットでは計算コストが高く、時間がかかることがある。t-SNEを近似したり、PCAを最初に適用するなどのテクニックが役立つ。
  • ハイパーパラメータ:結果は、"perplexity"(考慮される最近傍の数に関連する)や勾配降下の反復回数のようなハイパーパラメータの影響を受けやすい。
  • グローバル構造:t-SNEは局所構造に焦点を当てる。最終プロットにおけるクラスター間の相対距離は、元の高次元空間における分離を正確に反映していない可能性がある。クラスターのサイズも誤解を招く可能性がある。Scikit-learnのようなライブラリやPyTorchのようなフレームワークで実装が可能です。 PyTorch.
すべて読む