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

Geometric Deep Learning (GDL)

幾何学的深層学習(GDL)は、グリッド、グラフ、メッシュ、点群の対称性をニューラルネットワークに組み込み、CNN、GNN、Transformerを統合します。

幾何学的深層学習(GDL)は、データがピクセルグリッド、グラフ、点群、球面、曲面のいずれに存在するかにかかわらず、その構造や対称性に基づいてニューラルネットワークを設計する深層学習の分野です。中心となる考え方は、画像の移動、分子の原子のラベル変更、3Dスキャンの回転など、意味を変えない入力の変換に対して、モデルが予測可能な反応を示すべきだというものです。Michael Bronstein、Joan Bruna、Yann LeCun、Arthur Szlam、Pierre Vandergheynstは、2017年のサーベイGeometric Deep Learning: Going Beyond Euclidean Dataでこの名称を広めました。2021年のBronstein、Bruna、Taco Cohen、Petar Veličkovićによるプロトブックでは、グリッド、群、グラフ、測地線、ゲージという5つの領域を軸にこの分野を体系化しました。

不変性、同変性、GDLの設計指針#

2つの性質が大きな役割を果たします。関数の出力が変換後も同じであれば、その関数は変換に対して不変です。猫が移動しても、画像分類のラベルが「猫」のままであることがその例です。入力に合わせて出力も変換される場合、その関数は同変です。物体と一緒に移動するセマンティックセグメンテーションのマスクがその例です。GDLの設計指針では、近傍間の情報を混合する同変レイヤー、領域を粗くするプーリング処理、そしてタスクが単一の答えを必要とする場合の最後の不変な読み出しを積み重ねます。領域の対称群を選ぶことで、よく知られたアーキテクチャが得られます。

畳み込みは、すべてのピクセル位置で1つのカーネルを共有するため、グリッド上で並進同変なケースが畳み込みニューラルネットワーク(CNN)です。グラフニューラルネットワーク(GNN)は、すべてのエッジに同じ関数を適用するため、ノードのラベルを変更しても出力の順序が変わるだけです。Transformerはトークンを完全結合グラフとして扱います。自己注意は置換同変であるため、トークンの順序を把握するには位置エンコーディングが必要です。GNNは最もよく知られたGDLモデルであり、GDLはこの3つをすべて説明する、より広範な枠組みです。Taco CohenとMax Wellingが2016年に提唱した群同変CNNは、重み共有を回転や反射に拡張します。また、メッシュネットワークや多様体ネットワークでは、曲面上の局所座標系で畳み込みを定義します。

Ultralytics YOLO26はグリッドのケースにあたります。畳み込みではピクセル位置間で重みを共有し、アーキテクチャに組み込まれていない対称性はデータ拡張によって学習させます。デフォルトでは、学習中に各画像を確率fliplr=0.5で水平方向に反転しますが、垂直反転(flipud)とランダム回転(degrees)は無効になっています。

グラフ上のメッセージパッシング#

GDLのグラフモデルは、メッセージパッシングに基づいて構築されます。各ノードは近傍ノードからメッセージを受け取り、和、平均、最大値などの順序に依存しない関数で統合して、自身の埋め込みベクトルを更新します。GoogleのJustin Gilmerらは2017年、多くのグラフアーキテクチャがこのメッセージパッシングの枠組みに当てはまることを示し、分子の量子化学的性質の予測に応用しました。小さなグラフのノードを並べ替えると、2つの対称性を直接確認できます。

import torch

torch.manual_seed(0)
nodes = torch.randn(5, 3)  # 5個の原子またはユーザー、各3個の特徴量
adjacency = torch.zeros(5, 5)
edges = torch.tensor([[0, 1], [1, 2], [0, 2], [2, 3], [3, 4]])
adjacency[edges[:, 0], edges[:, 1]] = adjacency[edges[:, 1], edges[:, 0]] = 1
w_self, w_neighbors, w_dense = torch.randn(3, 4), torch.randn(3, 4), torch.randn(15, 4)

# ノードをランダムな順序で並べ替えます。同じグラフを異なる順序で列挙します
order = torch.randperm(5)
nodes_p, adjacency_p = nodes[order], adjacency[order][:, order]

# メッセージパッシング:各ノードは自身の特徴量と近傍ノードの合計を統合します
out = torch.relu(nodes @ w_self + adjacency @ nodes @ w_neighbors)
out_p = torch.relu(nodes_p @ w_self + adjacency_p @ nodes_p @ w_neighbors)
print(torch.allclose(out_p, out[order]))  # 同変:ノードの並べ替えに応じて出力も並べ替わります
print(torch.allclose(out_p.sum(dim=0), out.sum(dim=0)))  # 不変:グラフ全体の読み出し結果は変わりません

# ノードリストをフラット化して全結合層に入力すると、並べ替えたグラフは新しいデータとして扱われます
print(torch.allclose(nodes_p.flatten() @ w_dense, nodes.flatten() @ w_dense))

True、True、Falseが出力されます。メッセージパッシングレイヤーの出力はノードの並べ替えに正確に追従し、グラフ全体の合計読み出し結果は変わりません。一方、通常の全結合層は、同じグラフを別の順序で列挙すると異なる答えを返します。PyTorch Geometricには、グラフのサイズが異なる場合のバッチ処理とともに、こうしたレイヤーが数十種類まとめられています。

用途#

分子は原子と結合からなるグラフであるため、メッセージパッシングネットワークは創薬における溶解性や結合性などの性質を予測します。タンパク質には3D形状も加わります。AlphaFold 2は不変点注意機構を使って予測構造を精緻化します。この機構では、タンパク質全体を空間内で回転または平行移動しても同じ結果が得られます。

LiDARスキャンや深度センサーは、順序のない3D点の集合である点群を生成します。StanfordのCharles Qiらが2017年に発表したPointNetは、すべての点に同じネットワークを適用して結果を最大値プーリングするため、出力は点の順序に依存しません。この設計は、自動運転車やロボティクスで使われる多くの3D物体検出システムの基盤となっています。ユーザーとアイテムのソーシャルグラフや商用グラフは、PinterestのPinSageなどのGNNベースのレコメンデーションシステムに利用されます。また、ナレッジグラフでは、エンティティとその関係に同じメッセージパッシングを適用します。

天気予報モデルは球面上で動作します。Google DeepMindが発表し、2023年にScience誌に掲載されたGraphCastは、全球を覆う二十面体を細分化して作られたマルチスケールメッシュ上でメッセージを伝達します。0.25°の解像度で10日先まで数百の変数を1分足らずで予測し、1,380の検証対象の90%で、主要な実運用の決定論的予報であるECMWFのHRESを上回りました。

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

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

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