带有用户图像标注的图像分类模型的特化
Specialization of image classifing model with user image tagging
我有一个概念性问题,关于机器学习的软件 process/architecture 设置。我有一个网络应用程序,我正在尝试合并一些像 Facebook 的人脸识别一样工作的机器学习算法(一般对象除外)。因此,该模型可以更好地对上传到我的服务的 特定 图像进行分类(例如 fb 如何对特定人员进行分类等)。
大纲是:
event: User uploads image; image attempts to be classified
if failure: draw a bounding box on object in image; return image
interaction: user tags object in box; send image back to server with tag
????: somehow this new image/label pair will fine tune the image classifier
最后一步我需要帮助。一般来说,在 t运行sfer 学习或训练中,程序员拥有一个充满图像的大型数据库。就我而言,我有一个预训练模型(google 的 inception-v3),但在用户开始上传内容之前我的微调数据库不存在。
那么我如何使用这种标记方法来构建专门的数据库呢?我确定 FB 运行 解决了这个问题并解决了它,但我可以找到他们的解决方案。经过一些思考(和不确定的研究),我能想到的唯一策略是:
A) stockpile tagged images and do a big batch train
B) somehow incrementally input a few tagged images as they get
uploaded, and slowly over days/weeks, specialize the image classifier.
理想情况下,我想避免选项 A,但我不确定 B 是否现实,也不确定是否有其他方法可以完成此任务。谢谢!
是的,这听起来像是 online learning 的经典示例。
特别是对于深度卷积网络,给定一些新数据,例如,可以 运行 在其上进行几次随机梯度下降迭代。如果需要,调整学习率可能也是一个好主意(这样就可以调整给定样本的重要性,这取决于,比如说,一个人对它的信心)。
正如您所提到的,您也可以保存 "mini-batches" 来执行此操作(取决于您的设置)。
此外,如果您想让学习者更加专业化(例如在用户之间),请查找 domain adaptation。
我有一个概念性问题,关于机器学习的软件 process/architecture 设置。我有一个网络应用程序,我正在尝试合并一些像 Facebook 的人脸识别一样工作的机器学习算法(一般对象除外)。因此,该模型可以更好地对上传到我的服务的 特定 图像进行分类(例如 fb 如何对特定人员进行分类等)。
大纲是:
event: User uploads image; image attempts to be classified
if failure: draw a bounding box on object in image; return image
interaction: user tags object in box; send image back to server with tag
????: somehow this new image/label pair will fine tune the image classifier
最后一步我需要帮助。一般来说,在 t运行sfer 学习或训练中,程序员拥有一个充满图像的大型数据库。就我而言,我有一个预训练模型(google 的 inception-v3),但在用户开始上传内容之前我的微调数据库不存在。
那么我如何使用这种标记方法来构建专门的数据库呢?我确定 FB 运行 解决了这个问题并解决了它,但我可以找到他们的解决方案。经过一些思考(和不确定的研究),我能想到的唯一策略是:
A) stockpile tagged images and do a big batch train
B) somehow incrementally input a few tagged images as they get
uploaded, and slowly over days/weeks, specialize the image classifier.
理想情况下,我想避免选项 A,但我不确定 B 是否现实,也不确定是否有其他方法可以完成此任务。谢谢!
是的,这听起来像是 online learning 的经典示例。
特别是对于深度卷积网络,给定一些新数据,例如,可以 运行 在其上进行几次随机梯度下降迭代。如果需要,调整学习率可能也是一个好主意(这样就可以调整给定样本的重要性,这取决于,比如说,一个人对它的信心)。 正如您所提到的,您也可以保存 "mini-batches" 来执行此操作(取决于您的设置)。
此外,如果您想让学习者更加专业化(例如在用户之间),请查找 domain adaptation。