检测图像中的对象和训练图像所花费的时间之间的关系是什么? [关闭]

问题描述 投票:-1回答:1

我有一个ML模型,它采用X秒来检测训练它的图像中的对象。这是否意味着在每张图像训练期间至少需要XX+Y秒?你能提供详细的见解吗?

问题不仅限于神经网络模型。一般的见解是值得赞赏的。在我的情况下,我正在处理级联分类器。我正在加载cascade.xml训练模型来检测一个对象。我想知道训练图像所花费的时间与加载训练模型后检测物体所花费的时间之间的关系。

machine-learning neural-network computer-vision artificial-intelligence data-science
1个回答
2
投票

因为没有说明,我在这里假设您的意思是神经网络ML模型。培训过程可以看作两个步骤:运行网络以检测对象并更新权重以最小化损失函数。

  • 运行网络:在训练时,反向传播部分基本上运行网络,就像使用当前网络权重检测对象一样,这需要按照您的说明使用X时间。它应该与训练后使用时相同,例如在测试数据集上(为了简单起见,我忽略了通常使用的小批量学习,这可能会改变一些事情)。
  • 更新权重:训练中的这一部分是通过完成反向传播算法来完成的,该算法告诉您如何改变权重将影响您的检测性能(即降低当前图像的损失函数),然后通常进行随机梯度下降迭代,更新权重。这是你说的Y,实际上可能比X大。

这两个部分是针对培训过程中的每个图像(更常见的是,针对每个小批量)完成的。

更新:您在回答中说您正在寻找通用算法的答案。这是一个有趣的问题!在查看培训任务时,您总是需要学习某种权重W,这是培训过程的结果,是学到的内容的本质。更新需要使学习的功能更好,这基本上听起来比简单地运行该功能更难。我真的不知道任何算法(当然不是常用的算法)比每个图像的运行时间花费更少的训练时间,但理论上可能是可能的。

© www.soinside.com 2019 - 2024. All rights reserved.