CN110334544A - 联邦模型退化处理方法、装置、联邦训练***及存储介质 - Google Patents

联邦模型退化处理方法、装置、联邦训练***及存储介质 Download PDF

Info

Publication number
CN110334544A
CN110334544A CN201910563383.6A CN201910563383A CN110334544A CN 110334544 A CN110334544 A CN 110334544A CN 201910563383 A CN201910563383 A CN 201910563383A CN 110334544 A CN110334544 A CN 110334544A
Authority
CN
China
Prior art keywords
model
client
federal
world model
world
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.)
Granted
Application number
CN201910563383.6A
Other languages
English (en)
Other versions
CN110334544B (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.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910563383.6A priority Critical patent/CN110334544B/zh
Publication of CN110334544A publication Critical patent/CN110334544A/zh
Application granted granted Critical
Publication of CN110334544B publication Critical patent/CN110334544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种联邦模型退化处理方法,包括:获取所述联邦训练***的协作端聚合后得到的第一全局模型;通过预设测试数据对所述第一全局模型进行测试,得到所述第一全局模型的模型测试结果;根据所述模型测试结果检测所述第一全局模型是否出现退化,若检测到所述第一全局模型出现退化,则获取第二轮联邦迭代训练的第二全局模型;将所述第二全局模型发送至第二轮联邦迭代训练的目标客户端,以供所述目标客户端根据所述第二全局模型进行第二轮的联邦迭代训练。本发明还公开了一种联邦模型退化处理装置、联邦训练***以及存储介质。本发明解决了联邦模型出现退化的技术问题。

Description

联邦模型退化处理方法、装置、联邦训练***及存储介质
技术领域
本发明涉及人工智能技术领域,尤其涉及金融科技(Fintech)技术领域,具体涉及一种联邦模型退化处理方法、装置、联邦训练***及存储介质。
背景技术
随着金融科技(Fintech),尤其是互联网科技金融的不断发展,越来越多的技术应用在金融领域。联邦模型是利用技术算法加密建造的机器学习模型,联邦学习***中的多个联邦客户端在模型训练时不用给出己方数据,而是根据协作端下发的参数加密的全局模型和客户端本地的数据集来训练本地模型,并返回本地模型参数供协作端聚合更新全局模型,更新后的全局模型重新下发到客户端,循环往复,直到收敛。联邦学习通过加密机制下参数交换的方式保护客户端数据隐私,客户端数据和客户端的本地模型本身不会进行传输,本地数据不会被反猜,联邦模型在较高程度保持数据完整性的同时,保障了数据隐私。
但在迭代训练过程中,由于受到新数据的影响,如新数据带有噪音、新数据的标注错误等,会造成全局模型的训练出现退化。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种联邦模型退化处理方法,旨在解决联邦训练***的迭代训练过程中,由于受新数据影响导致全局模型出现退化的技术问题。
为实现上述目的,本发明提供一种联邦模型退化处理方法,所述联邦模型退化处理方法包括:
获取所述联邦训练***的协作端聚合后得到的第一全局模型;
通过预设测试数据对所述第一全局模型进行测试,得到所述第一全局模型的模型测试结果;
根据所述模型测试结果检测所述第一全局模型是否出现退化,若检测到所述第一全局模型出现退化,则获取第二轮联邦迭代训练的第二全局模型;
将所述第二全局模型发送至第二轮联邦迭代训练的目标客户端,以供所述目标客户端根据所述第二全局模型进行第二轮的联邦迭代训练。
进一步地,根据所述模型测试结果检测所述第一全局模型是否出现退化的步骤包括:
检测所述模型测试结果是否小于第一预设阈值;
若检测到所述模型测试结果小于第一预设阈值,则确定所述第一全局模型出现退化;
所述若检测到所述第一全局模型出现退化,则获取第二轮联邦迭代训练的第二全局模型的步骤包括:
若检测到所述第一全局模型出现退化,则从预存对象的历史模型测试结果中,获取最优的目标模型测试结果;
从预存对象的历史全局模型中,获取与所述目标模型测试结果存在映射关系的历史全局模型,以作为第二全局模型。
进一步地,检测所述模型测试结果是否小于第一预设阈值的步骤之后还包括:
若检测到所述模型测试结果大于或等于第一预设阈值;
则获取所述第一全局模型,以作为第二轮联邦迭代训练的第二全局模型。
进一步地,将所述第二全局模型发送至第二轮联邦迭代训练的目标客户端的步骤包括:
根据所述第二全局模型,确定导致所述第一全局模型退化的退化客户端;
根据所述退化客户端,确定第二轮联邦迭代训练的目标客户端;
将所述第二全局模型发送至所述目标客户端。
进一步地,根据所述第二全局模型,确定导致所述第一全局模型退化的退化客户端的步骤包括:
将所述第二全局模型发送至参与本轮联邦迭代训练的各个初始客户端;
获取所述初始客户端基于所述第二全局模型反馈的客户端测试结果;
获取所述客户端测试结果小于第二预设阈值的初始客户端,以作为所述退化客户端。
进一步地,根据所述退化客户端,确定第二轮联邦迭代训练的目标客户端的步骤包括:
获取参与本轮联邦迭代训练的各个初始客户端;
从所述初始客户端中删除所述退化客户端,得到剩余客户端;
将所述剩余客户端作为第二轮联邦迭代训练的目标客户端。
此外,为实现上述目的,本发明还提供一种联邦模型退化处理装置,其特征在于,所述联邦模型退化处理装置包括:
第一模型获取模块,用于获取所述联邦训练***的协作端聚合后得到的第一全局模型;
模型测试模块,用于通过预设测试数据对所述第一全局模型进行测试,得到所述第一全局模型的模型测试结果;
第二模型获取模块,用于根据所述模型测试结果检测所述第一全局模型是否出现退化,若检测到所述第一全局模型出现退化,则获取第二轮联邦迭代训练的第二全局模型;
发送模块,用于将所述第二全局模型发送至第二轮联邦迭代训练的目标客户端,以供所述目标客户端根据所述第二全局模型进行第二轮的联邦迭代训练。
此外,为实现上述目的,本发明还提供一种联邦训练***,所述联邦训练***包括:协作端、客户端、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的联邦模型退化处理程序,所述联邦模型退化处理程序被所述处理器执行时实现如上所述的联邦模型退化处理方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有联邦模型退化处理程序,所述联邦模型退化处理程序被处理器执行时实现如上所述的联邦模型退化处理方法的步骤。
本发明实施例提出的一种联邦模型退化处理方法、装置、联邦训练***及存储介质,联邦训练***获取每次在协作端聚合得到的第一全局模型后,通过预设测试数据对第一全局模型进行测试,得到第一全局模型的模型测试结果。并且联邦训练***通过建立预存对象,将每次在协作端聚合后得到的第一全局模型与第一全局模型对应模型测试结果存储起来。当在协作端聚合得到的第一全局模型后,通过预设测试数据对第一全局模型进行测试,得到第一全局模型的模型测试结果,根据模型测试结果确定第一全局模型是否出现退化。当第一全局模型出现退化时,从预存对象中,获取模型测试结果最好的模型作为第二全局模型。并将第二全局模型下发至各个参与本轮联邦迭代训练的客户端,获取各个客户端基于第二全局模型反馈的客户端测试结果,根据各个客户端测试结果确定导致第一全局模型退化的客户端。并从参与本轮联邦迭代训练的客户端中,将导致第一全局模型退化的客户端删除后,得到第二轮联邦迭代训练的目标客户端。并以第二全局模型作为第二轮联邦迭代训练的全局模型,协作端将第二全局模型下发至目标客户端,进行第二轮的联邦迭代训练。从而使得当联邦训练***的全局模型退化时,可以找出造成全局模型退化的客户端并删除,以避免客户端造成联邦训练***的全局模型退化。
附图说明
图1为本发明联邦模型退化处理方法第一实施例的流程示意图;
图2为本发明联邦模型退化处理方法第三实施例的流程示意图;
图3为本发明实施例联邦模型退化处理装置较佳实施例的功能示意图模块图;
图4为本发明实施例方案涉及的联邦训练***硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种联邦模型退化处理方法,参照图1,图1为本发明联邦模型退化处理方法较佳实施例的流程示意图。
如图1所示,本发明第一实施例提出一种联邦模型退化处理方法,所述方法应用于联邦训练***。
本发明实施例提供了联邦模型退化处理方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
联邦模型退化处理方法应用于联邦训练***、服务器或者终端中,终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal DigitalAssistant,PDA)等移动终端,以及诸如数字TV、台式计算机等固定终端。在联邦模型退化处理方法的各个实施例中,为了便于描述,以联邦训练***为执行主体进行阐述各个实施例。本发明实施例方案主要涉及联邦训练***、协作端和客户端,其中,联邦训练***包括协作端和客户端。联邦模型退化处理方法包括:
步骤S10,获取所述联邦训练***的协作端聚合后得到的第一全局模型;
现有技术中,全局模型每一次在协作端聚合后,先对全局模型进行检测,看全局模型是否出现退化,如果全局模型出现退化并超过一定的阈值,则将全局模型回退至备份的上一轮联邦迭代训练得到的全局模型;否则,将备份的全局模型更新为本轮联邦迭代训练得到的全局模型。但是,这种做法只能做到一次左右的全局模型回退,当全局模型在更远的节点开始退化的时候,现有技术的解决方案无法将全局模型回退到较早的全局模型节点,现有技术的解决方案也就无法解决模型退化的技术问题。
本发明实施例提出一种联邦模型退化处理方法,解决联邦模型训练出现退化的技术问题,并且当全局模型在更远的节点开始退化的时候,可以回退到较早的全局模型节点。
具体地,当联邦训练***检测到协作端聚合更新得到第一全局模型后,联邦训练***检测待训练联邦学习模型是否处于收敛状态。若联邦训练***检测到待训练联邦学习模型未处于收敛状态,则联邦训练***获取协作端聚合更新后得到的第一全局模型。若联邦训练***检测到待训练联邦学习模型处于收敛状态,则联邦训练***停止训练,并将第一全局模型作为待训练学习模型。
其中,第一全局模型,是指协作端在下发的参数加密的全局模型至客户端,客户端根据加密的全局模型和客户端本地的数据集来训练本地模型,客户端返回本地模型参数至协作端,协作端根据客户端返回的本地模型参数聚合更新后得到的全局模型。
步骤S20,通过预设测试数据对所述第一全局模型进行测试,得到所述第一全局模型的模型测试结果;
预设测试数据,是指用于对第一全局模型进行测试以确定第一全局模型的性能的测试数据;预设测试数据可以预先存储在联邦训练***中。
模型测试结果,是指通过预设测试数据对第一全局模型进行测试后,确定的第一全局模型的性能。
具体地,联邦训练***获取预设测试数据,然后联邦训练***采用预设测试数据对第一全局模型进行测试,得到衡量第一全局模型性能的模型测试结果。
步骤S30,根据所述模型测试结果检测所述第一全局模型是否出现退化,若检测到所述第一全局模型出现退化,则获取第二轮联邦迭代训练的第二全局模型;
具体地,联邦训练***检测模型测试结果是否小于第一预设阈值,若联邦训练***检测到模型测试结果小于第一预设阈值,则确定第一全局模型出现退化,联邦训练***将从预存对象存储的历史全局模型中,获取模型测试结果最优的全局模型,以作为联邦训练***进行第二轮联邦迭代训练的第二全局模型。
若联邦训练***检测到模型测试结果大于或等于第一预设阈值,则确定第一全局模型未出现退化,联邦训练***将第一全局模型作为联邦训练***进行第二轮的联邦迭代训练的全局模型,并且联邦训练***的协作端将第一全局模型下发至各个客户端,联邦训练***继续进行第二轮的联邦迭代训练。
其中,第二全局模型,是指联邦训练***进行第二轮联邦迭代训练的全局模型。
预存对象,是指存储了联邦训练***迭代训练过程中,每次在协作端聚合更新后得到的第一全局模型的对象,并且预存对象中将模型测试结果与对应的第一全局模型关联存储。优选地,预存对象为COS(Cloud Object Storage,对象存储),COS是一种无目录层次结构、无数据格式限制,可容纳海量数据且支持HTTP(HyperText Transfer Protocol,超文本传输协议)协议、HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,超文本传输安全协议)协议访问的分布式存储服务,存储桶空间无容量上限,无需分区管理,适用于CDN(Content Delivery Network,内容分发网络)数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
步骤S40,将所述第二全局模型发送至第二轮联邦迭代训练的目标客户端,以供所述目标客户端根据所述第二全局模型进行第二轮的联邦迭代训练。
然后,联邦训练***将第二全局模型分发至各个参与本轮联邦迭代训练的客户端,以供各个参与与本轮联邦迭代训练的客户端通过第二全局模型对该客户端的测试数据进行测试,得到该客户端的客户端测试结果,并且客户端将客户端测试结果返回至联邦训练***。联邦训练***根据各个参与本轮联邦迭代训练的客户端返回的客户端测试结果,判断导致第一全局模型退化的退化客户端。并且联邦训练***从参与本轮联邦迭代训练的客户端中,删除导致第一全局模型退化的退化客户端,得到进行第二轮联邦迭代训练的目标客户端。
在第二轮的联邦迭代训练中,联邦训练***的协作端将第二全局模型发送至第二轮联邦迭代训练的目标客户端,以供目标客户端根据第二全局模型进行第二轮的联邦迭代训练。
其中,目标客户端,是指从参与本轮联邦迭代训练的客户端中,删除导致第一全局模型退化的退化客户端后,剩余的客户端;目标客户端作为联邦训练***进行第二轮联邦迭代训练的客户端。
在本实施例中,联邦训练***获取每次在协作端聚合得到的第一全局模型后,通过预设测试数据对第一全局模型进行测试,得到第一全局模型的模型测试结果。并且联邦训练***通过建立预存对象,将每次在协作端聚合后得到的第一全局模型与第一全局模型对应模型测试结果存储起来。当在协作端聚合得到的第一全局模型后,通过预设测试数据对第一全局模型进行测试,得到第一全局模型的模型测试结果,根据模型测试结果确定第一全局模型是否出现退化。当第一全局模型出现退化时,从预存对象中,获取模型测试结果最好的模型作为第二全局模型。并将第二全局模型下发至各个参与本轮联邦迭代训练的客户端,获取各个客户端基于第二全局模型反馈的客户端测试结果,根据各个客户端测试结果确定导致第一全局模型退化的客户端。并从参与本轮联邦迭代训练的客户端中,将导致第一全局模型退化的客户端删除后,得到第二轮联邦迭代训练的目标客户端。并以第二全局模型作为第二轮联邦迭代训练的全局模型,协作端将第二全局模型下发至目标客户端,进行第二轮的联邦迭代训练。从而使得当联邦训练***的全局模型退化时,可以找出造成全局模型退化的客户端并删除,以避免客户端造成联邦训练***的全局模型退化。
进一步地,基于上述第一实施例,提出本发明联邦模型退化处理方法的第二实施例,步骤S30包括:
步骤a,检测所述模型测试结果是否小于第一预设阈值;
具体地,联邦训练***检测第一全局模型的模型测试结果是否小于第一预设阈值,如果检测到第一全局模型的模型测试结果小于第一预设阈值,则认为第一全局模型的性能降低,即第一全局模型出现了退化。如果检测到第一全局模型的模型测试结果大于或等于第一预设阈值,则认为第一全局模型没有出现退化。
其中,模型测试结果是指衡量第一全局模型性能的评价指标。第一预设阈值,用于判断第一全局模型是否出现退化的模型测试结果的阈值,第一预设阈值可以根据具体需求而设置,在本发明实施例中对第一预设阈值的取值不作限制。
步骤b,若检测到所述模型测试结果小于第一预设阈值,则确定所述第一全局模型出现退化;
具体地,若检测到模型测试结果小于第一预设阈值,则确定第一全局模型出现退化。若检测到模型测试结果大于或等于第一预设阈值,则确定第一全局模型未出现退化,则获取第一全局模型,以作为第二轮联邦迭代训练的第二全局模型。
步骤c,若检测到所述第一全局模型出现退化,则从预存对象的历史模型测试结果中,获取最优的目标模型测试结果;
其中,联邦训练***迭代训练过程中,每次在协作端聚合更新得到第一全局模型后,联邦训练***通过预设测试数据对第一全局模型进行测试,得到第一全局模型的模型测试结果;联邦训练***将每次在协作端聚合更新后得到第一全局模型,以及该第一全局模型对应的模型测试结果关联存储至预存对象中,即联邦训练***在整个联邦迭代训练过程历史产生的第一全局模型及第一全局模型对应的模型测试结果备份至预存对象。为方便理解,本发明实施例所采用的预存对象,可以参照以下表格:
其中,模型ID表示第一全局模型的模型识别号,备份时间表示该第一全局模型备份存储至预存对象的时间,性能表示第一全局模型的模型测试结果。
具体地,如果检测到第一全局模型的模型测试结果小于第一预设阈值,则认为第一全局模型的性能降低,即第一全局模型出现了退化,则联邦训练***遍历预存对象中历史保存的模型测试结果,从历史保存的模型测试结果中查找出最优的模型测试结果,以作为目标模型测试结果。
其中,目标模型测试结果,是指预存对象已保存的模型测试结果中,最优的模型测试结果。历史模型测试结果,是指备份至预存对象中的第一全局模型的模型测试结果。
步骤d,从预存对象的历史全局模型中,获取与所述目标模型测试结果存在映射关系的历史全局模型,以作为第二全局模型。
具体地,联邦训练***遍历预存对象中历史保存的第一全局模型,从历史保存的第一全局模型中查找出与目标模型测试结果关联存储的历史全局模型,即查找出与目标模型测试结果存在映射关系的历史全局模型,以作为目标模型测试结果。
其中,历史全局模型,是指备份至预存对象中的第一全局模型。
在本实施例中,联邦训练***每次在协作端聚合得到的第一全局模型后,通过检测聚合后得到的第一全局模型的模型测试结果是否小于第一预设阈值,从而确定第一全局模型是否出现退化。当第一全局模型出现了退化时,联邦训练***通过模型回溯的方式,在预存对象备份的历史全局模型中查找出模型测试结果最优的第二全局模型,以作为第二轮联邦迭代训练的全局模型,解决了联邦训练***出现模型退化的技术问题。并且通过模型回溯的方式使得联邦训练***可以回退至任意一个模型节点继续进行联邦迭代训练。
进一步地,步骤a之后还包括:
若检测到所述模型测试结果大于或等于第一预设阈值;
则获取所述第一全局模型,以作为第二轮联邦迭代训练的第二全局模型。
具体地,如果检测到第一全局模型的模型测试结果大于或等于第一预设阈值,则认为第一全局模型没有出现退化。则联邦训练***获取第一全局模型作为第二轮联邦迭代训练的第二全局模型。联邦训练***的协作端将第一全局模型下发至联邦训练***的各个客户端,联邦训练***继续进行第二轮的联邦迭代训练。联邦训练***的各个客户端端接收第一全局模型并根据第一全局模型进行第二轮的联邦迭代训练。
如果检测到模型测试结果小于第一预设阈值,则认为第一全局模型出现退化,从预存对象的历史模型测试结果中,获取最优的目标模型测试结果。并从预存对象的历史全局模型中,获取与目标模型测试结果存在映射关系的历史全局模型,以作为第二全局模型。
在本实施例中,联邦训练***每次在协作端聚合得到的第一全局模型后,通过检测聚合后得到的第一全局模型的模型测试结果是否小于第一预设阈值,从而确定第一全局模型是否出现退化。当检测到第一全局模型没有出现退化时,继续采用第一全局模型作为第二轮联邦迭代训练的第二全局模型,从而保证了联邦训练***的联邦迭代训练过程正常进行。
进一步地,基于上述第一实施例,提出本发明联邦模型退化处理方法的第三实施例,参照图2,图2为本发明联邦模型退化处理方法第三实施例的流程示意图,将所述第二全局模型发送至第二轮联邦迭代训练的目标客户端的步骤包括:
步骤e,根据所述第二全局模型,确定导致所述第一全局模型退化的退化客户端;
具体地,将第二全局模型发送至参与本轮联邦迭代训练的各个初始客户端,以供各个初始客户端通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果,并且各个初始客户端将本客户端的客户端测试结果发送至联邦训练***。联邦训练***接收到各个初始客户端反馈的客户端测试结果后,根据各个初始客户端的客户端测试结果,并从各个初始客户端中查找出导致第一全局模型退化的退化客户端。
其中,退化客户端,是指在本轮联邦迭代训练的各个初始客户端中,导致第一全局模型出现退化的初始客户端。
其中,初始客户端,是指参与本轮联邦迭代训练,返回本地模型参数供协作端聚合更新得到第一全局模型的客户端。
步骤f,根据所述退化客户端,确定第二轮联邦迭代训练的目标客户端;
具体地,联邦训练***获取参与本轮联邦迭代训练的各个初始客户端,并从各个初始客户端将导致第一全局模型退化的退化客户端删除,将剩余的初始客户端,作为第二轮联邦迭代训练的目标客户端。
其中,目标客户端,是指从各个初始客户端将导致第一全局模型退化的退化客户端删除后,剩余的初始客户端。
步骤g,将所述第二全局模型发送至所述目标客户端。
具体地,联邦训练***将第二全局模型作为联邦训练***进行第二轮的联邦迭代训练的全局模型,并且联邦训练***的协作端将第二全局模型下发至各个客户端,联邦训练***继续进行第二轮的联邦迭代训练。
在本实施例中,通过将第二全局模型发送至参与本轮联邦迭代训练的各个初始客户端,以供各个初始客户端通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果。并根据各个初始客户端的客户端测试结果,检测出导致第一全局模型出现退化的初始客户端,并将导致第一全局模型出现退化的初始客户端进行删除后,进行第二轮的联邦迭代训练,以避免了退化客户端继续参与第二轮的联邦迭代训练,而导致联邦训练***的训练出现退化,提高了联邦训练***的模型训练性能。
进一步地,基于上述第三实施例,提出本发明联邦模型退化处理方法的第四实施例,步骤e包括:
步骤e1,将所述第二全局模型发送至参与本轮联邦迭代训练的各个初始客户端;
具体地,联邦训练***将第二全局模型分别发送至参与本轮联邦迭代训练的各个初始客户端,以供各个初始客户端通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果。
为了方便理解,以一具体实施例进行说明,例如,联邦训练***中,参与本轮联邦迭代训练的各个初始客户端分别有:初始客户端1、初始客户端2、初始客户端3、初始客户端4,则联邦训练***将第二全局模型分别发送至初始客户端1、初始客户端2、初始客户端3、初始客户端4,以供初始客户端1通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果A;初始客户端2通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果B;初始客户端3通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果C、初始客户端4通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果D。
步骤e2,获取所述初始客户端基于所述第二全局模型反馈的客户端测试结果;
联邦训练***将第二全局模型分别发送至参与本轮联邦迭代训练的各个初始客户端,以供各个初始客户端通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果并返回联邦训练***。联邦训练***获取初始客户端返回的本初始客户端的客户端测试结果。
为了方便理解,接步骤d1的例子继续说明。例如,初始客户端1通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果A并返回联邦训练***。初始客户端2通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果B并返回联邦训练***。初始客户端3通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果C并返回联邦训练***。初始客户端4通过第二全局模型对本客户端的测试数据进行测试,得到本客户端的客户端测试结果D并返回联邦训练***。
步骤e3,获取所述客户端测试结果小于第二预设阈值的初始客户端,以作为所述退化客户端。
具体地,分别检测每个初始客户端返回的客户端测试结果是否小于第二预设阈值,如果检测到初始客户端返回的客户端测试结果小于第二预设阈值,则认为该初始客户端导致了第一全局模型出现退化。获取客户端测试结果小于第二预设阈值的初始客户端,以作为退化客户端。
如果检测到客户端测试结果大于或等于第二预设阈值,则认为该初始客户端不是导致第一全局模型出现退化的退化客户端。
其中,第二预设阈值,用于判断初始客户端是否为导致第一全局模型退化的退化客户端的阈值,第二预设阈值可以根据具体需求而设置,在本发明实施例中对第二预设阈值的取值不作限制。
为了方便理解,接以上步骤d2的例子继续说明。例如,客户端测试结果A、客户端测试结果D均小于第二预设阈值,则将初始客户端1和初始客户端2作为导致第一全局模型出现退化的退化客户端。
在本实施例中,通过检测初始客户端返回的客户端测试结果是否小于第二预设阈值,并将客户端测试结果小于第二预设阈值的初始客户端作为退化客户端,从而准确从各个初始客户端中找出导致第一全局模型出现退化的退化客户端,为后续目标客户端的确定提供了准确的数据。
进一步地,步骤f包括:
步骤f1,获取参与本轮联邦迭代训练的各个初始客户端;
为了方便理解,以一具体实施例进行说明。例如,联邦训练***中,参与了本轮联邦迭代训练,返回本地模型参数供协作端聚合更新得到第一全局模型的初始客户端分别有:初始客户端A、初始客户端B、初始客户端C。则联邦训练***获取初始客户端A、初始客户端B、初始客户端C。
步骤f2,从所述初始客户端中删除所述退化客户端,得到剩余客户端;
为了方便理解,接步骤e1的例子继续说明。例如,初始客户端B为导致第一全局模型出现退化的退化客户端,则从初始客户端A、初始客户端B和初始客户端C中删除初始客户端B,得到剩余客户端:初始客户端A和初始客户端C。
步骤f3,将所述剩余客户端作为第二轮联邦迭代训练的目标客户端。
为了方便理解,接步骤e2的例子继续说明。将剩余客户端:初始客户端A和初始客户端C作为第二轮联邦迭代训练的目标客户端。联邦训练***的协作段将第二全局模型分别发送至初始客户端A、初始客户端C,初始客户端A根据第二全局模型进行第二轮的联邦迭代训练、初始客户端C根据第二全局模型进行第二轮的联邦迭代训练。
在本实施例中,通过从获取参与本轮联邦迭代训练的各个初始客户端中,删除导致第一全局模型出现退化的退化客户端,得到剩余的初始客户端,以作为目标客户端,为第二轮联邦迭代训练提供了优良的目标客户端,为联邦训练***出现模型退化提供了解决方案,从而使得联邦训练***可以提高模型训练效果。
此外,参照图3,本发明实施例还提出一种联邦模型退化处理装置,所述联邦模型退化处理装置包括:
第一模型获取模块10,用于获取所述联邦训练***的协作端聚合后得到的第一全局模型;
模型测试模块20,用于通过预设测试数据对所述第一全局模型进行测试,得到所述第一全局模型的模型测试结果;
第二模型获取模块30,用于根据所述模型测试结果检测所述第一全局模型是否出现退化,若检测到所述第一全局模型出现退化,则获取第二轮联邦迭代训练的第二全局模型;
发送模块40,用于将所述第二全局模型发送至第二轮联邦迭代训练的目标客户端,以供所述目标客户端根据所述第二全局模型进行第二轮的联邦迭代训练。
进一步地,所述第二模型获取模块30包括:
检测单元,用于检测所述模型测试结果是否小于第一预设阈值;退化检测单元,用于若检测到所述模型测试结果小于第一预设阈值,则则确定所述第一全局模型出现退化;
结果获取单元,用于若检测到所述第一全局模型出现退化,则从预存对象的历史模型测试结果中,获取最优的目标模型测试结果;
第一模型获取单元,用于从预存对象的历史全局模型中,获取与所述目标模型测试结果存在映射关系的历史全局模型,以作为第二全局模型。
进一步地,所述第二模型获取模块30还包括:
第二模型获取单元,用于若检测到所述模型测试结果大于或等于第一预设阈值;
则获取所述第一全局模型,以作为第二轮联邦迭代训练的第二全局模型。
进一步地,所述发送模块40包括:
退化客户端确定单元,用于根据所述第二全局模型,确定导致所述第一全局模型退化的退化客户端;
目标客户端确定单元,用于根据所述退化客户端,确定第二轮联邦迭代训练的目标客户端;
发送单元,用于将所述第二全局模型发送至所述目标客户端。
进一步地,所述退化客户端确定单元还包括:
发送子单元,用于将所述第二全局模型发送至参与本轮联邦迭代训练的各个初始客户端;
结果获取子单元,用于获取所述初始客户端基于所述第二全局模型反馈的客户端测试结果;
退化客户端确定子单元,用于获取所述客户端测试结果小于第二预设阈值的初始客户端,以作为所述退化客户端。
进一步地,所述目标客户端确定单元包括:
初始客户端获取子单元,用于获取参与本轮联邦迭代训练的各个初始客户端;
删除子单元,用于从所述初始客户端中删除所述退化客户端,得到剩余客户端;
目标客户端确定子单元,用于将所述剩余客户端作为第二轮联邦迭代训练的目标客户端。
本发明联邦模型退化处理装置具体实施方式与上述联邦模型退化处理方法各实施例基本相同,在此不再赘述。
此外,本发明还提供一种联邦训练***。如图4所示,图4是本发明实施例方案涉及联邦训练***的硬件运行环境的结构示意图。
需要说明的是,图4为联邦训练***的硬件运行环境的结构示意图。本发明实施例联邦训练***可以是PC,便携计算机等终端设备。
如图4所示,该联邦训练***可以包括:协作端(图中未示出)、客户端(图中未示出)、处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图4中示出的联邦训练***结构并不构成对联邦训练***的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及联邦模型退化处理程序。
在图4所示的联邦训练***中,用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;而处理器1001可以用于调用存储器1005中存储的联邦模型退化处理程序,并执行如上所述的联邦模型退化处理方法的步骤。
本发明联邦训练***具体实施方式与上述联邦模型退化处理方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有联邦模型退化处理程序,所述联邦模型退化处理程序被处理器执行时实现如上所述的联邦模型退化处理方法的步骤。
本发明存储介质具体实施方式可以参照上述联邦模型退化处理方法各实施例,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (12)

1.一种联邦模型退化处理方法,其特征在于,所述联邦模型退化处理方法应用于联邦训练***,所述联邦模型退化处理方法包括:
获取所述联邦训练***的协作端聚合后得到的第一全局模型;
通过预设测试数据对所述第一全局模型进行测试,得到所述第一全局模型的模型测试结果;
根据所述模型测试结果检测所述第一全局模型是否出现退化,若检测到所述第一全局模型出现退化,则获取第二轮联邦迭代训练的第二全局模型;
将所述第二全局模型发送至第二轮联邦迭代训练的目标客户端,以供所述目标客户端根据所述第二全局模型进行第二轮的联邦迭代训练。
2.如权利要求1所述的联邦模型退化处理方法,其特征在于,根据所述模型测试结果检测所述第一全局模型是否出现退化的步骤包括:
检测所述模型测试结果是否小于第一预设阈值;
若检测到所述模型测试结果小于第一预设阈值,则确定所述第一全局模型出现退化;
所述若检测到所述第一全局模型出现退化,则获取第二轮联邦迭代训练的第二全局模型的步骤包括:
若检测到所述第一全局模型出现退化,则从预存对象的历史模型测试结果中,获取最优的目标模型测试结果;
从预存对象的历史全局模型中,获取与所述目标模型测试结果存在映射关系的历史全局模型,以作为第二全局模型。
3.如权利要求2所述的联邦模型退化处理方法,其特征在于,检测所述模型测试结果是否小于第一预设阈值的步骤之后还包括:
若检测到所述模型测试结果大于或等于第一预设阈值;
则获取所述第一全局模型,以作为第二轮联邦迭代训练的第二全局模型。
4.如权利要求1所述的联邦模型退化处理方法,其特征在于,将所述第二全局模型发送至第二轮联邦迭代训练的目标客户端的步骤包括:
根据所述第二全局模型,确定导致所述第一全局模型退化的退化客户端;
根据所述退化客户端,确定第二轮联邦迭代训练的目标客户端;
将所述第二全局模型发送至所述目标客户端。
5.如权利要求4所述的联邦模型退化处理方法,其特征在于,根据所述第二全局模型,确定导致所述第一全局模型退化的退化客户端的步骤包括:
将所述第二全局模型发送至参与本轮联邦迭代训练的各个初始客户端;
获取所述初始客户端基于所述第二全局模型反馈的客户端测试结果;
获取所述客户端测试结果小于第二预设阈值的初始客户端,以作为所述退化客户端。
6.如权利要求4所述的联邦模型退化处理方法,其特征在于,根据所述退化客户端,确定第二轮联邦迭代训练的目标客户端的步骤包括:
获取参与本轮联邦迭代训练的各个初始客户端;
从所述初始客户端中删除所述退化客户端,得到剩余客户端;
将所述剩余客户端作为第二轮联邦迭代训练的目标客户端。
7.一种联邦模型退化处理装置,其特征在于,所述联邦模型退化处理装置包括:
第一模型获取模块,用于获取所述联邦训练***的协作端聚合后得到的第一全局模型;
模型测试模块,用于通过预设测试数据对所述第一全局模型进行测试,得到所述第一全局模型的模型测试结果;
第二模型获取模块,用于根据所述模型测试结果检测所述第一全局模型是否出现退化,若检测到所述第一全局模型出现退化,则获取第二轮联邦迭代训练的第二全局模型;
发送模块,用于将所述第二全局模型发送至第二轮联邦迭代训练的目标客户端,以供所述目标客户端根据所述第二全局模型进行第二轮的联邦迭代训练。
8.如权利要求7所述的联邦模型退化处理装置,其特征在于,所述第二模型获取模块包括:
检测单元,用于检测所述模型测试结果是否小于第一预设阈值;
退化检测单元,用于若检测到所述模型测试结果小于第一预设阈值,则则确定所述第一全局模型出现退化;
结果获取单元,用于若检测到所述第一全局模型出现退化,则从预存对象的历史模型测试结果中,获取最优的目标模型测试结果;
模型获取单元,用于从预存对象的历史全局模型中,获取与所述目标模型测试结果存在映射关系的历史全局模型,以作为第二全局模型。
9.如权利要求7所述的联邦模型退化处理装置,其特征在于,所述发送模块包括:
退化客户端确定单元,用于根据所述第二全局模型,确定导致所述第一全局模型退化的退化客户端;
目标客户端确定单元,用于根据所述退化客户端,确定第二轮联邦迭代训练的目标客户端;
发送单元,用于将所述第二全局模型发送至所述目标客户端。
10.如权利要求9所述的联邦模型退化处理装置,其特征在于,所述退化客户端确定单元还包括:
发送子单元,用于将所述第二全局模型发送至参与本轮联邦迭代训练的各个初始客户端;
结果获取子单元,用于获取所述初始客户端基于所述第二全局模型反馈的客户端测试结果;
退化客户端确定子单元,用于获取所述客户端测试结果小于第二预设阈值的初始客户端,以作为所述退化客户端。
11.一种联邦训练***,其特征在于,所述联邦训练***包括:协作端、客户端、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的联邦模型退化处理程序,所述联邦模型退化处理程序被所述处理器执行时实现如权利要求1至6中任一项所述的联邦模型退化处理方法的步骤。
12.一种存储介质,其特征在于,所述存储介质上存储有联邦模型退化处理程序,所述联邦模型退化处理程序被处理器执行时实现如权利要求1至6中任一项所述的联邦模型退化处理方法的步骤。
CN201910563383.6A 2019-06-26 2019-06-26 联邦模型退化处理方法、装置、联邦训练***及存储介质 Active CN110334544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910563383.6A CN110334544B (zh) 2019-06-26 2019-06-26 联邦模型退化处理方法、装置、联邦训练***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910563383.6A CN110334544B (zh) 2019-06-26 2019-06-26 联邦模型退化处理方法、装置、联邦训练***及存储介质

Publications (2)

Publication Number Publication Date
CN110334544A true CN110334544A (zh) 2019-10-15
CN110334544B CN110334544B (zh) 2023-07-25

Family

ID=68143025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910563383.6A Active CN110334544B (zh) 2019-06-26 2019-06-26 联邦模型退化处理方法、装置、联邦训练***及存储介质

Country Status (1)

Country Link
CN (1) CN110334544B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732470A (zh) * 2021-03-29 2021-04-30 南方电网数字电网研究院有限公司 电能量数据的联邦学习可靠性评估方法和装置
WO2021094852A1 (en) * 2019-11-14 2021-05-20 International Business Machines Corporation Alerting to model degradation based on distribution analysis using risk tolerance ratings
US11256597B2 (en) 2019-11-14 2022-02-22 International Business Machines Corporation Ensemble approach to alerting to model degradation
US11768917B2 (en) 2019-11-14 2023-09-26 International Business Machines Corporation Systems and methods for alerting to model degradation based on distribution analysis
US11810013B2 (en) 2019-11-14 2023-11-07 International Business Machines Corporation Systems and methods for alerting to model degradation based on survival analysis

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810392A (zh) * 2013-12-13 2014-05-21 北京航空航天大学 基于支持向量机和rbf神经网络的退化数据缺失插补方法
CN108629183A (zh) * 2018-05-14 2018-10-09 南开大学 基于可信度概率区间的多模型恶意代码检测方法
WO2019002603A1 (en) * 2017-06-30 2019-01-03 Royal Holloway And Bedford New College METHOD FOR MONITORING THE PERFORMANCE OF AN AUTOMATIC LEARNING ALGORITHM
US20190050743A1 (en) * 2016-03-18 2019-02-14 Microsot Technology Licensing, LLC Method and apparatus for training a learning machine
US20190163666A1 (en) * 2017-11-29 2019-05-30 International Business Machines Corporation Assessment of machine learning performance with limited test data
CN109871702A (zh) * 2019-02-18 2019-06-11 深圳前海微众银行股份有限公司 联邦模型训练方法、***、设备及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810392A (zh) * 2013-12-13 2014-05-21 北京航空航天大学 基于支持向量机和rbf神经网络的退化数据缺失插补方法
US20190050743A1 (en) * 2016-03-18 2019-02-14 Microsot Technology Licensing, LLC Method and apparatus for training a learning machine
WO2019002603A1 (en) * 2017-06-30 2019-01-03 Royal Holloway And Bedford New College METHOD FOR MONITORING THE PERFORMANCE OF AN AUTOMATIC LEARNING ALGORITHM
US20190163666A1 (en) * 2017-11-29 2019-05-30 International Business Machines Corporation Assessment of machine learning performance with limited test data
CN108629183A (zh) * 2018-05-14 2018-10-09 南开大学 基于可信度概率区间的多模型恶意代码检测方法
CN109871702A (zh) * 2019-02-18 2019-06-11 深圳前海微众银行股份有限公司 联邦模型训练方法、***、设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
屠恩美等: "半监督学习理论及其研究进展概述", 《上海交通大学学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021094852A1 (en) * 2019-11-14 2021-05-20 International Business Machines Corporation Alerting to model degradation based on distribution analysis using risk tolerance ratings
US11256597B2 (en) 2019-11-14 2022-02-22 International Business Machines Corporation Ensemble approach to alerting to model degradation
GB2603740A (en) * 2019-11-14 2022-08-10 Ibm Alerting to model degradation based on distribution analysis using risk tolerance ratings
US11455561B2 (en) 2019-11-14 2022-09-27 International Business Machines Corporation Alerting to model degradation based on distribution analysis using risk tolerance ratings
US11768917B2 (en) 2019-11-14 2023-09-26 International Business Machines Corporation Systems and methods for alerting to model degradation based on distribution analysis
US11810013B2 (en) 2019-11-14 2023-11-07 International Business Machines Corporation Systems and methods for alerting to model degradation based on survival analysis
CN112732470A (zh) * 2021-03-29 2021-04-30 南方电网数字电网研究院有限公司 电能量数据的联邦学习可靠性评估方法和装置

Also Published As

Publication number Publication date
CN110334544B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
CN110334544A (zh) 联邦模型退化处理方法、装置、联邦训练***及存储介质
CN110378488B (zh) 客户端变化的联邦训练方法、装置、训练终端及存储介质
CN104580104B (zh) 身份验证的方法、装置及***
CN103945430B (zh) 一种移动终端类型推荐方法及装置
CN111325417B (zh) 实现隐私保护的多方协同更新业务预测模型的方法及装置
CN108683668A (zh) 内容分发网络中的资源校验方法、装置、存储介质及设备
CN109800150A (zh) 一种灰度测试方法、服务器及计算机可读存储介质
Rocha et al. Respondent-driven sampling bias induced by community structure and response rates in social networks
CN109598131A (zh) 一种文件上传、下载方法、装置、电子设备及存储介质
CN107276842A (zh) 接口测试方法、装置及电子设备
CN110287173A (zh) 自动生成有意义的用户段
CN110428368A (zh) 一种算法评价方法、装置、电子设备及可读存储介质
CN107819748A (zh) 一种抗破解的验证码实现方法及装置
CN102882738B (zh) 一种网络访问速度的检测方法和装置
CN110515819A (zh) 性能测试方法、电子设备、调度***及介质
CN109726117A (zh) 一种Mock测试方法、装置、服务器及电子设备
CN108876096A (zh) 一种数据处理方法、装置及相关设备
CN113391741A (zh) 操作校验方法和装置、存储介质及电子设备
CN108062401A (zh) 应用推荐方法、装置及存储介质
CN105094810B (zh) 基于通用网关接口插件的数据处理方法和装置
CN107818262A (zh) 网络安全装置的安全资料管理方法
CN109815047A (zh) 一种数据处理的方法和相关装置
US11328369B2 (en) Network liquidity to engagement mapping
CN108170391A (zh) 页面显示方法、装置及电子设备
CN109597744A (zh) 数据异动分析方法及装置

Legal Events

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