1.一种对新机器学习任务训练多任务神经网络的方法,
其中,多任务神经网络包括(i)知识子网和(ii)活动子网,
其中,知识子网包括多个知识神经网络层并具有多个知识参数,
其中,知识子网被配置为接收网络输入并处理网络输入以生成网络输入的知识输出,
其中,活动子网包括多个活动神经网络层并具有多个活动参数,
其中,活动子网被配置为接收网络输入并处理网络输入以生成网络输入的活动输出,
以及其中,活动神经网络层中的至少一个被配置为在从网络输入生成活动输出和知识输出的同时,接收由知识神经网络层中的一个生成的输出作为输入,所述方法包括:
接收用于新机器学习任务的新训练数据,新训练数据包括多个新训练输入;
对新训练数据训练活动子网,以从活动网络参数的初始值确定活动网络参数的训练值,同时保持知识参数的当前值固定;以及
对新训练数据训练知识子网,以通过训练知识子网生成与由已训练的活动子网生成的用于新训练输入的活动输出相匹配的用于新训练输入的知识输出,而从知识参数的当前值确定知识参数的更新值。
2.根据权利要求1所述的方法,其中,已经对一个或多个较早机器学习任务训练知识子网以确定知识参数的当前值。
3.根据权利要求2所述的方法,其中,训练知识子网以生成与由已训练的活动子网生成的用于新训练输入的活动输出相匹配的用于新训练输入的知识输出,包括:
训练知识子网在匹配活动输出时达到可接受的性能,同时在较早机器学习任务上保持可接受的性能。
4.根据权利要求3所述的方法,其中,训练知识子网在匹配活动输出时达到可接受的性能,同时在较早机器学习任务上保持可接受的性能,包括:
对新训练输入训练知识子网以最小化损失函数,包括:
(i)第一项,测量给定新训练输入的知识输出与活动输出之间的相似度,以及
(ii)一个或多个第二项,对知识子网进行惩罚,所述知识子网的知识参数的值与知识参数的当前值存在偏差。
5.根据权利要求4所述的方法,其中,第一项基于活动输出和知识输出之间的kl散度。
6.根据权利要求4和5中的任一项所述的方法,其中,一个或多个第二项包括满足以下的项:
其中,θ是截至评估损失函数时知识网络参数的值,
7.根据权利要求6所述的方法,还包括:
在对新任务训练知识子网之后,更新map参数;以及
在对新任务训练知识子网之后,更新整体fisher矩阵。
8.根据权利要求1-7中任一项所述的方法,还包括:
接收用于第二新机器学习任务的第二新训练数据;
将活动网络参数的值重置为初始值;以及
对第二新训练数据训练活动子网以从初始值开始调整活动网络参数的值,同时保持知识参数的训练值固定。
9.根据权利要求1至8中任一项所述的方法,其中,活动神经网络层包括一个或多个分层适配器层,并且其中,每个分层适配器层被配置为:
接收由知识层中的对应一个生成的层输出作为输入;
处理层输出以生成转换的输出;以及
将转换的输出作为输入提供给活动神经网络层中的对应一个。
10.根据权利要求1至9中任一项所述的方法,其中:
知识子网和活动子网每个包括执行由温度定义的softmax函数的softmax层;
在训练了知识子网之后,使用神经网络执行任务;以及
在知识子网的训练期间,与在知识子网的训练之后使用的温度相比,以升高的温度生成活动输出和知识输出。
11.根据权利要求2和从属于权利要求2的权利要求3-10中任一项的方法,还包括:
对新训练数据训练知识子网之后,接收用于较早机器学习任务中的一个的输入,
使用知识子网处理输入以生成用于输入的知识输出,以及
提供知识输出作为输入的网络输出。
12.根据前述权利要求中的任一项所述的方法,其中,从以下组成的组中选择新机器学习任务:
将表征现实世界的输入传感器数据转换为将传感器数据分类为多个类别中的一个的输出的任务;
将输入数据转换为对现实世界起作用的致动器的控制数据的任务;或
将表征与代理交互的环境的输入数据转换为定义代理对环境执行的动作的输出数据的任务。
13.一种包括一个或多个计算机和存储指令的一个或多个存储设备的系统,当指令由一个或多个计算机执行时,使一个或多个计算机实现多任务神经网络:
其中,多任务神经网络包括知识子网,
其中,知识子网包括多个知识神经网络层,并具有多个知识参数,
其中,知识子网被配置为接收网络输入并处理网络输入以生成用于网络输入的知识输出,以及
其中,使用权利要求1-12中任一项所述的相应方法的操作,知识子网与活动子网被联合训练,以执行多个机器学习任务。
14.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,当指令由一个或多个计算机执行时,可操作来使一个或多个计算机执行权利要求1-12中任一项所述的相应方法的操作。
15.一种用指令编码的计算机存储介质,当指令由一个或多个计算机执行时使一个或多个计算机执行权利要求1-12中任一项的相应方法的操作。