CN117010492A - 基于知识迁移进行模型训练的方法及装置 - Google Patents
基于知识迁移进行模型训练的方法及装置 Download PDFInfo
- Publication number
- CN117010492A CN117010492A CN202310980538.2A CN202310980538A CN117010492A CN 117010492 A CN117010492 A CN 117010492A CN 202310980538 A CN202310980538 A CN 202310980538A CN 117010492 A CN117010492 A CN 117010492A
- Authority
- CN
- China
- Prior art keywords
- scene
- sub
- model
- migration
- scenes
- 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
- 230000005012 migration Effects 0.000 title claims abstract description 155
- 238000013508 migration Methods 0.000 title claims abstract description 155
- 238000012549 training Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013140 knowledge distillation Methods 0.000 claims abstract description 17
- 238000012512 characterization method Methods 0.000 claims description 48
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 241000579895 Chlorostilbon Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000010976 emerald Substances 0.000 description 1
- 229910052876 emerald Inorganic materials 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- 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/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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Accounting & Taxation (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Image Analysis (AREA)
Abstract
本说明书实施例提供了基于知识迁移进行模型训练的方法及装置。在该方法中,可以获取不同场景的场景数据;然后根据所获取的场景数据学习各个场景之间的关联性,以得到各个场景对应的迁移权重,其中,每个场景对应的迁移权重用于表征该场景与其他场景之间的关联性特征;以及利用知识蒸馏根据各个场景对应的迁移权重在由场景数据训练得到的通用模型与各个场景对应的子模型之间进行知识迁移,以得到各个场景的子模型。
Description
技术领域
本说明书实施例涉及人工智能技术领域,具体地,涉及基于知识迁移进行模型训练的方法及装置。
背景技术
在目前的工业环境中,可以包括有多种不同的场景,不同场景中的数据和交互对象可以存在较大差异。比如,不同推荐场景中的人群和商品类型可以存在较大差异。目前,针对不同的场景,可以单独进行建模,每个场景维护各自的模型。
发明内容
鉴于上述,本说明书实施例提供了基于知识迁移进行模型训练的方法及装置。通过本说明书实施例提供的技术方案,知识迁移在不受模型结构限制的情况下,考虑不同场景之间的关联性,由场景关联性得到的迁移权重在知识迁移时能够提高知识迁移的准确率和效率。
根据本说明书实施例的一个方面,提供了一种基于知识迁移进行模型训练的方法,包括:获取不同场景的场景数据;根据所述场景数据学习各个场景之间的关联性,以得到各个场景对应的迁移权重,其中,每个场景对应的迁移权重包括有该场景与其他场景之间的关联性特征;以及利用知识蒸馏根据所述各个场景对应的迁移权重在由所述场景数据训练得到的通用模型与所述各个场景对应的子模型之间进行知识迁移,以得到所述各个场景的子模型。
根据本说明书实施例的另一方面,还提供一种基于知识迁移进行模型训练的方法,包括:在推荐平台中获取不同推荐场景的场景数据,其中,所述场景数据包括场景用户数据和场景特征数据,所述场景数据用于表征场景中的用户与场景之间的交互;根据各个推荐场景的显式特征数据和隐式特征数据对所述各个推荐场景进行向量表征,以得到所述各个推荐场景的场景向量表征,其中,每个推荐场景的显式特征数据根据该推荐场景的场景特征数据得到,不同推荐场景的隐式特征数据根据该不同推荐场景所涉及的共同用户确定;使用元网络根据所述各个推荐场景的场景向量表征得到所述各个推荐场景对应的迁移权重,其中,每个推荐场景对应的迁移权重用于表征该推荐场景对应的推荐子模型中的各个中间子网络层与由所述场景数据训练得到的通用模型中的各个中间通用网络层之间的相似度;以及利用知识蒸馏根据所述各个推荐场景对应的迁移权重在由所述通用模型与对应的推荐子模型之间进行知识迁移,以得到所述各个推荐场景的推荐子模型。
根据本说明书实施例的另一方面,还提供一种基于知识迁移进行模型训练的装置,包括:数据获取单元,获取不同场景的场景数据;权重得到单元,根据所述场景数据学习各个场景之间的关联性,以得到各个场景对应的迁移权重,其中,每个场景对应的迁移权重用于表征该场景与其他场景之间的关联性特征;以及知识迁移单元,利用知识蒸馏根据所述各个场景对应的迁移权重在由所述场景数据训练得到的通用模型与所述各个场景对应的子模型之间进行知识迁移,以得到所述各个场景的子模型。
根据本说明书实施例的另一方面,还提供一种电子设备,包括:至少一个处理器,与所述至少一个处理器耦合的存储器,以及存储在所述存储器上的计算机程序,所述至少一个处理器执行所述计算机程序来实现如上述任一所述的基于知识迁移进行模型训练的方法。
附图说明
通过参照下面的附图,可以实现对于本说明书实施例内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本说明书实施例提供了基于知识迁移进行模型训练的方法的一个示例的流程图。
图2示出了根据本说明书实施例的根据知识蒸馏得到各个场景的子模型的一个示例的流程图。
图3示出了根据本说明书实施例的通用模型与各个子模型之间的基于迁移权重的对应关系的一个示例的示意图。
图4示出了根据本说明书实施例的基于知识迁移的模型训练装置的一个示例的方框图。
图5示出了本说明书实施例的用于实现基于知识迁移模型训练方法的电子设备的方框图。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书实施例内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
术语“知识蒸馏(Knowledge Distillation,KD)”是将学习能力强的复杂教师模型中的知识迁移到模型存在差异的学生模型中。
在目前的工业环境中,可以包括有多种不同的场景,不同场景中的数据和交互对象可以存在较大差异。比如,不同推荐场景中的人群和商品类型可以存在较大差异。目前,针对不同的场景,可以单独进行建模,每个场景维护各自的模型。亟需一种更高效的针对不同场景的模型训练方法。
鉴于上述,本说明书实施例提供了基于知识迁移进行模型训练的方法及装置。在该方法中,获取不同场景的场景数据;根据场景数据学习各个场景之间的关联性,以得到各个场景对应的迁移权重,其中,每个场景对应的迁移权重用于表征该场景与其他场景之间的关联性特征;以及利用知识蒸馏根据各个场景对应的迁移权重在由场景数据训练得到的通用模型与各个场景对应的子模型之间进行知识迁移,以得到各个场景的子模型。本说明书实施例提供了基于知识迁移进行模型训练的方法及装置。通过本说明书实施例提供的技术方案,知识迁移在不受模型结构限制的情况下,考虑不同场景之间的关联性,由场景关联性得到的迁移权重在知识迁移时能够提高知识迁移的准确率和效率。
下面结合附图对本说明书实施例提供了基于知识迁移进行模型训练的方法及装置进行详细说明。
图1示出了根据本说明书实施例提供了基于知识迁移进行模型训练的方法的一个示例100的流程图。
本说明书实施例提供的技术方案可以应用于不同的平台,所训练的模型也可以应用于相应的平台。比如,推荐平台。在每个平台中,还可以包括有多个不同的场景,不同的场景中所涉及的用户、商品等对象可以不同。例如,在推荐平台的多个推荐场景中,可以包括广告、搜索、营销和保险推荐等不同的业务场景。
此外,在一个场景中,还可以包括不同的子场景,不同的子场景中所涉及的用户、商品等对象也可以不同。例如,在广告场景中,可以包括实时竞价(RTB)广告场景、保量(GD)广告场景和外投(OT)广告场景。
如图1所示,在110,可以获取不同场景的场景数据。
在本说明书实施例中,不同的场景可以包括属于同一个平台中的不同场景,还可以包括属于同一个场景中的不同子场景。每个场景对应有场景数据,每个场景的场景数据可以反映出该场景的场景特征,不同场景的场景特征可以不同。
在一个示例中,当各个场景中包括有用户时,每个场景的场景数据可以包括针对用户的场景用户数据和针对场景的场景特征数据,场景数据可以用于表征场景中的用户与场景之间的交互,比如,推荐系统给用户推荐的商品,用户对推荐商品的浏览、点击和购买等动作。
场景用户数据可以包括用于表征用户的用户数据,比如,用户图像、用户标识等。场景特征数据可以用于表征对应的场景特征,可以包括场景标识、场景呈现位置的位置标识、以及场景所属行业等中的至少一种。不同场景的场景标识可以不同,场景的呈现位置可以是该场景在平台中的显示位置,不同场景的位置标识可以不同。例如,在一个推荐平台上,各个推荐场景可以以小程序的形式呈现,从而不同推荐场景的位置标识可以用于表示该推荐场景的小程序在推荐平台上的显示位置。
在一个示例中,场景数据所属的不同场景可以包括同构场景和异构场景,同构场景是用户、商品等对象相似的场景,异构场景是用户和/或商品等对象差异较大的场景。本说明书实施例以异构场景为例进行说明,即,各个子模型所应用的场景是异构场景,所涉及的用户和/或商品等对象差异较大。
在本说明书实施例中,在不同场景中的每个场景对应有子模型,每个场景的子模型是待训练的模型。各个场景的子模型的模型结构可以相同,也可以不同。此外,各个子模型的模型结构与由场景数据所训练得到的通用模型的模型结构可以相同,也可以不同。子模型的模型结构不同可以体现在中间子网络层数的不同。比如,一个子模型中包括有3个中间子网络层,另一个子模型中包括有2个中间子网络层。
在一个示例中,在推荐平台的推荐场景中,可以从推荐平台获取不同推荐场景的历史数据作为场景数据。
在120,可以根据所获取的场景数据学习各个场景之间的关联性,以得到各个场景对应的迁移权重。
在本说明书实施例中,不同场景之间可以存在关联性,场景的关联性可以根据指定因素来确定。当两个场景存在相同的指定因素或者基于指定因素存在交集时,则可以认为该两个场景之间存在关联性。例如,指定因素可以包括用户、所属行业等中的至少一种。
一个场景可以和其他的一个或多个场景之间均存在关联性。场景的迁移权重可以基于场景的关联性得到,从而迁移权重中蕴含有该场景与其他场景之间的关联性特征,即,各个场景的迁移权重能够体现出该场景与其他场景之间的关联性特征。
在基于关联性得到迁移权重的一个示例中,可以根据每个场景与其他场景的关联性将该场景进行向量表征,然后,根据场景的向量表征得到该场景的迁移权重。
在一个示例中,在获得场景数据后,可以基于场景数据确定各个场景的显式特征数据以及隐式特征数据。显式特征数据可以用于体现场景的区别于其他场景的独有特征,不同场景的显式特征数据可以不同。在一个示例中,显式特征数据可以包括:场景标识、场景出现位置的位置标识、以及场景所属行业等中的至少一种。
隐式特征数据可以用于表示各个场景之间的关联性。在一个示例中,当场景中包括有用户时,隐式特征数据可以根据不同场景所涉及的共同用户来确定。即,当同一个用户有使用不同的场景时,该不同的场景对应的场景数据包括有该用户的场景用户数据,则该不同的场景之间因为该用户而存在关联性。
在一个示例中,不同场景中所涉及的共同用户的数量可以影响该不同场景之间的关联度。两个场景中所包括的共同用户的数量越多,则该两个场景之间的关联度越高;两个场景中所包括的共同用户的数量越少,则该两个场景之间的关联度越低。
在确定出各个场景的显式特征数据和隐式特征数据后,可以根据各个场景的显式特征数据和隐式特征数据对各个场景进行向量表征,以得到各个场景的场景向量表征。
在一个示例中,针对每个场景,可以按照以下公式对该场景中的显式特征数据进行向量表征,以得到对应的显示向量表征:
其中,ER表示显示向量表征,s1,s2…sm表示各个显示特征数据,sm表示第m个显示特征数据,es1,es2…esm表示各个显示特征数据对应的向量表征,⊕表示将嵌入的向量表征进行拼接,Wexp表示用于从拼接的向量表征中提取显示特征的权重矩阵,τ(·)表示激活函数,T表示对矩阵的转置。
此外,针对一个场景的隐式特征数据,可以根据该场景与其他场景之间所涉及的共有用户来确定场景之间的相似度。在一个示例中,可以根据以下公式来计算场景之间的相似度:
其中,i,j分别表示两个不同的场景,Sim(i,j)表示场景i和场景j之间的相似度,Ui和Uj分别表示在场景i和场景j中进行交互的用户集合,Su和Sv表示用户u和用户v访问过的场景集合,和/>表示用于衡量用户活动的用户u和用户v的惩罚因子,α是平滑系数。
通过上述公式计算出的相似度,可以对其进行排序,为场景i选择相似度最高的指定数量的场景。
然后,根据所选择的指定数量的场景,按照以下公式计算得到隐式向量表征:
IR=τ(Wimp[MeanPooling({ER}G)])
其中,IR表示显示向量表征,Wimp表示用于提取隐式向量表征的权重矩阵,G表示所选择的相似度最高的场景的数量,{ER}G表示所选择的相似度最高的场景的显示向量表征,MeanPooling(·)表示均值池化计算。
针对每个场景,在得到该场景的显式向量表征和隐式向量表征后,可以根据该显式向量表征和该隐式向量表征得到该场景的场景向量表征。在一个示例中,可以根据以下公式来计算得到场景向量表征:
其中,Wsim表示用于提取最终的场景向量表征的权重矩阵,Ti表示场景i的场景向量表征,ERi和IRi表示场景i的显式向量表征和隐式向量表征。
在上述示例中,场景向量表征根据用于表示场景之间关联性的隐式向量表征得到,从而使得场景向量表征中蕴含有场景之间的关联性,并且场景向量表征能够反映出场景之间的关联性特征。
在得到场景向量表征后,可以根据各个场景对应的场景向量表征来确定各个场景对应的迁移权重。
在一个示例中,可以利用元网络和/或聚类的方式根据各个场景对应的场景向量表征来得到各个场景对应的迁移权重。在利用元网络的一个示例中,元网络可以对输入的场景向量表征进行元学习,以输出对应的迁移权重。元网络对场景向量表征的处理可以表示成以下形式:
其中,g(·)表示参数为θm的一个全连接的元网络,Ti表示输入元网络的场景向量表征,表示得到的场景i的迁移权重,/>表示用于将元网络输出的权重的固定维度转换成适应于场景i的子模型的维度的迁移权重。
在本说明书实施例中,每个场景可以对应生成一个迁移权重,每个场景对应的迁移权重的维度可以根据由场景数据所训练出的通用模型的中间通用网络层数和该场景对应的子模型的中间子网络层数来确定。
在一个示例中,每个场景对应的迁移权重的维度中的行数可以是通用模型的中间通用网络层数,迁移权重的维度中的列数可以是子模型的中间子网络层数。例如,场景i的迁移权重的维度可以表示成/>其中,Mg表示通用模型的中间通用网络层数,Mi表示子模型的中间子网络层数,R表示矩阵。
在一个示例中,在得到各个场景的场景向量表征后,还可以根据各个场景向量表征与各个聚类簇之间的所属关系,得到各个场景对应的簇向量表征。
在该示例中,可以设定多个聚类簇,每个聚类簇表示一类。每个聚类簇可以表征成一个向量表征,各个聚类簇对应的向量表征可以通过机器学习得到。
在该示例中,可以确定各个场景所属的聚类簇。在一个示例中,每个场景可以属于多个聚类簇,并且属于每个聚类簇存在概率。每个场景属于不同聚类簇的概率可以不同。从而,可以计算每个场景属于各个聚类簇的概率。
在一种所属关系计算方式中,可以预先训练出一个针对各个聚类簇的分类矩阵。针对一个场景,通过将分类矩阵与该场景的场景向量表征相乘,可以得到该场景属于各个聚类簇的概率。然后,将所得到的概率与各个聚类簇对应的向量表征相乘,得到该场景对应的簇向量表征。通过上述计算方式,可以为每个场景计算出对应的簇向量表征,每个场景对应的簇向量表征可以用于表示该场景基于所属聚类簇的向量表征。所得到的各个场景对应的簇向量表征,包括有该场景所属的各个聚类簇的特征。
在得到各个场景对应的场景向量表征和簇向量表征后,可以根据该场景向量表征和该簇向量表征得到各个场景对应的迁移权重。
在一个示例中,可以利用元网络和/或聚类的方式根据各个场景对应的场景向量表征和簇向量表征来确定各个场景对应的迁移权重。在利用元网络的一个示例中,元网络可以对输入的场景向量表征和簇向量表征进行元学习,以输出对应的迁移权重。元网络对场景向量表征和簇向量表征的处理可以表示成以下形式:
其中,Ci表示场景i的簇向量表征,表示场景向量表征Ti和簇向量表征Ci拼接。
回到图1,在130,可以利用知识蒸馏根据各个场景对应的迁移权重在由场景数据训练得到的通用模型与各个场景对应的子模型之间进行知识迁移,以得到各个场景的子模型。
在本说明书实施例中,通用模型可以包括有多个中间通用网络层,子模型可以包括有多个中间子网络层,各个子模型中的中间子网络层数与通用模型中的中间通用网络层数可以相同,也可以不同。通用模型可以与多个子模型进行知识迁移。
在通用模型与子模型之间的知识迁移中,可以将通用模型中的各个中间通用网络层的知识迁移至子模型的各个中间子网络层中。针对每个中间子网络层,可以从通用模型中的部分或全部中间通用网络层迁移知识,当从部分中间通用网络层迁移时,可以从一个或多个中间通用网络层进行知识迁移。
在本说明书实施例中,通用模型中的每个中间通用网络层可以包括有通用模型在训练过程中所学习到的知识。每个中间通用网络层可以以通用特征矩阵的形式体现,该通用特征矩阵用于对输入该中间通用网络层的对象进行特征提取。在知识迁移时,是将通用模型中的各个中间通用网络层所包括的知识有条件地迁移至子模型的中间子网络层中,以用于学习并得到中间子网络层。
迁移权重可以用于表征中间子网络层与通用模型中的各个中间通用网络层之间的相似度。在本说明书实施例中,迁移权重可以以矩阵的形式存在。在每个子模型对应的迁移权重中,每行对应通用模型中的一个中间通用网络层,每列对应该子模型中的一个中间子网络层。迁移权重中的每个权重元素可以表示该权重元素所属的行对应的中间通用网络层与所属的列对应的中间子网络层之间的相似度,当权重元素越大时,相似度越高,从而该权重元素对应的中间子网络层可以从对应的中间通用网络层中迁移越多的知识。
图2示出了根据本说明书实施例的根据知识蒸馏得到各个场景的子模型的一个示例200的流程图。
如图2所示,在210,针对当前场景,可以根据当前场景的场景数据学习当前场景与其他场景之间的关联性,以得到当前场景对应的迁移权重。
在本说明书实施例中,当前场景可以是所获取的不同场景中的任一场景,在执行各个子模型的训练过程中,每个循环中所针对的当前场景可以不同。针对210的操作,可以参考上述120的操作说明。
在220,针对当前场景对应的子模型,可以根据该子模型对应的迁移权重以及通用模型中的各个中间通用网络层,得到该子模型的各个中间子网络层。
在本说明书实施例中,通用模型中可以包括多个中间通用网络层,每个中间通用网络层可以体现出所具有的知识特征,用于对输入对应中间通用网络层的对象进行特征提取。各个子模型可以包括有多个中间子网络层,各个中间子网络层是训练的对象。
子模型对应的迁移权重可以以矩阵形式存在,在矩阵形式的迁移权重中,每一列(以下称为迁移权重列)对应表示子模型中的一个中间子网络层。因此,可以根据各个中间子网络层对应的迁移权重列对各个中间子网络层分别进行处理。
在一个示例中,针对当前场景的子模型中的每个中间子网络层,可以根据各个中间通用网络层以及用于表征该中间子网络层与各个中间通用网络层之间的相似度的迁移权重,得到该中间子网络层。
在该示例中,可以从迁移权重中确定出所针对的中间子网络层对应的迁移权重列,每个迁移权重列由多个迁移权重值作为权重元素构成,在迁移权重列中的每个权重元素对应通用模型中的每个中间通用网络层,作为权重元素的每个迁移权重值可以表示所针对的中间子网络层与对应的中间通用网络层之间的相似度。相似度越高,则该中间子网络层从对应的中间通用网络层迁移的知识越多。
图3示出了根据本说明书实施例的通用模型与各个子模型之间的基于迁移权重的对应关系的一个示例的示意图。如图3所示,各个子模型中的每个中间子网络层可以和通用模型中的各个中间通用网络层相关联,其方式是通过迁移权重来关联。中间子网络层与中间通用网络层的连接线可以对应有一个迁移权重值,用于表示该中间子网络层与该中间通用网络层之间的相似度,从而进一步地表示该中间子网络层与该中间通用网络层之间的知识迁移量。
在每个中间子网络层的计算方式中,可以将该中间子网络层对应的迁移权重列中的每个迁移权重值与对应的中间通用网络层相乘,所得到的结果是各个中间通用网络层迁移给该中间子网络层的知识,然后可以将各个中间通用网络层对应的结果相加,可以得到迁移给中间子网络层的知识,该知识可以作为该中间子网络层的权重矩阵,以对输入该中间子网络层的对象进行特征提取。
在230,根据当前场景的子模型中的各个中间子网络层和子输出层所输出的结果、以及各个中间通用网络层和通用输出层所输出的结果,计算损失。
在得到当前场景的子模型中的各个中间子网络层,可以将作为训练样本的对象数据输入给该子模型和通用模型,采集子模型中的各个中间子网络层和子输出层所输出的结果、以及各个中间通用网络层和通用输出层所输出的结果。
所计算的损失可以包括两部分:由子模型的子输出层所输出的结果和通用模型的通用输出层所输出的结果得到的第一损失,以及由各个中间通用网络层和各个中间子网络层输出的中间结果得到的第二损失。
在一个示例中,第一损失可以根据以下公式计算得到:
其中,Loss1表示第一损失,Fi(x)表示场景i对应的子模型在输入x时对应的输出,N表示场景总数,y表示标签值,Di表示场景i对应的场景数据集,Lce(·)表示针对第一损失的损失计算函数。
第二损失可以根据以下公式计算得到:
其中,Loss2表示第二损失,Fg(x)表示通用模型,Mi和m表示子模型中的中间子网络层数以及对应的中间子网络层,Mg和n表示通用模型中的中间通用网络层数和对应的中间通用网络层,wmn表示中间子网络层m与中间通用网络层n之间的迁移权重值,用于进行维度转换,L表示损失计算函数。
在240,根据损失对该子模型进行调整。
在一个示例中,在使用元网络得到迁移权重的情况下,除了调整子模型的参数以外,还可以对元网络的参数以及用于转换元网络输出的权重的固定维度的矩阵进行调整。
在250,判断是否满足训练结束条件。如果否,执行260的操作;如果是,则训练结束。
在260,选取另一个场景作为下一个循环中的当前场景。所选取的另一个场景可以与当前场景不同。在一种选取方式中,可以从未执行的场景中选取一个场景作为下一个循环中的当前场景
在上述示例中,通过知识蒸馏的方式来进行知识迁移,可以忽略模型结构,从而使得知识迁移可以与模型的结构无关,提高了知识迁移的灵活性。从而本说明书实施例可以应用于异构的模型。此外,在知识迁移过程中,依赖于迁移权重来从通用模型中确定所要迁移的中间通用网络层,以及从各个中间通用网络层对应的知识迁移量。
在基于推荐平台的一个实施例中,可以在推荐平台中获取不同推荐场景的场景数据,其中,场景数据包括场景用户数据和场景特征数据,场景数据用于表征场景中的用户与场景之间的交互。
可以根据各个推荐场景的显式特征数据和隐式特征数据对各个推荐场景进行向量表征,以得到各个推荐场景的场景向量表征,其中,每个推荐场景的显式特征数据根据该推荐场景的场景特征数据得到,不同推荐场景的隐式特征数据根据该不同推荐场景所涉及的共同用户确定。
可以使用元网络根据各个推荐场景的场景向量表征得到各个推荐场景对应的迁移权重,其中,每个推荐场景对应的迁移权重用于表征该推荐场景对应的推荐子模型中的各个中间子网络层与由场景数据训练得到的通用模型中的各个中间通用网络层之间的相似度。
可以利用知识蒸馏根据各个推荐场景对应的迁移权重在由通用模型与对应的推荐子模型之间进行知识迁移,以得到各个推荐场景的推荐子模型。
图4示出了根据本说明书实施例的基于知识迁移的模型训练装置400的一个示例的方框图。
如图4所示,模型训练装置400包括:数据获取单元410、权重得到单元420和知识迁移单元430。
数据获取单元410,可以被配置为获取不同场景的场景数据。
权重得到单元420,可以被配置为根据场景数据学习各个场景之间的关联性,以得到各个场景对应的迁移权重,其中,每个场景对应的迁移权重用于表征该场景与其他场景之间的关联性特征。
知识迁移单元430,可以被配置为利用知识蒸馏根据各个场景对应的迁移权重在由场景数据训练得到的通用模型与各个场景对应的子模型之间进行知识迁移,以得到各个场景的子模型。
在一个示例中,模型训练装置400还可以包括:特征数据确定单元。该特征数据确定单元,可以被配置为基于场景数据确定各个场景的显式特征数据以及用于表示各个场景之间的关联性的隐式特征数据。
权重得到单元420可以包括:场景向量表征模块、簇向量表征模块和权重得到模块。场景向量表征模块,可以被配置为根据各个场景的所述显式特征数据和隐式特征数据对各个场景进行向量表征,以得到各个场景的场景向量表征。
簇向量表征模块,可以被配置为根据各个场景向量表征与各个聚类簇之间的所属关系,得到各个场景对应的簇向量表征,其中,每个场景对应的簇向量表征用于表示该场景基于所属聚类簇的向量表征。
权重得到模块,可以被配置为根据场景向量表征以及簇向量表征得到各个场景对应的迁移权重。
在一个示例中,权重得到单元420,可以被配置为针对当前场景,根据当前场景的场景数据学习当前场景与其他场景之间的关联性,以得到当前场景对应的迁移权重;
知识迁移单元430可以包括:中间层学习模块、损失计算模块和模型调整模块,
中间层学习模块,可以被配置为针对当前场景对应的子模型,根据该子模型对应的迁移权重以及通用模型中的各个中间通用网络层,得到该子模型的各个中间子网络层。
损失计算模块,可以被配置为根据该子模型中的各个中间子网络层和子输出层所输出的结果、以及各个中间通用网络层和通用输出层所输出的结果,计算损失。
模型调整模块,可以被配置为根据损失对该子模型进行调整。
以上参照图1到图4,对根据本说明书实施例的基于知识迁移进行模型训练的方法及装置的实施例进行了描述。
本说明书实施例的基于知识迁移进行模型训练的装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本说明书实施例中,基于知识迁移进行模型训练的装置例如可以利用电子设备实现。
图5示出了本说明书实施例的用于实现基于知识迁移模型训练方法的电子设备500的方框图。
如图5所示,电子设备500可以包括至少一个处理器510、存储器(例如,非易失性存储器)520、内存530和通信接口540,并且至少一个处理器510、存储器520、内存530和通信接口540经由总线550连接在一起。至少一个处理器510执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器510:获取不同场景的场景数据;根据场景数据学习各个场景之间的关联性,以得到各个场景对应的迁移权重,其中,每个场景对应的迁移权重用于表征该场景与其他场景之间的关联性特征;以及利用知识蒸馏根据各个场景对应的迁移权重在由场景数据训练得到的通用模型与各个场景对应的子模型之间进行知识迁移,以得到各个场景的子模型。。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器510进行本说明书的各个实施例中以上结合图1-4描述的各种操作和功能。
根据一个实施例,提供了一种例如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-4描述的各种操作和功能。
具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
本说明书各部分操作所需的计算机程序代码可以用任意一种或多种程序语言编写,包括面向对象编程语言,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB、NET以及Python等,常规程序化编程语言如C语言、Visual Basic 2003、Perl、COBOL 2002、PHP以及ABAP,动态编程语言如Python、Ruby和Groovy,或者其他编程语言等。该程序编码可以在用户计算机上运行,或者作为独立的软件包在用户计算机上运行,或者部分在用户计算机上运行另一部分在远程计算机运行,或者全部在远程计算机或服务器上运行。在后一种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或者在云计算环境中,或者作为服务使用,比如软件即服务(SaaS)。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本说明书的实施例的可选实施方式,但是,本说明书的实施例并不限于上述实施方式中的具体细节,在本说明书的实施例的技术构思范围内,可以对本说明书的实施例的技术方案进行多种简单变型,这些简单变型均属于本说明书的实施例的保护范围。
本说明书内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本说明书内容。对于本领域普通技术人员来说,对本说明书内容进行的各种修改是显而易见的,并且,也可以在不脱离本说明书内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本说明书内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (13)
1.一种基于知识迁移进行模型训练的方法,包括:
获取不同场景的场景数据;
根据所述场景数据学习各个场景之间的关联性,以得到各个场景对应的迁移权重,其中,每个场景对应的迁移权重包括有该场景与其他场景之间的关联性特征;以及
利用知识蒸馏根据所述各个场景对应的迁移权重在由所述场景数据训练得到的通用模型与所述各个场景对应的子模型之间进行知识迁移,以得到所述各个场景的子模型。
2.如权利要求1所述的方法,还包括:
基于所述场景数据确定所述各个场景的显式特征数据以及用于表示所述各个场景之间的关联性的隐式特征数据;
根据所述场景数据学习各个场景之间的关联性,以得到各个场景对应的迁移权重包括:
根据所述各个场景的所述显式特征数据和所述隐式特征数据对所述各个场景进行向量表征,以得到所述各个场景的场景向量表征;以及
根据所述场景向量表征得到所述各个场景对应的迁移权重。
3.如权利要求2所述的方法,其中,所述显式特征数据包括:场景标识、场景出现位置的位置标识、以及场景所属行业中的至少一种;所述隐式特征数据根据不同场景所涉及的共同用户确定。
4.如权利要求2所述的方法,还包括:
根据各个场景向量表征与各个聚类簇之间的所属关系,得到各个场景对应的簇向量表征,其中,每个场景对应的簇向量表征用于表示该场景基于所属聚类簇的向量表征;以及
根据所述场景向量表征得到所述各个场景对应的迁移权重包括:
根据所述场景向量表征以及所述簇向量表征得到所述各个场景对应的迁移权重。
5.如权利要求4所述的方法,其中,根据所述场景向量表征以及所述簇向量表征得到所述各个场景对应的迁移权重包括:
利用元网络和/或聚类的方式根据所述场景向量表征以及所述簇向量表征得到所述各个场景对应的迁移权重。
6.如权利要求1所述的方法,其中,根据所述场景数据学习各个场景之间的关联性,以得到各个场景对应的迁移权重;以及利用知识蒸馏根据所述各个场景对应的迁移权重在由所述场景数据训练得到的通用模型与所述各个场景对应的子模型之间进行知识迁移,以得到所述各个场景的子模型包括:
按照以下循环方式对所述各个场景对应的子模型进行训练,直至满足训练结束条件:
针对当前场景,根据所述当前场景的场景数据学习所述当前场景与其他场景之间的关联性,以得到所述当前场景对应的迁移权重;
针对所述当前场景对应的子模型,根据该子模型对应的迁移权重以及所述通用模型中的各个中间通用网络层,得到该子模型的各个中间子网络层;
根据该子模型中的各个中间子网络层和子输出层所输出的结果、以及所述各个中间通用网络层和通用输出层所输出的结果,计算损失;以及
根据所述损失对该子模型进行调整。
7.如权利要求6所述的方法,其中,针对所述当前场景对应的子模型,根据该子模型对应的迁移权重以及所述通用模型中的各个中间通用网络层,得到该子模型的各个中间子网络层包括:
针对所述当前场景的子模型中的每个中间子网络层,根据所述各个中间通用网络层以及用于表征该中间子网络层与所述各个中间通用网络层之间的相似度的迁移权重,得到该中间子网络层。
8.如权利要求6所述的方法,其中,所述损失包括:由所述子输出层所输出的结果和所述通用输出层所输出的结果得到的第一损失,以及由各个中间通用网络层和所述各个中间子网络层输出的中间结果得到的第二损失。
9.一种基于知识迁移进行模型训练的方法,包括:
在推荐平台中获取不同推荐场景的场景数据,其中,所述场景数据包括场景用户数据和场景特征数据,所述场景数据用于表征场景中的用户与场景之间的交互;
根据各个推荐场景的显式特征数据和隐式特征数据对所述各个推荐场景进行向量表征,以得到所述各个推荐场景的场景向量表征,其中,每个推荐场景的显式特征数据根据该推荐场景的场景特征数据得到,不同推荐场景的隐式特征数据根据该不同推荐场景所涉及的共同用户确定;
使用元网络根据所述各个推荐场景的场景向量表征得到所述各个推荐场景对应的迁移权重,其中,每个推荐场景对应的迁移权重用于表征该推荐场景对应的推荐子模型中的各个中间子网络层与由所述场景数据训练得到的通用模型中的各个中间通用网络层之间的相似度;以及
利用知识蒸馏根据所述各个推荐场景对应的迁移权重在由所述通用模型与对应的推荐子模型之间进行知识迁移,以得到所述各个推荐场景的推荐子模型。
10.一种基于知识迁移进行模型训练的装置,包括:
数据获取单元,获取不同场景的场景数据;
权重得到单元,根据所述场景数据学习各个场景之间的关联性,以得到各个场景对应的迁移权重,其中,每个场景对应的迁移权重用于表征该场景与其他场景之间的关联性特征;以及
知识迁移单元,利用知识蒸馏根据所述各个场景对应的迁移权重在由所述场景数据训练得到的通用模型与所述各个场景对应的子模型之间进行知识迁移,以得到所述各个场景的子模型。
11.如权利要求10所述的装置,还包括:
特征数据确定单元,基于所述场景数据确定所述各个场景的显式特征数据以及用于表示所述各个场景之间的关联性的隐式特征数据;
所述权重得到单元包括:场景向量表征模块、簇向量表征模块和权重得到模块,
所述场景向量表征模块,根据所述各个场景的所述显式特征数据和所述隐式特征数据对所述各个场景进行向量表征,以得到所述各个场景的场景向量表征;
所述簇向量表征模块,根据各个场景向量表征与各个聚类簇之间的所属关系,得到各个场景对应的簇向量表征,其中,每个场景对应的簇向量表征用于表示该场景基于所属聚类簇的向量表征;
所述权重得到模块,根据所述场景向量表征以及所述簇向量表征得到所述各个场景对应的迁移权重。
12.如权利要求10所述的装置,其中,
所述权重得到单元,针对当前场景,根据所述当前场景的场景数据学习所述当前场景与其他场景之间的关联性,以得到所述当前场景对应的迁移权重;
所述知识迁移单元包括:中间层学习模块、损失计算模块和模型调整模块,
所述中间层学习模块,针对所述当前场景对应的子模型,根据该子模型对应的迁移权重以及所述通用模型中的各个中间通用网络层,得到该子模型的各个中间子网络层;
所述损失计算模块,根据该子模型中的各个中间子网络层和子输出层所输出的结果、以及所述各个中间通用网络层和通用输出层所输出的结果,计算损失;以及
所述模型调整模块,根据所述损失对该子模型进行调整。
13.一种电子设备,包括:至少一个处理器,与所述至少一个处理器耦合的存储器,以及存储在所述存储器上的计算机程序,所述至少一个处理器执行所述计算机程序来实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310980538.2A CN117010492A (zh) | 2023-08-04 | 2023-08-04 | 基于知识迁移进行模型训练的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310980538.2A CN117010492A (zh) | 2023-08-04 | 2023-08-04 | 基于知识迁移进行模型训练的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117010492A true CN117010492A (zh) | 2023-11-07 |
Family
ID=88568662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310980538.2A Pending CN117010492A (zh) | 2023-08-04 | 2023-08-04 | 基于知识迁移进行模型训练的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117010492A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117372785A (zh) * | 2023-12-04 | 2024-01-09 | 吉林大学 | 一种基于特征簇中心压缩的图像分类方法 |
-
2023
- 2023-08-04 CN CN202310980538.2A patent/CN117010492A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117372785A (zh) * | 2023-12-04 | 2024-01-09 | 吉林大学 | 一种基于特征簇中心压缩的图像分类方法 |
CN117372785B (zh) * | 2023-12-04 | 2024-03-26 | 吉林大学 | 一种基于特征簇中心压缩的图像分类方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Heiss | Structural choice analysis with nested logit models | |
US8903198B2 (en) | Image ranking based on attribute correlation | |
CN108288051B (zh) | 行人再识别模型训练方法及装置、电子设备和存储介质 | |
CN110765863B (zh) | 一种基于时空约束的目标聚类方法及系统 | |
CN105868847A (zh) | 一种购物行为的预测方法及装置 | |
CN111052128B (zh) | 用于检测和定位视频中的对象的描述符学习方法 | |
CN110377587B (zh) | 基于机器学习的迁移数据确定方法、装置、设备及介质 | |
CN112380449B (zh) | 信息推荐方法、模型训练方法及相关装置 | |
KR20190056940A (ko) | 멀티모달 데이터 학습 방법 및 장치 | |
CN110096617B (zh) | 视频分类方法、装置、电子设备及计算机可读存储介质 | |
CN113657087B (zh) | 信息的匹配方法及装置 | |
US20170076299A1 (en) | Extracting relevant features from electronic marketing data for training analytical models | |
CN115631008B (zh) | 商品推荐方法、装置、设备及介质 | |
CN108572984A (zh) | 一种实时用户兴趣识别方法及装置 | |
CN116310318B (zh) | 交互式的图像分割方法、装置、计算机设备和存储介质 | |
CN117010492A (zh) | 基于知识迁移进行模型训练的方法及装置 | |
CN112819024B (zh) | 模型处理方法、用户数据处理方法及装置、计算机设备 | |
CN115982463A (zh) | 资源推荐方法、装置、设备及存储介质 | |
CN111523604A (zh) | 一种用户分类的方法和相关装置 | |
CN114912623B (zh) | 用于模型解释的方法及装置 | |
US20240249547A1 (en) | Pedestrian attribute recognition method based on a pedestrian attribute recognition system and method for training the same | |
CN113537403B (zh) | 图像处理模型的训练方法和装置及预测方法和装置 | |
CN111221880B (zh) | 特征组合方法、装置、介质和电子设备 | |
CN110472680B (zh) | 目标分类方法、装置和计算机可读存储介质 | |
CN112150206A (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 |