我对互联网上对一次性学习的不同解释感到困惑。 维基百科声称“一次性学习旨在从一个或仅几个示例中对对象进行分类”。在this关于用于评估书面字符相似性的一次性学习的详细阐述的博客文章中,它说“你不需要太多的类实例,只需很少的实例就足以构建一个好的模型”。然而,稍后,该模型使用每个角色 20 个样本进行训练。
假设我有一个包含 200 张西红柿图像的数据集,其中 100 张是腐烂的,100 张是完美的,我想使用暹罗神经网络创建一种一次性学习方法,以便在测试中发现腐烂的图像数据。根据我对维基百科定义的理解,我必须选择一张腐烂类的图像和一张完美类的图像(均来自训练数据),并仅使用这一对来训练模型超过一定数量的图像。迭代。
从最严格的意义上讲,一次性学习意味着机器仅从每件事的一个示例中学习。它需要从一小部分信息中找出全局(人类很擅长这一点,但常规机器学习并不总是如此)。在实践中,“一次性学习”一词可能意味着从极少数的示例中学习,而不仅仅是一个,这会导致潜在的混乱。
训练一个Siamese网络(链接到简短的研究论文),每类只有一张图片(例如,一张烂番茄,一张完美的)是一项重大挑战。网络不会记住图片,它会尝试学习创建区分特征的紧凑表示(例如“指纹”或 uuid,您可以将其称为特征摘要)。
其效果如何取决于区分特征的复杂性和网络的泛化能力。真正的一次性学习仅用一个例子是非常困难的,而且可能并不总是有效,特别是对于复杂的事情,所以我们有时会作弊:)。
您对一次性学习的想法是正确的,即使用的示例很少,但是,对于没有额外帮助的复杂任务来说,期望每个类仅使用一个示例即可获得强大的性能可能过于乐观。一次性学习的魔力取决于模型从有限样本中学习可概括特征的能力。
你的测试想法,一对总是完美的番茄,就像暹罗网络的做法一样。该模型不会给出“烂”或“好”之类的标签,而是给出它们相似程度的分数。然后你就可以根据该分数做出决定。
我希望这能回答您的问题,如果没有请随时发表评论:)
(题外话,
 
和
<br />
是格式化的天赐之物)