CN114970882A - 适于多场景多任务的模型预测方法及模型系统 - Google Patents
适于多场景多任务的模型预测方法及模型系统 Download PDFInfo
- Publication number
- CN114970882A CN114970882A CN202210544768.XA CN202210544768A CN114970882A CN 114970882 A CN114970882 A CN 114970882A CN 202210544768 A CN202210544768 A CN 202210544768A CN 114970882 A CN114970882 A CN 114970882A
- Authority
- CN
- China
- Prior art keywords
- task
- scene
- expert
- layer
- prediction result
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例公开了一种适于多场景多任务的模型预测方法及模型系统。模型系统包括输入层、场景层、任务层和输出层。获取特征数据、场景标识以及任务标识后,通过场景层处理所述特征数据以及所述场景标识,以从场景层的多个专家模块中选择一个或多个场景专有专家模块以及一个或多个场景共享专家模块分别处理所述特征数据,得到场景层预测结果。通过任务层处理所述场景层预测结果以及所述任务标识,以从任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到任务层预测结果。通过输出层处理所述任务层预测结果,得到模型预测结果。
Description
技术领域
本说明书涉及信息技术领域,特别涉及一种适于多场景多任务的模型预测方法及模型系统。
背景技术
随着人工智能技术的快速发展,机器学习模型已被广泛应用到各个日常生产、生活领域。目前较为普遍的做法是针对单一的应用场景以及单一的预测任务训练模型,这使得模型训练效率较低,同时由于部分场景以及任务具有一定的关联性,针对单场景单任务建模难以共享不同场景/任务下的数据信息。目前已有一些非单场景单任务建模的研究,然而这些研究主要关注于单场景多任务学习(Single Scenario Learning And Multi-TaskLearning,SSL&MTL)和多场景单任务学习(Multi-Scenario Learning And Single TaskLearning,MSL&STL)。单场景多任务学习旨在训练一个模型(框架)来实现多个优化任务(也可称作优化目标,简称任务或目标)下的预测,但适用场景单一,无法胜任多场景预测。多场景单任务学习旨在训练一个模型(框架)来实现多个场景下的预测,但优化目标单一,无法胜任多目标(任务)预测。
有鉴于此,希望提供一种多场景多任务学习方案,即训练一个模型来实现多场景多任务下的预测,进一步提高建模效率,同时更大程度地共享信息进而提高模型预测精度。
发明内容
本说明书实施例之一提供一种适于多场景多任务的模型预测方法。所述方法可以包括:获取特征数据、场景标识以及任务标识,所述场景标识用于指示从多个场景中选择的目标场景,所述任务标识用于指示从多个任务中选择的目标任务;通过场景层处理所述特征数据以及所述场景标识,以从场景层的多个专家模块中选择一个或多个场景专有专家模块以及一个或多个场景共享专家模块分别处理所述特征数据,得到场景层预测结果;通过任务层处理所述场景层预测结果以及所述任务标识,以从任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到任务层预测结果;通过输出层处理所述任务层预测结果,得到模型预测结果。
本说明书实施例之一提供一种适于多场景多任务的模型系统。所述模型系统可以包括:输入层,用于获取特征数据、场景标识以及任务标识,所述场景标识用于指示从多个场景中选择的目标场景,所述任务标识用于指示从多个任务中选择的目标任务;场景层,用于处理所述特征数据以及所述场景标识,以从场景层的多个专家模块中选择一个或多个场景专有专家模块以及一个或多个场景共享专家模块分别处理所述特征数据,得到场景层预测结果;任务层,用于处理所述场景层预测结果以及所述任务标识,以从任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到任务层预测结果;输出层,用于处理所述任务层预测结果,得到模型预测结果。
本说明书实施例之一提供一种适于多场景多任务的模型训练方法。所述方法可以包括:获取训练样本的特征数据、场景标识以及任务标识以及标签,所述场景标识用于指示从多个场景中选择的目标场景,所述任务标识用于指示从多个任务中选择的目标任务;将训练样本的特征数据、场景标识以及任务标识输入到如本说明书任一实施例所述的模型系统,获得训练样本对应的模型预测结果;基于训练样本对应的模型预测结果及其标签,确定第一损失函数值,其中,第一损失函数值反映模型预测结果与标签的差异;基于训练样本对应的各场景专有专家模块的场景权重向量与场景指标向量的相似度、各场景共享专家模块的场景权重向量与均匀分布向量的相似度、各任务专有专家模块的任务权重向量与任务指标向量的相似度以及各任务共享专家模块的任务权重向量与均匀分布向量的相似度,确定第二损失函数值,所述第二损失函数与各相似度之和负相关;调整模型系统的模型参数,以同时减小第一损失函数值以及第二损失函数值。
本说明书实施例之一提供一种适于多场景多任务的模型预测装置,包括处理器和存储设备,所述存储设备用于存储指令,其中,当所述处理器执行指令时,实现如本说明书任一实施例所述的模型预测方法。
本说明书实施例之一提供一种适于多场景多任务的模型训练装置,包括处理器和存储设备,所述存储设备用于存储指令。其中,当所述处理器执行指令时,实现如本说明书任一实施例所述的模型训练方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的适于多场景多任务的模型系统的示例性模块图;
图2是根据本说明书一些实施例所示的适于多场景多任务的模型预测方法的示例性流程图;
图3是根据本说明书一些实施例所示的单个场景层的数据流示意图;
图4是根据本说明书一些实施例所示的多级场景情况下适于多场景多任务的模型系统的数据流示意图;
图5是根据说明书一些实施例所示的单个任务层的数据流示意图;
图6是根据说明书另一些实施例所示的单个任务层的数据流示意图;
图7是根据本说明书一些实施例所示的适于多场景多任务的模型训练方法的示例性流程图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
机器学习可以分为有监督学习和无监督学习,两者通过训练数据(样本)是否有标签来区分。本说明书涉及有监督学习,即样本具有标签,或者说模型输入(如输入特征向量)有对应的标签。例如,对于分类模型,输入可以是动物的图像如猫、狗、羊的图像,其对应的标签可以是动物品种如猫、狗、羊。
场景,又可称为应用场景,用于描述建模的背景或模型所使用的具体领域。较为粗略的划分时,场景可以是动物分类场景、用户分类场景、物品推荐场景等。更细粒度的划分时,动物分类场景下又可以分为猫科动物分类、犬科动物分类,或者细分为基于图像的动物分类、基于叫声的动物分类;基于用户搜索商品推荐场景又可以基于用户的搜索入口、或者用户的意图对该场景作进一步细分。应当理解的是,场景的定义比较宽泛、灵活,且具有相对性。在实际应用中,可以根据建模的具体业务需要或背景进行场景划分。任务,常常与模型预测的最终目的相关,与场景的定义类似的,任务也可以根据相应的业务需要进行划分。示例性的,在基于用户搜索的推荐业务中,可以设定任务包括提高用户点击率、提高用户购买率等。在不同的场景下(任务固定),输入数据到标签空间(训练样本的标签集合)之间的映射关系可能存在差异。在不同的任务下(场景固定),输入数据到标签空间的映射关系也可能存在差异。要实现多场景多任务下的预测,有两种可行的做法:一种是为每个场景训练一个适于SSL&MTL的模型,即训练多个适于SSL&MTL的模型;另一种是为每个任务训练一个适于MSL&STL的模型,即训练多个适于MSL&STL的模型。然而,训练多个模型会给模型的迭代带来巨大的维护成本,同时,数据量较小的场景使用单一场景数据进行训练也难以获得满意的训练效果。
仅作为示例,某平台的搜索系统中,用户可以通过输入搜索词发起查询请求,进而获取系统推荐的商品(如基金产品)。所述平台可以销售商品的网络平台,通常以网站或应用程序的形式呈现给用户,用户可以在其用户界面内选购商品或服务。商品可以是实体物品、金融产品、服务产品等等。平台可以为用户提供多元化的搜索入口,以金融产品为例,平台提供的搜索入口可以包括主搜页面(综合性强的主页,记为HP)和垂搜页面(针对性强的垂直页面,记为VP)两个通道,每个通道中还可以进一步划分为热门基金(记为BS)和基金产品(记为RI)两个域。因此,总共有四个细分场景,分别为HP→BS、HP→RI、VP→BS、VP→RI。点击通过率(Click Through Rate,CTR)和转化率(Conversion Rate)是搜索系统的重要优化指标,因此,对于搜索系统,两个基本的训练任务(目标)为提高点击通过率(简称点击率)和提高转化率。其中,点击率可指用户点击推荐商品的次数占推荐商品的展示(曝光)次数之间的比例,转化率可指用户点击后购买推荐商品(即转化)的次数占用户点击推荐商品的次数的比例。可以理解,不同场景下用户的点击/转化行为具有不同的规律,不同任务下标签的确定依据也不同(如CTR任务的标签依据用户点击行为的发生与否来确定,CVR任务的标签依据用户转化行为的发生与否来确定)。
有鉴于此,本说明书实施例提供一种适于多场景多任务(MSL&MTL)的模型系统和模型预测及训练方法。
图1是根据本说明书一些实施例所示的适于多场景多任务的模型系统的示例性模块图。如图1所示,系统100可以包括输入层110、场景层120、任务层130和输出层140。
输入层110可以用于获取特征数据、场景标识以及任务标识。其中,场景标识可用于指示从多个场景中选择的目标场景,任务标识可用于指示从多个任务中选择的目标任务。
场景层120可以包括多个专家模块(未图示)。场景层120可以用于处理所述特征数据以及所述场景标识,以从场景层120的多个专家模块中选择一个或多个专有专家模块以及一个或多个共享专家模块分别处理所述特征数据,得到场景层预测结果。
在一些实施例中,场景层120还可以包括门控模块122和选择模块124。
门控模块122可以用于处理所述特征数据以及所述场景标识,获得场景层120的多个专家模块中每一个的场景权重向量。其中,场景权重向量的维度与所述多个场景的数量相关。
选择模块124用于针对场景层120的多个专家模块中的每一个,基于该专家模块的场景权重向量确定该专家模块是否为场景专有专家模块以及是否为场景共享专家模块。
在一些实施例中,门控模块122还可以用于处理所述特征数据以及所述场景标识,获得所述目标场景的专家权重向量。其中,专家权重向量的维度与场景层120的所述多个专家模块的数量相关。场景层120还可以包括权重调整模块126,用于保留所述专家权重向量中场景专有专家模块以及场景共享专家模块对应的权重,得到更新后的专家权重向量。
在一些实施例中,场景层120还可以包括预测模块128,用于:获取各专家模块处理所述特征数据得到的多个场景层预测分量;基于所述更新后的专家权重向量对所述多个场景层预测分量加权求和,得到所述场景层预测结果。
任务层130也可以包括多个专家模块(未图示)。任务层130可以用于处理所述场景层预测结果以及所述任务标识,以从任务层130中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到任务层预测结果。
在一些实施例中,任务层130还可以包括门控模块132和选择模块134。
门控模块132可以用于处理所述场景层预测结果以及所述任务标识,获得任务层130的多个专家模块中的每一个的任务权重向量。其中,任务权重向量的维度与所述多个任务的数量相关。
选择模块134可以用于针对任务层130的多个专家模块中的每一个,基于该专家模块的任务权重向量确定该专家模块是否为任务专有专家模块以及是否为任务共享专家模块。
在一些实施例中,门控模块132还可以用于处理所述场景层预测结果以及所述任务标识,获得目标任务的专家权重向量。其中,专家权重向量的维度与任务层130的多个专家模块的数量相关。任务层130还可以包括权重调整模块136,用于保留所述专家权重向量中任务专有专家模块以及任务共享专家模块对应的权重,得到更新后的专家权重向量。
在一些实施例中,任务层130还可以包括预测模块138,用于:获取各专家模块处理所述场景层预测结果得到的多个任务预测分量;基于所述更新后的专家权重向量对所述多个任务预测分量加权求和,得到所述任务层预测结果。
输出层140可以用于处理所述任务层预测结果,得到模型预测结果。
可选地,在一些实施例中,模型系统100还可以包括获取模块(未图示),用于获取用户在平台某搜索入口中输入的搜索词;基于搜索词确定待推荐商品;基于用户的用户特征、待推荐商品特征以及所述用户的历史查询行为特征,确定特征数据;将所述某搜索入口作为目标场景,确定场景标识;确定目标任务为提高点击率和提高转化率中的一种或多种,以确定任务标识;以及,将所述特征数据、所述场景标识以及所述任务标识发送给所述输入层110。
关于模型系统100及其模块的更多细节,可以参考图2及其相关描述。
应当理解,图1所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,权重更新模块126和预测模块128可以合并成一个模块。诸如此类的变形,均在本说明书的保护范围之内。
图2是根据本说明书一些实施例所示的适于多场景多任务的模型预测方法的示例性流程图。在一些实施例中,流程200可以由图1所示的系统100执行。如图2所示,流程200可以包括以下步骤。
步骤210,获取特征数据、场景标识以及任务标识。在一些实施例中,步骤210可以由获取模块以及输入层110执行。
特征数据可以反映与预测对象相关的各类特征,实际应用中可以根据业务需要设定。以搜索系统为例,特征数据可以反映以下特征中的一种或多种:用户特征、待推荐商品的特征、查询行为特征。其中,用户特征可以包括用户的性别、年龄、偏好等等,待推荐商品的特征可以包括品牌、价格、产地等等,查询行为可以包括当前查询输入、近期查询频率、历史时间段内查询、点击、购买或浏览过的商品等等。
在一些实施例中,可以通过获取模块获取用户在平台某搜索入口中输入搜索词,并基于搜索词确定待推荐商品。待推荐商品可以是与搜索词对应或相关的产品或服务。待推荐商品的数量可以是一个或多个,当待推荐商品为多个时,可以对多个待推荐商品分别处理。在一些实施例中,进一步获取模块可以获取用户的性别、年龄、职业、偏好等特征、待推荐商品的品牌、价格、产地等特征以及用户的历史查询行为,进而得到特征数据。特征数据可以是编码形式,以便输入层110可以直接处理。
对于类别特征(如性别、品牌),可以将给定实例(预测对象,如所述用户和/或所述待推荐商品)的类别特征转换成独热(one-hot)向量。独热向量的维度可以与类别特征的所有类别的数量相等,且各维度与各类别一一对应,其中,仅有一个非零(通常取1)向量元素,其余向量元素均为零,以指示给定实例属于该非零元素对应的目标类别。例如,假设有n个品牌,可以用n维独热向量(记为v)来表征品牌特征,不妨将独热向量v的第t维元素(记为vt)对应的品牌记为bt。若给定实例属于品牌bi,则可将表征该实例的品牌特征的独热向量v的第i维元素置1,其余元素置0,即vi=1且vj=0(j≠i)。对于数值特征,可以进行特征分箱,即将其转换成类别特征,再将类别特征转换成独热(one-hot)向量。
场景标识可用于指示从多个场景中选择的目标场景,任务标识可用于指示从多个任务中选择的目标任务。具体地,可以设置与多个场景一一对应的多个场景标识,对于任一实例,可以先确定该实例所属的目标场景,再确定与该目标场景对应的场景标识。类似地,可以设置与多个任务一一对应的多个任务标识,对于每个目标任务,可以确定与该目标任务对应的任务标识。可以理解,给定实例所属的目标场景是唯一的(场景具有排他性),即对于给定实例所述目标场景仅有一个。而任务不具有排他性,根据实际需要,目标任务可以是一个,也可以是多个。续前例,获取模块可以将用户在平台中选择的搜索入口作为目标场景,进而得到场景标识。获取模块还可以根据业务需要,将提高转化率和提高点击率中的一种或多种作为目标任务,进而得到任务标识。
由于多个场景/任务可视为多个类别,因此,在一些实施例中,独热向量可以充当场景标识。参考前述内容,以场景标识为例,假设有m个场景,可以用m维独热向量(记为v)来指示给定实例所属的目标场景,不妨将独热向量v的第t维元素(记为vt)对应的场景记为st。若给定实例属于场景si,则可将该实例的场景标识向量v的第i维元素置1,其余元素置0,即vi=1且vj=0(j≠i)。同理,可以得到任务标识。
在一些实施例中,输入层110可以对独热向量形式的特征数据、场景标识以及任务标识进行向量嵌入(embedding)处理,得到嵌入(embedding)向量形式的特征数据、场景标识以及任务标识并将其送至场景层120处理。对于给定的实例,可以将表征不同特征的多个嵌入向量进行拼接,得到该实例的嵌入向量形式的特征数据并将其送至场景层120处理。
步骤220,通过场景层120处理所述特征数据以及所述场景标识,以从场景层120的多个专家模块中选择一个或多个场景专有专家模块以及一个或多个场景共享专家模块分别处理所述特征数据,得到场景层预测结果。
在一些实施例中,专家模块可以处理特征数据以得到中间预测结果。本说明书采用的模型系统中,场景层可以有多个专家模块,对于不同的场景可以从多个专家模块中选出不同的专家参与各场景的预测,进而适应多场景预测。专家模块可以基于多层感知机(Multi-Layer Perceptron,MLP)或深度神经网络(Deep Neural Networks,DNN)实现。为了简化描述,可以将专家模块简称为专家(Expert)。
在场景层,如果一个专家与特定场景(记为场景j)的相关性相比于其他场景要高,那么这个专家可被称为场景j的专有专家(即所述场景专有专家模块);如果一个专家与所有场景的相关性互相之间的差距很小,那么这个专家被称为(所有场景的)共享专家(即所述场景共享专家模块)。可以理解,场景j的专有专家和共享专家都可用于场景j下的预测。经过专家选择后,对于属于场景j的实例,可以仅基于场景j的专有专家的输出以及场景共享专家的输出获得该实例的场景层预测结果,即可以屏蔽未被选择的专家的输出。另外,任一专家可以既是场景专有专家又是场景共享专家,即场景专有专家和场景共享专家可以存在交集,鉴于此,一个或多个场景专有专家以及一个或多个共享专家暗含了对两者取并集的意思。
值得说明的是,场景层是可拓展(堆叠)的。在堆叠的场景层中:第一个场景层以所述特征数据以及所述场景标识为输入,后续场景层以前一场景层输出的场景层预测结果以及所述场景标识为输入;第一个场景层的专家以所述特征数据为输入,后续场景层以前一场景层输出的场景层预测结果为输入;经过层层专家选择,最后一个场景层输出的场景层预测结果可送至任务层处理。可以理解,若任务层同样经过拓展,则最后一个场景层输出的场景层预测结果可送至第一个任务层处理。通过堆叠可以对模型系统的参数规模进行拓展,同时增加模型系统的深度,对于特征数据较为复杂的预测场景,有利于提高预测精度。在一些实施例中,还可以通过堆叠实现多场景层与场景内部的多个层级对应,细化处理粒度,提升预测精度,相关内容可以参见图4的相关说明。以下,主要以单个场景层(非堆叠的场景层)为例对场景层的内部处理流程进行介绍,对于堆叠的场景层,其中每个场景层的内部处理流程与单个场景层的类似。
在一些实施例中,可以通过场景层120的门控模块122处理专家输入以及场景标识,获得场景层120的多个专家中每一个的场景权重向量。其中,场景权重向量的维度可以与所述多个场景的数量一致。例如,当所述多个场景为m个场景时,场景权重向量可以是m维向量,即场景权重向量的m个元素与这m个场景一一对应(不妨认为第j维元素对应场景j),每个专家的场景权重向量的第j维元素可以是该专家与场景j的相关性分数。进而,针对场景层120的多个专家中的每一个(记为专家Ek),场景层120的选择模块124可以根据专家Ek的场景权重向量确定专家Ek是否为场景专有专家以及是否为场景共享专家。可以合理假设:如果专家Ek的场景权重向量的第j维向量元素比其它向量元素要大,则认为专家Ek包含场景j的专有信息,相应地专家Ek可以被分类为场景j的专有专家;如果专家Ek的场景权重向量中各向量元素的值接近,则认为专家Ek包含所有场景的共享信息,相应地专家Ek可以被分类为所有场景的共享专家。简言之,每个专家的场景权重向量的稀疏程度反映了该专家被分类成场景专有专家以及场景共享专家的概率。
在一些实施例中,可以将各个专家的场景权重向量作为行向量进行排列,便可得到矩阵G,相应的,G矩阵列向量则可看作是对于同一场景各专家与该场景的相关性分数;即专家的场景权重向量可以记为G[k,:],G矩阵的列向量则可称为某场景的专家权重向量。在一些实施例中,场景层120的门控模块122可以利用不同场景对应的参数矩阵分别处理特征数据以及场景标识,得到各场景的专家权重向量。不难理解,这一过程可以同时得到各专家的场景权重向量。
以场景j为例,场景层120的门控模块122的处理逻辑可以表示为:
gj=Sj[x,s]+ηj (1)
其中,gj表示场景j的专家权重向量,专家权重向量的维度可以与场景层120的多个专家的数量一致。例如,当场景层120有n个专家时,专家权重向量可以是n维向量,即专家权重向量的n个元素与这n个专家一一对应(不妨认为第k维元素对应专家Ek),专家权重向量gj的第k维元素为专家Ek与场景j的相关性分数。Sj为场景j对应的参数矩阵,可通过学习得到,[,]表示向量拼接,x表示专家输入,s表示场景标识,Sj[x,s]表示矩阵Sj和向量[x,s]的乘积。ηj表示噪声(扰动)向量,如高斯噪声向量。通过添加扰动,可以扩大选择空间,避免部分专家总是被选中导致模型可靠性降低。
在一些实施例中,场景层120的权重调整模块126可以根据专家选择结果对目标场景的专家权重向量进行更新。具体地,假设目标场景为场景j,所述权重调整模块可以保留场景j的专家权重向量中场景专有专家以及场景共享专家对应的权重,得到更新后的专家权重向量。可以理解,这里的场景专有专家指所述目标场景的专有专家。另外,保留可以指维持原权重(向量元素)不变,不保留可以指将权重(向量元素)置0。
在一些实施例中,可以通过更新后的专家权重向量获得(当前场景层的)场景层预测向量。具体地,可以通过场景层120的预测模块128先获取(当前场景层的)各专家处理专家输入(特征数据或上一场景层的场景层预测结果)得到的多个场景层预测分量,再基于更新后的专家权重向量对所述多个场景预测分量加权求和,得到(当前场景层的)场景层预测结果。可以理解,对于每个特定场景(假设为场景j且对应场景标识sj)下的实例,可以通过场景层(记为ScenarioLayer())处理该实例的特征数据x以及场景标识sj,得到该实例的场景层预测结果(记为zj),即zj=ScenarioLayer(x,sj)。当场景层120经过拓展时,第一个场景层以特征数据x以及场景标识sj为输入,后续场景层以前一场景层输出的场景层预测结果zj(新的专家输入x)以及场景标识sj为输入。
在一些实施例中,场景层120的选择模块124可以确定各专家的场景权重向量与场景指标向量的相似度,进而基于各相似度从场景层120的多个专家中选择一个或多个场景专有专家。其中,场景指标向量的维度与场景权重向量相等,即,当所述多个场景为m个场景时,场景指标向量为m维向量,m个维度(元素)与这m个场景一一对应。场景指标向量可以是独热向量,其中,与目标场景对应的元素非0,其余元素为0。在一些实施例中,场景指标向量中的非0元素可以取1,相应地,可以对各专家的场景权重向量进行归一化处理(如softmax处理),并确定各专家的经过归一化的场景权重向量与场景指标向量的相似度。参考前文提到的假设,专家的场景权重向量与场景指标向量的相似度越高,该专家被分类为目标场景的专有专家(即被选为场景专有专家)的概率越大。因此,可以将高相似度关联的专家确定为场景专有专家,例如,将相似度排名前K1位的相似度关联的专家确定为场景专有专家,其中,K1为预设值。
在一些实施例中,场景层120的选择模块124可以确定各专家的场景权重向量与均匀分布向量的相似度,进而基于各相似度从场景层120的多个专家中选择一个或多个场景共享专家。其中,均匀分布向量的维度与场景权重向量相等,即,当所述多个场景为m个场景时,均匀分布向量为m维向量。均匀分布向量中的元素可以是相同的,例如,m维均匀分布向量中的元素都等于1/m(即,所有元素之和等于1)。在一些实施例中,当均匀分布向量的所有元素之和等于1时,可以对各专家的场景权重向量进行归一化处理(如softmax处理),并确定各专家的经过归一化的场景权重向量与均匀分布向量的相似度。参考前文提到的假设,专家的场景权重向量与均匀分布向量的相似度越高,该专家被分类为所有场景的共享专家(即被选为场景共享专家)的概率越大。因此,可以将高相似度关联的专家确定为场景共享专家,例如,将相似度排名前K2位的相似度关联的专家确定为场景共享专家,其中,K2为预设值。
本说明中,提及的两种相似度可以基于任意可行的相似度算法得到,例如,余弦相似度、欧氏距离、K-L散度等算法。以K-L散度为例,提及的两种相似度可以按如下方式计算:
其中:表示专家Ek的场景权重向量与场景指标向量的相似度,表示专家Ek的场景权重向量与均匀分布向量的相似度;KL()表示K-L散度,pj表示与场景j对应的元素为1的所述场景指标向量,q表示所有元素之和等于1的所述均匀分布向量,表示专家Ek归一化后的场景权重向量。
图3是根据说明书一些实施例所示的单个场景层的数据流示意图。示例的单个场景层为适于双场景双任务的模型系统中的场景层。
图3中:场景层设有n个专家,分别为E1~En;场景标识sA指示目标场景为场景A。参照图3,门控模块可以通过场景A对应的参数矩阵、场景B对应的参数矩阵分别处理专家输入以及场景标识sA获得场景A的专家权重向量gA和场景B的专家权重向量gB。专家权重向量gA和专家权重向量gB(作为列向量)组成G矩阵,进而可获得G矩阵的行向量即各专家的场景权重向量(未图示)作为专家选择的依据。经过选择模块的专家选择后,确定场景A的专有专家E1以及场景A和场景B的共享专家E3,被选中的专家(场景专有专家/场景共享专家)通过实线框示意,未被选中的专家如E2、En则通过虚线框示意。因为目标场景为场景A,权重调整模块可以根据专家选择结果对场景A的专家权重向量gA进行更新,即保留gA中与场景专有专家E1对应的权重gA[1]以及与场景共享专家E3对应的权重gA[3],得到更新后的专家权重向量预测模块可以获取各专家处理专家输入得到的多个场景层预测分量(即专家输出),并基于所述更新后的专家权重向量对各场景层预测分量加权求和,得到场景层预测结果。
在一些实施例中,场景可以通过多级结构表征,其中,多级结构的每一级有一个或多个场景类别。例如,前文介绍了一种两级场景:第一级有两个场景类别,即主搜页面(HP)和垂搜页面(VP)两个通道;第二级有两个场景类别,即热门基金(BS)和基金产品(RI)两个域。即,这种两级场景总共存在4种可能,即四个细分场景,分别为HP→BS、HP→RI、VP→BS、VP→RI。
对于多级场景,场景标识可以包括与表征场景的多级结构的各级分别对应的子标识,每级对应的子标识指示该级下的目标场景类别。续前例,HP→BS的场景标识可以包含两个子标识,第一个子标识用于指示当前场景的第一级场景类别是HP还是VP,第二个子标识用于指示当前场景的第二级场景类别是BS还是RI。在此情况下,可以堆叠多个场景层,其中包含与各级对应的场景层,每一级对应的场景层可以是一个,也可以是多个。当某一级对应的场景层有多个时,这些场景层可以处理相同的子标识。
图4展示了多级场景情况下适于多场景多任务的模型系统的数据流。
为了易于理解,图4所示的模型系统中,表征场景的多级(Ls级)结构的每一级仅对应一个场景层,第i个场景层(场景层i)对应第i级,其中,1≤i≤Ls。通过输入层将特征数据、场景标识(包括第1~Ls级对应的子标识,记为)以及任务标识处理成嵌入向量形式后,可以通过第1个场景层处理特征数据以及第1级对应的子标识s1,得到第1个场景层的场景层预测结果。接着,对于第i个场景层(2≤i≤Ls),可以通过该场景层(第i个场景层)处理前一场景层(第i-1个场景层)的场景预测结果以及第i级对应的子标识以从该场景层(第i个场景层)的多个专家中选择一个或多个场景专有专家模块以及一个或多个场景共享专家模块分别处理前一场景层(第i-1个场景层)的场景层预测结果,得到当前场景层(第i个场景层)的场景层预测结果。最终,第Ls个场景层的场景层预测结果被送至任务层处理。在一些实施例中,如图4所示,后续场景层(第i个场景层)中与前一场景层(第i-1个场景层)的场景层预测结果以及第i级对应的子标识一同被处理的还可以包括第1级到第i-1级对应的子标识。
由于在多数情况下(如ni>2时)是成立的,通过为多级(Ls级)场景的每一级设置对应的场景层(成本由的大小决定)相较于设置单一场景层(成本由的大小决定),可以通过更少的模型成本实现对相同数量(个)细分场景的建模。
步骤230,通过任务层130处理所述场景层预测结果以及所述任务标识,以从任务层130中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到任务层预测结果。
与场景层类似,任务层也可以包括多个专家。在任务层,如果一个专家与特定任务(记为任务j)的相关性相比于其他任务要高,那么这个专家可被称为任务j的专有专家(即所述任务专有专家模块);如果一个专家与所有任务的相关性互相之间的差距很小,那么这个专家被称为(所有任务的)共享专家(即所述任务共享专家模块)。可以理解,任务j的专有专家和共享专家都可用于任务j下的预测。经过专家选择后,可以仅基于任务j的专有专家的输出以及任务共享专家的输出获得该任务下的任务层预测结果,即可以屏蔽未被选择的专家的输出。另外,任一专家可以既是任务专有专家又是任务共享专家,即任务专有专家和任务共享专家可以存在交集,鉴于此,一个或多个任务专有专家以及一个或多个共享专家暗含了对两者取并集的意思。
类似于场景层,任务层也是可拓展(堆叠)的。参考图4,在堆叠的任务层中:第一个任务层(任务层1)以所述场景层预测结果以及所述任务标识为输入,后续任务层以前一任务层输出的任务层预测结果以及所述任务标识为输入;第一个任务层的专家以所述场景层预测结果为输入,后续任务层以前一任务层输出的任务层预测结果为输入;经过层层专家选择,最后一个任务层(任务层Lt)输出的任务层预测结果可送至输出层处理。
在一些实施例中,目标任务可以有多个,相应地,所述任务标识可以有多个且与多个目标任务一一对应。例如,所述多个任务中的每个任务都可以作为目标任务。对于多个目标任务中的每一个,可以通过任务层130处理专家输入(场景层预测结果或上一任务层的任务层预测结果)以及该目标任务对应的任务标识,以从任务层130中的多个专家中选择一个或多个任务专有专家以及一个或多个任务共享专家分别处理所述场景层预测结果,得到该目标任务对应的任务层预测结果。可以理解,这里的任务专有专家指该目标任务的专有专家。
在一些实施例中,当目标任务有多个且任务层130也有多个时,对于其中的一个目标任务,可以:通过第一个任务层130处理场景层预测结果以及该目标任务对应的任务标识,以从该任务层(第一个任务层)中的多个专家中选择一个或多个任务专有专家以及一个或多个任务共享专家分别处理所述场景层预测结果,得到当前任务层(第一个任务层)的该目标任务对应的任务层预测结果;通过后续任务层130(不妨记为第i个任务层)处理前一任务层(第i-1个任务层)的该目标任务对应的任务层预测结果以及该目标任务对应的任务标识,以从该任务层(第i个任务层)中的多个专家模块中选择一个或多个任务专有专家以及一个或多个任务共享专家分别处理所述前一任务层(第i-1个任务层)的该目标任务对应的任务层预测结果,得到当前任务层(第i个任务层)的该目标任务对应的任务层预测结果。以此类推,直到最后一个任务层输出该目标任务对应的任务层预测结果,进而输出给输出层。同样,这里的任务专有专家指该目标任务的专有专家。对于其他目标任务,按照前述流程逐层处理,直到最后一个任务层输出所述其他目标任务对应的任务层预测结果,进而输出给输出层。换句话说,每一个任务层可以分别针对不同的目标任务从同一组专家中选择不同的专家处理不同目标任务对应的前一任务层的任务层预测结果。
下面以单个目标任务为例,介绍单个任务层的数据处理流程。在一些实施例中,可以通过任务层130的门控模块132处理专家输入(场景层预测结果或前一任务层输出的任务层预测结果)以及任务标识,获得任务层130的多个专家中每一个的任务权重向量。其中,任务权重向量的维度可以与所述多个任务的数量一致。例如,当所述多个任务为m个(仅作为示例,不表示多个任务的数量与多个场景的数量必须相同)任务时,任务权重向量可以是m维向量,即任务权重向量的m个元素与这m个任务一一对应(不妨认为第j维元素对应任务j),每个专家的任务权重向量的第j维元素可以是该专家与任务j的相关性分数。进而,针对任务层130的多个专家中的每一个(记为专家Ei),任务层130的选择模块134可以根据专家Ei的任务权重向量确定专家Ei是否为任务专有专家以及是否为任务共享专家。可以合理假设:如果Ei的任务权重向量的第j维向量元素比其它向量元素要大,则认为专家Ei包含任务tj的专有信息,相应地专家Ei可以被分类为任务j的专有专家;如果Ei的任务权重向量中各向量元素的值接近,则认为专家Ei包含所有任务的共享信息,相应地专家Ei可以被分类为所有任务的共享专家。简言之,每个专家的任务权重向量的稀疏程度反映了该专家被分类成任务专有专家以及任务共享专家的概率。
在一些实施例中,可以将各个专家的任务权重向量作为行向量进行排列,便可得到矩阵G,相应的,G矩阵列向量则可看作是对于同一任务各专家与该任务的相关性分数;即专家的任务权重向量可以记为G[i,:],G矩阵的列向量则可称为某任务的专家权重向量。在一些实施例中,任务层130的门控模块132可以利用不同任务对应的参数矩阵分别处理场景层预测结果以及任务标识,得到各任务的专家权重向量。不难理解,这一过程可以同时得到各专家的任务权重向量。
以任务k例,任务层130的门控模块132的处理逻辑可以表示为:
gk=Tk[x,s,tk]+ηk (4)
其中,gk表示任务k的专家权重向量,专家权重向量的维度可以与任务层130的多个专家的数量一致。例如,当任务层130有n个专家时,专家权重向量可以是n维向量,即专家权重向量的n个元素与这n个专家一一对应(不妨认为第i维元素对应专家Ei),专家权重向量gk的第i维元素为专家Ei与任务k的相关性分数。Tk为任务k对应的参数矩阵,可通过学习得到,[,]表示向量拼接,x表示专家输入,s表示场景标识,tk为指示任务k的任务标识,Tk[x,s,tk]表示矩阵Tk和向量[x,s,tk]的乘积。ηk表示噪声(扰动)向量,如高斯噪声向量。通过添加扰动,可以避免部分专家总是被选中导致模型可靠性降低。
在一些实施例中,任务层130的权重调整模块126可以根据专家选择结果对目标任务的专家权重向量进行更新。具体地,假设目标任务为任务k,所述权重调整模块可以保留任务k的专家权重向量中任务专有专家以及任务共享专家对应的权重,得到更新后的专家权重向量。可以理解,这里的任务专有专家指所述目标任务的专有专家。另外,保留可以指维持原权重不变,不保留可以指将权重置0。
在一些实施例中,可以通过更新后的专家权重向量获得(当前任务层的)任务层预测向量。具体地,可以通过任务层130的预测模块138先获取(当前任务层的)各专家处理专家输入(场景层预测结果或上一任务层的任务层预测结果)得到的多个任务层预测分量,再基于更新后的专家权重向量对所述多个任务预测分量加权求和,得到(当前任务层的)任务层预测结果。可以理解,这里的任务层预测结果指所述目标任务对应的任务层预测结果,输出层处理此任务层预测结果可以得到所述目标任务下的模型预测结果。可以理解,对于来自场景j的实例,可以通过任务层(记为TaskLayer())处理该实例的场景层预测结果(zj)以及任务k对应的任务标识tk,得到任务k下该实例的任务层预测结果(记为zk),即zk=TaskLayer(zj,tk)。当任务层130经过拓展时,第一个任务层以场景层预测结果zj以及任务标识tk为输入,后续任务层以前一任务层输出的任务层预测结果zk(新的专家输入)以及任务标识tk为输入。
在一些实施例中,通过任务层130的门控模块132处理专家输入(场景层预测结果或上一任务层的任务层预测结果)以及任务标识,以获得任务层130的多个专家中的每一个的任务权重向量或目标任务的专家权重向量时,与所述专家输入以及所述任务标识一同被处理的可以包括所述场景标识(例如,图4中包括子标识的场景标识),也可以不包括所述场景标识。例如,可以按照计算式(4)计算目标任务(任务k)的专家权重向量(gk),也可以按照计算式(4)的如下变型式计算:
gk=Tk[x,tk]+ηk (5)
即,场景标识s不是计算专家权重向量gk的必要输入。
在一些实施例中,任务层130的选择模块134可以确定各专家的任务权重向量与任务指标向量的相似度,进而基于各相似度从任务层130的多个专家中选择一个或多个任务专有专家。其中,任务指标向量的维度与任务权重向量相等,即,当所述多个任务为m个任务时,任务指标向量为m维向量,m个维度(元素)与这m个任务一一对应。任务指标向量可以是独热向量,其中,与目标任务对应的元素非0,其余元素为0。在一些实施例中,任务指标向量中的非0元素可以取1,相应地,可以对各专家的任务权重向量进行归一化处理(如softmax处理),并确定各专家的经过归一化的任务权重向量与任务指标向量的相似度。参考前文提到的假设,专家的任务权重向量与任务指标向量的相似度越高,该专家被分类为目标任务的专有专家(即被选为任务专有专家)的概率越大。因此,可以将高相似度关联的专家确定为任务专有专家,例如,将相似度排名前K1位的相似度关联的专家确定为任务专有专家,其中,K1为预设值。
在一些实施例中,任务层130的选择模块134可以确定各专家的任务权重向量与均匀分布向量的相似度,进而基于各相似度从任务层130的多个专家中选择一个或多个任务共享专家。其中,均匀分布向量的维度与任务权重向量相等,即,当所述多个任务为m个任务时,均匀分布向量为m维向量。均匀分布向量中的元素可以是相同的,例如,m维均匀分布向量中的元素都等于1/m(即,所有元素之和等于1)。在一些实施例中,当均匀分布向量的所有元素之和等于1时,可以对各专家的任务权重向量进行归一化处理(如softmax处理),并确定各专家的经过归一化的任务权重向量与均匀分布向量的相似度。参考前文提到的假设,专家的任务权重向量与均匀分布向量的相似度越高,该专家被分类为所有任务的共享专家(即被选为任务共享专家)的概率越大。因此,可以将高相似度关联的专家确定为任务共享专家,例如,将相似度排名前K2位的相似度关联的专家确定为任务共享专家,其中,K2为预设值。相似度的计算方式可以参见文中其他地方的详细介绍,在此不再赘述。
图5是根据说明书一些实施例所示的单个任务层的数据流示意图。可以理解,在任务层堆叠的情况下,图5所示的场景层为第一个任务层。
图5中:任务层设有n个专家,分别为E1~En;任务标识tα指示目标任务为任务α,任务标识tβ指示目标任务还包括任务β。参照图5,门控模块可以首先针对专家输入以及任务标识tα获得任务α的专家权重向量gα和任务β的专家权重向量gβ,其中:通过任务α对应的参数矩阵处理场景层预测结果和任务标识tα,得到任务α的专家权重向量gα;通过任务β对应的参数矩阵处理场景层预测结果和任务标识tα,得到任务β的专家权重向量gβ。专家权重向量gα和专家权重向量gβ(作为列向量)组成G矩阵,进而可获得G矩阵的行向量即各专家的任务权重向量(未图示)作为专家选择的依据。经过选择模块的专家选择后,确定任务α的专有专家E1以及任务α和任务β的共享专家E2。此时,针对目标任务α,权重调整模块可以根据专家选择结果对任务α的专家权重向量gα进行更新,即:保留gα中与任务专有专家E1对应的权重gα[1]以及与任务共享专家E2对应的权重gα[2],得到更新后的专家权重向量保留gβ中与任务共享专家E2对应的权重gβ[2]以及与任务专有专家En对应的权重gβ[n],得到更新后的专家权重向量对于目标任务α,预测模块可以获取各专家处理场景层预测结果得到的多个任务层预测分量(即专家输出),并基于所述更新后的专家权重向量对各任务层预测分量加权求和,得到任务α对应的任务层预测结果(记为任务层预测结果-α)。类似的,门控模块可以针对专家输入以及任务标识tβ获得任务α的专家权重向量gα和任务β的专家权重向量gβ,其中:通过任务α对应的参数矩阵处理场景层预测结果和任务标识tβ,得到任务α的专家权重向量gα;通过任务β对应的参数矩阵处理场景层预测结果和任务标识tβ,得到任务β的专家权重向量gβ。专家权重向量gα和专家权重向量gβ(作为列向量)组成G矩阵,进而可获得G矩阵的行向量即各专家的任务权重向量(未图示)作为专家选择的依据。经过选择模块的专家选择后,确定任务β的专有专家En以及任务α和任务β的共享专家E2。图5中被选中的专家(任务专有专家/任务共享专家)通过实线框示意,未被选中的专家如E3则通过虚线框示意。此时,针对目标任务β,权重调整模块可以根据专家选择结果对任务β的专家权重向量gββ进行更新,即:对于目标任务β,预测模块可以获取各专家处理场景层预测结果得到的多个任务层预测分量(即专家输出),并基于所述更新后的专家权重向量对各任务层预测分量加权求和,得到任务β对应的任务层预测结果(记为任务层预测结果-β)。
可以看出,图5所示的任务层是可以共享同一组专家,但是可以为不同的任务设置不同的门控模块、选择模块以及权重调整模块,以便为不同任务选择不同的专家进行预测,此时在任务层内部,不同任务的任务层预测过程(即多个专家及预测模块计算得到不同任务的任务层预测结果的过程)则需要串行实现。
图6是根据说明书另一些实施例所示的单个任务层的数据流示意图。
与图5相比,图6所示的任务层中包括多组专家,例如,可以为多任务中的每一个任务分别设置一组专家。在图6所示的任务层中需要通过多组专家分别处理与不同任务对应的专家输入,如通过一组专家处理任务tα对应的专家输入(图6左边的专家输入-α)得到任务tα的任务层预测结果以及通过另一组专家输入处理任务tβ对应的专家输入(图6右边的专家输入-β)得到任务tβ的任务层预测结果。可以理解,所述多组专家输入的组数可以与所述多个任务的数量一致,例如,当所述多个任务为m个任务,则可以设置m组专家。这样的设置可以使得任务层能够相对于图5所示的结构并行处理多个任务,提高处理效率。
步骤240,通过输出层140处理所述任务层预测结果,得到模型预测结果。
当目标任务有多个时,可以通过输出层140分别处理各目标任务对应的任务层预测结果,得到不同目标任务下的模型预测结果。例如,参考图4,当多个目标任务包括任务α和任务β时,可以通过输出层140处理任务α对应的任务层预测结果得到任务α下的模型预测结果(模型预测结果-α),以及通过输出层140处理任务β对应的任务层预测结果得到任务β下的模型预测结果(模型预测结果-β)。
在一些实施例中,输出层140可以包括与不同任务分别对应的MLP的塔(Tower),例如,图4中与任务α对应的Tower-α和与任务β对应的Tower-β。对于任一任务(如任务tα或任务tβ),可以将该任务对应的任务层预测结果输入该任务对应的MLP的塔,得到该任务下的模型预测结果,例如,图4中的模型预测结果-α或模型预测结果-β。即,其中,表示任务k下的模型预测结果,zk表示任务k下的任务层预测结果,MLP()表示多层感知机的功能函数,σ()表示激活函数(如Sigmoid函数)。
在一些实施例中,输出层用于对任务层预测结果进行维度转换或数值归一处理(如将向量形式的任务预测结果转化为0~1之间的数值),得到预测场景所需要的结果形式。结合步骤210提及的特征数据,模型预测结果可以是向所述用户推荐所述待推荐商品的概率。当目标任务包括提高点击率以及提高转化率时,输出层可以输出在优化(提高)点击率这一目标任务下,向用户推荐所述待推荐商品的概率(可以理解为向用户推荐所述待推荐商品时被用户点击的概率),同时输出层还可以输出在优化(提高)转化率这一目标任务下,向用户推荐所述待推荐商品的概率(可以理解为向用户推荐所述待推荐商品时被用户购买的概率)。
图7是根据说明书一些实施例所示的适于多场景多任务的模型训练方法的示例性流程图。如图7所示,流程700可以包括以下步骤。
步骤710,获取训练样本的特征数据、场景标识以及任务标识以及标签。
可以理解,每个训练样本可以视作一个实例。
步骤720,将训练样本的特征数据、场景标识以及任务标识输入模型系统100,获得训练样本对应的模型预测结果。
关于模型系统100以及模型预测的更多细节,可以参考图1、图2及其相关描述,这里不再赘述。
步骤730,基于训练样本对应的模型预测结果及其标签,确定第一损失函数值。其中,第一损失函数值反映模型预测结果与标签的差异。
示例性地,第一损失函数可以基于交叉熵构建。具体地,任务k下第j个训练样本的交叉熵如下所示:
步骤740,基于训练样本对应的各场景专有专家的场景权重向量与场景指标向量的相似度、各场景共享专家的场景权重向量与均匀分布向量的相似度、各任务专有专家的任务权重向量与任务指标向量的相似度以及各任务共享专家的任务权重向量与均匀分布向量的相似度,确定第二损失函数值。
基于前述假设,相似度越高,专有专家和共享专家的分类越确定,相应地,模型预测结果越准确。因此,第二损失函数可以与各相似度之和负相关,通过减小所述第二损失函数值,可以提高模型预测结果模型的准确性。参考前述实施例,当相似度与K-L散度负相关时,第二损失函数值可以包括各相似度对应的K-L散度之和。
步骤750,调整模型系统100的模型参数,以同时减小第一损失函数值以及第二损失函数值。
根据前述实施例,模型系统100的模型参数可以包括场景层120的参数矩阵Sj和任务层130的参数矩阵Tk。
应当注意的是,上述有关流程描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,在一些实施例中,总损失函数也可以不包括所述第二损失函数。
本说明书实施例可能带来的有益效果包括但不限于:(1)提供了适于多场景多任务的机器学习方案,可以节省模型迭代的维护成本,还可以高效利用场景/任务之间的共享信息,有助于提高学习效率;(2)通过通用且灵活的架构进行场景/任务专有/共享专家的选择,可以提高预测结果的准确性;(3)通过场景层的多层拓展,可以极大地节省计算成本;(4)模型训练时,增加第二损失函数项,可以增强模型在目标场景/目标任务下的专家选择决策能力;(5)实验表明,将本说明书实施例提供的模型预测方法应用到搜索推荐业务中,有效提升了不同搜索入口场景下商品推荐概率的预测精度,显著优化了点击率以及转化率。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (42)
1.一种适于多场景多任务的模型预测方法,其包括:
获取特征数据、场景标识以及任务标识;所述场景标识用于指示从多个场景中选择的目标场景,所述任务标识用于指示从多个任务中选择的目标任务;
通过场景层处理所述特征数据以及所述场景标识,以从场景层的多个专家模块中选择一个或多个场景专有专家模块以及一个或多个场景共享专家模块分别处理所述特征数据,得到场景层预测结果;
通过任务层处理所述场景层预测结果以及所述任务标识,以从任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到任务层预测结果;
通过输出层处理所述任务层预测结果,得到模型预测结果。
2.如权利要求1所述的方法,其中,所述目标场景为一个,所述目标任务为一个或多个。
3.如权利要求1或2所述的方法,其中,所述通过场景层处理所述特征数据以及所述场景标识,以从场景层的多个专家模块中选择一个或多个场景专有专家模块以及一个或多个场景共享专家模块分别处理所述特征数据,得到场景层预测结果,包括:
通过场景层的选择模块处理所述特征数据以及所述场景标识,获得场景层的所述多个专家模块中的每一个的场景权重向量;其中,场景权重向量的维度与所述多个场景的数量相关;
针对场景层的所述多个专家模块中的每一个,基于该专家模块的场景权重向量确定该专家模块是否为场景专有专家模块以及是否为场景共享专家模块。
4.如权利要求3所述的方法,其中,还包括:
通过场景层的所述选择模块处理所述特征数据以及所述场景标识,获得目标场景的专家权重向量;其中,专家权重向量的维度与场景层的所述多个专家模块的数量相关;
保留所述专家权重向量中场景专有专家模块以及场景共享专家模块对应的权重,得到更新后的专家权重向量。
5.如权利要求4所述的方法,其中,通过各场景专有专家模块以及各场景共享专家模块分别处理所述特征数据,得到场景层预测结果,包括:
获取各专家模块处理所述特征数据得到的多个场景预测分量;
基于所述更新后的专家权重向量对所述多个场景预测分量加权求和,得到所述场景层预测结果。
6.如权利要求3所述的方法,其中,针对场景层的所述多个专家模块中的每一个,基于该专家模块的场景权重向量确定该专家模块是否为场景专有专家模块,包括:
确定各专家模块的场景权重向量与场景指标向量的相似度;所述场景指标向量的维度与所述场景权重向量相等,且场景指标向量中与目标场景对应的元素非0,其余元素为0;
基于各相似度,从场景层的所述多个专家模块中选择一个或多个场景专有专家模块。
7.如权利要求3所述的方法,其中,针对场景层的所述多个专家模块中的每一个,基于该专家模块的场景权重向量确定该专家模块是否为场景共享专家模块,包括:
确定各专家模块的场景权重向量与均匀分布向量的相似度;所述均匀分布向量的维度与所述场景权重向量相等,且均匀分布向量中的元素相同;
基于各相似度,从场景层的所述多个专家模块中选择一个或多个场景共享专家模块。
8.如权利要求1所述的方法,其中,场景通过多级结构表征,所述多级结构的每一级有一个或多个场景类别;所述场景标识包括所述多级结构的各级分别对应的子标识,每一级对应的子标识指示目标场景在对应层级下的目标场景类别。
9.如权利要求8所述的方法,所述场景层的数量与所述多级结构的级数相同,且各场景层与所述多级结构的各级一一对应;
所述通过场景层处理所述特征数据以及所述场景标识,以从场景层的多个专家模块中选择一个或多个场景专有专家模块以及一个或多个场景共享专家模块分别处理所述特征数据,得到场景层预测结果,包括对于与其中一级对应的场景层:
通过该场景层处理前一场景层的场景层预测结果以及该级对应的子标识,以从该场景层的多个专家模块中选择一个或多个场景专有专家模块以及一个或多个场景共享专家模块分别处理所述前一场景层的场景层预测结果,得到当前场景层的场景层预测结果。
10.如权利要求1或2所述的方法,其中,所述通过任务层处理所述场景层预测结果以及所述任务标识,以从任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到任务层预测结果,包括:
通过任务层的选择模块处理所述场景层预测结果以及所述任务标识,获得任务层的所述多个专家模块中的每一个的任务权重向量;其中,任务权重向量的维度与所述多个任务的数量相关;
针对任务层的所述多个专家模块中的每一个,基于该专家模块的任务权重向量确定该专家模块是否为任务专有专家模块以及是否为任务共享专家模块。
11.如权利要求10所述的方法,其中,还包括:
通过任务层的所述选择模块处理所述场景层预测结果以及所述任务标识,获得目标任务的专家权重向量;其中,专家权重向量的维度与任务层的所述多个专家模块的数量相关;
保留所述专家权重向量中任务专有专家模块以及任务共享专家模块对应的权重,得到更新后的专家权重向量。
12.如权利要求10或11所述的方法,其中,通过任务层的选择模块处理所述场景层预测结果以及所述任务标识,以获得任务层的所述多个专家模块中的每一个的任务权重向量和/或目标任务的专家权重向量时,与所述场景层预测结果以及所述任务标识一同被处理的包括所述场景标识。
13.如权利要求11所述的方法,其中,通过各任务专有专家模块以及各任务共享专家模块分别处理所述场景层预测结果,得到任务层预测结果,包括:
获取各专家模块处理所述场景层预测结果得到的多个任务预测分量;
基于所述更新后的专家权重向量对所述多个任务预测分量加权求和,得到所述任务层预测结果。
14.如权利要求10所述的方法,其中,针对任务层的所述多个专家模块中的每一个,基于该专家模块的任务权重向量确定该专家模块是否为任务专有专家模块,包括:
确定各专家模块的任务权重向量与任务指标向量的相似度;所述任务指标向量的维度与所述任务权重向量相等,且任务指标向量中与目标任务对应的元素非0,其余元素为0;
基于各相似度,从任务层的所述多个专家模块中选择一个或多个任务专有专家模块。
15.如权利要求10所述的方法,其中,所述针对任务层的所述多个专家模块中的每一个,基于该专家模块的任务权重向量确定该专家模块是否为任务共享专家模块,包括:
确定各专家模块的任务权重向量与均匀分布向量的相似度;所述均匀分布向量的维度与所述任务权重向量相等,且均匀分布向量中的元素相同;
基于各相似度,从任务层的所述多个专家模块中选择一个或多个任务共享专家模块。
16.如权利要求2所述的方法,其中,目标任务为多个,相应的所述任务标识也为多个且与多个目标任务一一对应;所述通过任务层处理所述场景层预测结果以及所述任务标识,以从任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到任务层预测结果,包括对于所述多个目标任务中的每一个:
通过任务层处理所述场景层预测结果以及该目标任务对应的任务标识,以从任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到该目标任务对应的任务层预测结果。
17.如权利要求16所述的方法,其中,所述任务层的数量为多个;所述通过任务层处理所述场景层预测结果以及该目标任务对应的任务标识,以从任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到该目标任务对应的任务层预测结果,包括对于其中一个任务层:
当该任务层为第一个任务层时,通过该任务层处理所述场景层预测结果以及该目标任务对应的任务标识,以从该任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到当前任务层的该目标任务对应的任务层预测结果;
当该任务层不为第一个任务层时,通过该任务层处理前一任务层的该目标任务对应的任务层预测结果以及该目标任务对应的任务标识,以从该任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述前一任务层的该目标任务对应的任务层预测结果,得到当前任务层的该目标任务对应的任务层预测结果。
18.如权利要求16所述的方法,其中,所述通过输出层分别处理各目标任务对应的任务层预测结果,得到不同目标任务下的模型预测结果。
19.如权利要求1所述的方法,其中,所述特征数据反映以下特征中的一种或多种:用户特征、待推荐商品的特征、查询行为特征;所述模型预测结果反映向所述用户推荐所述待推荐商品的概率。
20.如权利要求19所述的方法,其中,所述获取特征数据、场景标识以及任务标识,包括:
获取用户在平台某搜索入口中输入的搜索词;
基于搜索词确定待推荐商品;
基于用户的用户特征、待推荐商品特征以及所述用户的历史查询行为特征,获取特征数据;
将所述某搜索入口作为目标场景,进而确定场景标识;
确定目标任务为提高点击率和提高转化率中的一种或多种,进而确定任务标识。
21.一种适于多场景多任务的模型预测装置,包括处理器和存储设备,所述存储设备用于存储指令,其中,当所述处理器执行指令时,实现如权利要求1~20中任一项所述的模型预测方法。
22.一种适于多场景多任务的模型系统,其包括:
输入层,用于获取特征数据、场景标识以及任务标识;所述场景标识用于指示从多个场景中选择的目标场景,所述任务标识用于指示从多个任务中选择的目标任务;
场景层,用于处理所述特征数据以及所述场景标识,以从场景层的多个专家模块中选择一个或多个场景专有专家模块以及一个或多个场景共享专家模块分别处理所述特征数据,得到场景层预测结果;
任务层,用于处理所述场景层预测结果以及所述任务标识,以从任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到任务层预测结果;
输出层,用于处理所述任务层预测结果,得到模型预测结果。
23.如权利要求22所述的模型系统,其中,所述场景层还包括门控模块和选择模块;
所述门控模块用于处理所述特征数据以及所述场景标识,获得所述场景层的所述多个专家模块中每一个的场景权重向量;其中,场景权重向量的维度与所述多个场景的数量相关;
所述选择模块用于针对所述场景层的所述多个专家模块中的每一个,基于该专家模块的场景权重向量确定该专家模块是否为场景专有专家模块以及是否为场景共享专家模块。
24.如权利要求23所述的模型系统,其中,所述门控模块还用于处理所述特征数据以及所述场景标识,获得所述目标场景的专家权重向量;其中,专家权重向量的维度与所述场景层的所述多个专家模块的数量相关;
所述场景层还包括权重调整模块,用于保留所述专家权重向量中场景专有专家模块以及场景共享专家模块对应的权重,得到更新后的专家权重向量。
25.如权利要求24所述的模型系统,其中,所述场景层还包括预测模块,用于:
获取各专家模块处理所述特征数据得到的多个场景层预测分量;
基于所述更新后的专家权重向量对所述多个场景层预测分量加权求和,得到所述场景层预测结果。
26.如权利要求23所述的模型系统,其中,所述选择模块具体用于:
确定各专家模块的场景权重向量与场景指标向量的相似度;所述场景指标向量的维度与所述场景权重向量相等,且场景指标向量中与目标场景对应的元素非0,其余元素为0;
基于各相似度,从所述场景层的所述多个专家模块中选择一个或多个场景专有专家模块。
27.如权利要求23所述的模型系统,其中,所述选择模块具体用于:
确定各专家模块的场景权重向量与均匀分布向量的相似度;所述均匀分布向量的维度与所述场景权重向量相等,且均匀分布向量中的元素相同;
基于各相似度,从所述场景层的所述多个专家模块中选择一个或多个场景共享专家模块。
28.如权利要求22所述的模型系统,其中,场景通过多级结构表征,所述多级结构的每一级有一个或多个场景类别;所述场景标识包括所述多级结构的各级分别对应的子标识,每一级对应的子标识指示目标场景在对应层级下的目标场景类别。
29.如权利要求28所述的模型系统,所述场景层的数量与所述多级结构的级数相同,且各场景层与所述多级结构的各级一一对应;
与其中一级对应的场景层用于:
通过该场景层处理前一场景层的场景层预测结果以及该级对应的子标识,以从该场景层的多个专家模块中选择一个或多个场景专有专家模块以及一个或多个场景共享专家模块分别处理所述前一场景层的场景层预测结果,得到当前场景层的场景层预测结果。
30.如权利要求22或23所述的模型系统,其中,所述任务层还包括门控模块和选择模块;
所述门控模块用于处理所述场景层预测结果以及所述任务标识,获得所述任务层的所述多个专家模块中的每一个的任务权重向量;其中,任务权重向量的维度与所述多个任务的数量相关;
所述选择模块用于针对所述任务层的所述多个专家模块中的每一个,基于该专家模块的任务权重向量确定该专家模块是否为任务专有专家模块以及是否为任务共享专家模块。
31.如权利要求30所述的模型系统,其中,所述门控模块还用于处理所述场景层预测结果以及所述任务标识,获得目标任务的专家权重向量;其中,专家权重向量的维度与所述任务层的所述多个专家模块的数量相关;
所述任务层还包括权重调整模块,用于保留所述专家权重向量中任务专有专家模块以及任务共享专家模块对应的权重,得到更新后的专家权重向量。
32.如权利要求30或31所述的模型系统,其中,通过所述任务层的所述选择模块处理所述场景层预测结果以及所述任务标识,以获得所述任务层的所述多个专家模块中的每一个对应的权重向量和/或目标任务的专家权重向量时,与所述场景层预测结果以及所述任务标识一同被处理的还包括所述场景标识。
33.如权利要求31所述的模型系统,其中,所述任务层还包括预测模块,用于:
获取各专家模块处理所述场景层预测结果得到的多个任务预测分量;
基于所述更新后的专家权重向量对所述多个任务预测分量加权求和,得到所述任务层预测结果。
34.如权利要求30所述的模型系统,其中,所述选择模块具体用于:
确定各专家模块的任务权重向量与任务指标向量的相似度;所述任务指标向量的维度与所述任务权重向量相等,且任务指标向量中与目标任务对应的元素非0,其余元素为0;
基于各相似度,从所述任务层的所述多个专家模块中选择一个或多个任务专有专家模块。
35.如权利要求30所述的模型系统,其中,所述选择模块具体用于:
确定各专家模块的任务权重向量与均匀分布向量的相似度;所述均匀分布向量的维度与所述任务权重向量相等,且均匀分布向量中的元素相同;
基于各相似度,从所述任务层的所述多个专家模块中选择一个或多个任务共享专家模块。
36.如权利要求22所述的模型系统,其中,目标任务为多个,相应的所述任务标识也为多个且与多个目标任务一一对应;对于所述多个目标任务中的每一个,所述任务层用于:
处理所述场景层预测结果以及该目标任务对应的任务标识,以从任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到该目标任务对应的任务层预测结果。
37.如权利要求36所述的模型系统,其中,所述任务层的数量为多个;为了处理所述场景层预测结果以及该目标任务对应的任务标识,以从任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到该目标任务对应的任务层预测结果,对于其中一个任务层:
当该任务层为第一个任务层时,该任务层用于处理所述场景层预测结果以及该目标任务对应的任务标识,以从该任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述场景层预测结果,得到当前任务层的该目标任务对应的任务层预测结果;
当该任务层不为第一个任务层时,所述该任务层用于处理前一任务层的该目标任务对应的任务层预测结果以及该目标任务对应的任务标识,以从该任务层中的多个专家模块中选择一个或多个任务专有专家模块以及一个或多个任务共享专家模块分别处理所述前一任务层的该目标任务对应的任务层预测结果,得到当前任务层的该目标任务对应的任务层预测结果。
38.如权利要求36所述的模型系统,其中,所述输出层用于分别处理各目标任务对应的任务层预测结果,得到不同目标任务下的模型预测结果。
39.如权利要求32所述的模型系统,其中,所述特征数据反映以下特征中的一种或多种:用户特征、待推荐商品的特征、查询行为特征;所述模型预测结果反映向所述用户推荐所述待推荐商品的概率。
40.如权利要求39所述的模型系统,其中,所述系统还包括获取模块,用于:
获取用户在平台某搜索入口中输入的搜索词;
基于搜索词确定待推荐商品;
基于用户的用户特征、待推荐商品特征以及所述用户的历史查询行为特征,确定特征数据;
将所述某搜索入口作为目标场景,进而确定场景标识;
确定目标任务为提高点击率和提高转化率中的一种或多种,进而确定任务标识;
以及,将所述特征数据、场景标识以及所述任务标识发送给所述输入层。
41.一种适于多场景多任务的模型训练方法,其包括:
获取训练样本的特征数据、场景标识以及任务标识以及标签;所述场景标识用于指示从多个场景中选择的目标场景,所述任务标识用于指示从多个任务中选择的目标任务;
将训练样本的特征数据、场景标识以及任务标识输入到如权利要求22~40中任一项所述的模型系统,获得训练样本对应的模型预测结果;
基于训练样本对应的模型预测结果及其标签,确定第一损失函数值,其中,第一损失函数值反映模型预测结果与标签的差异;
基于训练样本对应的各场景专有专家模块的场景权重向量与场景指标向量的相似度、各场景共享专家模块的场景权重向量与均匀分布向量的相似度、各任务专有专家模块的任务权重向量与任务指标向量的相似度以及各任务共享专家模块的任务权重向量与均匀分布向量的相似度,确定第二损失函数值,所述第二损失函数与各相似度之和负相关;
调整模型系统的模型参数,以同时减小第一损失函数值以及第二损失函数值。
42.一种适于多场景多任务的模型训练装置,包括处理器和存储设备,所述存储设备用于存储指令,其中,当所述处理器执行指令时,实现如权利要求41所述的模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210544768.XA CN114970882A (zh) | 2022-05-19 | 2022-05-19 | 适于多场景多任务的模型预测方法及模型系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210544768.XA CN114970882A (zh) | 2022-05-19 | 2022-05-19 | 适于多场景多任务的模型预测方法及模型系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114970882A true CN114970882A (zh) | 2022-08-30 |
Family
ID=82984653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210544768.XA Pending CN114970882A (zh) | 2022-05-19 | 2022-05-19 | 适于多场景多任务的模型预测方法及模型系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114970882A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116244517A (zh) * | 2023-03-03 | 2023-06-09 | 北京航空航天大学 | 一种基于层次化信息抽取网络的多场景多任务推荐方法 |
-
2022
- 2022-05-19 CN CN202210544768.XA patent/CN114970882A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116244517A (zh) * | 2023-03-03 | 2023-06-09 | 北京航空航天大学 | 一种基于层次化信息抽取网络的多场景多任务推荐方法 |
CN116244517B (zh) * | 2023-03-03 | 2023-11-28 | 北京航空航天大学 | 基于层次化信息抽取网络的多场景多任务的模型训练方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Synthesizing tabular data using generative adversarial networks | |
WO2021159776A1 (zh) | 基于人工智能的推荐方法、装置、电子设备及存储介质 | |
Hu et al. | A survey on online feature selection with streaming features | |
Yu et al. | Multi-label classification by exploiting label correlations | |
WO2021143396A1 (zh) | 利用文本分类模型进行分类预测的方法及装置 | |
Young et al. | Deep super learner: A deep ensemble for classification problems | |
Li et al. | Dynamic structure embedded online multiple-output regression for streaming data | |
Hssayni et al. | KRR-CNN: kernels redundancy reduction in convolutional neural networks | |
Karakas et al. | Fairstyle: Debiasing stylegan2 with style channel manipulations | |
He et al. | A multitask bee colony band selection algorithm with variable-size clustering for hyperspectral images | |
Bai et al. | Multi-task gradient descent for multi-task learning | |
Kou et al. | An analytic hierarchy model for classification algorithms selection in credit risk analysis | |
Fadhil et al. | A framework for predicting airfare prices using machine learning | |
Han et al. | Generalizing long short-term memory network for deep learning from generic data | |
CN114970882A (zh) | 适于多场景多任务的模型预测方法及模型系统 | |
Palumbo et al. | Algorithm recommendation and performance prediction using meta-learning | |
CN111753995A (zh) | 一种基于梯度提升树的局部可解释方法 | |
Li et al. | An improved genetic-XGBoost classifier for customer consumption behavior prediction | |
He et al. | Multilabel classification by exploiting data‐driven pair‐wise label dependence | |
Rodríguez et al. | Rotation Forest for multi-target regression | |
US20230367995A1 (en) | System and method for an adjustable neural network | |
Kurtukova et al. | De-Anonymization of the Author of the Source Code Using Machine Learning Algorithms | |
Yin et al. | Forecasting of stock price trend based on CART and similar stock | |
CN112884028A (zh) | 一种系统资源调整方法、装置及设备 | |
Tang et al. | Ordinal classification with a spectrum of information sources |
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 |