振荡忆阻神经形态电路的学习算法的制作方法

文档序号:18413551发布日期:2019-08-13 19:03阅读:271来源:国知局
振荡忆阻神经形态电路的学习算法的制作方法

本申请要求于2016年10月27日提交的美国临时申请号62/413,673的优先权的利益,该申请的全部内容特此通过引用被并入本文。

背景

忆阻器是无源非线性双端电气部件。在忆阻器中,设备的电阻取决于先前流经设备的历史电流。因此,忆阻器在任何给定时间的电阻或阻抗取决于先前有多少电荷以及以何种方向流经忆阻器。

忆阻器对于突触网络的应用被提议为在神经形态电路发展的领域中有前途的方法。忆阻器与基于互补金属氧化物半导体(cmos)的电路一起并入到交叉突触网络中,以用于突触前和突触后的电压控制。这些电路证明了基于cmos的电压和电流控制可以用于产生忆阻器的电阻或阻抗(例如,存储)的变化。

发明概述

在一个示例实施例中,神经形态电路学习网络包括多个神经形态电路节点,其中每个神经形态电路节点包括识别神经元单元和生成神经元单元。该网络还包括在神经形态电路节点中的识别神经元单元之间的多个神经形态电路前馈耦合器以及在神经形态电路节点中的生成神经元单元之间的多个神经形态电路反馈耦合器。学习控制器被配置为在第一模式中通过神经形态电路前馈耦合器来驱动在识别神经元单元之间的活动,并且训练生成神经元单元,以用于通过神经形态电路反馈耦合器进行学习。学习控制器还被配置为在第二模式中通过神经形态电路反馈耦合器来驱动在生成神经元单元之间的活动,并且训练识别神经元单元,以用于通过神经形态电路前馈耦合器进行学习。

在各个例子中,神经形态电路前馈耦合器和神经形态电路反馈耦合器可以包括一个或更多个忆阻器。忆阻器可以包括与长时程抑制(ltd)忆阻器并联布置的长时程增强(ltp)忆阻器,并且前馈耦合器和反馈耦合器还可以包括差分放大器,该差分放大器基于来自ltp忆阻器和ltd忆阻器的输出信号之间的差来产生差分信号。

在另一实施例中,训练神经形态电路学习网络的方法包括在第一模式中通过在多个神经形态电路节点中的前馈耦合器来驱动在多个神经形态电路节点中的识别神经元单元之间的活动。该方法还包括训练在多个神经形态电路节点中的生成神经元单元,以用于通过在多个神经形态电路节点中的反馈耦合器进行学习。

在第二模式中,该方法还包括通过反馈耦合器来驱动在多个神经形态电路中的生成神经元单元之间的活动,以及训练识别神经元单元,以用于通过前馈耦合器进行学习。

在其他方面中,神经形态电路节点可以在神经形态电路学习网络中形成多个层,并且该方法还可以包括在第一模式中向在神经形态电路学习网络中的最低层显示训练示例。该方法还可以包括在第二模式中向在神经形态电路学习网络中的最高层显示随机向量。

附图简述

参考下面的附图可以更好地理解本公开的许多方面。在附图中的部件不一定按比例绘制,而是强调清楚地说明本公开的原理。在附图中,类似的参考数字在几个视图中指定相应的部分。

图1a和图1b图示了根据本文描述的各个示例的可用于忆阻学习的电压信号的示例。

图2图示了根据本文描述的各个示例的纳入忆阻学习的概念的示例神经形态电路。

图3进一步图示了根据本文描述的各个示例的图2所示的示例神经形态电路。

图4图示了根据本文描述的各个示例的示例神经形态电路网络。

图5图示了根据本文描述的各个示例的图4所示的神经形态电路网络的一部分。

图6图示了根据本文描述的各个示例的用于训练图4和图5所示的神经形态电路网络的示例过程。

详细描述

如上面所提到的,在神经形态电路发展的领域中提出了忆阻器对于突触网络的应用。例如,忆阻器与基于互补金属氧化物半导体(cmos)的电路一起并入到交叉突触网络内,以用于突触前和突触后的电压控制。这些电路证明了基于cmos的电压和电流控制可以用于产生忆阻器的电阻或阻抗(例如,存储)的变化。

本文描述的概念针对使用忆阻突触和振荡神经元的基于硬件的神经网络(例如,神经形态电路和硬件)以及用于训练这种网络的方法。该方法是局部化的,且不需要外部电路来进行权重更新、脉冲生成或事件检测。本文描述的学习规则的目标是近似用于训练神经网络的delta规则。在机器学习中,delta规则是用于更新在单层神经网络中的人工神经元的输入的权重的梯度下降学习规则。

对于线性神经元,delta规则的形式如下:

δwji=α(tj-yj)xi(1)

在方程式(1)中,δwji是从神经元i到神经元j的权重的变化,α是恒定的学习速率,tj-yj是神经元j的误差,其中yj是它的实际输出而tj是它的目标输出,以及xi是神经元i的输出。

如果神经元j的实际输出小于它的目标,则权重更新为正。这将有效地增加神经元j的输出,如果再次示出相同的输入,则减少了误差。类似地,如果实际输出大于它的目标,则权重更新为负。这有直观上的意义,因为权重应该被更新以最小化误差的绝对值。

具有不同激活功能的不同类型的神经元将产生不同版本的delta规则。然而,对误差tj-yj的依赖性保持相同,并且是规则中的最关键的一部分。因此,对delta规则的近似保持对误差tj-yj的依赖性。

然而,标准的基于速率的神经元可以只表示电流或电压的形式的实值数,而基于振荡的神经元能够表示具有幅度和相位的复值数。本文描述的学习概念使用基于振荡的神经元的振荡的幅度来将表示xi和yj的信息传输到其他基于振荡的神经元,而振荡的相位用于修改它与其他基于振荡的神经元的连接强度。

两个神经元的振荡信号可以用于通过利用忆阻器的特性(被称为阈值电压)来更新在它们之间的连接权重。如果在忆阻器的阈值电压之下,则没有电阻(以及因而权重)的变化出现。然而,如果在该阈值之上,则电阻将根据在忆阻器两端的电压降的方向(例如,极性)而增加或减小。这一特性在脉冲神经元模型(spikingneuronmodel)中用于实现峰值时间相关可塑性(spike-timing-dependentplasticity)(stdp)。然而,还没有描述过振荡的、基于相位的神经元模型的类似规则。

图1a和1b图示了根据本文描述的各个示例的可用于忆阻学习的电压信号的示例。在图1a和图1b中,由两个不同的振荡器产生的两个电压信号被叠加。电压信号分别对应于随着时间推移的在忆阻器的相对端(即,忆阻器的前端和后端)处的电压。忆阻器前突触电压信号是整流的正弦波(实线),而忆阻器后突触电压信号是未整流的正弦波(虚线)。

在图1a中,忆阻器前电压信号和忆阻器后电压信号是同相的。在这种情况下,在忆阻器两端的最大电压降为0.5v,其可能低于忆阻器的阈值电压。因此,在忆阻器中没有出现电阻的变化。在图1b中,忆阻器前电压信号和忆阻器后电压信号是异相的。在这种情况下,在忆阻器两端的最大电压降为1.5v,其可能大于忆阻器的阈值电压。因此,对于图1b的情况而不是图1a的情况,在忆阻器中出现电阻的变化。在这个结构下,是否改变或更新权重(例如,忆阻器的操作特性或电阻)取决于忆阻器前电压和忆阻器后电压的相对相位。这表明通过改变在两个振荡器或基于振荡的神经元之间的相对相位可以改变忆阻,类似于stdp。

在典型的前馈神经网络中,神经元的活动不受当前误差或未来权重更新的影响。由于此,重要的是,特定神经元的活动不受它的误差或它的权重在给定时间变化的方向的影响。因此,在所提出的学习概念中,确定活动的基于振荡的神经元的振荡的幅度可以独立于管理学习的基于振荡的神经元的振荡相位来进行控制,并且通过误差进行引导。

如果将图1a和图1b所示的忆阻器前电压信号或后电压信号施加在忆阻器两端,则可以表明通过忆阻器的总电流与在图1a和图1b所示的电压信号之间的相位差无关。这可以通过观察1a和图1b来理解。为了满足上述标准,从突触前神经元流到突触后神经元的电流应该与两个基于振荡的神经元的相对相位无关。这可以通过在进入突触后基于振荡的神经元之前,在突触忆阻器之后直接添加泄漏积分器、低通滤波器或者移动平均滤波器来方便地实现。由于单纯的正弦波的积分为零,因此只有来自突触前神经元的整流后的正弦波将有助于电流流到突触后神经元中。换句话说,由于在图1a和图1b中示出的忆阻器后电压信号(虚线)的积分是相同的,因此不管图1a和图1b中示出的哪一对信号施加在忆阻器两端,总电流将是相同的,而与这对信号的相对相位无关。

因此,可以证明忆阻连接的强度可以通过调节两个基于振荡的神经元的相对相位来改变,以及从一个基于振荡的神经元进入到另一个基于振荡的神经元的总输入与该相对相位无关。基于这一发现,下面描述了实现对delta规则的有效近似的架构。

图2图示了根据本文描述的各个示例的并入忆阻学习的概念的示例神经形态电路10。如图2所示,可以通过观察代表两个不同神经元的两个振荡器xi和yj来理解该架构。振荡器xi和yj可以被体现为任何合适类型的振荡器,诸如锁相环。因此,振荡器xi和yj可以包括产生输出信号的控制系统,该输出信号具有与输入信号的相位相关的相位。作为一个示例,振荡器xi和yj可以包括耦合在反馈控制回路中的可变频率振荡器和相位检测器。振荡器可以产生周期性振荡的输出信号,以及相位检测器可以将输出信号的相位与周期性输入信号的相位进行比较。相位检测器的输出可以作为输入被提供到可变频率振荡器,以保持输入和输出信号的相位匹配。

两个基于振荡的神经元xi和yj由包括两个忆阻器21和22的突触20耦合。在一个示例中,来自基于振荡的神经元xi和yj的电压输出被假设为单纯的正弦波(例如,参见图2中的波形a和g),尽管也可以使用其他波形。在图2所示的结构中,突触后基于振荡的神经元yj接收来自突触前基于振荡的神经元xi的输入。另外,忆阻器21和22代表突触,该突触表示在两个基于振荡的神经元xi和yj之间的连接“权重”。两个忆阻器21和22表示单个突触,并且如下所述允许正连接和负连接。

在各个实施例中,忆阻器21和22可以被体现为具有阈值电压的、基于或根据先前流经忆阻器的电荷量来调节电流的流动的任何合适的忆阻器。例如,忆阻器21和22中的每一个的电阻不是恒定的,而是取决于先前流经它们中的每一个的历史电流量。因此,忆阻器21和22中的每一个在任何给定时间的电阻取决于先前有多少电荷和以何种方向流经设备。

在突触20中的忆阻器21和22中的一个可以被指定为长时程增强(ltp)忆阻器,而另一个可以被指定为长时程抑制(lts)忆阻器。通过增加ltp忆阻器的电导率,在两个振荡器xi和yj之间的连接强度被加强。另一方面,通过增加ltd忆阻器的电导率,在两个振荡器xi和yj之间的连接得到削弱。

二极管30设置在基于振荡的神经元xi的输出端处。如在图2中的波形b中所示,二极管30对振荡器xi的正弦波输出进行整流。然后,该经整流的信号被传递到包括两个忆阻器21和22的突触20。突触20中的忆阻器21和22还接收单独的忆阻器后正弦反馈信号,该信号以基于振荡的神经元yj的误差为基础。然后,这些反馈信号通过改变忆阻器21和22的相位来修改忆阻器21和22之一的电阻(这取决于突触20是被加强还是被削弱)。

在突触20之后,在两个忆阻器21和22之间流动的电流差可以由差分放大器40确定,并作为差分反馈信号被提供。差分放大器40的输出可以传递到低通滤波器42,该低通滤波器42对差分反馈信号进行积分并消除在输入和反馈信号之间的相位差的影响。然后,来自低通滤波器42的相对恒定的电流作为输入被提供到基于振荡的神经元yj。

由于两个原因,神经形态电路10使用双忆阻器突触20而不是单忆阻器突触。第一个原因是双忆阻器突触允许正权重和负权重的实际实施。通过使一个忆阻器(例如,ltd忆阻器)充当负权重而另一个忆阻器(例如,ltp忆阻器)充当正权重,可以减去通过每个忆阻器的电流以给出正或负的电流。

第二个原因是所提出的学习概念一次只允许两个忆阻器21和22中的一个被加强或削弱(这取决于在xi处的电压如何被整流)。同时具有正忆阻器和负忆阻器允许通过简单地加强正忆阻器来加强突触20。另一方面,突触20可以通过加强负忆阻器被削弱。

为了防止忆阻器21和22的饱和持续加强,可以改变(例如,二极管30的)电压整流的方向,同时反转来自基于振荡的神经元xi和yj的电流。通过这种方式,动力学保持相同,然而忆阻器21和22中的每一个现在都得到削弱而不是加强。然后,使这两种状态交替可以防止饱和。

图3进一步图示了图2所示的示例神经形态电路10。为了更新在两个基于振荡的神经元xj和yj之间的连接“权重”,比较器52确定目标输出tj和实际输出yj之间的差。比较器52的输出代表在目标输出和实际输出yj之间的误差。如果该误差为正,则到负忆阻器22的反馈信号例如保持与它的输入信号同相,而到正忆阻器21的反馈信号例如传递通过延迟级54,使得它与它的输入信号反相(即,在相位上相反)。因此,这将如由delta规则所需的加强突触20。在tj和yj之间的差为负的相反情况下,到正忆阻器21的反馈信号保持同相,而到负忆阻器22的反馈信号变成反相。通过这种方式,只要学习速率α足够低,关于每种训练情况的误差的绝对值就将减小。只要输入信号被同步,这就可以推广到多个输入单元和多个输出单元的情况。

转到学习算法,可以使用上面所述的基于振荡的忆阻学习概念来在神经形态电路硬件中实现各种类型的深度学习算法。这些算法中的两个示例包括无监督神经网络的唤醒-睡眠算法和监督神经网络的目标传播。目标传播方法是对反向传播算法的有效近似。这些算法中的每一个都利用单纯局部的delta规则用于权重更新,因此与上面所述的基于振荡的忆阻学习概念兼容。在转到学习算法的更详细讨论之前,针对上下文介绍了包括上述概念的示例神经形态电路网络。

图4图示了根据本文描述的各个示例的示例神经形态电路网络100。该神经形态电路网络100包括节点50和51的第一层或输入层、节点60-62的第一隐藏层以及节点70和71的第二隐藏层。网络100是代表性的,并且在其他情况下其他神经形态电路网络可以包括任何其他合适数量的层和每层的节点。

如下面参考图5进一步详细描述的,节点50、51、60-62、70和71中的每一个可以包括一对基于振荡的神经元或单元,类似于图2和图3中所示的基于振荡的神经元或单元xi和yj。基于振荡的神经元之一被描述为“识别”神经元或单元,并且包括在神经形态电路网络100中的前馈网络的一部分。基于振荡的神经元中的另一个被描述为“生成”神经元或单元,并且包括在神经形态电路网络100中的反馈网络的一部分。如上所述,每个基于振荡的神经元携带被编码为振幅的活动的水平和被编码为相位的学习的误差。

如图4所示,神经形态电路网络100(除此之外)还包括多个神经形态电路前馈耦合器80和81(连同其他)和反馈耦合器90和91。特别地,神经形态电路网络100包括在节点50、51、60-62、70和71中的识别神经元之间的多个神经形态电路前馈耦合器。每个前馈耦合器可以被体现为包括类似于图2和3所示的神经形态电路突触20的一对忆阻器的神经形态电路突触。此外,神经形态电路网络100包括在节点50、51、60-62、70和71中的生成神经元之间的多个神经形态电路反馈耦合器。每个反馈耦合器可以被体现为类似于图2和3所示的神经形态电路突触20的神经形态电路突触。

图5图示了根据本文描述的各个示例的图4所示的神经形态电路网络100的一部分。图5图示了在输入层的节点50中的基于振荡的识别神经元ra和生成神经元ga、在第一隐藏层的节点60中的识别神经元rb和生成神经元gb以及在第二隐藏层的节点70中的识别神经元rc和生成神经元gc。再次,网络100是代表性的,并且在其他情况下可以包括任何合适数量的层和每层的节点。

如图5所示,神经形态电路网络100还包括在识别神经元ra、rb和rc(以及在其他节点中的其他识别神经元)之间的多个前馈耦合器。每个前馈耦合器可以被体现为包括如上面参考图2和图3所述的一对忆阻器和其他电路元件的神经形态电路突触。为了说明神经形态电路网络100的互连层节点结构,神经形态电路前馈突触可以被构造成将活动(例如,振幅)从每个前一级节点电耦合到每个后一级节点。在图5中,使用虚线以代表性的方式绘制这些前馈连接中的一些。因此,输入到任何给定识别神经元的活动可以被形成为来自在前一级节点中的所有识别神经元的一种组合或整合水平的活动。

神经形态电路网络100还包括在生成神经元gc、gb和ga(以及在其他节点中的其他生成神经元)之间的多个反馈耦合器。每个反馈耦合器可以被体现为包括如上面参考图2和图3所述的一对忆阻器和其他电路元件的神经形态电路突触。再次,为了说明神经形态电路网络100的互连层节点结构,神经形态电路反馈突触可以被构造成将活动(例如,振幅)从每个前一级节点电耦合到每个后一级节点。在图5中,使用虚线以代表性的方式绘制这些反馈连接中的一些。因此,输入到任何给定的生成神经元的活动可以被形成为来自前一级节点中的所有生成神经元的一种组合或整合水平的活动。

神经形态电路网络100还包括如本文所述的协调神经形态电路网络100的操作的控制器200。该控制器200可以被体现为一个或更多个任何合适的处理电路(包括一个或更多个状态机、可编程门阵列、通用处理器、专用集成电路)或其他处理电路(包括相关存储器设备),以协调本文描述的算法。

参考神经形态电路网络100,唤醒-睡眠算法随着时间推移在多个唤醒和睡眠阶段或模式中继续进行。在唤醒阶段中,训练示例被显示给网络中的最低层(例如,节点50、51等),并且可以被编码为每个识别神经元ra、rb和rc中的振幅的每个识别神经元ra、rb和rc的活动通过前馈耦合器沿神经形态电路网络100被向上驱动。

在唤醒阶段期间,也训练每一个生成神经元gc、gb和ga进行学习。基于识别神经元rc的活动水平,使用本文描述的delta规则来训练生成神经元gc进行学习,其中识别神经元rc充当训练的目标。类似地,基于识别神经元rb的活动水平来训练生成神经元gb进行学习,其中识别神经元rb充当训练的目标,以及基于识别神经元ra的活动水平来训练生成神经元ga进行学习,其中识别神经元ra充当训练的目标。

作为训练生成神经元gb进行学习的更具体的示例,如果生成神经元gb的活动水平低于(例如,在振幅上低于)识别神经元rb,则生成神经元gb被训练(即,在相位上进行调节),使得具有较低活动水平的前一级生成神经元的反馈耦合器被加强,和/或具有较高活动水平的前一级生成神经元的反馈耦合器被削弱。另一方面,如果生成神经元gb的活动水平高于(例如,在振幅上高于)识别神经元rb,则生成神经元gb被训练(即,在相位上进行调节),使得具有较高活动水平的前一级生成神经元的反馈耦合器被加强,和/或具有较低活动水平的前一级生成神经元的反馈耦合器被削弱。

在睡眠阶段期间,唤醒阶段的相反情况出现。原因的随机向量被显示给网络中的最高层,并且生成神经元gc、gb和ga用于沿着神经形态电路网络100驱动活动。然后,识别神经元ra、rb和rc被训练以在神经形态电路网络100中再现该活动。

然而,在神经形态电路网络100中使用两个单独且互补的神经网络,而不是使用比较器和延迟级来计算每级处的误差。互补的神经网络管理识别路径和生成路径。因此,可以使用图4和图5所示的神经形态电路网络100来实现唤醒-睡眠算法,其中识别和生成单元充当彼此的目标(这取决于网络是处于唤醒阶段还是睡眠阶段中)。然后,可以根据上面参考图2和3描述的基于振荡的忆阻学习规则来(例如,通过将信息编码到神经元的相位中以调节突触连接权重)更新与神经形态电路突触相关联的权重。

除了唤醒-睡眠算法之外,目标传播是监督学习算法,其目的是充当对反向传播算法的局部近似。由于delta规则是针对单层神经网络设计的,它的一般化—反向传播可以用于多层神经网络或深度神经网络。然而,反向传播不是局部学习算法,因此它对于神经形态电路并不是理想的。很像在真实大脑中,当每个权重只需要来自它在神经形态电路中连接的两个神经元的信息时,学习算法是最简单的。这是学习算法中“局部性”的本质。目标传播有效地对反向传播算法进行近似,同时保持这个局部性。

为了理解目标传播,理解反向传播算法如何工作可能是有帮助的。对于在多层神经网络中的最后一层,权重更新规则与delta规则相同,因为网络的实际目标是立即可用的。然而,对于中间层或“隐藏”层,这些神经元如何影响网络试图将其最小化的总平方误差并不明显。因此,不可能知道是增加还是减小它们的活动。

用于改变在隐藏层神经元中的权重的一个重要度量是对由这些隐藏层神经元引起的或由于这些隐藏层神经元而造成的误差的贡献。例如,如果隐藏层神经元的活动增加,则那个变化增加或减小总平方误差?如果变化减小了误差,则进入那个神经元内的活动的权重或平衡应该增加,因为这将减小总平方误差。如果变化增加了误差,则进入那个神经元内的活动的权重或平衡应该减小。因此,反向传播通过经由相对于总平方误差取导数在分析上计算这些贡献来工作。

在目标传播中,估计对总平方误差的这些贡献。这通过使用单独的单层反馈网络来实现,该网络在每个隐藏层处使用delta规则来操作。该网络被训练来反转前向网络或主网络的权重,使得它成为每个隐藏层神经元对总平方误差的贡献的有效估计量。这是可能的,因为误差的实际贡献仅取决于神经元的前馈权重和在输出层或目标层中的每个神经元的误差。如果误差通过反馈权重(其反转前馈权重)被发送回,则这将给出对在一个或更多个隐藏层中的每个神经元的误差的贡献的良好近似。在计算误差的贡献之后,这可以用作隐藏层神经元的新目标,隐藏层神经元然后可以使用delta规则来进行训练。然后,对网络中的每个隐藏层重复这个过程,直到整个网络都被训练为止。

该算法可以使用与上面对唤醒-睡眠算法所述的相同的技术来实现,除了不传递回在上述层中的活动,而是传递回在上述层中的误差之外。为了训练反馈权重以反转前馈权重,可以将网络训练为自动编码器。也就是说,输出层示出一组目标,活动通过反馈权重被传递,然后活动通过前馈权重被传递回,以获得目标的“重建”。然后,使用重建作为yj并使用原始目标作为tj根据delta规则来训练反馈权重。

图6说明了根据本文描述的各个示例的用于训练图4和图5所示的神经形态电路网络的示例过程。图6所示的过程图提供了可用于训练神经形态电路网络的一系列步骤的一个示例。参考图4和图5所示的神经形态电路网络,通过代表性示例提供了图6所示的步骤的安排,但是这些步骤可以用于训练其他类型的神经形态电路网络。步骤的顺序也可以不同于所描绘的顺序。例如,两个或更多个步骤的执行的顺序可相对于所示的顺序被打乱。此外,在一些情况下,两个或多个步骤可以同时或部分同时地被执行,并且一个或更多个步骤可以被跳过或省略。此外,该过程可以循环或持续某个时间段,直到训练达到学习规则或算法(诸如,delta规则)的合适的阈值或目标为止。

在步骤102开始,该过程包括将训练信息提供给神经形态电路网络中的最低层,其中神经形态电路网络包括多个神经形态电路节点。参考图4和图5中所示的神经形态电路网络100作为示例,控制器200可以在步骤102向神经形态电路网络100中的最低层(例如,节点50、51等)提供或显示训练示例。训练示例可以包括用于训练神经形态电路网络100的任何合适的信息。

在步骤104,该过程包括通过前馈耦合器来驱动在神经形态电路节点中的识别神经元单元之间的活动。例如,可以被编码为每个识别神经元ra、rb和rc中的振幅的图5中的识别神经元ra、rb和rc之间的活动可以通过前馈耦合器80、81等沿神经形态电路网络100被向上驱动。

在步骤106,该过程包括训练在多个神经形态电路节点中的生成神经元单元,以用于通过反馈耦合器进行学习。参考图5作为示例,在步骤106,每一个生成神经元gc、gb和ga都被训练进行学习。可以基于识别神经元rc的活动水平,使用本文描述的delta规则来训练生成神经元gc进行学习,其中神经元rc充当训练的目标。类似地,可以基于识别神经元rb的活动水平来训练生成神经元gb进行学习,其中识别神经元rb充当训练的目标,以及可以基于识别神经元ra的活动水平来训练生成神经元ga进行学习,其中识别神经元ra充当训练的目标。

在一些情况下,步骤102、104和106中的一个或更多个可以在第一阶段(例如,唤醒阶段)或操作模式中同时或部分同时地被执行。在必要的程度上,控制器200可以在步骤102、104和106期间指导对神经形态电路网络100的训练的操作。

转到步骤108,该过程包括将原因的随机向量提供给网络中的最高层。参考图4和图5中所示的神经形态电路网络100作为示例,控制器200可以在步骤108向神经形态电路网络100中的最高层(例如,节点70、71等)提供或示出原因的随机向量。原因的随机向量可以包括任何合适的随机信息或数据。

在提供原因的随机向量的情况下,该过程包括在步骤110通过反馈耦合器来驱动生成神经元单元之间的活动。在这里,在第二阶段(例如,睡眠阶段)或操作模式期间,与唤醒阶段相反的情况出现。在步骤110,生成神经元gc、gb和ga用于通过反馈耦合器90、91等沿着神经形态电路网络100驱动活动。此外,在步骤112,识别神经元ra、rb和rc被训练以通过前馈耦合器80、81等在神经形态电路网络100中再现该活动。

在一些情况下,步骤108、110和112中的一个或更多个可以在第二阶段(例如,睡眠阶段)或操作模式中同时或部分同时地被执行。在必要的程度上,控制器200可以在步骤108、110和112期间指导对神经形态电路网络100的训练的操作。此外,该过程可以循环或持续某个时间段,例如,诸如直到训练达到合适的阈值或目标为止。

控制器200可以包括至少一个处理电路。该处理电路可以包括经由本地内部接口耦合到彼此的一个或更多个处理器和一个或更多个存储设备。存储设备可以存储由处理电路的一个或更多个处理器可执行的数据或部件。

控制器200和本文描述的其他部件可以作为由硬件可执行的软件部件或者作为软件和硬件的组合以硬件的形式来体现。如体现为硬件,则本文描述的部件可以被实现为采用任何合适的硬件技术的电路或状态机。硬件技术可以包括一个或更多个微处理器、具有用于在应用一个或更多个数据信号时实现各种逻辑功能的逻辑门的分立逻辑电路、具有适当的逻辑门的asic、可编程逻辑设备(例如,现场可编程门阵列(fpga)和复杂可编程逻辑设备(cpld))。

此外,包括软件或程序指令的本文所述的一个或更多个部件可被体现在任何非暂时性计算机可读介质中,以用于供指令执行系统(诸如,计算机系统或其它系统中的处理器)使用或与其结合。计算机可读介质可以包含、存储或维护软件或程序指令,以用于供指令执行系统使用或与其结合。

计算机可读介质可以包括物理介质,诸如磁性、光学、半导体或其他合适的介质。合适的计算机可读介质的示例包括但不限于固态驱动器、磁性驱动器、闪存。此外,可以以各种方式来实现和构造本文所述的任何逻辑或部件。

尽管在本文详细描述了实施例,但是这些描述是作为示例。本文描述的实施例的特征是代表性的,并且在可替代的实施例中,某些特征和元素可以被添加或省略。此外,对本文描述的实施例的方面的修改可以由本领域中的技术人员做出而不偏离在权利要求中限定的本发明的精神和范围,权利要求的范围应符合最宽的解释,以便包括修改和等同结构。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1