CN114912605B - 基于自适应分割联邦学习的模型训练方法和人脸识别方法 - Google Patents

基于自适应分割联邦学习的模型训练方法和人脸识别方法 Download PDF

Info

Publication number
CN114912605B
CN114912605B CN202210345323.9A CN202210345323A CN114912605B CN 114912605 B CN114912605 B CN 114912605B CN 202210345323 A CN202210345323 A CN 202210345323A CN 114912605 B CN114912605 B CN 114912605B
Authority
CN
China
Prior art keywords
user
model
training
current
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210345323.9A
Other languages
English (en)
Other versions
CN114912605A (zh
Inventor
承楠
沈京龙
赫明泽
李长乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202210345323.9A priority Critical patent/CN114912605B/zh
Publication of CN114912605A publication Critical patent/CN114912605A/zh
Priority to PCT/CN2023/081800 priority patent/WO2023185485A1/zh
Application granted granted Critical
Publication of CN114912605B publication Critical patent/CN114912605B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于自适应分割联邦学习的模型训练方法和人脸识别方法,前者包括:每个用户端将设备信息上传服务端,服务端基于所有设备信息向各用户端分配传播步长和聚集权重;在当前轮训练中,每个用户端从服务端获取当前轮全局模型,以自身作为所有用户端构成的环形拓扑结构的始端进行预设次本地联合处理,得到该始端针对当前轮训练的本地更新后模型参数;每个用户端将针对当前轮训练的本地更新后模型参数上传服务端聚合得到当前轮更新后全局模型;服务器判断当前轮更新后全局模型是否收敛;若否进行下一轮训练;若是将当前轮更新后全局模型确定为训练完成的人脸识别模型。本发明能解决异质性问题,保护隐私,提高收敛速度和人脸识别准确性。

Description

基于自适应分割联邦学习的模型训练方法和人脸识别方法
技术领域
本发明属于机器学习领域,具体涉及一种基于自适应分割联邦学习的模型训练方法和人脸识别方法。
背景技术
近年来,机器学习(ML)技术由于其出色的表示和学习能力,在许多任务(如计算机视觉、自然语言处理、语音识别等)中都取得了出色的表现。比如目前,在智能家居以及安防监控等领域内,基于机器学习的人脸识别技术被广泛应用。
但一般来说,机器学习都需要大量的数据和计算资源来训练一个具有良好泛化性能的模型,因此,人们广泛采用了集中式学习的方式。在集中式学习中,中央服务器拥有海量的数据,并以丰富的计算资源训练模型。然而,在人脸识别任务中,训练数据是由用户产生的,将这些原始数据提交给位于云端的中央服务器会损害用户的隐私。随着用户设备的计算和存储能力的指数级增长,利用本地资源进行学习任务成为可能。因此,在2016年,谷歌提出的联邦学习(Federated Learning,FL)受到了广泛关注,已被应用于一些人脸识别任务中。
在FL中,ML模型是在用户设备上训练的,并同时保持了模型数据的本地化。通过将本地梯度更新提交到服务器上进行聚合,而不是提交原始数据,能够在一定程度上保护用户隐私。然而,参与联邦学习训练的用户设备可能存在异质性问题,即在计算能力、电池电量和数据分布方面存在显著差异,会影响FL的效率。此外,由于用户数据仍然可以通过窃听传递的模型权重或梯度来进行重建,在人脸识别任务中采用传统FL仍然存在隐私泄露的风险。
面对上述问题,现有的解决方案中,如果每个用户设备的数据是非独立同分布(independent and identically distributed,IID)的,参训用户设备的异构性问题是无法得到解决的。在人脸识别任务中,如果由于计算资源或能量限制,没有调度掉队的用户设备,FL模型可能会出现偏差,导致训练出的模型在该掉队的用户设备(指网络带宽或访问受限等不能继续进行训练的用户设备)上表现不佳。此外,也有可能由于传感器部署位置等诸多原因,一些用户设备可能总是拥有“更重要”的数据。因此即使该用户设备计算能力很弱,将其数据纳入训练也是至关重要的,但现有的解决方案也无法有效解决这一问题。同时,为了增强人脸识别任务中的隐私保护性能,多数现有的解决方案都开发了额外的机制,但这些机制是以牺牲系统效率或模型性能为代价的。
因此,如何针对人脸识别任务,提出一种能够解决参训用户设备异质性问题并增强隐私保护性能的模型训练方法,继而利用训练得到的模型实现准确的人脸识别,是一个亟待解决的问题。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于自适应分割联邦学习的模型训练方法和人脸识别方法。本发明要解决的技术问题通过以下技术方案实现:
第一方面,本发明实施例提供了一种基于自适应分割联邦学习的模型训练方法,应用于由一个服务端和多个用户端构成的RingSFL系统,所述方法包括:
每个用户端将其设备信息上传至所述服务端,所述服务端基于所有设备信息向每个用户端分配传播步长和聚集权重;其中,所述传播步长表征传播的网络层数;
在当前轮训练中,每个用户端从所述服务端处获取当前轮全局模型,并以自身作为所有用户端构成的环形拓扑结构的始端进行该始端的预设次本地联合处理,得到该始端针对当前轮训练的本地更新后模型参数;其中,每个始端的一次本地联合处理过程包括:基于自身人脸图像训练集的一个批次,对所述当前轮训练中该始端的当前次本地模型进行前向传播和反向传播;并基于所有始端各自在该次本地联合处理过程中产生的加权梯度,对每个始端的当前次本地模型进行更新;当前轮训练中每个始端第一次本地联合处理所对应的当前次本地模型为当前轮全局模型;所述前向传播和所述反向传播均由所述环形拓扑结构中各用户端利用其传播步长进行的部分网络训练衔接完成;所述反向传播中,各用户端利用自身传播步长和对应始端的聚集权重得到对应的加权梯度并传递各自的输出层梯度;
每个用户端将各自针对当前轮训练的本地更新后模型参数上传至所述服务端进行聚合,得到当前轮更新后全局模型;
所述服务器判断所述当前轮更新后全局模型是否满足收敛条件;
若否,将所述当前轮更新后全局模型作为下一轮全局模型,返回所述在当前轮训练中,每个用户端同步从所述服务端处获取当前轮全局模型的步骤。
若是,将所述当前轮更新后全局模型确定为训练完成的人脸识别模型。
在本发明的一个实施例中,所述每个用户端将其设备信息上传至所述服务端,所述服务端基于所有设备信息向每个用户端分配传播步长和聚集权重,包括:
每个用户端将其计算能力值和自身人脸图像训练集对应的训练样本数上传至所述服务端;
所述服务端基于获得的各用户端的计算能力值,利用预先建立的传播步长计算公式,计算每个用户端的传播步长;其中,所述传播步长计算公式是根据预先构建的关于计算时间的优化问题确定的;
所述服务端计算所获得的所有用户端的训练样本总数,并将每个用户端的训练样本数与所述训练样本总数的比值确定为对应用户端的聚集权重;
所述服务端向每个用户端发送其传播步长和聚集权重。
在本发明的一个实施例中,所述预先构建的关于计算时间的优化问题,包括:
其中,pi为切割比,表示分配给第i个用户端ui的计算负载率;N表示用户端总数;Ci表示用户端ui的计算能力值;表示所有用户端的总计算能力值;ci表示用户端ui的计算能力值与总计算能力值的比率;M表示始端完成一次本地联合处理过程所需的总计算量;max{·}表示求最大值;表示最小化;
所述预先构建的关于计算时间的优化问题的求解结果,包括:
其中,表示用户端ui的最优切割比;m*表示所述优化问题求解过程中引入的变量m的优化结果。
在本发明的一个实施例中,所述传播步长计算公式,包括:
其中,Li表示用户端ui的传播步长;w表示各轮全局模型对应的原始网络的总层数。
在本发明的一个实施例中,针对每个始端,该始端的一次本地联合处理过程中,前向传播的过程包括:
该始端利用自身人脸图像训练集的一个当前批次,从当前次本地模型的首层开始向前传播该始端的传播步长所对应的层数,将其前向传播对应的局部网络所输出的特征图和其输出层序号,沿以该始端为起点的环形拓扑结构的顺向传递给下一个用户端;
针对沿所述环形拓扑结构顺向依次遍历到的每个正向当前端,该正向当前端将前一个用户端的输出层序号沿网络正向对应的下一层作为该正向当前端的起始层,将前一个用户端传递来的计算结果从该正向当前端的起始层开始向前传播该正向当前端的传播步长所对应的层数,并将其前向传播对应的局部网络所得的计算结果沿所述环形拓扑结构的顺向传递给下一个用户端;其中,各正向当前端为所述环形拓扑结构中除该始端之外遍历到的每个用户端,所述终端为遍历到的最后一个用户端;除所述终端外,各正向当前端还将自身的输出层序号传递给下一个用户端,且计算结果为对应局部网络输出的特征图;所述终端的计算结果为人脸识别结果;
该始端将所述终端传递来的人脸识别结果与所述当前批次中的样本标签进行对应比较,根据比较结果计算出该始端对应的网络损失值。
在本发明的一个实施例中,针对每个始端,该始端的一次本地联合处理过程中,反向传播的过程包括:
该始端将对应的网络损失值和自身的聚集权重传递给所述终端;
所述终端利用所述网络损失值,从当前次本地模型的末层开始反向传播该终端的传播步长所对应的层数,计算其反向传播对应的局部网络的梯度,将得到的局部网络梯度与该始端的聚集权重相乘,得到该终端对应的加权梯度并进行缓存;并将计算得到的该终端对应的局部网络的输出层梯度和其输出层序号,沿所述环形拓扑结构的逆向传递给下一个用户端;
针对沿所述环形拓扑结构的逆向依次遍历到的每个反向当前端,该反向当前端将前一个用户端的输出层序号沿网络反向对应的下一层作为该反向当前端的起始层,利用前一个用户端传递来的输出层梯度从该反向当前端的起始层开始反向传播该反向当前端的传播步长所对应的层数,计算其反向传播对应的局部网络的梯度,将得到的局部网络梯度与该始端的聚集权重相乘,得到该反向当前端对应的加权梯度并进行缓存;并将计算得到的该反向当前端对应的局部网络的输出层梯度和其输出层序号,沿所述环形拓扑结构的逆向传递给下一个用户端;其中,各反向当前端为所述环形拓扑结构中除该始端和终端之外遍历到的每个用户端;
该始端将前一个用户端的输出层序号沿网络反向对应的下一层作为该始端的起始层,利用前一个用户端传递来的输出层梯度从该始端的起始层开始反向传播该始端的传播步长所对应的层数,计算其反向传播对应的局部网络的梯度,将得到的局部网络梯度与该始端的聚集权重相乘,得到该始端对应的加权梯度并进行缓存。
在本发明的一个实施例中,所述基于所有始端各自在该次本地联合处理过程中产生的加权梯度,对每个始端的当前次本地模型进行更新,包括:
从所有始端各自进行的该次本地联合处理过程中产生的所有加权梯度中,计算每个用户端对应的加权梯度的总和;
针对每个用户端,计算该用户端对应的加权梯度的总和与预设学习率的乘积,并将该用户端的当前次本地模型的参数减去所述乘积,得到该用户端更新后的当前次本地模型,以在当前次本地联合处理未达到所述预设次时,利用所述更新后的当前次本地模型进行下一次本地联合处理。
在本发明的一个实施例中,所述每个用户端将各自针对当前轮训练的本地更新后模型参数上传至所述服务端进行聚合,包括:
每个用户端将各自针对当前轮训练的本地更新后模型参数上传至所述服务端,由服务端求取均值作为当前轮更新后全局模型参数。
在本发明的一个实施例中,所述服务端为蜂窝网络中的基站,所述用户端为蜂窝网络中的用户终端设备。
第二方面,本发明实施例提供了一种基于自适应分割联邦学习的人脸识别方法,应用于目标端,该方法包括:
获取训练完成的人脸识别模型以及待识别图像;其中,所述人脸识别模型是根据第一方面所述的任一基于自适应分割联邦学习的模型训练方法训练得到的;所述目标端为所述RingSFL系统中的服务端或任一用户端;
将所述待识别图像输入所述人脸识别模型,得到人脸识别结果;其中,所述人脸识别结果中包括所述待识别图像中人脸的属性信息;所述属性信息包括身份信息。
本发明的有益效果:
本发明实施例所提供的基于自适应分割联邦学习的模型训练方法在训练一个人脸识别模型的过程中,整个训练过程保留了FL利用分布式计算的能力,因此能够提高计算效率和收敛速度。所述服务端基于所有用户端的设备信息向每个用户端分配传播步长,实现了根据不同客户端的特性向用户分配计算负载,因此能够更好地适应系统异构性,显著缓解落后者效应,提高系统的训练效率。同时,由于反向传播中各用户端传递的仅是各自的输出层梯度,窃听者很难从混合模型中实现数据恢复,因此,能够增强数据的隐私保护性能。
本发明实施例提供的基于自适应分割联邦学习的人脸识别方法利用所提供的自适应分割联邦学习的模型训练方法训练得到的人脸识别模型实现,适用于多种人脸识别场景,具有识别准确率高的优势。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1为本发明实施例提供的一种基于自适应分割联邦学习的模型训练方法的流程示意图;
图2为本发明实施例提供的RingSFL系统的一种架构示意图;
图3为本发明实施例提供的一种环形拓扑结构的正向传播示意图;
图4为本发明实施例提供的环形拓扑结构前向传播过程的一种示意图;
图5为本发明实施例针对图3的环形拓扑结构所提供的反向传播示意图;
图6为本发明实施例的基于自适应分割联邦学习的模型训练方法针对不同的窃听概率和用户端数对隐私泄露概率的影响的实验结果图;
图7为RingSFL及现有方法关于测试精度与训练过程中的计算时间的关系曲线;
图8为RingSFL及现有方法关于收敛性与训练轮数的关系曲线;
图9为不同D2D通信链路速率下RingSFL与现有方法的收敛性能对比;
图10为本发明实施例提供的一种基于自适应分割联邦学习的人脸识别方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,为了提高分布式学习系统的效率和安全性,O.Gupta等人提出了分割学习(Spilt Learning),其核心思想是将网络的结构进行分割,每个设备只保留一部分网络结构,所有设备的子网络结构构成一个完整的网络模型。在训练过程中,不同的设备只对本地的网络结构进行前向或反向计算,并将计算结果传递给下一个设备。多个设备端通过联合网络层的中间结果完成模型的训练,直到模型收敛为止。然而,这种方案需要传输标签,仍有数据泄露风险。本发明实施例通过整合联邦学习(FL)和分割学习(SL)各自的优点,提出了一种仅依靠学习机制本身来解决人脸识别模型训练中异质性问题的方法,可以简称为RingSFL。其中,Ring表示环形拓扑结构,SFL表示SL+FL。以下具体说明。
第一方面,本发明实施例提供了一种基于自适应分割联邦学习的模型训练方法,应用于由一个服务端和多个用户端构成的RingSFL系统。该方法的流程请参见图1,具体包括以下步骤:
S1,每个用户端将其设备信息上传至服务端,服务端基于所有设备信息向每个用户端分配传播步长和聚集权重。
其中,传播步长表征传播的网络层数。聚集权重用于后续进行梯度加权计算,关于传播步长和聚集权重的含义以及作用在后文中予以详述。
本发明实施例中,服务端和多个用户端可以利用约定方式预先构建RingSFL系统。RingSFL系统由存在于网络中的多个设备组成,比如,可选的一种实施方式中,服务端可以为蜂窝网络中的基站,用户端可以为蜂窝网络中的用户终端设备。当然,RingSFL系统适用的网络形式不限于蜂窝网络。
图2示例了RingSFL系统的一种架构形式。RingSFL系统的组成结构与FL相同,包含一个用于模型聚合的服务端(图2中用Server表示)和一个用于合作训练的用户端集合。其中,服务端可以是一个中央服务器。用户端集合中有N个用户端(图2中用User表示),各用户端可以是用户的终端设备,比如手机、台式计算机和笔记本电脑等。RingSFL系统中多个用户端可以组成一个环形拓扑结构,如图2中虚线框所示,其中相邻的用户端可以通过直接通信技术,比如D2D(Device-to-Device,设备对设备的通信)方式相互通信。每个用户端也可以像FL那样与服务端进行通信,进行模型的下载和参数上传。
本发明实施例训练的模型所针对的人脸识别任务场景,可以是利用训练完成的人脸识别模型,为特定区域内的用户进行与身份确认相关的操作。比如用户可以通过人脸识别确认身份,之后还可以启动特定区域内的关联设备,以实现开启门禁、打卡、刷脸购物等。其中,特定区域可以为校园、小区或者一些具有保密性质的单位等等。
每个用户端都有一个人脸图像训练集。人脸图像训练集中含有若干作为训练样本的人脸图像以及对应的样本标签。样本标签含有对应训练样本中人脸的属性信息,比如位置信息、身份信息等。
可选的一种实施方式中,S1可以包括步骤S11~S14:
S11,每个用户端将其计算能力值和自身人脸图像训练集对应的训练样本数上传至服务端。
每个用户端已知自身的计算能力值,针对RingSFL系统中的第i个用户端ui(1≤i≤N),其计算能力值可以表示为Ci,Ci的数值越高表示ui的计算能力越强。ui的人脸图像训练集对应的训练样本数可以表示为Di
各用户端可以并行地将各自的计算能力值和自身人脸图像训练集对应的训练样本数上传至服务端。
S12,服务端基于获得的各用户端的计算能力值,利用预先建立的传播步长计算公式,计算每个用户端的传播步长。
其中,传播步长计算公式是根据预先构建的关于计算时间的优化问题确定的。
本发明实施例中,由于各用户端的计算能力值并不相同,服务端需要根据各用户端的计算能力值分配用户端的计算负载,以更好地适应系统异构性。因此在S1之前,本发明实施例预先构建了一个关于计算时间的优化问题。相应的分析过程如下:
为了最大限度地减少模型训练时间,确定模型的分割点,本发明实施例设计了RingSFL系统中的模型分割方案。每个用户端的计算负载应根据其计算能力来确定。
先定义用户端ui的切割比为pi,pi表示分配给ui的计算负载率。针对所有用户端而言,表示RingSFL系统中所有用户端的总计算能力值。并引入ci将ui的计算能力值重新表示为ciC,其中,ci表示ui的计算能力值与总计算能力值的比率。
用M表示一个用户端作为始端,在环形拓扑结构中利用自身人脸图像训练集的一个批次对应完成的一次本地联合处理过程所需的总计算量(关于一次本地联合处理过程请参见后文理解),该总计算量的单位为GFLOPs,数值相对已知的任务和训练数据而言是确定值。那么ui在这个批次训练中所进行的计算量为piMN。那么,ui完成一个批次训练所消耗的计算时间为
本发明实施例在实验中发现,虽然一些用户端具有较高的计算能力,但由于分配给它的计算量过大,使其在训练中成为了落后者。因此,系统训练批次的持续时间受到训练时间最长的用户端的限制,应优化分配计算负载以抑制落后者效应,从而最大限度地减少训练时间。
由于系统中有N个用户端,因此落后者训练一个批次所消耗的计算时间为为了最小化落后者的计算时间,本发明实施例制定了关于计算时间的优化问题。
预先构建的关于计算时间的优化问题,包括:
其中,pi为切割比,表示分配给第i个用户端ui的计算负载率;N表示用户端总数;Ci表示用户端ui的计算能力值;表示所有用户端的总计算能力值;ci表示用户端ui的计算能力值与总计算能力值的比率;M表示始端完成一次本地联合处理过程所需的总计算量;max{·}表示求最大值;表示最小化。
该优化问题的求解,通过引入一个新的变量m进行。预先构建的关于计算时间的优化问题的求解结果,包括:
其中,表示用户端ui的最优切割比;m*表示优化问题求解过程中引入的变量m的优化结果。
从上述优化问题的求解结果可以看出,pi的最优值应该等于ui计算能力值与总计算能力值的比率ci。由于本发明实施例在实验中发现,通过优化pi可以显著减轻落后者效应。因此,为了减少训练时间,设置也就是说,传播步长计算公式,包括:
其中,Li表示用户端ui的传播步长;w表示各轮全局模型对应的原始网络的总层数。
本发明实施例在同一个模型训练过程中,各轮全局模型对应的原始网络采用相同的已知网络,因此,该原始网络的总层数w是一个已知的固定值。该原始网络比如可以采用现有的任意一种用于目标分类的神经网络,比如可以为CNN、YOLO系列或者VGG16等。
需要说明的是,由于用户端ui的最优切割比可能并非整数,因而通常可能并非整数。因此,服务端可能需要对得到的非整数Li进行取整处理,具体可以采用向上取整或者向下取整方式。
S13,服务端计算所获得的所有用户端的训练样本总数,并将每个用户端的训练样本数与训练样本总数的比值确定为对应用户端的聚集权重。
具体的,服务端针对用户端ui计算出的聚集权重可以表示为ai
S14,服务端向每个用户端发送其传播步长和聚集权重。
同样的,服务端可以并行向每个用户端发送其传播步长和聚集权重。至此,完成了训练所需的传播步长和聚集权重的初始化过程,由于每个设备的计算能力值、自身人脸图像训练集对应的训练样本数是相对固定的,在后续训练过程中,每个用户端的传播步长和聚集权重保持不变。
相比于现有的FL,本发明实施例的服务端增加了向用户端进行传播步长和聚集权重的分配环节,且每个用户端的传播步长是服务端根据不同用户端关于计算能力的特性分配计算负载得到的,因此可以更好地适应系统异构性,显著缓解落后者效应,提高系统的训练效率。
S2,在当前轮训练中,每个用户端从服务端处获取当前轮全局模型,并以自身作为所有用户端构成的环形拓扑结构的始端进行该始端的预设次本地联合处理,得到该始端针对当前轮训练的本地更新后模型参数。
其中,每个始端的一次本地联合处理过程包括:基于自身人脸图像训练集的一个批次,对当前轮训练中该始端的当前次本地模型进行前向传播和反向传播;并基于所有始端各自在该次本地联合处理过程中产生的加权梯度,对每个始端的当前次本地模型进行更新;当前轮训练中每个始端第一次本地联合处理所对应的当前次本地模型为当前轮全局模型;前向传播和反向传播均由环形拓扑结构中各用户端利用其传播步长进行的部分网络训练衔接完成;反向传播中,各用户端利用自身传播步长和对应始端的聚集权重得到对应的加权梯度并传递各自的输出层梯度。
每轮训练的开始,所有用户端均从服务端处获取相同的一个当前轮全局模型,并将其设置为该轮训练中自身的第一次本地模型,随着各次本地联合处理的进行,该轮训练中的“当前次本地模型”不断更新。针对第一轮训练,当前轮全局模型为原始网络,比如可以为前文的VGG16等。
针对一个用户端而言,其自身人脸图像训练集中训练样本的数量往往比较多,在每一轮训练中,将其所有训练样本一次性输入模型进行训练是不现实的。为了提高训练效果,目前机器学习通用的模型训练方法是将训练集切分为多个批次(批次简称为batch),各批次依次输入模型中进行训练。因此本发明实施例在每一轮训练中,每个用户端经历预设次本地联合处理,每一次本地联合处理利用对应用户端人脸图像训练集中一个未使用批次完成,且各个用户端的各次本地联合处理是同步进行的。在本发明实施例中,预设次的具体数值根据人脸图像训练集中训练样本的数量和批次大小预先确定。
针对每个用户端而言,该用户端的一次本地联合处理可以分为前向传播、反向传播和参数更新三个阶段,该用户端的一次本地联合处理是由所有用户端共同完成的,且参数更新阶段需要利用到所有用户端对应次本地联合处理的结果。
下文以一轮训练中,一个用户端作为环形拓扑结构的始端进行的一次本地联合处理为例,对其中前向传播、反向传播和参数更新三个阶段分别进行说明。
(一)前向传播
针对每个始端,该始端的一次本地联合处理过程中,前向传播的过程包括:
该始端利用自身人脸图像训练集的一个当前批次,从当前次本地模型的首层开始向前传播该始端的传播步长所对应的层数,将其前向传播对应的局部网络所输出的特征图和其输出层序号,沿以该始端为起点的环形拓扑结构的顺向传递给下一个用户端。
针对沿环形拓扑结构顺向依次遍历到的每个正向当前端,该正向当前端将前一个用户端的输出层序号沿网络正向对应的下一层作为该正向当前端的起始层,将前一个用户端传递来的计算结果从该正向当前端的起始层开始向前传播该正向当前端的传播步长所对应的层数,并将其前向传播对应的局部网络所得的计算结果沿环形拓扑结构的顺向传递给下一个用户端;其中,各正向当前端为环形拓扑结构中除该始端之外遍历到的每个用户端,终端为遍历到的最后一个用户端;除终端外,各正向当前端还将自身的输出层序号传递给下一个用户端,且计算结果为对应局部网络输出的特征图;终端的计算结果为人脸识别结果。
该始端将终端传递来的人脸识别结果与当前批次中的样本标签进行对应比较,根据比较结果计算出该始端对应的网络损失值。
为了便于理解,本发明实施例以三个用户端构成环形拓扑结构为例说明,请参见图3,图3为本发明实施例提供的一种环形拓扑结构的前向传播示意图。图3中圆圈表示用户端,其中的序号表示用户端的编号。
图3中有u1,u2,u3三个用户端,三者构成一个环形拓扑结构,u1为正向传播中的始端,u3为终端。具体的:
u1利用自身人脸图像训练集的一个当前批次,从当前次本地模型的首层开始沿着网络正向的方向向前传播L1层。由于当前次本地模型的总层数和原始网络的总层数相同,均为w,u1此时传播的局部网络的输入层是当前次本地模型的首层,则输出层是当前次本地模型的第L1层。在u1的前向传播的过程中,将自身人脸图像训练集的这个当前批次输入其局部网络的输入层,由其输出层输出一个特征图f1,u1将所输出的特征图连同其输出层序号(f1,L1)传递给u2。其中,针对第一轮训练中的第一次本地联合处理,当前次本地模型为原始网络。
u2的局部网络的输入层是当前次本地模型的第L1+1层,u2将f1输入其输入层,开始沿着网络正向的方向向前传播L2层,u2的局部网络的输出层是当前次本地模型的第L1+L2层,该输出层输出一个特征图f2,u2将(f2,L1+L2)传递给u3
u3的局部网络的输入层是当前次本地模型的第L1+L2+1层,u3将f2输入其输入层,开始沿着网络正向的方向向前传播L3层,u3的局部网络的输出层是当前次本地模型的第L1+L2+L3层。在实际中,由于用户端数量较多,环形拓扑结构的终端,其输出层即为当前次本地模型的输出层。u3的局部网络的输出层输出的是人脸识别结果f3,u3将f3传递给u1
u1将人脸识别结果f3与所用当前批次中的样本标签进行对应比较,可以理解的是,人脸识别结果表示的是预测值,样本标签记载的是真值,由预测值和真值的差异可以计算得到网络的损失值,即得到u1对应的loss1。关于计算损失值的过程可以参见现有神经网络训练过程理解,在此不做详细说明。
至此,以u1为环形拓扑结构的始端进行的一次前向传播完成。
在u1以自身作为环形拓扑结构的始端进行一次前向传播的过程中,u2和u3也分别以自身作为环形拓扑结构的始端进行一次前向传播,分别得到loss2和loss3,具体过程和u1以自身作为环形拓扑结构的始端进行的该次前向传播过程类似。关于多个用户端并行开展的前向传播过程,请参见图4理解,图4为本发明实施例提供的环形拓扑结构前向传播过程的一种示意图。图4中4个用户端共同训练一个9层的多层感知器(MLP)。
图4中,每一行分别表示对应用户端的前向传播过程,其中圆形序号表示不同用户端的本地模型,即其对应的局部网络,以User1作为始端为例,整个前向传播过程由User1、User2、User3和User4共同完成,每个用户端对应一个STEP阶段。可以看出,每个用户端ui只从当前次本地模型的不同层开始前向传播Li层。在图4中,将每个STEP阶段中传播的网络层用较深颜色显示,且多个STEP阶段中各用户端所传播的网络层是前后接续的,最后一个用户端的输出层会输出人脸识别结果。且图4对不同行中传播的网络层进行了色度区分显示。
(二)反向传播
针对每个始端,该始端的一次本地联合处理过程中,反向传播的过程包括:
该始端将对应的网络损失值和自身的聚集权重传递给终端。
终端利用网络损失值,从当前次本地模型的末层反向传播该终端的传播步长所对应的层数,计算其反向传播对应的局部网络的梯度,将得到的局部网络梯度与该始端的聚集权重相乘,得到该终端对应的加权梯度并进行缓存;并将计算得到的该终端对应的局部网络的输出层梯度和其输出层序号,沿环形拓扑结构的逆向传递给下一个用户端。
针对沿环形拓扑结构的逆向依次遍历到的每个反向当前端,该反向当前端将前一个用户端的输出层序号沿网络反向对应的下一层作为该反向当前端的起始层,利用前一个用户端传递来的输出层梯度从该反向当前端的起始层反向传播该反向当前端的传播步长所对应的层数,计算其反向传播对应的局部网络的梯度,将得到的局部网络梯度与该始端的聚集权重相乘,得到该反向当前端对应的加权梯度并进行缓存;并将计算得到的该反向当前端对应的局部网络的输出层梯度和其输出层序号,沿环形拓扑结构的逆向传递给下一个用户端;其中,各反向当前端为环形拓扑结构中除该始端和终端之外遍历到的每个用户端。
该始端将前一个用户端的输出层序号沿网络反向对应的下一层作为该始端的起始层,利用前一个用户端传递来的输出层梯度从该始端的起始层反向传播该始端的传播步长所对应的层数,计算其反向传播对应的局部网络的梯度,将得到的局部网络梯度与该始端的聚集权重相乘,得到该始端对应的加权梯度并进行缓存。
为了便于理解,本发明以图3的环形拓扑结构为例继续说明,请参见图5,图5为本发明实施例针对图3的环形拓扑结构所提供的反向传播示意图。可见,反向传播与前向传播相比,用户端的通信方向发生了反转。具体反向传播过程包括:
始端u1将loss1和a1传递给终端u3
u3利用loss1从前向传播所用的当前次本地模型的末层开始,沿着网络反向的方向传播L3层。由于当前次本地模型的总层数为w,u3此时传播的局部网络的输入层是当前次本地模型的末层,则输出层是当前次本地模型的第w-L3+1层。在u3的反向传播过程中,计算被传播的这L3层的梯度,得到u3的局部网络梯度G3,1,其中,G3,1的下标中,第一个下标3表示遍历到的当前用户端的编号,第二个下标1表示当前次的本地联合处理是以u1为始端进行的,计算u3的局部网络梯度G3,1与a1的乘积(G3,1×a1)作为u3的加权梯度,并进行缓存,以在后续参数更新中使用。同时,计算其输出层的梯度g3,并将输出层梯度连同输出层序号(g3,w-L3+1)发送给u2
u2的局部网络的输入层是当前次本地模型的第w-L3层,u2利用g3从其输入层开始,沿着网络反向的方向传播L2层,则u2的局部网络的输出层是当前次本地模型的第w-L3-L2+1层。在u2的反向传播过程中,计算被传播的这L2层的梯度,得到u2的局部网络梯度G2,1,计算u2的局部网络梯度G2,1与a1的乘积(G2,1×a1)作为u2的加权梯度,并进行缓存,以在后续参数更新中使用。同时,计算其输出层的梯度g2,并将输出层梯度连同输出层序号(g2,w-L3-L2+1)发送给u1
u1的局部网络的输入层是当前次本地模型的第w-L3-L2层,u1利用g2从其输入层开始,沿着网络反向的方向传播L1层,则u1的局部网络的输出层是当前次本地模型的第w-L3-L2-L1+1层。在实际中,由于用户端数量较多,环形拓扑结构的始端,其局部网络的输出层为当前次本地模型的首层。在u1的反向传播过程中,计算被传播的这L1层的梯度,得到u1的局部网络梯度G1,1,计算u1的局部网络梯度G1,1与a1的乘积(G1,1×a1)作为u1的加权梯度,并进行缓存,以在后续参数更新中使用。针对反向传播中的最后一个用户端,此时u1无需再计算、传递其输出层的梯度。
至此,u1对应的反向传播完成。可以理解的是,针对u1以自身作为环形拓扑结构的始端进行一次前向传播和反向传播后,每个用户端缓存有对应的一个加权梯度,即u1对应的反向传播过程中,u3缓存的加权梯度为(G3,1×a1),u2缓存的加权梯度为(G2,1×a1),u1缓存的加权梯度为(G1,1×a1)。
在u1以自身作为环形拓扑结构的始端进行一次前向传播和反向传播的过程中,u2和u3也分别以自身作为环形拓扑结构的始端进行一次前向传播和反向传播,在反向传播后,也分别缓存有加权梯度,具体过程与u1的反向传播类似。可以理解的是,u2对应的反向传播过程中,u1缓存的加权梯度为(G1,2×a2),u3缓存的加权梯度为(G3,2×a2),u2缓存的加权梯度为(G2,2×a2)。u3对应的反向传播过程中,u2缓存的加权梯度为(G2,3×a3),u1缓存的加权梯度为(G1,3×a3),u3缓存的加权梯度为(G3,3×a3)。
(三)参数更新
基于所有始端各自在该次本地联合处理过程中产生的加权梯度,对每个始端的当前次本地模型进行更新,包括:
1)从所有始端各自进行的该次本地联合处理过程中产生的所有加权梯度中,计算每个用户端对应的加权梯度的总和。
仍以前例继续说明,u1,u2,u3分别作为环形拓扑结构的始端进行一次前向传播和反向传播后,得到的加权梯度如上文所示。那么,将各用户端在不同反向传播过程中缓存的多个加权梯度进行求和,可以得到对应用户端的加权梯度的总和。
因此,u1对应的加权梯度的总和=(G1,1×a1)+(G1,2×a2)+(G1,3×a3);u2对应的加权梯度的总和=(G2,1×a1)+(G2,2×a2)+(G2,3×a3);u3对应的加权梯度的总和=(G3,1×a1)+(G3,2×a2)+(G3,3×a3)。
2)针对每个用户端,计算该用户端对应的加权梯度的总和与预设学习率的乘积,并将该用户端的当前次本地模型的参数减去乘积,得到该用户端更新后的当前次本地模型,以在当前次本地联合处理未达到预设次时,利用更新后的当前次本地模型进行下一次本地联合处理。
本发明实施例中,预设的学习率是一个预先设置的数值,可以用η表示,取值可以为0.1等等。
针对每个用户端,该用户端的当前次本地模型的参数,与该用户端对应的加权梯度的总和与预设学习率的乘积所得的差值,是更新后的当前次本地模型的参数,将其设置入当前次本地模型后,可以得到该用户端更新后的当前次本地模型。
针对每个用户端,在进行完一次本地联合处理后,判断当前所完成的本地联合处理的总次数是否达到预设次,如果未达到预设次,则将更新后的当前次本地模型作为下一次本地联合处理时的“当前次本地模型”继续进行本地联合处理。如果达到预设次,则该用户端的当前轮训练结束,将该用户端的更新后的当前次本地模型的参数,作为针对当前轮训练的本地更新后模型参数上传服务端。
S3,每个用户端将各自针对当前轮训练的本地更新后模型参数上传至服务端进行聚合,得到当前轮更新后全局模型。
该步骤是完成模型聚合,模型聚合是指服务端接收用户端上传的训练结果并将其聚合的过程。其中,每个用户端上传的模型参数实质上代表了一个混合模型。
可选的一种实施方式中,每个用户端将各自针对当前轮训练的本地更新后模型参数上传至服务端进行聚合,包括:
每个用户端将各自针对当前轮训练的本地更新后模型参数上传至服务端,由服务端求取均值作为当前轮更新后全局模型参数。
其中,一轮训练结束后,每个用户端可以并行地将各自针对当前轮训练的本地更新后模型参数上传至服务端。服务器得到当前轮更新后全局模型参数后可以将其设置入当前轮全局模型,得到当前轮更新后全局模型。
为了说明本发明实施例聚合方案的有效性,以下对其进行分析阐述。由于混合模型的存在,模型聚合传统的FedAvg算法不能直接使用。因此,本发明实施例在RingSFL系统中设计了一个修订的模型聚合方案。
与FedAvg不同,RingSFL系统中的加权是由每个用户端在训练期间实现的。ui的聚集权重伴随反向传播在用户端之间传递,并与计算出的局部网络梯度相乘,即前文各用户端缓存的加权梯度。
表示每个用户端针对第r轮训练的当前轮全局模型,其中表示W(r)的第k层。由于不止一个用户端可以训练ui的每一层模型,所以多个用户端的梯度可以累积到ui的每一层模型中。用表示训练ui的模型的第k层的用户端集合,其中定义gi,k是使用ui的训练样本计算的第k层的梯度。ai是ui的聚集权重,η是预设学习率。通过服务端聚合得到的模型可以表示为:
其中,W(r+1)表示服务器针对第r轮训练,模型聚合后得到更新后全局模型参数,也就是针对第r+1轮训练中所要使用的“当前轮更新后全局模型”的参数;Wi (r+1)表示用户端ui上传至服务端的,针对第r轮训练得到的本地更新后模型参数。
对上式进行分析有:
其中,gΣi表示使用ui的训练样本计算的所有层的梯度,即[...,gi,k,...]集合中所有元素的加和。
可见,本发明实施例对梯度的加权是由用户端在反向传播训练期间实现的,服务端仅需要将各用户端上传的针对当前轮训练的本地更新后模型参数求取平均值即可。
需要说明的是,本发明实施例的聚合方案会使学习率缩小,因此,为了与现有算法,比如FedAvg的聚合效果在同等级学习率下进行对比,需要将本发明实施例的学习率进行一定倍数的扩大以保证收敛性能。比如,相比现有算法的学习率为0.01,本发明实施例可以将学习率设置为0.1,或者一种可选的实施方式中,可以将学习率设置为传统学习率与参训用户端数量的乘积。
通过实现验证,在同等级学习率下,本发明实施例的聚合结果与FedAvg的聚合结果类似,聚合效果基本没有差别。
S4,服务器判断当前轮更新后全局模型是否满足收敛条件。
具体的,服务器可以将自身存储的关于人脸图像的测试集中的测试样本,输入当前轮更新后全局模型,得到对应的人脸识别的预测结果,如果预测结果与输入样本的样本标签的差异小于一定的阈值,则可以确定当前轮更新后全局模型满足收敛条件。
若否,执行S5,将当前轮更新后全局模型作为下一轮全局模型,返回在当前轮训练中,每个用户端同步从服务端处获取当前轮全局模型的步骤。
具体的,如果当前轮更新后全局模型不满足收敛条件,则返回S2进行下一轮训练,S5得到的“下一轮全局模型”在返回S2开始下一轮训练后,为S2中的“当前轮全局模型”。
若是,执行S6,将当前轮更新后全局模型确定为训练完成的人脸识别模型。
具体的,如果当前轮更新后全局模型满足收敛条件,则结束训练,将当前轮更新后全局模型确定为训练完成的人脸识别模型。进一步的,服务器还可以将训练完成的人脸识别模型发送给需要的用户端。
本发明实施例所提供的基于自适应分割联邦学习的模型训练方法在训练一个人脸识别模型的过程中,整个训练过程保留了FL利用分布式计算的能力,因此能够提高计算效率和收敛速度。服务端基于所有用户端的设备信息向每个用户端分配传播步长,实现了根据不同客户端的特性向用户分配计算负载,因此能够更好地适应系统异构性,显著缓解落后者效应,提高系统的训练效率。同时,由于反向传播中各用户端传递仅是各自的输出层梯度,窃听者很难从混合模型中实现数据恢复,因此,能够增强数据隐私保护的性能。
由于用户的面部图像数据涉及身份特征,属于个人隐私,服务端很难掌握所有用户的个人面部图像数据。本发明实施例利用基于自适应分割联邦学习的模型训练方法可以利用本地数据实现联合训练,因此能够保证隐私安全。当特定区域有新入的用户时,其用户端可以在训练得到的原有模型基础上重新利用新样本数据进行模型更新,能够极大地方便特定领域内的人脸识别任务的进行,具有广泛的应用前景。
为了验证本发明实施例的基于自适应分割联邦学习的模型训练方法的效果,以下以实验结果进行说明。
一、较强的隐私保护性能
1)对于窃听者来说,目前必须获得完整的模型参数或梯度才能恢复用户数据,从任何部分或碎片的模型中恢复用户数据是很困难的。在本发明实施例的RingSFL方法中,用户端之间的通信只包含用户端最后一层的输出,而从用户端传输到服务器的模型是混合模型。因为窃听者不知道切割比,所以窃听者通过窃听获得完整的模型参数是有难度的。唯一可能通过窃听来恢复用户数据的情况为:当每个用户端只训练一个网络层。通过窃听系统中的所有通信链路,窃听者有可能获得模型中每一层的梯度,并拼凑出一个完整的模型。之后本发明实施例验证了这种情况下隐私泄露的可能性。定义ui和ui-1之间的通信链路被窃听的概率为ei',ui和服务端之间的通信链路被窃听的概率为ei。那么,用户端ui的隐私泄漏概率可以表示为:
不同的窃听概率和用户端数对隐私泄露概率的影响如图6所示。图6为本发明实施例的基于自适应分割联邦学习的模型训练方法针对不同的窃听概率和用户端数对隐私泄露概率的影响的实验结果图;可以看出,随着用户端数量的增加,隐私泄露的概率呈指数级下降。即使每个环节的窃听概率很高,泄漏概率仍然迅速下降到接近零。这意味着当RingSFL系统中的用户端数量足够多时,即使在极端情况下(每个用户一次只训练一个层,并且有很高的窃听概率),本发明实施例的RingSFL方法仍然可以保证足够高的安全水平。
2)对于恶意的服务端来说,由于模型的切割率被服务端知道,服务端恢复用户端数据的难度要比窃听者略低。切割率较高的用户端在训练时通常会有重叠的层,要从重叠的层中恢复单个用户端的梯度是很有挑战性的。然而,在一些特殊的切割比设置中没有重叠的层,因此服务端有可能从上传的模型中恢复数据。为了解决这个问题,用户端可以与服务端协商,通过适当偏移分割点,人为地让系统有重叠层来确保安全。
二、较高的收敛性能
本发明实施例的收敛性能可以通过仿真实验进一步说明。
1.仿真条件
对在一台服务器上的四个GPU(GeForce RTX 3090 24G)进行实验。每个GPU模拟一个参与训练的用户端,而服务端则由一个CPU(Intel(R)Xeon(R)Silver 4214R CPU@2.40GHz)模拟。实验使用的软件环境是Python3.7.6。Pytorch 1.8.1+cu111被用来建立模型和进行模型训练。在实验中,使用CIFAR10数据集模拟人脸图像数据集的训练效果,训练采用的原始网络为VGG16模型。此外,为了说明数据集的分布对RingSFL的影响,所有实验都分别在IID数据集和非IID数据集上进行。实验中,考虑了经典的FL和SL算法来作为对比。
2.仿真结果
本实验比较了RingSFL相对于FL和SL的收敛性能以及用户端间通信的影响。
请参见图7,图7为RingSFL及现有方法关于测试精度与训练过程中的计算时间的关系曲线。在图7中,与FL和SL相比,RingSFL在IID数据集上取得了更高的准确率,在非IID数据集上几乎取得了相同的准确率,并且与传统FL相比收敛速度更快。
请参见图8,图8为RingSFL及现有方法关于收敛性与训练轮数的关系曲线。在图8中,在相同的训练轮数下,RingSFL可以达到与FL相同的模型精度。这表明RingSFL不需要更多的数据样本就能达到与FL相同的精度。
请参见图9,图9为不同D2D通信链路速率下RingSFL与现有方法的收敛性能对比。在图9中,分别将D2D通信链路速率设置为100MB/s、50MB/s和10MB/s,而与服务端的通信链路速率则固定为50MB/s。当通信速率为100MB/s和50MB/s时,可以看出RingSFL的收敛速度比FL快。然而,当通信速率为10MB/s时,RingSFL的收敛速度较慢。这表明,当有足够高的速率链路支持时(或使用小模型),RingSFL可以比传统FL有更好的收敛性能。
综上可见,与传统的FL相比,本发明实施例提出的基于自适应分割联邦学习的模型训练方法(简称RingSFL)可以用于提高分布式学习系统的安全性并能实现更快的收敛而不牺牲模型的准确性。此外,RingSFL也可以应用于具有明显系统异质性的场景,以提高整体系统效率。因此,其可以有效用于训练人脸识别模型等神经网络模型。
第二方面,本发明实施例提供了一种基于自适应分割联邦学习的人脸识别方法,应用于目标端,参见图10,该方法包括以下步骤:
S01,获取训练完成的人脸识别模型以及待识别图像。
其中,人脸识别模型是根据第一方面的基于自适应分割联邦学习的模型训练方法训练得到的。关于该基于自适应分割联邦学习的模型训练方法的具体内容请参见第一方面的相关描述,在此不再重复说明。
目标端为RingSFL系统中的服务端或任一用户端。或者可选的一种实施方式中,目标端也可以为RingSFL系统之外的信任服务器或者信任用户端。所谓“信任”指双方具有一定保密约定,不存在隐私泄露等安全风险。或者,目标端也可以是RingSFL系统对应的特定区域内的关联设备,比如门禁设备、打卡设备、刷脸购物设备等。
待识别图像可以是目标端获取或拍摄的图像,其中可能含有人脸部位。
S02,将待识别图像输入人脸识别模型,得到人脸识别结果。
其中,人脸识别结果中包括待识别图像中人脸的属性信息;属性信息包括身份信息。比如,身份信息可以包括姓名、性别、年龄、身份证号、工号、学号等,或者还可以包括用户的金融账号信息等。
本发明实施例所提供的基于自适应分割联邦学习的人脸识别方法,利用所提供的自适应分割联邦学习的模型训练方法训练得到的人脸识别模型实现,训练过程保留了FL利用分布式计算的能力,能够提高收敛速度。能够更好地适应系统异构性,提高系统的训练效率并增强数据的隐私保护性能。该人脸识别方法适用于多种人脸识别场景,具有识别准确率高的优势。

Claims (7)

1.一种基于自适应分割联邦学习的模型训练方法,其特征在于,应用于由一个服务端和多个用户端构成的RingSFL系统,所述方法包括:
每个用户端将其设备信息上传至所述服务端,所述服务端基于所有设备信息向每个用户端分配传播步长和聚集权重;其中,所述传播步长表征传播的网络层数;
在当前轮训练中,每个用户端从所述服务端处获取当前轮全局模型,并以自身作为所有用户端构成的环形拓扑结构的始端进行该始端的预设次本地联合处理,得到该始端针对当前轮训练的本地更新后模型参数;其中,每个始端的一次本地联合处理过程包括:基于自身人脸图像训练集的一个批次,对所述当前轮训练中该始端的当前次本地模型进行前向传播和反向传播;并基于所有始端各自在该次本地联合处理过程中产生的加权梯度,对每个始端的当前次本地模型进行更新;当前轮训练中每个始端第一次本地联合处理所对应的当前次本地模型为当前轮全局模型;所述前向传播和所述反向传播均由所述环形拓扑结构中各用户端利用其传播步长进行的部分网络训练衔接完成;所述反向传播中,各用户端利用自身传播步长和对应始端的聚集权重得到对应的加权梯度并传递各自的输出层梯度;
每个用户端将各自针对当前轮训练的本地更新后模型参数上传至所述服务端进行聚合,得到当前轮更新后全局模型;
所述服务端判断所述当前轮更新后全局模型是否满足收敛条件;
若否,将所述当前轮更新后全局模型作为下一轮全局模型,返回所述在当前轮训练中,每个用户端同步从所述服务端处获取当前轮全局模型的步骤;
若是,将所述当前轮更新后全局模型确定为训练完成的人脸识别模型;
其中,所述每个用户端将其设备信息上传至所述服务端,所述服务端基于所有设备信息向每个用户端分配传播步长和聚集权重,包括:
每个用户端将其计算能力值和自身人脸图像训练集对应的训练样本数上传至所述服务端;
所述服务端基于获得的各用户端的计算能力值,利用预先建立的传播步长计算公式,计算每个用户端的传播步长;其中,所述传播步长计算公式是根据预先构建的关于计算时间的优化问题确定的;
所述服务端计算所获得的所有用户端的训练样本总数,并将每个用户端的训练样本数与所述训练样本总数的比值确定为对应用户端的聚集权重;
所述服务端向每个用户端发送其传播步长和聚集权重;
其中,所述预先构建的关于计算时间的优化问题,包括:
其中,pi为切割比,表示分配给第i个用户端ui的计算负载率;N表示用户端总数;Ci表示用户端ui的计算能力值;表示所有用户端的总计算能力值;ci表示用户端ui的计算能力值与总计算能力值的比率;M表示始端完成一次本地联合处理过程所需的总计算量;max{·}表示求最大值;表示最小化;
所述预先构建的关于计算时间的优化问题的求解结果,包括:
其中,表示用户端ui的最优切割比;m*表示所述优化问题求解过程中引入的变量m的优化结果;
其中,所述传播步长计算公式,包括:
其中,Li表示用户端ui的传播步长;w表示各轮全局模型对应的原始网络的总层数。
2.根据权利要求1所述的基于自适应分割联邦学习的模型训练方法,其特征在于,针对每个始端,该始端的一次本地联合处理过程中,前向传播的过程包括:
该始端利用自身人脸图像训练集的一个当前批次,从当前次本地模型的首层开始向前传播该始端的传播步长所对应的层数,将其前向传播对应的局部网络所输出的特征图和其输出层序号,沿以该始端为起点的环形拓扑结构的顺向传递给下一个用户端;
针对沿所述环形拓扑结构顺向依次遍历到的每个正向当前端,该正向当前端将前一个用户端的输出层序号沿网络正向对应的下一层作为该正向当前端的起始层,将前一个用户端传递来的计算结果从该正向当前端的起始层开始向前传播该正向当前端的传播步长所对应的层数,并将其前向传播对应的局部网络所得的计算结果沿所述环形拓扑结构的顺向传递给下一个用户端;其中,各正向当前端为所述环形拓扑结构中除该始端之外遍历到的每个用户端,终端为遍历到的最后一个用户端;除所述终端外,各正向当前端还将自身的输出层序号传递给下一个用户端,且计算结果为对应局部网络输出的特征图;所述终端的计算结果为人脸识别结果;
该始端将所述终端传递来的人脸识别结果与所述当前批次中的样本标签进行对应比较,根据比较结果计算出该始端对应的网络损失值。
3.根据权利要求2所述的基于自适应分割联邦学习的模型训练方法,其特征在于,针对每个始端,该始端的一次本地联合处理过程中,反向传播的过程包括:
该始端将对应的网络损失值和自身的聚集权重传递给所述终端;
所述终端利用所述网络损失值,从当前次本地模型的末层开始反向传播该终端的传播步长所对应的层数,计算其反向传播对应的局部网络的梯度,将得到的局部网络梯度与该始端的聚集权重相乘,得到该终端对应的加权梯度并进行缓存;并将计算得到的该终端对应的局部网络的输出层梯度和其输出层序号,沿所述环形拓扑结构的逆向传递给下一个用户端;
针对沿所述环形拓扑结构的逆向依次遍历到的每个反向当前端,该反向当前端将前一个用户端的输出层序号沿网络反向对应的下一层作为该反向当前端的起始层,利用前一个用户端传递来的输出层梯度从该反向当前端的起始层开始反向传播该反向当前端的传播步长所对应的层数,计算其反向传播对应的局部网络的梯度,将得到的局部网络梯度与该始端的聚集权重相乘,得到该反向当前端对应的加权梯度并进行缓存;并将计算得到的该反向当前端对应的局部网络的输出层梯度和其输出层序号,沿所述环形拓扑结构的逆向传递给下一个用户端;其中,各反向当前端为所述环形拓扑结构中除该始端和终端之外遍历到的每个用户端;
该始端将前一个用户端的输出层序号沿网络反向对应的下一层作为该始端的起始层,利用前一个用户端传递来的输出层梯度从该始端的起始层开始反向传播该始端的传播步长所对应的层数,计算其反向传播对应的局部网络的梯度,将得到的局部网络梯度与该始端的聚集权重相乘,得到该始端对应的加权梯度并进行缓存。
4.根据权利要求3所述的基于自适应分割联邦学习的模型训练方法,其特征在于,所述基于所有始端各自在该次本地联合处理过程中产生的加权梯度,对每个始端的当前次本地模型进行更新,包括:
从所有始端各自进行的该次本地联合处理过程中产生的所有加权梯度中,计算每个用户端对应的加权梯度的总和;
针对每个用户端,计算该用户端对应的加权梯度的总和与预设学习率的乘积,并将该用户端的当前次本地模型的参数减去所述乘积,得到该用户端更新后的当前次本地模型,以在当前次本地联合处理未达到所述预设次时,利用所述更新后的当前次本地模型进行下一次本地联合处理。
5.根据权利要求1所述的基于自适应分割联邦学习的模型训练方法,其特征在于,所述每个用户端将各自针对当前轮训练的本地更新后模型参数上传至所述服务端进行聚合,包括:
每个用户端将各自针对当前轮训练的本地更新后模型参数上传至所述服务端,由服务端求取均值作为当前轮更新后全局模型参数。
6.根据权利要求1所述的基于自适应分割联邦学习的模型训练方法,其特征在于,所述服务端为蜂窝网络中的基站,所述用户端为蜂窝网络中的用户终端设备。
7.一种基于自适应分割联邦学习的人脸识别方法,其特征在于,应用于目标端,该方法包括:
获取训练完成的人脸识别模型以及待识别图像;其中,所述人脸识别模型是根据权利要求1-6任一项所述的基于自适应分割联邦学习的模型训练方法训练得到的;所述目标端为所述RingSFL系统中的服务端或任一用户端;
将所述待识别图像输入所述人脸识别模型,得到人脸识别结果;其中,所述人脸识别结果中包括所述待识别图像中人脸的属性信息;所述属性信息包括身份信息。
CN202210345323.9A 2022-04-02 2022-04-02 基于自适应分割联邦学习的模型训练方法和人脸识别方法 Active CN114912605B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210345323.9A CN114912605B (zh) 2022-04-02 2022-04-02 基于自适应分割联邦学习的模型训练方法和人脸识别方法
PCT/CN2023/081800 WO2023185485A1 (zh) 2022-04-02 2023-03-16 基于自适应分割联邦学习的模型训练方法和人脸识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210345323.9A CN114912605B (zh) 2022-04-02 2022-04-02 基于自适应分割联邦学习的模型训练方法和人脸识别方法

Publications (2)

Publication Number Publication Date
CN114912605A CN114912605A (zh) 2022-08-16
CN114912605B true CN114912605B (zh) 2024-07-05

Family

ID=82762430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210345323.9A Active CN114912605B (zh) 2022-04-02 2022-04-02 基于自适应分割联邦学习的模型训练方法和人脸识别方法

Country Status (2)

Country Link
CN (1) CN114912605B (zh)
WO (1) WO2023185485A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114912605B (zh) * 2022-04-02 2024-07-05 西安电子科技大学 基于自适应分割联邦学习的模型训练方法和人脸识别方法
CN115761850B (zh) * 2022-11-16 2024-03-22 智慧眼科技股份有限公司 人脸识别模型训练方法、人脸识别方法、装置及存储介质
CN118233329A (zh) * 2022-12-21 2024-06-21 维沃软件技术有限公司 Ai网络模型确定方法、信息传输方法、装置和通信设备
CN117521856B (zh) * 2023-12-29 2024-03-15 南京邮电大学 一种基于本地特征的大模型切割联邦学习方法及系统
CN118035389B (zh) * 2024-04-11 2024-06-07 电子科技大学 一种联邦学习系统中的大语言模型训练数据恢复方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112949837A (zh) * 2021-04-13 2021-06-11 中国人民武装警察部队警官学院 一种基于可信网络的目标识别联邦深度学习方法
CN113642664A (zh) * 2021-08-24 2021-11-12 安徽大学 一种基于联邦学习的隐私保护图像分类方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428881B (zh) * 2020-03-20 2021-12-07 深圳前海微众银行股份有限公司 识别模型的训练方法、装置、设备及可读存储介质
CN113688855B (zh) * 2020-05-19 2023-07-28 华为技术有限公司 数据处理方法、联邦学习的训练方法及相关装置、设备
CN112818394A (zh) * 2021-01-29 2021-05-18 西安交通大学 具有本地隐私保护的自适应异步联邦学习方法
CN113011599B (zh) * 2021-03-23 2023-02-28 上海嗨普智能信息科技股份有限公司 基于异构数据的联邦学习系统
CN113591145B (zh) * 2021-07-28 2024-02-23 西安电子科技大学 基于差分隐私和量化的联邦学习全局模型训练方法
CN114912605B (zh) * 2022-04-02 2024-07-05 西安电子科技大学 基于自适应分割联邦学习的模型训练方法和人脸识别方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112949837A (zh) * 2021-04-13 2021-06-11 中国人民武装警察部队警官学院 一种基于可信网络的目标识别联邦深度学习方法
CN113642664A (zh) * 2021-08-24 2021-11-12 安徽大学 一种基于联邦学习的隐私保护图像分类方法

Also Published As

Publication number Publication date
CN114912605A (zh) 2022-08-16
WO2023185485A1 (zh) 2023-10-05

Similar Documents

Publication Publication Date Title
CN114912605B (zh) 基于自适应分割联邦学习的模型训练方法和人脸识别方法
Lu et al. Low-latency federated learning and blockchain for edge association in digital twin empowered 6G networks
CN113408743B (zh) 联邦模型的生成方法、装置、电子设备和存储介质
WO2021114931A1 (zh) 防止隐私数据泄漏的编码模型训练方法及装置
CN112817653A (zh) 一种基于云边端的联邦学习计算卸载计算系统及方法
CN112181666A (zh) 一种基于边缘智能的设备评估和联邦学习重要性聚合方法、系统、设备和可读存储介质
Wang et al. A novel reputation-aware client selection scheme for federated learning within mobile environments
CN109902546A (zh) 人脸识别方法、装置及计算机可读介质
CN113536383B (zh) 基于隐私保护训练图神经网络的方法及装置
CN114514519A (zh) 使用异构模型类型和架构的联合学习
CN116032663B (zh) 基于边缘设备的隐私数据处理系统、方法、设备及介质
US11991156B2 (en) Systems and methods for secure averaging of models for federated learning and blind learning using secure multi-party computation
US20220318412A1 (en) Privacy-aware pruning in machine learning
Shlezinger et al. Collaborative inference via ensembles on the edge
CN110489955B (zh) 应用于电子设备的图像处理、装置、计算设备、介质
CN111224905A (zh) 一种大规模物联网中基于卷积残差网络的多用户检测方法
CN112966878A (zh) 一种贷款逾期预测、学习方法及装置
CN116384504A (zh) 联邦迁移学习系统
Tan et al. End-edge coordinated inference for real-time BYOD malware detection using deep learning
Jeong et al. Deep reinforcement learning-based task offloading decision in the time varying channel
US20230084507A1 (en) Servers, methods and systems for fair and secure vertical federated learning
Wu et al. FedAPT: Joint Adaptive Parameter Freezing and Resource Allocation for Communication-Efficient Federated Vehicular Networks
US11076289B1 (en) AI-based multi-mode wireless access protocol (MMWAP)
CN109359182A (zh) 一种应答方法及装置
US20230237315A1 (en) Method and system for efficient learning on large multiplex networks

Legal Events

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