few-shot learning 1.1——零样本学习

                         few-shot learning 1.1——初识零样本学习

 

1. 什么是few-shot learning

       小样本学习问题是指只给定目标少量训练样本的条件下,如何训练一个可以有效地识别这些目标的机器学习模型。按照训练样本的多少可以将小样本学习分为三类:1)只有一个训练样本,这种学习方法我们称为单样本学习(one-shot learning);2)当不存在待识别目标训练样本的时候,我们称这类问题为零样本学习(zero-shot learning) ;3)当拥有目标训练样本在数十个量级的机器学习问题,我们称之为小样本学习(few-shot learning)。以上三类均称之为小样本学习,其中,前两类可以作为第三类的特殊情况。实际中以第二种和第三种情况研究较多。

2. zero-shot learning的直观解释

假设jack和爸爸,到了动物园,看到了马,然后爸爸告诉他,这就是马;之后,又看到了老虎,告诉他:“看,这种身上有条纹的动物就是老虎。”最后,又带他去看了熊猫,对他说:“你看这熊猫是黑白色的。”然后,爸爸给jack安排了一个任务,让他在动物园里找一种他从没见过的动物,叫斑马,并告诉了jack有关于斑马的信息:“斑马有着马的轮廓,身上有像老虎一样的条纹,而且它像熊猫一样是黑白色的。”最后,jack根据爸爸的提示,在动物园里找到了斑马(意料之中的结局)。

上述例子中包含了一个人类的推理过程,就是利用过去的知识(马,老虎,熊猫和斑马的描述),在脑海中推理出新对象的具体形态,从而能对新对象进行辨认。(如图1所示)ZSL就是希望能够模仿人类的这个推理过程,使得计算机具有识别新事物的能力。到这里,我们应该明白此处的“零”样本中的“零”指的是标签,那么通过什么将已知样本(训练样本)和未见样本(测试样本)建立联系呢,是通过“属性”(轮廓,条纹,颜色),有点类似与多标签分类。

few-shot learning 1.1——零样本学习

                                                                         图1 ZSL概念图

 

3. zero-shot learning的数学表达

few-shot learning 1.1——零样本学习

上图列出了零样本学习和传统监督学习的区别,其中x为样本,y为标签,可以看出本质区别就是训练样本中的数据和测试样本的标签是否存在交集,无交集即零样本学习,其中零样本学习又分传统零样本学习和广义零样本学习,所谓的广义零样本学习就是把训练集的标签(错误选项)也一并给你,让你在其中选择正确答案,显然挑战性更大

4. 解决zero-shot learning的入手点

(1)构建合适的属性,即类别描述 ,我认为这是零样本学习中最主要,也是最难解决的问题,在开始的实例中jack为什么能识别出斑马,是因为jack找到了与斑马匹配的条纹,轮廓,颜色等属性,因此如何给计算机一套形象的属性描述是解决zero-shot learning的最主要任务。这类似于如何培养一个好老师。

(2)建立一个合适的分类模型,任务就是分类,因此合适的分类模型自然重要。这类似于培养一个好学生。由于培养一个好老师的任务耗时耗力,好多原因也不见得能培养好,因此大家目前的paper都致力于怎么培养一个好学生。

 

好久不写博客了,这篇文章写在国家重视疫情的一个月后,若此时是重视后的2个月,2.5个月。。。。。。灾难并不是死了两万人这样一件事,而是死了一个人这件事,发生了两万次,愿敬畏生命,早日归校,武汉加油,中国加油!