作为深度学习的新手,我有点难以掌握一次性学习的概念。
假设我有一个类来检测 COCO 或 Image NET 等训练数据集中不存在的类。我可以只使用图像训练该类的模型吗?或者训练集必须像 YOLO 或 RCNN 那样大?
作为深度学习的新手,我有点难以掌握一次性学习的概念。
假设我有一个类来检测 COCO 或 Image NET 等训练数据集中不存在的类。我可以只使用图像训练该类的模型吗?或者训练集必须像 YOLO 或 RCNN 那样大?
One-Shot Learning是指当您的训练数据集中的某些类只有很少或单个样本时的问题。一个常见的应用是,例如,人脸识别。在这里,您的数据集中每个人可能只有一张图像。不过,您希望您的神经网络能够从新图像中识别出该人。Andrew Ng在这里提供了一个很好的介绍。
一个流行的例子是Koch 等人介绍的连体网。基本思想是学习训练集中图像的潜在表示。当在推理过程中呈现新图像时,网络会计算该新图像的潜在表示并在训练集中搜索其潜在表示与新图像最相似的图像并预测相应的类别。
当您没有任何可用的特定类的样本时,这被认为是零样本学习。然而,在这种情况下,神经网络需要数据集包含所有图像的一些辅助信息。最受欢迎的是具有属性的动物 (AWA) 数据集:
解决零样本学习问题的初始方法分两步完成:
有关详细信息,您可以参考论文Attribute-Based Classification for Zero-Shot Visual Object Categorization。不过,最近的方法采用了另一条路线。
然而,这两种方法都需要像在深度学习中一样,需要大型数据集来学习。