零样本学习的应用场景:
因此ZSL应运而生。
给定训练标签数据 D t r D^{tr} Dtr属于已知类别S,zero-shot learning目标学习分类器: f u ( ⋅ ) : X → U f^{u}(\cdot) : X \rightarrow \mathcal{U} fu(⋅):X→U,能够对测试集 X t e X^{te} Xte预测出类别 Y t e ∈ U Y^{te} \in \mathcal{U} Yte∈U, U \mathcal{U} U表示未见类别。
现有的zsl类别:
[外链图片转存失败(img-wHytIo4i-1567006037501)(assets/image-20190828124733572.png)]
在语义空间上,每一个类别都有一个相应的表示,一般语义空间都是一个向量空间,而类别都已其对应的向量集合。
定义语义空间 T {T} T,定义 t i s ∈ T t_i^s \in T tis∈T是已知类别 c i s c_i^s cis的原型,定义 t i u ∈ T t_i^u \in T tiu∈T是已知类别 c i u c_i^u ciu的原型,, T s = { t i s } i = 1 N s T^s=\{t_i^s\}_{i=1}^{N_s} Ts={tis}i=1Ns表示已知类别的语义空间, T u = { t i u } i = 1 N u T^u=\{t_i^u\}_{i=1}^{N_u} Tu={tiu}i=1Nu表示位置类别的语义空间,定义 π ( ⋅ ) : S ∪ U → T \pi(\cdot) :\mathcal{S} \cup \mathcal{U} \rightarrow {T} π(⋅):S∪U→T表示类别到语义空间的映射关系。在zsl中, T u , T s T^u, T^s Tu,Ts都会在分类器 f u ( ⋅ ) f^{u}(\cdot) fu(⋅)的训练中出现。
Class-Inductive Instance-Inductive (CIII) Setting
Only labeled training instances D t r D^{tr} Dtr and seen class prototypes T s T^s Ts are used in model learning.
Class-Transductive Instance-Inductive (CTII) Setting
Labeled training instances D t r D^{tr} Dtr , seen class prototypes T s T^s Ts and unseen class prototypes T u T^u Tu are used in model learning.
Class-TransductiveInstance-Transductive(CTIT)Setting
Labeledtraininginstances D t r D^{tr} Dtr , seen class prototypes T s T^s Ts , unlabeled testing instances X t e X^{te} Xte and unseen class prototypes T u T^u Tu are used in model learning.
使用的符号定义:
[外链图片转存失败(img-1r4RYxIK-1567006037502)(assets\1566921814479.png)]
[外链图片转存失败(img-JZv625yo-1567006037502)(assets/1566922401213.png)]
engineered semantic spaces: SEMANTIC SPACES的每一维都是人工设计的。
Attribute spaces are kinds of semantic spaces that are constructed by a set of attributes.
通过一系列属性表示语义空间。
Lexical spaces are kinds of semantic spaces that are constructed by a set of lexical items
constructed by a set of keywords extracted from the text descriptions of each class
text-keyword space is constructed through extracting keywords and using each of
them as a dimension in the constructed space
Some engineered semantic spaces are designed specifically for certain problems.
通过机器学习模型输出的来获得语义空间。
embedding of class labels
类别标签都是由词语或者短语组成,因此可以通过word embedding方法将其转化为相应的向量空间。
embedding方法有很多,包括
不同的语料库也会训练出不同embedding,例如公用语料wikipedia,专用语料如Flickr。
同一个类别也可以生成多个语义向量。
embedding the text descriptions for each class
类别的描述文本作为模型输入,输出向量作为类别的向量表达。
the class prototypes are obtained from images belonging to each class.
将属于某个类别的图片,输入到预训练的模型(例如GoogLeNet),输出向量作为类别表征向量。
learned semantic spaces总结:优势:1)减少人力。2)能捕捉人容易忽略的信息。劣势:机器学习模型生成的语义空间是黑核的,难以结合域的知识到语义空间中。
使用one-vs-rest方法来学习zero-shot分类器 f i u ( ⋅ ) f^u_i(\cdot) fiu(⋅),对于每一个未知类别 c i u c_i^u ciu,学习一个one-vs-rest的二分类器, f i u ( ⋅ ) : R D → { 0 , 1 } f^u_i(\cdot): R^D \rightarrow \{0,1\} fiu(⋅):RD→{0,1},二分类器分类是否是类别 c i u ∈ U c_i^u \in \mathcal{U} ciu∈U,最终的zero-shot分类器 f u ( ⋅ ) f^u(\cdot) fu(⋅)由多个二分类器组成: { f i u ( ⋅ ) ∣ i = 1 , … , N u } \left\{f_{i}^{u}(\cdot) | i=1, \ldots, N_{u}\right\} {fiu(⋅)∣i=1,…,Nu}
语义空间的prototype是类别的一种表征,one-vs-rest分类器输出也是其表征,Correspondence methods目标在学习这两种表征之间的correspondence function(我理解是映射关系)
目标是选择更有帮助的辅助信息。现在的辅助信息是受人类视觉识别系统启发。应该有其他的方法来作为辅助信息。
比如,人类定义的相似性信息;比如学到的属性信息。
保持信息,是因为在只学习分类器的时候很可能会丢弃一部分语义信息。比如有的方法通过一个重构模型来保持更多的语义信息。
例如,广义的零样本学习,就是要同时识别已见类和未见类。
更实际和更特定于任务的设定,会被探索。比如,在某些应用中,要识别的类别特别多。这就是大规模场景下的设定。还有一些训练实例和语义信息是在线可获取的,一些在线增量学习通过学习新的属性并用在线的方式适配这些新的属性。基于应用的特定,更多的场景特定的零样本学习问题将会被探索。
一些理论问题还没有被解决:
1)怎么选择辅助信息?
2)为了辅助测试实例的分类,我们要从训练实例中迁移什么信息?
3)如何抑制无关信息,避免负迁移
比如,网络监督学习、小样本学习。
小样本学习的学习模式?