元学习:基础与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 元学习研究常用数据集

本节介绍元学习研究常用的数据集,首先,不得不提到元学习的应用场景。元学习的目标是让机器学会学习,让机器拥有接近人类的学习能力和新任务的完成能力。例如,小学一年级的学生,他们已经学会了判断两张图片中的动物是否是同一种动物。此时,给他们一张猫的图片和一张犀牛的图片,他们可以判断这两种动物不同,而且猫和老虎的外观更接近,犀牛和牛的外观更接近,它们之间或许会有更近的亲缘关系。在这个例子中,小学一年级的学生,并没有使用大量有标注图片进行训练,只看到了一张猫的图片和一张犀牛的图片,就可以对图片进行分类。然而,机器需要大量有标注图片进行训练,才能对图片进行分类。

另一个例子是,手机App决定上线一款新产品,吸引老年用户,以前的用户几乎都是年轻人。此时,App希望了解老年用户的消费偏好,便于制定相应的促销活动,鼓励老年人使用App进行消费。但是新进入的老年用户非常少,样本量不多,此时,由于缺乏数据,无法使用深度学习模型来进行分析。在小样本学习领域,人类的智能往往超越机器,所以,数据科学家可以对老年用户数据进行统计归纳,手动地分析老年用户的习惯,效果往往比使用深度学习模型好。

还有一个例子,公司研发了盲人使用的新产品,是手机上使用的实时视觉导航系统。系统可以实时地“看到”周围的环境,并且告知用户,且指引用户采取相应的行动。遇到危险时,可及时通知用户躲避,在危险路段,提前预警,过马路时告知用户这个时段马路上车是否多、绿灯可以通过人行道、人行道前的车已经停止等信息。这个系统需要实时快速反应,且对不同环境的适应性要强。可是,无论是对新环境的识别精度,还是遇到新情况时反应的速度,人眼都超过了实时视觉导航系统。

以上这些例子是小样本学习的案例,或者是在线学习的例子。在小样本学习中,数据量很少,却需要准确的判断。在在线学习中,需要实时反应,然而,每个时刻很短,接收到的数据量有限,能做的计算和分析也有限,却需要快速准确的反应。在这样的案例中,机器与人类在表现上的差别非常大,而元学习的目标是让机器的智能与人类可比,所以,这样的案例在元学习研究领域受到欢迎,且元学习方法在这些案例上往往可取得更好的成绩。

在小样本学习中,关注的是从少量样本点中总结的规律,在新样本点上进行推理,得出新样本点属于的类别,或者新样本点处的期望值。在小样本学习中,模型需要根据少量的有标注数据,得到可以推广的结论,有时需要借鉴大量有标注数据训练过的深度学习模型,将海量经验和手头上的少量有标注数据结合起来,得到可以推广的结论,以在新样本点上进行准确推理。

在元学习中,通过训练完成一些任务,提高模型完成任务的能力。在预训练过大量的任务之后,模型完成新任务的能力很强,此后,只需要一两次完成任务的经验,就能很好地完成新任务。例如,有经验的专业舞者在看过一次示范之后,就能复现这段舞蹈,不同风格种类的舞蹈有共通之处,对于专业舞者,在新风格的舞蹈上,经过少量训练,也能复现这些舞蹈。

在小样本元学习中,任务是小样本学习中的样本点,少量任务,类似小样本学习中的少量有标注数据。通过完成少量任务来学会如何很好地完成新任务,类似小样本学习中的通过少量有标注数据的训练,实现在新样本点上的准确推理。由此可见,小样本学习和元学习的结合非常多,目标是实现这样的功能,即机器完成少量任务之后,就学会了如何快速准确地完成新任务,如此一来,机器完成任务的能力就更加接近人类的智能。

在小样本元学习的研究中,常用的任务是图片分类。在每个图片分类任务中,只有少量的图片类别,而且每个图片类别下的图片也很少。例如,有10个图片类别,每个类别下有5张图片,这称为一个10-Way 5-Shot小样本图片分类任务。新任务上的图片类别在元训练集中是没有的,新任务被称为没有见过的任务(Unseen Task)。完成一些这样的小样本图片分类任务作为训练,例如,5个这样的任务,让机器学会在小训练样本上进行图片分类,然后完成新的这样的图片分类任务。

元学习中最常用的小样本图片分类的数据集是Omniglot和miniImageNet。2019年的论文“Meta-Dataset: A Dataset of Datasets for Learning to Learn from Few Examples”[1]中列出了元学习领域常用的数据集,这些元学习数据集的网站参见链接1。这里,列出元学习研究论文中常用的数据集的基本信息。

(1)Omniglot手写字符图片数据集的网站参见链接2。这个网站给出了Omniglot数据集和处理数据集的方法。Omniglot是一个手写字符的图片数据集,其中有1623个字符,每个字母有20张手写字符图片,这1623个字符来自不同国家的50个字母。Omniglot包含图片数据和笔画数据,笔画数据包括坐标和毫秒级的时间轴。Omniglot数据集中可以抽样得到5类单发数据集(Five-Way One-Shot Dataset),即总共有5个图片类别且每个图片类别下都只有1张图片。常见的还有5类5发数据集(Five-Way Five-Shot Dataset),即总共有5个图片类别,且每个图片类别下只有5张图片。元学习算法在Omniglot数据集抽样得到的5类单发数据集和5类5发数据集上得到的图片分类精度都接近100%。

(2)ImageNet图片数据集的网站参见链接3。ImageNet包括14 000 000张图片,这些图片有22 000个图片类别。ImageNet数据集是根据名词集合在互联网上搜索图片得到的数据库,ImageNet数据集的子集被作为图像分类比赛的数据集,称为ILSVRC(Large Scale Visual Recognition Challenge)数据集,其中,ILSVRC2012即2012年比赛数据集,ILSVRC2015即2015年比赛数据集,ILSVRC2012和ILSVRC2015是ImageNet比赛中最著名的数据集。ILSVRC2012的训练集中包括1 281 167张有标注图片,验证集中包括50 000张有标注图片,测试集中包括100 000张图片。

(3)元学习常用的研究数据集miniImageNet是比赛数据集ILSVRC2012的子集,包括60 000张84像素×84像素尺寸的图片,总共有100个图片类别,每个图片类别中有600张图片,其中训练集中有64个图片类别,验证集中有16个图片类别,测试集中有20个图片类别。miniImageNet数据集中也可抽样出5类单发数据集和5类5发数据集,元学习算法在这些数据集上的精度具有区分度,5类单发数据集的精度在45%~65%之间,5类5发数据集精度在60%~80%之间。

(4)类似地,tieredImageNet数据集也是比赛数据集ILSVRC2012的子集,其中有34个图片类别,每个图片类别下有10~30个图片子类别,训练集中有20个图片类别,验证集中有6个图片类别,测试集中有8个图片类别。tieredImageNet数据集抽样出的5类单发数据集和5类5发数据集对不同元学习算法的区分度也很高。

(5)CIFAR-10/CIFAR-100图片数据集的网站参见链接4。其中CIFAR-10数据集中有60 000张尺寸为32像素×32像素的彩色图片,总共有10个图片类别,每个类别下有6 000张图片。CIFAR-100数据集中包括100个图片类别,每个类别下有600张图片,总共也是60 000张尺寸为32像素×32像素的彩色图片。

(6)CIFAR-FS数据集和FC100数据集是从CIFAR-100中随机抽样产生的小样本图片分类数据集。

(7)PTB(Penn Treebank)文本数据集的网站参见链接5。PTB数据集包括超过45 000 000个美式英语单词,可用来做情感分析(Sensitivity Analysis)、单词使用的频率分析、句子结构的频率分析、文档分类等,进而判断整个文档的褒贬、对某件事物的评价是否正面等。

(8)CUB-200鸟类图片数据集的网站参见链接6。其中包括200个鸟类的类别,用于分析图像分割信息和图像特征。

(9)CelebA(CelebFaces Attributes Dataset)人脸图片数据集的网站参见链接7。其中包括200 000张图片,每张图片包括40个图像特征,这些特征包括身份、地点、面部表情等信息。

(10)YouTube Faces人脸视频数据集的网站参见链接8。其中包括来自1595个不同人的3425个面部视频,每个视频剪辑中的图片帧数从48到6070不等。

在元学习研究的论文中,这些元学习数据集常用于对比元学习算法在小样本图片分类任务上的精度,然而正如上一章提到的,元学习的目标不仅用于小样本学习,还要提高深度学习模型的泛化能力和实现General AI。所以,对于元学习的理解更关注这些模型适用的应用场景,以及与深度学习模型的融合,而不仅限于在小样本图片分类问题上进行精度对比。