CN110069715B - 一种信息推荐模型训练的方法、信息推荐的方法及装置 - Google Patents
一种信息推荐模型训练的方法、信息推荐的方法及装置 Download PDFInfo
- Publication number
- CN110069715B CN110069715B CN201910355838.5A CN201910355838A CN110069715B CN 110069715 B CN110069715 B CN 110069715B CN 201910355838 A CN201910355838 A CN 201910355838A CN 110069715 B CN110069715 B CN 110069715B
- Authority
- CN
- China
- Prior art keywords
- parameter
- target
- full
- precision
- information recommendation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种信息推荐模型训练的方法,包括:获取待训练数据,其中,待训练数据包括第一特征数据以及第一标签数据;通过待训练信息推荐模型中的嵌入层获取第一特征数据所对应的第二特征数据,其中,嵌入层的参数为全精度参数经过量化后得到的量化参数;通过待训练信息推荐模型中的神经网络获取第二特征数据所对应的第二标签数据;根据全精度参数、第一标签数据和第二标签数据对待训练信息推荐模型进行训练,得到信息推荐模型。本申请还公开了一种信息推荐的方法。本申请在对信息推荐模型进行训练的过程中引入了量化嵌入层的操作,有效地降低了嵌入层参数的冗余,以量化参数的方式减少模型的存储量和传输开销,适用于大规模的在线推荐***。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种信息推荐模型训练的方法、信息推荐的方法及装置。
背景技术
随着互联网的快速发展,为人们的生活带来了许多便利,同时也带了海量的数据信息。在推荐场景中,推荐***可以基于信息推荐模型来为用户提供感兴趣的内容,并将在线资源有针对性的推荐给这些可能感兴趣的用户。有必要通过一些模型压缩技术减少信息推荐模型的模型参数,以减少模型的存储需求,并降低模型的计算复杂度。
目前,常见的模型压缩技术包括前端压缩的技术,前端压缩是通过聚类等方法将模型参数映射到较为稠密的参数空间,从而达到减小模型规模的目的,以此减小模型的计算量和存储的开销。
然而,前端压缩技术虽然能够减小模型的规模,但是在前端压缩的过程中,参数向量聚类往往需要消耗大量的时间和计算资源,不适合大规模实时在线推荐***。
发明内容
本申请实施例提供了一种信息推荐模型训练的方法、信息推荐的方法及装置,在对信息推荐模型进行训练的过程中引入了量化嵌入层的操作,有效地降低了嵌入层参数的冗余,以量化参数的方式减少模型的存储量和传输开销,适用于大规模的在线推荐***。
有鉴于此,本申请第一方面提供一种信息推荐模型训练的方法,包括:
获取待训练数据,其中,所述待训练数据包括第一特征数据以及第一标签数据;
通过待训练信息推荐模型中的嵌入层获取所述第一特征数据所对应的第二特征数据,其中,所述嵌入层的参数为全精度参数经过量化后得到的量化参数;
通过所述待训练信息推荐模型中的神经网络获取所述第二特征数据所对应的第二标签数据;
根据所述全精度参数、所述第一标签数据和所述第二标签数据对所述待训练信息推荐模型进行训练,得到信息推荐模型。
本申请第二方面提供一种信息推荐的方法,包括:
获取待预测特征数据;
通过信息推荐模型获取待预测特征数据所对应的推荐结果,其中,所述信息推荐模型包括嵌入层以及神经网络,所述嵌入层的参数为全精度参数经过量化后得到的量化参数,所述神经网络的参数为全精度参数;
根据所述推荐结果确定目标信息;
推荐所述目标信息。
本申请第三方面提供一种模型训练装置,包括:
获取模块,用于获取待训练数据,其中,所述待训练数据包括第一特征数据以及第一标签数据;
所述获取模块,还用于通过待训练信息推荐模型中的嵌入层获取所述第一特征数据所对应的第二特征数据,其中,所述嵌入层的参数为全精度参数经过量化后得到的量化参数;
所述获取模块,还用于通过所述待训练信息推荐模型中的神经网络获取所述第二特征数据所对应的第二标签数据;
训练模块,用于根据所述全精度参数、所述获取模块获取的所述第一标签数据和所述第二标签数据对所述待训练信息推荐模型进行训练,得到信息推荐模型。
在一种可能的设计中,在本申请实施例的第三方面的第一种实现方式中,
所述训练模块,具体用于根据所述第一标签数据和所述第二标签数据,采用损失函数计算得到参数所对应的梯度参数;
根据所述梯度参数对所述全精度参数进行更新,得到目标全精度参数;
根据所述目标全精度参数对所述待训练信息推荐模型进行更新,得到所述信息推荐模型。
在一种可能的设计中,在本申请实施例的第三方面的第二种实现方式中,
所述训练模块,具体用于对所述目标全精度参数进行量化处理,得到目标量化参数;
根据所述目标量化参数对所述待训练信息推荐模型中的所述嵌入层进行训练,得到目标嵌入层;
根据所述目标全精度参数对所述待训练信息推荐模型中的所述神经网络进行训练,得到目标神经网络;
根据所述目标嵌入层以及所述目标神经网络,生成所述信息推荐模型。
在一种可能的设计中,在本申请实施例的第三方面的第三种实现方式中,
所述训练模块,具体用于获取所述目标全精度参数中的第一全精度参数以及第二全精度参数,其中,所述第一全精度参数属于所述嵌入层的参数,所述第二全精度参数属于所述神经网络的参数;
对所述第一全精度参数进行量化处理,得到所述目标量化参数;
根据所述第二全精度参数对所述待训练信息推荐模型中的所述神经网络进行训练,得到目标神经网络。
在一种可能的设计中,在本申请实施例的第三方面的第四种实现方式中,
所述训练模块,具体用于根据所述第一全精度参数确定键值和数值,其中,所述键值表示所述数值所对应的索引信息;
对所述数值进行量化处理,得到所述目标量化参数。
在一种可能的设计中,在本申请实施例的第三方面的第五种实现方式中,
所述训练模块,具体用于若所述数值在第一参数范围内,则将所述数值确定为第一量化参数,其中,所述第一量化参数属于所述目标量化参数;
若所述数值在第二参数范围内,则将所述数值确定为第二量化参数,其中,所述第二量化参数属于所述目标量化参数。
在一种可能的设计中,在本申请实施例的第三方面的第六种实现方式中,
所述训练模块,具体用于若所述数值在第一参数范围内,则将所述数值确定为第一量化参数,其中,所述第一量化参数属于所述目标量化参数;
若所述数值在第二参数范围内,则将所述数值确定为第二量化参数,其中,所述第二量化参数属于所述目标量化参数;
若所述数值在第三参数范围内,则将所述数值确定为第三量化参数,其中,所述第三量化参数属于所述目标量化参数。
在一种可能的设计中,在本申请实施例的第三方面的第七种实现方式中,
所述训练模块,具体用于采用如下方式计算所述目标全精度参数:
v'f=Φ(vf,g);
其中,所述v'f表示所述目标全精度参数,所述vf表示所述全精度参数,所述g表示所述梯度参数,所述Φ()表示优化算法。
在一种可能的设计中,在本申请实施例的第三方面的第八种实现方式中,所述模型训练装置还包括发送模块;
所述获取模块,还用于所述训练模块根据所述全精度参数、所述第一标签数据和所述第二标签数据对所述待训练信息推荐模型进行训练,得到信息推荐模型之后,获取待预测特征数据;
所述获取模块,还用于通过所述信息推荐模型获取所述待预测特征数据所对应的推荐结果;
发送模块,用于向客户端发送所述推荐结果,以使所述客户端根据所述推荐结果确定待推荐信息。
本申请第四方面提供一种信息推荐装置,包括:
获取模块,用于获取待预测特征数据;
所述获取模块,还用于通过信息推荐模型获取待预测特征数据所对应的推荐结果,其中,所述信息推荐模型包括嵌入层以及神经网络,所述嵌入层的参数为全精度参数经过量化后得到的量化参数,所述神经网络的参数为全精度参数;
确定模块,用于根据所述获取模块获取的所述推荐结果确定目标信息;
推荐模块,用于推荐所述确定模块确定的所述目标信息。
本申请第五方面提供一种服务器,包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
获取待训练数据,其中,所述待训练数据包括第一特征数据以及第一标签数据;
通过待训练信息推荐模型中的嵌入层获取所述第一特征数据所对应的第二特征数据,其中,所述嵌入层的参数为全精度参数经过量化后得到的量化参数;
通过所述待训练信息推荐模型中的神经网络获取所述第二特征数据所对应的第二标签数据;
根据所述全精度参数、所述第一标签数据和所述第二标签数据对所述待训练信息推荐模型进行训练,得到信息推荐模型;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
本申请第六方面提供一种终端设备,包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
获取待预测特征数据;
通过信息推荐模型获取待预测特征数据所对应的推荐结果,其中,所述信息推荐模型包括嵌入层以及神经网络,所述嵌入层的参数为全精度参数经过量化后得到的量化参数,所述神经网络的参数为全精度参数;
根据所述推荐结果确定目标信息;
推荐所述目标信息;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
本申请的第七方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种信息推荐模型训练的方法,首先获取待训练数据,其中,待训练数据包括第一特征数据以及第一标签数据,然后通过待训练信息推荐模型中的嵌入层获取第一特征数据所对应的第二特征数据,其中,嵌入层的参数为全精度参数经过量化后得到的量化参数,再通过待训练信息推荐模型中的神经网络获取第二特征数据所对应的第二标签数据,最后根据全精度参数、第一标签数据和第二标签数据对待训练信息推荐模型进行训练,得到信息推荐模型。通过上述方式,在对信息推荐模型进行训练的过程中引入了量化嵌入层的操作,有效地降低了嵌入层参数的冗余,以量化参数的方式减少模型的存储量和传输开销,适用于大规模的在线推荐***。
附图说明
图1为本申请实施例中信息推荐***的一个架构示意图;
图2为本申请实施例中信息推荐模型的一个结构示意图;
图3为本申请实施例中信息推荐模型训练的方法一个实施例示意图;
图4为本申请实施例中基于信息推荐模型的前向传播过程一个实施例示意图;
图5为本申请实施例中基于信息推荐模型的反向传播过程一个实施例示意图;
图6为本申请实施例中训练信息推荐模型的一个实施例示意图;
图7为本申请实施例中嵌入层映射过程的一个实施例示意图;
图8为本申请实施例中参数量化策略的一个示意图;
图9为本申请实施例中参数量化策略的另一个示意图;
图10为本申请实施例中量化模型与全精度模型的一个性能对比示意图;
图11为本申请实施例中量化模型相对全精度模型的一个性能提升示意图;
图12为本申请实施例中信息推荐的方法一个实施例示意图;
图13为本申请实施例中信息推荐模型训练以及推送的一个流程示意图;
图14为本申请实施例中模型训练装置的一个实施例示意图;
图15为本申请实施例中模型训练装置的另一个实施例示意图;
图16为本申请实施例中信息推荐装置的一个实施例示意图;
图17为本申请实施例中服务器的一个结构示意图;
图18为本申请实施例中终端设备的一个结构示意图。
具体实施方式
本申请实施例提供了一种信息推荐模型训练的方法、信息推荐的方法及装置,在对信息推荐模型进行训练的过程中引入了量化嵌入层的操作,有效地降低了嵌入层参数的冗余,以量化参数的方式减少模型的存储量和传输开销,适用于大规模的在线推荐***。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本申请提供的信息推荐模型训练方法以及信息推荐方法可以应用于智能推荐***,该智能推荐基于大数据技术和人工智能(Artificial Intelligence,)技术,结合电商、新闻资讯、视频直播和社交等多个行业领域的积累,为用户提供个性化推荐服务。个性化推荐服务表示根据用户需求和爱好等特征,个性化地推荐资讯以及商品等信息。本申请中,智能推荐***可以表示推荐网页、图文以及视频等资讯的***。
在智能推荐***的优化目标包括用户和推荐平台。其中,用户具有多样性的特点,比如获取用户浏览过的文章的主题词、标签、热度、转载、时效和相似度等。获取用户的特征,比如性别、职业、年龄、兴趣以及定期点击行为等。平台开通预先推荐,或者推荐有合作的供应商等因素,推荐的物品指被推荐给用户的内容,可以是商品,也可以是歌曲以及视频等内容,***中常用item表示物品。智能推荐***可以基于电商给用户推荐商品,如推荐衣服以及电影票等,还可以是资讯推荐、短视频推荐以及音乐个性推荐等。
为了便于理解,本申请提出了一种信息推荐的方法,该方法应用于图1所示的信息推荐***,请参阅图1,图1为本申请实施例中信息推荐***的一个架构示意图,如图所示,服务器可以基于无量***训练得到信息推荐模型,无量***不但能进行任务式的离线训练,还能支持以流式样本为输入的7×24小时的在线训练。其中,该信息推荐模型具有两个部分,分别为嵌入层和神经网络,嵌入层的参数经过量化,因此,整个嵌入层的参数规模得以减小,而经过量化后的参数并不会影响信息推荐模型的性能,这是因为该类型的神经网络具有补偿这部分损失的能力,通过嵌入层与该类型的神经网络之间相互配合,在压缩模型规模的同时能够保证,甚至提升信息推荐模型的预测效果。由于信息推荐模型的存储量较小,因此,在服务器生成信息推荐模型之后,可以将信息推荐模型发送至客户端,由客户端使用该信息推荐模型进行相应的业务活动。
需要说明的是,服务器还可以基于其他类型的***进行模型训练和推荐,不仅限于无量***。可以理解的是,客户端部署于终端设备上,其中,终端设备包含但不仅限于平板电脑、笔记本电脑、掌上电脑、手机、语音交互设备及个人电脑(personal computer,PC),此处不做限定。
应理解,本申请提供的信息推荐模型结构如图2所示,请参阅图2,图2为本申请实施例中信息推荐模型的一个结构示意图,如图所示,信息推荐模型包括嵌入层以及神经网络,其中,该神经网络可以是深度神经网络(Deep Neural Networks,DNN),也可以是其他类型的神经网络,比如线性回归(Linear Regression,LR)神经网络,因子分解机(Factorization Machine,FM)神经网络,循环神经网络(Recurrent Neural Network,RNN)等,此处以DNN为例进行说明,然而不应理解为对本申请的限定。将高维稀疏的特征数据输入至嵌入层,通过嵌入层映射为低维稠密的特征数据,将嵌入层的输出作为DNN的输入,通过DNN进行计算之后得到输出相应的结果。
结合上述介绍,下面将对本申请中信息推荐模型训练的方法进行介绍,请参阅图3,本申请实施例中信息推荐模型训练的方法一个实施例包括:
101、获取待训练数据,其中,待训练数据包括第一特征数据以及第一标签数据;
本实施例中,服务器从数据库中读取待训练数据,其中,待训练数据可以是离线数据,也可以是在线数据,且待训练数据包括第一特征数据以及第一标签数据,具体地,第一特征数据包含但不仅限于用户的网际互联(Internet Protocol,IP)地址、性别、年龄、户籍以及国籍等,还包括被推荐信息的内容、时效以及形式等。第一标签数据包含但不仅限于被展示的标签、被点击的标签、被忽略的标签以及被关闭的标签等。
102、通过待训练信息推荐模型中的嵌入层获取第一特征数据所对应的第二特征数据,其中,嵌入层的参数为全精度参数经过量化后得到的量化参数;
本实施例中,服务器将第一特征数据输入至待训练信息推荐模型中的嵌入层,通过该嵌入层输出第二特征数据,其中,第二特征数据比第一特征数据具有更低的维度。待训练信息推荐模型中的嵌入层采用量化参数,量化参数只指全精度参数经过量化后得到的。
量化即为将多比特高精度数值转化为有限个低精度数值的过程。嵌入层可以在预测用户点击率(Click Through Rate,CTR)的过程中,将高维稀疏特征映射为低维稠密特征。CTR表示当资讯被展示给用户时,该资讯被点击的概率。
103、通过待训练信息推荐模型中的神经网络获取第二特征数据所对应的第二标签数据;
本实施例中,服务器将第二特征数据输入至待训练信息推荐模型中的神经网络,通过该神经网络输出第二标签数据,第二标签数据包含但不仅限于被展示的标签、被点击的标签、被忽略的标签以及被关闭的标签等。第二标签数据属于预测标签,而第一标签数据属于真实标签。本申请中的神经网络具体可以是DNN,DNN的输入为嵌入层的输出,可以利用DNN进行预测和训练。
随着DNN在图像和语音等领域的突破性发展,DNN也被引入到CTR模型中来,希望学习到特征之间的复杂关系,得到更好的模型。在CTR预估中,输入特征是高维稀疏的,不能直接使用全连接网络直接进行学习,所以用于CTR预估的网络一般采用嵌入层加上全连接层的结构。通过嵌入层将稀疏特征转换为低维稠密特征,再输入后面的全连接层。
104、根据全精度参数、第一标签数据和第二标签数据对待训练信息推荐模型进行训练,得到信息推荐模型。
本实施例中,服务器根据嵌入层的量化参数、嵌入层对应的全精度参数、第一标签数据以及第二标签数据,对待训练信息推荐模型进行整体训练,得到信息推荐模型。其中,嵌入层使用的是量化参数,神经网络使用的是全精度参数。
本申请实施例中,提供了一种信息推荐模型训练的方法,首先获取待训练数据,其中,待训练数据包括第一特征数据以及第一标签数据,然后通过待训练信息推荐模型中的嵌入层获取第一特征数据所对应的第二特征数据,其中,嵌入层的参数为全精度参数经过量化后得到的量化参数,再通过待训练信息推荐模型中的神经网络获取第二特征数据所对应的第二标签数据,最后根据全精度参数、第一标签数据和第二标签数据对待训练信息推荐模型进行训练,得到信息推荐模型。通过上述方式,在对信息推荐模型进行训练的过程中引入了量化嵌入层的操作,有效地降低了嵌入层参数的冗余,以量化参数的方式减少模型的存储量和传输开销,适用于大规模的在线推荐***。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的信息推荐模型训练的方法第一个可选实施例中,根据全精度参数、第一标签数据和第二标签数据对待训练信息推荐模型进行训练,得到信息推荐模型,可以包括:
根据第一标签数据和第二标签数据,采用损失函数计算得到参数所对应的梯度参数;
根据梯度参数对全精度参数进行更新,得到目标全精度参数;
根据目标全精度参数对待训练信息推荐模型进行更新,得到信息推荐模型。
本实施例中,服务器可以采用损失函数对第一标签数据以及第二标签数据进行计算,从而得到梯度参数,一种可选的交叉熵损失函数如下所示:
其中,y'表示真实数据,即第一标签数据,y表示预测数据,即第二标签数据,i表示第i个数据。通过预测概率分布与真实概率分布之间相差的距离,定义待训练信息推荐模型的错误程度,预测概率分布与真实概率分布之间的距离越小,表示待训练信息推荐模型的准确率越高。
接下来,根据损失函数计算得到嵌入层和神经网络的梯度参数,以神经网络为DNN为例,假设嵌入层的量化参数为w1,嵌入层的全精度参数为w2,其中,w1是w2经过量化处理后得到的参数,而DNN的全精度参数为w3。计算得到嵌入层的梯度参数为g1,DNN的梯度参数为g2,于是采用梯度参数对全精度参数进行更新,即,w'1=w2-a×g1,其中,w'1表示嵌入层的目标全精度参数,w'3=w3-a×g2,其中,w'3表示DNN的目标全精度参数。服务器对更新后得到的嵌入层的目标全精度参数进行量化处理,结合DNN的目标全精度参数进行训练,重复执行上述步骤,直到待训练信息推荐模型的预测结果的准确度趋于稳定,由此可以将该待训练信息推荐模型输出,从而得到信息推荐模型。
为了便于理解,请参阅图4,图4为本申请实施例中基于信息推荐模型的前向传播过程一个实施例示意图,如图所示,首先将第一特征数据输入至嵌入层,该嵌入层采用量化参数,经过嵌入层后得到更为稠密的第二特征数据,将第二特征数据作为DNN的输入,并进行前向传播,最后得到预测结果,即得到第二标签数据。请参阅图5,图5为本申请实施例中基于信息推荐模型的反向传播过程一个实施例示意图,如图所示,根据正向传播的结果计算损失函数,根据反向传播计算损失函数相对于各个参数的梯度,即得到梯度参数,然后采用该梯度参数更新DNN的全精度参数以及嵌入层中量化参数所对应的全精度参数。至此,一轮训练结束。
一次训练过程由正向传播过程和反向传播过程组成。在正向传播过程中,输入的特征数据通过输入层经隐含层,逐层处理并传向输出层。转入反向传播,逐层求出对权值向量的梯度参数,将梯度参数作为修改权值的依据,网络的学习在权值修改过程中完成。反向传播算法是目前用来训练人工神经网络(Artificial Neural Network,ANN)的有效算法。其主要思想是:
(1)将训练集数据输入到ANN的输入层,经过隐藏层,最后达到输出层并输出结果,这是ANN的前向传播过程;
(2)由于ANN的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;
(3)在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛。
其次,本申请实施例中,服务器训练得到信息推荐模型的主要流程包括,采用损失函数对第一标签数据和第二标签数据进行计算,得到梯度参数,然后根据梯度参数对全精度参数进行更新,得到目标全精度参数,最后根据目标全精度参数对待训练信息推荐模型进行更新,得到信息推荐模型。通过上述方式,利用前向传播计算第二标签数据,从而得到损失函数,利用反向传播更新待训练信息推荐模型中的神经网络以及嵌入层的全精度参数,从而保持神经网络参数精度。
可选地,在上述图3对应的第一个实施例的基础上,本申请实施例提供的信息推荐模型训练的方法第二个可选实施例中,根据目标全精度参数对待训练信息推荐模型进行训练,得到信息推荐模型,可以包括:
对目标全精度参数进行量化处理,得到目标量化参数;
根据目标量化参数对待训练信息推荐模型中的嵌入层进行训练,得到目标嵌入层,其中,目标嵌入层的参数为目标量化参数;
根据目标全精度参数对待训练信息推荐模型中的神经网络进行训练,得到目标神经网络;
根据目标嵌入层以及目标神经网络,生成信息推荐模型。
本实施例中,将介绍一种生成信息推荐模型的方法。首先服务器对目标全精度参数中属于嵌入层的目标全精度参数进行量化处理,得到目标量化参数。而不需要对目标全精度参数中属于神经网络的目标全精度参数进行量化处理。接下来,服务器采用目标量化参数对待训练信息推荐模型中的嵌入层进行训练,得到目标嵌入层,此时的目标嵌入层就是经过至少一次完整训练后得到的嵌入层。相应地,服务器采用目标全精度参数对待训练信息推荐模型中的神经网络进行训练,得到目标神经网络。服务器结合训练得到的目标嵌入层以及目标神经网络,生成信息推荐模型。
具体地,假设采用二值量化策略,第一参数范围可以是小于或等于0的范围,且对应的量化参数为0,第二参数范围可以是大于0的范围,且对应的量化参数为1。又假设嵌入层的全精度参数为-0.9,那么该全精度参数被量化处理后得到的量化参数为0。在前向传播的过程中,采用量化后的量化参数进行计算,其中,由于-0.9在第一参数范围内,因此采用的量化参数为0。在反向传播的过程中,是在全精度参数上进行更新,即在嵌入层上是对-0.9进行更新,假设计算得到的梯度为1.2,那么嵌入层的目标全精度参数为0.3,由于0.3在第二参数范围内,因此,在下一轮训练中采用的目标量化参数为1。
再次,本申请实施例中,提供了一种根据目标全精度参数对待训练信息推荐模型进行训练,得到信息推荐模型的方法,首先对嵌入层的目标全精度参数进行量化处理,得到目标量化参数,然后根据目标量化参数对待训练信息推荐模型中的嵌入层进行训练,得到目标嵌入层,并且根据神经网络的目标全精度参数对待训练信息推荐模型中的神经网络进行训练,得到目标神经网络,最后结合目标嵌入层以及目标神经网络,生成信息推荐模型。通过上述方式,能够为方案的实现提供可行的方法,由此提升方案的可行性和可操作性。
可选地,在上述图3对应的第二个实施例的基础上,本申请实施例提供的信息推荐模型训练的方法第三个可选实施例中,对目标全精度参数进行量化处理,得到目标量化参数,可以包括:
获取目标全精度参数中的第一全精度参数以及第二全精度参数,其中,第一全精度参数属于嵌入层的参数,第二全精度参数属于神经网络的参数;
对第一全精度参数进行量化处理,得到目标量化参数;
根据目标全精度参数对待训练信息推荐模型中的神经网络进行训练,得到目标神经网络,包括:
根据第二全精度参数对待训练信息推荐模型中的神经网络进行训练,得到目标神经网络。
本实施例中,将以一次完整的训练过程为例,介绍如何得到信息推荐模型。服务器在目标全精度参数进行量化处理,得到目标量化参数的过程中,实际上需要先从目标全精度参数中确定第一全精度参数以及第二全精度参数,其中,第一全精度参数属于嵌入层的参数,第二全精度参数属于神经网络的参数。然后服务器仅仅对第一全精度参数进行量化处理即可,更具体地,服务器对第一全精度参数中的数值(value)进行量化处理即可,而不需要对键值(key)进行量化处理。对第一全精度参数进行量化处理之后,服务器的得到目标量化参数,于是,采用目标量化参数对待训练信息推荐模型中的嵌入层进行训练,得到目标嵌入层,并且采用第二全精度参数对待训练信息推荐模型中的神经网络进行训练,得到目标神经网络。
具体地,请参阅图6,图6为本申请实施例中训练信息推荐模型的一个实施例示意图,如图所示,假设待训练数据中的特征数据为X,X=3,嵌入层的全精度参数分别为w1、w2和w3,神经网络的全精度参数分别为w4、w5和w6,且假设w1=0.1,w2=0.2,w3=0.3,w4=0.4,w5=0.5,w6=0.6,假设第一参数范围是小于或等于0.1的范围,且对应的量化参数为0,第二参数范围是大于0.1的范围,且对应的量化参数为1,于是得到嵌入层的量化参数分别为w'1、w'2和w'3,且w'1=0,w'2=1,w'3=1。于是,特征数据X经过w'1、w'2和w'3的处理后,分别得到特征数据a'1、b'1和c'1,其中,a'1=X×w'1=0,b'1=X×w'2=3,c'1=X×w'3=0。而采用嵌入层的全精度参数分别计算得到的输出结果a1、b1和c1分别为,a1=X×w1=0.3,b1=X×w2=0.6,c1=X×w3=0.9。
将嵌入层输出的特征数据输入至神经网络,经过w4、w5和w6的处理后得到输出结果y,其中,y=a'1×w4+b'1×w5+c'1×w6=0+1.5+0=1.5,此时,将输出结果y与真实结果y'进行损失函数计算,得到梯度参数。假设得到梯度参数g1、g2、g3、g4、g5和g6,其中,g1表示w1的梯度参数,g2表示w2的梯度参数,g3表示w3的梯度参数,g4表示w4的梯度参数,g5表示w5的梯度参数,g6表示w6的梯度参数。
于是采用梯度参数对嵌入层的全精度参数和神经网络的全精度参数进行更新,分别得到:
W1=w1-a×g1;
W2=w2-a×g2;
W3=w3-a×g3;
W4=w4-a×g4;
W5=w5-a×g5;
W6=w6-a×g6;
其中,a表示学习率,可以设置为0.0001。W1、W2和W3属于第一全精度参数,需要对第一全精度参数进行量化处理,假设W1=0.8,W2=0.3,W3=0.1,那么第一全精度参数量化后得到的目标量化参数为1,1,0,于是,根据目标量化参数为1,对待训练信息推荐模型中的嵌入层进行训练,即可得到目标神经网络。W4、W5和W6属于第二全精度参数,无需对第二全精度参数进行量化处理,于是,根据第二全精度参数对待训练信息推荐模型中的神经网络进行训练,即可得到目标神经网络。
进一步地,本申请实施例中,提供了一种对目标全精度参数进行量化处理,得到目标量化参数的方式,首先,获取目标全精度参数中的第一全精度参数以及第二全精度参数,其中,第一全精度参数属于嵌入层的参数,第二全精度参数属于神经网络的参数,然后对第一全精度参数进行量化处理,得到目标量化参数,并根据第二全精度参数对待训练信息推荐模型中的神经网络进行训练,得到目标神经网络。通过上述方式,在对信息推荐模型训练的过程中充分考虑到了嵌入层和神经网络对参数的要求,仅对嵌入层的全精度参数进行量化,而不需要对神经网络的全精度参数进行处理,使得神经网络能够更好地学习到有用的参数特征,从而使得信息推荐模型的总体效果不受损失。
可选地,在上述图3对应的第三个实施例的基础上,本申请实施例提供的信息推荐模型训练的方法第四个可选实施例中,对第一全精度参数进行量化处理,得到目标量化参数,可以包括:
根据第一全精度参数确定键值和数值,其中,键值表示数值所对应的索引信息;
对数值进行量化处理,得到目标量化参数。
本实施例中,介绍一种对第一全精度参数进行量化处理的方式。第一全精度参数是指嵌入层所对应的全精度参数,其中,该第一全精度参数包括两个部分,分别为键值(key)和数值(value)。为了便于介绍,请参阅图7,图7为本申请实施例中嵌入层映射过程的一个实施例示意图,如图所示,假设键值为64位整型数,数值为32位浮点数,若每个特征数据按所属领域(比如用户的IP地址、性别、年龄、户籍、国籍、被推荐信息的内容、时效以及形式等领域)映射到一个长度为8的向量,则一个特征数据在嵌入层将产生(64+32×8)比特的参数。而数据中特征维度的数量级往往可达百亿,嵌入层参数大小可达约440吉字节(Gigabyte,GB)。若采取三值量化技术,每个数值仅占用2个比特字节,那么一个特征数据产生(64+2×8)比特的参数。在同等数据特征维度的规模下,嵌入层参数大小约为110GB,压缩率可达到25%。而键值(key)能够定位到特征数据所在的具***置,尤其对于分布式***而言,其存储量相当大,因此,在实际训练的过程中,只需提取部分数据进行训练即可。分布式***在数据通信、同步协议和容灾等方面都有极大的活动空间。
由于在实际情况下,嵌入层的参数矩阵往往非常大,如果要映射到“用户IP地址”那部分的嵌入层,可能会存在1000万个不同的用户IP地址,即该参数矩阵具有1000万行,但是在获取数据的时候并不会包括所有的用户IP地址,比如,当前时间段内仅有1000个用户进行业务,因此,这1000个用户对应产生1000个用户IP地址,于是,在训练的时候就不需要采用1000万行的参数矩阵,只需要将其对应的1000行找出来即可。具体地,假设用户A的用户IP地址对应参数矩阵中的第6行(key=6),用户B的用户IP地址对应参数矩阵中的第10行(key=10)。
可以理解的是,1000万仅为一个示意,不应理解为对本申请的限定。
更进一步地,本申请实施例中,提供了一种对第一全精度参数进行量化处理,得到目标量化参数的方法,即服务器根据第一全精度参数确定键值和数值,其中,键值表示数值所对应的索引信息,然后仅对数值进行量化处理,得到目标量化参数。通过上述方式,仅仅对全精度参数中的数值进行量化处理,由此减小数值的数据量,此外,不对键值进行量化处理,这是因为键值能够作为索引精确定位到数值在嵌入层中所对应的位置,从而使得本申请能够应用于大规模推荐***,提升方案的可行性和可操作性。
可选地,在上述图3对应的第四个实施例的基础上,本申请实施例提供的信息推荐模型训练的方法第五个可选实施例中,对数值进行量化处理,得到目标量化参数,可以包括:
若数值在第一参数范围内,则将数值确定为第一量化参数,其中,第一量化参数属于目标量化参数;
若数值在第二参数范围内,则将数值确定为第二量化参数,其中,第二量化参数属于目标量化参数。
本实施例中,介绍一种对数值进行量化处理的方式。在量化情况下,服务器可以将全精度参数根据相对门限大小编码为0和1,即采用二值量化的策略。在实际应用中,还可以编码成其他数据。
具体地,为了便于理解,请参阅图8,图8为本申请实施例中参数量化策略的一个示意图,如图所示,假设全精度参数中的数值被划分为两个范围,即第一参数范围和第二参数范围,其中,第一参数范围可以是小于或等于G的范围,第二参数范围可以是大于G的范围。当采用二值量化策略时,每个量化参数可以用一个1比特字节表示,比如,将第一参数范围量化后得到目标量化参数的第一量化参数0,将第二参数范围量化后得到目标量化参数的第二量化参数1,如果全精度参数中的数值在第一参数范围内,则将该数值设置为0。如果全精度参数中的数值在第二参数范围内,则将该数值设置为1。
以一个简单的例子进行说明,假设G为0.5,全精度参数中的数值X为0.2,那么可以确定0.2小于0.5,即全精度参数中的数值X在第一参数范围内,即数值X被量化为0。假设G为0.5,全精度参数中的数值X为1.1,那么可以确定1.1大于0.5,即全精度参数中的数值X在第二参数范围内,即数值X被量化为1。
又进一步地,本申请实施例中,提供了一种二值量化的策略,即对若数值在第一参数范围内,则将数值确定为第一量化参数,其中,第一量化参数属于目标量化参数,若数值在第二参数范围内,则将数值确定为第二量化参数,其中,第二量化参数属于目标量化参数。通过上述方式,在对压缩率要求更高的场景下,采用二值量化的策略可以将数值量化为1比特字节,从而极大地减少信息推荐模型的规模。
可选地,在上述图3对应的第四个实施例的基础上,本申请实施例提供的信息推荐模型训练的方法第六个可选实施例中,对数值进行量化处理,得到目标量化参数,可以包括:
若数值在第一参数范围内,则将数值确定为第一量化参数,其中,第一量化参数属于目标量化参数;
若数值在第二参数范围内,则将数值确定为第二量化参数,其中,第二量化参数属于目标量化参数;
若数值在第三参数范围内,则将数值确定为第三量化参数,其中,第三量化参数属于目标量化参数。
本实施例中,介绍一种对数值进行量化处理的方式。在量化情况下,服务器可以将全精度参数根据相对门限大小编码为-1、0以及1,即采用三值量化的策略。在实际应用中,还可以编码成其他数据。
具体地,为了便于理解,请参阅图9,图9为本申请实施例中参数量化策略的另一个示意图,如图所示,假设全精度参数中的数值被划分为三个范围,即第一参数范围、第二参数范围和第三参数范围,其中,第一参数范围可以是小于-G的范围,第二参数范围可以是大于或等于-G,且小于或等于G的范围,第三参数范围可以是大于G的范围。当采用三值量化策略时,每个量化参数可以用一个2比特字节表示,比如0、1和-1可以分别编码为00、10和11。将第一参数范围量化后得到目标量化参数的第一量化参数00,将第二参数范围量化后得到目标量化参数的第二量化参数10,将第三参数范围量化后得到目标量化参数的第三量化参数11。如果全精度参数中的数值在第一参数范围内,则将该数值设置为00。如果全精度参数中的数值在第二参数范围内,则将该数值设置为10。如果全精度参数中的数值在第三参数范围内,则将该数值设置为11。
以一个简单的例子进行说明,假设G为0.5,-G为-0.5,全精度参数中的数值X为-0.8,那么可以确定-0.8小于-0.5,即全精度参数中的数值X在第一参数范围内,即数值X被量化为-1,表示为11。假设全精度参数中的数值X为0.2,那么可以确定0.2大于-0.5,且小于0.5,即全精度参数中的数值X在第二参数范围内,即数值X被量化为0,表示为00。假设全精度参数中的数值X为0.9,那么可以确定0.9大于0.5,即全精度参数中的数值X在第三参数范围内,即数值X被量化为1,表示为10。
可以理解的是,还可以对嵌入层进行四值量化处,或者其他值的量化处理。然而三值量化和四值量化在占用比特数方面是相同的,故量化可以不局限于三值,还可以拓展到四值。在对压缩率要求不高的场景下,量化过程可以使用更高的比特数。而在对压缩率要求更高的场景下,可以考虑采用二值量化策略。
又进一步地,本申请实施例中,提供了一种三值量化的策略,即若数值在第一参数范围内,则将数值确定为第一量化参数,其中,第一量化参数属于目标量化参数,若数值在第二参数范围内,则将数值确定为第二量化参数,其中,第二量化参数属于目标量化参数,若数值在第三参数范围内,则将数值确定为第三量化参数,其中,第三量化参数属于目标量化参数。通过上述方式,在兼顾压缩率要求以及模型精度的场景下,采用三值量化的策略可以将数值量化为2比特字节,不但能够减少信息推荐模型的规模,还可以提升模型训练的精度。
可选地,在上述图3对应的第一个实施例的基础上,本申请实施例提供的信息推荐模型训练的方法第七个可选实施例中,根据梯度参数对全精度参数进行更新,得到目标全精度参数,可以包括:
采用如下方式计算目标全精度参数:
v'f=Φ(vf,g);
其中,v'f表示目标全精度参数,vf表示全精度参数,g表示梯度参数,Φ()表示优化算法。
本实施例中,基于图4和图5的内容可知,在正向传播的过程中,将第一特征数据输入至嵌入层,该嵌入层采用量化参数,经过嵌入层后得到更为稠密的第二特征数据,将第二特征数据作为DNN的输入,并进行前向传播,最后得到预测结果,即得到第二标签数据。服务器根据第一标签与第二标签计算损失函数。在反向传播的过程中,根据损失函数计算各个梯度参数,再采用该梯度参数更新DNN的全精度参数以及嵌入层的全精度参数。
基于上述内容,可以分别对嵌入层的全精度参数以及DNN的全精度参数进行更新,具体地,下面将先介绍对嵌入层的全精度参数进行更新所采用的公式:
v'f=Φ(vf,gq);
其中,v'f表示嵌入层的目标全精度参数,vf表示嵌入层的全精度参数,gq表示嵌入层对应的梯度参数,Φ()表示优化算法。
下面将先介绍对嵌入层的全精度参数进行更新所采用的公式:
v'f=Φ(vf,gf);
其中,v'f表示DNN的目标全精度参数,vf表示DNN的全精度参数,gf表示DNN对应的梯度参数,Φ()表示优化算法。
综合来说,即采用如下公式对全精度参数进行更新即可:
v'f=Φ(vf,g);
其中,v'f表示目标全精度参数,vf表示全精度参数,g表示梯度参数,Φ()表示优化算法。
可以理解的是,DNN仅为本申请中神经网络的其中一种,在实际应用中,还可以采用其他类型的神经网络,此处仅为一个示意,不应理解为对本申请的限定。可以理解的是,上述公式中提到的优化算法包含但不仅限于批梯度下降法(batch gradient descent,BGD)、随机梯度下降法(stochastic gradient descent,SGD)、自适应矩估计(adaptivemoment estimation,ADAM)以及自适应梯度算法(adaptive gradient algorithm,Adagrad)等,此处不做限定。
其次,本申请实施例中,提供了一种计算目标全精度参数的具体方式,即采用优化算法,根据全精度参数以及梯度参数既可以计算得到目标全精度参数。通过上述方式,提升了方案的可行性和可操作性。
可选地,在上述图3以及图3对应的第一个至第七个实施例中任一项的基础上,本申请实施例提供的信息推荐模型训练的方法第八个可选实施例中,根据全精度参数、第一标签数据和第二标签数据对待训练信息推荐模型进行训练,得到信息推荐模型之后,还可以包括:
获取待预测特征数据;
通过信息推荐模型获取待预测特征数据所对应的推荐结果;
向客户端发送推荐结果,以使客户端根据推荐结果确定待推荐信息。
本实施例中,介绍了一种应用于离线场景的信息推荐方法,首先,在服务器训练得到信息推荐模型之后,可以获取待预测特征数据,待预测特征数据包含但不仅限于用户的IP地址、性别、年龄、户籍以及国籍等,还可以包括被推荐信息的内容、时效以及形式等。将待预测特征数据输入至训练好的信息推荐模型,由信息推荐模型输出该待预测特征数据所对应的推荐结果。其中,推荐结果可以是针对不同推荐信息预测得到的标签,比如,待推荐信息A的预测标签为“被点击”,待推荐信息B的预测标签为“被关闭”,于是,服务器向客户端反馈推荐结果,使得客户端根据推荐结果确定需要推荐哪些信息,比如推荐信息A,而不推荐信息B。
可选地,服务器也可以根据推荐结果自行确定待推荐信息,比如确定推荐信息A为待推荐信息,于是,服务器直接向客户端发送给推荐信息A,由客户端展示推荐信息A。
其次,本申请实施例中,在服务器得到信息推荐模型之后,还可以获取待预测特征数据,然后通过信息推荐模型获取待预测特征数据所对应的推荐结果,最后向客户端发送推荐结果,以使客户端根据推荐结果确定待推荐信息。通过上述方式,可以实现离线推荐,即服务器将预测结果直接推送给客户端,客户端展示即可,因此,本申请所提供的方案在大规模离线场景下,也能取得较好的效果。
本申请所提供的信息推荐模型即为量化模型,而传统的信息推荐模型为全精度模型,基于量化模型与全精度模型,进行一个性能对比实现,请参阅图10,图10为本申请实施例中量化模型与全精度模型的一个性能对比示意图,,如图所示,图10中A1所指示的曲线表示量化模型在不同时间上的曲线下面积(Area under curve,AUC)变化情况,A2所指示的曲线表示全精度模型在不同时间上的AUC变化情况,其中,AUC一个模型评价指标,AUC越高则模型性能越好,由此可见,A1所指示的曲线明显高于A2所指示的曲线,因此,量化模型的性能高于全精度模型的性能。进一步地,请参阅图11,图11为本申请实施例中量化模型相对全精度模型的一个性能提升示意图,如图所示,将A1所指示的曲线减去A2所指示的曲线,可以得到图11所示的曲线,显然,由于量化操作去除了嵌入层的冗余性,后续神经网络能够更好得学习到有用参数特征,从而使得模型总体效果不但不受损失,还能够提升约0.5%。
结合上述介绍,下面将对本申请中信息推荐的方法进行介绍,请参阅图12,本申请实施例中信息推荐的方法一个实施例包括:
201、获取待预测特征数据;
本实施例中,介绍了一种应用于在线场景的信息推荐方法,首先,客户端获取待预测特征数据,待预测特征数据包含但不仅限于用户的IP地址、性别、年龄、户籍以及国籍等,还可以包括被推荐信息的内容、时效以及形式等。将待预测特征数据输入至训练好的信息推荐模型,由信息推荐模型输出该待预测特征数据所对应的推荐结果。
202、通过信息推荐模型获取待预测特征数据所对应的推荐结果,其中,信息推荐模型包括嵌入层以及神经网络,嵌入层的参数为全精度参数经过量化后得到的量化参数,神经网络的参数为全精度参数;
本实施例中,将待预测特征数据输入至训练好的信息推荐模型,由信息推荐模型输出该待预测特征数据所对应的推荐结果。其中,信息推荐模型包括嵌入层以及神经网络,嵌入层采用量化参数,量化参数只指全精度参数经过量化后得到的。量化即为将多比特高精度数值转化为有限个低精度数值的过程。神经网络具体可以是DNN,DNN的输入为嵌入层的输出,可以利用DNN进行预测和训练。
203、根据推荐结果确定目标信息;
本实施例中,客户端获取推荐结果,其中,推荐结果可以是针对不同推荐信息预测得到的标签,比如,待推荐信息A的预测标签为“被点击”,待推荐信息B的预测标签为“被关闭”,于是,客户端根据推荐结果确定可以被推荐的信息,该信息即为目标信息。
204、推荐目标信息。
本实施例中,客户端推荐该目标信息,具体可以是展示该目标信息,或者播放该目标信息,还可以以其他方式向用户推送该目标信息。
本申请实施例中,提供了一种信息推荐的方法,首先,客户端获取待预测特征数据,然后通过信息推荐模型获取待预测特征数据所对应的推荐结果,再根据推荐结果确定目标信息,最后向用户推荐目标信息。通过上述方式,可以实现大规模在线推荐,即客户端直接使用信息推荐模型预测待推荐的目标信息,并展示给用户即可,因此,本申请所提供的方案在大规模在线推荐的场景下,也能取得较好的效果。
为了便于理解,下面将结合图13对本申请中的模型训练方法和信息推荐方法进行说明,请参阅图13,图13为本申请实施例中信息推荐模型训练以及推送的一个流程示意图,如图所示,具体地:
在步骤S1中,开始进行信息推荐模型的训练;
在步骤S2中,初始化信息推荐模型,即得到一个待训练信息推荐模型,其中,该待训练信息推荐模型由嵌入层和神经网络构成,具体地,该神经网络可以是DNN;
在步骤S3中,读取待训练数据,待训练数据包括特征数据以及标签数据,具体地,特征数据包含但不仅限于用户的IP地址、性别、年龄、户籍以及国籍等,还包括被推荐信息的内容、时效以及形式等。标签数据包含但不仅限于被展示的标签、被点击的标签、被忽略的标签以及被关闭的标签等;
在步骤S4中,将特征数据输入至待训练信息推荐模型中的嵌入层,通过该嵌入层使用量化参数将高维稀疏的特征数据映射为低维稠密的特征数据,具体地,保留嵌入层的全精度参数,根据阈值对嵌入层的全精度参数进行量化。如取阈值为0.001,进行2比特量化,则小于-0.001的参数量化为-1,大于等于-0.001且小于等于0.001的参数量化为0,大于0.001的参数量化为1;
在步骤S5中,,使用量化后的嵌入层可以将高维稀疏的特征映射为低维稠密的特征输入至DNN;
在步骤S6中,进行前向传播操作,根据DNN输出的标签数据以及真实的标签数据计算损失函数,具体可以是计算预测得到的标签数据与真实标签标签数据之间的交叉熵;
在步骤S7中,采用反向传播技术,更新DNN和嵌入层的全精度参数;
在步骤S8中,保存嵌入层的量化参数以及DNN的全精度参数,得到信息推荐模型,由此可以向客户端推送该信息推荐模型,即该信息推荐模型由量化后的嵌入层和保持全精度的DNN组成;
在步骤S9中,判断是否可以结束模型训练,如果处于性能达到要求,或者信息推荐模型已经收敛,又或者业务不再展开等情况,则确定结束训练,即此时执行步骤S10,如果处于性能未达到要求,或者信息推荐模型未收敛,又或者业务需要继续开展等情况,则确定继续训练,即此时跳转至步骤S4,重复执行步骤S4至步骤S8,直至信息推荐模型不再需要更新;
在步骤S10中,结束待训练信息推荐模型的训练流程,得到信息推荐模型。
下面对本申请中的模型训练装置进行详细描述,请参阅图14,图14为本申请实施例中模型训练装置一个实施例示意图,模型训练装置30包括:
获取模块301,用于获取待训练数据,其中,所述待训练数据包括第一特征数据以及第一标签数据;
所述获取模块301,还用于通过待训练信息推荐模型中的嵌入层获取所述第一特征数据所对应的第二特征数据,其中,所述嵌入层的参数为全精度参数经过量化后得到的量化参数;
所述获取模块301,还用于通过所述待训练信息推荐模型中的神经网络获取所述第二特征数据所对应的第二标签数据;
训练模块302,用于根据所述全精度参数、所述获取模块301获取的所述第一标签数据和所述第二标签数据对所述待训练信息推荐模型进行训练,得到信息推荐模型。
本实施例中,获取模块301获取待训练数据,其中,所述待训练数据包括第一特征数据以及第一标签数据,所述获取模块301通过待训练信息推荐模型中的嵌入层获取所述第一特征数据所对应的第二特征数据,其中,所述嵌入层的参数为全精度参数经过量化后得到的量化参数,所述获取模块301通过所述待训练信息推荐模型中的神经网络获取所述第二特征数据所对应的第二标签数据,训练模块302根据所述全精度参数、所述获取模块301获取的所述第一标签数据和所述第二标签数据对所述待训练信息推荐模型进行训练,得到信息推荐模型。
本申请实施例中,提供了一种模型训练装置,首先获取待训练数据,其中,待训练数据包括第一特征数据以及第一标签数据,然后通过待训练信息推荐模型中的嵌入层获取第一特征数据所对应的第二特征数据,其中,嵌入层的参数为全精度参数经过量化后得到的量化参数,再通过待训练信息推荐模型中的神经网络获取第二特征数据所对应的第二标签数据,最后根据全精度参数、第一标签数据和第二标签数据对待训练信息推荐模型进行训练,得到信息推荐模型。通过上述方式,在对信息推荐模型进行训练的过程中引入了量化嵌入层的操作,有效地降低了嵌入层参数的冗余,以量化参数的方式减少模型的存储量和传输开销,适用于大规模的在线推荐***。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
所述训练模块302,具体用于根据所述第一标签数据和所述第二标签数据,采用损失函数计算得到参数所对应的梯度参数;
根据所述梯度参数对所述全精度参数进行更新,得到目标全精度参数;
根据所述目标全精度参数对所述待训练信息推荐模型进行更新,得到所述信息推荐模型。
其次,本申请实施例中,服务器训练得到信息推荐模型的主要流程包括,采用损失函数对第一标签数据和第二标签数据进行计算,得到梯度参数,然后根据梯度参数对全精度参数进行更新,得到目标全精度参数,最后根据目标全精度参数对待训练信息推荐模型进行更新,得到信息推荐模型。通过上述方式,利用前向传播计算第二标签数据,从而得到损失函数,利用反向传播更新待训练信息推荐模型中的神经网络以及嵌入层的全精度参数,从而保持神经网络参数精度。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
所述训练模块302,具体用于对所述目标全精度参数进行量化处理,得到目标量化参数;
根据所述目标量化参数对所述待训练信息推荐模型中的所述嵌入层进行训练,得到目标嵌入层;
根据所述目标全精度参数对所述待训练信息推荐模型中的所述神经网络进行训练,得到目标神经网络;
根据所述目标嵌入层以及所述目标神经网络,生成所述信息推荐模型。
再次,本申请实施例中,提供了一种根据目标全精度参数对待训练信息推荐模型进行训练,得到信息推荐模型的方法,首先对目标全精度参数进行量化处理,得到目标量化参数,然后根据目标量化参数对待训练信息推荐模型中的嵌入层进行训练,得到目标嵌入层,并且根据目标全精度参数对待训练信息推荐模型中的神经网络进行训练,得到目标神经网络,最后结合目标嵌入层以及目标神经网络,生成信息推荐模型。通过上述方式,能够为方案的实现提供可行的方法,由此提升方案的可行性和可操作性。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
所述训练模块,具体用于获取所述目标全精度参数中的第一全精度参数以及第二全精度参数,其中,所述第一全精度参数属于所述嵌入层的参数,所述第二全精度参数属于所述神经网络的参数;
对所述第一全精度参数进行量化处理,得到所述目标量化参数;
根据所述第二全精度参数对所述待训练信息推荐模型中的所述神经网络进行训练,得到目标神经网络。
进一步地,本申请实施例中,提供了一种得到目标量化参数的方式,首先,获取目标全精度参数中的第一全精度参数以及第二全精度参数,其中,第一全精度参数属于嵌入层的参数,第二全精度参数属于神经网络的参数,然后对第一全精度参数进行量化处理,得到目标量化参数,并根据第二全精度参数对待训练信息推荐模型中的神经网络进行训练,得到目标神经网络。通过上述方式,在对信息推荐模型训练的过程中充分考虑到了嵌入层和神经网络对参数的要求,仅对嵌入层的全精度参数进行量化,而不需要对神经网络的全精度参数进行处理,使得神经网络能够更好地学习到有用的参数特征,从而使得信息推荐模型的总体效果不受损失。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
所述训练模块,具体用于根据所述第一全精度参数确定键值和数值,其中,所述键值表示所述数值所对应的索引信息;
对所述数值进行量化处理,得到所述目标量化参数。
更进一步地,本申请实施例中,提供了一种对第一全精度参数进行量化处理,得到目标量化参数的方法,即服务器根据第一全精度参数确定键值和数值,其中,键值表示数值所对应的索引信息,然后仅对数值进行量化处理,得到目标量化参数。通过上述方式,仅仅对全精度参数中的数值进行量化处理,由此减小数值的数据量,此外,不对键值进行量化处理,这是因为键值能够作为索引精确定位到数值在嵌入层中所对应的位置,从而使得本申请能够应用于大规模推荐***,提升方案的可行性和可操作性。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
所述训练模块,具体用于若所述数值在第一参数范围内,则将所述数值确定为第一量化参数,其中,所述第一量化参数属于所述目标量化参数;
若所述数值在第二参数范围内,则将所述数值确定为第二量化参数,其中,所述第二量化参数属于所述目标量化参数。
又进一步地,本申请实施例中,提供了一种二值量化的策略,即对若数值在第一参数范围内,则将数值确定为第一量化参数,其中,第一量化参数属于目标量化参数,若数值在第二参数范围内,则将数值确定为第二量化参数,其中,第二量化参数属于目标量化参数。通过上述方式,在对压缩率要求更高的场景下,采用二值量化的策略可以将数值量化为1比特字节,从而极大地减少信息推荐模型的规模。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
所述训练模块,具体用于若所述数值在第一参数范围内,则将所述数值确定为第一量化参数,其中,所述第一量化参数属于所述目标量化参数;
若所述数值在第二参数范围内,则将所述数值确定为第二量化参数,其中,所述第二量化参数属于所述目标量化参数;
若所述数值在第三参数范围内,则将所述数值确定为第三量化参数,其中,所述第三量化参数属于所述目标量化参数。
又进一步地,本申请实施例中,提供了一种三值量化的策略,即若数值在第一参数范围内,则将数值确定为第一量化参数,其中,第一量化参数属于目标量化参数,若数值在第二参数范围内,则将数值确定为第二量化参数,其中,第二量化参数属于目标量化参数,若数值在第三参数范围内,则将数值确定为第三量化参数,其中,第三量化参数属于目标量化参数。通过上述方式,在兼顾压缩率要求以及模型精度的场景下,采用三值量化的策略可以将数值量化为2比特字节,不但能够减少信息推荐模型的规模,还可以提升模型训练的精度。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的模型训练装置30的另一实施例中,
所述训练模块,具体用于采用如下方式计算所述目标全精度参数:
v'f=Φ(vf,g);
其中,所述v'f表示所述目标全精度参数,所述vf表示所述全精度参数,所述g表示所述梯度参数,所述Φ()表示优化算法。
其次,本申请实施例中,提供了一种计算目标全精度参数的具体方式,即采用优化算法,根据全精度参数以及梯度参数既可以计算得到目标全精度参数。通过上述方式,提升了方案的可行性和可操作性。
可选地,在上述图14所对应的实施例的基础上,请参阅图15,本申请实施例提供的模型训练装置30的另一实施例中,所述模型训练装置30还包括发送模块303;
所述获取模块301,还用于所述训练模块302根据所述全精度参数、所述第一标签数据和所述第二标签数据对所述待训练信息推荐模型进行训练,得到信息推荐模型之后,获取待预测特征数据;
所述获取模块301,还用于通过所述信息推荐模型获取所述待预测特征数据所对应的推荐结果;
发送模块303,用于向客户端发送所述获取模块301获取的所述推荐结果,以使所述客户端根据所述推荐结果确定待推荐信息。
其次,本申请实施例中,在服务器得到信息推荐模型之后,还可以获取待预测特征数据,然后通过信息推荐模型获取待预测特征数据所对应的推荐结果,最后向客户端发送推荐结果,以使客户端根据推荐结果确定待推荐信息。通过上述方式,可以实现离线推荐,即服务器将预测结果直接推送给客户端,客户端展示即可,因此,本申请所提供的方案在大规模离线场景下,也能取得较好的效果。
下面对本申请中的信息推荐装置进行详细描述,请参阅图16,图16为本申请实施例中信息推荐装置一个实施例示意图,信息推荐装置40包括:
获取模块401,用于获取待预测特征数据;
所述获取模块401,还用于通过信息推荐模型获取待预测特征数据所对应的推荐结果,其中,所述信息推荐模型包括嵌入层以及神经网络,所述嵌入层的参数为全精度参数经过量化后得到的量化参数,所述神经网络的参数为全精度参数;
确定模块402,用于根据所述获取模块401获取的所述推荐结果确定目标信息;
推荐模块403,用于推荐所述确定模块402确定的所述目标信息。
本实施例中,获取模块401获取待预测特征数据,所述获取模块401通过信息推荐模型获取待预测特征数据所对应的推荐结果,其中,所述信息推荐模型包括嵌入层以及神经网络,所述嵌入层的参数为全精度参数经过量化后得到的量化参数,所述神经网络的参数为全精度参数,确定模块402根据所述获取模块401获取的所述推荐结果确定目标信息,推荐模块403推荐所述确定模块402确定的所述目标信息。
本申请实施例中,提供了一种信息推荐的方法,首先,客户端获取待预测特征数据,然后通过信息推荐模型获取待预测特征数据所对应的推荐结果,再根据推荐结果确定目标信息,最后向用户推荐目标信息。通过上述方式,可以实现大规模在线推荐,即客户端直接使用信息推荐模型预测待推荐的目标信息,并展示给用户即可,因此,本申请所提供的方案在大规模在线推荐的场景下,也能取得较好的效果。
图17是本申请实施例提供的一种服务器结构示意图,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processingunits,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作***541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图17所示的服务器结构。
在本申请实施例中,该服务器所包括的CPU 522还具有以下功能:
获取待训练数据,其中,所述待训练数据包括第一特征数据以及第一标签数据;
通过待训练信息推荐模型中的嵌入层获取所述第一特征数据所对应的第二特征数据,其中,所述嵌入层的参数为全精度参数经过量化后得到的量化参数;
通过所述待训练信息推荐模型中的神经网络获取所述第二特征数据所对应的第二标签数据;
根据所述全精度参数、所述第一标签数据和所述第二标签数据对所述待训练信息推荐模型进行训练,得到信息推荐模型。
可选地,CPU 522具体用于执行如下步骤:
根据所述第一标签数据和所述第二标签数据,采用损失函数计算得到参数所对应的梯度参数;
根据所述梯度参数对所述全精度参数进行更新,得到目标全精度参数;
根据所述目标全精度参数对所述待训练信息推荐模型进行更新,得到所述信息推荐模型。
可选地,CPU 522具体用于执行如下步骤:
对所述目标全精度参数进行量化处理,得到目标量化参数;
根据所述目标量化参数对所述待训练信息推荐模型中的所述嵌入层进行训练,得到目标嵌入层;
根据所述目标全精度参数对所述待训练信息推荐模型中的所述神经网络进行训练,得到目标神经网络;
根据所述目标嵌入层以及所述目标神经网络,生成所述信息推荐模型。
可选地,CPU 522具体用于执行如下步骤:
获取所述目标全精度参数中的第一全精度参数以及第二全精度参数,其中,所述第一全精度参数属于所述嵌入层的参数,所述第二全精度参数属于所述神经网络的参数;
对所述第一全精度参数进行量化处理,得到所述目标量化参数;
根据所述第二全精度参数对所述待训练信息推荐模型中的所述神经网络进行训练,得到目标神经网络。
可选地,CPU 522具体用于执行如下步骤:
根据所述第一全精度参数确定键值和数值,其中,所述键值表示所述数值所对应的索引信息;
对所述数值进行量化处理,得到所述目标量化参数。
可选地,CPU 522具体用于执行如下步骤:
若所述数值在第一参数范围内,则将所述数值确定为第一量化参数,其中,所述第一量化参数属于所述目标量化参数;
若所述数值在第二参数范围内,则将所述数值确定为第二量化参数,其中,所述第二量化参数属于所述目标量化参数。
可选地,CPU 522具体用于执行如下步骤:
若所述数值在第一参数范围内,则将所述数值确定为第一量化参数,其中,所述第一量化参数属于所述目标量化参数;
若所述数值在第二参数范围内,则将所述数值确定为第二量化参数,其中,所述第二量化参数属于所述目标量化参数;
若所述数值在第三参数范围内,则将所述数值确定为第三量化参数,其中,所述第三量化参数属于所述目标量化参数。
可选地,CPU 522具体用于执行如下步骤:
采用如下方式计算所述目标全精度参数:
v'f=Φ(vf,g);
其中,所述v'f表示所述目标全精度参数,所述vf表示所述全精度参数,所述g表示所述梯度参数,所述Φ()表示优化算法。
可选地,CPU 522还用于执行如下步骤:
获取待预测特征数据;
通过所述信息推荐模型获取所述待预测特征数据所对应的推荐结果;
向客户端发送所述推荐结果,以使所述客户端根据所述推荐结果确定待推荐信息。
本申请实施例还提供了另一种信息推荐装置,如图18所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(personal digital assistant,PDA)、销售终端设备(point of sales,POS)、车载电脑等任意终端设备设备,以终端设备为手机为例:
图18示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图18,手机包括:射频(radio frequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wireless fidelity,WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图18中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图18对手机的各个构成部件进行具体的介绍:
RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,LNA)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元630可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图18中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图18示出了WiFi模块670,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据。可选的,处理器680可包括一个或多个处理单元;可选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
手机还包括给各个部件供电的电源690(比如电池),可选的,电源可以通过电源管理***与处理器680逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端设备所包括的处理器680还具有以下功能:
获取待预测特征数据;
通过信息推荐模型获取待预测特征数据所对应的推荐结果,其中,所述信息推荐模型包括嵌入层以及神经网络,所述嵌入层的参数为全精度参数经过量化后得到的量化参数,所述神经网络的参数为全精度参数;
根据所述推荐结果确定目标信息;
推荐所述目标信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种信息推荐模型训练的方法,其特征在于,包括:
获取待训练数据,其中,所述待训练数据包括第一特征数据以及第一标签数据;
通过待训练信息推荐模型中的嵌入层获取所述第一特征数据所对应的第二特征数据,其中,所述嵌入层的参数为全精度参数经过量化后得到的量化参数;
通过所述待训练信息推荐模型中的神经网络获取所述第二特征数据所对应的第二标签数据;
根据所述第一标签数据和所述第二标签数据,采用损失函数计算得到参数所对应的梯度参数;
根据所述梯度参数对所述全精度参数进行更新,得到目标全精度参数;
对所述目标全精度参数进行量化处理,得到目标量化参数;
根据所述目标量化参数对所述待训练信息推荐模型中的所述嵌入层进行训练,得到目标嵌入层;
根据所述目标全精度参数对所述待训练信息推荐模型中的所述神经网络进行训练,得到目标神经网络;
根据所述目标嵌入层以及所述目标神经网络,生成所述信息推荐模型,其中,所述信息推荐模型用于获取待测特征数据和所述待测特征数据对应的推荐结果,并向客户端发送所述推荐结果,以使所述客户端根据所述推荐结果确定待推荐信息。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标全精度参数进行量化处理,得到目标量化参数,包括:
获取所述目标全精度参数中的第一全精度参数以及第二全精度参数,其中,所述第一全精度参数属于所述嵌入层的参数,所述第二全精度参数属于所述神经网络的参数;
对所述第一全精度参数进行量化处理,得到所述目标量化参数;
所述根据所述目标全精度参数对所述待训练信息推荐模型中的所述神经网络进行训练,得到目标神经网络,包括:
根据所述第二全精度参数对所述待训练信息推荐模型中的所述神经网络进行训练,得到目标神经网络。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一全精度参数进行量化处理,得到所述目标量化参数,包括:
根据所述第一全精度参数确定键值和数值,其中,所述键值表示所述数值所对应的索引信息;
对所述数值进行量化处理,得到所述目标量化参数。
4.根据权利要求3所述的方法,其特征在于,所述对所述数值进行量化处理,得到所述目标量化参数,包括:
若所述数值在第一参数范围内,则将所述数值确定为第一量化参数,其中,所述第一量化参数属于所述目标量化参数;
若所述数值在第二参数范围内,则将所述数值确定为第二量化参数,其中,所述第二量化参数属于所述目标量化参数。
5.根据权利要求3所述的方法,其特征在于,所述对所述数值进行量化处理,得到所述目标量化参数,包括:
若所述数值在第一参数范围内,则将所述数值确定为第一量化参数,其中,所述第一量化参数属于所述目标量化参数;
若所述数值在第二参数范围内,则将所述数值确定为第二量化参数,其中,所述第二量化参数属于所述目标量化参数;
若所述数值在第三参数范围内,则将所述数值确定为第三量化参数,其中,所述第三量化参数属于所述目标量化参数。
7.一种信息推荐的方法,其特征在于,所述信息推荐的方法适用于由权利要求1至6任一所述的信息推荐模型训练的方法所生成的信息推荐模型,所述信息推荐的方法包括:
获取待预测特征数据;
通过信息推荐模型获取待预测特征数据所对应的推荐结果,其中,所述信息推荐模型包括嵌入层以及神经网络,所述嵌入层的参数为全精度参数经过量化后得到的量化参数,所述神经网络的参数为全精度参数;
根据所述推荐结果确定目标信息;
推荐所述目标信息。
8.一种模型训练装置,其特征在于,包括:
获取模块,用于获取待训练数据,其中,所述待训练数据包括第一特征数据以及第一标签数据;
所述获取模块,还用于通过待训练信息推荐模型中的嵌入层获取所述第一特征数据所对应的第二特征数据,其中,所述嵌入层的参数为全精度参数经过量化后得到的量化参数;
所述获取模块,还用于通过所述待训练信息推荐模型中的神经网络获取所述第二特征数据所对应的第二标签数据;
训练模块,用于根据所述第一标签数据和所述第二标签数据,采用损失函数计算得到参数所对应的梯度参数;根据所述梯度参数对所述全精度参数进行更新,得到目标全精度参数;对所述目标全精度参数进行量化处理,得到目标量化参数;根据所述目标量化参数对所述待训练信息推荐模型中的所述嵌入层进行训练,得到目标嵌入层;根据所述目标全精度参数对所述待训练信息推荐模型中的所述神经网络进行训练,得到目标神经网络;根据所述目标嵌入层以及所述目标神经网络,生成所述信息推荐模型;其中,所述信息推荐模型用于获取待测特征数据和所述待测特征数据对应的推荐结果,并向客户端发送所述推荐结果,以使所述客户端根据所述推荐结果确定待推荐信息。
9.一种信息推荐装置,其特征在于,所述信息推荐装置适用于由权利要求1至6任一所述的信息推荐模型训练的方法所生成的信息推荐模型,所述信息推荐装置包括:
获取模块,用于获取待预测特征数据;
所述获取模块,还用于通过信息推荐模型获取待预测特征数据所对应的推荐结果,其中,所述信息推荐模型包括嵌入层以及神经网络,所述嵌入层的参数为全精度参数经过量化后得到的量化参数,所述神经网络的参数为全精度参数;
确定模块,用于根据所述获取模块获取的所述推荐结果确定目标信息;
推荐模块,用于推荐所述确定模块确定的所述目标信息。
10.一种服务器,其特征在于,包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
获取待训练数据,其中,所述待训练数据包括第一特征数据以及第一标签数据;
通过待训练信息推荐模型中的嵌入层获取所述第一特征数据所对应的第二特征数据,其中,所述嵌入层的参数为全精度参数经过量化后得到的量化参数;
通过所述待训练信息推荐模型中的神经网络获取所述第二特征数据所对应的第二标签数据;
根据所述第一标签数据和所述第二标签数据,采用损失函数计算得到参数所对应的梯度参数;根据所述梯度参数对所述全精度参数进行更新,得到目标全精度参数;对所述目标全精度参数进行量化处理,得到目标量化参数;根据所述目标量化参数对所述待训练信息推荐模型中的所述嵌入层进行训练,得到目标嵌入层;根据所述目标全精度参数对所述待训练信息推荐模型中的所述神经网络进行训练,得到目标神经网络;根据所述目标嵌入层以及所述目标神经网络,生成所述信息推荐模型;其中,所述信息推荐模型用于获取待测特征数据和所述待测特征数据对应的推荐结果,并向客户端发送所述推荐结果,以使所述客户端根据所述推荐结果确定待推荐信息;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
11.一种终端设备,其特征在于,所述终端设备适用于由权利要求1至6任一所述的信息推荐模型训练的方法所生成的信息推荐模型;所述终端设备包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,包括如下步骤:
获取待预测特征数据;
通过信息推荐模型获取待预测特征数据所对应的推荐结果,其中,所述信息推荐模型包括嵌入层以及神经网络,所述嵌入层的参数为全精度参数经过量化后得到的量化参数,所述神经网络的参数为全精度参数;
根据所述推荐结果确定目标信息;
推荐所述目标信息;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
12.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至6中任一项所述的方法,或执行如权利要求7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910355838.5A CN110069715B (zh) | 2019-04-29 | 2019-04-29 | 一种信息推荐模型训练的方法、信息推荐的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910355838.5A CN110069715B (zh) | 2019-04-29 | 2019-04-29 | 一种信息推荐模型训练的方法、信息推荐的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110069715A CN110069715A (zh) | 2019-07-30 |
CN110069715B true CN110069715B (zh) | 2022-12-23 |
Family
ID=67369503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910355838.5A Active CN110069715B (zh) | 2019-04-29 | 2019-04-29 | 一种信息推荐模型训练的方法、信息推荐的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110069715B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096647B (zh) * | 2019-05-10 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 优化量化模型的方法、装置、电子设备及计算机存储介质 |
EP4024280A4 (en) * | 2019-08-27 | 2022-11-16 | Anhui Cambricon Information Technology Co., Ltd. | DATA PROCESSING METHOD AND APPARATUS, COMPUTER EQUIPMENT AND STORAGE MEDIA |
CN110751576B (zh) * | 2019-10-21 | 2023-07-25 | 中国民航信息网络股份有限公司 | 一种旅客行程确定方法、装置及服务器 |
CN111192602A (zh) * | 2019-12-03 | 2020-05-22 | 广州荔支网络技术有限公司 | 一种基于音频内容画像***的白噪音音频内容价值评估方法 |
CN113495986A (zh) * | 2020-03-20 | 2021-10-12 | 华为技术有限公司 | 数据处理的方法与装置 |
CN112287968A (zh) * | 2020-09-23 | 2021-01-29 | 深圳云天励飞技术股份有限公司 | 图像模型训练、图像处理方法、芯片、设备及介质 |
CN112288097B (zh) * | 2020-10-29 | 2024-04-02 | 平安科技(深圳)有限公司 | 联邦学习数据处理方法、装置、计算机设备及存储介质 |
CN113761350A (zh) * | 2021-03-08 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种数据推荐方法、相关装置和数据推荐*** |
CN113128440A (zh) * | 2021-04-28 | 2021-07-16 | 平安国际智慧城市科技股份有限公司 | 基于边缘设备的目标物识别方法、装置、设备及存储介质 |
CN115983362A (zh) * | 2022-11-25 | 2023-04-18 | 华为技术有限公司 | 一种量化方法、推荐方法以及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609116A (zh) * | 2017-09-13 | 2018-01-19 | 星环信息科技(上海)有限公司 | 一种创建跨域迁移深度网络的方法及设备 |
CN108491928A (zh) * | 2018-03-29 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 模型参数训练方法、装置、服务器及存储介质 |
CN109190759A (zh) * | 2018-08-01 | 2019-01-11 | 西安电子科技大学 | 一种基于{-1,+1}编码的神经网络模型压缩与加速方法 |
CN109448706A (zh) * | 2018-12-12 | 2019-03-08 | 苏州思必驰信息科技有限公司 | 神经网络语言模型压缩方法及*** |
CN109635936A (zh) * | 2018-12-29 | 2019-04-16 | 杭州国芯科技股份有限公司 | 一种基于重训练的神经网络剪枝量化方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10831444B2 (en) * | 2016-04-04 | 2020-11-10 | Technion Research & Development Foundation Limited | Quantized neural network training and inference |
US20190050710A1 (en) * | 2017-08-14 | 2019-02-14 | Midea Group Co., Ltd. | Adaptive bit-width reduction for neural networks |
-
2019
- 2019-04-29 CN CN201910355838.5A patent/CN110069715B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609116A (zh) * | 2017-09-13 | 2018-01-19 | 星环信息科技(上海)有限公司 | 一种创建跨域迁移深度网络的方法及设备 |
CN108491928A (zh) * | 2018-03-29 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 模型参数训练方法、装置、服务器及存储介质 |
CN109190759A (zh) * | 2018-08-01 | 2019-01-11 | 西安电子科技大学 | 一种基于{-1,+1}编码的神经网络模型压缩与加速方法 |
CN109448706A (zh) * | 2018-12-12 | 2019-03-08 | 苏州思必驰信息科技有限公司 | 神经网络语言模型压缩方法及*** |
CN109635936A (zh) * | 2018-12-29 | 2019-04-16 | 杭州国芯科技股份有限公司 | 一种基于重训练的神经网络剪枝量化方法 |
Non-Patent Citations (2)
Title |
---|
Deep Neural Network Compression with single and multiple level Quantization;Xu Yuhui等;《arXiv》;20180331;1-11页 * |
基于压缩卷积神经网络的交通标志分类算法;张建明等;《华中科技大学学报(自然科学版)》;20190131;第49卷(第1期);103-108页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110069715A (zh) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110069715B (zh) | 一种信息推荐模型训练的方法、信息推荐的方法及装置 | |
CN107944555B (zh) | 神经网络压缩和加速的方法、存储设备和终端 | |
CN110162799B (zh) | 模型训练方法、机器翻译方法以及相关装置和设备 | |
CN108305296B (zh) | 图像描述生成方法、模型训练方法、设备和存储介质 | |
CN109918684B (zh) | 模型训练方法、翻译方法、相关装置、设备及存储介质 | |
CN108076224B (zh) | 应用程序控制方法、装置及存储介质和移动终端 | |
CN111428516B (zh) | 一种信息处理的方法以及装置 | |
CN108228270B (zh) | 启动资源加载方法及装置 | |
CN111046227B (zh) | 一种视频查重方法及装置 | |
CN111914113B (zh) | 一种图像检索的方法以及相关装置 | |
CN110163367B (zh) | 一种终端部署方法和装置 | |
CN110245293B (zh) | 一种网络内容召回方法和装置 | |
CN109670174B (zh) | 一种事件识别模型的训练方法和装置 | |
CN110798718B (zh) | 一种视频推荐方法以及装置 | |
CN109550249B (zh) | 一种目标对象的控制方法、装置及设备 | |
CN113284142A (zh) | 图像检测方法、装置、计算机可读存储介质及计算机设备 | |
CN110516113B (zh) | 一种视频分类的方法、视频分类模型训练的方法及装置 | |
CN111737292B (zh) | 一种数据检索的方法以及相关装置 | |
CN114334036A (zh) | 一种模型训练的方法、相关装置、设备以及存储介质 | |
CN111090877A (zh) | 数据生成、获取方法及对应的装置、存储介质 | |
CN112748899A (zh) | 一种数据处理方法和相关设备 | |
CN109544241B (zh) | 一种点击率预估模型的构建方法、点击率预估方法和装置 | |
CN110929882A (zh) | 一种基于人工智能的特征向量计算方法和相关装置 | |
CN112948763B (zh) | 件量预测方法、装置、电子设备及存储介质 | |
CN114612830A (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 |