Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Neural Ordinary Differential Equations (Neural ODEs)

神经常微分方程(Neural ODEs)用学习得到的导数和 ODE 求解器取代堆叠层。了解它们如何通过伴随方法训练、适用场景,以及可运行代码。

神经常微分方程(Neural ODEs)是能够定义隐藏状态如何随时间连续变化的神经网络,而不是固定层数的堆叠结构。一个小型网络 f 会学习导数 dh/dt = f(h, t),数值 ODE 求解器再从初始状态对该导数进行积分,直到所需的输出时刻。Ricky Chen、Yulia Rubanova、Jesse Bettencourt 和 David Duvenaud 在一篇2018 年论文中提出了这一概念,该论文获得了 NeurIPS 最佳论文奖。

从残差块到连续深度#

残差网络按 h(t + 1) = h(t) + f(h(t)) 更新其状态,这恰好相当于用步长为 1 的欧拉方法求解 ODE 的一步。神经 ODE 将步长缩小到无穷小、步数增加到无穷多,并把积分过程交给求解器处理。SciPy 等经典数值软件(例如 solve_ivp)可以为手写方程求解相同类型的初值问题。

这改变了“深度”的含义。Runge-Kutta 系列中的自适应求解器,例如 Dormand-Prince 方法,会在动态变化较快的地方采用小步长,在变化平缓的地方采用大步长。一次前向传播的成本取决于求解器需要执行多少次函数评估,而评估次数又取决于输入、学到的动态特性和误差容差。推理时放宽容差,无需重新训练就能以精度换取更低的推理延迟。

使用伴随法训练#

通过求解器进行常规反向传播时,需要存储每个中间状态,因此内存占用会随求解器步数增加。伴随灵敏度法通过沿时间反向求解第二个携带梯度的 ODE 来避免这一点,它会在过程中重新计算状态,而不是存储这些状态。内存成本不会随深度增加,但代价是需要额外计算,而且前向与反向轨迹之间会存在微小的数值差异。

torchdiffeq 软件包为 PyTorch 提供可微分求解器,其中 odeint 用于直接反向传播,odeint_adjoint 用于伴随方法:

import torch
from torch import nn
from torchdiffeq import odeint

torch.manual_seed(0)

# 网络预测二维隐藏状态的导数 dh/dt
dynamics = nn.Sequential(nn.Linear(2, 32), nn.Tanh(), nn.Linear(32, 2))

# 像零星的传感器读数一样,在不规则时间戳处查询状态
initial_state = torch.tensor([[1.0, 0.0]])
times = torch.tensor([0.0, 0.3, 0.35, 1.1, 2.0])
trajectory = odeint(lambda t, h: dynamics(h), initial_state, times)

# 梯度会通过求解器反向传递到网络权重
loss = trajectory[-1].square().sum()
loss.backward()
print(trajectory.squeeze(1))
print(dynamics[0].weight.grad.norm())

轨迹会保存每个请求时刻的状态,从间隔很近的 0.3 和 0.35,到相距较远的 1.1;求解器会自行选择内部步长。非零梯度范数表明,在最终时刻计算的损失函数可以通过求解器训练网络。将 odeint 替换为 odeint_adjoint,即可切换到恒定内存梯度,前提是动态函数是 nn.Module,这样求解器才能找到其参数。

神经 ODE 的适用场景#

不规则采样的时间序列是最典型的适用场景。Rubanova 及其同事于 2019 年提出的潜变量 ODE 模型会将一系列观测编码为隐藏状态,并使其连续演化,因此可以对间隔不均的医疗记录或传感器日志进行建模,而无需强行映射到固定网格上。循环神经网络只会在离散步长上更新,处理缺失或不规则时间戳时需要额外机制;这是时间序列分析中的一个核心问题。

跟踪数据结构也相同。Ultralytics YOLO26的跟踪模式会为每一帧中的每个跟踪 ID 输出一个位置;物体被遮挡或漏检时,位置序列中会出现间隔。默认跟踪器会将每个丢失的跟踪目标延续 track_buffer 帧,默认值为 30,并使用卡尔曼滤波器;该滤波器采用的恒速运动模型是固定线性 ODE,每帧执行一次。对相同位置拟合的 Neural ODE 会学习运动本身,形成可在帧间或跨越间隔查询的连续轨迹,用于多目标跟踪。

生成式建模是第二个主要应用方向。最初的 Neural ODE 论文提出了连续归一化流,随后 FFJORD 对其进行了扩展:通过积分学得的向量场,将简单分布变换为复杂分布。流匹配随后通过直接学习向量场大幅降低了这类模型的训练成本,训练时无需求解 ODE。像 Stable Diffusion 3 这样的整流流图像生成器会通过积分此类 ODE 进行采样;扩散模型也可以通过积分其概率流 ODE 实现确定性采样。

ODE 的轨迹不能彼此交叉,因此输入维度与其相同的 Neural ODE 无法表示某些简单映射。Emilien Dupont 及其同事于 2019 年提出的增强型 Neural ODE 通过为状态增加额外维度解决了这一问题。动态特性刚性以及训练过程中函数评估次数增加,都可能使 Neural ODE 比固定深度网络运行更慢。

其他架构也基于连续时间动态构建,但各自有不同取舍。液态神经网络是由 ODE 定义、时间常数取决于输入的循环单元。状态空间模型,例如 S4 和 Mamba,以线性连续时间系统 x'(t) = Ax(t) + Bu(t) 为基础,并将其离散化为递归结构;该结构也可以通过长卷积或并行扫描计算,因此在长序列上运行很快,而通用 Neural ODE 则需要自适应求解器。

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 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉
体育领域的计算机视觉
了解 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 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉
体育领域的计算机视觉
了解 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 的未来!

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