返回 Ultralytics 词汇表
Task Vectors
学习任务向量如何实现高效的模型合并和行为引导。发现如何操作 Ultralytics YOLO26 权重以进行零样本多任务处理。
任务向量代表在微调过程中对神经网络权重所做的具体更改,以实现新的功能。通过从微调模型的参数中减去基础模型的参数,研究人员可以在权重空间中隔离出一个方向向量,该向量封装了针对特定任务的学习行为。这种方法使开发者能够对模型参数进行简单的算术运算,从而在无需额外训练计算资源的情况下引导、修改或合并模型行为。
Link to this section任务向量与迁移学习的区别#
虽然迁移学习的概念涉及在新的数据集上对模型进行顺序训练以适应其现有知识,但任务向量是在训练后直接作用于模型的结构化权重。任务向量利用权重空间插值来线性组合多个独立训练模型的权重差异,而非通过重新训练梯度来学习新领域。这实现了零样本模型合并,使单一模型能够同时继承多种功能,而无需承担典型的训练过程中的计算开销。
Link to this section实际应用#
代数化操作深度学习模型的能力已促成了现代AI流程中若干极具影响力的应用:
- 多任务模型合并: 工程师可以将针对目标检测优化的任务向量与针对图像分割训练的任务向量相结合。当应用于Ultralytics YOLO26基础模型时,这会创建一个同时擅长这两项任务的双重功能架构,并保留了每个原始微调模型的优势。
- 机器遗忘与AI安全: 如果模型表现出偏见或危险的输出,研究人员可以计算出一个代表该特定不良行为的任务向量。通过从模型权重中减去该向量,他们可以有效地“擦除”这种行为,从而极大地促进AI安全的提升和AI伦理标准的完善。
- 计算机视觉中的领域自适应: 当针对特定环境调整模型时(例如从白天转为夜间实时推理),任务向量允许你缩放自适应的幅度。应用该向量的一小部分(例如,缩放因子为0.5)可以得出一个在两个领域中表现良好的平衡模型。
Link to this section在PyTorch中使用任务向量#
创建和应用任务向量需要访问并操作PyTorch状态字典。以下示例演示了如何从微调后的YOLO26模型中提取任务向量,并以特定的缩放因子将其应用回基础模型。
from ultralytics import YOLO
# Load the state dictionaries for the base and fine-tuned models
base_weights = YOLO("yolo26n.pt").model.state_dict()
tuned_weights = YOLO("yolo26n-custom.pt").model.state_dict()
# Calculate the task vector (tuned weights minus base weights)
task_vector = {k: tuned_weights[k] - base_weights[k] for k in base_weights.keys()}
# Apply the task vector to the base model using a 0.5 scaling factor
for k in base_weights.keys():
base_weights[k] += 0.5 * task_vector[k]Link to this section权重操作的未来#
随着大语言模型和大规模视觉Transformer等架构的参数量不断增长,为每一次微小调整进行重新训练在经济上变得不可行。任务向量为训练后模型优化提供了一种数学上优雅的替代方案。通过共享轻量级的任务向量而非整个数GB的模型,AI社区可以加速AI开源协作。一旦你的自定义任务向量经过优化,利用Ultralytics Platform即可简化后续的模型部署和监控流程,确保你优化的权重能直接转化为生产就绪的端点。






