CN111052153B - 使用半导体存储元件的神经网络运算电路及动作方法 - Google Patents
使用半导体存储元件的神经网络运算电路及动作方法 Download PDFInfo
- Publication number
- CN111052153B CN111052153B CN201880057223.8A CN201880057223A CN111052153B CN 111052153 B CN111052153 B CN 111052153B CN 201880057223 A CN201880057223 A CN 201880057223A CN 111052153 B CN111052153 B CN 111052153B
- Authority
- CN
- China
- Prior art keywords
- circuit
- word line
- neural network
- memory cell
- bit line
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/18—Bit line organisation; Bit line lay-out
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
- G11C13/0026—Bit-line or column circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Neurology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Memory System (AREA)
- Semiconductor Memories (AREA)
- Image Analysis (AREA)
Abstract
将在神经网络运算中使用的耦合权重系数保存到存储器阵列(20)中,由字线驱动电路(24)驱动与神经网络的输入数据对应的字线(22),由列选择电路(25)将连接有作为运算对象的耦合权重系数的位线连接到运算电路(26),在运算电路(26)中判定流过位线(23)的单元电流的总和。将运算电路(26)的判定结果保存到输出保持电路(27)中,作为下一层的神经网络的输入而向字线驱动电路(24)设定。控制电路(29)基于保持在网络构成信息保持电路(28)中的信息,对字线驱动电路(24)及列选择电路(25)指示在神经网络运算中使用的字线(22)及位线(23)的选择。
Description
技术领域
本发明涉及能够实现低功耗化和大规模集成化的使用非易失性半导体存储元件的神经网络运算电路及其动作方法。
背景技术
随着信息通信技术的进展,所有的事物与因特网相连的IoT(Internet ofThings)技术的到来受到关注。在IoT技术中,通过将各种电子设备连接到因特网,期待设备的高性能化,但作为实现更高性能化的技术,近年来活跃地开展电子设备自己进行学习和判断的人工智能(AI:Artificial Intelligence)技术的研究开发。
在人工智能技术中,使用对人的脑型信息处理进行工学上的模仿的神经网络技术,并且以高速、低功耗执行神经网络运算的半导体集成电路的研究开发正在火热地进行。
神经网络电路由将多个输入以分别具有不同的耦合权重系数的被称作突触(synapse)的耦合来连接的被称作神经元(neuron)(也有被称作感知器(perceptron)的情况)的基本元件构成,通过将多个神经元相互连接,能够进行图像识别及声音识别这样的高级的运算处理。在神经元中,进行对将各输入与各耦合权重系数相乘后的值全部进行相加的乘加运算动作。
在非专利文献1中,公开了使用电阻变化型非易失性存储器的神经网络运算电路的例子。其使用能够设定模拟电阻值(电导)的电阻变化型非易失性存储器而构成神经网络运算电路,在非易失性存储器元件中保存相当于耦合权重系数的模拟电阻值(电导),对非易失性存储器元件施加相当于输入的模拟电压值,利用此时流过非易失性存储器元件中的模拟电流值。由神经元进行的乘加运算动作通过以下这样进行:将多个耦合权重系数作为模拟电阻值(电导)保存到多个非易失性存储器元件中,向多个非易失性存储器元件施加相当于多个输入的多个模拟电压值,得到将流过多个非易失性存储器元件中的电流值合计的模拟电流值作为乘加运算结果。使用非易失性存储器元件的神经网络运算电路能够实现低功耗化,近年来,火热地开展能够设定模拟电阻值(电导)的电阻变化型非易失性存储器的工艺开发、器件开发及电路开发。
在专利文献1中,提出了在存储器器件中保存神经元信息、能够构成神经网络的神经核心电路。采用如下结构:在1个核心中将各神经元的突触耦合性信息、神经元参数、神经元的路由数据保持在存储器器件中,根据路由数据,将神经元核心内的触发事件向别的神经元核心进行路由。
现有技术文献
专利文献
专利文献1:日本特表2015-534172号公报
非专利文献
非专利文献1:M.Prezioso,et al.,“Training and operation of anintegrated neuromorphic network based on metal-oxide memristors,”Nature,no.521,pp.61-64,2015.
发明内容
发明要解决的课题
但是,在上述的专利文献1的神经核心中,为了构成任意的层数及节点数的神经网络,必须使多个核心连结。因此,对于1个芯片需要搭载多个核心·连结电路,有对应于神经网络的规模的增大而电路规模变大的问题。此外,由于可搭载的神经元数量由周边电路的尺寸决定,所以神经元的大规模集成化变得困难。
用来解决课题的手段
本发明的使用半导体存储元件的神经网络运算电路具备:多个字线;多个位线,以与上述多个字线交叉的形式排列;多个存储器单元,配置在上述多个字线与上述多个位线的交点处,分别保持神经网络的耦合权重系数;字线驱动电路,能够驱动上述多个字线中的任意的1条以上的字线;列选择电路,能够选择上述多个位线中的任意的位线;运算电路,通过判定由上述列选择电路选择的位线中流过的电流,实施连接于由上述列选择电路选择的位线的多个存储器单元组所保持的多个耦合权重系数与由上述多个字线的驱动状态表示的输入数据的乘加运算;输出保持电路,保持上述运算电路的输出数据;网络构成信息保持电路,保持网络构成信息,该网络构成信息包含分配了神经网络的各耦合权重系数的存储器单元的地址信息;以及控制电路,具有基于上述网络构成信息将来自外部的输入数据向上述字线驱动电路置位的功能、基于上述网络构成信息将上述输出保持电路的保持数据向上述字线驱动电路置位的功能、以及基于上述网络构成信息向上述列选择电路指定在运算中使用的位线的功能。
控制电路参照网络构成信息,将输入层的输入数据设定到字线驱动电路。此外,参照网络构成信息来选择位线,连接到运算电路。在运算电路中,利用在所选择的位线中流过由字线驱动电路驱动的存储器单元的单元电流的总和的情况,输出神经网络运算结果。在输出节点数比运算电路的搭载个数大的情况下,在1次运算电路动作中不能得到全部的输出,所以变更位线的选择,使用不同的存储器单元再次进行运算。某层的运算结果被保持在输出保存电路中,在输出全部聚齐后,参照网络构成信息,作为下一层的输入而设定到字线驱动电路。根据网络构成信息,反复进行任意的层数量的运算动作后,将输出层的数据从输出保持电路输出,完成神经网络运算动作。
发明效果
在本发明中,利用网络构成信息管理存储器阵列内的耦合权重系数的配置,由此能够将某层的运算结果作为下一层的输入而再次设定到存储器阵列的字线,能够将多层的神经网络用1个存储器阵列运算。此外,通过将网络构成信息改写,能够使用相同的存储器阵列构成不同的神经网络。除此以外,由于使用列选择电路将存储器阵列与运算电路分离,所以能够将保持耦合权重系数的存储器单元高度地集成化,能够使搭载于电路的神经元数量飞跃性地增加。
根据以上的效果,能够提供一种能够使用1个存储器阵列节省面积而实现由许多神经元及多层构成的神经网络的运算的使用非易失性半导体存储元件的神经网络运算电路。
附图说明
图1是表示神经网络、特别是深度神经网络的结构例的图。
图2是表示神经网络运算中的神经元的计算的图。
图3是表示本发明的借鉴了偏倚的计算的神经网络运算中的神经元的计算的图。
图4是表示作为激活函数的例子的阶跃函数的图。
图5是表示第一实施方式的图。
图6是表示网络构成信息的构成例的图。
图7A是表示神经网络的耦合权重系数的映射例、以及各构成要素的连接例的图。
图7B是表示表示保持某1个耦合权重系数wi、j的存储器单元21的连接关系的图。
图8是表示在本发明的神经网络运算动作的说明中使用的神经网络的例子的图。
图9是表示图8的神经网络的网络构成信息的例子的图。
图10是说明运算图8的神经网络时的各构成要素的动作的概念图。
图11是说明运算图8的神经网络时的各构成要素的动作的概念图。
图12是说明运算图8的神经网络时的各构成要素的动作的概念图。
图13是说明运算图8的神经网络时的各构成要素的动作的概念图。
图14是表示本发明的第二实施方式的图。
图15是表示本发明的第三的实施方式的图。
具体实施方式
以下,参照附图对本发明的实施方式进行说明。
<神经网络运算>
首先,对神经网络运算的基础理论进行说明。
图1是表示深度神经网络的结构的图。神经网络由供输入数据输入的输入层1、接受输入层1的输入数据而进行运算处理的隐藏层2(也有称作中间层的情况)、接受隐藏层2的输出数据而进行运算处理的输出层3构成。在输入层1、隐藏层2、输出层3各自中,存在许多被称作神经元10的神经网络的基本元件,各个神经元10经由耦合权重11被连接。多个耦合权重11分别具有不同的耦合权重系数而将神经元间连接。神经元10中被输入多个输入数据,神经元10中进行这些多个输入数据与对应的耦合权重系数的乘加运算动作,并作为输出数据输出。这里,隐藏层2是将多级(在图1中是4级)神经元连结的结构,在形成较深的神经网络的意义上,如图1所示的神经网络被称作深度神经网络。
图2是表示神经网络运算中的神经元的计算的图,在图2的式(1)、式(2)中表示神经元10进行的计算式。神经元10通过分别具有耦合权重系数w1~wn的耦合权重连接有n个输入x1~xn,进行输入x1~xn与耦合权重系数w1~wn的乘加运算。神经元10具有偏倚系数b,对输入x1~xn与耦合权重系数w1~wn的乘加运算结果加上偏倚系数b。神经元10具有激活函数f,对于对输入x1~xn与耦合权重系数w1~wn的乘加运算结果加上偏倚系数b后的结果,进行激活函数的运算处理,将输出y输出。
图3是表示在神经网络运算中的神经元的计算中、将偏倚系数b的运算分配给输入x0和耦合权重系数w0的情况下的计算的图,在图3的式(1)、式(2)中表示神经元10进行的计算式。在上述的图2中,神经元10进行输入x1~xn与耦合权重系数w1~wn的乘加运算和偏倚系数b的加法运算,但如图3所示,可以将偏倚系数b的加法运算设为输入x0=1、耦合权重系数w0=b,解释为将n+1个输入x0~xn用分别具有耦合权重系数w0~wn的耦合权重连接的神经元10。如图3的式(1)、式(2)所示,能够将神经元10的计算仅用输入x0~xn与耦合权重系数w0~wn的乘加运算来简单地表现。在本实施方式中,如图3所示,将偏倚系数b的加法运算表现为输入x0=1和耦合权重系数w0=b。
图4是表示神经网络运算中的作为神经元的激活函数f的例子的阶跃函数的图,x轴是激活函数f的输入u,y轴是激活函数f的输出f(u)。如图4所示,阶跃函数是在输入u为负值(<0)的情况下将输出f(u)=0输出、在输入u为正值(≧0)的情况下将输出f(u)=1输出的函数。在上述的图3的神经元10中,在使用作为阶跃函数的激活函数f的情况下,在输入x0~xn与耦合权重系数w0~wn的乘加运算结果为负值的情况下将输出y=0输出,在乘加运算结果为正值的情况下将输出y=1输出。
以下,作为激活函数的例子而使用阶跃函数,但在神经网络运算中使用的其他的激活函数中有比例函数等,本发明中的激活函数并不限定于阶跃函数。
<神经网络运算电路>
图5是表示有关第一实施方式的使用非易失性半导体存储元件的神经网络运算电路的详细结构的图。
存储器单元21被纵横配置而构成存储器阵列20。存储器单元21连接于沿横向配置的字线22和沿纵向配置的位线23。存储器单元使用非易失性半导体存储元件构成,当向字线22施加了电压时,位线23中流过与自身的状态对应的单元电流。存储器单元21采取将非易失性半导体存储元件配置在字线22与位线23的交点处的交叉点型,或者将非易失性半导体存储元件与晶体管串联地连接而构成1个单元、用字线22驱动晶体管的栅极、将位线23连接到晶体管的源极或非易失性半导体存储元件的另一端的结构。
存储器单元21的非易失性半导体存储元件中,可以利用作为能够设定任意的单元电流的元件的电阻变化型元件、磁阻变化型元件、相变型元件、强电介质存储元件。
字线驱动电路24是根据神经网络的输入向各字线22施加电压的电路。具有向多个任意的字线22同时施加电压的功能。字线驱动电路24中被输入行地址信号41及设定数据42,通过将设定数据42向由行地址信号41指示的位置置位,将各字线22的驱动状态进行置位。设定字线22的每1条的驱动状态的设定数据42具有1比特以上的数据宽度。例如,在以每1条1比特的数据宽度表现的情况下,将0数据分配给GND电平设定,将1数据分配给高电平设定。此外,在以每1条多比特表现的情况下,将字线22的电压电平分配给各数据。根据电压电平的分配和各个字线22的设定数据42,字线驱动电路向字线22施加电压。此外,对于由行地址信号41指示、被设定设定数据42的字线22以外的字线22,施加GND电平。
列选择电路25是基于从控制电路29输出的列选择信号40,从多个位线23中选择1条以上在神经网络运算中使用的位线23并连接到运算电路26的电路。对于1个存储器阵列20搭载1个以上运算电路26。在搭载多个运算电路26时,将存储器阵列20在列方向上划分为相当于运算电路数量的量,各个运算电路26负责各划分区。列选择电路25对于各个运算电路26,使用共通的列选择信号40从各划分区中选择在神经网络运算中使用的位线23并连接。
运算电路26通过判定所连接的位线23中流过的电流值,实现激活函数的运算动作。假设本发明中的运算电路取数字值。例如,利用读出放大电路比较2条位线23的大小,输出(0,1)的2值数据,由此实现阶跃函数的运算动作。此外,也有将流过位线23的电流值用A/D变换电路变换为数字信号的方式。由运算电路26进行激活函数的运算的结果被储存到输出保持电路27中。输出保持电路27使用触发电路、闩锁电路等而构成。在图5的第一实施方式中,储存在输出保持电路27中的数据能够向外部输出。
控制电路29参照保持在网络构成信息保持电路28中的网络构成信息,对字线驱动电路24输出行地址信号41,指示设定输入数据或输出保持电路27的保持数据的字线区。在设定神经网络的输入层1的输入数据的情况下,由选择器电路30选择外部输入,向字线驱动电路24指示设定数据42。在设定隐藏层2以后的输入数据的情况下,由选择器电路30选择输出保持电路27的数据,向字线驱动电路24指示设定数据42。此外,控制电路29参照网络构成信息,生成对列选择电路25指示与运算电路26连接的位线23的选择的列选择信号40。
网络构成信息包括神经网络的各层的节点数、隐藏层2的总数、分配了各耦合权重系数的存储器单元21的存储器阵列20内的地址信息。在图6中表示网络构成信息的结构例。将各层的节点数及耦合权重系数的分配开始地址以列表形式保持。关于耦合权重系数的分配开始地址与存储器阵列20内的耦合权重系数的映射的关系性,与后述的动作例一起说明详细情况。
网络构成信息保持电路28是保持网络构成信息的存储电路。使用RAM(RandomAccess Memory)构成,以便能够改写网络构成信息。另外,在搭载用于将存储器阵列20的一部分到作为数字存储器来使用的访问电路的情况下,也可以使用存储器阵列20的一部分作为网络构成信息保持电路28。
接着,对使用第一实施方式的神经元的计算进行说明。
在本发明中,字线22的各偏倚状态相当于神经元的计算式中的输入x0~xn。用与由相同的列选择信号40选择并连接于相同的运算电路26的位线23连接的存储器单元21中的由相同的字线22驱动的1个以上的存储器单元21表现1个耦合权重系数。
以下,说明在第一实施方式中对各输入x0~xn取(0,1)的2值、将耦合权重系数使用2个存储器单元21的单元电流值的差分以带符号的模拟值表现的神经元进行计算的例子。此外,假设激活函数中使用阶跃函数。
在图7A中,表示包括在说明中使用的存储器单元21、存储器阵列20、字线驱动电路24、列选择电路25及运算电路26的简略图。在图7A中,存储器阵列20在列方向上被划分为8个区,分别与各1个运算电路26对应。列选择电路25对于各运算电路26,基于列选择信号40选择2条位线23并连接。
与通过列选择电路25连接于各运算电路26的2条位线23连接的存储器单元21用被共通的字线驱动的2个存储器单元21表示1个耦合权重系数。在图7B中表示保持某1个耦合权重系数wi、j的存储器单元21的连接关系。为了设定带符号的模拟值的耦合权重系数,使用2个存储器单元21的一方用作为了表示正的耦合权重系数而使用的正侧存储器单元21A,使用另一方用作为了表示负的耦合权重系数而使用的负侧存储器单元21B。设定各单元电流,以使对字线22施加了高电平时的正侧存储器单元21A的单元电流和负侧存储器单元21B的单元电流的差分与耦合权重系数成比例。由列选择电路25选择的2条位线23被分为连接正侧存储器单元21A的正侧位线23A和连接负侧存储器单元21B的负侧位线23B。为了表述的简略化,图中正侧位线23A与负侧位线23B相邻,但只要是由共通的列选择信号40选择的位线23,存储器阵列20内的位置是任意的。
字线驱动电路24根据所设定的输入的(0,1)数据,向被设定1的字线22施加高电平的电压,向被设定0的字线22施加GND电平。在对字线22施加了高电平的电压的存储器单元21中,流过与各单元的保持状态对应的单元电流。另一方面,在字线22为GND电平的存储器单元21中不流过单元电流。因此,在正侧位线23A中流过字线22为高电平的正侧存储器单元21A的电流的总和,在负侧位线23B中流过字线22为高电平的负侧存储器单元21B的电流的总和。
运算电路26比所较连接的正侧位线23A与负侧位线23B的电流,如果正侧位线23A的电流较大则输出1,如果负侧位线23B的电流较大则输出0。通过该动作,能够得到将由字线22的驱动状态表示的输入、和由正侧存储器单元21A与负侧存储器单元21B的单元电流的差分表示的耦合权重系数的总和代入到阶跃函数中的结果。
接着,说明以上述神经元为节点的神经网络的运算动作。
在图8中表示在说明中使用的神经网络的图。取输入层1为9节点、隐藏层2为17节点、输出层3为8节点的3层构造。输入层1及隐藏层2的节点中的节点0是在偏倚系数的加法表现中使用的节点(以下,称作偏倚节点),输入值被固定为1。来自外部的输入数据x1~x8被用8比特的(0,1)数据表示。
在图9中表示在说明中使用的神经网络的网络构成信息。在网络构成信息的第1层的信息中,包含以下信息:输入层1的节点除了偏倚节点以外是8节点、从输入层1到隐藏层2的耦合权重系数的分配的字线开始地址是0号、以及位线开始地址是0号。在网络构成信息的第2层的信息中,包含以下信息:隐藏层2的节点数除了偏倚节点以外是16节点、从隐藏层2到输出层3的耦合权重系数的分配的字线开始地址是0号、以及位线开始地址是2号。在网络构成信息的第3层的信息中,包含有输出层3的节点数是8节点的信息。
在图7A中,记载有将在图8及图9中表示的神经网络的耦合权重系数向存储器阵列区映射的结果。将图8的神经网络的从输入层1向隐藏层2的耦合权重系数用wi、j表示,将从隐藏层2向输出层3的耦合权重系数用w’i、j表示。各i表示输入侧的节点号,j表示输出侧的节点号。例如,图8的从输入层1的偏倚节点(节点0)向隐藏层2的节点1的耦合权重系数为w0、1,从隐藏层2的节点1向输出层3的节点1的耦合权重系数为w’1、1。
假设存储器阵列20内的地址是按照各字线22与划分存储器区内的正负位线的组合而赋予的,并且配置有w0、1~w0、8的位置相当于字线地址0号、位线地址0号。
如图7A所示,从输入层1向隐藏层2的耦合权重系数分开映射到相当于位线地址0号的wx、1~wx、8(x=0~8)、和相当于位线地址1号的wx、9~wx、16(x=0~8)。在本结构中,从某层向下一层的耦合权重系数在下一层的节点数超过运算电路数的情况下,字线区为共通,向不同的位线号进行映射。对于某字线驱动状态即输入,由1次运算电路动作得到的输出节点被所搭载的运算电路数限制。但是,通过使用上述的映射方法,在维持字线驱动状态的状态下,将列选择信号40切换而使运算电路26动作,能够应对运算电路数以上的输出节点数。
在图7A的耦合权重的映射及图9的网络构成信息中,从某层向下一层的耦合权重系数以映射到连续的位线号为前提,表示了仅管理耦合权重系数的分配开始地址的例子,但只要有网络构成信息或硬件的信息以使得控制电路29能够指示从某层向下一层的耦合权重系数的分配位置,则并不一定需要映射到连续的位线号。
使用图10、图11、图12、图13,表示对图8、图9所示的神经网络输入了某个输入时的运算流程。在图10中,首先从外部输入输入层1的数据,向字线驱动电路24置位。此时,控制电路29参照图9的网络构成信息的第1层的信息。根据第1层的信息可知,输入层1的节点数除了偏倚节点以外是8节点,输入层1与下一层的耦合权重系数配置在从字线地址0号开始的字线22。因此,将作为偏倚节点的输入的1数据置位到字线地址0号的字线,将输入数据置位到连续的字线地址1号至8号。此外,根据第1层的信息可知,输入层1与下一层的耦合权重系数配置在从位线地址0号开始的区域中。因此,列选择电路25将由位线地址0号表示的正侧位线23A及负侧位线23B连接到运算电路26。搭载有8台的运算电路26分别将正侧位线23A与负侧位线23B的电流进行比较判定,输出(0,1)。输出的结果成为隐藏层2的节点1至节点8的数据,被保存到输出保持电路27中。
接着,在图11中,根据网络构成信息的第2层的信息可知,隐藏层2的节点除了偏倚节点以外有16节点。在图10的运算动作中,由于仅得到了隐藏层2的节点1到节点8的运算结果,所以控制电路29将位线地址递增,指示列选择电路25选择1号。列选择电路25将由位线地址1号表示的正侧位线23A及负侧位线23B连接到运算电路26。通过再次由运算电路26实施电流的比较判定,能够得到隐藏层2的节点9到节点16的数据。将运算电路26的输出结果追加保存到输出保持电路27。
接着在图12中,由于隐藏层2的运算完成,所以将输出保持电路27的保持数据传送给字线驱动电路24。根据网络构成信息的第2层的信息可知,隐藏层2和输出层3的耦合权重系数配置在从字线地址0号开始的字线22。因此,将作为偏倚节点的输入的1数据置位到字线地址0号的字线,将隐藏层2的节点1至节点16的数据置位到连续的字线地址1号至16号。
最后,在图13中,根据网络构成信息的第2层的信息可知,隐藏层2与输出层3的耦合权重系数配置在从位线地址2号开始的区域中。因此,列选择电路25将由位线地址2号表示的正侧位线23A及负侧位线23B连接到运算电路26。运算电路26将正侧位线23A与负侧位线23B的电流进行比较判定,输出(0,1)。运算电路26的输出结果被保存在输出保持电路27中,作为输出层3的运算结果从外部输出被输出。
通过以上的动作,能够使用保持在1个存储器阵列20中的耦合权重系数来实施图8表示的神经网络的运算。即使在神经网络的层数增加的情况下,也可以如上述那样,通过反复进行参照网络构成信息将输出保持电路27的保持数据设定在字线驱动电路24中,选择位线23,由运算电路26得到运算结果并向输出保持电路27保存的动作来实现。
图14是表示有关本发明的第二实施方式的使用非易失性半导体存储元件的神经网络运算电路的详细结构的图。由选择器电路31选择外部输入和运算电路26的输出,并保存到输出保持电路27中。在设定来自外部的输入数据时,采取将数据先保存到输出保持电路27中后向字线驱动电路24设定的动作。此外,也可以将从运算电路26输出的数据和从外部输入输入的数据在输出保持电路27中耦合而向字线驱动电路24设定。
图15是表示有关本发明的第三实施方式的使用非易失性半导体存储元件的神经网络运算电路的详细结构的图。采取运算电路26的输出原样连接到外部输出、由选择器电路32选择运算电路26的输出和外部输入并连接到输出保持电路27的结构。与第二实施方式同样,在设定来自外部的输入数据时,采取将数据先保存到输出保持电路27中后向字线驱动电路24设定的动作。此外,也可以将从运算电路26输出的数据和从外部输入输入的数据在输出保持电路27中耦合而向字线驱动电路24设定。
在图5、图14、图15中以网络构成信息保持电路28包含在控制电路29中的形式进行了记载,但并没有限制其搭载场所。此外,在实施方式的说明中使用的附图中的各构成要素的实现方法及搭载数量是以例示为目的而记载的,并不限制其实施方式。
另外,本发明中的存储器阵列20并不一定需要将整面用于神经网络的耦合权重系数的安装,也可以除了本发明的构成要素以外还搭载数字存储器的访问电路,将存储器阵列20的一部分作为数字存储器来使用。此外,在使用一部分作为数字存储器的情况下,也可以将各构成要素的功能用于数字存储器访问。
以上,说明了本发明的实施方式,但本发明的使用非易失性半导体存储元件的神经网络运算电路并不仅限定于上述的例示,对于在不脱离本发明的主旨的范围内加以了各种变更等的形态也是有效的。
产业上的可利用性
有关本发明的使用非易失性半导体存储元件的神经网络运算电路通过利用网络构成信息来管理神经网络的结构,能够使用1个存储器阵列构成深度神经网络。此外,通过在存储器阵列的不同的区域中保持多个神经网络的耦合权重系数,还能够在1个存储器阵列中保持多个神经网络。此外,本发明的结构由于存储器阵列部与运算电路分离,所以能够将存储器阵列部高度地集成化,能够搭载许多的神经元。
除此以外,由于也能够将存储器阵列的一部分作为数字存储器使用,所以能够同时搭载神经网络运算电路和作为数字存储器的功能。
因而,能够作为用1个核心实现多个大规模的神经网络运算的宏利用,此外,还能够与诺依曼型处理器并用,作为具有神经网络运算的加速器和数字存储器的两个功能的宏利用。这些利用例如对于搭载有自己进行学习和判断的人工智能(AI:ArtificialIntelligence)技术的半导体集成电路、以及搭载有它们的电子设备等是有用的。
标号说明
1 输入层
2 隐藏层
3 输出层
10 神经元
11 耦合权重
20 存储器阵列
21 存储器单元
22 字线
23 位线
24 字线驱动电路
25 列选择电路
26 运算电路
27 输出保持电路
28 网络构成信息保持电路
29 控制电路
30、31、32 选择器电路
40 列选择信号
41 行地址信号
42 设定数据
x0~xn 输入
w0~wn 耦合权重系数
b 偏倚系数
f 激活函数
y 输出
N1 第1层的节点数
N2 第2层的节点数
Nn-1 第N-1层的节点数
Nn 第N层的节点数
Claims (6)
1.一种半导体集成电路,其特征在于,具备:
多个字线;
多个位线,以与上述多个字线交叉的形式排列;
多个存储器单元,使用非易失性半导体存储元件构成,配置在上述多个字线与上述多个位线的交点处而构成一个存储器阵列,分别保持神经网络的耦合权重系数;
字线驱动电路,能够驱动上述多个字线中的任意的1条以上的字线;
列选择电路,能够选择上述多个位线中的任意的位线;
运算电路,通过判定在与由上述多个字线的驱动状态表示的输入数据相应的字线驱动状态下在由上述列选择电路选择的位线中流过的电流,实施连接于由上述列选择电路选择的位线的多个存储器单元组所保持的多个耦合权重系数与上述输入数据的乘加运算,上述多个耦合权重系数由正侧的存储器单元与负侧的存储器单元的单元电流的差分表示;
输出保持电路,保持上述运算电路的输出数据;
网络构成信息保持电路,保持网络构成信息,该网络构成信息包含上述神经网络的各层的节点数及隐藏层的层数、以及分配了上述神经网络的各耦合权重系数的存储器单元的地址信息,并且能够用对上述神经网络的构成进行管理的信息进行改写;以及
控制电路,具有参照上述网络构成信息中包含的上述存储器单元的地址信息对上述字线驱动电路输出行地址信号并将输入数据向上述字线驱动电路的规定的字线区置位的功能、参照上述网络构成信息中包含的上述存储器单元的地址信息对上述字线驱动电路输出行地址信号并将上述输出保持电路的保持数据向上述字线驱动电路置位的功能、以及参照上述网络构成信息中包含的上述存储器单元的地址信息向上述列选择电路指定在运算中使用的位线的功能,
上述控制电路通过利用上述网络构成信息对上述多个存储器单元的耦合权重系数的配置进行管理,将某层的运算结果作为下一层的输入数据再次设定到上述字线驱动电路,改写上述网络构成信息。
2.如权利要求1所述的半导体集成电路,其特征在于,
具有如下功能:在将某字线驱动状态和某位线选择状态下的上述运算电路的输出数据保存到上述输出保持电路之后,保持上述字线驱动状态不变而变更所选择的位线,将上述运算电路的输出数据追加保存到上述输出保持电路,将耦合的数据向上述字线驱动电路设定。
3.如权利要求1所述的半导体集成电路,其特征在于,
还具备选择器电路,该选择器电路从上述输入数据和上述输出保持电路的保持数据中选择连接到上述字线驱动电路的数据。
4.如权利要求1所述的半导体集成电路,其特征在于,
还具备选择器电路,该选择器电路从上述输入数据和上述运算电路的输出数据中选择连接到上述输出保持电路的数据。
5.一种神经网络半导体集成电路的动作方法,其特征在于,
使用半导体集成电路,该半导体集成电路具备:多个字线;多个位线,以与上述多个字线交叉的形式排列;多个存储器单元,使用非易失性半导体存储元件构成,配置在上述多个字线与上述多个位线的交点处而构成一个存储器阵列,分别保持神经网络的耦合权重系数;字线驱动电路,能够驱动上述多个字线中的任意的1条以上的字线;列选择电路,能够选择上述多个位线中的任意的位线;运算电路,通过判定在与由上述多个字线的驱动状态表示的输入数据相应的字线驱动状态下在由上述列选择电路选择的位线中流过的电流,实施连接于由上述列选择电路选择的位线的多个存储器单元组所保持的多个耦合权重系数与上述输入数据的乘加运算,上述多个耦合权重系数由正侧的存储器单元与负侧的存储器单元的单元电流的差分表示;输出保持电路,保持上述运算电路的输出数据;网络构成信息保持电路,保持网络构成信息,该网络构成信息包含上述神经网络的各层的节点数及隐藏层的层数、以及分配了上述神经网络的各耦合权重系数的存储器单元的地址信息,并且能够用对上述神经网络的构成进行管理的信息进行改写;以及控制电路,具有参照上述网络构成信息中包含的上述存储器单元的地址信息对上述字线驱动电路输出行地址信号并将输入数据向上述字线驱动电路的规定的字线区置位的功能、参照上述网络构成信息中包含的上述存储器单元的地址信息对上述字线驱动电路输出行地址信号并而将上述输出保持电路的保持数据向上述字线驱动电路置位的功能、以及参照上述网络构成信息中包含的上述存储器单元的地址信息向上述列选择电路指定在运算中使用的位线的功能,并且上述控制电路通过利用上述网络构成信息对上述多个存储器单元的耦合权重系数的配置进行管理,将某层的运算结果作为下一层的输入数据再次设定到上述字线驱动电路,改写上述网络构成信息,
基于上述网络构成信息,设定上述输入数据以使得驱动与第一存储器单元组对应的第一字线区,选择与上述第一存储器单元组对应的1条以上的第一位线组并连接到上述运算电路,上述第一存储器单元组保持神经网络的输入层与作为输入层的下一层的第一隐藏层的耦合权重系数,
将从上述运算电路得到的运算结果保持在上述输出保持电路中,将上述输出保持电路的保持数据作为上述第一隐藏层的下一层即第二隐藏层的输入数据进行设定以使得驱动与第二存储器单元组对应的第二字线区,选择与上述第二存储器单元组对应的1条以上的第二位线组并连接到上述运算电路,上述第二存储器单元组保持上述第一隐藏层与上述第二隐藏层的耦合权重系数,
将从上述运算电路得到的结果保持在上述输出保持电路中,在上述运算电路的输出不相当于输出层的情况下,进而针对下一个隐藏层,使用对应的存储器单元组反复实施与针对上述第二隐藏层的动作同样的动作。
6.如权利要求5所述的神经网络半导体集成电路的动作方法,其特征在于,
一边变更位线选择,一边反复实施选择上述第一位线组或上述第二位线组并连接到上述运算电路、将从上述运算电路得到的运算结果保持在上述输出保持电路中的动作,直到将下一层的节点的运算结果全部得到。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017171953 | 2017-09-07 | ||
JP2017-171953 | 2017-09-07 | ||
PCT/JP2018/031298 WO2019049686A1 (ja) | 2017-09-07 | 2018-08-24 | 半導体記憶素子を用いたニューラルネットワーク演算回路及び動作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111052153A CN111052153A (zh) | 2020-04-21 |
CN111052153B true CN111052153B (zh) | 2023-07-14 |
Family
ID=65634134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880057223.8A Active CN111052153B (zh) | 2017-09-07 | 2018-08-24 | 使用半导体存储元件的神经网络运算电路及动作方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11495289B2 (zh) |
EP (1) | EP3680824A4 (zh) |
JP (1) | JP6844013B2 (zh) |
CN (1) | CN111052153B (zh) |
TW (1) | TWI699762B (zh) |
WO (1) | WO2019049686A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11233049B2 (en) | 2019-06-14 | 2022-01-25 | Macronix International Co., Ltd. | Neuromorphic computing device |
TWI698810B (zh) * | 2019-06-14 | 2020-07-11 | 旺宏電子股份有限公司 | 類神經計算裝置 |
US11514300B2 (en) | 2019-06-14 | 2022-11-29 | Macronix International Co., Ltd. | Resistor circuit, artificial intelligence chip and method for manufacturing the same |
KR102389413B1 (ko) * | 2019-08-21 | 2022-04-21 | 연세대학교 산학협력단 | 멀티 mac 동작을 수행하는 뉴로모픽 시스템 및 그 방법 |
CN110751279B (zh) * | 2019-09-02 | 2022-10-14 | 北京大学 | 一种铁电电容耦合神经网络电路结构及神经网络中向量与矩阵的乘法运算方法 |
CN112580790B (zh) * | 2019-09-29 | 2023-06-30 | 华为技术有限公司 | 神经网络计算电路、芯片及*** |
TWI732702B (zh) * | 2019-11-22 | 2021-07-01 | 旺宏電子股份有限公司 | 記憶體內運算器 |
CN115171322B (zh) * | 2022-05-27 | 2024-06-14 | 国网江苏省电力有限公司 | 一种电缆沟火灾预警及危险性判断***及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237210A (en) * | 1992-03-12 | 1993-08-17 | Intel Corporation | Neural network accomodating parallel synaptic weight adjustments for correlation learning algorithms |
US5371834A (en) * | 1992-08-28 | 1994-12-06 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Adaptive neuron model--an architecture for the rapid learning of nonlinear topological transformations |
JP2016095889A (ja) * | 2014-11-13 | 2016-05-26 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4988891A (en) * | 1989-05-09 | 1991-01-29 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor neural network including photosensitive coupling elements |
JPH0782481B2 (ja) * | 1989-12-26 | 1995-09-06 | 三菱電機株式会社 | 半導体神経回路網 |
JP3260357B2 (ja) * | 1990-01-24 | 2002-02-25 | 株式会社日立製作所 | 情報処理装置 |
US5058180A (en) * | 1990-04-30 | 1991-10-15 | National Semiconductor Corporation | Neural network apparatus and method for pattern recognition |
JPH0454685A (ja) * | 1990-06-22 | 1992-02-21 | Kobe Steel Ltd | 状熊学習装置及び状態推定装置 |
EP0482408A3 (en) * | 1990-10-22 | 1993-12-01 | Motorola Inc | Digital neural network computation ring |
US5087826A (en) * | 1990-12-28 | 1992-02-11 | Intel Corporation | Multi-layer neural network employing multiplexed output neurons |
JP3056324B2 (ja) * | 1992-04-01 | 2000-06-26 | 株式会社日立製作所 | 学習/想起方法および装置 |
JP4191218B2 (ja) * | 2006-10-12 | 2008-12-03 | エルピーダメモリ株式会社 | メモリ回路及び半導体装置 |
US9159020B2 (en) | 2012-09-14 | 2015-10-13 | International Business Machines Corporation | Multiplexing physical neurons to optimize power and area |
US20150324691A1 (en) * | 2014-05-07 | 2015-11-12 | Seagate Technology Llc | Neural network connections using nonvolatile memory devices |
-
2018
- 2018-08-24 JP JP2019540878A patent/JP6844013B2/ja active Active
- 2018-08-24 WO PCT/JP2018/031298 patent/WO2019049686A1/ja unknown
- 2018-08-24 CN CN201880057223.8A patent/CN111052153B/zh active Active
- 2018-08-24 EP EP18853797.1A patent/EP3680824A4/en active Pending
- 2018-08-31 TW TW107130584A patent/TWI699762B/zh active
-
2020
- 2020-03-04 US US16/809,365 patent/US11495289B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237210A (en) * | 1992-03-12 | 1993-08-17 | Intel Corporation | Neural network accomodating parallel synaptic weight adjustments for correlation learning algorithms |
US5371834A (en) * | 1992-08-28 | 1994-12-06 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Adaptive neuron model--an architecture for the rapid learning of nonlinear topological transformations |
JP2016095889A (ja) * | 2014-11-13 | 2016-05-26 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019049686A1 (ja) | 2020-08-06 |
CN111052153A (zh) | 2020-04-21 |
EP3680824A4 (en) | 2020-11-04 |
EP3680824A1 (en) | 2020-07-15 |
TWI699762B (zh) | 2020-07-21 |
US11495289B2 (en) | 2022-11-08 |
WO2019049686A1 (ja) | 2019-03-14 |
US20200202925A1 (en) | 2020-06-25 |
JP6844013B2 (ja) | 2021-03-17 |
TW201921354A (zh) | 2019-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111052153B (zh) | 使用半导体存储元件的神经网络运算电路及动作方法 | |
JP7336819B2 (ja) | 抵抗処理ユニット・アレイのクロスポイント・デバイスに重みを記憶するための方法、そのクロスポイント・デバイス、ニューラル・ネットワークを実施するためのクロスポイント・アレイ、そのシステム、およびニューラル・ネットワークを実施するための方法 | |
KR102519293B1 (ko) | 뉴로모픽 컴퓨팅을 위한 모놀리식 멀티비트 웨이트 셀 | |
US11531871B2 (en) | Stacked neuromorphic devices and neuromorphic computing systems | |
JPWO2019049741A1 (ja) | 不揮発性半導体記憶素子を用いたニューラルネットワーク演算回路 | |
CN111095300B (zh) | 使用半导体存储元件的神经网络运算电路 | |
US20210342678A1 (en) | Compute-in-memory architecture for neural networks | |
JPWO2019049842A1 (ja) | 不揮発性半導体記憶素子を用いたニューラルネットワーク演算回路 | |
CN110729011B (zh) | 用于类神经网路的存储器内运算装置 | |
WO2021044821A1 (ja) | 演算装置及び積和演算システム | |
CN108073984B (zh) | 一种基于神经网络的存储模块及存储模组 | |
Fernando et al. | 3D memristor crossbar architecture for a multicore neuromorphic system | |
KR20230005309A (ko) | 아날로그 인공지능 네트워크 추론을 위한 행별 컨볼루션 신경망 매핑을 위한 효율적 타일 매핑 | |
KR20190131403A (ko) | 3차원 적층 시냅스 구조를 갖는 뉴로모픽 장치 및 이를 포함하는 메모리 장치 | |
KR20220057386A (ko) | 확장 가능한 뉴로모픽 회로 | |
US11163534B2 (en) | Arithmetic device | |
WO2023171406A1 (ja) | 演算回路ユニット、ニューラルネットワーク演算回路、および、ニューラルネットワーク演算回路の駆動方法 | |
JP2752109B2 (ja) | 集積回路及び半導体装置 | |
US20240220769A1 (en) | Machine learning processing circuit and information processing apparatus | |
US20220027712A1 (en) | Neural mosaic logic unit | |
JP6819847B1 (ja) | リザボア素子および演算回路 | |
WO2023074798A1 (ja) | スパイキングニューラルネットワークを実行するための装置及び方法、並びに、スパイキングニューロモーフィックシステム |
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 | ||
CB02 | Change of applicant information |
Address after: Osaka, Japan Applicant after: Panasonic Holding Co.,Ltd. Address before: Osaka, Japan Applicant before: Matsushita Electric Industrial Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |