掌桥专利:专业的专利平台
掌桥专利
首页

可自适应神经网络

文献发布时间:2023-06-19 10:32:14


可自适应神经网络

技术领域

本发明涉及神经网络系统领域,并且特别涉及能够对输入数据执行多次评估的神经网络系统。

背景技术

WO 2018/081563公开了用于确定神经网络架构的方法和系统。这些方法之一包括:使用控制器神经网络来生成一批输出序列,该批次中的每个输出序列都定义了子神经网络的相应架构,该子神经网络被配置为执行特定的神经网络任务;对于该批次中的每个输出序列:训练具有由输出序列定义的架构的子神经网络的相应实例;评价子神经网络的经训练的实例在特定神经网络任务上的效能,以确定子神经网络的经训练的实例在特定神经网络任务上的效能指标;并且使用针对子神经网络的经训练的实例的效能指标来调整控制器神经网络的控制器参数的当前值。

神经网络(例如,采用深度学习模型的网络)越来越多地用于数据分析任务(例如,图像分析和语音识别)。通常,将神经网络应用于输入数据以生成期望的输出信息或数据。典型的神经网络通过将由一系列分析步骤形成的数值模型应用于输入数据而生成或预测指示期望任务的结果的输出数据来进行操作。每个分析步骤通常被称为神经网络的“层”。

举例来说,神经网络可以处理对象的胸部的X射线图像(即,输入数据)以预测或识别对象是否患有特定疾病(期望任务),其中,神经网络提供输出数据,该输出数据预测对象是否患有特定疾病或对象患有特定疾病的概率。

通常调谐神经网络以执行特定任务,即,使用训练数据来训练神经网络以生成特定输出。该过程涉及收集训练数据并将数值模型(例如,由多个不同的层或分析步骤形成的数值模型)应用于训练数据以提供期望的输出。然后,基于所提供的期望的输出与该期望的输出的已知值(即,从训练数据获得的值)之间的比较来修改该数值模型的参数,以便提高数值模型的效能。然后能够将这样的神经网络应用于新的输入数据,以基于新的输入数据来预测期望的输出。

然而,神经网络的一个问题是(曾经训练的)神经网络适于特定任务。这意味着执行多个任务或输入数据评估要求创建多个神经网络。不利的是,这要求每个神经网络具有大量的处理能力和/或存储能力。

当然,多任务神经网络(即,能够提供一个以上的输出的网络)在本领域中是已知的。通常,这样的网络是通过以下内容来操作的:在针对每个期望任务对初始处理的输入数据执行单独的任务特异性分析步骤或层之前,对输入数据执行第一组分析步骤或层以生成初始处理的输入数据。然而,这样的方法缺乏针对每个任务的个性化功能——因为初始层在任务之间是共享的,因此会比任务特异性专用神经网络的准确度低。

发明内容

因此,期望提供一种神经网络系统,其能够提供对输入数据的高度定制的且任务特异性的分析,而不要求使用多个神经网络。

本发明由独立权利要求来限定。从属权利要求限定了有利实施例。

根据依据本发明的一个方面的示例,提供了一种用于处理第一输入数据的可自适应神经网络系统。所述神经网络系统包括:由多个顺序层形成的第一神经网络,其中,所述第一神经网络适于通过使用所述多个顺序层处理第一输入数据来生成输出数据;第二神经网络,其适于基于指示要对所述第一输入数据执行的期望任务的第二输入数据来生成针对所述第一神经网络的所述多个顺序层的至少一个任务特异性参数;以及神经网络修改器,其适于基于由所述第二神经网络生成的所述至少一个任务特异性参数来修改所述第一神经网络,从而每当所述第二神经网络接收到新的第二输入数据时就使所述第一神经网络适应于所述期望任务。

因此,第二神经网络(即,生成器)使第一神经网络(即,动作者)适应于不同的任务。特别地,第二神经网络适于对第一神经网络的不同层的参数进行修改或加权,以便针对特定任务调谐第一神经网络。因此,第二神经网络定义了由第一神经网络执行的任务或预测。以这种方式,仅需要使用两个神经网络就可以提供高度个性化且任务可自适应的神经网络系统。

第二神经网络的目标是在第一神经网络中产生一种网络架构,该网络架构具有专门针对给定任务(例如,给定的输入数据的特定条件和/或分布)提供最佳可能效能的参数(例如,权重/偏差值)。第一神经网络的目标是使用由第二神经网络生成的权重值来执行特定任务(即,进行预测)。为了实现这些目标,第二神经网络使第一神经网络的各个层适于使第一神经网络专门用于特定任务。

因此,本发明的实施例避免了对生成多个任务特异性神经网络的需求,同时还允许每个任务具有高度的个性化——提供具有高效能的神经网络系统。所提出的网络系统架构还为输入数据的处理提供了更大的动态灵活性。

第二输入数据可以指示要由第一神经网络执行的期望任务,例如,定义第一神经网络的期望预测。换句话说,第二输入数据指示第一神经网络的期望的预测任务,以便定义输出数据的类型。

在至少一个实施例中,所述第二神经网络适于进一步基于提供关于所述第一输入数据的信息的第三输入数据来生成所述至少一个任务特异性参数。换句话说,第一神经网络的参数可以取决于第一输入数据的信息,例如,元数据。第三输入数据从而可以提供与第一输入数据相关联的背景信息。这有利地允许第一神经网络针对正在研究的特定的第一输入数据而被个性化,从而提高了神经网络系统的准确度。

优选地,所述第二输入数据包括对所述可自适应神经网络系统的输入查询,所述输入查询指示要被执行的期望任务。

因此,神经网络系统可以起到执行用户指定的任务(例如,如输入查询中所指定的任务)的作用。例如,这可以用于为临床医生提供有用的工具来检查他们关于对象/患者的假设。

所述输入查询可以包括与所述第一输入数据相关联的假设属性,并且所述第一神经网络适于确定指示所述假设属性是否正确的值。神经网络系统因此可以充当假设测试器,从而通过使用作为输入被提供给第二神经网络的假设适当调适第一神经网络来确定该假设是否正确。第一神经网络可以例如适于提供指示假设属性正确的可能性的概率。在其他实施例中,第一神经网络可以适于输出指示对假设属性的确认或拒绝的值(例如,单尾测试或双尾测试的结果)。

在一些示例中,神经网络系统包括:文本处理单元,其适于处理第一输入数据的文本以用于提供给第二神经网络。特别地,文本处理单元可以提取可允许维度(即,具有特定大小)的特征以用于由第二神经网络进行处理。

优选地,所述第一神经网络的所述多个顺序层包括预定数量的可调参数,并且所述第二神经网络适于生成针对所述预定数量的可调参数中的每个的任务特异性参数。

这允许例如通过将某些参数设置为0或空值来使第二神经网络改变到第一神经网络的架构和/或结构。这有效地允许由第二神经网络来控制第一神经网络的整体架构。因此,这样实现并改善了由第二神经网络对第一神经网络的控制,并且使得生成更适合用于执行期望任务的第一神经网络。

所述第二神经网络可以包括多个顺序层,并且所述至少一个任务特异性参数是由所述多个顺序层的顺序最后层输出的。因此,在一些实施例中,这两个神经网络可以被提供为单独的“黑箱”。

当然,在一些实施例中,至少一个任务特异性参数的部分可以由在多个顺序层中的较前层来输出,而不同部分可以由多个顺序层中的顺序最后层来输出。也就是说,至少一个任务特异性参数中的至少一些是由多个顺序层中的顺序最后层输出的。应当理解,第二神经网络可以被设计为仅提供针对第一神经网络的任务特异性参数(即,不提供任何其他输出)。

优选地,第一神经网络无法改变第二神经网络的参数(即,第二神经网络独立于第一神经网络)。当然,应当理解,第一神经网络可以定义能够从第二神经网络接收的参数(例如,权重或偏差)的最大数量(即,帮助定义第二神经网络的初始结构)。

所述第一输入数据可以包括对象的临床/医学信息,并且所述第二输入数据可以包括所述对象的假设的诊断或症状。例如,所述第一输入数据可以包括所述对象的医学图像。任选地,所述第二神经网络还适于基于与所述对象的所述医学图像相关联的元数据(例如,对象信息)来生成所述至少一个任务特异性参数。

已经认识到,本发明的实施例在分析医学信息的背景下特别有用,因为这样的信息通常包括复杂且未被完全理解的数据,这些数据可以被神经网络系统有利地且自动地识别出。

根据依据本发明的一个方面的示例,还提供了一种使用包括由多个顺序层形成的第一神经网络的可自适应神经网络系统来处理第一输入数据的方法。所述方法包括:使用第二神经网络基于指示要对所述第一输入数据执行的期望任务的第二输入数据来生成针对第一神经网络的所述多个顺序层的至少一个任务特异性参数;基于所述至少一个任务特异性参数来修改所述第一神经网络,从而每当所述第二神经网络接收到新的第二输入数据时就使第一神经网络适应于所述期望任务;并且通过使用经修改的第一神经网络处理所述第一输入数据来生成输出数据。

生成至少一个任务特异性参数的步骤包括:进一步基于提供关于所述第一输入数据的信息的第三输入数据来生成所述至少一个任务特异性参数。

任选地,所述第二输入数据包括对所述可自适应神经网络系统的输入查询,所述输入查询指示要被执行的期望任务。

在至少一个实施例中,所述第一神经网络的所述多个顺序层包括预定数量的可调参数,并且所述至少一个任务特异性参数包括针对所述预定数量的可调参数中的每个的任务特异性参数。

所述第二神经网络可以包括多个顺序层,并且所述至少一个任务特异性参数是由所述多个顺序层的顺序最后层输出的。

根据依据本发明的另一方面的示例,提供了一种包括代码单元的计算机程序,所述代码单元用于当所述程序在计算机上运行时实施任一上述方法。

参考下文描述的(一个或多个)实施例,本发明的这些方面和其他方面将变得显而易见。

附图说明

为了更好地理解本发明并更清楚地示出本发明如何实施,现在将仅以举例的方式参考附图,在附图中:

图1图示了根据本发明的实施例的神经网络系统;

图2图示了根据实施例的用于神经网络系统的第一神经网络;

图3图示了根据实施例的用于神经网络系统的第二神经网络;并且

图4图示了根据本发明的实施例的处理第一输入数据的方法。

具体实施方式

将参考附图来描述本发明的实施例。

应当理解,详细说明和具体示例虽然指示了装置、系统和方法的示例性实施例,但是这仅旨在用于说明的目的,而并不旨在限制本发明的范围。根据以下描述、权利要求和附图将更好地理解本发明的装置、系统和方法的这些和其他特征、方面和优点。应当理解,附图仅是示意性的,且并未按比例绘制。还应当理解,在所有附图中使用相同的附图标记来指示相同或相似的部分。

根据本发明的构思,提出了一种由两个神经网络形成的神经网络系统。其中的一个神经网络基于关于特定任务的信息来调整另一个神经网络的结构,以便另一个神经网络适于执行该特定任务。因此,能够实现能够对输入数据执行不同任务的可自适应神经网络系统。

实施例至少部分地基于以下认识:能够通过调整通用神经网络的各个层的参数(例如,权重和/或偏差)来使通用神经网络适应于特定任务,并且这些参数能够由第二神经网络来生成。因此,第二神经网络能够处理关于期望任务的信息,以便使通用(即,第一)神经网络适于执行期望任务。

说明性实施例可以用于诊断系统的辅助工具,例如,其中,使用神经网络系统处理医学图像以预测或识别不同的医学状况或诊断的存在。

在本发明的背景下,“层”是指用于处理输入数据的神经网络或数值模型的处理或分析步骤。如本领域中已知的,任何给定层的输出都可以被称为“特征图”。技术人员将意识到,术语“任务特异性参数”可以指神经网络的层的权重和/或偏差。

图1图示了根据本发明的实施例的可自适应神经网络系统1的架构。通常,神经网络系统1适于处理第一输入数据11以生成输出数据15。

神经网络系统1包括第一神经网络4,该第一神经网络4处理第一输入数据11以生成输出数据15。第一神经网络4包括一系列顺序层4a-4c,其中的每个顺序层顺序地应用于输入数据11,每个前一层的输出给后一层提供输入。

第一神经网络4的每个层4a-4c可以具有一个或多个参数,这一个或多个参数能够被修改以使第一神经网络4适于执行特定任务。例如,在每个层表示应用于前一层的输出的算法或处理步骤的情况下,每个处理步骤可以在所述处理步骤内包括不同的一个或多个参数。

第二神经网络5生成针对第一神经网络4的多个顺序层4a-4c的一个或多个任务特异性参数7。特别地,第二神经网络5处理第二输入数据12以生成任务特异性参数7,该第二输入数据12指示要对第一输入数据11执行的期望任务。

第二神经网络5可以例如包括多个顺序层5a-5c,这多个顺序层5a-5c适于生成任务特异性参数7以用于修改或定制第一神经网络4(的层4a-4c),从而执行由第二输入数据12指示的期望任务。因此,能够由多个顺序层5a-5c中的顺序最后层输出一个或多个任务特异性权重和/或偏差7。

以这种方式,第二神经网络5生成用于使第一神经网络4的多个顺序层4a-4c适应于特定任务的参数(例如,权重或值)。特定或期望任务由第二输入数据12来识别/定义,该第二输入数据12可以包括指示要对第一输入数据11执行的期望任务的输入查询(例如,使用第一输入数据11对存在/不存在特定参数的预测)。

举例来说,由第二神经网络5生成的值可以用于调整或修改第一神经网络4的至少一个层4a-4c的一个或多个参数。在一些示例中,第二神经网络5适于生成针对第一神经网络4的每个层4a-4c的每个参数的修改值(例如,第一神经网络4的层的权重或偏差的值)。

因此,图1中图示参数7的每个箭头可以表示第一神经网络4的相应层的至少一个权重、偏差或其他修改值。

提供神经网络修改器6以使用由第二神经网络5生成的任务特异性参数来修改第一神经网络4。举例来说,神经网络修改器可以修改第一神经网络4的一个或多个层4a-4c的一个或多个参数。

以这种方式,神经网络修改器6能够使第一神经网络4基于由第二神经网络5生成的参数来适于执行期望任务(例如,对特定参数的存在/不存在的预测)。

举例来说,神经网络修改器6可以基于由第二神经网络5生成的参数来适当加权(即,改变其值)或者以其他方式修改第一神经网络4的每个层4a-4c的至少一个参数。

优选地,第一输入数据11包括对象/患者的临床/医学信息(例如,X射线图像或ECG迹线),并且第二输入数据12包括用于确认或拒绝特定体征/症状/诊断的存在或特定体征/症状/诊断的存在的假设的查询。因此,第一输入数据11可以包括对象的临床/医学信息,并且第二输入数据12可以包括对象的假设诊断或体征/症状。

例如,第一输入数据11可以包括对象骨骼的X射线图像,并且第二输入数据12可以包括关于以下示例的查询:对象是否骨折;对象是否患有骨软骨瘤;或对象是否患有肩峰下撞击症。第二神经网络5使第一神经网络4适于解决由第二输入数据12指示的任务(例如确定对象是否骨折了)。

举另一个说明性示例,第一输入数据11可以包括对象的医学图像(例如,X射线图像或CT扫描),并且第二输入数据12可以包括关于医学图像是否描绘了肿瘤的查询。在该示例中,第二神经网络5生成用于修改第一神经网络4的参数,使得当经修改的第一神经网络4处理第一输入数据11时,经修改的第一神经网络4预测医学图像是否描绘了肿瘤。因此,输出数据15提供了医学图像(即,第一输入数据11)是否描绘了肿瘤的指示。

举另一个说明性示例,第一输入数据11可以包括对象的ECG迹线的信息,并且第二输入数据12可以包括关于对象是否患有以下各项中的一项的查询(或假设):心动过速,心脏病发作,患有高钾血症,心房颤动等。第二神经网络5能够调适或修改第一神经网络4,使得第一神经网络4处理ECG迹线以建立对第二输入数据12的查询的答案(例如“对象是否患有高钾血症?”)或者确认或拒绝由第二输入数据12提供的假设(例如“对象患有高血钾症”)或者提供假设为真的概率。

优选地,输出数据15指示对由第二输入数据12指示的假设的确认或拒绝或者指示该假设为真的可能性的概率值。换句话说,第一神经网络4的作用能够是确认或拒绝通用假设或者为该通用假设提供概率值——其中,第二神经网络5然后使第一神经网络4适应于特定的假设。

因此,由第二输入数据12提供的假设指示要被执行的任务(即,拒绝还是不拒绝由第二输入数据12指定的假设)。

针对对象的胸部的X射线图像的假设的示例包括:存在肺炎;存在肿瘤;存在钙质沉着;肺中有流体等。

因此,第二输入数据12可以定义要由第一神经网络4执行的确认/拒绝任务或概率确定任务。因此,第二神经网络5可以适于定制第一神经网络4以预测(由第二输入数据12定义的)假设是正确的可能性或者确认/拒绝该假设——例如根据统计评估或者可能性是否大于预定百分比。

第一神经网络4可以输出二进制结果,从而指示对假设的确认或拒绝(例如,肿瘤的存在或不存在),或者输出假设正确的百分比可能性(例如,存在肿瘤的机会为80%)。

在其他示例中,神经网络系统1适于提供诊断信息作为输出数据,其中,第一输入数据11和第二输入数据12是医学数据(例如,医学图像或报告)。

举例来说,第一输入数据11可以包括医学图像,并且第二输入数据12可以包括医学报告。可以处理医学报告以识别疾病名称或症状,该疾病名称或症状被提供为第二输入数据12。

然后,第二神经网络5可以使第一神经网络4适于基于医学图像来生成预测的最终诊断,其中,预测过程(即,第一神经网络)是基于在医学报告中提供的信息来调适的。这样的产品在(例如关于医学图像与医学报告之间的关系)培训临床医生或其他工作人员时特别有用。

循环神经网络(例如,基于长短期记忆的网络)可以用于将自由文本(即,无结构文本)转换成用作第二输入数据12的结构化的输入查询。这例如避免了在医学报告手动提取标签的需求。

在另外的实施例中,第二神经网络5适于进一步基于第三输入数据13来生成参数7,该第三输入数据提供关于第一输入数据11的信息。

举例来说,在第一输入数据11包括对象的医学图像的情况下,第三输入数据13可以包括(图像的)元数据(例如,图像捕获方法(例如,X射线或CT扫描)、暴露时间、位置、视图等)或对象特异性信息(例如,年龄、性别、诊断信息、症状信息等)。

这样的实施例使得能够针对第一输入数据11对第一神经网络4进行定制或个性化,从而在执行由第二输入数据12识别的特定任务时提高神经网络系统的预测准确度。

已经认识到,由第三输入数据13提供的信息能够对如由第二输入数据12所指示的期望任务的(实际)结果产生影响。因此,第二神经网络5可以使用第三输入数据13来适当修改第一神经网络4以反映第三输入数据的这种影响。

例如,对象中存在第一疾病能够使得更有可能/更不可能存在另一种疾病。因此,如果第二输入数据12指示确定是否存在第一疾病的期望任务(例如并且第一输入数据11提供对象的X射线图像)并且第三输入数据指示已知存在第二疾病会提高第一疾病存在的可能性,则第二神经网络5可以修改第一神经网络4,使得第一神经网络4更有可能确定第一疾病的存在。

这提高了由神经网络系统1执行的预测或任务的准确度。换句话说,所提出的神经网络系统使得能够考虑第三输入数据与输出数据之间的依赖性。

第一输入数据11、第二输入数据12或(任选的)第三输入数据13中任一个的值是二进制的、分类的或连续的。

第一神经网络和第二神经网络中的每个可以包括具有卷积层或全连接层的神经网络。每个网络的输出(即,参数7和输出数据15)是其输入值的连续函数——这意味着能够使用标准的随机梯度下降方法来训练这两个神经网络——其中,梯度信息是从标准反向传播算法中获得的。

可以根据任何已知的网络架构来形成第一神经网络4和第二神经网络5。然而,“DenseNet”架构特别适合用作第一神经网络4,因为它的每层使用很少的滤波器——这使得第二神经网络5能够很高效。

特别地,DenseNet架构的每个层都使用所有先前层的特征图(即,输出)作为输入。因此,由于特征被重复使用,因此DenseNet与竞争的网络架构相比实现等同或更好的效能所需的参数要少得多。换句话说,第二神经网络5需要生成比本领域中已知的其他神经网络更少的参数,并且因此提供了更有效的神经网络系统。

在Huang,G.、Liu,Z.、Weinberger,K.Q.和van der Maaten,L的“Denselyconnected convolutional networks”(关于计算机视觉和图案识别的IEEE会议论文集,2017年7月,第1卷,第2期,第3页)中阐述了适合于在本发明的一些实施例中用作神经网络的“DenseNet”架构的完整说明。

第二神经网络5的设计可以取决于第一神经网络4的设计。特别地,第二神经网络5可以被设计为使得由第二神经网络5提供的参数7的数量与第一神经网络4的参数的最大可能数量相匹配。

这例如可以通过对第一神经网络4的所有层4a-4c中的所有参数求和来执行。单个卷积层中的参数的数量N

N

其中,N

本领域技术人员将意识到,不同类型的层可以使用不同的公式(即,与公式(1)中呈现的公式不同的公式)来计算用于由第二神经网络修改的参数数量。例如,长短期记忆、全连接和/或可分离的卷积层将被不同地构造为卷积层,并且因此可能需要不同的方法来计算其中包含的参数数量N

已经认识到,对于第二神经网络5,在第二输入数据12与应用的预期输入维度相匹配并且由第二神经网络输出的参数7的数量与第一神经网络4中存在的参数的数量相匹配的约束下,卷积层和/或全连接层中的几个层(即,<10个连续层)通常足以生成用于第一神经网络4的合适参数。

当然,由第二神经网络5产生的参数中的一个或多个参数的值可以为0。以这种方式,第二神经网络5能够控制第一神经网络4的拓扑(即,通过排除一些来自第一神经网络4的层或处理步骤4a-4c的权重、偏差、变量或参数)。这提高了第二神经网络5对第一神经网络4的控制水平,从而提高了神经网络系统1的可自适应性。

换句话说,通过使得第二神经网络5能够将第一神经网络4的一个或多个参数(以及因此变量)设置为零(0)或空值,第二神经网络5可以适于控制第一神经网络4的拓扑或架构。

因此,提出了能够针对期望任务进行自我调适的神经网络系统1。特别地,通过使得临床医生或其他用户能够(经由第二输入数据12或查询)输入关于能够被测试的第一输入数据11的假设,神经网络系统1使得能够进行交互式假设生成和测试。

为了提供背景示例,图2和图3分别图示了根据本发明的实施例的第一网络和对应的第二网络。

在每幅图中,图示了网络的不同层以及每个相应层的输入形状“in”和输出形状“out”。本领域技术人员将很好地意识到,“输入形状”是指由神经网络的给定层接收的数据结构或数据格式(即,向量/矩阵/张量结构/大小),并且“输出形状”是指由神经网络的给定层提供的(即,要由后续层接收的)数据结构或数据输出(即,向量/矩阵/张量结构/大小)。

首先参考图2,第一网络包括适于处理第一输入数据从而生成输出数据的一系列层。这里,第一输入数据包括灰度(单通道)256×256图像,并且输出数据是表示特定假设为真的概率的单个值。因此,与输入数据相关联的数据结构或格式为(256,256,1),并且输出数据的数据结构或格式为(1)。

第一网络的每个层适于对前一层的输出执行特定任务。

输入层Image_In接收256×256图像的像素值(即,第一输入数据)。由于它是输入层,因此输入层的输出具有形状(256,256,1)。在一些示例中,输入层可以是归一化层。

二维卷积层Conv2D_1、Conv2D_2、Conv2D_3对前一层的输出执行卷积运算。卷积过程对于本领域技术人员将是众所周知的。在所图示的场景中,每个卷积层使用大小为3×3,步长为1且填充为零的2D滤波器内核来执行卷积过程(即,将零添加到输入矩阵的边缘,使得卷积的输出为与输入的大小相同,这是本领域中已知的构思)。要添加到输入的边缘的零行/列的数量取决于滤波器的大小,对于3×3滤波器,填充大小为1。

池化层Pool_1、Pool_2、Pool_3对前一层的输出执行池化操作。这里,池化层对前一层的输出执行最大池化过程。在所图示的场景中,池化层执行2×2的最大池化,其步长为2。

不同的池化层AveragePool对前一层的输出执行平均池化过程。

输出层Pred_Out是密集或全连接层,该密集或全连接层对前一层的输出执行线性运算。随后能够通过S型激活函数来生成表示特定假设为真的概率的单个输出值(即,输出数据)。密集或全连接层中的权重的数量等于输入通道的数量N

第一网络包括上述这些层的一系列序列,这一系列序列被顺序地应用于输入数据,从而生成输出层。在所图示的示例中,在输出层生成输出数据之前,使用三个卷积池化层对来处理输入层的输出。

表1为每个层(层名称)说明了权重(Weights)和偏差(Biases)的数据结构。表1还图示了与每个层相关联的对应数量的参数(例如,如使用公式(1)所计算的参数)。

因此,对于具有(3,3,1,16)的权重结构和(16)的偏差结构的卷积层,参数总数为160。

在该示例中,权重结构表示(k

为了使得更清楚,表1还说明了针对每个层的作为输入(输入形状)而接收的和作为输出(输出形状)而提供的形状或数据结构。本领域技术人员将很好地理解,输入形状指示由神经网络层接收的数据结构,并且输出形状指示由神经网络层输出的数据结构。

由于池化操作的性质,池化层不需要权重和/或偏差(即,参数)。类似地,输入层不需要权重和/或偏差,因此不与任何参数相关联。

表1

第二神经网络旨在生成针对第一神经网络的相关层的任务特异性权重和/或偏差(即,参数)。因此,第二神经网络适于使第一神经网络适于执行特定任务或预测特定结果。

因此,在所图示的场景中(如表1所示),第二神经网络必须生成八个具有不同数据结构的不同参数输出,以提供总共23361个参数。因此,应当为卷积层Conv2D_1、Conv2D_2、Conv2D_3和输出层Pred_Out中的每个生成权重和偏差。

图3图示了适合于为图2的第一神经网络生成任务特异性权重和/或偏差的第二神经网络。

图3的第二神经网络包括两个输入层Query_In和Meta_In。

查询输入层Query_In接收指示要对第一输入数据执行的期望任务的第二输入数据。例如,第二输入数据可以包括对可自适应神经网络系统的指示要被执行的期望任务的输入查询。第二输入数据的大小可以被预先设置(例如具有大小14)。在特定示例中,循环神经网络(例如,基于长短期记忆的网络)将自由文本(即,无结构文本)转换成结构化的输入查询,该结构化的输入查询充当查询输入层Query_In的第二输入数据。

元数据输入层Meta_In接收提供关于第一输入数据的信息的第三输入数据。换句话说,元数据输入层接收提供关于第一输入数据的信息的元数据。

密集层Dense_3、Dense_4、Dense_5、Dense_6、Dense_7、Dense_8、Dense_9、Dense_10、Dense_11、Dense_12均对前一层的输出执行线性运算以生成输出。密集层的操作对于技术人员将是众所周知的。

级联层Conc_1将多个层的输出(即,两个或更多个数据结构)进行级联以形成单个输出(即,单个数据结构)。级联层的操作对于技术人员也是众所周知的。

重塑层Reshape1_C1W、Reshape2_C1B、Reshape_C2W、Reshape4_C2B、Reshape5_C3W、Reshape6_C3B、Reshape7_OutW、Reshape8_OutB重塑或重整前一层的输出形状以形成重塑输出,其在不同数据结构中具有相同的值。

在所图示的示例中,第二网络采用两种输入类型:具有14维向量的第二输入数据,以及具有9维向量的第三输入数据。最初,每个输入分别由相应的子网络(即,第一子网络:Dense_1、Dense_2;以及第二子网络:Dense_3、Dense_4)来处理。在神经网络的更深处,它们的输出与级联层Conc_1级联在一起。在一些示例中,级联可以替代地在针对每种输入类型的输入层之后直接发生(例如,在输入层处级联向量以使输入向量为23)。然后,第二网络的子网络的级联输出向量用作用于计算针对第一网络的权重和偏差的输入。

在一些示例中,第一子网络Dense_1、Dense_2以及第二子网络Dense_3和Dense_4的每个密集层之后是非线性激活层,或者使用诸如ReLU层之类的非线性激活函数而得到处理。然而,如果密集层像ReLU层一样具有非线性,则每个子网络只能由两个密集层形成。

级联层Conc_1的输出用作针对多个不同的另外的子网络中的每个子网络的输入,所述每个子网络都生成针对第一神经网络的层的(一个或多个)权重或(一个或多个)偏差。

这里的每个另外的子网络包括密集层(例如,Dense_5)和重塑层(例如,Reshape1_C1W)。

第一组子网络生成针对第一神经网络的每个(需要权重的)相应层的权重,并且第二组子网络生成针对第一神经网络的每个(需要权重的)相应层的偏差。

这里,重塑层用作第二神经网络的输出层。特别地,重塑层将数据结构重塑成用于提供针对第一神经网络的层的权重或偏差的格式。每个重塑层的输出是分别为需要权重和/或偏差的第一神经网络的每个层提供权重和/或偏差的数据结构。

返回图2,第一网络共有八层,其中只有四层具有任何相关联的参数,即:Conv2D_1、Conv2D_2、Conv2D_3和Pred_Out。为了提供针对这些层中的每个层的权重和偏差,图3的第二神经网络提供了四个输出(以提供四个层中的每个层的权重和偏差)。每个输出具有适合于提供针对第一神经网络的特定层的相应权重或偏差的数据结构。

在图3中,后缀W表示权重,并且后缀B表示偏差。后缀C1指卷积层Conv2D_1,后缀C2指卷积层Conv2D_2,后缀C3指卷积层Conv2D_3,并且后缀Out指图1的第一神经网络的输出层Pred_Out。

Reshape1_C1W提供针对第一神经网络的卷积层Conv2D_1(即,“C1”)的权重(由后缀W表示)。Reshape2_C1B提供针对第一神经网络的卷积层Conv2D_1(即,“C1”)的偏差(由后缀B表示)。

Reshape3_C2W提供针对第一神经网络的卷积层Conv2D_2(即,“C2”)的权重(由后缀W表示)。Reshape4_C2B提供针对第一神经网络的卷积层Conv2D_2(即,“C2”)的偏差(由后缀B表示)。

Reshape5_C3W提供针对第一神经网络的卷积层Conv2D_3(即,“C3”)的权重(由后缀W表示)。Reshape6_C3B提供针对第一神经网络的卷积层Conv2D_3(即,“C3”)的偏差(由后缀B表示)。

Reshape7_OutW提供针对第一神经网络的输出层Pred_Out(即,“Out”)的权重(由后缀W表示)。Reshape8_OutB提供针对第一神经网络的输出层Pred_Out(即,“Out”)的偏差(由后缀B表示)。

由第二神经网络生成的权重和偏差(即,参数)被提供为第一神经网络的相关层的权重和偏差。第一网络4能够使用新的权重和偏差对给定的第一输入数据做出预测。

以这种方式,第二输入数据(表示期望任务)和第三输入数据(表示第一输入数据的元数据)能够影响对第一输入数据的处理。这允许第一神经网络适于至少基于期望任务(由第二输入数据指示)来执行任务或者预测输出。

特别地,第二神经网络适于接收指示要由第一神经网络执行的期望任务的第二输入数据并生成针对第一神经网络的权重和偏差。

可以根据任何已知的神经网络训练机制来训练第二神经网络,例如使用基于梯度下降的训练系统或遗传算法来训练第二神经网络。

图4图示了根据本发明的实施例的方法40。该方法使用包括第一神经网络4的可自适应神经网络系统(如先前所描述的那些可自适应神经网络系统)来处理第一输入数据11。

该方法包括步骤41,步骤41使用第二神经网络5来生成针对第一神经网络4的至少一个任务特异性参数7。特别地,步骤41基于第二输入数据12来生成至少一个任务特异性参数7,第二输入数据12指示要对第一输入数据执行的期望任务(例如,预测任务)。

方法40还包括步骤42,步骤42基于至少一个任务特异性参数7来修改第一神经网络4。因此,步骤42使第一神经网络4适于期望任务,使得经修改的第一神经网络4’针对期望任务(由第二输入数据12指示)得到定制。

然后,方法40执行步骤43,步骤43通过使用经修改的第一神经网络4’处理第一输入数据11来生成输出数据15。因此,经个性化或调适的神经网络4’生成输出数据15。

该方法通过基于指示特定任务的第二输入数据12修改第一神经网络4来使得神经网络系统能够适于执行特定任务。第二输入数据12由第二神经网络5处理以生成参数7或用于修改第一神经网络以执行特定任务的修改值。

在一些实施例中,步骤41包括进一步基于提供关于第一输入数据11的信息的第三输入数据13来生成至少一个任务特异性参数7。因此,可以同时使用第二输入数据12和第三输入数据13来生成(一个或多个)任务特异性参数以用于修改第一神经网络4。

本发明的一些实施例可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的方面的计算机可读程序指令的(一个或多个)计算机可读存储介质。因此,计算机可读存储介质能够是有形设备,其能够保留和存储指令以供指令运行设备(例如,控制器、处理器或处理系统)使用以运行根据本发明的方法。

本文参考方法、装置(系统)和计算机程序产品的流程图图示和/或框图描述了本发明的一些实施例。应当理解,流程图图示和/或框图中的每个框以及流程图图示和/或框图中的框的组合能够由计算机可读程序指令来实施。

附图中的流程图和框图图示了根据本发明的各个实施例的系统、方法和计算机程序产品的可能的实施方式的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示指令的模块、片段或部分,其包括用于实施(一个或多个)指定的逻辑功能的一个或多个可执行指令。

在一些备选实现方式中,框中指出的功能可以不按图中指出的顺序发生。例如,取决于所涉及的功能,实际上可以基本上同时执行相继示出的两个框,或者有时可以以相反的顺序执行这些框。还应注意,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合能够由执行指定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实施。

总而言之,各个实施例提供了由两个神经网络4、5形成的可自适应神经网络系统1。每当一个神经网络5接收到新的指示期望任务的第二输入数据12时,其中的一个神经网络5就基于关于特定任务的信息来调整其中的另一个神经网络4的结构,使得另一个神经网络4适于执行该特定任务。因此,能够实现能够对输入数据11执行不同任务的可自适应神经网络系统1。

本领域技术人员通过研究附图、公开内容以及权利要求,在实践请求保护的发明时能够理解并实现对所公开的实施例的变型。在权利要求中,“包括”一词不排除其他元件或步骤,并且词语“一”或“一个”不排除多个。单个处理器或其他单元可以实现在权利要求中记载的若干项的功能。虽然某些措施被记载在互不相同的从属权利要求中,但是这并不指示不能有利地使用这些措施的组合。计算机程序可以被存储/分布在合适的介质上,例如,与其他硬件一起或作为其他硬件的部分而供应的光学存储介质或固态介质,但是也可以以其他形式分布,例如,经由互联网或其他有线或无线的电信系统进行分布。权利要求中的任何附图标记都不应被解释为对范围的限制。

相关技术
  • 基于抗饱和有限时间自适应神经网络容错技术的四旋翼植保无人机跟踪控制方法
  • 一种自适应神经网络交通流预测的混沌搜索优化方法
技术分类

06120112579687