少于一个示例的机器学习
2022年1月10日整理发布:如果我让你想象一匹马和一只鸟之间的某种东西——比如说,一匹飞马——你需要看一个具体的例子吗?这样的生物并不存在,但没有什么能阻止我们用我们的想象力创造一个:飞马。
人脑有各种机制,通过结合它对现实世界的抽象和具体知识来创造新概念。我们可以想象我们可能从未见过的现有事物(一匹长脖子的马——长颈鹿),以及现实生活中不存在的事物(一条会喷火的有翼蛇——一条龙)。这种认知灵活性使我们能够通过很少甚至有时没有新示例来学习新事物。
相比之下,众所周知,机器学习和深度学习是当前人工智能的领先领域,需要许多示例来学习新任务,即使它们与他们已经知道的事物相关。
克服这一挑战导致了机器学习方面的大量研究工作和创新。尽管我们离创造出能够复制大脑理解能力的人工智能还有很长的路要走,但该领域的进步是显着的。
例如,迁移学习是一种技术,它使开发人员能够针对新任务微调人工神经网络,而无需许多训练示例。Few-shot 和one-shot 学习使在一项任务上训练的机器学习模型能够使用单个或很少的新示例执行相关任务。例如,如果您有一个经过训练可以检测排球和足球的图像分类器,您可以使用一次性学习将篮球添加到它可以检测的类别列表中。
滑铁卢大学的人工智能科学家最近开发的一种被称为“少于一次学习”(或 LO-shot 学习)的新技术将一次性学习提升到一个新的水平。LO-shot 学习背后的想法是,要训练机器学习模型来检测 M 个类别,每个类别需要少于一个样本。该技术在 arXiv 预处理器上发表的一篇论文中介绍,仍处于早期阶段,但显示出前景,并且可以在数据不足或类太多的各种场景中使用。
k-NN 分类器
研究人员提出的 LO-shot 学习技术适用于“k-最近邻”机器学习算法。K-NN 可用于分类(确定输入的类别)或回归(预测输入的结果)任务。但是为了这个讨论,我们将坚持分类。
顾名思义,k-NN 通过将输入数据与其k 个最近邻进行比较来对输入数据进行分类(k是一个可调整的参数)。假设您想创建一个对手写数字进行分类的 k-NN 机器学习模型。首先,您为其提供一组标记的数字图像。然后,当您为模型提供一个新的、未标记的图像时,它将通过查看其最近的邻居来确定其类别。
例如,如果您将k设置为 5,机器学习模型将为每个新输入找到五个最相似的数字照片。如果说其中三个属于“7”类,它会将图像分类为数字 7。
k-NN 是一种“基于实例”的机器学习算法。当您为每个类别提供更多标记示例时,其准确性会提高,但性能会降低,因为每个新样本都会添加新的比较操作。
在他们的 LO-shot 学习论文中,研究人员表明,您可以使用 k-NN 获得准确的结果,同时提供的示例少于类。人工智能研究人员写道:“我们提出了‘少于一次’学习(LO-shot learning),在这种设置中,模型必须学习N 个新类,只给定M < N 个示例,每个类少于一个示例。” “乍一看,这似乎是一项不可能完成的任务,但我们在理论上和经验上都证明了可行性。”
每类少于一个示例的机器学习
经典的 k-NN 算法提供“硬标签”,这意味着对于每个输入,它只提供它所属的一个类。另一方面,软标签提供输入属于每个输出类别的概率(例如,有 20% 的可能性是“2”,70% 的可能性是“5”,10% 的可能性是一个“3”)。
在他们的工作中,滑铁卢大学的人工智能研究人员探索了他们是否可以使用软标签来概括 k-NN 算法的能力。LO-shot 学习的主张是软标签原型应该允许机器学习模型对具有少于N 个标记实例的N 个类别进行分类。
该技术建立在研究人员之前在软标签和数据蒸馏方面所做的工作之上。该论文的合著者 Ilia Sucholutsky 告诉TechTalks: “数据集蒸馏是一个生成小型合成数据集的过程,这些数据集将模型训练到与在完整训练集上训练模型相同的准确度。” “在使用软标签之前,数据集蒸馏能够表示像 MNIST 这样的数据集,每个类只需使用一个示例。我意识到添加软标签意味着我实际上可以在每个类中使用少于一个示例来表示 MNIST。”
MNIST是一个手写数字图像数据库,通常用于训练和测试机器学习模型。Sucholutsky 和他的同事 Matthias Schonlau 在卷积神经网络LeNet上仅使用五个合成示例就成功地在 MNIST 上实现了 90% 以上的准确率。
“这个结果真的让我感到惊讶,这让我对这种 LO-?shot 学习设置进行了更广泛的思考,”Sucholutsky 说。
基本上,LO-shot 使用软标签通过划分现有类之间的空间来创建新类。在上面的示例中,有两个实例可以调整机器学习模型(以黑点显示)。经典的 k-NN 算法会在两个类之间分割两个点之间的空间。但是“软标签原型 k-NN”(SLaPkNN)算法,被称为 OL-shot 学习模型,在两个类之间创建了一个新空间(绿色区域),它代表了一个新标签(想想有翅膀的马)。在这里,我们用N-1 个样本实现了N 个类别。
在论文中,研究人员表明,LO-shot 学习可以扩大到使用N 个标签甚至更多标签来检测3N-2 个类别。
在他们的实验中,Sucholutsky 和 ?Schonlau 发现,通过正确配置软标签,LO-shot 机器学习可以提供可靠的结果,即使您有嘈杂的数据。
“我认为 LO-shot 学习也可以从其他信息源中工作——类似于许多零样本学习方法所做的——但软标签是最直接的方法,”Sucholutsky 说,并补充说已经有几个可以为 LO-shot 机器学习找到正确的软标签的方法。
虽然该论文展示了使用 k-NN 分类器进行 LO-shot 学习的强大功能,但 Sucholutsky 表示该技术也适用于其他机器学习算法。“论文中的分析特别关注 k-NN,因为它更容易分析,但它应该适用于任何可以利用软标签的分类模型,”Sucholutsky 说。研究人员将很快发布一篇更全面的论文,展示 LO-shot 学习在深度学习模型中的应用。