1. 研究目的与意义
伴随着近年来强力计算设备的涌现、先进模型算法的提出,人工智能技术取得了巨大的突破并且在得到了广泛的应用。面对人工智能技术的飞速革新,国家出台了一系列的规划政策,如《新一代人工智能发展规划》等。然而现有的技术都严重依赖于收集到的标注好的高质量大规模可用数据集。令人遗憾的是,现实世界的数据有着长尾分布的特点,即少量类别(头部类别)具有大量数据,而大部分类别(尾部类别)仅有少量样本。而传统人工智能技术难以快速地被适用在少样本、甚至零样本的条件下。
为克服此挑战,研究者提出了零样本学习(zero-shot learning, zsl)问题,即构建出能够识别出未见类别的数据模式的模型或算法。现有零样本学习的方法可分为编码式方法(embedding methods)和生成式方法(generative methods)。这两类零样本学习方法都会引入额外的语义特征(semantic feature)作为辅助信息,以便于零样本识别。本项目专注于生成式方法的研究与实现。生成式零样本方法基于生成对抗网络,将零样本学习问题转化成一个传统的监督分类问题。尽管近年来生成式零样本学习方法已经取得很多突破,但仍存在未被关注到的问题:
(1) 未考虑语义和视觉空间的异构性。不同类别在语义和视觉空间的流形(manifold)是非对称的。例如,由于类别间的一些常见属性(如颜色、形状、纹理等)的重叠,使得一些类别的语义特征非常相近的。例如,大象和老虎都可用“强壮”,“有尾巴”,“陆地生物”等语义特征表示,然而他们的视觉特征显著不同。难以区分的语义特征会降低生成的视觉特征判别性。
2. 研究内容和预期目标
主要研究内容:
基于生成模型,研究零样本学习方法。具体内容包括:
(1)研究深度生成模型,重点研究对抗生成网络;
3. 研究的方法与步骤
3.1 总体框架生成式方法直接为不可见的类别合成虚拟特征。目前,大多数最先进的方法是基于对抗生成网络(GAN)的生成式方法。生成式零样本学习方法利用GAN处理ZSL任务的主要挑战--训练阶段没有未见类别的视觉样本的限制。通过利用GAN,人们可以从类别语义中合成看不见的视觉特征。生成式零样本识别的系统研究步骤主要分为以下4步: 1. 可见类别的图像特征提取与其文本特征预处理 2. 设计生成模型(本课题中拟使用生成对抗网络)并训练,使用训练好的模型生成图像特征扩充数据集; 3. 使用扩充后的数据集训练最终的分类器; 4. 识别用户输入的图像:对于给定任意一幅图像(无论是否属于数据集已有的类别),提取图像特征,然后使用某一监督分类算法对图像特征识别,判断图像的类别。 3.2 生成对抗网络的设计生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络最最直接的应用是数据的生成,而数据质量的好坏则是评判GAN成功与否的关键。GAN受博弈论中的零和博弈启发,将生成问题视作判别器和生成器这两个网络的对抗和博弈:生成器从给定噪声中(一般是指均匀分布或者正态分布)产生合成数据,判别器分辨生成器的的输出和真实数据。尽管模型本身具有很多训练上的难点,但随着各种解决方法的出现,逐渐解决了模型的训练问题,使 GAN 受到很多关注,几年内就出现数以千计的相关论文。生成式对抗网络的设计主要考虑模型结构设计和损失函数设计两点: 3.2.1 生成式对抗网络结构设计原始GAN的模型结构如图3所示:
图 SEQ 图 \*ARABIC 1 原始GAN模型结构 原始GAN 中的生成器和判别器可以是任意可微函数,通常用多层的神经网络表示。生成器G(z;θ)是输入为随机噪声、输出伪样本、参数为θ的网络,判别器D(x;φ)是输入为真实样本和伪样本、输出为 0 或 1(分别对应伪样本和真实样本)、参数为φ的二分类网络。 为了将样本与标签信息结合,条件生成对抗网络(Condition GAN, CGAN)将标签信息作为 附加信息输入到生成器中,再与生成样本一起输入到判别器中:生成器同时接收噪音和标签信息,目的是让生成的样本能尽量符合标签信息;判别器输入标签信息和真伪样本,同时进行两次判断,一是判断输入样本的真伪,二是该样本与标签信息是否匹配,最后输出样本真伪和标签信息预测值。 另一种常用结构是辅助分类器生成对抗网络(Auxiliary Classifier GAN, ACGAN),ACGAN 的生成器同CGAN相同,但判别器只输入真伪样本,输出样本真伪和标签信息预测值,因此判别器的额外输出需要设置关于标签信息的损失函数。从实验的结果来看,两种结构处理监督数据的性能相似,但ACGAN的结构更适合处理半监督数据。两种网络结构如图6所示。
图 SEQ 图 \*ARABIC 2 CGAN与ACGAN模型结构 3.2.2 生成式对抗网络损失函数设计GAN 的训练机制由生成器优化和判别器优化两部分构成,下面分析原始GAN中的生成器和判别器的目标函数和优化过程。先固定生成器后优化判别器,由于判别器是二分类模型,目标函数选用交叉熵函数:
之后固定训练好的判别器参数,考虑 优化生成器模型参数。生成器希望学习到真实样本 分布,因此优化目的是生成的样本可以让判别器误判为1,所有生成器的目标函数为:
从该目标函数可以看出,生成器的梯度更新信息来自判别器的结果而不是来自数据样本,相当于用神经网络拟合出数据分布和模型分布之间的距离,从根本上回避了似然函数的难点,这一思想对深度学习领域产生了深远的影响,也是 GAN 模型的优势。 WGAN(Wasserstein GAN)从理论上分析了原始GAN存在的缺陷,提出用Wasserstein 距离替代 KL 散度和 JS 散度,改变了生成器和判别器的目标函数,并对判别器施加 Lipschitz 约束以限制判别器的梯度,后来对GAN稳定性研究的很多论文都以 Lipschitz 约束为出发点。WGAN 只用几处微小的改动就解决了GAN不稳定的问题,基本消除了简单数据集上的模型崩溃问题,是GAN最重要的改进论文之一。原始GAN的缺点源自KL散度和JS散度本身性质的问题。如果高维空间中的两个分布之间没有重叠,KL 散度和 JS 散度无法正确反映出分布的距离,也就 不能为模型提供梯度,但 Wasserstein 距离可以准确 的反映这两个分布的距离,从而提供更可靠的梯度信息,避免训练过程中出现梯度消失和不稳定等现象。因此 WGAN 提出用 Wasserstein 距离替代 KL 散度和 JS 散度,解决两种散度造成的训练不稳定问题。Wasserstein 距离又被称为推土机距离(EarthMover,EM),最初用于解决最优运输问题,可以解释为将分布Pr沿某个规划路径转移到分布Pg需要的最小消耗,该问题对应的最优化问题可以表示成如下形式:
这就将 Wasserstein 距离转化成求解满足 Lipschitz 约束的所有函数条件下两个分布期望之差的上界。WGAN 对判别器施加 Lipschitz 约束的具体方法是限制网络中的权重,控制所有权重的绝对值不超过固定常数,否则对参数进行截断,这种方法叫做权重裁剪(weight clipping)。判别器通过权重裁剪后得到:
该式可以指示模型的训练进度,真实分布与生成分布的 Wasserstein 距离越小,说明 GAN 中生成器的生成能力越好。根据上式可以得到 WGAN 中生成器和判别器的目标函数分别为:
WGAN 在训练过程中会出现收敛速度慢、梯度消失或梯度爆炸等现象,原因在于对判别器施加Lipschitz约束的方式不合理。实验发现权重裁剪会使判别器所有参数趋于极端,全部集中在阈值的最大值和最小值这两个点上,这使得判别器退化成一个二值神经网络,严重影响了判别器的能力;阈值的调参过程比较困难,经常出现梯度爆炸或梯度消失的现象。WGAN-GP直接将判别器的梯度作为正则项加入到判别器的损失函数中,该正则项通过惩罚梯度使判别器梯度在充分训练后达到Lipschitz常数K附近,因此该正则项被称为梯度惩罚(Gradient penalty)。加入梯度惩罚的判别器的目标函数为:
其中Lipschitz常数K取1。梯度惩罚只对真假样本集中区域以及两者之间的区域生效,就能够很好的控制梯度,使WGAN-GP避免出现梯度消失或梯度爆炸,显著提高训练速度和收敛速度,可以训练多种不同种类的网络结构。 3.3 生成式零样本学习对抗网络的设计由于训练数据在可见类和不可见类之间的极度不平衡,现有的大多数最先进的方法对于具有挑战性的广义零样本学习任务都不能取得令人满意的结果。为了避免不可见类的标记样本的需要,f-CLSWGAN,它综合了以类级语义信息为条件的CNN特征,提供了一种直接从类的语义描述符到类的条件特征分布的捷径。将一个WGAN与一个分类损失配对,能够产生足够有鉴别能力的CNN特征来训练softmax分类器或者其他分类模型。
图 SEQ 图 \*ARABIC 3 f-CLSWGAN WGAN并不能保证生成的CNN特征非常适合于训练区分分类器,这是零样本学习的目标。我们推测,这个问题可以通过鼓励生成器构造特征来缓解,这些特征可以被训练在输入数据上的判别分类器正确分类。为此,建议在f-CLSWGAN公式中最小化生成特征的分类损失。f-CLSWGAN使用负对数似然,
这里y是类别标签。条件概率由θ参数化的线性softmax分类器计算,该分类器根据seen类的真实特征进行预训练。分类损失可以看作是一个正则化器,强制生成器构造区分特征。最终,f-CLSWGAN的优化目标就是
3.4图像分类算法图像分类问题是从固定的一组分类中,给输入图像分配标签的任务。这是计算机视觉的核心问题之一。生成式零样本学习方法通过生成模型将零样本学习问题转化成了一个监督分类问题,主要使用KNN、Softmax两种监督分类方法进行最终的识别。 3.3.1 KNN分类方法KNN算法,即K近邻(K-Nearest Neighbor)算法是一种监督学习算法,本质上是要在给定的训练样本中找到与某一个测试样本A最近的K个实例,然后统计k个实例中所属类别计数最多的那个类,就是A的类别。对于KNN而言有三个要素: (1)K值:是KNN算法中为数不多的超参数之一。K值的选择也直接影响着模型的性能。如果我们把k值设置的比较小,那么意味着我们期望个到一个更复杂和更精确的模型,同时更加容易过拟合;相反,如果K值越大,模型机会越简单,一个很极端的例子就是如果将K值设置的与训练样本数量相等,即K=N,那么无论是什么类别的测试样本最后的测试结果都会是测试样本中数量最多的那个类。 (2)距离的度量: 距离的度量描述了测试样本与训练样本的临近程度,这个临近程度就是K个样本选择的依据,在KNN算法中,如果特征是连续的,那么距离函数一般用曼哈顿距离(L1距离)或欧氏距离(L2距离) (3)距离的度量: 通过上面提到的K与距离两个概念,我们就能选择出K个与测试样例最近的训练样本,如何根据这K个样本决定测试样例的类别就是KNN的分类决策规则,在KNN中最常用的就是多数表决规则。 3.3.3 Softmax分类方法在机器学习尤其是深度学习中,softmax是个非常常用而且比较重要的函数,尤其在多分类的场景中使用广泛。他把一些输入映射为0-1之间的实数,并且归一化保证和为1,因此多分类的概率之和也刚好为1。其损失函数为:
Softmax classifier通过以下公式来计算模型在样本xi上的损失。这种计算loss的方式叫做交叉熵(cross-entropy loss)。通常与全连接神经网络配套使用:
图 SEQ 图 \*ARABIC 4 Softmax分类器
|
4. 参考文献
[1] 冯耀功, 于剑, 桑基韬 , 杨朋波. 基于知识的零样本视觉识别综述[j].软件学报,2021,32(2):370405.
[2] wang w, zheng vw, yu h,et al. a survey of zero-shot learning: settings, methods, and applications[j].acm trans. on intelligent systems and technology (tist), 2019,10(2):137.
[3] wang y, yao q, kwok jt,et al. generalizing from a few examples: a survey on few-shot learning[j]. acmcomputing surveys (csur), 2020,53(3):134.
5. 计划与进度安排
毕业论文主要进度安排:
(1)2022年3月1日 -2022年3月15日:阅读文献,熟悉零样本学习方法和基于生成模型的零样本学习方法;
(2)2022年3月15日 - 2022年3月31日:撰写开题报告;
