CN115564036A - 基于rram器件的神经网络阵列电路及其设计方法 - Google Patents

基于rram器件的神经网络阵列电路及其设计方法 Download PDF

Info

Publication number
CN115564036A
CN115564036A CN202211308763.3A CN202211308763A CN115564036A CN 115564036 A CN115564036 A CN 115564036A CN 202211308763 A CN202211308763 A CN 202211308763A CN 115564036 A CN115564036 A CN 115564036A
Authority
CN
China
Prior art keywords
neural network
array
processing result
data processing
data
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.)
Granted
Application number
CN202211308763.3A
Other languages
English (en)
Other versions
CN115564036B (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.)
Xiamen Semiconductor Industry Technology Research And Development Co ltd
Original Assignee
Xiamen Semiconductor Industry Technology Research And Development Co ltd
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 Xiamen Semiconductor Industry Technology Research And Development Co ltd filed Critical Xiamen Semiconductor Industry Technology Research And Development Co ltd
Priority to CN202211308763.3A priority Critical patent/CN115564036B/zh
Publication of CN115564036A publication Critical patent/CN115564036A/zh
Application granted granted Critical
Publication of CN115564036B publication Critical patent/CN115564036B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • Geometry (AREA)
  • Semiconductor Memories (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及半导体技术领域,具体涉及一种基于RRAM器件的神经网络阵列电路及其设计方法,所述方法包括:根据神经网络模型在阵列电路M*N中确定神经网络阵列m*n,并根据神经网络模型的节点权重对神经网络阵列m*n进行配置;通过所配置的神经网络阵列m*n对预设数据进行处理,得到数据处理结果;将数据处理结果与通过神经网络模型得到的模拟数据处理结果进行误差分析,得到神经网络阵列m*n的误差指数;根据误差指数确定阵列电路中(M‑m)*n阵列的权重值,并根据权重值对阵列电路进行配置。所述方法通过调节电路阵列对神经网络阵列进行反向调节,能够对神经网络阵列中器件特性导致的结果误差进行补偿调整,有效提高神经网络计算的准确率。

Description

基于RRAM器件的神经网络阵列电路及其设计方法
技术领域
本发明涉及半导体技术领域,具体涉及一种基于RRAM器件的神经网络阵列电路及其设计方法。
背景技术
阻变存储器(RRAM器件)基于高速度、低电压、高存储密度、易于集成等优良特性广泛应用于神经网络电路,利用RRAM器件进行神经网络的矩阵-向量乘法,能够大幅度地提升计算能效,是未来实现高性能人工智能芯片的关键技术之一。然而由于RRAM器件存在本征非理想特性(RRAM器件的准确度低,IR-DROP,ADC精度低等)等缺陷,使得基于该器件的神经网络电路亦存在着准确率低的问题,从而对于进一步的发展应用造成障碍。因此,有必要提供一种新的电路及设计方法,以解决实践应用中面临的上述问题。
发明内容
本发明的目的在于提供一种基于RRAM器件的神经网络阵列电路设计方法,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的上述问题。
根据本发明的一个方面,提供一种基于RRAM器件的神经网络阵列电路设计方法,所述阵列电路包括多个RRAM器件,所述方法包括:
根据神经网络模型在阵列电路M*N中确定神经网络阵列m*n,并根据所述神经网络模型的节点权重对所述神经网络阵列m*n进行配置;其中m、n、M、N均为正整数且m<M、n≤N;
通过所配置的神经网络阵列m*n对预设数据进行处理,得到数据处理结果;
将所述数据处理结果与通过所述神经网络模型得到的模拟数据处理结果进行误差分析,得到所述神经网络阵列m*n的误差指数;
根据所述误差指数确定所述阵列电路中(M-m)*n阵列的权重值,并根据所述权重值对所述阵列电路进行配置。
在一示例性实施例中,在所述根据所述神经网络模型的节点权重对所述神经网络阵列m*n进行配置之前,还包括:
通过图形处理器对尺寸为m*n的神经网络模型进行训练,得到所述神经网络模型的节点权重。
在一示例性实施例中,所述通过所配置的神经网络阵列m*n对预设数据进行处理,得到数据处理结果,包括:
根据所配置的神经网络阵列m*n对预设图像数据进行处理,并以所述神经网络阵列m*n的每列输出数据作为数据处理结果。
在一示例性实施例中,所述根据所配置的神经网络阵列m*n对预设图像数据进行处理,并以所述神经网络阵列m*n的每列输出数据作为数据处理结果,包括:
根据所配置的神经网络阵列m*n对多组预设图像数据进行处理,并以所述神经网络阵列m*n的每列输出数据的平均值作为数据处理结果。
在一示例性实施例中,在将所述数据处理结果与通过所述神经网络模型得到的模拟数据处理结果进行误差分析之前,还包括:
通过所训练的神经网络模型对预设数据进行处理,得到模拟数据处理结果。
在一示例性实施例中,根据所述误差指数确定所述阵列电路中(M-m)*n阵列的权重值包括:
根据所述误差指数确定所述数据处理结果与所述模拟数据处理结果的差值,以及根据所述差值确定对所述数据处理结果进行反向调节时(M-m)*n阵列的权重值。
在一示例性实施例中,所述数据处理结果为列电流值,所述列电流值的调节区间为-8.75~8.75uA。
根据本发明的另一方面,提供一种基于RRAM器件的神经网络阵列电路,包括:
神经网络阵列m*n,所述神经网络阵列m*n的阵列单元由并行连结的RRAM器件组成,其阵列单元的权重值通过对尺寸为m*n的神经网络模型进行训练得到的节点权重进行确定;其中m、n、M、N均为正整数且m<M、n≤N;
以及调节阵列(M-m)*n,所述调节阵列的阵列单元由并行连结的阻值器件组成,其阵列单元的权重值通过所述神经网络阵列m*n的误差指数进行确定;所述神经网络阵列m*n与所述调节阵列(M-m)*n通过输出列串行连接。
在一示例性实施例中,所述误差指数根据所述神经网络阵列m*n对预设数据进行处理所述得到的数据处理结果与所述神经网络模型对所述预设数据进行处理得到的模拟数据处理结果进行确定。
在一示例性实施例中,所述阻值器件为RRAM器件或固定电阻器件。
本发明提供了一种基于RRAM器件的神经网络阵列电路设计方法,所述方法通过调节电路阵列对神经网络阵列进行反向调节,能够对神经网络阵列中器件特性导致的结果误差进行补偿调整,并且通过多层级的阻值补偿设计,针对不同程度的误差进行相应层级的补偿调整,从而有效提高神经网络计算的准确率。
附图说明
图1是本发明一示例性实施例中一种基于RRAM器件的神经网络阵列电路的设计方法的流程示意图;
图2是本发明一示例性实施例中一种基于RRAM器件的神经网络阵列电路;
图3是本发明一示例性实施例中一种基于RRAM器件的神经网络阵列电路的阵列单元;
图4是本发明一示例性实施例中一种基于RRAM器件的神经网络阵列电路的阵列单元;
图5是本发明一示例性实施例中一种数据处理结果的示意图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合附图本发明实施方式及实施例中的技术方案进行清楚、完整地描述。然而,示例实施方式及实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式及实施例使得本发明将更加全面和完整,并将示例实施方式及实施例的构思全面地传达给本领域的技术人员。本发明所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式及实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式及实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
阻变存储器(RRAM器件)是一种利用可控的电阻变化实现数据存储的新型非挥发性存储器,其具有高速度、低电压、高存储密度、易于集成等优点,因而广泛应用于半导体设备中,也是是下一代半导体存储器的强有力竞争者。RRAM器件基于上述的优良特性而常用于作为神经网络电路结构单元,利用RRAM器件进行神经网络的矩阵-向量乘法,能够大幅度地提升计算能效,是未来实现高性能人工智能芯片的关键技术之一。然而由于RRAM器件存在本征非理想特性(RRAM器件的准确度低,IR-DROP,ADC精度低等)等缺陷,使得基于该器件的神经网络电路亦存在着准确率低的问题,从而对于进一步的发展应用造成障碍。
鉴于相关技术中存在的上述缺陷,本发明提供了一种基于RRAM器件的神经网络阵列电路及其设计方法,所述方法包括:根据神经网络模型在阵列电路M*N中确定神经网络阵列m*n,并根据所述神经网络模型的节点权重对所述神经网络阵列m*n进行配置;其中m、n、M、N均为正整数且m<M、n≤N;通过所配置的神经网络阵列m*n对预设数据进行处理,得到数据处理结果;将所述数据处理结果与通过所述神经网络模型得到的模拟数据处理结果进行误差分析,得到所述神经网络阵列m*n的误差指数;根据所述误差指数确定所述阵列电路中(M-m)*n阵列的权重值,并根据所述权重值对所述阵列电路进行配置。所述方法通过调节电路阵列对神经网络阵列进行反向调节,能够对神经网络阵列中器件特性导致的结果误差进行补偿调整,并且通过多层级的阻值补偿设计,针对不同程度的误差进行相应层级的补偿调整,从而有效提高神经网络计算的准确率。
本发明一示例性实施例提供了一种基于RRAM器件的神经网络阵列电路的设计方法,图1是本发明一示例性实施例中一种基于RRAM器件的神经网络阵列电路的设计方法的流程示意图;所述阵列电路包括多个RRAM器件,所述方法包括以下步骤:
步骤S11:根据神经网络模型在阵列电路M*N中确定神经网络阵列m*n,并根据所述神经网络模型的节点权重对所述神经网络阵列m*n进行配置;其中m、n、M、N均为正整数且m<M、n≤N;
RRAM器件的工作原理是在阻变材料两端施加大小或者极性不同的电压,控制阻变材料的电阻值在高低电阻态之间转换。阻变存储器的工作方式包括单极和双极两种,前者在器件两端施加单一极性的电压,利用外加电压大小不同控制阻变材料的电阻值在高低电阻态之间转换,以实现数据的写入和擦除;而后者是利用施加不同极性的电压控制阻变材料电阻值的转换。习惯上称阻变材料表现出的两个稳定的状态为高阻态和低阻态,在阻变存储器第一次转变之前,通常需要施加一次较大的电压,使器件从初始状态转变为低阻态,这一过程称为Forming(形成)过程。
RRAM神经网络芯片则是对基于RRAM器件制备的电路阵列进行神经网络训练,在RRAM神经网络芯片中,CMOS神经元电路与RRAM权重在物理上交错,而神经网络中神经元与RRAM阵列的连接可以配置为神经元的输入或输出,从而实现神经网络在各种数据流方向上的推理进程,且不会导致面积或功耗方面的增加。在一示例性实施例中,基于RRAM器件的神经网络阵列电路如图2所示,阵列电路包括M行*N列,以其中m*n作为神经网络阵列,每个阵列单元包含RRAM器件RL及RR;每列经输出端口输出最终的电流值;示例性的,陈列电路为515行*128列的电路,其所有列均可作为神经网络阵列,但神经网络阵列的行数应当小于阵列电路,预留一定行数作为神经网络阵列的调节阵列,以下以阵列电路中的512行*128列作为神经网络阵列对所述方法进行详细说明。
在一示例性实施例中,所述方法还可以包括:通过图形处理器对尺寸为m*n的神经网络模型进行训练,得到所述神经网络模型的节点权重。在确定神经网络阵列大小之后,需要对其权重进行配置,示例性的,可以通过仿真模拟训练获取其权重值,例如通过图形处理器GPU对512行*128列的神经网络模型进行训练,得到该神经网络的节点权重,根据节点权重对阵列单元进行权重配置。
在一示例性实施例中,步骤S11中数据处理的方法还可以包括:通过图形处理器对神经网络模型进行训练,得到各节点的权重,根据该节点权重来配置神经网络阵列各阵列单元的权重。一种阵列电路的阵列单元如图3所示,阵列单元包括两个RRAM器件(RL与RR),当权重配置为1时,RL为20K,RR为200K;当权重配置为-1时,RL为200K,RR为20K;当权重配置为0时,RL与RR均为200K。在进行计算时,WL端的输入电压为0.9V,当输入为-1时,BLR设置为0.65V,BLL设置为0.25V,SL设置为0.45V;当输入为0时,BLR设置为0.45V,BLL设置为0.45V,SL设置为0.45V;SL端电压为0.45V,通过维持电压不变而确定输出电流值。
步骤S13:通过所配置的神经网络阵列m*n对预设数据进行处理,得到数据处理结果;
通过上述步骤S11可以得到初步的神经网络阵列电路,该神经网络阵列电路可用于对数据进行处理,示例性的,如所述神经网络为视觉神经网络,则该电路可用于对图像进行识别处理;如所述神经网络为音频神经网络,则该电路可用于语音识别或语义识别。
在一示例性实施例中,图4是本发明一示例性实施例中一种基于RRAM器件的神经网络阵列电路的阵列单元;确定神经网络阵列的列数据处理结果包括:
阵列第一行BL-L端电压为0.65V,BL-R端电压为0.25V,SL端电压为0.45V,RL阻值为20K,RR阻值为200K,U=0.65–0.45=0.2V,R=20K,则I=10uA(0.2V/20KΩ);电流方向为BLL流向SL(+1);
阵列第二行BL-L端电压为0.25V,BL-R端电压为0.65V,SL端电压为0.45V,RL阻值为20K,RR阻值为200K,U=0.65–0.45=0.2V,R=20K,则I=10uA(0.2V/20KΩ);电流方向为SL流向BLL(-1);
阵列第四行BL-L端电压为0.65V,BL-R端电压为0.25V,SL端电压为0.45V,RL阻值为200K,RR阻值为20K,I=10uA(0.2V/20KΩ),方向为SL流向BLR(-1);
阵列第四行BL-L端电压为0.25V,BL-R端电压为0.65V,SL端电压为0.45V,RL阻值为200K,RR阻值为20K,I=10uA(0.2V/20KΩ),方向为BLR流向SL(+1);其中流向SL使得电流增大,流出SL使得电流减小。
在一示例性实施例中,步骤S13还可以包括:根据所配置的神经网络阵列m*n对预设图像数据进行处理,并以所述神经网络阵列m*n的每列输出数据作为数据处理结果。在512*128神经网络阵列中,其输出数据结果可以是128个数据。进一步地,为提高准确性还可以通过该神经网络阵列对海量数据进行处理,例如选取10000张图像进行处理,并以每列输出的10000个数据的平均值作为数据处理结果。进一步地,还可以按照神经网络的层级结构分层进行校正,如首先以神经网络阵列的第一层对数据进行处理,并在通过后续方法步骤确定调节阵列的权重后,依次以神经网络阵列的下一层级对数据进行处理,以确定调节阵列新的权重配置;通过该方法可以逐次缩小神经网络处理误差对结果的影响程度。
步骤S15:将所述数据处理结果与通过所述神经网络模型得到的模拟数据处理结果进行误差分析,得到所述神经网络阵列m*n的误差指数;
由于如前所述的RRAM器件的本征非理想特性缺陷,通过步骤S11得到的阵列电路相较于通过模拟仿真技术得到的神经网络模型存在着较大的误差,因而可以预见,通过步骤S13得到的数据处理结果与理性状态的模拟处理结果之间存在着较大的误差。在一示例性实施例中,所述方法还可以包括:通过所训练的神经网络模型对预设数据进行处理,得到模拟数据处理结果。通过神经网络模型得到的数据处理结果不存在任何误差或干扰因素,具有最高的准确度,其可以作为实际阵列电路中调节误差的参考值。
在一示例性实施例中,误差指数可以是数据处理结果与模拟数据处理结果之间的差值,如差值为1uA则表示数据处理结果比模拟数据处理结果大1uA,需要通过调节阵列的反向调节使得数据处理结果减小1uA;可以理解误差指数还可以是其他衡量指标,本发明对此不作任何限制性阐述。
步骤S17:根据所述误差指数确定所述阵列电路中(M-m)*n阵列的权重值,并根据所述权重值对所述阵列电路进行配置。
具体而言,根据误差指数可以确定数据处理结果与模拟数据处理结果偏离程度,例如误差指数为正则表示数据处理结果大于模拟数据处理结果,需要通过(M-m)*n阵列对输出端口的电流进行减小调节;如误差指数为负则表示数据处理结果小于模拟数据处理结果,需要通过(M-m)*n阵列对输出端口的电流进行增大调节;如误差指数为5则表示表示数据处理结果比模拟数据处理结果大5uA;需要通过(M-m)*n阵列对输出端口的电流进行减小5uA的调节。概括而言,根据误差指数可以确定对每列的输出端口电流的反向调节方向及调节程度,从而抵消该列中因RRAM器件特征缺陷而导致的输出误差。
在一示例性实施例中,图2所示的阵列电路中513-515行各阵列单元中RRAM器件的电阻值分别为:513行RL为40KΩ,RR为200KΩ,I=0.2V/40K=5uA;514行RL为80KΩ,RR为200KΩ,I=0.2V/80K=2.5uA;515行RL为160KΩ,RR为200KΩ,I=0.2V/160K=1.25uA;根据配置权重1、0或-1的排列组合,可以实现对输出端口的电流值以1.25为步长,在-8.75~8.75范围内进行反向调节;如将该三行的权重均配置为-1,则可以实现对该端口输出电流降低-8.75uA的调节[-8.75=(-1)*5+(-1)*2.5+(-1)*1.25]。在另一些实施例中,513-515行电路的阵列单元也可以通过固定电阻等其他类型的阻值器件组成。
在一示例性实施例中,通过基于RRAM器件的神经网络阵列电路得到的数据处理结果如图5所示,图中数据处理结果分别为模拟仿真结果(GPU)、神经网络电路处理结果(RRAM)、基于RRAM器件的神经网络阵列电路的数据处理结果(RRAM_OPT),可知,根据所述基于RRAM器件的神经网络阵列电路得到的数据处理结果能够明显缩小与模拟仿真结果之间的误差,提高数据处理的准确度。
本发明根据RRAM器件的应用场景提供了一种基于RRAM器件的神经网络阵列电路及其设计方法,RRAM器件一般由金属电极、电阻介质、金属电极三部分组成,其中,电阻介质为氧化物材料,通过外加电场驱动氧化物材料中空位的形成和迁移可以实现导电丝的形成和断开,从而实现高低阻态之间的连续可逆转换。但由于这种通过氧化物生成导电细丝来控制电阻的中间状态很难精确控制,其电阻取值只能确定在较大区间的20KΩ或200KΩ等阻值,如果需要进一步实现多值存储则对设备多电阻状态的稳定性和一致性提出了更高的要求;另一方面,由于单一材料在器件多阻态的控制上具有一定的随机性,随着时间的推移其多阻态的可靠性不可避免地其他因素地影响,从而难以保证数据的可靠读取。基于这些特征缺陷,由RRAM器件构建的神经网络阵列电路在计算精确度上难以在较小幅度内进行校准调整,如上述实施例中神经网络阵列的输出电流仅能在-10uA、0及10uA的步长内进行调整,因此通过该阵列电路进行数据处理的结果也较为粗略。作为对比,本方案通过增加的阵列能够提供更多阻值状态,例如阻值可为40KΩ、80KΩ、160KΩ及200KΩ等,从而通过较小的电流步长(或调整幅度)将现有技术中1.5bit精度提升到4bit精度。可见,本方案通过对电路结构的创造性改进,能够弥补因器件特性而导致的电路缺陷,解决现有技术中当前难以克服的器件特征缺陷的问题。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
本发明中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种基于RRAM器件的神经网络阵列电路设计方法,其特征在于,所述阵列电路包括多个RRAM器件,所述方法包括:
根据神经网络模型在阵列电路M*N中确定神经网络阵列m*n,并根据所述神经网络模型的节点权重对所述神经网络阵列m*n进行配置;其中m、n、M、N均为正整数且m<M、n≤N;
通过所配置的神经网络阵列m*n对预设数据进行处理,得到数据处理结果;
将所述数据处理结果与通过所述神经网络模型得到的模拟数据处理结果进行误差分析,得到所述神经网络阵列m*n的误差指数;
根据所述误差指数确定所述阵列电路中(M-m)*n阵列的权重值,并根据所述权重值对所述阵列电路进行配置。
2.根据权利要求1所述的基于RRAM器件的神经网络阵列电路设计方法,其特征在于,在所述根据所述神经网络模型的节点权重对所述神经网络阵列m*n进行配置之前,还包括:
通过图形处理器对尺寸为m*n的神经网络模型进行训练,得到所述神经网络模型的节点权重。
3.根据权利要求1所述的基于RRAM器件的神经网络阵列电路设计方法,其特征在于,所述通过所配置的神经网络阵列m*n对预设数据进行处理,得到数据处理结果,包括:
根据所配置的神经网络阵列m*n对预设图像数据进行处理,并以所述神经网络阵列m*n的每列输出数据作为数据处理结果。
4.根据权利要求3所述的基于RRAM器件的神经网络阵列电路设计方法,其特征在于,所述根据所配置的神经网络阵列m*n对预设图像数据进行处理,并以所述神经网络阵列m*n的每列输出数据作为数据处理结果,包括:
根据所配置的神经网络阵列m*n对多组预设图像数据进行处理,并以所述神经网络阵列m*n的每列输出数据的平均值作为数据处理结果。
5.根据权利要求1所述的基于RRAM器件的神经网络阵列电路设计方法,其特征在于,在将所述数据处理结果与通过所述神经网络模型得到的模拟数据处理结果进行误差分析之前,还包括:
通过所训练的神经网络模型对预设数据进行处理,得到模拟数据处理结果。
6.根据权利要求1所述的基于RRAM器件的神经网络阵列电路设计方法,其特征在于,根据所述误差指数确定所述阵列电路中(M-m)*n阵列的权重值包括:
根据所述误差指数确定所述数据处理结果与所述模拟数据处理结果的差值,以及根据所述差值确定对所述数据处理结果进行反向调节时(M-m)*n阵列的权重值。
7.根据权利要求1所述的基于RRAM器件的神经网络阵列电路设计方法,其特征在于,所述数据处理结果为列电流值,所述列电流值的调节区间为-8.75~8.75uA。
8.一种基于RRAM器件的神经网络阵列电路,其特征在于,阵列电路M*N包括:
神经网络阵列m*n,所述神经网络阵列m*n的阵列单元由并行连结的RRAM器件组成,其阵列单元的权重值通过对尺寸为m*n的神经网络模型进行训练得到的节点权重进行确定;其中m、n、M、N均为正整数且m<M、n≤N;
以及调节阵列(M-m)*n,所述调节阵列的阵列单元由并行连结的阻值器件组成,其阵列单元的权重值通过所述神经网络阵列m*n的误差指数进行确定;所述神经网络阵列m*n与所述调节阵列(M-m)*n通过输出列串行连接。
9.根据权利要求8所述的基于RRAM器件的神经网络阵列电路,其特征在于,所述误差指数根据所述神经网络阵列m*n对预设数据进行处理所述得到的数据处理结果与所述神经网络模型对所述预设数据进行处理得到的模拟数据处理结果进行确定。
10.根据权利要求8所述的基于RRAM器件的神经网络阵列电路,其特征在于,所述阻值器件为RRAM器件或固定电阻器件。
CN202211308763.3A 2022-10-25 2022-10-25 基于rram器件的神经网络阵列电路及其设计方法 Active CN115564036B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211308763.3A CN115564036B (zh) 2022-10-25 2022-10-25 基于rram器件的神经网络阵列电路及其设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211308763.3A CN115564036B (zh) 2022-10-25 2022-10-25 基于rram器件的神经网络阵列电路及其设计方法

Publications (2)

Publication Number Publication Date
CN115564036A true CN115564036A (zh) 2023-01-03
CN115564036B CN115564036B (zh) 2023-06-30

Family

ID=84767399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211308763.3A Active CN115564036B (zh) 2022-10-25 2022-10-25 基于rram器件的神经网络阵列电路及其设计方法

Country Status (1)

Country Link
CN (1) CN115564036B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109146073A (zh) * 2017-06-16 2019-01-04 华为技术有限公司 一种神经网络训练方法和装置
CN110796241A (zh) * 2019-11-01 2020-02-14 清华大学 基于忆阻器的神经网络的训练方法及其训练装置
US20200151572A1 (en) * 2018-11-14 2020-05-14 Advanced Micro Devices, Inc. Using Multiple Functional Blocks for Training Neural Networks
CN112070204A (zh) * 2020-07-24 2020-12-11 中国科学院计算技术研究所 一种基于阻变存储器的神经网络映射方法、加速器
CN112215344A (zh) * 2020-09-30 2021-01-12 清华大学 神经网络电路的校正方法以及设计方法
CN112825153A (zh) * 2019-11-20 2021-05-21 华为技术有限公司 神经网络系统中数据处理的方法、神经网络系统
CN113570048A (zh) * 2021-06-17 2021-10-29 南方科技大学 基于电路仿真的忆阻器阵列神经网络的构建及优化方法
CN114282478A (zh) * 2021-11-18 2022-04-05 南京大学 一种修正可变电阻器件阵列点乘误差的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109146073A (zh) * 2017-06-16 2019-01-04 华为技术有限公司 一种神经网络训练方法和装置
US20200151572A1 (en) * 2018-11-14 2020-05-14 Advanced Micro Devices, Inc. Using Multiple Functional Blocks for Training Neural Networks
CN110796241A (zh) * 2019-11-01 2020-02-14 清华大学 基于忆阻器的神经网络的训练方法及其训练装置
CN112825153A (zh) * 2019-11-20 2021-05-21 华为技术有限公司 神经网络系统中数据处理的方法、神经网络系统
CN112070204A (zh) * 2020-07-24 2020-12-11 中国科学院计算技术研究所 一种基于阻变存储器的神经网络映射方法、加速器
CN112215344A (zh) * 2020-09-30 2021-01-12 清华大学 神经网络电路的校正方法以及设计方法
CN113570048A (zh) * 2021-06-17 2021-10-29 南方科技大学 基于电路仿真的忆阻器阵列神经网络的构建及优化方法
CN114282478A (zh) * 2021-11-18 2022-04-05 南京大学 一种修正可变电阻器件阵列点乘误差的方法

Also Published As

Publication number Publication date
CN115564036B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN110008440B (zh) 一种基于模拟矩阵运算单元的卷积运算及其应用
CN110111827B (zh) 一种基于多个单值阻变存储器的多值阻变结构
Milo et al. Optimized programming algorithms for multilevel RRAM in hardware neural networks
US20230297839A1 (en) Deep learning in bipartite memristive networks
CN110991629B (zh) 一种基于忆阻器的神经元电路
CN103811059B (zh) 一种非挥发存储器参考校准电路与方法
CN114298296A (zh) 基于存算一体阵列的卷积神经网络处理方法和装置
CN114400031B (zh) 一种补码映射的rram存算一体芯片及电子设备
US20220374694A1 (en) Neural network circuit and neural network system
CN115862708A (zh) 忆阻器阵列的操作方法、数据处理装置
CN115630693A (zh) 一种基于Elman神经网络学习算法的忆阻器自学习电路
CN114743580A (zh) 一种电荷共享存内计算装置
CN108920788B (zh) 基于忆阻器非实质蕴涵逻辑的编、译码电路的操作方法
CN114861900A (zh) 用于忆阻器阵列的权重更新方法和处理单元
CN115564036B (zh) 基于rram器件的神经网络阵列电路及其设计方法
CN113672855A (zh) 一种存内运算方法、装置及其应用
CN109359734B (zh) 一种基于忆阻器单元的神经网络突触结构及其调节方法
CN116468090A (zh) 一种基于忆阻器实现的硬件卷积神经网络模型
Gi et al. Fundamental issues of implementing hardware neural networks using memristor
CN115719087A (zh) 长短期记忆神经网络电路及控制方法
CN112071346B (zh) 基于忆阻器簇的3d交叉阵列结构
CN114254743A (zh) 一种基于rram阵列构成的二进制神经网络中并行乘累加运算的电路
CN110137348B (zh) 一种多路复用多值阻变结构及其形成的神经网络
CN108847262A (zh) 存储器的读取电路
CN116665736A (zh) 一种存算方法及存算系统

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