一种基于多粒度融合网络的零样本图片识别方法与流程

    专利2022-07-08  114


    本发明属于图片识别技术领域,更为具体地讲,涉及一种基于多粒度融合网络的零样本图片识别方法。



    背景技术:

    传统的深度学习方法依赖于大规模的高质量标注数据集且训练得到的模型只能识别参与训练的类。然而,在实际中数据的收集和标注是极其费时费力,新类别每天都在产生,当有新类别出现时,需要重新标注数据并重新训练模型,且这些新类别难以收集到足够的数据用以训练。

    零样本图片识别的目标是训练一个网络,使其不仅能识别可见类图片,同时能识别不可见类别图片。零样本图片识别依赖于零样本图片学习,现有的零样本学习图片方法可以分类三类。基于嵌入的方法、基于生成式的方法以及基于分类器的方法。

    基于嵌入的方法将类的语义信息和视觉信息映射到一个公共的嵌入空间内,通过在可见类上训练一个映射函数,并在不可见类之间共享映射函数,从而在嵌入空间内实现零样本图片分类。然而,基于嵌入的方法不能准确的在嵌入空间内捕捉到类别之间的关系,导致最后的分类效果较差。

    基于生成式的方法利用可见类别训练一个基于gan或vae的生成模型来依据类别信息生成视觉图片,然后利用不可见类别的信息来合成视觉图片,从而将零样本分类问题转化为普通的分类问题。基于生成式的方法通过合成大量的不可见类图片来解决零样本问题,然而,合成的视觉图片缺少一些细粒度的特征,使用这些合成的图片训练的分类器在实际中的表现较差。

    基于分类器的方法是零样本学习的一个新趋势,它利用知识图谱来在类别之间迁移知识,并利用可见类的分类器来合成不可见类的视觉分类器。然而现有的基于分类器的方法利用提取的静态知识图谱和深层图卷积网络来合成不可见类的视觉分类器。首先静态的知识图谱固化了类别之间的关系,且知识图谱本身存在大量的噪声,限制了模型的最终效果;其次,深层图卷积网络容易遭受过平滑问题,会导致最后生成的分类器无区分度。



    技术实现要素:

    本发明的目的在于克服现有技术的不足,提供一种基于多粒度融合网络的零样本图片识别方法,抑制噪声,增强语义,以获取更为精确的类别之间的关系,同时捕获多粒度的特征信息并融合,以高效地在类别之间进行知识迁移,实现图片的分类效果的提高。

    为实现上述发明目的,本发明基于多粒度融合网络的零样本图片识别方法,其特征在于,包括以下步骤:

    (1)、语义指导下进行知识图谱构建

    1.1)、从词网络(wordnet)中提取名词表,以及名词之间的树状关系;

    1.2)、依据树状关系构建一个基础的知识图谱,其中,基础知识图谱的每个节点为一个名词,表示一个类别,节点之间的边表示类别之间的关系,将此知识图谱的邻接矩阵记为a;

    1.3)、用预训练的词转向量模型生成每个名词的词向量;

    1.4)、计算词向量之间的相似度;

    1.5)、噪音抑制:

    对于基础知识图谱中任一节点(名词)i,获取节点i与其相连的节点h的词向量相似度sih,如果词向量相似度sih小于阈值α,则删除节点i与节点h之间的边,否则保留节点i与节点h之间的边;

    1.6)、语义增强:

    对于基础知识图谱中任一节点(名词)i,获取与节点i的词向量相似度最大的k个节点,对于词向量相似度最大的k个节点中的一个节点j,如果其与节点i的词向量相似度sij大于阈值β,则连接节点i与节点j,形成一条边;

    1.7)、计算新的邻接矩阵

    基础知识图谱经过噪声抑制,语义增强后,得到新的知识图谱,根据新构的知识图谱,计算出新的邻接矩阵b;

    (2)、构建多粒度融合网络

    所构建的多粒度融合网络包含两个模块:多粒度模块和融合模块,其中:

    多粒度模块包含三个不同维度的图卷积网络分支,在第一个图卷积网络分支中,将图卷积网络的隐层维度设为512维来捕获粗粒度的特征信息,在第二个图卷积网络分支中,将图卷积网络的隐层维度设置为1024维,以捕获中等粒度的特征信息,在第三个图卷积网络分支中,将图卷积网络的隐层维度设置为为2048,用于捕获细粒度的特征信息,将第s个图卷积网络分支的输出为一个特征矩阵,用hs表示,则:

    其中:

    其中,xi为名词i的词向量,词向量为d维的行向量;

    其中,ws为第s个图卷积网络分支的参数矩阵,参数矩阵w1大小为d×512、参数矩阵w2大小为d×1024、参数矩阵w3大小为d×2048;

    其中,为邻接矩阵b的正则化版本;

    融合模块包含三个维度为g(隐层维度为g)的图卷积网络分支,将第g个图卷积网络分支的输出为一个特征矩阵,用hs′表示,则:

    其中,wg′为第g个图卷积网络分支的参数矩阵,参数矩阵w1′大小为512×g、参数矩阵w2′大小为1024×g、参数矩阵w3′大小为2048×g;

    然后对特征矩阵hj′进行融合:

    其中,表示哈达玛积, 表示相同位置的矩阵元素相加;

    最后,对融合后的特征矩阵z3用一图卷积网络进行处理,得到分类器矩阵c:

    c=σ(bz3w″)(4)

    其中,图卷积网络的参数矩阵w″大小为g×g;

    分类器矩阵c可表示为:

    即分类器矩阵c的每一行ci代表一个类的视觉分类器向量。

    (3)、构建损失函数,训练多粒度融合网络

    构建损失函数l:

    其中,m是所有类别中可见类的数量,mse(·||·)表示求两个向量的均方误差,c′m为可见类中类别m的词向量x′m经过多粒度融合网络得到的类别m的视觉分类器向量,为可见类中类别m的真实视觉分类器向量;

    通过端到端的方式,依据随机梯度下降算法更新多粒度融合网络参数矩阵集合极小化损失函数l来训练多粒度融合网络;

    (4)、零样本图片分类

    4.1)、将所有n个(名词)类别的词向量输入到训练好的多粒度融合网络中,得到每个类别的视觉分类器向量ci,i=1,2,…n;

    4.2)、用真实分类器向量对应的训练好的cnn(卷积神经网络)提取未知类别图片的视觉特征向量;

    4.3)、将未知类别图片的视觉特征向量与步骤4.1)的每个类别的视觉分类器向量ci,i=1,2,…n计算内积值;

    4.4)、依据内积值大小,从大到小排列,内积值最大的分类器向量对应的类别就是图片的类别。

    本发明的目的是这样实现的。

    本发明基于多粒度融合网络的零样本图片识别方法,利用类别的语义信息作为指导,抑制噪音,增强语义,修正已有知识图谱中的误差,构建出新的知识图谱,从而得到新的邻接矩阵,获取了更为精确的类别之间的关系,其次,针对深层图卷积网络易过平滑,浅层图卷积网络表达能力不够的难题,为更好地利用知识图谱迁移知识,设计一个多粒度融合网络,它能捕获多粒度的特征信息来生成分类器,将多种粒度的特征融合到一起,可以高效的在类别之间进行知识迁移,大幅提升图片分类效果。

    附图说明

    图1是本发明基于多粒度融合网络的零样本图片识别方法一种具体实施方式流程图;

    图2是本发明中噪音抑制、语义增强示意图;

    图3是本发明中多粒度融合网络结构示意图。

    具体实施方式

    下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

    图1是本发明基于多粒度融合网络的零样本图片识别方法一种具体实施方式流程图。

    如图1所示,本发明基于多粒度融合网络的零样本图片识别方法包括以下步骤:

    步骤s1:语义指导下进行知识图谱构建

    为了更准确的建模类别之间的关系,消除现有方法中存在的噪声,本发明创新性地将语义信息引入知识图谱构建过程,用以指导知识图谱构建。

    具体而言,先从wordnet派生出一个基础的知识图谱,该基础知识图谱包含可见类和不可见类的概念以及有误差的连接关系。然后利用语义信息作为指导修正基础知识图谱中的关系。本发明利用类名的词向量作为语义信息指导修正基础知识图谱,主要包括两个步骤:

    噪音抑制:

    在wordnet中存在一些名词并不与现实中的任何类别对应,与这些类别相连的边可视作噪音。此外,有一些关系非常微弱的类别之间有边连接,这些边也被视作噪音。现有方法直接从wordnet派生出一个知识图谱,会内在的继承这种噪音,从而影响后续的识别任务。在本发明中,首先从wordnet派生出一个基础的知识图谱,然后利用类级的语义信息作为一个指导来去除这些噪音。具体的,设定一个阈值α,如果任意两个相连的节点之间的相似度小于该阈值α,则认为它们之间的关系较弱,它们之间的边为噪音,并在知识图谱中删除该边。

    语义增强:

    由于wordnet的中误差的存在,会有一些关系很强的类别之间没有边连接。本发明利用类级信息最为指导来修正基础知识图谱。本发明基于以下事实,即类别关系较近的类,它们的语义信息在嵌入空间内也相互靠近。本发明设定两个阈值,一个近邻阈值k、一个相似度阈值β。对于基础知识图片中的每一个节点,如果它与具其最相似的k个节点的距离大于阈值β,则认为它们之间具有较强的关系,并在它们之间添加边。

    具体如图2所示,图2中,每个字符代表一个类别,左侧图代表其他类别与类别a的距离远近;右侧上面的图表示已有方法构建的知识图谱(基础知识图谱),其中边表示类别之间的关系,有边连接的表示类别之间关系比较亲近;右侧下图表示本发明构建方法,对已有的知识图谱(基础知识图谱)进行修改,删除关系较弱(类别a、c的词向量相似度小于阈值α)的类别之间的边(删除边ac),同时在关系较强z类别a、e的词向量相似度大于阈值β)的类别之间添加边(添加边ae)。

    通过噪音抑制和语义增强两个步骤,本发明进一步修正基础知识图谱中的误差,获取到更为精准的类别之间的关系,更有利于提升后续图谱识别任务的准确性。

    具体而言,语义指导下进行知识图谱构建包括以下步骤:

    步骤s1.1:从词网络(wordnet)中提取名词表,以及名词之间的树状关系。

    步骤s1.2:依据树状关系构建一个基础的知识图谱,其中,基础知识图谱的每个节点为一个名词,表示一个类别,节点之间的边表示类别之间的关系,将此知识图谱的邻接矩阵记为a。

    步骤s1.3:用预训练的词转向量模型生成每个名词的词向量。在本实施例中,词转向量模型为glove模型。

    步骤s1.4:计算词向量之间的相似度。

    步骤s1.5:噪音抑制:

    对于基础知识图谱中任一节点(名词)i,获取节点i与其相连的节点h的词向量相似度sih,如果词向量相似度sih小于阈值α,则删除节点i与节点h之间的边,否则保留节点i与节点h之间的边。

    步骤s1.6:语义增强:

    对于基础知识图谱中任一节点(名词)i,获取与节点i的词向量相似度最大的k个节点,对于词向量相似度最大的k个节点中的一个节点j,如果其与节点i的词向量相似度sij大于阈值β,则连接节点i与节点j,形成一条边。

    步骤s1.7:计算新的邻接矩阵

    基础知识图谱经过噪声抑制,语义增强后,得到新的知识图谱,根据新构的知识图谱,计算出新的邻接矩阵b。

    步骤s2:构建多粒度融合网络

    图卷积网络最早被用于弱监督实体分类,为保持本发明完整性,在此对其进行一个简单介绍。

    图卷积网络是一个良好的层级扩展规则,给定一个邻接矩阵a以及每个节点的第l层特征矩阵hl,图卷积网络的层级扩增规则可以表示为:

    其中,是邻接矩阵a的正则化版本,hl 1为变换后第l 1层的特征矩阵,w为参数矩阵,σ(·)为非线性激活函数。

    为了合理利用知识图谱在类别之间迁移知识,如图3所示,本发明构建了一个多粒度融合网络。所构建的多粒度融合网络包含两个模块:多粒度模块和融合模块,其中:

    由于图卷积网络执行的是一种拉普拉斯平滑操作,深层的图卷积网络可能会遭遇过平滑问题,而浅层的图卷积网络不能有效的捕获到类别的判别信息。为此本发明设计一个多分支的结构来捕获多种粒度的特征信息,进一步提高模型的性能。具体而言,多粒度模块包含三个不同维度的图卷积网络分支,在第一个图卷积网络分支中,将图卷积网络的隐层维度设为512维来捕获粗粒度的特征信息,在第二个图卷积网络分支中,将图卷积网络的隐层维度设置为1024维,以捕获中等粒度的特征信息,在第三个图卷积网络分支中,将图卷积网络的隐层维度设置为为2048,用于捕获细粒度的特征信息,将第s个图卷积网络分支的输出为一个特征矩阵,用hs表示,则:

    其中:

    其中,xi为名词i的词向量,词向量为d维的行向量;

    其中,wj为第j个图卷积网络分支的参数矩阵,参数矩阵w1大小为d×512、参数矩阵w2大小为d×1024、参数矩阵w3大小为d×2048;

    其中,为邻接矩阵b的正则化版本。

    在本实施例中,词向量为d=300维的行向量,经过多粒度模块后,变成了维度分别为512、1024以及2048的行向量。即特征矩阵h1的大小为n×512,特征矩阵h2的大小为n×1024,特征矩阵h3的大小为n×2048。

    在本发明中,设计双线性融合方法来融合不同粒度的特征信息。双线性融合通过哈达玛积来融合两个向量以产生比单个向量更丰富的信息。给定两个特征向量x和y,双线性融合模块被定义为:

    zi=xtwiy bi

    其中,wi为映射矩阵,zi是融合后的向量。受矩阵分解技巧的启发,wi可以分解为两个低秩矩阵,上述公式可以被重写为:

    ui和vi可看做两个映射矩阵,可用图卷积网络代替。

    具体而言,融合模块包含三个维度为g(隐层维度为g)的图卷积网络分支,将第g个图卷积网络分支的输出为一个特征矩阵,用h′s表示,则:

    其中,w′g为第g个图卷积网络分支的参数矩阵,参数矩阵w′1大小为512×g、参数矩阵w′2大小为1024×g、参数矩阵w′3大小为2048×g。

    输出的特征矩阵h′1、h′2、h′3的大小均为n×g。

    然后对特征矩阵h′s进行融合:

    其中,表示哈达玛积, 表示相同位置的矩阵元素相加;

    最后,对融合后的特征矩阵z3用一图卷积网络进行处理,得到分类器矩阵c:

    c=σ(bz3w″)(4)

    其中,图卷积网络的参数矩阵w″大小为g×g;

    分类器矩阵c可表示为:

    即分类器矩阵c的每一行ci代表一个类的视觉分类器向量。

    步骤s3:构建损失函数,训练多粒度融合网络

    构建损失函数l:

    其中,m是所有类别中可见类的数量,mse(·||·)表示求两个向量的均方误差,c′m为可见类中类别m的词向量x′m经过多粒度融合网络得到的类别m的视觉分类器向量,为可见类中类别m的真实视觉分类器向量;

    通过端到端的方式,依据随机梯度下降算法更新多粒度融合网络参数矩阵集合极小化损失函数l来训练多粒度融合网络;

    步骤s4:零样本图片分类

    步骤s4.1:获取每个类别的视觉分类器向量

    将所有n个(名词)类别的词向量输入到训练好的多粒度融合网络中,得到每个类别的视觉分类器向量ci,i=1,2,…n;

    步骤s4.2:提取未知类别图片的视觉特征向量

    用真实分类器向量对应的训练好的cnn(卷积神经网络)提取未知类别图片的视觉特征向量;

    步骤s4.3:计算内积值

    将未知类别图片的视觉特征向量x与步骤4.1)的每个类别的视觉分类器向量ci,i=1,2,…n计算内积值pi:

    步骤s4.4:依据内积值得到图片类别

    将内积值pi作为分类预测分数,依据内积值pi大小,从大到小排列,内积值最大的分类器向量对应的类别就是图片的类别。

    测试

    为了验证本发明的有效性,在当前最大的零样本识别数据集imagenet-21k数据集上对本发明进行测试。imagenet-21k数据集总共包含21841个类别,我们在其中1000个类别训练模型,并在其与20841类上测试模型。我们采用hit@k指标来评估我们的模型.hit@k表示返回的前k个结果中有正确结果的图片所占的比例,是零样本学习领域最广的评价指标。我们将imagenet-21k数据集分为三个子集,2-hops,3-hops以及all。并在标准零样本设定以及通用零样本设定下分别进行实验。标准零样本设定是指在只在不可见类别上进行测试,即分类时候选类别只有不可见类。通用零样本设定是指分类时候选类别既有可见类别也有不可见类别,这种设定更接近实际情况。

    表1

    表2

    从表1、2中可以看出,本发明均优于现有的方法。

    尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。


    技术特征:

    1.一种基于多粒度融合网络的零样本图片识别方法,其特征在于,包括以下步骤:

    (1)、语义指导下进行知识图谱构建

    1.1)、从词网络(wordnet)中提取名词表,以及名词之间的树状关系;

    1.2)、依据树状关系构建一个基础的知识图谱,其中,基础知识图谱的每个节点为一个名词,表示一个类别,节点之间的边表示类别之间的关系,将此知识图谱的邻接矩阵记为a;

    1.3)、用预训练的词转向量模型生成每个名词的词向量;

    1.4)、计算词向量之间的相似度;

    1.5)、噪音抑制:

    对于基础知识图谱中任一节点(名词)i,获取节点i与其相连的节点h的词向量相似度sih,如果词向量相似度sih小于阈值α,则删除节点i与节点h之间的边,否则保留节点i与节点h之间的边;

    1.6)、语义增强:

    对于基础知识图谱中任一节点(名词)i,获取与节点i的词向量相似度最大的k个节点,对于词向量相似度最大的k个节点中的一个节点j,如果其与节点i的词向量相似度sij大于阈值β,则连接节点i与节点j,形成一条边;

    1.7)、计算新的邻接矩阵

    基础知识图谱经过噪声抑制,语义增强后,得到新的知识图谱,根据新构的知识图谱,计算出新的邻接矩阵b;

    (2)、构建多粒度融合网络

    所构建的多粒度融合网络包含两个模块:多粒度模块和融合模块,其中:

    多粒度模块包含三个不同维度的图卷积网络分支,在第一个图卷积网络分支中,将图卷积网络的隐层维度设为512维来捕获粗粒度的特征信息,在第二个图卷积网络分支中,将图卷积网络的隐层维度设置为1024维,以捕获中等粒度的特征信息,在第三个图卷积网络分支中,将图卷积网络的隐层维度设置为为2048,用于捕获细粒度的特征信息,将第s个图卷积网络分支的输出为一个特征矩阵,用hs表示,则:

    其中:

    其中,xi为名词i的词向量,词向量为d维的行向量;

    其中,ws为第s个图卷积网络分支的参数矩阵,参数矩阵w1大小为d×512、参数矩阵w2大小为d×1024、参数矩阵w3大小为d×2048;

    其中,为邻接矩阵b的正则化版本;

    融合模块包含三个维度为g(隐层维度为g)的图卷积网络分支,将第g个图卷积网络分支的输出为一个特征矩阵,用h′s表示,则:

    其中,w′g为第g个图卷积网络分支的参数矩阵,参数矩阵w1′大小为512×g、参数矩阵w′2大小为1024×g、参数矩阵w′3大小为2048×g;

    然后对特征矩阵h′s进行融合:

    其中,表示哈达玛积, 表示相同位置的矩阵元素相加;

    最后,对融合后的特征矩阵z3用一图卷积网络进行处理,得到分类器矩阵c:

    c=σ(bz3w″)(4)

    其中,图卷积网络的参数矩阵w″大小为g×g;

    分类器矩阵c可表示为:

    即分类器矩阵c的每一行ci代表一个类的视觉分类器向量。

    (3)、构建损失函数,训练多粒度融合网络

    构建损失函数l:

    其中,m是所有类别中可见类的数量,mse(·||·)表示求两个向量的均方误差,c′m为可见类中类别m的词向量x′m经过多粒度融合网络得到的类别m的视觉分类器向量,为可见类中类别m的真实视觉分类器向量;

    通过端到端的方式,依据随机梯度下降算法更新多粒度融合网络参数矩阵集合极小化损失函数l来训练多粒度融合网络;

    (4)、零样本图片分类

    4.1)、将所有n个(名词)类别的词向量输入到训练好的多粒度融合网络中,得到每个类别的视觉分类器向量ci,i=1,2,…n;

    4.2)、用真实分类器向量对应的训练好的cnn(卷积神经网络)提取未知类别图片的视觉特征向量;

    4.3)、将未知类别图片的视觉特征向量与步骤4.1)的每个类别的视觉分类器向量ci,i=1,2,…n计算内积值;

    4.4)、依据内积值大小,从大到小排列,内积值最大的分类器向量对应的类别就是图片的类别。

    技术总结
    本发明公开了一种基于多粒度融合网络的零样本图片识别方法,利用类别的语义信息作为指导,抑制噪音,增强语义,修正已有知识图谱中的误差,构建出新的知识图谱,从而得到新的邻接矩阵,获取了更为精确的类别之间的关系,其次,针对深层图卷积网络易过平滑,浅层图卷积网络表达能力不够的难题,为更好地利用知识图谱迁移知识,设计一个多粒度融合网络,它能捕获多粒度的特征信息来生成分类器,将多种粒度的特征融合到一起,可以高效的在类别之间进行知识迁移,大幅提升图片分类效果。

    技术研发人员:杨阳;位纪伟
    受保护的技术使用者:贵州大学
    技术研发日:2020.12.18
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-18828.html

    最新回复(0)