CN112215344A - 神经网络电路的校正方法以及设计方法 - Google Patents

神经网络电路的校正方法以及设计方法 Download PDF

Info

Publication number
CN112215344A
CN112215344A CN202011056258.5A CN202011056258A CN112215344A CN 112215344 A CN112215344 A CN 112215344A CN 202011056258 A CN202011056258 A CN 202011056258A CN 112215344 A CN112215344 A CN 112215344A
Authority
CN
China
Prior art keywords
circuit
memristor
neural network
memristor array
ideal output
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.)
Pending
Application number
CN202011056258.5A
Other languages
English (en)
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202011056258.5A priority Critical patent/CN112215344A/zh
Publication of CN112215344A publication Critical patent/CN112215344A/zh
Pending legal-status Critical Current

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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

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

Abstract

一种用于神经网络电路的校正方法以及一种神经网络电路的设计方法。神经网络电路包括计算电路以及与计算电路连接的非线性函数电路,校正方法包括:获取表征计算电路的非理想输出与理想输出之间关系的校正系数;以及通过改变神经网络电路的电路参数,将校正系数加入非线性函数电路中。该校正方法可以提高神经网络电路的网络识别率。

Description

神经网络电路的校正方法以及设计方法
技术领域
本公开的实施例涉及一种用于神经网络电路的校正方法以及一种神经网络电路的设计方法。
背景技术
近年来,采用硬件电路来实现神经网络的技术日益成熟,尤其是采用忆阻器阵列为核心的硬件电路。在该硬件电路中,将网络输入映射为忆阻器阵列的输入电压,将神经元权重映射为忆阻器阵列的中的忆阻器的电阻值(或电导值),将输出映射为忆阻器阵列的输出电流。该技术的优势是可以实现数据存储与计算的一体化,可以解决传统计算架构中由于数据传输带宽造成的计算速度下降等问题。
发明内容
本公开至少一实施例提供一种用于神经网络电路的校正方法,所述神经网络电路包括计算电路以及与所述计算电路连接的非线性函数电路,所述校正方法包括:获取表征所述计算电路的非理想输出与理想输出之间关系的校正系数;以及通过改变所述神经网络电路的电路参数,将所述校正系数加入所述非线性函数电路中。
例如,在本公开至少一实施例提供的校正方法中,所述计算电路包括由多行多列忆阻器构成的忆阻器阵列;获取表征所述计算电路的非理想输出与理想输出之间关系的校正系数包括:获取所述忆阻器阵列的非理想输出和理想输出;以及根据所述忆阻器阵列的非理想输出和理想输出获得所述校正系数。
例如,在本公开至少一实施例提供的校正方法中,获取表征所述计算电路的非理想输出与理想输出之间关系的校正系数还包括:获取构成所述忆阻器阵列的忆阻器的电流电压特性曲线;获取所述忆阻器阵列的非理想输出包括:根据所述忆阻器的电流电压特性曲线,获取所述忆阻器阵列的非理想输出电流向量。
例如,在本公开至少一实施例提供的校正方法中,获取构成所述忆阻器阵列的所述忆阻器的电流电压特性曲线包括:对所述忆阻器阵列中的至少一个所述忆阻器进行测试获得所述忆阻器的电流电压特性曲线。
例如,在本公开至少一实施例提供的校正方法中,获取构成所述忆阻器阵列的所述忆阻器的电流电压特性曲线包括:对对照忆阻器进行测试获得所述忆阻器的电流电压特性曲线,所述对照忆阻器与所述忆阻器阵列中的所述忆阻器采用相同材料、相同制备工艺制备得到。
例如,在本公开至少一实施例提供的校正方法中,根据所述忆阻器的电流电压特性曲线,获取所述忆阻器阵列的非理想输出电流向量,包括:根据预设的用于所述忆阻器阵列的输入电压向量、所述忆阻器阵列对应的权重矩阵以及所述忆阻器的电流电压特性曲线,对所述忆阻器阵列的输出电流进行仿真以获得所述非理想输出电流向量。
例如,在本公开至少一实施例提供的校正方法中,获取所述忆阻器阵列的非理想输出包括:对所述忆阻器阵列进行写入操作使得所述忆阻器阵列对应权重矩阵;向所述忆阻器阵列输入预设的输入电压向量;以及测量所述忆阻器阵列的输出电流以获得非理想输出电流向量。
例如,在本公开至少一实施例提供的校正方法中,获取所述忆阻器阵列的理想输出包括:根据预设的用于所述忆阻器阵列的输入电压向量以及所述忆阻器阵列对应的权重矩阵,对所述忆阻器阵列的输出电流进行计算以获得理想输出电流向量。
例如,在本公开至少一实施例提供的校正方法中,根据所述忆阻器阵列的非理想输出和理想输出获得所述校正系数包括:获得多个表示所述忆阻器阵列的非理想输出和理想输出的拟合点,其中,每个所述拟合点对应所述忆阻器阵列的一行或一列,所述拟合点的第一坐标对应所述理想输出,所述拟合点的第二坐标对应所述非理想输出;以及对多个所述拟合点进行拟合获得一条拟合直线,则所述校正系数为所述拟合直线的斜率。
例如,在本公开至少一实施例提供的校正方法中,所述非线性函数电路包括实现激活函数的激活函数电路,所述神经网络电路还包括与所述激活函数电路连接的模拟数字转换电路;通过改变所述神经网络电路的电路参数,将所述校正系数加入所述非线性函数电路中,包括:根据所述校正系数校正模拟数字转换电路中的电路参数。
例如,在本公开至少一实施例提供的校正方法中,模拟数字转换电路包括采样电容,根据所述校正系数校正所述模拟数字转换电路中的电路参数包括:根据所述校正系数校正所述采样电容的设计参数,以使得所述采样电容的设计参数满足C2=C1*K;C1为所述采样电容校正前的电容值,C2为所述采样电容校正后的电容值,K为所述校正系数。
例如,在本公开至少一实施例提供的校正方法中,所述激活函数包括ReLU函数。
本公开至少一实施例还提供一种神经网络电路的设计方法,包括:获取神经网络电路中的计算电路;根据本公开的任一实施例所述的校正方法对所述神经网络电路进行校正。
例如,在本公开至少一实施例提供的神经网络电路的设计方法中,根据所述校正方法对所述神经网络电路进行校正包括:所述校正方法进行多次,对多次进行所述校正方法所获得的多个校正系数取平均值,以及基于取平均值后的校正系数对所述神经网络电路进行校正。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为一种忆阻器的示意图;
图2示出了一种忆阻器的理想电流电压特性曲线以及非理想电流电压特性曲线;
图3为一种忆阻器阵列的示意图;
图4为一种神经网络的示意图;
图5为本公开的至少一实施例提供的一种校正方法的示意图;
图6为本公开的至少一实施例提供的另一种校正方法的示意图;
图7示出了忆阻器在多个不同的阻态下的电流电压特性曲线;
图8为本公开的至少一实施例提供的又一种校正方法的示意图;
图9示出了获取校正系数K的一种示例;
图10为一种神经网络电路的示意图;
图11为ReLU函数的示意图;
图12为一种模拟数字转换电路的示意图;
图13为对一个神经网络电路的网络识别率进行仿真的的对比图;以及
图14本公开的至少一实施例提供的一种神经网络电路设计方法的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
以一个识别图片的神经网络电路为例,该神经网络电路可以包括用于矩阵计算的计算电路,例如,该计算电路可以采用忆阻器阵列实现。在这种情形下,通常需要将输入图片的像素值(或灰阶电压值)直接编码为忆阻器阵列的输入电压。需要说明的是,该神经网络电路除了包括计算电路外,通常还包括用于实现非线性函数(例如激活函数)的非线性函数电路,这里不再赘述。
当采用上述神经网络电路对一个测试集中的A张图片进行识别,若能正确的识别出B张图片,则该神经网络电路的网络识别率为B/A*100%。例如,测试集为100张水果的图片,使用该神经网络电路对该测试集中的全部图片进行识别,若能正确识别出90张水果图片,则该神经网络电路的网络识别率为90%。本公开的实施例中所涉及的网络识别率均与此类似,不再赘述。但需要说明的是,此处是以识别水果图片为例进行说明的,本公开的实施例对此不作限定,被识别的对象还可以为动物图片、人脸图像、手写数字等其它需要被识别的数据。
图1示出了一种忆阻器的示意图。如图1所示,该忆阻器采用1T1R结构,即该忆阻器包括一个晶体管T1和一个忆阻器元件R1。需要说明的是,本公开的实施例中的忆阻器可以仅包括一个忆阻器元件,或者可以是包括一个晶体管和一个忆阻器元件(1T1R),或者也可以采用其它忆阻器结构。本公开的实施例对忆阻器的结构不做限定。
例如,本公开的实施例中的忆阻器可以采用TaOx/HfOx基(氧化钽/氧化铪)材料制作,但本公开对此并不限定。
需要说明的是,忆阻器中采用的晶体管可以为薄膜晶体管或场效应晶体管(例如MOS场效应晶体管)或其他特性相同的开关器件。这里采用的晶体管的源极、漏极在结构上可以是对称的,所以其源极、漏极在结构上可以是没有区别的。在本公开的实施例中,为了区分晶体管除栅极之外的两极,直接描述了其中一极为第一极,而另一极为第二极。
本公开的实施例对忆阻器中采用的晶体管的类型不作限定,例如当晶体管T1采用N型晶体管时,其栅极和字线端WL连接,例如字线端WL输入高电平时晶体管T1导通;晶体管T1的第一极可以是源极并配置为和源线端SL连接,例如晶体管T1可以通过源线端SL接收复位电压;晶体管T1的第二极可以是漏极并配置为和忆阻器元件R1的第二极(例如负极)连接,忆阻器元件R1的第一极(例如正极)和位线端BL连接,例如忆阻器元件R1可以通过位线端BL接收置位电压。
又例如,当晶体管T1采用P型晶体管时,其栅极和字线端WL连接,例如字线端WL输入低电平时晶体管T1导通;晶体管T1的第一极可以是漏极并配置为和源线端SL连接,例如晶体管T1可以通过源线端SL接收复位电压;晶体管T1的第二极可以是源极并配置为和忆阻器元件R1的第二极(例如负极)连接,忆阻器元件R1的第一极(例如正极)和位线端BL连接,例如忆阻器元件R1可以通过位线端BL接收置位电压。需要说明的是,忆阻器的结构还可以实现为其他结构,例如忆阻器元件R1的第二极与源线端SL连接的结构,本公开的实施例对此不作限制。下面各实施例均以晶体管T1采用N型晶体管为例进行说明。
字线端WL的作用是对晶体管T1的栅极施加相应电压,从而控制晶体管T1导通或关闭。在对忆阻器元件R1进行操作时,例如进行写入操作(写入神经网络权重对应的电阻值),均需要先开启晶体管T1,即需要通过字线端WL对晶体管T1的栅极施加导通电压。在晶体管T1导通后,例如,可以通过在源线端SL和位线端BL向忆阻器元件R1施加电压,以改变忆阻器元件R1的电阻值。例如,可以通过位线端BL施加置位电压,以使得该忆阻器元件R1的电阻值变小(向低阻态变化);又例如,可以通过源线端SL施加复位电压,以使得该忆阻器元件R1的电阻值变大(向高阻态变化)。
需要说明的是,在本公开的实施例中,通过字线端WL和位线端BL同时施加电压,使得忆阻器元件R1的电阻值越来越小,即忆阻器元件R1从高阻态变为低阻态,将使得忆阻器元件R1从高阻态变为低阻态的操作称为置位操作;通过字线端WL和源线端SL同时施加电压,使得忆阻器元件R1的电阻值越来越大,即忆阻器元件R1从低阻态变为高阻态,将使得忆阻器元件R1从低阻态变为高阻态的操作称为复位操作。
例如,忆阻器元件R1具有阈值电压,在输入电压幅度小于忆阻器元件R1的阈值电压时,忆阻器元件R1的电阻值(或电导值)不会改变或改变幅度可以忽略。在这种情况下,可以通过输入小于阈值电压的电压去改变忆阻器元件R1的电阻值(或电导值),使得忆阻器元件R1具有预设的电阻值(或电导值),即进行写入操作,写入操作可以包括上述的置位操作以及复位操作。例如,该预设的电阻值或电导值对应神经网络的权重矩阵中的一个元素,即忆阻器可以实现数据的存储。例如,对该忆阻器输入预设的输入电压,则经过该忆阻器的作用后可以得到输出电流,即该忆阻器还可以实现数据的计算。综上,忆阻器可以实现数据存储与计算的一体化。例如,当多个忆阻器构成一个忆阻器阵列时,该忆阻器阵列可以进行矩阵计算。
一个忆阻器在理想状态下,它的输出电流和输入电压应该是具有线性关系的,例如忆阻器的输出电流与施加的输入电压是成正比的。但是,忆阻器在实际工作时由于器件本身固有的特性会具有非线性,例如该非线性是由于忆阻器在工作时温度升高而产生的热电流造成的。图2示出了一种忆阻器的理想电流电压特性曲线以及非理想电流电压特性曲线,横坐标为忆阻器的输入电压,纵坐标为忆阻器的输出电流,ΔI表示忆阻器由于本身固有的特性造成的非理想输出电流与理想输出电流之间的差值。
图3示出了一种采用图2所示的忆阻器构成的忆阻器阵列。例如,该忆阻器阵列包括M行*N列个忆阻器以及M条第一信号线(SL<1>、SL<2>……SL<M>)和N条第二信号线(BL<1>、BL<2>……BL<N>)。M和N均为大于1的整数。
如图3所示,每个忆阻器包括第一端801和第二端802。位于第m行中的忆阻器的第一端801连接到第m条第一信号线,位于第n列中的忆阻器的第二端802连接到第n条第二信号线。m为大于等于1并且小于等于M的整数,n为大于等于1并且小于等于N的整数。第一信号线例如为源线,第二信号线例如为位线。
如图3所示,BL<1>、BL<2>……BL<N>分别表示第一列、第二列……第N列的位线,每一列的忆阻器和该列对应的位线连接。SL<1>、SL<2>……SL<M>分别表示第一行、第二行……第M行的源线,每一行的忆阻器和该行对应的源线连接。另外,图3中WL<1>、WL<2>……WL<M>分别表示第一行、第二行……第M行的字线。在该示例中,例如可以是每一行的忆阻器的晶体管的漏极和该行对应的源线连接,每一行的忆阻器中的晶体管的栅极和该行对应的字线连接。
需要说明的是,在图3所示的示例中,字线(WL)是与忆阻器阵列的行方向平行的,本公开的实施例包括但不限于此,该字线还可以与忆阻器阵列的列方向平行。
如上所述,一个神经网络电路中的计算电路可以采用图3所示的忆阻器阵列实现,在采用该神经网络电路对一个测试集中的多个图片进行识别的情形下,通常需要将输入图片的像素值(或灰阶电压值)直接编码为忆阻器阵列的输入电压。
如图2所示,由于忆阻器在确定阻态下的非理想电流电压特性曲线总是偏离理想电流电压特性曲线,所以忆阻器阵列中的单个忆阻器在进行计算时的输出电流会在理想输出的基础上产生部分偏移。随着忆阻器阵列的网络规模(即行数和列数)增大,该忆阻器阵列总体的输出会严重偏离理想输出,从而使得采用该忆阻器阵列的神经网络电路的网络识别率降低。
例如,如图3所示的忆阻器阵列在进行矩阵计算时,可以首先对忆阻器阵列进行写入操作使得该忆阻器阵列的电阻值(或电导值)对应神经网络的权重矩阵,然后通过多条源线(SL<1>、SL<2>……SL<M>)将预设的输入电压向量输入该忆阻器阵列,最后从多条位线(BL<1>、BL<2>……BL<N>)获得非理想输出电流向量。例如,对于一个具有M个输入量、N个输出量的忆阻器阵列(例如对应于M行N列),非理想输出电流向量中的一个非理想输出电流可以表示为如下所示的第一等式:
Figure BDA0002710946250000081
在上述第一等式中,Gm,n表示忆阻器阵列第m行第n列的忆阻器对应的电导值;Vm表示用于忆阻器阵列的输入电压向量中的第m个输入电压,即提供至第m条源线的输入电压;ΔIm表示Vm对应的非理想输出电流与理想输出电流之间的差值;Inonlinearity_output,n表示非理想输出电流向量中的第n个输出电流,即从第n条位线获得的输出电流。m为满足1≤m≤M的整数,n为满足1≤n≤N的整数,M为忆阻器阵列的行数,N为忆阻器阵列的列数。
需要说明的是,在上面的示例中,是以按照行输入且按照列输出为例进行描述的,本公开的实施例包括但不限于此,例如,也可以按照列输入且按照行输出进行计算。
由第一等式可以看出,忆阻器阵列的非理想输出电流会累积多个忆阻器的ΔI,使得该忆阻器阵列的非理想输出与理想输出之间的偏差较大,若将该非理想输出提供至后续的非线性函数电路(例如激活函数)中,则会降低采用该忆阻器阵列的神经网络电路的网络识别率。
例如,在一种技术方案中,是将用于忆阻器阵列的输入电压编码为二进制数值(例如,二进制数值0和1分别对应一个确定的电压值),将获得的输出电流也编码为二进制数值,这样输入和输出就可以有一个确定的映射关系,而且由于输入电压采用的是确定的电压值,所以可以避免忆阻器的电阻值随着输入电压的变化而发生小范围改变。采用上述技术方案可以减弱或避免忆阻器本身的非线性问题,但同时会存在如下所述的问题。
当输入电压为没有进行编码的电压值时(例如输入图片对应的灰阶电压值),则对应该输入电压只需要提供一个电压脉冲;然而,如果采用上述技术方案对输入电压进行二进制编码后,则对应该输入电压可能需要提供两个、三个或更多个电压脉冲,这将降低该神经网络电路的识别效率。
本公开的至少一实施例提供了一种用于神经网络电路的校正方法,神经网络电路包括计算电路以及与计算电路连接的非线性函数电路,该校正方法包括:获取表征计算电路的非理想输出与理想输出之间关系的校正系数;以及通过改变神经网络电路的电路参数,将校正系数加入非线性函数电路中。本公开的至少一实施例还提供了一种神经网络电路的设计方法。
本公开的实施例提供的用于神经网络电路的校正方法以及神经网络电路的设计方法可以在不降低识别效率的基础上提高神经网络电路的网络识别率。
本公开至少一实施例提供一种用于神经网络电路的校正方法,例如,该神经网络电路包括计算电路以及与计算电路连接的非线性函数电路。
例如,该计算电路可以由电阻型存储器件构成,例如,电阻型存储器件包括但不限于忆阻器(也称为阻变存储器,Resistive Random Access Memory,RRAM)、相变存储器(Phase Change Memory,PCM)、磁阻式随机存储器(Magnetoresistive Random AccessMemory,MRAM)等。本公开的实施例以忆阻器为例进行说明,以下不再赘述。
例如,上述计算电路一般只能实现线性函数,神经网络电路想要实现一定的功能,例如识别、筛选、归类等,该神经网络电路除了要包括计算电路外,还必须包括实现非线性函数的电路,这样该神经网络电路才有足够的表达能力,进而实现一定的功能。在公开的实施例中,将神经网络电路中实现非线性函数的电路称为非线性函数电路,以下不再赘述。例如,该非线性函数电路可以实现激活函数的功能。
例如,图4示出了一个神经网络的示意图,该神经网络包括第一层和第二层,例如,第一层可以为输入层,第二层可以为隐藏层等。例如,计算电路可以用于进行第一层到第二层之间的矩阵计算,例如,在计算电路为忆阻器阵列的情形中,计算电路的输入为对应第一层的输入电压向量,计算电路的输出为对应第二层的输出电流向量。
例如,该计算电路的输出可以提供至非线性函数电路进行进一步处理。例如,该非线性函数电路可以对应为神经网络中的激活层。
需要说明的是,图4仅是一种神经网络的示例,本公开的实施例包括但不限于此,例如,该神经网络在第二层之后还可以包括第三层(例如输出层)等更多层。相应地,该神经网络对应的神经网络电路还可以包括更多个计算电路或非线性函数电路。
例如,如图5所示,上述校正方法包括如下操作步骤。
步骤S100:获取表征计算电路的非理想输出与理想输出之间关系的校正系数;
步骤S200:通过改变神经网络电路的电路参数,将校正系数加入非线性函数电路中。
例如,计算电路对应实现一个线性函数,在理想状态下,该计算电路本身有一个理想输出,该计算电路的理想输出可以直接根据该计算电路的输入以及对应该计算电路的线性函数进行计算获得。但计算电路在实际应用中,因为器件本身的原因(例如忆阻器自身的非线性)在进行计算时会引入非线性因素,因此计算电路在非理想状态下具有对应的非理想输出。
在步骤S100中,获取表征计算电路的非理想输出和理想输出之间关系的校正系数K。例如,该计算电路可能具有多个非理想输出和对应的多个理想输出,则获取的校正系数K表征了该计算电路的多个非理想输出与多个理想输出整体上的关系。
通过步骤S100获取校正系数K后,在步骤S200中,可以基于该校正系数K改变神经网络电路的电路参数,例如,改变神经网络电路的电路设计参数,从而将该校正系数K加入到非线性函数电路中以校正整个神经网络电路的非线性。也就是说,通过改变神经网络电路的电路设计参数,可以将计算电路引入的非线性在非线性函数电路中进行校正。关于步骤S200将在下面进行详细描述,这里不再赘述。
本公开的至少一实施例提供的用于神经网络电路的校正方法,可以基于表征计算电路的非线性的校正系数K改变神经网络电路的电路参数,经过校正系数K校正后的神经网络电路可以减弱或消除由于计算电路所引起的非线性,从而可以提高该神经网络电路的网络识别率。另外,由于该神经网络电路可以直接接收输入电压,不需要对输入电压进行二进制编码,所以采用本公开的至少一实施例提供的校正方法不会降低识别效率。
例如,在本公开的一些实施例中,计算电路包括由多行多列忆阻器构成的忆阻器阵列。例如,该忆阻器阵列可以采用图3所示的忆阻器阵列。在计算电路实现为忆阻器阵列的情形下,如图6所示,上述步骤S100包括如下操作步骤。
步骤S102:获取忆阻器阵列的非理想输出和理想输出;
步骤S103:根据忆阻器阵列的非理想输出和理想输出获得校正系数。
在步骤S102中,需要获取忆阻器阵列的非理想输出和理想输出。下面先描述如何获取忆阻器阵列的理想输出。
例如,在一些实施中,获取忆阻器阵列的理想输出包括:根据预设的用于忆阻器阵列的输入电压向量以及忆阻器阵列对应的权重矩阵,对忆阻器阵列的输出电流进行计算以获得理想输出电流向量,该理想输出电流向量即对应忆阻器阵列的理想输出。
例如,以图3所示的忆阻器阵列为例,该忆阻器阵列的理想输出电流向量中的理想输出电流可以表示为如下所示的第二等式:
Figure BDA0002710946250000111
在上述第一等式中,Gm,n表示忆阻器阵列第m行第n列的忆阻器对应的电导值,忆阻器阵列对应的电导值矩阵对应权重矩阵;Vm表示用于忆阻器阵列的输入电压向量中的第m个输入电压,M个Vm构成的向量即为预设的用于忆阻器阵列的输入电压向量;Iideal_output,n表示理想输出电流向量中的第n个输出电流,N个Iideal_output,n构成的向量即为理想输出电流向量。m为满足1≤m≤M的整数,n为满足1≤n≤N的整数,M为忆阻器阵列的行数,N为忆阻器阵列的列数。根据上述第二等式进行计算即可以获取忆阻器阵列的理想输出,例如,该计算操作可以采用计算机进行。
下面分两种情形分别描述在步骤S102中如何获取忆阻器阵列的非理想输出。
第一种情形是采用仿真的方式获取忆阻器阵列的非理想输出。例如,在一个实施例中,如图6所示,上述步骤S100还包括步骤S101:获取构成忆阻器阵列的忆阻器的电流电压特性曲线。
例如,在一个实施例中,获取构成忆阻器阵列的忆阻器的电流电压特性曲线包括:对所述忆阻器阵列中的至少一个所述忆阻器进行测试获得所述忆阻器的电流电压特性曲线。
例如,仍然以图3所示的忆阻器阵列为例进行说明,首先可以选定一个忆阻器,然后在该忆阻器的两端施加变化的测试电压,例如,通过与该忆阻器连接的源线(SL)和位线(BL)向忆阻器的两端施加变化的测试电压。然后,通过与该忆阻器连接的位线(BL)测量通过该忆阻器的测试电流。最后,根据测试电压以及测试电流获得该忆阻器的电流电压特性曲线。
例如,可以对忆阻器的多个不同的阻态进行测试以获得多条电流电压特性曲线。例如,图7示出了对忆阻器的12种不同的阻态进行测试获得的12条电流电压特性曲线。需要说明的是,图7中所示的12条曲线从上往下依次对应的电阻值分别为38.5kΩ、41.8kΩ、45.5kΩ、50.2kΩ、55.4kΩ、62.4kΩ、71.4kΩ、83.3kΩ、100.2kΩ、125.2kΩ、168.6kΩ、253.9kΩ,图中的曲线是以误差棒的形式进行表示的,例如,对应于一个测试电压,通过多次测量获得多个测试电流,将该多个测试电流的范围以误差棒的形式表示在曲线的一个点上。
对于图7所示的某一条忆阻器的电流电压特性曲线,可以通过拟合将该曲线表示为一个非线性函数。例如,该非线性函数可以表示为如下所示的第三等式:
Figure BDA0002710946250000121
在第三等式中,G表示忆阻器对应的电导值,V表示输入该忆阻器的测试电压,Inonlinearity表示该忆阻器对应测试电压的测试电流,B表示衡量该非线性函数的非线性程度的一个非线性参数,其它参数A、C、k均为常量。
例如,在一个示例中,上述第三等式可以为:
Figure BDA0002710946250000122
例如,在另一个实施例中,获取构成忆阻器阵列的忆阻器的电流电压特性曲线包括:对对照忆阻器进行测试获得忆阻器的电流电压特性曲线,对照忆阻器与忆阻器阵列中的忆阻器采用相同材料、相同制备工艺制备得到。
该实施例与上一个实施例的区别在于,这里不再对忆阻器阵列中的一个忆阻器进行测试,而是对一个对照忆阻器进行测试,而且该对照忆阻器是与忆阻器阵列中的忆阻器采用相同材料、相同制备工艺制备得到的。所以,通过这种间接的方式同样也可以获得构成忆阻器阵列的忆阻器的电流电压特性曲线。关于具体如何进行测试可以参考上面的描述,这里不再赘述。
在获取构成忆阻器阵列的忆阻器的电流电压特性曲线的基础上,上述获取忆阻器阵列的非理想输出包括:根据忆阻器的电流电压特性曲线,获取忆阻器阵列的非理想输出电流向量。
例如,在一些实施例中,根据忆阻器的电流电压特性曲线,获取忆阻器阵列的非理想输出电流向量,包括:根据预设的用于忆阻器阵列的输入电压向量、忆阻器阵列对应的权重矩阵以及忆阻器的电流电压特性曲线,对忆阻器阵列的输出电流进行仿真以获得非理想输出电流向量。这里,例如可以采用计算机进行仿真。
第二种情形是采用实际测试的方式获取忆阻器阵列的非理想输出。例如,在一些实施例中,获取忆阻器阵列的非理想输出包括:对忆阻器阵列进行写入操作使得忆阻器阵列对应权重矩阵;向忆阻器阵列输入预设的输入电压向量;以及测量忆阻器阵列的输出电流以获得非理想输出电流向量。
例如,仍以图3所示的忆阻器阵列为例进行说明。首先,可以对忆阻器阵列进行写入操作(例如包括置位操作以及复位操作)使得每个忆阻器的电阻值(或电导值)都对应权重矩阵中的一个元素,从而使得该忆阻器阵列对应权重矩阵。然后通过多条源线(SL)分别向忆阻器阵列输入预设的输入电压向量中的多个输入电压,最后通过多条位线(BL)测量忆阻器阵列的多个输出电流,该多个输出电流构成的向量即为该忆阻器阵列的非理想输出电流向量,该非理想输出电流向量即为该忆阻器阵列的非理想输出。
例如,如图8所示,在一些实施例中,上述步骤S103包括如下操作步骤。
步骤S1031:获得多个表示忆阻器阵列的非理想输出和理想输出的拟合点,每个拟合点对应忆阻器阵列的一行或一列,拟合点的第一坐标对应理想输出,拟合点的第二坐标对应非理想输出。
步骤S1032:对多个拟合点进行拟合获得一条拟合直线,则校正系数K为拟合直线的斜率。
例如,在步骤S102中获取了忆阻器阵列的非理想输出和理想输出,下面仍以图3所示的忆阻器阵列为例进行说明,对应于每一列,该忆阻器阵列具有一个非理想输出电流和一个理想输出电流。然后在步骤S1031中,获得多个拟合点,每个拟合点对应忆阻器阵列的一列。这里需要说明的是,如果忆阻器阵列是按照列输入且按照行输出,则每个拟合点对应忆阻器阵列的一行。
某一个拟合点的第一坐标(例如X轴坐标)与该拟合点对应的某一列忆阻器的理想输出电流对应,该拟合点的第二坐标(例如Y轴坐标)与该拟合点对应的某一列忆阻器的非理想输出电流对应。
经过步骤S1031后,就构建了对应于多列忆阻器的多个拟合点,例如,图9示出了多个拟合点的一种示例。然后,在步骤S1032中,对该多个拟合点进行拟合获得一条拟合直线,例如,如图9所示,该拟合直线为经过原点的一条直线,则校正系数K即为该拟合直线的斜率。
即对于忆阻器阵列来说,可以认为它的非理想输出电流Inonlinearity_output与理想输出电流Iideal_output之间满足如下所示的第四等式:
Inonlinearity_output=KIideal_output
通过上述步骤S100获得校正系数K后,可以在步骤200中根据校正系数K对整个神经网络电路进行校正,从而可以将计算电路的非线性因素抵消掉。
例如,在本公开的多个实施例中,非线性函数电路包括实现激活函数的激活函数电路,神经网络电路还包括与激活函数电路连接的模拟数字转换电路,例如,该模拟数字转换电路可以实现为模拟数字转换器(ADC)。
例如,图10示出了一种神经网络电路的示意图,该神经网络电路除了包括忆阻器阵列、激活函数电路、模拟数字转换电路外,例如还可以包括缓冲电路、数字模拟转换电路以及多路选择电路等。
例如,数字模拟转换电路可以实现为数字模拟转换器(DAC)。提供至忆阻器阵列的数字域的输入电压需要先经过缓冲电路的缓冲,然后再经过数字模拟转换电路转换为模拟域的输入电压(V1,V2,……,VM)后再提供至忆阻器阵列进行计算。
忆阻器阵列的模拟域的输出电流(I1,I2,……,IN)先经过多路选择电路的选择,然后再经过模拟数字转换电路转换为数字域的输出电流,然后再被提供至激活函数电路以做进一步处理。
例如,在本公开的一些实施例中,激活函数电路实现的激活函数可以为ReLU函数,该函数可以表示为:ReLU(x)=max(0,x),即当x小于等于零时,该函数的输出为0,当x大于零时,该函数的输出等于输入;也就是说,ReLU函数是一个分段线性函数,它会把所有输入的负值变为零,而输入的正值保持不变。图11中的粗实线示出了该激活函数ReLU(x)。
在神经网络电路中的非线性函数电路采用实现ReLU函数的激活函数电路的情形下,在步骤S100中获得了校正系数K之后,在步骤S200中,需要改变神经网络电路的电路参数,将该校正系数K加入非线性函数电路中,从而完成该神经网络电路的校正。
例如,在一个示例中,可以直接将校正系数K加入到激活函数中,从而使得激活函数从ReLU函数变为另一个新的激活函数f(x)=max(0,x)/K,图11中的粗虚线示出了该激活函数f(x)。ReLU函数在大于零的区间的斜率为1,新的激活函数f(x)在大于零的区间的斜率为1/K。
例如,在另一个示例中,如图10所示,在神经网络电路包括与激活函数电路连接的模拟数字转换电路时,上述步骤S200可以包括:根据校正系数K校正模拟数字转换电路中的电路参数。
根据ReLU函数的特性,通常可以不用专门的电路来实现该ReLU函数,可以将该ReLU函数的功能集成在其它电路中,例如,集成在模拟数字转换电路中。需要说明的是,如果神经网络电路中包括的激活函数电路实现的激活函数较为复杂,则需要专门的电路来实现该激活函数的功能,而不能将该激活函数的功能集成在其它电路中。
例如,模拟数字转换电路可以实现为如图12所示的电路结构,如图12所示,该模拟数字转换电路包括放大器OPA和采样电容Cdesign。放大器OPA的一个输入端(例如反相输入端)接收输入电流Iin,并与采样电容Cdesign的一极连接,OPA的另一个输入端(例如同相输入端)接收参考电压Vref,放大器OPA输出端与采样电容Cdesign的另一极连接,且输出采样电压Vsample。例如,结合图10所示,忆阻器阵列的多个输出电流经过多路选择电路选择后可以被提供至模拟数字转换电路中的放大器OPA以作为输入电流Iin
在一些实施例中,根据校正系数K校正模拟数字转换电路中的电路参数包括:根据校正系数K校正采样电容Cdesign的设计参数,以使得采样电容Cdesign的设计参数满足C2=C1*K,C1为采样电容Cdesign校正前的电容值,C2为采样电容Cdesign校正后的电容值,K为校正系数。下面对该推导过程进行描述。
如果不考虑忆阻器阵列的非线性,则图12中的采样电压Vsample满足如下所示的第五等式:
Figure BDA0002710946250000151
如果考虑忆阻器阵列的非线性,同时对采样电容Cdesign的设计参数进行校正,则图12中的采样电压Vsample满足如下所示的第六等式:
Figure BDA0002710946250000152
将第四等式Inonlinearity_output=KIideal_output带入第六等式,得到:
Figure BDA0002710946250000161
所以,在考虑忆阻器阵列的非线性的情形下,如果希望模拟数字转换电路输出的采样电压不再包含忆阻器阵列的非线性因素,则需要使得C2/K=C1,即C2=C1*K。
也就是说,通过改变神经网络电路的电路参数,例如改变模拟数字转换电路中的采样电容的设计参数,从而将校正系数K加入到非线性函数电路中,例如,加入到激活函数电路中,这里由于可以将激活函数ReLU函数的功能集成在模拟数字转换电路中,所以可以将K加入到该模拟数字转换电路中。
图13示出了对一个神经网络电路的网络识别率进行仿真的的对比图。横坐标表示非线性参数B,该参数表示神经网络电路中的计算电路(例如忆阻器阵列)的非线性程度的一个参数,具体可以参考上述第三等式,这里不再赘述;纵坐标表示网络识别率。
如图13所示,在没有采用本公开的实施例提供的校正方法对神经网络电路进行校正的情形下,随着非线性参数B的值越来越大,该神经网络电路的网络识别率逐渐降低。而在采用本公开的实施例提供的校正方法对神经网络电路进行校正的情形下,随着非线性参数B的值越来越大,该神经网络电路的网络识别率基本可以稳定在95%。所以,采用本公开的实施例提供的校正方法可以提高神经网络电路的网络识别率。
本公开至少一实施例还提供一种神经网络电路的设计方法,该设计方法包括:获取神经网络电路中的计算电路;以及根据校正方法对该神经网络电路进行校正。例如,这里的校正方法可以采用本公开的实施例提供的任一校正方法。
例如,神经网络电路可以是预先设计好的,但不需要全部制作完成,例如这里可以只制作神经网络电路中的计算电路;例如,当计算电路采用忆阻器阵列实现时,这里可以只获取一个忆阻器或者获取该忆阻器阵列。在获取到该神经网络电路中的计算电路后,可以采用上述任一校正方法对该神经网络电路进行校正。例如,经过校正方法获取校正系数K后,可以根据该校正系数K修改神经网络电路的设计参数,从而使得最终制作完成的神经网络电路是被校正过的。经过校正后的神经网络电路可以在不降低识别效率的基础上提高神经网络电路的网络识别率。
关于神经网络电路的校正方法以及技术效果可以参考上述实施例中的相应描述,这里不再赘述。
在本公开的至少一实施例提供的神经网络电路的设计方法中,根据校正方法对神经网络电路进行校正包括:校正方法进行多次,对多次进行校正方法所获得的多个校正系数取平均值,以及基于取平均值后的校正系数对神经网络电路进行校正。
在本公开的实施例中,取平均值后的校正系数可以更准确地表征神经网络电路中的计算电路的非理想输出与理想输出之间的关系,从而可以更好地对神经网络电路进行校正,从而可以进一步提高神经网络电路网络识别率。
本公开的实施例还提供一种神经网络电路设计方法,如图14所示,该设计方法包括如下操作步骤。
步骤S10:神经网络的算法设计;
步骤S20:含忆阻器阵列的神经网络电路结构设计;
步骤S30:确定制作忆阻器采用的材料以及制作工艺;
步骤S101:获取构成忆阻器阵列的忆阻器的电流电压特性曲线;
步骤S102:获取忆阻器阵列的非理想输出和理想输出;
步骤S103:根据忆阻器阵列的非理想输出和理想输出获得校正系数;
步骤S200:通过改变神经网络电路的电路参数,将校正系数加入非线性函数电路中;
步骤S40:完成设计,制作整体神经网络电路并进行测试验证。
例如,现在要设计一个神经网络对手写数字图片进行识别,例如,测试集包括10000张图片,则可以通过步骤S10进行该神经网络的算法设计。例如,设计出来的神经网络可以包括三层,例如,输入层包含784个神经元,隐含层包含200个神经元,输出层包含10个神经元。又例如,该神经网络中的激活函数可以采用ReLU函数。
对应步骤S10中获得的神经网络的结构,在步骤S20中设计对应的神经网络电路的电路结构,例如,该神经网络电路包括采用忆阻器阵列的计算电路。然后,在步骤S30中确定制作该忆阻器阵列中的忆阻器所采用的材料以及制作工艺。
通过上述的实施例可知,在步骤S101中,获取忆阻器的电流电压特性曲线可以采用多种不同的方式。例如,在一种示例中,可以先采用步骤S30确定的材料以及制作工艺将忆阻器阵列制作出来,然后对忆阻器阵列中的一个忆阻器进行测试,从而获得忆阻器的电流电压特性曲线;又例如,在另一种示例中,可以先采用步骤S30确定的材料以及制作工艺制作一个对照忆阻器,然后对该对照忆阻器进行测试,从而获得忆阻器的电流电压特性曲线。
通过上述的实施例可知,在步骤S102中,获取忆阻器阵列的非理想输出也可以采用多种不同的方式。例如,在一种示例中,可以基于忆阻器的电流电压特性曲线通过仿真获取忆阻器阵列的非理想输出;又例如,在另一种示例中,还可以对忆阻器阵列直接进行测量以获得忆阻器阵列的非理想输出,在这种情形中,需要先将该忆阻器阵列制作出来。
然后,通过步骤S103获取校正系数K。通过上述的实施例可知,在步骤S200中,可以根据校正系数K校正模拟数字转换电路中的电路参数,例如,根据校正系数K改变采样电容的设计参数。
经过步骤S200后,忆阻器阵列引入的非线性因素即获得了校正,使得神经网络电路整体上消除了忆阻器阵列引入的非线性。然后在步骤S40中,完成整体神经网络电路的制作并对该神经网络电路进行测试,验证该神经网络电路经过校正后的网络识别率是否达到设计要求。
在本公开的至少一实施例提供的神经网络电路的设计方法中,通过校正方法可以获得校正系数K,然后再根据校正系数K反过来去修改神经网络电路的电路参数,从而使得最后完成设计后制作出来的神经网络电路可以提高网络识别率。
需要说明的是,关于图14中的步骤S101、S102、S103、S200的详细描述可以参考上述实施例中的相应描述,这里不再赘述。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种用于神经网络电路的校正方法,其中,所述神经网络电路包括计算电路以及与所述计算电路连接的非线性函数电路,所述校正方法包括:
获取表征所述计算电路的非理想输出与理想输出之间关系的校正系数;以及
通过改变所述神经网络电路的电路参数,将所述校正系数加入所述非线性函数电路中。
2.根据权利要求1所述的校正方法,其中,所述计算电路包括由多行多列忆阻器构成的忆阻器阵列;
获取表征所述计算电路的非理想输出与理想输出之间关系的校正系数包括:
获取所述忆阻器阵列的非理想输出和理想输出;以及
根据所述忆阻器阵列的非理想输出和理想输出获得所述校正系数。
3.根据权利要求2所述的校正方法,其中,
获取表征所述计算电路的非理想输出与理想输出之间关系的校正系数还包括:
获取构成所述忆阻器阵列的忆阻器的电流电压特性曲线;
其中,获取所述忆阻器阵列的非理想输出包括:
根据所述忆阻器的电流电压特性曲线,获取所述忆阻器阵列的非理想输出电流向量。
4.根据权利要求3所述的校正方法,其中,获取构成所述忆阻器阵列的所述忆阻器的电流电压特性曲线包括:
对所述忆阻器阵列中的至少一个所述忆阻器进行测试获得所述忆阻器的电流电压特性曲线。
5.根据权利要求3所述的校正方法,其中,根据所述忆阻器的电流电压特性曲线,获取所述忆阻器阵列的非理想输出电流向量,包括:
根据预设的用于所述忆阻器阵列的输入电压向量、所述忆阻器阵列对应的权重矩阵以及所述忆阻器的电流电压特性曲线,对所述忆阻器阵列的输出电流进行仿真以获得所述非理想输出电流向量。
6.根据所述权利要求2所述的校正方法,其中,获取所述忆阻器阵列的非理想输出包括:
对所述忆阻器阵列进行写入操作使得所述忆阻器阵列对应权重矩阵;
向所述忆阻器阵列输入预设的输入电压向量;以及
测量所述忆阻器阵列的输出电流以获得非理想输出电流向量。
7.根据权利要求2-6任一所述的校正方法,其中,根据所述忆阻器阵列的非理想输出和理想输出获得所述校正系数包括:
获得多个表示所述忆阻器阵列的非理想输出和理想输出的拟合点,其中,每个所述拟合点对应所述忆阻器阵列的一行或一列,所述拟合点的第一坐标对应所述理想输出,所述拟合点的第二坐标对应所述非理想输出;以及
对多个所述拟合点进行拟合获得一条拟合直线,则所述校正系数为所述拟合直线的斜率。
8.根据权利要求1-6任一所述的校正方法,其中,所述非线性函数电路包括实现激活函数的激活函数电路,所述神经网络电路还包括与所述激活函数电路连接的模拟数字转换电路;
通过改变所述神经网络电路的电路参数,将所述校正系数加入所述非线性函数电路中,包括:
根据所述校正系数校正模拟数字转换电路中的电路参数。
9.根据权利要求8所述的校正方法,其中,模拟数字转换电路包括采样电容,根据所述校正系数校正所述模拟数字转换电路中的电路参数包括:
根据所述校正系数校正所述采样电容的设计参数,以使得所述采样电容的设计参数满足C2=C1*K;
其中,C1为所述采样电容校正前的电容值,C2为所述采样电容校正后的电容值,K为所述校正系数。
10.一种神经网络电路的设计方法,包括:
获取神经网络电路中的计算电路;
根据权利要求1-9任一所述的校正方法对所述神经网络电路进行校正。
CN202011056258.5A 2020-09-30 2020-09-30 神经网络电路的校正方法以及设计方法 Pending CN112215344A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011056258.5A CN112215344A (zh) 2020-09-30 2020-09-30 神经网络电路的校正方法以及设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011056258.5A CN112215344A (zh) 2020-09-30 2020-09-30 神经网络电路的校正方法以及设计方法

Publications (1)

Publication Number Publication Date
CN112215344A true CN112215344A (zh) 2021-01-12

Family

ID=74051651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011056258.5A Pending CN112215344A (zh) 2020-09-30 2020-09-30 神经网络电路的校正方法以及设计方法

Country Status (1)

Country Link
CN (1) CN112215344A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553293A (zh) * 2021-07-21 2021-10-26 清华大学 存算一体装置及其校准方法
CN115564036A (zh) * 2022-10-25 2023-01-03 厦门半导体工业技术研发有限公司 基于rram器件的神经网络阵列电路及其设计方法
US11935590B2 (en) 2022-03-29 2024-03-19 International Business Machines Corporation Device for matrix-vector multiplications

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553293A (zh) * 2021-07-21 2021-10-26 清华大学 存算一体装置及其校准方法
US11935590B2 (en) 2022-03-29 2024-03-19 International Business Machines Corporation Device for matrix-vector multiplications
CN115564036A (zh) * 2022-10-25 2023-01-03 厦门半导体工业技术研发有限公司 基于rram器件的神经网络阵列电路及其设计方法

Similar Documents

Publication Publication Date Title
US11727258B2 (en) Multi-bit, SoC-compatible neuromorphic weight cell using ferroelectric FETs
CN112215344A (zh) 神经网络电路的校正方法以及设计方法
US11663457B2 (en) Neural network circuits having non-volatile synapse arrays
Berdan et al. Low-power linear computation using nonlinear ferroelectric tunnel junction memristors
CN108734271B (zh) 神经形态权重单元及其形成的方法以及人工神经网络
CN110796241B (zh) 基于忆阻器的神经网络的训练方法及其训练装置
CN107533668B (zh) 用于计算神经网络的节点值的硬件加速器和方法
Liu et al. Vortex: Variation-aware training for memristor X-bar
US20210143834A1 (en) Reconfigurable dac implemented by memristor based neural network
CN113728338B (zh) 利用非对称rpu器件的dnn训练
JP7034984B2 (ja) 演算装置
US11610105B2 (en) Systems and methods for harnessing analog noise in efficient optimization problem accelerators
CN111680792A (zh) 激活函数电路、忆阻神经网络及忆阻神经网络的控制方法
US11461640B2 (en) Mitigation of conductance drift in neural network resistive processing units
CN116384246A (zh) 用于矩阵运算的存算一体装置及其操作方法
TW202341014A (zh) 深度學習人工神經網路中電性參數的校準
CN115796252A (zh) 权重写入方法及装置、电子设备和存储介质
CN114389612A (zh) 基于忆阻器阵列的模数转化器的校准方法及装置
TW202236170A (zh) 用於人工神經網路中之類比神經記憶體之精確資料調校方法及裝置
Mladenov et al. An Improved Model for Metal Oxide-Based Memristors and Application in Memory Crossbars
TWI735873B (zh) 用以執行乘積和運算之半導體裝置
TWI771835B (zh) 用於神經網路之推理引擎及其操作方法
CN114121089B (zh) 基于忆阻器阵列的数据处理方法及装置
Mladenov et al. An Improved Memristor Model and Applications
Paolino et al. Phase-Change Memory in Neural Network Layers with Measurements-based Device Models

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