CN109800870B - 一种基于忆阻器的神经网络在线学习系统 - Google Patents

一种基于忆阻器的神经网络在线学习系统 Download PDF

Info

Publication number
CN109800870B
CN109800870B CN201910021284.5A CN201910021284A CN109800870B CN 109800870 B CN109800870 B CN 109800870B CN 201910021284 A CN201910021284 A CN 201910021284A CN 109800870 B CN109800870 B CN 109800870B
Authority
CN
China
Prior art keywords
weight
neural network
memristor
calculation
calculation module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910021284.5A
Other languages
English (en)
Other versions
CN109800870A (zh
Inventor
李祎
秦超
缪向水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201910021284.5A priority Critical patent/CN109800870B/zh
Publication of CN109800870A publication Critical patent/CN109800870A/zh
Application granted granted Critical
Publication of CN109800870B publication Critical patent/CN109800870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Feedback Control In General (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于忆阻器的神经网络在线学习系统,在K位输入向量的脉冲编码方式上进行了改进,将每一位对应的编码脉冲扩展为2m个脉冲,这样总共所需的编码脉冲为K*2m个,并且每一位加权求和计算实际进行了2m次,最后在输出端进行求和取平均运算,通过此种方式减小了计算过程中偶然因素和噪声对计算结果的影响,从而提高计算的精度。忆阻器阵列同时用于前向的加权求和计算和神经网络中的权重大小存储,与离线学习不同,在线学习每输入信号,忆阻器阵列中的权重就要更新一次,通过将权重的改变量映射为脉冲个数,然后施加脉冲进行一次的权重写入操作,不仅能够提高神经网络训练的速度,而且能够降低硬件成本,减少神经网络训练的功耗。

Description

一种基于忆阻器的神经网络在线学习系统
技术领域
本发明属于人工神经网络硬件领域,更具体地,涉及一种基于忆阻器的神经网络在线学习系统。
背景技术
为了应对传统的基于CMOS技术的神经网络硬件平台在面积、速度、功耗以及“冯·诺依曼瓶颈”等方面的挑战,研究人员希望利用非易失存储器件忆阻器来构建神经网络硬件加速器,从而大幅度的提高神经网络硬件系统的性能。忆阻器用于实现神经网络硬件加速器,一方面是利用忆阻器的模拟电导特性来更好的表示突触或神经网络算法中的权重;另一方面是基于忆阻器的交叉阵列能够实现并行的矩阵向量乘法运算和权重更新。
目前,基于忆阻器的神经网络研究主要有三个方向:①基于忆阻器的脉冲神经网络,主要采用STDP无监督或STDP有监督的学习算法来训练神经网络,但是受制于神经科学的研究进展,如何有效的根据STDP规则来更新神经网络中的权重依然是脉冲神经网络需要探索和解决的主要问题。②基于忆阻器的多层感知机和卷积神经网络,其输入信息采用基于脉冲频率的编码方式,突触权重的更新方式采用更加有效的有监督的反向传播算法,训练误差能够从输出神经元层逐层反馈到输入神经元层。基于这种信息编码和权重学习规则的神经网络在训练与推断的过程中涉及大量的矩阵向量乘法运算。为了加速矩阵向量乘法运算(乘法和累加计算)以及最小化硬件中数据移动的能量消耗,基于忆阻器的硬件神经网络,通过欧姆定律和基尔霍夫电流定律,在忆阻器交叉阵列中实现并行的矩阵向量乘法运算以及原位的权重更新与存储功能。但是基于不同的输入信息编码方式以及外围神经元电路的设计方式,在实现神经网络推断和权重更新方式上具有很大的不同。③基于忆阻器的二值神经网络,它是在CNN的基础上对权重和激活函数做二值处理,即:将权值限制为+1和-1,激活函数输出值限制为+1和0或者+1和-1。由于二值神经网络在训练的过程中仍然需要对实数型的权值和激活函数值进行求梯度,并以此更新权值,所以基于忆阻器的二值神经网络主要用于离线学习过程。相对于忆阻器不稳定的模拟特性而言,实现可区分的两个权值状态的忆阻器技术要稳定很多。因此,基于忆阻器的二值神经网络实现方案在短期内更具可行性。
然而,上述基于忆阻器的神经网络大多只能进行离线的学习过程,不能够适用于权重反复更新的在线训练学习任务。
发明内容
针对现有技术的缺陷,本发明的目的在于解决现有技术基于忆阻器的神经网络存在速度慢,无法适用于在线学习的技术问题。
为实现上述目的,本发明实施例提供了一种基于忆阻器的神经网络在线学习系统,所述系统包括:输入模块,权重存储与计算模块,输出模块,计算模块,驱动电路;
所述输入模块用于将输入信号转换为K位2进制数字,对每一位上的数值0和1用低电平0和高电平Vread表示,并将每一位对应脉冲编码的周期扩展为2m个,形成连续的K*2m个编码脉冲的电信号,Vread为忆阻器的读取电压,m为小于K的非负整数;
所述权重存储与计算模块,一方面通过所述编码脉冲电信号与忆阻器阵列中器件电导值进行并行矩阵向量乘法运算,实现神经网络前向传播过程中的加权求和,并将加权求和后电流转化为数字信号,另一方面用于存储神经网络中权重值;
所述输出模块用于将权重存储与计算模块输出的数字信号进行归一化,输出加权求和的实际数值;
所述计算模块,一方面用于对输出模块输出的结果进行非线性的激活函数运算,另一方面用于在反向传播计算过程中,通过驱动电路读取权重存储与计算模块中存储的权重值,并计算权重的改变量;
所述驱动电路,一方面用于读取权重存储与计算模块中忆阻器件的电导值并转换为权重值,另一方面用于将计算模块输出的权重的改变量转换映射为脉冲个数,并驱动权重存储与计算模块更新忆阻器电导值。
具体地,所述忆阻器电导值更新方式如下:通过施加正向和负向脉冲个数来调节,施加正向脉冲时电导逐渐增大,施加负向脉冲时电导逐渐减小。
具体地,所述权重存储与计算模块通过以下方式实现编码脉冲电信号与忆阻器阵列中器件电导值矩阵向量乘法运算:
神经网络层与层之间的权重矩阵的权值映射为权重存储与计算模块中忆阻器阵列中对应交叉点处忆阻器的电导值;
在忆阻器阵列的所有行施加相应的读电压;
读电压与忆阻器阵列交叉点处每一个忆阻器电导值相乘,经过加权求和后的电流值从对应的列输出;
整个加权求和的运算过程可以通过下面的矩阵运算公式表示:
Figure BDA0001940839620000031
式中,Gnm表示对应阵列交叉点处忆阻器的电导值,Vm表示为施加在每一行上的输入信号编码读电压,In表示经过加权求和后忆阻器阵列对应列的输出电流。
具体地,所述加权求和运算以完全并行的方式进行。
具体地,所述权重存储与计算模块包含两部分,一是包含多阶特性的忆阻器件或是具有多阶特性忆阻器件与其他器件的组合单元构成的忆阻器阵列,二是用于辅助完成大规模矩阵向量乘法运算的外围电路。
具体地,外围电路包含模数转换电路、加法器、计数器和移位器。
具体地,所述权重存储与计算模块通过以下方式实现神经网络前向传播过程中的加权求和:
首先模数转换电路将电流信号转换为有限精度的数字信号,然后在计数器的控制下,加法器将连续2m个周期内的输出数字信号进行累加,再将累加结果通过移位器进行右移m位进行求平均值,最后再根据当前计算位具有的权重大小,通过移位器进行左移操作进行加权,至此完成输入数字信号中一位的完整计算过程;依次对输入的数字信号每一位进行计算,最后将所有位的计算结果累加到一起得到最终的加权求和输出结果。
具体地,所述驱动电路包括:控制与转换电路、矩阵选择开关、读写电路和脉冲发生器。
具体地,所述驱动电路通过以下方式实现驱动权重存储与计算模块更新权重值忆阻器电导值:
控制与转换电路将权重的改变量映射为调节权重所需的脉冲个数;脉冲发生器则根据控制与转换电路确定的脉冲个数来施加正负脉冲驱动权重存储与计算模块更新权重值;矩阵选择开关在更新权重时对权重存储与计算模块任意的一行进行选通和读取权重值时对单个忆阻器进行选通。
具体地,反向传播过程采用串行的方式进行计算。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
1.本发明在K位输入向量的脉冲编码方式上进行了改进,将每一位对应的编码脉冲扩展为2m个脉冲,这样总共所需的编码脉冲为K*2m个,并且每一位加权求和计算实际进行了2m次,最后在输出端进行求和取平均运算,通过此种方式减小了计算过程中偶然因素和噪声对计算结果的影响,从而提高计算的精度。
2.本发明中忆阻器阵列同时用于前向的加权求和计算和神经网络中的权重大小存储,与离线学习只进行一次的权重写入和更新操作不同,在线学习每输入信号,忆阻器阵列中的权重就要更新一次,通过将权重的改变量映射为脉冲个数,然后施加脉冲进行一次的权重写入操作,不仅能够提高神经网络训练的速度,而且能够降低硬件成本,减少神经网络训练的功耗。
附图说明
图1为本发明实施例提供的一种基于忆阻器的神经网络在线学习系统结构示意图;
图2为本发明实施例提供的权重存储与计算模块基本结构示意图;
图3为本发明实施例提供的输入模块对输入信息编码示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,一种基于忆阻器的神经网络在线学习系统,所述系统包括:输入模块,权重存储与计算模块,输出模块,计算模块,驱动电路;
所述输入模块用于将输入信号转换为K位2进制数字,对每一位上的数值0和1用低电平0和高电平Vread表示,并将每一位对应脉冲编码的周期扩展为2m个,形成连续的K*2m个编码脉冲的电信号,Vread为忆阻器的读取电压,m为小于K的非负整数;
所述权重存储与计算模块,一方面通过所述编码脉冲电信号与忆阻器阵列中器件电导值进行并行矩阵向量乘法运算,实现神经网络前向传播过程中的加权求和,并将加权求和后电流转化为数字信号,另一方面用于存储神经网络中权重值;
所述输出模块用于将权重存储与计算模块输出的数字信号进行归一化,输出加权求和的实际数值;
所述计算模块,一方面用于对输出模块输出的结果进行非线性的激活函数运算,另一方面用于在反向传播计算过程中,通过驱动电路读取权重存储与计算模块中存储的权重值,并计算权重的改变量;
所述驱动电路,一方面用于读取权重存储与计算模块中忆阻器件的电导值并转换为权重值,另一方面用于将计算模块输出的权重的改变量转换映射为脉冲个数,并驱动权重存储与计算模块更新忆阻器电导值。
输入模块用于将输入信号转换为有限位数的电信号。通常这种转化可以通过电脉冲幅值表示,也可以是电脉冲个数表示。为了提高计算的精度,确保计算过程中不影响忆阻器的电导值,本发明首先将输入信号数字化,然后将对应位上的数字0和1用具有一定周期的低电平和高电平表示,一般低电平为0,高电平为Vread,同时确保高电平不影响忆阻器的电导值。另外,本发明为了减少每一位计算过程中的随机噪声干扰,采取将每一位对应脉冲编码的周期扩展为2m个(m为整数),即:实际上每一位计算2m次,最后输出值经过移位运算求平均值。
权重存储与计算模块,一方面为前向传播过程提供电信号与忆阻器电导值的矩阵向量乘法运算,另一方面为反向传播过程提供权值大小。所述权重存储与计算模块的一个单元应当包含一个或多个忆阻器件,也可以是1T1R、1S1R等多个不同器件的组合单元,但至少包含一个具有多阶特性的忆阻器件。忆阻器阵列基于基尔霍夫电流定律实现矩阵向量乘法运算。忆阻器件是一种电导值能够随着所施加的电信号而连续改变的可塑物理器件,这种特性一方面可以作为存储器存储神经网络的权值,另一方面电导还可以与输入的电压信号作用实现矩阵向量乘法运算。所述的忆阻器依靠不同的电导状态来区分不同的存储状态。所述忆阻器电导更新方式通过施加的正向和负向脉冲个数来调节,施加正向脉冲时电导逐渐增大,施加负向脉冲时电导逐渐减小。
忆阻器被用于神经网络,一方面是忆阻器具有多阶特性,能够类比成神经网络中的突触,用来存储突触的权值,另一方面是基于多阶特性的权重存储与计算模块,可以实现并行的加权求和运算(矩阵向量乘法),而频繁的加权求和运算通常被认为是大多数神经网络算法中最耗时的步骤。如图2所示,权重存储与计算模块中忆阻器阵列由垂直的行和列组成,其中每一个交叉点都有一个具有多阶特性的忆阻器件。神经网络层与层之间的权重矩阵的权值就可以映射成为权重存储与计算模块中对应交叉点处忆阻器的电导值。如果将输入信息编码成忆阻器的读电压,那么加权求和运算将以完全并行的方式进行。首先在忆阻器阵列的所有行施加相应的读电压,接着读电压会与忆阻器阵列交叉点处每一个忆阻器电导值相乘,导致经过加权求和后的电流值从对应的列输出。整个加权求和的运算过程可以通过下面的矩阵运算公式表示:
Figure BDA0001940839620000071
式中,G表示对应阵列交叉点处忆阻器的电导值,V表示为施加在每一行上的输入信息编码读电压,I表示经过加权求和后忆阻器阵列对应列的输出电流。一般而言,神经元电路将放在权重存储与计算模块每一列的末端,用于将模拟的电流信号转换为数字信号或者尖峰脉冲。通常阵列与阵列之间的通信仍然是以数字信号进行的,所以权重存储与计算模块只是作为整个计算模块的核心,执行大规模并行的模拟计算。
权重存储与计算模块包含两部分,一是包含多阶的特性的忆阻器件或是具有多阶特性忆阻器件与其他器件的组合单元构成的忆阻器阵列,二是用于辅助完成大规模矩阵向量乘法运算的外围电路。进行矩阵向量乘法运算时,首先在阵列的每一行输入编码后的脉冲信号,通过输入的电平与忆阻器电导的作用,最后在忆阻器阵列的每一列中输出计算后的电流信号,这个电流信号只是整个一次计算过程中的一部分,为了将连续的脉冲信号计算结果叠加到一起,必须通过外围电路辅助完成。外围电路包含模数转换电路,加法器,计数器,移位器等主要组成部件,首先模数转换电路将电流信号转换为有限精度的数字信号,然后在计数器的控制下,加法器完成每一位计算包含的2m(m为非负整数)个计算结果的累加,再将累加结果通过移位器进行右移m位进行求平均值,最后再根据当前计算位具有的权重大小进行加权(左移操作),至此完成输入数字信号中一位的完整计算过程。依次对输入的数字信号每一位进行计算,最后将所有位的计算结果累加到一起得到最终的输出结果。
计算模块,一方面用于对输出模块输出的结果进行非线性的激活函数运算,另一方面用于在反向传播计算过程中,通过驱动电路读取权重存储与计算模块中存储的权重值,并计算权重的改变量。计算反向传播过程中权重的更新值,首先当计算模块收到来自输出模块输出结果,然后立刻通过驱动电路的读写电路读取层与层之间的权重大小,最后计算权重的更新值,再传递给驱动电路。
驱动电路则主要实现权重的读写操作,一方面读取忆阻器的电导值并转换为权重,另一方面通过权重的更新值映射为脉冲个数,并驱动权重存储与计算模块更新权重值。所述驱动电路用于对权重存储与计算模块中的权重进行更新为对应的权重更新所需施加的电信号量,并驱动权重存储与计算模块更新权值。其主要包括:控制与转换电路、矩阵选择开关、读写电路和脉冲发生器。其中,控制与转换电路主要将权重的更新值映射为调节权重所需的脉冲个数,将权重更新值转换为更新忆阻器电导值对应的电信号。矩阵选择开关主要用于更新权重时对权重存储与计算模块任意的一行进行选通和读取忆阻器权重时对某一个忆阻器单元的选通。读写电路主要是读取忆阻器阵列中任意一个忆阻器件对应的权重值,完成对权重存储与计算模块中连接权重的读写操作。脉冲发生器则根据控制与转换电路确定的脉冲个数来施加正负脉冲驱动权重存储与计算模块更新权重值。
在线学习是指神经网络的训练过程和前向推断过程都是通过忆阻器组成的硬件实现的。为了达到这一目的,这就需要忆阻器阵列不仅要进行前向的加权求和计算,而且还要作为存储器用来存储神经网络中的权重大小。这种将忆阻器阵列同时用于计算和存储的方式,不仅能够提高神经网络训练的速度,而且能够降低硬件成本,减少神经网络训练的功耗。与离线学习只进行一次的权重写入和更新操作不同,在线学习在训练的过程中,每输入一张图片,忆阻器阵列中的权重就要更新一次。因此,为了实现并行的权重写入方式和提高权重更新的速度,我们在权重的写入过程中,就不能采用离线学习中权重写入的方式,不能通过反复的读写操作实现忆阻器阵列中权重写入的准确性。相反的,在线学习过程中,我们不希望在写入权重的过程中去读取当前权重的大小,而是直接将权重的改变量△W线性映射为脉冲个数,然后施加脉冲进行一次的权重写入操作(不保证写入的准确性)。所以,对于在线学习,一般要求忆阻器件电导调节过程具有统一的方式,即:调节电导的电脉冲必须是相同的。由于权重写入方式的不同,使得在线学习的过程中,忆阻器件的非线性特性对神经网络的识别率产生了一定的影响,并且忆阻器阵列还要用作存储器,所以对忆阻器的精度(电导阶数)也有了更高的要求。
本发明实施例的输入信号来自MNIST数据集。MNIST手写体字库是由纽约大学Courant研究所的Yann LeCun、纽约Google实验室的Corinna Cortes和雷德蒙德微软研究部的Christopher JC Burges共同收集汇总完成的。它总共收录了60000张训练数据图片和10000张测试数据图片,每一张图片都是包含0~255像素值的灰度图片。并且每张图片为28×28像素大小。为了保证数据集中数据不重复,在收录的过程中,所有的数字都是由不同的志愿者手写完成的,并且还保证了训练集和测试集的手写字体来源于不同的作者。自从该数据集被建立以来,就基本上成为了机器学习和神经网络入门学习使用的标准数据集,并且在各种科研工作中也被广泛的使用。因此,考虑到该数据集的广泛使用性,本文中所有的神经网络仿真都将以此数据集作为训练和测试神经网络性能的数据集。同时,为了进一步的提高数据集中数据的特征,以及减小神经网络的规模,本文将MNIST数据集做了简单的处理,通过裁剪的方式,将原先28×28像素大小的图片裁剪为20×20大小的图片
如图3所示,本发明首先将输入数字图片的像素值转换为2进制数,然后每一位对应的数字0和1分别用低电平0和高电平Vread表示,为了减少每一位计算中随机噪音对输出结果的干扰,本发明采用将每一位脉冲编码周期扩展为2m个(m为非负整数),即:将以前在一个周期内完成一位的计算过程,变成在2m个周期内完成2m次计算,然后通过外围电路在输出端累加2m次的计算结果,并通过移位器右移m位进行求平均值,最终得到一位上的实际计算结果。此种编码方式即减少了偶然噪声干扰造成的计算误差,同时也能有效的减少对外界输入信息编码的脉冲个数。另外,对于二进制数字不同位自身带有的权重大小,在输出端同样需要移位操作进行加权,例如B2(2进制数右起第三位)位上的计算结果经过累加和求平均后还需进行两步左移操作进行加权。当然,对于每一位计算的输出结果加权和求平均操作也可以合并到一起进行统一的操作。
本发明设计了2层的感知机神经网络模型,学习算法采用了随机梯度下降算法,激活函数采用了sigmoid函数。输入层包含400个神经元,对应裁剪后手写字体图片的400个像素值,输出层包含10个神经元,表示0~9十个不同的数字符号。经实验验证,隐层神经元数目在100~120个、学习率在0.1~0.3之间的情况下,基于随机梯度下降算法的2层感知机神经网络对MNIST手写字体数据集的识别效果最好。
基于2层的感知机神经网络,主要包含前向传播和反向传播计算。前向传播计算主要包含矩阵向量乘法运算和输出端激活函数的计算。反向传播运算虽然也主要是矩阵向量乘法运算,但输入方向与前向传播正好相反(权重矩阵互为转置矩阵),并且反向传播的计算精度要比前向传播的要求高,所以为了减少权重存储与计算模块的设计复杂度,反向传播过程采用串行的方式进行计算。此时,权重存储与计算模块充当了存储器的作用,可以从中读取权重的大小。
本发明充分考虑了硬件实现神经网络在线学习时,正向传播和反向传播计算难以在同一块权重存储与计算模块上实现的问题,采用一种存储与计算的混合架构,使得硬件实现神经网络在线学习即简单又高效,具有很强的实用性。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种基于忆阻器的神经网络在线学习系统,其特征在于,所述系统包括:输入模块,权重存储与计算模块,输出模块,计算模块,驱动电路;
所述输入模块用于将输入信号转换为K位2进制数字,对每一位上的数值0和1用低电平0和高电平Vread表示,并将每一位对应脉冲编码的周期扩展为2m个,形成连续的K*2m个编码脉冲的电信号,Vread为忆阻器的读取电压,m为小于K的非负整数;
所述权重存储与计算模块,一方面通过所述编码脉冲电信号与忆阻器阵列中器件电导值进行并行矩阵向量乘法运算,实现神经网络前向传播过程中的加权求和,并将加权求和后电流转化为数字信号,另一方面用于存储神经网络中权重值;
所述输出模块用于将权重存储与计算模块输出的数字信号进行归一化,输出加权求和的实际数值;
所述计算模块,一方面用于对输出模块输出的结果进行非线性的激活函数运算,另一方面用于在反向传播计算过程中,通过驱动电路读取权重存储与计算模块中存储的权重值,并计算权重的改变量;
所述驱动电路,一方面用于读取权重存储与计算模块中忆阻器件的电导值并转换为权重值,另一方面用于将计算模块输出的权重的改变量转换映射为脉冲个数,并驱动权重存储与计算模块更新权重值,将权重更新值转换为更新忆阻器电导值对应的电信号。
2.如权利要求1所述的神经网络在线学习系统,其特征在于,所述忆阻器电导值更新方式如下:
通过施加正向和负向脉冲个数来调节,施加正向脉冲时电导逐渐增大,施加负向脉冲时电导逐渐减小。
3.如权利要求1所述的神经网络在线学习系统,其特征在于,所述权重存储与计算模块通过以下方式实现编码脉冲电信号与忆阻器阵列中器件电导值矩阵向量乘法运算:
神经网络层与层之间的权重矩阵的权值映射为权重存储与计算模块中忆阻器阵列中对应交叉点处忆阻器的电导值;
在忆阻器阵列的所有行施加相应的读电压;
读电压与忆阻器阵列交叉点处每一个忆阻器电导值相乘,经过加权求和后的电流值从对应的列输出;
整个加权求和的运算过程可以通过下面的矩阵运算公式表示:
Figure FDA0002577274470000021
式中,Gnm表示对应阵列交叉点处忆阻器的电导值,Vm表示为施加在每一行上的输入信号编码读电压,In表示经过加权求和后忆阻器阵列对应列的输出电流。
4.如权利要求3所述的神经网络在线学习系统,其特征在于,所述加权求和运算以完全并行的方式进行。
5.如权利要求1所述的神经网络在线学习系统,其特征在于,所述权重存储与计算模块包含两部分,一是包含多阶特性的忆阻器件或是具有多阶特性忆阻器件与其他器件的组合单元构成的忆阻器阵列,二是用于辅助完成大规模矩阵向量乘法运算的外围电路。
6.如权利要求5所述的神经网络在线学习系统,其特征在于,外围电路包含模数转换电路、加法器、计数器和移位器。
7.如权利要求6所述的神经网络在线学习系统,其特征在于,所述权重存储与计算模块通过以下方式实现神经网络前向传播过程中的加权求和:
首先模数转换电路将电流信号转换为有限精度的数字信号,然后在计数器的控制下,加法器将连续2m个周期内的输出数字信号进行累加,再将累加结果通过移位器进行右移m位进行求平均值,最后再根据当前计算位具有的权重大小,通过移位器进行左移操作进行加权,至此完成输入数字信号中一位的完整计算过程;依次对输入的数字信号每一位进行计算,最后将所有位的计算结果累加到一起得到最终的加权求和输出结果。
8.如权利要求1所述的神经网络在线学习系统,其特征在于,所述驱动电路包括:控制与转换电路、矩阵选择开关、读写电路和脉冲发生器。
9.如权利要求8所述的神经网络在线学习系统,其特征在于,所述驱动电路通过以下方式实现驱动权重存储与计算模块更新权重值:
控制与转换电路将权重的改变量映射为调节权重所需的脉冲个数;脉冲发生器则根据控制与转换电路确定的脉冲个数来施加正负脉冲驱动权重存储与计算模块更新权重值;矩阵选择开关在更新权重时对权重存储与计算模块任意的一行进行选通和读取权重值时对单个忆阻器进行选通。
10.如权利要求1所述的神经网络在线学习系统,其特征在于,反向传播过程采用串行的方式进行计算。
CN201910021284.5A 2019-01-10 2019-01-10 一种基于忆阻器的神经网络在线学习系统 Active CN109800870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910021284.5A CN109800870B (zh) 2019-01-10 2019-01-10 一种基于忆阻器的神经网络在线学习系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910021284.5A CN109800870B (zh) 2019-01-10 2019-01-10 一种基于忆阻器的神经网络在线学习系统

Publications (2)

Publication Number Publication Date
CN109800870A CN109800870A (zh) 2019-05-24
CN109800870B true CN109800870B (zh) 2020-09-18

Family

ID=66558625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910021284.5A Active CN109800870B (zh) 2019-01-10 2019-01-10 一种基于忆阻器的神经网络在线学习系统

Country Status (1)

Country Link
CN (1) CN109800870B (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515454B (zh) * 2019-07-24 2021-07-06 电子科技大学 一种基于内存计算的神经网络架构电子皮肤
CN110619905A (zh) * 2019-08-09 2019-12-27 上海集成电路研发中心有限公司 一种基于rram忆阻器单元的集合模块及其形成方法
CN110458284A (zh) * 2019-08-13 2019-11-15 深圳小墨智能科技有限公司 一种模拟神经网芯片的设计方法及模拟神经网芯片
CN110751279B (zh) * 2019-09-02 2022-10-14 北京大学 一种铁电电容耦合神经网络电路结构及神经网络中向量与矩阵的乘法运算方法
CN110842915B (zh) * 2019-10-18 2021-11-23 南京大学 一种基于忆阻交叉阵列的机器人控制系统及方法
CN110852429B (zh) * 2019-10-28 2022-02-18 华中科技大学 一种基于1t1r的卷积神经网络电路及其操作方法
CN110796241B (zh) * 2019-11-01 2022-06-17 清华大学 基于忆阻器的神经网络的训练方法及其训练装置
CN110807519B (zh) 2019-11-07 2023-01-17 清华大学 基于忆阻器的神经网络的并行加速方法及处理器、装置
CN111027619B (zh) * 2019-12-09 2022-03-15 华中科技大学 一种基于忆阻器阵列的K-means分类器及其分类方法
CN113033759A (zh) * 2019-12-09 2021-06-25 南京惟心光电系统有限公司 脉冲卷积神经网络算法、集成电路、运算装置及存储介质
CN110991623B (zh) * 2019-12-20 2024-05-28 中国科学院自动化研究所 基于数模混合神经元的神经网络运算系统
CN111460365B (zh) * 2020-03-10 2021-12-03 华中科技大学 一种基于忆阻线性神经网络的方程组求解器及其操作方法
CN111507464B (zh) * 2020-04-19 2022-03-18 华中科技大学 一种基于忆阻器阵列的方程求解器及其操作方法
CN111582473B (zh) * 2020-04-23 2023-08-25 中科物栖(南京)科技有限公司 一种对抗样本的生成方法及装置
CN111553415B (zh) * 2020-04-28 2022-11-15 宁波工程学院 一种基于忆阻器的esn神经网络图像分类处理方法
CN111582484B (zh) * 2020-05-21 2023-04-28 中国人民解放军国防科技大学 学习速率自调节方法、装置、终端设备和可读存储介质
CN111681696B (zh) * 2020-05-28 2022-07-08 中国科学院微电子研究所 基于非易失存储器的存储和数据处理方法、装置及设备
CN111753975B (zh) * 2020-07-01 2024-03-05 复旦大学 一种面向物联网的自然模拟信号的类脑处理方法
JP7438500B2 (ja) * 2020-07-24 2024-02-27 リンクシィ・テクノロジーズ・カンパニー,リミテッド 数値をパルスに変換する方法、装置、電子デバイス、記憶媒体
CN111931924B (zh) * 2020-07-31 2022-12-13 清华大学 基于在线迁移训练的忆阻器神经网络芯片架构补偿方法
CN112199234A (zh) * 2020-09-29 2021-01-08 中国科学院上海微系统与信息技术研究所 一种基于忆阻器的神经网络容错方法
CN112686373B (zh) * 2020-12-31 2022-11-01 上海交通大学 一种基于忆阻器的在线训练强化学习方法
CN113076827B (zh) * 2021-03-22 2022-06-17 华中科技大学 一种传感器信号智能处理系统
CN113222131B (zh) * 2021-04-30 2022-09-06 中国科学技术大学 基于1t1r的可实现带符号权重系数的突触阵列电路
CN113311702B (zh) * 2021-05-06 2022-06-21 清华大学 一种基于Master-Slave神经元的人工神经网络控制器
CN115481562B (zh) * 2021-06-15 2023-05-16 中国科学院微电子研究所 多并行度优化方法、装置、识别方法和电子设备
CN113343585B (zh) * 2021-06-29 2024-08-23 江南大学 一种用于矩阵乘法运算的权位分立存算阵列设计方法
CN113642723B (zh) * 2021-07-29 2024-05-31 安徽大学 一种实现原-异位训练的gru神经网络电路
CN114067157B (zh) * 2021-11-17 2024-03-26 中国人民解放军国防科技大学 基于忆阻器的神经网络优化方法、装置及忆阻器阵列
CN114279491A (zh) * 2021-11-23 2022-04-05 电子科技大学 一种基于忆阻交叉阵列的传感器信号注意力权重分配方法
CN114186667B (zh) * 2021-12-07 2024-08-23 华中科技大学 一种循环神经网络权重矩阵向忆阻阵列的映射方法
CN114743582B (zh) * 2022-03-02 2024-10-18 清华大学 面向忆阻器阵列的高效编程方法
CN114861900B (zh) * 2022-05-27 2024-09-13 清华大学 用于忆阻器阵列的权重更新方法和处理单元

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701541A (zh) * 2016-01-13 2016-06-22 哈尔滨工业大学深圳研究生院 一种基于忆阻器脉冲神经网络的电路结构
CN107346449A (zh) * 2016-05-04 2017-11-14 清华大学 可同时计算和编程的神经形态电路
CN107533668A (zh) * 2016-03-11 2018-01-02 慧与发展有限责任合伙企业 用于计算神经网络的节点值的硬件加速器
CN108009640A (zh) * 2017-12-25 2018-05-08 清华大学 基于忆阻器的神经网络的训练装置及其训练方法
CN109063833A (zh) * 2018-10-29 2018-12-21 南京邮电大学 一种基于忆阻器阵列的神经网络突触觉结构
CN109102071A (zh) * 2018-08-07 2018-12-28 中国科学院微电子研究所 一种神经元电路以及神经网络电路

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6501146B2 (ja) * 2014-03-18 2019-04-17 パナソニックIpマネジメント株式会社 ニューラルネットワーク回路およびその学習方法
US9489618B2 (en) * 2014-05-27 2016-11-08 Purdue Research Foudation Electronic comparison systems
CN107241080A (zh) * 2017-05-15 2017-10-10 东南大学 一种基于忆阻器的可编程iir滤波器模拟硬件实现方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701541A (zh) * 2016-01-13 2016-06-22 哈尔滨工业大学深圳研究生院 一种基于忆阻器脉冲神经网络的电路结构
CN107533668A (zh) * 2016-03-11 2018-01-02 慧与发展有限责任合伙企业 用于计算神经网络的节点值的硬件加速器
CN107346449A (zh) * 2016-05-04 2017-11-14 清华大学 可同时计算和编程的神经形态电路
CN108009640A (zh) * 2017-12-25 2018-05-08 清华大学 基于忆阻器的神经网络的训练装置及其训练方法
CN109102071A (zh) * 2018-08-07 2018-12-28 中国科学院微电子研究所 一种神经元电路以及神经网络电路
CN109063833A (zh) * 2018-10-29 2018-12-21 南京邮电大学 一种基于忆阻器阵列的神经网络突触觉结构

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Memristive Model for Synaptic Circuits;Yang Zhang.et.;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS-II: EXPRESS BRIEFS》;20170731;第64卷(第7期);第767-771页 *
忆阻器实现神经元电路的方法研究;朱任杰;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20150215(第2期);第C042-22页 *

Also Published As

Publication number Publication date
CN109800870A (zh) 2019-05-24

Similar Documents

Publication Publication Date Title
CN109800870B (zh) 一种基于忆阻器的神经网络在线学习系统
CN109460817B (zh) 一种基于非易失存储器的卷积神经网络片上学习系统
CN111279366B (zh) 人工神经网络的训练
US10740671B2 (en) Convolutional neural networks using resistive processing unit array
Chen et al. Mitigating effects of non-ideal synaptic device characteristics for on-chip learning
CN110807519B (zh) 基于忆阻器的神经网络的并行加速方法及处理器、装置
JP7427030B2 (ja) 人工ニューラル・ネットワークのトレーニング方法、装置、プログラム
CN110852429B (zh) 一种基于1t1r的卷积神经网络电路及其操作方法
US11681899B2 (en) Dividing neural networks
CN113643175B (zh) 数据处理方法及电子装置
Qiao et al. A neuromorphic-hardware oriented bio-plausible online-learning spiking neural network model
Cho et al. An on-chip learning neuromorphic autoencoder with current-mode transposable memory read and virtual lookup table
CN113837371A (zh) 用于实现神经网络的神经形态装置和方法
JP2023526915A (ja) アナログ人工知能ネットワーク推論のための行単位畳み込みニューラル・ネットワーク・マッピングのための効率的なタイル・マッピング
Sun et al. Cascaded architecture for memristor crossbar array based larger-scale neuromorphic computing
KR20210143614A (ko) 뉴럴 네트워크를 구현하는 뉴로모픽 장치 및 그 동작 방법
CN114819093A (zh) 利用基于忆阻器阵列的环境模型的策略优化方法和装置
Spoon et al. Accelerating deep neural networks with analog memory devices
CN114186667B (zh) 一种循环神经网络权重矩阵向忆阻阵列的映射方法
Sun et al. Quaternary synapses network for memristor-based spiking convolutional neural networks
CN117151176A (zh) 用于神经网络学习的突触阵列、运算电路及操作方法
Van Nguyen et al. Comparative study on quantization-aware training of memristor crossbars for reducing inference power of neural networks at the edge
CN115983358A (zh) 一种基于策略迭代的贝尔曼方程的硬件实现方法
de Lima et al. Quantization-aware in-situ training for reliable and accurate edge ai
Kendall et al. Deep learning in memristive nanowire networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant