WO2018173472A1 - ニューラルネットワーク回路 - Google Patents
ニューラルネットワーク回路 Download PDFInfo
- Publication number
- WO2018173472A1 WO2018173472A1 PCT/JP2018/002285 JP2018002285W WO2018173472A1 WO 2018173472 A1 WO2018173472 A1 WO 2018173472A1 JP 2018002285 W JP2018002285 W JP 2018002285W WO 2018173472 A1 WO2018173472 A1 WO 2018173472A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- differential amplifier
- circuit
- converter
- voltage
- input
- Prior art date
Links
Images
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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/388—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using other various devices such as electro-chemical, microwave, surface acoustic wave, neuristor, electron beam switching, resonant, e.g. parametric, ferro-resonant
-
- 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
- G06N3/065—Analogue means
-
- 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
- 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/0038—Power supply circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F3/00—Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
- H03F3/45—Differential amplifiers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F3/00—Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
- H03F3/45—Differential amplifiers
- H03F3/45071—Differential amplifiers with semiconductor devices only
- H03F3/45076—Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier
- H03F3/45475—Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier using IC blocks as the active amplifying circuit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4814—Non-logic devices, e.g. operational amplifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4828—Negative resistance devices, e.g. tunnel diodes, gunn effect devices
-
- 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/004—Reading or sensing circuits or methods
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F2203/00—Indexing scheme relating to amplifiers with only discharge tubes or only semiconductor devices as amplifying elements covered by H03F3/00
- H03F2203/45—Indexing scheme relating to differential amplifiers
- H03F2203/45138—Two or more differential amplifiers in IC-block form are combined, e.g. measuring amplifiers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F2203/00—Indexing scheme relating to amplifiers with only discharge tubes or only semiconductor devices as amplifying elements covered by H03F3/00
- H03F2203/45—Indexing scheme relating to differential amplifiers
- H03F2203/45528—Indexing scheme relating to differential amplifiers the FBC comprising one or more passive resistors and being coupled between the LC and the IC
Definitions
- the present disclosure relates to a neural network circuit having a storage unit formed by connecting memristors as storage elements in a grid pattern.
- a neural network circuit by using a non-volatile, two-terminal element whose conductance value is variable, called a memristor, as a synapse.
- a neural network circuit is shown in FIG.
- the memristors are arranged in a grid pattern, and a voltage is applied to the memristors to generate a current.
- the combined current is converted into a voltage by a transimpedance amplifier and an I / V conversion amplifier, and after a waveform is shaped by an activation function, it is output as a voltage value.
- a neural network circuit is configured by a memristor operating as a synapse and an I / V conversion amplifier operating as a neuron.
- the I / V conversion amplifier performs a product-sum operation between the conductance value of the memristor and the applied voltage by an analog operation.
- a digital circuit For the product-sum operation as described above, for example, as disclosed in Patent Document 1, generally, a digital circuit is used, the weight data stored in the memory is multiplied by the input data, and the multiplication results are sequentially added. Is. Also, when performing an analog operation, as shown in FIG. 6, the input data is converted into a voltage by a D / A converter, and multiplied by the input voltage in the analog region with the conductance value of the memristor shown in FIG. 5 as a weight. Then, the current values are added in a crossbar configuration including a memristor, converted into a voltage by an I / V conversion amplifier, and then converted into a digital value by an A / D converter.
- the analog method described above has a configuration in which a memory and an arithmetic unit are integrated, and thus consumes less power than the digital method.
- a number of operations that are repeatedly executed such as a neural network circuit that performs convolution operations, increases the power consumption of analog circuits in D / A converters, I / V conversion amplifiers, A / D converters, etc., and cannot be ignored.
- An object of the present disclosure is to provide a neural network circuit that can further reduce power consumption.
- a storage unit including a memristor as a storage element is provided, and a ramp function is used as an activation function.
- the differential amplifier circuit performs a differential operation on two pairs of outputs of the I / V conversion amplifier circuit that converts a current flowing through the storage element into a voltage, and the operation result is obtained by an A / D converter. / D converted.
- the output determination unit refers to the input signal of the differential amplifier circuit, and determines whether the value of the output signal of the differential amplifier circuit belongs to the active region or the inactive region according to the polarity of the ramp function polarity. Then, based on the determination result, the differential amplifier circuit and the A / D converter are switched between the operating state and the standby state.
- the range of the output signal where the function value is zero is determined according to the polarity of the ramp function. That is, if the polarity of the ramp function is positive, the value range of the output signal is zero or negative, and if the polarity is negative, the function value is zero if the value range is zero or positive.
- Such a value range of the output signal is referred to as an “inactive region”, and the other value range is referred to as an “active region”.
- the function value automatically becomes zero, so that it is not necessary to perform A / D conversion. Further, whether or not the output signal level of the differential amplifier circuit belongs to the inactive region can be determined by referring to the level of the differential input signal in advance, so that it is not necessary to perform a differential operation. Therefore, when the output determination unit refers to the input signal of the differential amplifier circuit and determines that the value of the output signal of the circuit belongs to the active region, the output determination unit waits from the operating state for the differential amplifier circuit and the A / D converter. By switching to the state, power consumption can be reduced.
- FIG. 1 is a functional block diagram showing an analog product-sum operation circuit constituting a neural network circuit in the first embodiment.
- FIG. 2 is a diagram illustrating an example of a ramp function
- FIG. 3 is a diagram more specifically showing the configuration of FIG.
- FIG. 4 is a diagram illustrating the configuration of the input determination unit in the second embodiment.
- FIG. 5 shows FIG. 2 is a diagram showing FIG. 6 is a diagram showing a configuration disclosed in Patent Document 1. As shown in FIG.
- the analog product-sum operation circuit 1 shown in FIG. 1 converts input data Data_in by a D / A converter 2.
- the converted voltage is applied to the memristor crossbar circuit 4 via the drive amplifier 3.
- the memristor crossbar circuit 4 uses a memristor as a memory element, and is configured by arranging a plurality of memory elements in a lattice pattern, and corresponds to a memory unit.
- the selection circuit 5 selects whether the voltage applied to the crossbar circuit 4 is the output voltage of the drive amplifier 3 or the reference voltage Vref.
- the determination circuit 6 refers to the data Data_in input to the D / A converter 2 and determines whether the value of the data belongs to the active region or the inactive region. Then, when belonging to the active region, the D / A converter 2 and the drive amplifier 3 are set in the operating state, and when belonging to the inactive region, they are switched to the standby state. Accordingly, the reference voltage Vref is applied to the crossbar circuit 4 via the selection circuit 5.
- the selection circuit 5 and the determination circuit 6 correspond to an input determination unit. The “active region” and “inactive region” will be described later.
- a current is output from the crossbar circuit 4 according to the conductance value set in each memory element, and the current is converted into a voltage by the sense amplifiers 7p and 7n.
- the voltages converted by the sense amplifiers 7p and 7n are input to the differential amplifier 9 via the selection circuits 8p and 8n, respectively, and also input to the determination circuit 10.
- the selection circuits 8p and 8n are configured by switches or the like that open and close between the output terminals of the sense amplifiers 7p and 7n and the input terminal of the differential amplifier 9.
- the sense amplifier 7 corresponds to an I / V conversion amplifier circuit
- the determination circuit 10 corresponds to an output determination unit.
- the output signal of the differential amplifier 9 is A / D converted by the A / D converter 11 and output as digital data.
- a ramp function f (x) of the following equation shown in FIG. 2 is applied to the output data Data_out as an activation function of the neural network circuit.
- f (x) max (0, x) (1) This ramp function f (x) is positive.
- the output data is input to the analog product-sum operation circuit 1 at the next stage.
- the determination circuit 10 refers to the output signals of the sense amplifiers 7p and 7n, and determines whether the output signal level of the differential amplifier 9 belongs to the active region or the inactive region, similar to the determination circuit 6. If it belongs to the active region, the selection circuits 8p and 8n are closed to input a signal to the differential amplifier 9, and the differential amplifier 9 and the A / D converter 11 are put into an operating state. On the other hand, when the level of the output signal belongs to the inactive region, the selection circuits 8p and 8n are opened to cut off the signal input to the differential amplifier 9, and the differential amplifier 9 and the A / D converter 11 are in a standby state. To.
- active region and “inactive region” are determined according to the activation function. Since the ramp function f (x) of the present embodiment is positive, when the output signal of the differential amplifier 9 on the output side shows zero or negative polarity, the result of applying the ramp function f (x) is zero. . Therefore, the case where the output signal shows zero or negative polarity is called “inactive region”, and the case where the output signal shows positive polarity is called “active region”. When the polarity of the ramp function f (x) is negative, the “inactive region” and the “active region” have a reverse relationship to the above.
- the output signal of the differential amplifier 9 belongs to the inactive region
- the output result of the function f (x) becomes zero without performing differential calculation or A / D conversion.
- Whether or not the output signal belongs to the inactive region can be determined in advance by referring to the differential input signal. Therefore, the power consumption of the arithmetic circuit 1 is reduced by setting the differential amplifier 9 and the A / D converter 11 to the standby state.
- the output data of the arithmetic circuit 1 becomes zero, so that the D / A converter 2 and the drive amplifier 3 are connected. Reduce power consumption in standby mode.
- the crossbar circuit 4 includes a larger number of storage elements G.
- the determination circuit 6 includes an OR gate in which each bit of the input data Data_in is connected to an input terminal, and the D / A converter 2 and the drive amplifier 3 are switched between an operation state and a standby state by an output signal of the OR gate.
- the selection circuit 5 is a switch circuit that opens and closes between the voltage source of the reference voltage Vref and the output terminal of the drive amplifier 3.
- the output signal of the determination circuit 6 becomes high level, the D / A converter 2 and the drive amplifier 3 are maintained in the operating state, and the selection circuit 5 Is off. If all the bit values are zero, the output signal of the determination circuit 6 becomes a low level, whereby the D / A converter 2 and the drive amplifier 3 are switched to the standby state, and the selection circuit 5 is switched on.
- the crossbar circuit 4 is in a state where it does not consume power when the reference voltage Vref is applied.
- the determination circuit 10 is composed of a comparator and compares the output signals Vp1 and Vn1 of the sense amplifiers 7p and 7n. If Vp1> Vn1, the polarity of the output signal of the differential amplifier 9 is positive and belongs to the active region. Therefore, the differential amplifier 9 and the A / D converter 11 are maintained in the operating state, and the selection circuit 8 is turned on. On the other hand, if Vp1 ⁇ Vn1, the output signal of the differential amplifier 9 becomes zero or negative and belongs to the inactive region. Therefore, the differential amplifier 9 and the A / D converter 11 are switched to the standby state, and the selection circuit 8 is turned off.
- the arithmetic circuit 1 constituting the neural network circuit includes the crossbar circuit 4 serving as a storage unit in which the memristors G11 to G22 are storage elements, and has a positive polarity ramp as an activation function.
- the differential amplifier 9 performs a differential operation on the outputs of the two sense amplifiers 7p and 7n forming a pair, and the A / D converter 11 performs A / D conversion on the result of the operation.
- the determination circuit 10 refers to the input signal of the differential amplifier 9 and determines whether the value of the output signal of the differential amplifier 9 belongs to the active region or the inactive region according to the polarity of the ramp function f (x). And the differential amplifier 9 and the A / D converter are switched between the operation state and the standby state based on the determination result. That is, when the output signal level of the differential amplifier 9 belongs to the inactive region, the differential amplifier 9 and the A / D converter, which do not need to be operated, are generally switched from the operating state to the standby state.
- a selection circuit 8 including a switch circuit disposed between the output terminals of the sense amplifiers 7p and 7n and the input terminal of the differential amplifier 9 is provided, and the determination circuit 10 switches the differential amplifier 9 to a standby state.
- the switch circuit is turned off from on. As a result, the current flowing from the sense amplifier 7 to the differential amplifier 9 side is cut off, and the power consumption can be further reduced.
- the determination circuit 6 switches the D / A converter 2 and the drive amplifier 9 that do not need to be operated from the operating state to the standby state, thereby further reducing power consumption. .
- the determination circuit 6 applies the reference voltage Vref to the crossbar circuit 4 so as not to consume power, so that power consumption can be further reduced.
- the second embodiment is based on the premise that the input data Data_in has a polarity bit.
- the polarity bit in which the MSB is arranged is “1” if the data value is positive, and “0” if the data value is negative or zero.
- the normal voltage buffer 12 is used in place of the OR gate of the determination circuit 6, and the operation state and standby state of each unit are switched according to the value of the polarity bit.
- an inversion buffer may be used.
- the voltage buffer 12 is used as the input determination unit, and the operation state and standby state of each unit are referred to by referring to the value of the polarity bit. Therefore, the determination on the input side can be performed with a circuit having a smaller size.
- the selection circuit 8 may be provided as necessary. Although the present disclosure has been described with reference to the embodiments, it is understood that the present disclosure is not limited to the embodiments and structures. The present disclosure includes various modifications and modifications within the equivalent range. In addition, various combinations and forms, as well as other combinations and forms including only one element, more or less, are within the scope and spirit of the present disclosure.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Power Engineering (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Analogue/Digital Conversion (AREA)
- Logic Circuits (AREA)
Abstract
メモリスタを記憶素子とする記憶部を備え、活性化関数としてランプ関数を使用する。差動増幅回路は、記憶素子を介して流れる電流を電圧に変換するI/V変換増幅回路のうち、対を成す2つの出力について差動演算を行い、その演算結果はA/DコンバータによりA/D変換される。そして、出力判定部は、差動増幅回路の入力信号を参照し、ランプ関数の極性の正負に応じて差動増幅回路の出力信号の値が活性領域に属するか不活性領域に属するかを判定し、その判定結果に基づき差動増幅回路及びA/Dコンバータを動作状態と待機状態とに切り換える。
Description
本出願は、2017年3月22日に出願された日本出願番号2017-55744号に基づくもので、ここにその記載内容を援用する。
本開示は、記憶素子としてのメモリスタを格子状に結合してなる記憶部を有するニューラルネットワーク回路に関する。
現在、メモリスタと称される、不揮発性でコンダクタンス値を可変できる2端子の素子をシナプスとして用い、ニューラルネットワーク回路を構成する研究が進められている。このようなニューラルネットワーク回路は、例えば図5,非特許文献1のFig.2に示すように、メモリスタを格子状に配置し、メモリスタに電圧を印加して電流を生成する。その合成電流をトランスインピーダンスアンプ,I/V変換アンプで電圧に変換し、活性化関数により波形を整形した後に電圧値として出力する。メモリスタがシナプスとして、I/V変換アンプがニューロンとして動作することで、ニューラルネットワーク回路が構成される。I/V変換アンプは、メモリスタのコンダクタンス値と印加電圧との積和演算をアナログ演算で行う。
上記のような積和演算は、例えば特許文献1に開示されているように、デジタル回路を用い、メモリに記憶された重みデータと入力データとを乗算し、乗算結果を順次加算する方式が一般的である。また、アナログ演算を行う場合は、図6に示すように、入力データをD/Aコンバータにより電圧に変換し、図5に示したメモリスタのコンダクタンス値を重みとしてアナログ領域で入力電圧と乗算する。そして、メモリスタからなるクロスバー構成において電流値を加算し、I/V変換アンプにより電圧に変換した後、A/Dコンバータによりデジタル値に変換する。
"A heterogeneous computing system with memristor-based neuromorphic accelerators " High PERFORMANCE Extreme Computing Conference, 2014 IEEE
上述したアナログ方式は、メモリと演算器とが一体化した構成となるため、デジタル方式に比較して電力消費が小さくなる。しかしながら、畳込み演算を行うニューラルネットワーク回路のように繰り返し実行する演算が多くなると、D/Aコンバータ,I/V変換アンプ,A/Dコンバータ等におけるアナログ回路の消費電力が増大し、無視できなくなる。
本開示は、より消費電力を低減できるニューラルネットワーク回路を提供することを目的とする。
本開示は、より消費電力を低減できるニューラルネットワーク回路を提供することを目的とする。
本開示の一態様によれば、メモリスタを記憶素子とする記憶部を備え、活性化関数としてランプ関数を使用する。差動増幅回路は、記憶素子を介して流れる電流を電圧に変換するI/V変換増幅回路のうち、対を成す2つの出力について差動演算を行い、その演算結果はA/DコンバータによりA/D変換される。そして、出力判定部は、差動増幅回路の入力信号を参照し、ランプ関数の極性の正負に応じて差動増幅回路の出力信号の値が活性領域に属するか不活性領域に属するかを判定し、その判定結果に基づき差動増幅回路及びA/Dコンバータを動作状態と待機状態とに切り換える。
活性化関数は差動増幅回路の出力信号に対して作用するので、ランプ関数の極性に応じて、関数値がゼロとなる前記出力信号の値域が決まる。すなわち、ランプ関数の極性が正の場合は出力信号の値域がゼロ又は負,前記極性が負の場合は前記値域がゼロ又は正であれば関数値はゼロとなる。このような出力信号の値域を「不活性領域」と称し、それ以外の値域を「活性領域」と称している。
つまり、差動増幅回路の出力信号レベルが不活性領域に属すれば、関数値は自動的にゼロとなるから、A/D変換を行う必要は無くなる。また、差動増幅回路の出力信号レベルが不活性領域に属するか否かは、事前に差動入力信号のレベルを参照すれば判定できるので、差動演算を行う必要もなくなる。そこで、出力判定部が、差動増幅回路の入力信号を参照し、当該回路の出力信号の値が活性領域に属すると判定した際に、差動増幅回路及びA/Dコンバータを動作状態から待機状態に切り換えるようにすれば、消費電力を低減できる。
本開示についての上記目的およびその他の目的、特徴や利点は、添付の図面を参照しながら下記の詳細な記述により、より明確になる。その図面は、
図1は、第1実施形態において、ニューラルネットワーク回路を構成するアナログ積和演算回路を示す機能ブロック図であり、
図2は、ランプ関数の一例を示す図であり、
図3は、図1の構成をより具体的に示す図であり、
図4は、第2実施形態において、入力判定部の構成を示す図であり、
図5は、非特許文献1のFig.2を示す図であり、
図6は、特許文献1に開示されている構成を示す図である。
(第1実施形態)
以下、第1実施形態について説明する。図1に示すアナログ積和演算回路1は、入力データData_inをD/Aコンバータ2により電圧変換する。変換された電圧はドライブアンプ3を介してメモリスタクロスバー回路4に印加される。メモリスタクロスバー回路4は、メモリスタを記憶素子とするもので、複数の記憶素子を格子状に配置して構成されており、記憶部に相当する。
以下、第1実施形態について説明する。図1に示すアナログ積和演算回路1は、入力データData_inをD/Aコンバータ2により電圧変換する。変換された電圧はドライブアンプ3を介してメモリスタクロスバー回路4に印加される。メモリスタクロスバー回路4は、メモリスタを記憶素子とするもので、複数の記憶素子を格子状に配置して構成されており、記憶部に相当する。
選択回路5は、クロスバー回路4に印加する電圧を、ドライブアンプ3の出力電圧とするか、基準電圧Vrefとするかを選択する。判定回路6は、D/Aコンバータ2に入力されるデータData_inを参照し、当該データの値が活性領域に属するか、不活性領域に属するかを判定する。そして、活性領域に属する場合はD/Aコンバータ2及びドライブアンプ3を動作状態にし、不活性領域に属する場合はそれらを待機状態に切換える。それに伴い、選択回路5を介してクロスバー回路4に基準電圧Vrefを印加させる。選択回路5及び判定回路6は入力判定部に相当する。尚、「活性領域」,「不活性領域」については後程説明する。
クロスバー回路4からは、各記憶素子に設定されているコンダクタンス値に応じて電流が出力され、その電流はセンスアンプ7p及び7nにより電圧に変換される。尚、実際には、センスアンプ7はより多数設けられているが、説明の都合上図1では、対を成す2つのみを示している。センスアンプ7p及び7nにより変換された電圧は、それぞれ選択回路8p及び8nを介して差動アンプ9に入力されると共に、判定回路10にも入力される。選択回路8p及び8nは、センスアンプ7p及び7nの出力端子と差動アンプ9の入力端子との間を開閉するスイッチ等で構成される。センスアンプ7はI/V変換増幅回路に相当し、判定回路10は出力判定部に相当する。
差動アンプ9の出力信号は、A/Dコンバータ11によりA/D変換され、デジタルデータとして出力される。この出力データData_outに対しては、ニューラルネットワーク回路の活性化関数として、例えば図2に示す次式のランプ関数f(x)が適用される。
f(x)=max(0,x) …(1)
このランプ関数f(x)は正極性である。その後、出力されたデータは、次段のアナログ積和演算回路1に入力される。
f(x)=max(0,x) …(1)
このランプ関数f(x)は正極性である。その後、出力されたデータは、次段のアナログ積和演算回路1に入力される。
判定回路10は、センスアンプ7p及び7nの出力信号を参照し、判定回路6と同様に差動アンプ9の出力信号レベルが活性領域に属するか、不活性領域に属するかを判定する。そして、活性領域に属する場合は選択回路8p及び8nを閉じて差動アンプ9に信号を入力させると共に、差動アンプ9及びA/Dコンバータ11を動作状態にする。一方、前記出力信号のレベルが不活性領域に属する場合は、選択回路8p及び8nを開いて差動アンプ9に対する信号の入力を遮断すると共に、差動アンプ9及びA/Dコンバータ11を待機状態にする。
ここで、「活性領域」,「不活性領域」は、活性化関数に応じて決まる。本実施形態のランプ関数f(x)は正極性であるから、出力側の差動アンプ9の出力信号がゼロ又は負極性を示す場合、ランプ関数f(x)を適用した結果はゼロとなる。そこで、上記出力信号がゼロ又は負極性を示す場合を「不活性領域」,正極性を示す場合を「活性領域」と称する。ランプ関数f(x)の極性が負の場合は、「不活性領域」,「活性領域」が上記とは逆の関係になる。
つまり、差動アンプ9の出力信号が不活性領域に属する場合は、差動演算やA/D変換を行わずとも、関数f(x)の出力結果がゼロとなる。そして、前記出力信号が不活性領域に属するか否かは、差動入力信号を参照すれば事前に判定できる。したがって、差動アンプ9及びA/Dコンバータ11を待機状態にすることで演算回路1の消費電力を低減する。同様に、入力側においても、入力データData_inの値がゼロ又は負極性を示す不活性領域に属する場合は、演算回路1の出力データがゼロとなるので、D/Aコンバータ2及びドライブアンプ3を待機状態にして消費電力を低減する。
演算回路1をより具体的な構成で示す図3では、クロスバー回路4を構成する記憶素子G11,G12,G21,G22は、何れもメモリスタである。尚、実際には、クロスバー回路4はより多数の記憶素子Gを備えている。本実施形態では、入力データData_inが極性ビットを持たないことを前提としている。判定回路6は、入力データData_inの各ビットが入力端子に接続されたORゲートで構成され、D/Aコンバータ2及びドライブアンプ3は、ORゲートの出力信号により動作状態と待機状態とが切り換えられる。選択回路5は、基準電圧Vrefの電圧源とドライブアンプ3の出力端子との間を開閉するスイッチ回路である。
すなわち、入力データData_inの何れかのビット値が「1」であれば判定回路6の出力信号はハイレベルになり、D/Aコンバータ2及びドライブアンプ3は動作状態に維持され、選択回路5はオフしている。そして、全ビット値がゼロであれば判定回路6の出力信号がローレベルになることで、D/Aコンバータ2及びドライブアンプ3は待機状態に切り換えられ、選択回路5はオンに切り換わる。クロスバー回路4は、基準電圧Vrefが印加されることで電力を消費しない状態になる。
演算回路1の出力側では、判定回路10はコンパレータで構成され、センスアンプ7p,7nの出力信号Vp1,Vn1を比較する。Vp1>Vn1であれば、差動アンプ9の出力信号の極性は正となり活性領域に属する。したがって、差動アンプ9及びA/Dコンバータ11を動作状態に維持し、選択回路8をオンにする。一方、Vp1≦Vn1であれば、差動アンプ9の出力信号はゼロ又は負極性となり不活性領域に属する。したがって、差動アンプ9及びA/Dコンバータ11を待機状態に切換え、選択回路8をオフにする。
以上のように本実施形態によれば、ニューラルネットワーク回路を構成する演算回路1は、メモリスタG11~G22が記憶素子である記憶部としてのクロスバー回路4を備え、活性化関数として正極性のランプ関数f(x)を使用する。差動アンプ9は、対を成す2つのセンスアンプ7p,7nの出力について差動演算を行い、A/Dコンバータ11は、前記演算の結果をA/D変換する。
そして、判定回路10は、差動アンプ9の入力信号を参照し、ランプ関数f(x)の極性に応じて差動アンプ9の出力信号の値が活性領域に属するか不活性領域に属するかを判定し、その判定結果に基づき差動アンプ9及びA/Dコンバータを動作状態と待機状態とに切り換える。すなわち、差動アンプ9の出力信号レベルが不活性領域に属する際に、動作させる必要が無くなる差動アンプ9及びA/Dコンバータを動作状態から待機状態に切り換えることで、一般的に不活性状態となる確率が高いニューラルネットワーク回路の演算回路1について、消費電力を低減できる。
また、センスアンプ7p,7nの出力端子と、差動アンプ9の入力端子との間に配置されるスイッチ回路からなる選択回路8を備え、判定回路10は、差動アンプ9を待機状態に切換える際には、前記スイッチ回路をオンからオフにする。これにより、センスアンプ7より差動アンプ9側に流入する電流を遮断して、消費電力をより低減できる。
更に、判定回路6は、入力データData_inが不活性領域に属する際には、動作させる必要が無いD/Aコンバータ2及びドライブアンプ9を動作状態から待機状態に切り換えるので、消費電力を更に低減できる。加えて、判定回路6は、前記待機状態に切り換える際には、クロスバー回路4に対し、電力を消費させないように基準電圧Vrefを印加するので、消費電力を一層低減できる。
(第2実施形態)
以下、第1実施形態と同一部分には同一符号を付して説明を省略し、異なる部分について説明する。第2実施形態は、入力データData_inが極性ビットを持つことを前提としている。MSBの配置される極性ビットは、データ値が正であれば「1」となり、データ値が負又はゼロであれば「0」になるものとする。この場合、図4に示すように、判定回路6のORゲートに替えて、正転電圧バッファ12を用い、極性ビットの値に応じて各部の動作状態,待機状態の切り換えを行う。尚、極性ビットが2の補数表現の場合は、反転バッファを用いれば良い。
以下、第1実施形態と同一部分には同一符号を付して説明を省略し、異なる部分について説明する。第2実施形態は、入力データData_inが極性ビットを持つことを前提としている。MSBの配置される極性ビットは、データ値が正であれば「1」となり、データ値が負又はゼロであれば「0」になるものとする。この場合、図4に示すように、判定回路6のORゲートに替えて、正転電圧バッファ12を用い、極性ビットの値に応じて各部の動作状態,待機状態の切り換えを行う。尚、極性ビットが2の補数表現の場合は、反転バッファを用いれば良い。
以上のように第2実施形態によれば、入力データData_inが極性ビットを有している際に入力判定部として電圧バッファ12を用い、極性ビットの値を参照して各部の動作状態と待機状態とを切り換える判定を行うようにしたので、よりサイズが小さい回路で入力側の判定を行うことができる。
(その他の実施形態)
選択回路8は、必要に応じて設ければ良い。
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
選択回路8は、必要に応じて設ければ良い。
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
Claims (5)
- 活性化関数としてランプ関数を使用するもので、
可変抵抗素子であるメモリスタ(G)を記憶素子として、前記記憶素子を格子状に結合してなり、印加電圧により駆動される記憶部(4)と、
前記記憶素子を介して流れる電流を電圧に変換して出力する複数のI/V変換増幅回路(7)と、
対を成す2つのI/V変換増幅回路(7p,7n)の出力について、差動演算を行う差動増幅回路(9)と、
この差動増幅回路の演算結果をA/D変換するA/Dコンバータ(11)と、
前記差動増幅回路の入力信号を参照し、前記ランプ関数の極性の正負に応じて当該差動増幅回路の出力信号の値が活性領域に属するか不活性領域に属するかを判定し、当該判定結果に基づき当該差動増幅回路及び前記A/Dコンバータを動作状態と待機状態とに切り換える出力判定部(10,12)とを備えるニューラルネットワーク回路。 - 前記2つのI/V変換増幅回路の出力端子と、前記差動増幅回路の入力端子との間に配置されるスイッチ回路(8p,8n)を備え、
前記出力判定部は、前記差動増幅回路を待機状態に切換える際には、前記スイッチ回路をオンからオフにする請求項1記載のニューラルネットワーク回路。 - 入力データを電圧に変換するD/Aコンバータ(2)と、
前記電圧を前記記憶部に印加するドライブアンプ(3)とを備え、
前記入力データを参照し、前記ランプ関数の極性の正負に応じて当該データの値が活性領域に属するか不活性領域に属するかを判定し、当該判定結果に基づき前記D/Aコンバータ及び前記ドライブアンプを動作状態と待機状態とに切り換える入力判定部(5,6)とを備える請求項1又は2記載のニューラルネットワーク回路。 - 前記入力判定部(5)は、前記待機状態に切り換える際には、前記記憶部に対し、電力を消費させないように基準電圧を印加する請求項3記載のニューラルネットワーク回路。
- 前記入力データが極性ビットを有している際に、
前記入力判定部(12)は、前記極性ビットの値を参照して前記判定を行う請求項3又は4記載のニューラルネットワーク回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/561,207 US11487992B2 (en) | 2017-03-22 | 2019-09-05 | Neural network circuit |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017055744A JP6794891B2 (ja) | 2017-03-22 | 2017-03-22 | ニューラルネットワーク回路 |
JP2017-055744 | 2017-03-22 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/561,207 Continuation US11487992B2 (en) | 2017-03-22 | 2019-09-05 | Neural network circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018173472A1 true WO2018173472A1 (ja) | 2018-09-27 |
Family
ID=63584382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/002285 WO2018173472A1 (ja) | 2017-03-22 | 2018-01-25 | ニューラルネットワーク回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11487992B2 (ja) |
JP (1) | JP6794891B2 (ja) |
WO (1) | WO2018173472A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110033082A (zh) * | 2019-03-19 | 2019-07-19 | 浙江工业大学 | 一种识别ai设备中深度学习模型的方法 |
CN110932399A (zh) * | 2019-11-28 | 2020-03-27 | 上海宏力达信息技术股份有限公司 | 一种电网的智能开关调控方法、系统、储存介质及终端 |
CN111353122A (zh) * | 2018-12-24 | 2020-06-30 | 旺宏电子股份有限公司 | 可做内乘积运算的存储器储存装置及其操作方法 |
WO2020229468A1 (en) * | 2019-05-16 | 2020-11-19 | International Business Machines Corporation | Training of artificial neural networks |
JP2022502760A (ja) * | 2018-10-11 | 2022-01-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | アナログ・クロスポイント・アレイにおいて対称点をゼロ重み点として一致させるためのアライメント方法、そのベクトル行列 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180136202A (ko) * | 2017-06-14 | 2018-12-24 | 에스케이하이닉스 주식회사 | 컨볼루션 신경망 및 컨볼루션 신경망을 가진 신경망 시스템 |
KR102706475B1 (ko) | 2019-06-26 | 2024-09-12 | 삼성전자주식회사 | 아날로그-디지털 컨버터 및 이를 포함하는 뉴로모픽 컴퓨팅 장치 |
US10726331B1 (en) * | 2019-08-26 | 2020-07-28 | International Business Machines Corporation | Neural network circuits providing early integration before analog-to-digital conversion |
EP3839833A1 (en) * | 2019-12-16 | 2021-06-23 | ams International AG | Neural amplifier, neural network and sensor device |
US20230082313A1 (en) * | 2020-02-21 | 2023-03-16 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and electronic device |
CN113656751B (zh) * | 2021-08-10 | 2024-02-27 | 上海新氦类脑智能科技有限公司 | 无符号dac实现有符号运算的方法、装置、设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015001697A1 (ja) * | 2013-07-04 | 2015-01-08 | パナソニックIpマネジメント株式会社 | ニューラルネットワーク回路、およびその学習方法 |
JP2015195011A (ja) * | 2014-03-18 | 2015-11-05 | パナソニックIpマネジメント株式会社 | ニューラルネットワーク回路およびその学習方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5376920B2 (ja) | 2008-12-04 | 2013-12-25 | キヤノン株式会社 | コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置 |
JP6180318B2 (ja) | 2013-12-27 | 2017-08-16 | ソニーセミコンダクタソリューションズ株式会社 | コンパレータ回路 |
JP6708146B2 (ja) * | 2017-03-03 | 2020-06-10 | 株式会社デンソー | ニューラルネットワーク回路 |
-
2017
- 2017-03-22 JP JP2017055744A patent/JP6794891B2/ja active Active
-
2018
- 2018-01-25 WO PCT/JP2018/002285 patent/WO2018173472A1/ja active Application Filing
-
2019
- 2019-09-05 US US16/561,207 patent/US11487992B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015001697A1 (ja) * | 2013-07-04 | 2015-01-08 | パナソニックIpマネジメント株式会社 | ニューラルネットワーク回路、およびその学習方法 |
JP2015195011A (ja) * | 2014-03-18 | 2015-11-05 | パナソニックIpマネジメント株式会社 | ニューラルネットワーク回路およびその学習方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022502760A (ja) * | 2018-10-11 | 2022-01-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | アナログ・クロスポイント・アレイにおいて対称点をゼロ重み点として一致させるためのアライメント方法、そのベクトル行列 |
JP7288047B2 (ja) | 2018-10-11 | 2023-06-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アナログ・クロスポイント・アレイにおいて対称点をゼロ重み点として一致させるためのアライメント方法、そのベクトル行列 |
CN111353122A (zh) * | 2018-12-24 | 2020-06-30 | 旺宏电子股份有限公司 | 可做内乘积运算的存储器储存装置及其操作方法 |
CN111353122B (zh) * | 2018-12-24 | 2023-04-07 | 旺宏电子股份有限公司 | 可做内乘积运算的存储器储存装置及其操作方法 |
CN110033082A (zh) * | 2019-03-19 | 2019-07-19 | 浙江工业大学 | 一种识别ai设备中深度学习模型的方法 |
CN110033082B (zh) * | 2019-03-19 | 2021-05-18 | 浙江工业大学 | 一种识别ai设备中深度学习模型的方法 |
WO2020229468A1 (en) * | 2019-05-16 | 2020-11-19 | International Business Machines Corporation | Training of artificial neural networks |
US11531898B2 (en) | 2019-05-16 | 2022-12-20 | International Business Machines Corporation | Training of artificial neural networks |
CN110932399A (zh) * | 2019-11-28 | 2020-03-27 | 上海宏力达信息技术股份有限公司 | 一种电网的智能开关调控方法、系统、储存介质及终端 |
CN110932399B (zh) * | 2019-11-28 | 2022-02-25 | 上海宏力达信息技术股份有限公司 | 一种电网的智能开关调控方法、系统、储存介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
JP2018160007A (ja) | 2018-10-11 |
US11487992B2 (en) | 2022-11-01 |
JP6794891B2 (ja) | 2020-12-02 |
US20190392289A1 (en) | 2019-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018173472A1 (ja) | ニューラルネットワーク回路 | |
KR102462792B1 (ko) | 아날로그 복소 벡터 매트릭스 곱셈을 수행하는 방법 및 시스템 | |
US11604977B2 (en) | Computing circuitry | |
CN111144558B (zh) | 基于时间可变的电流积分和电荷共享的多位卷积运算模组 | |
WO2021004466A1 (zh) | 一种基于多位并行二进制突触阵列的神经形态计算电路 | |
US11386321B2 (en) | Neural network circuit | |
CN111052153B (zh) | 使用半导体存储元件的神经网络运算电路及动作方法 | |
US20240232603A1 (en) | Accelerating neural networks in hardware using interconnected crossbars | |
WO2021056980A1 (zh) | 一种面向卷积神经网络的双相系数可调模拟乘法计算电路 | |
CN111125616B (zh) | 一种二维离散傅里叶变换运算电路及运算方法 | |
US20120112948A1 (en) | Compact sar adc | |
US20200327401A1 (en) | Computing circuitry | |
WO2023142883A1 (zh) | 存算一体运算方法、忆阻器神经网络芯片及存储介质 | |
US11783171B2 (en) | Computing circuitry | |
US20220368336A1 (en) | Data conversion | |
Dbouk et al. | KeyRAM: A 0.34 uJ/decision 18 k decisions/s recurrent attention in-memory processor for keyword spotting | |
Oh et al. | 1.2-mw online learning mixed-mode intelligent inference engine for low-power real-time object recognition processor | |
US20240176587A1 (en) | Multi-bit analog multiplication and accumulation circuit system | |
Benadero et al. | Analysis of coexisting solutions and control of their bifurcations in a parallel LC resonant inverter | |
CN117610629B (zh) | 一种基于仿生机制的抑制负面情绪与自我修复的忆阻神经网络电路 | |
Youssefi et al. | Efficient mixed-signal synapse multipliers for multi-layer feed-forward neural networks | |
US20230185530A1 (en) | Method for the Analogue Multiplication and/or Calculation of a Scalar Product with a Circuit Assembly, in Particular for Artificial Neural Networks | |
TWI760718B (zh) | 人工神經元及其執行方法 | |
JP2560980B2 (ja) | 1ビットセル及びアナログ/デジタル変換器 | |
CN108449076B (zh) | 动态比较器、模数转换器、模数转换系统以及校准方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18770268 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18770268 Country of ref document: EP Kind code of ref document: A1 |