应用于预测输入字符的模型训练方法和预测方法与流程

文档序号:30957835发布日期:2022-07-30 11:00阅读:151来源:国知局
应用于预测输入字符的模型训练方法和预测方法与流程

1.本公开涉及人工智能中的大数据,尤其涉及一种应用于预测输入字符的模型训练方法和预测方法。


背景技术:

2.在用户使用终端设备的过程中,常常需要用户向终端设备中输入字符。为了便于用户确认字符,终端设备可以基于用户历史时刻所输入的输入字符(即,字符),预测下一时刻的输入字符。可以基于训练好的联邦学习模型,去预测出下一时刻的输入字符。
3.但是需要提高联邦学习模型的精度,以提高所得到模型的预测精度。


技术实现要素:

4.本公开提供了一种应用于预测输入字符的模型训练方法和预测方法。
5.根据本公开的第一方面,提供了一种用于预测输入字符的模型训练方法,所述方法包括:
6.重复以下各步骤,直至达到预设条件:
7.将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,得到误差信息;其中,所述全局参数为预设的,所述全局参数为所述联邦学习模型的全局模型参数;所述误差信息表征对所述联邦学习模型进行训练时所产生的梯度信息的损失误差;
8.根据所述误差信息更新所述全局参数;
9.其中,所述预设条件为更新所述全局参数的次数或者所述全局参数为预设参数;
10.其中,具有达到所述预设条件时所得到的全局参数的联邦学习模型,用于预测未来时刻的输入字符。
11.根据本公开的第二方面,提供了一种应用于预测输入字符的模型训练方法,所述方法包括:
12.重复以下各步骤,直至达到第一预设条件:
13.接收至少一个终端设备中的终端设备发送的当前次训练对应的第一梯度误差;其中,所述当前次训练对应的第一梯度误差为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到的;所述全局参数为预设的,所述全局参数为所述联邦学习模型的全局模型参数;所述第一梯度误差表征终端设备对所述联邦学习模型进行训练时产生的梯度信息的误差信息;
14.根据所述第一梯度误差,确定误差信息;其中,所述误差信息表征对所述联邦学习模型进行训练时所产生的梯度信息的损失误差;
15.将所述误差信息发送给所述至少一个终端设备中的终端设备;其中,所述误差信息用于更新所述全局参数;
16.其中,具有达到所述第一预设条件时所得到的全局参数的联邦学习模型,用于预测未来时刻的输入字符。
17.根据本公开的第三方面,提供了一种输入字符的预测方法,所述方法包括:
18.将历史时刻的输入字符,输入至预测模型中,得到未来时刻的输入字符;
19.显示所述未来时刻的输入字符;
20.其中,所述预测模型为具有达到预设条件时所得到的全局参数的联邦学习模型;所述预测模型为基于误差信息更新配置了全局参数的联邦学习模型中的全局参数所得到的,所述误差信息为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到;所述全局参数为预设的,所述全局参数为所述联邦学习模型的全局模型参数;所述误差信息表征对所述联邦学习模型进行训练时所产生的梯度信息的损失误差。
21.根据本公开的第四方面,提供了一种应用于预测输入字符的模型训练装置,所述装置包括:
22.重复以下各步骤,直至达到预设条件:
23.输入单元,用于将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,得到误差信息;其中,所述全局参数为预设的,所述全局参数为所述联邦学习模型的全局模型参数;所述误差信息表征对所述联邦学习模型进行训练时所产生的梯度信息的损失误差;
24.更新单元,用于根据所述误差信息更新所述全局参数;
25.其中,所述预设条件为更新所述全局参数的次数或者所述全局参数为预设参数;
26.其中,具有达到所述预设条件时所得到的全局参数的联邦学习模型,用于预测未来时刻的输入字符。
27.根据本公开的第五方面,提供了一种应用于预测输入字符的模型训练装置,所述装置包括:
28.重复以下各步骤,直至达到第一预设条件:
29.第一接收单元,用于接收至少一个终端设备中的终端设备发送的当前次训练对应的第一梯度误差;其中,所述当前次训练对应的第一梯度误差为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到的;所述全局参数为预设的,所述全局参数为所述联邦学习模型的全局模型参数;所述第一梯度误差表征终端设备对所述联邦学习模型进行训练时产生的梯度信息的误差信息;
30.第一确定单元,用于根据所述第一梯度误差,确定误差信息;其中,所述误差信息表征对所述联邦学习模型进行训练时所产生的梯度信息的损失误差;
31.第一发送单元,用于将所述误差信息发送给所述至少一个终端设备中的终端设备;其中,所述误差信息用于更新所述全局参数;
32.其中,具有达到所述第一预设条件时所得到的全局参数的联邦学习模型,用于预测未来时刻的输入字符。
33.根据本公开的第六方面,提供了一种输入字符的预测装置,所述装置包括:
34.输入单元,用于将历史时刻的输入字符,输入至预测模型中,得到未来时刻的输入字符;
35.显示单元,用于显示所述未来时刻的输入字符;
36.其中,所述预测模型为具有达到预设条件时所得到的全局参数的联邦学习模型;所述预测模型为基于误差信息更新配置了全局参数的联邦学习模型中的全局参数所得到
的,所述误差信息为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到;所述全局参数为预设的,所述全局参数为所述联邦学习模型的全局模型参数;所述误差信息表征对所述联邦学习模型进行训练时所产生的梯度信息的损失误差。
37.根据本公开的第七方面,提供了一种终端设备,包括:
38.至少一个处理器;以及
39.与所述至少一个处理器通信连接的存储器;其中,
40.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面或第三方面所述的方法。
41.根据本公开的第八方面,提供了一种服务器,包括:
42.至少一个处理器;以及
43.与所述至少一个处理器通信连接的存储器;其中,
44.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第二方面所述的方法。
45.根据本公开的第九方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据第一方面或第二方面或第三方面所述的方法。
46.根据本公开的第十方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面或第二方面或第三方面所述方法的步骤。
47.根据本公开的第十一方面,提供了一种芯片,包括:所述芯片包括第四方面任一项所述的应用于预测输入字符的模型训练装置,或者,所述芯片包括如第五方面所述的应用于预测输入字符的模型训练装置,或者,所述芯片包括如第六方面所述的输入字符的预测装置。
48.根据本公开的第十二方面,提供了一种电子设备,包括如第十一方面所述的芯片。
49.根据本公开的技术提高了联邦学习模型的精度,进而提高了所得到模型的预测精度。。
50.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
51.附图用于更好地理解本方案,不构成对本公开的限定。其中:
52.图1是根据本公开第一实施例的示意图;
53.图2是根据本公开第一实施例的示意图;
54.图3是根据本公开第二实施例的示意图;
55.图4是根据本公开第三实施例的示意图;
56.图5是根据本公开第四实施例的示意图;
57.图6是根据本公开第五实施例的示意图;
58.图7是根据本公开第六实施例的示意图;
59.图8是根据本公开第七实施例的示意图;
60.图9是根据本公开第八实施例的示意图;
61.图10是根据本公开第九实施例的示意图;
62.图11是根据本公开第十实施例的示意图;
63.图12是根据本公开第十一实施例的示意图;
64.图13是根据本公开第十二实施例的示意图;
65.图14是用来实现本公开实施例的应用于预测输入字符的模型训练方法的终端设备的框图;
66.图15是用来实现本公开实施例的应用于预测输入字符的模型训练方法的服务器的框图。
具体实施方式
67.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
68.本公开提供一种应用于预测输入字符的模型训练方法和预测方法,应用于人工智能领域中的大数据,以达到提高联邦学习模型的精度,以提高所得到模型的预测精度的目的。
69.在许多领域中,基于大数据的机器学习和模型训练等技术不断发展,通过对大数据的挖掘,可以得到许多有价值的信息,随着技术的发展,原始数据的来源越来越广泛,甚至会有跨领域联合。在一些业务场景中,多个业务平台收集有各自的业务数据,这些业务数据很有价值,通常作为业务平台的隐私信息保存,各业务平台不期望与其他业务平台共享原始形式的业务数据,但在一些需求中,多个业务平台期望在不公开各方的业务数据的情况下进行协调计算,以提高业务处理能力。因此,采用联邦学习模型。联邦学习模型能够在数据不出本地的前提下,联合各方进行数据使用和协同建模。
70.本实施例中,图1是根据本公开第一实施例的示意图,图1示出了整个联邦学习的交互过程,图1中包括一个服务器和多个终端设备,其中,不同的终端设备分别为终端设备a、终端设备b和终端设备c,其中,终端设备a、终端设备b和终端设备c这三个终端设备中所存储的数据是不同的,且终端设备a、终端设备b和终端设备c是可以同时不在线的,终端设备不在线时,则不对联邦学习模型进行训练。
71.例如,终端设备a中存储数据a,终端设备b中存储数据b以及终端设备c中存储数据c,服务器、终端设备a、终端设备b和终端设备c中分别有联邦学习模型,在服务器中生成联邦学习模型的全局参数,并将全局参数下发至终端设备a、终端设备b和终端设备c中。
72.终端设备a利用数据a对全局参数进行训练,得到局部参数a,并将局部参数a上传至服务器中;终端设备b利用数据b对全局参数进行训练,得到局部参数b,并将局部参数b上传至服务器中;终端设备c利用数据c对全局参数进行训练,得到局部参数c,并将局部参数c上传至服务器中,服务器将局部参数a、局部参数b和局部参数c求取平均值,得到新的全局参数,并将新的全局参数重新下发至多个终端设备,其中,多个终端设备可以是终端设备a、终端设备b和终端设备c,也可以是终端设备d、终端设备e和终端设备f。
73.终端设备a、终端设备b和终端设备c,分别对新的全局参数进行训练,重复上述过
程,直至满足预设条件。
74.或者另一种情况下的终端设备d、终端设备e和终端设备f分别对新的全局参数进行训练,重复上述过程,直至满足预设条件。
75.但是目前的联邦学习模型在交互全局参数和局部参数的过程中,由于全局参数和局部参数的数据量比较大,则在传输过程中,会占用比较多的网络资源,如果将全局参数和局部参数直接稀疏化,虽然会降低传输过程中的数据量,但是会导致全局参数或者局部参数收敛比较困难。
76.因此,需要一种应用于预测输入字符的模型训练方法,在减少数据传输量的同时,还能够改善由于减少数据量采取的方式导致的收敛困难的问题。
77.图2是根据本公开第一实施例的示意图,本公开提供了一种应用于预测输入字符的模型训练方法,所述方法应用于终端设备,包括:
78.s201、将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,得到误差信息;其中,全局参数为预设的,全局参数为联邦学习模型的全局模型参数;误差信息表征对联邦学习模型进行训练时所产生的梯度信息的损失误差。
79.在一个示例中,待训练的输入字符是用户在终端设备历史的输入字符,其中,历史输入字符可以是中文字符,也可以是英文字符,还可以是符号。联邦学习模型是指服务器和多个终端设备共同训练参数得到的学习模型。本实施例中,全局参数可以是预设的一系列参数,也可以是服务器中现存数据对联邦学习模型初步训练得到的初始参数。
80.本实施例中,误差信息是指联邦学习模型在对数据进行训练过程的梯度信息所得的损失误差。该误差信息可以是由于梯度信息传输过程中产生的。
81.s202、根据误差信息更新全局参数。
82.在一个示例中,通过得到的误差信息调整全局参数,使得全局参数满足预设条件。
83.s203、是否达到预设条件。
84.本实施例中,预设条件为更新全局参数的次数或者全局参数为预设参数。进一步地,预设条件可以是利用误差信息更新全局参数的次数,例如,利用误差信息更新全局参数五次得到的最终的全局参数视为满足预设条件。还可以是全局参数为预设参数,例如预设参数a,则利用误差信息更新全局参数,当全局参数等于a时,则视为满足预设条件。若达到预设条件,则执行步骤s204;若没有达到预设条件,则重复执行步骤s201和步骤s202,直至达到预设条件。
85.s204、将达到预设条件时所得到的全局参数配置至联邦学习模型中,通过联邦学习模型预测未来时刻的输入字符。
86.在一个示例中,满足预设条件时的全局参数构成的联邦学习模型可以用来预测未来时刻的输入字符。
87.本实施例中,将终端设备a中的待训练的输入字符输入至配置了全局参数a的联邦学习模型中,终端设备a中得到误差信息,并利用误差信息更新全局参数a,直至得到满足预设条件的全局参数b,利用全局参数b组成的联邦学习模型来预测终端设备a未来时刻的输入字符。
88.本公开提供一种用于预测输入字符的模型训练方法,包括:重复以下各步骤,直至达到预设条件:将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,
得到误差信息;其中,全局参数为预设的,全局参数为联邦学习模型的全局模型参数;根据误差信息更新全局参数,并利用达到预设条件的全局参数所构成的联邦学习模型预测未来时刻的输入字符。采用本技术方案,能够使得最终的联邦学习模型的准确率比较高,进而能够比较准确地预测终端设备未来时刻的输入字符,提高用户使用体验。
89.图3是根据本公开第二实施例的示意图,本公开提供了一种应用于预测输入字符的模型训练方法,方法应用于终端设备,包括:
90.s301、将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,得到当前次训练对应的第一梯度误差;其中,第一梯度误差表征当前的终端设备对联邦学习模型进行训练时产生的梯度信息的误差信息。
91.在一个示例中,第一梯度误差是当前的终端设备利用本地的数据对当前终端设备中的联邦学习模型进行训练,进而产生的误差信息。例如,第一梯度误差为其中,t表征的含义是终端设备接收全局参数的次数,也为终端设备训练全局参数的次数,为大于等于1的自然数。
92.i代表的含义是终端设备的标识,也为大于等于1的自然数。例如,当前的终端设备为终端设备1,则i=1,当前的终端设备为终端设备2,则i=2。
93.进一步地,若当前的终端设备为终端设备2,这是当前的终端设备第3次接收全局参数,则当前次训练对应的第一梯度误差为这样设置的好处是能够确定出终端设备每一次训练得到的梯度误差,进而可以通过将该梯度误差进行数据处理,将该误差造成的影响降低。
94.在一个示例中,其中,将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,得到当前次训练对应的第一梯度误差,包括:
95.将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,得到第一梯度信息;其中,第一梯度信息表征当前的终端设备对联邦学习模型进行训练时的训练结果信息;
96.将第一梯度信息发送给服务器,并接收服务器发送的第一梯度平均信息;其中,第一梯度平均信息为多个终端设备的第一梯度信息的均值信息;第一梯度平均信息表征多个终端设备对联邦学习模型进行训练的联合训练结果信息;
97.根据第一梯度信息和第一梯度平均信息,确定当前次训练对应的第一梯度误差。
98.本实施例中,为了表述方便,当前的终端设备均设为终端设备1。将当前的终端设备1中的待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理后,得到第一梯度信息,第一梯度信息为终端设备1对联邦学习模型进行训练后的得到的训练结果信息。本实施例中,为了便于说明,设定第一梯度信息为
99.在确定了第一梯度信息后,将第一梯度信息发送至服务器,由服务器对第一梯度信息进行处理后,得到第一梯度平均信息。其中,第一梯度平均信息为多个终端设备的第一梯度信息的均值信息。进一步地,多个终端设备分别为终端设备1、终端设备2和终端设备3,多个终端设备在第一次训练全局参数时,终端设备1确定的第一梯度信
息为
100.终端设备2确定的第一梯度信息为和终端设备3确定的第一梯度信息为则得到第一梯度平均信息为和的均值信息。进一步地,第一梯度平均信息为终端设备1、终端设备2和终端设备3对联邦学习模型进行训练的联合训练结果信息。在本实施例中,在得到第一梯度信息和第一梯度平均信息后,通过第一梯度信息和第一梯度平均信息,确定当前次训练对应的第一梯度误差,其中,当前次训练对应的第一梯度误差是终端设备的训练结果信息和多个终端设备的联合训练结果信息共同确定的。这样设置的好处是可以结合多个终端设备联合训练的结果确定每一个终端设备的梯度误差,可以避免由于终端设备计算资源不一致,造成的训练结果差异较大而造成的误差。
101.在一个示例中,其中,根据第一梯度信息和第一梯度平均信息,确定当前次训练对应的第一梯度误差,包括:
102.根据第一梯度信息和第一梯度平均信息,确定梯度压缩比例,其中,梯度压缩比例表征第一梯度信息与第一梯度平均信息之间的差值信息;
103.根据梯度压缩比例、预设的学习率参数以及上一次训练所得到的第一梯度误差,确定当前次训练对应的第一梯度误差。
104.在一个示例中,为了便于说明将梯度压缩比例设为r
ti
,则r
t1
为终端设备1当前次的第一梯度信息与第一梯度平均信息之间的差值信息。
105.本实施例中,预设的学习率参数为β,上一次训练所得到的第一梯度误差为梯度压缩比例为r
t1
,则可以根据公式确定当前次训练对应的第一梯度误差其中,t表征的含义是终端设备接收全局参数的次数,也为终端设备训练全局参数的次数,为大于等于1的自然数。
106.i代表的含义是终端设备的标识,也为大于等于1的自然数。其中,若当前次训练为第一次,则上一次训练的第一梯度误差为将取为0。这样设置的好处是终端设备可以确定出每一次服务器和终端设备交互造成的误差值,进而可以将该误差值及时同步到服务器。
107.在一个示例中,其中,在将第一梯度信息发送给服务器之前,还包括:对第一梯度信息,进行稀疏化处理和量化处理;
108.其中,第一梯度平均信息为基于多个终端设备的第一梯度信息所确定的,多个终端设备中的终端设备的第一梯度信息经过了稀疏化处理和量化处理。
109.在一个示例中,在将第一梯度信息发送至服务器之前,对第一梯度信息进行稀疏化和量化处理。其中,稀疏化常用的方法有top-k稀疏化,其中,top-k稀疏化是选取全局参数中数值最大的k个保留,其余值设为0。量化常用的方法有qsgd,将全局参数数值用概率计算转换成接近的两个量化数值。值得注意的是,本实施例中不对稀疏化和量化的方法进行限制。这样设置的好处是:对第一梯度信息进行稀疏化和量化可以降低终
端设备与服务器之间通讯资源的占用率。
110.在一个示例中,其中,将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,得到第一梯度信息,包括:
111.将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行多次训练,得到初始参数,其中,初始参数表征联邦学习模型的局部模型参数;
112.根据初始参数和全局参数,确定第一梯度信息。
113.本实施例中,终端设备通过待训练的输入字符,输入联邦学习模型中,经过多次本地训练得到初始参数,将初始参数记为全局参数记为则根据和确定第一梯度信息具体的,第一梯度信息可以通过如下公式进行求解:其中,t表征的含义是终端设备接收全局参数的次数,也为终端设备训练全局参数的次数,为大于等于1的自然数。
114.i代表的含义是终端设备的标识,也为大于等于1的自然数。这样设置的好处是可以针对不同的终端设备确定其自身的第一梯度信息,可以充分利用不同终端设备的数据集。
115.在一个示例中,其中,将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行多次训练,得到初始参数,包括:
116.将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行多次训练,以更新联邦学习模型,得到每一次训练的模型参数,其中,模型参数表征联邦学习模型的局部模型参数;
117.根据模型参数,确定第二梯度信息;第二梯度信息表征当前的终端设备对联邦学习模型进行多次训练后的训练结果信息;
118.根据第二梯度信息、以及预设的学习率参数更新模型参数,得到初始参数。
119.本实施例中,将待训练的输入字符输入至全局参数的联邦学习模型中进行多次训练,每一次训练后,得到的模型参数为局部模型参数,将局部模型参数记为其中,t表征的含义是终端设备接收全局参数的次数,也为终端设备训练全局参数的次数,为大于等于1的自然数。
120.i代表的含义是终端设备的标识,也为大于等于1的自然数。l代表的含义是训练的次数,l在满足训练次数后,则
121.根据局部模型参数得到第二梯度信息,将第二梯度信息记为
122.本实施例中,根据第二梯度信息、以及预设的学习率参数更新模型参数,得到初始参数的过程可以通过如下公式进行计算:
[0123][0124]
其中,预设的学习率参数为β。这样设置的好处是,每一个终端设备根据自身所存储的数据,更新模型参数,则可以使得最终该终端设备的模型是比较准确的。
[0125]
s302、对当前次训练对应的第一梯度误差,进行稀疏化处理和量化处理;其中,误差信息为基于多个终端设备的第一梯度误差所确定的,多个终端设备中的终端设备的第一
梯度误差经过了稀疏化处理和量化处理。
[0126]
本实施例中,当前次训练对应的第一梯度误差为进行稀疏化和量化处理,得到其中,稀疏化常用的方法有top-k稀疏化,其中,top-k稀疏化是选取全局参数中数值最大的k个保留,其余值设为0。量化常用的方法有qsgd,将全局参数数值用概率计算转换成接近的两个量化数值。值得注意的是,本实施例中不对稀疏化和量化的方法进行限制。这样设置的好处是,可以降低由于反复上传与下载模型参数而造成的过多占用终端设备与服务器的通讯资源的问题。
[0127]
s303、将当前次训练对应的第一梯度误差,发送给服务器,并接收服务器发送的误差信息;其中,误差信息为基于多个终端设备的第一梯度误差所确定的。
[0128]
本实施例中,将当前次训练对应的第一梯度误差稀疏化和量化后得到并将发送至服务器中,服务器对多个终端设备所上传的进行处理后,确定误差信息其中,为多个终端设备的均值。这样设置的好处是可以将更新的全局参数用于下一次终端设备的联邦学习模型的训练。
[0129]
s304、根据误差信息更新全局参数。
[0130]
本实施例中,在确定了误差信息后,通过更新全局参数。
[0131]
在一个示例中,其中,根据误差信息更新全局参数,包括:
[0132]
根据当前次训练对应的第一梯度误差、以及误差信息,确定局部参数;其中,局部参数为联邦学习模型的局部模型参数;
[0133]
将局部参数发送给服务器,并接收服务器发送的更新后的全局参数;其中,更新后的全局参数基于多个终端设备的局部参数所确定的。
[0134]
在一个示例中,根据当前次训练对应的第一梯度误差、以及误差信息,可以将终端设备1的局部参数进行确定,并在终端设备1的局部参数确定后,将以上参数发送至服务器中,通过服务器进行处理后得到更新后的全局参数,并接收服务器下发的更新后的全局参数。
[0135]
在一个示例中,其中,当前次训练对应的第一梯度误差经过了稀疏化处理和量化处理;根据当前次训练对应的第一梯度误差、以及误差信息,确定局部参数,包括:
[0136]
确定当前次训练对应的第一梯度误差的梯度损失信息,梯度损失信息表征当前次训练对应的第一梯度误差经过稀疏化处理和量化处理之后的精度损失;
[0137]
根据梯度损失信息和误差信息更新联邦学习模型的参数,得到局部参数。
[0138]
本实施例中,当前次训练对应的第一梯度误差的梯度损失信息可以表示为则可以通过如下公式进行计算:
[0139][0140]
根据梯度损失信息和误差信息更新联邦学习模型的参数,得到局部参数,该局部参数是下一轮初始参数,可以通过如下公式进行计算:
[0141]
[0142]
其中,为局部参数。
[0143]
这样设置的好处是可以将终端设备与服务器之间交互造成的误差进行抵消,进而提高新的全局参数的准确率,使得模型的准确率比较高。
[0144]
s305、是否达到预设条件。
[0145]
在一个示例中,本实施例中,预设条件为更新全局参数的次数或者全局参数为预设参数。进一步地,预设条件可以是利用误差信息更新全局参数的次数,例如,利用误差信息更新全局参数五次得到的最终的全局参数视为满足预设条件。还可以是全局参数为预设参数,例如预设参数a,则利用误差信息更新全局参数,当全局参数等于a时,则视为满足预设条件。若达到预设条件,则执行步骤s306;若没有达到预设条件,则重复执行步骤s301到步骤s305,直至达到预设条件。
[0146]
s306、将达到预设条件时所得到的全局参数配置至联邦学习模型中,通过联邦学习模型预测未来时刻的输入字符。
[0147]
示例性地,本步骤可以参见步骤s204,在此不再赘述。
[0148]
本公开提供一种用于预测输入字符的模型训练方法,包括:通过对当前次训练对应的第一梯度误差,进行稀疏化处理和量化处理,将当前次训练对应的第一梯度误差,发送给服务器,并接收服务器发送的误差信息,根据误差信息更新全局参数。采用本技术方案,能够保证相对不频繁的同步率,以及减少终端设备与服务器的数据传输量,同时通过重置传输误差的方法能改善稀疏化带来的收敛困难的问题。
[0149]
图4是根据本公开第三实施例的示意图,本公开提供了一种应用于预测输入字符的模型训练方法,方法应用于服务器,包括:
[0150]
s401、接收至少一个终端设备中的终端设备发送的当前次训练对应的第一梯度误差;其中,当前次训练对应的第一梯度误差为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到的;全局参数为预设的,全局参数为联邦学习模型的全局模型参数;第一梯度误差表征终端设备对联邦学习模型进行训练时产生的梯度信息的误差信息。
[0151]
在一个示例中,至少一个终端设备可以分别为终端设备1、终端设备2和终端设备3。服务器接收各个终端设备发送的当前次训练对应的第一梯度误差
[0152]
s402、根据第一梯度误差,确定误差信息;其中,误差信息表征对联邦学习模型进行训练时所产生的梯度信息的损失误差。
[0153]
本实施例中,在获取了多个终端设备的后,确定多个终端设备对联邦学习模型进行训练以及上传至服务器后所产生的误差信息
[0154]
s403、将误差信息发送给至少一个终端设备中的终端设备;其中,误差信息用于更新全局参数。
[0155]
本实施例中,在得到误差信息后,将误差信息发送至至少一个终端设备,其中,至少一个终端设备可以是终端设备1、终端设备2和终端设备3,还可以是终端设备4、终端设备5和终端设备6。
[0156]
s404、是否达到第一预设条件。
[0157]
本实施例中,第一预设条件可以是利用误差信息更新全局参数的次数,例如,利用误差信息更新全局参数五次得到的最终的全局参数视为满足第一预设条件。还可以是预先设置一个最终的全局参数的数值,例如a,则利用误差信息更新全局参数,当全局参数的数值等于a时,则视为满足第一预设条件。若达到第一预设条件,则执行步骤s405;若未达到第一预设条件,则执行步骤s401至s404。
[0158]
s405、将达到预设条件时所得到的全局参数配置至联邦学习模型中,通过联邦学习模型预测未来时刻的输入字符。
[0159]
在一个示例中,达到第一预设条件时的全局参数构建的联邦学习模型可以用于预测未来时刻的输入字符。
[0160]
本公开提供一种用于预测输入字符的模型训练方法,包括:重复以下各步骤,直至达到第一预设条件:接收至少一个终端设备中的终端设备发送的当前次训练对应的第一梯度误差,根据第一梯度误差,确定误差信息,将误差信息发送给至少一个终端设备中的终端设备。采用本技术方案,能够减小模型压缩带来的误差,并且更新全局参数使其更接近未压缩的模型聚合得到的结果。
[0161]
图5是根据本公开第四实施例的示意图,本公开提供了一种应用于预测输入字符的模型训练方法,方法应用于服务器,包括:
[0162]
s501、接收至少一个终端设备中的终端设备发送的第一梯度信息;其中,第一梯度信息表征终端设备对联邦学习模型进行训练时的训练结果信息。
[0163]
在一个示例中,至少一个终端设备中的终端设备的第一梯度信息为基于初始参数和全局参数所确定的,初始参数表征联邦学习模型的局部模型参数。
[0164]
在一个示例中,至少一个终端设备中的终端设备的第一梯度信息经过了稀疏化处理和量化处理。
[0165]
示例性地,本步骤可以参见步骤s301,在此不再赘述。
[0166]
s502、对根据第一梯度信息,确定第一梯度平均信息;其中,第一梯度平均信息为至少一个终端设备中的终端设备的第一梯度信息的均值信息;第一梯度平均信息表征多个终端设备对联邦学习模型进行训练的联合训练结果信息。
[0167]
本实施例中,将稀疏化处理和量化处理后的终端设备的第一梯度信息记为则其中,t表征的含义是终端设备接收全局参数的次数,也为终端设备训练全局参数的次数,为大于等于1的自然数。i代表的含义是终端设备的标识,也为大于等于1的自然数。
[0168]
第一梯度平均信息为
[0169]
其中,st表示多个终端设备的数量。
[0170]
s503、将第一梯度平均信息,发送给至少一个终端设备中的终端设备;第一梯度平均信息用于确定当前次训练对应的第一梯度误差。
[0171]
示例性地,本步骤可以参见步骤s301,在此不再赘述。
[0172]
s504、接收至少一个终端设备中的终端设备发送的当前次训练对应的第一梯度误
差;其中,当前次训练对应的第一梯度误差为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到的;全局参数为预设的,全局参数为联邦学习模型的全局模型参数;第一梯度误差表征终端设备对联邦学习模型进行训练时产生的梯度信息的误差信息。
[0173]
在一个示例中,当前次训练对应的第一梯度误差经过了稀疏化处理和量化处理。
[0174]
在一个示例中,其中,当前次训练对应的第一梯度误差为根据梯度压缩比例、预设的学习率参数以及上一次训练所得到的第一梯度误差所确定的;其中,梯度压缩比例为根据第一梯度信息和第一梯度平均信息所确定的。
[0175]
本实施例中,梯度压缩比例r
ti
,可以由如下公式计算得到:
[0176][0177]
其中,第一梯度信息为第一梯度平均信息为
[0178]
其中,st表示多个终端设备的数量。其中,t表征的含义是终端设备接收全局参数的次数,也为终端设备训练全局参数的次数,为大于等于1的自然数。i代表的含义是终端设备的标识,也为大于等于1的自然数。
[0179]
s505、根据第一梯度误差,确定误差信息;其中,误差信息表征对联邦学习模型进行训练时所产生的梯度信息的损失误差。
[0180]
本实施例中,第一梯度误差为误差信息可以通过如下公式进行计算:
[0181][0182]
其中,st表示多个终端设备的数量。其中,t表征的含义是终端设备接收全局参数的次数,也为终端设备训练全局参数的次数,为大于等于1的自然数。i代表的含义是终端设备的标识,也为大于等于1的自然数。
[0183]
s506、将误差信息发送给至少一个终端设备中的终端设备;其中,误差信息用于更新全局参数;其中,具有达到第一预设条件时所得到的全局参数的联邦学习模型,用于预测未来时刻的输入字符。
[0184]
示例性地,本步骤可以参见步骤s303,在此不再赘述。
[0185]
s507、接收至少一个终端设备中的终端设备发送的局部参数;其中,局部参数为联邦学习模型的局部模型参数;局部参数为基于当前次训练对应的第一梯度误差、以及误差信息所确定的。
[0186]
其中,当前次训练对应的第一梯度误差经过了稀疏化处理和量化处理;局部参数为基于梯度损失信息和误差信息更新联邦学习模型的参数所确定的;梯度损失信息表征当前次训练对应的第一梯度误差经过稀疏化处理和量化处理之后的精度损失。
[0187]
示例性地,本步骤可以参见步骤s304,在此不再赘述。
[0188]
s508、根据局部参数进行均值处理,确定更新后的全局参数。
[0189]
本实施例中,为局部参数,则设更新后的全局参数则
[0190]
其中,st表示多个终端设备的数量。其中,t表征的含义是终端设备接收全局参数的次数,也为终端设备训练全局参数的次数,为大于等于1的自然数。i代表的含义是终端设备的标识,也为大于等于1的自然数。
[0191]
s509、判断更新后的全局参数是否满足第一预设条件。
[0192]
在一个示例中,第一预设条件可以是利用误差信息更新全局参数的次数,例如,利用误差信息更新全局参数五次得到的更新后的全局参数视为满足第一预设条件。还可以是预先设置一个更新后的全局参数的数值,例如a,则利用误差信息更新全局参数,当更新后的全局参数的数值等于a时,则视为满足第一预设条件。若是,则执行步骤s510,若否,则重复执行步骤s501至s508。
[0193]
s510、将更新后的全局参数发送给至少一个终端设备中的终端设备。
[0194]
示例性地,本步骤可以参见步骤s304,在此不再赘述。
[0195]
本公开提供一种用于预测输入字符的模型训练方法,包括:接收至少一个终端设备中的终端设备发送的第一梯度信息,对根据第一梯度信息,确定第一梯度平均信息,接收至少一个终端设备中的终端设备发送的局部参数,根据局部参数进行均值处理,确定更新后的全局参数,将更新后的全局参数发送给至少一个终端设备中的终端设备。采用本技术方案,能够解决由于不同终端设备中数据集的异构导致的模型参数差异较大的问题。
[0196]
图6是根据本公开第五实施例的示意图,本公开提供了一种应用于预测输入字符的模型训练方法,图6中示出了服务器和终端设备的交互过程具体步骤如下:
[0197]
s601、终端设备将稀疏化处理和量化处理后的第一梯度信息发送给服务器。
[0198]
s602、服务器根据第一梯度信息,确定第一梯度平均信息,将第一梯度平均信息,发送给至少一个终端设备中的终端设备。
[0199]
s603、终端设备将稀疏化和量化处理后的当前次训练对应的第一梯度误差,发送给服务器。
[0200]
s604、服务器根据第一梯度误差,确定误差信息,将误差信息发送给至少一个终端设备中的终端设备。
[0201]
s605、终端设备根据误差信息更新局部参数,并发送至服务器。
[0202]
s606、服务器根据局部参数进行均值处理,确定更新后的全局参数,将更新后的全局参数发送给至少一个终端设备中的终端设备。
[0203]
本实施例中,具体的解释可以参见上述实施例,在此不再赘述。
[0204]
本公开提供一种用于预测输入字符的模型训练方法,通过服务器与客户端之间模型参数的交互,能够使得最终的联邦学习模型的准确率比较高,进而能够比较准确地预测终端设备未来时刻的输入字符,提高用户使用体验。
[0205]
图7是根据本公开第六实施例的示意图,本公开提供了一种输入字符的预测方法,方法应用于终端设备,方法包括:
[0206]
s701、将历史时刻的输入字符,输入至预测模型中,得到未来时刻的输入字符。
[0207]
本实施例中,历史时刻的输入字符是指从当下时刻之前的时刻输入的字符,将以
上的输入字符输入至预测模型中,通过预测模型输出未来时刻的输入字符。
[0208]
s702、显示未来时刻的输入字符。
[0209]
本实施例中,在终端设备的屏幕中对预测模型输出的未来时刻的输入字符进行展示,以提供给用户智能化的选择。
[0210]
其中,预测模型为具有达到预设条件时所得到的全局参数的联邦学习模型;预测模型为基于误差信息更新配置了全局参数的联邦学习模型中的全局参数所得到的,误差信息为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到;全局参数为预设的,全局参数为联邦学习模型的全局模型参数;误差信息表征对联邦学习模型进行训练时所产生的梯度信息的损失误差。
[0211]
在一个示例中,其中,误差信息为基于多个终端设备的当前次训练对应的第一梯度误差所确定的。
[0212]
当前次训练对应的第一梯度误差表征对联邦学习模型进行训练时产生的梯度信息的误差信息;当前次训练对应的第一梯度误差为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到的。
[0213]
在一个示例中,其中,当前次训练对应的第一梯度误差为基于第一梯度信息和第一梯度平均信息所确定的。
[0214]
其中,第一梯度平均信息为多个终端设备的第一梯度信息的均值信息;第一梯度平均信息表征多个终端设备对联邦学习模型进行训练的联合训练结果信息。
[0215]
第一梯度信息表征终端设备对联邦学习模型进行训练时的训练结果信息;第一梯度信息为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到的。
[0216]
在一个示例中,其中,当前次训练对应的第一梯度误差为基于梯度压缩比例、预设的学习率参数以及上一次训练所得到的第一梯度误差所确定的。
[0217]
其中,梯度压缩比例表征第一梯度信息与第一梯度平均信息之间的差值信息。
[0218]
在一个示例中,其中,第一梯度信息经过了稀疏化处理和量化处理。
[0219]
第一梯度平均信息为基于多个终端设备的第一梯度信息所确定的,多个终端设备中的终端设备的第一梯度信息经过了稀疏化处理和量化处理。
[0220]
在一个示例中,其中,第一梯度信息为基于初始参数和全局参数所确定的。
[0221]
其中,初始参数表征联邦学习模型的局部模型参数;初始参数为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行多次训练所得到的。
[0222]
在一个示例中,其中,初始参数为基于第二梯度信息、以及预设的学习率参数更新模型参数所得到的。
[0223]
其中,第二梯度信息表征终端设备对联邦学习模型进行多次训练后的训练结果信息;第二梯度信息为基于模型参数所确定的;模型参数表征联邦学习模型的局部模型参数;模型参数为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行训练所得到的。
[0224]
在一个示例中,其中,当前次训练对应的第一梯度误差经过了稀疏化处理和量化处理。
[0225]
其中,误差信息为基于多个终端设备的第一梯度误差所确定的,多个终端设备中
的终端设备的第一梯度误差经过了稀疏化处理和量化处理。
[0226]
在一个示例中,其中,全局参数被基于多个终端设备的局部参数进行更新。
[0227]
其中,局部参数为联邦学习模型的局部模型参数;局部参数为基于当前次训练对应的第一梯度误差、以及误差信息所确定的。
[0228]
在一个示例中,其中,当前次训练对应的第一梯度误差经过了稀疏化处理和量化处理。
[0229]
局部参数为基于梯度损失信息和误差信息更新联邦学习模型的参数所得到的;其中,梯度损失信息表征当前次训练对应的第一梯度误差经过稀疏化处理和量化处理之后的精度损失。
[0230]
本实施例中,具体的解释可以参见上述实施例,在此不再赘述。
[0231]
本公开提供一种输入字符的预测方法,包括:将历史时刻的输入字符,输入至预测模型中,得到未来时刻的输入字符,显示未来时刻的输入字符。
[0232]
采用本技术方案,能够利用比较准确的联邦学习模型预测终端设备未来时刻的输入字符,提高用户使用体验。
[0233]
图8是根据本公开第七实施例的示意图,本公开提供了一种应用于预测输入字符的模型训练装置80,该装置80应用于终端设备,装置80包括:
[0234]
重复以下各步骤,直至达到预设条件:
[0235]
输入单元801,用于将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,得到误差信息;其中,全局参数为预设的,全局参数为联邦学习模型的全局模型参数;误差信息表征对联邦学习模型进行训练时所产生的梯度信息的损失误差。
[0236]
更新单元802,用于根据误差信息更新全局参数。
[0237]
其中,具有达到预设条件时所得到的全局参数的联邦学习模型,用于预测未来时刻的输入字符。
[0238]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0239]
图9是根据本公开第八实施例的示意图,本公开提供了一种应用于预测输入字符的模型训练装置90,该装置90应用于终端设备,该装置90包括:
[0240]
重复以下各步骤,直至达到预设条件;其中,预设条件为更新全局参数的次数或者全局参数为预设参数。
[0241]
输入单元901,用于将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,得到误差信息;其中,全局参数为预设的,全局参数为联邦学习模型的全局模型参数;误差信息表征对联邦学习模型进行训练时所产生的梯度信息的损失误差。
[0242]
更新单元902,用于根据误差信息更新全局参数。
[0243]
其中,具有达到预设条件时所得到的全局参数的联邦学习模型,用于预测未来时刻的输入字符。
[0244]
在一个示例中,其中,输入单元901,包括:
[0245]
输入模块9011,用于将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,得到当前次训练对应的第一梯度误差;其中,第一梯度误差表征当前的终端设备对联邦学习模型进行训练时产生的梯度信息的误差信息。
[0246]
发送模块9012,用于将当前次训练对应的第一梯度误差,发送给服务器,并接收服务器发送的误差信息;其中,误差信息为基于多个终端设备的第一梯度误差所确定的。
[0247]
在一个示例中,其中,输入模块9011,包括:
[0248]
输入子模块90111,用于将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理,得到第一梯度信息;其中,第一梯度信息表征当前的终端设备对联邦学习模型进行训练时的训练结果信息。
[0249]
接收子模块90112,用于将第一梯度信息发送给服务器,并接收服务器发送的第一梯度平均信息;其中,第一梯度平均信息为多个终端设备的第一梯度信息的均值信息;第一梯度平均信息表征多个终端设备对联邦学习模型进行训练的联合训练结果信息。
[0250]
确定子模块90113,用于根据第一梯度信息和第一梯度平均信息,确定当前次训练对应的第一梯度误差。
[0251]
在一个示例中,其中,确定子模块90113,用于:
[0252]
根据第一梯度信息和第一梯度平均信息,确定梯度压缩比例,其中,梯度压缩比例表征第一梯度信息与第一梯度平均信息之间的差值信息。
[0253]
根据梯度压缩比例、预设的学习率参数以及上一次训练所得到的第一梯度误差,确定当前次训练对应的第一梯度误差。
[0254]
在一个示例中,其中,该装置还包括:
[0255]
第一处理单元903,用于对第一梯度信息,进行稀疏化处理和量化处理。
[0256]
其中,第一梯度平均信息为基于多个终端设备的第一梯度信息所确定的,多个终端设备中的终端设备的第一梯度信息经过了稀疏化处理和量化处理。
[0257]
在一个示例中,其中,输入子模块90111,用于:
[0258]
将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行多次训练,得到初始参数,其中,初始参数表征联邦学习模型的局部模型参数。
[0259]
根据初始参数和全局参数,确定第一梯度信息。
[0260]
在一个示例中,其中,输入子模块90111,用于:
[0261]
将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行多次训练,以更新联邦学习模型,得到每一次训练的模型参数,其中,模型参数表征联邦学习模型的局部模型参数。
[0262]
根据模型参数,确定第二梯度信息;第二梯度信息表征当前的终端设备对联邦学习模型进行多次训练后的训练结果信息。
[0263]
根据第二梯度信息、以及预设的学习率参数更新模型参数,得到初始参数。
[0264]
在一个示例中,其中,装置,还包括:
[0265]
第二处理单元904,用于对当前次训练对应的第一梯度误差,进行稀疏化处理和量化处理。
[0266]
其中,误差信息为基于多个终端设备的第一梯度误差所确定的,多个终端设备中的终端设备的第一梯度误差经过了稀疏化处理和量化处理。
[0267]
在一个示例中,其中,更新单元902,包括:
[0268]
确定模块9021,用于根据当前次训练对应的第一梯度误差、以及误差信息,确定局部参数;其中,局部参数为联邦学习模型的局部模型参数。
[0269]
接收模块9022,用于将局部参数发送给服务器,并接收服务器发送的更新后的全局参数;其中,更新后的全局参数基于多个终端设备的局部参数所确定的。
[0270]
在一个示例中,其中,当前次训练对应的第一梯度误差经过了稀疏化处理和量化处理;确定模块9021,包括:
[0271]
确定子模块90211,用于确定当前次训练对应的第一梯度误差的梯度损失信息,梯度损失信息表征当前次训练对应的第一梯度误差经过稀疏化处理和量化处理之后的精度损失。
[0272]
更新子模块90212,用于根据梯度损失信息和误差信息更新联邦学习模型的参数,得到局部参数。
[0273]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0274]
图10是根据本公开第九实施例的示意图,本公开提供了一种应用于预测输入字符的模型训练装置100,该装置100应用于服务器,该装置100包括:
[0275]
重复以下各步骤,直至达到第一预设条件:
[0276]
第一接收单元1001,用于接收至少一个终端设备中的终端设备发送的当前次训练对应的第一梯度误差;其中,当前次训练对应的第一梯度误差为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到的;全局参数为预设的,全局参数为联邦学习模型的全局模型参数;第一梯度误差表征终端设备对联邦学习模型进行训练时产生的梯度信息的误差信息。
[0277]
第一确定单元1002,用于根据第一梯度误差,确定误差信息;其中,误差信息表征对联邦学习模型进行训练时所产生的梯度信息的损失误差;
[0278]
第一发送单元1003,用于将误差信息发送给至少一个终端设备中的终端设备;其中,误差信息用于更新全局参数。
[0279]
其中,具有达到第一预设条件时所得到的全局参数的联邦学习模型,用于预测未来时刻的输入字符。
[0280]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0281]
图11是根据本公开第十实施例的示意图,本公开提供了一种应用于预测输入字符的模型训练装置110,该装置110应用于服务器,该装置110,包括:
[0282]
重复以下各步骤,直至达到第一预设条件:
[0283]
第一接收单元1101,用于接收至少一个终端设备中的终端设备发送的当前次训练对应的第一梯度误差;其中,当前次训练对应的第一梯度误差为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到的;全局参数为预设的,全局参数为联邦学习模型的全局模型参数;第一梯度误差表征终端设备对联邦学习模型进行训练时产生的梯度信息的误差信息。
[0284]
第一确定单元1102,用于根据第一梯度误差,确定误差信息;其中,误差信息表征对联邦学习模型进行训练时所产生的梯度信息的损失误差。
[0285]
第一发送单元1103,用于将误差信息发送给至少一个终端设备中的终端设备;其中,误差信息用于更新全局参数。
[0286]
其中,具有达到第一预设条件时所得到的全局参数的联邦学习模型,用于预测未来时刻的输入字符。
[0287]
在一个示例中,其中,该装置,还包括:
[0288]
第二接收单元1104,用于接收至少一个终端设备中的终端设备发送的第一梯度信息;其中,第一梯度信息表征终端设备对联邦学习模型进行训练时的训练结果信息。
[0289]
第二确定单元1105,用于对根据第一梯度信息,确定第一梯度平均信息;其中,第一梯度平均信息为至少一个终端设备中的终端设备的第一梯度信息的均值信息;第一梯度平均信息表征多个终端设备对联邦学习模型进行训练的联合训练结果信息。
[0290]
第二发送单元1106,用于将第一梯度平均信息,发送给至少一个终端设备中的终端设备;第一梯度平均信息用于确定当前次训练对应的第一梯度误差。
[0291]
在一个示例中,其中,当前次训练对应的第一梯度误差为根据梯度压缩比例、预设的学习率参数以及上一次训练所得到的第一梯度误差所确定的。
[0292]
其中,梯度压缩比例为根据第一梯度信息和第一梯度平均信息所确定的。
[0293]
在一个示例中,其中,至少一个终端设备中的终端设备的第一梯度信息经过了稀疏化处理和量化处理。
[0294]
在一个示例中,其中,至少一个终端设备中的终端设备的第一梯度信息为基于初始参数和全局参数所确定的,初始参数表征联邦学习模型的局部模型参数。
[0295]
在一个示例中,其中,当前次训练对应的第一梯度误差经过了稀疏化处理和量化处理。
[0296]
在一个示例中,其中,装置,还包括:
[0297]
第三接收单元1107,用于接收至少一个终端设备中的终端设备发送的局部参数;其中,局部参数为联邦学习模型的局部模型参数;局部参数为基于当前次训练对应的第一梯度误差、以及误差信息所确定的。
[0298]
第三确定单元1108,用于根据局部参数进行均值处理,确定更新后的全局参数。
[0299]
第三发送单元1109,用于将更新后的全局参数发送给至少一个终端设备中的终端设备。
[0300]
在一个示例中,其中,当前次训练对应的第一梯度误差经过了稀疏化处理和量化处理。
[0301]
局部参数为基于梯度损失信息和误差信息更新联邦学习模型的参数所确定的;梯度损失信息表征当前次训练对应的第一梯度误差经过稀疏化处理和量化处理之后的精度损失。
[0302]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0303]
图12是根据本公开第十一实施例的示意图,本公开提供了一种输入字符的预测装置120,该装置120应用于终端设备,该装置120包括:
[0304]
输入单元1201,用于将历史时刻的输入字符,输入至预测模型中,得到未来时刻的输入字符。
[0305]
显示单元1202,用于显示未来时刻的输入字符。
[0306]
其中,预测模型为具有达到预设条件时所得到的全局参数的联邦学习模型;预测
模型为基于误差信息更新配置了全局参数的联邦学习模型中的全局参数所得到的,误差信息为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到;全局参数为预设的,全局参数为联邦学习模型的全局模型参数;误差信息表征对联邦学习模型进行训练时所产生的梯度信息的损失误差。
[0307]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0308]
图13是根据本公开第十二实施例的示意图,本公开提供了一种输入字符的预测装置130,该装置130应用于终端设备,该装置130包括:
[0309]
输入单元1301,用于将历史时刻的输入字符,输入至预测模型中,得到未来时刻的输入字符。
[0310]
显示单元1302,用于显示未来时刻的输入字符。
[0311]
其中,预测模型为具有达到预设条件时所得到的全局参数的联邦学习模型;预测模型为基于误差信息更新配置了全局参数的联邦学习模型中的全局参数所得到的,误差信息为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到;全局参数为预设的,全局参数为联邦学习模型的全局模型参数;误差信息表征对联邦学习模型进行训练时所产生的梯度信息的损失误差。
[0312]
在一个示例中,其中,误差信息为基于多个终端设备的当前次训练对应的第一梯度误差所确定的。
[0313]
当前次训练对应的第一梯度误差表征对联邦学习模型进行训练时产生的梯度信息的误差信息;当前次训练对应的第一梯度误差为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到的。
[0314]
在一个示例中,其中,当前次训练对应的第一梯度误差为基于第一梯度信息和第一梯度平均信息所确定的。
[0315]
其中,第一梯度平均信息为多个终端设备的第一梯度信息的均值信息;第一梯度平均信息表征多个终端设备对联邦学习模型进行训练的联合训练结果信息。
[0316]
第一梯度信息表征终端设备对联邦学习模型进行训练时的训练结果信息;第一梯度信息为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行处理所得到的。
[0317]
在一个示例中,其中,当前次训练对应的第一梯度误差为基于梯度压缩比例、预设的学习率参数以及上一次训练所得到的第一梯度误差所确定的。
[0318]
其中,梯度压缩比例表征第一梯度信息与第一梯度平均信息之间的差值信息。
[0319]
在一个示例中,其中,第一梯度信息经过了稀疏化处理和量化处理。
[0320]
第一梯度平均信息为基于多个终端设备的第一梯度信息所确定的,多个终端设备中的终端设备的第一梯度信息经过了稀疏化处理和量化处理。
[0321]
在一个示例中,其中,第一梯度信息为基于初始参数和全局参数所确定的。
[0322]
其中,初始参数表征联邦学习模型的局部模型参数;初始参数为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行多次训练所得到的。
[0323]
在一个示例中,其中,初始参数为基于第二梯度信息、以及预设的学习率参数更新模型参数所得到的。
[0324]
其中,第二梯度信息表征终端设备对联邦学习模型进行多次训练后的训练结果信息;第二梯度信息为基于模型参数所确定的;模型参数表征联邦学习模型的局部模型参数;模型参数为将待训练的输入字符,输入至配置了全局参数的联邦学习模型中进行训练所得到的。
[0325]
在一个示例中,其中,当前次训练对应的第一梯度误差经过了稀疏化处理和量化处理。
[0326]
其中,误差信息为基于多个终端设备的第一梯度误差所确定的,多个终端设备中的终端设备的第一梯度误差经过了稀疏化处理和量化处理。
[0327]
在一个示例中,其中,全局参数被基于多个终端设备的局部参数进行更新。
[0328]
其中,局部参数为联邦学习模型的局部模型参数;局部参数为基于当前次训练对应的第一梯度误差、以及误差信息所确定的。
[0329]
在一个示例中,其中,当前次训练对应的第一梯度误差经过了稀疏化处理和量化处理。
[0330]
局部参数为基于梯度损失信息和误差信息更新联邦学习模型的参数所得到的;其中,梯度损失信息表征当前次训练对应的第一梯度误差经过稀疏化处理和量化处理之后的精度损失。
[0331]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0332]
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0333]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0334]
根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得终端设备执行上述任一实施例提供的方案。
[0335]
图14示出了可以用来实施本公开的实施例的示例终端设备1400的示意性框图。终端设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。终端设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0336]
如图14所示,设备1400包括计算单元1401,其可以根据存储在只读存储器(rom)1402中的计算机程序或者从存储单元1408加载到随机访问存储器(ram)1403中的计算机程序,来执行各种适当的动作和处理。在ram 1403中,还可存储设备1400操作所需的各种程序和数据。计算单元1401、rom 1402以及ram 1403通过总线1404彼此相连。输入/输出(i/o)接口1405也连接至总线1404。
[0337]
设备1400中的多个部件连接至i/o接口1405,包括:输入单元1406,例如键盘、鼠标等;输出单元1407,例如各种类型的显示器、扬声器等;存储单元1408,例如磁盘、光盘等;以
及通信单元1409,例如网卡、调制解调器、无线通信收发机等。通信单元1409允许设备1400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0338]
计算单元1401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1401的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1401执行上文所描述的各个方法和处理,例如应用于预测输入字符的模型训练方法。例如,在一些实施例中,应用于预测输入字符的模型训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1408。在一些实施例中,计算机程序的部分或者全部可以经由rom 1402和/或通信单元1409而被载入和/或安装到设备1400上。当计算机程序加载到ram 1403并由计算单元1401执行时,可以执行上文描述的应用于预测输入字符的模型训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元1401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用于预测输入字符的模型训练方法。
[0339]
图15示出了可以用来实施本公开的实施例的示例服务器1500的示意性框图。服务器旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。服务器还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0340]
如图15所示,设备1500包括计算单元1501,其可以根据存储在只读存储器(rom)1502中的计算机程序或者从存储单元1508加载到随机访问存储器(ram)1503中的计算机程序,来执行各种适当的动作和处理。在ram 1503中,还可存储设备1500操作所需的各种程序和数据。计算单元1501、rom 1502以及ram 1503通过总线1504彼此相连。输入/输出(i/o)接口1505也连接至总线1504。
[0341]
设备1500中的多个部件连接至i/o接口1505,包括:输入单元1506,例如键盘、鼠标等;输出单元1507,例如各种类型的显示器、扬声器等;存储单元1508,例如磁盘、光盘等;以及通信单元1509,例如网卡、调制解调器、无线通信收发机等。通信单元1509允许设备1500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0342]
计算单元1501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1501执行上文所描述的各个方法和处理,例如应用于预测输入字符的模型训练方法。例如,在一些实施例中,应用于预测输入字符的模型训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1508。在一些实施例中,计算机程序的部分或者全部可以经由rom 1502和/或通信单元1509而被载入和/或安装到设备1500上。当计算机程序加载到ram 1503并由计算单元1501执行时,可以执行上文描述的应用于预测输入字符的模型训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元1501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用于预测输入字符的模型训练方法。
[0343]
本公开提供了一种芯片,包括:所述芯片包括所述的应用于预测输入字符的模型训练装置,或者,所述芯片包括如所述的应用于预测输入字符的模型训练装置,或者,所述芯片包括所述的输入字符的预测装置。
[0344]
本公开提供了一种电子设备,包括如所述的芯片。
[0345]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0346]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0347]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0348]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0349]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0350]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通
过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0351]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0352]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1