人工神经元装置的制作方法

文档序号:15884502发布日期:2018-11-09 18:35阅读:323来源:国知局
人工神经元装置的制作方法

本发明总体上涉及人工神经元装置,并且更具体地涉及基于电阻式存储器单元的人工神经元。

神经形态学技术涉及受神经系统生物学结构启发的计算系统。常规计算系统基于二进制逻辑和连续冯诺依曼体系结构。虽然执行诸如数值计算等任务的效率很高,但这些系统中外部存储器与处理器之间的分隔会导致耗能的数据移动。与人脑相比,传统的计算模式在功耗和空间需求方面效率非常低。这些问题促使人们开展了大量的研究工作,以了解人类大脑的高效计算范例,并创造了具有前所未有的计算能力的人工认知系统。例如,战略意图是开发能够在诸如“大数据”分析和真实感官应用等计算密集型任务中执行基于事件的计算的“神经形态协处理器”。

神经元与突触一起是大脑中的基本计算单位。神经元可以整合它接收到的输入信号。在生物神经元中,使用薄的脂质双层膜来分离单元内部和外部的电荷。表示存储的神经元状态的膜电位通过神经元输入信号的到达而逐渐改变。当膜电位超过特定的电压阈值时,神经元将“发射”,产生称为“动作电位”或“尖峰”的输出信号,然后恢复到其初始状态。这些尖峰通过突触传递给其他神经元,由于神经元活动而改变它们的连接强度(“可塑性”或“突触权重”)。

有效的人工神经元的实现对神经形态技术具有根本重要性。大多数人工神经元的先前提议是基于混合模拟/数字vlsi电路,需要复杂的具有大量晶体管的cmos电路来模拟神经元功能。诸如相变存储器(pcm)单元之类的电阻式存储器单元也被认为是实现神经硬件的合适候选者(参见例如“theovoniccognitivecomputer-anewparadigm(ovonic认知计算机-一种新的范式)”,ovshinsky,proc.e/pcos,2004,和“novelapplicationspossibilitiesforphase-changematerialsanddevices(相变材料和器件的新颖应用可能性)”,wright等,proc.e/pcos,2013)。电阻式存储器单元是可编程电阻器件,其依赖于布置在一对电极之间的一定体积电阻材料的可变电阻特性。这些单元是忆阻器,即记忆流过它们的电流历史的器件。基于mott忆阻器的神经元电路也已在pickett等人在naturematerials(自然材料),2013发表的“ascalableneuristorbuiltwithmottmemristors(用mott忆阻器构建的可扩展神经元电阻器)”中提出。

现有的基于忆阻装置的人工神经元只涉及模拟整合-射击功能或模拟生物动作电位的形状。有效的人工神经元在神经网络配置中运行的具体实现仍然是一个挑战。



技术实现要素:

根据本发明的至少一个实施例,提供了一种人工神经元装置。该装置包括连接在输入电路中的电阻式存储单元,该电路具有用于接收神经元输入信号的神经元输入,以及用于向该单元提供读取电流的电流源。响应于一组控制信号,输入电路可选择性地配置,定义交替的读取和写入操作阶段,以在读取阶段期间将读取电流施加到单元并在写入阶段期间,收到神经元输入信号,将编程电流施加到单元,以编程单元电阻。响应于连续的神经元输入信号,单元电阻从第一状态逐渐变为第二状态。该设备还包括输出电路,该输出电路包括神经元输出和连接到输入电路的数字锁存器,用于接收取决于单元电阻的测量信号。锁存器可响应于读取阶段而操作,以锁存取决于测量信号的数字值。如果单元电阻未达到第二状态,则锁存第一值,如果单元电阻已达到第二状态,则锁存第二值。如果第二值被锁存,则输出电路适于在写入阶段期间在神经元输出处提供神经元输出信号。

体现本发明的装置提供了适用于神经网络配置中的连接和操作的高效神经元实现。神经元电路允许紧凑的实现,允许神经形态网络的高密度集成。用于读取和写入操作阶段的神经元电路的配置由一个或多个控制信号控制。这样的控制信号可以是简单的周期性信号,例如可以从系统时钟容易地产生,并且可以容易地应用于多个神经元电路,以便对多神经元网络进行有效的全局控制。

在神经元装置的优选实施例中,响应于神经元输出信号,输入电路还是可配置的,响应于神经元输出信号将复位电流施加到所述单元以将单元电阻重置为第一状态。在这些实施例中,神经元输出信号或“尖峰”被方便地用于在写入阶段期间实现单元的重置,使得神经元恢复到其初始状态以准备进行新的操作循环。

输出电路最好包括一个连接在锁存器和神经元输出之间的逻辑门,响应于写入阶段,逻辑门可操作,以当第二个值被锁存时,提供神经元输出信号。利用这种安排,神经元尖峰便于同步到写入阶段,促进神经元的互连与来自提供神经元输入信号的一个神经元的尖峰以同步排列,该神经元输入信号同步到下一个神经元的写入阶段。

输入电路可以包括连接在单元的第一端子和电路的参考端子之间的至少一个接入设备,用于响应于所述读取阶段和所述神经元输入信号而使电流流过该单元。在优选实施例中,输入电路包括连接在单元的第一端子和参考端子之间的相应接入装置,用于响应于所述读取阶段、所述神经元输入信号和所述神经元输出信号,使电流流过单元。在神经元输入电路中使用这些接入设备可以在读取和写入阶段简单控制单元操作。在这里的优选实现中,电流源连接到单元的第二端子,并且输入电路包括连接到第二端子的开关,开关可操作以在写入阶段期间将编程电流施加到单元。这提供了简单的输入电路配置,并且将在下面进一步描述使用这种配置的简单输出电路。

本发明的至少一个进一步的实施例提供了一种神经形态系统,其包括多个互连的神经元,每个神经元包括根据上述实施例的神经元装置和用于生成被提供给系统中的至少多个神经元的该组控制信号的控制信号生成器。

下面将参照附图,通过说明性和非限制性示例,更详细地描述本发明的实施例。

附图说明

图1是相变存储单元中渐进结晶的示意图;

图2示出了根据本发明的一个或多个实施例的人工神经元装置;

图3是指示图2装置的操作的示意性时序图;

图4示出了根据本发明的一个或多个实施例的人工神经元装置;

图5是表示图4装置的操作的示意时序图;

图6示出了根据本发明的一个或多个实施例的用于神经元装置中的数字锁存器的一个实现;

图7示出了用于图4的神经元装置中的或非(nor)门的一个实现;以及

图8是根据本发明的一个或多个实施例配置的基于神经元的神经形态系统的示意图。

具体实施方式

待描述的实施例提供了基于电阻式存储单元的人工神经元装置。在下面的例子中,电阻式存储单元是pcm单元。pcm单元的可变电阻特性通过在单元电极之间加热一定体积的硫属化物材料而产生,以便改变硫属化物体积中(高电阻)非晶相和(低电阻)晶相的相对比例。如果低于某个阈值开关电压的电压通过电极施加到单元上,则电流将会很小,以至于只有很少的焦耳热量被施加,并且在单元体积中基本上没有导致的相变。但是,如果施加高于阈值电压的编程(或“写入”)信号,则在通过电子阈值切换现象施加脉冲期间,单元电阻降至非常低的值。这使得大的电流的流动,会导致显著的焦耳热应用和随后的相变。对于最初处于高电阻状态的单元,基于单元特性和电路设计的具有一定输入功率和持续时间的编程脉冲的施加引起非晶区的部分结晶,随之在编程之后降低单元电阻。这些单元显示出累积特性,由此通过施加许多这样的编程脉冲,与初始高电阻状态相比,存储器单元的电阻可以逐渐减小到非常低的值。可以在任何时候通过向电极施加低电压信号并测量通过单元产生的电流来测量(或“读取”)单元电阻。读操作的信号电平足够低,使得读操作不会干扰编程的单元状态。

上面的过程在图1中示意性地示出。该图示出了pcm单元的电导(电阻的倒数)作为编程脉冲的数量的函数的单元状态的演变。图1所示的单元是“蘑菇单元”型,具有设置在第一“顶部”电极和第二“底部”电极之间的硫属化物材料,例如gst(锗-锑-碲)。较小的底部电极用作加热器,用于加热在其他晶体材料内的非晶硫族化合物的圆顶。由于电极之间存在高电阻非晶圆顶,电阻初始为高(低电导)。连续的编程脉冲引起非晶体体积的部分结晶,由此单元电阻逐渐减小。经过一定数量的脉冲后,电导梯度急剧上升,导致单元转换到低电阻(高电导)状态。通过施加足够功率的脉冲来熔化邻近底部电极的硫属化物材料,可将单元重置为其初始高电阻状态。高电阻无定形圆顶随后在冷却时恢复。

图2是示出根据本发明的一个或多个实施例的第一神经元装置1的结构的示意性框图。神经元装置1包括由可变电阻2表示的pcm单元,并且可以是如放大图中所示的蘑菇单元类型。pcm单元2连接在输入电路3中。输入电路3具有用于在操作中接收神经元输入信号的神经元输入端4。神经元输入信号可以由神经元1连接的神经形态系统中的一个或多个其他电路产生。例如,可以提供来自其他神经元的输出信号,例如经由突触电路,作为神经元1的输入信号。表示外部神经元刺激的信号,例如,来自仿真感觉受体的电路也可以作为神经元输入信号提供。

输入电路3包括用于在操作中向pcm单元2提供恒定读取电流iread的电流源5。响应于定义交替的读取和写入(编程)操作阶段的一组控制信号,输入电路3可选择性地配置。这些控制信号由如6所示的控制信号发生器产生,其可以在神经元1的外部提供,并且可以向神经形态系统中的多个神经元提供控制信号。通常,该组控制信号可以包括一个或多个控制信号,并且输入电路3可以响应于这些信号中的一个或多个而选择性地可配置。在这个实施例中,控制信号包括一个读取信号(read),它包括如图2中示意性表示的周期性矩形脉冲序列。当读信号为高时,神经元操作的读阶段发生。神经元操作的写入阶段发生在读取信号低的期间。具体地,一个或多个实施例中的控制信号包括包含周期性矩形脉冲串的写入信号(write),并且写入阶段对应于该写入信号高的期间。这发生在read为低的期间,由此read和write信号在操作中定义交替的读取和写入阶段。为该实施例设置的控制信号还包括与读取信号read相反的信号

输入电路3还包括一组接入装置,用于在操作中使电流流过pcm单元2。一个或多个实施例采用三个接入装置,这些接入装置在此通过fet(场效应晶体管)7、8和9实现,fet7、8和9连接在单元2的第一(这里是较低的)端子和电路的参考端子,这里是信号地(即地),之间。响应于读取阶段,第一fet7的栅极接收读取信号read并且使电流流过单元2。第二fet8的栅极连接到神经元输入4,并且响应于神经元输入信号使电流流过单元2。如下所述,第三fet9的栅极接收在神经元1的输出端产生的神经元输出信号或“尖峰”,从而响应于该信号使电流流过单元2。电流源5连接在单元2的第二(这里是上部)端子和第一电压供应线vdd之间。输入电路还包括连接在上单元端子和第二电压供应线vdda之间的开关10。如果访问设备8或9被启用,则开关10可响应于控制信号来操作以在操作的写入阶段期间向单元施加编程电流。特别地,当控制信号为高时,开关10闭合,在此期间以及此后在写入阶段期间在write为高时将单元2连接至电源线vdda。电压vdda通常高于电压vdd,以提供对于单元2的编程足够高的高编程电流。

神经元1另外包括一个表示为12的输出电路。输出电路12包括一个神经元输出端13和数字锁存器14。锁存器14在本实施例中通过一个反相器15连接到输入电路3,用于接收操作中依赖于单元电阻的测量信号。特别是,测量信号被提供给锁存器的数据输入端d。读取控制信号read被提供给锁存器的使能输入le。当其使能输入le变高时,即响应于由read=高定义的操作的读取阶段,锁存器操作以锁存依赖于测量信号的数字值。所得到的锁存值在锁存输出q处提供。当锁存使能输入le变为低电平,即read=低时,锁存输出q保持与le最后一次高时的情况。

本实施例的输出电路12还包括连接在锁存器14和神经元输出端13之间的逻辑门,这里是与门16。与门16的一个输入端连接到锁存器输出端q,另一个输入端接收写入控制信号write。如果锁存器输出q也为高,则与门16在写入阶段(write=高)期间在输出端13处提供神经元输出信号(尖峰)。神经元尖峰因此方便地同步到写入阶段。在神经元输入信号由网络配置中的其他相似的神经元引起的尖峰产生的情况下,输入信号可以通过这种方式方便地同步到写入阶段。

神经元1的各种电路组件可以以通常已知的方式实现,并且可以使用众所周知的材料处理技术将神经元装置制造为集成纳米电子电路。例如,电流源5可以由晶体管来实现,开关10可以由晶体管或二极管来实现,并且组件14至16可以使用标准晶体管逻辑来实现。控制信号的周期性可以根据单元特性和期望的运行速度根据需要设定。举例来说,上述电路的典型信号周期可以是200至500ns。

在操作中,在read=高电平的读取阶段期间,fet7接通并且开关10断开。在此配置中,来自电流源5的读取电流iread被施加到pcm单元2。该读取电流太小而不能如之前所解释的那样改变pcm单元状态。由图2中的vpcc表示的上单元端子处产生的电压取决于pcm单元的电阻。在写入阶段,当write=高时,开关10闭合,因为也很高。如果在该阶段期间在输入端4接收到神经元输入信号,则fet8将导通,并且用于编程单元电阻的编程电流将被施加到pcm单元2。(通过适当地选择电源电压vdda,接入装置8的特性和神经元输入信号特性中的一个或组合,可以实现用于单元编程的足够大的电流,这对于本领域技术人员来说是显而易见的)。以这种方式,响应于在神经元操作的写入阶段期间接收到的连续神经元输入信号,如参照图1所解释的那样,可以将单元电阻从第一(在此为高电阻)状态逐渐改变到第二(在此为低电阻)状态。随着单元电阻改变,在读取阶段期间,提供测量信号的上部单元端子处的电压vpcc将从高值变为低值。该信号由反相器15反相,反相器15的输出因此从低变到高。特别是,当单元电阻切换到低电阻状态时,电压vpcc将穿过预定阈值vth,并且反向器输出端处的反相测量信号将从低电平切换到高电平。在此之前(即,当单元电阻未达到第二低电阻状态时),在读取阶段vpcc>vth,锁存器14的d输入为低,且第一值(此处为逻辑0)被锁存器14在读取阶段期间(锁存器输入le处的read=高)锁存。因此,锁存器输出q保持在逻辑0。随后,在单元电阻已经达到第二低电阻状态vpcc<vth的第一读取阶段,锁存器14的d输入变高,并且第二值(此处是逻辑1)在该读取阶段期间被锁存器14锁存。因此锁存器输出q切换到逻辑1。当write变高时,锁存器输出q在下一写入阶段保持高电平。然后与门16在该写入阶段期间在神经元输出13处产生尖峰。

从上面可以看出,如刚刚前一个读取阶段中的测量信号所示,如果逻辑1被锁存器14锁存,即如果单元电阻已经达到低电阻状态,神经元输出电路12在写入阶段在输出13处产生尖峰。在该实施例中,响应于该尖峰,输入电路3是可配置的,以向pcm单元2施加复位电流,以将单元电阻复位到高电阻状态。具体地,在写入阶段期间在神经元输出端13产生的尖峰被施加到fet9的栅极,使得在该写入阶段期间允许重置电流流过pcm单元2。通过适当选择访问设备9的特性、电源电压vdda和神经元输出信号特性(例如幅度和/或持续时间)中的一个或其组合,可以实现足够大的复位电流,这对于那些本领域技术人员是显而易见的。因此pcm单元2在神经元1触发的写入阶段期间被重置为其初始的预先积累状态。

如前所述,在神经元1发射时产生的尖峰可以传递给网络布置中的一个或多个其他神经元,向这些神经元提供输入信号。可以通过突触电路来传递尖峰,突触电路可以根据突触权重来修改尖峰特征(例如幅度和/或持续时间)。突触电路可以以各种方式实现,并且突触实现与本文描述的神经元的操作正交。只要理解神经元输入信号可以在形式上变化,并且它们对单元电阻编程的影响可以相应地改变就足够了。

上面描述的神经元操作在图3的信号时序图中被方便地示出。该图的顶部部分(a)示出了示例性写入(write)信号,作为定义100ns写入阶段的周期200ns的脉冲串。部分(b)示出了示例性的读取(read)信号。部分(c)显示了图中第一和第三写入阶段期间施加到输入端4的神经元输入(input)信号。区段(d)指示在接近和穿越触发阈值的阶段期间的电压vpcc。在第一个写入阶段(write=高电平),通过编程操作接收神经元输入信号并降低单元电阻。在下一个读取阶段(read=高),单元电阻仍然高于触发阈值(vpcc>vth)。在第二个写入阶段没有收到输入信号,单元电阻保持不变。在第三写入阶段,接收另外的输入信号并且进一步减小单元电阻。在下一个读取阶段,测量的单元电阻已经穿过触发阈值(vpcc<vth),如图中的圆圈所突出显示。然后如(e)部分所示,在第四写入阶段期间,神经元输出端13产生尖峰(spike)。如上所述,该尖峰影响单元的复位,由此在随后的读取阶段中测量的单元电阻恢复到其初始的高电阻状态。

将会看到,上述实施例提供了用于神经网络配置中的连接性和操作的高效的全功能神经元实现方式。该设备采用模拟组件(pcm单元,存取设备,电流源和开关)和数字组件(锁存器,反相器,与(and)逻辑门)的混合,所有这些元件通常尺寸非常小。因此,电路提供高度紧凑的神经元实现,例如通过高密度突触阵列,允许在多神经元网络中进行无缝高密度集成。用于控制电路配置的控制信号是简单的周期性信号。这些信号可以全局应用于多神经元系统中,用于神经元操作的同步,并且可以通过系统时钟轻松生成。

将参考图4和5描述体现本发明的第二神经元装置。神经元结构在图4中示出并且广泛地对应于图2的神经元结构。类似的元件由相同的附图标记表示,并且下面将描述仅有的关键区别点。该实施例的神经元20具有输入电路21,其中读取电流源由其栅极保持在偏置电压vbias的pmos(p型金属氧化物半导体)晶体管22实现。pcm单元2与电源电压vdda之间的开关也由pmos晶体管23实现。该晶体管23在其栅极接收读取控制信号read。由于pmos操作,当read为低时,晶体管23导通。因此开关23的操作等同于图2中的开关10的操作,但是不需要反相控制信号在该实施例中,控制信号发生器24产生两个控制信号read和其中是图2中write信号的反相信号。读取阶段再次由read=高限定,而写入阶段由

如前所述神经元20的输出电路25包括锁存器14,但不需要反相器。因此,锁存器14的d输入直接连接到pcm单元2的上端,并且与图2中的操作相比,锁存器输出q反相。图2的与门由输出电路中的或非门(nor)26代替。当逻辑0被锁存器14锁存时,或非门26的第二输入端接收控制信号由此响应于写入阶段门26在神经元输出端13上产生尖峰。这在单元电阻在之前的读取阶段降至低电阻状态(vpcc<vth)时发生。

在图5的时序图中针对一系列持续时间不同的神经元输入信号指示神经元20的操作。这里在第四写入阶段接收到的输入信号导致单元切换到低电阻状态。在接下来的读取阶段,测量的单元电阻已经穿过触发阈值(vpcc<vth)。然后在下一写入阶段在神经元输出端13处产生尖峰。如上所述,该尖峰影响单元的重置,由此在随后的读取阶段中测量的单元电阻恢复到其初始高电阻状态。

因此神经元20通常作为神经元1工作,但由于消除了信号,所以控制信号的数量减少,并且电路设计更加紧凑。举例来说,可以使用图6中所示的简约锁存器设计和图7中所示的或非门结构来达到仅具有15个晶体管的神经元20的实现。14nm技术节点中的神经元20的实现占据面积小于1μm2,逻辑功耗小于pcm单元2的10%。

图8是指示神经元1、20在体现本发明的神经形态系统中可以如何连接的简单示意图。系统30包括多个互连的神经元,其中三个被指示为n1、n2和n3。控制信号生成器31生成用于控制神经元电路的配置的一组全局控制信号cs。该控制信号组被提供给系统30中的至少多个神经元n1,n2,n3等,并且可以被提供给系统中的所有神经元。神经元通过在图中以行和列排列的突触阵列s相互连接。每个神经元的输出13向阵列的相应列中的所有突触s提供输入。每个神经元的输入端4从阵列相应行中所有突触接收输出。这样,每个突触s连接在相应的一对神经元之间,用于将来自一个神经元(“前神经元”)的输出信号传达到另一个神经元(“后神经元”)的输入。如前所述,突触可以根据突触权重来修改这些信号,并且系统30可以包括额外的神经元/突触连接(未示出)以允许调节突触权重,例如,基于前后神经元峰值的相对时间。然而,突触操作的细节与本文所述的神经元功能正交。

当然可以对上述示例性实施例进行许多改变和修改。例如,控制信号不一定是矩形脉冲串。例如,如果需要用于单元操作,则控制脉冲可以例如形成前沿和/或后沿。而且,使用分开的读取和写入控制信号定义上述实施例中的读取和写入阶段。这允许读取和写入阶段在时间上分开,并且它们之间具有时间间隔。以这种方式分离阶段可能是有利的,这取决于单元操作特性,特别是对于高速操作。然而,在其他实施例中,交替的读取和写入阶段可以由不同级别的单个控制信号来定义。作为进一步的例子,尽管上述实施例使用存取装置9来提供有效的单元重置机制,但是可以设想其他重置机制,例如,经由响应于尖峰事件而选择性地施加到单元的全局复位信号。电路配置可以通过不同的控制信号以及其他逻辑配置以各种其他方式进行控制,例如,使用不同的逻辑门和/或锁存输入/输出布置也是可能的。也可以设想锁存器直接连接到神经元输出的输出电路。在一些实施例中,输入电路还可以使用响应于多于一个信号以启用电流的单个访问设备,例如,一个fet用作以上多个fets7至9中的多于一个。如果需要,输入电路也可以设计成与单个电压供应线一起工作。

体现本发明的神经元当然可以使用除蘑菇型单元以外的pcm单元,以及其他电阻式存储器单元。一些示例包括电阻式ram(rram)单元,诸如导电桥rram单元、氧化物或金属氧化物rram单元以及碳rram单元。另外,上面的电路示例已经描述了其中神经元在存储器单元的低电阻状态下触发并产生输出信号,并且然后该单元被重置为高电阻状态的操作。在积累阶段,单元电阻因此通过连续的神经元输入信号逐渐减少。其他实施例可以基于神经元在单元处于高电阻状态时触发,该单元被重置为低电阻状态,并且单元电阻通过累积阶段中的连续神经元输入信号逐渐增加的操作。在这样的实施例中可以使用其中电阻可以逐渐增大的任何电阻性存储器单元,其可以包括双极型器件,其中一个示例是cbram(导电桥ram)单元。适合这种单元操作的适当的电路修改对于本领域技术人员而言将是显而易见的。

通常,除非另有说明,在这里将组件描述为连接到另一个组件的情况下,这些组件可以直接或间接连接,例如,通过中间组件。

已经出于说明的目的给出了对本发明的各种实施例的描述,但是并非旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说将是显而易见的。选择此处使用的术语是为了最好地解释实施例的原理、实际应用或对市场上发现的技术的改进,或者使本领域的其他普通技术人员能够理解本文公开的实施例。

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