Fea2Lab:基于多标记学习的特征到标签生成模型

2020-07-01 02:08于晗宇
关键词:特征向量解码示例

于晗宇, 黄 晋, 朱 佳

(华南师范大学计算机学院, 广州 510631)

在机器学习领域中,传统监督学习是一种研究和应用广泛的学习框架[1]. 在该框架定义中,对于真实世界的对象,在输入空间用示例表示这个对象,用单个特征向量描述该示例,同时在输出空间将示例和反应该示例特征的单个类别标记相关联,这样就可以得到一个样本. 然而,真实世界的对象往往并非只有单一的含义,可能是多种多样的. 多义性对象由于不再具有唯一的含义,使得以往只考虑明确、单一含义的传统框架难以施行. 为了直观地呈现真实世界的多种含义信息,自然而然地就要为对象赋予一组合适的类别标记,即标记子集. 2008年,TSOUMAKAS和KATAKIS[2]提出了多标记学习(多标签分类),解决了一个示例同时被多个标签所标记的问题,并给未知示例预测合适的标签集.

针对多标记学习,学者们提出了大量的算法. 这些算法大致可以分为2类[3]:(1)问题转化方法[4-6],即把多标记学习问题转化为其他已构造好的学习算法,属于改造数据适应算法. 如:Binary Relevance算法[4]把多标记学习问题转化成独立的二分类问题;Calibrated Label Ranking算法[5]把多标记学习问题转化为标签排序的问题. (2)算法适应方法[7-9],即采用已有的算法来直接解决多标记学习问题,属于改造算法适应数据. 如:Rank-SVM算法[8]改造具有“核方法”的SVM方法,以适应多标记学习数据;LEAD方法[9]改造贝叶斯学习,以适应多标记学习数据. 上述的4种算法都仅仅采用示例的单个特征向量来直接无差别地预测标签集. 然而,当标签空间较大时,示例单个特征向量所含的特征信息较少,可能无法准确地预测其标签子集. 因此,ML-KNN算法[8]通过考虑和示例相似的示例来增加输入空间特征信息并取得良好的效果. 此外,受到在机器翻译领域内序列到序列模型[10-11]启发,SGM模型[12]、EncDec模型[13]把多标签分类任务视为序列生成问题,使用循环神经网络来预测标签集. 随着多标记学习数据的增多,学者们也尝试使用神经网络来解决更高特征维度、更大标签空间的多标记学习问题[14-15].

从示例的输出空间角度分析,多标记学习比传统方法更困难之处在于标签子集可能存在的指数数量(即2n,n为标签空间类别个数). 因此,为了应对这一困难,学者们考虑通过标签间的关系来提高模型解决多标记学习任务的能力[4-9]. 标签间的关系可以分为3种[3]:(1)一阶标签间关系:不考虑标签间关系,分解多标记学习问题为独立的分类问题,但完全忽略了标签间关系,泛化性能可能较差;(2)二阶标签间关系:考虑两两标签间的关系,但可能不足以描述现实世界对象的含义;(3)高阶标签间关系:考虑任意标签之间的关系,但往往会遇到计算复杂度过高的问题. 因此,如何合理地利用标签间的关系也是多标记学习方法的重要考虑因素.

针对传统多标记学习方法往往只考虑示例的单个特征向量和无差别地预测全体标签集,从而造成输入空间特征信息较少、忽略隐含的标签属性和对大标签空间预测效果差等问题,以及受到序列到序列模型、SGM模型及EncDec模型的启发,本文转化传统多标记学习任务为多标记学习的序列到序列任务,并由此提出新的多标记学习标签生成神经网络模型(Fea2Lab模型). 具体地,具有编码器-解码器结构的Fea2Lab模型首先构建示例特征最近邻图,并基于该图找到目标示例的k个最相似示例,以交错顺序排列示例和最近邻示例形成链式特征向量输入序列,再使用FeaEnc编码器将其编码为一个语义向量并传送到解码器;在解码阶段,LabDec解码器先基于训练集中固定标签名称下被标记为1的标签出现的次数来降序排列标签集,再挖掘标签属性,以分离出正属性标签目标序列用于训练,在解码训练过程中提出并使用全局标签信息,以主动缓解错误标签级联问题;在预测推理阶段,模型解码预测生成正属性标签序列,转化得到目标示例的预测标签集.

1 Fea2Lab模型

Fea2Lab模型的整体计算流程(图1)为:首先,通过特征链编码器(FeaEnc)把链式特征向量输入序列编码为一个语义向量c;然后,通过标签生成解码器(LabDec)把语义向量c解码为预测的标签集.

图1 Fea2Lab模型计算流程图

在Fea2Lab模型执行编码解码的流程之前,需要将传统的多标记学习任务转化为多标记学习的序列到序列任务. 下面给出任务转化、特征链编码器和标签生成解码器的详细介绍.

1.1 任务转化

由以上分析和推理,可以从示例特征空间和标记空间分别获得链式特征向量输入序列和正标签目标序列. 而序列到序列模型(Seq2Seq)的基本思想就是将可变长度的序列编码为一个固定维度的语义向量,再将语义向量解码成另一可变长度的序列[16]. 基于以上逻辑推导,本文把传统多标记学习任务转化为多标记学习的序列到序列任务(图2).

图2 多标记学习任务转化过程

任务转化过程的形式化描述如下:

i⟹

(1)

1.2 特征链编码器

将传统多标记学习任务转化为多标记学习的序列到序列任务后,进入Fea2Lab模型的编码流程:特征链编码器FeaEnc先构建示例特征最近邻图,以高效地存储和搜索示例最近邻示例;再排列示例形成链式特征向量序列用于计算.

1.2.1 示例特征最近邻图 指定无向图G为在多标记学习训练数据集={(fi,Li)|1≤i≤d}上带权重的最近邻图,定义为示例特征最近邻图. 图G中的每个顶点代表一个示例的特征向量fi,任一顶点fi和顶点fj互相连接,eij表示2个顶点之间的边. 使用欧几里得距离[17]表示边eij的权重:

Weight(eij)=EuclideanMetric(eij)=w(fi,fj)=

因此,进一步地从示例特征最近邻图G中找到与给定示例fi最相似的k个示例集合:

在Fea2Lab模型采用KD-Tree算法[18]来构建示例特征最近邻图G并高效地搜索给定示例的k个最近邻.

1.2.2 编码特征链 由图G可以获得与给定示例f最相似的k个最近邻特征向量集合{f1,f2,…,fk},其中w(f,fj-1)>w(f,fj)(j[1,k]). Fea2Lab模型将这些示例排列成含有特定顺序的输入序列. 具体地,模型以交错升序的顺序排列最近邻和示例f,即形成特征链{f1,f,f2,f,…,fk,f}2k×m,这样交错排列的目的是:一是因为每个最近邻示例fj(j[1,k])都是与示例f相似的,这样排列有助于模型学习到两两示例(如f1,f)之间变化的关系,形成“链节”,随着fj的变化(即j从1到k),能使模型充分地学习到越来越与示例f相似的演变关系,以挖掘序列隐含的顺序关系;二是因为编码器FeaEnc采用的是双向循环神经网络,这样排列有助于该神经网络从正反2个方向捕获特征向量输入序列中交替演变的关系. 接下来,使用双向长短期循环神经网络Bi-LSTM[19]构建特征链编码器FeaEnc,以编码特征链{f1,f,f2,f,…,fk,f}. 在第t[1,2k]个时刻,编码器FeaEnc正反方向隐藏状态分别为:

h′t=FeaEnc(h′t-1,ft-1),

(2)

h″t=FeaEnc(h″t+1,ft+1),

(3)

其中,h′t(h″t)为第t时刻神经网络Bi-LSTM正向(反向)隐藏状态. 通过级联2个方向的隐藏状态来表示第t个时刻编码器FeaEnc的隐藏状态ht=[h′t;h″t],体现了以第t个示例特征向量为中心的序列信息. 编码器FeaEnc把该特征向量输入序列编码成语义向量c,从而捕获全部示例的潜在特征信息.

1.3 标签生成解码器

对于FeaEnc编码器计算编码特征链生成的语义向量c,在解码流程中,解码器将其解码成预测的标签集. 但是,在正常的解码过程中,有可能出现标签错误级联问题,因此,本文提出并使用全局标签信息来主动缓解该问题.

1.3.1 正常解码 EncDec模型转化多标签分类问题为序列到序列的任务,并提出使用循环神经网络来预测标签集中的正标签. 类似EncDec模型,Fea2Lab模型也只预测标签集中的正标签,因为每个示例的正标签数量往往少于整体标记空间中的n个类别标签和负标签数量. 此外,EncDec模型的研究表明:目标序列越短越有利于解码生成. 本文在获取正标签之前,对多标记学习训练集中的全体标签,统计每个固定标签名称下正标签出现的次数,按照次数的多少由大到小重新排列标签. 具体地,对于训练集={(fi,Li)|1≤i≤d},取其标签集Lt={lt,1,lt,2,…,lt,j,…,lt,n}d×n,lt,j1×n,统计每个固定标签名称下含有的正标签数量,形成正标签数量集合{num1,num2,…,numj,…,numn}1×n,按照该集合元素值的大小重新排列对应的标签集,再抽取每个训练示例的正标签序列用于训练. 重新排列训练集标签空间中n元类别标签顺序的原因是:把在统计上出现频率更高的固定标签名称排列在目标序列前面,通过标签间的顺序反映训练集中潜在的标签分布规律,使模型能在解码流程中优先解码预测出有最大概率出现的标签,可进一步提升模型的预测效果.

接下来,使用单向长短期神经网络LSTM来构建标签生成解码器LabDec. 在第t个时刻,解码器LabDec的隐藏状态为:

st=LabDec(st-1,lt-1,c,hall),

(4)

其中,st-1和lt-1分别为上一时刻解码器的隐藏状态和预测的标签,hall2k×m为LabDec编码器所有时刻隐藏状态的集合,用于做点乘注意力机制[20].

1.3.2 全局标签信息 在解码器LabDec将c解码成正标签序列的过程中,可能会出现错误标签级联问题. 标签错误级联问题指的是解码器可能在解码流程中预测一个与实际不同的标签,那么后续就可能继续预测出错误的标签. 式(1)的P(lj|lj-1,lj-2,…,l1,c)表示:第t个时刻预测的标签是基于前面所有已预测出的标签,但实际上最相关的是第t-1时刻预测的标签. 换言之,解码流程中第t时刻的标签预测贪婪地依赖于第t-1时刻已预测出的标签. 因此,如果在第t-1个时刻预测出错误的标签,那么解码器可能会在随后第t个时刻解码预测出错误的标签,如此迭代地继续解码,将造成错误标签的级联. 这是由序列到序列模型固有的自回归属性造成的,上述标签错误级联问题也被称为曝光偏置[21]. 集束搜索[22]可以被用来在模型推理预测阶段被动地缓解该问题. 然而,Fea2Lab模型提出通过叠加计算已预测出的标签来在训练阶段主动地缓解标签错误级联的问题. 在这种计算下,解码器将能感知更多的标签,而不是只贪婪地依赖于上一个已预测出的标签. 再者,通过叠加已预测出的标签,模型能引入多标记学习中重要的概念——高阶标签间关系,这将有助于模型进一步学习示例特征空间到标记空间的映射关系,本文称这一方法为全局标签信息. 则在加入全局标签信息之后,在第t个时刻,解码器的隐藏状态为:

st=LabDec(st-1,(l1,l2,…,lt-1),c,hall)=

1.3.3 转化标签集 在经过使用全局标签信息后,Fea2Lab模型可以得到蕴含正标签预测结果的隐藏状态,进一步地把该隐藏状态转化为对应的标签,最后得到预测的标签集. 在第t个时刻,解码器的隐藏状态st包含着预测标签的信息,使用sotfmax概率分类函数将st转化为第t时刻全体标签的概率集:

Pt=softmax(Wst+b),

其中,Wm×n和bm×1分别为权重向量和偏置向量. Fea2Lab模型认为概率集Pt中最大值对应的标签最有可能为正标签:

即表示对于目标示例,模型预测该示例含有标签lj,将其标记为1. 当解码器预测到序列结束符或者时间步到n+1时,解码完成,所得到的正标签序列即为预测的正标签集;相应地,在标记空间中没有被预测到的标签即为负标签(标记为0). 由此可以得到目标示例的预测标签集L.

2 实验与讨论

2.1 对比实验

本节在3个来源于不同采集领域的真实多标记学习数据集上,将Fea2Lab模型和5个多标记学习算法进行比较和分析.

2.1.1 实验数据集 本文选择了3个不同类型的多标记学习数据集(表1),其中标签基数指平均每个示例标签子集的大小;标签密度指用标签数量来规范化标签基数;组合数指所出现的标签子集种数.

表1 3个多标记数据集Table 1 Three multi-label learning data-sets

2.1.2 对比算法 使用以下5种算法和Fea2Lab模型进行比较:

(1)ML-KNN[8]:是一阶标签关系算法,对于未知示例,首先找到该示例在训练集中的k个最近邻,然后使用最大化后验概率的方法去预测标签集;

(2)BP-MLL[15]:是二阶标签关系算法,使用全连接神经网络和一个元素对排名损失函数来完成多标记学习的任务;

(3)CC[24]:是转化多标记学习为二分类问题链的高阶标签关系算法,链中的子二元分类器基于先前分类的预测;

(4)BR[4]:是分解多标记学习任务为二元分类问题的一阶标签关系算法,一个分类对应于一个标签;

(5)LIFT[25]:是基于标签特定特征策略的一阶多标记学习算法,该方法通过独立地对每个类标签进行聚类分析来生成定制的特征,从而预测标签集.

对于BP-MLL算法,隐藏神经元的数量设置为输入维度的20%,并且训练轮次设置为100轮;对于ML-KNN算法,k最近邻大小被设置为10. 以上对比算法的数值来自于文献[25].

2.1.3 评测指标 为了更好地比较Fea2Lab模型和其他对比算法的优劣性,选择以下4个广泛使用的多标记学习评价指标:Hamming Loss(HL),Coverage(Cov),Ranking Loss(RL),Average Precision(AP)[3]. 其中,前3个指标指标越小,表明模型性能越好;第4个指标越大,表明模型的性能越好.

2.1.4 算法参数配置 具体实施参数配置如下:(1)每个算法在每个数据集中,运用10折交叉验证评估法分10次评估,最后再取10次的平均值和标准差. 在每次评估中,90%的数据用于训练,2%的数据用于验证算法性能,8%的数据用于算法的推理预测. (2)Fea2Lab模型中编码器的Bi-LSTM和解码器的LSTM的层数都是2层;使用Adam优化器[26]来优化负对数似然损失函数,其学习率α=1e-5;为了防止Fea2Lab模型在训练过程出现过拟合,设置dropout=0.5[27]. (3)在训练过程中,Fea2Lab模型训练100个轮次. 一旦训练完成,选择此模型在验证集上Average Precision值最好的模型保存点做推理预测. 为了与ML-KNN算法进行比较,k个最近邻对象的数量值取为10.

2.1.5 结果与分析 由Fea2Lab模型和5个对比算法在3个数据集的测评表现(表2)可知:(1)作为都是采用神经网络解决多标记学习的算法, Fea2Lab模型始终优于BP-MLL算法. 在Scene数据集下,Fea2Lab模型的测评指标值是BP-MLL算法的2倍. (2)在3个数据集上,作为都是考虑高阶标签间关系的算法, Fea2Lab模型的测评指标值均优于CC算法. (3)Fea2Lab模型的12个测评指标值中,有3个指标值在所有测评指标值中排名第一,有6个指标值排名第二,剩余3个指标值排名第三. 在排名第一的情况下,Fea2Lab模型优于第二名大概1%的幅度.

表2 6个算法在3个数据集上的实验结果Table 2 The experimental results of 6 algorithms on 3 datasets

2.2 消融实验

为了更好地探究和解释Fea2Lab模型,以下将从特征链类型和全局标签信息2个方面开展消融实验.

2.2.1 特征链类型 为了探究增加输入空间的特征信息是否对Fea2Lab模型预测标签集有帮助和特征链类型是否会影响Fea2Lab模型的预测,本小节将探究是否要采用最近邻示例和重点探究排列最近邻的方式. 在上述FeaEnc编码器的计算编码中,先通过示例特征最近邻图G来寻找示例的最近邻示例,再以交替升序的顺序排列示例和最近邻示例为特征链. 选择交替顺序排列的原因为:一是形成示例和最近邻示例的交替演变关系,使模型能更好地学习并捕获其中的含义;二是结合双向长短期神经网络Bi-LTSM的结构特点进行排列. 长短期神经网络LSTM是基于循环神经网络RNN改进的,而循环神经网络就是对顺序信息进行特征抽取和建模,因此,要构建一个能反映示例特征向量潜在变化关系含义的序列. 进一步地,为了比较不同的特征向量输入序列排列方式对模型预测效果的影响,选取了3种不同的顺序排列示例和最近邻示例形成特征链,分别是交替升序特征链(f1,f,f2,f,…,fk,f)2k×m、交替降序特征链(fk,f,fk-1,f,…,f1,f)2k×m和随机顺序特征链序列(f2,f,fk,f,…,f1,f)2k×m. 特别地,为了探索是否需要加入相似示例来丰富输入空间特征信息,设置纯特征链(f,f,…,f)2k×m,即该序列由单个示例的特征向量构成. 4种类型特征链的可视化如图3A所示.

由4种类型特征链对Fea2Lab模型AP值的影响(图3B)可知:(1)交替升序特征链和交替降序特征链对Fea2Lab模型AP值的影响表现是类似的. 因为Fea2Lab模型采用的是双向Bi-LSTM神经网络,同时考虑了前向和后向,所以编码这2种类型的特征链的模型表现是相似的. (2)随机顺序特征链对Fea2Lab模型AP值的影响表现比交替升序特征链或交替降序特征链都差,猜测原因是最近邻没有按照一定的顺序排列,使FeaEnc编码器的Bi-LSTM神经网络不能很好地捕捉到最近邻之间、最近邻和给定示例之间的演变关系,导致结果较差. (3)纯特征链对Fea2Lab模型AP值的影响表现最差,主要原因可能是没有包含当前未知示例的最近邻信息,单个特征向量所包含的信息较少,不能很好地使模型学习从特征空间到标记空间的映射关系.

图3 4种特征链类型及对Fea2Lab模型AP值影响

2.2.2 全局标签信息 在解码流程中,本文提出通过叠加已预测标签来在模型训练阶段主动的缓解标签错误级联问题,形式上表现为:

P(lt|lj-1,lj-2,…,l1,c),

图4 全局标签信息对Fea2Lab模型的影响

Figure 4 The influence of global label information on the Fea2Lab model

3 小结

针对传统多标记学习方法只考虑单个特征向量和无差别的预测全体标签,从而造成输入空间特征信息少、标签属性被忽略和对大标记空间预测效果较差的问题,本文转化传统多标记学习任务为多标记学习的序列到序列任务,并提出多标记学习标签生成神经网络模型(Fea2Lab模型). 通过引入示例最近邻并交替排列形成特征向量输入序列、提取标记空间中隐含的标签属性、在解码流程中引入全局标签信息来有效地解决上述问题. 在多个数据集上的实验结果表明了转化任务和Fea2Lab模型的合理性与有效性;消融实验进一步地探究了Fea2Lab模型的学习细节. 但Fea2Lab模型仍存在寻找最近邻示例不精准和对超大标签空间预测效果不佳的不足,下一步可增加如何精确寻找最近邻示例的研究,以及使用能编码更长序列的序列生成模型.

猜你喜欢
特征向量解码示例
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
《解码万吨站》
克罗内克积的特征向量
语文作文点评及升格示例
“口”字大挪移
解码eUCP2.0
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
三个高阶微分方程的解法研究
飞吧,云宝