Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Sparse Autoencoders (SAE)

スパースオートエンコーダー(SAE)は、ネットワークの活性化を多数の特徴に分解し、一度に少数の特徴だけを活性化します。これはLLMを解釈するための中核的なツールです。

スパースオートエンコーダー(SAE)は、入力ごとに少数のユニットだけが活性化する隠れ層を通じて入力を再構成するよう学習されたオートエンコーダーです。現在のAI研究では、SAEは大規模言語モデル(LLM)またはビジョンモデルの内部活性化を使って学習されます。隠れユニットは入力次元よりはるかに多く、各ユニットは特徴または潜在表現と呼ばれ、人間が認識できる単一の概念に反応する傾向があります。SAEはメカニスティック解釈可能性の中心的なツールです。Anthropicは2024年のScaling Monosemanticity研究で、Claude 3 Sonnetの活性化を使って最大3,400万の特徴を持つSAEを学習し、ゴールデンゲートブリッジ、コードエラー、欺瞞などの概念に対応する特徴を発見しました。

スパース特徴が解釈可能性に役立つ理由#

大規模モデルの個々のニューロンは、多くの場合ポリセマンティックであり、互いに無関係な複数の概念に反応します。AnthropicのToy Models of Superpositionで研究された重ね合わせ仮説は、その理由を説明しています。次元数dの層は、同時に活性化する概念が少数であれば、ほぼ直交する方向としてd個をはるかに超える概念を表現できます。SAEは、この過完備な方向の集合を探します。活性化に対するスパースコードには、どの少数の方向がどれほど強く存在するかが記録されるため、何千もの混在したニューロン値よりもはるかに読み取りやすくなります。

スパースオートエンコーダーの仕組み#

エンコーダーは活性化ベクトルをはるかに幅広い潜在表現ベクトルに写像し、その後にReLUを適用します。デコーダーは各列を重み付き和として使って活性化を再構成するため、各デコーダー列は1つの特徴の方向を表します。学習では再構成誤差とスパース性制約の合計を最小化します。従来は潜在表現へのL1ペナルティ、つまり正則化を使います。OpenAIのTopK SAEは入力ごとに上位k個の潜在表現だけを残し、GPT-4の活性化を使って1,600万潜在表現のSAEに拡張しました。また、Google DeepMindのJumpReLU SAEは、学習可能なしきい値を下回る潜在表現をすべてゼロにします。学習後、SAEの潜在表現は主に2つの方法で活用されます。

以下の簡単な例では、既知の64個の特徴方向を32次元に詰め込むため、単一の次元が単一の特徴に対応しません。その後、それらを復元するようTopK SAEを学習させます。

import torch
import torch.nn.functional as F

torch.manual_seed(0)
# Toy activations: 64 feature directions packed into 32 dimensions (superposition), ~3 active per sample
features = F.normalize(torch.randn(64, 32), dim=1)
acts = (torch.rand(8192, 64) * (torch.rand(8192, 64) < 0.05)) @ features

encoder, decoder = torch.nn.Linear(32, 256), torch.nn.Linear(256, 32)  # 256 latents: 8x overcomplete
optimizer = torch.optim.Adam([*encoder.parameters(), *decoder.parameters()], lr=1e-3)
for step in range(3000):
    # TopK sparsity: keep each sample's 4 largest latents and zero the rest
    values, idx = encoder(acts).topk(4, dim=-1)
    latents = torch.zeros(len(acts), 256).scatter(-1, idx, F.relu(values))
    loss = (decoder(latents) - acts).pow(2).sum(-1).mean()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

directions = F.normalize(decoder.weight.T, dim=1)  # one learned direction per latent
print(f"Unexplained variance: {loss.item() / (acts - acts.mean(0)).pow(2).sum(-1).mean().item():.3f}")
print(f"Features matching a single neuron: {(features.abs().max(dim=1).values > 0.9).sum().item()} of 64")
print(f"Features matching an SAE latent: {((directions @ features.T).max(dim=0).values > 0.9).sum().item()} of 64")

サンプルごとの活性化潜在表現が最大4個の場合、SAEで説明できない分散は7.1%です。64個の埋め込み特徴のどれも、コサイン類似度が0.9を超えるほど単一の入力次元と一致しませんが、64個すべてが何らかのSAE潜在表現のデコーダー方向と一致します。

用途#

  • 特徴の発見: 研究者は各潜在表現を最も強く活性化する入力を集め、多くの場合LLMにラベルを書かせてラベル付けし、その特徴を使ってモデルが何を表現しているかを監査します。
  • ステアリング: 特徴を高い値に固定すると、ステアリングベクトルを加えるのと同様に、振る舞いが変化します。Anthropicは2024年5月、ブリッジに関する特徴を増幅し、ほぼすべての回答でブリッジが話題に上がるバージョンのGolden Gate Claudeを一時的に公開しました。
  • 回路のトレース: Anthropicの2025年のアトリビューショングラフは、クロスレイヤー・トランスコーダーを使用します。これは、ある層の活性化を読み取り、後続のMLP層の出力を再構成するSAEの一種で、Claude 3.5 Haiku内部の複数ステップにわたる計算を追跡します。
  • オープンなSAEスイート: Google DeepMindのGemma Scopeは、Gemma 2 2Bおよび9Bのすべての層に対応するJumpReLU SAEを公開しました。Gemma Scope 2では、パラメーター数が270Mから27BまでのGemma 3モデル向けにSAEとトランスコーダーが追加されています。SAELensライブラリは、このようなSAEの学習と読み込みに対応しています。
  • ビジョンモデル: CLIPとVision Transformerの活性化を使って学習したSAEからも、解釈可能な視覚概念を見つけられます。SAEには活性化ベクトルのデータセットが必要です。Ultralytics YOLO26のmodel.embed()は、任意の層インデックスから画像ごとに1つの平均プーリング済み活性化ベクトルを返します。デフォルトは最後から2番目の層です。

制限事項#

SAEは活性化を完全には再構成できず、層の活性化を再構成結果に置き換えるとモデルの損失が測定可能なほど増加します。発見される特徴は辞書サイズと学習実行によって異なります。幅広いSAEでは1つの特徴が複数の細かな特徴に分割され、まったく活性化しない潜在表現もあります。2025年3月、Google DeepMindの解釈可能性チームは、SAE特徴に基づくプローブは分布外プロンプトでの有害な意図の検出において単純な線形プローブを下回ったと報告し、基礎的なSAE研究の優先度を下げる一方、SAEを複数あるツールの1つとして維持すると述べました。

  • 標準的なオートエンコーダー: 入力より狭いボトルネックを通してデータを圧縮し、次元削減を行います。SAEは隠れ層を広げ、スパース性を強制して概念を分離します。
  • 線形プロービング: 事前に選んだ1つの概念を検出する教師あり分類器を学習します。SAEは教師なしであり、ラベルなしで特徴を発見します。
  • 表現エンジニアリング(RepE): ペアになったプロンプトに対する活性化を比較して概念の方向を見つける一方、SAEの特徴は再構成のみから得られます。
  • スパースコーディング: SAEが入力ごとの最適化ではなく、1回のエンコーダー処理で近似する、従来の辞書学習手法です。Olshausen and Field(1996)は、自然画像から学習したスパースコードが、一次視覚野の単純型細胞の受容野に似た、局所的で方向性のあるエッジ状フィルターを生成することを示しました。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう