APP下载

基于知识本体的图像分类迁移学习算法

2021-04-07黄心依

蚌埠学院学报 2021年2期
关键词:分类器本体节点

黄心依,曹 浩

(安徽科技学院 信息与网络工程学院,安徽 滁州 233100)

图像分类问题是计算机视觉领域长期关注的热点,现如今,商业搜索引擎已经使用元数据和图像标签来进行图像检索。但是,这样产生的数据可能是不准确的,因此有可能导致错误的结果。大多数图像分类方法是基于最优选择下的特征描述符的监督学习方法。目前,通过卷积神经网络可以学习特征描述符的方法,解决了传统上需要针对特定问题选择特定描述符的问题[1],这种方法对于图像和标签匹配清晰的数据是很有效的,但如果类别标签很抽象,就难以给出满意的结果。

在实际问题中,图像复杂、信息量大、对象类别多,因此,在训练集中采集所有的图像是不可能的。利用类别可以通过某些规则来解释的原则,选取一些判别区域对图像进行识别和分类是很好的思路。这些规则可以通过源数据进行挖掘,也可以以本体的形式提供给系统。因此,它们可以被表示为基于视觉的区域规则集。例如,如果图像中存在电视,人们可以推断这种图片拍摄于室内。抽象的类别问题一般很难在图像中给出准确的区域标签,而使用本体知识可以帮助训练数据集,在训练过程中,本体先验知识在检测到区别区域的基础上进行推理,并将本体规则自下而上地应用于图像,文献[2]就是使用知识本体来提高准确性的,但这种方法一般情况下存在局限性。

本研究中使用的是美国有线电视新闻网中的图片数据集,图1分别为不同清真寺的图像,虽然有不同的外观,但是却有类似的门和门柱等,这个数据集用于大规模的图像分类竞赛[1,3-4],在之前的研究工作中,此数据集可以以无监督的方式进行训练[3,5-6]。针对这样的图像数据集,如果使用传统的卷积神经网络直接来训练和分类,会产生很大的分类误差。同时在此数据中包含很多建筑风格,不仅数据较多、较复杂,并且在普通的分类方法上分类难度和误差较大,因此,本研究使用这组实验数据来证明基于知识本体的迁移学习算法在复杂的图像分类问题上的有效性。

图1 德里贾玛清真寺(左)和查尔米纳清真寺(右)

基于此,引入先验本体来解决这个问题。由于要分清楚大量类别的图像,如果将所有的图片都加入训练,则会增加误差,同时,在普通卷积神经网络的基础上引入迁移学习思想来解决此问题。知识本体的方法本身基于大量的相关专业的背景,之后构建算法整合和提高知识规则,比如,在欧洲建筑风格的基础上,可以通过算法发现语义图像的重复结构元素的视觉部分[7],以此来将欧洲建筑分为罗马式、哥特式和文艺复兴式(巴洛克时期)。使用微调检测器检测形状,就可以通过识别特定的区域来归类它们的风格。目前的研究大部分使用单域知识(例如仅仅识别外观门面)来进行分类,而本文算法在多个区分区域使用推理,例如,使用基于形状和纹理的特征来检索类似的图像和关于印度估计的艺术形式的信息[2,8]。

同时,使用迁移学习的机器学习方法,克服分类过多的问题。为更好地提高算法的可行性,本文的训练集和测试集包含不同的纪念配数据,以更有效地展示算法对于不同类别的准确度,例如,泰姬陵、阿克巴、胡马雍陵属于陵墓类,在训练时采用泰姬陵、阿克巴图像,但测试时采用胡马雍陵图像进行准确率计算[9-10]。

1 迁移学习

传统的数据挖掘和机器学习算法,使用先前收集的带有标签或未标记的训练数据[11-13]来进行统计模型的建立,之后对未来数据进行预测。半监督学习[14-17]利用大量未标记的数据和少量已标记的数据,解决了标记数据太少而无法建立良好的分类器的问题。例如,文献[18]研究了如何在有未标记数据的情况下处理类标签的问题,文献[19]则将样品进行了额外测试来提高准确率。然而,它们中大多数都假设标记的数据和未标记数据的分布是相同的。而当无标签数据与有标签数据并不属于同一类型时,迁移学习是解决此问题的最好方法。

迁移学习,也称为归纳迁移、领域适配,其目标是将某个领域或任务上学习到的知识或模式应用到不同但相关的领域或问题中[15]。通俗的解释为,一个会识别老鼠和鸭子的人更容易分清“米老鼠”和“唐老鸭”,且更容易分清楚猫和狗,即希望机器可以像人一样,当有了某领域的“学习能力”之后,就可以更容易地学习相关领域的技能。迁移学习较早的研究有J.Schmidhuber提出的“Learning how to learn”[16]。之后针对怎样可以更好的迁移,即把源领域的方法更完美地迁移到目标领域去,有Sinno Jialin Pan等提出迁移成分分析TCA(transfer component analysis)[17]方法,专门针对domain adaptation(域适应)的问题,给出了当源域和目标域处于不同数据分布时,可以将两个领域的数据一起映射到一个高维的再生核希尔伯特空间,这样就将两个领域的数据距离缩短,使得两个领域的距离最小化,便于迁移。

迁移学习在监督学习中的大量应用,一般为源领域数据量较大,而目标领域样本数据量较小。因此,大多采用Fine-tune(微调)模型来完成,即用大样本的源域数据训练出一个模型,之后用目标域数据微调。此过程中最容易出现的问题就是过拟合问题,解决迁移学习中过拟合问题的常用方法有以下两种:

方法1:Conservative Training(保守训练):使用源领域数据训练好的模型尽可能多地直接迁移到目标领域模型,保证原模型参数变化不大并使得输出结果的概率向量很接近。

方法2:Layer Transfer(层迁移):规定源领域训练好的模型的某些层参数冻结(即固定,防止抖动),将这些层的Learning rate设置为0或者很小。之后训练剩下的层,进行微调,防止过拟合。

卷积神经网络图像识别的迁移学习一般过程如下:首先,利用相关领域大型数据集(如 ImageNet)等对参数进行初始化训练,训练好的权重具有较好的泛化性。之后,通过上述拥有较好权重的卷积神经网络的特征提取层(卷积层和下采样层)对目标领域的样本数据集进行特征提取。之后使用目标领域的样本训练特定的分类器,最后使用提取的特征输入分类器,完成针对目标领域的图像分类器的构建。当结果不满意时,可以对全部或者部分层进行Fine-tune(微调),来将模型调整成更加适应目标数据集的模型。与重新训练一个卷积神经网络相比,利用迁移学习训练需要更小的学习率和学习时间,因为一个用巨大数量样本训练出的神经网络模型已很平滑,微调后即可实现较好结果。

2 本体论及其先验

在哲学中,本体论是一种关于存在的系统化解释,将本体论运用到计算机领域中,是指对概念化对象(conceptualization)的明确表示和描述。经典的概念是首先定义:C={D,W,R},其中,D指的是领域,W则指代该领域中相关的事物状态(state of affairs)的集合,R是领域空间{D,W}上的概念关系(conceptual relation)的集合。本体论是采用某种语言对概念化的描述。20世纪90年代,本体论的研究在计算机领域内日益流行,尤其是在以下领域内扮演了越来越重要的角色:智能信息检索、软件构建重用、知识工程以及面向对象等方面。在智能信息检索中的“信息过载”的问题中,以Ontology技术为核心来建立领域语义模型,为信息源提供语义标准信息,成为一种系统的知识表示方法,也是系统集成的核心部件。而对于软件部分,为了便于检索,研究人员将领域本体的概念用在软件构建的组织和管理当中,通过本体集成同一的数据库来提高软件的开发效率。

本算法中的知识本体先验方法,是利用本体来训练分类器,如果分类器独立训练,那只能识别叶类的图片,而如果让分类器输出与检测到的特征相对应的置信度值,就可以使用这些分数来推断节点。在这里,知识本体具体的操作方法用图2莫卧儿(Mughal)纪念碑来阐述。

由图2可知,堡垒是由红石制成的,所以红颜色附在堡垒类上,穹顶是典型的清真寺和坟墓特征,且陵墓和穹顶都附在坟墓和清真寺上。在这种情况下,如果本体被认为是树结构,则子节点具有多个父节点。因此,可以实现跨类别共享特征。大多数基于本体的方法没有处理共享特征的功能,本体具有一个类特有的排他性的特点。然而,在本文的算法当中,考虑了跨类别的共享特征。训练集是由红堡泰姬陵和查尔米纳组成,使用它们作为叶节点,同时为了丰富数据,还增加了一些纪念碑图像,它们有特殊区分区域(如穹顶、塔尖等),这有助于有效学习叶节点特征。根据区分区域是否存在,可以将图像标记为1或0。

图2 莫卧儿建筑分类实例

使用基于本体规则的类,可以让分类器从本体规则中使用先验知识来学习。在本文的算法中,使用本体知识为后续的分类器提供先验知识,实现了一种自上而下学习的方法,以此来增强分类器的性能。

3 基于本体先验的迁移学习方法

本体先验提供了一种存在可分区域的特征值,因此基于本体先验的迁移学习算法首先需要将先验知识从本体转移到分类器。

在本节中,首先会描述文献[2]中采用的方法,同时重点介绍本文算法对此模型的改进。对于文献[2]中的目标函数,fw(x)是图像的特征向量,Y表示叶节点的标签,B指的是分类层的权重,也是本节中各节点的权重。为方便表示,将叶子节点从1到K进行标号,父节点从1到P进行标号,θparent(k)表示K父节点的权重向量。目标函数1如公式(3)所示,其中,分类器的权重由父节点进行规则化,即属于同一父节点的类必须有相似的权重(本体先验规则)。子节点权重被假定为以父节点权重为均值的高斯分布。这样,本体知识在训练时被转移到分类器当中,并且自上而下进行传输,在此,并没有考虑类间共享特征的情况,此外,还需要假设标签是符合高斯分布的,第一项是平方差的综合。子权重被初始化为高斯随机变量,平均值为父节点权重。之后通过平均值计算θm,然后更新权重B,重复迭代知道目标函数收敛为固定值。

(1)

(2)

3.1 目标函数1的优化

针对这种方法,在本文算法中已经考虑了本体与跨类别的共享特征,子节点权重为高斯分布的综合,这将使得叶子节点的所有父节点权重进行规则化。因此,将目标函数修改为目标函数2,通过引入父节点项的加权,使得ith迭代为优化的步骤,在20-30次迭代中求逆是耗时性价比最高且收敛的,此目标函数成为目标函数1。

(3)

(4)

3.2 目标函数2的优化

在目标函数1中,第一项是误差平方和,它隐含地假定了标签Y遵循高斯分布,然而,当此问题是二分类问题时,即Y为1或0时,假定Y为高斯分布就是错误的,此时Y遵循伯努利分布,这样使得函数给出0或者1的结果,有益于建模。同时,本文算法在输出层用S函数代替了误差平方和。同时,在训练的时候采用SGD优化方法。以上这种优化方法为本文的目标函数2优化算法。

Likelihood,L=∏P(Y|fw(x),B|P(B|Θ)P(Θ))

(5)

(6)

4 实验及结果分析

实验选用的三个数据集均来自美国有线电视新闻网的数据,特征向量大小为4096。在第一个实验中,用逻辑回归分类器对陵墓、城堡、清真寺进行分类训练;第二个实验中,使用预测叶矢量和实际叶标记向量的点积来计算叶节精度的方法训练模型,第三个实验中,使用基于多类知识本体的方法训练模型,通过预测得分(阈值=0.8)、计算真实类别和预测标签之间的汉明距离来计算叶节点精度。实验结果如图3及表1所示。

图3 实验结果

表1 训练结果

对于方法1,通过预测叶矢量和实际叶标记向量的点积来计算叶节精度,为惩罚极端的分类情况,而方法2通过预测得分(阈值=0.8)、计算实际和预测标签之间的汉明距离来计算叶节点精度,由图3的实验结果可以看到,传统的逻辑回归分类器的精确度是最低的,方法1一开始的精确度较传统方法有优势,但随着迭代次数的增加,精确度先是波动,之后大幅度的悬崖式下跌,说明该方法对应数据的建模有很大偏差。而方法2一直保持着很好的分类结果,远优于其他两种。实验证明,针对此数据,本文算法中的方法2更为有效。

基于此实验结果,可以得出本文算法——基于迁移学习的方法比普通的简单逻辑分类器要优秀得多,验证了本文在之前章节中的分析,即简单分类器面对抽象类别问题会有精确度大量下降的问题。同时也可证明,基于对数似然函数的误差函数远优于误差平方和[20]。在实验三中,叶节点的分类准确率可以达到75%,而实验二中的方法性能与正则化相差太大,表明方法中假设数据为高斯分布是错误的。

5 结论

本文提出了基于知识本体的迁移学习算法,用于解决复杂的图像分类的问题,以美国有线电视新闻网的数据为例分析了本体知识使用的方法。通过尝试使用了领域知识和数据驱动技术来学习概念类,之后设计了一个简单的逻辑分类器,分类结果提升了17%,证明了此方法的有效性以及改进了之前模型的局限性。同时,本研究中的方法可以很容易地扩展到数百个类别的大规模数据问题上,同时,还可应用于多层次的分类难题,比如使用自动编码器和带标签的方法来训练,以提高分类结果,因此,使用本文的算法思想可以进一步解决更加复杂和实际的问题。

猜你喜欢

分类器本体节点
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
学贯中西(6):阐述ML分类器的工作流程
继齐韵往昔,以今声开来——思考自五音戏主奏乐器的演变、本体及延伸
基于图连通支配集的子图匹配优化算法
眼睛是“本体”
基于朴素Bayes组合的简易集成分类器①
结合概率路由的机会网络自私节点检测算法
面向复杂网络的节点相似性度量*
采用贪婪启发式的异构WSNs 部分覆盖算法*
基于AdaBoost算法的在线连续极限学习机集成算法