CN118401947A - 联合学习过程 - Google Patents
联合学习过程 Download PDFInfo
- Publication number
- CN118401947A CN118401947A CN202280083516.XA CN202280083516A CN118401947A CN 118401947 A CN118401947 A CN 118401947A CN 202280083516 A CN202280083516 A CN 202280083516A CN 118401947 A CN118401947 A CN 118401947A
- Authority
- CN
- China
- Prior art keywords
- client node
- local model
- node
- server
- client
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3257—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using blind signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Power Engineering (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
根据第一方面,存在一种由通信网络中的检测器节点执行的方法,其中,检测器节点用于监视在第一客户端节点、第二客户端节点以及联合学习FL服务器之间发送的消息,作为FL过程的一部分,其中,作为该FL过程的一部分,第一客户端节点将本地模型更新发送到第二客户端节点以用于转发到FL服务器。该方法包括:接收与从第一客户端节点发送到第二客户端节点的本地模型更新相关的第一信息;接收与由第二客户端节点接收或转发的本地模型更新相关的第二信息;以及比较第一信息与第二信息以确定第二客户端节点是否正确地接收或转发与本地模型更新相关的第一信息。
Description
本申请所涉及的项目已获得欧盟地平线2020研究与创新计划的资助,资助协议编号为101015956。
技术领域
本公开涉及通信网络中的方法、节点和系统。更具体地但不限于此,本公开涉及通信网络中的联合学习过程。
背景技术
联合学习(FL)是一种具有隐私意识的协作式机器学习(ML)技术。在该技术的设置中,参与者是服务器和客户端。服务器构造全局ML模型,客户端帮助构造该模型。该技术中的隐私增强在于,客户端发送使用它们自己的数据计算的一些更新参数,而不是将它们的纯数据(plain data)发送到服务器。FL工作如下:第一步,服务器构造初始的全局ML模型,然后将其发送到客户端。每个客户端使用它自己的数据来训练该模型以获得本地模型更新,然后将模型更新发送到服务器。服务器聚合本地模型更新以构造全局模型。这些步骤被重复,直到全局模型收敛为止。
虽然隐私数据不会以明文被发送到服务器,但一些研究表明,被发送到服务器的本地模型更新可能泄露关于客户端的隐私数据的一些信息。为了防止信息泄露,已经提出了使用一些隐私增强技术,例如同态加密(homomorphic encryption)、安全多方计算、以及机密计算。所提出的解决方案之一是使用安全聚合。在安全聚合方法中,客户端加密它们的更新,然后将加密后的更新发送到服务器。然后,服务器聚合加密后的更新并解密聚合后的结果。这样,服务器无法学习个体更新,并且只能学习聚合后的输出。
虽然隐私增强技术解决了隐私问题,但这些技术很难防止针对模型构造的安全攻击,例如后门或中毒攻击。原因在于服务器无法分析来自客户端的数据,因为数据是加密的,服务器只能学习聚合后的结果。
Alberto Blanco-Justicia等人(2020)的题为“在联合学习系统中实现安全和隐私:调查、研究挑战和未来方向(Achieving Security and Privacy in FederatedLearning Systems:Survey,Research Challenges and Future Directions)”的论文提出了一种在不损害安全保护机制的情况下解决隐私问题的解决方案。根据它们的解决方案,当数据的发送者对服务器匿名时,服务器可能无法泄露来自客户端的模型更新中的信息。以下是数据发送者匿名化的解决方案的摘录:
“基本思想在于,不是每个客户端始终直接向FL服务器提交它的模型更新(这可能泄露它的隐私数据),而是客户端选择将它的模型更新转发到另一客户端,我们称之为受托转发者(forwardee)。受托转发者又可以决定将更新后的模型提交到FL服务器或拒绝此操作。如果受托转发者拒绝该请求,更新发起者尝试另一受托转发者,直到某个客户端将该模型更新提交到FL服务器为止。这种单跳方法保护了更新发起者相对于FL服务器的隐私,因为FL服务器不知道每个所接收到的更新是谁发起的,并且无法链接同一发起者进行的相继模型更新。该方法是单跳的,它不保护客户端相对于彼此的隐私(受托转发者知道谁发起了接收到的更新)。为了解决此问题,我们可以将该思想概括成多跳协议,由此接收到模型更新的受托转发者可以提交该模型更新或将该模型更新转发到另一受托转发者。转发是拒绝更新后的模型的替代方法。该多跳方法防止向FL服务器和其他客户端两者泄露隐私,因为FL服务器和受托转发者都不知道它们正在从发起者还是从另一受托转发者接收模型更新。此外,由同一客户端发起的相继模型更新是不可链接的,这在很大程度上保证了客户端的隐私数据集保持机密。点对点多跳协议已经被成功应用于增强其他上下文中的隐私,例如向网络搜索引擎的匿名查询提交(Domingo-Ferrer等人,2017年)。
...
所提出的解决方案在相对于FL服务器和其他客户端两者的隐私方面令人满意。与差分(differential)隐私不同,模型更新不受干扰,因此模型的准确性被完全保留。此外,模型更新既不受干扰也不被聚合的事实允许FL服务器计算关于客户端更新的权重和偏差的统计数据,以便检测和丢弃有缺陷的(或恶意的)更新。缺点在于,更新的点对点转发要求客户端相互通信,因此引入了通信开销。”
发明内容
本文的公开内容涉及保护联合学习中的多跳通信中的本地模型更新。
根据第一方面,存在一种由通信网络中的检测器节点执行的方法,其中,所述检测器节点用于监视在第一客户端节点、第二客户端节点以及联合学习FL服务器之间发送的消息,作为FL过程的一部分,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器。所述方法包括:接收与从所述第一客户端节点发送到所述第二客户端节点的所述本地模型更新相关的第一信息;接收与由所述第二客户端节点接收或转发的所述本地模型更新相关的第二信息;以及比较所述第一信息与所述第二信息,以确定所述第二客户端节点是否正确地接收或转发与所述本地模型更新相关的所述第一信息。
根据第二方面,存在一种由通信网络中的第一客户端节点执行的方法,其中,所述第一客户端节点参与与第二客户端节点和联合学习FL服务器的联合学习FL过程,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器,所述方法包括:将所述本地模型更新发送到所述第二客户端节点,以用于由所述第二客户端节点转发到所述FL服务器;以及将与所述本地模型更新相关的第一信息发送到所述通信网络中的检测器节点。
根据第三方面,存在一种由通信网络中的第二客户端节点执行的方法,其中,所述第二客户端节点参与与第一客户端节点和联合学习FL服务器的联合学习FL过程,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器,所述方法包括:将与由所述第二客户端节点接收或转发的所述本地模型更新相关的第二信息发送到检测器节点。
根据第四方面,存在一种由联合学习FL服务器执行的方法,其中,所述FL服务器参与与第一客户端节点和第二客户端节点的联合学习FL过程,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器,所述方法包括:从所述第二客户端节点接收所述本地模型更新;以及将与所接收的所述本地模型更新相关的第三信息发送到检测器节点或所述第二客户端节点。
根据第五方面,存在一种被配置为执行所述第一方面的检测器节点。
根据第六方面,存在一种被配置为执行所述第二方面的第一客户端节点。
根据第七方面,存在一种被配置为执行所述第三方面的第二客户端节点。
根据第八方面,存在一种被配置为执行所述第四方面的联合学习FL服务器。
根据第十方面,存在一种包括计算机可读介质的计算机程序产品,所述计算机可读介质存储有计算机可读代码,所述计算机可读代码被配置为在由合适的计算机或处理器执行时,使得所述计算机或处理器执行前四个方面中任一个方面的方法。
根据第十一方面,存在一种包括指令的计算机程序,所述指令当在至少一个处理器上执行时使得所述至少一个处理器执行根据前四个方面中任一个方面的方法。
根据第十二方面,存在一种包含根据第十或第十一方面的计算机程序的载体,其中,所述载体包括电子信号、光信号、无线电信号或计算机可读存储介质中的一个。
根据第十三方面,存在一种包括非暂时性计算机可读介质的计算机程序产品,在所述非暂时性计算机可读介质上存储有根据第十或第十一方面的计算机程序。
因此,本文的实施例有利地使得能够检测在多跳FL过程中丢弃分组而不是转发分组的节点。因此,能够确保所有本地模型更新(本地模型)都到达FL服务器。
附图说明
为了更好地理解并更清楚地示出可如何实施本文的实施例,现在将仅以示例的方式参考附图,其中:
图1示出了一些实施例中的信号流图;
图2示出了根据一些实施例的信号图;
图3示出了根据一些实施例的信号图;
图4示出了根据一些实施例的信号流图;
图5示出了根据一些实施例的信号图;
图6示出了根据一些实施例的方法;
图7示出了根据一些实施例的方法;
图8示出了根据一些实施例的方法;
图9示出了根据一些实施例的方法;以及
图10示出了根据一些实施例的节点。
具体实施方式
通常,除非在使用术语的上下文中清楚地给出了和/或隐含了不同的含义,否则本文中使用的所有术语将根据其在相关技术领域中的普通含义来解释。除非明确说明,否则对一/一个/该元件、设备、组件、装置、步骤等的所有引用应公开地解释为是指该元件、设备、组件、装置、步骤等的至少一个实例。除非必须明确地将一个步骤描述为在另一个步骤之后或之前和/或隐含地一个步骤必须在另一个步骤之后或之前,否则本文所公开的任何方法的步骤不必以所公开的确切顺序执行。在适当的情况下,本文公开的任何实施例的任何特征可以适用于任何其他实施例。同样,任何实施例的任何优点可以适用于任何其他实施例,反之亦然。通过下面的描述,所附实施例的其他目的、特征和优点将显而易见。
以下阐述了具体细节,例如特定实施例或示例,它们用于解释而非限制。本领域技术人员将认识到,除了这些具体细节之外,还可以采用其他示例。在某些情况下,省略了对公知的方法、节点、接口、电路和设备的详细描述,以免不必要的细节使描述变得模糊。本领域技术人员将认识到,所描述的功能可以在一个或多个节点中使用硬件电路(例如,互连以执行专门功能的模拟和/或离散逻辑门、ASIC、PLA等)和/或使用软件程序和数据与一个或多个数字微处理器或通用计算机结合来实现。使用空中接口进行通信的节点还具有合适的无线电通信电路。此外,在适当的情况下,该技术还可以被认为完全体现在任何形式的计算机可读存储器中,例如固态存储器、磁盘或光盘,其中包含一组适当的计算机指令,这些指令将使得处理器执行本文描述的技术。
硬件实施方式可以涵盖但不限于数字信号处理器(DSP)硬件、精简指令集处理器、硬件(例如,数字或模拟)电路,包括但不限于专用集成电路(ASIC)和/或现场可编程门阵列(FPGA),以及(在适当的情况下)能够执行此类功能的状态机。
本文描述的实施例提供了用于与通信网络中的服务器和多个客户端设备执行联合学习的方法和装置。
通常,本文的公开内容涉及通信网络(或电信网络)。通信网络可以包括以下任一项或以下项的任意组合:有线链路(例如,ASDL)或无线链路(例如全球移动通信系统(GSM)、宽带码分多址(WCDMA)、长期演进(LTE)、新无线电(NR)、WiFi、蓝牙或未来的无线技术)。本领域技术人员将理解,这些仅仅是示例,并且通信网络可以包括其他类型的链路。无线网络可以被配置为根据特定标准或其他类型的预先定义的规则或过程工作。因此,无线网络的特定实施例可以实现通信标准,例如全球移动通信系统(GSM)、通用移动通信系统(UMTS)、长期演进(LTE)和/或其他合适的2G、3G、4G、5G、6G标准或任何未来标准;无线局域网(WLAN)标准,例如IEEE 802.11标准;和/或任何其他适当的无线通信标准,例如全球微波接入互操作性(WiMax)、蓝牙、Z波和/或ZigBee标准。
如上所述,本公开涉及在联合学习中使用多跳通信,例如上述Alberto等人(2020)所提供的解决方案。
如背景技术中所述,虽然隐私增强技术能够解决与FL相关联的隐私问题,但这些技术很难防止针对模型构造的安全攻击,例如后门攻击或中毒攻击。原因在于服务器无法分析来自客户端的数据,因为数据是加密的,服务器只能获知聚合后的结果。
Alberto Blanco-Justicia等人(2020)的论文提出了一种在不损害安全保护机制的情况下解决隐私问题的方法。
然而,在Alberto等人的FL解决方案中,还可能出现其他问题,例如,恶意客户端可能多次发送相同的模型更新(从而导致生成的全局ML模型出现偏差)。在一些示例中,恶意客户端可能丢弃从其他客户端节点接收的模型更新。在一些示例中,恶意客户端(例如“恶意受托转发者”)可能更改从另一客户端接收的本地模型更新。
另一项研究(TR/2021/013845)通过将盲签名引入Alberto等人(2020)的方法,补充了Alberto等人(2020)的解决方案。
盲签名最早由David Chaum于1983年提出(Chaum,David(1983)标题为:“用于不可追踪支付的盲签名”。密码学进展,密码学论文集。82(3):199–203(Chaum,David(1983)entitled:"Blind signatures for untraceable payments".Advances in CryptologyProceedings ofCrypto.82(3):199-203))。该类型的签名方案允许一方具有来自签名发行者的用于它的隐私数据(x)的签名(sign(x)),而不泄露关于该数据的任何信息。Chaum提出将这种方法用于不可追踪支付。
盲签名协议(如上述参考论文所述)如下:
函数
盲签名系统可以被认为包括真实双密钥数字签名方案的特性,这些特性以特殊方式与交换式(commutative style)公钥系统相结合。现在将描述在上述参考论文中描述的盲签名协议的修改版本。以下函数构成了盲签名密码系统:
1)私有签名函数s',其仅对签名者已知,以及对应的公共验证函数s,其中,s(s’(x))=x,并且s未给出关于s'的线索。
2)交换函数(commuting function)c及其逆函数c',两者仅对提供者已知,以使得c’(s’(c(x))))=s’(x),并且c(x)和s'未给出关于x的线索。
协议
1)提供者随机选择x,形成c(x),并将c(x)提供给签名者。
2)签名者通过应用s'对c(x)进行签名,并将经签名的内容(signed matter)s’(c(x))返回给提供者。
3)提供者通过应用c'来剥离经签名的内容,从而产生c’(s’(c(x)))=s’(x)。
4)然后,任何人都可以通过使用x和签名者的公共验证函数s验证s’(x)是从s'和x生成的,来检查剥离的内容s’(x)是由签名者形成的,其中s对应于s',其中s(s’(x))=x。
部分盲签名也可用。部分盲签名使得签名发行者(对于本文所述的实施例,其可以是服务器)能够在对消费者(对于本文所述的实施例,其可以是客户端节点)的数据进行签名之前将附加信息输入到数据中。换句话说,如果x是客户端节点的数据,y是FL服务器的数据,则在运行盲签名协议后,客户端节点可以获知(x,y)的签名,而FL服务器不会获知关于x的任何信息。部分盲签名的概念是由Abe M.、Fujisaki等人在他们的题为“如何确定盲签名日期(How to date blind signatures)”的论文中引入的:Kim K.、Matsumoto T.(编辑)《密码学进展—亚密会'96》。1996亚密会。计算机科学讲义,第1163卷。Springer,柏林,海德堡(Kim K.,Matsumoto T.(eds)Advances in Cryptology—ASIACRYPT'96.ASIACRYPT1996.Lecture Notes in Computer Science,vol 1163.Springer,Berlin,Heidelberg)。
在Abe、Masayuki和T.Okamoto的“可证明安全部分盲签名(Provably SecurePartially Blind Signatures)”CRYPTO(2000)中,提出了安全高效的部分盲签名方案。
在关于部分盲签名的这些研究公布之后,已提出了许多使用不同工具(例如Rivest-Shamir-Adleman(RSA)或椭圆曲线数字签名算法(ECDSA)、双线性配对等)的构造来实现部分盲签名。这些部分盲签名的主要应用领域是电子现金系统和电子投票。
在联合学习中使用盲签名和多跳通信
PCT/EP2022/069281(TR 2021/013845)在Alberto等人提出的解决方案中引入了使用盲签名的概念,其中多跳通信被用于向服务器隐藏模型更新的所有者。使用盲签名的原因是为了解决Alberto等人的解决方案中的以下问题:
-恶意客户端可以多次发送相同的模型更新。
-恶意受托转发者客户端能够改变更新,因为缺乏完整性保护。
PCT/EP2022/069281(TR 2021/013845)还使用了一种方法,即,服务器可以使用来自客户端的本地模型更新,即使尚未从设置中的所有客户端接收到本地模型更新。使用这种方法,可以防止恶意受托转发者客户端(其可能丢弃接收到的本地模型更新)的拒绝服务攻击。
即使使用盲签名,仍可能存在各种问题。例如,恶意受托转发者客户端可以丢弃其他客户端的本地模型更新,从而扭曲联合的结果。此外,如果到达恶意受托转发者客户端的本地模型更新的数量大于可容忍的所丢失的本地模型更新的数量,则该受托转发者客户端可能导致拒绝服务攻击,因为当该受托转发者客户端丢弃所有这些分组时,服务器将无法继续到FL轮次(round),并且必须重新启动该轮次。
除了其他问题以外,本文的公开内容旨在通过检测丢弃或改变分组的恶意受托转发者客户端来解决这些可能的问题。
本文中的一些实施例可以被总结如下:
可以引入Ack(确认)分组,以使得当受托转发者客户端接收到分组(包括本地模型更新)时,该客户端必须向发送者客户端发送经签名的ack分组。如果发送者客户端没有接收到ack分组,则发送者随机选择另一受托转发者客户端来发送该分组。在FL轮次结束后,每个客户端将从受托转发者客户端接收到的ack分组发送到本文中称为“检测器节点”的节点。检测器对每个客户端执行以下动作。检测器检查客户端是否已发送从其他客户端接收到的所有分组。如果检查失败,则这意味着客户端已丢弃一些分组。
因此,如下文更详细描述的,一种方法可以包括:
-引入新实体(“检测器节点”)。
-当受托转发者客户端接收到分组时,它向发送者客户端发送ack分组。
-将发送者客户端接收到的ack分组发送到检测器。或者,从发送者客户端将接收到的ack分组发送到检测器。
-由检测器分析这些ack分组以检测是否存在已经丢弃任何分组的任何客户端。
替代地或附加地,每当发送者客户端向受托转发者客户端发送包括本地模型更新的分组时,发送者客户端可以向检测器发送包含被发送到受托转发者客户端的发送者客户端ID、受托转发者客户端ID和分组的散列的消息。这样,检测器将具有受托转发者客户端ID、发送者客户端ID和分组的散列的信息。检测器跟踪此信息以确保没有分组丢弃。相应地,每当受托转发者客户端接收到分组时,受托转发者客户端都向检测器发送具有相同的信息(受托转发者和发送者客户端ID以及该分组的散列)的消息,以通知已接收到分组。然后,检测器检查该消息,并且如果它们匹配,则检测器向发送者客户端发送ack分组,这意味着分组传输已成功完成。否则,如果发送者客户端没有从检测器获得ack消息,则发送者客户端针对随机选择的受托转发者客户端执行相同的步骤。
因此,如下文更详细描述的,一种方法可以包括:
-引入新实体(“检测器节点”)
-每当已发送/接收到分组时,由发送者客户端和/或受托转发者客户端向检测器发送信息消息
-用于确保如果分组被客户端丢弃,则检测器在每次分组传输中立即检测到该丢弃的步骤。
上面总结的示例解决了与多跳联合学习相关联的一些问题。特别是但不限于使用盲签名的多跳联合学习。例如,本文的实施例允许FL服务器分析从客户端收集的数据而不损害客户端的隐私,以便能够检测到来自恶意客户端的安全攻击(例如后门或数据中毒),这对于加密隐私方法(HE、SMPC)而言很难,即使在存在想要丢弃分组和/或阻止执行联合学习的恶意受托转发者的情况下也是如此。此外,由于所提出的解决方案允许检测丢弃一些分组的恶意客户端,因此所提出的解决方案允许系统将恶意客户端排除在FL过程之外。
在本文的一些实施例中,存在由通信网络中的第一客户端节点、第二客户端节点、检测器节点以及FL服务器执行的方法。检测器节点用于监视在第一客户端节点、第二客户端节点以及FL服务器之间发送的消息,作为多跳FL过程的一部分,在多跳FL过程中,第一客户端节点在本地数据上训练全局模型的副本以产生本地模型,并将本地模型更新发送到第二客户端节点以用于转发到FL服务器。
FL学习可以指任何分布式学习过程,由此在多个客户端节点上的模型的本地副本上的训练被FL服务器整合成全局模型。如本文所使用的,FL服务器(本文中也可以被称为“服务器”)可以指FL过程的中央服务器或“主机(master)”。本文中提到的第一客户端节点和第二客户端节点可以是FL过程中的“工作者”或“从(slave)”节点。
将理解的是,尽管本文中的示例可以用第一和第二客户端节点来描述,但FL过程中可能存在多个(N个)客户端节点。FL过程是一个多跳过程,由此客户端节点将它们的本地模型更新通过(例如,经由)FL过程中涉及的其他客户端节点转发到FL服务器。
符号(notation):为了简单起见,针对以下步骤使用与上文针对盲签名引用的Chaum(1983)的解决方案相同的符号和变换(c,c’,s,s’)。注意,Chaum盲签名协议中使用的冗余函数r不能在本文中使用。此外,在部分签名方案中,服务器可能以某种方式包含/包括轮次数,具体取决于部分签名方案的构造。针对传统签名方案使用以下符号:
-签名操作使用签名者的私钥priv_key来计算有效载荷的有效载荷签名:Sign(有效载荷,priv_key)->有效载荷签名
-使用有效载荷、有效载荷签名以及签名者的公钥pub_key来验证有效载荷签名:Verify(有效载荷,有效载荷签名,pub_key)->ok/nok
联合学习(FL)系统中的各方是服务器和客户端,其中目标是使用客户端的数据来构造机器学习(ML)模型,而不向客户端彼此和向服务器披露数据。在经典FL设置中,客户端仅与服务器通信。在我们的设置中,客户端除了与服务器通信外,还可以彼此通信。为了检测丢弃分组的恶意客户端,本文还引入了新实体,本文将其称为检测器或检测器节点。
图1、2和3示出了根据本文的一些实施例的使用盲签名执行多跳联合学习的示例方法。
图1示出了在服务器110、客户端104、106、108以及检测器102之间的示例交互。
图2示出了在一轮FL中从服务器观察当前全局ML模型和签名的公钥。注意,步骤2.1、2.2和2.3的顺序可以是任意顺序或是并行的。还要注意,图2示出了3个客户端的示例,客户端的数量可以是任意数量。注意,在步骤2.1.2、2.2.2和2.3.2中被用于在要被签名的数据中插入轮次数(round-no)的算法取决于所使用的部分盲签名方案。图3示出了在一轮FL中逐跳地向服务器发送本地模型更新。注意,此流程只是流程的模拟。客户端/受托转发者能够随机地选择下一个受托转发者。还要注意,为简单起见,图中未描绘客户端3的步骤。但是,客户端3可以执行类似的步骤。
更详细地,图1示出了在检测器节点102、第一客户端节点104、第二客户端节点106、第三客户端节点108以及FL服务器110之间发送的示例消息。将理解,三个客户端节点仅仅是一个示例,并且本文的示例可以推广到N个客户端节点和推广到涉及在获得本地模型更新的客户端节点与FL服务器之间的m跳(或更新后的本地模型的转发)的FL过程。
在图1的示例中,在每一轮联合学习中执行以下步骤。注意,在通常的联合学习中,一轮经常具有以下步骤:
-服务器将当前的全局模型发送到所有客户端,
-客户端使用它们的私有数据来更新接收到的模型以计算本地模型更新(注意,取决于联合学习设置,客户端可以发送新计算的本地模型(称为“本地模型”)或新计算的本地模型与接收到的全局模型之间的差异(该差异被称为“本地模型更新”)。无论发送本地模型还是本地模型更新,本文中的解决方案都有效。在本文档通篇中使用本地模型和本地模型更新。),
-客户端将本地模型或本地模型更新发送到服务器,
-服务器聚合本地模型(本地模型更新)以产生更新后的全局模型。
如上所述,在Alberto等人的提案中(https://arxiv.org/abs/2012.06810),提出了使用多跳作为解决方案,以防止服务器获知本地模型更新和客户端的匹配。
在系统初始化(确定变换)中,为了防止服务器使用不同的私钥进行欺骗,对于签名方案(s')中的每个客户端,客户端可以彼此通信以检查验证变换(s)中的对应的验证公钥对于每个客户端是相同的。借助此检查,客户端确保满足无记忆属性(对于用于盲目的无记忆属性,私钥应在整个协议中保持不变)。
系统参数:客户端选择的初始跳计数(hop-counter)的间隔。当受托转发者决定数据分组是否将被发送到服务器时,用于测试接收到的分组中的跳计数值的阈值。这些参数可以在如图2所示的联合学习过程的初始化期间被发送到客户端。
1.每个客户端生成一个公钥-私钥对(第i个客户端的PubKeyi、PrivKeyi),并将变换Ti=c(PubKeyi)的输出发送到服务器,如图2中的步骤2.i.1和2.i.1.a所示。
2.服务器使用签名算法s'对接收到的变换结果Ti进行签名,并将结果S’i=s’(c(PubKeyi,round-no))与当前全局模型一起发送到第i个客户端,如图2中的步骤2.i.2和2.i.2.a所示。注意,用于在要被签名的数据中插入轮次数的算法取决于所使用的部分盲签名方案。
3.每个客户端通过应用c(c')的逆变换来剥离签名内容,以具有数据的签名,即,图3中的步骤3.i.3中的Si=c’(S’i)=c’(s’(c(PubKeyi,round-no)))=s’(PubKeyi,round-no)。同时检查该签名,以确保使用了在系统初始化中识别的签名验证变换(公钥)。如果验证失败,则这意味着服务器正在进行欺骗,并且正在使用不同的私钥来破坏匿名性。如果检查成功,则客户端执行本地训练以获得本地模型(Ui)(图3中步骤3.i.4)。
4.每个客户端使用它的私钥(PrivKeyi)对本地模型(Ui)进行签名以获得本地模型签名(SCi)(图3中步骤3.i.5),在预定间隔之间选择随机跳计数(图3中步骤3.i.6)。然后,将它的公钥、轮次数、服务器对公钥和轮次数的签名、本地模型签名、本地模型、以及跳计数(PubKeyi,,round-no,Si,SCi,Ui,hop-counter)发送到随机选择的受托转发者(在图3中的步骤3.i.7中选择的),如图3中的步骤3.i.7.a所示。注意,在一些实施例中,客户端可以是灵活的,从而不使用受托转发者,并且可以直接发送到FL服务器110。
客户端等待确认(ack)分组(图3中的步骤3.i.7.b)。如果客户端没有接收到ack分组,则客户端随机地选择另一客户端并发送相同的分组(PubKeyi,round-no,Si,SCi,Ui,hop-counter)。
5.在接收到分组后,受托转发者客户端(例如图3中的客户端2或3)向通信路径中的前一个受托转发者客户端发送确认分组,以确认已接收到该分组(图3中的步骤3.i.7.b)。注意,路径中的前一个受托转发者客户端可以是该分组的所有者。确认分组是由受托转发者客户端签名的分组,其中签名是在H(PubKeyi,round-no,Si,SCi,Ui)上计算的,并且H是散列函数。然后,受托转发者将接收到的分组中的跳计数减1,并检查结果是否等于或小于预定值(图3中的步骤3.i.8)。注意,预定值是在FL开始处固定的参数,并且是所有客户端已知的。如果检查成功,则受托转发者将接收到的公钥、轮次数、服务器对公钥和轮次数的签名、本地模型签名、以及本地模型发送到服务器,如图3中的步骤3.i.8.a所示。如果检查不成功,则受托转发者将接收到的公钥、轮次数、服务器对公钥和轮次数的签名、本地模型签名、本地模型、新的跳计数发送到随机选择的受托转发者。注意,当跳计数大于阈值时,受托转发者可以将分组发送到服务器。受托转发者等待确认(ack)分组(图3中的步骤3.i.8.b)。如果受托转发者没有接收到ack分组,则受托转发者随机选择另一客户端并发送相同的分组。
注意,3.i.7.b也可以在步骤3.i.8和3.i.8.a之后执行。
6.当服务器110接收到分组时,服务器向受托转发者客户端(如图3所示的客户端3或客户端2)发送确认分组,受托转发者客户端是通信路径中的最后一个受托转发者客户端并且已将分组发送到服务器,以确认已接收到分组(图3中的步骤3.i.8.b)。确认分组是由服务器签名的分组,其中签名是在H(PubKeyi,round-no,Si,SCi,Ui)上计算的,并且H是散列函数。然后,服务器执行以下步骤:
a.检查公钥是否在表(存储接收到的公钥的表)中,以确保公钥只能被使用一次。如果公钥在表中,则服务器丢弃接收到的数据而不对该数据进行处理(图3中的步骤3.i.9)。
b.验证接收到的公钥(Si)的签名。如果签名有效,则将公钥与轮次数一起存储在表中。否则,丢弃接收到的数据而不对该数据进行处理(图3中的步骤3.i.10)。
c.检查轮次数是否正确。注意,服务器知道FL中的当前轮次数,并将FL轮次数与接收到的轮次数进行比较(图3中的步骤3.i.11)。
d.验证本地模型签名。如果签名有效,则服务器存储或处理本地模型以计算新的全局模型。否则,丢弃接收到的数据而不对该数据进行处理(图3中的步骤3.i.11)。
注意,3.i.8.b也可以在步骤3.i.9-3.i.12之后执行。
7.服务器等待通过步骤6中的检查的至少n-m个数据分组,其中n是客户端的数量,n-m是计算全局模型的更新中所需的客户端的数量。如果在预先定义的时间段内达到该数量,则下一轮次从步骤1开始。设置数量“m”的原因如下:当最多m个本地模型更新可以被m个可能想要阻止FL执行的恶意客户端非法地计算时,此解决方案允许执行FL。
8.每个客户端/受托转发者将接收到的ack分组发送到检测器。注意,可以在每个FL轮次结束时发送ack分组,或者客户端在接收到分组之后将ack分组发送到检测器。
9.检测器分析接收到的ack分组以确定FL轮次中分组传输期间的任何异常/恶意行为。例如,检测器对每个客户端执行以下检查。检测器将该客户端发送的ack分组与该客户端接收到的ack分组进行比较。当ack分组匹配时,应当只剩下一个由该客户端针对它自己的本地模型所接收的ack分组。
注意,在该解决方案中,假设检测器和服务器不串通(collude)。否则,服务器将能够获知本地模型的客户端的身份,因为检测器能够通过使用ack分组来跟踪数据流。
可以以各种方式确保检测器和FL服务器不能串通。一个示例是检测器节点和FL服务器可以由不同的服务提供商或域来提供。然而,本领域技术人员将理解这仅是示例,并且可以以各种不同的方式来监视和/或强制执行串通(或不串通)。
用于对ack分组进行签名的签名算法是常规的签名算法,而不是盲签名算法。
在PCT/EP2022/069281(TR 2021/013845)中,该概念可以通过设置m=0来解决恶意客户端丢弃分组的问题。在这种情况(m=0)下,服务器将在每个FL轮次中等待接收来自所有客户端的分组。由于使用盲签名,客户端将能够只发送一个分组。由于服务器等待n个分组,所以恶意客户端丢弃分组将中止FL轮次的执行,并且服务器将在预先定义的时间段之后重新启动FL轮次。但是,设置m=0允许恶意客户端执行DoS攻击,因为丢弃至少一个分组将导致服务器等待n个分组并由于缺失分组而重新启动轮次。因此,可以考虑允许被丢弃的分组的数量和DoS攻击的可能性来调整m。根据本文的实施例,m可以安全地被选择为0,因为当恶意客户端丢弃分组时,它将被检测器检测到并且该客户端将被排除在设置之外。但是,如果恶意客户端非法地计算它的本地模型签名,则如果m=0,该客户端可以阻止FL的执行。为了阻止这种DoS攻击,可以考虑可能的恶意客户端数量来调整m。
还要注意,为了阻止流量分析,客户端可以在转发传入数据分组之前使用乱码数据(garbled data)和随机延迟。
现在转向另一实施例,如图4和5所示。
图4示出了在服务器110、客户端104、106、108和检测器102之间的示例交互。注意,仅示出了客户端1数据的分组流作为示例。
如在上述关于图1-3的实施例中那样,在每轮联合学习中通常执行以下步骤:
-服务器将当前全局模型发送到所有客户端,
-客户端使用它们的私有数据来更新接收到的模型以计算本地模型更新(注意,取决于联合学习设置,客户端可以发送新计算的本地模型(称为“本地模型”)或新计算的本地模型与接收到的全局模型之间的差异(该差异被称为“本地模型更新”)。无论发送本地模型还是本地模型更新,本文中的解决方案都有效。在本文档通篇中使用本地模型和本地模型更新。),
-客户端将本地模型或本地模型更新发送到服务器,
-服务器聚合本地模型(本地模型更新)以产生更新后的全局模型。
此外,在Alberto等人的提案中(https://arxiv.org/abs/2012.06810),提出了使用多跳作为解决方案,以防止服务器获知本地模型更新和客户端的匹配。
在系统初始化(确定变换)中,为了防止服务器使用不同的私钥进行欺骗,对于签名方案(s')中的每个客户端,客户端可以彼此通信以检查验证变换(s)中的对应的验证公钥对于每个客户端是相同的。借助此检查,客户端确保满足无记忆属性(对于用于盲目的无记忆属性,私钥应在整个协议中保持不变)。
系统参数:客户端选择的初始跳计数的间隔。当受托转发者决定数据分组是否将被发送到服务器时,用于测试接收到的分组中的跳计数值的阈值。这些参数可以在联合学习过程的初始化期间被发送到客户端。
1.每个客户端生成一个公钥-私钥对(第i个客户端的PubKeyi、
PrivKeyi),并将变换Ti=c(PubKeyi)的输出发送到服务器,如图2中的步骤2.i.1和2.i.1.a所示。
2.服务器使用签名算法s'对接收到的变换结果Ti进行签名,并将结果S’i=s’(c(PubKeyi,round-no))与当前全局模型一起发送到第i个客户端,如图2中的步骤2.i.2和2.i.2.a所示。注意,用于在要被签名的数据中插入轮次数的算法取决于所使用的部分盲签名方案。
3.每个客户端通过应用c(c')的逆变换来剥离签名内容,以具有数据的签名,即,图5中的步骤5.i.3中的Si=c’(S’i)=c’(s’(c(PubKeyi,round-no)))=s’(PubKeyi,round-no)。同时检查该签名,以确保使用了在系统初始化中识别的签名验证变换(公钥)。如果验证失败,则这意味着服务器正在进行欺骗,并且正在使用不同的私钥来破坏匿名性。如果检查成功,则客户端执行本地训练以获得本地模型(Ui)(图5步骤5.i.4)。
4.每个客户端使用它自己的私钥(PrivKeyi)对本地模型更新(Ui)进行签名以获得本地模型签名(SCi)(图5中的步骤5.i.5),在预定间隔之间选择随机跳计数(图5中的步骤5.i.6)。然后,将它的公钥、轮次数、服务器对公钥和轮次数的签名、本地模型签名、本地模型、跳计数(PubKeyi,,round-no,Si,SCi,Ui,hop-counter)发送到随机选择的受托转发者(在图5中的步骤5.i.7中选择的),如图5中的步骤5.i.7.a所示。注意,客户端是灵活的,从而不使用受托转发者,并且可以直接发送到服务器。客户端向第三实体(即,检测器)发送消息,该消息包括:发送者客户端ID;受托转发者客户端ID;以及发送者客户端公钥、轮次数、服务器对公钥和轮次数的签名、本地模型签名、本地模型的串接的散列,即(SC_ID,FC_ID,Hash(PubKeyi,,round-no,Si,SCi,Ui)),如图5中的步骤5.i.7.a.1所示。客户端等待来自检测器的具有(Ack,SC_ID,FC_ID,Hash(PubKeyi,,round-no,Si,SCi,Ui))的确认消息(该消息在图5中的步骤5.i.7.a.3中被表示为Ack_SC-ID_FC-ID),并且如果检测器尚未发送上述ack消息,则客户端随机选择另一客户端并发送相同的分组。
5.在接收到来自客户端的分组后,受托转发者向检测器发送消息(图5中的步骤5.i.7.a.2)以确认已接收到该分组。该消息包括:发送者客户端ID;受托转发者客户端ID;以及接收到的分组中的以下参数的串接的散列:公钥、轮次数、服务器对公钥和轮次数的签名、本地模型签名、本地模型,即(SC_ID,FC_ID,Hash(PubKeyi,,round-no,Si,SCi,Ui))。通过这种方式,检测器通过将此消息与从发送者客户端接收到的消息进行比较,确保发送者客户端已发送分组并且受托转发者客户端已接收到分组。然后,检测器针对发送者客户端创建确认(ack)消息,该消息包括确认、发送者和接收者客户端ID以及从受托转发者客户端接收到的散列。然后,受托转发者将接收到的分组中的跳计数减1,并检查结果是否等于或小于预定值(图5中的步骤5.i.8)。注意,预定值是在FL开始处固定的参数,并且是所有客户端已知的。如果检查成功,则受托转发者将接收到的公钥、轮次数、服务器对公钥和轮次数的签名、本地模型签名、以及本地模型发送到服务器,如图5中的步骤5.i.8.a所示。如果检查不成功,则受托转发者将接收到的公钥、轮次数、服务器对公钥和轮次数的签名、本地模型签名、本地模型、以及新的跳计数发送到随机选择的下一受托转发者。注意,当跳计数大于阈值时,受托转发者可以将分组发送到服务器。当受托转发者客户端将分组发送到服务器或另一受托转发者时,客户端向检测器发送消息,该消息包括:它的客户端ID;服务器ID或下一个受托转发者客户端ID;以及接收到的分组中的以下参数的串接的散列:公钥、轮次数、服务器对公钥和轮次数的签名、本地模型签名、本地模型,即(FC_ID,SC_ID or nextFC_ID,Hash(PubKeyi,,round-no,Si,SCi,Ui))(图5中的步骤5.i.8.a.1)。客户端等待来自检测器的对应确认消息(图5中的步骤5.i.8.a.3)。如果客户端没有获得ack消息,则该客户端随机选择另一受托转发者客户端并发送相同的分组。
6.当服务器接收到包括公钥、轮次数、服务器对公钥和轮次数的签名、本地模型签名、以及本地模型的分组时,服务器执行以下步骤:
a.检查公钥是否在表(存储接收到的公钥的表)中,以确保公钥只能被使用一次。如果公钥在表中,则服务器丢弃接收到的数据而不对该数据进行处理(图5中的步骤5.i.9)。
b.验证接收到的公钥(Si)的签名。如果签名有效,则将公钥与轮次数一起存储在表中。否则,丢弃接收到的数据而不对该数据进行处理(图5中的步骤5.i.10)。
c.检查轮次数是否正确。注意,服务器知道FL中的当前轮次数,并将FL轮次数与接收到的轮次数进行比较(图5中的步骤5.i.11)。
d.验证对本地模型更新的签名。如果签名有效,则服务器存储或处理本地模型更新以计算新的全局模型。否则,丢弃接收到的数据而不对该数据进行处理(图5中的步骤5.i.11)。
此外,当发送者接收到分组时,服务器如其他客户端那样向检测器发送消息(图5中的步骤5.i.8.a.2)。因此,检测器将确保分组最终到达分组的目的地。
7.服务器等待通过步骤6中的检查的至少n-m个数据分组,其中n是客户端的数量,n-m是计算全局模型的更新中所需的客户端的数量。如果在预先定义的时间段内达到该数量,则下一轮次从步骤1开始。设置数量“m”的原因如下:当最多m个本地模型更新可以被m个可能想要阻止FL执行的恶意客户端非法地计算时,此解决方案允许执行FL。
注意,在该解决方案中,假设检测器和服务器不串通。检测器不获得本地更新模型分组,但是通过观察来自受托转发者客户端和接收者客户端的消息可以了解所有流量。由于检测器不共享此信息,因此其他客户端和服务器不知晓此流量。
在PCT/EP2022/069281(TR 2021/013845)中,该概念可以通过设置m=0来解决恶意客户端丢弃分组的问题。在这种情况(m=0)下,服务器将在每个FL轮次中等待接收来自所有客户端的分组。由于使用盲签名,客户端将能够只发送一个分组。由于服务器等待n个分组,所以恶意客户端丢弃分组将中止FL轮次的执行,并且服务器将在预先定义的时间段之后重新启动FL轮次。但是,设置m=0允许恶意客户端执行DoS攻击,因为丢弃至少一个分组将导致服务器等待n个分组并由于缺失分组而重新启动轮次。因此,可以考虑允许被丢弃的分组的数量和DoS攻击的可能性来调整m。借助本文的这种改进,m可以安全地被选择为0,因为当恶意客户端丢弃分组时,它将被检测器检测到并且该客户端将被排除在设置之外。但是,如果恶意客户端非法地计算它的本地模型签名,则如果m=0,该客户端可以阻止FL的执行。为了阻止这种DoS攻击,可以考虑可能的恶意客户端数量来调整m。
还要注意,为了阻止流量分析,客户端可以在转发传入数据分组之前使用乱码数据和随机延迟。
因此,本文提出了两种不同的方法,用于作为多跳FL过程的一部分,确定受托转发者(例如,第二客户端节点)是否已丢弃由第一客户端节点转发的分组。
现在转向其他实施例,图6示出了一种在通信网络中的检测器节点中的方法600。检测器节点用于监视在第一客户端节点、第二客户端节点以及联合学习(FL)服务器之间发送的消息,作为FL过程的一部分,其中,作为FL过程的一部分,第一客户端节点将本地模型更新发送到第二客户端节点以用于转发到FL服务器。
简言之,该方法包括:接收602与从第一客户端节点发送到第二客户端节点的本地模型更新相关的第一信息;接收604与由第二客户端节点接收或转发的本地模型更新相关的第二信息;以及比较606第一信息与第二信息以确定第二客户端节点是否正确地接收或转发与本地模型相关的第一信息。
第一节点可以是本地模型更新的发起者,或者可能已从另一节点接收到本地模型更新以用于作为多跳FL过程的一部分进行转发。第二客户端节点可以是如上所述的“受托转发者”,例如多跳过程中的一跳。FL服务器维护模型的全局副本,并且可以例如协调FL过程。
如上所述,第一信息和/或第二信息可以是经签名的信息。
在一些实施例中,接收602与从第一客户端节点发送到第二客户端节点的本地模型更新相关的第一信息的步骤包括:从第一客户端节点接收第一消息,该第一消息包括由第一客户端节点从第二客户端节点接收的第一确认(ack),以确认接收到本地模型更新。接收604与由第二客户端节点接收或转发的本地模型更新相关的第二信息的步骤可以包括:从第二客户端节点接收第二消息,该第二消息包括由第二客户端节点从FL服务器接收的第二确认(ack),以确认从第二客户端节点接收到被转发到FL服务器的本地模型更新。
这已在上文中针对图1、2和3进行了描述。例如,第一消息可以是图3中的消息3.1.13.a或3.2.13.a。第二消息可以是图3中的消息3.1.13.b或3.2.13.b。
第一确认可以是来自第二客户端节点的经签名的分组。签名是在H(PubKeyi,round-no,Si,SCi,Ui)上计算的,并且H是散列函数。
在一些实施例中,接收与从第一客户端节点发送到第二客户端节点的本地模型更新相关的第一信息的步骤包括:从第一客户端节点接收第三消息,该第三消息包括由第一客户端节点发送到第二客户端节点的本地模型更新的散列。接收与由第二客户端节点接收或转发的本地模型更新相关的第二信息的步骤然后可以包括:从第二客户端节点接收第四消息,该第四消息包括由第二客户端节点从第一客户端节点接收的本地模型更新的散列。
本地模型更新可以与其他参数一起被散列,例如,发送者客户端公钥、轮次数、服务器对公钥和轮次数的签名、本地模型签名、本地模型的串接,即,(SC_ID,FC_ID,Hash(PubKeyi,,round-no,Si,SCi,Ui))。
这已在上文中针对图4和5进行了描述,可以理解的是,其中的细节也可以应用于方法600。
通常,比较606第一信息与第二信息以确定第二客户端节点是否正确地转发与本地模型相关的第一信息的步骤可以包括:确定本地模型更新是否已由第二客户端节点正确接收。
响应于确定第二客户端节点正确地接收或转发与本地模型相关的第一信息,方法600还可以包括:向第一客户端节点发送确认消息,以指示第二客户端节点成功接收本地模型更新或将本地模型更新成功转发到FL服务器。
如前述实施例中任一项的方法,其中,响应于确定第二客户端节点错误地转发与本地模型相关的第一信息,检测器可以向第一客户端节点、第二客户端节点或FL服务器中的任一个发送消息,从而通知相应的节点。检测器可以监视第二客户端节点,并且如果检测到第二客户端节点反复错误地转发或丢弃模型更新,则促使从FL过程中移除第二客户端节点。
现在转向其他实施例,图7示出了一种在通信网络中的第一客户端节点中的方法700。第一客户端节点参与与第二客户端节点和联合学习(FL)服务器的联合学习(FL)过程,其中,作为FL过程的一部分,第一客户端节点将本地模型更新发送到第二客户端节点以用于转发到FL服务器。方法700包括:将本地模型更新发送702到第二客户端节点,以用于由第二客户端节点转发到FL服务器;以及将与本地模型更新相关的第一信息发送704到通信网络中的检测器节点。
第一信息和/或本地模型更新可以被签名。
将与本地模型更新相关的第一信息发送到通信网络中的检测器节点的步骤可以包括:将第一消息发送到检测器节点,该第一消息包括由第一客户端节点从第二客户端节点接收的第一确认(ack),以确认接收到本地模型更新。
方法700还可以包括:如果在预先定义的时间间隔内没有从第二客户端节点接收到确认消息,则将本地模型更新发送到第三客户端节点(例如,另一受托转发者),以用于由第三客户端节点转发到FL服务器。
这已在上文中针对图1和3进行了描述,并且应该理解,其中的细节也可以应用于方法700。
将与本地模型更新相关的第一信息发送到通信网络中的检测器节点的步骤可以包括:将第三消息发送到检测器节点,该第三消息包括由第一客户端节点发送到第二客户端节点的本地模型更新的散列。
方法700还可以包括:如果没有从检测器节点或第二客户端接收到确认消息,则将本地模型更新发送到第三客户端节点,以用于由第三客户端节点转发到FL服务器。例如,如果检测器没有发送确认,则这可能表明第二客户端节点没有转发或接收到第三消息。因此,第一客户端节点可以重新发送到另一客户端节点。
在一些实施例中,本地模型更新是作为FL过程的一部分由第一客户端节点执行的训练的结果。例如,第一客户端节点可以是本地模型更新的“发起者”。在其他实施例中,本地模型更新由第一客户端节点从另一客户端节点接收到以用于转发到第二客户端节点。例如,第一客户端节点可以是受托转发者节点。
现在转向其他实施例,图8示出了一种在通信网络中的第二客户端节点中的方法800。第二客户端节点参与与第一客户端节点和联合学习(FL)服务器的联合学习(FL)过程,其中,作为FL过程的一部分,第一客户端节点将本地模型更新发送到第二客户端节点以用于转发到FL服务器。
第二客户端节点可以被认为是本地模型更新的“转发者(forwarder)”或“受托转发者”,例如,第二客户端节点可以充当多跳FL过程中的一跳。
简言之,方法800包括:将与由第二客户端节点接收或转发的本地模型更新相关的第二信息发送802到检测器节点。在一些实施例中,第一信息和/或第二信息被签名。
在一些实施例中,将与由第二客户端节点接收或转发的本地模型更新相关的第二信息发送到检测器节点的步骤包括:将第二消息发送到检测器节点,该第二消息包括由第二客户端节点从FL服务器接收的第二确认(ack),以确认从第二客户端节点接收到被转发到FL服务器的本地模型更新。
这已在上文中针对图1、2和3进行了描述,其中的细节应理解为同样适用于方法800。
在其他实施例中,将与由第二客户端节点接收或转发的本地模型更新相关的第二信息发送到检测器节点的步骤包括:将第四消息发送到检测器节点,该第四消息包括由第二客户端节点从第一客户端节点接收的本地模型更新的散列。
这已在上文中针对图4和5进行了描述,并且其中的细节将被理解为同样适用于方法800。
方法800还可以包括:将本地模型更新转发到FL服务器。
转到图9,一种在FL服务器中的方法900。其中,FL服务器参与与第一客户端节点和第二客户端节点的联合学习(FL)过程,其中,作为FL过程的一部分,第一客户端节点将本地模型更新发送到第二客户端节点以用于转发到FL服务器,该方法包括:从第二客户端节点接收902本地模型更新;以及将与所接收的本地模型更新相关的第三信息发送904到检测器节点或第二客户端节点。
第三信息可以被签名。
将与由第二客户端节点接收或转发的本地模型更新相关的第三信息发送到检测器节点的步骤可以包括:向第二客户端节点发送第五消息,该第五消息包括第四确认(ack),以确认从第二客户端节点接收到本地模型更新。这在图3中示出,消息3.i.8.b和其中的细节将被认为同样适用于方法900。
方法900还可以包括:将第六消息发送到检测器节点,该第六消息包括从第二客户端节点接收的本地模型更新的散列。这在图5中示出,消息5.i.8.a.2和其中的细节将被认为同样适用于方法900。
通常,在方法600、700、800和900中的任一者中,可以采取以下形式在客户端节点和/或FL服务器110之间发送本地模型更新:(PubKeyi,round-no,Si,SCi,Ui,hop-counter),其中PubKeyi是相应的客户端节点的公钥,由FL服务器用于在FL过程中验证经签名的本地模型(在整个文档中,“经签名的本地模型”和“本地模型签名”具有相同的含义)更新,round-no是根据FL过程的训练的轮次,SCi是使用相应的客户端节点的私钥签名的经签名的本地模型,Ui是本地模型,以及hop-counter是由在本地模型更新的发起者与FL服务器之间的每个转发节点更改的数量。
通常,第一信息和/或第二信息包括以下任一项:第一客户端节点的id,即SC_ID;第二客户端节点的id,即FC_ID;发送方客户端公钥PubKeyi、round-no、服务器对公钥和round-no的签名Si、本地模型签名SCi、本地模型Ui的串接的散列:(SC_ID,FC_ID,Hash(PubKeyi,round-no,Si,SCi,Ui))。
现在转向其他实施例,本文的实施例可以由通信网络中的节点(例如客户端节点和/或服务器)执行。图10示出了根据本文的一些实施例的在通信网络中的示例网络节点1000。通常,节点1000可以包括通信网络中适合执行本文所述功能的任何组件或网络功能(例如任何硬件或软件模块)。
节点1000被配置(例如,适配、操作或编程)以执行如上所述的方法600、700或800的任何实施例。可以理解,节点1000可以包括运行不同软件和/或进程的一个或多个虚拟机。因此,节点1000可以包括一个或多个服务器、交换机和/或存储设备和/或可以包括云计算基础设施或被配置为以分布式方式执行的运行软件和/或过程的基础设施。
节点1000可以包括处理器(例如,处理电路或逻辑)1002。处理器1002可以按照本文所述的方式控制节点1000的操作。处理器1002可以包括被配置或编程为按照本文所述的方式控制节点1000的一个或多个处理器、处理单元、多核处理器或模块。在特定实施方式中,处理器1002可以包括多个软件和/或硬件模块1006,每个模块被配置为执行或用于执行本文所述的节点1000的功能的单个或多个步骤。
节点1000可以包括存储器1004。在一些实施例中,节点1000的存储器1004可以被配置为存储程序代码或指令1006,这些程序代码或指令1006可以由节点1000的处理器1002执行以执行本文所述的功能。替代地或附加地,节点1000的存储器1004可以被配置为存储本文所述的任何请求、资源、信息、数据、信号或类似物。节点1000的处理器1002可以被配置为控制节点1000的存储器1004以存储本文所述的任何请求、资源、信息、数据、信号或类似物。
应当理解,节点1000可以包括除图10中指示的组件之外或替代图10中指示的组件的其他组件。例如,在一些实施例中,节点1000可以包括通信接口。通信接口可以用于与通信网络中的其他节点(例如,其他物理或虚拟节点)进行通信。例如,通信接口可以被配置为向其他节点或网络功能发送和/或从其他节点或网络功能接收请求、资源、信息、数据、信号或类似物。节点1000的处理器1002可以配置为控制这样的通信接口以向其他节点或网络功能发送和/或从其他节点或网络功能接收请求、资源、信息、数据、信号或类似物。
例如,在一些实施例中,节点1000可以包括FL服务器110。FL服务器可以包括能够、被配置、被布置和/或可操作以直接或间接与UE(例如无线设备)和/或通信网络中的其他网络节点或设备通信以启用和/或提供对UE的无线或有线访问和/或执行通信网络中的其他功能(例如管理)的设备。节点的示例包括但不限于接入点(AP)(例如,无线电接入点)、基站(BS)(例如,无线电基站、节点B、演进型节点B(eNB)和NR NodeB(gNB))。节点的其他示例包括但不限于核心网络功能,例如第五代核心网络(5GC)中的核心网络功能,如NWDAF(网络数据分析功能)。
在一些实施例中,节点1000可以是如上所述的检测器节点。检测器节点可以包括能够、被配置、被布置和/或可操作以直接或间接与UE(例如无线设备)和/或通信网络中的其他网络节点或设备通信以启用和/或提供对UE的无线或有线访问和/或执行通信网络中的其他功能(例如管理)的设备。适合执行检测器节点所采用的方法的节点的示例包括但不限于接入点(AP)(例如无线电接入点)、基站(BS)(例如无线电基站、节点B、演进型节点B(eNB)和NR NodeB(gNB))。节点的其他示例包括但不限于核心网络功能,例如第五代核心网络(5GC)中的核心网络功能,如NWDAF(网络数据分析功能)。
如上所述,在一些实施例中,检测器节点和FL服务器可以由不同方(例如,通信网络中的不同运营商或供应商)管理。这能够有利于防止FL服务器与检测器节点之间的串通。
在一些实施例中,节点1000可以包括客户端节点,例如上面提到的第一客户端节点104、第二客户端节点106或第三客户端节点108。客户端节点可以是核心网络中的网络功能,其例如利用NWDAF进行分析。客户端节点还可以包括例如用户设备(UE)。UE可以包括能够、被配置为、被布置为和/或可操作以与网络节点和/或其他无线设备进行无线通信的设备。除非另有说明,否则术语UE可以在本文中与无线设备(WD)互换使用。无线通信可以涉及使用电磁波、无线电波、红外波和/或适合于通过空中传送信息的其他类型的信号来发送和/或接收无线信号。在一些实施例中,UE可以配置为在没有直接人类交互的情况下发送和/或接收信息。例如,当被内部或外部事件触发或响应于来自网络的请求,UE可以设计为按预定的调度向网络发送信息。UE的示例包括但不限于智能电话、移动电话、蜂窝电话、IP语音(VoIP)电话、无线本地环路电话、台式计算机、个人数量助理(PDA)、无线相机、游戏机或设备、音乐存储设备、播放设备、可穿戴终端设备、无线端点、移动台、平板计算机、笔记本电脑、笔记本电脑内置设备(LEE)、笔记本电脑安装设备(LME)、智能设备、无线客户端设备(CPE)、车载无线终端设备等。UE可以支持设备对设备(D2D)通信(例如通过实现用于副链路通信的3GPP标准)、车对车(V2V)、车对基础设施(V2I)、车对万物(V2X),并且在这种情况下可以被称为D2D通信设备。作为又一个特定示例,在物联网(IoT)场景中,UE可以表示执行监视和/或测量并将此类监视和/或测量的结果向另一UE和/或网络节点发送的机器或其他设备。在这种情况下,UE可以是机器对机器(M2M)设备,其在3GPP上下文中可以被称为MTC设备。作为一个特定示例,UE可以是实现3GPP窄带物联网(NB-IoT)标准的UE。这样的机器或设备的特定示例是传感器、诸如功率计的计量设备、工业机械、或家用或个人电器(例如冰箱、电视机等)、个人可穿戴设备(例如手表、健身追踪器等)。在其他情况下,UE可以表示能够监视和/或报告其运行状态或与其运行相关联的其他功能的车辆或其他设备。如上所述的UE可以表示无线连接的端点,在这种情况下,该设备可以被被称为无线终端。此外,如上所述的UE可以是移动的,在这种情况下,它也可以被称为移动设备或移动终端。
一些其他用例:
FL在垂直行业中的使用也在不断发展。对于自主汽车用例,其中各种传感器产生大量数据,FL可用于基于ML的车辆应用,例如车辆管理(例如自主驾驶)或交通管理(例如信息娱乐和路线规划)。在这种情况下,车辆充当FL客户端,在边缘产生数据并在训练任务上与FL服务器(其可以是云服务器,或者车辆之一充当服务器)协作。同样,在智能制造中,FL也有望改进多个连接的边缘/工业物联网设备(如连接的机器人、智能致动器等)之间的ML任务。当公司不想共享敏感数据(业务相关数据或客户相关数据)但希望拥有一个对所有贡献公司都有益的通用ML模型时,FL还可以应用于公司之间的不同业务用例(例如,行业业务伙伴、银行、医疗保健公司)。
在另一实施例中,提供了一种包括计算机可读介质的计算机程序产品,该计算机可读介质中具有计算机可读代码,该计算机可读代码被配置为使得在由合适的计算机或处理器执行时,使得计算机或处理器执行本文描述的一种或多种方法,例如方法600、700或800。
因此,应理解,本公开还适用于计算机程序,特别是载体上或载体中的计算机程序,其适于将实施例付诸实践。程序可以采取源代码、目标代码、代码中间源和目标代码(例如以部分编译的形式)的形式,或者采取适合于在实现根据本文所述的实施例的方法中使用的任何其他形式。
还应理解,这样的程序可以具有许多不同的架构设计。例如,实现方法或系统的功能的程序代码可以被细分成一个或多个子例程。在这些子例程之间分布功能的许多不同方式对本领域技术人员将是显而易见的。子例程可以一起被存储在一个可执行文件中以形成自包含程序。这样的可执行文件可以包括计算机可执行指令,例如处理器指令和/或解释器指令(例如Java解释器指令)。替代地,一个或多个或所有子例程可以被存储在至少一个外部库文件中,并以静态或动态方式(例如在运行时)被与主程序链接。主程序包含对至少一个子例程的至少一个调用。子例程还可以包括对彼此的函数调用。
计算机程序的载体可以是能够承载程序的任何实体或设备。例如,载体可以包括数据存储设备,例如ROM,如CD ROM或半导体ROM,或磁记录介质,例如硬盘。此外,载体可以是可传输载体,例如电信号或光信号,其可以经由电缆或光缆或通过无线电或其他方式传送。当程序被包含在这样的信号中时,载体可以由这样的电缆或其他设备或装置构成。替代地,载体可以是程序被嵌入其中的集成电路,该集成电路适于执行相关方法或用于执行相关方法。
本领域技术人员在实施本发明时,通过研究附图、公开内容和所附实施例,可以理解和实施所公开实施例的变型。在实施例中,“包括”一词不排除其他元素或步骤,不定冠词“一”或“一个”不排除多个。单个处理器或其他单元可以实现实施例中所述的几个项目的功能。仅在相互不同的从属实施例中叙述某些措施这一事实,并不表明这些措施的组合不能发挥优势。计算机程序可以存储/分布在合适的介质上,例如与其他硬件一起提供或作为其他硬件的一部分提供的光学存储介质或固态介质,但也可以以其他形式分布,例如通过互联网或其他有线或无线电信系统。实施例中的任何引用标记不应被解释为限制范围。
Claims (44)
1.一种由通信网络中的检测器节点执行的方法,其中,所述检测器节点用于监视在第一客户端节点、第二客户端节点以及联合学习FL服务器之间发送的消息,作为FL过程的一部分,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器,所述方法包括:
接收与从所述第一客户端节点发送到所述第二客户端节点的所述本地模型更新相关的第一信息;
接收与由所述第二客户端节点接收或转发的所述本地模型更新相关的第二信息;以及
比较所述第一信息与所述第二信息,以确定所述第二客户端节点是否正确地接收或转发与所述本地模型更新相关的所述第一信息。
2.根据权利要求1所述的方法,其中,所述第一信息和/或所述第二信息是经签名的信息。
3.根据权利要求1或2所述的方法,其中,接收与从所述第一客户端节点发送到所述第二客户端节点的所述本地模型更新相关的第一信息的步骤包括:
从所述第一客户端节点接收第一消息,所述第一消息包括由所述第一客户端节点从所述第二客户端节点接收的第一确认ack,以确认接收到所述本地模型更新;以及
其中,接收与由所述第二客户端节点接收或转发的所述本地模型更新相关的第二信息的步骤包括:
从所述第二客户端节点接收第二消息,所述第二消息包括由所述第二客户端节点从所述FL服务器接收的第二确认ack,以确认从所述第二客户端节点接收到被转发到所述FL服务器的所述本地模型更新。
4.根据权利要求3所述的方法,其中,所述第一确认是来自所述第二客户端节点的经签名的分组,并且其中,所述签名是在H(PubKeyi,round-no,Si,SCi,Ui)上计算的,并且H是散列函数。
5.根据权利要求1所述的方法,其中,接收与从所述第一客户端节点发送到所述第二客户端节点的所述本地模型更新相关的第一信息的步骤包括:
从所述第一客户端节点接收第三消息,所述第三消息包括由所述第一客户端节点发送到所述第二客户端节点的所述本地模型更新的散列;以及
其中,接收与由所述第二客户端节点接收或转发的所述本地模型更新相关的第二信息的步骤包括:
从所述第二客户端节点接收第四消息,所述第四消息包括由所述第二客户端节点从所述第一客户端节点接收的所述本地模型更新的所述散列。
6.根据权利要求5所述的方法,其中,比较所述第一信息与所述第二信息以确定所述第二客户端节点是否正确地转发与所述本地模型更新相关的所述第一信息的步骤包括:
确定所述本地模型更新是否已由所述第二客户端节点正确接收。
7.根据前述权利要求中任一项所述的方法,其中,响应于确定所述第二客户端节点正确接收或转发与所述本地模型更新相关的所述第一信息,所述方法还包括:
向所述第一客户端节点发送第三确认消息,以指示所述第二客户端节点成功接收所述本地模型更新或将所述本地模型更新成功转发到所述FL服务器。
8.根据前述权利要求中任一项所述的方法,其中,响应于确定所述第二客户端节点错误地转发与所述本地模型更新相关的所述第一信息,所述方法还包括:监视所述第二客户端节点,或发起从所述FL过程中移除所述第二客户端节点。
9.根据前述权利要求中任一项所述的方法,其中,所述检测器节点与所述FL服务器没有联系。
10.一种由通信网络中的第一客户端节点执行的方法,其中,所述第一客户端节点参与与第二客户端节点和联合学习FL服务器的联合学习FL过程,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器,所述方法包括:
将所述本地模型更新发送到所述第二客户端节点,以用于由所述第二客户端节点转发到所述FL服务器;以及
将与所述本地模型更新相关的第一信息发送到所述通信网络中的检测器节点。
11.根据权利要求10所述的方法,其中,所述第一信息包括所述本地模型更新的散列,和/所述本地模型更新被签名。
12.根据权利要求10或11所述的方法,其中,将与所述本地模型更新相关的第一信息发送到所述通信网络中的检测器节点的步骤包括:
将第一消息发送到所述检测器节点,所述第一消息包括由所述第一客户端节点从所述第二客户端节点接收的第一确认ack,以确认接收到所述本地模型更新。
13.根据权利要求10-12中任一项所述的方法,还包括:
如果在预先定义的时间间隔内没有从所述第二客户端节点接收到确认消息,则将所述本地模型更新发送到第三客户端节点,以用于由所述第三客户端节点转发到所述FL服务器。
14.根据权利要求10或11所述的方法,其中,将与所述本地模型更新相关的第一信息发送到所述通信网络中的检测器节点的步骤包括:
将第三消息发送到所述检测器节点,所述第三消息包括由所述第一客户端节点发送到所述第二客户端节点的所述本地模型更新的散列。
15.根据权利要求10-14中任一项所述的方法,还包括:
如果没有从所述检测器节点接收到确认消息,则将所述本地模型更新发送到第三客户端节点,以用于由所述第三客户端节点转发到所述FL服务器。
16.根据权利要求10-15中任一项所述的方法,其中,所述本地模型更新是作为所述FL过程的一部分由所述第一客户端节点执行的训练的结果;或者其中,所述本地模型更新由所述第一客户端节点从另一客户端节点接收到以用于转发到所述第二客户端节点。
17.一种由通信网络中的第二客户端节点执行的方法,其中,所述第二客户端节点参与与第一客户端节点和联合学习FL服务器的联合学习FL过程,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器,所述方法包括:
将与由所述第二客户端节点接收或转发的所述本地模型更新相关的第二信息发送到检测器节点。
18.根据权利要求17所述的方法,还包括:
将所述本地模型更新转发到所述FL服务器。
19.根据权利要求17或18所述的方法,其中,所述第一信息和/或所述第二信息被签名。
20.根据权利要求17、18或19中任一项所述的方法,其中,将与由所述第二客户端节点接收或转发的所述本地模型更新相关的第二信息发送到检测器节点的步骤包括:
将第二消息发送到所述检测器节点,所述第二消息包括由所述第二客户端节点从所述FL服务器接收的第二确认ack,以确认从所述第二客户端节点接收到被转发到所述FL服务器的所述本地模型更新。
21.根据权利要求17或18所述的方法,其中,将与由所述第二客户端节点接收或转发的所述本地模型更新相关的第二信息发送到检测器节点的步骤包括:
将第四消息发送到所述检测器节点,所述第四消息包括由所述第二客户端节点从所述第一客户端节点接收的所述本地模型更新的散列。
22.根据前述权利要求中任一项所述的方法,其中,所述本地模型更新采用以下形式:(PubKeyi,round-no,Si,SCi,Ui,hop-counter),其中,PubKeyi是由所述FL服务器在所述FL过程中使用的相应的客户端节点的公钥,以验证来自所述相应的客户端的经签名的本地模型更新,round-no是根据所述FL过程的训练的轮次,SCi是使用相应的客户端节点的私钥来签名的经签名的本地模型,Ui是所述本地模型,hop-counter是所述本地模型更新的发起者与所述FL服务器之间的转发节点的数量。
23.根据前述权利要求中任一项所述的方法,其中,所述第一信息和/或所述第二信息包括以下任一项:所述第一客户端节点的id,即SC_ID;所述第二客户端节点的id,即FC_ID;发送方客户端公钥PubKeyi、round-no、服务器对所述公钥和round-no的签名Si、本地模型签名SCi、本地模型Ui的串接的散列:(SC_ID,FC_ID,Hash(PubKeyi,round-no,Si,SCi,Ui))。
24.根据前述权利要求中任一项所述的方法,其中,所述FL过程是多跳的。
25.一种由通信网络中的联合学习FL服务器执行的方法,其中,所述FL服务器参与与第一客户端节点和第二客户端节点的联合学习FL过程,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器,所述方法包括:
从所述第二客户端节点接收所述本地模型更新;以及
将与所接收的所述本地模型更新相关的第三信息发送到检测器节点或所述第二客户端节点。
26.根据权利要求25所述的方法,其中,所述第三信息被签名。
27.根据权利要求25或26所述的方法,其中,将与由所述第二客户端节点接收或转发的所述本地模型更新相关的第三信息发送到检测器节点的步骤包括:
将第五消息发送到所述第二客户端节点,所述第五消息包括第四确认ack,以确认从所述第二客户端节点接收到所述本地模型更新。
28.根据权利要求25所述的方法,还包括:
将第六消息发送到所述检测器节点,所述第六消息包括从所述第二客户端节点接收的所述本地模型更新的散列。
29.一种在通信网络中的检测器节点,其中,所述检测器节点用于监视在第一客户端节点、第二客户端节点以及联合学习FL服务器之间发送的消息,作为FL过程的一部分,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器,其中,所述检测器节点包括:
存储器,其包括表示指令集的指令数据;以及
处理器,其被配置为与所述存储器通信并执行所述指令集,其中,所述指令集在由所述处理器执行时使得所述处理器:
接收与从所述第一客户端节点发送到所述第二客户端节点的所述本地模型更新相关的第一信息;
接收与由所述第二客户端节点接收或转发的所述本地模型更新相关的第二信息;以及
比较所述第一信息与所述第二信息,以确定所述第二客户端节点是否正确地接收或转发与所述本地模型更新相关的所述第一信息。
30.根据权利要求29所述的检测器节点,还被配置为执行权利要求2至9中任一项所述的方法。
31.一种在通信网络中的检测器节点,被配置为执行权利要求1至9中任一项所述的方法。
32.一种在通信网络中的第一客户端节点,其中,所述第一客户端节点参与与第二客户端节点和联合学习FL服务器的联合学习FL过程,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器,其中,所述第一客户端节点被配置为:
将所述本地模型更新发送到所述第二客户端节点,以用于由所述第二客户端节点转发到所述FL服务器;以及
将与所述本地模型更新相关的第一信息发送到所述通信网络中的检测器节点。
33.根据权利要求32所述的第一客户端节点,还被配置为执行权利要求11至16中任一项所述的方法。
34.一种第一客户端节点,被配置为执行权利要求10至16中任一项所述的方法。
35.一种在通信网络中的第二客户端节点,其中,所述第二客户端节点参与与第一客户端节点和联合学习FL服务器的联合学习FL过程,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器,所述第二客户端节点包括:
存储器,其包括表示指令集的指令数据;以及
处理器,其配置为与所述存储器通信并执行所述指令集,其中,所述指令集在由所述处理器执行时使得所述处理器:
将与由所述第二客户端节点接收或转发的所述本地模型更新相关的第二信息发送到检测器节点。
36.根据权利要求35所述的第二客户端节点,还被配置为执行权利要求18至24中任一项所述的方法。
37.一种第二客户端节点,被配置为执行权利要求17至24中任一项所述的方法。
38.一种在通信网络中的联合学习FL服务器,其中,所述FL服务器参与与第一客户端节点和第二客户端节点的联合学习FL过程,其中,作为所述FL过程的一部分,所述第一客户端节点将本地模型更新发送到所述第二客户端节点以用于转发到所述FL服务器,所述FL服务器包括:
存储器,其包括表示指令集的指令数据;以及
处理器,其配置为与所述存储器通信并执行所述指令集,其中,所述指令集在由所述处理器执行时使得所述处理器:
从所述第二客户端节点接收所述本地模型更新;以及
将与由所述第二客户端节点接收或转发的所述本地模型更新相关的第三信息发送到检测器节点。
39.根据权利要求38所述的FL服务器,还被配置为执行权利要求26-28中任一项所述的方法。
40.一种在通信网络中的联合学习FL服务器,被配置为执行权利要求25-28中任一项所述的方法。
41.一种包括计算机可读介质的计算机程序产品,所述计算机可读介质存储有计算机可读代码,所述计算机可读代码被配置为在由合适的计算机或处理器执行时,使得所述计算机或处理器执行权利要求1至28中任一项所述的方法。
42.一种包括指令的计算机程序,所述指令当在至少一个处理器上执行时使得所述至少一个处理器执行根据权利要求1至28中任一项所述的方法。
43.一种包含根据权利要求42所述的计算机程序的载体,其中,所述载体包括电子信号、光信号、无线电信号或计算机可读存储介质中的一个。
44.一种包括非暂时性计算机可读介质的计算机程序产品,在所述非暂时性计算机可读介质上存储有根据权利要求42所述的计算机程序。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202163293472P | 2021-12-23 | 2021-12-23 | |
| US63/293,472 | 2021-12-23 | ||
| PCT/TR2022/051579 WO2023121635A1 (en) | 2021-12-23 | 2022-12-23 | Federated learning process |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118401947A true CN118401947A (zh) | 2024-07-26 |
Family
ID=84981875
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202280083516.XA Pending CN118401947A (zh) | 2021-12-23 | 2022-12-23 | 联合学习过程 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20250150462A1 (zh) |
| CN (1) | CN118401947A (zh) |
| WO (1) | WO2023121635A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250119296A1 (en) * | 2021-09-03 | 2025-04-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and Apparatuses for Performing Federated Learning |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11050723B1 (en) * | 2018-12-29 | 2021-06-29 | Whatsapp Inc. | Methods and systems for transmitting anonymized information |
| US20220294606A1 (en) * | 2019-08-16 | 2022-09-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, apparatus and machine-readable media relating to machine-learning in a communication network |
| US11423332B2 (en) * | 2019-09-27 | 2022-08-23 | Intel Corporation | Distributed machine learning in an information centric network |
| CN114467101A (zh) * | 2019-10-07 | 2022-05-10 | 瑞典爱立信有限公司 | 用于联邦学习的仲裁器 |
-
2022
- 2022-12-23 CN CN202280083516.XA patent/CN118401947A/zh active Pending
- 2022-12-23 US US18/722,987 patent/US20250150462A1/en active Pending
- 2022-12-23 WO PCT/TR2022/051579 patent/WO2023121635A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| US20250150462A1 (en) | 2025-05-08 |
| WO2023121635A1 (en) | 2023-06-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Mershad et al. | A framework for secure and efficient data acquisition in vehicular ad hoc networks | |
| Nikravan et al. | A lightweight defense approach to mitigate version number and rank attacks in low-power and lossy networks | |
| Yasmin et al. | An authentication framework for wireless sensor networks using identity-based signatures | |
| Kong et al. | Achieve secure handover session key management via mobile relay in LTE-advanced networks | |
| Miao et al. | A secure and efficient lightweight vehicle group authentication protocol in 5G networks | |
| Chen et al. | An efficient anonymous communication protocol for wireless sensor networks | |
| Chatterjee et al. | A secure and efficient authentication protocol in wireless sensor network | |
| Dolev et al. | Vehicle authentication via monolithically certified public key and attributes | |
| Cao et al. | LPPA: Lightweight privacy‐preservation access authentication scheme for massive devices in fifth Generation (5G) cellular networks | |
| Gopikrishnan et al. | HSDA: hybrid communication for secure data aggregation in wireless sensor network | |
| Salem et al. | SOS: Self‐organized secure framework for VANET | |
| Rehman et al. | A Lightweight Nature Heterogeneous Generalized Signcryption (HGSC) Scheme for Named Data Networking‐Enabled Internet of Things | |
| Büttner et al. | Real-world evaluation of an anonymous authenticated key agreement protocol for vehicular ad-hoc networks | |
| Kishore et al. | A security protocol for D2D communications in 5G networks using elliptic curve cryptography | |
| Tajeddine et al. | Authentication schemes for wireless sensor networks | |
| US20250150462A1 (en) | Federated Learning Process | |
| Xiao et al. | A group key agreement protocol for Vanet based on Chinese remainder theorem and blockchain | |
| Tayade et al. | Retracted article: Quantum based flexible secure authentication protocol (sap) for device to device (d2d) communication | |
| Gawande et al. | Cryptography based secured advanced on demand routing protocol in MANET's | |
| He et al. | Secure and efficient dynamic program update in wireless sensor networks | |
| Mershad et al. | REACT: Secure and efficient data acquisition in VANETs | |
| Garg | Review of Secured Routing for Wireless Ad hoc Network | |
| Gahlin | Secure ad hoc networking | |
| Liu et al. | An Anonymous Authentication and Key Exchange Protocol for UAVs in Flying Ad-Hoc Networks. | |
| Parmar et al. | Malleability resilient concealed data aggregation |
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 |