微调与零样本
SAM 2、LLaVA或 ChatGPT等模型无需特殊训练即可完成任务。这让人们怀疑训练 AI 的旧方法(即微调)是否已经过时。
在本文中,我们比较了两种模型:YOLOv8(微调)和 YOLO-World(零样本,实时开放词汇目标检测)。通过观察每种模型的效果,我们将尝试回答一个大问题:微调是否会成为过去,还是我们仍然需要这两种训练 AI 的方式?
结论:如下所示,上述问题的答案是:视情况而定!
图 1. 何时使用微调而非零样本,反之亦然?
1. 微调 VS 零样本
传统上,在物体检测(计算机视觉中的一项关键任务)中,我们严重依赖微调。此过程涉及采用预先训练的模型,并使用较小的特定于任务的数据集调整其参数。
虽然微调有效,但也有其缺点:
- 1.耗时:往往需要数小时甚至数天的训练。
- 2. 数据量巨大:每个新类别都需要大量标记数据。
- 3. 计算成本高昂:需要大量的处理能力和能源。
- 4. 缺乏灵活性:模型需要针对每个新的对象类别进行重新训练。
零样本学习是一种突破这些限制的革命性方法。零样本学习并不是新事物,但它使模型能够识别从未明确训练过的对象类别。
从高层次来看,零样本的工作原理如下:
- 1.模型学习将视觉特征与语义概念联系起来(即语义理解)。
- 2. 它利用这种理解来识别新的、看不见的物体(即知识转移)。
- 3.该模型使用上下文线索对不熟悉的物体做出有根据的猜测(即上下文推理)。
这为本文的关键问题奠定了基础:鉴于零样本模型(如为语言任务提供支持的 ChatGPT 模型)越来越受欢迎,物体检测的微调时代是否即将结束?
2. YOLOv8 与 YOLO-World
2.1 数据集
我们用于进行实验的两个物体检测数据集包括汽车图片和涂鸦/艺术图片,如图 2 所示。
图 2. 我们用来比较 YOLO v8 与 YOLO-World 的物体检测数据集(汽车和破坏行为)
让我们简单提一下我们在实验中使用的模型。
2.2 YOLOv8 与 YOLO-World
YOLOv8有三个主要组成部分:主干网络、颈部架构和 YOLO 头部。
- 主干网络CSPDarknet53 是一个深度神经网络,它通过逐步下采样输入图像来提取特征。它分为四个部分,每个部分负责不同层次的特征提取,全部连接到 PAN,PAN 是 YOLOv8 的“脖子”。
- 颈部细化了主干捕获的特征。YOLOv8 的主要改进之一就是颈部,其中 PAN 成功地结合了不同级别或尺度的特征,以捕获数据中的更多细节。这使得提取的特征更容易被头部解释,从而提高了预测的质量。
- 头部与颈部相连,负责做出最终预测。YOLOv8 只有一个头部,而 YOLOv5 有三个。这种设计通过专注于预测物体的中心来简化模型,从而降低复杂性。
另一方面,YOLO-World具有不同的架构,由 YOLO 检测器、文本编码器和可重新参数化的视觉语言路径聚合网络(RepVL-PAN)组成。
YOLO 检测器识别图像中的特征,而文本编码器将文本转换为嵌入。RepVL-PAN 利用文本嵌入和图像特征之间的跨模态融合。
2.3 性能
YOLOv8 — 汽车数据集
我们介绍一个简单的任务——检测图片中的所有汽车。我们在 3,123 张图片上训练了一个 YOLOv8 模型,历时 80 个 epoch。我们从查看混淆矩阵开始分析(图 3)。
图 3. YOLOv8(训练集)的混淆矩阵显示“汽车”类别的准确率很高
我们总结了三个主要要点:
- 1.模型在训练数据集上取得了优异的性能,mAP为0.9123,mAR为0.8912。
- 2. 误报分析显示,该模型检测到背景中未标记的汽车。为了提高性能,建议标记这些背景汽车实例。
- 3.该模型表现出很强的泛化能力,在未见过的测试集上表现优异,mAP和mAR得分分别为0.9011和0.8722。
我们通过Tenyks 平台处理预测结果,生成以下混淆矩阵(图 4):
图 4. 正如预期的那样,YOLOv8(测试集)的混淆矩阵也非常准确
检查错误后我们发现:
- 1. 误报主要是由于模型检测到未标记的背景车辆,展示了其在彻底性方面胜过人类标记者的能力(见图 5)。
- 2. 发现标签不一致,只需更新 JSON 文件并通过 Tenyks_SDK 重新上传即可轻松纠正。虽然这不会显著影响整体性能,但它凸显了数据质量检查的重要性。
图 5. 模型(即 YOLOv8)未发现汽车的样本
在此阶段,还可以进行进一步的改进,但考虑到时间投入(大约 8 小时用于训练、测试和故障排除,不包括设置和学习曲线),该模型的性能非常令人满意。
YOLO-World——汽车数据集
对于零样本来说,这要简?单得多。大约需要10 分钟才能获得一个模型,了解其工作原理并产生结果。但微调比零样本好多少,额外的时间值得吗?
以下是 YOLO-World 针对测试集的混淆矩阵(图 6):
图 6. YOLO-World 在汽车测试集上的结果不如 YOLOv8
以下是主要内容:
- 1. 模型性能:
— 训练数据集:mAP 为 0.49,mAR 为 0.63。—
测试数据集:mAP 为 0.44,mAR 为 0.55(对于至少有一个预测的图像)。 - 2. 错误分析:
— YOLO-World 的主要弱点:难以识别 640x640 像素图像中占据小区域的汽车(见图 7)。—
大多数误报实际上是未注释的汽车,表明数据集中存在重大标签问题。 - 3. 零样本与微调模型比较:
——在混淆矩阵和漏检方面,零样本模型表现不如微调模型。——
然而,零样本模型显示出一个关键优势:对训练数据集中错误标记的抵御能力。
这个标签问题虽然看似微不足道,但修复起来却很费时间。吴恩达的引言很贴切:
“在机器学习中,80% 的时间都花在准备和清理数据上,只有 20% 的时间都花在实际的模型构建上。”
考虑到投入微调的时间,这 80% 代表着巨大的努力。
综上所述,微调的效果优于零样本,但训练所需的时间和资源可能并不总能证明这种边际改善是合理的。对于简单的任务,零样本模型提供了一个经济高效的起点,必要时可以采用微调作为后备方案。
图 7. 根据物体大小得出的假阴性预测
图 8. 不出所料,YOLO-World 不如微调模型
??问题仍然存在:在识别更复杂的物体时,这些方法会如何比较?
YOLOv8 — 破坏行为数据集
我们使用 YOLOv8 对该数据集运行了类似的设置,以下是主要要点:
- 1. 模型性能差异:模型在训练集上的表现(mAP 84%,mAR 88%)优于在测试集上的表现,表明可能存在过度拟合或难以推广到新数据。
- 2. 类别不平衡:数据集中存在严重不平衡,只有 9.7% 的图像包含非破坏行为实例。这导致破坏行为检测的性能优于非破坏行为检测。
- 3. 泛化问题:该模型难以在看不见的数据上保持其性能,特别是在非破坏行为检测方面,这表明该概念难以学习和推广。
- 4. 特定检测挑战:该模型难以区分实际的破坏行为和不同语言的正常标志或文字,经常将常规标志错误归类为破坏行为。
YOLO-World——破坏数据集
对于 YOLO-World,以下是三个主要要点:
- 1. 模型难以区分破坏行为:模型无法区分破坏行为和非破坏行为,这可能是由于数据中的措辞含糊不清。即使只关注“涂鸦”,模型的预测仍然保持不变,导致性能指标不佳。
- 2. 测试集性能差:在测试集上,模型仅对两幅图像进行了预测,并且都不正确。
- 3. 需要微调吗?:虽然微调后的模型表现不佳,但它仍然产生了一些结果。当你试图找到一个五岁小孩可能没有听过并且肯定不会认出的东西时,你最好教孩子它是什么。对于模型来说,情况也是一样的:零样本理解基本对象并在它们上表现良好,但是当你需要更具体的东西时,你最好准备好微调模型。
3. 那么,何时使用微调而不是零样本,反之亦然?
我们的主要问题的答案是什么?答案是:视情况而定(见图 9)。
图 9. 微调和零样本学习的比较
如果你只关注准确率,没有其他考虑,那么零样本学习可能不是你的最佳选择。就纯准确率而言,它的表现可能会比微调模型更差。
然而,在现实世界中,准确度并不总是最重要的指标。时间、资源和可扩展性等其他因素也应考虑在内。鉴于应用程序和用例的多样性,可以肯定地说,人工智能的世界足够大,可以容纳多种方法:有太多场景无法宣称一种方法具有普遍的优越性。
可以将零样本模型想象成一个好奇的五岁小孩。如果你的任务是让孩子去做的,比如无需事先训练即可识别图像中的特定物体,那么零样本学习可能非常适合。它的表现与孩子完成任务的方式类似:具有一般知识,但没有特定的专业知识。
然而,如果您认为这项任务对于孩子来说太复杂,无法准确处理,或者潜在的不准确性对于您的应用程序来说是不可接受的,那么您应该准备投入必要的时间和资源来根据您的特定需求微调模型。
参考:
https://arxiv.org/abs/2401.17270
https://medium.com/@tenyks_blogger/zero-shot-ai-the-end-of-fine-tuning-as-we-know-it-1e9f0215967e
本文暂时没有评论,来添加一个吧(●'◡'●)