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

面向边缘智能的联邦学习综述

张雪晴, 刘延伟, 刘金霞, 韩言妮

张雪晴, 刘延伟, 刘金霞, 韩言妮. 面向边缘智能的联邦学习综述[J]. 计算机研究与发展, 2023, 60(6): 1276-1295. DOI: 10.7544/issn1000-1239.202111100
引用本文: 张雪晴, 刘延伟, 刘金霞, 韩言妮. 面向边缘智能的联邦学习综述[J]. 计算机研究与发展, 2023, 60(6): 1276-1295. DOI: 10.7544/issn1000-1239.202111100
Zhang Xueqing, Liu Yanwei, Liu Jinxia, Han Yanni. An Overview of Federated Learning in Edge Intelligence[J]. Journal of Computer Research and Development, 2023, 60(6): 1276-1295. DOI: 10.7544/issn1000-1239.202111100
Citation: Zhang Xueqing, Liu Yanwei, Liu Jinxia, Han Yanni. An Overview of Federated Learning in Edge Intelligence[J]. Journal of Computer Research and Development, 2023, 60(6): 1276-1295. DOI: 10.7544/issn1000-1239.202111100
张雪晴, 刘延伟, 刘金霞, 韩言妮. 面向边缘智能的联邦学习综述[J]. 计算机研究与发展, 2023, 60(6): 1276-1295. CSTR: 32373.14.issn1000-1239.202111100
引用本文: 张雪晴, 刘延伟, 刘金霞, 韩言妮. 面向边缘智能的联邦学习综述[J]. 计算机研究与发展, 2023, 60(6): 1276-1295. CSTR: 32373.14.issn1000-1239.202111100
Zhang Xueqing, Liu Yanwei, Liu Jinxia, Han Yanni. An Overview of Federated Learning in Edge Intelligence[J]. Journal of Computer Research and Development, 2023, 60(6): 1276-1295. CSTR: 32373.14.issn1000-1239.202111100
Citation: Zhang Xueqing, Liu Yanwei, Liu Jinxia, Han Yanni. An Overview of Federated Learning in Edge Intelligence[J]. Journal of Computer Research and Development, 2023, 60(6): 1276-1295. CSTR: 32373.14.issn1000-1239.202111100

面向边缘智能的联邦学习综述

基金项目: 国家自然科学基金项目(61771469);重庆市属本科高校与中国科学院所属院所合作项目(HZ2021015)
详细信息
    作者简介:

    张雪晴: 1994年生. 硕士. 主要研究方向为机器学习

    刘延伟: 1976年生. 博士,副研究员. CCF会员. 主要研究方向为无线通信、智能多媒体信息处理和网络安全

    刘金霞: 1969年生. 硕士,教授. 主要研究方向为无线通信和边缘智能

    韩言妮: 1981年生. 博士,副研究员. 主要研究方向为无线通信和智能数据分析

    通讯作者:

    刘延伟(liuyanwei@iie.ac.cn

  • 中图分类号: TP3

An Overview of Federated Learning in Edge Intelligence

Funds: This work was supported by the National Natural Science Foundation of China (61771469) and the Cooperation Project Between Chongqing Municipal Undergraduate Universities and Institutes Affiliated to CAS (HZ2021015).
More Information
    Author Bio:

    Zhang Xueqing: born in 1994. Master. Her main research interest includes machine learning

    Liu Yanwei: born in 1976. PhD, associate professor. Member of CCF. His main research interests include wireless communication, intelligent multimedia processing, and cyber security

    Liu Jinxia: born in 1969. Master, professor. Her main research interests include wireless communication and edge intelligence

    Han Yanni: born in 1981. PhD, associate professor. Her main research interests include wireless communication and intelligent data analysis

  • 摘要:

    随着边缘智能需求的快速增长,联邦学习(federated learning,FL)技术在产业界受到了极大的关注. 与传统基于云计算的集中式机器学习相比,边缘网络环境下联邦学习借助移动边缘设备共同训练机器学习模型,不需要把大量本地数据发送到云端进行处理,缩短了数据处理计算节点与用户之间的距离,在满足用户低时延需求的同时,用户数据可以在本地训练进而实现数据隐私保护. 在边缘网络环境下,由于通信资源和计算资源受限,联邦学习的性能依赖于无线网络状态、终端设备资源以及数据质量的综合限制. 因此,面向边缘智能应用,首先分析了边缘智能环境下高效联邦学习面临的挑战,然后综述联邦学习在客户端选择、模型训练与模型更新等关键技术方面的研究进展,最后对边缘智能联邦学习的发展趋势进行了展望.

    Abstract:

    With the increasing demand of edge intelligence, federated learning (FL) has been now of great concern to the industry. Compared with the traditionally centralized machine learning that is mostly based on cloud computing, FL collaboratively trains the neural network model over a large number of edge devices in a distributed way, without sending a large amount of local data to the cloud for processing, which makes the compute-extensive learning tasks sunk to the edge of the network closed to the user. Consequently, the users’ data can be trained locally to meet the needs of low latency and privacy protection. In mobile edge networks, due to the limited communication resources and computing resources, the performance of FL is subject to the integrated constraint of the available computation and communication resources during wireless networking, and also data quality in mobile device. Aiming for the applications of edge intelligence, the tough challenges for seeking high efficiency FL are analyzed here. Next, the research progresses in client selection, model training and model updating in FL are summarized. Specifically, the typical work in data unloading, model segmentation, model compression, model aggregation, gradient descent algorithm optimization and wireless resource optimization are comprehensively analyzed. Finally, the future research trends of FL in edge intelligence are prospected.

  • 近年来,随着大数据、人工智能技术的应用与普及,计算机体系结构朝着异构化、并行化的方向发展,计算能力强、执行效率高的异构计算平台是当前环境所迫切需要的[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   边缘智能联邦学习架构

    Figure  1.   Edge intelligent federated learning architecture

    图  2   FedCS协议概述

    Figure  2.   FedCS protocol overview

    图  3   模型分割迁移框架

    Figure  3.   Model segmentation migration framework

    图  4   自适应模型聚合与固定频率聚合的比较

    Figure  4.   Comparison of adaptive model aggregation and fixed frequency aggregation

    图  5   智能交通

    Figure  5.   Intelligent transportation

    图  6   通过空中计算并利用空间自由度进行参数聚合[125]

    Figure  6.   The parameters are aggregated by air calculation and spatial freedom[125]

    表  1   现有联邦学习综述研究对比

    Table  1   Comparison of Studies on Existing Federated Learning Reviews

    研究
    工作
    资源
    优化
    激励
    机制
    算法
    设计
    从无线网络
    角度优化
    无线
    应用
    说明
    文献[11]××考虑边缘网络的FL
    文献[12]××××
    文献[13]××××
    文献[14]×××××主要考虑用于缓存和计算卸载的FL
    文献[15]××××
    本文
    注:“√”表示文献中完成了该项工作,“×”表示文献中未完成该项工作.
    下载: 导出CSV

    表  2   联邦学习客户端选择方案比较

    Table  2   Comparison of Federated Learning Client Selection Schemes

    方案类型方案思路客户端目标服务器端目标
    计算与通信资源优化剔除不必要的模型更新[17]、客户端分层[18]、控制学习节奏[19]、基于聚类实现自组织学习[20]、长期能耗约束下的带宽分配[21]、设置学习期限[25]、基于设备的计算能力进行选择[26]
    激励机制契约理论[28]:基于信誉进行激励反馈鼓励可靠的终端设备参与学习奖励和能耗的平衡最大化由全局迭代时间与补偿给客户端的报酬之间的差异所获得的利润
    Stackelberg博弈[31]:实现高质量无线通信效率的全局模型奖励(即准确率等级)和成本(即通信和计算成本)的平衡获取不同准确率的凹函数
    拍卖理论[32-33]:最大限度地降低客户端投标的成本奖励和成本的平衡最小化投标成本
    修订目标函数权重[30]为了引入潜在的公平性并降低训练精度方差,通过在q-FedAvg中分配更高的相对权重来强调具有高经验损失的本地设备
    下载: 导出CSV

    表  3   模型压缩技术总结

    Table  3   Summary of Model Compression Techniques

    方法优化手段优缺点
    结构化和草图更新机制[48]压缩传输模型,提升客户端到服务器的通信效率客户端到服务器参数压缩;代价是复杂的模型结构可能出现收敛问题
    服务端-客户端更新[49]压缩传输模型,提升服务器到客户端的通信效率服务器到客户端参数压缩;代价是准确性降低,可能有收敛问题

    草图[50]
    使用计数草图压缩模型更新,然后利用草图的可合并性来组合来自客户端的模型更新解决了客户端参与稀少而导致的收敛问题,建立在假设网络;已经尽了最大努力使通信效率最大化;可能遇到网络瓶颈
    Adam[1]通过使用Adam优化和压缩方案改进了FedAvg算法Adam优化加快了收敛速度,压缩方案降低了通信开销
    模型蒸馏[51-52]交换模型输出模型状态信息,即其有效载荷大小仅取决于输出维度的标签数量;然后使用联邦蒸馏实现权重更新规则解决了数据独立同分布的问题;代价是无线信道对模型训练精度的影响
    下载: 导出CSV

    表  4   模型训练优化方法及特点

    Table  4   Optimization Methods and Characteristics of Model Training

    优化方法特点方法来源
    数据卸载利用边缘计算服务器的
    强大算力加快模型训练
    文献[3638]
    模型分割迁移分割模型和隐私保护技术文献[4244]
    模型压缩采用不同压缩粒度对模型输出
    值或者中间值梯度进行压缩
    文献[4852]
    下载: 导出CSV

    表  5   主要联邦学习模型聚合技术的比较总结

    Table  5   A Comparative Summary of Major Federated Learning Mode Aggregation Technologies

    聚合技术优化角度主要思想特点
    FedAvg[7]统计异构性客户端对其本地数据执行多个批处理更新,并与服务器传输更新的权重,而不是梯度. 从统计的角度看,FedAvg已被证明设备间数据分布不一致的情况下开始发散;从系统的角度看,FedAvg不允许参与学习的设备根据其底层系统限制执行可变数量的本地更新.
    FedProx[55]统计异构性在每个客户端上的本地训练子问题中添加一项,以限制每个本地模型更新对全局模型的影响. FedProx的提出是为了提高统计异质性数据的收敛性. 与FedAvg类似,在FedProx中,所有设备在全局聚合阶段的权重相等,因为没有考虑设备功能(例如硬件、电量)的差异.
    FedPAQ[53]通信在与服务器共享更新之前,允许客户端在模型上执行多个本地更新. 与FedAvg类似,FedPAQ中的新全局模型为局部模型的平均值,但这在强凸和非凸设置中都需要很高的复杂性.
    FedMA[54]统计异构性在执行聚合前考虑神经元的排列不变性,并允许全局模型大小自适应.使用贝叶斯非参数机制根据数据分布的异构性调整中心模型的大小;FedMA中的贝叶斯非参数机制容易受到模型中毒攻击,在这种情况下,对手可以很容易地欺骗系统扩展全局模型,以适应任何中毒的本地模型.
    Turbo-Aggregate[62]通信和安全一种多组策略,其中客户端被分成几个组,模型更新以循环方式在组之间共享和一种保护用户隐私数据的附加秘密共享机制. Turbo-Aggregate非常适合无线拓扑,在这种拓扑中,网络条件和用户可用性可能会快速变化. Turbo-Aggregate中嵌入的安全聚合机制虽然能有效处理用户流失,但无法适应加入网络的新用户. 因此,通过重新配置系统规范(即多组结构和编码设置)以确保满足弹性和隐私保证,开发一种可自我配置的协议来扩展它的.
    自适应聚合[63]通信和统计
    异构性
    在给定的资源预算下确定局部更新和全局参数聚合之间的最佳折中的自适应控制算法. 改变了全局聚合频率,以确保期望的模型性能,同时确保在FL训练过程中有效利用可用资源,例如能量,可用于边缘计算中的FL. 自适应聚合方案的收敛性保证目前只考虑凸损失函数.
    HierFAVG[65]通信一种分层的客户端—边缘—云聚合体系结构,边缘服务器聚合其客户端的模型更新,然后将它们发送到云服务器进行全局聚合. 这种多层结构能够在现有的客户端—云架构上实现更高效的模型交换. HierFAVG仍然容易出现掉队和终端设备掉线的问题.
    自适应任务分配[66]设备异构性、通信、计算在保证异构信道上的数据分发/聚合总次数和异构设备上的本地计算,在延迟约束下最大化学习精度. 自适应任务分配方案,该方案将最大化分布式学习者的本地学习迭代次数(从而提高学习精度),同时遵守时间限制. 该方案没考虑动态参数,如变化的信道状态和数据到达时间.
    公平聚合[67]设备异构性、任务异构性、通信、计算一种具有自适应学习率的定制学习算法,以适应不同的精度要求,并加快本地训练过程. 为边缘服务器提出了一个公平的全局聚合策略,以最小化异构终端设备之间的精度差异. 一种学习率自适应的CuFL算法,以最小化总学习时间. 考虑到终端设备的任务异质性,CuFL允许终端设备在满足其独特的精度要求后提前退出训练. 该方案没考虑动态参数,如变化的信道状态和数据到达时间.
    下载: 导出CSV

    表  6   边缘网络下基于联邦学习的无人机应用

    Table  6   Unmanned Aerial Vehicle Application Based on Federated Learning in Edge Network

    挑战联邦学习结果
    客户端服务器数据特征本地和全局模型
    边缘内容
    缓存[95-96]
    UAVs边缘服务器
    边缘服务器
    内容特征(新鲜度、位置、占用内存、内容请求历史等)内容受欢迎度预测有效地确定哪些内容应该存储在每个缓存中
    无人机作
    为基站[93]
    地面用户关于地面用户可移动性的信息(位置、方向、速度等)地面用户模式(移动性
    和内容负荷)的预测
    优化无人机基站部署、提高网络覆盖和连通性、有效提供热门内容.
    无人机轨
    迹规划[92]
    UAVs边缘服务器或云源、目的点位置、无人机机动性信息(速度、方向、位置、高度等)、无人机能量消耗、物理障碍、服务需求等. 每条潜在路径的性能预测无人机选择最优轨迹、优化服务性能、优化无人机能耗
    下载: 导出CSV
  • [1]

    Mills J, Hu Jia, Min Geyong. Communication-efficient federated learning for wireless edge intelligence in IoT[J]. IEEE Internet of Things Journal, 2019, 7(7): 5986−5994

    [2]

    Covington P, Adams J, Sargin E. Deep neural networks for YouTube recommendations[C] //Proc of the 10th ACM Conf on Recommender Systems. New York: ACM, 2016: 191−198

    [3]

    Parkhi O M, Vedaldi A, Zisserman A. Deep face recognition[C] //Proc of the 15th IEEE Int Conf on Computer Vision Workshop. Piscataway, NJ: IEEE, 2015: 258−266

    [4]

    Mowla N I, Tran N H, Doh I, et al. Federated learning-based cognitive detection of jamming attack in flying ad-hoc network[J]. IEEE Access, 2020, 8: 4338−4350 doi: 10.1109/ACCESS.2019.2962873

    [5]

    Brik B, Ksentini A, Bouaziz M. Federated learning for UAVs-enabled wireless networks: Use cases, challenges, and open problems[J]. IEEE Access, 2020, 8: 53841−53849 doi: 10.1109/ACCESS.2020.2981430

    [6]

    Abbas N, Zhang Yan, Taherkordi A, et al. Mobile edge computing: A survey[J]. IEEE Internet of Things Journal, 2017, 5(1): 450−465

    [7]

    Mcmahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C] //Proc of the 20th Int Conf on Artificial Intelligence and Statistics. New York: PMLR, 2017 : 1273−1282.

    [8]

    Yang Qiang, Liu Yang, Chen Tianjian, et al. Federated machine learning: Concept and applications[J]. ACM Transactions on Intelligent Systems and Technology, 2019, 10(2): 1−19

    [9]

    Zhou Zhi, Yang Song, Pu Lingjun, et al. CEFL: Online admission control, data scheduling, and accuracy tuning for cost-efficient federated learning across edge nodes[J]. IEEE Internet of Things Journal, 2020, 7(10): 9341−9356 doi: 10.1109/JIOT.2020.2984332

    [10]

    Ruder S. An overview of gradient descent optimization algorithms[J]. arXiv preprint, arXiv: 1609.04747, 2016

    [11]

    Lim W Y B, Luong N C, Hoang D T, et al. Federated learning in mobile edge networks: A comprehensive survey[J]. IEEE Communications Surveys & Tutorials, 2020, 22(3): 2031−2063

    [12]

    Li Tian, Sahu A K, Talwalkar A, et al. Federated learning: Challenges, methods, and future directions[J]. IEEE Signal Processing Magazine, 2020, 37(3): 50−60 doi: 10.1109/MSP.2020.2975749

    [13]

    Li Qinbin, Wen Zeyi, Wu Zhaomin, et al. A survey on federated learning systems: Vision, hype and reality for data privacy and protection[J]. arXiv preprint, arXiv: 1907.09693, 2019

    [14]

    Wang Xiaofei, Han Yiwen, Wang Chenyang, et al. In-edge AI: Intelligentizing mobile edge computing, caching and communication by federated learning[J]. IEEE Network, 2019, 33(5): 156−165 doi: 10.1109/MNET.2019.1800286

    [15]

    Kairouz P, Mcmahan H B, Avent B, et al. Advances and open problems in federated learning[J]. arXiv preprint, arXiv: 1912.04977, 2019

    [16] 王艳,李念爽,王希龄,等. 编码技术改进大规模分布式机器学习性能综述[J]. 计算机研究与发展,2020,57(3):542−561 doi: 10.7544/issn1000-1239.2020.20190286

    Wang Yan, Li Nianshuang, Wang Xiling, et al. Coding-based performance improvement of distributed machine learning in large-scale clusters[J]. Journal of Computer Research and Development, 2020, 57(3): 542−561 (in Chinese) doi: 10.7544/issn1000-1239.2020.20190286

    [17]

    Jin Yibo, Jiao Lei, Qian Zhuzhong, et al. Resource-efficient and convergence-preserving online participant selection in federated learning[C] //Proc of the 40th IEEE Int Conf on Distributed Computing Systems (ICDCS). Piscataway, NJ: IEEE, 2020: 606−616

    [18]

    Chai Z, Ali A, Zawad S, et al. TiFL: A tier-based federated learning system[C] //Proc of the 29th Int Symp on High-Performance Parallel and Distributed Computing. New York: ACM, 2020: 125−136

    [19]

    Li Li, Xiong Haoyi, Guo Zhishan, et al. SmartPC: Hierarchical pace control in real-time federated learning system[C] //Proc of the 40th IEEE Real-Time Systems Symp (RTSS). Piscataway, NJ: IEEE, 2019: 406−418

    [20]

    Khan L U, Alsenwi M, Han Zhu, et al. Self organizing federated learning over wireless networks: A socially aware clustering approach[C] //Proc of the 34th Int Conf on Information Networking (ICOIN). Piscataway, NJ: IEEE, 2020: 453−458

    [21]

    Xu Jie, Wang Heqiang. Client selection and bandwidth allocation in wireless federated learning networks: A long-term perspective[J]. IEEE Transactions on Wireless Communications, 2020, 20(2): 1188−1200

    [22]

    Damaskinos G, Guerraoui R, Kermarrec A M, et al. Fleet: Online federated learning via staleness awareness and performance prediction[C] //Proc of the 21st Int Middleware Conf. New York: ACM, 2020: 163−177

    [23]

    Sprague M R, Jalalirad A, Scavuzzo M, et al. Asynchronous federated learning for geospatial applications[C] //Proc of the Joint European Conf on Machine Learning and Knowledge Discovery in Databases. Cham, Switzerland: Springer, 2018: 21−28

    [24]

    Wu Wentai, He Ligang, Lin Weiwei, et al. Safa: A semi-asynchronous protocol for fast federated learning with low overhead[J]. IEEE Transactions on Computers, 2020, 70(5): 655−668

    [25]

    Nishio T, Yonetani R. Client selection for federated learning with heterogeneous resources in mobile edge[C/OL] //Proc of the 53rd IEEE Int Conf on Communications. Piscataway, NJ: IEEE, 2019[2022-09-05].https://ieeexplore.ieee.org/document/8761315

    [26]

    Yoshida N, Nishio T, Morikura M, et al. Hybrid-FL for wireless networks: Cooperative learning mechanism using non-IID data[C/OL] //Proc of the 54th IEEE Int Conf on Communications (ICC). Piscataway, NJ: IEEE, 2020[2022-09-05].https://ieeexplore.ieee.org/abstract/document/9149323

    [27]

    Khan L U, Pandey S R, Tran N H, et al. Federated learning for edge networks: Resource optimization and incentive mechanism[J]. IEEE Communications Magazine, 2020, 58(10): 88−93 doi: 10.1109/MCOM.001.1900649

    [28]

    Kang Jiawen, Xiong Zehui, Niyato D, et al. Incentive mechanism for reliable federated learning: A joint optimization approach to combining reputation and contract theory[J]. IEEE Internet of Things Journal, 2019, 6(6): 10700−10714 doi: 10.1109/JIOT.2019.2940820

    [29]

    Kim H, Park J, Bennis M, et al. Blockchained on-device federated learning[J]. IEEE Communications Letters, 2019, 24(6): 1279−1283

    [30]

    Li Tian, Sanjabi M, Beirami A, et al. Fair resource allocation in federated learning[J]. arXiv preprint, arXiv: 1905.10497, 2020

    [31]

    Pandey S R, Tran N H, Bennis M, et al. A crowdsourcing framework for on-device federated learning[J]. IEEE Transactions on Wireless Communications, 2020, 19(5): 3241−3256 doi: 10.1109/TWC.2020.2971981

    [32]

    Le T H T, Tran N H, Tun Y K, et al. Auction based incentive design for efficient federated learning in cellular wireless networks[C/OL] //Proc of the IEEE Wireless Communications and Networking Conf (WCNC). Piscataway, NJ: IEEE, 2020[2022-09-05].https://ieeexplore.ieee.org/abstract/document/9120773

    [33]

    Jiao Yutao, Wang Ping, Niyato D, et al. Toward an automated auction framework for wireless federated learning services market[J]. IEEE Transactions on mobile Computing, 2020, 20(10): 3034−3048

    [34]

    Gao Xiaozheng, Wang Ping, Niyato D, et al. Auction-based time scheduling for backscatter-aided RF-powered cognitive radio networks[J]. IEEE Transactions on Wireless Communications, 2019, 18(3): 1684−1697 doi: 10.1109/TWC.2019.2895340

    [35]

    Ko BongJun, Wang Shiqiang, He Ting, et al. On data summarization for machine learning in multi-organization federations[C] //Proc of the 7th IEEE Int Conf on Smart Computing (SMARTCOMP). Piscataway, NJ: IEEE, 2019: 63−68

    [36]

    Valerio L, Passarella A, Conti M. Optimal trade-off between accuracy and network cost of distributed learning in mobile edge Computing: An analytical approach[C/OL] //Proc of the 18th Int Symp on a World of Wireless, Mobile and Multimedia Networks (WoWMoM). Piscataway, NJ: IEEE, 2017[2022-09-05].https://ieeexplore.ieee.org/abstract/document/7974310

    [37]

    Skatchkovsky N, Simeone O. Optimizing pipelined computation and communication for latency-constrained edge learning[J]. IEEE Communications Letters, 2019, 23(9): 1542−1546 doi: 10.1109/LCOMM.2019.2922658

    [38]

    Huang Yutao, Zhu Yifei, Fan Xiaoyi, et al. Task scheduling with optimized transmission time in collaborative cloud-edge learning[C/OL] //Proc of the 27th Int Conf on Computer Communication and Networks (ICCCN). Piscataway, NJ: IEEE, 2018[2022-09-05].https://ieeexplore.ieee.org/abstract/document/8487352

    [39]

    Dey S, Mukherjee A, Pal A, et al. Partitioning of CNN models for execution on fog devices[C] //Proc of the 1st ACM Int Workshop on Smart Cities and Fog Computing. New York: ACM, 2018: 19−24

    [40]

    Zhang Shigeng, Li Yinggang, Liu Xuan, et al. Towards real-time cooperative deep inference over the cloud and edge end devices[J]. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, 2020, 4(2): 1−24

    [41]

    Dey S, Mukherjee A, Pal A. Embedded deep inference in practice: Case for model partitioning[C] //Proc of the 1st Workshop on Machine Learning on Edge in Sensor Systems. New York: ACM, 2019: 25−30

    [42]

    Lin Bing, Huang Yinhao, Zhang Jianshan, et al. Cost-driven off-loading for DNN-based applications over cloud, edge, and end devices[J]. IEEE Transactions on Industrial Informatics, 2019, 16(8): 5456−5466

    [43]

    Wang Lingdong, Xiang Liyao, Xu Jiayu, et al. Context-aware deep model compression for edge cloud computing[C] //Proc of the 40th Int Conf on Distributed Computing Systems (ICDCS). Piscataway, NJ: IEEE, 2020: 787−797

    [44]

    Wang Ji, Zhang Jianguo, Bao Weidong, et al. Not just privacy: Improving performance of private deep learning in mobile cloud[C] //Proc of the 24th ACM SIGKDD Int Conf on Knowledge Discovery & Data Mining. New York: ACM, 2018: 2407−2416

    [45]

    Zhang Jiale, Wang Junyu, Zhao Yanchao, et al. An efficient federated learning scheme with differential privacy in mobile edge computing[C] //Proc of the Int Conf on Machine Learning and Intelligent Communications. Berlin: Springer, 2019: 538−550

    [46]

    Ivkin N, Rothchild D, Ullah E, et al. Communication-efficient distributed SGD with sketching[J]. Advances in Neural Information Processing Systems, 2019, 32: 13144−13154

    [47]

    Zhang Boyu, Davoodi A, Hu Yuhen. Exploring energy and accuracy tradeoff in structure simplification of trained deep neural networks[J]. IEEE Journal on Emerging and Selected Topics in Circuits and Systems, 2018, 8(4): 836−84 doi: 10.1109/JETCAS.2018.2833383

    [48]

    Konen J, Mcmahan H B, Yu F X, et al. Federated learning: Strategies for improving communication efficiency[J]. arXiv preprint, arXiv: 1610.05492, 2016

    [49]

    Caldas S, Konečny J, Mcmahan H B, et al. Expanding the reach of federated learning by reducing client resource requirements[J]. arXiv preprint, arXiv: 1812.07210, 2018

    [50]

    Rothchild D, Panda A, Ullah E, et al. FetchSGD: Communication-efficient federated learning with sketching[C] //Proc of the 37th Int Conf on Machine Learning. New York: PMLR, 2020: 8253−8265

    [51]

    Jeong E, Oh S, Kim H, et al. Communication-efficient on-device machine learning: Federated distillation and augmentation under non-IID private data[J]. arXiv preprint, arXiv: 1811.11479, 2018

    [52]

    Ahn J H, Simeone O, Kang J. Wireless federated distillation for distributed edge learning with heterogeneous data[C/OL] //Proc of the 30th Annual Int Symp on Personal, Indoor and Mobile Radio Communications (PIMRC). Piscataway, NJ: IEEE, 2019[2022-09-05]. https://ieeexplore.ieee.org/abstract/document/8904164

    [53]

    Reisizadeh A, Mokhtari A, Hassani H, et al. FedPAQ: A communication-efficient federated learning method with periodic averaging and quantization[C] //Proc of the 23rd Int Conf on Artificial Intelligence and Statistics. New York: PMLR, 2020: 2021−2031

    [54]

    Karimireddy S P, Kale S, Mohri M, et al. SCAFFOLD: Stochastic controlled averaging for federated learning[C] //Proc of the 37th Int Conf on Machine Learning. New York: PMLR, 2020: 5132−5143

    [55]

    Li Tian, Sahu A K, Zaheer M, et al. Federated optimization in heterogeneous networks[J]. Proceedings of Machine Learning and Systems, 2020, 2: 429−450

    [56]

    Wang Hongyi, Yurochkin M, Sun Yuekai, et al. Federated learning with matched averaging[J]. arXiv preprint, arXiv: 2002.06440, 2020

    [57]

    Pillutla K, Kakade S M, Harchaoui Z. Robust aggregation for federated learning[J]. IEEE Transactions on Signal Processing, 2022, 70: 1142−1154 doi: 10.1109/TSP.2022.3153135

    [58]

    Grama M, Musat M, Muñoz-González L, et al. Robust aggregation for adaptive privacy preserving federated learning in healthcare[J]. arXiv preprint, arXiv: 2009.08294, 2020

    [59]

    Ang Fan, Chen Li, Zhao Nan, et al. Robust federated learning with noisy communication[J]. IEEE Transactions on Communications, 2020, 68(6): 3452−3464 doi: 10.1109/TCOMM.2020.2979149

    [60]

    Lu Yanyang, Fan Lei. An efficient and robust aggregation algorithm for learning federated CNN[C/OL] //Proc of the 3rd Int Conf on Signal Processing and Machine Learning. New York: ACM, 2020[2022-09-05].https://dl.acm.org/doi/abs/10.1145/3432291.3432303

    [61]

    Chen Zhou, Lv Na, Liu Pengfei, et al. Intrusion detection for wireless edge networks based on federated learning[J]. IEEE Access, 2020, 8: 217463−217472 doi: 10.1109/ACCESS.2020.3041793

    [62]

    So J, Güler B, Avestimehr A S. Turbo-aggregate: Breaking the quadratic aggregation barrier in secure federated learning[J]. IEEE Journal on Selected Areas in Information Theory, 2021, 2(1): 479−489 doi: 10.1109/JSAIT.2021.3054610

    [63]

    Wang Shiqiang, Tuor T, Salonidis T, et al. Adaptive federated learning in resource constrained edge computing systems[J]. IEEE Journal on Selected Areas in Communications, 2019, 37(6): 1205−1221 doi: 10.1109/JSAC.2019.2904348

    [64]

    Zhang Xiongtao, Zhu Xiaomin, Wang Ji, et al. Federated learning with adaptive communication compression under dynamic bandwidth and unreliable networks[J]. Information Sciences, 2020, 540(5): 242−262

    [65]

    Liu Lumin, Zhang Jun, Song Shenghui, et al. Client-edge-cloud hierarchical federated learning[C/OL] //Proc of the 54th IEEE Int Conf on Communications (ICC). Piscataway, NJ: IEEE, 2020[2022-09-05].https://ieeexplore.ieee.org/abstract/document/9148862

    [66]

    Mohammad U, Sorour S. Adaptive task allocation for mobile edge learning[C/OL] //Proc of the Wireless Communications and Networking Conf Workshop (WCNCW). Piscataway, NJ: IEEE, 2019[2022-09-05].https://ieeexplore.ieee.org/abstract/document/8902527

    [67]

    Jiang Hui, Liu Min, Yang Bo, et al. Customized federated learning for accelerated edge computing with heterogeneous task targets[J]. Computer Networks, 2020, 183(12): 107569−107569

    [68]

    Lin Yujun, Han Song, Mao Huizi, et al. Deep gradient compression: Reducing the communication bandwidth for distributed training[J]. arXiv preprint, arXiv: 1712.01887, 2017

    [69]

    Liu Wei, Chen Li, Chen Yunfei, et al. Accelerating federated learning via momentum gradient descent[J]. IEEE Transactions on Parallel and Distributed Systems, 2020, 31(8): 1754−1766 doi: 10.1109/TPDS.2020.2975189

    [70]

    Abdi A, Saidutta Y M, Fekri F. Analog compression and communication for federated learning over wireless MAC[C/OL] //Proc of the 21st Int Workshop on Signal Processing Advances in Wireless Communications (SPAWC). Piscataway, NJ: IEEE, 2020[2022-09-05]. https://ieeexplore.ieee.org/abstract/document/9154309

    [71]

    Alistarh D, Grubic D, Li J, et al. QSGD: Communication-efficient SGD via gradient quantization and encoding[J]. Advances in Neural Information Processing Systems, 2017, 30: 1709−1720

    [72]

    Bernstein J, Wang Yuxiang, Azizzadenesheli K, et al. signSGD: Compressed optimisation for non-convex problems[C] //Proc of the 35th Int Conf on Machine Learning. New York: PMLR, 2018: 560−569

    [73]

    Zhu Guangxu, Wang Yong, Huang Kaibin. Broadband analog aggregation for low-latency federated edge learning[J]. IEEE Transactions on Wireless Communications, 2019, 19(1): 491−506

    [74]

    Amiri M M, Gündüz D. Federated learning over wireless fading channels[J]. IEEE Transactions on Wireless Communications, 2020, 19(5): 3546−3557 doi: 10.1109/TWC.2020.2974748

    [75]

    Wu Jiaxiang, Huang Weidong, Huang Junzhou, et al. Error compensated quantized SGD and its applications to large-scale distributed optimization[C] //Proc of the 35th Int Conf on Machine Learning. New York: PMLR, 2018: 5325−5333

    [76]

    Basu D, Data D, Karakus C, et al. Qsparse-local-SGD: Distributed SGD with quantization, sparsification, and local computations[J]. arXiv preprint, arXiv: 1906.02367, 2019

    [77]

    Xin Ran, Kar S, Khan U A. An introduction to decentralized stochastic optimization with gradient tracking[J]. arXiv preprint, arXiv: 1907.09648, 2019

    [78]

    Haddadpour F, Kamani M M, Mokhtari A, et al. Federated learning with compression: Unified analysis and sharp guarantees[C] //Proc of the 24th Int Conf on Artificial Intelligence and Statistics. New York: PMLR, 2021: 2350−2358

    [79]

    Tang Hanlin, Lian Xiangru, Yan Ming, et al. D2: Decentralized training over decentralized data[C] //Proc of the 35th Int Conf on Machine Learning. New York: PMLR, 2018: 4848−4856

    [80]

    Amiri M M, Gündüz D. Machine learning at the wireless edge: Distributed stochastic gradient descent over-the-air[J]. IEEE Transactions on Signal Processing, 2020, 68(1): 2155−2169

    [81]

    Zhu Guangxu, Du Yuqing, Gündüz D, et al. One-bit over-the-air aggregation for communication-efficient federated edge learning: Design and convergence analysis[J]. IEEE Transactions on Wireless Communications, 2020, 20(3): 2120−2135

    [82]

    Lu Yunlong, Huang Xiaohong, Dai Yueyue, et al. Differentially private asynchronous federated learning for mobile edge computing in urban informatics[J]. IEEE Transactions on Industrial Informatics, 2019, 16(3): 2134−2143

    [83]

    Sun Jun, Chen Tianyi, Giannakis G B, et al. Communication-efficient distributed learning via lazily aggregated quantized gradients[J]. arXiv preprint, arXiv: 1909.07588, 2019

    [84]

    Shokri R, Shmatikov V. Privacy-preserving deep learning[C] //Proc of the 22nd ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2015: 1310−1321

    [85]

    Elgabli A, Park J, Bedi A S, et al. Q-GADMM: Quantized group ADMM for communication efficient decentralized machine learning[J]. IEEE Transactions on Communications, 2020, 69(1): 164−181

    [86]

    Elgabli A, Park J, Bedi A S, et al. GADMM: Fast and communication efficient framework for distributed machine learning[J]. Journal of Machine Learning Research, 2020, 21(76): 1−39

    [87]

    Elgabli A, Park J, Ahmed S, et al. L-FGADMM: Layer-wise federated group ADMM for communication efficient decentralized deep learning[C/OL] //Proc of the IEEE Wireless Communications and Networking Conf(WCNC). Piscataway, NJ: IEEE, 2020[2022-09-05].https://ieeexplore.ieee.org/abstract/document/9120758

    [88]

    Zhang Wei, Gupta S, Lian Xiangru, et al. Staleness-aware async-SGD for distributed deep learning[J]. arXiv preprint, arXiv: 1511.05950, 2015

    [89]

    Tao Zeyi, Li Qun. eSGD: Communication efficient distributed deep learning on the edge[C/OL] //Proc of the 1st USENIX Workshop on Hot Topics in Edge Computing (HotEdge 18). Berkeley, CA: USENIX Association, 2018[2022-09-05].https://www.usenix.org/conference/hotedge18/presentation/tao

    [90]

    Wang Luping, Wang Wei, Li Bo. CMFL: Mitigating communication overhead for federated learning[C] //Proc of the 39th Int Conf on Distributed Computing Systems (ICDCS). Piscataway, NJ: IEEE: 954−964

    [91]

    Xing Hong, Simeone O, Bi Suzhi. Decentralized federated learning via SGD over wireless D2D networks[C/OL] //Proc of the 21st Int Workshop on Signal Processing Advances in Wireless Communications (SPAWC). Piscataway, NJ: IEEE, 2020[2022-09-05].https://ieeexplore.ieee.org/abstract/document/9154332

    [92]

    Shiri H, Park J, Bennis M. Communication-efficient massive UAV online path control: Federated learning meets mean-field game theory[J]. IEEE Transactions on Communications, 2020, 68(11): 6840−6857 doi: 10.1109/TCOMM.2020.3017281

    [93]

    Zeng Tengchan, Semiari O, Mozaffari M, et al. Federated learning in the sky: Joint power allocation and scheduling with UAV swarms[C/OL] //Proc of the 54th IEEE Int Conf on Communications (ICC). Piscataway, NJ: IEEE, 2020[2022-09-05].https://ieeexplore.ieee.org/abstract/document/9148776

    [94]

    Pham Q V, Zeng Ming, Ruby R, et al. UAV communications for sustainable federated learning[J]. IEEE Transactions on Vehicular Technology, 2021, 70(4): 3944−3948 doi: 10.1109/TVT.2021.3065084

    [95]

    Fadlullah Z M, Kato N. HCP: Heterogeneous computing platform for federated learning based collaborative content caching towards 6G networks[J]. IEEE Transactions on Emerging Topics in Computing, 2020, 10(1): 112−123

    [96]

    Chen Mingzhe, Mozaffari M, Saad W, et al. Caching in the sky: Proactive deployment of cache-enabled unmanned aerial vehicles for optimized quality-of-experience[J]. IEEE Journal on Selected Areas in Communications, 2017, 35(5): 1046−1061 doi: 10.1109/JSAC.2017.2680898

    [97]

    Lahmeri M A, Kishk M A, Alouini M S. Artificial intelligence for UAV-enabled wireless networks: A survey[J]. IEEE Open Journal of the Communications Society, 2021, 2: 1015−1040 doi: 10.1109/OJCOMS.2021.3075201

    [98]

    Wang Yuntao, Su Zhou, Zhang Ning, et al. Learning in the air: Secure federated learning for UAV-assisted crowdsensing[J]. IEEE Transactions on Network Science and Engineering, 2020, 8(2): 1055−1069

    [99]

    Lim W Y B, Huang Jianqiang, Xiong Zehui, et al. Towards federated learning in UAV-enabled Internet of vehicles: A multi-dimensional contract-matching approach[J]. IEEE Transactions on Intelligent Transportation Systems, 2021, 22(8): 5140−5154 doi: 10.1109/TITS.2021.3056341

    [100]

    Samarakoon S, Bennis M, Saad W, et al. Distributed federated learning for ultra-reliable low-latency vehicular communications[J]. IEEE Transactions on Communications, 2019, 68(2): 1146−1159

    [101]

    Ye Dongdong, Yu Rong, Pan Miao, et al. Federated learning in vehicular edge computing: A selective model aggregation approach[J]. IEEE Access, 2020, 8: 23920−23935 doi: 10.1109/ACCESS.2020.2968399

    [102]

    Lu Yunlong, Huang Xiaohong, Dai Yueyue, et al. Federated learning for data privacy preservation in vehicular cyber-physical systems[J]. IEEE Network, 2020, 34(3): 50−56 doi: 10.1109/MNET.011.1900317

    [103]

    Du Zhaoyang, Wu Celimuge, Yoshinaga T, et al. Federated learning for vehicular Internet of things: Recent advances and open issues[J]. IEEE Open Journal of the Computer Society, 2020, 1: 45−61 doi: 10.1109/OJCS.2020.2992630

    [104]

    Deveaux D, Higuchi T, Uçar S, et al. On the orchestration of federated learning through vehicular knowledge networking[C/OL] //Proc of IEEE Vehicular Networking Conf (VNC). Piscataway, NJ: IEEE, 2020[2022-09-05].https://ieeexplore.ieee.org/abstract/document/9318386

    [105]

    Chen Mingzhe, Semiari O, Saad W, et al. Federated echo state learning for minimizing breaks in presence in wireless virtual reality networks[J]. IEEE Transactions on Wireless Communications, 2019, 19(1): 177−191

    [106]

    Mozaffari M, Saad W, Bennis M, et al. A tutorial on UAVs for wireless networks: Applications, challenges, and open problems[J]. IEEE Communications Surveys & Tutorials, 2019, 21(3): 2334−2360

    [107]

    Samarakoon S, Bennis M, Saad W, et al. Federated learning for ultra-reliable low-latency V2V communications[C/OL] //Proc of the IEEE Global Communications Conf (GLOBECOM). Piscataway, NJ: IEEE, 2018[2022-09-05].https://ieeexplore.ieee.org/abstract/document/8647927

    [108]

    Feyzmahdavian H R, Aytekin A, Johansson M. An asynchronous mini-batch algorithm for regularized stochastic optimization[J]. IEEE Transactions on Automatic Control, 2016, 61(12): 3740−3754 doi: 10.1109/TAC.2016.2525015

    [109]

    Lu Yunlong, Huang Xiaohong, Zhang Ke, et al. Blockchain empowered asynchronous federated learning for secure data sharing in Internet of vehicles[J]. IEEE Transactions on Vehicular Technology, 2020, 69(4): 4298−4311 doi: 10.1109/TVT.2020.2973651

    [110]

    Yin Feng, Lin Zhidi, Kong Qinglei, et al. FedLoc: Federated learning framework for data-driven cooperative localization and location data processing[J]. IEEE Open Journal of Signal Processing, 2020, 1: 187−215 doi: 10.1109/OJSP.2020.3036276

    [111]

    Merluzzi M, Di Lorenzo P, Barbarossa S. Dynamic resource allocation for wireless edge machine learning with latency and accuracy guarantees[C] //Proc of the 45th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2020: 9036−9040

    [112]

    Yang Zhaohui, Chen Mingzhe, Saad W, et al. Energy efficient federated learning over wireless communication networks[J]. IEEE Transactions on Wireless Communications, 2020, 20(3): 1935−1949

    [113]

    Luo Siqi, Chen Xu, Wu Qiong, et al. Hfel: Joint edge association and resource allocation for cost-efficient hierarchical federated edge learning[J]. IEEE Transactions on Wireless Communications, 2020, 19(10): 6535−6548 doi: 10.1109/TWC.2020.3003744

    [114]

    Abad M S H, Ozfatura E, Gunduz D, et al. Hierarchical federated learning across heterogeneous cellular networks[C] //Proc of the 45th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE, 2020: 8866−8870

    [115]

    Liu Dongzhu, Zhu Guangxu, Zhang Jun, et al. Data-importance aware user scheduling for communication-efficient edge machine learning[J]. IEEE Transactions on Cognitive Communications and Networking, 2020, 7(1): 265−278

    [116]

    Zhan Yufeng, Li Peng, Guo Song. Experience-driven computational resource allocation of federated learning by deep reinforcement learning[C] //Proc of the 34th 2020 IEEE Int Parallel and Distributed Processing Symp (IPDPS). Piscataway, NJ: IEEE, 2020: 234−243

    [117]

    Zeng Qunsong, Du Yuqing, Huang Kaibin, et al. Energy-efficient radio resource allocation for federated edge learning[C/OL] //Proc of the 54th 2020 IEEE Intl Conf on Communications Workshops (ICC Workshops). Piscataway, NJ: IEEE, 2020[2022-09-05]. https://ieeexplore.ieee.org/abstract/document/9145118

    [118]

    Chen Mingzhe, Poor H V, Saad W, et al. Convergence time optimization for federated learning over wireless networks[J]. IEEE Transactions on Wireless Communications, 2020, 20(4): 2457−2471

    [119]

    Mo Xiaopeng, Xu Jie. Energy-efficient federated edge learning with joint communication and computation design[J]. Journal of Communications and Information Networks, 2021, 6(2): 110−124 doi: 10.23919/JCIN.2021.9475121

    [120]

    Ren Jinke, Yu Guanding, Ding Guangyao. Accelerating DNN training in wireless federated edge learning systems[J]. IEEE Journal on Selected Areas in Communications, 2020, 39(1): 219−232

    [121]

    Anh T T, Luong N C, Niyato D, et al. Efficient training management for mobile crowd-machine learning: A deep reinforcement learning approach[J]. IEEE Wireless Communications Letters, 2019, 8(5): 1345−1348 doi: 10.1109/LWC.2019.2917133

    [122]

    Nguyen H T, Luong N C, Zhao J, et al. Resource allocation in mobility-aware federated learning networks: A deep reinforcement learning approach[C/OL] //Pro of the 6th World Forum on Internet of Things (WF-IoT). Piscataway, NJ: IEEE, 2020[2022-09-05].https://ieeexplore.ieee.org/abstract/document/9221089

    [123]

    Zhang Xueqing, Liu Yanwei, Liu Jinxia, et al. D2D-assisted federated learning in mobile edge computing networks [C/OL] //Pro of the 2021 IEEE Wireless Communications and Networking Conf (WCNC). Piscataway, NJ: IEEE, 2021[2022-09-05].https://ieeexplore.ieee.org/abstract/document/9417459

    [124]

    Yang Kai, Jiang Tao, Shi Yuanming, et al. Federated learning via over-the-air computation[J]. IEEE Transactions on Wireless Communications, 2020, 19(3): 2022−2035 doi: 10.1109/TWC.2019.2961673

    [125]

    Qin Zhijin, Li G Y, Ye Hao. Federated learning and wireless communications[J]. IEEE Wireless Communications, 2021, 28(5): 134−140 doi: 10.1109/MWC.011.2000501

    [126]

    Amiria M M, Dumanb T M, Gündüzc D, et al. Collaborative machine learning at the wireless edge with blind transmitters[C/OL] //Proc of the 7th IEEE Global Conf on Signal and Information Processing. Piscataway, NJ: IEEE, 2019[2022-09-05].https://iris.unimore.it/handle/11380/1202665

    [127]

    Chen Mingzhe, Yang Zhaohui, Saad W, et al. A joint learning and communications framework for federated learning over wireless networks[J]. IEEE Transactions on Wireless Communications, 2020, 20(1): 269−283

    [128]

    Yang H H, Arafa A, Quek T Q, et al. Age-based scheduling policy for federated learning in mobile edge networks[C] //Proc of the 45th IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP). Piscataway, NJ: IEEE: 8743−8747

    [129]

    Dinh C, Tran N H, Nguyen M N, et al. Federated learning over wireless networks: Convergence analysis and resource allocation[J]. IEEE/ACM Transactions on Networking, 2020, 29(1): 398−409

    [130]

    Yang Hao, Liu Zuozhu, Quek T Q, et al. Scheduling policies for federated learning in wireless networks[J]. IEEE Transactions on Communications, 2019, 68(1): 317−333

    [131]

    Shi Wenqi, Zhou Sheng, Niu Zhisheng. Device scheduling with fast convergence for wireless federated learning[C/OL] //Proc of the 54th IEEE Int Conf on Communications (ICC). Piscataway, NJ: IEEE, 2020[2022-09-05]. https://ieeexplore.ieee.org/abstract/document/9149138

    [132]

    Amiri M M, Gündüz D, Kulkarni S R, et al. Update aware device scheduling for federated learning at the wireless edge[C] //Proc of the 2020 IEEE Int Symp on Information Theory (ISIT). Piscataway, NJ: IEEE, 2020: 2598−2603

    [133]

    Bonawitz K, Ivanov V, Kreuter B, et al. Practical secure aggregation for privacy-preserving machine learning[C] //Proc of the ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2017: 1175−1191

  • 期刊类型引用(2)

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

    其他类型引用(1)

图(6)  /  表(6)
计量
  • 文章访问数:  1159
  • HTML全文浏览量:  175
  • PDF下载量:  592
  • 被引次数: 3
出版历程
  • 收稿日期:  2021-11-07
  • 修回日期:  2022-09-15
  • 网络出版日期:  2023-03-16
  • 刊出日期:  2023-05-31

目录

/

返回文章
返回