WO2020013069A1 - 積和演算装置、積和演算回路、積和演算システム、及び積和演算方法 - Google Patents
積和演算装置、積和演算回路、積和演算システム、及び積和演算方法 Download PDFInfo
- Publication number
- WO2020013069A1 WO2020013069A1 PCT/JP2019/026603 JP2019026603W WO2020013069A1 WO 2020013069 A1 WO2020013069 A1 WO 2020013069A1 JP 2019026603 W JP2019026603 W JP 2019026603W WO 2020013069 A1 WO2020013069 A1 WO 2020013069A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sum
- product
- value
- input
- output
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 58
- 238000009825 accumulation Methods 0.000 claims abstract description 45
- 238000003860 storage Methods 0.000 claims description 124
- 238000004364 calculation method Methods 0.000 claims description 44
- 230000007423 decrease Effects 0.000 claims description 6
- 230000000717 retained effect Effects 0.000 abstract description 2
- 239000003990 capacitor Substances 0.000 description 155
- 210000000225 synapse Anatomy 0.000 description 47
- 210000002569 neuron Anatomy 0.000 description 42
- 238000010586 diagram Methods 0.000 description 32
- 230000006870 function Effects 0.000 description 29
- 238000005516 engineering process Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 15
- 210000003050 axon Anatomy 0.000 description 11
- 238000009826 distribution Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 7
- 210000001787 dendrite Anatomy 0.000 description 7
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
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
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/16—Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division
- G06G7/161—Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division with pulse modulation, e.g. modulation of amplitude, width, frequency, phase or form
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/18—Arrangements for performing computing operations, e.g. operational amplifiers for integration or differentiation; for forming integrals
- G06G7/184—Arrangements for performing computing operations, e.g. operational amplifiers for integration or differentiation; for forming integrals using capacitive elements
-
- 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
- G06N3/048—Activation functions
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/01—Modifications for accelerating switching
- H03K19/017—Modifications for accelerating switching in field-effect transistor circuits
- H03K19/01728—Modifications for accelerating switching in field-effect transistor circuits in synchronous circuits, i.e. by using clock signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/08—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
- H03K19/0806—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using charge transfer devices (DTC, CCD)
-
- 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
Definitions
- the present technology relates to a product-sum operation device, a product-sum operation circuit, a product-sum operation system, and a product-sum operation method applicable to a product-sum operation using an analog method.
- Patent Document 1 describes an analog circuit that performs a product-sum operation in an analog manner.
- a load corresponding to each of a plurality of electric signals is set. Further, electric charges corresponding to the product of the corresponding electric signal and the load are output, and the output electric charges are appropriately stored in the capacitor. Then, a signal representing the product-sum result is calculated based on the voltage of the capacitor in which the charge is stored.
- the power consumption required for the product-sum operation can be reduced as compared with the digital processing (see paragraph [0003] [0049]-[0053] [0062] in the specification of Patent Document 1). 4 etc.).
- an object of the present technology is to provide a product-sum operation device, a product-sum operation circuit, a product-sum operation system, and a product-sum operation device capable of improving the accuracy of an operation in an analog system that performs a product-sum operation. It is to provide a sum operation method.
- a product-sum operation device that performs a product-sum operation in an analog circuit, and includes a plurality of input lines, a plurality of multiplication units, and an accumulation unit.
- Unit a charging unit, and an output unit.
- a pulse signal having a pulse width corresponding to an input value is input to the plurality of input lines.
- the plurality of multiplying units generate a charge corresponding to a multiplied value obtained by multiplying the input value by a load value, based on the pulse signal input to each of the plurality of input lines.
- the accumulation unit accumulates a sum of electric charges corresponding to the multiplied values generated by each of the plurality of multiplication units.
- the charging unit charges the storage unit in which the sum of the charges corresponding to the multiplied value is stored at a charging speed associated with a storage state of the storage unit.
- the output unit performs a threshold determination on a voltage held by the storage unit after the start of charging by the charging unit using a threshold associated with a storage state of the storage unit, so that the multiplied value A sum-of-products signal representing the sum is output.
- the charging speed for charging the storage unit and the threshold value used for outputting the product-sum signal representing the sum of the multiplication values are set in association with the storage status of the storage unit. Therefore, it is possible to improve the resolution for expressing the result of the product-sum operation, and it is possible to improve the accuracy of the operation.
- the pulse signal may be input to each of the plurality of input lines within an input period of a predetermined length.
- the charging unit may start the charging after the end of the input period.
- the output unit outputs the product-sum signal based on a timing at which a voltage held by the storage unit increases (or decreases) after passing the threshold value within an output period of a predetermined length. Is also good.
- the charging speed and the threshold are obtained from an estimation result of a sum of charges corresponding to the multiplied value accumulated by the accumulation unit, and are based on an effective maximum value and an effective minimum value of the sum of electric charges corresponding to the multiplied value. May be set.
- the charging speed and the threshold may be set so that a range from the effective maximum value to the effective minimum value is a range in which the product-sum signal can be output during the output period.
- the timing at which the voltage held by the accumulation unit increases (or decreases) after passing the threshold is set as the calculation timing for calculating the product-sum signal, and the charging speed and the threshold are set to the effective maximum value.
- the corresponding calculation timing may be set to be a timing immediately after the start timing of the output period, and the calculation timing corresponding to the effective minimum value may be set to be a timing immediately before the end timing of the output period.
- the charging speed and the threshold may be set based on a length of the output period.
- the effective maximum value and the effective minimum value may be a theoretical maximum value and a theoretical minimum value obtained from a theoretical value of a sum of charges corresponding to the multiplied value accumulated by the accumulation unit.
- the length of the output period may be equal to the length of the input period.
- the charging unit may start the charging at an end timing of the input period.
- the output period may be started at a start timing of charging by the charging unit.
- the plurality of multiplying units correspond to a positive load multiplying unit that generates a positive load charge corresponding to a multiplied value obtained by multiplying the input value by a positive load value, and a multiplied value obtained by multiplying the input value by a negative load value.
- a load multiplication unit that generates a heavy load.
- the accumulation unit accumulates a positive charge accumulation unit that accumulates the sum of the positive load charges generated by the positive load multiplication unit, and accumulates the sum of the load heavy charges generated by the load multiplication unit.
- a negative charge storage section may charge the positive charge storage section and the negative charge storage section at the same charging rate.
- the output unit may output the product-sum signal by performing a threshold determination with respect to each of the positive charge storage unit and the negative charge storage unit using the same threshold.
- the accumulation unit is configured to calculate a total amount of positive load charges corresponding to a multiplied value obtained by multiplying the input value by a positive load value, and a total amount of heavy load charges corresponding to a multiplied value obtained by multiplying the input value by a negative load value. May be accumulated.
- the positive load charge and the load heavy charge may be charges having the same sign.
- the storage section may store the sum of the positive load charges and discharge the sum of the heavy load charges.
- the pulse signal may have a pulse width corresponding to a period from a timing according to the input value in the input period to an end timing of the input period.
- the product-sum operation device may further include one or more output lines.
- the plurality of multiplication units may be provided corresponding to the plurality of input lines.
- Each of the plurality of multipliers is connected between a corresponding input line of the plurality of input lines and any one of the one or more output lines, defines the load value, and has a non-linear characteristic. It may include a resistor, and output a charge corresponding to the multiplied value to an output line connected to the resistor.
- the product-sum operation device may further include a positive charge output line and a negative charge output line.
- the plurality of multiplication units may be provided corresponding to the plurality of input lines.
- the positive load multiplying unit includes a resistor connected between the corresponding input line of the plurality of input lines and the positive charge output line and defining the positive load value and having a non-linear characteristic, A positive load charge corresponding to the multiplied value may be output to the positive charge output line.
- the load weight multiplying unit includes a resistor connected between the corresponding input line of the plurality of input lines and the negative charge output line and defining the negative load value and having a nonlinear characteristic, A load heavy charge corresponding to the multiplied value may be output to the negative charge output line.
- the resistor may be a fixed resistance element, a variable resistance element, or a MOS transistor operating in a sub-threshold region.
- a product-sum operation circuit is a product-sum operation circuit that performs a product-sum operation in an analog manner, wherein the plurality of input lines, the plurality of multiplication units, the accumulation unit, A charging unit; and the output unit.
- a product-sum operation system includes the plurality of input lines and a network circuit including a plurality of analog circuits.
- the plurality of analog circuits include the plurality of multiplication units, the accumulation unit, the charging unit, and the output unit.
- a product-sum operation method includes inputting a pulse signal having a pulse width corresponding to an input value to a plurality of input lines. Based on the pulse signal input to each of the plurality of input lines, a charge corresponding to a product of multiplying the input value by a load value is generated. The accumulation unit accumulates the sum of the electric charges corresponding to the generated multiplied values. The storage unit in which the sum of the charges corresponding to the multiplied value is stored is charged at a charging speed associated with the storage state of the storage unit. After the start of the charge, a threshold value associated with a storage state of the storage unit is subjected to a threshold determination on the voltage held by the storage unit, so that a product-sum signal representing the sum of the multiplied values is output. Is done.
- FIG. 2 is a schematic diagram illustrating a configuration example of an arithmetic device including the product-sum arithmetic device according to the first embodiment. It is a schematic diagram which shows an example of the electric signal input into a product-sum operation device. It is a schematic diagram which shows the example of arrangement
- FIG. 3 is a schematic diagram illustrating a configuration example of a neuron circuit.
- FIG. 2 is a schematic circuit diagram illustrating an example of a product-sum operation device.
- FIG. 6 is a diagram for explaining a calculation example of a product-sum signal by the product-sum calculation device shown in FIG. 5.
- FIG. 3 is a schematic diagram for explaining setting of a charging speed and a threshold.
- FIG. 3 is a schematic diagram for explaining setting of a charging speed and a threshold.
- FIG. 3 is a schematic diagram for explaining setting of a charging speed and a threshold.
- FIG. 6 is a schematic circuit diagram illustrating an example of a product-sum operation device according to a second embodiment.
- FIG. 12 is a diagram for describing an example of calculating a product-sum signal by the product-sum calculation device shown in FIG. 11.
- FIG. 13 is a schematic circuit diagram illustrating an example of a product-sum operation device according to a third embodiment.
- FIG. 14 is a schematic circuit diagram illustrating an example of a product-sum operation device according to a fourth embodiment.
- FIG. 9 is a schematic diagram illustrating another example of a pulse signal (PWM signal) having a pulse width according to a signal value.
- FIG. 5 is a circuit diagram illustrating a specific configuration example of the neuron circuit illustrated in FIG. 4.
- 17 is a timing chart showing an operation example of the neuron circuit shown in FIG.
- FIG. 9 is a circuit diagram illustrating another configuration example of the neuron circuit.
- 19 is a timing chart showing an operation example of the neuron circuit shown in FIG. 19 is a timing chart illustrating another operation example of the neuron circuit illustrated in FIG. 18.
- FIG. 1 is a schematic diagram illustrating a configuration example of an arithmetic device including the product-sum arithmetic device according to the first embodiment of the present technology.
- the arithmetic device 100 is an analog arithmetic device that performs a predetermined arithmetic process including a product-sum operation.
- the arithmetic device 100 can execute arithmetic processing according to a mathematical model.
- the arithmetic unit 100 includes a plurality of signal lines 1, a plurality of input units 2, and a plurality of sum-of-products arithmetic units 3.
- Each signal line 1 is a line for transmitting an electric signal of a predetermined system.
- the electric signal for example, an analog signal representing a signal value using an analog amount such as a pulse timing and a pulse width is used.
- FIG. 1 schematically illustrates a direction in which an electric signal is transmitted using arrows.
- a plurality of signal lines 1 are connected to one product-sum operation device 3.
- the signal line 1 that transmits the electric signal to the product-sum operation device 3 is an input signal line to which the electric signal is input for the product-sum operation device 3 to which the signal line 1 is connected.
- the signal line 1 for transmitting the electric signal output from the product-sum operation device 3 is an output signal line for outputting the electric signal for the product-sum operation device 3 that outputs the electric signal.
- the input signal line corresponds to the input line.
- the plurality of input units 2 generate a plurality of electric signals corresponding to the input data 4.
- the input data 4 is data to be processed using a neural network or the like implemented by the arithmetic device 100, for example. Therefore, it can be said that each signal value of the plurality of electric signals corresponding to the input data 4 is an input value to the arithmetic device 100.
- the input data 4 for example, arbitrary data such as image data, audio data, and statistical data to be processed by the arithmetic device 100 is used.
- image data for example, arbitrary data such as image data, audio data, and statistical data to be processed by the arithmetic device 100 is used.
- image data is used as the input data 4
- an electric signal having a signal value corresponding to a pixel value (RGB value, luminance value, or the like) of each pixel of the image data is generated.
- an electric signal corresponding to the input data 4 may be appropriately generated according to the type of the input data 4 and the content of the processing by the arithmetic device 100.
- the product-sum operation device 3 is an analog product-sum operation circuit that performs a product-sum operation based on an input electric signal.
- the product-sum operation is an operation of adding a plurality of multiplied values obtained by multiplying each of a plurality of input values by a load value. Therefore, it can be said that the product-sum operation is a process of calculating the sum of the multiplied values (hereinafter referred to as a product-sum result).
- a plurality of input signal lines are connected to one product-sum operation device 3, and a plurality of electric signals are supplied.
- the total number of electric signals input to one product-sum operation device 3 is N.
- the number N of electric signals input to each product-sum operation device 3 is appropriately set for each circuit in accordance with, for example, a model or accuracy of the operation process.
- the product-sum operation unit 3 for example, i-th signal values represented by the electrical signal input from the input signal line (input value) and x i, the multiplication value of the load value w i corresponding to the signal value x i there w i ⁇ x i is calculated.
- the calculation of the multiplication value is executed for each electric signal (input signal line), and N multiplication values are calculated.
- the value obtained by adding the N multiplied values is calculated as the product-sum result (sum of the N multiplied values). Therefore, the product-sum result calculated by one product-sum operation device 3 is represented by the following equation.
- Load value w i is set to, for example, a range of - ⁇ ⁇ w i ⁇ + ⁇ .
- ⁇ is an arbitrary real value. Therefore, the load value w i includes a positive load value w i , a negative load value w i , or a zero load value w i .
- a range in which the load value w i is set may be normalized.
- the load value w i is set within a range of -1 ⁇ w i ⁇ 1. This makes it possible to adjust, for example, the maximum value or the minimum value of the product-sum result, and to execute the product-sum operation with desired accuracy.
- Binary connect In a neural network or the like, it is possible to use a method called binary connect that sets the weight value w i to either + ⁇ or ⁇ .
- Binary connect for example by using for not only image recognition using deep neural network (multi-layer neural network), without degrading the recognition accuracy and the like, it is possible to simplify the setting of the load value w i .
- the load value w i is binarized into a binary value ( ⁇ ⁇ ).
- the binarized load value w i is normalized, may set the load value w i to ⁇ 1.
- the setting range or value, etc. of the load value w i is not limited, for example, it may be appropriately set as desired processing accuracy is achieved.
- the signal value x i to be product-sum operation for example, the value represented by the electrical signal output from each of the input unit 2, a is a product-sum result output from the product-sum calculation unit 3. Accordingly, the input unit 2 and the product-sum operation unit 3 can be said to function as a signal source for outputting a signal value x i.
- a single electric signal (single signal value x i ) is output from one signal source (input unit 2, product-sum operation device 3). Therefore, the same electric signal is input to each of the plurality of signal lines 1 connected to the output side of one signal source.
- one signal source and the product-sum operation device 3 to which the electric signal output from the signal source is input are connected by a single input signal line.
- N M. Note that there may be a configuration in which a single signal source outputs a pair of electrical signals (a pair of signal values x i + and x i ⁇ ) corresponding to positive and negative.
- the arithmetic unit 100 has a hierarchical structure in which a plurality of product-sum arithmetic units 3 are provided in each of a plurality of hierarchies.
- a multilayer perceptron type neural network or the like is constructed.
- the number of the product-sum operation devices 3 provided in each layer, the number of layers, and the like are appropriately designed, for example, so that desired processing can be performed.
- the number of the product-sum operation devices 3 provided in the j-th layer may be described as N j .
- N electric signals generated by the N input units 2 are input to each of the product-sum operation devices 3 provided in the first layer (lowest layer).
- the first stage each product-sum arithmetic unit 3, the product-sum result for the signal values x i of the input data is calculated, the product-sum operation unit 3 provided in the next layer after non-linear transformation processing (second stage) Is output.
- N 1 electric signals representing the respective product-sum results calculated in the first stage are input to the respective product-sum operation devices 3 provided in the second stage (upper layer).
- the product-sum calculation unit 3 the product-sum result calculated in the first stage becomes the signal values x i of the electrical signal.
- the product-sum result is calculated to signal values x i output from the first stage, is outputted to the product-sum calculation unit 3 further upper layer after non-linear transformation processing.
- the product-sum result of the upper-layer product-sum operation device 3 is calculated based on the product-sum result calculated by the lower-layer product-sum operation device 3 and the subsequent nonlinear conversion processing result. .
- Such processing is performed a plurality of times, and the processing result is output from the product-sum operation device 3 included in the uppermost layer (the third layer in FIG. 1).
- processing such as image recognition such as determining that the subject is a cat from image data (input data 4) obtained by photographing a cat.
- the method of connecting the product-sum calculation devices 3 is not limited.
- a plurality of product-sum calculation devices 3 may be appropriately connected so that desired processing can be performed.
- the present technology is applicable even when the product-sum operation devices 3 are connected to form another structure different from the hierarchical structure.
- a function conversion circuit 5 or the like that performs non-linear conversion on an electric signal by an activation function is used.
- the function conversion circuit 5 is provided between, for example, a lower layer and an upper layer, and is a circuit that appropriately converts a signal value of an input electric signal and outputs an electric signal according to a conversion result.
- the function conversion circuit 5 is provided, for example, for each signal line 1.
- the number, arrangement, and the like of the function conversion circuits 5 are appropriately set according to, for example, a mathematical model or the like implemented in the arithmetic device 100.
- ReLU function for example, when the signal value x i is 0 or more, and outputs the signal value x i, and outputs 0 otherwise.
- FIG. 2 is a schematic diagram illustrating an example of an electric signal input to the product-sum operation device 3.
- FIG. 2 schematically illustrates a graph showing waveforms of a plurality of electric signals input to one product-sum operation device 3.
- the horizontal axis of the graph is the time axis, and the vertical axis is the voltage of the electric signal.
- the time axis of each graph is common.
- an electric signal of a pulse width modulation (PWM) method is used.
- the PWM method is a method in which a signal value x i is represented using, for example, a pulse width ⁇ i of a pulse waveform. That is, in the PWM method, the pulse width tau i of the electrical signal is a length corresponding to the signal value x i. Typically, the longer the pulse width ⁇ i , the larger the signal value x i .
- the electric signal is input to the product-sum operation device 3 during a predetermined input period T. More specifically, each electric signal is input to the product-sum operation device 3 so that the pulse waveform of the electric signal falls within the input period T. Therefore, the maximum value of the pulse width of the electric signal is the same as the input period T. Note that the timing at which each pulse waveform (electric signal) is input is not limited as long as it falls within the input period T.
- the pulse width tau i representative of the signal value x i is set appropriately Good.
- the description will be made on the assumption that the signal value xi represented by each electric signal is a variable of 0 or more and 1 or less.
- the product-sum operation device 3 according to the present embodiment can also be referred to as a PWM-type product-sum operation device 3.
- a time-axis analog product-sum operation using the product-sum operation device 3 of the PWM method can be executed.
- FIG. 3 is a schematic diagram showing an example of the arrangement of the product-sum operation device 3 for realizing the operation device 100 shown in FIG.
- FIG. 3 schematically illustrates a plurality of product-sum operation devices 3 provided in one hierarchy.
- the product-sum operation device 3 has a pair of output lines 7, a plurality of synapse circuits 8, and a neuron circuit 9. As shown in FIG. 3, one product-sum operation device 3 is configured to extend in a predetermined direction (vertical direction in the figure). A plurality of product-sum calculation devices 3 extending in the vertical direction are arranged side by side in the horizontal direction to form one hierarchy.
- the pair of output lines 7 are arranged apart from each other along the direction in which the product-sum operation device 3 extends.
- the pair of output lines 7 has a positive charge output line 7a and a negative charge output line 7b.
- Each of the positive charge output line 7a and the negative charge output line 7b is connected to a neuron circuit 9 via a plurality of synapse circuits 8.
- Synapse circuit 8 calculates the multiplied value w i ⁇ x i between the signal values x i and the load value w i represented by an electrical signal. Specifically, a charge (current) corresponding to the multiplied value is output to one of the positive charge output line 7a and the negative charge output line 7b.
- a positive load value w i + and a negative load value w i is the synapse circuit 8 - either the are set.
- a positive load charge corresponding to a multiplication value with a positive load value w i + is output to the positive charge output line 7a.
- a negative load value w i - corresponding to the multiplied value of the load weight charge is output to the negative charge output line 7b.
- the synapse circuit 8 is configured to output the electric charge corresponding to the multiplication result to another output line 7a or 7b according to the sign of the load value w i .
- the specific configuration of the synapse circuit 8 will be described later in detail.
- the synapse circuit 8 corresponds to a multiplication unit.
- a single input signal line 1 a and a pair of output lines 7 are connected to one synapse circuit 8. That is, a single electric signal is input to one synapse circuit 8, and a charge corresponding to a multiplied value calculated based on the input electric signal is output to one of the output lines 7a or 7b.
- the synapse circuit 8 is a one-input two-output circuit connected to the single input signal line 1a and the pair of output lines 7 (the positive charge output line 7a and the negative charge output line 7b).
- a plurality of synapse circuits 8 are arranged along a pair of output lines 7. Each synapse circuit 8 is connected in parallel to the positive charge output line 7a (negative charge output line 7b).
- the synapse circuit 8 disposed on the most downstream side is referred to as a first synapse circuit.
- the plurality of input signal lines 1a are respectively arranged so as to intersect a pair of output lines 7 of each of the plurality of product-sum operation devices 3.
- the input signal line 1 a is provided to be orthogonal to each output line 7. That is, the arithmetic unit 100 has a crossbar configuration in which the input signal line 1a and the output line 7 intersect.
- the product-sum operation device 3 and the like can be integrated at a high density.
- the j-th synapse circuit 8 included in each product-sum arithmetic unit 3 is connected in parallel to the j-th input signal line 1a. Therefore, similar electric signals are input to the synapse circuits 8 connected to the same input signal line 1a. Thereby, it is possible to implement a configuration in which one signal source included in the lower layer is connected to a plurality of product-sum operation devices 3 included in the upper layer, as illustrated in FIG.
- a product-sum operation device 3 pre-neuron included in a lower layer is schematically illustrated as a signal source for inputting an electric signal to each input signal line 1a.
- the present invention is not limited to this.
- a crossbar configuration can be used.
- the plurality of product-sum arithmetic units 3 are connected in parallel to each of the plurality of input signal lines 1a. Thereby, for example, it becomes possible to input an electric signal in parallel to each of the product-sum operation devices 3 (each of the synapse circuits 8), and it is possible to speed up the operation processing. As a result, excellent operation performance can be exhibited.
- the neuron circuit 9 calculates the product-sum result shown in Expression (1) based on the multiplication value calculated by each synapse circuit 8. Specifically, based on the electric charges input via the pair of output lines 7, an electric signal representing the product-sum result is output.
- FIG. 4 is a schematic diagram showing a configuration example of the neuron circuit 9.
- FIG. 4 shows a two-input one-output neuron circuit 9 connected to a pair of output lines 7 and a single output signal line 1b. Note that a two-input two-output circuit or the like may be used as the neuron circuit 9.
- the neuron circuit 9 has a storage unit 11 and an output unit 12.
- the accumulation unit 11 accumulates the sum of the electric charges output to the pair of output lines 7 by the plurality of synapse circuits 8.
- the storage unit 11 has two capacitors 13a and 13b. Capacitor 13a is connected between positive charge output line 7a and GND. The capacitor 13b is connected between the negative charge output line 7b and GND. Accordingly, charges flowing from the positive charge output line 7a and the negative charge output line 7b are accumulated in the capacitors 13a and 13b, respectively.
- the charge stored in the capacitor 13a becomes the sum of the positive load charge corresponding to the multiplication value of the signal value x i and a positive load value w i +.
- the potential of the positive charge output line 7a with respect to GND rises. Therefore, the potential of the positive charge output line 7a has a value corresponding to the sum of the positive load charges. Note that the potential of the positive charge output line 7a corresponds to the voltage held by the capacitor 13a.
- the potential of the negative charge output line 7b with respect to GND rises. Therefore, the potential of the negative charge output line 7b has a value corresponding to the sum of the load heavy charges. Note that the potential of the negative charge output line 7b corresponds to the voltage held by the capacitor 13b.
- the output unit 12 outputs a product-sum signal representing the sum of the multiplied values wi and xi based on the charges stored in the storage unit 11.
- the product sum signal, a signal representative of the overall product-sum result is the sum of the multiplication values of all the load values w i and the signal values x i of the combined negative example.
- the product-sum result represented by the above (Equation 1) can be written as follows.
- N + and N - is a positive load value w i + of the total number and negative load values w i, respectively - the total number of.
- the overall product-sum result, positive and load value w i + and the product-sum result of the positive load charge is the sum of the multiplied values wi + ⁇ xi of a negative load value w i - a multiplier
- can be calculated in ⁇ x i sum is a negative load charge as the difference between the product-sum result.
- the output unit 12 generates, as the product-sum signal, one signal representing, for example, the entire product-sum result (the left side of the expression (2)).
- the present invention is not limited to this.
- two signals of a positive product-sum signal representing the product-sum result of the positive load charge and a negative product-sum signal representing the product-sum result of the heavy load charge are used as the product-sum signal.
- the output unit 12 may be configured to generate.
- the output unit 12 calculates the product-sum result of the positive load charges based on the potential of the positive charge output line 7a (the voltage held in the capacitor 13a). Further, the output unit 12 calculates a product-sum result of the load heavy charges based on the potential of the negative charge output line 7b (the voltage held in the capacitor 13b). For example, in the example shown in FIG. 4, the overall product-sum result is calculated from the difference between these positive and negative product-sum results, and is output as one product-sum signal. Further, for example, positive and negative product-sum signals may be output from the positive and negative product-sum results.
- the method of generating the product-sum signal based on the electric charge stored in the storage unit 11 is not limited. As an example, a method for detecting the charge stored in one capacitor 13 will be described.
- the charge corresponding to the multiplied value is stored in the capacitor 13 during the input period T. That is, before and after the input period T, accumulation of charges corresponding to the multiplied value does not occur.
- the capacitor 13 is charged at a predetermined charging rate.
- the timing at which the potential of the output line connected to the capacitor 13 reaches a predetermined threshold potential is detected using a comparator (a comparator or the like).
- the charging speed can be expressed by, for example, a charging amount per unit time, and can also be referred to as a charging rate.
- this threshold determination corresponds to increasing the voltage held in the capacitor 13 by charging and detecting the timing at which the threshold voltage is reached.
- FIG. 5 is a schematic circuit diagram illustrating an example of the product-sum operation device according to the present embodiment.
- the product-sum operation device 3 is provided to extend in a direction orthogonal to the plurality of input signal lines 1a. That is, in the example shown in FIG. 5, a crossbar configuration is employed.
- the product-sum operation device 3 includes a pair of output lines (a positive charge output line 7a and a negative charge output line 7b), a plurality of synapse circuits (a plurality of multiplication units) 8, and a neuron circuit 9.
- the neuron circuit 9 includes a storage unit 11, a charging unit 15, an output unit 12, and switches 16a to 16d.
- a pulse signal (PWM signal) having a pulse width corresponding to the signal value x i is input to the plurality of input signal lines 1a as input signals in 1 to in 6 .
- PWM signal pulse width corresponding to the signal value x i
- FIG. 5 A pulse signal (PWM signal) having a pulse width corresponding to the signal value x i is input to the plurality of input signal lines 1a as input signals in 1 to in 6 .
- the input signals in 1 to in 6 are input within an input period T having a predetermined length (see FIG. 6).
- Positive charge output line 7a outputs the positive load charge corresponding to the multiplication value wi + ⁇ xi multiplied by the positive load value w i + to the signal value x i.
- Negative charge output line 7b is the signal value minus the load values x i w i - multiplication value obtained by multiplying the
- the pair of output lines 7 corresponds to one or more output lines.
- the plurality of synapse circuits 8 are provided corresponding to the plurality of input signal lines 1a, respectively. In the present embodiment, one synapse circuit 8 is provided for one input signal line 1a.
- Each of the plurality of synapse circuits 8 includes a resistor connected between a corresponding one of the plurality of input signal lines 1a and one of the positive charge output line 7a and the negative charge output line 7b. 17 inclusive.
- the resistor 17 may have a non-linear characteristic and may have a function of preventing a current from flowing backward.
- the resistor 17 is connected to the output line 7a (or 7b), multiplication value wi + ⁇ xi (or
- each synapse circuit 8 when it is desired to multiply the positive load value w i + to the signal value x i is a resistor 17 connected between the input signal line 1a and the positive charge output line 7a,
- the positive load output line 7a outputs a positive load charge.
- the synapse circuit 8 to which the input signals in 1 , in 3 , and in 6 are input becomes a synapse circuit 8a configured as a positive load multiplication unit that generates positive load charges.
- the synapse circuit 8a can be said to be a multiplying unit in which a positive load is set.
- each synapse circuit 8 In each synapse circuit 8, a negative load value w i to the signal values x i - If you want to multiply the resistor 17 connected between the input signal line 1a and negative charge output line 7b, negative charge The heavy load is output to the output line 7b.
- the synapse circuit 8 to which the input signals in 2 , in 4 , and in 5 are input becomes a synapse circuit 8 b configured as a load multiplication unit that generates load heavy charges.
- the synapse circuit 8b can be said to be a multiplication unit in which the load weight is set.
- resistor 17 which has a resistance value corresponding to the load value w i to be set. That is, the resistor 17 functions as an element that defines the load value w i in the arithmetic unit 100 that performs the product-sum operation in the product-sum operation unit 3.
- the resistor 17 for example, a fixed resistance element, a variable resistance element, a MOS transistor operating in a sub-threshold region, or the like is used.
- a MOS transistor that operates in the sub-threshold region low power consumption can be realized.
- any other resistors may be used.
- the storage unit 11 stores the sum of the electric charges corresponding to the multiplied values wi ⁇ xi generated by each of the plurality of synapse circuits 8.
- two capacitors 13 a and 13 b are provided as the storage unit 11.
- the capacitor 13a is connected to the positive charge output line 7a via the switch 16b, and stores the sum of positive load charges generated by the synapse circuit 8a.
- the capacitor 13a functions as a positive load accumulation unit.
- the capacitor 13b is connected to the negative charge output line 7b via the switch 16c, and accumulates the sum of the load heavy charges generated by the synapse circuit 8b.
- the capacitor 13b functions as a load heavy accumulation unit.
- the charging unit 15 charges the storage unit 11 storing the sum of the electric charges corresponding to the multiplied values wi ⁇ xi at a predetermined charging rate.
- two current sources 18a and 18b are provided as the charging unit 15. The charging is executed after the input period T ends.
- the current source 18a is connected to the side of the capacitor 13a connected to the positive charge output line 7a (the side opposite to GND) via the switch 16a.
- the current source 18b is connected via the switch 16d to the side of the capacitor 13b connected to the negative charge output line 7b (opposite to GND).
- the capacitors 13a and 13b are charged at the same charging rate by the current sources 18a and 18b. Thereby the potential of the positive charge output line 7a (voltage held in the capacitor 13a) V +, and negative charge output line 7b of the potential (voltage held in the capacitor 13b) V - is increased, respectively.
- the specific configuration of the current source 18 is not limited and may be arbitrarily designed.
- the output unit 12 After the start of charging by the charging unit 15, the output unit 12 performs a threshold determination on the voltage held by the storage unit 11 with a predetermined threshold, thereby obtaining a product-sum signal representing the sum of the multiplied values wi and xi. Is output.
- two comparators 20 a and 20 b and a signal generation unit 21 are provided as the output unit 12.
- the comparator 20a detects a timing when the voltage held by the capacitor 13a becomes larger than a predetermined threshold ⁇ 1.
- the magnitude of the voltage held by the capacitor 13a is determined by the total amount of positive load charges stored in the capacitor 13a and the amount of charge (charging speed ⁇ time).
- the comparator 20b detects a timing when the voltage held by the capacitor 13b becomes larger than a predetermined threshold ⁇ 2.
- the magnitude of the voltage held by the capacitor 13b is determined by the total amount of load heavy charges stored in the capacitor 13b and the amount of charge (charging speed ⁇ time).
- a sum-of-products signal is output by executing a threshold determination for each of the capacitors 13a and 13b from the same threshold. That is, the threshold ⁇ 1 is set to the threshold ⁇ 2.
- a PMW signal which is a pulse signal with a modulated pulse width, is output as the product-sum signal.
- the specific circuit configuration and the like of the signal generation unit 21 are not limited and may be arbitrarily designed.
- FIGS. 6 and 7 are diagrams for explaining an example of calculating the product-sum signal by the product-sum calculation device 3 shown in FIG.
- a signal representing the overall product-sum result including the positive and negative is calculated.
- T is time.
- T represents each of the input period and the output period.
- T n is the end timing of the input period T
- T m is the end timing of the output period T.
- the length of the input period T and the length of the output period T are set to be equal to each other.
- the output period T is started from the end timing t n of the input period T.
- the end timing t n of the input period T corresponds to the start timing of the output period T.
- ⁇ is a slope of a potential rise according to charging by the charging unit 15 (current source 18), and corresponds to a charging speed. “ ⁇ ” is a threshold used for threshold determination by the output unit 12 (comparator 20).
- S i (t) is an input signal (PWM signal) input to the i-th input signal line 1a.
- ⁇ i is the pulse width of the input signal S i (t).
- P i (t) is the amount of change in the internal state (potential) in each synapse circuit 8 shown in FIG.
- W i is the load value is defined by the resistance value of the resistor 17 shown in FIG.
- V n (t) is the sum of “P i (t)” and corresponds to the total amount of charge stored in the capacitor 13.
- S n (t) is a product-sum signal (PWM signal) representing the product-sum result.
- ⁇ n is the pulse width of the output product-sum signal. Specifically, "tau n" is within the output period T, the voltage from the timing which is greater than the threshold value ⁇ held by the capacitor 13, and a value corresponding to the length of the end time t m of the output period T become.
- the switches 16b and 16c are provided. In particular, by cutting off the output lines with these switches, it is possible to reduce power consumption and improve charging accuracy.
- the change amount P i (t n ) of the internal potential of each synapse circuit 8 at the end timing t n of the input period T is given by the following equation. Note that the high level value of the input signal S i (t) is 1.
- switches 16a and 16d shown in FIG. 5 is switched to ON, also switches 16b and 16c is switched to OFF. Then, at the end timing t n of the input period T, the charging by the charging unit 15 (current source 18) is started. Therefore, in the present embodiment, the output period T is started at the timing when the charging by the charging unit 15 is started. That is, the end timing t n of the input period T, charging and output period starts simultaneously.
- the current source 18 increases the internal potential of each synapse circuit 8 with a gradient (charging speed) ⁇ from the end timing t n of the input period T. And in the output period T, multiply-accumulate signal (PWM signal having a voltage from the timing which is greater than the threshold ⁇ is held by the capacitor 13, a pulse width tau n corresponding to the length of the end time t m of the output period T ) Is generated.
- PWM signal having a voltage from the timing which is greater than the threshold ⁇ is held by the capacitor 13, a pulse width tau n corresponding to the length of the end time t m of the output period T ) Is generated.
- R n is given by the following equation. It is assumed that the threshold ⁇ is equal to or more than the total amount of charge V n (t n ).
- the product-sum signal representing the product-sum result based on the timing at which the voltage held by the storage unit 11 becomes larger than the threshold ⁇ in the predetermined length output period T.
- FIG. 7 is a schematic diagram illustrating a calculation example of a product-sum signal indicating the overall product-sum result based on the product-sum results of both the positive load charge and the load heavy charge.
- the product-sum signal indicating the product-sum result of the positive load is “S n + (t)” and the pulse width is “ ⁇ n + ”.
- the product-sum signal representing the product-sum result of the load heavy charges is “S n ⁇ (t)”, and the pulse width is “ ⁇ n ⁇ ”.
- the sum-of-products signal representing the overall sum-of-products result is “S n (t)”, and its pulse width is “ ⁇ n ”.
- the total amount V n + (t n) of positive load charge stored in the capacitor 13a is given by the following equation. Note that w i + is a positive load value.
- the total amount V n load heavy charge stored in the capacitor 13b - (t n) is given by the following equation. Note that w i - is a negative load value.
- the charging rate alpha, pulse width tau n + a + product sum signal S n (t), the product-sum signal S n - pulse width tau n of (t) -, and determined by the output period T Can be That is, it is possible to easily calculate the product-sum result based on the timing detected by the comparator 20a and the timing detected by the comparator 20b.
- the inventor examined the charging speed ⁇ and the threshold ⁇ for generating the product-sum signal Sn (t) representing the product-sum result. Then, a new technique was devised for setting the charging speed ⁇ and the threshold ⁇ . The details will be described below.
- FIGS. 8 to 10 are schematic diagrams for explaining the setting of the charging speed ⁇ and the threshold value ⁇ .
- the capacitor 13 in which the sum of the charges corresponding to the multiplied values wi ⁇ xi is charged causes the total amount of charge to become equal to the threshold ⁇ in the output period T. It is converted to a larger timing. Therefore, during the output period T, it is desirable that the total amount of charges accumulated in the capacitor 13 be detected at a high resolution with timing.
- the inventor has newly devised the setting of the charging rate ⁇ and the threshold value ⁇ by focusing on the accumulation state of the capacitor 13. That is, the use of the charging rate ⁇ and the threshold ⁇ associated with the storage state of the capacitor 13 as the charging rate ⁇ and the threshold ⁇ for generating the product-sum signal S n (t) representing the product-sum result is newly described. Devised.
- the storage state of the capacitor 13 includes information on how much charge is stored in the capacitor 13, and includes, for example, an estimation result of the charge stored in the capacitor 13 and a simulation result. For example, by using the charging speed ⁇ and the threshold ⁇ associated with these estimation results and simulation results, it is possible to improve the accuracy of the product-sum operation.
- a learning process using learning data is executed. Then, the load set for each synapse circuit 8 is set.
- the method of the learning process is not limited, and an arbitrary method such as a method using a computer simulation may be used.
- the total amount of loads stored in the capacitor 13 is estimated as the storage state of the capacitor 13. .
- an effective range to be calculated as a product-sum signal for the total amount of accumulated loads is determined.
- the method of estimating the total amount of the load is not limited. For example, an arbitrary method such as a method using a computer simulation, a method using a probability distribution, and an estimating method based on a result of inputting a plurality of sample data to the product-sum operation device 3 is used. May be used. Note that the estimation result obtained by estimating the total amount of charges can be called a simulation result obtained by simulating the total amount of charges.
- a distribution as shown in FIG. 8A is obtained as an estimation result of the total amount of charges stored in the predetermined capacitor 13.
- a range from the minimum value min to the maximum value max of the distribution is set as an effective range E to be calculated as a product-sum signal.
- the minimum value min and the maximum value max of the effective range E will be referred to as an effective minimum value min and an effective maximum value max.
- the effective minimum value min and the effective maximum value max are parameters obtained from the result of estimating charges corresponding to the multiplied values wi ⁇ xi accumulated by the accumulation unit 11.
- the charging rate ⁇ and the threshold ⁇ are set based on an effective range E from an effective maximum value max to an effective minimum value min.
- the charging rate ⁇ and the threshold value ⁇ are set such that the effective range E is a range in which the product-sum signal can be output with respect to the output period T. That is, the charging speed ⁇ and the threshold ⁇ are set such that the total amount of the charges included in the effective range E becomes larger than the threshold ⁇ within the output period T due to charging.
- the calculation timing for calculating the product-sum signal (the timing when the holding voltage becomes larger than the threshold ⁇ ) is: the timing of immediately after the start timing t n of the output period T. Further, when the total amount of accumulated charges is the effective minimum value min, the calculation timing for calculating the product-sum signal is the timing immediately before the end timing of the output period T.
- the charging speed ⁇ and the threshold ⁇ are set so as to satisfy such a condition.
- calculation timing corresponding to the effective maximum value max is, so that the timing after the start timing t n by the minimum unit of the pulse width of the output period T, also, the calculation timing corresponding to the effective minimum value min.
- the charging rate ⁇ is set so as to be a timing preceding the end timing of the output period T by the minimum unit of the pulse width.
- a PWM signal having a smaller pulse width by the minimum unit of the pulse width compared to the output period T is calculated as the product-sum signal corresponding to the effective maximum value max.
- a PWM signal having a pulse width corresponding to the minimum unit of the pulse width is calculated as the product-sum signal corresponding to the effective minimum value min. Note that the calculation timing can also be called output pulse timing.
- the charging speed ⁇ and the threshold ⁇ are set based on the effective minimum value min, the effective maximum value max, and the output period T as described above.
- How the distribution of the output result of the operation result is made to correspond to the output period T is not limited and may be set arbitrarily.
- the method of setting the effective range E based on the estimation result is not limited. For example, as shown in FIG. 8B, a value larger than the minimum value of the distribution of the estimated total amount of charge may be set as the effective minimum value min. Further, a value smaller than the maximum value of the distribution of the estimated total amount of charge may be set as the effective maximum value max.
- the effective range E may be set arbitrarily so that desired processing accuracy is realized in, for example, a recognition process using a neural network. For example, as an estimation result, a probability distribution such as a normal distribution (Gaussian distribution) or the like may be calculated, and the effective range E may be set based on the range such as 1 ⁇ , 2 ⁇ , or 3 ⁇ .
- a probability distribution such as a normal distribution (Gaussian distribution) or the like may be calculated, and the effective range E may be set based on the range such as 1 ⁇ , 2 ⁇ , or 3 ⁇ .
- the capacitors 13a and 13b are charged at the same charging rate by the current sources 18a and 18b. Further, threshold determination is performed on each of the capacitors 13a and 13b based on the same threshold. That is, using the same charging rate ⁇ and threshold value ⁇ , the product sum result of the positive load charges and the product sum result of the load heavy charges are calculated.
- an effective range E + (effective minimum value min + to effective maximum value max + ) for the positive load is set based on the estimation result of the total amount of the positive load stored in the capacitor 13a. Is done. Also based on the estimation result of the total amount of load heavy charge stored in the capacitor 13b, the effective range E of the load heavy charge - (effective minimum value min - ⁇ valid maximum max -) is set.
- Scope E + and scope E - the total amount of charge contained in the, as detected with high resolution, the effective range E is set.
- the effective minimum value of the effective range E + and min + Scope E - effective minimum value min of the - by comparing the to values smaller effective minimum value min.
- the charging rate ⁇ and the threshold value ⁇ are set based on the effective range E defined by the effective minimum value min and the effective maximum value max. This makes it possible to calculate the overall product-sum result with very high accuracy. Of course, it is not limited to this method.
- the same charging rate ⁇ and the same threshold ⁇ are commonly used for a plurality of product-sum calculation devices 3 included in the same hierarchy.
- the output represented by the product-sum signal (PWM signal) output from each product-sum operation device 3 is output to the next layer as a value based on the same criterion.
- PWM signal product-sum signal
- the effective range E is set with respect to the total amount of electric charges accumulated in the accumulation unit 11. Then, a common effective range is set so as to cover all the effective ranges E. Based on the entire effective range, it is possible to set the shared charging rate ⁇ and the threshold ⁇ .
- the present invention is not limited to this method, and any method may be used.
- the present invention is not limited to the case where the common charging speed ⁇ and the threshold ⁇ are used, and the optimum charging speed ⁇ and the threshold ⁇ may be set in each of the product-sum calculation devices 3. That is, in each of the product-sum calculation devices 3, the effective range E may be set, and the charging speed ⁇ and the threshold ⁇ may be optimized. Even in this case, for example, a desired processing accuracy can be realized by appropriately executing the learning process, for example.
- the charging speed ⁇ and the threshold value ⁇ optimized in advance are set as fixed values.
- the product-sum calculation device 3 may be configured so that the charging speed ⁇ and the threshold ⁇ can be dynamically changed. Then, the optimization of the charging speed ⁇ and the threshold ⁇ may be dynamically executed while the recognition process or the like is being executed.
- the specific circuit configuration capable of dynamically changing the charging rate ⁇ and the threshold ⁇ is not limited, and may be arbitrarily designed.
- the charging rate ⁇ for charging the storage unit 11 and the threshold ⁇ used for outputting the product-sum signal representing the sum of the multiplied values wi ⁇ xi are: Each is set in association with the accumulation status of the accumulation unit 11. Thereby, it is possible to improve the resolution for expressing the result of the product-sum operation, and it is possible to improve the accuracy of the operation.
- a method of calculating is considered a product-sum signal based on the larger timing than the threshold voltage.
- the process of calculating the sum of products of the input and the process of converting it from charge to timing, which is represented by the output timing are interlocked, and control is restricted.
- the input period T and the output period T are set separately in the PWM product-sum operation device 3. Then, after the end of the input period T, the capacitor is charged, and a threshold determination is performed to calculate a product-sum signal. Therefore, it is possible to separate the input product-sum operation process from the charge-to-timing conversion process, so that the above-described problem can be prevented.
- FIG. 11 is a schematic circuit diagram illustrating an example of the product-sum operation device according to the present embodiment.
- FIG. 12 is a diagram for explaining an example of calculating a product-sum signal by the product-sum calculation device 203 shown in FIG.
- positive load charges are generated by the synapse circuit 208a configured as a positive load multiplication unit, and are stored in the capacitor 213 included in the storage unit 211 via the positive charge output line 207a.
- the heavy load generated by the synapse circuit 208b configured as a load multiplication unit is discharged from the capacitor 213 via the negative charge output line 207b.
- the capacitor 213, and the total amount of the positive load charges charges corresponding to the difference between the total amount of load heavy charge (V + -V -) are accumulated. That is, in the present embodiment, the positive load charges are stored by the storage unit 211, and the heavy load charges are discharged.
- a discharge circuit or the like is configured to discharge the load heavy charges generated by the synapse circuit 208b from the capacitor 213 via the negative charge output line 207b.
- the input signals (PMW signals) in 2 , in 4 , and in 5 are input to the discharge circuit or the like, the heavy load of the load is discharged.
- a discharge circuit or the like for discharging the heavy load becomes an element included in the storage unit 211.
- the input signal lines for inputting the input signals (PMW signals) in 2 , in 4 , and in 5 to the discharge circuit and the like are the signal lines included in the plurality of input lines.
- the specific configuration of the discharge circuit and the like is not limited and may be arbitrarily designed.
- FIG. 12 shows only the input signals in 1 , in 2 , and in 3 to simplify the description.
- the case where the input signals in 1 , in 2 and in 3 are input will be described as an example.
- Positive load charges corresponding to the input signals in 1 and in 3 are accumulated in the capacitor 213, and heavy load charges corresponding to the input signal in 2 are discharged.
- the capacitor 213 is charged before the capacitor voltage reaches a predetermined preset value (initial value).
- a predetermined preset value initial value.
- the preset value may be set arbitrarily.
- switch 216a is switched ON, the addition switch 216b is switched to OFF. Then, at the end timing t n of the input period T, the charging by the charging unit 215 (a current source 218) is started.
- the charging rate ⁇ and the threshold ⁇ associated with the accumulation state of the capacitor 213 are set. That is, the total amount of load stored in the capacitor 213 is estimated as the storage state of the capacitor 213. Based on the estimation result, an effective range E (effective minimum value min to effective maximum value max) is set for the total amount of accumulated load.
- the charging speed ⁇ and the threshold ⁇ are set based on the set effective range E.
- the charge (V + -V -) product-sum signal corresponding to it is possible to calculate with great accuracy.
- a product-sum result can be obtained.
- FIG. 13 is a schematic circuit diagram illustrating an example of a product-sum operation device according to the third embodiment of the present technology.
- the capacitor 313a in which the positive load charge is stored and the capacitor 313b in which the load heavy charge is stored are connected in series in opposite directions. This makes it possible to hold, as the terminal voltage of the combined capacitor, charges (V + ⁇ V ⁇ ) corresponding to the difference between the total amount of the positive load charges and the total amount of the heavy load charges in the entire storage unit 311. .
- the switches 316a, 316d, and 316e are turned off, and the switches 316b, 316c, 316f, and 316g are turned on. Then, an input signal is input within the input period T. Positive load charges corresponding to the input signal are stored in the capacitor 313a, and heavy load charges corresponding to the input signal are stored in the capacitor 313b.
- the switch 316b, 316c, and 316f are switched to OFF.
- the switch 316e is turned on, the negative side of the capacitor 313a is connected to the positive side of the capacitor 313b.
- a charge V + -V -
- the switch 316a is turned on, and charging by the charging unit 315 (current source 318) is started.
- the comparator 320 of the output unit 312 detects the timing at which the voltage held by the capacitors 313a and 313b becomes larger than the threshold ⁇ . Based on the detected timing, the signal generation unit 321 calculates a product-sum signal (PWM signal). Note that the switch 316d is used when refreshing the capacitor 313a.
- the charging rate ⁇ and the threshold ⁇ associated with the accumulation status of the capacitors 313a and 313b connected in series are set. That is, the total amount of loads accumulated in the capacitors 313a and 313b is estimated as the accumulation state of the capacitors 313 and 313b. Based on the estimation result, an effective range E (effective minimum value min to effective maximum value max) is set for the total amount of accumulated load.
- the charging rate ⁇ and the threshold ⁇ are set based on the set effective range E.
- the charge (V + -V -) product-sum signal corresponding to it is possible to calculate with great accuracy.
- FIG. 14 is a schematic circuit diagram illustrating an example of a product-sum operation device according to the fourth embodiment of the present technology.
- the charge (V + ⁇ V ⁇ ) corresponding to the difference between the total amount of the positive load charges and the total amount of the heavy load charges is output by the differential amplifier circuit 425 and accumulated. It is stored in the capacitor 413 included in the unit 411.
- the specific configuration of the differential amplifier circuit 425 is not limited, and may be arbitrarily designed.
- the switches 416a, 416b, and 416c are turned on, and the switch 416b is turned off. Then, an input signal is input within the input period T.
- the capacitor 413, the charge output by the differential amplifier circuit 425 (V + -V -) are accumulated.
- the switch 416c is switched to OFF, also the switch 416d is switched to ON. Then, at the end timing t n of the input period T, the charging by the charging unit 415 (a current source 418) is started.
- the timing at which the voltage held by the capacitor 413 becomes larger than the threshold value ⁇ is detected by the comparator 420 of the output unit 412. Based on the detected timing, the signal generation unit 221 calculates a product-sum signal (PWM signal).
- the charging rate ⁇ and the threshold ⁇ associated with the accumulation state of the capacitor 413 are set. That is, the total amount of load stored in the capacitor 413 is estimated as the storage state of the capacitor 413. Based on the estimation result, an effective range E (effective minimum value min to effective maximum value max) is set for the total amount of accumulated load.
- the charging rate ⁇ and the threshold ⁇ are set based on the set effective range E.
- the charge (V + -V -) product-sum signal corresponding to it is possible to calculate with great accuracy.
- FIG. 15 is a schematic diagram illustrating another example of a pulse signal (PWM signal) having a pulse width corresponding to the signal value x i .
- PWM signal pulse signal
- the present technology is also applicable to a case where such a pulse signal is used as an input signal.
- the effective maximum value and the effective minimum value of the effective range a theoretical maximum value and a theoretical minimum value obtained from the theoretical value of the electric charge corresponding to the sum of the multiplied values accumulated by the accumulation unit may be adopted.
- the sum of charges accumulated when an input signal corresponding to the maximum value of the input is input to all input lines is calculated as a theoretical maximum value.
- the sum of the charges accumulated when the input signal corresponding to the minimum value of the input is input to all the input lines is calculated as the theoretical minimum value.
- the method of calculating the theoretical maximum value and minimum value is not limited.
- FIG. 16 is a circuit diagram showing a specific configuration example of the neuron circuit 9 shown in FIG.
- the neuron circuit 9 shown in FIG. 16 is a circuit for charging the capacitor 13 at a constant charging rate after the input period T. Further, the neuron circuit 9 receives the positive / negative output pair from the pair of output lines 7 as inputs and receives one product sum from a single output signal line 10 (shown as an output signal line 1b in FIG. 4). Output the result.
- FIG. 16 illustrates a case where the charge generated by the PWM signal is input to the neuron circuit 9.
- the input period T is described as T in
- the output period after the input period T in in which the product-sum signal is generated is described as T out .
- the neuron circuit 9 has a charging unit 80 in addition to the storage unit 11 and the output unit 12 shown in FIG.
- Charging unit 80 charges the capacitor 13 at a constant charge rate to the output period T out after the input period T in.
- the PWM signal is a signal representative of the signal value by a pulse width in the input period T in, all of the PWM signal becomes zero after the input period T in (see FIG. 2). Therefore, in the output period Tout , the electric charge output to each output line 7 is substantially zero.
- the charging unit 80 illustrated in FIG. 4 operates to connect the capacitor 13 to the predetermined current line In and charge the capacitor 13 during the output period Tout .
- the charging unit 80 includes a first changeover switch 81a, a second changeover switch 82a, and a third changeover switch 83a that change the connection destination of the capacitor 13a, and a first changeover switch 81b that changes the connection destination of the capacitor 13b. , A second changeover switch 82b, and a third changeover switch 83b.
- a first control line SW1, a second control line SW2, and a current line In are connected to the charging unit 80. Note the connection state (ON or OFF) of each selector switch shown in FIG. 16 represents a connection state of the input period T in.
- the first switch 81a is connected between the positive output line 7a (positive charge output line) and GND upstream of the capacitor 13a.
- the second switch 82a is connected between the current line In and the output node 84a of the capacitor 13a.
- the output node 84a is a node (terminal) on the opposite side to the side of the capacitor 13a connected to GND.
- Third switch 83a is provided between output node 84a (capacitor 13a) and positive output line 7a.
- the output node 84a is connected to the output unit 12 at the subsequent stage.
- the first switch 81b is connected upstream of the capacitor 13b between the negative output line 7b (negative charge output line) and GND.
- the second switch 82b is connected between the current line In and the output node 84b of the capacitor 13b.
- Third switch 83b is provided between output node 84b (capacitor 13b) and negative output line 7b.
- the output node 84b is connected to the output unit 12 at the subsequent stage.
- the first control line SW1 controls the first changeover switches 81a and 81b.
- the second control line SW2 controls the second changeover switches 82a and 82b and the third changeover switches 83a and 83b.
- the second changeover switch 82a (82b) and the third changeover switch 83a (83b) are configured so that the ON / OFF states are opposite to each other. When one is ON, the other is OFF. It becomes.
- the specific configuration of each switch is not limited, and for example, an analog switch using a CMOS circuit or the like may be used.
- a control signal for operating the changeover switch is appropriately input to each control line.
- the output section 12 the potential of the capacitor 13 by determining threshold value output period T out, and outputs a sum of products signals.
- the potential of the capacitor 13 is the potential of the output nodes 84a and 84b of the capacitors 13a and 13b.
- a threshold determination of a potential difference (voltage) between the potentials of the output nodes 84a and 84b and the GND potential is performed.
- the potential of each of the output nodes 84a and 84b with reference to GND may be simply referred to as a voltage.
- the output unit 12 has positive and negative comparators 85 a and 85 b and a ReLU function circuit 86.
- the output unit 12 is connected to a threshold voltage line Vth that supplies a predetermined threshold voltage.
- the positive comparator 85a negative comparator 85b
- the positive comparator 85a is connected to the output node 84a (output node 84b) and the threshold voltage line Vth, and the voltage of the output node 84a (output node 85b) changes the threshold ⁇ (threshold voltage).
- the output level is switched from low to high.
- the specific configuration of each of the comparators 85a and 85b is not limited.
- the value of the threshold value ⁇ set in the threshold voltage line Vth is set together with the charging rate ⁇ of the capacitor 13 so that the positive / negative product-sum result can be properly detected during the output period Tout , for example. .
- the charging speed ⁇ and the threshold ⁇ associated with the accumulation state of the capacitor 13 are appropriately set.
- the threshold ⁇ may be set according to the capacity of the capacitor 13 or the like.
- the method of setting the threshold ⁇ is not limited.
- the ReLU function circuit 86 is a circuit that implements the ReLU function described with reference to FIG.
- the ReLU function circuit 86 can be configured using, for example, a logic circuit.
- the ReLU function circuit 86 functions as the function circuit 5 shown in FIG. That is, it can be said that the neuron circuit 9 shown in FIG. 16 includes the function circuit 5.
- FIG. 17 is a timing chart showing an operation example of the neuron circuit 9 shown in FIG. 17A and 17B are timing charts showing a product-sum operation for a positive load value and a negative load value.
- FIG. 17C is a timing chart showing the operation of the ReLU function circuit 86.
- an operation example of the neuron circuit 9 will be described with reference to FIGS.
- the first control line SW1 first changeover switch 81a and 81b is set to ON state, the output lines 7a and 7b is grounded to GND.
- the second changeover switches 82a and 82b are in the OFF state.
- the third changeover switches 83a and 83b are in the ON state, and the capacitors 13a and 13b are in the state connected to the positive and negative output lines 7a and 7b. That is, the charging unit 80 connects the capacitor 13 to GND before the input period T in.
- the output lines 7a and 7b can be initialized to the GND level (installation level) and reset as an initial state before the product-sum operation is performed.
- the charge stored in the capacitor 13 and the charge stored in the parasitic capacitance of the output line 7 are released to GND.
- the charge and the like accumulated in the previous calculation are reset, and it becomes possible to repeatedly execute appropriate calculation processing.
- the first changeover switches 81a and 81b are set to the OFF state by the first control line SW1. Further, the second changeover switches 82a and 82b are maintained in the OFF state, and the third changeover switches 83a and 83b are maintained in the ON state. In this state, the input period T in is started. Thus, the charging unit 80 connects the capacitor 13 to a pair of output lines 7a and 7b to the input period T in.
- PWM signal is inputted from a plurality of input signal lines 6 (Axon lines), each capacitor 13a and 13b are charged.
- a plurality of PWM signals through each synapse circuit 8 (load) (input signal) is input.
- the signals input to the positive and negative output lines 7a and 7b are described as ⁇ Axon (n).
- PWM signals from + Axon (1) to + Axon (n) are input to the positive output line 7a.
- the positive side capacitor 13a is charged according to the pulse width (signal value) of each PWM signal, and the voltage (+ Dendrite) of the capacitor 13a increases according to the input of each PWM signal to the positive output line 7a. I do.
- PWM signals from -Axon (1) to -Axon (n ') are input to the negative output line 7b.
- the voltage ( ⁇ Dendrite) of the negative capacitor 13a increases according to the input of each PWM signal to the negative output line 7a. Incidentally, before the input period T in is completed, the input of all the PWM signal is completed.
- the second changeover switches 82a and 82b are set to the ON state, and the current line In is connected to the capacitors 13a and 13b.
- the capacitors 13a and 13b are charged by the current line In.
- FIGS. 17A and 17B by being connected to the current line In, In + and In ⁇ flow into the capacitors 13a and 13b.
- the current line In functions as a constant current source. Therefore, the currents (In + and In ⁇ ) flowing into the capacitors 13a and 13b have the same value. By these currents, the capacitors 13a and 13b are charged at a constant charging rate ⁇ . As described above, the charging unit 80 connects the capacitor 13 to the current line In that supplies a current according to the constant charging rate ⁇ during the output period Tout . This makes it possible to easily and accurately detect the charge accumulated in the input period Tin by performing the threshold determination. In the example shown in FIG. 16, the current line In corresponds to a current source.
- ⁇ Dendrite is a voltage of the capacitor 13a and 13b, Increase at a constant rate.
- the slope of this increase is equal for each of the capacitors 13a and 13b.
- the timing of ⁇ Dendrite exceeds a threshold ⁇ will represent the voltage at the end timing of the input period T in each capacitor 13a and 13b.
- the current line In supplies current until ⁇ Dendrite reaches the threshold ⁇ . Then, when ⁇ Dendrite reaches the threshold value ⁇ , the output signals Sn + (t) and Sn ⁇ (t) are generated from the comparators 85a and 85b. Sn + (t) and Sn ⁇ (t) are product-sum signals representing a positive product-sum result and a negative product-sum result, respectively.
- the signals (Sn + (t) and Sn ⁇ (t)) representing the positive and negative sum of products are input to the ReLU function circuit 86, and the difference is output as a PWM signal Sn (t).
- Sn (t) is a signal that goes high when Sn + (t) is high and Sn ⁇ (t) is low.
- the pulse width of Sn (t) indicates the difference between the positive and negative product-sum results, that is, the final product-sum operation result output from one analog circuit 3. Note Sn (t) is, Sn + (t)> Sn - If a (t) is generated only (the difference between the positive and negative product-sum result if it is 0 or more).
- the neuron circuit 9 shown in FIG. 16 can output the product-sum result processed by the ReLU function.
- the circuit is not limited to the circuit illustrated in FIG. 16, and an arbitrary circuit that can read out the charge and the like stored in the capacitor 13 may be used as the neuron circuit 9.
- FIG. 18 is a circuit diagram showing another configuration example of the neuron circuit 509.
- the neuron circuit 509 receives the positive and negative output pairs from the pair of output lines 7 and outputs the positive and negative sum of products from the pair of output signal lines 10a and 10b.
- FIG. 18 illustrates a case where a charge generated by a TACT (spike timing) signal (step signal) is input to the neuron circuit 509.
- TACT spike timing
- the neuron circuit 509 has a charging unit 580 in addition to the storage unit 511 and the output unit 512.
- the storage unit 511 and the charging unit 580 have the same configuration as the charging unit 80 described with reference to FIG. 16, for example.
- the comparator 585a and 585b of the output unit 512 product-sum signal of a pair representing the sign of the product-sum result Sn + (t) and Sn - (t) is output as it You. That is, it can be said that the output unit 512 has a configuration obtained by removing the ReLU function circuit 86 from the output unit 12 shown in FIG.
- Charging unit 580 charges the capacitor 513 at a constant charging rate ⁇ to the output period T out after the input period T in.
- the step signal is a signal representing a signal value by timing within the input period T in .
- a signal representing a signal value is used at the timing of rising from Low to High within the input period T in .
- the rising step signal keeps the High level continuously thereafter.
- FIG. 19 is a timing chart showing an operation example of the neuron circuit 509 shown in FIG. FIG. 19A and FIG. 19B are timing charts showing a product-sum operation for a positive load value and a negative load value.
- the step signals are maintained at the high level, and the capacitor 513 is charged during the output period T out by these step signals. That is, during the output period T out, the current source is composed of a plurality of input signal lines 6 (Axon line) and the output line 7, the capacitor 13 is charged.
- each Axon line and the positive and negative output lines 7a and 7b function as a part of the charging unit 580.
- the neuron circuit 509 can be operated with a configuration in which the second changeover switches 582a and 582b and the current line In illustrated in FIG. 18 are removed and the third changeover switches 583a and 583b are short-circuited. .
- a circuit configuration for charging capacitor 513 can be simplified.
- the first The first changeover switches 581a and 581b are set to the ON state by the control line SW1. This allows the output lines 7a and 7b and the like to be initialized to the GND level (installation level) and reset before the product-sum operation is performed.
- step signal generated at the timing corresponding to the signal value is input, respectively.
- the TACT manner subsequently after the input period T in, the signal to keep the High level from all Axon line is input. That is, in the input period T in , there is a variation in the timing at which the step signal is input, but in the output period T in , all the Axon lines are at the High level and a constant charge is continuously supplied. Thus, capacitors 513a and 513b can be charged at a constant charging rate.
- the voltages at output nodes 584a and 584b of capacitors 513a and 513b increase at a constant rate, respectively.
- the voltage ( ⁇ Dendrite) of each of the output nodes 584a and 584b reaches the threshold ⁇ (threshold voltage) of the comparators 585a and 585b, positive and negative sum-of-product signals Sn + (t) and Sn ⁇ (t) are generated. .
- the generated Sn + (t) and Sn ⁇ (t) are output to a subsequent stage as a pair of product-sum signals.
- FIG. 20 is a timing chart showing another operation example of the neuron circuit 509 shown in FIG.
- FIG. 20A and FIG. 20B are timing charts showing a product-sum operation for a positive load value and a negative load value.
- the positive and negative output lines 7a and 7b are separated after completion of the input period T in. Then, during the output period Tout , the capacitor 513 is charged by the current line In.
- the second changeover switches 582a and 582b are set to the ON state.
- the capacitors 513a and 513b are connected to the current line In, and are supplied with constant currents In + and In ⁇ , respectively.
- the capacitors 513a and 513b are charged at a constant charging rate.
- the positive and negative product sum signal Sn + (t) and Sn - (t) is generated.
- the TACT method even when the TACT method is used, it is possible to generate a product-sum signal indicating the product-sum result using the current line In.
- This makes it possible to easily configure the neuron circuit 509 for the TACT method using, for example, the design of the neuron circuit 9 (see FIG. 16) used in the PWM method.
- the case where the product-sum signal is output based on the timing when the voltage held by the storage unit exceeds the threshold value and increases is described as an example.
- a configuration may be adopted in which the product-sum signal is output based on the timing at which the voltage held by the storage unit becomes smaller than the threshold value.
- the capacitor is charged in advance until the voltage of the capacitor functioning as the storage unit reaches a predetermined preset value. Then, after the sum of the charges corresponding to the product of the signal value and the load value is accumulated, the capacitor is discharged at a predetermined rate. In such a case, it is possible to output the product-sum signal based on the timing at which the voltage held by the capacitor becomes smaller than the threshold.
- discharging the capacitor is included in charging the capacitor with a negative charge. By appropriately setting the threshold value and the discharge speed, the product-sum signal can be calculated with extremely high accuracy.
- the multiplying unit includes a resistor connected between the corresponding input line and any one of the one or more output lines to define a load value, and the output unit to which the resistor is connected corresponds to the multiplied value. Output charge.
- the multiplying unit includes a resistor connected between the corresponding input line and any one of the one or more output lines to define a load value, and the output unit to which the resistor is connected corresponds to the multiplied value. Output charge.
- the configuration of the arithmetic device, the product-sum operation device, the analog circuit, the synapse circuit, the neuron circuit, and the like described with reference to the drawings, the method of generating the product-sum signal, and the like are merely examples, and do not depart from the gist of the present technology. It can be arbitrarily modified as long as it is not performed. That is, any other configuration, method, or the like for implementing the present technology may be adopted.
- “same”, “equal”, “orthogonal” and the like are concepts including “substantially the same”, “substantially equal”, “substantially orthogonal” and the like.
- a state included in a predetermined range for example, a range of ⁇ 10%
- a predetermined range for example, a range of ⁇ 10%
- a product-sum operation device that executes a product-sum operation in an analog circuit, A plurality of input lines to which a pulse signal having a pulse width corresponding to the input value is input, A plurality of multiplication units that generate a charge corresponding to a multiplication value obtained by multiplying the input value by a load value, based on the pulse signal input to each of the plurality of input lines; A storage unit that stores a sum of charges corresponding to the multiplied values generated by each of the plurality of multiplying units; A charging unit that charges the storage unit in which the sum of the charges corresponding to the multiplied values is stored at a charging speed associated with a storage state of the storage unit; After the charging by the charging unit is started, by performing a threshold determination on the voltage held by the storage unit using a threshold value associated with the storage status of the storage unit, a product sum representing the sum of the multiplied values And an output unit that outputs a signal.
- the product-sum operation device (1), The pulse signal is input to each of the plurality of input lines within an input period of a predetermined length, The charging unit starts the charging after the end of the input period, The output-sum unit outputs the sum-of-products signal based on the timing at which the voltage held by the storage unit increases or decreases beyond the threshold value within an output period of a predetermined length. . (3) The product-sum operation device according to (2), The charging speed and the threshold are obtained from an estimation result of a sum of charges corresponding to the multiplied value accumulated by the accumulation unit, and are based on an effective maximum value and an effective minimum value of the sum of electric charges corresponding to the multiplied value.
- Multiply-accumulate unit set by (4) The product-sum operation device according to (3), The sum-of-products arithmetic device, wherein the charging speed and the threshold are set such that a range from the effective maximum value to the effective minimum value is a range in which the sum-of-products signal can be output during the output period.
- the product-sum operation device according to (3) or (4) The timing at which the voltage held by the accumulation unit increases or decreases past the threshold value is calculated as the calculation timing for calculating the product-sum signal.
- the charging speed and the threshold value are such that the calculation timing corresponding to the effective maximum value is a timing immediately after the start timing of the output period, and the calculation timing corresponding to the effective minimum value is a timing immediately before the end timing of the output period.
- the product-sum operation unit is set so that the timing is as follows. (6) The product-sum operation apparatus according to any one of (3) to (5), The product-sum operation device, wherein the charging speed and the threshold are set based on a length of the output period. (7) The product-sum operation apparatus according to any one of (3) to (6), The effective maximum value and the effective minimum value are a theoretical maximum value and a theoretical minimum value obtained from a theoretical value of a sum of electric charges corresponding to the multiplied value accumulated by the accumulation unit. (8) The product-sum operation apparatus according to any one of (2) to (7), The length of the output period is equal to the length of the input period.
- the product-sum operation apparatus according to any one of (2) to (8), The charging unit starts the charging at an end timing of the input period, The sum-of-products calculation device, wherein the output period is started at a timing at which the charging unit starts charging.
- the product-sum operation apparatus correspond to a positive load multiplying unit that generates a positive load charge corresponding to a multiplied value obtained by multiplying the input value by a positive load value, and a multiplied value obtained by multiplying the input value by a negative load value.
- a load heavy multiplying unit that generates a load heavy charge to be performed
- the storage unit includes a positive charge storage unit that stores a sum of the positive load charges generated by the positive load multiplication unit, and a negative charge storage unit that stores the sum of the load heavy charges generated by the load multiplication unit. And a part,
- the charging unit charges the positive charge storage unit and the negative charge storage unit at the same charging rate,
- the sum-of-products calculating device wherein the output unit outputs the sum-of-products signal by executing a threshold determination with respect to each of the positive charge storage unit and the negative charge storage unit from the same threshold.
- the product-sum operation apparatus according to any one of (1) to (9),
- the accumulation unit is configured to calculate a total amount of positive load charges corresponding to a multiplied value obtained by multiplying the input value by a positive load value, and a total amount of heavy load charges corresponding to a multiplied value obtained by multiplying the input value by a negative load value.
- Sum-of-products device that accumulates charges corresponding to the difference between (12)
- the product-sum operation apparatus according to (11) The positive load charge and the load heavy charge are charges having the same sign as each other,
- the accumulator is configured to accumulate the sum of the positive load charges and discharge the sum of the load heavy charges.
- the product-sum operation apparatus according to any one of (2) to (12), The sum-of-products calculating device, wherein the pulse signal has a pulse width corresponding to a period from a timing corresponding to the input value in the input period to an end timing of the input period.
- the product-sum operation apparatus according to any one of (1) to (13), further comprising: Comprising one or more output lines, The plurality of multiplying units are provided corresponding to the plurality of input lines, Each of the plurality of multipliers is connected between a corresponding input line of the plurality of input lines and any one of the one or more output lines, and is a resistor that defines the load value and has a non-linear characteristic.
- a sum-of-products arithmetic unit that outputs a charge corresponding to the multiplied value to an output line to which the resistor is connected.
- the product-sum operation apparatus further comprising: A positive charge output line and a negative charge output line;
- the plurality of multiplying units are provided corresponding to the plurality of input lines,
- the positive load multiplying unit includes a resistor connected between a corresponding one of the plurality of input lines and the positive charge output line and defining the positive load value and having a non-linear characteristic, Outputting a positive load charge corresponding to the multiplied value to a positive charge output line,
- the load weight multiplying unit includes a resistor connected between the corresponding input line of the plurality of input lines and the negative charge output line and defining the negative load value and having a non-linear characteristic,
- a product-sum operation device that outputs a load heavy charge corresponding to the multiplied value to a negative charge output line.
- a product-sum operation apparatus that performs a product-sum operation in an analog manner, A plurality of input lines to which a pulse signal having a pulse width corresponding to the input value is input, A plurality of multiplication units that generate a charge corresponding to a multiplication value obtained by multiplying the input value by a load value, based on the pulse signal input to each of the plurality of input lines; A storage unit that stores a sum of charges corresponding to the multiplied values generated by each of the plurality of multiplying units; A charging unit that charges the storage unit in which the sum of the charges corresponding to the multiplied values is stored at a charging speed associated with a storage state of the storage unit; After the charging by the charging unit is started, a threshold value associated with a storage state of the storage unit is subjected
- a product-sum operation circuit comprising: an output unit that outputs a signal. (18) a plurality of input lines to which a pulse signal having a pulse width corresponding to the input value is input; A plurality of multiplication units that generate a charge corresponding to a multiplication value obtained by multiplying the input value by a load value, based on the pulse signal input to each of the plurality of input lines; A storage unit that stores a sum of charges corresponding to the multiplied values generated by each of the plurality of multiplying units; A charging unit that charges the storage unit in which the sum of the charges corresponding to the multiplied values is stored at a charging speed associated with the storage state of the storage unit; After the charging by the charging unit is started, a threshold value associated with a storage state of the storage unit is subjected to a threshold determination on the voltage held by the storage unit, so that a product sum representing the sum of the multiplied values is obtained.
- a plurality of analog circuits having an output unit for outputting a signal; and And a network circuit configured by connecting the plurality of analog circuits.
- a pulse signal having a pulse width corresponding to an input value is input to a plurality of input lines; Based on the pulse signal input to each of the plurality of input lines, to generate a charge corresponding to a multiplied value obtained by multiplying the input value by a load value, In a storage unit, accumulates the sum of charges corresponding to the generated multiplied value, The storage unit in which the sum of the charges corresponding to the multiplied values is stored is charged at a charging rate associated with the storage state of the storage unit, After the start of the charging, a threshold value associated with a storage state of the storage unit is subjected to a threshold determination with respect to the voltage held by the storage unit to output a product-sum signal representing a sum of the multiplied values. Yes Product-sum operation method.
- ⁇ threshold value
- ⁇ charging speed 1: signal line 1a: input signal line 3, 203, 303, 403: product-sum operation device 7: one pair of output lines 7a, 207a: positive charge output lines 7b, 207b: negative charge output Line 8: synapse circuit 8a, 208a: synapse circuit (positive weight multiplication unit) 8b, 208b ... synapse circuit (load weight multiplication unit) 9, 509 ... neuron circuit 11, 211, 311, 411, 511 ... storage unit 12, 212, 312, 412, 512 ... output unit 13, 213, 313, 413, 513 ...
- capacitor 15, 215, 315, 415, 80 580 charging unit 17: resistor 18, 218, 318, 418 ... current source 20, 220, 320, 420 ... comparator 21, 221, 321 ... signal generation unit 100 ... arithmetic unit
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Power Engineering (AREA)
- Complex Calculations (AREA)
- Amplifiers (AREA)
- Analogue/Digital Conversion (AREA)
- Logic Circuits (AREA)
Abstract
本積和演算装置は積和演算をアナログ回路で実行し、複数の入力線と、複数の乗算部と、蓄積部と、充電部と、出力部とを具備する。複数の入力線は、入力値に応じたパルス幅を有するパルス信号が入力される。複数の乗算部は、前記複数の入力線の各々に入力されるパルス信号に基づいて、入力値に荷重値を乗算した乗算値に対応する電荷を生成する。蓄積部は、複数の乗算部の各々により生成された乗算値に対応する電荷の和を蓄積する。充電部は、乗算値に対応する電荷の和が蓄積された蓄積部を、蓄積部の蓄積状況に関連付けられた充電速度により充電する。出力部は、充電部による充電の開始後蓄積部により保持される電圧に対して蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、乗算値の和を表す積和信号を出力する。
Description
本技術は、アナログ方式を用いた積和演算に適用可能な積和演算装置、積和演算回路、積和演算システム、及び積和演算方法に関する。
例えば特許文献1には、積和演算の処理をアナログ方式によって行うアナログ回路について記載されている。このアナログ回路では、複数の電気信号のそれぞれに対応した荷重が設定される。また、対応する電気信号と荷重との積に応じた電荷がそれぞれ出力され、出力された電荷がキャパシタに適宜蓄えられる。そして、電荷が蓄えられたキャパシタの電圧に基づいて積和結果を表す信号が算出される。これにより、例えばデジタル方式による処理と比べて積和演算に要する消費電力を抑制することが可能となっている(特許文献1の明細書段落[0003][0049]-[0053][0062]図4等)。
このようなアナログ方式の回路を用いることで、ニューラルネットワークモデル等を計算する装置の低消費電力化につながると期待されており、積和演算の精度を向上可能な技術が求められている。
以上のような事情に鑑み、本技術の目的は、積和演算を行うアナログ方式において、演算の精度を向上することが可能な積和演算装置、積和演算回路、積和演算システム、及び積和演算方法を提供することにある。
上記目的を達成するため、本技術の一形態に係る積和演算装置は、積和演算をアナログ回路で実行する積和演算装置であって、複数の入力線と、複数の乗算部と、蓄積部と、充電部と、出力部とを具備する。
前記複数の入力線は、入力値に応じたパルス幅を有するパルス信号が入力される。
前記複数の乗算部は、前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する。
前記蓄積部は、前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する。
前記充電部は、前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する。
前記出力部は、前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する。
前記複数の入力線は、入力値に応じたパルス幅を有するパルス信号が入力される。
前記複数の乗算部は、前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する。
前記蓄積部は、前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する。
前記充電部は、前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する。
前記出力部は、前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する。
この積和演算装置では、蓄積部を充電する充電速度、及び乗算値の和を表す積和信号の出力に用いられる閾値が、蓄積部の蓄積状況に関連付けられてそれぞれ設定される。これにより、積和演算の結果を表現する分解能を向上させることが可能となり、演算の精度を向上させることが可能となる。
前記複数の入力線の各々には、所定の長さの入力期間内に、前記パルス信号が入力されてもよい。この場合、前記充電部は、前記入力期間の終了後に前記充電を開始してもよい。また前記出力部は、所定の長さの出力期間内における、前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなる(または小さくなる)タイミングに基づいて、前記積和信号を出力してもよい。
前記充電速度及び前記閾値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の推定結果から求められる、前記乗算値に対応する電荷の和の有効最大値及び有効最小値に基づいて設定されてもよい。
前記充電速度及び前記閾値は、前記有効最大値から前記有効最小値までの範囲が、前記出力期間に対して、前記積和信号の出力可能な範囲となるように設定されてもよい。
前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなる(または小さくなる)タイミングを、前記積和信号を算出するための算出タイミングとして、前記充電速度及び前記閾値は、前記有効最大値に対応する前記算出タイミングが前記出力期間の開始タイミングの直後のタイミングとなり、前記有効最小値に対応する前記算出タイミングが前記出力期間の終了タイミングの直前のタイミングとなるように設定されてもよい。
前記充電速度及び前記閾値は、前記出力期間の長さに基づいて設定されてもよい。
前記有効最大値及び前記有効最小値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の理論値から求められる理論的な最大値及び理論的な最小値であってもよい。
前記出力期間の長さは、前記入力期間の長さと等しくてもよい。
前記充電部は、前記入力期間の終了タイミングで前記充電を開始してもよい。この場合、前記出力期間は、前記充電部による充電の開始タイミングで開始されてもよい。
前記複数の乗算部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷を生成する正荷重乗算部と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷を生成する負荷重乗算部とを有してもよい。この場合、前記蓄積部は、前記正荷重乗算部により生成された前記正荷重電荷の和を蓄積する正電荷蓄積部と、前記負荷重乗算部により生成された前記負荷重電荷の和を蓄積する負電荷蓄積部とを有してもよい。また前記充電部は、前記正電荷蓄積部、及び前記負電荷蓄積部を、同じ充電速度によりそれぞれ充電してもよい。また前記出力部は、前記正電荷蓄積部、及び前記負電荷蓄積部の各々に対して、同じ閾値より閾値判定を実行することで、前記積和信号を出力してもよい。
前記蓄積部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷の総量と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷の総量との差に対応する電荷を蓄積してもよい。
前記正荷重電荷及び負荷重電荷は、互いに同符号の電荷であってもよい。この場合、前記蓄積部は、前記正荷重電荷の和を蓄積し、前記負荷重電荷の和を放電してもよい。
前記パルス信号は、前記入力期間内の前記入力値に応じたタイミングから前記入力期間の終了タイミングまでの期間に応じたパルス幅を有してもよい。
前記積和演算装置は、さらに、1以上の出力線を具備してもよい。この場合、前記複数の乗算部は、前記複数の入力線に対応して設けられてもよい。また前記複数の乗算部の各々は、前記複数の入力線のうちの対応する入力線と、前記1以上の出力線のいずれか1つとの間に接続され前記荷重値を規定し非線形特性を有する抵抗器を含み、前記抵抗器が接続された出力線に前記乗算値に対応する電荷を出力してもよい。
前記積和演算装置は、さらに、正電荷出力線と、負電荷出力線とを具備してもよい。この場合、前記複数の乗算部は、前記複数の入力線に対応して設けられてもよい。また前記正荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記正電荷出力線との間に接続され前記正の荷重値を規定し非線形特性を有する抵抗器を含み、前記正電荷出力線に前記乗算値に対応する正荷重電荷を出力してもよい。また前記負荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記負電荷出力線との間に接続され前記負の荷重値を規定し非線形特性を有する抵抗器を含み、前記負電荷出力線に前記乗算値に対応する負荷重電荷を出力してもよい。
前記抵抗器は、固定抵抗素子、可変抵抗素子、又はサブスレッショルド領域で動作するMOSトランジスタであってもよい。
本技術の一形態に係る積和演算回路は、積和演算をアナログ方式で実行する積和演算回路であって、前記複数の入力線と、前記複数の乗算部と、前記蓄積部と、前記充電部と、前記出力部とを具備する。
本技術の一形態に係る積和演算システムは、前記複数の入力線と、複数のアナログ回路を含むネットワーク回路とを具備する。
前記複数のアナログ回路は、前記複数の乗算部と、前記蓄積部と、前記充電部と、前記出力部とを有する。
前記複数のアナログ回路は、前記複数の乗算部と、前記蓄積部と、前記充電部と、前記出力部とを有する。
本技術の一形態に係る積和演算方法は、複数の入力線に、入力値に応じたパルス幅を有するパルス信号を入力することを含む。
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷が生成される。
蓄積部に、前記生成された前記乗算値に対応する電荷の和が蓄積される。
前記乗算値に対応する電荷の和が蓄積された前記蓄積部が、前記蓄積部の蓄積状況に関連付けられた充電速度により充電される。
前記充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号が出力される。
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷が生成される。
蓄積部に、前記生成された前記乗算値に対応する電荷の和が蓄積される。
前記乗算値に対応する電荷の和が蓄積された前記蓄積部が、前記蓄積部の蓄積状況に関連付けられた充電速度により充電される。
前記充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号が出力される。
以上のように、本技術によれば、積和演算を行うアナログ方式において、演算の精度を向上することが可能となる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
以下、本技術に係る実施形態を、図面を参照しながら説明する。
<第1の実施形態>
[積和演算装置の構成]
図1は、本技術の第1の実施形態に係る積和演算装置を含む演算装置の構成例を示す模式図である。演算装置100は、積和演算を含む所定の演算処理を実行するアナログ方式の演算装置である。演算装置100は、数学モデルに従った演算処理を実行することが可能である。
[積和演算装置の構成]
図1は、本技術の第1の実施形態に係る積和演算装置を含む演算装置の構成例を示す模式図である。演算装置100は、積和演算を含む所定の演算処理を実行するアナログ方式の演算装置である。演算装置100は、数学モデルに従った演算処理を実行することが可能である。
演算装置100は、複数の信号線1と、複数の入力部2と、複数の積和演算装置3とを有する。各信号線1は、所定の方式の電気信号を伝送する線である。電気信号としては、例えばパルスのタイミングや幅等のアナログ量を用いて信号値を表すアナログ信号が用いられる。図1には電気信号が伝送される方向が、矢印を用いて模式的に図示されている。
例えば、1つの積和演算装置3には、複数の信号線1が接続される。積和演算装置3に電気信号を伝送する信号線1は、その信号線1が接続された積和演算装置3にとって、電気信号が入力される入力信号線となる。また、積和演算装置3から出力される電気信号を伝送する信号線1は、電気信号を出力する積和演算装置3にとって、電気信号が出力される出力信号線となる。本実施形態では、入力信号線は、入力線に相当する。
複数の入力部2は、入力データ4に応じた複数の電気信号をそれぞれ生成する。入力データ4は、例えば演算装置100によって実装されるニューラルネットワーク等を用いた処理の対象となるデータである。従って入力データ4に応じた複数の電気信号の各信号値は、演算装置100に対する入力値であるとも言える。
入力データ4としては、例えば演算装置100の処理対象となる画像データ、音声データ、統計データ等の任意のデータが用いられる。例えば、入力データ4として画像データが用いられる場合等には、画像データの各画素の画素値(RGB値や輝度値等)に応じた信号値となる電気信号が生成される。この他、入力データ4の種類や演算装置100による処理の内容に応じて、入力データ4に応じた電気信号が適宜生成されてよい。
積和演算装置3は、入力される電気信号に基づいて、積和演算を行うアナログ方式の積和演算回路である。積和演算は、複数の入力値の各々に荷重値を乗算して得られる複数の乗算値を足し合わせる演算である。従って積和演算は、各乗算値の和(以下積和結果と記載する)を算出する処理であるとも言える。
図1に示すように、1つの積和演算装置3には、複数の入力信号線が接続され、複数の電気信号が与えられる。本実施形態では、1つの積和演算装置3に入力される電気信号の総数をNとする。なお、各積和演算装置3に入力される電気信号の個数Nは、例えば演算処理のモデルや精度等に応じて回路ごとに適宜設定される。
積和演算装置3では、例えばi番目の入力信号線から入力される電気信号により表される信号値(入力値)xiと、信号値xiに対応する荷重値wiとの乗算値であるwi・xiが算出される。ここでiはN以下の自然数(i=1、2、・・・、N)である。乗算値の演算は、各電気信号(入力信号線)ごとに実行され、N個の乗算値が算出される。このN個の乗算値をそれぞれ足し合わせた値が積和結果(N個の乗算値の和)として算出される。従って、1つの積和演算装置3で算出される積和結果は、以下の式で表される。
荷重値wiは、例えば-α≦wi≦+αの範囲に設定される。ここでαは、任意の実数値である。従って荷重値wiには、正の荷重値wiや負の荷重値wi、あるいはゼロの荷重値wi等が含まれる。
また例えば、荷重値wiが設定される範囲が規格化されてもよい。この場合、荷重値wiは、-1≦wi≦1の範囲に設定される。これにより、例えば積和結果の最大値や最小値等を調整することが可能となり、所望の精度で積和演算を実行することが可能となる。
ニューラルネットワーク等では、荷重値wiを+α及び-αのどちらかに設定するバイナリコネクトと呼ばれる手法を用いることが可能である。バイナリコネクトは、例えば深層ニューラルネットワーク(多層ニューラルネットワーク)を用いた画像認識等の分野で用いることで、認識精度等を劣化させることなく、荷重値wiの設定を簡略化することが可能である。
上記したように、バイナリコネクトでは、荷重値wiがバイナリ値(±α)に2値化される。従って例えば、荷重値wiの正負を切り替えることで、所望の荷重値wiを容易に設定することが可能である。また、2値化された荷重値wiを規格化して、荷重値wiを±1に設定してもよい。この他、荷重値wiの設定範囲や値等は限定されず、例えば所望の処理精度が実現されるように適宜設定されてよい。
なお、積和演算の対象となる信号値xiは、例えば入力部2の各々から出力された電気信号により表される値や、各積和演算装置3から出力された積和結果である。従って、各入力部2及び積和演算装置3は、信号値xiを出力する信号源として機能するとも言える。
図1に示す例では、1つの信号源(入力部2、積和演算装置3)から、単一の電気信号(単一の信号値xi)が出力される。従って、1つの信号源の出力側に接続された複数の信号線1には、それぞれ同じ電気信号が入力される。また、1つの信号源と、その信号源から出力された電気信号が入力される積和演算装置3とが、単一の入力信号線で接続される。
従って例えば、積和演算装置3にM個の信号源が接続される場合には、当該積和演算装置3には、M個の入力信号線が接続されることになる。そして、積和演算装置3に入力される電気信号の総数は、Mとなる。なお、図1に示す演算装置100では、N=Mとなっている。なお、1つの信号源から、正負に対応した1対の電気信号(1対の信号値xi
+、xi
-)が出力される構成もあり得る。
図1に示すように、演算装置100は、複数の階層のそれぞれに、複数の積和演算装置3が設けられた階層構造を有する。積和演算装置3の層構造を構成することで、例えば多層パーセプトロン型のニューラルネットワーク等が構築される。例えば複数の積和演算装置3を接続してネットワーク回路とすることで、積和演算システムを構築することが可能となる。各階層に設けられる積和演算装置3の数や、階層の数等は、例えば所望の処理が実行可能となるように適宜設計される。以下では、j段目の層に設けられる積和演算装置3の数をNjと記載する場合がある。
例えば1段目の層(最下位層)に設けられた各積和演算装置3には、N個の入力部2により生成されたN個の電気信号がそれぞれ入力される。1段目の各積和演算装置3により、入力データの信号値xiに関する積和結果がそれぞれ算出され、非線形変換処理後に次の階層(2段目)に設けられた積和演算装置3に出力される。
2段目の層(上位層)に設けられた各積和演算装置3には、1段目で算出された各積和結果を表すN1個の電気信号がそれぞれ入力される。従って2段目の各積和演算装置3から見ると、1段目で算出された各積和結果が電気信号の信号値xiとなる。2段目の各積和演算装置3により、1段目から出力された信号値xiに関する積和結果が算出され、非線形変換処理後にさらに上位層の積和演算装置3に出力される。
このように、演算装置100では、下位層の積和演算装置3で算出された積和結果と引き続く非線形変換処理結果に基づいて、上位層の積和演算装置3の積和結果が算出される。このような処理が複数回実行され、最上位層(図1では3段目の層)に含まれる積和演算装置3から処理結果が出力される。これにより、例えば猫が撮影された画像データ(入力データ4)から、被写体が猫であることを判定するといった画像認識等の処理が可能となる。
なお、各積和演算装置3を接続する方法等は限定されず、例えば所望の処理が可能となるように、複数の積和演算装置3が適宜接続されてもよい。例えば、各積和演算装置3が階層構造とは異なる他の構造を構成するように接続される場合であっても、本技術は適用可能である。
上記ニューラルネットワークモデルでは、各積和演算装置3の積和結果に対して、活性化関数を用いて非線形変換を行い、その変換結果を上位層に入力するといった処理が実行される。
演算装置100では、例えば電気信号に対して活性化関数による非線形変換を行う関数変換回路5等が用いられる。関数変換回路5は、例えば下位層と上位層との間に設けられ、入力する電気信号の信号値を適宜変換して、変換結果に応じた電気信号を出力する回路である。関数変換回路5は、例えば信号線1ごとに設けられる。関数変換回路5の数や配置等は、例えば演算装置100に実装される数学モデル等に応じて適宜設定される。
活性化関数としては、例えばReLU関数(ランプ関数)等が用いられる。ReLU関数は、例えば信号値xiが0以上である場合には、信号値xiをそのまま出力し、それ以外の場合には0を出力する。
図2は、積和演算装置3に入力される電気信号の一例を示す模式図である。図2には、1つの積和演算装置3に入力される複数の電気信号の波形を表すグラフが模式的に図示されている。グラフの横軸は時間軸であり、縦軸は電気信号の電圧である。なお各グラフの時間軸は共通である。
本実施形態では、パルス幅変調(PWM:Pulse Width Modulation)方式の電気信号が用いられる。PWM方式は、例えばパルス波形のパルス幅τiを用いて信号値xiを表す方式である。すなわち、PWM方式では、電気信号のパルス幅τiは、信号値xiに応じた長さとなる。典型的には、パルス幅τiが長いほど、値の大きい信号値xiを表す。
また電気信号は、所定の入力期間Tの間に、積和演算装置3に入力される。より詳しくは、電気信号のパルス波形が、入力期間Tに収まるように、各電気信号が積和演算装置3に入力される。従って、電気信号のパルス幅の最大値は、入力期間Tと同様となる。なお、入力期間Tに収まる範囲であれば、各パルス波形(電気信号)が入力されるタイミング等は限定されない。
PWM方式では、例えばパルス幅τiと入力期間Tとのデューティ比Ri(=τi/T)を用いて、信号値xiを規格化することが可能である。すなわち、規格化された信号値xiは、信号値xi=Riと表される。なお信号値xiとパルス幅τiとを対応付ける方法等は限定されず、例えば所望の精度で演算処理等が可能となるように、信号値xiを表すパルス幅τiが適宜設定されてよい。以下では、各電気信号により表される信号値xiが0以上1以下の変数であるとして説明を行う。
本実施形態に係る積和演算装置3をPWM方式の積和演算装置3と言うことも可能である。本実施形態では、PWM方式の積和演算装置3を用いた時間軸アナログ積和演算が実行可能である。
図3は、図1に示す演算装置100を実現するための積和演算装置3の配置例を示す模式図である。図3では、1つの階層に設けられる複数の積和演算装置3が模式的に図示されている。
積和演算装置3は、1対の出力線7と、複数のシナプス回路8と、ニューロン回路9とを有する。図3に示すように、1つの積和演算装置3は、所定の方向(図中の縦方向)に延在するように構成される。この縦方向に延在する積和演算装置3が、横方向に複数並んで配置されることで、1つの階層が構成される。
1対の出力線7は、積和演算装置3の延在方向に沿って互いに離間して配置される。1対の出力線7は、正電荷出力線7aと、負電荷出力線7bとを有する。正電荷出力線7a及び負電荷出力線7bの各々は、複数のシナプス回路8を経由してニューロン回路9に接続される。
シナプス回路8は、電気信号により表される信号値xiと荷重値wiとの乗算値wi・xiを算出する。具体的には、乗算値に対応する電荷(電流)を正電荷出力線7a及び負電荷出力線7bのどちらか一方に出力する。
後述するように、シナプス回路8には正の荷重値wi
+及び負の荷重値wi
-のどちらか一方が設定される。例えば正の荷重値wi
+との乗算値に対応する正荷重電荷は、正電荷出力線7aに出力される。また例えば負の荷重値wi
-との乗算値に対応する負荷重電荷は、負電荷出力線7bに出力される。
なおシナプス回路8では、乗算値に対応する電荷として、荷重値wiの正負に係らず同符号の電荷(例えば正の電荷)が出力される。すなわち、正荷重電荷及び負荷重電荷は、互いに同符号の電荷となる。
このように、シナプス回路8は、乗算結果に対応する電荷を荷重値wiの符号に応じてそれぞれ別の出力線7a又は7bに出力するように構成される。シナプス回路8の具体的な構成については、後に詳しく説明する。本実施形態において、シナプス回路8は、乗算部に相当する。
本実施形態では、1つのシナプス回路8に対して、単一の入力信号線1aと、1対の出力線7とが接続される。すなわち1つのシナプス回路8には、単一の電気信号が入力され、入力された電気信号に基づいて算出された乗算値に対応する電荷が、いずれか一方の出力線7a又は7bに出力される。このように、シナプス回路8は、単一の入力信号線1aと1対の出力線7(正電荷出力線7a及び負電荷出力線7b)とに接続された1入力2出力の回路となる。
1つの積和演算装置3では、複数のシナプス回路8が、1対の出力線7に沿って配置される。各シナプス回路8は、正電荷出力線7a(負電荷出力線7b)に対してそれぞれ並列に接続される。以下では、最も下流側(ニューロン回路9に接続される側)に配置されるシナプス回路8を1番目のシナプス回路とする。
図3に示すように、複数の入力信号線1aは、複数の積和演算装置3の各々が有する1対の出力線7に対して交差するようにそれぞれ配置される。典型的には、入力信号線1aは各出力線7と直交するように設けられる。すなわち、演算装置100は、入力信号線1aと出力線7とが交差したクロスバー構成を有する。クロスバー構成を用いることで、例えば積和演算装置3等を高密度に集積化することが可能となる。
また演算装置100では、j番目の入力信号線1aに対して、各積和演算装置3に含まれるj番目のシナプス回路8がそれぞれ並列に接続される。従って、同じ入力信号線1aに接続されるシナプス回路8には、互いに同様の電気信号が入力される。これにより、図1に例示するような、下位層に含まれる1つの信号源が、上位層に含まれる複数の積和演算装置3に接続される構成を実装することが可能である。
なお図3に示す例では、各入力信号線1aに電気信号を入力する信号源として、下位層に含まれる積和演算装置3(プレニューロン)が模式的に図示されている。これに限定されず、例えば信号源として、図1に例示するような入力部2が用いられる場合にも、クロスバー構成を用いることが可能である。
このように、演算装置100では、複数の積和演算装置3が、複数の入力信号線1aの各々に並列に接続される。これにより、例えば、各積和演算装置3(各シナプス回路8)に対して並列に電気信号を入力することが可能となり、演算処理の高速化を図ることが可能である。この結果、優れた演算性能を発揮することが可能となる。
ニューロン回路9は、各シナプス回路8で算出された乗算値に基づいて、(数1)式に示す積和結果を算出する。具体的には、1対の出力線7を介して入力された電荷に基づいて、積和結果を表す電気信号を出力する。
図4は、ニューロン回路9の構成例を示す模式図である。図4には、1対の出力線7と、単一の出力信号線1bとに接続された2入力1出力のニューロン回路9が示されている。なお、ニューロン回路9として2入力2出力の回路等が用いられる場合もあり得る。
ニューロン回路9は、蓄積部11と、出力部12とを有する。蓄積部11は、複数のシナプス回路8により1対の出力線7に出力された電荷の和を蓄積する。蓄積部11は、2つのキャパシタ13a及び13bを有する。キャパシタ13aは、正電荷出力線7aとGNDとの間に接続される。またキャパシタ13bは、負電荷出力線7bとGNDとの間に接続される。従って各キャパシタ13a及び13bには、正電荷出力線7a及び負電荷出力線7bから流れ込む電荷がそれぞれ蓄積される。
例えば電気信号の入力期間Tが経過したタイミングでは、キャパシタ13aに蓄積された電荷は、信号値xiと正の荷重値wi
+との乗算値に対応する正荷重電荷の総和となる。また同様に、キャパシタ13bに蓄積された電荷は、信号値xiと負の荷重値wi
-との乗算値に対応する負荷重電荷の総和となる。
例えばキャパシタ13aに正荷重電荷が蓄積されると、GNDを基準とする正電荷出力線7aの電位が上昇する。従って、正電荷出力線7aの電位は、正荷重電荷の総和に応じた値となる。なお、正電荷出力線7aの電位は、キャパシタ13aにより保持される電圧に相当する。
同様に、キャパシタ13bに負荷重電荷が蓄積されると、GNDを基準とする負電荷出力線7bの電位が上昇する。従って、負電荷出力線7bの電位は、負荷重電荷の総和に応じた値となる。なお、負電荷出力線7bの電位は、キャパシタ13bにより保持される電圧に相当する。
出力部12は、蓄積部11に蓄積された電荷に基づいて、乗算値wi・xiの和を表す積和信号を出力する。ここで積和信号とは、例えば正負合わせたすべての荷重値wiと信号値xiとの乗算値の和である全体の積和結果を表す信号である。例えば、上記の(数1)式で表される積和結果は、以下のように書き表すことが可能である。
ここで、N+及びN-は、それぞれ正の荷重値wi
+の総数及び負の荷重値wi
-の総数である。このように、全体の積和結果は、正の荷重値wi
+との乗算値wi+・xiの総和である正荷重電荷の積和結果と、負の荷重値wi
-との乗算値|wi
-|・xiの総和である負荷重電荷の積和結果との差分として算出可能である。
出力部12は、積和信号として、例えば全体の積和結果((数2)式の左辺)を表す1つの信号を生成する。なお、これに限定されず、例えば積和信号として、正荷重電荷の積和結果を表す正の積和信号と、負荷重電荷の積和結果を表す負の積和信号との2つの信号を生成するように、出力部12が構成されてもよい。
例えば出力部12は、正電荷出力線7aの電位(キャパシタ13aに保持された電圧)に基づいて、正荷重電荷の積和結果を算出する。また、出力部12は、負電荷出力線7bの電位(キャパシタ13bに保持された電圧)に基づいて、負荷重電荷の積和結果を算出する。例えば、図4に示す例では、これら正負の積和結果の差分から全体の積和結果が算出されて、1つの積和信号として出力される。また例えば、正負の積和結果から、正負の積和信号がそれぞれ出力されてもよい。
蓄積部11に蓄積された電荷に基づいて、積和信号を生成する方法は限定されない。一例として、1つのキャパシタ13に蓄積された電荷を検出する方法について説明する。PWM方式の電気信号が用いられる場合、乗算値に対応する電荷は、入力期間Tの間にキャパシタ13に蓄積される。すなわち、入力期間Tの前後では、乗算値に対応する電荷の蓄積は生じない。
例えば入力期間Tの終了後に、所定の充電速度でキャパシタ13を充電する。この時、比較器(コンパレータ等)を用いて、キャパシタ13が接続された出力線の電位が所定の閾値電位に到達するタイミングを検出する。例えば充電開始時の電荷が多いほど、閾値電位に達するタイミングが早くなる。従ってタイミングに基づいて、入力期間Tの間に蓄積された電荷(積和結果)を表すことが可能となる。なお充電速度は、例えば単位時間当たりの充電量で表現することが可能であり、充電率と言うことも可能である。
なお、この閾値判定は、充電によりキャパシタ13に保持される電圧を増加させ、閾値電圧に到達するタイミングを検出することに相当する。
このように、入力期間Tの終了後に蓄積部11(キャパシタ13a及び13b)を充電することで、積和結果を表すタイミングが検出される。この検出結果に基づいて、正荷重電荷の積和信号や負荷重電荷の積和信号、あるいは全体の積和信号が適宜生成される。この他にも、例えば入力期間Tの後に、キャパシタ13の電位を直接読み出して、各積和結果を算出することも可能である。
図5は、本実施形態に係る積和演算装置の一例を示す模式的な回路図である。積和演算装置3は、複数の入力信号線1aに対して、直交する方向に延在して設けられる。すなわち図5に示す例では、クロスバー構成が採用されている。
積和演算装置3は、1対の出力線(正電荷出力線7a、負電荷出力線7b)と、複数のシナプス回路(複数の乗算部)8と、ニューロン回路9とを有する。図5に示す例では、ニューロン回路9は、蓄積部11、充電部15、出力部12、及びスイッチ16a~16dを含んでいる。
複数の入力信号線1aには、入力信号in1~in6として、信号値xiに応じたパルス幅を有するパルス信号(PWM信号)が入力される。図5に示す例では、6本の入力信号線1aが図示されているが、入力信号線1aの数は限定されない。入力信号in1~in6は、所定の長さを有する入力期間T内に入力される(図6参照)。
正電荷出力線7aは、信号値xiに正の荷重値wi
+を乗算した乗算値wi+・xiに対応する正荷重電荷を出力する。負電荷出力線7bは、信号値xiに負の荷重値wi
-を乗算した乗算値|wi
-|・xiに対応する負荷重電荷を出力する。本実施形態において、1対の出力線7は、1以上の出力線に相当する。
複数のシナプス回路8は、複数の入力信号線1aに対応してそれぞれ設けられる。本実施形態では、1つの入力信号線1aに対して、1つのシナプス回路8が設けられる。複数のシナプス回路8の各々は、複数の入力信号線1aのうちの対応する入力信号線1aと、正電荷出力線7a及び負電荷出力線7bのいずれか1つとの間に接続される抵抗器17を含む。この抵抗器17は、非線形特性を有してもよく、電流の逆流防止機能を有してもよい。そして抵抗器17が接続された出力線7a(又は7b)に、乗算値wi+・xi(又は|wi
-|・xi)に対応する電荷を出力する。
例えば、各シナプス回路8において、信号値xiに対して正の荷重値wi
+を乗算したい場合には、入力信号線1aと正電荷出力線7aとの間に抵抗器17を接続し、正電荷出力線7aに、正荷重電荷を出力させる。図5に示す例では、入力信号in1 、in3 、in6 が入力されるシナプス回路8が、正荷重電荷を生成する正荷重乗算部として構成されたシナプス回路8aとなる。シナプス回路8aは、正荷重が設定された乗算部ともいえる。
各シナプス回路8において、信号値xiに対して負の荷重値wi
-を乗算したい場合には、入力信号線1aと負電荷出力線7bとの間に抵抗器17を接続し、負電荷出力線7bに、負荷重電荷を出力させる。図5に示す例では、入力信号in2 、in4 、in5 が入力されるシナプス回路8が、負荷重電荷を生成する負荷重乗算部として構成されたシナプス回路8bとなる。シナプス回路8bは、負荷重が設定された乗算部ともいえる。
なお抵抗器17は、設定したい荷重値wiに応じた抵抗値を有するものが用いられる。すなわち抵抗器17は、積和演算を積和演算装置3で実行する演算装置100において、荷重値wiを規定する素子として機能する。
抵抗器17としては、例えば、固定抵抗素子、可変抵抗素子、又はサブスレッショルド領域で動作するMOSトランジスタ等が用いられる。例えば、抵抗器17として、サブスレッショルド領域で動作するMOSトランジスタを用いることで、低消費電力化を実現することが可能となる。もちろん、他の任意の抵抗器が用いられてもよい。
蓄積部11は、複数のシナプス回路8の各々により生成された、乗算値wi・xiに対応する電荷の和を蓄積する。本実施形態では、蓄積部11として、2つのキャパシタ13a及び13bが設けられる。
キャパシタ13aは、スイッチ16bを介して正電荷出力線7aに接続され、シナプス回路8aにより生成された正荷重電荷の和を蓄積する。本実施形態において、キャパシタ13aは、正荷重蓄積部として機能する。
キャパシタ13bは、スイッチ16cを介して負電荷出力線7bに接続され、シナプス回路8bにより生成された負荷重電荷の和を蓄積する。本実施形態において、キャパシタ13bは、負荷重蓄積部として機能する。
充電部15は、乗算値wi・xiに対応する電荷の和が蓄積された蓄積部11を、所定の充電速度により充電する。本実施形態では、充電部15として、2つの電流源18a及び18bが設けられる。なお充電は、入力期間Tの終了後に実行される。
電流源18aは、スイッチ16aを介して、キャパシタ13aの正電荷出力線7aに接続されている側(GNDの反対側)に接続される。電流源18bは、スイッチ16dを介して、キャパシタ13bの負電荷出力線7bに接続されている側(GNDの反対側)に接続される。
本実施形態では、電流源18a及び18bにより、キャパシタ13a及び13bが同じ充電速度で充電される。これにより正電荷出力線7aの電位(キャパシタ13aに保持された電圧)V+、及び負電荷出力線7bの電位(キャパシタ13bに保持された電圧)V-が、それぞれ増加される。電流源18の具体的な構成は限定されず、任意に設計されてよい。
出力部12は、充電部15による充電の開始後、蓄積部11により保持される電圧に対して、所定の閾値により閾値判定を実行することで、乗算値wi・xiの和を表す積和信号を出力する。本実施形態では、出力部12として、2つのコンパレータ20a及びコンパレータ20bと、信号生成部21とが設けられる。
コンパレータ20aは、キャパシタ13aにより保持される電圧が、所定の閾値θ1よりも大きくなるタイミングを検出する。なおキャパシタ13aにより保持される電圧の大きさは、キャパシタ13aに蓄積された正荷重電荷の総量及び充電量(充電速度×時間)により定まる。
コンパレータ20bは、キャパシタ13bにより保持される電圧が、所定の閾値θ2よりも大きくなるタイミングを検出する。なおキャパシタ13bにより保持される電圧の大きさは、キャパシタ13bに蓄積された負荷重電荷の総量及び充電量(充電速度×時間)により定まる。
なお本実施形態では、キャパシタ13a及び13bの各々に対して、同じ閾値より閾値判定を実行することで、積和信号が出力される。すなわち閾値θ1=閾値θ2に設定される。
信号生成部21は、コンパレータ20aにより検出されたタイミング、及びコンパレータ20bにより検出されたタイミングに基づいて、乗算値wi・xiの和を表す積和信号を出力する。すなわち信号生成部21は、キャパシタ13aにより保持される電圧が閾値θ1に達したタイミングと、キャパシタ13bにより保持される電圧が閾値θ2(=θ1)に達したタイミングとに基づいて、積和信号を出力する。
本実施形態では、積和信号として、パルス幅が変調されたパルス信号である、PMW信号が出力される。信号生成部21の具体的な回路構成等は限定されず、任意に設計されてよい。
図6及び図7は、図5に示す積和演算装置3による積和信号の算出例を説明するための図である。本実施形態では、キャパシタ13aに蓄積された正荷重電荷に基づいた正荷重電荷の積和結果と、キャパシタ13bに蓄積された負荷重電荷に基づいた負荷重電荷の積和結果とに基づいて、正負を含めた全体の積和結果を表す信号が算出される。
正荷重電荷の積和結果、及び負荷重電荷の積和結果の算出は、互いに等しい処理となる。まず図6を参照しながら、正負の区別なく、キャパシタ13に蓄積された電荷に基づいた積和結果の算出方法(積和演算方法)を説明する。
図6の中で記載されているパラメータを説明する。「t」は時間である。「T」は入力期間及び出力期間の各々を表す。「tn 」は入力期間Tの終了タイミングであり、「tm 」は出力期間Tの終了タイミングである。
本実施形態では、入力期間Tの長さと、出力期間Tの長さとが、互いに等しく設定される。また入力期間Tの終了タイミングtnから出力期間Tが開始される。従って、入力期間Tの終了タイミングtnは、出力期間Tの開始タイミングに相当する。
「α」は、充電部15(電流源18)による充電に応じた電位上昇の傾きであり、充電速度に相当する。「θ」は、出力部12(コンパレータ20)による閾値判定に用いられる閾値である。
「Si(t)」は、i番目の入力信号線1aに入力される入力信号(PWM信号)である。「τi 」は、入力信号Si(t)のパルス幅である。「Pi(t)」は、図5に示す各シナプス回路8における、内部状態(電位)の変化量である。「wi 」は、荷重値であり、図5に示す抵抗器17の抵抗値により規定される。
「Vn(t)」は、「Pi(t)」の総和であり、キャパシタ13に蓄積される電荷の総量に相当する。「Sn(t)」は、積和結果を表す積和信号(PWM信号)である。「τn」は、出力される積和信号のパルス幅である。具体的には、「τn」は、出力期間T内における、キャパシタ13により保持される電圧が閾値θより大きくなるタイミングから、出力期間Tの終了タイミングtmまでの長さに応じた値となる。
本実施例では、スイッチ16b及び16cを備えており、特に、このスイッチで出力線を切り離すことで、低消費電力化と充電精度の向上が可能となっている。
ここで以下の式に示すように、入力値(信号値)xiは、入力信号Si(t)のパルス幅τiと入力期間Tとのデューティ比Ri(=τi/T)で与えられる。
図5に示すシナプス回路8により、信号値xiに荷重値wiを乗算した乗算値に対応する電荷が生成される。具体的には、抵抗器17の抵抗により、一定の傾きwiで内部状態(電位)が増加される。
そして、入力期間Tの終了タイミングtnにおける各シナプス回路8の内部電位の変化量Pi(tn )は、以下の式で与えられる。なお、入力信号Si(t)のハイレベルの値は1とする。
キャパシタ13に蓄積される電荷の総量Vn(tn )は、Pi(tn )の総和となるので、以下の式で与えられる。
入力期間Tの終了タイミングtnで、図5に示すスイッチ16a及び16dがONに切替えられ、またスイッチ16b及び16cがOFFに切替えられる。そして、入力期間Tの終了タイミングtnで、充電部15(電流源18)による充電が開始される。従って本実施形態では、充電部15による充電の開始タイミングで、出力期間Tが開始される。すなわち入力期間Tの終了タイミングtnで、充電及び出力期間が同時に開始される。
電流源18により、入力期間Tの終了タイミングtnから、各シナプス回路8の内部電位を、傾き(充電速度)αで増加させる。そして出力期間T内における、キャパシタ13により保持される電圧が閾値θより大きくなるタイミングから、出力期間Tの終了タイミングtmまでの長さに応じたパルス幅τnを有する積和信号(PWM信号)が生成される。
積和信号のパルス幅τnと出力期間Tとのデューティ比をRn(=τn/T)とすると、Rnは、以下の式で与えられる。なお、閾値θは、電荷の総量Vn(tn )以上であるとする。
従って、信号値xiに荷重値wiを乗算した乗算値wi・xiを足し合わせた積和結果は、以下の式で与えられる。
すなわち積和結果は、αRn=α・(τn/T)に、充電速度α、閾値θ、及び出力期間Tにより定められる定数を減算した値となる。このように、所定の長さ出力期間Tにおける、蓄積部11により保持された電圧が閾値θより大きくなるタイミングに基づいて、積和結果を表す積和信号を出力することが可能となる。
図7は、正荷重電荷及び負荷重電荷の両方の積和結果をふまえた全体の積和結果を示す積和信号の算出例を示す模式図である。図7では、正荷重電荷の積和結果を表す積和信号を「Sn
+(t)」とし、そのパルス幅を「τn
+」とする。また負荷重電荷の積和結果を表す積和信号を「Sn
-(t)」とし、そのパルス幅を「τn
-」とする。さらに、全体の積和結果を表す積和信号を「Sn(t)」とし、そのパルス幅を「τn」とする。
入力期間Tの終了タイミングtnにおける、キャパシタ13aに蓄積される正荷重電荷の総量Vn
+(tn )は、以下の式で与えられる。なおwi
+は正の荷重値である。
入力期間Tの終了タイミングtnにおける、キャパシタ13bに蓄積される負荷重電荷の総量Vn
-(tn )は、以下の式で与えられる。なおwi
-は負の荷重値である。
正の積和信号Sn
+(t)のデューティ比をRn
+(=τn
+/T)とすると、信号値xiに正の荷重値wi
+を乗算した乗算値wi+・xiを足し合わせた正の積和結果は、以下の式で与えられる。なお、閾値θは、正荷重電荷の総量Vn
+(tn )以上であるとする。
負の積和信号Sn
-(t)のデューティ比をRn
-(=τn
-/T)とすると、入力値xiに負の荷重値wi
-を乗算した乗算値|wi
-|・xiを足し合わせた負の積和結果は、以下の式で与えられる。なお、充電速度α及び閾値θは、(数10)式で用いらる値と等しい。また閾値θは、負荷重電荷の総量Vn
-(tn )以上であるとする。
従って、上記した(数2)式を用いると、全体の積和結果は以下の式で与えられる。
すなわち全体の積和結果は、充電速度α、積和信号Sn
+(t)のパルス幅τn
+、積和信号Sn
-(t)のパルス幅τn
-、及び出力期間Tにより求められる。すなわち、コンパレータ20aにより検出されるタイミング、及びコンパレータ20bにより検出されるタイミングに基づいて、容易に積和結果を算出することが可能となる。
そして図7に示すように、全体の積和結果を表す積和信号として、パルス幅「τn」を有する積和信号「Sn(t)」を容易に出力することが可能となる。
ここで発明者は、積和結果を表す積和信号Sn(t)を生成するための充電速度α及び閾値θについて検討した。そして、充電速度α及び閾値θの設定について、新たな技術を考案した。以下、詳しく説明する。
図8~図10は、充電速度α及び閾値θの設定について説明するための模式図である。上記したように、正荷重電荷及び負荷重電荷のいずれにおいても、乗算値wi・xiに対応する電荷の和が蓄積されたキャパシタ13が充電することで、電荷の総量が出力期間Tにおける閾値θより大きくなるタイミングに変換される。従って、出力期間T内において、キャパシタ13に蓄積された電荷の総量が、高い分解能にて、タイミングにより検出されることが望ましい。
ここで発明者は、キャパシタ13の蓄積状況に着目して、充電速度α及び閾値θを設定することを、新たに考案した。すなわち、積和結果を表す積和信号Sn(t)を生成するための充電速度α及び閾値θとして、キャパシタ13の蓄積状況に関連付けられた充電速度α及び閾値θを用いることを、新たに考案した。
なお本開示において、キャパシタ13の蓄積状況とは、そのキャパシタ13にどの程度の電荷が蓄積されるかといった情報を含み、例えばキャパシタ13に蓄積される電荷の推定結果やシミュレーション結果を含む。例えばこれらの推定結果やシミュレーション結果に関連付けられた充電速度α及び閾値θを用いることで、積和演算の精度を向上させることが可能となる。
例えば、積和演算装置3を用いた演算装置100を用いて、ニューラルネットワークを構築する際には、学習データを用いた学習処理が実行される。そして、各シナプス回路8に設定される荷重が設定される。学習処理の方法は限定されず、例えばコンピュータシミュレーションを利用した方法等、任意の方法が用いられてもよい。
例えば、学習処理により各荷重が設定された後(例えば所定の抵抗器が所定の位置に配置された後)に、キャパシタ13の蓄積状況として、キャパシタ13に蓄積される荷重の総量が推定される。
その推定結果に基づいて、蓄積される荷重の総量に対して、積和信号として算出する対象となる有効範囲を決定する。荷重の総量の推定方法は限定されず、例えばコンピュータシミュレーションを利用した方法、確率分布を用いた方法、積和演算装置3へサンプルデータを複数入力した結果に基づいた推定方法等、任意の方法が用いられてよい。なお電荷の総量を推定した推定結果を、電荷の総量をシミュレーションしたシミュレーション結果と言うことも可能である。
例えば、所定のキャパシタ13に蓄積される電荷の総量の推定結果として、図8Aに示すような分布が得られたとする。この場合に、例えば分布の最小値minから最大値maxまでの範囲を、積和信号として算出する対象となる有効範囲Eとして設定する。
以下、有効範囲Eの最小値min及び最大値maxを、有効最小値min、及び有効最大値maxと記載する。有効最小値min、及び有効最大値maxは、蓄積部11により蓄積される乗算値wi・xiに対応する電荷の推定結果から求められるパラメータとなる。
例えば、充電速度α及び閾値θは、有効最大値maxから有効最小値minまでの有効範囲Eに基づいて設定される。具体的には、充電速度α及び閾値θは、有効範囲Eが、出力期間Tに対して、積和信号の出力可能な範囲となるように設定される。すなわち有効範囲Eに含まれる電荷の総量が、充電により、出力期間T内にて閾値θより大きくなるように、充電速度α及び閾値θが設定される。
例えば、図9A及びBに示すように、蓄積される電荷の総量が有効最大値maxである場合に、積和信号を算出するための算出タイミング(保持電圧が閾値θより大きくなるタイミング)が、出力期間Tの開始タイミングtnの直後のタイミングとなる。また蓄積される電荷の総量が有効最小値minである場合に、積和信号を算出するための算出タイミングが、出力期間Tの終了タイミングの直前のタイミングとなる。このような条件を満たすように、充電速度α及び閾値θが設定される。
例えば、有効最大値maxよりも若干大きい値を閾値θとして設定する。そして、有効最大値maxに対応する算出タイミングが、出力期間Tの開始タイミングtnからパルス幅の最小単位分だけ後のタイミングとなるように、また、有効最小値minに対応する算出タイミングが、出力期間Tの終了タイミングからパルス幅の最小単位分だけ前のタイミングとなるように、充電速度αが設定される。
この場合、図9A及びBに示すように、有効最大値maxに対応する積和信号として、出力期間Tと比べてパルス幅の最小単位分だけパルス幅が小さいPWM信号が算出される。また有効最小値minに対応する積和信号として、パルス幅の最小単位分だけのパルス幅を有するPWM信号が算出される。なお算出タイミングを、出力パルスタイミングと言うことも可能である。
例えば、このように、有効最小値min、有効最大値max、及び出力期間Tに基づいて、充電速度α及び閾値θを設定する。これにより出力期間Tのほぼ全域を用いて、有効範囲Eに含まれる電荷の総量を、非常に高い分解能にて、タイミングにより検出することが可能となる。すなわち本実施形態では、充電速度α及び閾値θを適宜設定することで、算出したい有効範囲Eを、出力期間Tの全域に拡張することが可能となる。このことは、積和演算の出力結果の分布を、有効に出力期間Tに対応させることに等しい。これにより、積和結果を非常に高い精度で算出することが可能となる。
なお演算結果の出力結果の分布を、どのように出力期間Tに対応させるかは、限定されず任意に設定されてよい。
また、推定結果に基づいた有効範囲Eの設定方法も限定されない。例えば図8Bに示すように、推定された電荷の総量の分布の最小値よりも大きな値が有効最小値minとして設定されてもよい。また推定された電荷の総量の分布の最大値よりも小さい値が有効最大値maxとして設定されてもよい。
この場合、例えば電荷の総量が有効最小値minよりも小さい場合には、積和結果として0が出力される。また電荷の総量が有効最大値maxよりも大きい場合には、積和結果として、有効最大値maxに対応する積和結果が出力される。もちろんこれに限定される訳ではない。
有効範囲Eは、例えばニューラルネットワークを用いた認識処理等において、所望の処理精度が実現されるように、任意に設定されてよい。例えば推定結果として、正規分布(ガウス分布)等の確率分布を算出し、その1σ、2σ、3σ等の範囲を基準として、有効範囲Eを設定するといったことも可能である。
図5に例示した積和演算装置3では、電流源18a及び18bにより、キャパシタ13a及び13bが同じ充電速度で充電される。またキャパシタ13a及び13bの各々に対して、同じ閾値より閾値判定が実行される。すなわち同じ充電速度α及び閾値θを用いて、正荷重電荷の積和結果と負荷重電荷の積和結果がそれぞれ算出される。
例えば図10に示すように、キャパシタ13aに蓄積される正荷重電荷の総量の推定結果に基づいて、正荷重電荷についての有効範囲E+(有効最小値min+ ~有効最大値max+)が設定される。またキャパシタ13bに蓄積される負荷重電荷の総量の推定結果に基づいて、負荷重電荷についての有効範囲E-(有効最小値min-~有効最大値max-)が設定される。
有効範囲E+ 及び有効範囲E-に含まれる電荷の総量が、高い分解能で検出されるように、有効範囲Eが設定される。具体例としては、有効範囲E+の有効最小値min+と、有効範囲E-の有効最小値min-とを比較して、小さい方の値を有効最小値minとする。また有効範囲E+の有効最大値max+と、有効範囲E-の有効最大値max-とを比較して、大きい方の値を有効最大値maxとする。
これら有効最小値min及び有効最大値maxで規定される有効範囲Eに基づいて、充電速度α及び閾値θを設定する。これにより、全体の積和結果を非常に高い精度で算出することが可能となる。もちろん、この方法に限定される訳ではない。
また、図1に例示するような構成において、典型的には、同じ階層に含まれる複数の積和演算装置3について、同じ充電速度α及び閾値θが共通して用いられる。これにより、各積和演算装置3から出力される積和信号(PWM信号)により表される出力が、同じ基準に則った値として、次の層に出力される。また、各積和演算装置3に対する設計を簡素化することも可能となる。
共通の充電速度α及び閾値θの設定としては、例えば、各積和演算装置において、蓄積部11に蓄積される電荷の総量に対して、有効範囲Eを設定する。そして、全ての有効範囲Eを包含するように、共通の有効範囲が設定される。この全体の有効範囲に基づいて、共有の充電速度α及び閾値θを設定することが可能となる。もちろん、この方法に限定されず、任意の方法が用いられてよい。
なお、共通の充電速度α及び閾値θが用いられる場合に限定されず、各積和演算装置3にて、最適な充電速度α及び閾値θがそれぞれ設定されてもよい。すなわち各積和演算装置3にて、有効範囲Eがそれぞれされ、充電速度α及び閾値θが最適化されてもよい。この場合でも、例えば学習処理を適性に実行することで、例えば所望の処理精度を実現することが可能である。
積和演算装置3に対する充電速度α及び閾値θの設定は、例え積和演算装置3を構成する際に、予め最適化された充電速度α及び閾値θが、固定値として設定される。あるいは、充電速度α及び閾値θを動的に変更可能なように、積和演算装置3が構成されてもよい。そして、認識処理等を実行している間に、充電速度α及び閾値θの最適化が動的に実行されてもよい。充電速度α及び閾値θを動的に変更可能な具体的な回路構成は限定されず、任意に設計されてよい。
以上、本実施形態に係る演算装置100及び積和演算装置3では、蓄積部11を充電する充電速度α、及び乗算値wi・xiの和を表す積和信号の出力に用いられる閾値θが、蓄積部11の蓄積状況に関連付けられてそれぞれ設定される。これにより、積和演算の結果を表現する分解能を向上させることが可能となり、演算の精度を向上させることが可能となる。
積和演算出力結果の最大値と最小値を、パルス出力期間T内のパルスタイミングに変換する際に、予め積和演算結果の分布を調べておく。そして、その最大・最小値に合わせて、閾値θの値と電流源((単独)電荷出力手段)の電流値を設定する。これによりパルス出力期間の分解能を最大限利用することが可能となる。すなわち、積和演算結果に対応する電圧を、効率的に、パルスタイミングに変換することが可能となる。
例えば、信号値xiに応じたタイミングでパルスが立ち上がる電子信号(スパイクタイミング信号)をキャパシタに蓄積させ、閾値電圧より大きくなるタイミングに基づいて積和信号を算出する方法が考えられる。この方法では、入力の積和演算過程と、それを出力タイミングに表す電荷からタイミングへの変換過程とが連動してしまい、制御に制約が生じてしまう。
本実施形態では、PWM方式の積和演算装置3にて、入力期間Tと出力期間Tとが分けて設定される。そして、入力期間Tの終了後にキャパシタの充電を行い、閾値判定を行うことで積和信号が算出される。従って、入力の積和演算過程と、電荷からタイミングへの変換過程とを分離させることが可能であるので、上記のような問題を防止することが可能となる。
また、正負それぞれ積和演算からタイミング出力までを行い、その後タイミング同士の差をとるようにした。これにより、同じ回路構成で正負それぞれの積和演算を行うことが可能となり、回路バラツキの影響を十分に抑制することが可能となった。なお、正負それぞれの積和結果がほぼ等しいときは、その差が非常に小さくなり,正負全体の積和結果を表現する分解能が低下してしまう可能性がある。しかしながら、本実施形態では、充電速度α及び閾値θを最適化することで、パルス出力期間の分解能を最大限利用することが可能であるので、このような問題も十分に防止することが可能となる。
<第2の実施形態>
本技術の第2の実施形態に係る積和演算装置について説明する。これ以降の説明では、上記の実施形態で説明した積和演算装置3における構成及び作用と同様な部分については、その説明を省略又は簡略化する。
本技術の第2の実施形態に係る積和演算装置について説明する。これ以降の説明では、上記の実施形態で説明した積和演算装置3における構成及び作用と同様な部分については、その説明を省略又は簡略化する。
図11、図12
図11は、本実施形態に係る積和演算装置の一例を示す模式的な回路図である。図12は、図11に示す積和演算装置203による積和信号の算出例を説明するための図である。
図11は、本実施形態に係る積和演算装置の一例を示す模式的な回路図である。図12は、図11に示す積和演算装置203による積和信号の算出例を説明するための図である。
本実施形態に積和演算装置203では、1つのキャパシタ213に正負の結果がまとめて入力され、正荷重電荷の総量と、負荷重電荷の総量との差に対応する電荷(V+-V-)が保持される。
図11に示す例では、正荷重乗算部として構成されたシナプス回路208aにより、正荷重電荷が生成され、正電荷出力線207aを介して、蓄積部211に含まれるキャパシタ213に蓄積される。一方、負荷重乗算部として構成されたシナプス回路208bにより生成される負荷重電荷は、負電荷出力線207bを介して、キャパシタ213から放電される。
これにより、キャパシタ213に、正荷重電荷の総量と、負荷重電荷の総量との差に対応する電荷(V+-V-)が蓄積される。すなわち本実施形態では、蓄積部211により、正荷重電荷が蓄積され、負荷重電荷が放電される。
図11には図示を省略しているが、シナプス回路208bにより生成される負荷重電荷を、負電荷出力線207bを介して、キャパシタ213から放電するために、放電回路等が構成される。当該放電回路等に、入力信号(PMW信号)in2 、in4 、in5が入力されることで、負荷重電荷が放電される。
負荷重電荷を放電させるための放電回路等は、蓄積部211に含まれる要素となる。また、放電回路等に入力信号(PMW信号)in2 、in4 、in5を入力するための入力信号線が、複数の入力線に含まれる信号線となる。放電回路等の具体的な構成は限定されず、任意設計されてよい。
図12に示す入力期間Tの開始タイミングでは、スイッチ216aがOFFとなり、スイッチ216bがONとなる。そして、入力期間T内に、入力信号が入力される。なお図12では、説明を簡素化するために、入力信号in1 、in2 、in3のみが図示されている。以下、入力信号in1 、in2 、in3が入力された場合を例に説明を行う。
キャパシタ213には、入力信号in1 、in3に応じた正荷重電荷が蓄積され、入力信号in2に応じた負荷重電荷が放電される。なお、本実施形態では、キャパシタ213は、キャパシタ電圧が所定のプリセット値(初期値)となるまで、予め充電されている。これにより、電荷の蓄積及び放電に対応することが可能であり、電荷(V+-V-)を保持することが可能となる。プリセット値は、任意に設定されてよい。
入力期間Tの終了タイミングtnでは、スイッチ216aがONに切替えられ、またスイッチ216bがOFFに切替えられる。そして、入力期間Tの終了タイミングtnで、充電部215(電流源218)による充電が開始される。
また出力部212のコンパレータ220により、キャパシタ213により保持される電圧が閾値θより大きくなるタイミングが検出される。検出されたタイミングに基づいて、信号生成部221により積和信号(PWM信号)が算出される。
本実施形態では、第1の実施形態と同様に、キャパシタ213の蓄積状況に関連付けられた充電速度α及び閾値θが設定されている。すなわち、キャパシタ213の蓄積状況として、キャパシタ213に蓄積される荷重の総量が推定される。その推定結果に基づいて、蓄積される荷重の総量に対して有効範囲E(有効最小値min~有効最大値max)が設定される。
第1の実施形態にて説明したように、設定された有効範囲Eに基づいて、充電速度α及び閾値θが設定される。これにより、電荷(V+-V-)に応じた積和信号を、非常に高い精度で算出することが可能となる。このように、蓄積部211に正負の荷重電荷を入力する場合でも、積和結果を得ることが可能である。
<第3の実施形態>
図13は、本技術の第3の実施形態に係る積和演算装置の一例を示す模式的な回路図である。
図13は、本技術の第3の実施形態に係る積和演算装置の一例を示す模式的な回路図である。
本実施形態に係る積和演算装置303では、正荷重電荷が蓄積されるキャパシタ313aと、負荷重電荷が蓄積されるキャパシタ313bとが、逆向きに直列に接続される。これにより、合成キャパシタの端子電圧として、蓄積部311全体で、正荷重電荷の総量と、負荷重電荷の総量との差に対応する電荷(V+-V-)を保持することが可能となる。
入力期間Tの開始タイミングでは、スイッチ316a、316d、及び316eがOFFとなり、スイッチ316b、316c、316f、及び316gがONとなる。そして、入力期間T内に、入力信号が入力される。キャパシタ313aには入力信号に応じた正荷重電荷が蓄積され、キャパシタ313bには入力信号に応じた負荷重電荷が蓄積される。
入力期間Tの終了タイミングtnでは、スイッチ316b、316c、及び316fがOFFに切り替えられる。そしてスイッチ316eがONに切り替えられることで、キャパシタ313aの負側と、キャパシタ313bの正側とが接続される。この結果、2つのキャパシタ313a及び313bにより、電荷(V+-V-)が保持される。
またスイッチ316aがONに切替えられ、充電部315(電流源318)による充電が開始される。出力部312のコンパレータ320により、キャパシタ313a及び313bにより保持される電圧が閾値θより大きくなるタイミングが検出される。検出されたタイミングに基づいて、信号生成部321により積和信号(PWM信号)が算出される。なお、スイッチ316dは、キャパシタ313aをリフレッシュする際に用いられる。
本実施形態でも、直列に接続されたキャパシタ313a及び313bの蓄積状況に関連付けられた充電速度α及び閾値θが設定されている。すなわち、キャパシタ313及び313bの蓄積状況として、キャパシタ313a及び313bに蓄積される荷重の総量が推定される。その推定結果に基づいて、蓄積される荷重の総量に対して有効範囲E(有効最小値min~有効最大値max)が設定される。
設定された有効範囲Eに基づいて、充電速度α及び閾値θが設定される。これにより、電荷(V+-V-)に応じた積和信号を、非常に高い精度で算出することが可能となる。
<第4の実施形態>
図14は、本技術の第4の実施形態に係る積和演算装置の一例を示す模式的な回路図である。
図14は、本技術の第4の実施形態に係る積和演算装置の一例を示す模式的な回路図である。
本実施形態に係る積和演算装置403では、差動増幅回路425により、正荷重電荷の総量と、負荷重電荷の総量との差に対応する電荷(V+-V-)が出力され、蓄積部411に含まれるキャパシタ413に蓄積される。差動増幅回路425の具体的な構成は限定されず、任意に設計されてよい。
入力期間Tの開始タイミングでは、スイッチ416a、416b、及び416cがONとなり、スイッチ416bがOFFとなる。そして、入力期間T内に、入力信号が入力される。キャパシタ413には、差動増幅回路425により出力される電荷(V+-V-)が蓄積される。
入力期間Tの終了タイミングtnでは、スイッチ416cがOFFに切替えられ、またスイッチ416dがONに切替えられる。そして、入力期間Tの終了タイミングtnで、充電部415(電流源418)による充電が開始される。
また出力部412のコンパレータ420により、キャパシタ413により保持される電圧が閾値θより大きくなるタイミングが検出される。検出されたタイミングに基づいて、信号生成部221により積和信号(PWM信号)が算出される。
本実施形態でも、キャパシタ413の蓄積状況に関連付けられた充電速度α及び閾値θが設定されている。すなわち、キャパシタ413の蓄積状況として、キャパシタ413に蓄積される荷重の総量が推定される。その推定結果に基づいて、蓄積される荷重の総量に対して有効範囲E(有効最小値min~有効最大値max)が設定される。
設定された有効範囲Eに基づいて、充電速度α及び閾値θが設定される。これにより、電荷(V+-V-)に応じた積和信号を、非常に高い精度で算出することが可能となる。
<その他の実施形態>
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
図15は、信号値xiに応じたパルス幅を有するパルス信号(PWM信号)の他の例を示す模式図である。例えば、信号値xiに応じたタイミングでパルスを立ち上げ、入力期間Tの終了タイミングtnでパルスを立ち下げる。すなわち入力期間T内の信号値xiに応じたタイミングから入力期間Tの終了タイミングtnまでの期間に応じたパルス幅を有するパルス信号を生成する。このようなパルス信号を入力信号として用いる場合にも、本技術は適用可能である。
すなわち、スパイクタイミング信号に対して、パルスの立下りタイミングを適宜設定することで、信号値xiに応じたパルス幅を有するパルス信号(PWM信号)として、本技術を適用することが可能となる。
充電速度α及び閾値θの設定として、出力期間Tに対して、α=θ/Tとする。これにより、(数6)式、(数7)式、(数10)式、(数11)式に含まれる、充電速度α、閾値θ、及び出力期間Tにより定められる定数をゼロにすることが可能となり、処理の簡素化を図ることが可能となる。
有効範囲の有効最大値及び有効最小値として、蓄積部により蓄積される乗算値の和に対応する電荷の理論値から求められる理論的な最大値及び理論的な最小値が採用されてもよい。例えば、学習処理により各荷重が設定された後、全ての入力線に、入力の最大値に対応する入力信号が入力された場合に蓄積される電荷の和が、理論的な最大値として算出される。また全ての入力線に、入力の最小値に対応する入力信号が入力された場合に蓄積される電荷の和が、理論的な最小値として算出される。もちろん理論的な最大値及び最小値の算出方法が限定される訳ではない。
図16は、図4に示すニューロン回路9の具体的な構成例を示す回路図である。図16に示すニューロン回路9は、入力期間Tの後に、一定の充電速度でキャパシタ13を充電する回路である。またニューロン回路9は、図4と同様に1対の出力線7からの正負の出力対を入力として、単一の出力信号線10(図4では出力信号線1bと記載)から1つの積和結果を出力する。図16では、ニューロン回路9にPWM信号により生成された電荷が入力される場合について説明する。
以下では、入力期間TをTinと記載し、入力期間Tinの後の積和信号が生成される出力期間をToutと記載して説明を行う場合がある。なお、入力期間Tinと出力期間Toutとは、典型的には、互いに連続する同じ長さTに設定された期間である(Tin=Tout=T)。
ニューロン回路9は、図4に示す蓄積部11及び出力部12に加え、充電部80を有する。充電部80は、入力期間Tinの後の出力期間Toutにキャパシタ13を一定の充電速度で充電する。上記したように、PWM信号は、入力期間Tin内でのパルス幅により信号値を表す信号であり、入力期間Tinの後は全てのPWM信号が0となる(図2参照)。従って出力期間Toutでは、各出力線7に出力される電荷は略0となる。図4に示す充電部80は、この出力期間Toutに、所定の電流ラインInにキャパシタ13を接続してキャパシタ13を充電するように動作する。
充電部80は、キャパシタ13aの接続先を変更する第1の切替スイッチ81a、第2の切替スイッチ82a、及び第3の切替スイッチ83aと、キャパシタ13bの接続先を変更する第1の切替スイッチ81b、第2の切替スイッチ82b、及び第3の切替スイッチ83bとを有する。また充電部80には、第1の制御ラインSW1と、第2の制御ラインSW2と、電流ラインInが接続される。なお図16に示す各切替スイッチの接続状態(ON又はOFF)は、入力期間Tinでの接続状態を表している。
第1の切替スイッチ81aは、キャパシタ13aよりも上流で正の出力線7a(正電荷出力線)とGNDとの間に接続される。第2の切替スイッチ82aは、電流ラインInとキャパシタ13aの出力ノード84aとの間に接続される。ここで出力ノード84aは、キャパシタ13aのGNDに接続される側とは反対側のノード(端子)である。第3の切替スイッチ83aは、出力ノード84a(キャパシタ13a)と正の出力線7aとの間に設けられる。また出力ノード84aは、後段の出力部12に接続される。
第1の切替スイッチ81bは、キャパシタ13bよりも上流で負の出力線7b(負電荷出力線)とGNDとの間に接続される。第2の切替スイッチ82bは、電流ラインInとキャパシタ13bの出力ノード84bとの間に接続される。第3の切替スイッチ83bは、出力ノード84b(キャパシタ13b)と負の出力線7bとの間に設けられる。また出力ノード84bは、後段の出力部12に接続される。
第1の制御ラインSW1は、第1の切替スイッチ81a及び81bを制御する。第2の制御ラインSW2は、第2の切替スイッチ82a及び82bと第3の切替スイッチ83a及び83bとを制御する。なお第2の切替スイッチ82a(82b)と、第3の切替スイッチ83a(83b)とは、ON・OFFの状態が互いに反対となるように構成され、一方がONである場合は、他方はOFFとなる。各切替スイッチの具体的な構成は限定されず、例えばCMOS回路等を用いたアナログスイッチ等が用いられてよい。また各制御ラインには、切替スイッチを動作させるための制御信号が適宜入力される。
出力部12は、出力期間Toutにキャパシタ13の電位を閾値判定することで、積和信号を出力する。ここでキャパシタ13の電位とは、各キャパシタ13a及び13bの出力ノード84a及び84bの電位である。具体的には、各出力ノード84a及び84bの電位とGND電位との電位差(電圧)の閾値判定が実行される。以下では、GNDを基準とした各出力ノード84a及び84bの電位を単に電圧と記載する場合がある。
出力部12は、正負の比較器85a及び85bと、ReLU機能回路86とを有する。また出力部12は、所定の閾値電圧を供給する閾値電圧ラインVthに接続される。正の比較器85a(負の比較器85b)は、出力ノード84a(出力ノード84b)と閾値電圧ラインVthとに接続され、出力ノード84a(出力ノード85b)の電圧が閾値θ(閾値電圧)を超えた場合に出力レベルをLowからHighに切り替える。各比較器85a及び85bの具体的な構成は限定されない。
なお、閾値電圧ラインVthに設定される閾値θの値は、例えば出力期間Toutの間に、正負の積和結果を適正に検出可能となるように、キャパシタ13の充電速度αとともに設定される。具体的には、上記の実施形態で説明したように、キャパシタ13の蓄積状況に関連付けられた充電速度α及び閾値θが適宜設定される。あるいは、キャパシタ13の容量等に応じて閾値θが設定されてもよい。この他、閾値θを設定する方法等は限定されない。
ReLU機能回路86は、図1を参照して説明したReLU関数を実現する回路である。ReLU機能回路86は、例えば論理回路を用いて構成することが可能である。またReLU機能回路86は、図1等に示す関数回路5として機能する。すなわち、図16に示すニューロン回路9は、関数回路5を含んで構成されているとも言える。
図17は、図16に示すニューロン回路9の動作例を示すタイミングチャートである。図17A及び図17Bは、正の荷重値及び負の荷重値についての積和演算を示すタイミングチャートである。また図17Cは、ReLU機能回路86の動作を示すタイミングチャートである。以下では、図16及び図17を参照して、ニューロン回路9の動作例について説明する。
まず、入力期間Tinが開始される前に、第1の制御ラインSW1により第1の切替スイッチ81a及び81bがON状態に設定され、各出力線7a及び7bがGNDに接地される。このとき、第2の切替スイッチ82a及び82bはOFF状態である。また第3の切替スイッチ83a及び83bはON状態であり、キャパシタ13a及び13bは、正負の出力線7a及び7bに接続された状態である。すなわち、充電部80は、入力期間Tinの前にキャパシタ13をGNDに接続する。
これにより、積和演算がなされる前の初期状態として、出力線7a及び7bをGNDレベル(設置レベル)に初期化してリセットすることが可能となる。これにより、キャパシタ13に蓄積された電荷及び出力線7の寄生容量等に蓄積された電荷がGNDに放出される。この結果、前回の演算で蓄積された電荷等がリセットされ、適正な演算処理を繰り返し実行することが可能となる。
なお、電荷のリセットが終了すると、第1の制御ラインSW1により第1の切替スイッチ81a及び81bがOFF状態に設定される。また第2の切替スイッチ82a及び82bはOFF状態に維持され、第3の切替スイッチ83a及び83bはON状態に維持される。この状態で、入力期間Tinが開始される。このように、充電部80は、入力期間Tinにキャパシタ13を1対の出力線7a及び7bに接続する。
入力期間Tinでは、複数の入力信号線6(Axonライン)からPWM信号が入力され、各キャパシタ13a及び13bが充電される。例えば、入力期間Tin内に、出力線の7a及び7bのそれぞれに、各シナプス回路8(荷重)を介して複数のPWM信号(入力信号)が入力される。以下では、正負の出力線7a及び7bに入力される信号を±Axon(n)と記載する。
例えば、図17Aに示すように、正の出力線7aには、+Axon(1)~+Axon(n)までのPWM信号が入力される。この結果、正側のキャパシタ13aは、各PWM信号のパルス幅(信号値)に応じて充電され、キャパシタ13aの電圧(+Dendrite)は、正の出力線7aに対する各PWM信号の入力に応じて増加する。同様に、図17Bに示すように、負の出力線7bには、-Axon(1)~-Axon(n')までのPWM信号が入力される。この結果、負側のキャパシタ13aの電圧(-Dendrite)は、負の出力線7aに対する各PWM信号の入力に応じて増加する。なお、入力期間Tinが終了するまでに、全てのPWM信号の入力が完了する。
入力期間Tinが終了すると連続して出力期間Toutとなる。出力期間Toutが開始されたタイミングで、第2の制御ラインSW2により、第3の切替スイッチ83a及び83bがOFF状態に設定される。この結果、出力線7a及び7bは、ニューロン回路9の後段(蓄積部11及び出力部12)と分離される。
またほぼ同時に、第2の切替スイッチ82a及び82bがON状態に設定され、電流ラインInがキャパシタ13a及び13bに接続される。この結果、キャパシタ13a及び13bは、電流ラインInにより充電される。具体的には、図17A及び図17Bに示すように、電流ラインInに接続することで、キャパシタ13a及び13bには、In+及びIn-が流れ込むことになる。
本実施形態では、電流ラインInは、定電流源として機能する。従って、各キャパシタ13a及び13bに流れ込む電流(In+及びIn-)は互いに等しい値となる。これらの電流により、キャパシタ13a及び13bは互いに一定の充電速度αで充電される。このように、充電部80は、出力期間Toutにキャパシタ13を一定の充電速度αに応じた電流を供給する電流ラインInに接続する。これにより、入力期間Tinに蓄積された電荷を閾値判定により精度よく容易に検出することが可能となる。図16に示す例では、電流ラインInは、電流源に相当する。
例えば図17A及び図17Bに示すように、電流ラインInに接続されることで、出力期間Toutの開始(入力期間Tinの終了)と同時に、キャパシタ13a及び13bの電圧である±Dendriteが、一定の割合で増加する。この増加の傾きは、各キャパシタ13a及び13bで等しくなる。この結果、例えば±Dendriteが閾値θを超えるタイミングは、各キャパシタ13a及び13bの入力期間Tinの終了タイミングでの電圧を表すことになる。これにより、入力期間Tinに蓄えられた電荷、すなわち正負の各積和結果を適正に表すことが可能となる。
電流ラインInは、±Dendriteが閾値θに達するまで電流を供給する。そして、±Dendriteが閾値θに達すると、各比較器85a及び85bから出力信号Sn+(t)及びSn-(t)が生成される。Sn+(t)及びSn-(t)は、それぞれ、正の積和結果及び負の積和結果を表す積和信号となる。
図17に示す例では、入力期間Tinの終了タイミングでのキャパシタ13aの電圧が、キャパシタ13bよりも高いため、Sn+(t)は、Sn-(t)よりも早い段階で生成される。このように、比較器から出力される信号は、立ち上がりのタイミングが早いほど、積和結果の大きい信号となる。
正負の積和結果をあらわす信号(Sn+(t)及びSn-(t))は、ReLU機能回路86に入力され、その差分がPWM信号Sn(t)として出力される。図17Cに示すように、Sn(t)は、Sn+(t)がHighであり、Sn-(t)がLowである場合にHighとなる信号である。Sn(t)のパルス幅は、正負の積和結果の差分、すなわち一つのアナログ回路3から出力される最終的な積和演算の結果を表す。なおSn(t)は、Sn+(t)>Sn-(t)である場合(正負の積和結果の差分が0以上である場合)にのみ生成される。
このように、図16に示すニューロン回路9では、ReLU関数により処理された積和結果を出力することが可能となる。なお、図16に示す回路に限定されず、キャパシタ13に蓄積された電荷等を読み出し可能な任意の回路が、ニューロン回路9として用いられてよい。
図18は、ニューロン回路509の他の構成例を示す回路図である。図18に示すニューロン回路509は、入力期間Tinの後に、一定の充電速度αでキャパシタ513を充電する回路である。またニューロン回路509は、1対の出力線7からの正負の出力対を入力として、1対の出力信号線10a及び10bから正負の積和結果を出力する。図18では、ニューロン回路509にTACT方式(スパイクタイミング方式)の信号(ステップ信号)により生成された電荷が入力される場合について説明する。
ニューロン回路509は、蓄積部511及び出力部512に加え、充電部580を有する。蓄積部511及び充電部580は、例えば図16を参照して説明した充電部80と同様の構成を有する。なお、図18に示すニューロン回路509では、出力部512の比較器585a及び585bから、正負の積和結果を表す1対の積和信号Sn+(t)及びSn-(t)がそのまま出力される。すなわち、出力部512は、図16に示す出力部12からReLU機能回路86を除いた構成となるとも言える。
充電部580は、入力期間Tinの後の出力期間Toutにキャパシタ513を一定の充電速度αで充電する。上記したように、ステップ信号は、入力期間Tin内でのタイミングにより信号値を表す信号である。ここでは、入力期間Tin内において、LowからHighに立ち上がるタイミングにより、信号値を表す信号が用いられものとする。なお、立ち上ったステップ信号は、その後も継続してHighレベルを維持する。
図19は、図18に示すニューロン回路509の動作例を示すタイミングチャートである。図19A及び図19Bは、正の荷重値及び負の荷重値についての積和演算を示すタイミングチャートである。
図19では、入力期間Tinの終了後(出力期間Tout中)もステップ信号がHighレベルに維持され、これらのステップ信号により、出力期間Tout中にキャパシタ513が充電される。すなわち、出力期間Tout中に、複数の入力信号線6(Axonライン)及び出力線7により電流源が構成され、キャパシタ13が充電される。なお、図19では、±Axonラインの本数が等しい(n=n')ものとする。これにより、キャパシタ513a及び513bの出力期間Toutにおける充電速度αを等しくすることが可能である。
従って図19では、各Axonライン及び正負の出力線7a及び7bは、充電部580の一部として機能する。この場合、例えば図18に示す第2の切替スイッチ582a及び582bと電流ラインInとを除き、かつ第3の切替スイッチ583a及び583bを短絡した構成で、ニューロン回路509を動作させることが可能となる。これにより、キャパシタ513を充電するための回路構成を簡素化することが可能である。
まず、入力期間Tinが開始される前に、正負の出力線7a及び7bとキャパシタ513a及び513bが接続された状態(第3の切替スイッチ583a及び583bが短絡された状態)で、第1の制御ラインSW1により第1の切替スイッチ581a及び581bがON状態に設定される。これにより、積和演算がなされる前に、出力線7a及び7b等をGNDレベル(設置レベル)に初期化してリセットすることが可能となる。
入力期間Tinでは、複数のAxonラインに、信号値に応じたタイミングで立ち上がるステップ信号がそれぞれ入力される。TACT方式では、入力期間Tinの後に引き続き、全てのAxonラインからHighレベルを維持する信号が入力される。つまり、入力期間Tinでは、ステップ信号が入力されるタイミングにばらつきがあるが、出力期間Tinでは、全てのAxonラインがHighレベルとなり一定の電荷が継続して供給される。これにより、キャパシタ513a及び513bを一定の充電速度で充電することが可能となる。
キャパシタ513a及び513bの出力ノード584a及び584bの電圧は、それぞれ一定の割合で増加する。そして各出力ノード584a及び584bの電圧(±Dendrite)が比較器585a及び585bの閾値θ(閾値電圧)に達すると、正負の積和信号Sn+(t)及びSn-(t)が生成される。生成されたSn+(t)及びSn-(t)は、1対の積和信号として後段に出力される。このように、TACT方式のステップ信号を用いることで、シンプルな構成で積和結果を表す積和信号を生成することが可能となる。
図20は、図18に示すニューロン回路509の他の動作例を示すタイミングチャートである。図20A及び図20Bは、正の荷重値及び負の荷重値についての積和演算を示すタイミングチャートである。図20では、入力期間Tinの終了後に正負の出力線7a及び7bが分離される。そして、出力期間Tout中は、電流ラインInによりキャパシタ513が充電される。
各出力線7a及び7b等が初期状態にリセットされた後、入力期間Tinが開始され複数のステップ信号が入力される。このとき、第2の切替スイッチ582a及び582bはOFF状態に設定され、第3の切替スイッチ583a及び583bはON状態に設定される。これにより、キャパシタ513a及び513bには、正負の出力線7a及び7bから、ステップ信号の信号値に応じた電荷が蓄積される。
図20では、入力期間Tinが終了したタイミングで、第2の制御ラインSW2により第3の切替スイッチ583a及び583bがOFF状態に設定され、出力線7a及び7bは、ニューロン回路509の後段(蓄積部511及び出力部512)から分離される。この結果、図20A及び図20Bに示すように、出力期間Toutでは、各Axonラインからの入力がカットされる。
また出力線7a及び7bが分離されたタイミングとほぼ同時に第2の切替スイッチ582a及び582bがON状態に設定される。これにより、各キャパシタ513a及び513bは、電流ラインInに接続され、それぞれ一定の電流In+及びIn-が供給される。この結果、キャパシタ513a及び513bは互いに一定の充電速度で充電される。また各出力ノード584a及び584bの電圧(±Dendrite)が比較器585a及び585bの閾値θに達すると、正負の積和信号Sn+(t)及びSn-(t)が生成される。
このように、TACT方式が用いられる場合であっても、電流ラインInを用いて、積和結果を表す積和信号を生成することが可能となる。これにより、例えばPWM方式で用いられるニューロン回路9(図16参照)の設計を用いて、TACT方式用のニューロン回路509を容易に構成するといったことが可能となる。
上記では、蓄積部により保持された電圧が閾値を過ぎて大きくなるタイミングに基づいて、積和信号を出力する場合を例に挙げた。しかしながら、蓄積部により保持された電圧が閾値を過ぎて小さくなるタイミングに基づいて、積和信号を出力する構成が採用されてもよい。例えば、蓄積部として機能するキャパシタの電圧が、所定のプリセット値となるまで予め充電される。そして信号値と荷重値との乗算値に対応する電荷の和が蓄積された後に、キャパシタを所定の速度で放電する。このような場合、キャパシタにより保持された電圧が閾値を過ぎて小さくなるタイミングに基づいて、積和信号を出力することが可能である。もちろんこのような構成に限定される訳ではない。なお本開示では、キャシタの放電は、キャシタに負の電荷を充電することに含まれる。閾値及び放電速度を適宜設定することで、積和信号を、非常に高い精度で算出することが可能となる。
上記では、1対の出力線が用いられる場合を説明した。これに限定されず、3以上の出力線が設けられてもよい。すなわち1以上の任意の数の出力線が用いられる場合でも、上記で説明した本技術は適用可能である。例えば乗算部は、対応する入力線と、1以上の出力線のいずれか1つとの間に接続され荷重値を規定する抵抗器を含み、抵抗器が接続された出力線に乗算値に対応する電荷を出力する。もちろんこれに限定される訳ではない。
各図面を参照して説明した演算装置、積和演算装置、アナログ回路、シナプス回路、ニューロン回路等の各構成、積和信号の生成方法等はあくまで一実施形態であり、本技術の趣旨を逸脱しない範囲で、任意に変形可能である。すなわち本技術を実施するための他の任意の構成や方法等が採用されてよい。
本開示において、「同じ」「等しい」「直交」等は、「実質的に同じ」「実質的に等しい」「実質的に直交」等を含む概念とする。例えば「完全に同じ」「完全に等しい」「完全に直交」等を基準とした所定の範囲(例えば±10%の範囲)に含まれる状態も含まれる。
以上説明した本技術に係る特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
なお、本技術は以下のような構成も採ることができる。
(1)積和演算をアナログ回路で実行する積和演算装置であって、
入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算装置。
(2)(1)に記載の積和演算装置であって、
前記複数の入力線の各々には、所定の長さの入力期間内に、前記パルス信号が入力され、
前記充電部は、前記入力期間の終了後に前記充電を開始し、
前記出力部は、所定の長さの出力期間内における、前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなるまたは小さくなるタイミングに基づいて、前記積和信号を出力する
積和演算装置。
(3)(2)に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の推定結果から求められる、前記乗算値に対応する電荷の和の有効最大値及び有効最小値に基づいて設定される
積和演算装置。
(4)(3)に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記有効最大値から前記有効最小値までの範囲が、前記出力期間に対して、前記積和信号の出力可能な範囲となるように設定される
積和演算装置。
(5)(3)又は(4)に記載の積和演算装置であって、
前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなるまたは小さくなるタイミングを、前記積和信号を算出するための算出タイミングとして、
前記充電速度及び前記閾値は、前記有効最大値に対応する前記算出タイミングが前記出力期間の開始タイミングの直後のタイミングとなり、前記有効最小値に対応する前記算出タイミングが前記出力期間の終了タイミングの直前のタイミングとなるように設定される
積和演算装置。
(6)(3)から(5)のうちいずれか1つに記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記出力期間の長さに基づいて設定される
積和演算装置。
(7)(3)から(6)のうちいずれか1つに記載の積和演算装置であって、
前記有効最大値及び前記有効最小値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の理論値から求められる理論的な最大値及び理論的な最小値である
情報処理装置。
(8)(2)から(7)のうちいずれか1つに記載の積和演算装置であって、
前記出力期間の長さは、前記入力期間の長さと等しい
積和演算装置。
(9)(2)から(8)のうちいずれか1つに記載の積和演算装置であって、
前記充電部は、前記入力期間の終了タイミングで前記充電を開始し、
前記出力期間は、前記充電部による充電の開始タイミングで開始される
積和演算装置。
(10)(1)から(9)のうちいずれか1つに記載の積和演算装置であって、
前記複数の乗算部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷を生成する正荷重乗算部と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷を生成する負荷重乗算部とを有し、
前記蓄積部は、前記正荷重乗算部により生成された前記正荷重電荷の和を蓄積する正電荷蓄積部と、前記負荷重乗算部により生成された前記負荷重電荷の和を蓄積する負電荷蓄積部とを有し、
前記充電部は、前記正電荷蓄積部、及び前記負電荷蓄積部を、同じ充電速度によりそれぞれ充電し、
前記出力部は、前記正電荷蓄積部、及び前記負電荷蓄積部の各々に対して、同じ閾値より閾値判定を実行することで、前記積和信号を出力する
積和演算装置。
(11)(1)から(9)のうちいずれか1つに記載の積和演算装置であって、
前記蓄積部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷の総量と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷の総量との差に対応する電荷を蓄積する
積和演算装置。
(12)(11)に記載の積和演算装置であって、
前記正荷重電荷及び負荷重電荷は、互いに同符号の電荷であり、
前記蓄積部は、前記正荷重電荷の和を蓄積し、前記負荷重電荷の和を放電する
積和演算装置。
(13)(2)から(12)のうちいずれか1つに記載の積和演算装置であって、
前記パルス信号は、前記入力期間内の前記入力値に応じたタイミングから前記入力期間の終了タイミングまでの期間に応じたパルス幅を有する
積和演算装置。
(14)(1)から(13)のうちいずれか1つに記載の積和演算装置であって、さらに、
1以上の出力線を具備し、
前記複数の乗算部は、前記複数の入力線に対応して設けられ、
前記複数の乗算部の各々は、前記複数の入力線のうちの対応する入力線と、前記1以上の出力線のいずれか1つとの間に接続され前記荷重値を規定し非線形特性を有する抵抗器を含み、前記抵抗器が接続された出力線に前記乗算値に対応する電荷を出力する
積和演算装置。
(15)(10)に記載の積和演算装置であって、さらに、
正電荷出力線と、負電荷出力線とを具備し、
前記複数の乗算部は、前記複数の入力線に対応して設けられ、
前記正荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記正電荷出力線との間に接続され前記正の荷重値を規定し非線形特性を有する抵抗器を含み、前記正電荷出力線に前記乗算値に対応する正荷重電荷を出力し、
前記負荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記負電荷出力線との間に接続され前記負の荷重値を規定し非線形特性を有する抵抗器を含み、前記負電荷出力線に前記乗算値に対応する負荷重電荷を出力する
積和演算装置。
(16)(14)又は(15)に記載の積和演算装置であって、
前記抵抗器は、固定抵抗素子、可変抵抗素子、又はサブスレッショルド領域で動作するMOSトランジスタである
積和演算装置。
(17)積和演算をアナログ方式で実行する積和演算回路であって、
入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算回路。
(18)入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する複数のアナログ回路と、
前記複数のアナログ回路を接続して構成されたネットワーク回路と
を具備する積和演算システム。
(19)複数の入力線に、入力値に応じたパルス幅を有するパルス信号を入力し、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成し、
蓄積部に、前記生成された前記乗算値に対応する電荷の和を蓄積し、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電し、
前記充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する
積和演算方法。
(1)積和演算をアナログ回路で実行する積和演算装置であって、
入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算装置。
(2)(1)に記載の積和演算装置であって、
前記複数の入力線の各々には、所定の長さの入力期間内に、前記パルス信号が入力され、
前記充電部は、前記入力期間の終了後に前記充電を開始し、
前記出力部は、所定の長さの出力期間内における、前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなるまたは小さくなるタイミングに基づいて、前記積和信号を出力する
積和演算装置。
(3)(2)に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の推定結果から求められる、前記乗算値に対応する電荷の和の有効最大値及び有効最小値に基づいて設定される
積和演算装置。
(4)(3)に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記有効最大値から前記有効最小値までの範囲が、前記出力期間に対して、前記積和信号の出力可能な範囲となるように設定される
積和演算装置。
(5)(3)又は(4)に記載の積和演算装置であって、
前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなるまたは小さくなるタイミングを、前記積和信号を算出するための算出タイミングとして、
前記充電速度及び前記閾値は、前記有効最大値に対応する前記算出タイミングが前記出力期間の開始タイミングの直後のタイミングとなり、前記有効最小値に対応する前記算出タイミングが前記出力期間の終了タイミングの直前のタイミングとなるように設定される
積和演算装置。
(6)(3)から(5)のうちいずれか1つに記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記出力期間の長さに基づいて設定される
積和演算装置。
(7)(3)から(6)のうちいずれか1つに記載の積和演算装置であって、
前記有効最大値及び前記有効最小値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の理論値から求められる理論的な最大値及び理論的な最小値である
情報処理装置。
(8)(2)から(7)のうちいずれか1つに記載の積和演算装置であって、
前記出力期間の長さは、前記入力期間の長さと等しい
積和演算装置。
(9)(2)から(8)のうちいずれか1つに記載の積和演算装置であって、
前記充電部は、前記入力期間の終了タイミングで前記充電を開始し、
前記出力期間は、前記充電部による充電の開始タイミングで開始される
積和演算装置。
(10)(1)から(9)のうちいずれか1つに記載の積和演算装置であって、
前記複数の乗算部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷を生成する正荷重乗算部と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷を生成する負荷重乗算部とを有し、
前記蓄積部は、前記正荷重乗算部により生成された前記正荷重電荷の和を蓄積する正電荷蓄積部と、前記負荷重乗算部により生成された前記負荷重電荷の和を蓄積する負電荷蓄積部とを有し、
前記充電部は、前記正電荷蓄積部、及び前記負電荷蓄積部を、同じ充電速度によりそれぞれ充電し、
前記出力部は、前記正電荷蓄積部、及び前記負電荷蓄積部の各々に対して、同じ閾値より閾値判定を実行することで、前記積和信号を出力する
積和演算装置。
(11)(1)から(9)のうちいずれか1つに記載の積和演算装置であって、
前記蓄積部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷の総量と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷の総量との差に対応する電荷を蓄積する
積和演算装置。
(12)(11)に記載の積和演算装置であって、
前記正荷重電荷及び負荷重電荷は、互いに同符号の電荷であり、
前記蓄積部は、前記正荷重電荷の和を蓄積し、前記負荷重電荷の和を放電する
積和演算装置。
(13)(2)から(12)のうちいずれか1つに記載の積和演算装置であって、
前記パルス信号は、前記入力期間内の前記入力値に応じたタイミングから前記入力期間の終了タイミングまでの期間に応じたパルス幅を有する
積和演算装置。
(14)(1)から(13)のうちいずれか1つに記載の積和演算装置であって、さらに、
1以上の出力線を具備し、
前記複数の乗算部は、前記複数の入力線に対応して設けられ、
前記複数の乗算部の各々は、前記複数の入力線のうちの対応する入力線と、前記1以上の出力線のいずれか1つとの間に接続され前記荷重値を規定し非線形特性を有する抵抗器を含み、前記抵抗器が接続された出力線に前記乗算値に対応する電荷を出力する
積和演算装置。
(15)(10)に記載の積和演算装置であって、さらに、
正電荷出力線と、負電荷出力線とを具備し、
前記複数の乗算部は、前記複数の入力線に対応して設けられ、
前記正荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記正電荷出力線との間に接続され前記正の荷重値を規定し非線形特性を有する抵抗器を含み、前記正電荷出力線に前記乗算値に対応する正荷重電荷を出力し、
前記負荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記負電荷出力線との間に接続され前記負の荷重値を規定し非線形特性を有する抵抗器を含み、前記負電荷出力線に前記乗算値に対応する負荷重電荷を出力する
積和演算装置。
(16)(14)又は(15)に記載の積和演算装置であって、
前記抵抗器は、固定抵抗素子、可変抵抗素子、又はサブスレッショルド領域で動作するMOSトランジスタである
積和演算装置。
(17)積和演算をアナログ方式で実行する積和演算回路であって、
入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算回路。
(18)入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する複数のアナログ回路と、
前記複数のアナログ回路を接続して構成されたネットワーク回路と
を具備する積和演算システム。
(19)複数の入力線に、入力値に応じたパルス幅を有するパルス信号を入力し、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成し、
蓄積部に、前記生成された前記乗算値に対応する電荷の和を蓄積し、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電し、
前記充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する
積和演算方法。
θ…閾値
α…充電速度
1…信号線
1a…入力信号線
3、203、303、403…積和演算装置
7…1対の出力線
7a、207a…正電荷出力線
7b、207b…負電荷出力線
8…シナプス回路
8a、208a…シナプス回路(正荷重乗算部)
8b、208b…シナプス回路(負荷重乗算部)
9、509…ニューロン回路
11、211、311、411、511…蓄積部
12、212、312、412、512…出力部
13、213、313、413、513…キャパシタ
15、215、315、415、80、580…充電部
17…抵抗器
18、218、318、418…電流源
20、220、320、420…コンパレータ
21、221、321…信号生成部
100…演算装置
α…充電速度
1…信号線
1a…入力信号線
3、203、303、403…積和演算装置
7…1対の出力線
7a、207a…正電荷出力線
7b、207b…負電荷出力線
8…シナプス回路
8a、208a…シナプス回路(正荷重乗算部)
8b、208b…シナプス回路(負荷重乗算部)
9、509…ニューロン回路
11、211、311、411、511…蓄積部
12、212、312、412、512…出力部
13、213、313、413、513…キャパシタ
15、215、315、415、80、580…充電部
17…抵抗器
18、218、318、418…電流源
20、220、320、420…コンパレータ
21、221、321…信号生成部
100…演算装置
Claims (19)
- 積和演算をアナログ回路で実行する積和演算装置であって、
入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算装置。 - 請求項1に記載の積和演算装置であって、
前記複数の入力線の各々には、所定の長さの入力期間内に、前記パルス信号が入力され、
前記充電部は、前記入力期間の終了後に前記充電を開始し、
前記出力部は、所定の長さの出力期間内における、前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなるまたは小さくなるタイミングに基づいて、前記積和信号を出力する
積和演算装置。 - 請求項2に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の推定結果から求められる、前記乗算値に対応する電荷の和の有効最大値及び有効最小値に基づいて設定される
積和演算装置。 - 請求項3に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記有効最大値から前記有効最小値までの範囲が、前記出力期間に対して、前記積和信号の出力可能な範囲となるように設定される
積和演算装置。 - 請求項3に記載の積和演算装置であって、
前記蓄積部により保持される電圧が前記閾値を過ぎて大きくなるまたは小さくなるタイミングを、前記積和信号を算出するための算出タイミングとして、
前記充電速度及び前記閾値は、前記有効最大値に対応する前記算出タイミングが前記出力期間の開始タイミングの直後のタイミングとなり、前記有効最小値に対応する前記算出タイミングが前記出力期間の終了タイミングの直前のタイミングとなるように設定される
積和演算装置。 - 請求項3に記載の積和演算装置であって、
前記充電速度及び前記閾値は、前記出力期間の長さに基づいて設定される
積和演算装置。 - 請求項3に記載の積和演算装置であって、
前記有効最大値及び前記有効最小値は、前記蓄積部により蓄積される前記乗算値に対応する電荷の和の理論値から求められる理論的な最大値及び理論的な最小値である
情報処理装置。 - 請求項2に記載の積和演算装置であって、
前記出力期間の長さは、前記入力期間の長さと等しい
積和演算装置。 - 請求項2に記載の積和演算装置であって、
前記充電部は、前記入力期間の終了タイミングで前記充電を開始し、
前記出力期間は、前記充電部による充電の開始タイミングで開始される
積和演算装置。 - 請求項1に記載の積和演算装置であって、
前記複数の乗算部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷を生成する正荷重乗算部と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷を生成する負荷重乗算部とを有し、
前記蓄積部は、前記正荷重乗算部により生成された前記正荷重電荷の和を蓄積する正電荷蓄積部と、前記負荷重乗算部により生成された前記負荷重電荷の和を蓄積する負電荷蓄積部とを有し、
前記充電部は、前記正電荷蓄積部、及び前記負電荷蓄積部を、同じ充電速度によりそれぞれ充電し、
前記出力部は、前記正電荷蓄積部、及び前記負電荷蓄積部の各々に対して、同じ閾値より閾値判定を実行することで、前記積和信号を出力する
積和演算装置。 - 請求項1に記載の積和演算装置であって、
前記蓄積部は、前記入力値に正の荷重値を乗算した乗算値に対応する正荷重電荷の総量と、前記入力値に負の荷重値を乗算した乗算値に対応する負荷重電荷の総量との差に対応する電荷を蓄積する
積和演算装置。 - 請求項11に記載の積和演算装置であって、
前記正荷重電荷及び負荷重電荷は、互いに同符号の電荷であり、
前記蓄積部は、前記正荷重電荷の和を蓄積し、前記負荷重電荷の和を放電する
積和演算装置。 - 請求項2に記載の積和演算装置であって、
前記パルス信号は、前記入力期間内の前記入力値に応じたタイミングから前記入力期間の終了タイミングまでの期間に応じたパルス幅を有する
積和演算装置。 - 請求項1に記載の積和演算装置であって、さらに、
1以上の出力線を具備し、
前記複数の乗算部は、前記複数の入力線に対応して設けられ、
前記複数の乗算部の各々は、前記複数の入力線のうちの対応する入力線と、前記1以上の出力線のいずれか1つとの間に接続され前記荷重値を規定し非線形特性を有する抵抗器を含み、前記抵抗器が接続された出力線に前記乗算値に対応する電荷を出力する
積和演算装置。 - 請求項10に記載の積和演算装置であって、さらに、
正電荷出力線と、負電荷出力線とを具備し、
前記複数の乗算部は、前記複数の入力線に対応して設けられ、
前記正荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記正電荷出力線との間に接続され前記正の荷重値を規定し非線形特性を有する抵抗器を含み、前記正電荷出力線に前記乗算値に対応する正荷重電荷を出力し、
前記負荷重乗算部は、前記複数の入力線のうちの対応する入力線と、前記負電荷出力線との間に接続され前記負の荷重値を規定し非線形特性を有する抵抗器を含み、前記負電荷出力線に前記乗算値に対応する負荷重電荷を出力する
積和演算装置。 - 請求項14に記載の積和演算装置であって、
前記抵抗器は、固定抵抗素子、可変抵抗素子、又はサブスレッショルド領域で動作するMOSトランジスタである
積和演算装置。 - 積和演算をアナログ方式で実行する積和演算回路であって、
入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を具備する積和演算回路。 - 入力値に応じたパルス幅を有するパルス信号が入力される複数の入力線と、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成する複数の乗算部と、
前記複数の乗算部の各々により生成された前記乗算値に対応する電荷の和を蓄積する蓄積部と、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電する充電部と、
前記充電部による充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する出力部と
を有する複数のアナログ回路と、
前記複数のアナログ回路を接続して構成されたネットワーク回路と
を具備する積和演算システム。 - 複数の入力線に、入力値に応じたパルス幅を有するパルス信号を入力し、
前記複数の入力線の各々に入力される前記パルス信号に基づいて、前記入力値に荷重値を乗算した乗算値に対応する電荷を生成し、
蓄積部に、前記生成された前記乗算値に対応する電荷の和を蓄積し、
前記乗算値に対応する電荷の和が蓄積された前記蓄積部を、前記蓄積部の蓄積状況に関連付けられた充電速度により充電し、
前記充電の開始後、前記蓄積部により保持される電圧に対して、前記蓄積部の蓄積状況に関連付けられた閾値により閾値判定を実行することで、前記乗算値の和を表す積和信号を出力する
積和演算方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980045393.9A CN112384927A (zh) | 2018-07-13 | 2019-07-04 | 乘积累加运算装置、乘积累加运算电路、乘积累加运算***和乘积累加运算方法 |
JP2020530140A JP7283477B2 (ja) | 2018-07-13 | 2019-07-04 | 積和演算装置、積和演算回路、積和演算システム、及び積和演算方法 |
EP19834552.2A EP3822843A4 (en) | 2018-07-13 | 2019-07-04 | MULTIPLICATION-ACCUMULATION DEVICE, MULTIPLICATION-ACCUMULATION CIRCUIT, MULTIPLICATION-ACCUMULATION SYSTEM AND MULTIPLICATION-ACCUMULATION PROCESS |
US17/258,328 US12008338B2 (en) | 2018-07-13 | 2019-07-04 | Multiply-accumulate operation device, multiply-accumulate operation circuit, multiply-accumulate operation system, and multiply-accumulate operation method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-133750 | 2018-07-13 | ||
JP2018133750 | 2018-07-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020013069A1 true WO2020013069A1 (ja) | 2020-01-16 |
Family
ID=69141673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/026603 WO2020013069A1 (ja) | 2018-07-13 | 2019-07-04 | 積和演算装置、積和演算回路、積和演算システム、及び積和演算方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US12008338B2 (ja) |
EP (1) | EP3822843A4 (ja) |
JP (1) | JP7283477B2 (ja) |
CN (1) | CN112384927A (ja) |
TW (1) | TWI799588B (ja) |
WO (1) | WO2020013069A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022013676A1 (ja) * | 2020-07-17 | 2022-01-20 | 株式会社半導体エネルギー研究所 | 半導体装置、及び電子機器 |
WO2023032158A1 (ja) * | 2021-09-03 | 2023-03-09 | 日本電気株式会社 | 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法および学習済みモデル生成方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210374507A1 (en) * | 2020-06-02 | 2021-12-02 | University Of Louisiana At Lafayette | Method for Pulse-Based Convolution for Near-Sensor Processing |
US20230049032A1 (en) * | 2021-08-02 | 2023-02-16 | Silicon Storage Technology, Inc. | Output circuitry for analog neural memory in a deep learning artificial neural network |
US20230386566A1 (en) * | 2022-05-25 | 2023-11-30 | Stmicroelectronics International N.V. | Bit line voltage clamping read circuit for an in-memory compute operation where simultaneous access is made to plural rows of a static random access memory (sram) |
US20230410892A1 (en) * | 2022-05-25 | 2023-12-21 | Stmicroelectronics International N.V. | Bit line read current mirroring circuit for an in-memory compute operation where simultaneous access is made to plural rows of a static random access memory (sram) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141313A (ja) * | 1993-11-18 | 1995-06-02 | Fujitsu Ltd | 神経回路素子 |
JP2010061428A (ja) * | 2008-09-04 | 2010-03-18 | Yazaki Corp | 掛算回路 |
JP2015195011A (ja) * | 2014-03-18 | 2015-11-05 | パナソニックIpマネジメント株式会社 | ニューラルネットワーク回路およびその学習方法 |
WO2018034163A1 (ja) | 2016-08-19 | 2018-02-22 | 国立大学法人 九州工業大学 | 積和演算装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4620944B2 (ja) * | 2003-10-16 | 2011-01-26 | キヤノン株式会社 | 積和演算回路及びその方法 |
JP4272967B2 (ja) | 2003-10-16 | 2009-06-03 | キヤノン株式会社 | 演算回路およびその動作制御方法 |
US9792405B2 (en) * | 2013-01-17 | 2017-10-17 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform |
US9779355B1 (en) * | 2016-09-15 | 2017-10-03 | International Business Machines Corporation | Back propagation gates and storage capacitor for neural networks |
WO2018069785A1 (en) * | 2016-10-12 | 2018-04-19 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and system using the same |
US11315009B2 (en) * | 2017-03-03 | 2022-04-26 | Hewlett Packard Enterprise Development Lp | Analog multiplier-accumulators |
-
2019
- 2019-05-24 TW TW108117978A patent/TWI799588B/zh active
- 2019-07-04 EP EP19834552.2A patent/EP3822843A4/en active Pending
- 2019-07-04 JP JP2020530140A patent/JP7283477B2/ja active Active
- 2019-07-04 WO PCT/JP2019/026603 patent/WO2020013069A1/ja unknown
- 2019-07-04 US US17/258,328 patent/US12008338B2/en active Active
- 2019-07-04 CN CN201980045393.9A patent/CN112384927A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07141313A (ja) * | 1993-11-18 | 1995-06-02 | Fujitsu Ltd | 神経回路素子 |
JP2010061428A (ja) * | 2008-09-04 | 2010-03-18 | Yazaki Corp | 掛算回路 |
JP2015195011A (ja) * | 2014-03-18 | 2015-11-05 | パナソニックIpマネジメント株式会社 | ニューラルネットワーク回路およびその学習方法 |
WO2018034163A1 (ja) | 2016-08-19 | 2018-02-22 | 国立大学法人 九州工業大学 | 積和演算装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3822843A4 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022013676A1 (ja) * | 2020-07-17 | 2022-01-20 | 株式会社半導体エネルギー研究所 | 半導体装置、及び電子機器 |
US12033694B2 (en) | 2020-07-17 | 2024-07-09 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and electronic device |
WO2023032158A1 (ja) * | 2021-09-03 | 2023-03-09 | 日本電気株式会社 | 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法および学習済みモデル生成方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI799588B (zh) | 2023-04-21 |
JPWO2020013069A1 (ja) | 2021-08-02 |
CN112384927A (zh) | 2021-02-19 |
EP3822843A1 (en) | 2021-05-19 |
US20210294573A1 (en) | 2021-09-23 |
EP3822843A4 (en) | 2021-09-01 |
JP7283477B2 (ja) | 2023-05-30 |
TW202006611A (zh) | 2020-02-01 |
US12008338B2 (en) | 2024-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020013069A1 (ja) | 積和演算装置、積和演算回路、積和演算システム、及び積和演算方法 | |
TWI620118B (zh) | 乘積累加演算裝置 | |
CN111837145B (zh) | 用于将矩阵计算映射到矩阵乘法加速器的***和方法 | |
JP4620943B2 (ja) | 積和演算回路及びその方法 | |
CN111448573B (zh) | 用于混合信号计算的***和方法 | |
US10671911B2 (en) | Current mirror scheme for an integrating neuron circuit | |
WO2021044821A1 (ja) | 演算装置及び積和演算システム | |
WO2020162241A1 (ja) | 演算装置、及び積和演算システム | |
TWI831804B (zh) | 運算裝置、積和運算裝置、積和運算系統及積和運算方法 | |
US20220164551A1 (en) | Arithmetic apparatus and multiply-accumulate system | |
WO2020195546A1 (ja) | 演算装置及び積和演算システム | |
JP7420072B2 (ja) | 演算装置、積和演算装置、積和演算回路、及び積和演算システム | |
WO2020162141A1 (ja) | 演算装置、積和演算システム及び設定方法 | |
US20210279558A1 (en) | Synaptic circuit and neural network apparatus | |
Wang et al. | A modularization hardware implementation approach for artificial neural network | |
JP2534125B2 (ja) | 最適値探索計算機 |
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: 19834552 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020530140 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019834552 Country of ref document: EP Effective date: 20210215 |