一般的机器学习做法是,如果我要训练一个图像分类器(就是给一张图像,机器告诉你类别)我们就要准备很多带有标签的熊猫、狮子等图像丢给神经网络学习。
零样本学习的目标是我训练熊猫、狮子之后,给一张机器没见过的斑马的图像,机器能认出这是斑马。
其实原理很简单,就是让机器学会更抽象的特征,记住特征而不是具体哪个种类。比如机器知道了白色是啥样的、条纹是啥样的、四条腿的是啥样的,这些属性组合到一起就知道了斑马是啥样的。
将图片转化成特征向量。然后我们有一个类别描述向量,用这个取代了原来简单的类别标签。这个类别描述向量,可以是若干个属性合成的向量,每个维度代表一个抽象的属性特征,比如有羽毛、有条纹等。把各个属性的描述组合,就能知道是哪个类别。所以要做的就是建立特征空间和描述空间的映射。训练的时候,用图像转化而来的向量作为输入,属性组成的向量作为监督。