当前位置: 首页 > 专利查询>ams有限公司专利>正文

用模拟神经元的单个物理层实现多层神经网络制造技术

技术编号:29503048 阅读:16 留言:0更新日期:2021-07-30 19:17
本发明专利技术描述了一种包括多层模拟神经网络和系统控制器的系统。多层模拟神经网络具有单层物理模拟神经元,其可重复使用以实现多层模拟神经网络。每个物理模拟神经元被配置为接收神经元输入并处理该神经元输入以生成神经元输出,该神经元输出作为输入被馈送到单层的所有物理模拟神经元,并且每个物理模拟神经元包括相应的权重存储器。系统控制器可操作用于:针对每个物理模拟神经元获得相应的神经元权重向量集,其中每个神经元权重向量对应于多层模拟神经网络的多个层中的相应层;针对每个物理模拟神经元,在物理模拟神经元的相应权重存储器中存储相应的神经元权重集;接收多层模拟神经网络的网络输入;以及通过重复使用单层物理模拟神经元来通过多个层处理网络输入以生成网络输出,其中对于多个层的每一层,每个物理模拟神经元使用对应于当前层的相应神经元权重向量集中的神经元权重向量来处理物理模拟神经元的神经元输入。

【技术实现步骤摘要】
【国外来华专利技术】用模拟神经元的单个物理层实现多层神经网络神经网络是机器学习模型,其采用一层或多层非线性单元来针对接收的输入预测输出。一些神经网络包括输入层、输出层和一个或多个位于其间的隐藏层。每层包括一个或多个神经元。特定层的每个神经元连接到前一层的所有神经元和后一层的所有神经元。每一层的输出被用作网络中下一层,即下一隐藏层或输出层的输入。网络的每一层根据相应权重集的当前值从接收的输入生成输出。本说明书描述了使用单层物理模拟神经元实现多层模拟神经网络的技术。通常,本说明书中描述的主题的一个创新方面可以体现在包括多层模拟神经网络和系统控制器的系统中。多层模拟神经网络具有单层物理模拟神经元,其可重复使用以实现多层模拟神经网络的多个层。每个物理模拟神经元被配置为接收神经元输入并处理该神经元输入以生成神经元输出,该神经元输出作为输入被馈送到单层的所有物理模拟神经元,并且每个物理模拟神经元包括相应的权重存储器。单层的每个物理模拟神经元中的权重存储器存储在随机存取存储器(RAM)中。系统控制器针对每个物理模拟神经元获得相应的神经元权重向量集,每个神经元权重向量对应于多层模拟神经网络的多个层中的相应层。神经元权重向量包括多个神经元权重。每个神经元权重都有一个整数值。系统控制器针对每个物理模拟神经元在物理模拟神经元的相应的权重存储器中存储相应的神经元权重集;接收多层模拟神经网络的网络输入;并且通过重复使用单层物理模拟神经元来通过多个层处理网络输入以生成网络输出。对于多层中的每一层,每个物理模拟神经元使用对应于当前层的相应神经元权重向量集中的神经元权重向量来处理物理模拟神经元的神经元输入。为了通过重复使用单层物理模拟神经元来通过多个层处理网络输入以生成网络输出,系统控制器执行多个计算周期,每个计算周期对应于多个层的相应层。对于每个计算周期,系统控制器使单层的每个物理模拟神经元的神经元控制器同步地(i)将对应于当前层的神经元权重向量加载到模拟计算单元,以及(ii)将当前层的物理模拟神经元的神经元输入加载到模拟计算单元。系统控制器然后使每个物理模拟神经元的模拟计算单元使用物理模拟神经元的加载的神经元权重向量和加载的神经元输入来计算神经元输出;并且使得每个物理模拟神经元的神经元控制器将物理模拟神经元的计算的神经元输出作为输入提供给单层的所有物理模拟神经元用于下一个计算周期。在计算相应的神经元输出之前,每个物理模拟神经元的模拟计算单元使用数模转换器(DAC)将加载的神经元输入从数字格式转换为模拟格式,并且使用转换后的模拟格式的神经元输入进行计算。为了计算相应的神经元输出,每个物理模拟神经元的模拟计算单元对物理模拟神经元的加载的神经元权重向量和转换的模拟神经元输入(以模拟格式)应用非线性函数。一旦获得每个神经元的相应的神经元输出,模拟计算单元就向单层的所有物理模拟神经元提供相应的神经元输出用于下一个计算周期。在对应于多个层的最后一层的最后一个计算周期中,每个物理模拟神经元的模拟计算单元使用模数转换器(ADC)将神经元输出从模拟格式转换为数字格式。本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。图1示出了包括由单层物理模拟神经元实现的多层模拟神经元网络的示例芯片的架构。图2示出了示例性的物理模拟神经元的架构。图3示出了由模拟神经元的模拟计算单元执行的输出缓冲机制。图4是通过使用由单层物理模拟神经元实现的多层模拟神经网络在给定网络输入的情况下生成网络输出的示例性过程的流程图。在不同附图中,相同的附图标记和名称表示相同的元件。神经网络被广泛用于执行机器学习任务,例如模式识别或分类任务。神经网络通常包括输入层、输出层以及在它们之间的一个或多个隐藏层。每层包括一个或多个神经元。特定层的每个神经元连接到前一层的所有神经元和后一层的所有神经元。每个连接都有相应的权重。每一层的输出被用作神经网络中下一层,即下一隐藏层或输出层的输入。神经网络的每一层根据该层的相应权重集的当前值从接收的输入生成输出。一旦输入数据被提供给神经网络的输入层,数据就沿着加权连接通过整个神经网络传播。即,神经网络通过每个层来处理输入数据,并获得输出层的输出作为神经网络的最终输出。最终输出包括由输出层的神经元生成的输出,其中每个神经元的输出可以表示输入数据可以被分配到一起的其中一个分类集(或类别)。具有带有最高值的输出的神经元可以发信号通知结果(例如,分类结果、回归结果等),该结果由神经网络针对给定的输入数据取得。为了使神经网络学会执行机器学习任务,需要大量的预分类训练样本来训练神经网络。每个训练样本包括训练输入和针对训练输入的相应的先验(ground-truth)输出。每个训练输入由神经网络处理以生成相应的输出。然后,将神经网络生成的输出与训练输入的相应先验(输出进行比较。在训练过程中,调整神经网络(或参数)的权值,使得神经网络生成的输出更接近先验输出。对于所有预分类的训练样本,该训练过程被重复多次,直到满足一个或多个标准,例如,直到神经网络达到期望的精度水平。传统上,神经网络的大多数实现是软件实现,其中神经网络及其相应的神经元在物理上不存在。相反,这些神经网络是由数字处理器执行的计算机程序,并且因此可以被称为数字神经网络。数字神经网络是在基于软件的环境中实现的,因此它们需要通用处理器(如CPU或GPU)来训练和执行神经网络模型。这种通用处理器在许多应用中,例如嵌入式系统或传感器是不可用的。此外,因为由数字神经网络执行的计算是数字计算,所以数字神经网络消耗大量计算资源,并且对于需要实时或接近实时响应的高性能任务(例如,机器人手操纵任务或自动驾驶汽车导航任务)来说可能较慢。为了克服数字神经网络的缺点,本说明书描述了用于实现模拟神经网络的技术,该模拟神经网络是用物理上存在的模拟组件构建的。通过模拟神经网络传播数据所需的计算至少部分地作为模拟计算来执行,而不需要数字处理器。因此,与传统的数字神经网络相比,所描述的模拟神经网络具有以下技术优势:-高度并行,因为所有神经元可以同时运行-快速执行,因为计算是简单的模拟运行-低功耗,因为数据处理效率高-适用于嵌入式系统和传感器,因为不需要CPU或GPU此外,这里描述的技术允许通过重复使用单层物理模拟神经元来实现多层模拟神经网络。如下所述,创建具有单层物理模拟神经元但可以作为多层神经网络工作的模拟神经网络的能力提供了更大的灵活性和可扩展性(与用于实现模拟神经网络的现有方法相比)。·灵活性当使用神经网络解决问题时,可能不清楚哪种神经网络架构最适合给定的问题。神经网络体系架构通常是根据类似问题的经验和自动试错法确定的。对于不同的问题,隐藏层的数量和每个隐藏层的神经元数量通常是不同的。现有方法构建具有固定数量物理层的模拟神经网络来解决一个或多个问题,从而在随后需要时阻止对模拟神经网络体系架构的改变。这使得模拟神经网络在许多情况下不太有用或不可用。例如,当一个问题需要本文档来自技高网...

【技术保护点】
1.一种系统,包括:/n具有单层物理模拟神经元的多层模拟神经网络,所述多层模拟神经网络可重复使用以实现多层模拟神经网络的多个层,其中每个物理模拟神经元被配置为接收神经元输入并处理神经元输入以生成神经元输出,所述神经元输出作为输入被馈送到所述单层的所有物理模拟神经元,并且其中每个物理模拟神经元包括相应的权重存储器;/n系统控制器,可操作用于:/n针对每个物理模拟神经元,获得相应的神经元权重向量集,每个神经元权重向量对应于多层模拟神经网络的多个层中的相应层;/n针对每个物理模拟神经元,在所述物理模拟神经元的相应权重存储器中存储相应的神经元权重集;/n接收多层模拟神经网络的网络输入;和/n通过重复使用单层物理模拟神经元来通过多个层处理网络输入以生成网络输出,/n其中对于所述多个层中的每一层,每个物理模拟神经元使用对应于当前层的相应神经元权重向量集中的神经元权重向量来处理所述物理模拟神经元的神经元输入。/n

【技术特征摘要】
【国外来华专利技术】20181219 US 62/782,204;20190416 US 62/834,7191.一种系统,包括:
具有单层物理模拟神经元的多层模拟神经网络,所述多层模拟神经网络可重复使用以实现多层模拟神经网络的多个层,其中每个物理模拟神经元被配置为接收神经元输入并处理神经元输入以生成神经元输出,所述神经元输出作为输入被馈送到所述单层的所有物理模拟神经元,并且其中每个物理模拟神经元包括相应的权重存储器;
系统控制器,可操作用于:
针对每个物理模拟神经元,获得相应的神经元权重向量集,每个神经元权重向量对应于多层模拟神经网络的多个层中的相应层;
针对每个物理模拟神经元,在所述物理模拟神经元的相应权重存储器中存储相应的神经元权重集;
接收多层模拟神经网络的网络输入;和
通过重复使用单层物理模拟神经元来通过多个层处理网络输入以生成网络输出,
其中对于所述多个层中的每一层,每个物理模拟神经元使用对应于当前层的相应神经元权重向量集中的神经元权重向量来处理所述物理模拟神经元的神经元输入。


2.根据权利要求1所述的系统,其中每个物理模拟神经元还包括神经元控制器和模拟计算单元,并且
其中所述系统控制器能够操作来通过所述多个层处理网络输入,以通过以下方式通过重复使用单层物理模拟神经元来生成网络输出:
执行多个计算周期,每个计算周期对应于多个层中的相应层,其中对于每个计算周期,所述系统控制器能够操作用于:
使所述单层的每个物理模拟神经元的神经元控制器同步地(i)将对应于当前层的神经元权重向量加载到所述模拟计算单元,以及(ii)将当前层的物理模拟神经元的神经元输入加载到所述模拟计算单元;
使每个物理模拟神经元的模拟计算单元使用所述物理模拟神经元的加载的神经元权重向量和加载的神经元输入来计算神经元输出;和
使每个物理模拟神经元的神经元控制器将物理模拟神经元的计算的神经元输出作为输入提供给所述单层的所有物理模拟神经元,用于下一个计算周期。


3.根据权利要求2所述的系统,其中对于每个计算周期,所述系统控制器能够操作来将识别当前层的数据发送到每个物理模拟神经元的神经元控制器。


4.根据权利要求2或3所述的系统,其中对于每个计算周期,所述系统控制器能够操作以使所述神经元控制器使用数模转换器(DAC)将加载的神经元输入从数字格式转换为模拟格式。


5.根据权利要求2、3或4所述的系统,其中对于每个计算周期,所述系统控制器能够操作以通过以下方式使每个物理模拟神经元的模拟计算单元使用所述物理模拟神经元的加载的神经元权重向量和加载的神经元输入来计算神经元输出:
使每个物理模拟神经元的模拟计算单元对加载的神经元权重向量和转换的模拟神经元输入应用非线性函数,以计算所述神经元输出。


6.根据权利要求5所述的系统,其中对于对应于多个层的最后一层的最后一个计算周期,所述系统控制器能够操作来使每个物理模拟神经元的神经元控制器使用模数转换器(ADC)将计算的神经元输出从模拟格式转换成数字格式。


7.根据权利要求1至6中任一项所述的系统,其中所述单层的每个物理模拟神经元中的权重存储器存储...

【专利技术属性】
技术研发人员:E哈塞尔斯泰纳P扬舍尔F梅尔B米尼克霍夫B普钦格G普罗米策
申请(专利权)人:ams有限公司
类型:发明
国别省市:奥地利;AT

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1