本申请涉及知识蒸馏和多视图学习领域,具体涉及一种基于蒸馏和父模型的多视图学习方法与装置。
背景技术:
1、多视图学习和知识蒸馏是计算机领域的重要研究领域。
2、多视图学习是利用样本的不同视图来提高模型表现的一类方法。利用多个视图的特征往往能比只利用一个视图的特征取得更好的表现,因此如何融合多个视图的特征成为了一个重要的领域。基于机器学习的传统方法只能处理维度较低的数据。基于深度学习的方法可以分为基于连接和对齐的两类方法。基于拼接的方法具有冗余问题,基于对齐的方法忽略了视图独有的特征,因此基于共享特征和独有特征的第三类方法被提出。
3、知识蒸馏是把一个模型的知识迁移到另一个模型的一类方法。一方面,由于模型优化过程中使用了随机梯度下降,使得每个模型学到的知识不同,因此迁移一个模型的知识到另一个模型有助于提高其表现。另一方面,一个已经训练好的模型往往有更准确的特征,因此可以给另一个模型提供优化方向的指导。
4、基于共享特征和独有特征的多视图学习方法没有考虑到样本的共享特征和独有特征占比不同的问题。
技术实现思路
1、本申请提供一种基于蒸馏和父模型的多视图学习方法、装置、设备及计算机可读存储介质,旨在解决现有技术中,基于共享特征和独有特征的多视图学习方法中共享特征和独有特征的占比难以确认的问题,有效的提高了多视图表示学习方法的泛化性。
2、第一方面,本申请实施例提供一种基于蒸馏和父模型的多视图学习方法,所述方法包括:
3、获取多视图数据,并对每个视图的独有部分和视图间的共享部分进行建模提取对应的共享特征与独有特征;
4、根据所述每个视图对应的共享特征与独有特征确定样本融合时,共享部分损失、每个视图独有特征损失,得到融合特征分类损失,并根据所述不同部分的损失与融合特征分类损失确定父模型总损失;
5、根据父模型中每个视图对应的共享特征与独有特征确定子模型中各部分的损失权重;
6、根据所述子模型中各部分的损失权重与所述父模型总损失,得到子模型总损失。
7、一些实施例中,所述获取多视图数据,并对每个视图的独有部分和视图间的共享部分进行建模提取对应的共享特征与独有特征,包括:
8、获取多视图数据集
9、使用神经网络对数据集中的第一视图,第二视图进行特征提取,得到提取后的第一视图特征与第二视图特征
10、根据公式:
11、
12、提取第一视图的共享特征gc1为类似卷积-池化-bn层的多层结构;
13、根据公式:
14、
15、提取第二视图的共享特征gc2为类似卷积-池化-bn层的多层结构;
16、根据公式:
17、
18、提取第一视图的独有特征gs1为类似卷积-池化-bn层的多层结构;
19、根据公式:
20、
21、提取第二视图的独有特征gs2为类似卷积-池化-bn层的多层结构。
22、一些实施例中,所述根据所述每个视图对应的共享特征与独有特征确定样本融合时,共享部分损失、每个视图独有特征损失,包括:
23、根据公式:
24、
25、得到样本共享部分损失dot表示内积;
26、根据公式:
27、
28、得到样本第一视图独有特征损失dot表示内积;
29、根据公式:
30、
31、得到样本第二视图独有特征损失,dot表示内积。
32、一些实施例中,所述得到融合特征的分类损失,包括:
33、根据公式:
34、
35、得到融合特征的分类损失其中concat表示将样本i的特征进行拼接,cross_entropy表示交叉熵损失,linear3为线性全连接层。
36、一些实施例中,所述根据所述不同部分的损失与融合特征分类损失确定父模型总损失,包括:
37、根据公式:
38、
39、得到父模型总损失loss;
40、一些实施例中,所述根据父模型中每个视图对应的共享特征与独有特征确定子模型中各部分的损失权重,包括:
41、根据公式:
42、
43、得到子模型中共享特征的损失权重
44、根据公式:
45、
46、得到子模型中第一视图独有特征的损失权重
47、根据公式:
48、
49、得到子模型中第二视图独有特征的损失权重
50、其中,为父模型中样本i的共享特征,父模型中样本i的独有特征。
51、一些实施例中,所述根据所述子模型中各部分的损失权重与所述父模型总损失,得到子模型总损失,包括:
52、根据公式:
53、
54、得到子模型总损失loss1。
55、第二方面,本申请实施例提供了一种基于蒸馏和父模型的多视图学习装置,所述装置包括:
56、提取单元,其用于获取多视图数据,并对每个视图的独有部分和视图间的共享部分进行建模提取对应的共享特征与独有特征;
57、计算单元,其用于根据所述每个视图对应的共享特征与独有特征确定样本融合时,共享部分损失、每个视图独有特征损失,得到融合特征的分类损失,并根据所述不同部分的损失与融合特征分类损失确定父模型总损失;
58、所述计算单元还用于根据父模型中每个视图对应的共享特征与独有特征确定子模型中各部分的损失权重;
59、所述计算单元还用于根据所述子模型中各部分的损失权重与所述父模型总损失,得到子模型总损失。
60、第三方面,提供一种计算机设备包括:处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现第一方面任意一项所述的方法。
61、第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现第一方面任意一项所述的方法。
62、本申请实施例提供的技术方案带来的有益效果包括:
63、通过获取多视图数据,并对每个视图的独有部分和视图间的共享部分进行建模提取对应的共享特征与独有特征;根据所述每个视图对应的共享特征与独有特征确定样本融合时,共享部分损失、每个视图独有特征损失,得到融合特征分类损失,并根据所述不同部分的损失与融合特征分类损失确定父模型总损失;根据父模型中每个视图对应的共享特征与独有特征确定子模型中各部分的损失权重;根据所述子模型中各部分的损失权重与所述父模型总损失,得到子模型总损失。本发明提供的方法解决了多视图学习中样本的共享部分和独有部分占比难以衡量的问题,使用了知识蒸馏的方法来进行衡量,提高模型的泛化性。
1.一种基于蒸馏和父模型的多视图学习方法,其特征在于,所述方法包括:
2.如权利要求1所述的一种基于蒸馏和父模型的多视图学习方法,其特征在于,所述获取多视图数据,并对每个视图的独有部分和视图间的共享部分进行建模提取对应的共享特征与独有特征,包括:
3.如权利要求2所述的一种基于蒸馏和父模型的多视图学习方法,其特征在于,所述根据所述每个视图对应的共享特征与独有特征确定样本融合时,共享部分损失、每个视图独有特征损失,包括:
4.如权利要求3所述的一种基于蒸馏和父模型的多视图学习方法,其特征在于,所述得到融合特征的分类损失,包括:
5.如权利要求4所述的一种基于蒸馏和父模型的多视图学习方法,其特征在于,所述根据所述不同部分的损失与融合特征分类损失确定父模型总损失,包括:
6.如权利要求5所述的一种基于蒸馏和父模型的多视图学习方法,其特征在于,所述根据父模型中每个视图对应的共享特征与独有特征确定子模型中各部分的损失权重,包括:
7.如权利要求6所述的一种基于蒸馏和父模型的多视图学习方法,其特征在于,所述根据所述子模型中各部分的损失权重与所述父模型总损失,得到子模型总损失,包括:
8.一种基于蒸馏和父模型的多视图学习装置,其特征在于,包括:
9.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一项所述的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的方法的步骤。