CN114595787A - 推荐模型的训练方法、推荐方法、装置、介质及设备 - Google Patents
推荐模型的训练方法、推荐方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN114595787A CN114595787A CN202210363890.7A CN202210363890A CN114595787A CN 114595787 A CN114595787 A CN 114595787A CN 202210363890 A CN202210363890 A CN 202210363890A CN 114595787 A CN114595787 A CN 114595787A
- Authority
- CN
- China
- Prior art keywords
- feature vector
- feature
- training
- loss
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 201
- 238000000034 method Methods 0.000 title claims abstract description 85
- 239000013598 vector Substances 0.000 claims abstract description 205
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 67
- 238000012545 processing Methods 0.000 claims description 39
- 238000013507 mapping Methods 0.000 claims description 38
- 238000013528 artificial neural network Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000463 material Substances 0.000 description 28
- 238000010586 diagram Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 9
- 238000011176 pooling Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009336 multiple cropping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开说明书中提供的推荐模型的训练方法、推荐方法、装置、介质及设备,在训练过程中,通过基于对应第一对象的第一特征向量的集合聚类得到至少一第一对象类簇,以及基于对应第二对象的第二特征向量的集合聚类得到至少一第二类簇;基于第一损失函数所计算的损失更新推荐模型;第一损失部分基于当前训练样本中第一特征向量与第二特征向量所属第二类簇的类簇中心间的第一间距得到;第二损失部分基于当前训练样本中第二特征向量同第一特征向量所属第一对象类簇的类簇中心的第二间距得到。通过对两个对象的特征分别聚类,且以优化一对象特征向量到另一对象相应类簇中心的间距以替代相关技术中优化相似度损失,使低频样本也能被充分训练。
Description
技术领域
本公开的实施方式涉及人工智能数据处理技术领域,更具体地,本公开的实施方式涉及推荐模型的训练方法、推荐方法、装置、介质及设备。
背景技术
本部分旨在为权利要求中陈述的本公开的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术。
随着机器学习的不断发展,各大互联网平台普遍采用基于机器学习的推荐模型来为用户提供内容推荐的服务。基于机器学习的推荐模型需要预先根据训练数据进行训练以学习到用户的偏好,因此对应各种情形的训练数据的数量足够,则得到的推荐模型区分不同情形作准确推荐的能力越强。
然而,由于长尾效应的存在,训练样本集中的样本分布存在不均衡的问题,故而低频样本无法得到充分训练,导致预测模型中得到训练样本的特征表示并不准确。
发明内容
在本上下文中,本公开的实施方式提供推荐模型的训练方法、推荐方法、装置、介质及设备。
根据本公开的第一个方面,提供一种推荐模型的训练方法,包括:获取一组训练样本,所述训练样本包括:第一对象的第一对象特征数据、第二对象的第二对象特征数据、以及标识训练样本为正样本或负样本的标签;输入所述一组训练样本至推荐模型,执行训练过程包括:基于输入的当前训练样本的第一对象特征数据映射得到第一特征向量,以及基于当前训练样本的第二对象特征数据映射得到第二特征向量;基于已得到的各第一特征向量聚类得到至少一第一对象类簇,以及基于已得到的各第二特征向量聚类得到至少一第二类簇;基于第一损失函数所计算的损失更新所述推荐模型;其中,所述第一损失函数所计算损失包括:第一损失部分和第二损失部分;所述第一损失部分基于当前训练样本中第一特征向量与第二特征向量所属第二类簇的类簇中心间的第一间距得到;所述第二损失部分基于所述当前训练样本中第二特征向量同第一特征向量所属第一对象类簇的类簇中心的第二间距得到。
根据本公开的第二个方面,提供一种推荐方法,包括:获取至少一个第一对象的第一特征数据和多个第二对象的第二特征数据;输入所述第一特征数据和第二特征数据至推荐模型,以得到所述至少一第一对象与所述多个第二对象之间的相似度;基于所述相似度对所述多个第二对象进行排序,以用于向第一对象推荐;其中,所述推荐模型由第一方面中任一项所述的训练方法训练得到。
根据本公开的第三个方面,提供一种推荐模型的训练装置,包括:训练样本获取模块,用于获取一组训练样本,所述训练样本包括:第一对象的第一对象特征数据、第二对象的第二对象特征数据、以及标识训练样本为正样本或负样本的标签;模型训练模块,用于输入所述一组训练样本至推荐模型,执行训练过程包括:基于输入的所述第一对象特征数据映射得到第一特征向量,以及基于输入的第二对象特征数据映射得到第二特征向量;基于已得到的各第一特征向量聚类得到至少一第一对象类簇,以及基于已得到的各第二特征向量聚类得到至少一第二类簇;基于第一损失函数所计算的损失更新所述推荐模型;其中,所述第一损失函数所计算损失包括:第一损失部分和第二损失部分;所述第一损失部分基于当前训练样本中第一特征向量与第二特征向量所属第二类簇的类簇中心间的第一间距得到;所述第二损失部分基于所述当前训练样本中第二特征向量同第一特征向量所属第一对象类簇的类簇中心的第二间距得到。
根据本公开的第四个方面,提供一种推荐装置,包括:特征获取模块,用于获取至少一第一对象的第一特征数据和多个第二对象的第二特征数据;输入模块,用于输入所述第一特征数据和第二特征数据至推荐模型,以得到所述至少一第一对象与所述多个第二对象之间的相似度;排序模块,用于基于所述相似度对所述多个第二对象进行排序,以用于向第一对象推荐;其中,所述推荐模型由如第一方面任一项所述的训练方法训练得到。
根据本公开的第五个方面,提供一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现:第一方面中任一项所述的训练方法;或者,第二方面中任一项所述的推荐方法。
根据本公开的第六个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行:第一方面中任一项所述的训练方法;或者,第二方面中任一项所述的推荐方法。
本公开说明书中提供的推荐模型的训练方法、推荐方法、装置、介质及设备,在训练过程中,通过基于对应第一对象的第一特征向量的集合聚类得到至少一第一对象类簇,以及基于对应第二对象的第二特征向量的集合聚类得到至少一第二类簇;基于第一损失函数所计算的损失更新所述推荐模型;所计算损失包括:第一损失部分和第二损失部分;所述第一损失部分基于当前训练样本中第一特征向量与第二特征向量所属第二类簇的类簇中心间的第一间距得到;所述第二损失部分基于所述当前训练样本中第二特征向量同第一特征向量所属第一对象类簇的类簇中心的第二间距得到。通过对两个对象的特征分别聚类,且以优化一对象特征向量到另一对象相应类簇中心的间距以替代相关技术中优化相似度损失,使低频样本也能被充分训练,以解决相关技术的问题。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示出了本公开一实施例中推荐模型的训练方法的流程示意图。
图2示出了在本公开一应用示例中的推荐模型架构基础上通过第一损失函数计算损失的原理示意图。
图3示出了在本公开一应用示例中的推荐模型架构基础上通过第二损失函数计算损失的原理示意图。
图4示出了本公开又一实施例中推荐模型的训练方法的流程的示意图。
图5示出了本公开再一实施例中推荐模型的训练方法的流程的示意图。
图6示出了本公开一实施例中推荐方法的流程示意图。
图7示出了本公开一实施例中推荐模型的训练装置的模块架构示意图。
图8示出了本公开一实施例中推荐装置的模块架构示意图。
图9示出了本公开一实施例中存储介质的示意图。
图10示出了本公开一实施例中电子设备的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提供创作能力信息计算、训练方法、装置、介质、设备及平台。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本公开的若干代表性实施方式,详细阐述本公开的原理和精神。
本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据,本公开实施方式/实施例可以互相组合。
发明概述
首先对本公开说明书中可能会使用到的名词的定义预先阐述,以利于后续对说明书的理解:
精确率:是针对推荐模型的预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。预测为正有两种可能,一种是把正样本预测为真正例(True Positive,TP),另一种就是把负样本预测为假正例(FP),也就是
TP、FP、FN、精确率和召回率都是模型的评价指标。
InfonCE:对比学习里常见的一个损失函数,如下式lossq所示。通过其分子、分母就很容易看出来它的优化目标。分子部分强调正例,希望它的距离越近越好,分母部分强调负样本,希望和负样本距离越远越好。通过InfonCE可以驱动正例在投影空间中比较近,负样本比较远,这就是一个典型的抽象对比学习系统,τ为温度超参。
对比学习和度量学习的最大区别在于是否自监督构造训练数据。具体的区别就是对比学习的正负样本是根据一些规则自动构造的,而不是通过人工标注的数据(也就是有监督的方式)。图像领域对比学习的正例,一般对一张图片分别进行两种不同的变换操作,形成这张图的两个不同视图 (View),这就是自动构造出的一对正例。而这张图片对应的负样本,一般通过随机抽选一批其它图片来自动获得。
即,样本的正和负是相对而非绝对的。比如,度量学习中的用户对物料有行为为正例、用户对物料无行为为负样本;又比如对比学习中的一个图片为正例,其不同视图仍然与所述图片互为正例,而一个batch中,该图片以外的其它图片皆可以作为所述图片的负样本。故而,虽然可能在后文中可能存在多个负样本的描述,但这些负样本之间未必有互为负样本的关系。
hard负样本:是指容易被网络预测为正样本的proposal,即假阳性 (falsepositive),训练hard负样本对网络分类性能提升明显。
easy负样本:易于被预测为负样本的proposal,大量的easy负样本会使得模型的整体学习方向跑偏,导致无效学习。
长尾分布:如图1在一个累积分布函数中,一个随机变量X的分布,出现以下状况时,被称为是一个长尾分布。假设对所有t>0:
这相等于
推荐模型的原理在于预测用户(User)对物料(item)行为(如点击) 的概率(如相似度),根据概率高低来为用户推荐物料。推荐模型的输入为用户和物料的各自特征,用于其训练的训练样本也相应通过用户和物料的特征构造。
可以理解的,训练样本集中不同类型的训练样本的分布会影响所训练的推荐模型的预测能力。就负样本的类型举例来说,若训练样本集包含大量的易于识别的easy负样本(即高频样本),而容易被识别为正样本的 hard负样本数量极少(即低频样本),使得推荐模型被easy负样本高频训练,easy负特征数据对推荐模型的更新效果会很快减弱,进而产生很多的无效训练,而低频的hard负样本又无法使推荐模型得到充分训练,导致推荐模型在hard负样本的区分能力上存在欠缺。在推荐场景中,正样本可为用户点击被推荐的物料相关内容,而负样本则可为用户未点击被推荐的物料的相关内容。
这实际上是训练样本的长尾分布(Long-Tailed Distributions)导致的不均衡问题,是不可避免的。
目前,相关技术中基本上只考虑如何增加负样本数量,并不能针对性改善由于长尾分布所导致低频特征数据对应的低频特征无法被推荐模型充分学习的问题。故而,在用于推荐模型的训练样本集中,会包含大量easy 负样本及少量hard负样本,则推荐模型会充分地学习easy负样本相关的高频特征,而不能充分学习hard负样本相关的低频特征。
因此,如何去改善训练样本分布不均衡问题,以提升推荐模型的性能,已成为业界亟待解决的技术问题。
鉴于此,本公开实施例中可以提供推荐模型的训练方法、推荐方法、装置、介质及设备,以解决上述问题。
示例性方法实施例
参考图1所示,展示本公开一实施例中推荐模型的训练方法的流程示意图。
在图1中,所述推荐模型的训练方法包括:
步骤S101:获取一组训练样本,所述训练样本包括:第一对象的第一对象特征数据、第二对象的第二对象特征数据、以及标识训练样本为正样本或负样本的标签。
示例性地,所述组可以指的是batch,每个batch具有相同数量的训练样本。所述第一对象可以是用户(User),而第二对象可以是物料(item)。在媒体推荐场景中,所述物料包括但不限于以下一种:媒体;主播;文本内容等。示例性地,所述媒体可以包括音乐、音乐播放列表、图像、图片等中的一种或者组合。所述文本内容包括新闻、动态、评论等。
步骤S102:输入所述一组训练样本至推荐模型,执行训练过程。
所述训练过程在推荐模型中运行,具体包括:
S1021:基于输入的当前训练样本的第一对象特征数据映射得到第一特征向量,以及基于当前训练样本的第二对象特征数据映射得到第二特征向量;
S1022:基于已得到的各第一特征向量聚类得到至少一第一对象类簇,以及基于已得到的各第二特征向量聚类得到至少一第二类簇。
S1023:基于第一损失函数所计算的损失更新所述推荐模型。
其中,所述第一损失函数所计算损失包括:第一损失部分和第二损失部分;所述第一损失部分基于当前训练样本中第一特征向量与第二特征向量所属第二类簇的类簇中心间的第一间距得到;所述第二损失部分基于所述当前训练样本中第二特征向量同第一特征向量所属第一对象类簇的类簇中心的第二间距得到。
聚类即将相似的训练样本聚集成一类,从而形成各个类簇。对训练样本聚类成类簇,类簇对应于用户/物料的类别。进而,通过第一损失函数来优化一对象的特征向量到另一对象的类簇中心间距的损失,以替代相关技术中优化特征向量相似度的损失。实现由原来的特征向量一对一变成了一对多,即一个特征向量对一个类簇中心,而类簇中心根据类簇中的各特征向量整体计算得到,而这个“多”提升了低频特征被计算的频次,以使推荐模型能更充分学习到用户、物料的低频特征。
在一些实施例中,所述聚类的计算方式可以例如为K均值聚类算法 (K-means),也可以是分层聚类等别的聚类方法。
具体说明每个轮次的训练过程。每个训练样本可以表示为{a,b,x}, a对应用户a的特征数据,b对应item b的特征数据;x为标签,表示样本是正或负,即a是否对b有行为,可通过例如“0”或“1”来表示。一个 batch的训练样本逐条输入到推荐模型,User特征数据和item特征数据映射得到User特征向量、item特征向量。在推荐模型的每个训练轮次,输入一条训练样本,结合输入的训练样本和之前已形成的类簇再进行本轮次的聚类计算以更新类簇,进而计算本轮次的损失并据以执行本轮次对推荐模型的参数的更新。在可能示例中,聚类可以只在组内(batch内)发生,而不会跨batch,例如一个batch的size为8,则在8次训练轮次中,进行聚类的Embedding数量从1至8。再下一训练轮次,即又来到下一个batch 的第1个训练样本输入推荐模型及训练,并进行下一个batch对应 Embedding的组内聚类,以此类推。组内聚类利于实现推荐模型的在线
图2示出了在本公开一应用示例中的推荐模型架构基础上通过第一损失函数计算损失的原理示意图。
在图2示例中,所述推荐模型示例性地展示为双塔模型。所述推荐模型具有两个并行的塔,分别映射输入的第一对象特征数据(User特征数据) 和第二对象特征数据(item)特征数据以得到特征向量即第一特征向量 (User Embedding)和第二特征向量(itemEmbedding),然后再对第一特征向量同第二特征向量所属第二类簇的第二类簇中心计算第一损失部分,对第二特征向量同第一特征向量所属第一对象类簇的第一类簇中心计算第二损失部分,进而综合第一损失部分和第二损失部分得到第一损失函数所计算损失。在可能示例中,所述推荐模型的第一个塔包括第一特征向量处理层和第一深度神经网络,第二个塔包括第二特征向量处理层及第二深度神经网络。
步骤1021的基于输入的所述第一对象特征数据映射得到第一特征向量,以及基于输入的第二对象特征数据映射得到第二特征向量,具体包括:
通过第一特征处理层对第一特征数据进行特征向量处理以得到第一初步特征向量,通过第二特征处理层对第二特征数据进行特征向量处理以得到第二初步特征向量。在可能示例中,所述第一特征处理和第二特征处理可以包括特征编码、特征向量化及池化处理等,池化处理可以是最大池化(max-pooling)和均值池化(mean-pooling),以将User特征数据、item 特征数据处理为Feature Embedding作为初步特征向量。
通过第一深度神经网络基于所述第一初步特征向量得到所述第一对象特征向量即当前的User Embedding,通过第二深度神经网络基于所述第二初步特征向量得到所述第二对象特征向量即当前的item Embedding。在可能示例中,所述第一深度神经网络和第二深度神经网络可为DNN实现,包含输入层、至少一个隐藏层及输出层,层与层之间可以是全连接的,即第i层的任意一个神经元与第i+1层的任意一个神经元都存在连接,每一层神经元根据所连接上一层所连接各个神经元的输出为输入,根据这些输入的加权和(还可以包含偏置)计算本神经元的输出。
进一步的,根据当前及之前已得到的各个User Embedding进行聚类,得到各个User类簇;根据当前及之前已得到的各个item Embedding进行聚类,得到各个item类簇。计算当前的User Embedding同当前item Embedding所属item类簇的第一类簇中心的第一间距形成第一损失部分,并计算当前itemEmbedding同当前的UserEmbedding所属User类簇的第二类簇中心的第二间距形成第二损失部分。第一损失函数所计算损失即对第一损失部分和第二损失部分求和,可用于更新推荐模型的参数。
示例性地,所述第一损失函数可以表示为下式(1)所示:
l(zt,qs)+l(zs,qt) (1)
其中,t对应User,s对应item;l(zt,qs)表示第一损失部分;l(zt,qs) 表示第二损失部分;zt表示第一特征向量(即User特征向量),zs表示第二特征向量(即item特征向量;qt为第一特征向量所属第一对象类簇的第一类簇中心的第一中心表示向量,qs表示第二特征向量所属第二类簇的第二类簇中心的第二中心表示向量。
在一些实施例中,所述第一间距根据第一特征向量与第二类簇中心之间的相似度得到,所述第二间距根据第二特征向量与第一类簇中心之间的相似度得到;所述相似度的计算函数包含可调的温度超参,以用于控制第一损失函数所计算损失受到不同识别难度的负样本的影响。在可能示例中,所述第一特征向量与第二类簇中心之间的相似度计算方式包括:根据第一特征向量及待计算相似度的第二类簇中心并结合温度超参计算第一相似度量值,以及根据所述第一特征向量及其它第二类簇中心并结合温度超参计算第二相似度量值;基于第一相似度量值同第二相似度量值之间的比值以得到相似度。
以第一部分损失l(zt,qs)为例说明上述原理。l(zt,qs)即计算所述第一间距,其具体计算式可示例性地表示为下式(2):
其中,假设K-means预先分K个类簇,k表示其中第k个类簇。
即上述第一特征向量与第二类簇中心之间的相似度,式中表示为计算item侧第k个聚类中心与第t个User的相似度。其中,为所述第一相似度量值,为所述第二相似度量值;ck表示当前输入的训练样本的第二特征向量所属第二类簇的类簇中心的当前特征向量,即所述待计算相似度的第二类簇中心,ck′表示该第二类簇中心以外的其它第二类簇中心。T表示矩阵转置。
所述相似度的计算函数包含可调的温度超参,以用于控制第一损失函数所计算损失受到不同识别难度的负样本的影响。τ为温度超参。从可以理解,其分子部分强调正样本,希望正样本映射的特征向量之间的距离越近越好;分母部分强调负样本,希望正样本和负样本映射的特征向量之间的距离越远越好。通过在第一损失函数引入τ,从而可以通过调节τ的大小。比如减少τ的值,以把损失聚焦在hard样本上,即使得正样本及 hard负样本的相似性距离拉大;进而,放大负样本数量,即使训练样本中有更多的easy负样本的存在,也对hard负样本的充分学习有一定效果。
通过基于一对象的特征向量到另一对象对应类簇中心间距的第一损失函数,已具有一定的提升对低频的hard负样本相应特征的学习频次提升,且结合τ所带来的对低频的hard负样本相应特征的聚焦,使得推荐模型能进一步地提升学习低频负样本的特征的充分程度。
基于图2可知,推荐模型可基于损失梯度下降的反向传播来更新参数,因此,第一损失函数需要能将损失传导到第一深度神经网络和第二深度神经网络。
在一些实施例中,可以设计用于映射各第一特征向量到所属类簇的类簇中心的参数矩阵,通过此参数矩阵来实现反向传播中的损失传导。
在具体示例中,随机选择K个点C2={c1,c2,...,cK}作为item侧的各个第二类簇的类簇中心,c1~cK为簇中心的初始向量,然后如式(1)所示,映射第一特征向量集合Z1={z1,z2,...,zT}中每个第一特征向量z1~zT为 Q1={q1,q2,...,qT},计算时可以是通过q1对应将z1映射到c1,...通过qK对应将zT映射到cT。例如,若经计算z1~zT与c1,c2,...,cK的相似度来确定聚类,比如确定z1、z3聚类到c1所在类簇,则可以通过例如z1q1=c1形成z1到c1的映射关系,通过例如z3*q3=c1形成z3到c1的映射关系。示例性地,c1~cK可以是d维向量,则C2维数为<d,K>;z1~zT可以是d维向量,T可以是一个batch的size,则Z1维数为<d,T>;q1~qT可以是K维向量,Q1的维数为<K,T>。Q1基于损失反向传播更新参数,并能将损失向输入层传导以更新深度神经网络等的参数。
理想情况下,User与自己行为过的item所属类簇的第二类簇中心相似度为1,与其他的第二类簇中心相似度为0。
可以理解的是,第二损失部分l(zs,qt)的计算原理与上述l(zt,qs)相同,只是对象发生了变化,因此根据以上第一损失部分的原理,例如参考式(2) 原理,可以得到第二损失部分的计算方式。其中,所述第二间距根据第二特征向量与第一类簇中心之间的相似度得到,第二损失部分包含第二特征向量与第一类簇中心之间的相似度,其计算方式包括:根据第二特征向量及待计算相似度的第一类簇中心并结合温度超参计算第三相似度量值,以及根据所述第二特征向量及其它第一类簇中心并结合温度超参计算第四相似度量值;基于第三相似度量值同第四相似度量值之间的比值以得到相似度。对应上述C2、Z1、Q1的示例,l(zs,qt)计算中也会存在C1、Z2、 Q2,通过Q2将损失反向传播以更新模型参数。
为直观说明上述过程,再通过具体示例进行说明。
假设构造的关于用户A关于物料01、02、03、04的4条训练样本,其中A浏览了物料03,而没有浏览01、02、04,该4条训练样本表示为{A 特征数据,物料01特征数据,0},{A特征数据,物料02特征数据,0}, {A特征数据,物料03特征数据,1},{A特征数据,物料04特征数据, 0}。在可能示例中,物料01例如为歌曲,其特征数据包括名称xx、被播放次数1000。
将此4条训练样本逐一输入推荐模型,例如图2所示推荐模型,经过第一特征映射层和第二特征映射层,每条训练样本中的两个特征数据在两路分别编码得到FeatureEmbedding,并进一步经DNN映射成User Embedding和ItemEmbedding。
分别对已有的UserEmbedding集合、ItemEmbedding集合进行聚类,均设K=2,形成2个User类簇和2个Item类簇。
以计算第一损失部分为例继续说明。随机生成C={x1,x2},x1和x2为2个Item类簇初始的类簇中心,计算4个ItemEmbedding:V01、V02、V03、V04分别到x1和x2的距离d,并比较大小以实现聚类。
在本示例中,假设计算的各个Item Embedding到x1和x2的距离间的比较满足:
d(V01,x1)<d(V02,x2)
d(V02,x1)<d(V02,x2)
d(V03,x1)<d(V03,x2)
d(V04,x2)<d(V04,x1)
可知,将V01、V02、V03聚为一类,类簇中心为x1;V04聚为一类,类簇中心为x2。
设Q={q1,q2,q3,...qbatch_size},此示例中q1~qbatch_size都为维度d=2的向量,如果一个batch有4个训练样本,则batch_size=4。
通过向量Q将V01、V02、V03、V04映射到C,可得到:
V01q1=x1;
V02q2=x1;
V03q3=x1;
V04q4=x2。
通过聚类,实际上将训练样本{A特征数据,物料01特征数据,0}, {A特征数据,物料02特征数据,0},{A特征数据,物料03特征数据,1},{A特征数据,物料04特征数据,0}表示的用户和物料的特征的关系转换成用户和每类物料整体的关系,{A特征向量,x1特征向量,0},{A 特征向量,x1特征向量,0},{A特征向量,x1特征向量,1},{A特征数据,x2特征向量,0}。可见,x1特征向量出现了3次,相当于物料01特征数据、物料02特征数据、物料03特征数据整体出现了3次,有效提升低频样本训练推荐模型的充分程度。
另外,示例性地,根据K-means聚类算法更新类簇中心的原理,在推荐模型的每个训练轮次,类簇中心C根据在训练轮次中同一类簇中的各个特征向量的均值得到更新,即x1和x2得到更新。随着x1和x2更新,q1~q4也会得到更新,从而反向传导损失。
另外,在一些实施例中,还可以通过对训练样本集中的每个训练样本执行剪裁处理,以得到每个训练样本在不同视角(View)上的多个剪裁样本,各剪裁样本之间、剪裁样本与原训练样本之间互为正例,因为属于同一训练样本的不同view。从而,也可以提升训练样本集中低频样本对推荐模型的训练充分性。并且可选的,每一个训练样本可以形成一对剪裁特征数据,称为剪裁特征数据对,且可构造用于度量剪裁特征数据对之间相似度的损失函数,来让推荐模型学习以识别剪裁特征数据互为正例。在一些实施例中,所述剪裁处理包括随机剪裁第一对象特征数据和第二对象特征数据中至少一个维度的取值,比如对第一、第二特征数据随机丢弃某些维度上的值。
具体的,可以基于训练样本中的第一对象特征数据分别执行剪裁处理得到第一剪裁特征数据对,以及至少基于训练样本中的第二对象特征数据分别执行剪裁处理得到的第二剪裁特征数据对。即,对应每个输入正样本的User特征数据生成User剪裁特征数据对,并对应所述正样本的item特征数据生成一对item剪裁特征数据对。
进一步地,可将生成的User剪裁特征数据对和item剪裁特征数据对分别输入到所述推荐模型的User侧、item侧的塔中,并通过第二损失函数计算它们对应损失和并更新推荐模型的参数。
所述第二损失函数可以示例性地表示为下式(3):
例如,一条训练样本中包含User特征数据User1和item特征数据item1 及标签(0或1)。输入User特征数据到推荐模型生成UserEmbedding,且对User特征数据两次随机剪裁得到User剪裁特征数据对,包含User1’和User1”,输入User1’和User1”输入生成特征向量对UserEmbedding1’和 User Embedding1”,通过计算User Embedding1’和UserEmbedding1”之间的损失。同理,可以通过计算对应item1相应损失。其中,可以通过InfonCE函数实现。
如图3所示,示出了在本公开一应用示例中的推荐模型架构基础上通过第二损失函数计算损失的原理示意图。
图中的推荐模型可以是如图2所示的双塔模型,通过双箭头连接的网络实际上为共享参数(如共享第一对象特征数据、共享第二对象特征数据) 的同一个,即双塔中的一个塔。训练样本输入此推荐模型,其中的第一对象特征数据在第一个塔对应生成第一特征向量,第二对象特征数据在第二个塔对应生成第二特征向量。第一对象特征数据经剪裁处理生成的第一剪裁特征数据1和第一剪裁特征数据2分别输入第一个塔中得到第一剪裁向量1和第一剪裁向量2,计算第一剪裁向量1和第一剪裁向量2之间的第三损失部分。并且,第二对象特征数据经剪裁生成的第二剪裁特征数据1 和第二剪裁特征数据2分别输入第二个塔中得到第二剪裁向量1和第二剪裁向量2,计算第二剪裁向量1和第二剪裁向量2之间的第四损失部分。根据第二损失函数,综合第三损失部分和第四损失部分得到第二损失函数所计算损失,用于更新推荐模型的参数。在另一些实施例中,也可以对生成的特征向量进行两次剪裁,以得到剪裁向量对;但是相比之下,经剪裁处理的特征数据在塔中处理时,由于剪裁掉的部分补零进行计算,相比完整特征数据的计算来讲效率会更高。
在一些实施例中,所述第二损失函数同第一损失函数可以合成为第三损失函数,则它们所计算损失之间可以综合,以共同更新推荐模型的参数。
例如下式(4)中计算第三损失函数L(zt,zs):
因而,可如图4所示,展示本公开在又一实施例中的推荐模型的训练方法的流程示意图。与图1实施例相比,本实施例中的差异在于通过第一损失函数和第二损失函数共同用于训练推荐模型。
在图4中,流程包括:
步骤S401:获取一组训练样本,所述训练样本包括:第一对象的第一对象特征数据、第二对象的第二对象特征数据、以及标识训练样本为正样本或负样本的标签;
步骤S402:基于训练样本中的第一对象特征数据分别执行剪裁处理得到第一剪裁特征数据对,以及至少基于训练样本中的第二对象特征数据分别执行剪裁处理得到的第二剪裁特征数据对;
步骤S403:输入所述一组训练样本、及每个训练样本的第一剪裁特征数据对和第二剪裁特征数据对至推荐模型,执行训练过程包括:
步骤S4031:基于输入的当前训练样本的第一对象特征数据映射得到第一特征向量,以及基于当前训练样本的第二对象特征数据映射得到第二特征向量;基于当前训练样本的第一剪裁特征数据对映射得到第一剪裁向量对,以及基于所述当前训练样本的第二剪裁特征数据对映射得到第二剪裁向量对;
步骤S4032:基于已得到的各第一特征向量聚类得到至少一第一对象类簇,以及基于已得到的各第二特征向量聚类得到至少一第二类簇;
步骤S4033:基于第一损失函数和第二损失函数所共同计算的损失更新所述推荐模型。
其中,所述第一损失函数所计算损失包括:第一损失部分和第二损失部分;所述第一损失部分基于当前训练样本中第一特征向量与第二特征向量所属第二类簇的类簇中心间的第一间距得到;所述第二损失部分基于所述当前训练样本中第二特征向量同第一特征向量所属第一对象类簇的类簇中心的第二间距得到;所述第二损失函数所计算损失包括:所述第一剪裁特征向量对中剪裁特征向量之间的第三损失部分;所述第二剪裁特征向量对中剪裁特征向量之间的第四损失部分。
在另一些实施例中,也可以基于所述第一损失函数和第二损失函数依序地计算损失并分别更新所述推荐模型,以先后更新所述推荐模型。例如,在一个当前训练样本输入推荐模型时,先通过第一损失函数对应当前训练样本在推荐模型的输出计算损失并更新推荐模型参数,再通过第二损失函数对应当前训练样本的各个剪裁特征数据对在推荐模型的输出计算损失并更新推荐模型参数。也可以先通过第二损失函数更新推荐模型参数,再通过第一损失函数更新推荐模型参数,具体可以根据平衡推荐模型的精确率和召回率来加以选择。
图5示出了本公开又一实施例中推荐模型的训练方法的流程的示意图。
在图5中,示例性地展示了先使用第一损失函数后使用第二损失函数更新模型参数的过程。与图1实施例相比,本实施例中的差异在于先后通过第一损失函数和第二损失函数训练推荐模型。
在图5中,流程包括:
步骤S501:获取一组训练样本,所述训练样本包括:第一对象的第一对象特征数据、第二对象的第二对象特征数据、以及标识训练样本为正样本或负样本的标签;
步骤S502:基于训练样本中的第一对象特征数据分别执行剪裁处理得到第一剪裁特征数据对,以及至少基于训练样本中的第二对象特征数据分别执行剪裁处理得到的第二剪裁特征数据对;
步骤S503:输入所述一组训练样本、及每个训练样本的第一剪裁特征数据对和第二剪裁特征数据对至推荐模型,执行训练过程包括:
步骤S5031:基于输入的当前训练样本的第一对象特征数据映射得到第一特征向量,以及基于当前训练样本的第二对象特征数据映射得到第二特征向量;
步骤S5032:基于已得到的各第一特征向量聚类得到至少一第一对象类簇,以及基于已得到的各第二特征向量聚类得到至少一第二类簇;
步骤S5033:基于第一损失函数所计算的损失更新所述推荐模型;
步骤S5034:基于当前训练样本的第一剪裁特征数据对映射得到第一剪裁向量对,以及基于所述当前训练样本的第二剪裁特征数据对映射得到第二剪裁向量对;
步骤S5035:基于第二损失函数所计算的损失更新所述推荐模型。
如图6所示,展示本公开一实施例中推荐方法的流程示意图。
所述推荐方法可以基于通过本公开实施例中训练方法(例如图1、图 4、图5)所训练得到的推荐模型完成的。
在图6中,所述推荐方法包括:
步骤S601:获取至少一个第一对象的第一特征数据和多个第二对象的第二特征数据。
在一些实施例中,所述第一对象包括第一用户,所述第二对象包括第二用户或媒体对象。
步骤S602:输入所述第一特征数据和第二特征数据至推荐模型,以得到所述至少一第一对象与所述多个第二对象之间的相似度。
具体的,所述推荐模型可基于输入的当前训练样本的第一对象特征数据映射得到第一特征向量,以及基于当前训练样本的第二对象特征数据映射得到第二特征向量,并可基于求第一特征向量和第二特征向量内积的方式得到所述相似度。
步骤S603:基于所述相似度对所述多个第二对象进行排序,以用于向第一对象推荐。
经本公开实施例中的训练方法训练所得到的推荐模型,可应用在例如推荐召回场景、推荐粗排等场景,推荐的流程可以包括内容的召回、粗排、精排、重排等,其中每一个步骤。
另外,在一些实施例中,所述推荐方法还包括:输出所述第一特征向量和/或第二特征向量。第一特征向量和第二特征向量可以用于作为其它模型的输入或者中间向量使用,比如生成的User Embedding和/或item Embedding作为比如精排中使用特征向量。又例如,在别的搜索场景,如广告搜索中,也可以使用User Embedding和/或item Embedding作为模型中使用的特征向量。
通过之前实施例中所描述的训练方法所训练的推荐模型,学习低频特征的充分程度增加,从而使得生成的Embedding能更为可靠,则相关的召回、排序的结果也会更加可靠,对item的推荐也会更加准确。
示例性装置实施例
在介绍了本公开示例性的方法实施方式之后,接下来,参考图7对本公开示例性实施方式的推荐模型的训练装置700进行描述。
由于本公开实施方式的推荐模型的训练装置700的各个功能模块或子模块与上述示例性方法实施例中的训练方法的相应步骤或子步骤原理相同,故在本实施例中的具体实现可以参考之前内容,不再对相同的技术内容进行重复赘述。
如图7所示,本公开一实施例中推荐模型的训练装置700,包括:训练样本获取模块701,用于获取一组训练样本,所述训练样本包括:第一对象的第一对象特征数据、第二对象的第二对象特征数据、以及标识训练样本为正样本或负样本的标签;模型训练模块702,用于输入所述一组训练样本至推荐模型,执行训练过程包括:基于输入的所述第一对象特征数据映射得到第一特征向量,以及基于输入的第二对象特征数据映射得到第二特征向量;基于已得到的各第一特征向量聚类得到至少一第一对象类簇,以及基于已得到的各第二特征向量聚类得到至少一第二类簇;基于第一损失函数所计算的损失更新所述推荐模型;其中,所述第一损失函数所计算损失包括:第一损失部分和第二损失部分;所述第一损失部分基于当前训练样本中第一特征向量与第二特征向量所属第二类簇的类簇中心间的第一间距得到;所述第二损失部分基于所述当前训练样本中第二特征向量同第一特征向量所属第一对象类簇的类簇中心的第二间距得到。
在一些实施例中,所述训练装置700还包括:剪裁模块,用于在所述输入所述一组训练样本至推荐模型之前,基于训练样本中的第一对象特征数据分别执行剪裁处理得到第一剪裁特征数据对,以及至少基于训练样本中的第二对象特征数据分别执行剪裁处理得到的第二剪裁特征数据对。
在一些实施例中,所述模型训练模块702的输入所述一组训练样本至推荐模型,执行训练过程还包括:输入所述第一剪裁特征数据对及第二剪裁特征数据对至所述推荐模型,执行训练过程包括:基于当前训练样本的第一剪裁特征数据对映射得到第一剪裁向量对,以及基于所述当前训练样本的第二剪裁特征数据对映射得到第二剪裁向量对;基于所述第一损失函数和第二损失函数所共同计算的损失更新所述推荐模型;或者,基于所述第一损失函数和第二损失函数依序地计算损失并分别更新所述推荐模型;其中,所述第二损失函数所计算损失包括:所述第一剪裁特征向量对中剪裁特征向量之间的第三损失部分;所述第二剪裁特征向量对中剪裁特征向量之间的第四损失部分。
在一些实施例中,所述剪裁处理包括随机剪裁第一对象特征数据和第二对象特征数据中至少一个维度的取值。
在一些实施例中,所述第一间距根据第一特征向量与第二类簇中心之间的相似度得到,所述第二间距根据第二特征向量与第一类簇中心之间的相似度得到;所述相似度的计算函数包含可调的温度超参,以用于控制第一损失函数所计算损失受到不同识别难度的负样本的影响。
在一些实施例中,所述第一特征向量与第二类簇中心之间的相似度计算方式包括:根据第一特征向量及待计算相似度的第二类簇中心并结合温度超参计算第一相似度量值,以及根据所述第一特征向量及其它第二类簇中心并结合温度超参计算第二相似度量值;基于第一相似度量值同第二相似度量值之间的比值以得到相似度;所述第二特征向量与第一类簇中心之间的相似度计算方式包括:根据第二特征向量及待计算相似度的第一类簇中心并结合温度超参计算第三相似度量值,以及根据所述第二特征向量及其它第一类簇中心并结合温度超参计算第四相似度量值;基于第三相似度量值同第四相似度量值之间的比值以得到相似度。
在一些实施例中,所述模型训练模块702,还用于在对所述推荐模型的每个训练轮次中,执行对第一对象类簇和第二类簇的更新。
在一些实施例中,所述推荐模型包括第一特征向量处理层、第一深度神经网络、第二特征向量处理层及第二深度神经网络;所述基于输入的所述第一对象特征数据映射得到第一特征向量,以及基于输入的第二对象特征数据映射得到第二特征向量,包括:通过第一特征处理层对第一特征数据进行特征向量处理以得到第一初步特征向量,通过第二特征处理层对第二特征数据进行特征向量处理以得到第二初步特征向量;通过第一深度神经网络基于所述第一初步特征向量得到所述第一对象特征向量,通过第二深度神经网络基于所述第二初步特征向量得到所述第二对象特征向量。
参考图8对本公开示例性实施方式的推荐装置800进行描述。
由于本公开实施方式的推荐装置800的各个功能模块或子模块与上述示例性方法实施例中的推荐方法的相应步骤或子步骤原理相同,故在本实施例中的具体实现可以参考之前内容,不再对相同的技术内容进行重复赘述。
如图8所示,本公开一实施例中推荐装置800,包括:特征获取模块 801,用于获取至少一第一对象的第一特征数据和多个第二对象的第二特征数据;输入模块802,用于输入所述第一特征数据和第二特征数据至推荐模型,以得到所述至少一第一对象与所述多个第二对象之间的相似度;排序模块803,用于基于所述相似度对所述多个第二对象进行排序,以用于向第一对象推荐;其中,所述推荐模型由如之前实施例中训练方法训练得到。
在一些实施例中,所述推荐模型基于输入的当前训练样本的第一对象特征数据映射得到第一特征向量,以及基于当前训练样本的第二对象特征数据映射得到第二特征向量;所述推荐模型还输出所述第一特征向量和/ 或第二特征向量。
在一些实施例中,其特征在于,所述第一对象包括第一用户,所述第二对象包括第二用户或媒体对象。
示例性存储介质
在介绍了本公开示例性实施方式的方法和装置之后,接下来,参考图 9对本公开示例性实施方式的存储介质进行说明。
参考图9所示,描述了根据本公开的实施方式的存储介质900,其可以包含程序代码,并可以在设备上运行,例如服务器等上运行,以实现本公开上述方法实施例中的各个步骤及子步骤的执行。在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序代码可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如 Java、C++等,还包括常规的过程式程序设计语言-诸如"C"语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性电子设备
在介绍了本公开示例性实施方式的存储介质之后,接下来,参考图10 对本公开示例性实施方式的电子设备进行说明。
图10显示的电子设备1000仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。所述电子设备1000可以实现于服务器等。
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备 1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元 1010)的总线1030。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本公开上述实施例中描述的方法的步骤及子步骤。例如,所述处理单元1010可以执行如图1、图3 或图6等实施例中的步骤。
在一些实施例中,存储单元1020可以包括易失性存储单元,例如随机存取存储单元(RAM)10201和/或高速缓存存储单元10202,还可以进一步包括只读存储单元(ROM)10203。
在一些实施例中,存储单元1020还可以包括具有一组(至少一个) 程序模块10205的程序/实用工具10204,这样的程序模块10205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
在一些实施例中,总线1030可以包括数据总线、地址总线和控制总线。
在一些实施例中,电子设备1000也可以与一个或多个外部设备1100 (例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出 (I/O)接口1050进行。可选的,电子设备1000还包括显示单元1040,其连接到输入/输出(I/O)接口1050,用于进行显示。并且,电子设备1000 还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、 RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了如训练装置、推荐装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种推荐模型的训练方法,其特征在于,包括:
获取一组训练样本,所述训练样本包括:第一对象的第一对象特征数据、第二对象的第二对象特征数据、以及标识训练样本为正样本或负样本的标签;
输入所述一组训练样本至推荐模型,执行训练过程包括:
基于输入的当前训练样本的第一对象特征数据映射得到第一特征向量,以及基于当前训练样本的第二对象特征数据映射得到第二特征向量;
基于已得到的各第一特征向量聚类得到至少一第一对象类簇,以及基于已得到的各第二特征向量聚类得到至少一第二类簇;
基于第一损失函数所计算的损失更新所述推荐模型;
其中,所述第一损失函数所计算损失包括:第一损失部分和第二损失部分;所述第一损失部分基于当前训练样本中第一特征向量与第二特征向量所属第二类簇的类簇中心间的第一间距得到;所述第二损失部分基于所述当前训练样本中第二特征向量同第一特征向量所属第一对象类簇的类簇中心的第二间距得到。
2.根据权利要求1所述的训练方法,其特征在于,在所述输入所述一组训练样本至推荐模型之前,还包括:
基于训练样本中的第一对象特征数据分别执行剪裁处理得到第一剪裁特征数据对,以及至少基于训练样本中的第二对象特征数据分别执行剪裁处理得到的第二剪裁特征数据对。
3.根据权利要求1所述的训练方法,其特征在于,所述第一间距根据第一特征向量与第二类簇中心之间的相似度得到,所述第二间距根据第二特征向量与第一类簇中心之间的相似度得到;
所述相似度的计算函数包含可调的温度超参,以用于控制第一损失函数所计算损失受到不同识别难度的负样本的影响。
4.根据权利要求1所述的训练方法,其特征在于,所述推荐模型包括第一特征向量处理层、第一深度神经网络、第二特征向量处理层及第二深度神经网络;所述基于输入的所述第一对象特征数据映射得到第一特征向量,以及基于输入的第二对象特征数据映射得到第二特征向量,包括:
通过第一特征处理层对第一特征数据进行特征向量处理以得到第一初步特征向量,通过第二特征处理层对第二特征数据进行特征向量处理以得到第二初步特征向量;
通过第一深度神经网络基于所述第一初步特征向量得到所述第一对象特征向量,通过第二深度神经网络基于所述第二初步特征向量得到所述第二对象特征向量。
5.一种推荐方法,其特征在于,包括:
获取至少一个第一对象的第一特征数据和多个第二对象的第二特征数据;
输入所述第一特征数据和第二特征数据至推荐模型,以得到所述至少一第一对象与所述多个第二对象之间的相似度;
基于所述相似度对所述多个第二对象进行排序,以用于向第一对象推荐;
其中,所述推荐模型由如权利要求1至4中任一项所述的训练方法训练得到。
6.根据权利要求5所述的推荐方法,其特征在于,所述推荐模型基于输入的当前训练样本的第一对象特征数据映射得到第一特征向量,以及基于当前训练样本的第二对象特征数据映射得到第二特征向量;所述推荐方法还包括:
输出所述第一特征向量和/或第二特征向量。
7.一种推荐模型的训练装置,其特征在于,包括:
训练样本获取模块,用于获取一组训练样本,所述训练样本包括:第一对象的第一对象特征数据、第二对象的第二对象特征数据、以及标识训练样本为正样本或负样本的标签;
模型训练模块,用于输入所述一组训练样本至推荐模型,执行训练过程包括:基于输入的所述第一对象特征数据映射得到第一特征向量,以及基于输入的第二对象特征数据映射得到第二特征向量;基于已得到的各第一特征向量聚类得到至少一第一对象类簇,以及基于已得到的各第二特征向量聚类得到至少一第二类簇;基于第一损失函数所计算的损失更新所述推荐模型;其中,所述第一损失函数所计算损失包括:第一损失部分和第二损失部分;所述第一损失部分基于当前训练样本中第一特征向量与第二特征向量所属第二类簇的类簇中心间的第一间距得到;所述第二损失部分基于所述当前训练样本中第二特征向量同第一特征向量所属第一对象类簇的类簇中心的第二间距得到。
8.一种推荐装置,其特征在于,包括:
特征获取模块,用于获取至少一第一对象的第一特征数据和多个第二对象的第二特征数据;
输入模块,用于输入所述第一特征数据和第二特征数据至推荐模型,以得到所述至少一第一对象与所述多个第二对象之间的相似度;
排序模块,用于基于所述相似度对所述多个第二对象进行排序,以用于向第一对象推荐;
其中,所述推荐模型由如权利要求1至4中任一项所述的训练方法训练得到。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现:
权利要求1~4中任一项所述的训练方法;或者,权利要求5或6所述的推荐方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行:
权利要求1~4中任一项所述的训练方法;或者,权利要求5或6所述的推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210363890.7A CN114595787A (zh) | 2022-04-07 | 2022-04-07 | 推荐模型的训练方法、推荐方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210363890.7A CN114595787A (zh) | 2022-04-07 | 2022-04-07 | 推荐模型的训练方法、推荐方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114595787A true CN114595787A (zh) | 2022-06-07 |
Family
ID=81820949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210363890.7A Pending CN114595787A (zh) | 2022-04-07 | 2022-04-07 | 推荐模型的训练方法、推荐方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114595787A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116401567A (zh) * | 2023-06-02 | 2023-07-07 | 支付宝(杭州)信息技术有限公司 | 一种聚类模型训练、用户聚类、信息推送方法及装置 |
-
2022
- 2022-04-07 CN CN202210363890.7A patent/CN114595787A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116401567A (zh) * | 2023-06-02 | 2023-07-07 | 支付宝(杭州)信息技术有限公司 | 一种聚类模型训练、用户聚类、信息推送方法及装置 |
CN116401567B (zh) * | 2023-06-02 | 2023-09-08 | 支付宝(杭州)信息技术有限公司 | 一种聚类模型训练、用户聚类、信息推送方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111666416B (zh) | 用于生成语义匹配模型的方法和装置 | |
CN109145245A (zh) | 预测点击率的方法、装置、计算机设备及存储介质 | |
CN111966914A (zh) | 基于人工智能的内容推荐方法、装置和计算机设备 | |
CN113254716B (zh) | 视频片段检索方法、装置、电子设备和可读存储介质 | |
US20240114158A1 (en) | Hierarchical Video Encoders | |
CN112395487A (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
CN112784157A (zh) | 行为预测模型的训练方法、行为预测方法及装置、设备 | |
CN117494051A (zh) | 一种分类处理的方法、模型训练的方法以及相关装置 | |
CN113220994B (zh) | 基于目标物品增强表示的用户个性化信息推荐方法 | |
CN114595787A (zh) | 推荐模型的训练方法、推荐方法、装置、介质及设备 | |
CN117171413B (zh) | 用于数字藏品管理的数据处理系统及其方法 | |
CN117829999A (zh) | 基于机器学习的对研究报告进行评价的方法和装置 | |
Sathiyaprasad | Ontology-based video retrieval using modified classification technique by learning in smart surveillance applications | |
CN115018077A (zh) | 贝叶斯网络的结构学习方法、装置及电子设备 | |
CN116340635A (zh) | 物品推荐方法、模型训练方法、装置及设备 | |
CN110796172A (zh) | 金融数据的样本标签确定方法、装置及电子设备 | |
CN113010687B (zh) | 一种习题标签预测方法、装置、存储介质以及计算机设备 | |
CN112613533B (zh) | 基于排序约束的图像分割质量评价网络系统、方法 | |
US11514311B2 (en) | Automated data slicing based on an artificial neural network | |
Li et al. | Improved capsule routing for weakly labeled sound event detection | |
CN117786234B (zh) | 一种基于两阶段对比学习的多模态资源推荐方法 | |
Asano et al. | Model-agnostic explanations for decisions using minimal patterns | |
CN111274216B (zh) | 无线局域网的识别方法、识别装置、存储介质及电子设备 | |
CN117636100B (zh) | 预训练任务模型调整处理方法、装置、电子设备和介质 | |
Kong et al. | Research on SPDTRS-PNN based intelligent assistant diagnosis for breast cancer |
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 |