视觉问答网络模型的训练方法、装置、设备以及存储介质与流程

文档序号:32051141发布日期:2022-11-03 09:27阅读:118来源:国知局
视觉问答网络模型的训练方法、装置、设备以及存储介质与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种视觉问答网络模型的训练方法、装置、电子设备以及存储介质。


背景技术:

2.计算能力的万亿倍增长使得深度学习(deep learning,dl)在处理各种机器学习(machine learning,ml)任务中得到广泛应用,如图像分类、自然语言处理和视觉问答。然而,研究者发现现有dl算法存在着严重的安全隐患:攻击者可以通过给良性样本添加特定噪声而轻易地欺骗dl模型,并且通常不会被人发现。攻击者利用人的视觉/听觉无法感知的扰动,足以使正常训练的模型输出置信度很高的错误预测,研究者将这种现象叫做对抗攻击,它被认为是在生产中部署dl模型之前的巨大障碍,因此激发了人们对对抗攻击和防御研究的广泛兴趣。


技术实现要素:

3.为解决上述技术问题,本技术的实施例提供了一种视觉问答网络模型的训练方法、视觉问答网络模型的训练装置、电子设备以及计算机可读存储介质,能够提高训练好的视觉问答网络模型的抗干扰能力,增强视觉问答网络模型的鲁棒性。
4.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
5.根据本技术实施例的一个方面,提供了一种视觉问答网络模型的训练方法,包括:从样本数据集中选取一个样本数据,并生成对应样本数据的对抗样本数据;将对应样本数据输入视觉问答网络模型,输出第一预测结果;将对抗样本数据输入当前视觉问答网络模型,输出第二预测结果;计算第一预测结果和第二预测结果之间的kl散度,以及计算第一预测结果和对应样本数据的样本标签之间的损失值;判断kl散度与损失值之间的和值是否小于预设阈值,若判断为否,则跳转至从样本数据集中选取一个样本数据,并生成对应样本数据的对抗样本数据的步骤,若判断为是,则输出最新的视觉问答网络模型。
6.根据本技术实施例的一个方面,提供了一种视觉问答方法,包括:接收视觉问答请求,视觉问答请求包括视觉问答数据;响应于视觉问答请求,将视觉问答数据输入视觉问答网络模型,输出视觉问答数据对应的结果;其中,视觉问答网络模型为经过上述视觉问答网络模型的训练方法训练好的视觉问答网络模型。
7.根据本技术实施例的一个方面,提供了一种视觉问答网络模型的训练装置,包括:生成模块,用于从样本数据集中选取一个样本数据,并生成对应样本数据的对抗样本数据;第一输入模块,用于将对应样本数据输入当前视觉问答网络模型,输出第一预测结果;第二输入模块,用于将对抗样本数据输入当前视觉问答网络模型,输出第二预测结果;计算模块,用于计算第一预测结果和第二预测结果之间的kl散度,以及计算第一预测结果和对应样本数据的样本标签之间的损失值;跳转模块,用于判断kl散度与损失值之间的和值是否
小于或等于预设阈值,若判断为否,则跳转至从样本数据集中选取一个样本数据,并生成对应样本数据的对抗样本数据的步骤,若判断为是,则输出最新的视觉问答网络模型。
8.根据本技术实施例的一个方面,提供了一种电子设备,包括处理器及存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时实现如上视觉问答网络模型的训练方法。
9.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行如前提供的视觉问答网络模型的训练方法。
10.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的视觉问答网络模型的训练方法。
11.本技术的实施例所提供的技术方案,在视觉问答网络模型的训练过程中,将样本数据对应的对抗样本数据输入当前视觉问答网络模型,使得对抗样本数据参与视觉问答网络模型的训练过程,通过控制第一预测结果和对应样本数据的样本标签之间的损失值的大小,使得视觉问答网络模型能够准确辨别图像样本中的目标类别,且能够基于识别出来的目标类别准确回答文本样本的问题。另外,通过控制第一预测结果和第二预测结果之间的kl散度使得视觉问答网络模型不但能够学习到如何区分不同的类别,还能够使其衡量原始样本和对抗样本之间的差距,充分学习对抗样本数据的特征,能够提高视觉问答网络模型的鲁棒性。
12.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
13.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
14.图1是本技术的一示例性实施例示出的视觉问答网络模型的训练方法的流程图;
15.图2是一示例性实施例示出的视觉问答网络模型的结构图;
16.图3是图1所示实施例中步骤s101一示例性实施例的流程示意图;
17.图4是图1所示实施例中步骤s101一示例性实施例的流程示意图;
18.图5是图1所示实施例中步骤s101一示例性实施例的流程示意图;
19.图6是图1所示实施例中步骤s102一示例性实施例的流程示意图;
20.图7是本技术一示例性实施例示出的视觉问答方法的流程图;
21.图8是本技术一示例性实施例示出的视觉问答网络模型的训练装置的框图;
22.图9示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
23.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
24.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
25.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
26.还需要说明的是:在本技术中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
27.需要说明的是,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
28.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
29.计算机视觉技术(computer vision,cv)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
30.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
31.本技术实施例提出的视觉问答网络模型的训练方法及装置、电子设备、计算机可
读存储介质涉及人工智能技术以及计算机视觉技术,以下将对这些实施例进行详细说明。
32.视觉问答(visual question answering,vqa)是一项结合了计算机视觉(cv)和自然语言处理(nlp)的任务。在视觉问答任务中,视觉的任务是对给定图像进行处理,包括图像分类、目标检测等任务;相应的,自然语言处理的任务是对文本形式的内容进行处理和理解,包括机器翻译、生成文本摘要等任务。视觉问答的目标是从图片的视觉信息中推理出问题的正确答案。
33.vqa是一项非常具有挑战性的任务,它融合了计算机视觉和自然语言处理两个重要的ai领域。在看图说话和视频摘要中,语义信息总是完全包含在图像或者动态的视频中,因此语义信息可以用和人类一致的方式进行表达和挖掘。但是在vqa中,同一种媒介中的语义信息,必须与用nlp(natural language processing,自然语言处理)表示出的问题所暗指的语义进行回答,这加大了对模型多模态融合能力的要求。
34.本技术发明人经过长期研究发现,vqa模型在外部攻击下是否仍然表现出鲁棒性,或者是否容易受到微小扰动,现有技术没有做出深入研究。另外,vqa模型的鲁棒性高度依赖于多模态输入的可靠性,如果单模态或多模态输入受到攻击,可能会失效。
35.为解决上述技术问题,本实施例提出一种视觉问答网络模型的训练方法、视觉问答网络模型的训练装置、电子设备以及计算机可读存储介质,以下进行详细描述。
36.请参阅图1,图1是本技术的一示例性实施例示出的视觉问答网络模型的训练方法的流程图,本实施例提供的视觉问答网络模型的训练方法可以应应用于具备视觉问答网络模型的训练能力的终端设备,例如,可以是智能手机、平板电脑、pc(personal computer,个人计算机)、智能语音交互设备、智能家电、车載终端、飞行器或者其它电子设备,本处不进行限制。服务器30可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,在此也不进行限制。
37.如图1所示,本实施例提供的视觉问答网络模型的训练方法包括步骤s101-步骤s105,详细描述参考如下:
38.步骤s101:从样本数据集中选取一个样本数据,并生成对应样本数据的对抗样本数据。
39.现有技术中存在许多攻击算法都可以有效攻击深度学习网络模型,包括但不限于快速梯度下降法(fast gradient sign method,fgsm)、迭代快速梯度下降法(fast gradient sign method,fgsm)、deepfool算法、投影梯度下降法(projected gradient descent,pgd)等攻击方法。
40.对抗样本(adversarial examples,ae)是指在数据集中通过故意添加细微的干扰所形成的输入样本,会导致模型以高置信度给出一个错误的输出的数据。本实施例可利用上述攻击方法中的任意一种生成对抗样本数据,在此不做具体限定。
41.本实施例从样本数据集中随机选取一个样本数据,样本数据集中包括多个样本数据,每个样本数据形式为(图像,问题,样本标签)。例如,样本数据为(小狗图像,图像中是否包括小狗,图像包括小狗),在本实施例中,每次从样本数据集中选取的样本数据都不相同。
42.步骤s102:将对应样本数据输入当前视觉问答网络模型,输出第一预测结果。
43.在本实施例中,预先构建视觉问答网络模型,本实施例并不限制视觉问答网络模型的网络结构。本实施例并不限制视觉问答网络模型的网络结构,例如cnn(convolutiona lneura lnetwork,卷积神经网络)、dnn(deepneura lnetworks,深度神经网络)、lstm(long short-term memory,长期短期记忆模型)、resnet((residua lnetworks,残差网络)等等
44.示例性地,参阅图2,图2是一示例性实施例示出的视觉问答网络模型的结构图,如图2所示,在本实施例中,视觉问答网络模型包括视觉特征提取模块、自然语言特征处理模块、多模态信息融合模块以及视觉问答模块。其中,视觉特征提取模块用于提取样本数据的图像特征,自然语言特征处理模块用于提取样本数据的文本特征,多模态信息融合模块用于将图片特征和文本特征进行融合,得到融合特征,深度挖掘文本与图像之间的对应关系,以图像的内容来指导答案的输出。视觉问答模块用于接收融合特征,并基于融合特征输出样本数据对应的视觉问答答案。
45.在本实施例中,将对应样本数据输入当前视觉问答网络模型,输出第一预测结果,视觉问答网络模型输出的是关于视觉问答任务答案的分布函数,第一预测结果包括多个对应样本数据的文本样本可能的答案,以及每个可能的答案对应的置信度。例如,对应样本数据为(图像,“图像是否为一棵树?”,“图像为一棵树”),则第一预测结果为(图像为一棵树,60%;图像不为一颗树,20%;图像为一只狗,10%;图像为一只猫;10%)。
46.在本实施例中,当前视觉问答网络模型是指在模型训练过程中,由上一次迭代更新的得到的具有与当前迭代时间点相互适应的特定模型参数的视觉问答网络模型。
47.步骤s103:将对抗样本数据输入当前视觉问答网络模型,输出第二预测结果。
48.将对抗样本数据输入当前视觉问答网络模型,输出第二预测结果,第二预测结果包括多个对抗样本数据的文本样本可能的答案,以及每个可能的答案对应的置信度。例如,对抗样本数据为(图像,“图像是否为一株草?”,“图像为一棵树”),则第二预测结果为(图像为一株草,50%;图像为一颗树,30%;图像为一只狗,10%;图像为一只猫;10%)。
49.在本实施例中,视觉问答网络模型在训练的过程中,随着迭代训练次数的增加,第一预测结果和第二预测结果的相似程度越来越高。
50.步骤s104:计算第一预测结果和第二预测结果之间的kl散度,以及计算第一预测结果和对应样本数据的样本标签之间的损失值。
51.kl散度(kullback-leiblerdivergence,kld)又称为相对熵(relative entropy,re)或者信息散度(information divergence,id),是两个概率分布间差异的非对称性度量。在信息理论中,相对熵等价于两个概率分布的信息熵(shannon entropy)的差值。
52.计算第一预测结果和第二预测结果之间的kl散度的公式如下:
[0053][0054]
其中,为第一预测结果,为第二预测结果,n是样本数据的数目,m是可能的答案数目,yi是xi对应的样本标签。
[0055]
在本实施例中,本实施例通过控制第一预测结果和第二预测结果之间的kl散度,也即利用第一预测结果去拟合第二预测结果,使得第二预测结果与第一预测结果相似度更
高。
[0056]
示例性地,计算第一预测结果和第二预测结果之间的前向kl散度和后向kl散度,将前向kl散度和后向kl散度之和作为kl散度。
[0057]
在本实施例中,前向kl散度为d
kl
(p2||p1),后向kl散度为d
kl
(p1||p2),本实施例将前向kl散度和后向kl散度之和作为kl散度,通过控制kl散度,能够加快视觉问答网络模型的迭代速度。
[0058]
本实施例将样本数据对应的对抗样本数据输入当前视觉问答网络模型,使得对抗样本数据参与视觉问答网络模型的训练过程,通过控制第一预测结果和第二预测结果之间的kl散度使其衡量原始样本和对抗样本之间的差距,充分学习对抗样本数据的特征,能够提高视觉问答网络模型的鲁棒性。
[0059]
可以理解的是,本实施例也不对损失函数的种类进行限制,例如,均方差损失(mean squared loss,msl)、平均绝对误差损失(mean absolute error loss,mael)、分位数损失(quantile loss,ql)、交叉熵损失函数(cross entropy loss,cel)等。
[0060]
示例性地,本实施例为视觉问答网络模型设置交叉熵作为损失函数,定义如下:
[0061][0062]
其中,n表示样本数据的数目,m是样本数据对应的可能的答案数目,xi表示样本数据,yi是样本数据xi对应的样本标签,为视觉问答网络模型输出的样本数据xi的预测值。
[0063]
在本实施例中,
[0064][0065]
本实施例通过控制第一预测结果和对应样本数据的样本标签之间的损失值的大小,使得视觉问答网络模型能够准确辨别图像样本中的目标类别,且能够基于识别出来的目标类别准确回答文本样本的问题。另外,通过控制第一预测结果和第二预测结果之间的kl散度使得视觉问答网络模型不但能够学习到如何区分不同的类别,还能够使其衡量原始样本和对抗样本之间的差距,充分学习对抗样本数据的特征,能够提高视觉问答网络模型的鲁棒性。
[0066]
步骤s105:判断kl散度与损失值之间的和值是否小于或等于预设阈值,若判断为否,则跳转至从样本数据集中选取一个样本数据,并生成对应样本数据的对抗样本数据的步骤,若判断为是,则输出最新的视觉问答网络模型。
[0067]
在本实施例中,预设阈值为预先设置的针对视觉问答网络模型进行迭代训练的结束控制条件,若判断kl散度与损失值之间的和值小于或等于预设阈值,说明当前视觉问答网络模型的鲁棒性满足预设要求,此时需跳出模型训练进程,并输出训练好的视觉问答网络模型。反之,若判断kl散度与损失值之间的和值大于预设阈值,说明当前视觉问答网络模型的鲁棒性不满足预设要求,此时跳转至从样本数据集中选取一个样本数据,并生成对应样本数据的对抗样本数据的步骤,从样本数据集再次选取样本数据进行模型训练。
[0068]
本实施例提供的视觉问答网络模型的训练方法在视觉问答网络模型的训练过程
中,将样本数据对应的对抗样本数据输入当前视觉问答网络模型,使得对抗样本数据参与视觉问答网络模型的训练过程,通过控制第一预测结果和对应样本数据的样本标签之间的损失值的大小,使得视觉问答网络模型能够准确辨别图像样本中的目标类别,且能够基于识别出来的目标类别准确回答文本样本的问题。另外,通过控制第一预测结果和第二预测结果之间的kl散度使得视觉问答网络模型不但能够学习到如何区分不同的类别,还能够使其衡量原始样本和对抗样本之间的差距,充分学习对抗样本数据的特征,能够提高视觉问答网络模型的鲁棒性。
[0069]
参阅图3,图3是图1所示实施例中步骤s101一示例性实施例的流程示意图,如图3所示,步骤s101包括步骤s201-步骤203,详细叙述如下:
[0070]
步骤s201:基于高斯分布对对应样本数据进行随机扰动,得到样本扰动数据。
[0071]
示例性地,本实施例基于以下公式对样本数据进行随机扰动,得到样本扰动数据:
[0072]
x

=x+α
·
sign(n(od,id))
[0073]
其中,x

为样本扰动数据,α为随机值,sign()为符号函数,n(od,id)为高斯分布,该高斯分布的均值为维度为d的零向量,方差为维度为d的单位向量。
[0074]
在本实施例中,在生成对抗样本数据时给在样本数据增加一个较小的随机扰动,这有助于避免梯度mask的防御策略。为了避免这种特殊的梯度mask情况,通过引入一个随机(random)扰动来修改样本数据,例如,该随机扰动从多元高斯分布中进行采样。
[0075]
步骤s202:计算损失函数关于样本扰动数据的梯度。
[0076]
示例性地,基于以下公式计算损失函数关于样本扰动数据的梯度g:
[0077][0078]
其中,j(x

,y
true
)为损失函数,为求梯度符号,y
true
表示对应样本数据的样本标签,x

为样本扰动数据。
[0079]
步骤s203:基于梯度与样本扰动数据确定对抗样本数据。
[0080]
示例性地,本实施例基于以下公式确定对抗样本数据x
adv

[0081][0082]
其中,ε为预先设置的最大对抗性扰动值,α《ε。
[0083]
参阅图4,图4是图1所示实施例中步骤s101一示例性实施例的流程示意图,如图4所示,步骤s101包括步骤s301-步骤302,详细叙述如下:
[0084]
步骤s301:生成文本样本的对抗文本样本。
[0085]
在本实施例中,对应样本数据包括图像样本和文本样本。
[0086]
本技术发明人经过长期研究发现,现有研究人员在对模型进行对抗训练时,大多只会考虑到对样本数据整体进行扰动,并基于扰动的样本数据对模型进行训练,从而使得模型具备抗干扰能力。本实施例考虑到对于vqa模型而言,输入数据包括图像模态和文本模态,若对样本数据整体进行干扰训练,则存在一定漏洞,即攻击者存在只对样本数据的局部内容进行干扰的情况,在本实施例中,单独对文本样本进行对抗干扰,使得视觉问答网络模型在样本数据的文本样本被干扰的情况下能够准确识别干扰情况,避免输出置信度较高的错误答案。
[0087]
本实施例可以基于图3所示实施例中步骤s201至步骤s203的方法生成文本样本的对抗文本样本,在此不做具体限定。
[0088]
步骤s302:将对抗文本样本和图像样本作为对抗样本数据。
[0089]
在本实施例中,将对抗文本样本和图像样本作为对抗样本数据,使得对抗样本数据与对应样本数据之间存在一部分相同的信息,也即,本实施例利用针对文本模态存在局部扰动的对抗样本数据对视觉问答网络模型进行训练,使得训练好的视觉问答网络模型能够识别针对文本模态数据进行的扰动,提高视觉问答网络模型在外部干扰的情况下的鲁棒性。
[0090]
参阅图5,图5是图1所示实施例中步骤s101一示例性实施例的流程示意图,如图5所示,步骤s101包括步骤s401-步骤402,详细叙述如下:
[0091]
步骤s401:生成图像样本的对抗图像样本。
[0092]
在本实施例中,对应样本数据包括图像样本和文本样本,本实施例为应对攻击者存在只对样本数据的局部内容进行干扰的情况,单独对图像样本进行对抗干扰,使得视觉问答网络模型在样本数据的图像样本被干扰的情况下能够准确识别干扰情况,避免输出置信度较高的错误答案。
[0093]
示例性地,本实施例可以基于图3所示实施例中步骤s201至步骤s203的方法生成文本样本的对抗文本样本,在此不做具体限定。
[0094]
步骤s402:将对抗图像样本和文本样本作为对抗样本数据。
[0095]
在本实施例中,将对抗图像样本和文本样本作为对抗样本数据,使得对抗样本数据与对应样本数据之间存在一部分相同的信息,也即,对抗样本数据与对应样本数据都存在文本样本这一信息,而上述两者包括的图像数据不同。
[0096]
本实施例从样本数据包括的图像样本这一单模态入手对视觉问答网络模型进行干扰训练,使得经过训练之后的视觉问答网络模型能够识别针对图像这一单模态的干扰数据,使得训练好的视觉问答网络模型能够识别针对图像模态数据进行的扰动,提高视觉问答网络模型在外部干扰的情况下的鲁棒性。
[0097]
参阅图6,图6是图1所示实施例中步骤s102一示例性实施例的流程示意图,如图6所示,步骤s102包括步骤s501-步骤503,详细叙述如下:
[0098]
步骤s501:获取对应样本数据的文本特征和图像特征。
[0099]
本技术发明人经过长期研究发现,现有的视觉问答网络模型存在以下问题:传统的vqa模型存在语言偏见的问题。即,现有的vqa模型,在算法层面,经常单纯通过对文本问题和答案的匹配关系来进行答案的预测,并未参考图片的信息。视觉问答是计算机视觉与自然语言处理相结合的交叉任务。在这一领域中,vqa模型给出的答案忽略图像信息,依赖问题与答案之间的表面相关性。
[0100]
例如,在训练集中,如果问题类别是“what color”的答案“红色”的比例占所有回答颜色的问题的比例较高,则在模型测试阶段,模型也倾向于将“what color”类别的答案预测为“red”而不去根据图片信息得到真实的结果。上述问题使得目前主流模型的泛化能力不强。
[0101]
为解决语言偏见的问题,在本实施例中,样本数据包括文本样本和图像样本,分别提取文本样本对应的文本特征以及图像样本对应的图像特征。例如,样本数据为(包括两个
人和一只狗的图像、“上述图像中包括哪些生物?”),其中,该样本数据的“包括两个人和一只狗的图像”这一元素为图像样本,“上述图像中包括哪些生物?”这一元素为文本样本。
[0102]
可以理解的是,本实施例可以利用机器学习的方法提取文本特征和图像特征,示例性地,基于自上而下注意力机制构建图像特征特征提取模型,其中,图像特征特征提取模型的网络结构为以cnn为基础的改进的yolo(you only look once)目标检测模型。yolo算法指只需要浏览一次就可以识别出图像中的物体的类别和位置。相比于其他目标检测算法,yolo算法不需要提前找到可能存在目标的region。
[0103]
示例性地,基于自上而下注意力机制构建文本特征提取模型,其中,文本特征提取模型的网络结构为由word embedding(词嵌入)和以rnn为基础的gru模型,word embedding通过词向量来计算文本特征,gru模型的作用为将样本数据包括的问题文本进行编码处理。
[0104]
注意力机制(attention mechanism,am)可以使得神经网络具备专注于其输入(或特征)子集的能力:选择特定的输入。注意力可以应用于任何类型的输入而不管其形状如何。在计算能力有限情况下,注意力机制是解决信息超载问题的主要手段的一种资源分配方案,将计算资源分配给更重要的任务。注意力一般分为两种:一种是自上而下的有意识的注意力,称为聚焦式注意力,聚焦式注意力是指有预定目的、依赖任务的、主动有意识地聚焦于某一对象的注意力;另一种是自下而上的无意识的注意力,称为基于显著性的注意力。基于显著性的注意力是由外界刺激驱动的注意,不需要主动干预,也和任务无关。
[0105]
步骤s502:将文本特征和图像特征进行融合,得到融合特征。
[0106]
特征融合是将多个特征融合到一起的过程,目前存在的特征融合算法大体上可以分为如下三类:一种是简单的特征组合,即将所有的特征向量,按照串行或者并行的方法组合在一起,构成新的特征向量,第二种是特征选择,即从新组合的特征向量中,对应的每一维数据中都选择出一个对分类最优的数据,最后把选择出来的数据组成新的特征,最后一种是特征变换,即将所有的特征向量放在一起,再使用一定的数学方法变换为一种全新的特征。
[0107]
可见,融合特征中包含有与各个分量特征的相关特征信息,也即包含有与图像特征的信息以及与文本特征的信息,实施例通过将样本数据的图像特征和文本特征进行融合,深度挖掘文本样本与图像样本之间的对应关系,以图像样本的内容来指导答案的输出。
[0108]
步骤s503:将所融合特征输入当前视觉问答网络模型,输出第一预测结果。
[0109]
在本实施例中,融合特征包括文本特征和图像特征,充分利用了图像样本信息进行模型训练,能够避免单纯通过对文本问题和答案的匹配关系来进行答案的预测,进而造成语言偏见问题。
[0110]
示例性地,本实施例构建的视觉问答网络模型可以包括文本特征提取模块和头像特征提取模块,其中,文本特征提取模块用于提取文本样本的文本特征,图像特征提取模块用于提取图像样本的图像特征。
[0111]
参阅图7,图7是本技术一示例性实施例示出的视觉问答方法的流程图,如图7所示,本实施例提供的视觉问答方法包括步骤601-步骤602。
[0112]
步骤601:接收视觉问答请求,视觉问答请求包括视觉问答数据。
[0113]
在本实施例中,视觉问答数据包括相互匹配的文本数据和图像数据,例如,视觉问答数据为(背景为红色的图像,“上述图像的背景为红色还是蓝色?”),其中,文本数据为“上
述图像的背景为红色还是蓝色?”,图像数据为“背景为红色的图像”。
[0114]
本实施例提供的视觉问答方法可以应用于多个应用场景,如帮助盲人与客观世界进行交互,吸引消费者在线购物,用图像来吸引学习者进行教育服务,帮助分析师在监管数据中概括视觉数据,自动驾驶,图片的智能处理,能自动解数学题的机器人老师,执行一些琐碎的任务比如“在公园中发现一张空的野餐桌”,在缺乏图像标注的情况下进行图像检索等。
[0115]
步骤602:响应于视觉问答请求,将视觉问答数据输入视觉问答网络模型,输出视觉问答数据对应的结果。
[0116]
在本实施例中,视觉问答网络模型为上述任意实施例示出的训练好的视觉问答网络模型。
[0117]
由于在在视觉问答网络模型的训练过程中,将样本数据对应的对抗样本数据输入当前视觉问答网络模型,使得对抗样本数据参与视觉问答网络模型的训练过程,通过控制第一预测结果和对应样本数据的样本标签之间的损失值的大小,使得视觉问答网络模型能够准确辨别图像样本中的目标类别,且能够基于识别出来的目标类别准确回答文本样本的问题。另外,通过控制第一预测结果和第二预测结果之间的kl散度使得视觉问答网络模型不但能够学习到如何区分不同的类别,还能够使其衡量原始样本和对抗样本之间的差距,充分学习对抗样本数据的特征,能够提高视觉问答网络模型的鲁棒性。本实施例响应于视觉问答请求,将视觉问答数据输入上述训练好的视觉问答网络模型,输出视觉问答数据对应的结果更加准确。
[0118]
参阅图8,图8是本技术一示例性实施例示出的视觉问答网络模型的训练装置的框图,如图8所示,视觉问答网络模型的训练装置700包括生成模块701、第一输入模块702、第二输入模块703、计算模块704以及跳转模块705。
[0119]
其中,生成模块701用于从样本数据集中选取一个样本数据,并生成对应样本数据的对抗样本数据;第一输入模块702用于将对应样本数据输入当前视觉问答网络模型,输出第一预测结果;第二输入模块703用于将对抗样本数据输入当前视觉问答网络模型,输出第二预测结果;计算模块704用于计算第一预测结果和第二预测结果之间的kl散度,以及计算第一预测结果和对应样本数据的样本标签之间的损失值;跳转模块705用于判断kl散度与损失值之间的和值是否小于或等于预设阈值,若判断为否,则跳转至从样本数据集中选取一个样本数据,并生成对应样本数据的对抗样本数据的步骤,若判断为是,则输出最新的视觉问答网络模型。
[0120]
在另一示例性实施例中,生成模块701包括第一生产单元和第一组合单元,第一生成单元用于生成文本样本的对抗文本样本,第一组合单元用于将对抗文本样本和图像样本作为对抗样本数据。
[0121]
在另一示例性实施例中,生成模块701包括第二生产单元和第二组合单元,第二生成单元用于生成图像样本的对抗图像样本;第二组合单元用于将对抗图像样本和文本样本作为对抗样本数据。
[0122]
在另一示例性实施例中,第一输入模块701包括获取单元、融合单元以及输入单元,其中,获取单元用于获取对应样本数据的文本特征和图像特征;融合单元用于将文本特征和图像特征进行融合,得到融合特征;输入单元用于将所融合特征输入当前视觉问答网
络模型,输出第一预测结果。
[0123]
在另一示例性实施例中,生成模块701包括随机扰动单元、计算单元和确定单元,其中,随机扰动单元用于基于高斯分布为对应样本数据进行随机扰动,得到样本扰动数据;计算单元用于计算损失函数关于样本扰动数据的梯度;确定单元用于基于梯度与样本扰动数据确定对抗样本数据。
[0124]
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
[0125]
在另一示例性实施例中,本技术提供一种电子设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前的视觉问答网络模型的训练方法。在本实施例中,电子设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等。
[0126]
图9示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
[0127]
需要说明的是,图9示出的电子设备的计算机系统1000仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0128]
如图9所示,计算机系统1000包括中央处理单元(central processing unit,cpu)1001,其可以根据存储在只读存储器(read-only memory,rom)1002中的程序或者从存储部分1008加载到随机访问存储器(random access memory,ram)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中的信息推荐方法。在ram 1003中,还存储有系统操作所需的各种程序和数据。cpu 1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(input/output,i/o)接口1005也连接至总线1004。
[0129]
以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
[0130]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(cpu)1001执行时,执行本技术的系统中限定的各种功能。
[0131]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器
(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0132]
可以理解的是,在本技术的具体实施方式中,涉及到用户信息***等相关的数据,当本技术以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0133]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0134]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0135]
本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前实施例中任一项的视觉问答网络模型的训练方法。
[0136]
本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的视觉问答网络模型的训练方法。
[0137]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任
意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0138]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0139]
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0140]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0141]
上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1