Zero-Shot Learning(零次学习)入门

在学习零次学习时,我们已经对机器学习、深度学习有了一定的了解。这时我们需要带着几个问题去学习它:

1.为什么会有零次学习的出现?

2.零次学习主要应用什么领域,可以在网络安全中应用吗?

3.零次学习是哪些技术点、想法为它带来优势?

4.zsl的缺点和研究点?

引用一个讲过的故事:假设小明和爸爸,到了动物园,看到了马,然后爸爸告诉他,这就是马;之后,又看到了老虎,告诉他:

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

上述例子中包含了一个人类的推理过程,就是利用过去的知识(马,老虎,熊猫和斑马的描述),在脑海中推理出新对象的具体形态,从而能对新对象进行辨认。

ZSL就是希望能够模仿人类的这个推理过程,使得计算机具有识别新事物的能力。

如今深度学习非常火热,使得纯监督学习在很多任务上都达到了让人惊叹的结果,但其限制是:往往需要足够多的样本才能训练出足够好的模型,并且利用猫狗训练出来的分类器,就只能对猫狗进行分类,其他的物种它都无法识别。这样的模型显然并不符合我们对人工智能的要求,我们希望机器能够像小明一样,具有通过推理,识别新类别的能力。

医疗影像图像,濒危物种识别

1.零次学习的简介

将上述的推理过程抽象为通过已知信息加上辅助信息进而推断出新出现对象的类别。因此,推理过程中已知的信息(马、老虎、熊猫)为训练集,辅助信息(马的外形、黑色的条纹、黑白的颜色)为训练集与测试集相关联的语义信息,推测(斑马)为测试集。在训练前就已知,为可见类(seenclass);在训练过程中没见过,为未可见类(unseenclass)。设X为数据,Y为标签,S为可见类,U为不可见类,Tr为训练集类别,Te为测试集类别,则零样本学习的定义为zsl:X-》YU,即通过训练可见类数据提取出对应的特征,加上辅助知识的嵌入,最终预测出不可见类。其中Te与Tr不相交;Tr为S,Te为U。值得注意的是,预测时如果出现训练集对应的类别,则无法预测。

由于零次学习依赖的已知知识仍是一种带标签的数据,零样本学习是一种特殊的监督学习技术。

模型

训练集与测试集类别的关系

训练集、测试集类别与可见类、不可见类的关系

零样本学习

不包含

训练集类别为可见类

测试集类别为不可见类

传统监督学习

等于

训练集和测试集均为可见类

广义零样本学习

包含

训练集类别为可见类

测试集类别为可见类与不可见类

零样本学习衍生与迁移学习,事前已学习的变种之一。零样本学习与其他迁移学习最主要的区别是,训练类样本集和测试类样本集没有交集.随着近年来的不断发展,零样本学习已经逐渐脱离迁移学习,成为一个独立的机器学习研究方向.零样本学习方法与现有的分类方法相比,具有如下三点优势:

1)对于某些还没有建立样本集的特定类(例如新定种的生物物种或濒危物种,最新设计的工业产品等),通过零样本学习,可以成功地对这些对象进行识别、分类,既能满足实际需求,又可以降低人工和经济成本.

2)零样本学习的核心机制与人类的学习机制有很多的共通之处,对于零样本学习进行深入的研究,会为人类认知科学领域提供强有力的帮助.

3)零样本学习与深度学习并不矛盾,两者可以有机结合、博采众长、融合发展,从而更好地满足未来对象识别领域的需求.

零样本学习的结构:

零样本学习的基本思想是利用训练集中的样本,和样本对应的辅助信息(例如文本描述或者属性特征等)对模型进行训练,在测试阶段利用在训练过程中得到的信息,以及模型的测试类辅助信息对模型进行补足,使得模型能够成功对测试集中的样例进行分类.

 

训练阶段,利用辅助信息给出的类标签到特征子空间的可逆映射Ytr=g(Str),Str=g-1(Ytr),确定每一个类标签对应的特征表示Str,并利用Str和Xtr的对应关系,训练样例Xtr到特征子空间Str的映射函数.在训练阶段完成,得到映射函数f(·)后,测试阶段使用f(·)将Xte映射到同一个特征子空间中,得到它对应的特征表示估计S=f(Xte),并利用Yte的辅助信息,同样利用可逆映射得到Ste,对S和Ste进行相似比较,与S最为相似的测试类特征表示ste所对应的类标签yte,即为测试类的类标签估计ˆYte.

图中Xtr代表训练类输入样例集合,Ytr代表训练类的类标签集合,Xte代表测试类输入样例集合,Yte代表测试类的类标签集合,虚线方框代表着训练类与测试类共有的特征子空间,特征子空间包含了测试类和训练类中每一类的特征编码.右侧的双向箭头代表从类标签到特征编码的双向映射,这一映射是已知的,是零样本学习中需要提供的辅助信息,目前零样本学习中经常使用的辅助信息共有三种:属性描述、文本描述和类层次结构关系

在训练阶段,利用Xtr和Str对图像空间到特征子空间的映射进行训练,虚线箭头代表这一映射处于训练过程.在这一映射训练完成后,进入测试阶段,输入Xte时,就可以利用已经训练好的映射模型,将映射到特征子空间中,从而得到S,与Yte在特征子空间中的特征编码Ste进行相似性比较,就可以确定测试类样例Xte的类标签估计值ˆYte.零样本学习的本质,是通过各种各样的手段,提高训练后的模型的泛化能力,使得模型的泛化能力足够强大到识别从未见过的测试类样例,从而确定测试类样例的类标签,而要把训练后的模型推广到未见测试类样例,需要训练样例和测试样例都具有辅助信息,并在训练时,学习辅助信息的表示模型,测试时,利用训练时学习到的辅助信息模型和测试样例的辅助信息,预测测试样例的类标签.给予零样本学习模型充足、有效的辅助信息,并使得零样本学习模型可将其高效利用,是实现零样本学习的关键.

零样本分类:

 

2. 关键问题

由定义可知,零样本学习是一种特殊的监督学习。其存在的问题除了传统的监督学习中固有的过拟合问题外,还有领域漂移、枢纽点、广义零样本学习、语义间隔四个关键问题。

2.1 领域偏移问题

同一事物在不同领域的视觉效果相差太大。当可见类训练出来的映射应用于不可见类的预测时,由于可见类和不可见类所属的域不同,可见类与不可见类相关性不大,不同域在同一事物的视觉特征上可能相差很大,在没有对不可见类进行任何适配的情况下,会出现领域偏移问题。例如,在现实生活中,我们知道老虎的尾巴与兔子的尾巴在视觉上相差很远。如图所示。然而当我们预测的类别为老虎,所给的辅助信息中有尾巴这一属性,用兔的尾巴训练出来的效果不符合实际效果。

目前学者们提出的解决办法主要有三种:第一种是在训练过程中加入不可见类数据,即建立直推式模型。第二种是对训练数据强制增加约束条件/信息,即建立归纳式模型。第三种是生成伪样本到测试过程中,即建立生成式模型,

其本质是将零样本学习转换为传统的有监督学习。

当然,上述的解决方案都是建立在可见类与不可见类的数据分布在样本级别上是一致的。

2.2 枢纽点问题

某个点成为大多数点的最邻近点。从原始空间投影到目标空间的过程中,某个点会成为大多数节点最邻近的点,同时也指出枢纽点问题是高维空间中经常会出现的问题。例如,在使用零样本学习模型进行分类时,采用的算法为最邻近节点算法(K-Nearest Neighbor,KNN),则可能会出现一个点有几个甚至几十个最邻近节点,会产生多种不同的结果,导致模型的效果不佳。

解决办法主要有两种:第一种是使用岭回归模型,建立从低维向高维映射,在计算机视觉中则为建立从语义到视觉的映射,这种方法也称为反向映射。第二种是使用生成式模型,第二种是使用生成式模型,生成伪样本,加入到测试过程中。

2.3 广义零样本学习

训练集类别与测试集类别互斥。零样本学习的前提条件是测试集与训练集没有交集,即可见类等于训练集,不可见类等于测试集。这意味着测试阶段,如果样本来自训练集,则无法预测。这在实际生活中是不现实的。

解决方法主要有两种,第一种是先通过分类器,将测试集中可见类与不可见类数据进行划分。如果是可见类数据,则直接使用分类器进行分类;如果是不可见类数据,则利用辅助信息进行预测。第二种生成模型,利用生成模型生成不可见类样本,再将生成的样本与可见类样本一起训练一个分类器,将广义零样本学习转化为传统监督学习

2.4 语义间隔

语义空间与视觉空间流行构成不同,相互映射有间隔。零样本学习预测不可见类数据一般的解决方案是构建图像与语义之间的关系。

目前学者们提出的主要解决方案是将从图像空间提取的视觉特征与语义空间提取的语义信息映射到公共空间中,并将两者进行对齐

2.5 样本数据集

根据应用的不同类型,文本、图像、视频,分别介绍其在零样本学习中常用的数据集。

文本:

LASER语言集、wordNet英文词语数据集、ConceptNet常识数据集

图像:

WAW动物、CUB鸟类细粒度、APY混合类别、SUN场景细粒度、imageNet场景细粒度

视频:

UCF101、activityNet人类行为、CCV、USAA社会活动

3.零样本模型发展

介绍零样本学习在3个发展阶段的经典模型,为第3章应用体系的构建提供理论体系的支撑。这3个发展阶段分别是,第一,基于属性的零样本学习;第二,基于嵌入的零样本学习;第三,基于生成模型的零样本学习。

3.1 基于属性的零样本学习

属性是一种语义信息。这个方法是零样本学习的开山之作,也是零样本学习后续发展的基础。

1.DAP模型

以下两个步骤:第一,使用支持向量机(Support Vector Machine, SVM)训练可见类数据到公共属性的映射,为每个可见类数据学习一个属性分类器,这个属性分类器也是可见类与不可见类之间的共享空间。第二,使用贝叶斯公式对不可见类的属性进行预测,再通过不可见类与属性的关系,推出不可见类所属的类别。

通过利用属性,DAP模型成功的将没有数据的类别进行预测,并且具有较高的精度。但是DAP

有三个明显的缺点。其一,对于新加入的可见类数据,属性分类器需要重新训练,无法对分类器进行优化和改善。其二,对于除了属性外的其他辅助信息(如网络结构的数据Wordnet),难以使用。其三,由于使用了属性作为中间层,对于预测属性,模型能够做到最优。但对于预测类别,却不一定是最好的。

2.IAP模型

两个步骤:第一,使用支持向量机(SVM)训练可见类到属性的映射以及不可见类到属性的映射。第二,使用贝叶斯公式得到可见类数据与可见类的概率,为每个可见类数据学习一个类别分类器,继而通过类别—属性的关系,推出不可见类数据所属的类别。

与DAP模型一样,IAP模型也成功的预测出没有数据的类别,并且比DAP模型更加的灵活,简单。当有新类别需要进行训练时,IAP模型的训练时间成本较小。但是IAP模型在实验中的效果并没有DAP模型的好。

3.2 基于嵌入的零样本学习

随着机器学习的不断发展,计算机视觉逐渐成为研究者们的关注热点。只有属性的零样本学习,远不能满足对图像处理的需求,而且基于属性的零样本学习也存在着许多问题。因此,零样本学习提出基于嵌入的零样本学习,将语义信息与图像信息紧密结合起来。主要的方法有语义信息嵌入图像空间、图像信息嵌入语义空间、语义信息与图像信息嵌入公共空间等。

在图像信息嵌入到语义空间经常使用的训练函数有单线性函数、双线性函数、非线性函数等,损失函数有排序损失,平方损失等。

1.ESZSL

两个阶段:训练阶段以及推理阶段。通过SVM学习双线性函数。一个在训练阶段利用训练样本实例与特征矩阵的相乘,建立特征空间与属性空间之间的映射;另一个在推理阶段利用训练样本的描述和特征空间与属性空间之间的映射获得最终预测的模型,为每一个类别都学习了一个图像空间到语义空间的映射。值得注意的是两个阶段均使用一行即可完成,且无需调用其他函数,十分简单的完成零样本学习。ESZSL还建立了对应的正则化方法以及平方损失函数对模型进行优化。

3.3 基于生成模型的零样本学习

零样本学习领域,将语义信息嵌入到图像空间经常使用生成模型。在获取已知类视觉信息与语义信息的前提下,通过已知类与不可知类语义的连贯性,生成不可见类的样本,使得零样本学习变为传统的监督学习,将生成模型运用到极致。

1.SAE

零样本学习与AE的结合。SAE模型其将语义空间作为隐藏层,通过编码器将可见类图像信息映射到语义空间,再通过已知类与不可知类语义的连贯性,使用解码器将语义信息生成不可见类图像,继而将零样本学习转化为传统的监督学习。

SAE模型的前提条件是图像信息到语义空间的映射矩阵是语义空间生成图像的嵌入矩阵的转置,并且加入了有惩罚项的约束,即图像信息到语义空间的嵌入矩阵与可见类图像信息表示的乘积等于隐藏层表示。这使得编码后的图像能够尽可能的保留原始图像的所有信息。

SAE模型不仅模型简单,效果好,还能够运用于广义零样本学习,更能够解决领域漂移问题。但是SAE模型所使用的语义信息与图像信息的嵌入函数过于简单且固定,无法生成高质量图片,不能十分精确的预测不可见类样本。

4. 零样本学习的应用

零样本学习在三个维度的应用。第一维是词。使用零样本学习技术对词作处理,并应用于多个领域;第二维是图片。在第一维应用中产生的文本信息可以作为语义信息,嵌入到视觉空间中,推进零样本学习在图片处理过程的应用。第三维是视频。视频中的每一帧可作为图片。将视频切分为图片,运用第二维的方法,使零样本学习在视频方面的应用更进一步。

1.词:对话系统、机器翻译、文本分类

2.图像:图像检索、目标识别、语义分割

3.视频:人体行为识别、超分辨率、

随着零样本学习方法的性能的提高,其在实际场景中的应用逐渐增多。

(1)计算机视觉。零样本学习最大的应用在于图 像和视频的研究。零样本学习不仅可以完成分类任务,解决鸟类、花类等细粒度分类问题,还可以用于图 像分割、图像检索和领域适应等问题。零样本学习也 被用于研究视频相关的问题,它可以被用来识别未知 动作和未知情感标签的视频。另外,零样本学习还用 于动作定位、事件叙述和生成描述(文本)等任务。

(2)自然语言处理。近年来零样本学习在自然语 言处理领域中也有一席之地。在罕见稀有语言的学习 中,零样本学习有助于构建双语词典;在机器翻译问题 中,零样本学习用于没有平行语料库的语言对中进行 零样本翻译。此外零样本学习还被用于口语理解、语 义话语分类。除以上之外,零样本学习还可以被用于 网页实体抽取、细粒度命名实体类型、跨语言文档检索 和关系抽取等自然语言处理相关问题。

(3)其他。除上述领域外,借助传感器,零样本学 习可用来识别人类的活动;在计算生物学领域,零样本 学习可以分析分子化合物的组成;在安全和隐私领域, 零样本学习可以帮助发射机识别。

5.基于零样本学习的入侵检测

1.攻击语义知识库构建

零样本学习是通过“知识”从可见类到不可见类的有效迁移来完成对不可见类的识别的,知识在零样本学习中可以划分为3个层次,分别是初级知识、抽象知识、外部知识。我们想要完成从不可见类攻击将“知识”迁移到可见类攻击,则需要与样本特征对应的知识。因此,我们可以选择从攻击类型的外部文本描述中获得攻击样本对应的语义知识。

采用公开数据集NSL-KDD并没有提供对应的攻击类别详细描述,只提供数据和标签。我们需要自行完成数据集中不同攻击类别的语义知识收集,将其转化为机器可读的语义嵌入向量,从而形成我们的攻击语义知识库。(汇总维基百科、百度百科以及安全网站的科普知识来完成所有攻击类别语义描述信息的收集。)通过NLP技术将文本转换为词向量,生成攻击语义知识库。

2.自编码器

将可见类训练集输入编码器,对应的语义嵌入向量输入自动编码器的语义嵌入层,我们的目标是更新编码器、解码器和回归器的参数,使得判别嵌入层能够提取出更有代表性的特征嵌入,解码器能够生成包含足够的语义嵌入信息和判别特征的不可见类伪样本。

3.分类器

一旦生成不可见类攻击的伪样本,我们就可以使用样本和它对应的标签来训练不可见类攻击的监督分类器。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享