深圳Yolo 视觉
深圳
立即加入
词汇表

任务运算

了解任务算术如何利用权重更新来调整模型行为。学习如何在Ultralytics 中合并任务或“遗忘”特征,而无需进行完全重新训练。

任务算术是一种先进的 机器学习技术,其原理在于 通过增减特定的权重更新来修改预训练神经网络的行为。与 从头开始完全重新训练模型不同,从业者可以分离出基础模型与 微调模型之间所学到的差异。这些差异本质上是封装了特定能力或 行为的方向性更新。 通过对这些更新应用加减法等基础数学运算,开发者能够 动态调整深度学习系统。这一 范式在近期 关于任务算术的arXiv研究中获得了显著关注,它提供了一种轻量级、 计算高效的方法,用于将大规模模型适应新的需求。

该概念的运作原理

该技术的基础在于计算 基础预训练模型与 在特定 数据集上经过微调的版本之间的模型权重差异。这种孤立的差异便成为了新技能的局部表示。通过直接 操作PyTorch 字典 或利用 TensorFlow , 工程师可以扩展并组合这些权重差异。 例如,减去特定的权重更新可以迫使 模型“遗忘”已学到的行为,这一概念在 Anthropic 关于模型安全性的Anthropic 得到了深入探讨。

实际应用

任务算术为现代 计算机视觉和自然语言处理 管道解锁了多种高效的工作流:

  • 多任务能力融合:工程师可以分别在 两个独立的数据集上训练Ultralytics 基础模型——一个用于专门的 目标检测,另一个用于 图像分类。通过计算这两项任务的权重 差异并将其加回基础模型,生成的网络能够同时执行这两项任务, 且不会出现灾难性遗忘。
  • 针对人工智能安全的定向遗忘:如果视觉模型无意中从训练数据中学习到了带有偏见的特征,研究人员可以对模型的副本进行微调 以适应这些偏见数据,提取具体的权重差异,并将其从原始模型中减去。正如 Google 的多项研究发现所指出的,这种方法能够有效地消除 不希望出现的行为,同时保留模型的一般 人工智能能力

区分相关概念

在浏览IEEE Xplore 档案库 ACM 数字图书馆时,人们很容易将任务运算与相关 方法论混淆:

  • 任务向量:这些是在算术过程中实际使用的数学张量(即计算出的权重差)。 任务算术是这些向量进行加减运算的总体框架。
  • 模型融合:这是一个更宽泛的术语,指将多个模型进行组合。虽然算术运算是合并模型的一种方式,但合并还可能 涉及复杂的路由网络或集成学习。
  • 迁移学习:根据维基百科迁移学习概念的解释, 这涉及将一项任务中的知识作为另一项任务的起点,通常需要进行 进一步的训练迭代。而算术任务则完全通过直接的权重计算来修改行为,无需额外的 训练迭代。

实现算术运算

要在实践中应用这些模型优化策略, 需要仔细管理模型的内部状态。下面是一个使用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 提供了一个简化的 环境,用于监督云端训练和无缝部署,从而使迭代模型优化的管理 效率大幅提升。

让我们一起共建AI的未来!

开启您的机器学习未来之旅