CN110222578B - 对抗测试看图说话系统的方法和装置 - Google Patents

对抗测试看图说话系统的方法和装置 Download PDF

Info

Publication number
CN110222578B
CN110222578B CN201910381832.5A CN201910381832A CN110222578B CN 110222578 B CN110222578 B CN 110222578B CN 201910381832 A CN201910381832 A CN 201910381832A CN 110222578 B CN110222578 B CN 110222578B
Authority
CN
China
Prior art keywords
word
probability
picture
talking
combination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910381832.5A
Other languages
English (en)
Other versions
CN110222578A (zh
Inventor
吴保元
许焱
樊艳波
张勇
刘威
沈复民
申恒涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910381832.5A priority Critical patent/CN110222578B/zh
Publication of CN110222578A publication Critical patent/CN110222578A/zh
Application granted granted Critical
Publication of CN110222578B publication Critical patent/CN110222578B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Image Analysis (AREA)
  • Machine Translation (AREA)

Abstract

本公开提供了一种对抗测试看图说话系统的方法和相关装置。该方法包括:构造概率对数函数;将所述概率对数函数分解成第一函数项和第二函数项;为第二函数项指定对抗噪声,求解第二函数项最小时的非预定观测位置出现的词组合的概率,并将解出的非预定观测位置出现的词组合的概率代入第一函数项,求解第一函数项最大时的对抗噪声,反复进行迭代,直到满足迭代终止条件;将迭代后得到的对抗噪声叠加到所述看图说话系统要识别的图片上,以期望所述看图说话系统识别出的语句的预定观测位置出现指定的词。本公开实施例不但能够使看图说话系统生成的图像描述语句含有指定的词,还能够指定这些词出现的位置,即在指定的位置出现指定的词。

Description

对抗测试看图说话系统的方法和装置
技术领域
本公开涉及看图说话领域,具体涉及一种对抗测试看图说话系统的方 法、装置、对抗测试组件和介质。
背景技术
看图说话系统是这样一种系统,它利用机器学习的原理,当将图片输 入到该系统后,该系统就会识别图片的内容,输出解说图的语句,或说出 解说图的话。看图说话系统对于人工智能机器人解析图片和视频等具有重 大的意义。对抗测试看图说话系统是指对看图说话系统要识别的图片加噪 声,干扰看图说话系统的识别,使之输出与图片内容不符的解析语句或语 音,甚至让其解析出对抗测试者想要其输出的语句或语音,从而测试出看图说话系统的使用效果是否达到预期,并在不达到预期时改进看图说话系 统。
目前,对抗测试看图说话系统的技术只有Show-And-Fool。这种技术提 供了两种类型的对抗测试,分别是对整句话的对抗测试(targeted captions)和针对句子中关键词的对抗测试(targeted keywords)。 Show-And-Fool对句子中关键词对抗测试仅仅是要求生成的图像描述语句 中含有指定的关键词,但是无法指定其出现的位置。
发明内容
本公开的一个目的在于提出一种对抗测试看图说话系统的方法、装置、 对抗测试组件和介质,它不但能够使看图说话系统生成的图像描述语句含 有指定的词,还能够指定这些词出现的位置,即在指定的位置出现指定的 词。
根据本公开实施例的一方面,公开了一种对抗测试看图说话系统的方 法,所述方法包括:
构造概率对数函数,所述概率对数函数将在看图说话系统要识别的图 片上将要叠加的对抗噪声作为自变量,基于所述看图说话系统输出语句在 预定观测位置出现的词的组合为预定观测词组合的概率的对数构造因变 量;
将所述概率对数函数分解成第一函数项和第二函数项,所述第一函数 项和第二函数项都是所述将要叠加的对抗噪声、以及所述看图说话系统输 出语句在非预定观测位置出现的词组合的概率的函数;
为第二函数项指定对抗噪声,求解第二函数项最小时的非预定观测位 置出现的词组合的概率,并将解出的非预定观测位置出现的词组合的概率 代入第一函数项,求解第一函数项最大时的对抗噪声,作为为第二函数项 指定的对抗噪声,代替之前为第二函数项指定的对抗噪声,进行下一轮迭 代,直至满足迭代终止条件;
将迭代后得到的对抗噪声叠加到所述看图说话系统要识别的图片上, 以期望所述看图说话系统识别出的语句的预定观测位置出现指定的词。
在一个实施例中,所述因变量为所述看图说话系统输出语句在预定观 测位置出现的词的组合为预定观测词组合的概率的对数减去所述对抗噪声 的二范数的平方的预定比例的差。
在一个实施例中,所述第一函数项为在非预定观测位置出现的所有不 同词组合的情况下的第一子函数的和减去所述对抗噪声的二范数的平方的 预定比例的差,所述第一子函数通过以下方式构造:
构造给定将要叠加的对抗噪声时所述看图说话系统输出语句在预定观 测位置出现的词的组合、以及所述看图说话系统输出语句在非预定观测位 置出现的不同词组合的联合概率;
将所述联合概率除以所述看图说话系统输出语句在非预定观测位置出 现的词组合的概率,得到的商求对数;
用得到的对数乘以所述看图说话系统输出语句在非预定观测位置出现 的词组合的概率。
在一个实施例中,所述第二函数项为第一和与第二和的差,所述第一 和为在非预定观测位置出现的所有不同词组合的情况下的第二子函数的 和,所述第二和为在非预定观测位置出现的所有不同词组合的情况下的第 三子函数的和,所述第二子函数为所述看图说话系统输出语句在非预定观 测位置出现的词组合的概率的对数乘以所述看图说话系统输出语句在非预 定观测位置出现的词组合的概率,所述第三子函数为给定将要叠加的对抗 噪声时所述看图说话系统输出语句在预定观测位置出现的词的组合、以及 所述看图说话系统输出语句在非预定观测位置出现的不同词组合的联合概 率乘以所述看图说话系统输出语句在非预定观测位置出现的词组合的概 率。
在一个实施例中,所述求解第二函数项最小时的非预定观测位置出现 的词组合的概率,包括:
对第二函数项求导数,该导数中含有所述看图说话系统输出语句在非 预定观测位置中的任一个观测位置上出现的词是词典中每个候选词的概 率;
令所述导数等于0,求出所述看图说话系统输出语句在一个位置出现的 词是词典中一个词的概率,从而得到所述看图说话系统输出语句在每一个 非预定观测位置出现的词是所述预定观测词组合中的相应词的概率;
将所述看图说话系统输出语句在每一个非预定观测位置出现的词是所 述预定观测词组合中的相应词的概率相乘,得到第二函数项最小时的非预 定观测位置出现的词组合的概率。
在一个实施例中,所述令所述导数等于0,求出所述看图说话系统输出 语句在一个位置出现的词是词典中一个词的概率,从而得到所述看图说话 系统输出语句在每一个非预定观测位置出现的词是所述预定观测词组合中 的相应词的概率,包括:
令所述导数等于0,求出所述看图说话系统输出语句在一个位置出现的 词是词典中一个词的概率;
将所述看图说话系统输出语句在一个位置出现的词是词典中一个词的 概率归一化,所述归一化通过将所述看图说话系统输出语句在该位置出现 的词是该词的概率除以所述看图说话系统输出语句在该位置出现的词是词 典中各词的概率的和实现;
基于归一化的所述看图说话系统输出语句在一个位置出现的词是词典 中一个词的概率,确定所述看图说话系统输出语句在每一个非预定观测位 置出现的词是所述预定观测词组合中的相应词的概率。
在一个实施例中,所述求解第一函数项最大时的对抗噪声,包括:通 过深度神经网络的梯度下降法,求解所述对抗噪声。
在一个实施例中,所述迭代终止条件包括以下中的至少一个条件:
当前轮迭代中解出的对抗噪声与上一轮迭代中解出的对抗噪声的差值 绝对值小于预定对抗噪声差值绝对值阈值;
当前轮迭代中解出的所述看图说话系统输出语句在非预定观测位置出 现的词组合的概率与上一轮迭代中解出的所述看图说话系统输出语句在非 预定观测位置出现的词组合的概率的差值绝对值小于预定词组合概率差值 绝对值阈值。
在一个实施例中,所述对抗噪声为噪声矩阵,所述噪声矩阵的每一个 元素对应于看图说话系统要识别的图片上的一个像素上要叠加的干扰值,
构造的所述概率对数函数具有如下约束条件:看图说话系统要识别的 图片上的每个像素值加上所述噪声矩阵的相应位置的元素后,取值在【0,1】 中。
在一个实施例中,在构造概率对数函数之前,所述方法还包括:
从看图说话系统的验证图片集中取出多个对抗测试对象图片;
对于每个对抗测试对象图片,在所述验证图片集中选取混淆依据图片;
在混淆依据图片对应的语句上的预定观测位置上取词,取出的词的组 合作为预定观测词组合,取出的对抗测试对象图片作为看图说话系统要识 别的图片;
在将迭代后得到的对抗噪声叠加到所述看图说话系统要识别的图片 上,以期望所述看图说话系统识别出的语句的预定观测位置出现指定的词 之后,所述方法还包括:
将从所述看图说话系统输出的语句的预定观测位置上提取的词的组合 与所述预定观测词组合进行比对,获得验证指标;
利用所述多个对抗测试对象图片的所述验证指标,验证对抗测试看图 说话系统的效果。
在一个实施例中,所述验证指标是命中率,其中,如果从所述看图说 话系统输出的语句的预定观测位置上提取的词的组合与所述预定观测词组 合相同,则命中率=1;反之,则命中率=0;
所述利用所述多个对抗测试对象图片的所述验证指标,验证对抗测试 看图说话系统的效果,包括:将所述多个对抗测试对象图片的命中率取平 均,得到平均命中率,如果平均命中率大于预定平均命中率阈值,则验证 成功。
在一个实施例中,所述如果平均命中率大于预定平均命中率阈值,则 验证成功,包括:
如果平均命中率大于预定平均命中率阈值,获取叠加在所述多个对抗 测试对象图片的每一个上的对抗噪声的二范数;
计算叠加在所述多个对抗测试对象图片上的对抗噪声的二范数的平均 值;
如果所述二范数的平均值小于预定二范数平均值阈值,则验证成功。
在一个实施例中,所述验证指标是精准率,其中,所述精准率为从所 述看图说话系统输出的语句的预定观测位置上提取的词与所述预定观测词 组合中相应位置上的词相同的个数除以从所述看图说话系统输出的语句的 预定观测位置上提取的词的总数;
所述利用所述多个对抗测试对象图片的所述验证指标,验证对抗测试 看图说话系统的效果,包括:将所述多个对抗测试对象图片的精准率取平 均,得到平均精准率,如果平均精准率大于预定平均精准率阈值,则验证 成功。
在一个实施例中,所述如果平均精准率大于预定平均精准率阈值,则 验证成功,包括:
如果平均精准率大于预定平均精准率阈值,获取叠加在所述多个对抗 测试对象图片的每一个上的对抗噪声的二范数;
计算叠加在所述多个对抗测试对象图片上的对抗噪声的二范数的平均 值;
如果所述二范数的平均值小于预定二范数平均值阈值,则验证成功。
在一个实施例中,所述验证指标是召回率,其中,所述召回率为从所 述看图说话系统输出的语句的预定观测位置上提取的词与所述预定观测词 组合中相应位置上的词相同的个数除以述预定观测词组合的词总数;
所述利用所述多个对抗测试对象图片的所述验证指标,验证对抗测试 看图说话系统的效果,包括:将所述多个对抗测试对象图片的召回率取平 均,得到平均召回率,如果平均召回率大于预定平均召回率阈值,则验证 成功。
在一个实施例中,所述如果平均召回率大于预定平均召回率阈值,则 验证成功,包括:
如果平均召回率大于预定平均召回率阈值,获取叠加在所述多个对抗 测试对象图片的每一个上的对抗噪声的二范数;
计算叠加在所述多个对抗测试对象图片上的对抗噪声的二范数的平均 值;
如果所述二范数的平均值小于预定二范数平均值阈值,则验证成功。
在一个实施例中,所述在混淆依据图片对应的语句上的预定观测位置 上取词,取出的词的组合作为预定观测词组合,包括:
在混淆依据图片对应的语句上分别取预定的不同数目个观测位置上的 词,分别形成第一多个预定观测词组合;
在混淆依据图片对应的语句上分别取预定的不同数目个非观测位置以 外的位置上的词,分别形成第二多个预定观测词组合;
所述将从所述看图说话系统输出的语句的预定观测位置上提取的词的 组合与所述预定观测词组合进行比对,获得验证指标,包括:
将从所述看图说话系统输出的语句的预定的不同数目个观测位置上提 取的词的组合与所述第一多个预定观测词组合中相应的观测词组合进行比 对,获得多个第一验证指标;
将从所述看图说话系统输出的语句的预定的不同数目个非观测位置以 外的位置上提取的词的组合与所述第二多个预定观测词组合中相应的观测 词组合进行比对,获得多个第二验证指标;
在将从所述看图说话系统输出的语句的预定观测位置上提取的词的组 合与所述预定观测词组合进行比对,获得验证指标之后,所述方法还包括:
基于所述多个第一验证指标和对应的观测位置数目,确定所述验证指 标随观测位置数目的变化关系;
基于所述多个第二验证指标和对应的非观测位置数目,确定所述验证 指标随非观测位置数目的变化关系。
在一个实施例中,所述预定比例是多个预定比例;
所述构造概率对数函数,包括:分别构造在所述多个预定比例下各自 的概率对数函数;
所述将从所述看图说话系统输出的语句的预定观测位置上提取的词的 组合与所述预定观测词组合进行比对,获得验证指标,包括:将从所述多 个预定比例中的每一个预定比例下看图说话系统输出的语句的预定观测位 置上提取的词的组合与所述预定观测词组合进行比对,分别获得在多个预 定比例下各自的验证指标;
在将从所述看图说话系统输出的语句的预定观测位置上提取的词的组 合与所述预定观测词组合进行比对,获得验证指标之后,所述方法还包括:
基于所述多个预定比例和在所述多个预定比例下各自的验证指标,确 定所述验证指标随预定比例的变化关系。
在一个实施例中,所述看图说话系统是多个看图说话系统;
所述构造概率对数函数,包括:针对所述多个看图说话系统分别构造 与每个看图说话系统对应的概率对数函数;
所述将从所述看图说话系统输出的语句的预定观测位置上提取的词的 组合与所述预定观测词组合进行比对,获得验证指标,包括:将从所述多 个看图说话系统中每一个看图说话系统输出的语句的预定观测位置上提取 的词的组合与所述预定观测词组合进行分别比对,获得与每个看图说话系 统对应的验证指标;
在将从所述看图说话系统输出的语句的预定观测位置上提取的词的组 合与所述预定观测词组合进行比对,获得验证指标之后,所述方法还包括:
基于与每个看图说话系统对应的验证指标,对各看图说话系统进行排 序。
在一个实施例中,所述在混淆依据图片对应的语句上的预定观测位置 上取词,取出的词的组合作为预定观测词组合,包括:
在混淆依据图片对应的语句上取词序的倒序上不同顺序的词,取出的 词作为与不同顺序对应的预定观测词;
所述将从所述看图说话系统输出的语句的预定观测位置上提取的词的 组合与所述预定观测词组合进行比对,获得验证指标,包括:
将从所述看图说话系统输出的语句的取词序的倒序上不同顺序的词与 所述预定观测词进行比对,获得与不同顺序对应的验证指标;
在将从所述看图说话系统输出的语句的预定观测位置上提取的词的组 合与所述预定观测词组合进行比对,获得验证指标之后,所述方法还包括:
基于所述不同顺序和与不同顺序对应的验证指标,确定所述验证指标 随所述顺序的变化关系。
根据本公开的一方面,提供了一种对抗测试看图说话系统的装置,所 述方法包括:
概率对数函数构造单元,用于构造概率对数函数,所述概率对数函数 将在看图说话系统要识别的图片上将要叠加的对抗噪声作为自变量,基于 所述看图说话系统输出语句在预定观测位置出现的词的组合为预定观测词 组合的概率的对数构造因变量;
分解单元,用于将所述概率对数函数分解成第一函数项和第二函数项, 所述第一函数项和第二函数项都是所述将要叠加的对抗噪声、以及所述看 图说话系统输出语句在非预定观测位置出现的词组合的概率的函数;
迭代单元,用于为第二函数项指定对抗噪声,求解第二函数项最小时 的非预定观测位置出现的词组合的概率,并将解出的非预定观测位置出现 的词组合的概率代入第一函数项,求解第一函数项最大时的对抗噪声,作 为为第二函数项指定的对抗噪声,代替之前为第二函数项指定的对抗噪声, 进行下一轮迭代,直至满足迭代终止条件;
对抗噪声施加单元,用于将迭代后得到的对抗噪声叠加到所述看图说 话系统要识别的图片上,以期望所述看图说话系统识别出的语句的预定观 测位置出现指定的词。
根据本公开实施例的一方面,公开了一种对抗测试组件,包括:存储 器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令, 以执行如上所述的方法。
根据本公开实施例的一方面,公开了一种计算机程序介质,其上存储 有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使 计算机执行如上所述的方法。
本公开实施例中,是要找到要叠加在看图说话系统要识别的图片上 的对抗噪声,使所述看图说话系统识别出的语句的预定观测位置出现指定 的词。本公开实施例构造了一种概率对数函数,自变量是所述对抗噪声, 因变量基于所述看图说话系统输出语句在预定观测位置出现的词的组合为 预定观测词组合的概率的对数。这样,找到该对抗噪声,就变成了求解在 什么样的对抗噪声下该函数值最大的问题。为了求解在什么样的对抗噪声下该函数值最大,将所述概率对数函数分解成第一函数项和第二函数项, 所述第一函数项和第二函数项都是所述将要叠加的对抗噪声、以及所述看 图说话系统输出语句在非预定观测位置出现的词组合的概率的函数,而且 两项都是非负的。这样,通过让一个函数项最小,另一个函数项达到最大 的方式,让对抗噪声、以及所述看图说话系统输出语句在非预定观测位置 出现的词组合的概率这两个变量,在两个函数项中循环迭代的方式,解出 该概率对数函数值最大时的对抗噪声。即,为第二函数项指定对抗噪声, 求解第二函数项最小时的非预定观测位置出现的词组合的概率,并将解出 的非预定观测位置出现的词组合的概率代入第一函数项,求解第一函数项 最大时的对抗噪声,作为为第二函数项指定的对抗噪声,代替之前为第二 函数项指定的对抗噪声,进行下一轮迭代,直至满足迭代终止条件。这样, 通过以上方式找到了对抗测试看图说话系统所用的对抗噪声,使看图说话 系统生成的图像描述语句在指定的位置出现指定的词。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地 通过本公开的实践而习得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并 不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特 征及优点将变得更加显而易见。
图1示出了根据本公开一个实施例的对抗测试看图说话系统的方法应 用的体系构架图。
图2A-F示出了根据本公开一个实施例的对抗测试看图说话系统的方法 应用在对Show-Attend-and-Tell(SAT)看图说话系统进行对抗测试的具体 场景下出现的界面图。
图3示出了根据本公开一个实施例的对抗测试看图说话系统的方法的 流程图。
图4示出了根据本公开一个实施例的步骤230的具体流程图。
图5示出了根据本公开一个实施例的对抗测试看图说话系统的方法的 流程图。
图6示出了看图说话系统的通用结构图。
图7示出了根据本公开一个实施例的迭代求解对抗噪声和非预定观测 位置出现的词组合的概率的详细流程图。
图8A-B示出了根据本公开一个实施例的对Show-Attend-and-Tell(SAT) 看图说话系统进行对抗测试的效果展示对比图。
图9A示出了根据本公开一个实施例的命中数量、平均命中率随观测词 在看图说话系统输出的话中的顺序而变化的曲线图。
图9B示出了根据本公开一个实施例的在看图说话系统输出的整句话都 是观测词时,命中数量、平均命中率随整句话的词数而变化的曲线图。
图10示出了根据本公开一个实施例的对抗测试看图说话系统的装置的 框图。
图11示出了根据本公开一个实施例的对抗测试组件的硬件结构图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能 够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这 些示例实施方式使得本公开的描述将更加全面和完整,并将示例实施方式 的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解, 并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因 而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个 或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对 本公开的示例实施方式的充分理解。然而,本领域技术人员将意识到,可 以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以 采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知 结构、方法、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模 糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独 立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多 个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器 装置和/或微控制器装置中实现这些功能实体。
下面先参照图1描述一下本公开实施例所应用的体系构架。
如图1所示,根据本公开实施例的对抗测试看图说话系统的方法所应用 的体系构架包括对抗测试组件101和看图说话系统102。
看图说话系统102的定义在背景技术中已讨论。看图说话系统102可以 是一个单独的硬件设备,例如笔记本电脑、桌面电脑、车载终端、PDA、电 视终端、机器人终端等各种形式的终端或服务器,也可以作为云上的一个 节点,如一台云服务器。另外,看图说话系统102也可以由硬件设备上的一 部分实现,例如通过虚拟机的形式将一部分硬件设备上的资源划分给看图 说话系统102,其它资源留给其它用途。它也可以作为云服务器上的一部分功能实现。
对抗测试组件101是看图说话系统102的前置组件,是实现本公开实施 例的对抗测试看图说话系统的方法的主体。按照本公开实施例的对抗测试 看图说话系统的方法,开发该对抗测试组件101后,拦截待识别图片,放进 本公开实施例的对抗测试组件,由本公开实施例的对抗测试组件叠加对抗 噪声后,输入看图说话系统102,使所述看图说话系统识别出的语句的预定 观测位置出现指定的词。对抗测试组件101也可以是一个单独的硬件设备, 例如笔记本电脑、桌面电脑、车载终端、PDA、电视终端、机器人终端等各 种形式的终端。另外,对抗测试组件101也可以由硬件设备上的一部分实现, 例如通过虚拟机的形式将一部分硬件设备上的资源划分给对抗测试组件101,其它资源留给其它用途。在一个实施例中,对抗测试组件101、看图 说话系统102可以存在于一个硬件设备中,例如是同一硬件设备中的两台虚 拟机。
图7示出了通用的看图说话系统的原理构架图。目前通用的看图说话系 统一般都是CNN+RNN的串联结构。CNN即卷积神经网络(Convolutional Neural Network),是一类包含卷积计算且具有深度结构的前馈神经网络, 是深度学习的代表算法之一。RNN即循环神经网络,它是根据"人的认知是 基于过往的经验和记忆"这一观点提出的,它与CNN不同的是:它不仅考虑 前一时刻的输入,而且赋予了网络对前面的内容的一种记忆功能,即一个序 列当前的输出与前面的输出也有关,具体的表现形式为网络会对前面的信 息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接 而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻 隐藏层的输出。
如图7所示,看图说话系统由一个CNN后依次串联若干个RNN构成,RNN 的数目不定。从待识别的图片中识别出的句子有多少个词,RNN的数目就是 该词数加2。待识别的图片先输出CNN,由CNN产生一个输出结果。CNN的输 出结果输入给第一个RNN,由第一个RNN输出一个“开始符”,第一个RNN输 出的开始符输入给第二个RNN,由第二个RNN根据第一个RNN输出的结果和目 前已识别出的词来输出其预测的下一个词。由于第一个RNN输出的是“开始 符”,目前还没有识别出任何词,因此,第二个RNN输出的是识别出的句子 的第一个词,即词1。第二个RNN将识别出的“词1”输出给第三个RNN,目 前识别出的所有词为“词1”,第三个RNN根据这两个因素输出识别的第二 个词,即“词2”。第三个RNN将识别出的“词2”输出给第四个RNN,目前 识别出的所有词为“词1+词2”,第四个RNN根据这两个因素输出识别的第三个词,即“词3”,以此类推。第(N+1)个RNN输出的是识别出句子的第 N个词,即词N。第(N+1)个RNN将识别出的“词N”输出给第(N+2)个RNN, 目前识别出的所有词为“词1+词2+……+词N”,第(N+2)个RNN根据这两 个因素输出识别的下一个词是“结束符”,则识别完成。看图说明系统输 出的句子就是“词1+词2+……词N”。
图2A-F示出了根据本公开一个实施例的对抗测试看图说话系统的方法 应用在对Show-Attend-and-Tell(SAT)看图说话系统进行对抗测试的具体 场景下出现的界面图。目前三种比较主流的看图说话系统有 Show-Attend-and-Tell(SAT),self-criticalsequence training(SCST) 和Show-and-Tell(ST)系统。Show-Attend-and-Tell(SAT)是其中一种主流 的看图说话系统。
将如图2A所示的原始待识别图片输入Show-Attend-and-Tell(SAT)看 图说话系统。该图片上,有一个红白相间的飞机在天空中飞行。将该图片 输入Show-Attend-and-Tell(SAT)看图说话系统后, Show-Attend-and-Tell(SAT)看图说话系统输出如图2B的界面。在原始图 片的下面显示识别出的句子“A red and white airplane flying in thesky(有一个红白相间的飞机在天空中飞行)”。这时没有对抗测试时的情 况。
当应用本公开实施例的对抗测试看图说话系统的方法后,在待识别图 片上要施加的对抗噪声图片如图2C所示,期望看图说话系统识别出的语句 的整句话为“A baseballplayer is holding a bat on a field(一个棒 球运动员正在球场上拿着球拍)”。当将图2C所示的对抗噪声图片叠加在 图2A的原始待识别图片上后,输入Show-Attend-and-Tell(SAT)看图说话 系统,Show-Attend-and-Tell(SAT)看图说话系统输出图2D所示的界面。图2D上的图片是图2C所示的对抗噪声图片叠加在图2A的原始待识别图片 上后的结果。界面上显示“A baseball player is holding a bat on a field(一个棒球运动员正在球场上拿着球拍)”。即,明明图片上显示的仍 然是有一个红白相间的飞机在天空中飞行,经过本公开实施例的对抗测试, 识别成了一个棒球运动员正在球场上拿着球拍。
上面描述的是对识别成的句子的整句话进行对抗测试的情况。还有一 种情况更普遍,是期望所述看图说话系统识别出的语句的预定观测位置出 现指定的词。图2C和图2D所示的整句话对抗测试的情况只是这种普遍情 况的特例。在这种更普遍的情况下,在待识别图片上要施加的对抗噪声图 片如图2E所示,期望看图说话系统识别出的语句为“Abaseball player is ___a bat on__field”,其中未划横线的位置是预定观测位置,期望这 些位置出现该语句中相应位置的上述词。划横线的位置是隐藏位置,可以 出现任何词,不作限定。当将图2E所示的对抗噪声图片叠加在图2A的原 始待识别图片上后,输入Show-Attend-and-Tell(SAT)看图说话系统 Show-Attend-and-Tell(SAT)看图说话系统输出图2F所示的界面。图2F上 的图片是图2E所示的对抗噪声图片叠加在图2A的原始待识别图片上后的 结果。界面上显示“A baseball player is swing a bat on a field(一 个棒球运动员正在球场上拿着球拍)”。即,未划横线的那些位置,都出现 了指定的词。划横线的那些位置,出现的词不固定,有可能与对抗噪声图 片中相应位置的词相同,也可能不同。
如图3所示,根据本公开一个实施例,提供了一种对抗测试看图说话 系统的方法。该方法由图1中的对抗测试组件101执行。所述方法包括:
步骤210、构造概率对数函数,所述概率对数函数将在看图说话系统要 识别的图片上将要叠加的对抗噪声作为自变量,基于所述看图说话系统输 出语句在预定观测位置出现的词的组合为预定观测词组合的概率的对数构 造因变量;
步骤220、将所述概率对数函数分解成第一函数项和第二函数项,所述 第一函数项和第二函数项都是所述将要叠加的对抗噪声、以及所述看图说 话系统输出语句在非预定观测位置出现的词组合的概率的函数;
步骤230、为第二函数项指定对抗噪声,求解第二函数项最小时的非预 定观测位置出现的词组合的概率,并将解出的非预定观测位置出现的词组 合的概率代入第一函数项,求解第一函数项最大时的对抗噪声,作为为第 二函数项指定的对抗噪声,代替之前为第二函数项指定的对抗噪声,进行 下一轮迭代,直至满足迭代终止条件;
步骤240、将迭代后得到的对抗噪声叠加到所述看图说话系统要识别的 图片上,以期望所述看图说话系统识别出的语句的预定观测位置出现指定 的词。
下面分别对上述步骤进行详细描述。
在步骤210中,构造概率对数函数。
所述概率对数函数是将在看图说话系统要识别的图片上将要叠加的对 抗噪声作为自变量,基于所述看图说话系统输出语句在预定观测位置出现 的词的组合为预定观测词组合的概率的对数构造因变量的函数。
本公开实施例的目的是为了对抗测试看图说话系统,使其能在识别出 的语句的预定观测位置出现指定的词,其本质上是要找到一种噪声,使得 在识别出的语句的预定观测位置出现指定的词的概率最大。之所以取概率 的对数是由于在数学运算中,对数运算把乘法运算变成对数的加法,更易 于数学处理。
看图说话系统有许多内部参数,将这所有参数用θ表示。对抗测试的实 质是叠加一个对抗噪声图像,相当于在要识别的图片的每个像素上叠加一 个噪声元素,该噪声元素具有像素分量R、G、B的值。叠加了对抗噪声图 像后的要识别的图片可以表示为I=I0+∈∈[0,1]3×W×H,其中I0表示原始的图 片,其可以看作是该图片上每个像素的像素值形成的矩阵;∈表示要叠加的 对抗噪声,其是一个3×W×H的三维矩阵,W为矩阵的宽度,即原始图片宽 度方向上的像素个数,H为矩阵的宽度,即原始图片高度方向上的像素个数, 因此该三维矩阵一维表示像素分量R、G、B的值,一维表示原始图片宽度 方向上的像素个数,一维表示原始图片高度方向上的像素个数,R、G、B的 值的取值在【0,1】中;I表示叠加了对抗噪声后的要识别的图片。
假设看图说话系统对要识别的图片输出的描述语句为S,那么在要识别 的图片为I0、要叠加的对抗噪声为∈、看图说话系统的参数为θ的情况下, 对要识别的图片输出的描述语句为S的概率为:
Figure BDA0002053617170000151
其中,S={S1,...,St,...,SN}表示一组N个变量的序列,即描述语句S的第 一个词的位置用S1表示,描述语句S的第t个词的位置用St表示,描述语句 S的第N个词的位置用SN表示。S1,...,St,...,SN中的每一个的值都来自于一个
Figure BDA0002053617170000152
的候选集合,
Figure BDA0002053617170000153
是一个候选词的候选集合, 相当于一个词典,
Figure BDA0002053617170000161
对应着词典中词的顺序,S1,...,St,...,SN中的每一 个的值都是可以取词典中的任何词的。另外,S<t={S1,...,St-1},其表示当要 输出描述语句S的第t个词前,已经输出的描述语句S的词集合。当t=0时, 我们定义
Figure BDA0002053617170000162
看图说话系统每多输出一个词,看图说话系统输出的这句话的目前所有词的概率就等于看图说话系统输出的这句话的在当前词之前 的所有词的概率乘以在这句话的在当前词之前的所有词固定下来的情况下 输出的当前词是特定词的后验概率,因此,可以用上面的公式1计算在要 识别的图片为I0、要叠加的对抗噪声为∈、看图说话系统的参数为θ的情况 下,对要识别的图片输出的描述语句为S的概率。P(St|S<t,I0,∈;θ)表示看图 说话系统输出的描述语句的第t个词之前的(t-1)个词为S<t、要识别的图 片为I0、要叠加的对抗噪声为∈、看图说话系统的参数为θ的情况下输出的 第t个词是St的后验概率。为了简化,之后的描述中我们省略符号I0和θ。
期望所述看图说话系统输出语句在预定观测位置出现的词的组合为预 定观测词组合,其中预定观测位置是指看图说话系统输出的描述语句的若 干个词的位置,在一个实施例中,它可以用词序号来表示。例如,对于期 望看图说话系统识别出的语句为“Abaseball player is___a bat on__ field”,其中未划横线的位置是预定观测位置,用词序号表示为 “1,2,3,4,6,7,8,10”。预定观测词组合是在这些预定观测位置上期望出 现的词的组合。在上例中,预定观测词组合是“A baseball player is a bat on field”。
将所述看图说话系统输出语句在预定观测位置出现的词的组合为预定 观测词组合表示为
Figure BDA0002053617170000163
表示被观测到(observed)的预定观测位置。在上 例中可以取“1,2,3,4,6,7,8,10”中的值。上例中,
Figure BDA0002053617170000164
为“A baseball player is a bat on field”。将所述看图说话系统输出语句在预定观测 位置以外出现的词的组合表示为
Figure BDA0002053617170000171
H表示未被观测到(unobserved)的位 置,即隐藏的位置。在上例中可以取“5,9”中的值。上例中,
Figure BDA0002053617170000172
为划横线上的值。定义
Figure BDA0002053617170000173
其中N为看图说明系统输出的描述语句的词数。
Figure BDA0002053617170000174
其中St=st,St代表看图说话系统输出语句在
Figure BDA0002053617170000175
中一个t位 置上的词的抽象表示,而st则是看图说话系统输出语句在
Figure BDA0002053617170000176
中一个t位置上 的词的具体值(具体词),V是词典中词的集合,st∈V表示在看图说话系 统输出语句在
Figure BDA0002053617170000177
中一个t位置上的词的具体值可以取词典中的任一一个词。 输出语句在所有预定观测位置出现的词的组合即预定观测词组合,表示为
Figure BDA0002053617170000178
所述看图说话系统输出语句在预定观测位置以外出现的词 的组合
Figure BDA0002053617170000179
定义为
Figure BDA00020536171700001710
其中符号\表示“除 了”,即从整个集合中减掉一个子集,
Figure BDA00020536171700001711
表示从集合S中减掉子集
Figure BDA00020536171700001719
另外,在要叠加的对抗噪声为∈的情况下,所述看图说话系统输出语句在预 定观测位置出现的词的组合为
Figure BDA00020536171700001713
的后验概率
Figure BDA00020536171700001714
实际上可以表示为,在 要叠加的对抗噪声为∈的情况下,所述看图说话系统输出语句在预定观测位置出现的词的组合为
Figure BDA00020536171700001715
所述看图说话系统输出语句在非预定观测位置出 现的词的组合为
Figure BDA00020536171700001716
的联合概率在各不同
Figure BDA00020536171700001717
情况下的加和,即
Figure BDA00020536171700001718
所述概率对数函数是将在看图说话系统要识别的图片上将要叠加的对 抗噪声作为自变量,基于所述看图说话系统输出语句在预定观测位置出现 的词的组合为预定观测词组合的概率的对数构造因变量的函数。也就是说, 该因变量是基于所述看图说话系统输出语句在预定观测位置出现的词的组 合为预定观测词组合的概率的对数构造的,它不一定是所述概率的对数。 当然,在一个实施例中,它可以是所述概率的对数。
在一个最基本的实施例中,因变量就是所述看图说话系统输出语句在 预定观测位置出现的词的组合为预定观测词组合的概率的对数。这时,实 际上是用最大化对数边际似然准则的思想来学习对抗噪声,即求解让
Figure BDA0002053617170000181
最大时的∈。如上所述,本公开实施例本质上是要找到一种对 抗噪声,使得在识别出的语句的预定观测位置出现指定的词的概率最大, 而
Figure BDA0002053617170000182
正是在叠加的对抗噪声为∈的情况下,识别出的语句的预定观 测位置上的词的组合
Figure BDA0002053617170000183
为预定观测词组合
Figure BDA0002053617170000184
的概率。求此概率最大时的∈, 等同于求此概率的对数最大时的∈。对数运算把乘法运算变成对数的加法, 更易于数学处理。
在另一个稍复杂一些的实施例中,所述因变量为所述看图说话系统输 出语句在预定观测位置出现的词的组合为预定观测词组合的概率的对数减 去所述对抗噪声的二范数的平方的预定比例的差,即
Figure BDA0002053617170000185
如上 所述,
Figure BDA0002053617170000186
代表在叠加的对抗噪声为∈的情况下,识别出的语句的预定 观测位置上的词的组合
Figure BDA0002053617170000187
为预定观测词组合的概率的对数。‖∈‖2是对抗噪声 的二范数。对抗噪声的二范数是衡量对抗噪声的噪声水平的量度。该值越 小越好。由于
Figure BDA00020536171700001819
越大越好,‖∈‖2越小越好,因此,构造出因变量
Figure BDA0002053617170000189
其中λ为预定比例,叫做权衡参数。
Figure BDA00020536171700001810
为规范因子。 因此,该实施例的好处是,用
Figure BDA00020536171700001811
减去
Figure BDA00020536171700001820
可以考虑到噪声带来的 影响,追求达到对抗测试目标的同时,尽量让噪声更小。
构造完上述概率对数函数
Figure BDA00020536171700001813
后,就可以通过求解当
Figure BDA00020536171700001814
最大时的∈,来构造对抗测试用的对抗噪声∈,即
Figure BDA00020536171700001815
其中argmax∈()代表当()中的内容达到最大时的 ∈。由于如上所述,
Figure BDA00020536171700001816
上述
Figure BDA00020536171700001817
可 以表示成公式:
Figure BDA00020536171700001818
在步骤220中,将所述概率对数函数分解成第一函数项和第二函数项, 所述第一函数项和第二函数项都是所述将要叠加的对抗噪声、以及所述看 图说话系统输出语句在非预定观测位置出现的词组合的概率的函数。
由于公式2需要针对所有可能的
Figure BDA0002053617170000191
相加求和,要解决这个问题是非常 困难的。本公开实施例采取了这样一种策略,将所述概率对数函数分解成 第一函数项和第二函数项,所述第一函数项和第二函数项都是所述将要叠 加的对抗噪声、以及所述看图说话系统输出语句在非预定观测位置出现的 词组合的概率的函数,而且两项都是非负的。这样,通过让一个函数项最 小,另一个函数项达到最大的方式,让对抗噪声、以及所述看图说话系统输出语句在非预定观测位置出现的词组合的概率这两个变量,在两个函数 项中循环迭代的方式,解出该概率对数函数值最大时的对抗噪声。即,为 第二函数项指定对抗噪声,求解第二函数项最小时的非预定观测位置出现 的词组合的概率,并将解出的非预定观测位置出现的词组合的概率代入第 一函数项,求解第一函数项最大时的对抗噪声,作为为第二函数项指定的 对抗噪声,代替之前为第二函数项指定的对抗噪声,进行下一轮迭代,直 至满足迭代终止条件。
下面来讨论如何构造第一函数项和第二函数项。函数项是指函数中的 一项,将所有函数项相加得到所述函数。为了将概率对数函数分解成第一 和第二函数项,引入可分解的后验概率
Figure BDA0002053617170000192
来近似后验概率
Figure BDA0002053617170000193
Figure BDA0002053617170000194
表示在要叠加的对抗噪声为∈、所述看图说话系统输 出语句在预定观测位置出现的词组合为
Figure BDA0002053617170000195
的情况下,所述看图说话系统输 出语句在非预定观测位置出现的各种词组合的概率。
Figure BDA0002053617170000196
表示所述看图说 话系统输出语句在非预定观测位置出现的词组合的概率,q(St)表示所述看 图说话系统输出语句在其中一个非预定观测位置t出现的词的概率,将述 看图说话系统输出语句在每个非预定观测位置t出现的词的概率相乘,即
Figure BDA0002053617170000197
就能够得到所述看图说话系统输出语句在非预定观测位置出现的 词组合的概率,即
Figure BDA0002053617170000198
这是合乎逻辑的。然后,可以得到以下公式:
Figure BDA0002053617170000201
其中,
Figure BDA0002053617170000202
Figure BDA0002053617170000203
上述公式中,D1表示第一函数项,D2表示第二函数项,因此,将
Figure BDA0002053617170000204
这个概率对数函数分解成D1和D2,其中
Figure BDA0002053617170000205
其中
Figure BDA0002053617170000206
没有实际物理意义,其等于
Figure BDA0002053617170000207
是散度 符号,表示()中的内容的散度。设
Figure BDA0002053617170000208
E1为第一子函 数,则
Figure BDA0002053617170000209
即第一 函数项为在非预定观测位置出现的所有不同词组合
Figure BDA00020536171700002010
的情况下的第一子函 数E1的和减去所述对抗噪声的二范数的平方
Figure BDA00020536171700002011
的预定比例λ的差。由于
Figure BDA00020536171700002012
在一个实施例中,其可以这样构造:
构造给定将要叠加的对抗噪声∈时所述看图说话系统输出语句在预定 观测位置o出现的词的组合
Figure BDA00020536171700002013
以及所述看图说话系统输出语句在非预定 观测位置H出现的不同词组合
Figure BDA00020536171700002014
的联合概率
Figure BDA00020536171700002015
将所述联合概率
Figure BDA00020536171700002016
除以所述看图说话系统输出语句在非预定观 测位置H出现的词组合的概率
Figure BDA00020536171700002017
得到的商求对数,即
Figure BDA00020536171700002018
用得到的对数
Figure BDA00020536171700002019
乘以所述看图说话系统输出语句在非预定观 测位置H出现的词组合的概率
Figure BDA00020536171700002020
上述过程通过简单易行的方式构造了第一函数项。但是,本领域技术 人员理解,也可以不按照
Figure BDA00020536171700002021
构造第一函数项,只要第一 函数项是所述将要叠加的对抗噪声、以及所述看图说话系统输出语句在非 预定观测位置出现的词组合的概率的函数。
下面考查第二函数项
Figure BDA0002053617170000211
其中常量
Figure BDA0002053617170000212
在公式中忽略。忽略后,公式4变成
Figure BDA0002053617170000213
其中
Figure BDA0002053617170000214
T1为第一和,T2 为第二和。令E2表示第二子函数,
Figure BDA0002053617170000215
这样
Figure BDA0002053617170000216
即所 述第一和T1为在非预定观测位置出现的所有不同词组合
Figure BDA0002053617170000217
的情况下的第二 子函数E2的和
Figure BDA0002053617170000218
这里的第二子函数E2为所述看图说话系统输出语句 在非预定观测位置出现的词组合
Figure BDA0002053617170000219
的概率的对数
Figure BDA00020536171700002110
乘以所述看图说话 系统输出语句在非预定观测位置出现的词组合
Figure BDA00020536171700002111
的概率
Figure BDA00020536171700002112
令E3表示 第三子函数,
Figure BDA00020536171700002113
这样,
Figure BDA00020536171700002114
即所述第二和T2为 在非预定观测位置出现的所有不同词组合
Figure BDA00020536171700002115
的情况下的第三子函数E3的和
Figure BDA00020536171700002116
这里的第三子函数E3为给定将要叠加的对抗噪声∈时所述看图说话 系统输出语句在预定观测位置o出现的词的组合
Figure BDA00020536171700002117
以及所述看图说话系 统输出语句在非预定观测位置H出现的不同词组合
Figure BDA00020536171700002118
的联合概率
Figure BDA00020536171700002119
乘以所述看图说话系统输出语句在非预定观测位置H出现的词 组合的概率
Figure BDA00020536171700002120
上述过程通过简单易行的方式构造了第二函数项。但是,本领域技术 人员理解,也可以不按照
Figure BDA0002053617170000221
构造第二 函数项,只要第二函数项是所述将要叠加的对抗噪声、以及所述看图说话 系统输出语句在非预定观测位置出现的词组合的概率的函数。
在步骤230中,为第二函数项指定对抗噪声,求解第二函数项最小时 的非预定观测位置出现的词组合的概率,并将解出的非预定观测位置出现 的词组合的概率代入第一函数项,求解第一函数项最大时的对抗噪声,作 为为第二函数项指定的对抗噪声,代替之前为第二函数项指定的对抗噪声, 进行下一轮迭代,直至满足迭代终止条件。
根据KL散度的性质
Figure BDA0002053617170000222
我们可以得到
Figure BDA0002053617170000223
因此,求解概率对数函数最大时的∈问题变成了以下两个 子问题迭代求解,直到收敛:1)为第二函数项指定对抗噪声,求解第二函 数项最小时的非预定观测位置出现的词组合的概率;2)将解出的非预定观 测位置出现的词组合的概率代入第一函数项,求解第一函数项最大时的对 抗噪声。
初始为第二函数项指定的对抗噪声是任意的,例如对抗噪声∈的矩阵 的每一个元素都是0.001。无论指定为何值,经过后面根据对抗噪声求解第 二函数项最小时的非预定观测位置出现的词组合的概率,再代回第一函数 项,求解第一函数项最大时的对抗噪声,输入回第二函数项的反复迭代, 最后反复迭代出的对抗噪声、和第二函数项最小时的非预定观测位置出现 的词组合的概率都能保持稳定。
在一个实施例中,如图4所示,步骤230包括:
步骤2301、对第二函数项求导数,该导数中含有所述看图说话系统输 出语句在非预定观测位置中的任一个观测位置上出现的词是词典中每个候 选词的概率;
步骤2302、令所述导数等于0,求出所述看图说话系统输出语句在一 个位置出现的词是词典中一个词的概率,从而得到所述看图说话系统输出 语句在每一个非预定观测位置出现的词是所述预定观测词组合中的相应词 的概率;
步骤2303、将所述看图说话系统输出语句在每一个非预定观测位置出 现的词是所述预定观测词组合中的相应词的概率相乘,得到第二函数项最 小时的非预定观测位置出现的词组合的概率。
下面对上述步骤详细描述。
在数学上,求解第二函数项最小时的非预定观测位置出现的词组合的 概率可以通过求第二函数项的导数为0时非预定观测位置出现的词组合的 概率来实现,因此,步骤2301中,将
Figure BDA0002053617170000231
求导数,得到
Figure BDA0002053617170000232
Figure BDA0002053617170000233
表示看图说话系统输出语句在第t个词的位置出现的词 为k(k为词典中的一个词)的概率。
Figure BDA0002053617170000234
V为词典中所有词的集合, 即词空间,也就是说,将看图说话系统输出语句在第t个词的位置出现的 词为词典中的每一个词的概率全都加起来应该等于1,因为该位置出现的词 必须是词典里的一个词,将其为每一个词的概率全都加起来应该正好是 100%的可能性,即1。上式中的S<t={S1,...,St-1},其含义是看图说话系统输 出语句在第t个词的位置之前的(t-1)个词的集合,即在输出第t个词之 前已经输出的词的集合。
Figure BDA0002053617170000235
即看图说话系统输出第t个词之前 已经输出的词的集合与非预定观测位置(隐藏位置)上的词的集合的交集, 也就是看图说话系统输出第t个词之前已经输出的非预定观测位置上的词 的集合。
Figure BDA0002053617170000236
表示看图说话系统输出第t个词之前已经输出的非预定观 测位置上的词的集合的概率,
Figure BDA0002053617170000241
表示在看图说话系统输出第t个 词之前已经输出的非预定观测位置上的词的集合为
Figure BDA0002053617170000242
要叠加的对抗噪声 为∈时,看图说话系统输出语句在第t个词的位置出现的词为k(k为词典中 的一个词)的概率的对数。
Figure BDA0002053617170000243
表示对于看图说话系统输 出第t个词之前已经输出的非预定观测位置上的词的所有存在的集合,
Figure BDA0002053617170000244
加和得到的结果。
上式中,当t=1且
Figure BDA0002053617170000245
时,定义
Figure BDA0002053617170000246
在步骤2302中,令所述导数等于0,求出所述看图说话系统输出语句 在一个位置出现的词是词典中一个词的概率,从而得到所述看图说话系统 输出语句在每一个非预定观测位置出现的词是所述预定观测词组合中的相 应词的概率。
令上述公式6等于0,即
Figure BDA0002053617170000247
当固定
Figure BDA0002053617170000248
可以利用公式7求出
Figure BDA0002053617170000249
即所述看图说话系统输出 语句在一个位置t出现的词是词典中一个词k的概率。通过
Figure BDA00020536171700002410
可以知 道所述看图说话系统输出语句在任何一个位置出现的词是词典中任意一个 词的概率,但要求解的只是第二函数项最小时的非预定观测位置出现的词 组合的概率,因此只需要知道t为每一个非预定观测位置、k为所述预定观 测词组合中相应词时的概率,然后将每一个非预定观测位置上得到的概率相乘。所述预定观测词组合中相应词是指所述预定观测词组合中第t个位 置上的词,其中第t个位置是一个非预定观测位置,即隐藏位置。
仍以上述“A baseball player is___a bat on__field”为例。 由于第5、9个位置是非预定观测位置。针对所述第5、9个位置上出现的 一个词组合“holding the”来说,在非预定预测位置,即第5、9个位置 上出现词组合“holding the”的概率,等于在第5个位置上出现词 “holding”的概率乘以在第9个位置上出现词“the”的概率。要想求在 第5个位置上出现词“holding”的概率,只需将t=5,k=“holding”代入
Figure BDA0002053617170000251
即可。要想求在第9个位置上出现词组合“the”的概率,只需将 t=9,k=“the”代入
Figure BDA0002053617170000252
即可。
这样,就可以在步骤2303中,将所述看图说话系统输出语句在每一个 非预定观测位置出现的词是所述预定观测词组合中的相应词的概率相乘, 得到第二函数项最小时的非预定观测位置出现的词组合的概率。例如,在 第5个位置上出现词“holding”的概率乘以在第9个位置上出现词 “the”的概率,得到第二函数项最小时在第5、9个词处分别出现“holding”和“the”的概率。
在另一个实施例中,上述过程中,求出
Figure BDA0002053617170000253
后,也可以对
Figure BDA0002053617170000254
归一化。 在该实施例中,步骤2302包括:
令所述导数等于0,求出所述看图说话系统输出语句在一个位置出现的 词是词典中一个词的概率;
将所述看图说话系统输出语句在一个位置出现的词是词典中一个词的 概率归一化,所述归一化通过将所述看图说话系统输出语句在该位置出现 的词是该词的概率除以所述看图说话系统输出语句在该位置出现的词是词 典中各词的概率的和实现;
基于归一化的所述看图说话系统输出语句在一个位置出现的词是词典 中一个词的概率,确定所述看图说话系统输出语句在每一个非预定观测位 置出现的词是所述预定观测词组合中的相应词的概率。
以下是归一化公式:
Figure BDA0002053617170000261
当所述看图说话系统输出语句的各词都是词典空间V中的词时,针对 所述看图说话系统输出语句的第t个词的位置,其可能取的词都在词典空 间V中,因此,所述看图说话系统输出语句在该位置t(第t个词位置)出现 的词是词典中各词的概率的和应该为1,即
Figure BDA0002053617170000262
但实际上有时,所 述看图说话系统输出语句在该位置t(第t个词位置)出现的词是词典中没有 的词。因此,
Figure BDA0002053617170000263
需要进行归一化。所述归一化通过将所述看图说话 系统输出语句在该位置t出现的词是该词k的概率除以所述看图说话系统 输出语句在该位置t出现的词是词典中各词的概率的和实现。这样,通过 将
Figure BDA0002053617170000264
归一化,使得
Figure BDA0002053617170000265
的比较建立在客观、平等的基础上,更加客观合 理。
求解出第二函数项最小时的非预定观测位置出现的词组合的概率后, 就可以将解出的非预定观测位置出现的词组合的概率代入第一函数项,求 解第一函数项最大时的对抗噪声。在一个实施例中,所述求解第一函数项 最大时的对抗噪声,包括:通过深度神经网络的梯度下降法,求解所述对 抗噪声。
由于
Figure BDA0002053617170000266
因此求解第一函数 项最大时的对抗噪声,实际上是给定
Figure BDA0002053617170000267
求解
Figure BDA0002053617170000268
时的∈,即:
Figure BDA0002053617170000269
argmax()表示()中的内容达到最大时的∈。
Figure BDA00020536171700002610
其 表示所述看图说话系统输出语句在第1,……,t个位置中那些非预定观测 位置(隐藏位置)出现的词。
Figure BDA0002053617170000271
这个公式可以用任意 训练深度神经网路的梯度下降法来优化求解,例如随机梯度下降(SGD)或 者自适应矩估计(ADAM)等。
当求解出第一函数项最大时的对抗噪声后,把其作为为第二函数项重 新指定的对抗噪声,代替之前为第二函数项指定的对抗噪声,进行第二轮 迭代,又求出第一函数项最大时的对抗噪声后,又作为为第二函数项重新 指定的对抗噪声,代替之前为第二函数项指定的对抗噪声,进行第三轮迭 代……这样循环下去,直到满足迭代终止条件。
在一个实施例中,所述迭代终止条件包括以下中的至少一个条件:
当前轮迭代中解出的对抗噪声与上一轮迭代中解出的对抗噪声的差值 绝对值小于预定对抗噪声差值绝对值阈值;
当前轮迭代中解出的所述看图说话系统输出语句在非预定观测位置出 现的词组合的概率与上一轮迭代中解出的所述看图说话系统输出语句在非 预定观测位置出现的词组合的概率的差值绝对值小于预定词组合概率差值 绝对值阈值。
由于在每轮迭代中得到两个参数,一个是对抗噪声,另一个是述看图 说话系统输出语句在非预定观测位置出现的词组合的概率。因此,迭代终 止条件可以针对其中的一个参数设定,也可以针对二个参数结合设定。可 以规定,当前轮迭代中解出的对抗噪声与上一轮迭代中解出的对抗噪声的 差值绝对值小于预定对抗噪声差值绝对值阈值,就停止迭代,或者当前轮 迭代中解出的所述看图说话系统输出语句在非预定观测位置出现的词组合 的概率与上一轮迭代中解出的所述看图说话系统输出语句在非预定观测位 置出现的词组合的概率的差值绝对值小于预定词组合概率差值绝对值阈 值,就停止迭代,也可以两者都满足时才停止迭代。
图7示出了根据本公开一个实施例的一个具体的迭代流程图。在步骤310中,先固定一个对抗噪声∈,求解第二函数项最小时的非预定观测位置 出现的词组合的概率
Figure BDA0002053617170000281
在步骤320中,判断是否满足迭代条件,即当 前轮的对抗噪声∈与上一轮迭代中解出的对抗噪声∈的差值绝对值小于预定 对抗噪声差值绝对值阈值。如果满足迭代条件,在步骤340中,迭代结束, 此时的∈就是对抗测试要使用的对抗噪声∈。如果不满足迭代条件,在步骤 330中,将步骤310中解出的
Figure BDA0002053617170000282
代入第一函数项,求解第一函数项最大 时的对抗噪声∈。在步骤350,继续判断是否满足迭代条件,即当前轮迭代 中解出的所述看图说话系统输出语句在非预定观测位置出现的词组合的概 率
Figure BDA0002053617170000283
与上一轮迭代中解出的所述看图说话系统输出语句在非预定观测位 置出现的词组合的概率
Figure BDA0002053617170000284
的差值绝对值小于预定词组合概率差值绝对值 阈值。如果满足,在步骤360,迭代结束,此时的∈就是对抗测试要使用的 对抗噪声∈。如果不满足,将新得到的对抗噪声∈作为步骤310中使用的对抗噪声,进行下一轮迭代。
如上所述,所述对抗噪声为一个噪声矩阵,所述噪声矩阵的各元素对 应于看图说话系统要识别的图片上的一个像素上要叠加的干扰R、G、B。在 一个实施例中,构造的所述概率对数函数具有如下约束条件:看图说话系 统要识别的图片上的每个像素值加上所述噪声矩阵的相应位置的元素后, 取值在【0,1】中。
看图说话系统要识别的图片上的每个像素的R、G、B值原本都处于【0,1】 中,但加了对抗噪声后,可能使得原来图片上的某个或某些像素值的R、G、 B值超过1,这样,由于数据所处的区间不一致,造成后续函数处理结果的 不统一,一种方法是可以重新归一化,但由于一般来说对抗噪声的每个R、 G、B值比较小,因此,即使超过1,也不会超过1太多。在这种情况下, 为了节省处理开销,可以不归一化,而是直接将超过1的那部分像素的R、 G、B值裁剪成1,例如,将1.001裁剪成1,也不会影响处理结果太多。因 此,这样的方式,既提高了数据处理的统一性,又减少处理开销。
然后,在步骤240中,可以将迭代后得到的对抗噪声叠加到所述看图 说话系统要识别的图片上,以期望所述看图说话系统识别出的语句的预定 观测位置出现指定的词。
如图8A的上行所示,要识别的图片的描述语句是“A red and white airplaneflying in the sky(有一个红白相间的飞机在天空中飞行)”。 如果想要让看图说话系统输出的整句话都是期望的话“A baseball player is holding a bat on a field(一个棒球运动员正在球场上拿着球拍)”, 这时,预定观测位置是看图说话系统输出的语句的所有词位置。用根据本 公开实施例的方法得到的对抗噪声叠加到要识别的图片上,这时看图说话 系统输出的图片与要识别的图片区别不大,但输出的语句变成“A baseball player isholding a bat on a field”。如图8B的上行所示,如果想要 让看图说话系统输出的语句的多数位置的词都是期望的词,如“A baseball player is__a bat on__field”,其中未划横线的位置都是期望有预 定观测词的观测位置。用根据本公开实施例的方法得到的对抗噪声叠加到 要识别的图片上,这时看图说话系统输出的图片与要识别的图片区别不大,但输出的语句变成“A baseball player is swing a bat on a field”。 如果想要让看图说话系统输出的语句的少数位置的词是期望的词,如“__ __ __is holding__ __ __ ____”,其中未划横线的位置是期望有预定 观测词的观测位置。用根据本公开实施例的方法得到的对抗噪声叠加到要 识别的图片上,这时看图说话系统输出的图片与要识别的图片区别不大, 但输出的语句变成“A small airplane is holding a red and yellow kite”。图8A-B的下行与上行类似,也证明了利用本公开实施例的方法, 可以让看图说话系统输出的一整句话变成期望的一整句话,也可以让看图 说话系统输出的语句的多数位置的词变成期望的词,也可以让看图说话系 统输出的语句的少数位置的词变成期望的词。
本公开实施例除了提供了如上所述的对抗测试看图说话系统的方法之 外,还提供了一种能自动对抗测试看图说话系统并验证对抗测试的效果的 方法,它不但能够自动对抗测试看图说话系统,还能对对抗测试的效果自 动评价,如果评价不达标重新对抗测试,从而提升了对抗测试质量。
在本公开实施例中,可以在三个目前主流的基于CNN+RNN的看图说话 系统上实施上述对抗测试看图说话系统并验证的方法,这三种系统即 Show-Attend-and-Tell(SAT),self-critical sequence training(SCST) 和Show-and-Tell(ST)。
用PyTorch在三种不同的模型上实现了根据本公开实施例的对抗测试 方法。使用ResNet-101做为SAT和SCST模型的CNN结构,同时,为了与 Show-and-Fool公平比较,我们采用Inception-V3做为ST模型的CNN部分。 设置最大的迭代次数为50。采用ADAM做为更新对抗噪声∈的方法,学习率初 始值设为0.001,如果没有特殊说明,公式中的λ设为0.1。
如图5所示,在一个实施例中,在步骤210之前,所述方法还包括:
步骤201、从看图说话系统的验证图片集中取出多个对抗测试对象图 片;
步骤202、对于每个对抗测试对象图片,在所述验证图片集中选取混淆 依据图片;
步骤203、在混淆依据图片对应的语句上的预定观测位置上取词,取出 的词的组合作为预定观测词组合,取出的对抗测试对象图片作为看图说话 系统要识别的图片。
在步骤240之后,所述方法还包括:
步骤250、将从所述看图说话系统输出的语句的预定观测位置上提取的 词的组合与所述预定观测词组合进行比对,获得验证指标;
步骤260、利用所述多个对抗测试对象图片的所述验证指标,验证对抗 测试看图说话系统的效果。
下面对以上过程进行详细描述。
在步骤201中,对抗测试对象图片是作为公交对象的、要在其上叠加 对抗噪声的要识别的图片。
无论是Show-Attend-and-Tell(SAT)、self-critical sequence training(SCST)和Show-and-Tell(ST)中的哪种系统,都有基准数据集, 其中有训练图片集、验证图片集、测试图片集。训练图片集即训练看图说 话系统采用的训练图片组成的集合。验证图片集是用于调整参数、提取特 征、并做出与学习算法相关的其他决策,从而交叉验证训练图片集训练出 来的看图说话系统的图片的集合。在交叉验证过程中还会对训练出的看图 说话系统进行调整。测试图片集是用来检验最终训练出的看图说话系统的 图片的集合。
以Microsoft COCO 2014(MSCOCO)为例,其中包括113287张训练图 像,5000张验证集和5000张测试集。在一个例子中,从5000张验证集中 筛选出1000张图片作为要对抗测试的图片。
在步骤202中,混淆依据图片是从其描述语句中选取对抗测试所用的 预定观测词组合的图片。无论是训练图片、验证图片、测试图片,都对应 有描述语句。混淆依据图片选定后,就从其对应的描述语句中选取对抗测 试所用的预定观测词组合。例如,如果选定了关于“一个棒球运动员正在 球场上拿着球拍”的图片,其描述语句是“A baseball playeris holding a bat on a field”,对抗测试所用的预定观测词组合就从它的预定观测 位置上选取。
对于每个对抗测试对象图片,在所述验证图片集中选取混淆依据图片 可以采取随机选取的方式,也可以采取按验证图片集中图片序号选取的方 式。可以对于每个对抗测试对象图片,在所述验证图片集中选取一张混淆 依据图片,也可以在所述验证图片集中选取多张混淆依据图片。
在上述例子中,对于ST,SAT和SCST模型,可以从剩下的4000张验证 集图片中,对每个对抗测试图像选取5个不同的目标图像,按照这5个不 同的目标图像的描述语句,来生成5个不同的目标描述语句。
在步骤203中,在混淆依据图片对应的语句上的预定观测位置上取词, 取出的词的组合作为预定观测词组合,取出的对抗测试对象图片作为看图 说话系统要识别的图片。例如,选定了关于“一个棒球运动员正在球场上 拿着球拍”的混淆依据图片,其描述语句是“A baseball player is holding a bat on a field”,预定观测位置是“1 2 3 4 6 7 810”,则“A baseball player is holding a bat on a field”中划横线的词的组合为预定观测 词组合,期望看图说话系统最后输出的语句的这些位置出现上述预定观测 词组合。
在步骤203后,由于预定观测词组合和看图说话系统要识别的图片已 确定,可以执行步骤210-240的过程。然后,在步骤250中,将从所述看 图说话系统输出的语句的预定观测位置上提取的词的组合与所述预定观测 词组合进行比对,获得验证指标。验证指标是用于验证对抗测试看图说话 系统的结果的指标。它包括命中率、精准率、召回率。
命中率是反映看图说话系统输出的语句的预定观测位置上提取的词的 组合与所述预定观测词组合是否一致的度量。如果从所述看图说话系统输 出的语句的预定观测位置上提取的词的组合与所述预定观测词组合相同, 则命中率=1;反之,则命中率=0。命中率表示为:
1.
Figure BDA0002053617170000321
success-sign代表命中率,
Figure BDA0002053617170000322
表示从所述看图说话系统输出的语句的预 定观测位置上提取的词的组合,SO表示预定观测词组合。
平均命中率是反映对于所有输入看图说话系统的要识别的图片,其中 有多少比例看图说话系统输出的语句的预定观测位置上提取的词的组合与 所述预定观测词组合一致,即对抗测试成功的度量。它等于对于所有输入 看图说话系统的要识别的图片分别得到的命中率取平均。在一个实施例中, 步骤260包括:将所述多个对抗测试对象图片的命中率取平均,得到平均 命中率,如果平均命中率大于预定平均命中率阈值,则验证成功。如果平均命中率大于预定平均命中率阈值,说明对抗测试成功的比例高于期望的 比例,认为验证成功。
在一个实施例中,不仅根据平均命中率来进行验证,还根据对抗噪声 的二范数进行验证。这是因为二范数反映了叠加的对抗噪声的大小,如果 对抗噪声过大,叠加到原始图片,容易引起比较大的变化,引起被对抗测 试方注意。因此,除了考虑平均命中率外,二范数也是一个重要的考虑因 素。二范数越小,对抗测试效果越好。
在该实施例中,所述如果平均命中率大于预定平均命中率阈值,则验 证成功,包括:
如果平均命中率大于预定平均命中率阈值,获取叠加在所述多个对抗 测试对象图片的每一个上的对抗噪声的二范数;
计算叠加在所述多个对抗测试对象图片上的对抗噪声的二范数的平均 值;
如果所述二范数的平均值小于预定二范数平均值阈值,则验证成功。
即,如果对于选定的多个对抗测试对象图片,平均命中率大于预定平 均命中率阈值,获取叠加在所述多个对抗测试对象图片的每一个上的对抗 噪声的二范数,它可以通过对已得到的对抗噪声求二范数而求出。这样, 对每个对抗测试对象图片,可以获得一个对抗噪声的二范数。将对每个对 抗测试对象图片获得的对抗噪声的二范数求平均值,该平均值反映了对所 述多个对抗测试对象图片,平均施加的对抗噪声大小。如果所述二范数的平均值小于预定二范数平均值阈值,说明对抗噪声大小是可接受的,则验 证成功。反之,则验证失败。
精准率为从所述看图说话系统输出的语句的预定观测位置上提取的词 与所述预定观测词组合中相应位置上的词相同的个数除以从所述看图说话 系统输出的语句的预定观测位置上提取的词的总数。它反映了看图说话系 统输出的语句的预定观测位置上与期望的词相同的比例。该比例越大,说 明在看图说话系统输出的语句的预定观测位置上出现的词与期望词一致的 概率越大,这种对抗测试越精准。它不是用看图说话系统输出的整句话是 否达到期望来衡量,而是衡量其中有多少比例达到了期望。它可以表示为:
Figure BDA0002053617170000331
Precision为精准率,
Figure BDA0002053617170000332
表示从所述看图说话系统输出的语句的预定观 测位置上提取的词的组合,SO表示预定观测词组合。
Figure BDA0002053617170000333
表示从所述 看图说话系统输出的语句的预定观测位置上提取的词的组合、和预定观测 词组合的重合词数,
Figure BDA0002053617170000334
表示从所述看图说话系统输出的语句的预定观测 位置上提取的词的组合的词数。
平均精准率是反映对于所有输入看图说话系统的要识别的图片的精确 率的平均值,它反映了对于宏观上来说,看图说话系统输出的整句话的预 定观测位置的词中,有多少比例能够达到期望。在一个实施例中,步骤260 包括:将所述多个对抗测试对象图片的精准率取平均,得到平均精准率, 如果平均精准率大于预定平均精准率阈值,则验证成功。
在一个实施例中,不仅根据平均精准率来进行验证,还根据对抗噪声 的二范数进行验证。二范数越小,对抗测试效果越好。
在该实施例中,所述如果平均精准率大于预定平均精准率阈值,则验 证成功,包括:
如果平均精准率大于预定平均精准率阈值,获取叠加在所述多个对抗 测试对象图片的每一个上的对抗噪声的二范数;
计算叠加在所述多个对抗测试对象图片上的对抗噪声的二范数的平均 值;
如果所述二范数的平均值小于预定二范数平均值阈值,则验证成功。
即,如果对于选定的多个对抗测试对象图片,平均精准率大于预定平均 精准率阈值,获取叠加在所述多个对抗测试对象图片的每一个上的对抗噪 声的二范数,并将对每个对抗测试对象图片获得的对抗噪声的二范数求平 均值。如果所述二范数的平均值小于预定二范数平均值阈值,说明对抗噪 声大小是可接受的,则验证成功。反之,则验证失败。
该实施例相对于仅验证平均精准率阈值,能够更好地提高验证效果。
召回率为从所述看图说话系统输出的语句的预定观测位置上提取的词 与所述预定观测词组合中相应位置上的词相同的个数除以述预定观测词组 合的词总数。它反映了预定观测词组合中的所有词中有多少比例的词被看 图说话系统正确输出了。该比例越大,说明所述预定观测词组合中的词被 看图说话系统依期望输出的概率越大,这种对抗测试越精准。它不是用看 图说话系统输出的整句话是否达到期望来衡量,而是衡量预定观测词组合 中的所有词中有多少比例的词被看图说话系统按期望输出了。它可以表示 为:
Figure BDA0002053617170000341
Recall为召回率,
Figure BDA0002053617170000342
表示从所述看图说话系统输出的语句的预定观测位 置上提取的词的组合,SO表示预定观测词组合。
Figure BDA0002053617170000343
表示从所述看图 说话系统输出的语句的预定观测位置上提取的词的组合、和预定观测词组 合的重合词数,
Figure BDA0002053617170000344
表示预定观测词组合的词数。
平均召回率是反映从宏观上来说,预定观测词组合中的所有词中会有 多少比例的词被看图说话系统按期望输出。在一个实施例中,步骤260包 括:将所述多个对抗测试对象图片的召回率取平均,得到平均召回率,如 果平均召回率大于预定平均召回率阈值,则验证成功。
在一个实施例中,不仅根据平均召回率来进行验证,还根据对抗噪声 的二范数进行验证。二范数越小,对抗测试效果越好。
在该实施例中,所述如果平均召回率大于预定平均召回率阈值,则验 证成功,包括:
如果平均召回率大于预定平均召回率阈值,获取叠加在所述多个对抗 测试对象图片的每一个上的对抗噪声的二范数;
计算叠加在所述多个对抗测试对象图片上的对抗噪声的二范数的平均 值;
如果所述二范数的平均值小于预定二范数平均值阈值,则验证成功。
即,如果对于选定的多个对抗测试对象图片,平均召回率大于预定平均 召回率阈值,获取叠加在所述多个对抗测试对象图片的每一个上的对抗噪 声的二范数,并将对每个对抗测试对象图片获得的对抗噪声的二范数求平 均值。如果所述二范数的平均值小于预定二范数平均值阈值,说明对抗噪 声大小是可接受的,则验证成功。反之,则验证失败。
该实施例相对于仅验证平均召回率阈值,能够更好地提高验证效果。
在一个实施例中,在利用所述多个对抗测试对象图片的所述验证指标, 验证对抗测试看图说话系统的效果之后,所述方法还包括:如果验证失败, 从构造概率对数函数的步骤起重复执行。也就是说,如果验证失败,说明 对抗噪声构造得不好,需要重新构造对抗噪声,重新对抗测试,直到验证 效果达到期望,才停止。本公开实施例通过这种对抗测试、评价的不断迭 代,提高了对抗测试效果。
另外,本公开实施例还可以在对抗测试看图说话系统的方法的基础上, 自动评价验证指标(平均命中率、平均精准率、平均召回率)随观测位置 数目的变化关系、以及随非观测位置数目的变化关系,以为构造合理的观 测位置数目和非观测位置数目提供依据,从而反过来进一步提升对抗测试 看图说话系统的对抗测试效果。
为了验证验证指标(平均命中率、平均精准率、平均召回率)随观测 位置数目的变化关系、以及随非观测位置数目的变化关系,在一个实施例 中,步骤203包括:
在混淆依据图片对应的语句上分别取预定的不同数目个观测位置上的 词,分别形成第一多个预定观测词组合;
在混淆依据图片对应的语句上分别取预定的不同数目个非观测位置以 外的位置上的词,分别形成第二多个预定观测词组合。
例如,混淆依据图片对应的描述语句为“A baseball player is holding a baton a field”,可以从中分别取1个、2个、3个预定的观 测位置的词,让其为观测词,则分别得到“________holding______ ____”,“________holding____on____”,“______isholding ____on____”,其中未划横线的词为观测词,“holding”,“holding on”,“isholding on”为第一多个预定观测词组合。然后,对于“A baseball player is holding abat on a field”,从中分别取1个、2 个、3个预定的非观测位置的词,让其为非观测词,则分别得到“A baseball player is__a bat on a field”,“A baseball player is__abat__ a field”,“A baseball player____a bat__a field”,其中未 划横线的词为观测词,“A baseball player is a bat on a field”,“A baseball player is a bat afield”,“A baseball player a bat a field”为第二多个预定观测词组合。
在该实施例中,步骤250包括:
将从所述看图说话系统输出的语句的预定的不同数目个观测位置上提 取的词的组合与所述第一多个预定观测词组合中相应的观测词组合进行比 对,获得多个第一验证指标;
将从所述看图说话系统输出的语句的预定的不同数目个非观测位置以 外的位置上提取的词的组合与所述第二多个预定观测词组合中相应的观测 词组合进行比对,获得多个第二验证指标。
这里的验证指标可以是平均命中率、平均精准率、平均召回率。当一 些要识别的图片输入看图说话系统时,利用本公开实施例的方法叠加对抗 噪声进行对抗测试,针对第一多个预定观测词组合的一个,即一种词数目 的预定观测词组合,也在看图说话系统输出的语句中找到同样个数观测位 置上的词的组合,将找到的词组合与该数目的预定观测词组合进行比较, 获得一个第一验证指标。这样,针对第一多个预定观测词组合,就可以找到多个第一验证指标。找到多个第二验证指标的方式类似于找到多个第一 验证指标的方式,故不赘述。
例如,验证指标是平均精准率。将从所述看图说话系统输出的语句的 预定的1个、2个、3个观测位置上提取的词的组合与所述第一多个预定观 测词组合中相应数目的观测词组合进行比对,分别得到1个观测位置对应 的第一验证指标(1个观测位置对应的第一平均精准率)、2个观测位置对 应的第一验证指标(2个观测位置对应的第一平均精准率)、3个观测位置 对应的第一验证指标(3个观测位置对应的第一平均精准率)。将从所述看 图说话系统输出的语句的预定的1个、2个、3个非观测位置以外的位置上 提取的词的组合与所述第二多个预定观测词组合中相应数目的观测词组合 进行比对,分别得到1个非观测位置以外的位置对应的第二验证指标(1个 非观测位置对应的第二平均精准率)、2个非观测位置以外的位置对应的第 二验证指标(2个非观测位置对应的第二平均精准率)、3个非观测位置以 外的位置对应的第二验证指标(3个非观测位置对应的第二平均精准率)。
在该实施例中,在步骤250之后,所述方法还包括:
基于所述多个第一验证指标和对应的观测位置数目,确定所述验证指 标随观测位置数目的变化关系;
基于所述多个第二验证指标和对应的非观测位置数目,确定所述验证 指标随非观测位置数目的变化关系。
基于所述多个第一验证指标和对应的观测位置数目,确定所述验证指 标随观测位置数目的变化关系,可以通过以观测位置数目为横轴,第一验 证指标为纵轴由机器自动绘制所述验证指标随观测位置数目的变化曲线来 实现。基于所述多个第二验证指标和对应的非观测位置数目,确定所述验 证指标随非观测位置数目的变化关系,可以通过以非观测位置数目为横轴, 第二验证指标为纵轴由机器自动绘制所述验证指标随非观测位置数目的变 化曲线来实现。
Figure BDA0002053617170000381
表1
上述表1给出了针对看图说话系统是SAT系统的情形,得到的验证指 标随非观测位置数目、观测位置数目的变化情况的一个例子。从中可知: (1)对于没有非观测位置的情况,即看图说话系统输出的整个一句话都是 观测位置,平均命中率达到了0.9926,意味着在增加噪声后,5000个目标 语句中只有37个没有成功生成,同时其对应的平均精准率和平均召回率达 到了0.9953,意味着即使在失败的例子中,许多单词也是被正确预测的。 它的噪声二范数||∈||2为4.2767。图像上所添加的噪声是人眼所无法察觉出 来的。(2)对于1到3个非观测位置的情况,根据表1可以知道,随着非 观测位置个数的增加,对抗测试结果都逐渐变差,其中平均命中率、平均 精准率、平均召回率下降,噪声二范数增大。其原因我们分析是因为随着 隐变量个数增加,对于其位置预测的不确定性也逐渐增加,同时在这些隐 变量位置之后的所观测位置的单词也将会影响这些的不确定性。(3)对于 带有1到3个被观测单词的对抗测试方法,其结果没有固定的规律。
在一个实施例中,在步骤250之后,所述方法还包括:
确定所述多个第一验证指标中最佳第一验证指标对应的非观测位置;
步骤203进一步包括:在混淆依据图片对应的语句上的确定的非观测 位置之外的位置上取词。
在表1的例子中,1个非观测位置对应的第一验证指标是所有多个第一 验证指标中最佳的(包括平均命中率、平均精准率、平均召回率、噪声二 范数),因此,在步骤203中,在混淆依据图片对应的语句上的确定的该1 个非观测位置之外的位置上取词。
通过这种确定最佳的非观测位置数目,反馈到选取预定观测词组合的 过程中,可以进一步提升看图说话系统的对抗测试效果。
如上所述,所述因变量为所述看图说话系统输出语句在预定观测位置 出现的词的组合为预定观测词组合的概率的对数减去所述对抗噪声的二范 数的平方的预定比例的差。不同的预定比例的设置,对对抗测试效果也有 一定影响。本公开实施例可以自动测试不同的预定比例对对抗测试效果的 影响,并可以自动选择预定比例,提高对抗测试效果。
在一个实施例中,所述预定比例是多个预定比例。步骤210包括:分 别构造在所述多个预定比例下各自的概率对数函数;步骤250包括:将从 所述多个预定比例中的每一个预定比例下看图说话系统输出的语句的预定 观测位置上提取的词的组合与所述预定观测词组合进行比对,分别获得在 多个预定比例下各自的验证指标。在步骤250之后,所述方法还包括:基 于所述多个预定比例和在所述多个预定比例下各自的验证指标,确定所述 验证指标随预定比例的变化关系。
基于所述多个预定比例和在所述多个预定比例下各自的验证指标,确 定所述验证指标随预定比例的变化关系,可以通过以所述预定比例为横坐 标,在各预定比例下的验证指标为纵坐标,由机器自动描绘验证指标随预 定比例的变化曲线的方式执行。
下面的表2示出了看图说话系统采用SAT系统时不同预定比例下的不 同验证指标的一个例子。
Figure BDA0002053617170000391
表2
根据表2可以看出,随着预定比例λ的增大,噪声二范数逐渐变小,同 时损失值却逐渐增大,最终导致对抗测试效果的下降。当λ=0.001,对抗测 试的平均命中率的值达到了0.9956,二范数的值是8.6353;而当λ=100, 对抗测试的平均命中率的值达到了0.0118,二范数的值是0.2701。
在一个实施例中,构造概率对数函数时所用的预定比例是所述验证指 标中最佳验证指标对应的预定比例。也就是说,在所述多个预定比例下各 自的验证指标中选择最佳的验证指标对应的预定比例,作为步骤210构造 概率对数函数时所用的预定比例。通过此方法找到的预定比例,能够进一 步优化对抗测试效果。
在一个实施例中,可以对多个看图说话系统进行对抗测试,根据对抗 测试效果选择最合适的看图说话系统进行对抗测试,进一步优化对抗测试 效果。
在该实施例中,所述看图说话系统是多个看图说话系统,例如SAT系 统、SCST系统、和ST系统。
所述步骤210包括:针对所述多个看图说话系统分别构造与每个看图 说话系统对应的概率对数函数;步骤250包括:将从所述多个看图说话系 统中每一个看图说话系统输出的语句的预定观测位置上提取的词的组合与 所述预定观测词组合进行分别比对,获得与每个看图说话系统对应的验证 指标;在步骤250之后,所述方法还包括:基于与每个看图说话系统对应 的验证指标,对各看图说话系统进行排序。
在一个实施例中,所述基于与每个看图说话系统对应的验证指标,对 各看图说话系统进行排序,包括:当所述验证指标是平均命中率、平均精 准率、或平均召回率时,按照平均命中率、平均精准率、或平均召回率的 从高到低的顺序,对各看图说话系统进行排序;当所述验证指标是噪声二 范数时,按照噪声二范数从低到高的顺序,对各看图说话系统进行排序。
Figure BDA0002053617170000401
表3
表3给出了针对看图说话系统是SCST系统的情形,得到的验证指标随 非观测位置数目、观测位置数目的变化情况。从表3可以看出,在SCST模 型上的对抗测试效果的规律与在SAT上的规律基本一致。其原因是因为两 个模型结构是相似的,都是从相同的CNN结构提取出特征做为RNN每一步 的输入。
Figure BDA0002053617170000411
表4
表4给出了针对看图说话系统是ST系统的情形,得到的验证指标随非 观测位置数目、观测位置数目的变化情况。从表4可以看出,ST模型上的 对抗测试效果要比SAT模型和SCST模型都要差。其主要的原因是因为ST 模型的结构显著地区别与另外两个模型,其中ST模型的CNN特征只应用于 RNN开始的步骤,然而在SAT和SCST模型中,CNN的特征会应用到RNN的 每一步中,因此,对于SCST模型和SAT模型,被观测单词的梯度可以直接 地反向传播到输入图像,而对于ST模型,对于被观测的单词和未被观测的 单词梯度必须先累加然后才能反向传播到输入图像中,这样每个被观测的 单词的影响都会被减弱。
在一个实施例中,所对抗测试的看图说话系统是与各看图说话系统对 应的验证指标中最佳验证指标对应的看图说话系统。可以选取上述与各看 图说话系统中二范数最小,或平均命中率最大,或平均精准率最大,或平 均召回率最大的看图说明系统,作为对抗测试目标,可以提高对抗测试效 果。
另外,在一个实施例中,当预定观测位置的数量一定(例如是1)时, 到底选择哪个或哪些观测位置作为预定观测位置,可以达到最好的对抗测 试效果,也可以进行优化。
在一个实施例中,步骤203包括:在混淆依据图片对应的语句上取词 序的倒序上不同顺序的词,取出的词作为与不同顺序对应的预定观测词。 即,在混淆依据图片对应的语句上取倒数第一个词、倒数第二个词……, 分别作为与顺序1、2……相对应的预定观测词。例如,混淆依据图片对应 的语句是“A baseball player is holding a bat on afield”,分别取 倒数第一个词、倒数第二个词……作为预定观测词,得到“__________________field”和“________________a__”……其中未划 横线的词为预定观测词。
在该实施例中,步骤250包括:将从所述看图说话系统输出的语句的 取词序的倒序上不同顺序的词与所述预定观测词进行比对,获得与不同顺 序对应的验证指标。
如上例,将从所述看图说话系统输出的语句倒数第一个词、倒数第二 个词……分别与“field”、“a”……进行比对,获得与顺序1、顺序2…… 对应的验证指标。
在该实施例中,在步骤250之后,所述方法还包括:基于所述不同顺 序和与不同顺序对应的验证指标,确定所述验证指标随所述顺序的变化关 系。基于所述不同顺序和与不同顺序对应的验证指标,确定所述验证指标 随所述顺序的变化关系,可以通过以上述顺序号为横坐标,验证指标为纵 坐标,机器自动绘制验证指标随顺序号变化的直方图来实现。如图9A是命 中数量、平均命中率随观测词在看图说话系统输出的语句中的倒数顺序变 化的曲线图。图中可见,观测词越接近于句子的末尾,那么这种情况越难 对抗测试成功。随着观测词位置往后推移,平均命中率的值逐渐降低。
在一个实施例中,预定观测位置为混淆依据图片对应的语句的所有词 位置,其中,混淆依据图片对应的语句为多个具有不同词数的语句。
在该实施例中,步骤250包括:从所述看图说话系统输出的不同词数 的语句与所述预定观测词组合进行比对,获得与不同词数对应的验证指标; 在步骤250之后,所述方法还包括:基于所述不同词数和与不同词数对应 的验证指标,确定所述验证指标随所述词数的变化关系。基于所述不同词 数和与不同词数对应的验证指标,确定所述验证指标随所述词数的变化关 系,可以通过以上述词数为横坐标,验证指标为纵坐标,机器自动绘制验 证指标随词数变化的直方图来实现。如图9B是验证指标随词数变化的曲线 图。图中可见,词数越多,那么这种情况越难对抗测试成功。随着词数增 多,平均命中率的值逐渐降低。
如图10所示,提供了一种对抗测试看图说话系统的装置,所述装置包 括:
概率对数函数构造单元410,用于构造概率对数函数,所述概率对数函 数将在看图说话系统要识别的图片上将要叠加的对抗噪声作为自变量,基 于所述看图说话系统输出语句在预定观测位置出现的词的组合为预定观测 词组合的概率的对数构造因变量;
分解单元420,用于将所述概率对数函数分解成第一函数项和第二函数 项,所述第一函数项和第二函数项都是所述将要叠加的对抗噪声、以及所 述看图说话系统输出语句在非预定观测位置出现的词组合的概率的函数;
迭代单元430,用于为第二函数项指定对抗噪声,求解第二函数项最小 时的非预定观测位置出现的词组合的概率,并将解出的非预定观测位置出 现的词组合的概率代入第一函数项,求解第一函数项最大时的对抗噪声, 作为为第二函数项指定的对抗噪声,代替之前为第二函数项指定的对抗噪 声,进行下一轮迭代,直至满足迭代终止条件;
对抗噪声施加单元440,用于将迭代后得到的对抗噪声叠加到所述看图 说话系统要识别的图片上,以期望所述看图说话系统识别出的语句的预定 观测位置出现指定的词。
在一个实施例中,所述因变量为所述看图说话系统输出语句在预定观 测位置出现的词的组合为预定观测词组合的概率的对数减去所述对抗噪声 的二范数的平方的预定比例的差。
在一个实施例中,所述第一函数项为在非预定观测位置出现的所有不 同词组合的情况下的第一子函数的和减去所述对抗噪声的二范数的平方的 预定比例的差,所述第一子函数通过以下方式构造:
构造给定将要叠加的对抗噪声时所述看图说话系统输出语句在预定观 测位置出现的词的组合、以及所述看图说话系统输出语句在非预定观测位 置出现的不同词组合的联合概率;
将所述联合概率除以所述看图说话系统输出语句在非预定观测位置出 现的词组合的概率,得到的商求对数;
用得到的对数乘以所述看图说话系统输出语句在非预定观测位置出现 的词组合的概率。
在一个实施例中,所述第二函数项为第一和与第二和的差,所述第一 和为在非预定观测位置出现的所有不同词组合的情况下的第二子函数的 和,所述第二和为在非预定观测位置出现的所有不同词组合的情况下的第 三子函数的和,所述第二子函数为所述看图说话系统输出语句在非预定观 测位置出现的词组合的概率的对数乘以所述看图说话系统输出语句在非预 定观测位置出现的词组合的概率,所述第三子函数为给定将要叠加的对抗 噪声时所述看图说话系统输出语句在预定观测位置出现的词的组合、以及 所述看图说话系统输出语句在非预定观测位置出现的不同词组合的联合概 率乘以所述看图说话系统输出语句在非预定观测位置出现的词组合的概 率。
在一个实施例中,所述求解第二函数项最小时的非预定观测位置出现 的词组合的概率,包括:
对第二函数项求导数,该导数中含有所述看图说话系统输出语句在非 预定观测位置中的任一个观测位置上出现的词是词典中每个候选词的概 率;
令所述导数等于0,求出所述看图说话系统输出语句在一个位置出现的 词是词典中一个词的概率,从而得到所述看图说话系统输出语句在每一个 非预定观测位置出现的词是所述预定观测词组合中的相应词的概率;
将所述看图说话系统输出语句在每一个非预定观测位置出现的词是所 述预定观测词组合中的相应词的概率相乘,得到第二函数项最小时的非预 定观测位置出现的词组合的概率。
在一个实施例中,所述令所述导数等于0,求出所述看图说话系统输出 语句在一个位置出现的词是词典中一个词的概率,从而得到所述看图说话 系统输出语句在每一个非预定观测位置出现的词是所述预定观测词组合中 的相应词的概率,包括:
令所述导数等于0,求出所述看图说话系统输出语句在一个位置出现的 词是词典中一个词的概率;
将所述看图说话系统输出语句在一个位置出现的词是词典中一个词的 概率归一化,所述归一化通过将所述看图说话系统输出语句在该位置出现 的词是该词的概率除以所述看图说话系统输出语句在该位置出现的词是词 典中各词的概率的和实现;
基于归一化的所述看图说话系统输出语句在一个位置出现的词是词典 中一个词的概率,确定所述看图说话系统输出语句在每一个非预定观测位 置出现的词是所述预定观测词组合中的相应词的概率。
在一个实施例中,所述求解第一函数项最大时的对抗噪声,包括:通 过深度神经网络的梯度下降法,求解所述对抗噪声。
在一个实施例中,所述迭代终止条件包括以下中的至少一个条件:
当前轮迭代中解出的对抗噪声与上一轮迭代中解出的对抗噪声的差值 绝对值小于预定对抗噪声差值绝对值阈值;
当前轮迭代中解出的所述看图说话系统输出语句在非预定观测位置出 现的词组合的概率与上一轮迭代中解出的所述看图说话系统输出语句在非 预定观测位置出现的词组合的概率的差值绝对值小于预定词组合概率差值 绝对值阈值。
在一个实施例中,所述对抗噪声为噪声矩阵,所述噪声矩阵的每一个 元素对应于看图说话系统要识别的图片上的一个像素上要叠加的干扰值。 构造的所述概率对数函数具有如下约束条件:看图说话系统要识别的图片 上的每个像素值加上所述噪声矩阵的相应位置的元素后,取值在【0,1】中。
根据本公开实施例的电子地图中的站点聚合方法可以由图11的对抗测 试组件101实现。图11显示的对抗测试组件101仅仅是一个示例,不应对 本公开实施例的功能和使用范围带来任何限制。
如图11所示,对抗测试组件101以通用计算设备的形式表现。对抗 测试组件101的组件可以包括但不限于:上述至少一个处理单元810、上 述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理 单元810)的总线830。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理 单元810执行,使得所述处理单元810执行本说明书上述示例性方法的描 述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理 单元810可以执行如图3中所示的各个步骤。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存 取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包 括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程 序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一 个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个 或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总 线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多 种总线结构中的任意总线结构的局域总线。
对抗测试组件101也可以与一个或多个外部设备900(例如键盘、指 向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该对抗测 试组件101交互的设备通信,和/或与使得该对抗测试组件101能与一个 或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等) 通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,对抗测 试组件101还可以通过网络适配器860与一个或者多个网络(例如局域网 (LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示, 网络适配器860通过总线830与对抗测试组件101的其它模块通信。应当 明白,尽管图中未示出,可以结合对抗测试组件101使用其它硬件和/或 软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述 的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方 式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式 体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可 以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开 实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机程序介质,其上存 储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时, 使计算机执行上述方法实施例部分描述的方法。
根据本公开的一个实施例,还提供了一种用于实现上述方法实施例中 的方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括 程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程 序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序 的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结 合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可 以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于 电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以 上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一 个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只 读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、 便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述 的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的 数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种 形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信 号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发 送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合 使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限 于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明 操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如 Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似 的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在 用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部 分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在 涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包 括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连 接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若 干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的 实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一 个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征 和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤, 但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是 必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以 省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤 分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描 述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件 的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品 的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是 CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算 设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根 据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想 到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或 者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原 理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说 明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权 利要求指出。

Claims (15)

1.一种对抗测试看图说话系统的方法,其特征在于,所述方法包括:
构造概率对数函数,所述概率对数函数将在看图说话系统要识别的图片上将要叠加的对抗噪声作为自变量,基于所述看图说话系统输出语句在预定观测位置出现的词的组合为预定观测词组合的概率的对数构造因变量;
将所述概率对数函数分解成第一函数项和第二函数项,所述第一函数项和第二函数项都是所述将要叠加的对抗噪声、以及所述看图说话系统输出语句在非预定观测位置出现的词组合的概率的函数;
为第二函数项指定对抗噪声,求解第二函数项最小时的非预定观测位置出现的词组合的概率,并将解出的非预定观测位置出现的词组合的概率代入第一函数项,求解第一函数项最大时的对抗噪声,作为为第二函数项指定的对抗噪声,代替之前为第二函数项指定的对抗噪声,进行下一轮迭代,直至满足迭代终止条件;
将迭代后得到的对抗噪声叠加到所述看图说话系统要识别的图片上,以期望所述看图说话系统识别出的语句的预定观测位置出现指定的词。
2.根据权利要求1所述的方法,其特征在于,所述因变量为所述看图说话系统输出语句在预定观测位置出现的词的组合为预定观测词组合的概率的对数减去所述对抗噪声的二范数的平方的预定比例的差。
3.根据权利要求2所述的方法,其特征在于,所述第一函数项为在非预定观测位置出现的所有不同词组合的情况下的第一子函数的和减去所述对抗噪声的二范数的平方的预定比例的差,所述第一子函数通过以下方式构造:
构造给定将要叠加的对抗噪声时所述看图说话系统输出语句在预定观测位置出现的词的组合、以及所述看图说话系统输出语句在非预定观测位置出现的不同词组合的联合概率;
将所述联合概率除以所述看图说话系统输出语句在非预定观测位置出现的词组合的概率,得到的商求对数;
用得到的对数乘以所述看图说话系统输出语句在非预定观测位置出现的词组合的概率。
4.根据权利要求2所述的方法,其特征在于,所述第二函数项为第一和与第二和的差,所述第一和为在非预定观测位置出现的所有不同词组合的情况下的第二子函数的和,所述第二和为在非预定观测位置出现的所有不同词组合的情况下的第三子函数的和,所述第二子函数为所述看图说话系统输出语句在非预定观测位置出现的词组合的概率的对数乘以所述看图说话系统输出语句在非预定观测位置出现的词组合的概率,所述第三子函数为给定将要叠加的对抗噪声时所述看图说话系统输出语句在预定观测位置出现的词的组合、以及所述看图说话系统输出语句在非预定观测位置出现的不同词组合的联合概率乘以所述看图说话系统输出语句在非预定观测位置出现的词组合的概率。
5.根据权利要求4所述的方法,其特征在于,所述求解第二函数项最小时的非预定观测位置出现的词组合的概率,包括:
对第二函数项求导数,该导数中含有所述看图说话系统输出语句在非预定观测位置中的任一个观测位置上出现的词是词典中每个候选词的概率;
令所述导数等于0,求出所述看图说话系统输出语句在一个位置出现的词是词典中一个词的概率,从而得到所述看图说话系统输出语句在每一个非预定观测位置出现的词是所述预定观测词组合中的相应词的概率;
将所述看图说话系统输出语句在每一个非预定观测位置出现的词是所述预定观测词组合中的相应词的概率相乘,得到第二函数项最小时的非预定观测位置出现的词组合的概率。
6.根据权利要求5所述的方法,其特征在于,所述令所述导数等于0,求出所述看图说话系统输出语句在一个位置出现的词是词典中一个词的概率,从而得到所述看图说话系统输出语句在每一个非预定观测位置出现的词是所述预定观测词组合中的相应词的概率,包括:
令所述导数等于0,求出所述看图说话系统输出语句在一个位置出现的词是词典中一个词的概率;
将所述看图说话系统输出语句在一个位置出现的词是词典中一个词的概率归一化,所述归一化通过将所述看图说话系统输出语句在该位置出现的词是该词的概率除以所述看图说话系统输出语句在该位置出现的词是词典中各词的概率的和实现;
基于归一化的所述看图说话系统输出语句在一个位置出现的词是词典中一个词的概率,确定所述看图说话系统输出语句在每一个非预定观测位置出现的词是所述预定观测词组合中的相应词的概率。
7.根据权利要求3所述的方法,其特征在于,所述求解第一函数项最大时的对抗噪声,包括:通过深度神经网络的梯度下降法,求解所述对抗噪声。
8.根据权利要求1所述的方法,其特征在于,所述迭代终止条件包括以下中的至少一个条件:
当前轮迭代中解出的对抗噪声与上一轮迭代中解出的对抗噪声的差值绝对值小于预定对抗噪声差值绝对值阈值;
当前轮迭代中解出的所述看图说话系统输出语句在非预定观测位置出现的词组合的概率与上一轮迭代中解出的所述看图说话系统输出语句在非预定观测位置出现的词组合的概率的差值绝对值小于预定词组合概率差值绝对值阈值。
9.根据权利要求1所述的方法,其特征在于,所述对抗噪声为噪声矩阵,所述噪声矩阵的每一个元素对应于看图说话系统要识别的图片上的一个像素上要叠加的干扰值,
构造的所述概率对数函数具有如下约束条件:看图说话系统要识别的图片上的每个像素值加上所述噪声矩阵的相应位置的元素后,取值在【0,1】中。
10.根据权利要求1所述的方法,其特征在于,在构造概率对数函数之前,所述方法还包括:
从看图说话系统的验证图片集中取出多个对抗测试对象图片;
对于每个对抗测试对象图片,在所述验证图片集中选取混淆依据图片;
在混淆依据图片对应的语句上的预定观测位置上取词,取出的词的组合作为预定观测词组合,取出的对抗测试对象图片作为看图说话系统要识别的图片;
在将迭代后得到的对抗噪声叠加到所述看图说话系统要识别的图片上,以期望所述看图说话系统识别出的语句的预定观测位置出现指定的词之后,所述方法还包括:
将从所述看图说话系统输出的语句的预定观测位置上提取的词的组合与所述预定观测词组合进行比对,获得验证指标;
利用所述多个对抗测试对象图片的所述验证指标,验证对抗测试看图说话系统的效果。
11.根据权利要求10所述的方法,其特征在于,所述验证指标是命中率,其中,如果从所述看图说话系统输出的语句的预定观测位置上提取的词的组合与所述预定观测词组合相同,则命中率=1;反之,则命中率=0;
所述利用所述多个对抗测试对象图片的所述验证指标,验证对抗测试看图说话系统的效果,包括:将所述多个对抗测试对象图片的命中率取平均,得到平均命中率,如果平均命中率大于预定平均命中率阈值,则验证成功。
12.根据权利要求11所述的方法,其特征在于,所述如果平均命中率大于预定平均命中率阈值,则验证成功,包括:
如果平均命中率大于预定平均命中率阈值,获取叠加在所述多个对抗测试对象图片的每一个上的对抗噪声的二范数;
计算叠加在所述多个对抗测试对象图片上的对抗噪声的二范数的平均值;
如果所述二范数的平均值小于预定二范数平均值阈值,则验证成功。
13.一种对抗测试看图说话系统的装置,其特征在于,所述装置包括:
概率对数函数构造单元,用于构造概率对数函数,所述概率对数函数将在看图说话系统要识别的图片上将要叠加的对抗噪声作为自变量,基于所述看图说话系统输出语句在预定观测位置出现的词的组合为预定观测词组合的概率的对数构造因变量;
分解单元,用于将所述概率对数函数分解成第一函数项和第二函数项,所述第一函数项和第二函数项都是所述将要叠加的对抗噪声、以及所述看图说话系统输出语句在非预定观测位置出现的词组合的概率的函数;
迭代单元,用于为第二函数项指定对抗噪声,求解第二函数项最小时的非预定观测位置出现的词组合的概率,并将解出的非预定观测位置出现的词组合的概率代入第一函数项,求解第一函数项最大时的对抗噪声,作为为第二函数项指定的对抗噪声,代替之前为第二函数项指定的对抗噪声,进行下一轮迭代,直至满足迭代终止条件;
对抗噪声施加单元,用于将迭代后得到的对抗噪声叠加到所述看图说话系统要识别的图片上,以期望所述看图说话系统识别出的语句的预定观测位置出现指定的词。
14.一种对抗测试组件,其特征在于,包括:
存储器,存储有计算机可读指令;
处理器,读取存储器存储的计算机可读指令,以执行权利要求1-12中的任一个所述的方法。
15.一种计算机程序介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-12中的任一个所述的方法。
CN201910381832.5A 2019-05-08 2019-05-08 对抗测试看图说话系统的方法和装置 Active CN110222578B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910381832.5A CN110222578B (zh) 2019-05-08 2019-05-08 对抗测试看图说话系统的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910381832.5A CN110222578B (zh) 2019-05-08 2019-05-08 对抗测试看图说话系统的方法和装置

Publications (2)

Publication Number Publication Date
CN110222578A CN110222578A (zh) 2019-09-10
CN110222578B true CN110222578B (zh) 2022-12-27

Family

ID=67820697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910381832.5A Active CN110222578B (zh) 2019-05-08 2019-05-08 对抗测试看图说话系统的方法和装置

Country Status (1)

Country Link
CN (1) CN110222578B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011033744A1 (ja) * 2009-09-15 2011-03-24 日本電気株式会社 画像処理装置、画像処理方法および画像処理用プログラム
CN102324232A (zh) * 2011-09-12 2012-01-18 辽宁工业大学 基于高斯混合模型的声纹识别方法及系统
CN106856092A (zh) * 2015-12-09 2017-06-16 中国科学院声学研究所 基于前向神经网络语言模型的汉语语音关键词检索方法
CN108257116A (zh) * 2017-12-30 2018-07-06 清华大学 一种生成对抗图像的方法
CN108268870A (zh) * 2018-01-29 2018-07-10 重庆理工大学 基于对抗学习的多尺度特征融合超声图像语义分割方法
CN108446667A (zh) * 2018-04-04 2018-08-24 北京航空航天大学 基于生成对抗网络数据增强的人脸表情识别方法和装置
CN108510983A (zh) * 2017-02-24 2018-09-07 百度(美国)有限责任公司 用于序列标注的自动单元选择和目标分解的系统和方法
CN109117480A (zh) * 2018-08-17 2019-01-01 腾讯科技(深圳)有限公司 词预测方法、装置、计算机设备及存储介质
CN109308903A (zh) * 2018-08-02 2019-02-05 平安科技(深圳)有限公司 语音模仿方法、终端设备及计算机可读存储介质
CN109410184A (zh) * 2018-10-09 2019-03-01 天格科技(杭州)有限公司 基于稠密对抗网络半监督学习的直播色情图像检测方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380503B2 (en) * 2008-06-23 2013-02-19 John Nicholas and Kristin Gross Trust System and method for generating challenge items for CAPTCHAs
US8909514B2 (en) * 2009-12-15 2014-12-09 Microsoft Corporation Unsupervised learning using global features, including for log-linear model word segmentation
CA2891930C (en) * 2012-11-19 2016-08-02 Imds America Inc. Method and system for the spotting of arbitrary words in handwritten documents
US10565518B2 (en) * 2015-06-23 2020-02-18 Adobe Inc. Collaborative feature learning from social media
US10423874B2 (en) * 2015-10-02 2019-09-24 Baidu Usa Llc Intelligent image captioning
US10332509B2 (en) * 2015-11-25 2019-06-25 Baidu USA, LLC End-to-end speech recognition
US9811765B2 (en) * 2016-01-13 2017-11-07 Adobe Systems Incorporated Image captioning with weak supervision
US20180204113A1 (en) * 2017-01-13 2018-07-19 Ebay Inc. Interaction analysis and prediction based neural networking
US10896669B2 (en) * 2017-05-19 2021-01-19 Baidu Usa Llc Systems and methods for multi-speaker neural text-to-speech
US20180349794A1 (en) * 2017-06-01 2018-12-06 Intel IP Corporation Query rejection for language understanding
US11138513B2 (en) * 2017-06-13 2021-10-05 Princeton University Dynamic learning system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011033744A1 (ja) * 2009-09-15 2011-03-24 日本電気株式会社 画像処理装置、画像処理方法および画像処理用プログラム
CN102324232A (zh) * 2011-09-12 2012-01-18 辽宁工业大学 基于高斯混合模型的声纹识别方法及系统
CN106856092A (zh) * 2015-12-09 2017-06-16 中国科学院声学研究所 基于前向神经网络语言模型的汉语语音关键词检索方法
CN108510983A (zh) * 2017-02-24 2018-09-07 百度(美国)有限责任公司 用于序列标注的自动单元选择和目标分解的系统和方法
CN108257116A (zh) * 2017-12-30 2018-07-06 清华大学 一种生成对抗图像的方法
CN108268870A (zh) * 2018-01-29 2018-07-10 重庆理工大学 基于对抗学习的多尺度特征融合超声图像语义分割方法
CN108446667A (zh) * 2018-04-04 2018-08-24 北京航空航天大学 基于生成对抗网络数据增强的人脸表情识别方法和装置
CN109308903A (zh) * 2018-08-02 2019-02-05 平安科技(深圳)有限公司 语音模仿方法、终端设备及计算机可读存储介质
CN109117480A (zh) * 2018-08-17 2019-01-01 腾讯科技(深圳)有限公司 词预测方法、装置、计算机设备及存储介质
CN109410184A (zh) * 2018-10-09 2019-03-01 天格科技(杭州)有限公司 基于稠密对抗网络半监督学习的直播色情图像检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Deep Residual Learning for Image Recognition;He Kaiming等;《Conference on Computer Vision and Pattern Recognition》;20161231;第770-778页 *
基于深度学习和上下文语义的视觉内容识別与分析研究;欧新宇;《中国博士学位论文全文数据库 信息科技辑》;20181015(第10期);第I138-60页 *

Also Published As

Publication number Publication date
CN110222578A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
CN110135582B (zh) 神经网络训练、图像处理方法及装置、存储介质
WO2020140073A1 (en) Neural architecture search through a graph search space
US9047566B2 (en) Quadratic regularization for neural network with skip-layer connections
CN111724370B (zh) 基于不确定性和概率的多任务图像质量评估方法及系统
CN109740734B (zh) 一种利用优化神经元空间排布的卷积神经网络的图像分类方法
CN110210558B (zh) 评估神经网络性能的方法及装置
CN111881926A (zh) 图像生成、图像生成模型的训练方法、装置、设备及介质
CN109101717A (zh) 基于现实与模糊数据深度融合学习的固体火箭发动机可靠性预测方法
CN113221645B (zh) 目标模型训练方法、人脸图像生成方法以及相关装置
CN111488904A (zh) 基于对抗分布训练的图像分类方法及系统
CN116596916A (zh) 缺陷检测模型的训练和缺陷检测方法及其装置
US20240153271A1 (en) Method and apparatus for selecting cover of video, computer device, and storage medium
CN113965313B (zh) 基于同态加密的模型训练方法、装置、设备以及存储介质
CN116682399A (zh) 一种音乐生成方法、系统、电子设备及介质
CN110222578B (zh) 对抗测试看图说话系统的方法和装置
CN113011532A (zh) 分类模型训练方法、装置、计算设备及存储介质
CN110825903A (zh) 一种改进哈希融合机制的视觉问答方法
CN111797220A (zh) 对话生成方法、装置、计算机设备和存储介质
KR102110316B1 (ko) 뉴럴 네트워크를 이용한 변분 추론 방법 및 장치
CN110188620B (zh) 对抗测试看图说话系统的方法和相关装置
CN111161238A (zh) 图像质量评价方法及装置、电子设备、存储介质
CN116258923A (zh) 图像识别模型训练方法、装置、计算机设备和存储介质
CN115457365A (zh) 一种模型的解释方法、装置、电子设备及存储介质
CN114386580A (zh) 决策模型训练、决策方法、装置、电子设备及存储介质
CN110738318B (zh) 网络结构运行时间评估及评估模型生成方法、系统和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant