基于联合学习的个性化模型训练方法、电子设备和介质
文献发布时间:2023-06-19 12:22:51
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于联合学习的个性化模型训练方法、电子设备和计算机可读存储介质。
背景技术
随着人工智能技术的不断进步以及社会的不断发展,个性化推荐已经广泛应用于新闻、购物以及餐品等诸多方面。利用大数据分析建模可以提供更加精准的个性化推荐服务。
目前,使用大数据分析建模时一般需要采集端侧的用户个人隐私数据。然而,随着用户个人隐私数据日益被重视,以及用户个人隐私数据频繁泄漏暴露出来的数据安全问题,使目前收集用户个人隐私数据到云侧服务器进行大数据分析建模的方案受到了诸多质疑和挑战。
基于此,Google提出了联合学习(federated learning)概念,以在不上传用户数据的前提下,通过端侧设备进行建模,并在端侧设备训练模型,仅仅上传端侧训练的模型权重至云侧。然后,再由云侧根据模型权重统一更新云侧模型,实现联合建模。该方案虽然可以在保护用户隐私数据的前提下实现大数据建模,但是所有用户共享一个模型,不适用于个性化推荐场景。也即现有方案更多的是为了保护用户隐私数据,高效训练模型,未能考虑个性化建模的需求。
发明内容
本申请实施例提供一种基于联合学习的个性化模型训练方法、电子设备和计算机可读存储介质,以解决现有技术中不能满足个性化建模的需求的问题。
第一方面,本申请实施例提供一种基于联合学习的个性化模型训练方法,包括:
客户端设备将第一用户业务数据上传至服务器,以指示所述服务器根据所述第一用户业务数据构建聚类先验模型;
所述客户端设备获取所述服务器传输的所述聚类先验模型和个性化模型;
所述客户端设备根据所述聚类先验模型、所述第一用户业务数据和用户隐私数据,训练所述个性化模型,得到本地个性化模型和模型更新信息;
所述客户端设备上传所述模型更新信息至所述服务器,以指示所述服务器根据所述模型更新信息对云侧的个性化模型进行更新,得到全局个性化模型;
所述客户端设备接收所述服务器传输的所述全局个性化模型。
本申请实施例中,客户端设备将用户业务数据上传至服务器,由服务器根据用户业务数据构建出聚类先验模型,为客户端设备的个性化模型训练提供先验知识,客户端设备根据服务器提供的先验知识,分析本地的用户从属于哪个个性化推荐模型后,使用不同的用户数据训练不同的个性化模型,从而在不上传用户隐私数据即保护用户隐私的前提下,满足了个性化建模的需求。
在第一方面的一种可能的实现方式中,在所述客户端设备接收所述服务器传输的所述全局个性化模型之后,所述方法还包括:
所述客户端设备根据所述全局个性化模型和所述本地个性化模型进行模型更新,得到用于进行预测的目标个性化模型。
在第一方面的一种可能的实现方式中,所述客户端设备根据所述全局个性化模型和所述本地个性化模型进行模型更新,得到用于进行预测的目标个性化模型,包括:
所述客户端设备使用指数加权平均方式将所述全局个性化模型和所述本地个性化模型进行融合,得到所述目标个性化模型。
在第一方面的一种可能的实现方式中,在所述客户端设备根据所述全局个性化模型和所述本地个性化模型进行模型更新,得到用于进行预测的目标个性化模型之后,所述方法还包括:
所述客户端设备获取第二用户业务数据;
所述客户端设备使用本地先验模型,确定所述第二用户业务数据所属的目标个性化模型;
所述客户端设备将所述第二用户业务数据和所述用户隐私数据进行拼接,得到待预测数据;
所述客户端设备根据所述待预测数据,使用所述第二用户业务数据所属的目标个性化模型预测,得到所述目标个性化模型的预测结果;
所述客户端设备根据所述预测结果,得到个性化推荐结果。
在该实现方式中,客户端设备使用在本地的多个目标个性化模型进行预测,根据多个预测结果得到最终的个性化推荐结果,即使用多个目标个性化模型共同决策,提高了个性化推荐的准确性和可泛化性。
在第一方面的一种可能的实现方式中,所述客户端设备根据所述聚类先验模型、所述第一用户业务数据和用户隐私数据,训练所述个性化模型,得到本地个性化模型和模型更新信息,包括:
所述客户端设备使用所述聚类先验模型,确定所述第一用户业务数据所属的个性化模型;
所述客户端设备将所述第一用户业务数据和所述用户隐私数据进行拼接,得到训练数据;
所述客户端设备使用所述训练数据对所述第一用户业务数据所属的个性化模型进行训练,得到所述本地个性化模型和所述模型更新信息。
在该实现方式中,客户端设备充分利用云侧根据用户业务数据的先验知识,利用本地的用户隐私数据和用户业务数据,对不同的个性化模型进行训练,约束了个性化模型的训练方向。同一个时刻,客户端设备中可以有多个不同的个性化模型进行训练。
在第一方面的一种可能的实现方式中,所述模型更新信息为梯度。
在该实现方式中,客户端设备上传至云侧的是梯度,而不是模型权重,使得服务器可以根据不同维度的梯度累计程度,动态调整学习率,更新云侧模型,保证模型的训练效率,防止过拟合。
第二方面,本申请实施例提供一种基于联合学习的个性化模型训练方法,包括:
服务器获取客户端设备上传的第一用户业务数据;
所述服务器根据所述第一用户业务数据构建聚类先验模型,将所述聚类先验模型和个性化模型传输至所述客户端设备,以指示所述客户端设备根据所述聚类先验模型、所述第一用户业务数据和用户隐私数据训练所述个性化模型;
所述服务器获取所述客户端设备上传的所述个性化模型的模型更新信息;
所述服务器根据所述模型更新信息对云侧的个性化模型进行更新,得到全局个性化模型,将所述全局个性化模型传输至所述客户端设备。
在第二方面的一种可能的实现方式中,所述模型更新信息为梯度,所述服务器根据所述模型更新信息对云侧的个性化模型进行更新,得到全局个性化模型,包括:
所述服务器根据所述梯度调整所述全局个性化模型的学习率;
所述服务器根据调整后的学习率更新云侧的个性化推荐模型,得到所述全局个性化模型。
在实现方式中,服务器根据客户端设备上传的梯度动态调整学习率,保证模型的训练效率,尽可能防止模型过拟合。
在第二方面的一种可能的实现方式中,所述服务器根据所述第一用户业务数据构建聚类先验模型,将所述聚类先验模型和个性化模型传输至所述客户端设备,包括:
所述服务器使用聚类模型对所述第一用户业务数据进行分析,得到聚类先验模型;;
所述服务器根据所述聚类先验模型,初始化所述聚类先验模型对应的个性化模型;
所述服务器将初始化后的个性化模型和所述聚类先验模型传输至所述客户端设备。
第三方面,本申请实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面或者第二方面任一项所述的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或者第二方面任一项所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面或第二方面任一项所述的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的手机100的硬件结构示意框图;
图2为本申请实施例提供的手机100的软件结构框图;
图3为本申请实施例提供的系统架构示意框图;
图4为本申请实施例提供的一种基于联合学习的个性化模型训练方法的流程示意框图;
图5为本申请实施例提供的模型预测过程的流程示意框图;
图6为本申请实施例提供的一种基于联合学习的个性化模型训练方法的流程示意框图;
图7为本申请实施例提供的客户端设备和服务器之间的交互示意图;
图8为本申请实施例提供的新闻推荐业务场景示意图;
图9为本申请实施例提供的基于联合学习的个性化模型训练装置的结构示意框图;
图10为本申请实施例提供的基于联合学习的个性化模型训练装置的结构示意框图;
图11为本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。
下面先对本申请实施例可能涉及的系统架构进行介绍。
本申请实施例涉及的系统架构可以包括云侧和端侧,云侧可以具体包括一个或多个服务器计算设备,而端侧可以包括一个或多个客户端设备。客户端设备与云侧的服务器通信连接,通信连接的方式可以是任意的。
具体应用中,客户端设备例如可以为手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或个人数字助理(personaldigital assistant,PDA)等终端设备,在此不对客户端设备的具体类型作任何限制。
作为示例而非限定,以客户端设备为手机为例,如图1所示,手机100可以包括处理器110、外部存储器接口120、内部存储器121,通用串行总线(universal serial bus,USB)接口130、充电管理模块140、电源管理模块141,电池142、天线1、天线2、移动通信模块150、无线通信模块160、音频模块170、扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中,传感器模块180可以包括但不限于压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,以及骨传导传感器等中的一种或多种。
可以理解的是,本申请实施例示意的结构并不构成对手机100结构的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(Bluetooth,BT),低功耗蓝牙(BLE),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near fieldcommunication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
手机100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。
手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机100可以包括1个或N个摄像头193,N为大于1的正整数。
视频编解码器用于对数字视频压缩或解压缩。手机100可以支持一种或多种视频编解码器。这样,手机100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现手机100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行手机100的各种功能应用以及数据处理。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
触摸传感器,也称“触控器件”。触摸传感器可以设置于显示屏194,由触摸传感器与显示屏194组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器也可以设置于手机100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。手机100可以接收按键输入,产生与手机100的用户设置以及功能控制有关的键信号输入。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。手机100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。手机100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在手机100中,不能和手机100分离。
在介绍完手机的硬件结构之后,下面将结合图2示出的手机100的软件结构框图。
如图2所示,手机100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明手机100的软件结构。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,相册,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息,无线投屏,文件传输,以及多屏互动等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供手机100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,手机振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
为了更好地介绍本申请实施例可能涉及的系统架构,下面将结合图3示出的系统架构示意框图进行介绍。
如图3所示,该系统架构可以包括客户端设备31和服务器设备32。客户端设备31上存储有用户隐私数据311和用户业务数据312,该客户端设备31包括模型选择模块313、数据融合模块314、本地模型更新模块315、模型训练模块316、模型预测模块317和本地模型库318。其中,本地模型更快模块315可以包括聚类先验模型319和本地模型更新单元320。服务器设备32包括业务数据挖掘模块321、云侧模型更新模块322和云侧模型库323。其中,云侧模型更新模块322包括聚类先验模型324和云侧模型更新单元325。
客户端设备31获取到用户业务数据312之后,将用户业务数据上传至服务设备32。服务器设备32通过业务数据挖掘模块321挖掘用户业务数据之间的联系,为客户端设备的个性化模型训练提供先验知识。具体应用中,业务数据挖掘模块321可以对用户业务数据进行聚类分析,得到聚类簇个数,然后根据聚类簇个数构建聚类先验模型,并初始化对应的个性化模型。服务器设备32得到聚类先验模型和个性化模型之后,将这两者发送至客户端设备31。
客户端设备31接收到聚类先验模型和个性化模型后,可以通过模型选择模块313,使用云侧下发的聚类先验模型对用户业务数据进行分析,确定用户业务数据分别从属于哪个个性化模型。确认用户业务数据的所属个性化模型之后,客户端设备31再通过数据融合模块314将用户业务数据和用户隐私数据进行拼接,得到训练数据。
接着,客户端设备31通过模型训练模块316,使用拼接得到的训练数据对一个或多个个性化模型进行训练,得到当次训练后的个性化模型和当次模型训练的更新信息,将当次训练后的个性化模型存放在本地模型库,将当次训练的模型更新信息上传至服务器设备32。
服务器设备32接收到模型更新信息之后,通过云侧模型更新模块322中的云侧模型更新单元对云侧上的个性化模型进行更新,得到全局个性化模型,然后再将更新得到的全局个性化模型发送至客户端设备31。
具体应用中,云侧服务器在接收到各个客户端设备上传的模型更新信息后,可以先识别模型更新信息从属于哪个个性化模型,再根据模型更新信息更新对应的个性化模型。
需要指出的是,同一个时刻下,客户端设备上可能有多个不同的个性化模型在训练,云侧的服务器上也可以由多个不同全局个性化模型在更新。
至此,一轮训练结束,当进入下一轮模型训练时,重复上述步骤,不断地对全局个性化模型进行训练。当训练一轮或者多轮之后,可以进入模型预测阶段。
需要指出的是,模型训练和模型预测可以同步进行,也可以不同步进行。一般情况下,客户端设备可以先进行模型预测,然后,再对个性化模型进行训练。
在模型预测阶段,客户端设备31接收到云侧下发的全局个性化模型之后,通过本地模型更新模块315中的本地模型更新单元对本地的个性化模型进行更新,得到目标个性化模型。目标个性化模型可以用于预测。具体应用中,客户端设备可以将云侧下发的全局个性化模型和本地个性化模型进行融合,得到目标个性化模型。
客户端设备31和服务器设备32依次进行一轮或者多轮的个性化模型训练之后,可以得到用于预测的个性化模型。然后,可以使用训练得到的个性化模型进行个性化推荐。
在预测阶段中,客户端设备31可以使用本地聚类先验模型对用户业务数据进行分析,确定用户业务数据所属的目标个性化模型,然后,将用户隐私数据和用户业务数据进行拼接,得到预测数据。客户端设备31再通过模型预测模块317进行预测,得到预测结果。得到预测结果后,可以根据预测结果得到个性化推荐结果。
可以理解的是,图3中的客户端设备和服务器设备中的各个模块的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。
在介绍完本申请实施例可能涉及的系统架构,下面将分别对客户端设备一侧和服务器一侧的相关内容进行介绍。
下面先介绍客户端设备一侧的相关内容。
参见图4示出的一种基于联合学习的个性化模型训练方法的流程示意框图,该方法应用于客户端设备,该方法可以包括以下步骤:
步骤S401、客户端设备将第一用户业务数据上传至服务器,以指示服务器根据第一用户业务数据构建聚类先验模型。
需要说明的是,上述第一用户业务数据是指客户端设备在业务场景下采集并记录的业务数据。不同业务场景下,第一用户业务数据可能会有相应不同。例如,新闻信息流推荐的业务场景下,第一用户业务数据可以包括用户的新闻浏览记录数据、新闻点击记录数据、新闻类别、新闻的关键词和浏览时间段等中的一种或多种。例如,购物推荐的业务场景下,第一用户业务数据可以包括用户的浏览足迹数据、搜索数据和点击记录数据等。
客户端设备将采集的第一用户业务数据上传至服务器,服务器可以对第一用户业务数据进行聚类分析,得到聚类结果,再根据聚类结果构建出聚类先验模型。服务器接着确定聚类先验模型对应的个性化模型,并根据聚类先验知识初始化对应的个性化模型,再将个性化模型和聚类先验模型发送至客户端设备。
具体应用中,服务器可以使用无监督聚类方法对客户端设备上传的第一用户业务数据进行聚类分析,得到聚类结果。无监督聚类方法可以为但不限于k平均聚类算法(k-means clustering,K-means)或基于密度的聚类算法(Density-based spatialclustering of applications with noise,DBSCAN)。得到m个聚类结果之后,服务器再构建聚类先验模型,并确定对应的m个个性化模型。初始化m个个性化化推荐模型后,服务器将m个个性化模型和聚类先验模型发送至客户端设备,m为正整数。
步骤S402、客户端设备获取服务器传输的聚类先验模型和个性化模型。
步骤S403、客户端设备根据聚类先验模型、第一用户业务数据和用户隐私数据,训练个性化模型,得到本地个性化模型和模型更新信息。
可以理解的是,客户端设备上传至云侧的是不涉及用户隐私的第一用户业务数据,用户隐私数据没有上传至云侧,而是保存在客户端设备本地。用户隐私数据可以包括但不限于用户年龄、性别、职业、收入水平、婚姻状况、手机使用习惯和住址等数据。
在一些实施例中,客户端设备可以先使用聚类先验模型,确定第一用户业务数据所属的个性化模型。即使用聚类先验模型确定当前的第一用户业务数据分别属于哪个个性化模型。例如,使用聚类先验模型确定第一用户业务数据中属于A个性化模型。
接着,客户端设备将第一用户业务数据和用户隐私数据进行拼接,得到训练数据。
然后,客户端设备使用训练数据对第一用户业务数据所属的个性化模型进行训练,得到本地个性化模型和模型更新信息。
具体应用中,确定了第一用户业务数据从属于哪个个性化模型后,则可以确定哪些数据参与哪个个性化模型的训练。例如,a数据从属于A个性化模型,b数据从属于B个性化模型,c数据从属于A个性化模型和B个性化模型,则使用a数据和用户隐私数据拼接得到的训练数据,以及c数据和用户隐私数据拼接得到的训练数据,对A个性化模型进行模型训练。同理,使用b数据和用户隐私数据拼接得到的训练数据,以及c数据和用户隐私数据拼接得到的训练数据,对B个性化模型进行模型训练。
可以看出,客户端设备可以同时对一个或多个个性化模型进行训练,此时,客户端设备一侧的训练数据可以分别参与到不同的个性化模型的训练,即同一时刻会有多个不同业务场景下的个性化模型同时训练和更新,并行化程度较高。
需要说明的是,同一个用户可以对应不同的个性化模型,例如,同一个用户在不同的业务场景下对应不同的个性化模型。不同用户也可以对应不同的个性化模型。本申请实施例可以同时对同一个用户的不同个性化模型进行训练,也可以对多个用户共享的同一个个性化模型进行训练。
个性化模型的具体类型可以是多样的,其可以是机器学习模型,也可以是深度学习模型,亦或者是其它类型的模型,在此不作限定。例如,个性化模型可以为逻辑回归模型(Logistic Regression,LR)。对个性化模型进行训练后,客户端设备可以得到训练后的个性化模型以及模型更新信息,该模型更新信息是训练过程中得到的。该模型更新信息一般为模型参数,具体可以为模型梯度。
客户端设备充分利用云侧用户业务数据的先验知识,在客户端本地结合用户隐私数据和用户业务数据,对不同的个性化模型进行训练,约束了个性化模型的训练方向。
步骤S404、客户端设备上传模型更新信息至服务器,以指示服务器根据模型更新信息对云侧的个性化模型进行更新,得到全局个性化模型。
具体地,客户端设备得到训练后的个性化模型和模型更新信息后,可以将训练后的个性化模型存储在本地模型库,得到本地个性化模型,将模型更新信息上传至服务器。服务器可以根据该模型更新信息对云侧的个性化模型进行更新,得到全局个性化模型。
需要说明的是,对于同一个或同一类的个性化模型,服务器可以根据一个或多个客户端设备上传的模型更新信息,对全局个性化模型进行更新。作为示例而非限定,服务器上存放有A个性化模型,服务器将A个性化模型分别下发至N客户端设备和R客户端设备,该A个性化模型在N客户端设备和R客户端设备可以称为本地个性化模型,而存放在云侧的A个性化模型可以称为全局个性化模型。此时,服务器可以根据N客户端设备和R客户端设备上的A个性化模型的模型信息,更新存放在云侧的A个性化模型,即全局个性化模型。
在一些实施例中,上述模型更新信息为梯度,即客户端设备上传至云侧的是梯度,而不是模型权重。这样,服务器可以根据不同维度的梯度累计程度,动态调整学习率,更新云侧模型,保证模型的训练效率,防止模型过拟合。
步骤S405、客户端设备接收服务器传输的全局个性化模型。
需要说明的是,客户端本地模型训练可能进行多轮,此时,在下一轮的模型训练时,客户端设备还是上传用户业务数据,由云侧对用户业务数据进行聚类分析后,将先验知识下发至客户端设备,客户端设备使用聚类先验模型、用户业务数据和用户隐私数据对上一轮训练得到的全局个性化模型进行训练,得到更新后的全局个性化模型和模型更新信息。客户端设备再将模型更新信息上传至云侧,云侧根据模型更新信息再对全局个性化模型进行更新。依次类推,不断对全局个性化模型进行训练。
训练一定轮数之后,可以将训练得到的全局个性化模型和本地个性化模型进行融合,得到用于模型预测的目标个性化模型。
可选地,还可以包括步骤S406、客户端设备根据全局个性化模型和本地个性化模型进行模型更新,得到用于预测的目标个性化模型。
具体地,服务器根据客户端设备上传的模型更新信息,对全局个性化模型进行更新后,可以将更新后的全局个性化模型发送至客户端设备。在进行一轮或多轮训练后,客户端设备可以结合云侧下发的更新后的全局个性化模型和训练后的本地个性化模型进行模型更新,得到更新后的本地个性化模型。
在一些实施例中,客户端设备可以使用指数加权平均方式将全局个性化模型和本地个性化模型进行融合,得到更新后的本地个性化模型。
需要说明的是,用于融合的全局个性化模型和本地个性化模型可以是进行多轮训练后得到模型。
例如,第一轮训练中,云侧下发给客户端设备的个性化模型为m1,客户端设备经过训练后,得到本地个性化模型M1和模型更新信息,将模型更新信息上传至云侧。云侧根据模型更新信息对m1进行更新,得到全局个性化模型m2,再将m2下发至客户端设备。
第二轮训练中,训练流程与第一轮训练类似。其中,客户端设备使用训练数据对全局个性化模型m2进行训练,得到本地个性化模型M2和模型更新信息,再将模型更新信息上传至云侧。云侧根据模型更新信息对m2进行更新,得到全局个性化模型m3,再将m3下发至客户端设备。
第三轮训练中,训练流程与第一轮类似。其中,客户端设备使用训练数据对全局个性化模型m3进行训练,得到本地个性化模型M3和模型更新信息,再将模型更新信息上传至云侧。云侧根据模型更新信息对m3进行更新,得到全局个性化模型m4,再将m4下发至客户端设备。
依次类推,进行多轮模型训练。
上述过程中,如果训练三轮后,则进入预测阶段时,将本地个性化模型M3和全局个性化模型m4按照指数平均方式进行融合,得到用于预测的目标个性化模型。
具体应用中,一般是进行多轮模型训练后,再融合训练得到的个性化模型,得到目标个性化模型,使用目标个性化模型进行预测。
本申请实施例中,客户端设备将用户业务数据上传至服务器,由服务器根据用户业务数据构建出聚类先验模型,为客户端设备的个性化模型训练提供先验知识,客户端设备根据服务器提供的先验知识,根据用户业务数据和用户隐私数据训练不同的个性化模型,从而在不上传用户隐私数据即保护用户隐私的前提下,满足了个性化建模的需求。
在经过一轮或多轮模型训练后,客户端设备上存储有通过训练得到的目标个性化模型,可以使用这些训练得到的目标个性化模型,为用户提供个性化推荐服务。
在一些实施例中,参见图5示出的模型预测过程的流程示意框图,在客户端设备根据全局个性化模型和本地个性化模型进行模型更新,得到更新后的本地个性化模型之后,上述方法还可以包括:
步骤S501、客户端设备获取第二用户业务数据。
需要说明的是,第一用户业务数据和第二用户业务数据均为用户业务数据,两者的含义可以相同,使用“第一”和“第二”是为了明确一个数据用于模型训练阶段的,一个数据是用于模型预测阶段的。
步骤S502、客户端设备使用本地先验模型,确定第二用户业务数据所属的目标个性化模型。
需要说明的是,上述本地先验模型可以是云侧下发的聚类先验模型,也可以是根据云侧下发的相关规则得到的模型。
步骤S503、客户端设备将第二用户业务数据和用户隐私数据进行拼接,得到待预测数据。
具体应用中,客户端设备可以使用聚类先验模型分析第二用户业务数据从属于哪个个性化模型,再将第二用户业务数据和用户隐私数据进行拼接或融合,得到待预测数据。
步骤S504、客户端设备根据待预测数据,使用所述第二用户业务数据所属的目标个性化模型进行预测,得到各个目标个性化模型的预测结果。
步骤S505、客户端设备根据预测结果,得到个性化推荐结果。
具体应用中,一个用户可能对应有多个个性化推荐模型,使用多个目标个性化模型分别进行预测,得到多个预测结果。预测结果可以表现为概率值,客户端设备可以根据概率值的高低选取个性化推荐结果。例如,选取前k个概率值对应的预测结果作为个性化推荐结果,或者,选择概率值最高的预测结果作为个性化推荐结果。
可以看出,客户端设备使用在本地的多个目标个性化模型进行预测,根据多个预测结果得到最终的个性化推荐结果,即使用多个目标个性化模型共同决策,提高了个性化推荐的准确性和可泛化性。
在介绍完客户端设备一侧的相关内容之后,下面再对服务器一侧的相关内容进行介绍。
参见图6示出的一种基于联合学习的个性化模型训练方法的流程示意框图,该方法应用于服务器,该方法可以包括以下步骤:
步骤S601、服务器获取客户端设备上传的第一用户业务数据。
步骤S602、服务器根据第一用户业务数据构建聚类先验模型,将聚类先验模型和个性化模型传输至客户端设备,以指示客户端设备根据聚类先验模型、第一用户业务数据和用户隐私数据训练个性化模型。
具体应用中,服务器可以先使用聚类模型对第一用户业务数据进行聚类分析,得到聚类先验模型;然后,根据聚类先验模型,初始化聚类先验模型对应的个性化模型;最后,服务器将初始化后的个性化模型和聚类先验模型传输至客户端设备。例如,当聚类结果包括m个聚类结果时,则初始化m个个性化模型。
步骤S603、服务器获取客户端设备上传的个性化模型的模型更新信息。
步骤S604、服务器根据模型更新信息更新对云侧的个性化模型进行更新,得到全局个性化模型,将全局个性化模型传输至客户端设备。
具体应用中,客户端设备在接收到全局个性化模型后,可以根据全局个性化模型和本地个性化模型进行模型更新,得到用于预测的目标个性化模型。
在一些实施例中,上述模型更新信息为梯度,此时,服务器可以根据梯度调整全局个性化模型的学习率;再根据调整后的学习率更新全局个性化模型。
可以看出,服务器根据客户端设备上传的梯度动态调整学习率,保证模型的训练效率,尽可能防止模型过拟合。
需要说明的是,客户端设备一侧的流程和服务器一侧的流程是相对应的,相关或相似内容可以相互参见,在此不再赘述。
在分别介绍完客户端设备和服务器的相关内容之后,下面将对客户端设备和服务器之间的交互过程进行介绍。
参见图7示出的客户端设备和服务器之间的交互示意图,该交互流程可以包括以下模型训练阶段和预测阶段。
模型训练阶段:
步骤S701、客户端设备上传用户业务数据至服务器。
步骤S702、服务器根据用户业务数据构建聚类先验模型。
步骤S703、服务器将聚类先验模型和对应的个性化模型发送至客户端设备。
步骤S704、客户端设备使用聚类先验模型确定用户业务数据从属的个性化模型。
步骤S705、客户端设备将用户业务数据和用户隐私数据进行拼接,得到训练数据。
步骤S706、客户端设备使用训练数据训练对应的个性化模型,得到训练后的个性化模型和模型更新的梯度。
步骤S707、客户端设备将梯度上传至服务器。
步骤S708、服务器根据梯度调整学习率后,再更新得到全局个性化模型。
步骤S709、服务器将全局个性化模型发送至客户端设备。
在进行一轮或者多轮模型训练后,可以进入步骤S710。
步骤S710、客户端设备融合全局个性化模型和训练后的个性化模型,得到用于预测的目标个性化模型。
预测阶段:
步骤S711、客户端设备使用本地聚类先验模型对用户业务数据分析之后,将用户业务数据和用户隐私数据进行拼接,得到待预测数据。
具体应用中,客户端设备采集到用户业务数据后,可以使用本地的聚类先验模型分析当前用户业务数据从属于哪个目标个性化模型,然后再将用户业务数据和用户隐私数据进行拼接。
步骤S712、客户端设备使用本地的多个目标个性化模型分别根据待预测数据进行预测,得到预测结果。
具体地,客户端设备使用本地的聚类先验模型确定用户业务数据的所属目标个性化模型后,可以将用户业务数据和用户隐私数据拼接后给到对应目标个性化模型进行预测,得到各个目标个性化模型的预测结果。
步骤S713、客户端设备根据预测结果得到个性化推荐结果。
需要说明的是,图7对应的实施例与上文各个实施例的相同或相似之处,可以参见上文相应内容,在此不再赘述。
本申请实施例提供的个性化模型训练方案可以应用于各种不同的个性化推荐业务场景,或者搜索业务场景。例如,购物推荐业务场景和外卖订餐推荐业务场景等。本申请实施例使用的个性化模型是任意的,可以根据实际应用需要进行设定。下面将以个性化模型为LR模型,业务场景为新闻信息流推荐业务场景介绍本申请实施例提供的技术方案。
在新闻信息流推荐场景下,可以将用户浏览记录数据和点击新闻的数据作为用户业务数据,将诸如用户年龄、用户性别、职业和住址等数据作为用户隐私数据。手机作为客户端设备,手机上安装有相应的新闻APP。
手机上的新闻APP记录用户隐私数据和用户业务数据,在不包含用户ID的情况下,将用户业务数据上传至云侧的服务器。服务器可以对用户业务数据进行聚类分析,挖掘用户浏览和点击新闻的时段、新闻源、新闻类别和新闻的关键词等数据,以构建出用户画像先验模型。在其它一些实施例中,用户隐私数据也可以由系统提供。
例如,服务器通过聚类构建的用户画像先验模型可以如下:
用户画像A
时段:晚间
新闻类别偏好:娱乐,时尚
用户画像B
时段:午间
新闻类别偏好:游戏,动漫
用户画像C
时段:早晨
新闻类别偏好:房产
下面结合图8示出的新闻推荐业务场景示意图进行介绍。
如图8所示,包括云侧和端侧,端侧包括A手机81、B手机82和C手机83。云侧对手机上传的用户业务数据进行聚类分析,得到用户画像先验模型A和用户画像先验模型B,云侧将用户画像先验模型A下发至B手机和C手机,将用户画像先验模型B下发至A手机和C手机。三个手机分别使用下发的用户画像先验模型,在手机本地分析用户浏览和点击新闻的数据从而于哪个用户画像。例如,用户a从属于用户画像先验模型A,用户b从属于用户画像先验模型B,用户c从属于用户画像先验模型A和B。用户a对应于A手机,用户b对应于B手机,用户c对应于C手机。
每个用户画像先验模型均对应有相应的个性化模型。例如,用户画像先验模型A对应Model A,用户画像先验模型B对应Model B。
手机将用户业务数据和用户隐私数据(例如年龄、性别、职业、收入水平、婚姻状况、手机使用习惯和住址等数据)拼接成训练数据后,将训练数据分发到对应的个性化模型,以进行模型训练。例如,用户a的业务数据从属于用户画像先验模型A,则将用户a的业务数据拼接得到的训练数据分发给Model A。
各个手机进行模型训练之后,将模型更新梯度上传至服务器,服务器则根据梯度动态调整学习率,更新云侧的全局个性化模型。云侧的服务器可以接收到各个客户端上传的不同个性化模型的梯度。
例如,用户b(对应B手机)的一条训练数据,浏览时段为晚间,浏览新闻类别为娱乐和时尚,对应的用户画像为上述的用户画像A,用户画像A对应的个性化模型为Model A。将用户业务数据和用户隐私数据进行拼接,得到训练数据i
云侧服务器接收到梯度Δl
p
初始值:β
其中,p
云侧服务器更新后全局个性化模型后,将更新后的模型下发至手机。手机使用指数加权平均的方式融合云侧下发的全局个性化模型w
其中,w
依据上述步骤,进行多轮模型训练,可以得到训练完成的个性化模型。然后,则可以使用这些训练完成的个性化模型为用户提供新闻个性化推荐服务。
在预测阶段,手机将用户业务数据和用户隐私数据拼接成训练数据i
需要说明的是,上文提交的新闻推荐业务场景仅仅是一种示例,而其它业务场景的相关流程与新闻推荐业务场景类似,在此不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的基于联合学习的个性化模型训练方法,图9示出了本申请实施例提供的基于联合学习的个性化模型训练装置的结构示意框图,该装置可以应用于客户端设备。为了便于说明,仅示出了与本申请实施例相关的部分。
参见图9,该装置可以包括:
业务数据上传模块91,用于将第一用户业务数据上传至服务器,以指示服务器根据第一用户业务数据构建聚类先验模型;
模型获取模块92,用于获取服务器传输的聚类先验模型和个性化模型;
训练模块93,用于根据聚类先验模型、第一用户业务数据和用户隐私数据,训练个性化模型,得到本地个性化模型和模型更新信息;
模型更新信息上传模块94,用于上传模型更新信息至服务器,以指示服务器根据模型更新信息对云侧的个性化模型进行更新,得到全局个性化模型;
接收模块95,用于接收服务器传输的全局个性化模型。
在一种可能的实现方式中,上述装置还可以包括:
模型更新模块,用于根据全局个性化模型和本地个性化模型进行模型更新,得到用于进行预测的目标个性化模型。
进一步地,上述模型更新模块可以具体用于:
使用指数加权平均方式将全局个性化模型和本地个性化模型进行融合,得到目标个性化模型。
在一种可能的实现方式中,上述装置还可以包括:
业务数据获取模块,用于获取第二用户业务数据;
确定模块,用于使用本地先验模型,确定第二用户业务数据所属的目标个性化模型;
数据拼接模块,用于将第二用户业务数据和用户隐私数据进行拼接,得到待预测数据;
预测模块,用于根据待预测数据,使用第二用户业务数据所属的目标个性化模型预测,得到目标个性化模型的预测结果;
个性化推荐模块,用于根据预测结果,得到个性化推荐结果。
在一种可能的实现方式中,上述训练模块具体用于:
使用聚类先验模型,确定第一用户业务数据所属的个性化模型;
将第一用户业务数据和用户隐私数据进行拼接,得到训练数据;
使用训练数据对第一用户业务数据所属的个性化模型进行训练,得到本地个性化模型和模型更新信息。
在一种可能的实现方式中,上述模型更新信息为梯度。
对应于上文实施例所述的基于联合学习的个性化模型训练方法,图10示出了本申请实施例提供的基于联合学习的个性化模型训练装置的结构示意框图,该装置可以应用于服务器。为了便于说明,仅示出了与本申请实施例相关的部分。
参见图10,该装置可以包括:
第一用户业务数据获取模块101,用于获取客户端设备上传的第一用户业务数据;
传输模块,用于根据第一用户业务数据构建聚类先验模型,将聚类先验模型和个性化模型传输至客户端设备,以指示客户端设备根据聚类先验模型、第一用户业务数据和用户隐私数据训练个性化模型;
模型更新信息获取模块102,用于获取客户端设备上传的个性化模型的模型更新信息;
更新模块103,用于根据模型更新信息对云侧的个性化模型进行更新,得到全局个性化模型,将全局个性化模型传输至客户端设备。
在一种可能的实现方式中,模型更新信息为梯度,上述更新模块具体用于:
根据梯度调整全局个性化模型的学习率;
根据调整后的学习率更新云侧的个性化推荐模型,得到全局个性化模型。
在一种可能的实现方式中,上述传输模块具体用于:
使用聚类模型对第一用户业务数据进行分析,得到聚类先验模型;;
根据聚类先验模型,初始化聚类先验模型对应的个性化模型;
将初始化后的个性化模型和聚类先验模型传输至客户端设备。
上述基于联合学习的个性化模型训练装置具有实现上述基于联合学习的个性化模型训练方法的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。
需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图11为本申请一实施例提供的电子设备的结构示意图。如图11所示,该实施例的电子设备11包括:至少一个处理器110、存储器111以及存储在所述存储器111中并可在所述至少一个处理器110上运行的计算机程序112,所述处理器110执行所述计算机程序112时实现上述任意各个方法实施例中的步骤。
所述电子设备11可以桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该电子设备可包括,但不仅限于,处理器110、存储器111。本领域技术人员可以理解,图11仅仅是电子设备11的举例,并不构成对电子设备11的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器110可以是中央处理单元(Central Processing Unit,CPU),该处理器110还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器111在一些实施例中可以是所述电子设备11的内部存储单元,例如电子设备11的硬盘或内存。所述存储器111在另一些实施例中也可以是所述电子设备11的外部存储设备,例如所述电子设备11上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器111还可以既包括所述电子设备11的内部存储单元也包括外部存储设备。所述存储器111用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器111还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述各个方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
最后应说明的是:以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
- 基于联合学习的个性化模型训练方法、电子设备和介质
- 基于模型相关强化学习的足式机器人的步态训练方法、装置、电子设备及介质