CN111652378B - 学习来选择类别特征的词汇 - Google Patents
学习来选择类别特征的词汇 Download PDFInfo
- Publication number
- CN111652378B CN111652378B CN202010450032.7A CN202010450032A CN111652378B CN 111652378 B CN111652378 B CN 111652378B CN 202010450032 A CN202010450032 A CN 202010450032A CN 111652378 B CN111652378 B CN 111652378B
- Authority
- CN
- China
- Prior art keywords
- machine learning
- embedding
- learning model
- output sequence
- category
- 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
- 238000010801 machine learning Methods 0.000 claims abstract description 175
- 238000000034 method Methods 0.000 claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 46
- 238000003860 storage Methods 0.000 claims abstract description 12
- 238000012549 training Methods 0.000 claims description 73
- 238000013528 artificial neural network Methods 0.000 claims description 56
- 230000008569 process Effects 0.000 claims description 42
- 238000013507 mapping Methods 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 9
- 230000002787 reinforcement Effects 0.000 claims description 9
- 230000000306 recurrent effect Effects 0.000 claims description 7
- 238000012935 Averaging Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 abstract description 14
- 238000005457 optimization Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000009334 Singa Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 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
- G06N20/00—Machine learning
-
- 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/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及学习来选择类别特征的词汇。方法、系统和设备,包括在计算机存储介质上编码的计算机程序,以用于针对一个或多个类别特征中的每个类别特征确定在由机器学习模型对输入进行处理期间应该有效的所述类别特征的类别特征值的相应词汇。在一个方面中,一种方法包括:生成一个批次的输出序列,所述批次中的每个输出序列针对所述类别特征中的每个类别特征指定应该有效的所述类别特征的类别特征值的相应词汇;对于所述批次中的每个输出序列,在所述机器学习模型已经被训练成在仅由所述输出序列指定的每个类别特征的类别特征值的相应词汇有效的情况下执行机器学习任务之后确定所述机器学习模型在所述机器学习任务上的性能度量。
Description
技术领域
本说明书涉及使用机器学习模型来处理数据。
背景技术
机器学习模型接收输入并且基于接收到的输入生成输出,例如,预测输出。一些机器学习模型是参数模型并且基于接收到的输入和该模型的参数的值生成输出。
一些机器学习模型是针对接收到的输入采用模型的多个层来生成输出的深度模型。例如,深度神经网络是包括输出层和一个或多个隐藏层的深度机器学习模型,所述一个或多个隐藏层均对接收到的输入应用非线性变换以生成输出。
发明内容
本说明书描述了一种作为计算机程序实现在一个或多个位置中的一个或多个计算机上的系统,所述系统训练机器学习模型,所述机器学习模型被配置成处理包括类别特征值的输入。如贯穿本说明书所用,类别特征是指仅能够假定可能特征值的离散(例如,有限)集合中的值的特征。
根据第一方面,提供了一种由一个或多个数据处理设备执行以用于针对一个或多个类别特征中的每个类别特征确定在由具有多个机器学习模型参数的机器学习模型对输入进行处理期间应该有效的所述类别特征的类别特征值的相应词汇的方法,所述方法包括:使用具有多个控制器参数的控制器神经网络并且依照所述控制器参数的当前值来生成一个批次输出序列,所述批次中的每个输出序列针对所述类别特征中的每个类别特征指定该类别特征的类别特征值的相应词汇,该相应词汇:(i)在由所述机器学习模型对输入进行处理期间应该是有效的,并且(ii)是该类别特征的可能类别特征值的离散集合的子集;对于所述批次中的每个输出序列,在所述机器学习模型已经被训练成在仅由所述输出序列指定的每个类别特征的类别特征值的相应词汇有效的情况下执行机器学习任务之后确定所述机器学习模型在所述机器学习任务上的性能度量,其中在所述训练期间:所述机器学习模型被配置成通过执行包括以下项的操作来处理包括相应类别特征的一个或多个可能类别特征值的输入:对于仅所述输入中包括的由所述输出序列指定为有效的那些可能类别特征值,将所述可能类别特征值映射到在所述训练期间迭代地调整的对应嵌入;并且针对所述输入处理所述嵌入以生成机器学习模型输出;以及使用所述批次中的所述输出序列的所述性能度量来调整所述控制器神经网络的控制器参数的当前值。
在一些实现方式中,所述批次中的每个输出序列附加地指定与在由所述机器学习模型对输入进行处理期间由所述输出序列指定为有效的每个类别特征值相对应的相应嵌入维数;并且对于所述批次中的每个输出序列,在所述训练期间,所述机器学习模型被配置成将所述输入中包括的由所述输出序列指定为有效的每个可能类别特征值映射到具有由所述输出序列指定的所述嵌入维数的对应嵌入。
在一些实现方式中,每个输出序列针对给定类别特征的不同类别特征值指定不同嵌入维数。
在一些实现方式中,所述机器学习模型包括与每个类别特征相对应的相应多个嵌入模型;与类别特征相对应的嵌入模型定义所述类别特征的一个或多个类别特征值中的每个类别特征至到具有相应维数的所述类别特征值的对应子嵌入的映射;所述批次中的每个输出序列针对所述类别特征中的每个类别特征指定与所述类别特征相对应的一个或多个嵌入模型;并且将所述输入中包括的给定类别特征的给定类别特征值映射到对应嵌入包括:针对由所述输出序列针对所述给定类别特征指定的定义所述给定类别特征值到对应子嵌入的映射的每个嵌入模型,使用所述嵌入模型来将所述给定类别特征值映射到所述对应子嵌入;并且基于所述子嵌入确定所述给定类别特征值的嵌入。
在一些实现方式中,基于所述子嵌入确定所述给定类别特征值的嵌入包括:针对具有与指定的维数不同的维数的任何子嵌入,将所述子嵌入投影到所述指定的维数。
在一些实现方式中,基于所述子嵌入确定所述给定类别特征值的嵌入进一步包括对所述子嵌入进行求和或平均。
在一些实现方式中,针对所述输入处理所述嵌入以生成机器学习模型输出包括:对于每个类别特征,基于被包括在所述输入中并且由所述输出序列指定为有效的所述类别特征的每个类别特征值的相应嵌入生成与所述类别特征相对应的组合嵌入;以及针对所述输入使用一个或多个神经网络层来处理所述组合嵌入以生成机器学习模型输出。
在一些实现方式中,所述方法进一步包括:使用所述控制器神经网络并且依照所述控制器参数的调整值来生成新输出序列;以及在训练数据上在仅由所述新输出序列指定的每个类别特征的类别特征值的相应词汇有效的情况下训练所述机器学习模型以确定所述机器学习模型参数的调整值。
在一些实现方式中,使用所述批次中的所述输出序列的所述性能度量来调整所述控制器神经网络的控制器参数的当前值包括:使用强化学习技术来训练所述控制器神经网络以生成具有提高的性能度量的输出序列。
在一些实现方式中,所述强化学习技术是演员评判家强化学习技术。
在一些实现方式中,所述批次中的给定输出序列的性能度量基于在仅由所述输出序列指定的每个类别特征的类别特征值的相应词汇有效的情况下所述机器学习模型在所述机器学习任务上的预测准确性。
在一些实现方式中,所述批次中的给定输出序列的性能度量基于与由所述输出序列指定为有效的每个类别特征值相对应的相应嵌入维数。
在一些实现方式中,所述控制器神经网络是递归神经网络,所述递归神经网络被配置成针对给定输出序列并且在多个时间步中的每个时间步:接收在前一个时间步生成的输出在所述给定输出序列中的表示作为输入,并且处理所述输入以更新所述递归神经网络的当前隐藏状态并且生成所述时间步内的遍及可能输出的分值分布。
在一些实现方式中,所述方法进一步包括:依照所述控制器参数的调整值来生成最终输出序列,所述最终输出序列针对所述类别特征中的每个类别特征指示类别特征值的相应最终词汇。
在一些实现方式中,所述方法进一步包括针对接收到的输入通过在仅由所述最终输出序列指定的每个类别特征的类别特征值的最终词汇有效的情况下处理所述接收到的输入来执行所述机器学习任务。
在一些实现方式中,所述机器学习模型被配置成处理表征用户的先前搜索查询的输入,以生成表征所述用户的预测的下一个搜索查询的输出。
在一些实现方式中,所述机器学习模型被配置成处理表征由用户观看的先前视频的输入,以生成表征由所述用户观看的预测的下一个视频的输出。
在一些实现方式中,所述机器学习模型被配置成处理表征由用户访问的先前网页的输入,以生成表征由所述用户访问的预测的下一个网页的输出。
在一些实现方式中,所述批次中的每个输出序列附加地指定所述机器学习模型的架构;并且针对所述批次中的每个输出序列,所述机器学习模型被配置成使用由所述输出序列指定的所述机器学习模型的架构来处理所述输入。
根据另一方面,提供了一种由一个或多个数据处理设备执行以用于针对一个或多个类别特征值中的每个类别特征值确定在由具有多个机器学习模型参数的机器学习模型对输入进行处理期间应该针对所述类别特征值生成的嵌入的相应嵌入维数的方法,所述方法包括:使用具有多个控制器参数的控制器神经网络并且依照所述控制器参数的当前值来生成一个批次的输出序列,所述批次中的每个输出序列针对每个类别特征值指定在由所述机器学习模型对输入进行处理期间应该针对所述类别特征值生成的嵌入的相应嵌入维数;对于所述批次中的每个输出序列,在所述机器学习模型已经被训练成当所述机器学习模型生成具有由所述输出序列指定的所述嵌入维数的所述类别特征值的嵌入时执行机器学习任务之后确定所述机器学习模型在所述机器学习任务上的性能度量,其中在所述训练期间:所述机器学习模型被配置成通过执行包括以下项的操作来处理包括一个或多个类别特征值的输入:将所述输入中包括的每个类别特征值映射到具有由所述输出序列指定的对应嵌入维数的嵌入;并且针对所述输入处理所述嵌入以生成机器学习模型输出;以及使用所述批次中的所述输出序列的所述性能度量来调整所述控制器神经网络的控制器参数的当前值。
根据另一方面,提供了一种系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储装置,所述指令当由一个或多个计算机执行时使所述一个或多个计算机执行先前描述的方法中的任一种的操作。
根据另一方面,提供了一种或多种存储指令的计算机存储介质,所述指令当由一个或多个计算机执行时使所述一个或多个计算机执行先前描述的方法中的任一种的操作。
能够实现本说明书中描述的主题的特定实施例以便实现以下优点中的一个或多个。
本说明书中描述的训练系统能够训练机器学习模型,所述机器学习模型被配置成处理包括一个或多个类别特征的特征值的输入。所述机器学习模型被配置成针对每个类别特征维护与被称为类别特征的“有效”特征值的类别特征的可能特征值的子集中的每个特征值相对应的相应嵌入。类别特征的有效特征值集合还可以被称为类别特征的“词汇”。在接收到输入之后,所述机器学习模型将输入中包括的每个有效类别特征值映射到其对应嵌入(其在所述机器学习模型的训练期间被迭代地调整)。所述机器学习模型可以将输入中包括的任何“无效”类别特征值映射到默认嵌入,例如,仅包括零的嵌入。
类别特征的词汇和类别特征的类别特征值的嵌入维数可能严重地影响机器学习模型的准确性和(例如,存储器和计算能力的)计算资源消耗。作为训练机器学习模型的一部分,本说明书中描述的训练系统在可能类别特征词汇和嵌入维数的空间上执行自动搜索以优化机器学习模型的性能。机器学习模型的性能可以表征机器学习模型的预测准确性和机器学习模型的计算资源消耗(例如,存储有效类别特征值的嵌入所需要的参数的数目)。
一些常规系统可以针对大量类别特征值中的每个类别特征值学习并维护固定大小的嵌入。例如,对于通过处理具有大量(数百万或数十亿个)可能类别特征值的类别特征来执行大规模推荐任务(例如,向用户推荐视频或网页)的机器学习模型,这可能导致机器学习模型的不可接受的计算资源消耗和较差性能。相比之下,本说明书中描述的训练系统学习选择类别特征词汇和嵌入维数,其联合地优化机器学习模型的预测准确性和计算资源消耗。因此,本说明书中描述的系统能够在一些情况下在减少机器学习模型的计算资源消耗的同时提高机器学习模型的预测准确性。
在下面的附图和描述中阐述本说明书的主题的一个或多个实施例的细节。根据说明书、附图,并且根据权利要求书,主题的其它特征、方面和优点将变得显而易见。
附图说明
图1示出示例训练系统。
图2示出被划分为嵌入模型的网格的类别特征的共享参数值的阵列。
图3示出针对类别特征的一组嵌入模型,该组嵌入模型针对类别特征的每个有效特征值定义具有相同维数的嵌入。
图4示出针对类别特征的一组嵌入模型,该组嵌入模型针对类别特征的有效特征值定义具有不同维数的嵌入。
图5是用于针对一个或多个类别特征中的每个类别特征确定在由机器学习模型对输入进行处理期间应该有效的类别特征的类别特征值的相应词汇的示例过程的流程图。
图6是用于针对一个或多个类别特征值中的每个类别特征值确定在由机器学习模型对输入进行处理期间应该针对该类别特征值生成的嵌入的相应嵌入维数的示例过程的流程图。
在各个附图中,相同的附图标记和名称指示相同的元件。
具体实施方式
图1示出示例训练系统100。训练系统100是作为计算机程序实现在一个或多个位置中的一个或多个计算机上的系统的示例,其中实现了下述系统、组件和技术。
训练系统100被配置成训练机器学习模型102。机器学习模型102被配置成处理包括一个或多个类别特征的特征值的输入104以生成对应输出106。输入104可以包括每个类别特征的零个、一个或多个可能特征值。
通常,机器学习模型102能够执行各种机器学习任务中的任一个。接下来更详细地描述可以由机器学习模型102执行的可能机器学习任务的几个示例。
在一个示例中,机器学习模型102可以被配置成处理表征用户的先前文本搜索查询的输入,以生成指定用户的预测的下一个搜索查询的输出。机器学习模型的输入中的类别特征可以包括例如:先前搜索查询、先前搜索查询的一元语法、先前搜索查询的二元语法和先前搜索查询的三元语法。搜索查询的n元语法(例如,一元语法、二元语法或三元语法)是指搜索查询中的n个连续字符的序列。“先前搜索查询”类别特征的可能特征值可以包括预定义的可能搜索查询集合,例如,100万个可能搜索查询或任何其它适当数目的可能搜索查询。每个“先前搜索查询的n元语法”类别特征的可能特征值可以包括预定义的可能n元语法集合。机器学习模型102的输出可以包括一组多个可能搜索查询中的每个搜索查询的相应分值,其中每个搜索查询的分值表征它将为用户的下一个搜索查询的可能性。
在另一示例中,机器学习模型102可以被配置成处理表征软件应用的输入以生成输出,所述输出定义了软件应用将被用户选择以安装在用户装置(例如,智能电话)上的可能性。机器学习模型的输入中的类别特征可以包括例如应用标识符类别特征、应用开发者类别特征和应用标题类别特征。应用标识符类别特征的可能特征值可以包括预定义的一组可能应用标识符(例如,被表示为整数值),其中每个应用标识符对应于相应应用。应用开发者类别特征的可能特征值可以包括预定义的一组可能应用开发者。应用标题类别特征的可能特征值可以包括预定义的一组可能n元语法。
在另一示例中,机器学习模型102可以被配置成处理表征由用户观看的先前视频的输入,以生成表征待由用户(例如,在视频共享平台上)观看的预测的下一个视频的输出。机器学习模型的输入中的类别特征可以包括指定由用户观看的先前视频的标识符(ID)的类别特征,其中该类别特征的可能特征值包括与多个视频中的每个视频相对应的相应ID。机器学习模型102的输出可以包括一组多个视频中的每个视频的相应分值,其中每个视频的分值表征它是待由用户观看的下一个视频的可能性。
在另一示例中,机器学习模型102可以被配置成处理表征由用户访问的先前网页的输入,以生成表征待由用户访问的预测的下一个网页的输出。机器学习模型的输入中的类别特征可以包括指定由用户访问的先前网站的ID的类别特征,其中该类别特征的可能特征值包括与多个网页中的每个网页相对应的相应ID。机器学习模型102的输出可以包括一组多个网页中的每个网页的相应分值,其中每个网页的分值表征它是待由用户访问的下一个网页的可能性。
在另一示例中,机器学习模型102可以被配置成处理表征与用户相关联的产品(例如,由用户先前购买的产品或用户在在线平台上先前浏览的产品)的输入,以生成表征用户可能感兴趣的其它产品的输出。机器学习模型的输入中的类别特征可以包括指定与用户相关联的产品的ID的类别特征,其中该类别特征的可能特征值包括与多个产品中的每个产品相对应的相应ID。机器学习模型的输出可以包括一组多个产品中的每个产品的相应分值,其中每个产品的分值表征用户对该产品感兴趣(例如,应该将该产品推荐给用户)的可能性。
在另一示例中,机器学习模型可以被配置成处理表征与用户相关联的数字分量(例如,被先前发送给用户的数字分量)的输入,以生成表征用户可能感兴趣的其它数字分量的输出。机器学习模型的输入中的类别特征可以包括指定被先前发送给用户的数字分量的ID的类别特征,其中该类别特征的可能特征值包括与多个数字分量中的每个数字分量相对应的相应ID。机器学习模型的输出可以包括一组多个数字分量中的每个数字分量的相应分值,其中每个数字分量的分值表征用户对该数字分量感兴趣(例如,使得应该将该数字分量发送给用户)的可能性。
如贯穿本说明书所用,短语数字分量是指能够包括例如以下各项中的一种或多种的数字内容或数字信息的离散单元:视频剪辑、音频剪辑、多媒体剪辑、图像、文本分段或统一资源定位符(URL)。数字分量能够作为单个文件或以文件的合集电子地存储在物理存储器装置中,而且数字分量能够采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式并且包括流视频、流音频、社交网络帖子、博客帖子和/或广告信息,使得广告是一种类型的数字分量。通常,数字分量由单个提供商或来源(例如,广告商、出版商或其它内容提供商)定义(或提供),但是从一个来源提供的数字分量能利用来自另一来源的数据(例如,天气信息、实时事件信息或从另一来源获得的其它信息)增强。
机器学习模型102包括嵌入系统和预测系统,接下来将对其中的每个进行更详细的描述。
嵌入系统被配置成针对每个类别特征维护与被称为该类别特征的“有效(active)”特征值的类别特征的可能特征值的子集中的每个特征值相对应的相应嵌入。类别特征的有效特征值集合也可以被称为类别特征的“词汇”。给定类别特征的词汇可以为空的(即,使得可能特征值均不是有效的),可以为可能特征值集合的适当子集,或者等于可能特征值集合(即,使得每个可能特征值是有效的)。如贯穿本说明书所用,“嵌入”是指数值的有序合集,例如,数值的向量或矩阵。嵌入系统将输入104中包括的每个有效类别特征值映射到其对应嵌入,并且将这些嵌入提供给预测系统。
嵌入系统可以将输入中包括的“无效”(即不是类别特征的有效特征值,即在类别特征的词汇外部)的任何类别特征值映射到默认(即,预定义)嵌入,例如,仅包括零的嵌入。
预测系统被配置成依照一组预测系统参数的值来处理输入104中包括的类别特征值的嵌入以生成输出106。例如,为了生成输出106,预测系统可以通过对针对被包括在输入104中的类别特征的每个有效特征值的相应嵌入进行组合(例如,求和或平均)来确定与每个类别特征相对应的组合嵌入。预测系统然后可以处理与类别特征相对应的组合嵌入以生成输出106,例如,通过级联与类别特征相对应的组合嵌入并且使用一个或多个神经网络层来处理级联的结果。神经网络层可以是例如完全连接的神经网络层、卷积神经网络层或任何其它适当类型的神经网络层。
对每个类别特征的词汇的选择以及由机器学习模型针对每个类别特征的词汇中的每个特征值使用的嵌入的维数可以显著地影响机器学习模型102的性能。更具体地,对类别特征词汇的选择和嵌入维数可以显著地影响机器学习模型的预测准确性和计算资源消耗。
例如,一些类别特征可以具有大量可能特征值,例如,指定由用户观看的先前视频的ID的类别特征可以具有数百万个可能特征值(例如,与上载到视频共享平台的数百万个视频相对应)。学习并维护针对每个可能类别特征值的嵌入可能是计算密集的并且导致过拟合。此外,对于类别特征的每个特征值使用具有相同维数的嵌入可能导致效率低的计算资源使用。例如,更常见或预测性的特征值可能需要更大嵌入来表示其与其它特征值的复杂关系,然而对于不太常见的特征值使用更大嵌入可能由于那些特征值在训练数据中的罕见性而导致过拟合。
作为训练机器学习模型102的一部分,训练系统100在可能类别特征词汇和嵌入维数的空间上执行自动化搜索以优化机器学习模型102的性能,如将在下面更详细地描述的。
训练系统100包括训练引擎108和控制器神经网络110,其均在下面被更详细描述。
在本文中称为“优化迭代”的一次或多次迭代中的每一次迭代时,训练引擎108获得由控制器神经网络110在优化迭代时生成的类别特征规范112。类别特征规范112针对每个类别特征定义:(i)类别特征的词汇,以及(ii)待由机器学习模型针对类别特征的词汇中的每个特征值使用的嵌入的相应维数。可以将类别特征规范例如表示为数值的序列。对于每个类别特征,类别特征规范可以为类别特征的词汇中的不同特征值指定不同嵌入维数,使得某些特征值比其它特征值具有更高的嵌入维数。
训练系统100然后获得符合类别特征规范112的类别特征值嵌入集合。也就是说,训练系统100获得针对每个类别特征的词汇中的每个特征值的相应嵌入,其中类别特征的词汇和嵌入的维数由类别特征规范112指定。训练系统100可以获得已经在先前优化迭代时训练(例如,而不是被随机地初始化)的类别特征值嵌入,如将在下面更详细地描述的。
训练系统100将类别特征值嵌入(即,其符合类别特征规范112)提供给机器学习模型102,并且使用训练引擎108来在一组训练数据114上训练机器学习模型102。训练数据包括一组训练示例,其中每个训练示例指定:(i)机器学习模型的训练输入,以及(ii)应该由机器学习模型通过处理训练输入而生成的目标输出。
训练引擎108可以使用随机梯度下降的多次迭代来在训练数据114上训练机器学习模型102以优化例如测量机器学习模型102的预测准确性的目标函数,例如交叉熵目标函数。在随机梯度下降的每次迭代时,训练引擎108可以通过机器学习模型反向传播目标函数的梯度,以调整每个类别特征的有效特征值的嵌入。
在确定满足训练终止准则(例如,因为已经执行了预定数目的训练迭代)之后,训练系统100确定与当前类别特征规范112相对应的性能度量116。性能度量116可以取决于以下二者:(i)经训练的机器学习模型的预测准确性,以及(ii)表示类别特征值嵌入(即,当使用当前类别特征规范112时)所需要的参数的数目。
训练系统100可以例如通过评价经训练的机器学习模型在一组验证数据上的预测准确性来确定经训练的机器学习模型的预测准确性。验证数据可以包括在机器学习模型102的训练期间未使用的训练示例,即未包括在训练数据114中的训练示例。训练系统100可以使用任何适当的目标函数(例如,交叉熵目标函数)来评价经训练的机器学习模型在验证数据上的预测准确性。
训练系统100可以将表示类别特征值嵌入所需要的参数的数目C确定为:
其中F对类别特征进行编索引,是类别特征集合,v对类别特征F的词汇中的特征值进行编索引,并且dv,F指示类别特征F的词汇中的特征值v的嵌入的维数(即,根据当前类别特征规范112)。
训练系统100可以将性能度量P例如确定为:
其中指示预测准确性,β指示常数值,C指示表示类别特征值嵌入所需要的参数的数目,并且Ctot指示用于表示类别特征表示的参数的数目的“预算”。能够领会的是,C仅在它超过其“预算”Ctot的情况下才影响性能度量P,从而促使表示类别特征值嵌入所需要的参数的数目C保持在预算Ctot内。
控制器神经网络110被配置成在每次优化迭代时生成类别特征规范112。控制器神经网络110可以具有使得它能够生成类别特征规范的任何适当的神经网络架构。
例如,控制器神经网络可以是递归神经网络,即,具有一个或多个递归神经网络层例如长短期记忆(LSTM)递归神经网络层的神经网络。在此示例中,控制器神经网络可以通过在多个时间步中的每个时间步生成相应输出值来生成输出值序列,其中输出值序列共同地定义类别特征规范。特别地,在每个时间步,控制器神经网络可以处理在在前时间步生成的输出的表示,以生成时间步的遍及可能输出的分值分布并且更新控制器神经网络的当前隐藏状态(例如,单元状态)。时间步的遍及可能输出的分值分布可以包括时间步的可能输出集合中的每个输出的相应分值(数值)。控制器神经网络可以通过如下方式来确定时间步的输出:处理遍及可能输出的分值分布以生成遍及可能输出的概率分布,并且然后依照该概率分布来对可能输出进行采样。控制器神经网络可以例如通过使用soft-max函数处理遍及可能输出的分值分布来生成遍及可能输出的概率分布。
训练系统100在每次优化迭代时调整控制器神经网络110的参数值以促使控制器神经网络110生成具有优良的(例如,更高的)性能度量的类别特征规范112。例如,训练系统100可以使用强化学习技术来训练控制器神经网络110以使奖励的累积量度(例如,奖励的折和和)最大化,其中在每次优化迭代时接收到的奖励通过用于优化迭代的性能度量116来指定。训练系统100可以使用任何适当的强化学习技术(例如,演员评判家强化学习技术)来训练控制器神经网络110。
在一些实现方式中,控制器神经网络110可以在每次优化迭代时生成一个批次的多个输出序列,即,其定义了多个类别特征规范。在此实现方式中,训练系统100可以针对每个类别特征规范确定相应性能度量116,并且可以例如基于用于优化迭代的性能度量116的平均值来确定在优化迭代时的奖励。
在一些实现方式中,控制器神经网络110可以被配置成生成定义以下二者的输出:(i)类别特征规范,以及(ii)机器学习模型的架构。定义机器学习模型的架构的数据可以指定例如由机器学习模型的预测系统用于处理有效类别特征值的嵌入以生成输出的神经网络层的数目。在这些实现方式中,训练系统100可以使用具有由控制器神经网络指定的架构的机器学习模型来确定由控制器神经网络指定的类别特征规范的性能度量。
在最终优化迭代之后,训练系统100可以从在每次优化迭代时生成的类别特征规范当中识别例如具有最高性能度量116的“最佳”类别特征规范112。此后,机器学习模型102可以使用由最佳类别特征规范112指定的类别特征词汇和特征值嵌入维数来执行机器学习任务。在一些实现方式中,训练系统100还可以识别机器学习模型的“最佳”架构,例如,其由控制器神经网络连同最佳类别特征规范一起生成,此后使用该最佳架构来实现机器学习模型。
为了促进机器学习模型在每次优化迭代时的更快训练,训练系统100可以避免每次机器学习模型被训练时从头开始(例如,从默认值起或从随机地初始化的值起)重新训练类别特征值嵌入。相反,对于每个类别特征,训练系统100可以维护跨优化迭代维护的共享参数集合。每次机器学习模型被训练时,提供给机器学习模型的类别特征值的嵌入是与类别特征相对应的共享参数的子集,并且训练机器学习模型更新共享参数的此子集。
例如,对于每个类别特征,可以将与该类别特征相对应的共享参数集合表示为数值的二维(2-D)阵列。阵列中的行数可以等于类别特征的可能特征值的数目,并且列数可以等于针对类别特征的可能值的最大允许嵌入维数。
共享参数的阵列可以被理解为被划分为子阵列的网格,如由图2所图示的,其中每个子阵列被称为“嵌入模型”。每个嵌入模型由框(例如,200-A-C)图示。在此示例中,整个阵列具有500万行和256列,并且每个嵌入模型具有100万行和64列。每个嵌入模型定义从和与嵌入模型相对应的阵列的行相关联的特征值中的每个特征值到具有维数等于嵌入模型的列数的对应“子嵌入”的映射。(“子嵌入”是指数值的有序合集,例如,数值的向量或矩阵)。例如,嵌入模型200-A定义了从与阵列的前100万行相关联的特征值到对应的64维子嵌入的映射。
类别特征规范可以通过指定针对类别特征的嵌入模型的子集(即,整个阵列的子阵列的子集)来指定类别特征的词汇以及针对该词汇中的每个特征值的相应嵌入维数。对于类别特征的每个特征值,通过由类别特征规范指定的嵌入模型所定义的特征值的子嵌入的集合可以共同地定义特征值的嵌入。如果由类别特征规范指定的嵌入模型均未定义特定特征值的子嵌入,则认为该特征值在类别特征的词汇外部。
在一些实现方式中,对于每个类别特征,类别特征规范指定针对该类别特征的嵌入模型的“框”,例如,如图3中图示的框300。嵌入模型可以通过坐标对(i,j)来编索引,并且类别特征规范可以通过在框300的右下拐角处指定嵌入模型302的索引(4,3)来指定框300。在由图3图示的示例中,通过指定框300,类别特征规范指定与阵列的前400万行相对应的特征值的维数196(=64+64+64)的嵌入。类别特征规范还指定与阵列的最后100万行相对应的特征值不在类别特征的词汇中。能够领会的是,在参考图3图示的示例中,在类别特征的词汇中的每个特征值具有相同的维数。
在一些实现方式中,对于每个类别特征,类别特征规范通过指定嵌入模型的每“列”中的嵌入模型的相应框(例如,如图4中图示的框400-A-C)来指定嵌入模型集合(其中在第三列中未指定嵌入模型)。类别特征规范可以通过一系列非负整数数值来指定嵌入模型集合,其中每个数值指定嵌入模型的对应列中的框中的嵌入模型的数目。例如,类别特征规范可以按如下顺序指定由框400-A-C定义的嵌入模型集合:(2,5,0,2),即,指示第一列中的两个嵌入模型、第二列中的5个嵌入模型、第三列中的0个嵌入模型和第四列中的2个嵌入模型。在由图4图示的示例中,类别特征规范指定与阵列中的前200万行相对应的特征值的维数196(=64+64+64)的嵌入,并且指定与阵列中的最后300万行相对应的特征值的维数64的嵌入。能够领会的是,在由图4图示的示例中,类别特征的不同特征值可以具有不同维数的嵌入。
在一些情况下,特征值的嵌入可以由具有不同维数的子嵌入集合共同地定义。在这种情况下,嵌入系统可以使用投影矩阵来将每个子嵌入投影到相同维数,然后对所投影的子嵌入进行组合(例如,求和或平均)以生成特征值的整体嵌入。投影矩阵的参数可以是嵌入系统的可训练参数。
图5是用于针对一个或多个类别特征中的每个类别特征确定在由机器学习模型对输入进行处理期间应该有效的类别特征的类别特征值的相应词汇的示例过程500的流程图。为了方便,将过程500描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,依照本说明书适当地编程的训练系统(例如,图1的训练系统100)能够执行过程500。
系统使用控制器神经网络并且依照控制器参数的当前值来生成一个批次的输出序列(502)。该批次中的每个输出序列针对类别特征中的每个类别特征指定该类别特征的类别特征值的相应词汇,其:(i)在由机器学习模型对输入进行处理期间应该是有效的,并且(ii)是该类别特征的可能类别特征值的离散集合的子集。
对于该批次中的每个输出序列,系统在已经在仅由输出序列指定的每个类别特征的类别特征值的相应词汇有效的情况下训练了机器学习模型之后确定机器学习模型在机器学习任务上的性能度量(504)。在训练期间,机器学习模型被配置成通过如下方式处理包括相应类别特征的一个或多个可能类别特征值的输入:对于仅输入中包括的由输出序列指定为有效的那些可能类别特征值,将该可能类别特征值映射到在训练期间迭代地调整的对应嵌入。机器学习模型然后针对输入处理这些嵌入以生成机器学习模型输出。
系统使用该批次中的输出序列的性能度量来调整控制器神经网络的控制器参数的当前值(506)。
图6是用于针对一个或多个类别特征值中的每个类别特征值确定在由机器学习模型对输入进行处理期间应该针对该类别特征值生成的嵌入的相应嵌入维数的示例过程600的流程图。为了方便,将过程600描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,依照本说明书适当地编程的训练系统(例如,图1的训练系统100)能够执行过程600。
系统使用控制器神经网络并且依照控制器参数的当前值来生成一个批次的输出序列(604)。该批次中的每个输出序列针对每个类别特征值指定在由机器学习模型对输入进行处理期间应该针对该类别特征值生成的嵌入的相应嵌入维数。
对于批次中的每个输出序列,系统在训练机器学习模型已经被训练成当机器学习模型生成具有由输出序列指定的嵌入维数的类别特征值的嵌入时执行机器学习任务之后确定机器学习模型在机器学习任务上的性能度量(604)。在训练期间,机器学习模型被配置成通过如下方式处理包括一个或多个类别特征值的输入:将输入中包括的每个类别特征值映射到具有由输出序列指定的对应嵌入维数的嵌入。机器学习模型然后针对输入处理这些嵌入以生成机器学习模型输出。
系统使用该批次中的输出序列的性能度量来调整控制器神经网络的控制器参数的当前值(606)。
本说明书连同系统和计算机程序组件一起使用术语“被配置”。对于要配置成执行特定操作或动作的一个或多个计算机的系统意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,所述软件、固件、硬件或它们的组合在操作中使系统执行操作或动作。对于要配置成执行特定操作或动作的一个或多个计算机程序意味着所述一个或多个程序包括指令,所述指令当由数据处理设备执行时,使该设备执行操作或动作。
本说明书中描述的主题和功能操作的实施例能够用数字电子电路、用有形地体现的计算机软件或固件、用计算机硬件(包括本说明书中公开的结构及其结构等同物)或者用它们中的一种或多种的组合加以实现。能够将本说明书中描述的主题的实施例实现为一个或多个计算机程序,即,在有形非暂时性存储介质上编码以供由数据处理设备执行或者控制数据处理设备的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储装置、机器可读存储基板、随机或串行存取存储器装置、或它们中的一种或多种的组合。替换地或附加地,能够将程序指令编码在人工生成的传播信号上,所述传播信号例如为机器生成的电、光或电磁信号,该信号被生成来对信息进行编码以便于传输到合适的接收器设备以供由数据处理设备执行。
术语“数据处理设备”是指数据处理硬件并且包含用于对数据进行处理的所有种类的设备、装置和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。该设备还可以是或进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。该设备除了包括硬件之外,还能够可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一种或多种的组合的代码。
计算机程序(其还可以被称为或描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码)能够用任何形式的编程语言编写,所述编程语言包括编译或解释语言或声明性或过程语言;并且它能够被以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合于在计算环境中使用的其它单元。程序可以但不必对应于文件系统中的文件。能够在保持其它程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中、在专用于所述程序的单个文件中或者在多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中存储程序。能够将计算机程序部署成在一个计算机上或在位于一个站点处或跨多个站点分布并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“引擎”广泛地用于指被编程来执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将作为安装在一个或多个位置中的一个或多个计算机上的一个或多个软件模块或组件被实现。在一些情况下,一个或多个计算机将专用于特定引擎;在其它情况下,能够在相同的一个或多个计算机上安装并运行多个引擎。
本说明书中描述的过程和逻辑流程能够通过一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能而被执行。过程和逻辑流程还能够由专用逻辑电路(例如,FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个编程的计算机的组合执行。
适合于执行计算机程序的计算机能够基于通用微处理器或专用微处理器或二者,或任何其它种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的必要元件是用于执行或实行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器装置。中央处理单元和存储器能够由专用逻辑电路补充,或者并入在专用逻辑电路中。通常,计算机还将包括或在操作上耦合以从用于存储数据的一个或多个大容量存储装置(例如,磁盘、磁光盘或光盘)接收数据,或者将数据转移到所述大容量存储装置,或者兼而有之。然而,计算机不必具有此类装置。此外,可能将计算机嵌入在另一装置中,所述另一装置例如为移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储装置,例如通用串行总线(USB)闪存驱动器,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储装置,作为示例包括半导体存储器装置,例如EPROM、EEPROM和闪速存储器装置;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。
为了提供用于与用户交互,能够在计算机上实现本说明书中描述的主题的实施例,所述计算机具有用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户能够用来向该计算机提供输入的键盘和指点装置(例如,鼠标或轨迹球)。其它种类的装置也能够用于提供用于与用户交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声、语音或触觉输入。此外,计算机能够通过向由用户使用的装置发送文档并且从由用户使用的装置接收文档来与用户交互;例如,通过响应于从web浏览器接收到的请求而向用户的装置上的web浏览器发送web页面。另外,计算机能够通过向个人装置(例如,正在运行消息传送应用的智能电话)发送文本消息或其它形式的消息并且作为回报从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理设备还能够包括例如用于处理机器学习训练或生产(即,推理)工作负荷的公共部分和计算密集部分的专用硬件加速器单元。
能够使用机器学习框架(例如,TensorFlow框架、Microsoft Cognitive Toolkit框架、Apache Singa框架或Apache MXNet框架)来实现和部署机器学习模型。
能够在计算系统中实现本说明书中描述的主题的实施例,所述计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户能够用来与本说明书中描述的主题的实现方式交互的图形用户界面、web浏览器或app的客户端计算机),或一个或多个此类后端、中间件或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统能够包括客户端和服务器。客户端和服务器一般地彼此远离并且通常通过通信网络来交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器向用户装置发送数据(例如,HTML页面),例如,以用于向与作为客户端的装置交互的用户显示数据并且从与作为客户端的装置交互的用户接收用户输入的目的。能够在服务器处从装置接收在用户装置处生成的数据,例如,用户交互的结果。
虽然本说明书包含许多特定实现方式细节,但是这些细节不应该被解释为对任何发明的或可能要求保护的范围构成限制,而是相反被解释为可能特定于特定发明的特定实施例的特征的描述。还能够在单个实施例中以组合方式实现在本说明书中在单独的实施例的上下文中描述的某些特征。相反地,还能够分别地在多个实施例中或以任何合适的子组合实现在单个实施例的上下文中描述的各种特征。此外,尽管特征可能已经在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是能够在一些情况下从组合中除去来自要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中描绘了操作并且以特定次序在权利要求中叙述了操作,但是这不应该被理解为要求以所示的特定次序或以顺序次序执行此类操作,或者要求执行所有图示的操作,以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,在上述实施例中各种系统模块和组件的分离不应该被理解为在所有实施例中要求这种分离,并且应该理解的是,所描述的程序组件和系统通常能够被一起集成在单个软件产品中或者包装到多个软件产品中。
已经描述了主题的特定实施例。其它实施例在以下权利要求的范围内。例如,权利要求中叙述的动作能够被以不同的次序执行并仍然实现所希望的结果。作为一个示例,附图中描绘的过程不一定要求所示的特定次序或顺序次序以实现所希望的结果。在一些情况下,多任务处理和并行处理可以是有利的。
Claims (22)
1.一种用于针对类别特征确定词汇的方法,其中,针对一个或多个类别特征中的每个类别特征,确定在由具有多个机器学习模型参数的机器学习模型对输入进行处理期间应该有效的该类别特征的类别特征值的相应词汇,所述方法包括:
使用具有多个控制器参数的控制器神经网络并且依照所述多个控制器参数的当前值来生成一个批次的输出序列,所述批次中的每个输出序列针对所述类别特征中的每个类别特征指定该类别特征的类别特征值的相应词汇,该相应词汇:(i)在由所述机器学习模型对输入进行处理期间应该是有效的,并且(ii)是该类别特征的可能类别特征值的离散集合的子集;
对于所述批次中的每个输出序列,在所述机器学习模型已经被训练成在仅由所述输出序列指定的每个类别特征的类别特征值的相应词汇有效的情况下执行机器学习任务之后确定所述机器学习模型在所述机器学习任务上的性能度量,其中在所述训练期间:
所述机器学习模型被配置成通过执行包括以下项的操作来处理包括相应类别特征的一个或多个可能类别特征值的输入:
对于仅所述输入中包括的由所述输出序列指定为有效的那些可能类别特征值,将所述可能类别特征值映射到在所述训练期间迭代地调整的对应嵌入;并且
针对所述输入处理所述嵌入以生成机器学习模型输出;以及使用所述批次中的所述输出序列的所述性能度量来调整所述控制器神经网络的所述多个控制器参数的当前值。
2.根据权利要求1所述的方法,其中:
所述批次中的每个输出序列附加地指定与在由所述机器学习模型对输入进行处理期间由所述输出序列指定为有效的每个类别特征值相对应的相应嵌入维数;并且
对于所述批次中的每个输出序列,在所述训练期间,所述机器学习模型被配置成将所述输入中包括的由所述输出序列指定为有效的每个可能类别特征值映射到具有由所述输出序列指定的所述嵌入维数的对应嵌入。
3.根据权利要求2所述的方法,其中,每个输出序列针对给定类别特征的不同类别特征值指定不同嵌入维数。
4.根据权利要求1所述的方法,其中:
所述机器学习模型包括与每个类别特征相对应的相应多个嵌入模型;
与类别特征相对应的嵌入模型定义所述类别特征的一个或多个类别特征值中的每个类别特征值到具有相应维数的所述类别特征值的对应子嵌入的映射;
所述批次中的每个输出序列针对所述类别特征中的每个类别特征指定与所述类别特征相对应的一个或多个嵌入模型;并且
将所述输入中包括的给定类别特征的给定类别特征值映射到对应嵌入包括:
针对由所述输出序列针对所述给定类别特征指定的定义所述给定类别特征值到对应子嵌入的映射的每个嵌入模型,使用所述嵌入模型来将所述给定类别特征值映射到所述对应子嵌入;并且
基于所述子嵌入确定所述给定类别特征值的嵌入。
5.根据权利要求4所述的方法,其中,基于所述子嵌入确定所述给定类别特征值的嵌入包括:
针对具有与指定的维数不同的维数的任何子嵌入,将所述子嵌入投影到所指定的维数。
6.根据权利要求5所述的方法,其中,基于所述子嵌入确定所述给定类别特征值的嵌入进一步包括对所述子嵌入进行求和或平均。
7.根据权利要求1所述的方法,其中,针对所述输入处理所述嵌入以生成机器学习模型输出包括:
对于每个类别特征,基于被包括在所述输入中并且由所述输出序列指定为有效的该类别特征的每个类别特征值的相应嵌入生成与该类别特征相对应的组合嵌入;以及
针对所述输入使用一个或多个神经网络层来处理所述组合嵌入以生成机器学习模型输出。
8.根据权利要求1所述的方法,进一步包括:
使用所述控制器神经网络并且依照所述多个控制器参数的调整值来生成新输出序列;以及
在训练数据上在仅由所述新输出序列指定的每个类别特征的类别特征值的相应词汇有效的情况下训练所述机器学习模型以确定所述机器学习模型参数的调整值。
9.根据权利要求1所述的方法,其中,使用所述批次中的所述输出序列的所述性能度量来调整所述控制器神经网络的所述多个控制器参数的当前值包括:
使用强化学习技术来训练所述控制器神经网络以生成具有提高的性能度量的输出序列。
10.根据权利要求9所述的方法,其中,所述强化学习技术是演员评判家强化学习技术。
11.根据权利要求1所述的方法,其中,所述批次中的给定输出序列的性能度量基于在仅由所述输出序列指定的每个类别特征的类别特征值的相应词汇有效的情况下所述机器学习模型在所述机器学习任务上的预测准确性。
12.根据权利要求2所述的方法,其中,所述批次中的给定输出序列的性能度量基于与由所述输出序列指定为有效的每个类别特征值相对应的相应嵌入维数。
13.根据权利要求1所述的方法,其中,所述控制器神经网络是递归神经网络,所述递归神经网络被配置成针对给定输出序列并且在多个时间步中的每个时间步:
接收在前一个时间步生成的输出在所述给定输出序列中的表示作为输入,并且处理所述输入以更新所述递归神经网络的当前隐藏状态并且生成所述时间步内的遍及可能输出的分值分布。
14.根据权利要求1所述的方法,进一步包括:
依照所述多个控制器参数的调整值来生成最终输出序列,所述最终输出序列针对所述类别特征中的每个类别特征指示类别特征值的相应最终词汇。
15.根据权利要求14所述的方法,进一步包括:
针对接收到的输入通过在仅由所述最终输出序列指定的每个类别特征的类别特征值的最终词汇有效的情况下处理所述接收到的输入来执行所述机器学习任务。
16.根据权利要求1-15中的任一项所述的方法,其中,所述机器学习模型被配置成处理表征用户的先前搜索查询的输入,以生成表征所述用户的预测的下一个搜索查询的输出。
17.根据权利要求1至15中的任一项所述的方法,其中,所述机器学习模型被配置成处理表征由用户观看的先前视频的输入,以生成表征所述用户将观看的预测的下一个视频的输出。
18.根据权利要求1至15中的任一项所述的方法,其中,所述机器学习模型被配置成处理表征由用户访问的先前网页的输入,以生成表征所述用户将访问的预测的下一个网页的输出。
19.根据权利要求1-15中的任一项所述的方法,其中:
所述批次中的每个输出序列附加地指定所述机器学习模型的架构;并且
针对所述批次中的每个输出序列,所述机器学习模型被配置成使用由所述输出序列指定的所述架构来处理所述输入。
20.一种用于针对类别特征确定词汇的方法,其中,针对一个或多个类别特征值中的每个类别特征值,确定在由具有多个机器学习模型参数的机器学习模型对输入进行处理期间应该针对所述类别特征值生成的嵌入的相应嵌入维数,所述方法包括:
使用具有多个控制器参数的控制器神经网络并且依照所述多个控制器参数的当前值来生成一个批次的输出序列,所述批次中的每个输出序列针对每个类别特征值指定在由所述机器学习模型对输入进行处理期间应该针对所述类别特征值生成的嵌入的相应嵌入维数;
对于所述批次中的每个输出序列,在所述机器学习模型已经被训练成当所述机器学习模型生成具有由所述输出序列指定的所述嵌入维数的所述类别特征值的嵌入时执行机器学习任务之后,确定所述机器学习模型在所述机器学习任务上的性能度量,其中在所述训练期间:
所述机器学习模型被配置成通过执行包括以下项的操作来处理包括一个或多个类别特征值的输入:
将所述输入中包括的每个类别特征值映射到具有由所述输出序列指定的对应嵌入维数的嵌入;并且
针对所述输入处理所述嵌入以生成机器学习模型输出;以及使用所述批次中的所述输出序列的所述性能度量来调整所述控制器神经网络的所述多个控制器参数的当前值。
21.一种用于针对类别特征确定词汇的系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储装置,所述指令当由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-20中的任一项所述的相应方法的操作。
22.一种或多种存储指令的非易失性计算机可读存储介质,所述指令当由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-20中的任一项所述的相应方法的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962852200P | 2019-05-23 | 2019-05-23 | |
US62/852,200 | 2019-05-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111652378A CN111652378A (zh) | 2020-09-11 |
CN111652378B true CN111652378B (zh) | 2023-11-03 |
Family
ID=72348307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010450032.7A Active CN111652378B (zh) | 2019-05-23 | 2020-05-25 | 学习来选择类别特征的词汇 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11537664B2 (zh) |
CN (1) | CN111652378B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11645277B2 (en) * | 2017-12-11 | 2023-05-09 | Google Llc | Generating and/or utilizing a machine learning model in response to a search request |
US11397742B2 (en) | 2019-06-21 | 2022-07-26 | Microsoft Technology Licensing, Llc | Rescaling layer in neural network |
US11204968B2 (en) * | 2019-06-21 | 2021-12-21 | Microsoft Technology Licensing, Llc | Embedding layer in neural network for ranking candidates |
WO2021054118A1 (ja) * | 2019-09-18 | 2021-03-25 | 日本電気株式会社 | パラメータ決定装置、信号送信装置、パラメータ決定方法、信号送信方法、及び、記録媒体 |
US11651281B2 (en) * | 2020-05-18 | 2023-05-16 | International Business Machines Corporation | Feature catalog enhancement through automated feature correlation |
US11386114B2 (en) * | 2020-10-21 | 2022-07-12 | Adobe Inc. | Structure-based transformers with localization and encoding for chart question answering |
CN112488188B (zh) * | 2020-11-30 | 2023-12-19 | 浙江理工大学 | 一种基于深度强化学习的特征选择方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105160397A (zh) * | 2014-06-06 | 2015-12-16 | 谷歌公司 | 训练精炼的机器学习模型 |
CN106294313A (zh) * | 2015-06-26 | 2017-01-04 | 微软技术许可有限责任公司 | 学习用于实体消歧的实体及单词嵌入 |
CN108304365A (zh) * | 2017-02-23 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 关键词提取方法及装置 |
CN108701118A (zh) * | 2016-02-11 | 2018-10-23 | 电子湾有限公司 | 语义类别分类 |
CN109284374A (zh) * | 2018-09-07 | 2019-01-29 | 百度在线网络技术(北京)有限公司 | 用于确定实体类别的方法、装置、设备以及计算机可读存储介质 |
CN109564575A (zh) * | 2016-07-14 | 2019-04-02 | 谷歌有限责任公司 | 使用机器学习模型来对图像进行分类 |
CN109698030A (zh) * | 2017-10-23 | 2019-04-30 | 谷歌有限责任公司 | 用于患者-提供者对话的界面以及笔记或总结的自动生成 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9196243B2 (en) * | 2014-03-31 | 2015-11-24 | International Business Machines Corporation | Method and system for efficient spoken term detection using confusion networks |
US20160180214A1 (en) * | 2014-12-19 | 2016-06-23 | Google Inc. | Sharp discrepancy learning |
US10606946B2 (en) * | 2015-07-06 | 2020-03-31 | Microsoft Technology Licensing, Llc | Learning word embedding using morphological knowledge |
US20170083623A1 (en) * | 2015-09-21 | 2017-03-23 | Qualcomm Incorporated | Semantic multisensory embeddings for video search by text |
EP3583553A1 (en) * | 2017-07-21 | 2019-12-25 | Google LLC | Neural architecture search for convolutional neural networks |
US12033087B2 (en) * | 2020-07-24 | 2024-07-09 | Optum Services (Ireland) Limited | Categorical input machine learning models |
-
2020
- 2020-05-20 US US16/878,912 patent/US11537664B2/en active Active
- 2020-05-25 CN CN202010450032.7A patent/CN111652378B/zh active Active
-
2022
- 2022-12-07 US US18/076,662 patent/US11714857B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105160397A (zh) * | 2014-06-06 | 2015-12-16 | 谷歌公司 | 训练精炼的机器学习模型 |
CN106294313A (zh) * | 2015-06-26 | 2017-01-04 | 微软技术许可有限责任公司 | 学习用于实体消歧的实体及单词嵌入 |
CN108701118A (zh) * | 2016-02-11 | 2018-10-23 | 电子湾有限公司 | 语义类别分类 |
CN109564575A (zh) * | 2016-07-14 | 2019-04-02 | 谷歌有限责任公司 | 使用机器学习模型来对图像进行分类 |
CN108304365A (zh) * | 2017-02-23 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 关键词提取方法及装置 |
CN109698030A (zh) * | 2017-10-23 | 2019-04-30 | 谷歌有限责任公司 | 用于患者-提供者对话的界面以及笔记或总结的自动生成 |
CN109284374A (zh) * | 2018-09-07 | 2019-01-29 | 百度在线网络技术(北京)有限公司 | 用于确定实体类别的方法、装置、设备以及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230146053A1 (en) | 2023-05-11 |
US11714857B2 (en) | 2023-08-01 |
US20200372076A1 (en) | 2020-11-26 |
CN111652378A (zh) | 2020-09-11 |
US11537664B2 (en) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111652378B (zh) | 学习来选择类别特征的词汇 | |
US11669744B2 (en) | Regularized neural network architecture search | |
US10853726B2 (en) | Neural architecture search for dense image prediction tasks | |
CN109564575B (zh) | 使用机器学习模型来对图像进行分类 | |
US20210334624A1 (en) | Neural architecture search using a performance prediction neural network | |
AU2014201827B2 (en) | Scoring concept terms using a deep network | |
US20210271970A1 (en) | Neural network optimizer search | |
US20210019599A1 (en) | Adaptive neural architecture search | |
US11048875B2 (en) | Skimming data sequences using recurrent neural networks | |
US20240127058A1 (en) | Training neural networks using priority queues | |
US11922281B2 (en) | Training machine learning models using teacher annealing | |
CN110462638B (zh) | 使用后验锐化训练神经网络 | |
US20190295688A1 (en) | Processing biological sequences using neural networks | |
WO2020154536A1 (en) | Compound model scaling for neural networks | |
US20220383119A1 (en) | Granular neural network architecture search over low-level primitives | |
US20220019869A1 (en) | Hardware-optimized neural architecture search | |
CN117751368A (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 |