促进神经网络之间的高效知识共享的方法和装置与流程

文档序号:30498606发布日期:2022-06-22 15:14阅读:22571来源:国知局
促进神经网络之间的高效知识共享的方法和装置与流程

1.本公开概括而言涉及神经网络,更具体而言,涉及促进神经网络之间的高效知识共享的方法和装置。


背景技术:

2.近年来,机器学习和/或人工智能已越来越流行。例如,可利用神经网络来实现机器学习和/或人工智能。神经网络是受人脑的神经网络启发的计算系统。神经网络可接收输入并且生成输出。神经网络可基于反馈而被训练(例如,可以学习),从而使得输出对应于期望的结果。一旦经过训练,神经网络就可基于任何输入来做出决策以生成输出。神经网络被用于人工智能和/或机器学习的新兴领域。贝叶斯神经网络是一种特定类型的神经网络,它包括输出可变权重而不是固定权重的神经元。该可变权重属于由在贝叶斯神经网络的训练期间确定的均值和方差定义的概率分布。


技术实现要素:

3.根据本公开的一个实施例,提供了一种促进神经网络之间的知识共享的方法,该方法包括:在第一计算系统处在训练数据的第一子集上训练第一贝叶斯神经网络(bnn)以生成第一权重分布;在第二计算系统处在所述训练数据的第二子集上训练第二bnn以生成第二权重分布,所述训练数据的第二子集不同于所述训练数据的第一子集;以及基于所述第一权重分布和所述第二权重分布来生成第三bnn。
4.根据本公开的另一实施例,提供了至少一个计算机可读介质,包括指令,所述指令当被执行时,使得至少一个处理器至少:在第一计算系统处在训练数据的第一子集上训练第一贝叶斯神经网络(bnn)以生成第一权重分布;在第二计算系统处在所述训练数据的第二子集上训练第二bnn以生成第二权重分布,所述训练数据的第二子集不同于所述训练数据的第一子集;并且基于所述第一权重分布和所述第二权重分布来生成第三bnn。
5.根据本公开的又一实施例,提供了一种促进神经网络之间的知识共享的装置,包括:用于训练的装置,用于:在第一计算系统处在训练数据的第一子集上训练第一贝叶斯神经网络(bnn)以生成第一权重分布;并且在第二计算系统处在所述训练数据的第二子集上训练第二bnn以生成第二权重分布,所述训练数据的第二子集不同于所述训练数据的第一子集;以及用于知识共享的装置,用于基于所述第一权重分布和所述第二权重分布来生成第三bnn。
附图说明
6.图1是示例贝叶斯神经网络的示意性图示。
7.图2图示了包括示例第一bnn系统和示例第二bnn系统的示例环境。
8.图3图示了图2的环境,其中第一bnn系统包括示例第一知识共享控制器并且第二bnn系统包括示例第二知识共享控制器以根据本公开的教导来促进知识共享。
9.图4是图3的示例第一知识共享控制器和/或示例第二知识共享控制器的示意性图示。
10.图5是示例知识共享系统的示意性图示。
11.图6是实现混合函数的示例知识共享系统的示意性图示。
12.图7是示例知识共享体系结构的示意性图示。
13.图8是示例第一bnn和示例第二bnn的示例知识共享体系结构的示意性图示。
14.图9是实现深度神经网络的示例知识共享系统的示意性图示。
15.图10是表示可被执行来实现图4的示例知识共享控制器以促进知识共享的示例机器可读指令的流程图。
16.图11是表示可被执行来实现图4的示例知识共享控制器以混合权重分布的示例机器可读指令的流程图。
17.图12是表示可被执行来实现图4的示例神经网络控制器以为知识共享训练深度神经网络的示例机器可读指令的流程图。
18.图13是被构造来执行图10-12的指令以实现示例知识共享控制器的示例处理平台的框图。
19.图14是示例软件分发平台的框图,用于将软件(例如,与图10-图12的示例计算机可读指令相对应的软件)分发到客户端设备,例如消费者(例如,用于许可、销售和/或使用)、零售商(例如,用于销售、再销售、许可和/或次级许可)、和/或原始设备制造商(oem)(例如,用于包括在要被分发到例如零售商和/或直接购买客户的产品中)。
20.附图不是按比例的。一般而言,相同的标号将在各幅图和伴随的书面描述的各处被用于指代相同或相似的部件。
21.除非另有具体声明,否则诸如“第一”、“第二”、“第三”等等之类的描述语在本文使用,而没有输入或以其他方式指示出任何优先权、物理顺序、在列表中的排列和/或以任何方式排序的含义,而只是用作标签和/或任意名称来区分元素,以便易于理解公开的示例。在一些示例中,描述语“第一”在详细描述中可被用于提及某一元素,而同一元素在权利要求中可被用不同的描述语来提及,例如“第二”或“第三”。在这种情况下,应当理解,这种描述语仅仅用于明确地识别那些元素,这些元素例如可能在其他情况下共享同一名称。就本文使用的而言,“基本上实时”指的是以近乎瞬时的方式发生,承认现实世界中可能存在计算时间、传输等等方面的延迟。从而,除非另有指明,否则“基本上实时”指的是实时+/-1秒。
具体实施方式
22.贝叶斯神经网络(bayesian neural network,bnn)是机器学习神经网络,能够在推断时计算认知上的不确定性(例如,系统上的不确定性)和偶然的不确定性(例如,统计上的不确定性)。例如,系统(例如,计算系统)可包括在不同的环境下操作的至少一个或多个代理(例如,计算设备、计算处理器、计算系统,等等),它们使用bnn来独立地学习。也就是说,系统可以使用bnn的集成(ensemble)。在这样的系统中,可能存在包括第一数据子集和第二数据子集的数据集合。另外,在这样的系统中,可能存在在第一计算环境中的第一计算设备上操作的、使用第一数据子集来训练的第一bnn。类似地,可能存在在第二计算环境中的第二计算设备上操作的、使用第二数据子集来训练的第二bnn。因此,在第一bnn和第二
bnn之间共享训练知识,以便第一bnn或第二bnn能够对数据集合(例如,第一数据子集和第二数据子集)准确地执行推断,可能在计算上是效率低下或者是不可行的。
23.例如,两个或多个移动代理可以在环境的不同区域下学习策略(例如,意图预测、碰撞避免,等等)(例如,在不同的计算环境中使用不同的数据子集来训练每个代理)。从而,移动代理确定不同的极端情况。在本文公开的实施例中,移动代理共享它们的知识,导致性能类似于每个移动代理在完整的环境下被训练的情况(例如,使用所有数据子集来训练)。因此,本文公开的实施例加快了训练时间,以实现期望的性能。
24.先前技术在确定性神经网络的情境中已探索了集成方法,其中集成的所有成员共享相同的网络拓扑,但具有不同的权重和参数集合。例如,先前的技术使用套袋和提升(bagging and boosting)来确定网络参数(例如,用不同的随机初始化来训练集成的成员)。先前的技术也可以通过随机化采样和正则化来确定集成的参数以提供贝叶斯后验的一致估计值(例如,个体成员是确定性的神经网络,但集成总体上表现为bnn)。
25.在持续学习的领域中已探索了从新的和先前未见过的数据中学习。在持续学习的情况中,当获得新的和先前未见过的数据时,网络的参数被更新。然而,持续学习经常与灾难性遗忘相关联,这是神经网络在学习新数据的同时忘记旧数据的一种状况。缓解灾难性遗忘的先前技术包括通过非贝叶斯和/或贝叶斯技术确定所学参数的相对重要性,和/或要求存储先前数据样本的任何其他技术。
26.一些示例持续学习技术更新单个网络的参数,而不是维持各模型的集成。这种先前技术与灾难性遗忘相关联(例如,当网络被更新以从新数据学习时,网络会忘记先前的数据)。解决灾难性遗忘的先前技术涉及到保留旧训练数据的样本的一部分。在用新数据进行训练时,旧的训练数据被重放给网络。然而,随着获得新数据,计算成本增大了。例如,数据集的大小增大,从而增大了保留旧数据所要求的存储量。本文公开的示例减小了计算存储器要求,因为权重的后验分布在新的学习任务中变成了先验。也就是说,旧的训练数据不被存储和重放以用于持续学习。
27.先前的集成方法使用联合学习(federated learning)。联合学习涉及从本地节点或客户端(例如,多个本地设备、服务器,等等)中包含的多个本地数据集中学习单个全局模型。联合学习的一般原则包括在本地数据样本上训练本地模型并且在本地模型之间交换参数。在一些示例中,全局模型驻留在中央服务器上。本地节点不与服务器共享本地数据集,而只向全局模型传达更新。集中式服务器使用加权平均法(例如,fedaveraging)对更新进行汇总。然而,这种平均技术并不考虑个体模型的信心或不确定性。本文公开的示例估计了个体模型的不确定性,并且在汇总期间使用不确定性来获得更稳健的结果。
28.本文公开的示例提出了具有相同和/或不同体系结构的bnn,用于知识共享。本文公开的示例混合了bnn的权重分布以生成额外的bnn。当对完整的数据集进行评估时,额外的bnn比最初的bnn表现得相对更好(例如,更高的准确性)。一种纯朴的知识共享方法是在完整的数据集上使用每个bnn进行推断,并且选择具有最低不确定性的bnn的输出。然而,这种方法与高计算成本相关联,因为在推断时要运行所有的bnn。
29.在本文公开的示例中,来自多个bnn的权重分布被用来捕捉不同局部模式下的后验,从而产生表示数据分布的多模式后验。在一些示例中,蒙特卡洛采样组合了从用不同数据分布训练的多个模型中获得的知识。从而,当观察到新数据时,所得到的bnn继续被训练。
也就是说,本文公开的技术适合于持续学习。此外,本文公开的技术可缩放到大规模模型。由于缩放大规模数据集和复杂模型的难度,在bnn中推断后验是具有挑战性的。本文公开的示例使得bnn中的可缩放学习成为可能,因为每个网络(例如,代理)学习完全因素化的分布,这些分布在局部模式中捕获用于表示观察到的数据分布的权重后验,之后组合后验来表示所有网络观察到的多模式分布。
30.图1是示例神经网络(nn)训练器102训练示例bnn 104的示意性图示。在一些示例中,nn训练器102实现用于训练神经网络的装置。示例bnn 104包括示例存储器108,以及示例神经元110。虽然图1中图示的神经元110包括六个神经元,但可以有采取任何类型的配置的任何数目的神经元。
31.图1的示例nn训练器102通过为每个神经元110选择平均权重和平均权重的偏差量来训练bnn 104。最初,bnn 104是未经训练的(例如,神经元还没有被用均值和偏差进行加权)。为了训练bnn 104,图1的示例nn训练器102使用训练数据(例如,用已知的分类和/或输出来标记的输入数据)来配置bnn 104,以便能够为具有未知分类的输入数据预测输出分类。nn训练器102可以用第一训练数据集合来训练模型,并且用第二训练数据集合来测试该模型。如果基于测试的结果,模型的准确度低于阈值,则nn训练器102可使用额外的训练数据集合来调节(例如,调整、进一步训练,等等)模型的参数,并且继续测试,直到准确度高于阈值为止。在nn训练器102训练了bnn 104之后,示例nn训练器102在示例bnn 104的示例存储器108中为各个神经元110存储相应的均值和偏差。示例nn训练器102可被实现在与bnn 104相同的设备中和/或实现在与示例bnn 104进行通信的单独设备中。例如,nn训练器102可位于远程,在本地开发权重数据,并且将权重数据(例如,各个神经元110的均值和偏差)部署到bnn 104以便实现。
32.图1的示例bnn 104还包括示例存储器108。示例存储器108结合特定的神经元存储来自示例nn训练器102的权重数据。例如,存储器108的第一部分专门用于第一神经元的第一均值和第一方差值,存储器108的第二部分专门用于第二神经元的第二均值和第二方差值,等等。均值可作为代表均值的比特值被存储在专用部分中。
33.图1的示例神经元110接收输入数据,生成与概率分布相对应的权重,并且将该权重应用于输入数据以生成输出。例如,如果神经元的概率分布遵循标准正态分布,该神经元的平均权重是0.7,并且该神经元的方差是0.01(例如,标准偏差是0.1),那么该神经元将有68%的机会输出0.6和0.8之间的权重(例如,离均值一个标准偏差),有95%的机会该神经元将输出0.5和0.9之间的权重(例如,离均值两个标准偏差),等等。相应地,由输出生成的权重在每次生成权重时可能是不同的,但将会遵循该概率分布。
34.图2图示了包括示例第一bnn系统202和示例第二bnn系统204的示例环境200。虽然图2的图示示例包括两个bnn系统(例如,第一bnn系统202和第二bnn系统204),但本文公开的示例可包括任何数目的bnn系统(例如,三个bnn系统、四个bnn系统,等等)。在图2的示例中,第一bnn系统202和/或第二bnn系统204可以实现图1的示例bnn 104和/或nn训练器102。例如,第一bnn系统202可以实现图1的nn训练器102和bnn 104。同样地,第二bnn系统204可以在与第一bnn系统202分开的执行空间中实现图1的nn训练器102和bnn 104。
35.在图2的示例环境200中,第一bnn系统202和第二bnn系统204与示例网络206进行通信。在图2中,网络206是被配置为与第一bnn系统202和第二bnn系统204通信的无线网络
(例如,云网络)。在本文公开的其他示例中,可以使用任何适当的有线和/或无线网络来实现网络206。
36.网络206进一步存储示例数据集208。这样的数据集208包括示例的第一数据子集210和示例的第二数据子集212。在一些示例中,第一数据子集210和/或第二数据子集212是非完整数据集。例如,第一数据子集210和第二数据子集212可包括重叠的、不重叠的(例如,互斥的)和/或部分重叠的数据集。在操作中,网络206将第一数据子集210传输到第一bnn系统202。网络206进一步将第二数据子集212传输到第二bnn系统204。
37.在图2的示例中,网络206将第一数据子集210传输到第一bnn系统202,供第一bnn系统202在训练中使用。同样地,网络206将第二数据子集212传输到第二bnn系统204,供训练中使用。在本文公开的示例中,第一数据子集210、第二数据子集212、和/或更一般而言地数据集208,可以对应于适合用于训练bnn系统(例如,第一bnn系统202和/或第二bnn系统204)的任何数据。例如,第一数据子集210、第二数据子集212、和/或更一般而言地数据集208,可以对应于用于学习策略(例如,意图预测、碰撞避免,等等)的数据集合。另外,在这样的示例中,数据集208可对应于修改后国家标准和技术研究所(modified national institute of standards and technology,mnist)数据库,从而,第一数据子集210可对应于mnist数据库中的与数字0、1、2、3和4(例如,0-4类)相对应的元素,并且第二数据子集212可对应于mnist数据库中的与数字5、6、7、8和9(例如,5-9类)相对应的元素。额外地或者替换地,第一数据子集210可对应于数字0、1、2、3、4和5(例如,0-5类),并且第二数据子集212可对应于数字4、5、6、7、8和9(例如,4-9类)。从而,第一bnn系统202与对应于第一数据子集210的第一权重分布相关联,并且第二bnn系统204与对应于第二数据子集212的第二权重分布相关联。
38.图3图示了图2的环境200,其中第一bnn系统202包括示例第一知识共享控制器302,并且第二bnn系统204包括示例第二知识共享控制器304。在一些示例中,第一知识共享控制器302实现用于知识共享的第一装置,并且第二知识共享控制器304实现用于知识共享的第二装置。在一些示例中,示例知识共享控制器302、304基于来自bnn的输入分布来产生权重分布。例如,第一知识共享控制器302访问第一bnn系统202的权重分布并且接收第二bnn系统204的权重分布(例如,经由网络206)以生成第三权重分布。同样地,第二知识共享控制器304访问第二bnn系统204的权重分布并且接收第一bnn系统202的权重分布(例如,经由网络206)以生成第四权重分布。从而,示例第一bnn系统202和示例第二bnn系统204共享它们权重分布的参数。
39.在一些示例中,第一知识共享控制器302和/或第二知识共享控制器304使用函数来基于来自bnn的输入权重分布生成额外的权重分布。例如,第一知识共享控制器302和第二知识共享控制器304可以使用高斯混合模型(gaussian mixture model,gmm)来确定额外的权重分布。下面联系图6-图8进一步详细描述用于混合代理的分布的混合函数。
40.本文公开的实施例可以额外地或者替换地使用任何其他混合和/或生成函数,用于代理之间的知识共享。例如,第一知识共享控制器302和/或第二知识共享控制器304可以实现被训练来确定混合函数的完全连接神经网络。也就是说,第一知识共享控制器302和/或第二知识共享控制器304的神经网络接收bnn的高斯分布的均值和方差作为输入并且产生高斯分布。下面将联系图9进一步详细描述用于知识共享的完全连接神经网络。
41.图4是图3的示例第一知识共享控制器302和/或示例第二知识共享控制器304的示意性图示。示例知识共享控制器302、304包括示例数据访问器402、示例函数生成器404、示例数据采样器406、示例nn控制器408、以及示例参数数据库410。
42.示例数据访问器402访问存储在bnn系统中的数据。在一些示例中,数据访问器402实现用于访问数据的装置。例如,数据访问器402获得图2的第一bnn系统202的权重分布的参数和/或第二bnn系统204的权重分布的参数。额外地或者替换地,数据访问器402获得bnn的均值和/或方差。例如,数据访问器402获得第一bnn系统202的均值和方差以及第二bnn系统204的均值和方差。在一些示例中,数据访问器402可以访问存储在图1的存储器108中的数据。在一些示例中,数据访问器402响应于查询、以手动方式、以周期性方式、以排定的方式等等访问存储在第一bnn系统202和/或第二bnn系统204中的数据。
43.示例函数生成器404生成混合函数。在一些示例中,函数生成器404实现了用于生成混合函数的装置。例如,函数生成器404生成gmm,并且将概率质量指派给bnn系统202、204的高斯分布。例如,函数生成器404混合每个权重的高斯(例如,第一bnn系统202和第二bnn系统204的权重分布),使得所有的概率质量只被指派给混合中的高斯之一。
44.示例数据采样器406对第一bnn系统202和/或第二bnn系统204的概率分布进行采样。在一些示例中,数据采样器406实现了用于对数据采样的装置。例如,数据采样器406对分类分布的随机变量进行采样,该分类分布可以是表示输入网络的m个(例如,bnn系统的数目)可能类别之一。在一些示例中,数据采样器406向每个类别(例如,bnn系统)指派概率,使得每个类别的概率在0到1的范围内,并且类别的概率之和为1。例如,数据采样器406向第一bnn系统202和第二bnn系统204的分布指派相同的概率质量(例如,均匀加权)。也就是说,数据采样器406对第一bnn系统202或第二bnn系统204进行采样的概率是相等的。额外地或者替换地,数据采样器406可以基于每个代理(例如,第一bnn系统202和第二bnn系统204)观察到的统计信息,来向类别指派概率。例如,数据采样器406可以指派与每个代理观察到的类的数目成比例的概率。在一些示例中,数据采样器406基于样本生成权重分布的参数。例如,数据采样器406基于第一bnn系统202和第二bnn系统204的采样权重分布来确定权重分布。在一些示例中,数据采样器406将权重分布存储在参数数据库410中。
45.示例nn控制器408训练确定型神经网络(deterministic neural network,dnn)。在一些示例中,nn控制器408实现用于训练神经网络的装置。例如,nn控制器408在遗传算法上训练dnn。然而,nn控制器408可以使用任何其他适当的训练算法来训练dnn。经训练的dnn基于输入的均值和方差来生成均值和方差。也就是说,nn控制器408将均值和方差输入到dnn中以生成均值和方差。在一些示例中,nn控制器408将生成的均值和方差存储在参数数据库410中。例如,dnn接收第一bnn系统202的均值和方差以及第二bnn系统204的均值和方差作为输入。dnn输出第三均值和方差,使得第三均值和第三方差定义第三bnn的权重分布的概率分布。
46.示例参数数据库410存储生成的权重分布的参数。例如,参数数据库410存储由数据采样器406和/或nn控制器408生成的权重分布。图4图示的示例的示例参数数据库410由用于存储数据的任何存储器、存储设备和/或存储盘实现,例如,闪存、磁介质、光介质、固态存储器、(一个或多个)硬盘驱动器、(一个或多个)拇指驱动器,等等。此外,存储在示例参数数据库410中的数据可采取任何数据格式,例如,二进制数据、逗号分隔数据、制表符分隔数
据、结构化查询语言(structured query language,sql)结构,等等。虽然在图示的示例中,参数数据库410被图示为单个设备,但示例参数数据库410和/或本文描述的任何其他数据存储设备可以由任何数目和/或任何(一个或多个)类型的存储器来实现。
47.图5是示例知识共享系统500的示意性图示。示例知识共享系统500包括示例训练阶段502和示例推断阶段504。示例训练阶段502包括示例第一bnn系统506和示例第二bnn系统508。在图5的图示示例中,第一bnn系统506和/或第二bnn系统508可以实现图1的示例bnn 104和/或nn训练器102。例如,第一bnn系统506可以实现图1的nn训练器102和bnn 104。同样地,第二bnn系统508可以在与第一bnn系统506分开的执行空间中实现图1的nn训练器102和bnn 104。
48.在图5的图示示例中,示例第一bnn系统506访问示例第一数据集510,并且示例第二bnn系统508访问示例第二数据集512。在图5的图示示例中,第一数据集510和第二数据集512对应于mnist数据。在一些示例中,第一数据集510和第二数据集512是不完整的。也就是说,第一数据集510对应于0-4类,并且第二数据集512对应于5-9类。额外地或者替换地,第一数据集510和第二数据集512对应于部分重叠的数据集。例如,第一数据集510对应于0-6类,并且第二数据集512对应于4-9类。示例第一bnn系统506在第一数据集510上进行训练以生成示例第一输出514,并且第二bnn系统508在第二数据集512上进行训练以生成示例第二输出516。
49.示例推断阶段504包括示例第一bnn系统506和示例第二bnn系统508。在示例推断阶段504中,第一bnn系统506和第二bnn系统508访问示例第三数据集518。在图5的图示示例中,第三数据集518是完整的mnist数据集。也就是说,第三数据集518包括第一数据集510和第二数据集512的数据(例如,0-9类)。第一bnn系统506访问第三数据集518并且生成示例第三输出520。同样地,第二bnn系统508访问第三数据集518并且生成示例第四输出522。然而,因为第一bnn系统506和第二bnn系统508是用不完整的数据集(例如,分别是第一数据集510和第二数据集512)来训练的,所以第三输出420和第四输出422具有大约50%的准确度。
50.在图5的图示示例中,示例推断阶段504包括示例知识共享控制器524。示例知识共享控制器524获得示例第一输入526和示例第二输入528。例如,第一输入526对应于第一bnn系统506的权重分布,并且第二输入528对应于第二bnn系统508的权重分布。额外地或者替换地,第一输入526对应于与第一bnn系统506相关联的第一均值和方差,并且第二输入528对应于与第二bnn系统508相关联的第二均值和方差。
51.知识共享控制器524基于第一输入526和第二输入528确定第三权重分布,以生成示例第三bnn系统530。从而,第三bnn系统530的权重分布是基于完整数据集(例如,第一数据集510和第二数据集512)的数据的,而没有在第三数据集518上训练。第三bnn系统530访问第三数据集518并且生成示例第五输出532。因为第三bnn系统530的权重分布是基于第一输入526和第二输入528的,所以第五输出532具有比第三输出520和/或第四输出522相对更高的准确度(例如,大于50%的准确度)。
52.图6是实现混合函数的示例知识共享系统600的示意性图示。示例知识共享系统600包括示例第一bnn系统602和示例第二bnn系统604。例如,第一bnn系统602可以实现图3的第一bnn系统202,并且第二bnn系统604可以实现图3的示例第二bnn系统204。第一bnn系统602包括示例神经网络606和示例知识共享控制器608。在一些示例中,神经网络606是
bnn。例如,神经网络606可以实现图1的示例bnn 104,并且知识共享控制器608可以实现图3的示例第一知识共享控制器302。
53.示例神经网络606生成示例第一参数集合610。例如,神经网络606在第一数据子集(未图示)上进行训练以生成第一参数集合610。第一bnn系统602获得示例第二参数集合612。在图6的图示示例中,第二参数集合612由第二bnn系统604生成。例如,第二bnn系统604包括在第二数据子集(未图示)上训练以生成第二参数集合612的第二神经网络(未图示)。
54.示例知识共享控制器608获得第一参数集合610和第二参数集合612。然而,示例知识共享控制器608可以获得任何数目的参数集。例如,知识共享控制器608可以获得与第三bnn系统(未图示)相对应的第三参数集合,与第四bnn系统(未图示)相对应的第四参数集合,等等。示例知识共享控制器608实现了用于混合第一参数集合610和第二参数集合612的功能。例如,知识共享控制器608可以推导出gmm,并且在推断期间对gmm进行采样。下面将联系图7-图8进一步详细描述示例知识共享控制器608和混合函数。
55.示例知识共享控制器608生成示例第三参数集合614。第三参数集合614是基于第一参数集合610和第二参数集合612的。示例神经网络606获得第三参数集合614并且更新第一参数集合610。也就是说,神经网络606基于第三参数集合614来调整参数(例如,第一参数集合610)的权重分布。例如,神经网络606用第三参数集合614来替换第一参数集合610。从而,神经网络606的更新后权重分布是基于用来训练第二bnn系统604的数据子集的。在一些示例中,神经网络606存储第三参数集合614(例如,在图1的存储器108中)。
56.图7是示例知识共享体系结构700的示意性图示。示例知识共享体系结构700包括示例第一神经网络702、示例第二神经网络704、以及示例第三神经网络706。例如,第一神经网络702、第二神经网络704和第三神经网络706是bnn。在图7的图示示例中,神经网络702、704、706访问相同类型的(一个或多个)输入,产生相同类型的(一个或多个)输出,并且具有相同的(一个或多个)内部体系结构。例如,第一神经网络702是在示例第一数据集708上训练的,第二神经网络704是在示例第二数据集710上训练的,并且第三神经网络706是在示例第三数据集712上训练的。
57.在本文公开的示例中,知识共享控制器(例如,图3的第一知识共享控制器302和/或第二知识共享控制器304,图4的知识共享控制器424,图6的知识共享控制器608,等等)获得神经网络702、704、706的权重分布的参数,以生成示例第四神经网络714。在本文公开的示例中,不在第一数据集708、第二数据集710和/或第三数据集712上重新训练第四神经网络714。示例知识共享控制器将神经网络702、704、706的权重组合起来,以便由第四神经网络714进行推断。例如,如果神经网络702、704、706的权重是正态分布,则第四神经网络714将是在推断期间采样的gmm。额外地或者替换地,知识共享控制器改为使用相同的bnn(例如,神经网络702、704、706)并且通过混合神经网络702、704、706的权重来更新权重。在这样的示例中,知识共享控制器不生成第四神经网络714。
58.在图7的图示示例中,第四神经网络714涵盖了由神经网络702、704、706获取的知识,以从数据集708、710、712进行推断。例如,神经网络702、704、706从第一数据集708、第二数据集710和第三数据集712进行推断的准确度最多只有33%。然而,由于第四神经网络714包含了神经网络702、704、706的权重分布的参数,所以第四神经网络714从第一数据集708、第二数据集710和/或第三数据集712进行推断的准确度相对高于神经网络702、704、706的
准确度。
59.图8是示例第一bnn 802和示例第二bnn 804的示例知识共享体系结构800的示意性图示。在图8的图示示例中,第一bnn 802的体系结构是完全连接的,并且第二bnn 804的体系结构是卷积的。在上述示例中,第一bnn和第二bnn(未图示)是在不完整的数据集上训练的。在一些示例中,第一bnn和第二bnn是完全连接的(例如,实现第一bnn 802)。在一些示例中,第一bnn和第二bnn是卷积的(例如,实现第二bnn804)。例如,使用mnist数据,使用来自0-4类的数据来训练第一bnn,并且使用来自5-9类的数据来训练第二bnn。在本文公开的示例中,知识共享控制器基于第一和第二bnn的权重分布来生成第三bnn。表格1说明了使用完整数据集(例如,0-9类)的第一、第二和第三bnn的输出的近似准确度。
60.体系结构bnn1bnn2bnn3完全连接bnn47.8651.1071.68卷积bnn48.2651.2387.37
61.表格1
62.在表格1的说明示例中,完全连接体系结构和卷积体系结构两者的第一bnn和第二bnn在对完整数据集进行推断时都有大约50%的准确率。与之对比,相对于第一和第二bnn,第三bnn在对完整数据集进行推断时具有相对较高的准确度。
63.图9是示例知识共享系统900的示意性图示。示例知识共享系统900包括示例第一bnn 902和示例第二bnn 904。在一些示例中,第一bnn902在第一数据集上训练,并且第二bnn 904在第二数据集上训练。例如,数据集可以是mnist数据,并且第一数据集可以是0-4类,第二数据集可以是5-9类。第一bnn 902生成示例第一输出906,并且第二bnn 904生成示例第二输出908。在图9的图示示例中,第一输出906是第一均值和第一方差。例如,第一均值和第一方差定义了第一bnn 902的权重分布的概率分布。类似地,第二输出908是第二均值和第二方差。例如,第二均值和第二方差定义了第二bnn 904的权重分布的概率分布。
64.示例知识共享系统900包括示例知识共享控制器910。在图9的图示示例中,知识共享控制器910是dnn。示例知识共享控制器910获得第一输出906和第二输出908。也就是说,知识共享控制器910获得四个输入(例如,第一均值、第一方差、第二均值和第二方差)。示例知识共享控制器910基于四个输入生成示例第三输出912。例如,第三输出912包括第三均值和第三方差。在图9的图示示例中,知识共享控制器910基于第三输出912生成示例第三bnn 914。例如,第三均值和第三方差定义了第三bnn914的权重分布的概率分布。
65.与第一知识共享系统(例如,图6的知识共享系统600、图7的知识共享体系结构700和/或图8的知识共享体系结构800)相比,第一bnn 902和第二bnn 904的权重分布在推断期间不变化。也就是说,知识共享控制器910的dnn用作第一均值和方差以及第二均值和方差的映射来确定第三均值和方差。额外地或者替换地,知识共享控制器910生成示例第三bnn914。在一些示例中,第三bnn 914的权重分布是高斯分布。在一些示例中,知识共享控制器910对两个网络(例如,第一bnn 902和第二bnn904)上的所有权重使用相同的dnn。
66.在一些示例中,知识共享系统900的数据集是mnist数据,并且图1的nn训练器102使用来自0-4类的数据来训练第一bnn 902。nn训练器102使用来自5-9类的数据来训练第二bnn 904。如上所述,在对完整数据集(例如,来自0-9类的数据)进行推断期间,bnn 902、904的输出具有大约50%的准确度。
67.示例知识共享控制器910被训练来确定第三输出912(例如,第三均值和第三方差)。在一些示例中,可以使用任何机器学习训练方法(包括例如遗传算法)来训练知识共享控制器910。例如,知识共享控制器910生成初始群体(例如,确定多个不同的完全连接权重)。示例知识共享控制器910生成第三bnn 914以评估初始群体的完全连接权重,并且用作适应度函数。知识共享控制器910将交叉和/或突变应用于初始群体以生成第二代。知识共享控制器910确定观察到的第二代的适应度,并且将观测适应度与适应度阈值进行比较。例如,适应度阈值可以是55%,60%,等等。如果观察到的适应度不满足适应度阈值,则知识共享控制器910生成额外的一代(例如,第三代、第四代,等等)。在一些示例中,如果观察到的适应度小于适应度阈值,已经生成了阈值代数,等等,则知识共享控制器910生成额外的代。
68.在一些示例中,第三bnn 914的验证率为50%。例如,知识共享控制器910可以学习丢弃来自第一bnn 902的权重并且保留来自第二bnn 904的权重。从而,适应度函数可以被修改以向较高的验证准确度(例如,大于适应度阈值的验证准确度)和知识共享控制器910的均值和方差的输出定义相对较高的重要性。例如,适应度可以通过示例公式1来定义。
69.适应度=准确度+α(β(μ3,σ3,μ1,σ1)+β(μ3,σ3,μ2,σ2))
70.公式1
71.在公式1中,α是超参数,并且β(μ3,σ3,μ1,σ1)是输入分布和输出分布之间的hellinger距离。也就是说,项β(μ3,σ3,μ1,σ1)决定了知识共享控制器910的输入和输出概率密度函数(probability density function,pdf)之间的差异。然而,知识共享控制器910可以使用任何其他适当的技术来确定适应度。在一些示例中,第三bnn 914的准确度在26代之后增大到67.02%。
72.虽然在图4中图示了实现图3的第一知识共享控制器302和/或第二知识共享控制器304的示例方式,但图4中所示的元件、过程和/或设备中的一个或多个可被组合、划分、重布置、省略、消除和/或以任何其他方式来实现。另外,示例数据访问器402、示例函数生成器404、示例数据采样器406、示例nn控制器408、示例参数数据库410和/或更概括而言图3的示例第一知识共享控制器302和/或示例第二知识共享控制器304可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。从而,例如,示例数据访问器402、示例函数生成器404、示例数据采样器406、示例nn控制器408、示例参数数据库410和/或更概括而言示例第一知识共享控制器302和/或示例第二知识共享控制器304中的任何一者可由一个或多个模拟或数字电路、逻辑电路、(一个或多个)可编程处理器、(一个或多个)可编程控制器、(一个或多个)图形处理单元(graphics processing unit,gpu)、(一个或多个)数字信号处理器(digital signal processor,dsp)、(一个或多个)专用集成电路(application specific integrated circuit,asic)、(一个或多个)可编程逻辑器件(programmable logic device,pld)和/或(一个或多个)现场可编程逻辑器件(field programmable logic device,fpld))来实现。当读到本专利的任何装置或系统权利要求覆盖纯软件和/或固件实现方式时,示例数据访问器402、示例函数生成器404、示例数据采样器406、示例nn控制器408、示例参数数据库410中的至少一者在此被明确定义为包括包含该软件和/或固件的非暂态计算机可读存储设备或存储盘,例如存储器、数字多功能盘(digital versatile disk,dvd)、致密盘(compact disk,cd)、蓝光盘,等等。此外,除了图4中所示的那些以外或者取代图4中所示的那些,图3的示例第一知识共享控制器302和/或示例第二知识共享控制
器304可包括一个或多个元件、过程和/或设备,和/或可包括图示的元件、过程和设备的任何者或全部中的多于一者。就本文使用的而言,短语“与
……
通信”(包括其变体)涵盖了直接通信和/或通过一个或多个中间组件的间接通信,而不要求直接物理(例如,有线)通信和/或不断的通信,而是还包括按周期性间隔、排定的间隔、非周期性间隔和/或一次性事件的选择性通信。
73.表示用于实现图3的第一知识共享控制器302和/或第二知识共享控制器304的示例硬件逻辑、机器可读指令、硬件实现状态机和/或这些的任何组合的流程图在图10-图12中示出。机器可读指令可以是供计算机处理器和/或处理器电路执行的一个或多个可执行程序或者可执行程序的(一个或多个)部分,所述计算机处理器和/或处理器电路例如是下文联系图13论述的示例处理器平台1300中所示的处理器1312。该程序可体现在存储于诸如cd-rom、软盘、硬盘驱动器、dvd、蓝光盘或者与处理器1312相关联的存储器之类的非暂态计算机可读存储介质上的软件中,但整个程序和/或其一些部分可替换为由除了处理器1312以外的设备执行和/或体现在固件或专用硬件中。另外,虽然是参考图10-图12中所示的流程图来描述示例程序的,但可替换使用实现示例第一知识共享控制器302和/或示例第二知识共享控制器304的许多其他方法。例如,块的执行顺序可被改变,和/或描述的块中的一些可被改变、消除或组合。额外地或者替换地,任何或所有块可由被构造为执行相应的操作而不执行软件或固件的一个或多个硬件电路(例如,分立和/或集成的模拟和/或数字电路、fpga、asic、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现。处理器电路可分布在不同的网络位置中和/或在一个或多个设备的本地(例如,单个机器中的多核处理器,分布在服务器机架上的多个处理器,等等)。
74.可以以压缩格式、加密格式、分段格式、编译格式、可执行格式、打包格式等等中的一种或多种格式来存储本文描述的机器可读指令。本文描述的机器可读指令可被存储为可被利用来创建、制造和/或生产机器可执行指令的数据或数据结构(例如,指令的部分、代码、代码的表示,等等)。例如,机器可读指令可被分段并存储在位于网络或者网络集合的相同或不同位置的一个或多个存储设备和/或计算设备(例如,服务器)上(例如,在云中,在边缘设备中,等等)。机器可读指令可要求安装、修改、改编、更新、组合、补充、配置、解密、解压缩、解包、分发、重指派、编译等等中的一个或多个,以便使得它们可被计算设备和/或其他机器直接可读、可解释和/或可执行。例如,机器可读指令可被存储为多个部分,这些部分被单独压缩、加密并存储在分开的计算设备上,其中这些部分当被解密、解压缩和组合时,形成实现可一起形成例如本文所述那种的程序的一个或多个功能的一组可执行指令。
75.在另一示例中,机器可读指令可被存储在如下状态中:在该状态中,它们可被处理器电路读取,但要求添加库(例如,动态链接库(dll))、软件开发套件(sdk)、应用编程接口(api)等等以便在特定的计算设备或其他设备上执行这些指令。在另一示例中,在机器可读指令和/或相应的(一个或多个)程序可被全部或部分执行之前,机器可读指令可能需要被配置(例如,存储设置、输入数据、记录网络地址,等等)。从而,在本文中使用的机器可读介质可包括机器可读指令和/或(一个或多个)程序,无论这些机器可读指令和/或(一个或多个)程序在被存储时或以其他方式在休息或在途时的特定格式或状态如何。
76.本文描述的机器可读指令可以由任何过去、当前或者未来的指令语言、脚本语言、编程语言等等来表示。例如,可利用以下语言中的任何一种来表示机器可读指令:c、c++、
java、c#、perl、python、javascript、超本文标记语言(html)、结构化查询语言(sql)、swift,等等。
77.如上所述,可利用存储在非暂态计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)来实现图10-图12的示例过程,所述介质例如是硬盘驱动器、闪存、只读存储器、致密盘、数字多功能盘、缓存、随机访问存储器、和/或其中信息可被存储任何持续时间(例如,存储较长时间段、永久存储、短暂存储、用于临时缓冲、和/或用于信息的缓存)的任何其他存储设备或存储盘。就本文使用的而言,术语非暂态计算机可读介质被明确定义为包括任何类型的计算机可读存储设备和/或存储盘并且排除传播信号和排除传输介质。
[0078]“包括”和“包含”(以及其所有形式和时态)在本文中被用作开端式术语。从而,每当权利要求采用任何形式的“包括”或“包含”(例如,包括、包含、具有,等等)作为序言或者在任何种类的权利要求记载中使用时,要理解,额外的元素、术语等等可存在,而不落在相应权利要求或记载的范围之外。就本文使用的而言,当短语“至少”在例如权利要求的序言中被用作过渡术语时,它是开端的,与术语“包括”和“包含”是开端的方式一样。术语“和/或”当例如被以比如a、b和/或c这样的形式使用时,指的是a、b、c的任何组合或子集,例如(1)a单独,(2)b单独,(3)c单独,(4)a与b,(5)a与c,(6)b与c,以及(7)a与b以及与c。就本文在描述结构、组件、项目、对象和/或事物的上下文中使用的而言,短语“a和b中的至少一者”打算指包括以下各项中的任何一者的实现方式:(1)至少一个a,(2)至少一个b,以及(3)至少一个a和至少一个b。类似地,就本文在描述结构、组件、项目、对象和/或事物的上下文中使用的而言,短语“a或b中的至少一者”打算指包括以下各项中的任何一者的实现方式:(1)至少一个a,(2)至少一个b,以及(3)至少一个a和至少一个b。就本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中使用的而言,短语“a和b中的至少一者”打算指包括以下各项中的任何一者的实现方式:(1)至少一个a,(2)至少一个b,以及(3)至少一个a和至少一个b。类似地,就本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中使用的而言,短语“a或b中的至少一者”打算指包括以下各项中的任何一者的实现方式:(1)至少一个a,(2)至少一个b,以及(3)至少一个a和至少一个b。
[0079]
就本文使用的而言,单数指代(例如,“一”、“第一”、“第二”,等等)不排除多数。就本文使用的而言,术语“一”实体指的是一个或多个该实体。术语“一”、“一个或多个”和“至少一个”在本文中被可互换地使用。此外,虽然是单独列出的,但多个手段、元素或方法动作可由例如单个单元或处理器来实现。此外,虽然个体特征可被包括在不同的示例或权利要求中,但它们可能可被组合,并且包括在不同的示例或权利要求中并不暗示着特征的组合是不可行的和/或不是有利的。
[0080]
图10是表示示例机器可读指令1000的流程图,这些指令可被执行来实现图3和/或图4的示例第一知识共享控制器302和/或示例第二知识共享控制器304以促进知识共享。虽然是结合图2的示例第一bnn系统202来描述指令1000的,但可结合包括知识共享控制器的任何类型的神经网络中的任何bnn系统来描述指令1000。
[0081]
图10的示例机器可读指令开始于块1002,在该块中,示例nn训练102(图1)确定是否接收到了输入数据。例如,nn训练器102确定是否接收到了训练数据(例如,mnist数据,等等)。如果示例nn训练器102确定没有接收到训练数据(例如,块1002返回的结果是“否”),则
指令返回到块1002。如果示例nn训练器102确定接收到了输入数据(例如,块1002返回的结果是“是”),则示例nn训练器102训练(一个或多个)bnn。(块1004)。例如,nn训练器102在第一数据集210上训练第一bnn系统202(图2)。类似地,nn训练器102可在第二数据集212上训练第二bnn系统204(图2)。
[0082]
示例数据访问器402获得(一个或多个)权重分布,(块1006)。例如,数据访问器402获得第一bnn系统202和第二bnn系统204的权重分布。示例第一知识共享控制器302生成混合权重分布,(块1008)。例如,第一知识共享控制器302实现混合函数来混合第一bnn系统202和第二bnn系统204的第一权重分布。下面联系图11进一步详细描述混合函数。额外地或者替换地,第一知识共享控制器302训练dnn来基于输入的(一个或多个)均值和(一个或多个)方差来生成均值和方差。下面联系图12进一步详细描述dnn。
[0083]
示例第一知识共享控制器302基于混合权重分布生成额外bnn,(块1010)。例如,示例第一知识共享控制器302基于由数据采样器406(图4)确定的混合权重分布来生成额外bnn。额外地或者替换地,第一知识共享控制器302基于由dnn确定的所生成的均值和方差来生成额外bnn。
[0084]
图11是表示示例机器可读指令1100的流程图,这些指令可被执行来实现图3和/或图4的示例第一知识共享控制器302和/或示例知识共享控制器304以混合权重分布。示例函数生成器404向类别指派概率,(块1102)。例如,函数生成器404(图4)确定向每个bnn指派均一概率,与每个bnn观察到的类成比例的概率,等等。
[0085]
示例数据采样器406(图4)对bnn的(一个或多个)权重分布进行采样,(块1104)。例如,数据采样器406生成0和1之间的随机值,并且对与该随机值相对应的bnn进行采样。示例数据采样器406基于采样的(一个或多个)权重分布来生成额外权重分布的参数,(块1106)。控制返回到图10的指令1000的块1010。
[0086]
图12是表示可被执行来实现图4的示例nn控制器408以训练dnn用于知识共享的示例机器可读指令1200的流程图。示例nn控制器408训练dnn,(块1202)。例如,nn控制器408使用遗传算法训练dnn。示例nn控制器408获得(一个或多个)均值和(一个或多个)方差。(块1204)。例如,nn控制器408获得bnn的集成的均值和方差。示例nn控制器408生成额外的均值和方差,(块1206)。例如,nn控制器408将bnn的集成的均值和方差输入到经训练的dnn中。dnn生成额外的均值和方差。控制返回到图10的指令1000的块1010。
[0087]
图13是被构造来执行图10-图12的指令以实现图3的示例第一知识共享控制器302和/或示例第二知识共享控制器304的示例处理器平台1300的框图。处理器平台1300可例如是服务器、个人计算机、工作站、自学习机器(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如ipad
tm
之类的平板设备)、个人数字助理(pda)、互联网家电、dvd播放器、cd播放器、数字视频记录器、蓝光播放器、游戏机、个人视频记录器、机顶盒、耳机或其他可穿戴设备、或者任何其他类型的计算设备。
[0088]
图示示例的处理器平台1300包括处理器1312。图示示例的处理器1312是硬件。例如,处理器1312可由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器、gpu、dsp或者控制器来实现。硬件处理器可以是基于半导体(例如,基于硅)的设备。在这个示例中,处理器实现了示例数据访问器402、示例函数生成器404、示例数据采样器406、以及示例nn控制器408。
[0089]
图示示例的处理器1312包括本地存储器1313(例如,缓存)。图示示例的处理器1312经由总线1318与包括易失性存储器1314和非易失性存储器1316的主存储器进行通信。易失性存储器1314可由同步动态随机访问存储器(synchronous dynamic random access memory,sdram)、动态随机访问存储器(dynamic random access memory,dram)、动态随机访问存储器(dynamic random access memory,)和/或任何其他类型的随机访问存储器设备来实现。非易失性存储器1316可由闪存和/或任何其他期望类型的存储器设备来实现。对主存储器1314、1316的访问受存储器控制器的控制。
[0090]
图示示例的处理器平台1300还包括接口电路1320。接口电路1320可由任何类型的接口标准来实现,例如以太网接口、通用串行总线(universal serial bus,usb)、接口、近场通信(near field communication,nfc)接口和/或pci快速接口。
[0091]
在图示示例中,一个或多个输入设备1322连接到接口电路1320。(一个或多个)输入设备1322允许用户向处理器1312中输入数据和/或命令。(一个或多个)输入设备可由例如音频传感器、麦克风、相机(静态或视频)、键盘、按钮、鼠标、触摸屏、触控板、轨迹球、isopoint和/或语音识别系统来实现。
[0092]
一个或多个输出设备1324也连接到图示示例的接口电路1320。输出设备1024可例如由显示设备(例如,发光二极管(light emitting diode,led)、有机发光二极管(organic light emitting diode,oled)、液晶显示器(liquid crystal display,lcd)、阴极射线管显示器(cathode ray tube,crt)、就地切换(in-place switching,ips)显示器、触摸屏,等等)、触觉输出设备、打印机和/或扬声器来实现。图示示例的接口电路1320从而通常包括图形驱动器卡、图形驱动器芯片、和/或图形驱动器处理器。
[0093]
图示示例的接口电路1320还包括通信设备,例如发送器、接收器、收发器、调制解调器、住宅网关、无线接入点、和/或网络接口,来促进经由网络1326与外部机器(例如,任何种类的计算设备)的数据交换。通信可经由例如以太网连接、数字订户线(digital subscriber line,dsl)连接、电话线连接、同轴线缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统等等。
[0094]
图示示例的处理器平台1300还包括用于存储软件和/或数据的一个或多个大容量存储设备1328。这种大容量存储设备1328的示例包括软盘驱动器、硬盘驱动器、致密盘驱动器、蓝光盘驱动器、独立盘冗余阵列(redundant array of independent disks,raid)系统、以及数字多功能盘(digital versatile disk,dvd)驱动器。
[0095]
图10-12的机器可执行指令1332可被存储在大容量存储设备1328中、易失性存储器1314中、非易失性存储器1316中和/或诸如cd或dvd之类的可移除非暂态计算机可读存储介质上。
[0096]
在图14中图示了图示出用于向第三方分发诸如图13的示例计算机可读指令1332之类的软件的示例软件分发平台1405的框图。示例软件分发平台1405可由能够存储软件并且将其传输到其他计算设备的任何计算机服务器、数据设施、云服务等等来实现。第三方可以是拥有和/或操作该软件分发平台的实体的客户。例如,拥有和/或操作软件分发平台的实体可以是软件(例如图13的示例计算机可读指令1332)的开发者、销售者和/或许可人。第
三方可以是购买和/或许可该软件以供使用和/或再销售和/或分许可的消费者、用户、零售商、oem,等等。在图示示例中,软件分发平台1405包括一个或多个服务器和一个或多个存储设备。存储设备存储计算机可读指令1332,这些指令可对应于如上所述的图10-12的示例计算机可读指令1332。示例软件分发平台1405的一个或多个服务器与网络1410通信,该网络可对应于互联网和/或上述的示例网络1336中的任何一者中的任何一个或多个。在一些示例中,作为商业交易的一部分,一个或多个服务器响应将软件传输给请求方的请求。对软件的交付、销售和/或许可的支付可由软件分发平台的一个或多个服务器处理和/或经由第三方支付实体来处理。这些服务器使得购买者和/或许可人能够从软件分发平台1405下载计算机可读指令1332。例如,可与图10的示例计算机可读指令1000相对应的软件可被下载到示例处理器平台1300,该平台要执行计算机可读指令1332以实现示例第一知识共享控制器302和/或示例第二知识共享控制器304。在一些示例中,软件分发平台1405的一个或多个服务器定期提供、传输和/或强制更新软件(例如,图13的示例计算机可读指令1332),以确保改进、补丁、更新等等被分发并且在终端用户设备处被应用于软件。
[0097]
从上述内容将会明白,已公开了促进神经网络之间的高效知识共享的示例方法、装置和制品。例如,知识共享控制器获得在不完整数据集上训练的贝叶斯神经网络的权重分布和/或权重分布的均值和方差。示例知识共享控制器混合所获得的权重分布和/或均值和方差以生成额外的贝叶斯神经网络。与初始训练的贝叶斯神经网络相比,额外的贝叶斯神经网络与推断期间的相对更高的准确度相关联。公开的方法、装置和制品通过减少存储器(例如,先前训练数据不被存储)和计算时间(例如,不在完整数据集上重新训练额外bnn)而提高了使用计算设备的效率。公开的方法、装置和制品因此针对的是计算机的功能的一项或多项改进。
[0098]
本文公开了用于促进神经网络之间的高效知识共享的示例方法、装置、系统和制品。进一步示例及其组合包括以下的:
[0099]
示例1包括一种促进神经网络之间的高效知识共享的装置,该装置包括训练器,用于在第一计算系统处在训练数据的第一子集上训练第一贝叶斯神经网络(bnn)以生成第一权重分布,并且在第二计算系统处在所述训练数据的第二子集上训练第二bnn以生成第二权重分布,所述训练数据的第二子集不同于所述训练数据的第一子集,以及知识共享控制器,用于基于所述第一权重分布和所述第二权重分布来生成第三bnn。
[0100]
示例2包括如示例1所述的装置,其中所述训练数据的第一子集和所述训练数据的第二子集是互斥的。
[0101]
示例3包括如示例1所述的装置,其中所述知识共享控制器是与所述第一bnn相关联的第一知识共享控制器,并且所述装置还包括与所述第二bnn相关联的第二知识共享控制器。
[0102]
示例4包括如示例3所述的装置,其中所述第一知识共享控制器将所述第二权重分布与所述第一权重分布混合,并且所述第二知识共享控制器将所述第一权重分布与所述第二权重分布混合。
[0103]
示例5包括如示例3所述的装置,其中所述第一知识共享控制器和所述第二知识共享控制器是高斯混合模型。
[0104]
示例6包括如示例1所述的装置,其中所述知识共享控制器是利用确定性神经网络
来实现的。
[0105]
示例7包括如示例6所述的装置,其中所述知识共享控制器访问与所述第一bnn相关联的第一均值和第一方差,以及与所述第二bnn相关联的第二均值和第二方差。
[0106]
示例8包括如示例7所述的装置,其中所述知识共享控制器生成与所述第三bnn相关联的第三均值和第三方差。
[0107]
示例9包括如示例8所述的装置,其中所述第三bnn与第三权重分布相关联,所述第三权重分布具有被表示为高斯分布的权重。
[0108]
示例10包括如示例6所述的装置,其中所述第一权重分布和所述第二权重分布不变化。
[0109]
示例11包括至少一个非暂态计算机可读介质,包括指令,所述指令当被执行时,使得至少一个处理器至少在第一计算系统处在训练数据的第一子集上训练第一贝叶斯神经网络(bnn)以生成第一权重分布,在第二计算系统处在所述训练数据的第二子集上训练第二bnn以生成第二权重分布,所述训练数据的第二子集不同于所述训练数据的第一子集,并且基于所述第一权重分布和所述第二权重分布来生成第三bnn。
[0110]
示例12包括如示例11所述的至少一个非暂态计算机可读介质,其中所述训练数据的第一子集和所述训练数据的第二子集是互斥的。
[0111]
示例13包括如示例11所述的至少一个非暂态计算机可读介质,其中所述至少一个处理器是与所述第一bnn相关联的第一处理器,并且还包括与所述第二bnn相关联的第二处理器。
[0112]
示例14包括如示例13所述的至少一个非暂态计算机可读介质,其中所述指令当被执行时,使得所述第一处理器将所述第二权重分布与所述第一权重分布混合,并且所述第二处理器将所述第一权重分布与所述第二权重分布混合。
[0113]
示例15包括如示例13所述的至少一个非暂态计算机可读介质,其中所述第一处理器和所述第二处理器是利用高斯混合模型来实现的。
[0114]
示例16包括如示例11所述的至少一个非暂态计算机可读介质,其中所述至少一个处理器是利用确定性神经网络来实现的。
[0115]
示例17包括如示例16所述的至少一个非暂态计算机可读介质,其中所述指令当被执行时,使得所述至少一个处理器访问与所述第一bnn相关联的第一均值和第一方差,以及与所述第二bnn相关联的第二均值和第二方差。
[0116]
示例18包括如示例17所述的至少一个非暂态计算机可读介质,其中所述指令当被执行时,使得所述至少一个处理器生成与所述第三bnn相关联的第三均值和第三方差。
[0117]
示例19包括如示例18所述的至少一个非暂态计算机可读介质,其中所述第三bnn与第三权重分布相关联,所述第三权重分布具有被表示为高斯分布的权重。
[0118]
示例20包括如示例16所述的至少一个非暂态计算机可读介质,其中所述第一权重分布和所述第二权重分布不变化。
[0119]
示例21包括一种促进神经网络之间的高效知识共享的装置,所述装置包括至少一个存储设备,以及至少一个处理器,用于在第一计算系统处在训练数据的第一子集上训练第一贝叶斯神经网络(bnn)以生成第一权重分布,在第二计算系统处在所述训练数据的第二子集上训练第二bnn以生成第二权重分布,所述训练数据的第二子集不同于所述训练数
据的第一子集,并且基于所述第一权重分布和所述第二权重分布来生成第三bnn。
[0120]
示例22包括如示例21所述的装置,其中所述训练数据的第一子集和所述训练数据的第二子集是互斥的。
[0121]
示例23包括如示例21所述的装置,其中所述至少一个处理器是与所述第一bnn相关联的第一处理器,并且还包括与所述第二bnn相关联的第二处理器。
[0122]
示例24包括如示例23所述的装置,其中所述第一处理器将所述第二权重分布与所述第一权重分布混合,并且所述第二处理器将所述第一权重分布与所述第二权重分布混合。
[0123]
示例25包括如示例23所述的装置,其中所述第一处理器和所述第二处理器是高斯混合模型。
[0124]
示例26包括如示例21所述的装置,其中所述至少一个处理器是利用确定性神经网络来实现的。
[0125]
示例27包括如示例26所述的装置,其中所述至少一个处理器访问与所述第一bnn相关联的第一均值和第一方差,以及与所述第二bnn相关联的第二均值和第二方差。
[0126]
示例28包括如示例27所述的装置,其中所述至少一个处理器生成与所述第三bnn相关联的第三均值和第三方差。
[0127]
示例29包括如示例28所述的装置,其中所述第三bnn与第三权重分布相关联,所述第三权重分布具有被表示为高斯分布的权重。
[0128]
示例30包括如示例26所述的装置,其中所述第一权重分布和所述第二权重分布不变化。
[0129]
示例31包括一种促进神经网络之间的高效知识共享的方法,该方法包括在第一计算系统处在训练数据的第一子集上训练第一贝叶斯神经网络(bnn)以生成第一权重分布,在第二计算系统处在所述训练数据的第二子集上训练第二bnn以生成第二权重分布,所述训练数据的第二子集不同于所述训练数据的第一子集,并且基于所述第一权重分布和所述第二权重分布来生成第三bnn。
[0130]
示例32包括如示例31所述的方法,其中所述训练数据的第一子集和所述训练数据的第二子集是互斥的。
[0131]
示例33包括如示例31所述的方法,还包括将所述第二权重分布与所述第一权重分布混合,并且将所述第一权重分布与所述第二权重分布混合。
[0132]
示例34包括如示例33所述的方法,其中所述第三bnn是利用高斯混合模型来生成的。
[0133]
示例35包括如示例31所述的方法,其中所述第三bnn是利用确定性神经网络来生成的。
[0134]
示例36包括如示例35所述的方法,还包括访问与所述第一bnn相关联的第一均值和第一方差,以及与所述第二bnn相关联的第二均值和第二方差。
[0135]
示例37包括如示例36所述的方法,还包括生成与所述第三bnn相关联的第三均值和第三方差。
[0136]
示例38包括如示例37所述的方法,其中所述第三bnn与第三权重分布相关联,所述第三权重分布具有被表示为高斯分布的权重。
[0137]
示例39包括如示例35所述的方法,其中所述第一权重分布和所述第二权重分布不变化。
[0138]
示例40包括一种促进神经网络之间的高效知识共享的装置,包括用于训练的装置,用于在第一计算系统处在训练数据的第一子集上训练第一贝叶斯神经网络(bnn)以生成第一权重分布,并且在第二计算系统处在所述训练数据的第二子集上训练第二bnn以生成第二权重分布,所述训练数据的第二子集不同于所述训练数据的第一子集,以及用于知识共享的装置,用于基于所述第一权重分布和所述第二权重分布来生成第三bnn。
[0139]
示例41包括如示例40所述的装置,其中所述训练数据的第一子集和所述训练数据的第二子集是互斥的。
[0140]
示例42包括如示例40所述的装置,其中所述用于知识共享的装置是与所述第一bnn相关联的用于知识共享的第一装置,并且所述装置还包括与所述第二bnn相关联的用于知识共享的第二装置。
[0141]
示例43包括如示例42所述的装置,其中所述用于知识共享的第一装置将所述第二权重分布与所述第一权重分布混合,并且所述用于知识共享的第二装置将所述第一权重分布与所述第二权重分布混合。
[0142]
示例44包括如示例42所述的装置,其中所述用于知识共享的第一装置和所述用于知识共享的第二装置是高斯混合模型。
[0143]
示例45包括如示例40所述的装置,其中所述用于知识共享的装置是利用确定性神经网络来实现的。
[0144]
示例46包括如示例45所述的装置,其中所述用于知识共享的装置访问与所述第一bnn相关联的第一均值和第一方差,以及与所述第二bnn相关联的第二均值和第二方差。
[0145]
示例47包括如示例46所述的装置,其中所述用于知识共享的装置生成与所述第三bnn相关联的第三均值和第三方差。
[0146]
示例48包括如示例47所述的装置,其中所述第三bnn与第三权重分布相关联,所述第三权重分布具有被表示为高斯分布的权重。
[0147]
示例49包括如示例45所述的装置,其中所述第一权重分布和所述第二权重分布不变化。
[0148]
虽然本文公开了某些示例方法、装置和制品,但本专利的覆盖范围不限于此。相反,本专利覆盖了公平地落在本专利的权利要求的范围内的所有方法、装置和制品。
[0149]
特此通过引用将所附权利要求并入到这个“具体实施方式”部分中,其中每个权利要求独立作为本公开的一个单独实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1