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 年的综述《几何深度学习:超越欧几里得数据》中推广了这一名称;2021 年,Bronstein、Bruna、Taco Cohen 和 Petar Veličković 编写的原型书将该领域归纳为五个方向:网格、群、图、测地线和规范。

不变性、等变性与 GDL 蓝图#

两个性质发挥了主要作用。如果函数经过某种变换后输出保持不变,那么它对该变换是不变的;例如,猫移动时,图像分类的标签仍应是“猫”。如果输出随输入一起变换,那么它就是等变的;例如,语义分割掩码应随对象移动。GDL 蓝图会堆叠在邻居之间混合信息的等变层、用于缩小定义域的池化步骤,以及在任务需要单一答案时使用的最终不变读出层。选择定义域的对称群,就能得到熟悉的架构:

卷积会在所有像素位置共享同一个卷积核,因此,卷积神经网络(CNN)就是网格上的平移等变情形。图神经网络(GNN)会沿每条边应用同一个函数,因此重新标记节点只会改变输出的排列。Transformer将其词元视为一个全连接图;由于自注意力具有置换等变性,因此需要位置编码来获知词元顺序。GNN 是最知名的 GDL 模型,而 GDL 是能够解释这三种模型的更广泛框架。Taco Cohen 和 Max Welling 于 2016 年提出的群等变 CNN 将权重共享扩展到旋转和反射;网格网络和流形网络则在曲面的局部坐标系中定义卷积。

Ultralytics YOLO26属于网格情形:其卷积会在像素位置之间共享权重,而架构本身未内置的对称性则通过数据增强来学习。默认情况下,训练时每张图像以 fliplr=0.5 的概率水平翻转,而垂直翻转(flipud)和随机旋转(degrees)默认关闭。

图上的消息传递#

GDL 中的图模型基于消息传递构建。每个节点收集邻居发送的消息,使用求和、求均值或求最大值等与顺序无关的函数合并这些消息,然后更新自身的嵌入向量。Google 的 Justin Gilmer 及其同事于 2017 年指出,许多图架构都符合这一消息传递范式,并用它预测了分子的量子化学性质。对一个小图的节点重新标记,可以直接检验这两种对称性:

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 点集合。斯坦福大学的 Charles Qi 及其同事于 2017 年提出 PointNet,对每个点应用同一个共享网络,再通过最大池化合并结果,因此输出不受点的顺序影响。这一设计构成了许多面向自动驾驶汽车和机器人的3D 目标检测系统的基础。用户和商品构成的社交与商业图推动了基于 GNN 的推荐系统,例如 Pinterest 的 PinSage;知识图谱则将相同的消息传递机制应用于实体及其关系。

天气模型运行在球面上。Google DeepMind 于 2023 年在《科学》杂志发表了 GraphCast。它通过一张围绕地球不断细分二十面体而构建的多尺度网格传递消息,能以 0.25° 的分辨率预测未来 10 天的数百个变量,耗时不到一分钟;在 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 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来