Processing math: 0%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

多模态深度伪造及检测技术综述

李泽宇, 张旭鸿, 蒲誉文, 伍一鸣, 纪守领

李泽宇, 张旭鸿, 蒲誉文, 伍一鸣, 纪守领. 多模态深度伪造及检测技术综述[J]. 计算机研究与发展, 2023, 60(6): 1396-1416. DOI: 10.7544/issn1000-1239.202111119
引用本文: 李泽宇, 张旭鸿, 蒲誉文, 伍一鸣, 纪守领. 多模态深度伪造及检测技术综述[J]. 计算机研究与发展, 2023, 60(6): 1396-1416. DOI: 10.7544/issn1000-1239.202111119
Li Zeyu, Zhang Xuhong, Pu Yuwen, Wu Yiming, Ji Shouling. A Survey on Multimodal Deepfake and Detection Techniques[J]. Journal of Computer Research and Development, 2023, 60(6): 1396-1416. DOI: 10.7544/issn1000-1239.202111119
Citation: Li Zeyu, Zhang Xuhong, Pu Yuwen, Wu Yiming, Ji Shouling. A Survey on Multimodal Deepfake and Detection Techniques[J]. Journal of Computer Research and Development, 2023, 60(6): 1396-1416. DOI: 10.7544/issn1000-1239.202111119
李泽宇, 张旭鸿, 蒲誉文, 伍一鸣, 纪守领. 多模态深度伪造及检测技术综述[J]. 计算机研究与发展, 2023, 60(6): 1396-1416. CSTR: 32373.14.issn1000-1239.202111119
引用本文: 李泽宇, 张旭鸿, 蒲誉文, 伍一鸣, 纪守领. 多模态深度伪造及检测技术综述[J]. 计算机研究与发展, 2023, 60(6): 1396-1416. CSTR: 32373.14.issn1000-1239.202111119
Li Zeyu, Zhang Xuhong, Pu Yuwen, Wu Yiming, Ji Shouling. A Survey on Multimodal Deepfake and Detection Techniques[J]. Journal of Computer Research and Development, 2023, 60(6): 1396-1416. CSTR: 32373.14.issn1000-1239.202111119
Citation: Li Zeyu, Zhang Xuhong, Pu Yuwen, Wu Yiming, Ji Shouling. A Survey on Multimodal Deepfake and Detection Techniques[J]. Journal of Computer Research and Development, 2023, 60(6): 1396-1416. CSTR: 32373.14.issn1000-1239.202111119

多模态深度伪造及检测技术综述

详细信息
    作者简介:

    李泽宇: 1999年生. 硕士研究生. 主要研究方向为人工智能安全和计算机视觉

    张旭鸿: 1988年生. 博士,副研究员. CCF会员. 主要研究方向为人工智能安全、数据驱动软件与系统安全、大数据系统与分析

    蒲誉文: 1993年生. 博士. 主要研究方向为隐私计算和人工智能安全

    伍一鸣: 1996年生. 博士研究生. 主要研究方向为数据驱动安全、黑灰产业挖掘、网络犯罪研究

    纪守领: 1986年生. 博士,教授,博士生导师. CCF高级会员. 主要研究方向为数据驱动安全和隐私、人工智能安全、大数据挖掘与分析

    通讯作者:

    纪守领(sji@zju.edu.cn

  • 中图分类号: TP391

A Survey on Multimodal Deepfake and Detection Techniques

More Information
    Author Bio:

    Li Zeyu: born in 1999. Master candidate. His main research interests include AI security and computer vision

    Zhang Xuhong: born in 1988. PhD, associate professor. Member of CCF. His main research interests include AI security, data driven software and system security, big data systems and analytics

    Pu Yuwen: born in 1993. PhD. His main research interests include privacy computing and AI security

    Wu Yiming: born in 1996. PhD candidate. Her main research interests include data driven security, black industry mining, and cybercrime research

    Ji Shouling: born in 1986. PhD, professor, PhD supervisor. Senior member of CCF. His main research interests include data-driven security and privacy, AI security, big data mining and analytics

  • 摘要:

    随着各种深度学习生成模型在各领域的应用,生成的多媒体文件的真伪越来越难以辨别,深度伪造技术也因此得以诞生和发展. 深度伪造技术通过深度学习相关技术能够篡改视频或者图片中的人脸身份信息、表情和肢体动作,以及生成特定人物的虚假语音. 自2018年Deepfakes技术在社交网络上掀起换脸热潮开始,大量的深度伪造方法被提出,并展现了其在教育、娱乐等领域的潜在应用. 但同时深度伪造技术在社会舆论、司法刑侦等方面产生的负面影响也不容忽视. 因此有越来越多的对抗手段被提出用于防止深度伪造被不法分子所应用,如深度伪造的检测和水印. 首先,针对不同模态类型的深度伪造技术以及相应的检测技术进行了回顾和总结,并根据研究目的和研究方法对现有的研究进行了分析和归类;其次,总结了近年研究中广泛使用的视频和音频数据集;最后,探讨了该领域未来发展面临的机遇和挑战.

    Abstract:

    With the application of all kinds of deep learning generation models in various fields, the authenticity of their generated multimedia files has become increasingly difficult to distinguish, therefore, deepfake technology has been born and developed. Utilizing deep learning related techniques, the deepfake technology can tamper with the facial identity information, expressions, and body movements in videos or pictures, and generate fake voice of a specific person. Since 2018, when Deepfakes sparked a wave of face swapping on social networks, a large number of deepfake methods have been proposed, which had demonstrated their potential applications in education, entertainment, and some other fields. But at the same time, the negative impact of deepfake on public opinion, judicial and criminal investigations, etc. can not be ignored. As a consequence, more and more countermeasures have been proposed to prevent deepfake from being utilized by the criminals, such as the detection of deepfake and watermark. Firstly, a review and summary of deepfake technologies of different modal types and corresponding detection technologies are carried out, and the existing researches are analyzed and classified according to the research purpose and research method. Secondly, the video and audio datasets widely used in the recent studies are summarized. Finally, the opportunities and challenges for future development in this field are discussed.

  • 近年来,随着大数据、人工智能技术的应用与普及,计算机体系结构朝着异构化、并行化的方向发展,计算能力强、执行效率高的异构计算平台是当前环境所迫切需要的[1]. 为实现异构并行计算,开放运算语言[2](open computing language,OpenCL)框架应运而生.因OpenCL在C99—ISO/IEC 9899:1999标准上进行了优化扩展,因此它能够在CPU、GPU、数字信号处理器等处理器上执行. 然而,由于异构平台软硬件环境的差异,OpenCL性能的可移植性[3]存在较大的差异,即同一个OpenCL程序在不同异构平台下的执行效率有较大差异.

    现有的针对OpenCL的优化工作通常围绕异构并行映射及线程粗化因子预测任务展开. 异构并行映射任务旨在将目标程序映射到合适的硬件设备上(如GPU或CPU),以实现高效的执行.线程粗化因子预测旨在为即将执行的程序分配适当的线程数,以实现系统开销与程序并行执行效率的最大收益,故需要判断线程是否会在粗化过程中收益,从而获得最佳的粗化因子.

    针对上述2种代码优化任务,现有的解决思路是由专家知识定义优化特征,并利用机器学习技术构建专家预测模型,进而推断出执行效率高的异构平台(CPU或GPU)或最优粗化因子[4-5],但该类方法需要根据专家知识和经验人工提取特征,不仅需要较高的专家成本,也难以实现端到端的自动优化. 随着深度学习技术的发展,深度学习被广泛应用到代码建模相关任务中,如克隆检测[6]、代码自动生成[7]、漏洞检测[8]等. 近年来,研究者提出利用深度学习技术构建代码自动优化预测模型[9-10]. 而现有的基于深度学习技术的优化方法[6],大多利用自然语言处理模型如长短期记忆(long short-term memory,LSTM)神经网络[11]、循环神经网络(recurrent neural network, RNN)等,将代码按照自然语言的格式进行编码,并输入到黑盒深度学习模型中构建代码优化预测模型. 这使得预测模型仅能够捕获代码的顺序依赖关系,而难以提取代码所特有的深度结构与语义信息. 因此与传统基于机器学习方法相比,预测效果并无明显提升.

    针对现有方法在上述2种代码优化任务上存在的问题,本文提出了ACCEPT (automatic OpenCL code optimization heuristics),一种基于多关系图神经网络的OpenCL程序自动优化启发式方法. 该方法首先将OpenCL代码表示成图数据结构,然后利用图神经网络[12]学习代码图中的深层结构与语义信息,将图中节点信息映射到高维的向量空间中以提取代码的深度特征信息,最后利用全连接神经网络层构建异构映射和线程粗化因子预测模型. 本文一方面基于程序的抽象语法树(abstract syntax tree,AST),结合数据流图和控制流图以及程序中变量的传递、调用关系,在源代码上构建了一种具有多种边关系的程序图结构,以增强变量间的依赖关系;另一方面,为了丰富图中节点的特征信息,最大程度地提取代码的特征信息,本文基于编译器框架LLVM[13] (low level virtual machine)的中间表示形式(intermediate representation,IR),添加了顺序流、控制流和数据流,在IR代码上构建了一种多关系程序图. 同时,通过改进现有的图神经网络[11],使其能够处理上述2种类型的程序图结构. 此外,为了解决数据不足的问题,本文在线程粗化因子任务中使用了迁移学习技术[14],用于从异构映射任务中迁移标注数据以改进线程粗化任务的学习效果.

    为评估方法的有效性,本文在异构映射任务与线程粗化因子预测任务上进行实验.在异构映射任务中,使用7种标准数据集,在3种平台下与现有的6种经典方法进行对比实验. 在线程粗化因子预测任务中,采用17个OpenCL 内核程序,在4种平台下与现有的5种方法进行对比. 实验结果表明,在异构映射任务中,本文方法的预测准确率能够达到88.7%,且加速比与现有最优方法相比提高7.6%. 在线程粗化因子的预测任务中,加速比与现有最优方法相比提高5.2%.

    本文的主要贡献有3个方面:

    1)提出了一种程序图构建方法. 该方法既能够表征代码的深度结构特征,又能够捕获代码的语法语义信息.

    2)提出了一种基于多关系图神经网络的OpenCL程序自动优化启发式方法ACCEPT. 与现有方法不同,该模型能够自动提取代码的深层次结构和语义信息,并结合迁移学习技术进行建模,能够有效解决训练数据不足的问题.

    3)进行了充分的对比分析实验. 结果表明,ACCEPT在异构映射与线程粗化任务上均优于当前最优的方法,加速比相较最优方法分别提高7.6%和5.2%.

    目前,主流的启发式优化方法均采用了机器学习和深度学习技术,机器学习的优势是不需要获取硬件平台的配置信息,仅需获得程序的静态及动态特征信息[4,15-16],通过对特征自动化建模来完成编译运行时优化任务. 而现有工作大多数采用人工的方式筛选特征,由于编译过程中涉及大量的解析优化过程,使得人工挑选出的特征表征能力不强,并且挑选特征的过程耗时耗力,无法实现端到端的自动优化. 随着深度学习技术的发展,研究者提出利用深度学习模型来构建代码优化预测模型,即将源代码类比成自然语言进行处理,使用深度神经网络自动提取特征,虽然实现了端到端的优化,但该方法更多关注于提取代码的顺序依赖关系,而忽略了代码所特有的语法语义与结构信息. 本节接下来分别介绍现有的基于传统机器学习技术与基于深度学习技术的代码优化方法.

    Grewe等人[4]针对异构设备并行任务,利用决策树算法构建预测模型. 为此,其通过获取代码的静态信息如计算操作、全局内存和局部内存信息,以及程序执行的动态信息如数据传输大小、内核工作项大小作为代码特征信息. 而上述特征的设计需要特定领域的专家知识,并且仅适用于支持LLVM的异构设备的代码优化任务.

    Magni等人[15]针对线程粗化因子任务研发了一套预测模型,该模型利用二元决策过程,在6个粗化因子(1,2,4,8,16,32)中预测1个最佳的值. 模型将1个6分类问题转换成递归的二元判断任务. 例如,第1次判断能否从粗化中受益,若不能受益,则最佳粗化因子为1;否则进行粗化,之后再判断是否从中受益,若不能受益,则最佳粗化因子为2;否则进行粗化并进入下一轮的递归判断,直至5次决策完成为止. 文献[15]的作者手动挑选出17个代码相关的特征,如程序分支语句个数、指令个数等. 分别计算每个相关特征的粗化收益率,然后使用主成分分析(principal components analysis,PCA)算法,在保存信息量95%以上的前提下获得前7个主成分.

    Cummins等人[9]提出了一种基于文本的预测模型,该模型可直接输入源代码,并可以应用于异构映射和线程粗化2种代码优化任务. 首先使用自定义的编码方式为OpenCL程序构建字符表,并通过字符表将每个OpenCL程序编码成等长的数字序列;然后使用词嵌入技术和LSTM神经网络提取代码特征;最后使用2层全连接神经网络预测结果. 总之,Cummins等人[9]使用基于深度学习技术的语言模型,将OpenCL程序当作文本,从文本的顺序关系中提取特征完成自动优化任务.

    Cummins等人[17]提出了一种基于文本上下文的嵌入模型. 该模型的改进方法首先使用LLVM前端将源代码编译成IR,从IR中抽取数据流和控制流,为文本嵌入提供上下文信息;然后对LLVM的 IR进行预处理,如过滤注释和元数据,并使用特定的字符代替其中的变量及标识符;最后对预处理的IR指令构建词汇表,将每条指令映射到嵌入空间以生成指令级的嵌入向量,利用该向量完成程序优化任务.

    近年来针对OpenCL程序启发式优化[6,18]的相关工作主要从依赖人工定义特征的方法过渡到依靠深度学习技术自动提取特征的方法. 针对现有研究方法的不足,为了解决使用深度学习技术的代码优化方法不能够提取到准确的代码所特有的特征信息的问题,本文提出了一种基于多关系图神经网络的OpenCL程序自动优化启发式方法,将代码转换成多关系代码图[19],不仅能够获取程序语法语义信息,还能够捕获程序语言的结构信息,然后使用深度学习图网络[20]对图数据不同关系建模,学习程序图的特征表示并进行分类,完成相关的代码优化任务.

    本节主要介绍基于图网络的OpenCL程序自动优化启发式方法ACCEPT及其具体实现,该方法的整体框架如图1所示.

    图  1  ACCEPT框架
    Figure  1.  ACCEPT framwork

    ACCEPT以待优化代码的程序图作为输入,输出待优化代码的优化参数,如异构映射平台或线程粗化因子. 为构建ACCEPT模型,需要收集大量的训练数据[21],为此本文借助现有的生成模型CLgen[22],合成训练所需的OpenCL 内核程序. 然后,对生成的OpenCL 内核程序进行归一化处理,以消除OpenCL 内核程序间编程风格差异对训练任务的影响. 接下来,使用Clang编译器对预处理后的OpenCL 内核程序进行构图,分别在源代码和IR代码层次上构建对应的AST增强图和多关系IR图. 最后,利用改进的图网络模型,分别提取AST增强图和多关系IR图的高维特征表示,并将2种特征向量进行拼接,利用决策网络对其进行分类,完成代码优化相关的预测任务. 接下来介绍ACCEPT的具体实现细节.

    深度学习模型需要大量的训练数据,但对于代码优化相关的任务,当前并没有足够多的公开可用的数据集. 为此,本文利用现有的方法CLgen[22]来自动生成OpenCL数据. 此外,OpenCL代码的运行[23]还需要有对应的主机端代码(host code)来驱动,用于获取平台信息和资源. 为了构建主机端代码,需要对OpenCL源代码进行解析,以获取主机端代码所需要的参数信息,进而驱动内核程序的运行,最后统计运行信息完成对训练数据的标记.

    1)OpenCL代码生成. 为生成模型所需要的训练数据,本文从GitHub中爬取了12351个OpenCL文件,过滤掉无法静态编译与没有实际功能的代码文件后,最终得到5200个OpenCL文件作为训练集,用于构建代码生成模型CLgen.

    CLgen主要由编码、LSTM神经网络、OpenCL生成和过滤器4个模块组成. 其使用混合编码方案[24],对于OpenCL语言的关键字等使用基于字(token) 的编码方案;对于用户自定义的标识符、函数名等使用基于字符的编码方案,其目的是为了平衡词汇表规模、保留代码语义. LSTM神经网络模块的作用是提取代码的高维抽象特征,LSTM循环单元结构能够有效学习代码token之间的顺序依赖关系,CLgen使用2层LSTM网络,每层网络设置256个神经元,训练过程中循环迭代20次,学习率设为0.01. OpenCL合成模块通过迭代采样的方式生成OpenCL 内核程序,主要将LSTM层输出的向量解码成对应的代码. 本文将生成OpenCL 内核程序的最大字符长度设置为5 000. 最后再利用过滤器模块移除静态解析失败、编译失败以及运行超时等无效的OpenCL 内核程序,最终得到11081条可用的数据.

    2)驱动代码生成. 为了构造主机端代码,本文首先对OpenCL源代码进行解析,获取驱动相关信息如函数名、参数、工作组及传输值,将其写入固定的主机端代码模板.然后获取设备信息组成上下文信息,设置消息队列存放需要运行的内核代码,因此驱动代码定义了内核程序执行前的通用流程,仅需对运行的内核程序提取必要信息写入驱动代码即可.

    3)训练数据标记. 为了获得训练数据对应的标签,本文数据程序分别在CPU和GPU上运行,以计算出在OpenCL 内核程序上的实际运行时间与置信区间. 为此,首先在主机端代码模板中设置宏参数,以获取程序执行的时间戳、开始执行时间与结束执行时间,进而获取内核程序的实际执行时间. 然后,将OpenCL内核程序分别在CPU和GPU上重复执行,统计出程序在CPU和GPU上执行时间的置信区间,最终选择执行时间最短的平台作为内核程序的标签.

    为了降低不同编码风格对深度学习模型的影响,需要对OpenCL代码进行归一化处理. 为此,首先应用CLgen对OpenCL 内核程序进行标准化处理,去除与优化任务无关的冗余信息,如删除宏定义指令、删除条件编译与注释、解析AST以及统一变量命名风格等. 标准化简化了多关系图网络对源代码的建模任务的复杂性,消除了程序中无关的语义信息对模型的干扰,进而降低模型复杂度. 图2展示了预处理前后的对比图. 可以看出,注释、变量或函数的命名与程序员的编码习惯相关,这可能导致对模型学习的干扰.删除注释并不会影响代码的语法语义信息,同时对变量及函数名进行标准化处理,以减小微小语义差异对模型造成的影响.

    图  2  预处理前后对比
    Figure  2.  Comparison before and after preprocessing

    具体地,首先解析出OpenCL 内核程序的AST,遍历AST树,根据树中节点的类型删除条件编译、源代码注释. 对编译预处理的宏指令譬如#include开头的标识符进行逐一替换. 对于变量(VarDecl)及函数声明(FunDecl)的节点,顺序替换为统一的字符,如用户自定义的方法名与变量名分别按照先后顺序替换为{A, B, …, Z}与{a, b, …, z}.

    为准确地表示程序深度语法、语义及结构特征信息,本文在源码AST的基础上设计了5种类型的边关系,构造了AST增强图. 同时,基于LLVM的IR设计了3种边关系,构造了多关系IR图.

    在AST层面,本文在AST树的基础上构建源代码的语法语义关系,首先使用Clang编译器对OpenCL代码进行语法分析,得到OpenCL源码的AST,程序图的主体是程序的抽象语法树,树中的节点由语法结点和语法令牌(Token)组成. 其中语法节点是非叶子节点,语法Token是树中的终端节点,节点的属性字段(字符串)标识了节点的类型. 然后由根节点开始深度搜索AST树,在遍历过程中,根据节点的类型构建了5种边关系:ASTChild边、ComputedFrom边、NextToken边、GuardedBy边、Jump边. 同样地,在IR层面,通过LLVM内置函数可以直接获得数据流和控制流信息,同时为了记录IR节点的顺序,构建了IR顺序流,如图3所示.

    图  3  LLVM IR指令
    Figure  3.  LLVM IR instruction

    表1列举了不同的边类型,接下来将详细介绍2种图中各种类型边的含义.

    表  1  程序图连接关系
    Table  1.  Program Diagram Connection Relationship
    源程序关系类型
    抽象语法树ASTChild边、ComputedFrom边、Jump边,NextToken边、GuardedBy边
    中间指令IR顺序流、数据流、控制流
    下载: 导出CSV 
    | 显示表格

    图4展示了AST增强图中边的类型,接下来详细介绍各种边的构建.

    图  4  AST增强图
    Figure  4.  AST augment graph

    1)ASTChild边. ASTChild边连接了父节点和子节点,用于表征代码的抽象结构化信息,它代表一个程序图的基本结构. 通过Clang编译器获得AST树的根节点,基于根节点深度遍历获得AST的其他节点,本文使用ASTChild边构建OpenCL代码的基本图结构.

    2)ComputedFrom边. ComputedFrom边连接了等式左右两边变量的赋值关系,用于记录代码的数据流,在内核程序中存在着较多的赋值语句,变量的赋值使用ComputedFrom边进行存储.

    3)Jump边. Jump边记录了跳转语句的跳转方向,用于表征代码的控制流,程序语句的跳转可以控制程序运行的结果,例如常见的循环语句、判断语句等,Jump边控制着程序执行的路径,是程序特有的重要特征.

    4)NextToken边. NextToken边连接了AST树中同一层的叶子节点,其记录了节点之间的顺序关系,进而丰富了代码的上下文依赖信息.

    5)GuardedBy边. GuardedBy边将条件语句中的变量与其作用域相同的变量相连,用于表征程序的控制流.对于条件语句而言,条件表达式会影响程序的执行流程,同时,表达式中变量的值也会影响程序控制流的跳转方向.因此,为了捕获复杂的控制依赖关系,本文使用GuardedBy边记录条件语句中变量的关系. 例如,对于条件语句if(x > y){…x…} else {…y…},使用GuardedBy边将if域中的x与表达式x > y相连,将else域中的y与表达式x > y相连.

    为了进一步捕获控制依赖信息,Jump边用来连接所有的跳转依赖关系,包含if,switch…case,while,for,do…while所形成的跳转关系. 在上述跳转指令中,本文将判断表达式与所有跳转域中的第一个变量相连以捕获跳转关系.

    1)IR顺序流边. IR顺序流边连接了当前指令与下一条指令,用于记录LLVM IR指令的顺序关系,同样地,这种顺序关系对于图网络而言也是不可或缺的. 如图3为内核程序对应的IR指令,IR顺序流边记录图中每条指令的执行顺序.

    2)IR数据流边. 同样,在IR层面中,IR数据流边连接变量的调用关系,记录了寄存器中变量的赋值过程与走向,是IR指令的重要特征.

    3)IR控制流边. IR控制流连接了跳转指令与下一条指令. 在遇到br等跳转指令时会记录指令的跳转方向,与AST层面的Jump边类似,IR控制流边记录指令的跳转路径.

    同样地,在IR层面通过LLVM内置函数获得IR的数据流和控制流信息并进行向量存储,为了记录IR的执行顺序,本文增加了顺序流边,该边有效记录了指令的执行顺序. 图5展示了所构建的IR多关系图.

    图  5  IR多关系图
    Figure  5.  IR multi-relationship graph

    多关系代码图的构建如算法1所示.该算法以OpenCL源码为输入,通过分析源码的AST与IR中的数据控制依赖关系,输出二元组(GAST, GIR),分别存储对应的AST增强图GAST与多关系IR图GIR.

    算法1. 多关系代码图生成算法.

    输入:OpenCL源代码 cl

    输出:源代码对应的AST增强图与多关系IR图(GAST, GIR).

    EntryClang.parsecl);

    ② (GAST, GIR)← initialize();

    CursordeepSearchEntry);

    ④ if Cursor.kind = “FunDecl” then

    ⑤  GAST.addcreateASTChild());

    ⑥  if Cursor.hasToken() then

    ⑦   GAST.addcreateNextToken());

    ⑧  end if

    ⑨ end if

    ⑩ if Cursor.kind = “BinaryOper” then

    ⑪  GAST.addcreateComputedFrom());

    ⑫ end if

    ⑬ if Cursor.kind = “ForStmt” or “IfStmt” then

    ⑭ GAST.addcreateJump());

    ⑮ end if

    ⑯ if Cursor.kind = “IfStmt” then

    ⑰ GAST.addcreateGuardedBy());

    ⑱ end if

    ir ← Clang.compilecl);

    firstBlockfindFirstBlockir);

    curInstseqSearchfirstBlock);

    ㉒ if curInst.Name() ≠ “br” and “indirectbr” and “switch” then

    ㉓ GIR.addcreateIRSeqFlowcurInst

    firstBlock));

    ㉔ end if

    ㉕ if exitReferencecurInst.Name()) then

    ㉖ GIR.addcreateIRDataFlowcurInst

    firstBlock));

    ㉗ end if

    ㉘ if curInst.Name() == “br” or “indirectbr” or “switch” then

    ㉙ GIR.addcreateIRControlFlowcurInst

    firstBlock));

    ㉚ end if

    ㉛ return (GAST, GIR).

    具体地,为构建GAST,利用Clang编译器提取代码的AST,从根节点逐层遍历AST,在遍历AST的过程中,利用游标(算法1中变量Cursor)的类型来判断AST边的类型,并在对应的AST节点位置分别添加ASTChild边、NextToken边、ComputedFrom边、GuardedBy边以及Jump边(如算法1中行④~⑱),进而完成GAST的构建. 另一方面,为构建IR多关系图,使用Clang编译器将OpenCL 内核程序转换成LLVM 的IR,利用程序分析技术解析IR并定位到第1个基本块,然后顺序遍历基本块中的指令(如算法1中行⑲~㉑),在遍历指令过程中,向GIR中依次添加IR顺序流、数据流以及控制流(如算法1中行㉒~㉚).最终,算法返回二元组(GAST, GIR)(如算法1中行㉛).

    为将所构建的代码图表示成深度学习模型能够处理的数据形式,ACCEPT使用邻接矩阵表示图的节点间的连接关系,即当2个节点之间存在边时,则将邻接矩阵中对应位置置为1,否则置为0. 由于GAST存在5种类型的边,GIR存在3种类型的边,每种类型的边都需要使用1个邻接矩阵表示,因此共需要8个邻接矩阵表示(GAST, GIR).同时,为了丰富图中节点之间的连接信息,通过转置邻接矩阵,为图添加反向边,增强图神经网络对节点间关系的学习能力.

    ACCEPT使用Word2Vec[25]对代码图中每个节点进行编码,其能够将单个词映射到连续向量空间,这有助于学习代码的语法与语义关系.例如,声明类的节点更容易被映射到相近的向量空间中,模型可以学习if-else语句的顺序关系等. 为了保存节点间丰富的信息,本文将每个Token和单词映射到100维固定长度的嵌入向量.

    为对代码图中的节点进行编码,ACCEPT利用深度优先遍历,首先从根节点遍历代码图,定位节点类型,如AST增强图中的节点类型包括根节点(TranslationUnit)、参数说明(ParmDecl)等,多关系IR图中节点类型主要包括call,icmp,load等. 然后利用Skip-Gram嵌入算法学习节点类型和节点上下文之间的关系,该嵌入方法根据节点类型出现的频率构建词汇表,然后根据词汇表中节点类型抽取对应的特征向量,以构建图节点的特征矩阵. 此外,为尽可能减小词汇表大小,本文对变量、函数名以及常数采用Token级别的编码方式.

    为了能够准确地对多关系代码图建模,并提取OpenCL代码的深度结构和语义特征,本文提出了一种多关系图深度神经网络模型,该网络在关系图卷积网络(relational graph convolutional network,RGCN)的基础上,通过改进其输入结构、邻域聚合与节点信息传播策略,使其能够处理具有多种边类型的多关系代码图,同时可以针对不同类型的边进行特征提取,以便学习更深层的代码特征,提取OpenCL代码的高维抽象特征向量. 为此,多关系图网络模型以邻接矩阵与节点特征矩阵为输入,利用邻域聚合算法,按照边类型对图中节点信息进行更新,最后使用图嵌入策略完成一轮特征提取. 为实现多跳节点之间的特征信息交互,需要在图网络中进行多轮迭代特征提取,以完成对多关系中所有的节点特征的更新,输出OpenCL代码的高维抽象特征. 接下来,将详细介绍邻域聚合与图嵌入的具体实现.

    为了学习程序的高维抽象表示,在图网络中需要递归更新图中每个节点的特征表示,这通过对邻域节点的特征进行聚合操作来实现,以学习节点邻域信息,从而找到每个节点更加准确的抽象表示. 邻域聚合表达式为

    \boldsymbol{l}:=\displaystyle\sum_{u\in {N}_{\left(v\right)}}\left({\boldsymbol{\mu }}_{u}^{t}\right) , (1)

    其中, \boldsymbol{l} 为邻域聚合的结果,节点 u 是当前节点 v 的邻域, {N}_{\left(v\right)} 是节点 v 的邻域集, {\boldsymbol{\mu }}_{u}^{t} 是节点 u t 层的更新特征. 邻域信息的聚合能够有效地传递节点的信息,为后续的图嵌入过程提供信息交互的支持.

    由2.3.5节可知,节点特征的初始化任务由Word2Vec模型得到. 每一次迭代都将更新节点当前状态,并将其作为消息发送给图中的所有邻域节点来交换信息. 当每个顶点完成消息聚合后,当前节点状态将被用于下一次迭代的邻域聚合过程. 重复此迭代更新步骤直至达到固定的迭代次数. 当完成固定迭代次数的更新后,网络将输出学习到的节点特征矩阵. 本文将节点特征矩阵按行展开聚合,组成新的一维特征向量,即为OpenCL程序的高维抽象特征向量.

    图嵌入旨在更新节点的特征信息,完成节点间的信息传递. 接下来以AST增强图为例,详细说明图嵌入具体过程.

    假设OpenCL程序对应的AST增强图表示为G= \left\langle {V,E} \right\rangle,其中 V 为节点的集合, E 为边的集合,E= \{{\boldsymbol{E}}_{\mathrm{A}\mathrm{S}\mathrm{T}},{\boldsymbol{E}}_{\mathrm{N}\mathrm{T}},{\boldsymbol{E}}_{\mathrm{G}\mathrm{B}},{\boldsymbol{E}}_{\mathrm{J}\mathrm{u}\mathrm{m}\mathrm{p}},{\boldsymbol{E}}_{\mathrm{C}\mathrm{F}}\},集合中的边分别对应ASTChild边、NextToken边、GuardedBy边、Jump边以及ComputedFrom边. 首先根据边类型进行邻域聚合,假设Word2Vec初始化的节点特征矩阵为 \boldsymbol{X} ,更新特征为 \boldsymbol{\mu } ,则 \boldsymbol{\mu } 的计算公式为

    \boldsymbol{\mu }=({\boldsymbol{E}}_{\mathrm{A}\mathrm{S}\mathrm{T}}+{\boldsymbol{E}}_{\mathrm{N}\mathrm{T}}+{\boldsymbol{E}}_{\mathrm{G}\mathrm{B}}+{\boldsymbol{E}}_{\mathrm{J}\mathrm{u}\mathrm{m}\mathrm{p}}+{\boldsymbol{E}}_{\mathrm{C}\mathrm{F}})\boldsymbol{X} . (2)

    特征矩阵 \boldsymbol{X} 与每种边构建的图进行消息传递,生成每种边独有的新的节点特征,最终将5种特征矩阵进行聚合,完成边类型的特征提取. 类似地,IR多关系图的嵌入同样经过AST增强图嵌入流程完成3种边类型的特征提取. 具体的嵌入过程如图6所示.

    图  6  图嵌入过程图
    Figure  6.  Graph embedding process

    首先将节点特征向量 \boldsymbol{\mu } 以及二元组(GAST, GIR)输入嵌入层,假设当前节点 v 的特征向量为 {\boldsymbol{X}}_{v} ,节点 u 是当前节点 v 的邻域,为了学习每个节点的嵌入向量,过程为:设置当前节点特征向量 {\boldsymbol{X}}_{v} 的初始化权重矩阵 {\boldsymbol{W}}_{0} ,第i轮更新的邻域节点集聚合成 {\boldsymbol{\mu }}_{u}^{i} ,之后进入n轮嵌入过程,每一轮迭代嵌入使用修正线性单元(rectified linear unit)激活函数,记为ReLU,用于过滤噪声,经过n轮嵌入后使用tanh激活函数,与当前节点特征叠加再使用ReLU激活后获得当前节点第i+1轮的节点更新,完成更新后获得OpenCL代码的特征矩阵,最后将特征矩阵逐行展开并聚合为一维的特征向量,该特征向量即为代码的高维特征表示.上述迭代更新嵌入过程表示为:

    {\boldsymbol{\mu }}_{v}^{t+1}:={\rm{tanh}}\left({\boldsymbol{W}}_{0}{\boldsymbol{X}}_{v}+{\sigma }\left(\sum_{u\in {N}_{\left(v\right)}}\left({\boldsymbol{\mu }}_{u}^{t}\right)\right)\right) , (3)
    \sigma \left(\boldsymbol{l}\right):={\boldsymbol{W}}_{1}ReLU ({\boldsymbol{W}}_{2}ReLU (…( {\boldsymbol{W}}_{n}\boldsymbol{l})) . (4)

    式(3)中 {\boldsymbol{\mu }}_{v}^{t+1} 是节点 v 在第t+1层的更新状态,节点 u 是当前节点 v 的邻域,{N}_{\left(v\right)}是节点 v 的邻域集,其中初始顶点状态 {\boldsymbol{\mu }}_{v}^{0} 使用Word2Vec嵌入方法构建.随着迭代次数的增加,节点特征能够传递到图网络中距离当前节点多跳的其他节点. 总体而言,本文根据边类型进行邻域聚合,通过多轮嵌入学习邻域特征,以完成整个图的节点更新过程.

    决策网络的目的是预测代码优化参数,如异构设备映射或线程粗化因子,其输入是多关系图神经网络. 图7展示了决策网络的架构,可以看出,决策网络由向量拼接层、批归一化层以及全连接层组成.

    图  7  决策网络结构
    Figure  7.  The structure of decision network

    向量拼接层将多关系图神经网络层学习到的特征向量(AST增强图特征向量与IR多关系图特征向量)以及辅助输入聚合成固定长度的一维特征向量. 辅助输入是程序的动态运行特征,如程序运行内存大小、栈内存大小等. 由于辅助输入的值并不在[0,1]范围内,使得辅助输入与嵌入向量具有不同的量纲,将导致训练时间过长、模型难以收敛. 因此使用归一化层,将拼接好的特征向量的值标准化在[0,1]范围内. 标准化的特征向量能够捕获代码的诸多特征,例如语义相似性、控制流、依赖流等. 最后标准化的特征向量将被送入全连接层神经网络进行分类,完成优化预测任务.

    ACCEPT使用反向传播机制协同训练图网络和决策网络. 与大多数机器学习训练方法不同,ACCEPT不必手动从程序中构建和提取特征,只需输入源代码,就能实现端到端的优化预测. 训练过程中,本文使用随机梯度下降(stochastic gradient descent,SGD)算法,并结合Adam优化器[26]加速模型的收敛速度,使用标准交叉熵损失函数作为目标函数,使用常用于分类任务的Sigmoid和Softmax激活函数. 目标函数定义为

    \varsigma_{{G}}{=-}\sum_{{i}{=1}}^{{N}}{{{y}}}_{{i,c}}{\rm{lb}}(p_{i},c) . (5)

    其中 N 是分类的数目,在异构设备映射任务中 N =2,在线程粗化任务中 N =6;{{y}}_{{i,c}}的取值为0或1,表示标签 c 是否是训练样本i的正确分类;p_{i}是样本i属于标签c 的预测概率. 随机梯度下降将寻找适合的参数使得最小化损失函数,即减小预测值与期望值的对数差异进而完成模型的训练.

    本文采用TensorFlow深度学习框架构建多关系图神经网络模型.所有实验均运行在Ubuntu 16.04操作系统上,其内存为12GB,CPU处理器为Intel Xeon E5-2667,编程语言为Python 3.6.

    异构设备映射任务采用了DeepTune[9]提供的数据集,该数据集从7个benchmark集(Parboil[27],NVIDIA CUDA SDK[28],AMD SDK[29],SHOC[30],NPB[31],Rodinia[32],PolyBench[33])中抽取256个OpenCL 内核程序,通过改变辅助输入将其扩充至680条数据.

    线程粗化任务采用了DeepTune[9]给定的标记数据,该数据集从3个benchmark集(Parboil[27], NVIDIA CUDA SDK[28],AMD SDK[29])中抽取了17个OpenCL 内核程序. 其中Parboil 4个,NVIDIA CUDA SDK 3个,AMD SDK 10个.

    为评估ACCEPT对异构平台映射与线程粗化因子预测的性能,选取准确率(Accuracy)和加速比(Speedup)作为评估指标. 准确率指模型预测正确的个数与测试数据总数的比值. 加速比指同一程序在目标设备上的运行时间与在静态映射上的执行时间的比值,本文中静态映射为AMD平台.准确率计算为

    Accuracy = {\dfrac{1}{m}\displaystyle\sum\limits_{i = 1}^m {true\_labe{l_i}} }\text{,} (6)

    其中m为测试集的个数, true\_labe{l_i} 为第i个测试数据的预测结果. 加速比计算为

    S peedup = {\dfrac{1}{m}{\displaystyle\sum\limits_{i = 1}^m {(static\_tim{e_i}/predict\_tim{e_i})} }} , (7)

    其中m为测试集的个数, static\_tim{e_i} 为第i个测试数据对应的静态映射时间, predict\_tim{e_i} 为模型第i个测试数据预测最优设备上的执行时间. 加速比的结果由对所有测试数据的静态映射时间(在静态映射上的执行时间)与预测时间的比值求和再取平均得到,实验中加速比的值为每种benchmark下的几何平均值.

    为验证ACCEPT的有效性,在所有实验中本文采用10折交叉验证,实验的准确率与加速比为10次实验的平均值,从而减小噪声数据对实验结果的影响.

    本文分别在异构设备映射与线程粗化因子预测2个代码优化任务上评估ACCPET的有效性.同时,分别与现有的经典代码优化方法进行对比实验,充分验证ACCEPT的有效性,如表2所示.

    表  2  机器学习方法对比
    Table  2.  Comparison of Machine Learning Methods
    方法代码表示模型
    Grewe等人[4]手工特征决策树
    DeepTune[9]源码Token序列LSTM
    DeepTune IR[17]LLVM IR TokenLSTM
    Inst2Vec[34]LLVM IR TokenLSTM
    GNN-AST[35]ASTGNN
    GNN-CDFG[35]CDFGGNN
    Magni等人[15]手工特征神经网络
    下载: 导出CSV 
    | 显示表格

    为保证对比实验的公平性,本文使用自动化模型调优工具AutoML(automated machine learning)对所有未公布训练模型参数(如学习率、Batch Size、Epoch等参数)的待比较代码优化方法进行训练调优,使其均能够达到最优的实验结果.在对比实验模型训练过程中,均统一采用10折交叉验证,在每一轮交叉验证中,若损失函数在连续20个训练轮次内无下降,或者在验证集上达到99%以上的准确率,则终止训练.

    OpenCL是一个面向异构并行程序编写代码的框架,使用OpenCL编写的程序可以透明地在多个设备上运行,例如GPU或CPU等异构设备. 异构设备映射任务的目的是预测OpenCL程序最佳的执行设备,以提高程序执行的加速比. 故模型预测结果的准确性是提高程序加速比的前提条件,也是异构设备映射任务评估的主要指标.

    该实验所用的异构平台分别为AMD Tahiti 7970,NVIDIA GTX 970. 因模型训练需要足够的训练数据,而现有公开可用的数据并不充足,因此在准确率实验评估中,本文使用OpenCL程序生成器CLgen生成了11081个有效且可编译的OpenCL 内核程序并在3.2 GHz 6核 Xeon E5-2667CPU和NVIDIA Titan XP GPU的平台上进行标记,将标记的数据作为训练集,测试集使用DeepTune[7]方法中所公开的680个标准的OpenCL 内核程序.

    表2前6种代码优化方法为该实验的对比对象,包括:Grewe 等人[4],其使用手工特征和决策树算法构建代码优化模型;DeepTune[9]与DeepTune IR[17]分别使用源代码的Token序列和LLVM IR序列做代码表征,并都使用了LSTM 模型;Inst2Vec[34]使用LLVM IR生成的图作为代码表征和LSTM模型;GNN-AST与GNN-CDFG分别使用AST图以及CDFG图提取代码特征,这2种方法使用了基于图网络变体模型. 此外,对于异构设备映射任务,该实验保留了原有方法的设置,使用程序执行的动态信息(如工作组大小和数据大小)作为模型的辅助输入.

    图8展示了在不同平台下ACCEPT与其他方法的加速比对比结果. 由图8可知,无论是在早期的GPU平台如NVIDIA GTX 970,还是在最新的NVIDIA Titan XP上,ACCEPT优化后的加速比均优于其他经典的代码优化方法. 在AMD Tahiti 7970平台上,ACCEPT取得了平均3.18×的加速比;在NVIDIA Titan XP平台上,ACCEPT的加速比能够达到2.6×,比其他方法平均提高至少25%. 虽然ACCEPT在NVIDIA GTX 970平台上的性能提升相对较小,为1.31×,但其总体加速比相比其他方法最高.

    图  8  加速比对比结果
    Figure  8.  Comparison results of speedup

    由实验结果推断,ACCEPT能够利用构建的多关系图和改进的多关系图神经网络,有效地提取代码的深度结构和语义特征. 具体表现在:仅通过构建OpenCL代码的抽象语法特征图(如GNN-AST方法),或者仅构建代码数据依赖图(如GNN-CDFG方法),所取得的加速比都没有ACCEPT高. 这说明,本文所构建的AST增强图和IR多关系图更有助于提取代码的高维抽象特征.

    进一步地,为了深入分析ACCEPT的性能,本文统计了异构映射的准确率. 图9展示了在不同平台下准确率对比评估结果,与DeepTune和Inst2Vec相比,ACCEPT能够将准确率从82%提高到88.7%,并且ACCEPT能够以最高的概率预测出最佳的异构映射平台. 直观上,预测准确率越高,其相对加速比就越高,因此由图9可以看出,准确率总体趋势和加速比一致,这也是ACCEPT能够取得最高加速比的原因.

    图  9  准确率对比结果
    Figure  9.  Comparison results of accuracy

    线程粗化任务的对象是并行执行的程序,其目的是选择待执行程序的最佳线程粗化因子,即需要并行执行的线程数量,从而达到系统开销与程序并行执行效率的最佳平衡点. 该实验具体的量化指标是加速比,程序在某个线程粗化因子下的加速比越高,说明其执行效率越高. 与现有工作相同,该评估实验中分别设置6种粗化因子,分别为1, 2, 4, 8, 16, 32,其中粗化因子为1表示不进行线程粗化,其对应的加速比值为基准值.

    为验证ACCEPT在线程粗化任务上的有效性,该实验分别在AMD Radeon HD 5900,AMD Tahiti 7970,NVIDIA GTX 480, NVIDIA Tesla K20c 这4个平台上进行. 由于线程粗化任务中仅有公开可用的17个OpenCL 内核程序,为了训练ACCEPT,该实验使用DeepTune[7]公开的680条OpenCL 内核程序数据做训练,然后再利用迁移学习技术,使用留一法评估模型. 具体地,将17条数据分成17份,并将每份数据按照训练与测试16∶1的比例进行分割,每次迁移时,使用16条数据作为训练集,剩余1条作测试,因此在每个平台上的评估实验最终会训练出17个模型,将17个模型加速比的几何平均值作为该平台上的评估结果.

    为充分评估ACCEPT的有效性,该实验分别与DeepTune, Inst2Vec, GNN-CDFG, GNN-AST以及文献[15]中的方法共计5种方法进行比较. 其中文献[15]使用人工特征提取的方法,将OpenCL 内核程序所占用内存及指令数等静态信息作为特征,在特征中使用主成分分析法获取高维特征表示,然后使用基于二元决策树的方法预测线程粗化因子. 此外,该实验还比对了在不同平台下线程粗化任务的最优加速比,即如图10中Oracle.

    图  10  加速比对比
    Figure  10.  Comparison of speedup

    图10展示了在不同平台下各种方法的对比实验结果. 由图10可以看出,ACCEPT整体上的性能表现优于现有的代码优化方法. 例如,在AMD Radeon HD 5900平台上,ACCEPT能将加速比提高到1.26×,其提升性能略高于DeepTune的加速比,并且远高于其他方法. 在NVIDIA GTX 480平台上,ACCEPT是唯一高于基准加速比(即基准为1)的方法,其加速比为1.02×,而其他方法均低于基准加速比. 在其他方法中,DeepTune与GNN-CDFG在NVIDIA Tesla K20c,NVIDIA GTX 480,AMD Tahiti 7970这3个平台上的加速比均低于基准值,这说明使用人工定义的特征或使用控制数据依赖特征并不能够提取到代码的深度特征信息. 虽然DeepTune的性能与ACCEPT接近,但其微小的差距也说明了利用LSTM并不能够有效地对代码进行特征建模,而ACCEPT使用多关系图网络,能够有效地提取代码图中的结构与语义信息.

    总的来说,与其他方法相比,ACCEPT在4个异构平台上均有性能的提升,尤其在AMD Radeon HD 5900上的性能提升最显著. 同时从实验结果来看, ACCEPT可以在训练语料库较小时有效地支持迁移学习. 由此可以看出,ACCEPT不仅在异构映射任务上取得了最好的结果,而且在线程粗化任务上也取得了较好的结果,充分说明了ACCEPT对于代码特征的提取能力,是一种有效的代码优化启发式方法.

    在异构映射任务中,本文使用生成的OpenCL 程序内核数据训练ACCEPT模型. 程序生成的质量将直接影响模型的预测准确率,为评估程序生成的质量,本实验分别对所生成的OpenCL程序的可用性及编码质量进行评估.

    为验证所生成OpenCL 内核程序的可用性,该评估实验分别在Intel Xeon E5-2667和NVIDIA Titan XP 这2个平台上进行,实验平台的具体参数如表3所示. 对于生成数据,通过统计其在编译过程中出现编译失败、编译异常、编译超时以及运行过程中出现运行错误和超时的内核程序的数量来评估生成的OpenCL 内核程序的可用性.该实验的数据为20000个生成的OpenCL 内核程序.

    表  3  程序生成质量评估平台具体配置信息
    Table  3.  Platform Arguments for Evaluation of Program Generation Quality
    平台频率/GHz内存/GB驱动型号
    Intel Xeon E5-26673.2102Intel 18.1.0.0920
    NVIDIA Titan XP1.612NVIDIA 410.72
    下载: 导出CSV 
    | 显示表格

    实验结果如表4所示,在Intel Xeon E5-2667设备上,编译阶段失败、异常和超时的内核程序数量分别为234,78,44,运行阶段失败与超时的数量分别为744和127,共计有1227个低质量的OpenCL 内核程序,即大约有93.9%的内核程序能够通过编译及运行;在NVIDIA Titan XP平台上,大约有1381个内核程序没有通过编译及运行. 这2个平台下最终得到的OpenCL 内核程序数量不一致,这是因为不同平台下所使用的硬件驱动不同,并且不同平台的编译及运行情况也不同.总之,在2个平台上,平均能够生成93%以上的可用的OpenCL 内核程序.

    表  4  程序质量评估结果
    Table  4.  Results of Program Quality Evaluation
    平台编译阶段内核程序数量运行阶段内核程序数量通过的内核程序数量
    失败异常超时失败超时
    Intel Xeon E5-2667234784474412718773
    NVIDIA Titan XP2311583378617318619
    总计46523677153030037392
    下载: 导出CSV 
    | 显示表格

    生成数据与真实数据是否符合同一个概率分布,关系到训练出的模型是否能够实用. 即若生成数据与真实数据极为相似,那么使用生成数据训练出的模型能够应用于真实数据. 为验证生成与真实OpenCL内核程序的相似性,本文设计了双盲验证实验. 该实验中,选择了具有OpenCL编码经验的30位程序员作为志愿者,共28位硕士和2位博士,其中13位为女性,17位为男性. 实验过程中,分别随机抽取真实与生成的内核程序各15个,并进行随机打乱,让每一位志愿者进行人工标记. 为保证实验的公平性,实验前对测试的内核程序进行标准化操作,其目的是为了减少注释以及函数名所带来的标记干扰;同时,在测试之前,分别给每位志愿者展示30个标准化后的生成与真实的OpenCL内核程序. 实验过程中不限标记时间,直至志愿者将所有的30个内核程序标记完成. 该实验分别统计了标记正确的生成与真实OpenCL 内核程序的志愿者人数,实验结果如表5所示.

    表  5  双盲实验结果
    Table  5.  Results of Double-blind Experiment
    正确标记OpenCL的数量范围正确标记生成代码的人数正确标记真实代码的人数
    0~463
    5~82121
    9~1536
    下载: 导出CSV 
    | 显示表格

    仅有少数志愿者能够正确标记出大部分生成与真实的OpenCL 内核程序,而大部分志愿者能够正确标记生成与真实OpenCL 内核程序的数量不超过8个. 由此可以看出,标记生成代码的准确率为46.6%,而标记真实代码的准确率为53.4%,平均准确率接近50%,这意味着人工标记过程中,其准确率与随机猜测的概率基本相同,说明了生成与真实的OpenCL 内核程序相似度比较高,这也是使用生成数据训练模型能够以较高的准确率预测出真实OpenCL代码适合的异构平台的原因.

    为进一步验证本文所提出的模型与构图方法的有效性,构建最优的模型与构图方法,本文分别评估了神经网络层数、不同构图方法以及不同图神经网络对实验结果的影响.该评估实验以异构映射任务为例,使用DeepTune[9]提供的数据集,在AMD Tahiti 7970平台上进行.

    神经网络的层数是网络模型的重要参数,设置合理数量的中间层,能够增强模型的表征与特征抽取能力. 相反,若设置的中间层数太少,将使网络难以模拟出具有复杂分类空间的模型;而中间层过多,将使模型太过复杂导致难以收敛.

    为选取合适的网络层数,实验中除构建不同层数的多关系图神经网络外,其他实验设置均与4.2节中保持一致. 实验结果如表6所示,可以看出,该实验结果符合深度学习模型的一般规律,即随着网络层数的增加,模型的表征能力与特征提取能力不断增强,预测准确率由79.4%增长到82.0%,而随着层数的继续增加,模型变得越来越复杂,极易导致过拟合,准确率逐渐降低. 该实验表明,在异构映射任务中,当网络层数设置为5时,模型表现最优. 同样地,因不同的任务具有不同的复杂度与分类空间,本文使用上述方法确定线程粗化因子预测任务的最佳网络层数.

    表  6  不同网络层数的准确率对比
    Table  6.  Comparison of Accuracy with Different Numbers of Network Layers
    网络层数准确率/%
    176.4
    379.1
    582.0
    777.9
    976.4
    下载: 导出CSV 
    | 显示表格

    ACCEPT不仅依靠表征能力强的多关系图网络模型,还需要正确的、能够表征代码深度结构与语义特征的构图方式将OpenCL代码转换成多关系程序图.为验证构图方式对ACCEPT的影响,该实验保持多关系图网络结构不变,通过改变构图方式进行评估. 为此,本文分别在源码与IR代码的基础上,向AST中加入不同类型的边,构建出4种程序图,分别为:ACCEPT-vanilla-AST,表示仅构建源代码的AST图; ACCEPT-AST与ACCEPT-CDFG,分别表示仅构建AST增强图与IR多关系图;ACCEPT-8,表示将AST增强图与IR多关系图中的每种边类型单独构图,然后将所构建的8种图的特征向量进行拼接. 图11展示了不同构图方式之间的对比关系图.

    图  11  不同构图方法的准确率
    Figure  11.  Accuracy of different graph construction

    图11可知,在除SHOC外的7个数据集上,ACCEPT-AST的平均准确率比ACCEPT-vanilla-AST准确率高,这说明给AST增加额外的5种数据控制依赖关系边,能够更加精准地提取代码的语法语义信息.ACCEPT-8虽然包含了所有的8种边类型,但其在每个benchmark上的准确率均不高于75%,这说明仅仅将8种图的特征进行简单地拼接,而不考虑不同边类型所携带的特征信息,并不能将节点的信息传递给其他的邻居节点,导致模型表征能力并不强. 此外,从ACCEPT-AST与ACCEPT-CDFG比较结果来看,ACCEPT-CDFG在大部分数据集上实现的准确率高于ACCEPT-AST,这很大程度上是因为CDFG在IR代码上进行构图,IR指令更加简洁,并且能够突出底层的执行逻辑. 需要说明的是,在Parboil[29]数据集上,ACCEPT-CDFG的准确率接近80%,大于ACCEPT的74%的准确率,分析发现,Parboil数据集中的算法具有丰富的控制流信息,使得ACCEPT-CDFG更能聚焦代码特征信息.

    图11的实验结果来看,与其他5种不同的构图方法比,ACCEPT取得了最高的准确率,这表明通过将源代码的增强AST与IR代码的多关系控制依赖图相结合,能够更加精准地提取到代码的深度结构和语义特征.

    为验证本文所构建的多关系图神经网络的有效性,该实验中将ACCEPT分别与现有的图神经网络模型进行比较.本文分别选择利用门控信息来传递信息的GGNN[36](gated graph sequence neural networks)、基于线性特征调制的GNN_FILM[37](graph neural networks with feature-wise linear modulation)、基于多边关系建模的图卷积神经网络RGCN[38](relational graph convolutional networks),及其RGCN的变体网络GNN_Edge_MLP[39]. 实验过程中,由于不同的网络模型需要输入不同的图结构,因此本文将AST增强图与IR多关系图转换成每个图网络模型适合处理的格式. 对比实验结果如图12所示,其中GeoMean为5种模型在7种数据集的几何平均值.

    图  12  不同图神经网络的准确率
    Figure  12.  Accuracy of different graph neural networks

    总体上,与其他4种经典的图网络模型相比,ACCEPT取得了最好的结果,其平均准确率达到了77.5%,其次为RGCN与GNN_Edge_MLP,平均准确率均为74%. 尽管RGCN及GNN_Edge_MLP支持对多边建模,但并不适合对异构代码图进行建模,而AST和CDFG是2种具有不同特征信息的异构图,这将在很大程度上降低RGCN与GNN_Edge_MLP 这2种模型的特征提取与建模能力. 由于GGNN与GNN_FILM更适合使用门控信息或线性调制来提取特征,因此对关系程序图的建模能力较弱,所取得的准确率最低.

    当前针对OpenCL程序的优化方法需要过多的人为参与,难以有效提取程序的深度结构与语法语义特征信息,进而无法对代码进行有效地建模,使得程序优化效果并不明显. 针对上述问题,本文提出了ACCEPT,一种基于多关系图神经网络的OpenCL程序自动优化启发式方法,旨在无需手工提取特征的情况下,实现端到端的自动化优化,提高程序的执行效率. 与传统的基于深度学习的优化方法相比,ACCEPT将源代码转换为代码特有的多关系程序图,以表征代码的深度结构与语义特征信息. 为此,ACCEPT分别在源代码和IR代码上对目标程序进行构图,通过添加8种类型的数据控制依赖边,保留了代码的语法及语义信息. 同时,为了处理所构建的多关系程序图,ACCEPT改进了现有的图形神经网络模型,通过融合程序的控制流、数据流以及抽象语法树所表征的代码的结构与语义特征信息,进而生成高维特征向量,最终输入到决策网络中进行分类,完成预测优化因子任务.

    为验证模型性能,本文分别在异构映射与线程粗化因子预测2个代码优化任务上,进行了详细的对比分析实验,与现有的经典代码优化方法相比,ACCEPT在准确率、加速比上均提升明显,在异构设备映射任务中,加速比可提高7.6%. 在线程粗化任务中,加速比可提高5.2%. 为充分地说明本文所提多关系程序图与多关系图神经网络的有效性,分别在神经网络层数、构图方式以及网络模型上进行了详细的模型分析及对比实验,实验结果进一步表明了ACCEPT的有效性,说明ACCEPT在代码优化领域具有一定的学术价值和应用前景.

    作者贡献声明:叶贵鑫提出了文章思路和实现方案并负责撰写与修改论文;张宇翔负责系统设计与实现;张成负责数据收集与模型调优、数据分析;赵佳棋负责数据预处理;王焕廷负责代码图多种边关系的构建. 叶贵鑫和张宇翔为共同第一作者.

  • 图  1   pix2pix 和 CycleGAN 的原理示意图

    Figure  1.   Illustration of principle of pix2pix and CycleGAN

    图  2   Faceshifter网络结构示意图[21]

    Figure  2.   Schematic diagram of the network structure of Faceshifter[21]

    图  3   Tacotron2 系统结构[79]

    Figure  3.   Systematic structure of Tacotron2[79]

    图  4   多注意力深度伪造检测方法结构图[140]

    Figure  4.   Structure diagram of multi-attention deepfake detection method[140]

    图  5   深度伪造对抗样本生成方法的网络结构[158]

    Figure  5.   Network structure of deepfake adversarial examples generation method[158]

    表  1   图像和视频伪造检测方法总结

    Table  1   Summary of Image and Video Fake Detection Methods

    检测方法特点适用场景实验数据集检测性能模型主干网络
    Exploiting Visual Artifact[92] 通过提取牙齿,眼睛及
    脸部轮廓等特征进行伪
    造检测
    使用Deepfakes方法和face2face方法生成的深度伪造视频 FaceForensics 0.866(AUC) 逻辑回归、多层感知机
    FDFL[95] 使用频域特征,优化难
    度小
    检测面部替换,面部重现等伪造图片和视频 FaceForensics++[12] 0.994(ACC)0.997(AUC) CNN
    Generalizing Face Forgery Detection[96] 利用图像的高频噪声,泛化能力较强 针对未知伪造方法生成图像的检测,需要高泛化性检测方法的场景 FaceForensics++[12] 0.994(AUC) CNN、注意力机制
    Face x-ray[99] 较高的泛化性 需要高泛化性检测方法的场景 FaceForensics++[12],DFDC[148],celebDF[149] 0.985(AUC,FF++),0.806(泛化AUC,celebDF),0.809(泛化AUC,DFDC) CNN
    LRNet[106] 通过帧间时序特征识别伪造视频,同时有较强的鲁棒性 针对存在压缩和破损等情况的深度伪造视频检测 FaceForensics++[12] celebDF[149] 0.957(AUC,FF++,c40压缩)0.554(AUC,celebDF,c40压缩) CNN+RNN
    Exposing Inconsistent Head Poses[110] 通过检测人物头部姿态判断是否为伪造视频 深度伪造视频检测 自建数据集 0.974(AUC) SVM
    F3-Net[116] 基于频域特征的深度伪造检测 被压缩的伪造视频检测 FaceForensics++[12] 0.958(AUC) CNN
    Two-branch Recurrent Network[117] 融合了RGB域信息和频域的高频信息 深度伪造视频检测 FaceForensics++[12],DFDC[148],celebDF[149] 0.987(AUC,单帧),0.991(AUC,视频) CNN+LSTM
    Id-reveal[122] 通过比对待测视频和参考视频中人脸身份信息判断伪造 拥有指定人物参考视频的深度伪造视频检测 DFD[150] 0.86(AUC) CNN
    Emotions Don’t Lie[127] 通过提取多模态情感信息之间的差异来检测伪造 带有音频的深度伪造视频检测 DF-TIMIT[151],DFDC[148] 0.844(AUC,DFDC) CNN
    Fakespotter[131] 通过神经网络可解释性方法检测伪造视频 针对GAN等生成模型的深度伪造检测 Celeb-DF v2[152] 0.668(AUC) 深度人脸识别模型
    On the Detection of Digital Face Manipulation [132] 基于注意力机制的深度伪造检测 需要可视化伪造区域的检测场景 自建数据集 0.997(AUC) CNN、注意力机制
    FReTal[137] 通过知识蒸馏和迁移学习,解决针对新出现的伪造方法的检测 适用于检测较新的伪造生成方法 FaceForensics++[12] 0.925(泛化AUC) CNN
    Multi-attentional deepfake detection[140] 聚合高维的语义信息和低维的纹理信息 图像和视频深度伪造检测 FaceForensics++[12],DFDC[148],celebDF[149] 0.993(AUC,FF++) CNN、注意力机制
    CviT[145] 引入视觉transformer检测深度伪造 图像和视频深度伪造检测 FaceForensics++[12],DFDC[148] 0.915(ACC,DFDC) CNN+视觉transformer
    下载: 导出CSV

    表  2   深度伪造视频和图片数据集

    Table  2   Deepfake Video and Image Datasets

    数据集发布年份伪造方法数据集描述数据集大小真伪样本数量比
    DFD[150] 2019 Deepfakes 篡改视频均使用 C0,C23
    C40 这3种压缩方式
    363个原始视频、3068个篡改视频、28个演员和16个不同场景 1∶8.45
    Deepfake-TIMIT[151] 2018 FaceSwap-GAN 从VidTIMIT数据库中选取相近人脸伪造构建 320个视频、每个视频有高清(128×128)和低清(64×64)版本 1∶1
    DFDC(deepfake detection challenge)Preview[148] 2019 未知 DFDC预赛中使用的数据集 5214个视频 1∶3.57
    DFDC[170] 2020 8种伪造方法 DFDC比赛中使用的数据集 119154个视频 1∶5.26
    FaceForensics++
    (FF++)[12]
    2019 Deepfakes,FaceSwap,Face2face,Neuraltexture,faceshifter Google推出的另一个数据集,前身为FaceForensics,目前仍在持续更新 6000个视频 1∶5
    Celeb-DF[149] 2020 Deepfakes 视频数量较少,已有后续版本Celeb-DF v2[152]和DFGC(deepfake game competition)[171] 590个真实视频、5639个伪造视频 1∶9.56
    Wild Deepfake[172] 2020 网络途径获取 通过网络获取的伪造数据集,效果较好 707个伪造视频、100个演员
    DeeperForensics 1.0[173] 2020 deepfake-VAE 大型深度伪造数据集,包含多种灯光条件和面部角度,同时使用了改进的生成方法,较之前数据集更为真实 60000个视频、1760万帧 1∶5
    Video Forensics HQ[174] 2020 Neural Textures 高清视频伪造数据集
    FFIW-10K[175] 2021 3种合成方法 同一个视频片段中出现多个可能被篡改的人脸,平均每帧3.15个人脸 10000个真实视频和10000个篡改视频 1∶1
    ForgeryNet[176] 2021 15种合成方法(7种图像级方法、8种视频级方法) 支持多种任务的超大数据集(630万个分类标签、290万个操纵区域标注和221247个时空伪造段标签) 290万张图像、221247个视频 视频1∶1.22, 图片1∶1.01
    FakeAVCeleb[177] 2021 5种伪造方法 多模态数据集、伪造视频包含音频 25500个视频 1∶51.02
    下载: 导出CSV

    表  3   ForgeryNet中的定位伪造区域的检测任务[176]

    Table  3   Spatial Forgery Localization Detection Task in ForgeryNet[176]

    伪造方法图片样本检测结果标注
    面部替换
    面部重现
    面部特征编辑
    真实人脸
    下载: 导出CSV

    表  4   深度伪造语音数据集

    Table  4   Deepfake Audio Datasets

    数据集发布年份描述数据集大小
    ASVspoof 2015[178]2015语音合成与转换16651 段原始音频、246500 段合成转换音频
    ASVspoof 2017[179]2017录音重放3566段非重放音频、14466段重放音频
    ASVspoof 2019[180]2019录音重放、语音合成与转换15928 原始音频、117996合成转换音频
    下载: 导出CSV
  • [1]

    Mirsky Y, Lee W. The creation and detection of deepfakes: A survey[J]. ACM Computing Surveys, 2021, 54(1): 264−263

    [2]

    Kingma D P, Welling M. Auto-encoding variational Bayes[J]. arXiv preprint, arXiv: 1312.6114, 2013

    [3]

    Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C] //Proc of the 27th Int Conf on Neural Information Processing Systems. La Jolla, CA : NIPS, 2014: 2672−2680

    [4]

    Isola P, Zhu Junyan, Zhou Tinghui, et al. Image-to-image translation with conditional adversarial networks[C] //Proc of the 30th IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2017: 1125−1134

    [5]

    Ronneberger O, Fischer P, Brox T. U-net: Convolutional networks for biomedical image segmentation[C] //Proc of the 18th Int Conf on Medical Image Computing and Computer-assisted Intervention. Berlin: Springer, 2015: 234−241

    [6]

    Wang Tingchun, Liu Mingyu, Zhu Yanjun, et al. High-resolution image synthesis and semantic manipulation with conditional GANs[C] //Proc of the 31st IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2018: 8798−8807

    [7]

    Wang Tingchun, Liu Mingyu, Zhu Yanjun, et al. Video-to-video synthesis[J]. arXiv preprint, arXiv: 1808.06601, 2018

    [8]

    Zhu Junyan, Park T, Isola P, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[C] //Proc of the 30th IEEE Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2017: 2223−2232

    [9]

    Huang Gao, Liu Zhuang, Van Der Maaten L, et al. Densely connected convolutional networks[C] //Proc of the 30th IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2017: 4700−4708

    [10]

    He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Deep residual learning for image recognition[C] //Proc of the 29th IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 770−778

    [11]

    Chollet F. Xception: Deep learning with depthwise separable convolutions [C] //Proc of the 30th IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2017: 1251−1258

    [12]

    Rossler A, Cozzolino D, Verdoliva L, et al. FaceForensics++: Learning to detect manipulated facial images [C] //Proc of the 17th IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2019: 1−11

    [13]

    Dale K, Sunkavalli K, Johnson M K, et al. Video face replacement [J]. ACM Transactions on Graphics, 2011, 30(6): 8: 1−8: 10

    [14]

    torzdf. Deepfakes [CP/OL] 2017 [2021-10-15]. https://github.com/deepfakes/face swap

    [15]

    Korshunova I, Shi Wenzhe, Dambre J, et al. Fast face-swap using convolutional neural networks[C] //Proc of the 16th IEEE Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2017: 3677−3685

    [16]

    Ulyanov D, Lebedev V, Vedaldi A, et al. Texture networks: Feed-forward synthesis of textures and stylized images[C] //Proc of the 33rd Int Conf on Machine Learning. New York: PMLR, 2016: 1349− 1357

    [17]

    Shaoanlu. Fceswap-GAN [CP/OL]. 2017 [2021-10-15]. https://github.com/shaoa nlu/faceswap-GAN

    [18]

    Natsume R, Yatagawa T, Morishima S. FsNet: An identity-aware generative model for image-based face swapping[C] //Proc of the 14th Asian Conf on Computer Vision. Berlin: Springer, 2018: 117−132

    [19]

    Natsume R, Yatagawa T, Morishima S. RSGAN: Face swapping and editing using face and hair representation in latent spaces[J]. arXiv preprint, arXiv: 1804.03447, 2018.

    [20]

    Nirkin Y, Keller Y, Hassner T. FSGAN: Subject agnostic face swapping and reenactment[C] //Proc of the 17th IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2019: 7184−7193

    [21]

    Li Lingzhi, Bao Jianmin, Yang Hao, et al. Faceshifter: Towards high fidelity and occlusion aware face swapping[J]. arXiv preprint, arXiv: 1912.13457, 2019

    [22]

    Chen Renwang, Chen Xuanhong, Ni Bingbing, et al. Simswap: An efficient framework for high fidelity face swapping[C] //Proc of the 28th ACM Int Conf on Multimedia. New York: ACM, 2020: 2003−2011

    [23]

    Zhu Yuhao, Li Qi, Wang Jian, et al. One shot face swapping on megapixels [C] //Proc of the 18th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 4834−4844

    [24]

    Lin Yuan, Lin Qian, Tang Feng, et al. Face replacement with large-pose differences[C] //Proc of the 20th ACM Int Conf on Multimedia. New York: ACM, 2012: 1249−1250

    [25]

    Min Feng, Sang Nong, Wang Zhefu. Automatic face replacement in video based on 2D morphable model[C] //Proc of the 20th Int Conf on Pattern Recognition. Piscataway, NJ: IEEE, 2010: 2250−2253

    [26]

    Moniz J R A, Beckham C, Rajotte S, et al. Unsupervised depth estimation, 3D face rotation and replacement[J]. arXiv preprint, arXiv: 1803.09202, 2018

    [27]

    Thies J, Zollhofer M, Niessner M, et al. Real-time expression transfer for facial reenactment[J]. ACM Transactions on Graphics, 2015, 34(6): 183: 1−183: 4

    [28]

    Thies J, Zollhofer M, Stamminger M, et al. Face2Face: Real-time face capture and reenactment of rgb videos[C] //Proc of the 29th IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 2387−2395

    [29]

    Thies J, Zollhofer M, Theobalt C, et al. Headon: Real-time reenactment of human portrait videos[J]. ACM Transactions on Graphics, 2018, 37(4): 164: 1−164: 13

    [30]

    Kim H, Garrido P, Tewari A, et al. Deep video portraits[J]. ACM Transactions on Graphics, 2018, 37(4): 163: 1−163: 14

    [31]

    Nagano K, Seo J, Xing Jun, et al. PaGAN: Real-time avatars using dynamic textures[J]. ACM Transactions on Graphics (TOG), 2018, 37(6): 258: 1−258: 12

    [32]

    Geng Jiahao, Shao Tianjia, Zheng Youyi, et al. Warp-guided GANs for single-photo facial animation[J]. ACM Transactions on Graphics, 2018, 37(6): 231: 1−231: 12

    [33]

    Wang Yaohui, Bilinski P, Bremond F, et al. Imaginator: Conditional spatio-temporal GAN for video generation[C] //Proc of the 20th IEEE/CVF Winter Conf on Applications of Computer Vision. Piscataway, NJ: IEEE, 2020: 1160−1169

    [34]

    Siarohin A, Lathuiliere S, Tulyakov S, et al. Animating arbitrary objects via deep motion transfer[C] //Proc of the 32nd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2019: 2377−2386

    [35]

    Siarohin A, Lathuiliere S, Tulyakov S, et al. First order motion model for image animation[C] //Proc of the 32nd Int Conf on Neural Information Processing Systems. La Jolla, CA : NIPS, 2019: 7137−7147

    [36]

    Qian Shengju, Lin K Y, Wu W, et al. Make a face: Towards arbitrary high fidelity face manipulation[C] //Proc of the 32nd IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2019: 10033−10042

    [37]

    Song Linsen, Wu W, Fu Chaoyou, et al. Pareidolia face reenactment[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 2236−2245

    [38]

    Pumarola A, Agudo A, Martinez A M, et al. GANimation: Anatomically-aware facial animation from a single image[C] //Proc of the 15th European Conf on Computer Vision (ECCV). Berlin: Springer, 2018: 818−833

    [39]

    Tripathy S, Kannala J, Rahtu E. FACEGAN: Facial attribute controllable reenactment gan[C] //Proc of the 21st IEEE/CVF Winter Conf on Applications of Computer Vision. Piscataway, NJ: IEEE, 2021: 1329−1338

    [40]

    Gu Kuangxiao, Zhou Yuqian, Huang T. FLNet: Landmark driven fetching and learning network for faithful talking facial animation synthesis[C] //Proc of the 34th AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2020: 10861−10868

    [41]

    Xu Runze, Zhou Zhiming, Zhang Weinan, et al. Face transfer with generative adversarial network[J]. arXiv preprint, arXiv: 1710.06090, 2017

    [42]

    Bansal A, Ma Shugao, Ramanan D, et al. RecycleGan: Unsupervised video retargeting[C] //Proc of the 15th European Conf on Computer Vision (ECCV). Berlin: Springer, 2018: 119−135

    [43]

    Wu W, Zhang Yunxuan, Li Cheng, et al. ReenactGAN: Learning to reenact faces via boundary transfer[C] //Proc of the 15th European Conf on Computer Vision (ECCV). Berlin: Springer, 2018: 603−619

    [44]

    Zhang Jiangning, Zeng Xianfang, Wang Mengmeng, et al. FReeNet: Multi-identity face reenactment[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2020: 5326−5335

    [45]

    Zhang Jiangning, Zeng Xianfang, Pan Yusu, et al. FaceSwapNet: Landmark guided many-to-many face reenactment[J]. arXiv preprint, arXiv: 1905.11805, 2019

    [46]

    Tripathy S, Kannala J, Rahtu E. ICface: Interpretable and controllable face reenactment using GANs[C] //Proc of the 20th IEEE/CVF Winter Conf on Applications of Computer Vision. Piscataway, NJ: IEEE, 2020: 3385−3394

    [47]

    Wiles O, Koepke A, Zisserman A. X2Face: A network for controlling face generation using images, audio, and pose codes[C] //Proc of the 15th European Conf on Computer Vision (ECCV). Berlin: Springer, 2018: 670−686

    [48]

    Shen Yujun, Luo Ping, Yan Junjie, et al. Faceid-GAN: Learning a symmetry three-player GAN for identity-preserving face synthesis[C] //Proc of the 31st IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2018: 821−830

    [49]

    Shen Yujun, Zhou Bolei, Luo Ping, et al. FaceFeat-GAN: A two-stage approach for identity-preserving face synthesis[J]. arXiv preprint, arXiv: 1812.01288, 2018

    [50]

    Wang Tingchun, Liu Mingyu, Tao A, et al. Few-shot video-to-video synthesis[J]. arXiv preprint, arXiv: 1910.12713, 2019

    [51]

    Zakharov E, Shysheya A, Burkov E, et al. Few-shot adver-sarial learning of realistic neural talking head models[C] //Proc of the 32nd IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2019: 9459−9468

    [52]

    Burkov E, Pasechnik I, Grigorev A, et al. Neural head reenactment with latent pose descriptors[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2020: 13786−13795

    [53]

    Ha S, Kersner M, Kim B, et al. MarioNETte: Few-shot face reenactment preserving identity of unseen targets[C] //Proc of the 34th AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2020: 10893−10900

    [54]

    Hao Hanxiang, Baireddy S, Reibman A R, et al. Far-GAN for one-shot face reenactment[J]. arXiv preprint, arXiv: 2005.06402, 2020

    [55]

    Fried O, Tewari A, Zollhofer M, et al. Text-based editing of talking-head video[J]. ACM Transactions on Graphics, 2019, 38(4): 68: 1−68: 14

    [56]

    Kumar R, Sotelo J, Kumar K, et al. ObamaNet: Photo-realisticlip-sync from text[J]. arXiv preprint, arXiv: 1801.01442, 2017

    [57]

    Sotelo J, Mehri S, Kumar K, et al. Char2wav: End-to-end speech synthesis[C] //Proc of the ICLR 2017 Workshop. 2017: 24−26

    [58]

    Jamaludin A, Chung J S, Zisserman A. You said that?: Synthesising talking faces from audio[J]. International Journal of Computer Vision, 2019, 127(11): 1767−1779

    [59]

    Vougioukas K, Petridis S, Pantic M. Realistic speech-driven facial animation with GANs[J]. International Journal of Computer Vision, 2020, 128(5): 1398−1413 doi: 10.1007/s11263-019-01251-8

    [60]

    Suwajanakorn S, Seitz S M, Kemelmacher-shlizerman I. Synthesizing Obama: Learning lip sync from audio[J]. ACM Transactions on Graphics, 2017, 36(4): 95: 1−95: 13

    [61]

    Chen Lele, Maddox R K, Duan Zhiyao, et al. Hierarchical cross-modal talking face generation with dynamic pixel-wise loss[C] //Proc of the 32nd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2019: 7832−7841

    [62]

    Zhou Hang, Liu Yu, Liu Ziwei, et al. Talking face generation by adversarially disentangled audio-visual representation[C] //Proc of the 33rd AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2019: 9299−9306

    [63]

    Thies J, Elgharib M, Tewari A, et al. Neural voice puppetry: Audio-driven facial reenactment[C] //Proc of the 16th European Conf on Computer Vision (ECCV). Berlin: Springer, 2020: 716−731

    [64]

    Hannun A, Case C, Casper J, et al. DeepSpeech: Scaling up end-to-end speech recognition[J]. arXiv preprint, arXiv: 1412.5567, 2014

    [65]

    Karras T, Laine S, Aila T. A style-based generator architecture for generative adversarial networks[C] //Proc of the 32nd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2019: 4401−4410

    [66]

    Karras T, Laine S, Airtala M, et al. Analyzing and improving the image quality of StyleGAN[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2020: 8110−8119

    [67]

    Karras T, Aittala M, Laine S, et al. Alias-free generative adversarial networks[J]. arXiv preprint, arXiv: 2106.12423, 2021

    [68]

    Choi Y, Choi M, Kim M, et al. StarGAN: Unified generative adversarial networks for multi-domain image-to-image translation[C] //Proc of the 31st IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2018: 8789−8797

    [69]

    Choi Y, Uh Y, Yoo J, et al. StarGAN v2: Diverse image synthesis for multiple domains[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2020: 8188−8197

    [70]

    Sanchez E, Valstar M. Triple consistency loss for pairing distributions in GAN-based face synthesis[J]. arXiv preprint, arXiv: 1811.03492, 2018

    [71]

    Kim D, Khan M A, Choo J. Not just compete, but collaborate: Local image-to-image translation via cooperative mask prediction[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 6509−6518

    [72]

    Li Xinyang, Zhang Shengchuan, Hu Jie, et al. Image-to-image translation via hierarchical style disentanglement[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 8639−8648

    [73]

    Aberman K, Shi Mingyi, Liao Jing, et al. Deep video-based performance cloning[J]. Computer Graphics Forum, 2019, 38(2): 219−233 doi: 10.1111/cgf.13632

    [74]

    Chan C, Ginosar S, Zhou Tinghui, et al. Everybody Dance Now [C] //Proc of the 32nd IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2019: 5933−5942

    [75]

    Liu Lingjie, Xu Weipeng, Zollhofer M, et al. Neural rendering and reenactment of human actor videos[J]. ACM Transactions on Graphics, 2019, 38(5): 139: 1−139: 14

    [76]

    Tokuda K, Nankaku Y, Toda T, et al. Speech synthesis based on hidden Markov models[J]. Proceedings of the IEEE, 2013, 101(5): 1234−1252 doi: 10.1109/JPROC.2013.2251852

    [77]

    Oord A, Dieleman S, Zen H, et al. WaveNet: A generative model for raw audio[J]. arXiv preprint, arXiv: 1609.03499, 2016

    [78]

    Wang Yuxuan, Skerry-ryan R, Stanton D, et al. Tacotron: A fully end-to-end text-to-speech synthesis model[J]. arXiv preprint, arXiv: 1703.10135, 2017

    [79]

    Shen J, Pang Ruoming, Weiss R J, et al. Natural TTS synthesis by conditioning WaveNet on mel spectrogram predictions[C] //Proc of the 43rd IEEE Int Conf on Acoustics, Speech and Signal Processing(ICASSP). Piscataway, NJ: IEEE, 2018: 4779−4783

    [80]

    Fu Ruibo, Tao Jianhua, Wen Zhengqi, et al. Focusing on attention: Prosody transfer and adaptative optimization strategy for multi-speaker end-to-end speech synthesis[C] //Proc of the 45th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2020: 6709−6713

    [81]

    Kumar K, Kumar R, de Boissiere T, et al. MelGAN: Generative adversarial networks for conditional waveform synthesis[J]. arXiv preprint, arXiv: 1910.06711, 2019.

    [82]

    Yang Geng, Yang Shan, Liu Kai, et al. Multi-band melgan: Faster waveform generation for high-quality text-to-speech[C] //Proc of the 8th IEEE Spoken Language Technology Workshop (SLT). Piscataway, NJ: IEEE, 2021: 492−498

    [83]

    Kaneko T, Kameoka H. CycleGAN-VC: Non-parallel voice conversion using cycle-consistent adversarial networks[C] //Proc of the 27th European Signal Processing Conf (EUSIPCO). Piscataway, NJ: IEEE, 2018: 2100−2104

    [84]

    Kaneko T, Kameoka H, Tanaka K, et al. CycleGAN-VC2: Improved cyclegan-based non-parallel voice conversion[C] //Proc of the 44th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2019: 6820−6824

    [85]

    Kaneko T, Kameoka H, Tanaka K, et al. CycleGAN-VC3: Examining and improving CycleGAN-VCs for mel-spectrogram conversion[J]. arXiv preprint, arXiv: 2010.11672, 2020

    [86]

    Kameoka H, Kaneko T, Tanaka K, et al. StarGAN-VC: Non-parallel many-to-many voice conversion using star generative adversarial networks[C] //Proc of the 7th IEEE Spoken Language Technology Workshop (SLT). Piscataway, NJ: IEEE, 2018: 266−273

    [87]

    Kaneko T, Kameoka H, Tanaka K, et al. StarGAN-VC2: Rethinking conditional methods for StarGAN-based voice conversion[J]. arXiv preprint, arXiv: 1907.12279, 2019

    [88]

    Liu Ruolan, Chen Xiao, Wen Xue. Voice conversion with transformer network[C] //Proc of the 45th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2020: 7759−7759

    [89]

    Luong H T, Yamagishi J. Bootstrapping non-parallel voice conver-sion from speaker-adaptive text-to-speech[C] //Proc of the 16th IEEE Automatic Speech Recognition and Understanding Workshop (ASRU). Piscataway, NJ: IEEE, 2019: 200−207

    [90]

    Zhang Mingyang, Zhou Yi, Zhao Li, et al. Transfer learning from speech synthesis to voice conversion with non-parallel training data[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2021, 29(1): 1290−1302

    [91]

    Huang Wenqin, Hayashi T, Wu Yiqiao, et al. Voice transformer network: Sequence-to-sequence voice conversion using transformer with text-to-speech pretraining[J]. arXiv preprint, arXiv: 1912.06813, 2019

    [92]

    Matern F, Riess C, Stamminger M. Exploiting visual artifacts to expose deepfakes and face manipulations[C] //Proc of the 20th IEEE Winter Applications of Computer Vision Workshops (WACVW). Piscataway, NJ: IEEE, 2019: 83−92

    [93]

    Zhou Peng, Han Xintong, Morariu V I, et al. Two-stream neural networks for tampered face detection[C] //Proc of the 30th IEEE Conf on Computer Vision and Pattern Recognition Workshops (CVPRW). Piscataway, NJ: IEEE, 2017: 1831−1839

    [94]

    Nataraj L, Mohammed T M, Manjunath B, et al. Detecting GAN generated fake images using co-occurrence matrices[J]. Electronic Imaging, 2019 : 1−7

    [95]

    Li Jiaming, Xie Hongtao, Li Jiahong, et al. Frequency-aware discriminative feature learning supervised by single-center loss for face forgery detection[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 6458−6467

    [96]

    Luo Yuchen, Zhang Yong, Yan Junchi, et al. Generalizing face forgery detection with high-frequency features[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 16317−16326

    [97]

    Shang Zhihua, Xie Hongtao, Zha Zhengjun, et al. PrrNet: Pixel-region relation network for face forger1y detection[J/OL]. Pattern Recognition, 2021, 116 [2021-10-15]. https://doi.org/10.1016/j.patcog.2021.107950

    [98]

    Li Yuezun, Lyu Siwei. Exposing deepfake videos by detecting face warping artifacts[J]. arXiv preprint, arXiv: 1811.00656, 2018

    [99]

    Li Lingzhi, Bao Jianmin, Zhang Ting, et al. Face x-ray for more general face forgery detection[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2020: 5001−5010

    [100]

    Li Xurong, Yu Kun, Ji Shouling, et al. Fighting against deepfake: Patch&pair convolutional neural networks (PPCNN)[C] //Proc of the 29th the Web Conf . New York: ACM, 2020: 88−89

    [101]

    Nguyen H, Fang Fuming, Yamagishi J, et al. Multi-task learning for detecting and segmenting manipulated facial images and videos[J]. arXiv preprint, arXiv: 1906.06876, 2019

    [102]

    Nirkin Y, Wolf L, Keller Y, et al. Deepfake detection based on the discrepancy between the face and its context[J]. arXiv preprint, arXiv: 2008.12262, 2020

    [103]

    Amerini I, Caldelli R. Exploiting prediction error in consistencies through LSTM-based classifiers to detect deepfake videos[C] //Proc of the 8th ACM Workshop on Information Hiding and Multimedia Security. New York: ACM, 2020: 97−102

    [104]

    Amerini I, Galteri L, Caldelli R, et al. Deepfake video detection through optical flow based CNN[C] //Proc of the 32nd IEEE/CVF Int Conf on Computer Vision Workshops. Piscataway, NJ: IEEE, 2019: 1205−1207

    [105]

    Guera D, Delp E J. Deepfake video detection using recurrent neural networks[C/OL] //Proc of the 15th IEEE Int Conf on Advanced Video and Signal Based Surveillance (AVSS). Piscataway, NJ: IEEE, 2018 [2021-10-15]. https://doi.org/10.1109/AVSS.2018.8639163

    [106]

    Sun Zekun, Han Yujie, Hua Zeyu, et al. Improving the efficiency and robustness of deepfakes detection through precise geometric features[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 3609−3618

    [107]

    Sabir E, Cheng Jiaxin, Jaiswal A, et al. Recurrent convolutional strategies for face manipulation detection in videos[C] //Proc of the 32nd IEEE/CVF Conf on Computer Vision and Pattern Recognition Workshops. Piscataway, NJ: IEEE, 2019: 80−87

    [108]

    Agarwal S, Farid H, Gu Yuming, et al. Protecting world leaders against deep fakes [C] //Proc of the 32nd IEEE/CVF Conf on Computer Vision and Pattern Recognition Workshops. Piscataway, NJ: IEEE, 2019: 38−45

    [109]

    Agarwal S, Farid H, Fried O, et al. Detecting deep-fake videos from phoneme-viseme mismatches[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition Workshops. Piscataway, NJ: IEEE, 2020: 660−661

    [110]

    Yang Xin, Li Yuezun, Lyu Siwei. Exposing deep fakes using inconsistent head poses[C] //Proc of the 44th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2019: 8261−8265

    [111]

    Ciftci U A, Demir I, Yin Lijun. FakeCatcher: Detection of synthetic portrait videos using biological signals[J/OL]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020 [2021-10-15]. https://doi.org/10.1109/T PAMI.2020.3009287

    [112]

    Fernandes S, Raj S, Ewetz R, et al. Detecting deepfake videos using attribution-based confidence metric[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition Workshops. Piscataway, NJ: IEEE, 2020: 308−309

    [113]

    Jha S, Raj S, Fernandes S, et al. Attribution-based confidence metric for deep neural networks[C] //Proc of the 32nd Int Conf on Neural Information Processing Systems. La Jolla, CA : NIPS, 2019: 11826−11837

    [114]

    McCloskey S, Albright M. Detecting GAN-generated imagery using color cues[J]. arXiv preprint, arXiv: 1812.08247, 2018

    [115]

    Guarnera L, Giudice O, Battiato S. Deepfake detection by analyzing convolutional traces[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition Workshops. Piscataway, NJ: IEEE, 2020: 666−667.

    [116]

    Qian Yuyang, Yin Guojun, Sheng Lu, et al. Thinking in frequency: Face forgery detection by mining frequency-aware clues[C] //Proc of the 16th European Conf on Computer Vision. Berlin: Springer, 2020: 86−103

    [117]

    Masi I, Killekar A, Mascarenhas R M, et al. Two-branch recurrent network for isolating deepfakes in videos[C] //Proc of the 16th European Conf on Computer Vision. Berlin: Springer, 2020: 667−684

    [118]

    Liu Honggu, Li Xiaodan, Zhou Wenbo, et al. Spatial-phase shallow learning: Rethinking face forgery detection in frequency domain[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 772−781

    [119]

    Agarwal S, Farid H, EL-Gaaly T, et al. Detecting deepfake videos from appearance and behavior[C/OL] //Proc of the 12th IEEE Int Workshop on Information Forensics and Security (WIFS). Piscataway, NJ: IEEE, 2020 [2021-10-15]. https://doi.org/10.1109/WIFS49906.2020.9360904

    [120]

    Wiles O, Koepke A, Zisserman A. Self-supervised learning of a facial attribute embedding from video[J]. arXiv preprint, arXiv: 1808.06882, 2018

    [121]

    Cozzolino D, Rossler A, Thies J, et al. Id-reveal: Identity-aware deepfake video detection[J]. arXiv preprint, arXiv: 2012.02512, 2020

    [122]

    Dong Xiaoyi, Bao Jianmin, Chen Dongdong, et al. Identity-driven deepfake detection[J]. arXiv preprint, arXiv: 2012.03930, 2020

    [123]

    Jiang Jun, Wang Bo, Li Bing, et al. Practical face swapping detection based on identity spatial constraints[C] //Proc of the 7th IEEE Int Joint Conf on Biometrics (IJCB). Piscataway, NJ: IEEE, 2021: 1−8

    [124]

    Lewis J K, Toubal I E, Chen Helen, et al. Deepfake video detection based on spatial, spectral, and temporal inconsistencies using multi-modal deep learning[C/OL] //Proc of the 49th IEEE Applied Imagery Pattern Recognition Workshop (AIPR). Piscataway, NJ: IEEE, 2020 [2021-10-15]. https://doi.org/10.1109/AIPR50011.2020.9425167

    [125]

    Lomnitz M, Hampel-arias Z, Sandesara V, et al. Multimodal approach for deepfake detection[C/OL] //Proc of the 49th IEEE Applied Imagery Pattern Recognition Workshop (AIPR). Piscataway, NJ: IEEE, 2020 [2021-10-15]. https://doi.org/10.1109/AIPR50011.2020.9425192

    [126]

    Ravanelli M, Bengio Y. Speaker recognition from raw waveform with SincNet[C] //Proc of the 7th IEEE Spoken Language Technology Workshop(SLT). Piscataway, NJ: IEEE, 2018: 1021−1028

    [127]

    Mittal T, Bhattacharya U, Chandra R, et al. Emotions don’t lie: An audio-visual deepfake detection method using affective cues[C] //Proc of the 28th ACM Int Conf on Multimedia. New York: ACM, 2020: 2823−2832

    [128]

    Hosler B, Salvi D, Murray A, et al. Do deepfakes feel emotions? A semantic approach to detecting deepfakes via emotional inconsistencies[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 1013−1022

    [129]

    Afchar D, Nozick V, Yamagishi J, et al. MesoNet: A compact facial video forgery detection network[C/OL] //Proc of the 10th IEEE Int Workshop on Information Forensics and Security (WIFS). Piscataway, NJ: IEEE, 2018 [2021-10-15]. https://doi.org/10.1109/WIFS.2018.8630761

    [130]

    Jain A, Singh R, Vatsa M. On detecting GANs and retouching based synthetic alterations[C/OL] //Proc of the 9th Int Conf on Biometrics Theory, Applications and Systems (BTAS). Piscataway, NJ: IEEE, 2018 [2021-10-15]. https://doi.org/10.1109/BTAS.2018.8698545

    [131]

    Wang Run, Xu Juefei, Ma Lei, et al. FakeSpotter: A simple yet robust baseline for spotting ai-synthesized fake faces[J]. arXiv preprint, arXiv: 1909.06122, 2019

    [132]

    Dang Hao, Liu Feng, Stehouwer J, et al. On the detection of digital face manipulation[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2020: 5781−5790

    [133]

    Hsu C C, Zhuang Yixiu, Lee C Y. Deep fake image detection based on pairwise learning[J/OL]. Applied Sciences, 2020 [2021-10-15]. https://doi.org/10.3390/app10010370

    [134]

    Khalid H, Woo S S. Oc-fakedect: Classifying deepfakes using one-class variational autoencoder[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition Workshops. Piscataway, NJ: IEEE, 2020: 656−657

    [135]

    Rana M S, Sung A H. DeepfakeStack: A deep ensemble-based learning technique for deepfake detection[C] //Proc of the 7th IEEE Int Conf on Cyber Security and Cloud Computing(CSCloud)/IEEE Int Conf on Edge Computing and Scalable Cloud (EdgeCom). Piscataway, NJ: IEEE, 2020: 70−75

    [136]

    Bonettini N, Cannas E D, Mandelli S, et al. Video face manipulation detection through ensemble of CNNs[C] //Proc of the 31st Int Conf on Pattern Recognition (ICPR). Piscataway, NJ: IEEE, 2021: 5012−5019

    [137]

    Kim M, Tariq S, Woo S S. FReTal: Generalizing deepfake detection using knowledge distillation and representation learning[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 1001−1012

    [138]

    Aneja S, Niessner M. Generalized zero and few-shot transfer for facial forgery detection[J]. arXiv preprint, arXiv: 2006.11863, 2020

    [139]

    Wang Chengrui, Deng Weihong. Representative forgery mining for fake face detection[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 14923−14932

    [140]

    Zhao Hanqing, Zhou Wenbo, Chen Dongdong, et al. Multi-attentional deepfake detection[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 2185−2194

    [141]

    Kumar P, Vatsa M, Singh R. Detecting face2face facial reenactment in videos[C] //Proc of the 20th IEEE/CVF Winter Conf on Applications of Computer Vision. Piscataway, NJ: IEEE, 2020: 2589− 2597

    [142]

    Jeon H, Bang Y, Woo S S. FdftNet: Facing off fake images using fake detection fine-tuning network[C] //Proc of the 35th IFIP Int Conf on ICT Systems Security and Privacy Protection. Berlin: Springer, 2020: 416−430

    [143]

    Wang Shengyu, Wang O, Zhang R, et al. CNN-generated images are surprisingly easy to spot for now[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2020: 8695−8704

    [144]

    Liu Zhengzhe, Qi Xiaojuan, Torr P. Global texture enhancement for fake face detection in the wild[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2020: 8060−8069

    [145]

    Wodajo D, Atnafu S. Deepfake video detection using convolutional vision transformer[J]. arXiv preprint, arXiv: 2102.11126, 2021

    [146]

    Wang Junke, Wu Zuxuan, Chen Jingjing, et al. M2tr: Multi-modal multi-scale transformers for deepfake detection[J]. arXiv preprint, arXiv: 2104.09770, 2021

    [147]

    Heo Y, Choi Y, Lee Y, et al. Deepfake detection scheme based on vision transformer and distillation[J]. arXiv preprint, arXiv: 2104.01353, 2021

    [148]

    Dolhansky B, Howes R, Pflaum B, et al. The deepfake detection challenge (DFDC) preview dataset[J]. arXiv preprint, arXiv: 1910.08854, 2019

    [149]

    Li Yuezun, Yang Xin, Sun Pu, et al. Celeb-DF: A large-scale challenging dataset for deepfake forensics[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2020: 3207−3216

    [150]

    Ondyari. Deepfake detection (DFD) dataset [DB/OL]. 2018 [2021-10-15]. https://github.com/ondyari/FaceForensics

    [151]

    Koeshunov P, Marcel S. Deepfakes: A new threat to face recognition? assessment and detection[J]. arXiv preprint, arXiv: 1812.08685, 2018

    [152]

    Li Yuezun, Yang Xin, Sun Pu, et al. Celeb-DF (v2): A new dataset for deepfake forensics[J]. arXiv preprint, arXiv: 1909.12962, 2019

    [153]

    Ruiz N, Bargal S A, Sclaroff S. Disrupting deepfakes: Adversarial attacks against conditional image translation networks and facial manipulation systems[C] //Proc of the 16th European Conf on Computer Vision. Berlin: Springer, 2020: 236−251

    [154]

    Huang Qidong, Zhang Jie, Zhou Wenbo, et al. Initiative defense against facial manipulation[C] //Proc of the 35th AAAI Conf on Artificial Intelligence. New York: ACM, 2021: 1619−1627

    [155]

    Dong Junhao, Xie Xiaohua. Visually maintained image disturbance against deepfake face swapping [C/OL] //Proc of the 22nd IEEE Int Conf on Multimedia and Expo (ICME). Piscataway, NJ: IEEE, 2021 [2021-10-15]. https://doi.org/10.1109/ICME51207.2021.9428173

    [156]

    Neves J C, Tolosana R, Vera-rodriguez R, et al. Real or fake? Spoofing state-of-the-art face synthesis detection systems[J]. arXiv preprint, arXiv: 1911.05351, 2019

    [157]

    Carlini N, Farid H. Evading deepfake-image detectors with white- and black-box attacks[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition Workshops. Piscataway, NJ: IEEE, 2020: 658−659

    [158]

    Hussain S, Neekhara P, Jere M, et al. Adversarial deepfakes: Evaluating vulnerability of deepfake detectors to adversarial examples [C] //Proc of the 21st IEEE/CVF Winter Conf on Applications of Computer Vision. Piscataway, NJ: IEEE, 2021: 3348− 3357

    [159]

    Patel T B, Patil H A. Cochlear filter and instantaneous frequency based features for spoofed speech detection[J]. IEEE Journal of Selected Topics in Signal Processing, 2016, 11(4): 618−631

    [160]

    Tom F, Jain M, Dey P. End-to-end audio replay attack detection using deep convolutional networks with attention.[C] //Proc of the 20th Interspeech. 2018 [2021-10-15]. https://www.isca-speech.org/archive_v0/Interspeech_2018/abstracts/2279.html

    [161]

    Das R K, Yang Jichen, Li Haizhou. Assessing the scope of generalized counter-measures for anti-spoofing[C] //Proc of the 45th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2020: 6589−6593

    [162]

    Lavrentyeva G, Novoselov S, Malykh E, et al. Audio replay attack detection with deep learning frameworks[C] //Proc of the 19th Interspeech. 2017 [2021-10-15]. https://www.isca-speech.org/archive_v0/Interspeech_2017/abstracts/0360.html

    [163]

    Wu Xiang, He Ran, Sun Zhenan, et al. A light CNN for deep face representation with noisy labels[J]. IEEE Transactions on Information Forensics and Security, 2018, 13(11): 2884−2896 doi: 10.1109/TIFS.2018.2833032

    [164]

    Lavrentyeva G, Novoselov S, Tseren A, et al. Stc anti-spoofing systems for the ASVspoof 2019 challenge[J]. arXiv preprint, arXiv: 1904.05576, 2019

    [165]

    Cai Weicheng, Wu Haiwei, Cai Danwei, et al. The DKU replay detection system for the ASVspoof 2019 challenge: On data augmentation, feature representation, classification, and fusion[J]. arXiv preprint, arXiv: 1907.02663, 2019

    [166]

    Lai C I, Chen Nanxin, Villalba J, et al. Assert: Anti-spoofing with squeeze-excitation and residual networks[J]. arXiv preprint, arXiv: 1904.01120, 2019

    [167]

    Parasu P, Epps J, Sriskandaraja K, et al. Investigating light-resnet architecture for spoofing detection under mismatched conditions[C] // Proc of the 22nd Interspeech. 2020 [2021-10-15]. https://www.isca-speech.org/archive_v0/Interspeech_2020/abstracts/2039.html

    [168]

    Ma Haoxin, Yi Jiangyan, Tao Jianhua, et al. Continual learning for fake audio detection[J]. arXiv preprint, arXiv: 2104.07286, 2021

    [169]

    Li Zzhizhong, Hoiem D. Learning without forgetting[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 40(12): 2935−2947

    [170]

    Dolhansky B, Bitton J, Pflaum B, et al. The deepfake detection challenge (DFDC) dataset[J]. arXiv preprint, arXiv: 2006.07397, 2020

    [171]

    Peng Bo, Fan Hongxing, Wang Wei, et al. DFGC 2021: A deepfake game competition[J]. arXiv preprint, arXiv: 2106.01217, 2021

    [172]

    Zi Bojia, Chang Minghao, Chen Jingjing, et al. Wild Deepfake: A challenging real-world dataset for deepfake detection[C] //Proc of the 28th ACM Int Conf on Multimedia. New York: ACM, 2020: 2382−2390

    [173]

    Jiang Liming, Li Ren, Wu W, et al. DeeperForensics-1.0: A large-scale dataset for real-world face forgery detection[C] //Proc of the 33rd IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2020: 2889−2898

    [174]

    Fox G, Liu Wentao, Kim H, et al. Video ForensicsHQ: Detecting high-quality manipulated face videos[C/OL] //Proc of the 22nd IEEE Int Conf on Multimedia and Expo (ICME). Piscataway, NJ: IEEE, 2021 [2021-10-15]. https://doi.org/10.1109/ICME51207.2021.9428101

    [175]

    Zhou Tianfei, Wang Wenguan, Liang Zhiyuan, et al. Face forensics in the wild[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 5778−5788

    [176]

    He Yinan, Gan Bei, Chen Siyu, et al. ForgeryNet: A versatile benchmark for comprehensive forgery analysis[C] //Proc of the 34th IEEE/CVF Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2021: 4360−4369

    [177]

    Khalid H, Tariq S, Woo S S. FakeAVCeleb: A novel audio-video multimodal deepfake dataset[J]. arXiv preprint, arXiv: 2108.05080, 2021

    [178]

    University of Edinburgh, the Centre for Speech Technology Research (CSTR). ASVspoof 2015 database[DB/OL]. 2015 [2021-10-15]. https://datasha re.ed.ac.uk/handle/10283/853

    [179]

    University of Edinburgh, the Centre for Speech Technology Research (CSTR). ASVspoof 2017 database [DB/OL]. 2017 [2021-10-15]. https://datashar e.ed.ac.uk/handle/10283/3055.

    [180]

    University of Edinburgh, the Centre for Speech Technology Research (CSTR). ASVspoof 2019 database [DB/OL]. 2019 [2021-10-15]. https://datashar e.ed.ac.uk/handle/10283/3336.

    [181]

    Krishnan P, Kovvuri R, Pang Guan, et al. Textstyle brush: Transfer of text aesthetics from a single example[J]. arXiv preprint, arXiv: 2106.08385, 2021

  • 期刊类型引用(2)

    1. 刘晓光,李梅. 基于深度学习的药物-靶标相互作用预测研究综述. 智能系统学报. 2024(03): 494-524 . 百度学术
    2. 白学营,陈维常,徐菲,胡健伟. 应用感知的深度神经网络剪枝方法. 宇航总体技术. 2024(05): 64-73 . 百度学术

    其他类型引用(1)

图(5)  /  表(4)
计量
  • 文章访问数:  1274
  • HTML全文浏览量:  146
  • PDF下载量:  500
  • 被引次数: 3
出版历程
  • 收稿日期:  2021-11-11
  • 修回日期:  2022-08-28
  • 网络出版日期:  2023-03-19
  • 刊出日期:  2023-05-31

目录

/

返回文章
返回