返回 Ultralytics 词汇表
Task Arithmetic
发现任务算术如何利用权重更新来编辑模型行为。学习在不完全重新训练的情况下合并任务或在 Ultralytics YOLO26 中取消学习特征。
任务算术(Task arithmetic)是一种先进的机器学习技术,通过对预训练神经网络添加或减去特定的权重更新来修改其行为。从业者无需从头开始完全重新训练模型,而是可以隔离基础模型和微调模型之间学到的差异。这些差异本质上是封装了特定能力或行为的方向性更新。通过对这些更新应用加法和减法等基本数学运算,开发者可以动态编辑深度学习系统。这种范式在最近的关于任务算术的 arXiv 研究中获得了极大的关注,为将大规模模型适应新需求提供了一种轻量级、计算高效的方法。
概念原理#
该技术的基础在于计算基础预训练模型与在特定数据集上经过微调的版本之间的模型权重差异。这种被隔离的差异成为新技能的局部表示。通过直接操作 PyTorch 状态字典或利用TensorFlow 训练方法论,工程师可以缩放并组合这些权重差异。例如,减去特定的权重更新可以强迫模型“遗忘”学到的行为,这一概念在Anthropic 关于模型安全的研究中受到了广泛探讨。
实际应用#
任务算术在现代计算机视觉和自然语言处理管道中解锁了几个高效的工作流:
- 多任务能力合并:工程师可以在两个独立的数据集上分别训练一个Ultralytics YOLO26基础模型——一个用于专门的目标检测,另一个用于图像分类。通过计算这两个任务的权重差异并将其加回基础模型,生成的网络可以同时执行这两个任务,而不会遭受灾难性遗忘。
- 针对人工智能安全的定向遗忘:如果视觉模型无意中从其训练数据中学习到了有偏见的特征,研究人员可以在有偏见的数据上微调一个副本,提取出特定的权重差异,然后将其从原始模型中减去。正如各项Google DeepMind 的发现中所指出的,这有效地消除了不需要的行为,同时保留了模型的通用人工智能能力。
区分相关概念#
在浏览IEEE Xplore 档案或ACM 数字图书馆时,很容易将任务算术与相关的方法论混淆:
- 任务向量:这些是在算术过程中使用的实际数学张量(计算出的权重差异)。任务算术是添加或减去这些向量的总括框架。
- 模型合并:这是合并多个模型的更广泛术语。虽然算术是合并模型的一种方式,但合并也可以涉及复杂的路由网络或集成学习(ensembling)。
- 迁移学习:根据维基百科迁移学习概念,这涉及将来自一个任务的知识用作另一个任务的起点,这通常需要进一步的训练循环。任务算术纯粹通过直接权重计算来修改行为,而无需额外的训练循环。
实现算术运算#
在实践中应用这些模型优化策略需要仔细管理模型的内部状态。以下是使用 PyTorch 计算和应用更新的示例,该技术在最近的计算机视觉论文中经常被讨论。
import torch
# Load the state dictionaries of the pre-trained base and fine-tuned models
base_weights = torch.load("yolo26_base.pt")
tuned_weights = torch.load("yolo26_tuned.pt")
# Calculate the task vector and add it back to the base model with a scaling factor
scaling_factor = 0.5
for key in base_weights.keys():
task_vector = tuned_weights[key] - base_weights[key]
base_weights[key] += scaling_factor * task_vector对于管理复杂数据标注管道和多个微调模型版本的团队来说,Ultralytics 平台提供了一个简化的环境来监督云端训练和无缝部署,从而使迭代模型改进的管理变得更加高效。






