Ultralytics YOLO27:
YOLOのライセンス
Ultralytics用語集に戻る

Hypernetworks

ハイパーネットワークは、タスク埋め込みなどの入力から別のネットワークの重みを出力するニューラルネットワークです。用途とPyTorchの例について解説します。

ハイパーネットワークとは、出力として別のネットワーク(ターゲットネットワークまたはメインネットワークと呼ばれます)の重みを生成するニューラルネットワークです。固定されたモデルの重みを1組学習するのではなく、ターゲットネットワークは、タスクID、ユーザープロファイル、テキストの説明、サンプル画像などの条件入力からハイパーネットワークが計算した重みを受け取ります。そのため、学習済みのハイパーネットワーク1つで、1回のフォワードパスにより、入力ごとに異なる特化モデルを生成できます。Google Brainが2016年に発表したHyperNetworks論文で、David Ha、Andrew Dai、Quoc Leは、小規模なハイパーネットワークを使って深層畳み込みネットワークとリカレントネットワークの重みを生成しました。この考え方は現在、継続学習、拡散モデルのモデルパーソナライゼーション、ニューラルアーキテクチャ探索に応用されています。

ハイパーネットワークの仕組み#

学習中に学習されるのは、ハイパーネットワーク自体のパラメーターだけです。多くの場合、タスクやレイヤーごとに学習済みの埋め込みを使います。条件入力はハイパーネットワークを通過してターゲットネットワークの重みを生成し、ターゲットネットワークはその重みで実データを処理します。誤差逆伝播によって、生成された重みを通る損失勾配がハイパーネットワークに戻されます。

Haらは、レイヤー埋め込みから各レイヤーの重みを一度だけ生成する静的ハイパーネットワークと、HyperLSTMのように系列の各ステップで重みを再計算する動的ハイパーネットワークを区別しました。実行時に生成される重みは通常のテンソルであるため、ハイパーネットワークからアテンション射影の重みを得るトランスフォーマーレイヤーなど、任意のアーキテクチャをターゲットネットワークにできます。主なエンジニアリング上の課題は出力サイズです。重みが数百万個あるレイヤーでは、レイヤーごとに数百万の出力を持つハイパーネットワークが必要になります。実用的な設計では、それぞれ専用のチャンク埋め込みから重みをチャンク単位で生成する、重み更新の小さな低ランク因子のみを生成する、または特徴量ごとの線形変調(FiLM)のようにチャネルごとのスケールとシフトのみを生成します。

PyTorchでのハイパーネットワークの例#

このPyTorchの例では、振幅や位相が異なる正弦波のタスク群を使ってハイパーネットワークを学習します。各タスクについて、小さなターゲットネットワークの重み97個すべてを生成し、学習するのはハイパーネットワークだけです。

import math

import torch
from torch import nn

torch.manual_seed(0)
x = torch.linspace(-math.pi, math.pi, 64)

# Hypernetwork: maps a task (amplitude, phase) to all 97 weights of a 1-32-1 target network
hyper = nn.Sequential(nn.Linear(2, 128), nn.ReLU(), nn.Linear(128, 97))
optimizer = torch.optim.Adam(hyper.parameters(), lr=1e-3)


def target(x, w):
    """Run the target network with weights w produced by the hypernetwork."""
    return torch.relu(x[:, None] * w[:32] + w[32:64]) @ w[64:96] + w[96]


# Train only the hypernetwork, on a new random sine task at every step
for step in range(5000):
    task = torch.rand(2) * torch.tensor([2.0, math.pi])
    loss = ((target(x, hyper(task)) - task[0] * torch.sin(x + task[1])) ** 2).mean()
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

# Unseen task: one forward pass of the hypernetwork produces the target network's weights
y = 1.5 * torch.sin(x + 1.0)
with torch.no_grad():
    mse = ((target(x, hyper(torch.tensor([1.5, 1.0]))) - y) ** 2).mean()
print(f"Unseen task MSE: {mse:.3f} with generated weights, {(y**2).mean():.3f} predicting zero")

Unseen task MSE: 0.010 with generated weights, 1.132 predicting zeroと出力されます。振幅1.5、位相1.0のターゲットネットワークは一度も学習されていません。その重みはハイパーネットワークを1回呼び出して生成されたものであり、ハイパーネットワークはタスク群全体で適切な重みがどのように変わるかを学習しています。

用途#

  • 継続学習:タスク条件付きハイパーネットワークは、タスクごとに小さな埋め込みを保存し、必要に応じてそのタスクの重みを再生成します。新しいタスクの学習には、以前のタスクの埋め込みに対するハイパーネットワークの出力を変えないようにするペナルティが含まれ、破滅的忘却を抑制します。
  • 生成モデルのパーソナライゼーション:HyperDreamBoothは、顔写真1枚からテキスト画像拡散モデル用の小さなパーソナライズ済み重みを予測し、短時間で微調整します。モデルを約20秒でパーソナライズでき、DreamBoothより25倍高速で、パーソナライズ済みの重みはDreamBoothモデルより10,000倍小さくなります。
  • ニューラルアーキテクチャ探索:グラフハイパーネットワークは候補アーキテクチャをグラフとして読み込み、その重みを予測します。候補を1つずつ学習させる代わりに、予測された重みを使って検証精度で順位付けできます。
  • ゼロショット分類:CLIPの著者らは、テキストエンコーダーを、クラス名から線形分類器の重みを生成するハイパーネットワークとして説明しています。これによりCLIPは、学習ラベルとして一度も見ていないカテゴリに画像を分類できます。

オープンボキャブラリー検出器も同じ考え方を検出に応用します。YOLO26をベースに構築されたUltralytics YOLOE-26は、set_classes()に渡された各クラス名を、コンパクトなCLIP風テキストエンコーダーであるMobileCLIP2で一度エンコードし、得られた埋め込みを、各候補領域と各クラスのスコア算出に使う重みとして利用します。エクスポート時には、埋め込みが通常の1x1畳み込みとして検出ヘッドに組み込まれます。

  • ファインチューニング:タスクのデータに対する勾配更新を通じて、固定された重み一式を新しいタスクに適応させます。学習済みハイパーネットワークは、タスクの条件入力だけを受け取り、1回のフォワードパスで新しいタスク用の重みを生成します。
  • メタ学習:新しいタスクに素早く適応する方法を学習する、より広い目的を指します。ハイパーネットワークは、タスクの説明や少数のサンプルを直接重みに変換する実装方法の1つです。
  • 専門家混合モデル(MoE):多数の固定された専門家サブネットワークのうち、少数を各入力に割り当てます。ハイパーネットワークは保存済みの重みから選ぶのではなく、入力やタスクごとに新しい重みを計算します。
  • 高速重みプログラマー:系列の処理中に、別のネットワークの短期的な重みを書き換えるネットワークです。この考え方は1990年代初頭に提案されました。トランスフォーマーにおける線形化された自己アテンションは、形式上、このような高速重みプログラマーと等価です。

Explore solutions

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

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

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

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

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

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

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

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

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を導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン

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

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

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

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

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

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

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

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を導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン

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

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

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

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

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

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

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

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の未来を一緒に築きましょう!

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