WO2004010582A1 - 確率的演算素子、その駆動方法及びこれを用いた認識処理装置 - Google Patents

確率的演算素子、その駆動方法及びこれを用いた認識処理装置 Download PDF

Info

Publication number
WO2004010582A1
WO2004010582A1 PCT/JP2003/009150 JP0309150W WO2004010582A1 WO 2004010582 A1 WO2004010582 A1 WO 2004010582A1 JP 0309150 W JP0309150 W JP 0309150W WO 2004010582 A1 WO2004010582 A1 WO 2004010582A1
Authority
WO
WIPO (PCT)
Prior art keywords
output
vector
fluctuation
input
stochastic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2003/009150
Other languages
English (en)
French (fr)
Inventor
Michihito Ueda
Kiyoyuki Morita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to AU2003281558A priority Critical patent/AU2003281558A1/en
Priority to JP2004522760A priority patent/JP3708113B2/ja
Publication of WO2004010582A1 publication Critical patent/WO2004010582A1/ja
Priority to US10/781,819 priority patent/US7493353B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • the present invention relates to a stochastic operation element based on a novel operation principle, and in particular, to a stochastic operation element capable of performing high-speed operation of vector matching, which is an essential operation in recognition processing, and a recognition processing element using the same.
  • An apparatus is provided.
  • the basis of such recognition processing is that the stored information such as voice and face is vectorized and stored, and the input information is similarly vectorized to detect an approximation of these. That is, an operation for determining whether or not it is closest is performed.
  • a vector comparison process is a basic process that can be used for a wide range of information processing such as an associative memory, pattern recognition such as vector quantization and motion prediction, and data compression.
  • FIG. 40 is a perspective view schematically showing the structure of this conventional arithmetic element.
  • a power supply electrode 214 is arranged so as to face the gate electrode 211 of the fine MISFET 211, and both electrodes 21
  • a plurality of quantum dots 2 13 and 2 21 with nanometer-scale size are formed between 2 and 2 14.
  • a pair of information electrodes 222 are arranged at a constant pitch in the width direction (gate width direction) of the gate electrode 212, and a plurality of information electrodes 222 are arranged between each pair of information electrodes 222.
  • Quantum dots 2 21 are arranged in rows.
  • Reference numeral 301 denotes a virtual plane on which the information electrodes 222 and the quantum dots 222 are arranged.
  • Quantum dots 2 13 are further arranged between the quantum dots 2 21 and the gate electrodes 2 12 arranged in this row.
  • an energy barrier is formed between each quantum dot 2 21 and the gate electrode 2 12 so that electrons can tunnel directly.
  • Figures 41 (a) and (b) show the conventional energy barrier.
  • FIG. 3 is a schematic diagram showing the operation principle of the operation element 220 in an equivalent circuit.
  • Fig. 41 (a) and (b) the voltage corresponding to the input pattern (input vector) and the voltage corresponding to the reference pattern (reference vector) are input to each pair of information electrodes 222. . These voltages are digital voltages that take one of two values, 1 and 0. When such a voltage is input to each pair of information electrodes 222 sandwiching the quantum dot 222, the electrons stay near the center due to the potential determined by each pair of information electrodes 222. (Fig. 41 ( a )) or move (Fig.
  • the conventional arithmetic element 220 uses the quantum dots 21 3 and 22 1 first, it is necessary to wait for the establishment of the manufacturing process of the quantum dots 2 13 and 22 1 first. It is complicated because it requires technologies other than the current semiconductor process technology.
  • the voltage corresponding to each element (original) of the two vectors to be compared (input vector and reference vector) is applied to each pair of information electrodes 222.
  • the input is performed, and the calculation of the difference between the elements is performed analogously and stochastically in each pair of information electrodes 222, and the sum of the differences between the elements appears as the drain current of the MISFET 211.
  • the difference between the two vectors that is, the degree of approximation, is determined according to the magnitude of the drain current. Therefore, as the number of vector elements to be compared increases, it is necessary to detect the drain current with high accuracy, and there is a problem that it is difficult to determine the degree of approximation.
  • a first object of the present invention is to provide a stochastic operation element that can be manufactured by the current semiconductor process technology, a driving method thereof, and a recognition processing device using the same.
  • a second object is to provide a driving method and a recognition processing device using the same.
  • the present invention provides a stochastic operation element capable of easily determining the degree of approximation even if there are many vector elements to be compared, a driving method thereof, and a recognition processing device using the same. That is the third purpose.
  • a stochastic operation element includes: a fluctuation generator that outputs an analog amount having fluctuation; and a fluctuation generator that outputs a difference between two analogs.
  • a fluctuation difference calculating means for outputting fluctuation difference data to which an output is added, a threshold processing device for outputting a pulse by performing threshold processing on an output of the fluctuation difference calculating means, and detecting a pulse output from the threshold processing device.
  • the fluctuation difference calculating means includes: a distance calculator for calculating a difference between the two analog data; and a summer for summing an output of the distance calculator and an output of the fluctuation generator. Is also good.
  • the fluctuation difference calculation means includes: a summer that sums one of the two analog data and the output of the fluctuation generator; and an output of the summer and the other of the two analog data. And a distance calculator for calculating the difference between the two.
  • the pulse detection means may include a counter that counts the pulses. With such a configuration, the difference between the two data can be accurately detected based on the number of pulses.
  • the pulse detecting means may include an integrator for integrating a width of the pulse. With such a configuration, the width of only the number of pulses can be detected, so that the difference between the two data can be detected with higher accuracy.
  • the two data may be element data representing each element of the two vectors—evening.
  • the two vectors are a reference vector and an input vector input from the outside, and have a plurality of stochastic calculation circuits corresponding to the elements of the reference vector and the input vector, respectively.
  • a memory for storing the input element data of the reference vector, the element data of the reference vector stored in the memory, and the input vector
  • the fluctuation difference calculating means for outputting a fluctuation difference data obtained by adding an output of the fluctuation generator to an analog difference with the element data of the following, and the threshold value processing means; Pulses output from the plurality of stochastic arithmetic circuits may be detected.
  • the calculation of the difference between the vector elements is performed in parallel, so that the distance between the input vector and the reference vector, that is, the degree of approximation can be detected at high speed. Furthermore, the difference between the elements of the input vector and the reference vector is output as a pulse, and the degree of approximation of the input vector and the reference vector is detected as the sum of the pulses. Even if there are many elements in the torque, the degree of approximation can be easily determined.
  • One end of the pulse output terminals of the plurality of stochastic operation circuits is connected in parallel to a common line connected to the pulse detection means, and the other end of the plurality of stochastic operation circuits is a pulse output terminal of the plurality of stochastic operation circuits.
  • a delay circuit may be provided at a portion between the connection portions of the first and second circuits. With such a configuration, the total sum of the pulses can be detected with high accuracy even if the pulses are output from the stochastic operation circuits at the same timing.
  • a plurality of vector sequence comparison circuits having the plurality of stochastic operation circuits and the pulse detection means may be provided. With such a configuration, the input vector can be compared with multiple reference vectors at once.
  • the memory may be an analog memory, and the element data of the analog reference vector may be stored in the analog memory.
  • a reference vector can be written in advance, and the input vector can be compared with this.
  • the analog memory may include a source follower circuit having a gate electrode connected to a ferroelectric capacitor, and analog element data of the reference vector may be input and stored in the ferroelectric capacitor.
  • a paraelectric capacitor may be further connected to the gate electrode of the source follower circuit.
  • the fluctuation difference calculation means includes an adder for adding one of an analog difference between the two data or the two data of the analog and an output of the fluctuation generation circuit, and the adder is connected to a gate electrode.
  • a source follower circuit in which first and second capacitors are connected in parallel; an output of the fluctuation generating circuit is input to the first capacitor; an analog of the two data is input to the second capacitor; One of the two data may be input as the difference between the two or the analog data.
  • the gate electrode of the source follower circuit of the adder may be connected to a ground terminal via a switch element. With such a structure, the charge of the gate electrode of the source follower circuit can be removed.
  • the counter may be a ripple counter. With such a configuration, not only can the number of pulses be counted simply, but also by using the high-order bit of the ripple count as a flag, it is possible to easily identify the vector train in which the flag is set first.
  • the fluctuation may be chaotic fluctuation.
  • the fluctuation may be a fluctuation obtained by amplifying noise.
  • the fluctuation generator may generate a periodic output as the output having the fluctuation, and the histogram values of the outputs during one period of the periodic output may be substantially the same.
  • the distance calculator includes a subtraction element, the subtraction element includes a source follower circuit in which two capacitances are connected in parallel to a gate electrode, and the capacitances of the two capacitances are equal.
  • Generate an output V M2 as, and by inputting the voltage VMI and VM2 to the adder may calculate the absolute value of the difference between Vin and V ref.
  • the threshold processor may be constituted by a CMIS member.
  • a switch element may be provided immediately before the threshold processor.
  • the apparatus may further include a current detector that detects a current of a power supply line of the threshold processor, and a fluctuation generator control circuit that controls an output of the fluctuation generator based on an output of the current detector.
  • the fluctuation generator control circuit may increase the fluctuation width of the fluctuation generator when the current detected by the current detector is smaller than a predetermined value.
  • the fluctuation generator control circuit When the current detected by the current detector is smaller than a predetermined value, the fluctuation generator control circuit outputs a positive or negative value to the output of the fluctuation generator so that the average value approaches the threshold value of the threshold value processor.
  • a bias may be added.
  • the method for driving a stochastic operation element includes a plurality of stochastic operation circuits corresponding to elements of a reference vector and an input vector input from outside, a pulse detection unit, And a predetermined number of vector train comparison circuits having the pulse detection means, wherein each of the stochastic computation circuits outputs a fluctuation-producing analog amount; and A memory for storing reference vector element data to be read, and analog data of reference vector element data stored in the memory and the input vector element data stored in the memory.
  • a fluctuation difference calculating means for outputting fluctuation difference data obtained by adding the output of the fluctuation generator to the difference; and a threshold value processing means for outputting a pulse by performing threshold processing on the output of the fluctuation difference calculating means.
  • the pulse detection means detects a pulse output from a threshold processor of the plurality of stochastic arithmetic circuits, thereby determining a distance between the input vector and the reference vector.
  • a method of driving a stochastic operation element to be detected wherein when the number of rows of the vector row comparison circuit is smaller than the number of rows of reference vectors, the reference vector having a short distance from the input vector is used.
  • k pieces k is a natural number
  • the number of the reference vectors equal to or less than the number of columns of the vector sequence comparison circuit is reduced to a plurality of stochastic functions of the vector sequence comparison circuit.
  • the above-mentioned k reference vectors are extracted from the written reference vector, and then the vector column comparison circuits other than the vector column comparison circuit from which the reference vector is extracted are written. Then, the extraction is performed by writing at least a part of the remaining reference vectors.
  • the writing of the reference vector and the extracting operation may be further repeated.
  • a recognition processing device extracts a probabilistic operation element according to claim 1 and a feature of recognition target information input from the outside, and extracts the extracted feature from the input vector.
  • a feature extraction circuit for inputting the probabilistic operation element to the memory; and a memory for storing a reference vector group obtained by vectorizing the characteristics of the recognition target information.
  • the recognition target information is recognized by specifying a reference vector corresponding to the input vector from the stored reference vector group.
  • the recognition target information may be voice.
  • the reference vector group is composed of a vector group in which voice features are arranged in time series, and speech features recognized as being the same for humans are arranged in time series with respect to each other. It may have multiple rows of vectors.
  • the recognition target information may be an image.
  • the reference vector group is a vector group in which features of images that are recognized as the same to humans but are numerically different from each other are vectorized. Is also good.
  • the image that is recognized as the same by the human may be a human part, and the feature amount of the numerically different image may be the distance between the human parts.
  • the recognition target information may be a human action, and the recognized action may be output.
  • the reference vector group may be a vector group in which data obtained by digitizing human activity information is vectorized.
  • the response to the output action is favorable, at least a part of the value of the reference vector is changed so that the reference vector corresponding to the output action is easily selected, and If the reaction is negative, at least a part of the value of the reference vector may be changed so that the reference vector corresponding to the output action is difficult to select.
  • the activity information includes the operation history of electrical devices, infrared sensor output, room temperature sensor output, humidity sensor output, body temperature sensor output, brain wave sensor output, pulse sensor output, gaze sensor output, sweating sensor output, myoelectric potential sensor output, It may include at least one of the date and time information, the day of the week information, and the output of the recognition processing device.
  • FIG. 1 is a circuit diagram showing a configuration of a stochastic operation element according to Embodiment 1 of the present invention.
  • FIG. 2 is a block diagram showing a configuration example of the fluctuation generator of FIG.
  • FIG. 3 is a circuit diagram showing a configuration example of the counter of FIG.
  • Fig. 4 is a block diagram showing the structure of the stochastic operation circuit in Fig. 1 in more detail. It is.
  • FIG. 5 is a block diagram showing a configuration example of the data storage unit in FIG.
  • FIG. 6 is a circuit diagram showing an example of the configuration of the analog memory cell array of the present embodiment.
  • FIG. 7 is a circuit diagram showing a first configuration example of the analog memory of FIG. 5.
  • FIG. 8 is a graph showing input-output characteristics of a source follower circuit used in the analog memory of FIG.
  • FIG. 9 is a circuit diagram showing a second configuration example of the analog memory of FIG. 5.
  • ⁇ FIG. 10 is a graph showing a hysteresis characteristic of the ferroelectric capacitor shown in FIGS. 7 and 9. .
  • FIG. 11 is a circuit diagram showing an example of a configuration of a subtraction element included in the distance calculator of FIG.
  • FIG. 12 is a graph showing an input-output characteristic of a source follower circuit constituting the subtraction element of FIG.
  • FIG. 14 is a graph showing an input-output characteristic of another subtraction element in the case of FIG.
  • FIG. 15 is a circuit diagram showing a configuration of a circuit for performing an absolute value operation by applying the characteristics of the subtraction elements shown in FIGS. 13 and 14.
  • FIG. 16 is a graph showing an input-output characteristic of the distance calculator of FIG. 4, and FIG. 17 is a circuit diagram showing a configuration example of the adder of FIG.
  • FIG. 18 is a circuit diagram showing a configuration example of the threshold value processor of FIG.
  • FIG. 19 is a graph showing the output of the fluctuation generator of FIG.
  • FIG. 20 is a graph showing a part of the output of the adder when the difference between the reference vector voltage and the input vector voltage is relatively large.
  • FIG. 21 is a graph showing the output of the threshold value processor when the output shown in FIG. 20 is input from the adder.
  • FIG. 22 is a graph showing a part of the output from the adder when the difference between the reference vector voltage and the input vector voltage is small.
  • FIG. 23 is a graph showing the output of the threshold value processor when the output shown in FIG. 22 is input from the adder.
  • FIG. 24 is a graph showing the number of generated pulses with respect to the number of fluctuations in the fluctuation voltage, using the degree of approximation between the reference vector data and the input vector data as a parameter.
  • FIG. 25 is a block diagram showing a stochastic operation circuit of a stochastic operation element according to Embodiment 2 of the present invention.
  • FIG. 26 is a block diagram showing a stochastic operation circuit of a stochastic operation element according to Embodiment 3 of the present invention.
  • FIG. 27 is a circuit diagram showing a configuration example of a subtraction element of a stochastic operation element according to Embodiment 4 of the present invention.
  • FIG. 28 is a block diagram showing a stochastic operation circuit of a stochastic operation element according to Embodiment 5 of the present invention.
  • FIG. 29 is a circuit diagram showing a configuration of a stochastic operation element according to Embodiment 6 of the present invention.
  • FIG. 30 is a circuit diagram showing a configuration example of the integrator of FIG.
  • FIG. 31 is a circuit diagram showing a configuration of a threshold processor of a stochastic operation element according to Embodiment 7 of the present invention.
  • FIG. 32 is a graph showing the output of the fluctuation generator when a high bias voltage is applied.
  • FIG. 33 is a graph showing the output of the fluctuation generator when the bias voltage is gradually reduced from the state of FIG.
  • FIG. 34 is a fluctuation generator of a stochastic operation element according to Embodiment 8 of the present invention. 6 is a graph showing the output of the above.
  • FIG. 35 is a block diagram schematically showing a configuration of a speech recognition apparatus according to Embodiment 9 of the present invention.
  • FIG. 36 is a diagram for explaining the features of the reference vector data group stored in the memory of the speech recognition device according to Embodiment 10 of the present invention.
  • FIG. 37 is a block diagram schematically showing the configuration of the image recognition device according to Embodiment 11.
  • FIG. 38 is a schematic diagram showing feature amounts when a human face is recognized.
  • FIG. 39 is a block diagram showing a configuration of the behavior recognition device according to the present embodiment.
  • FIG. 40 is a perspective view schematically showing the structure of a conventional arithmetic element.
  • FIGS. 41 (a) and (b) are schematic diagrams showing the operation principle of the conventional operation element of FIG. 40 in an equivalent circuit. [Best mode for carrying out the invention]
  • FIG. 1 is a circuit diagram showing a configuration of a stochastic operation element according to Embodiment 1 of the present invention.
  • the stochastic computing element 1 of the present embodiment is a vector train comparison circuit C that can change the number of pulses or the pulse width generated according to the distance between corresponding elements of the input vector and the reference vector. This element calculates the distance between the vectors in parallel at high speed by counting the pulse output from the basic cells for the same vector train with n as the basic cell.
  • the present embodiment exemplifies a case in which a random signal found in chaos or the like is superimposed to obtain a pulse output from a basic cell.
  • the electric quantity is used as a physical quantity representing the vector data.
  • the method of using pressure will be described.
  • the distance between the vectors is described in the case of the Manhattan distance. That is, a case will be described in which the absolute value of the difference between the vector elements is calculated as the distance.
  • the stochastic operation element 1 includes a vector sequence comparison circuit C p, an input voltage output device 13, a fluctuation generator 15, a count acquisition device 19, and a flag detector 17. have.
  • the vector column comparison circuit C p is provided with m columns (in the present embodiment, for example, 10000 columns).
  • a vector sequence comparison circuit of y (y is a natural number from l to m) columns is specified and designated as C py with a suffix y when specifying and indicating an arbitrary vector sequence comparison circuit.
  • C p it is written as CP without subscript.
  • Each vector sequence comparison circuit Cp has n (in the present embodiment, for example, 14) stochastic operation circuits, a delay circuit 7, a switch S, and a counter Ct.
  • the stochastic operation circuit C c in one vector sequence comparison circuit C p is provided corresponding to the element of the vector to be compared. Therefore, the stochastic operation element 1 can compare vectors having 2 or more and n or less elements.
  • m input vectors are written in the entire vector sequence comparison circuit C p1 to C pm, but the input values written in a certain vector sequence comparison circuit C p Vectors are called vector trains.
  • the stochastic operation circuit C c is arranged in a matrix of n rows and m columns in the entirety of the vector column comparison circuit C p of m columns, as shown in FIG.
  • Tol column comparison circuit C p is specified by a row, and X (X is a natural number from 1 to n) is used to specify and designate a stochastic operation circuit C c of a row.
  • X is a natural number from 1 to n
  • the suffix y is added to each of the S ty And Cty, and when referring to an arbitrary switch S and counter Ct, they are written as S and Ct without a subscript.
  • the delay circuit 7 includes, for example, an inverter. Then, the output terminals of the adjacent stochastic operation circuits C c are connected to each other via the delay circuit 7, and the output terminals of the stochastic operation circuits C cn of the last row are connected to the counter C t via the switch S. I have.
  • the input voltage output device 13 converts the input data composed of the elements of the input vector and the reference vector into voltages, respectively, and converts this into a probabilistic value corresponding to each element of the vector. Output to arithmetic circuits C c1 to C cn respectively. The input voltage output device 13 calculates and outputs the input data by using a formula described later.
  • the fluctuation generator 15 has a function of outputting a voltage having fluctuation (hereinafter referred to as a fluctuation voltage), and outputs the fluctuation voltage to a stochastic operation circuit for all rows of the vector column comparison circuits C p 1 to C pm of all columns. Output to Cc1 ⁇ Ccn respectively.
  • each vector train comparison circuit Cp the probabilistic operation circuits Cc1 to Ccn output respective pulses described later.
  • the pulses output from the stochastic calculation circuits Cc1 to Ccn are adjusted by the delay circuit 7 so as not to overlap each other. That is, when the switch S is in the ⁇ n state, a certain fluctuation voltage is input to the vector column comparison circuit C p, and even if the stochastic operation circuits C c1 to C cn of all rows output pulses, In the counter C t, n pulse trains (14 in this embodiment) are input at a predetermined interval.
  • the counter Ct counts the number of pulses.
  • the power counter C t for example, an asynchronous ripple counter using a D flip-flop as described later is used.
  • the counter C t outputs, for example, its most significant bit to the flag detector 17.
  • the flag detector 17 is connected to all the vector column comparison circuits.
  • the counters C t 1 to C tm belonging to C l to C pm the counters C tl to C tm which first reach a predetermined count number, and further, the vector sequence comparison circuits C p 1 to C pm are detected. Can be. This makes it possible to rapidly extract, from among the input vectors, input vectors whose degree of approximation to the reference vector is higher than a predetermined level.
  • the count number of the counter Ct is output to the count number acquiring unit 19, and the counting number acquiring unit 19 acquires the outputs of all the vector string comparison circuits Cp1 to Cpm.
  • the count numbers of the vector sequence comparison circuits C pl to C pm acquired by the count number acquisition unit 19 are not shown.
  • the input vector may be compared by a comparator, and the input vector having a higher degree of approximation to the reference vector may be extracted in that order. Since the number of vector sequence comparison circuits C p is much smaller than that of the stochastic operation circuit C c, such a comparison can be performed at a sufficiently high speed with a conventional computer.
  • FIG. 2 is a block diagram showing a configuration example of the fluctuation generator 15 of FIG.
  • the fluctuation generator 15 includes an arithmetic unit 21 and a delay circuit 23.
  • the fluctuation in the present invention refers to an irregular or regular fluctuation of an analog quantity (physical quantity) which satisfies the following conditions.
  • irregular fluctuations it is necessary that the average value of the fluctuating analog quantities has substantially no bias on the time axis.
  • regular fluctuation The fluctuation width of the periodic fluctuation fluctuates at a predetermined period, and the deviation on the time axis is substantially shifted to the average value of the periodically changing analog amount within the predetermined period. Must not be present.
  • irregular fluctuations The regular fluctuation will be described in Embodiment 8.
  • FIG. 2 shows an example of a configuration that generates mouth dystopic chaos.
  • the arithmetic unit 21 shown in FIG. 2 performs an arithmetic operation on the input vector data X (t) according to the following equation.
  • a is a constant, for example 3.96.
  • X (t) be the input voltage V at a certain point in time, and let this result be the output voltage X (t + 1) calculated according to equation (1). Furthermore, by using this X (t + 1) as the input of the next step by the delay circuit 23, a voltage of chaos fluctuation can be generated.
  • a random voltage can be similarly obtained without using such a chaos generating circuit, for example, by amplifying thermal noise generated in a semiconductor substrate.
  • FIG. 3 is a circuit diagram showing a configuration example of the counter Ct in FIG.
  • reference numeral 25 indicates a D flip-flop.
  • the counter C t is a non-uniform counter using a so-called D flip-flop. It consists of a seasonal council.
  • V pu 1 When the voltage pulse V pu 1 is input to the counter C t, the high outputs of D 0 , D 1... D n are switched in a binary manner.
  • the output of D n is connected to the flag detector 17, and the vector where D josbecomes 1" 1 ig first What is necessary is just to detect the torr train.
  • the flag detector 17 may always count the number of high-level flags.
  • the flag will be set to High more stochastically, so that the operation speed can be prioritized.
  • the count itself may be acquired by the count acquisition unit 19 and compared by a comparator (not shown).
  • FIG. 4 is a block diagram showing the structure of the stochastic operation circuit Cc in FIG. 1 in more detail.
  • the stochastic operation circuit C c has a data storage unit 41, a distance operation unit 43, an adder 45, and a threshold value processor 47.
  • the distance calculator 43 and the adder 45 constitute the fluctuation difference calculator 401.
  • One reference vector data (exactly, data of an element of the reference vector) is written in the data storage unit 41 by a wiring (not shown).
  • the distance calculator 43 calculates the input vector data output from the input voltage output unit 13 (more precisely, the data of the elements of the input vector) and the input vector data stored in the data storage unit 41. Outputs a voltage proportional to the absolute value of the difference.
  • the adder 45 outputs a voltage proportional to the sum of the output of the distance calculator 43 and the output of the fluctuation generator 15, that is, outputs a superimposed voltage.
  • summation means, as described above, a plurality of analog quantities. This means to calculate an analog quantity proportional to the sum.
  • the threshold processor 47 performs threshold processing on the output of the adder 45.
  • the output of the threshold value processor 47 is output to the switch 9 directly or via the delay circuit 7, as shown in FIG.
  • FIG. 5 is a block diagram showing a configuration example of the data storage section 41 of FIG.
  • the data storage unit 41 has an operation * D / A converter 53, a switch 55, and an analog memory 57.
  • Reference numeral 51 indicates digital reference vector data (more precisely, data of elements of the reference vector).
  • the reference vector data is stored in, for example, a DRAM ⁇ flash memory, or an external storage device such as a hard disk.
  • the data storage unit 41 digitally executes a simple operation, which will be described later, in the arithmetic-A converter 53 on the digital reference vector data 51 and expresses this as a physical quantity (voltage in the present embodiment).
  • analog reference vector data is converted to analog reference vector data, and the analog reference vector data is input to the analog memory 57 in a pulse form by the switch 55 to store the analog reference vector data. are doing.
  • analog memory 57 also has means for inputting a reset signal.
  • analog refers to expressing data (for example, numerical values) using continuous physical quantities (for example, voltages).
  • FIG. 6 is a circuit diagram showing an example of the configuration of the analog memory cell array of the present embodiment.
  • reference numerals 59 (1), 59 (2) indicate wiring.
  • the analog memory 57 of FIG. 5 includes one stochastic operation circuit C c of FIG. 1 arranged in a matrix. Therefore, the analog memories 57 are also arranged in a matrix corresponding to the stochastic operation circuit C c, and the memory cells array in FIG. 6 is constituted by the analog memories 57 arranged in the matrix.
  • Figure 6 shows the memory cell array when the number of vector columns is i and the number of vector elements is j. In this case, the memory cell array has an i-line and j-column analog memory 57.
  • Fig. 6 shows only a part of this, that is, the 4-row, 4-column part. Also, wiring for resetting is omitted.
  • wirings 59 (1) and 59 (2) are provided to connect the switches 55 to ⁇ ] 7 ⁇ corresponding to the columns (vector columns) of the analog memory 57, respectively. Have been.
  • An arithmetic / DZA converter 53 is provided for each row (vector element) of the analog memory 57.
  • the analog cell array configured as described above, if one of the wirings 59 (1) and 59 (2) is selected and set to High, for example, all the switches 55 in that row are ⁇ ⁇ ⁇ The state becomes n, whereby the digital reference vector data 51 is converted into digital reference vector data by the arithmetic / DZA converter 53, and is then transferred to the analog memory 57 of the selected column. Written in parallel.
  • the reference vector data can be written at high speed by sequentially performing the column selecting and writing operations for all the columns of the analog memory 57.
  • Such matrix-like writing is made possible by the analog memory 57 having non-volatility as in a configuration example described later.
  • the vector group of the i-th column having j elements is configured to be sequentially written to the memory cell array for each column of the vector. However, this vector group is written for each element of the vector. , May be sequentially written to the memory cell array.
  • wirings 59 (1), 59 (2),... are provided corresponding to the rows (vector elements) of the analog memory 57, and the columns ( An operation .D / A converter 53 may be provided for each vector sequence.
  • FIG. 7 is a circuit diagram showing a first configuration example of the analog memory 57 of FIG. 5
  • FIG. 8 is a graph showing an input-output characteristic of a source follower circuit used for the analog memory 57 in FIG.
  • the analog memory 57 of the present example is composed of a source follower circuit 63 and a source follower circuit 63, which constitutes a source follower circuit 63 (Complementary MISFET, hereinafter abbreviated as CMIS). And a ferroelectric capacitor 65 connected to a gate electrode (hereinafter referred to as a floating gate electrode) 63a.
  • CMIS Complementary MISFET
  • the source follower circuit 63 has a voltage V proportional to the input voltage V FG over a range that is within the range of the power supply voltage V DD . Has the property of outputting utl .
  • the operation of the analog memory 57 configured as described above will be described.
  • Vw voltage corresponding to the analog reference vector data
  • the ferroelectric is polarized, and the ferroelectric material is polarized.
  • the potential V FG changes.
  • the source follower circuit 63 outputs a voltage V outl according to the changed potential V FG according to the characteristic.
  • the remanent polarization of the ferroelectric material of the ferroelectric capacity 65 is maintained in a nonvolatile manner.
  • the voltage V w is stored in nonvolatile to Ana port Gumemori 5 7, filled, so that the written.
  • the voltage V is stored in nonvolatile to Ana port Gumemori 5 7, filled, so that the written.
  • the write operation can be performed by appropriately switching the output of the arithmetic / DZA converter 53, and the arithmetic / occupation area and write of the arithmetic / DZA converter 53 can be performed. Wiring can be greatly reduced.
  • the ferroelectric capacitor 65 functions as an analog memory.
  • this structure has a two-transistor-one-capacitor configuration, so the cell occupation area is small. This is advantageous.
  • FIG. 9 is a circuit diagram showing a second configuration example of the analog memory 57 of FIG.
  • the analog memory 57 of the present example was connected in parallel to the source follower circuit 63 and the floating gate electrode 63 a of the CMIS constituting the source follower circuit 63. It has a ferroelectric capacity 65 and a paraelectric capacity 73.
  • a write voltage Vw is applied between the upper electrode N 1 of the ferroelectric capacitor 65 and the upper electrode N 2 of the paraelectric capacitor 73.
  • the ferroelectric has a large relative permittivity
  • the potential V FG can be determined by the balance between the capacitance of the ferroelectric capacitor 65 and the capacitance of the paraelectric capacitor 73, the size of the MISFET can be made equal to that of the peripheral circuit. It becomes cheerful.
  • the paraelectric capacitor 73 be made of a material having a high dielectric constant. For example, if barium titanate * strontium (BST) or the like is used, a material having the same size as the ferroelectric capacitor is used. can do.
  • FIG. 10 is a graph showing the hysteresis characteristics of the ferroelectric capacitors shown in FIGS. 7 and 9.
  • the horizontal axis indicates the distribution voltage of the ferroelectric.
  • this distribution voltage is [Vw] — [VFG] Shows the distribution voltage to the ferroelectric, calculated by Also, in the case of the analog memory 57 in FIG. 9, the voltage distributed to the ferroelectric when the write voltage Vw is applied is shown.
  • the reset voltage Vres is applied once, the polarization is saturated to either negative or positive, and then the write voltage Vw is applied.
  • V FG has been obtained. That is, after applying a reset pulse V res, by applying a V wl, polarization of the ferroelectric is moving on the saturation curve, the residual polarization
  • P rl becomes, upon application of a V w2 after applying the reset Bok pulse V res, likewise remanent polarization becomes P r2. That is, the write voltage V wl, against the V w2 uniquely remanent polarization P rl, the P r2 determined.
  • the potential V FG of the floating electrode is determined by the remanent polarization value, and the analog voltage V is determined by the characteristics of the source follower circuit 63. utl is output.
  • the analog memory 57 used in the present embodiment has a feature that the number of elements is small and is nonvolatile, it is an extremely effective analog memory for the stochastic operation element of the present embodiment.
  • FIG. 11 is a circuit diagram showing an example of a configuration of a subtraction element included in the distance calculator 43 of FIG.
  • a subtraction element 72 is connected in parallel with a source follower circuit 63 and a gate electrode (floating gate electrode) 73 a of the CMIS constituting the source follower circuit 63. And a first capacitor 75 and a second capacitor 77 connected respectively to the first and second capacitors.
  • the voltage V 1 is input to the first capacitor 75.
  • the voltage V 2 is input to the second capacitor 77. Later for the definition of the voltage VV 2.
  • the potential of the floating gate electrode 73 a of the source follower circuit 73 is V FG2
  • the capacitance of the first capacitor is C
  • the capacitance of the second capacitor is C 2
  • the P-channel CMIS hereinafter, P 7 3 P and N-channel CM IS (hereinafter abbreviated as NCM IS)
  • V FG1 ⁇ V x + V 2 ) 4)
  • V M1 corresponding to this potential V FG2 is output due to the characteristics of the source follower circuit. That is, an output proportional to the sum of V i and V 2 is obtained.
  • Ci is large relative to (C N + CP)
  • the value of ⁇ approaches 0.5
  • the element 72 has a characteristic of outputting a value close to the average value of the input voltage.
  • V Z is a correction voltage, which is calculated by an expression described later.
  • Vin corresponds to the input vector
  • the input voltage output unit 13 in FIG. 4 outputs the calculation result of equation (6) as a voltage
  • V ref corresponds to the reference vector data.
  • the output of the data storage unit 41 of the stochastic calculation circuit C c in FIG. 4 outputs a voltage corresponding to the calculation result of the equation (5). I do.
  • V F G2 2aV z + a (V ref -V in ) (7) That is, the voltage corresponding to the reference vector data (hereinafter referred to as the reference vector voltage) V ref and the voltage corresponding to the input vector data (hereinafter can be a difference in Baiasu 2 ⁇ V Z shifted the voltage) V in that the input base click Bok Le voltage is obtained V FG2, performs effectively subtraction.
  • FIG. 12 is a graph showing the input-output characteristics of the source follower circuit 73 constituting the subtraction element 72 of FIG.
  • the source follower circuit 73 has a VL. W against input voltage V FG2 in the range of V High from, you output a voltage V M in the range from V ss of V DD.
  • V L is the starting point at which the output of the source follower circuit 73 starts to increase linearly.
  • W the above V z is determined so as to satisfy the following equation.
  • V low 2aV z ... (8 ) Then that that Do and having an output characteristic, such as the following for the difference between the V ref and V in.
  • V ref 1 [V]
  • VV 2 is given by the following equation, the difference calculation in the reverse direction can be executed.
  • V l Vz-V r t ef (1 ⁇ )
  • V 2 Vz + V in ⁇ ⁇ -(ID)
  • the input-output characteristics of the subtraction element 73 are shown in Fig. 14.
  • the input vector voltage V in and the reference vector voltage V The output voltage increases proportionally when the difference between ref is positive.
  • FIG. 15 shows a circuit that performs an absolute value calculation by applying the above characteristics.
  • reference numeral 81 denotes a subtractor.
  • the subtracter 81 is configured such that a pair of subtraction elements 82 a and 82 b are arranged in parallel, and the output thereof is input to the adder 83.
  • the subtraction elements 82a and 82b are both composed of the subtraction element 72 of FIG.
  • V 2 or V 22 is determined according to the equations (10) and (11)
  • the input-output characteristics of the subtraction element 82 a and the subtraction element 82 b are respectively shown in FIG. 13 and FIG.
  • the characteristics are shown in Fig. 14.
  • the adder 83 has a voltage V proportional to the sum of its input voltages V M1 and V M2 according to equation (4) and the characteristics of the source follower circuit 83 a.
  • Output ut3 is composed of the subtractor 81.
  • FIG. 16 is a graph showing the input-output characteristics of the distance calculator 43 of FIG. As shown in FIG. 16, the distance calculator 43 can output a voltage proportional to the absolute value of the difference between the reference vector voltage and the input vector voltage.
  • the outputs from the input voltage output unit 13 and the data storage unit 41 shown in FIG. 4 are used to input to the subtraction elements 82a and 82b, respectively. Two systems are required, but these are omitted in Fig. 4.
  • FIG. 17 is a circuit diagram showing a configuration example of the adder 45 of FIG.
  • the adder 45 is connected to the source follower circuit 93 and the gate electrode (floating gate electrode) 93 a of the CMIS constituting the source follower circuit 93. It has a first capacitor 95 and a second capacitor 97 connected to each other in parallel.
  • the output (hereinafter referred to as distance voltage) V out3 of the distance calculator 43 is input to the first capacitor 95 .
  • the second capacitor 97 has an output voltage of the fluctuation generator 15 (hereinafter referred to as a fluctuation voltage) V ea . Is entered.
  • the operation of the adder 45 is the same as that of the adder 83 in FIG. 15, except for the fluctuation voltage V cao and the distance voltage V. Since the summation with ut3 can be executed in analog fashion, its output V. As ut4 , distance voltage V. An output with fluctuation superimposed on ut3 is obtained.
  • FIG. 18 is a circuit diagram showing a configuration example of the threshold value processor 47 of FIG.
  • a CMIS inverter is used as the threshold value processor 47.
  • the output V of the adder 23 is applied to the gate 47a of the CMIS receiver.
  • ut4 is entered .
  • ut4 is a distance voltage V having a flat waveform.
  • a fluctuation voltage V ca having a fluctuation waveform on ut3 .
  • the CMIS inverter outputs a pulsed voltage Vpui .
  • a predetermined number of columns (here, 10000 columns) of digital reference vector data are sequentially calculated, element by element, by a D * A / A converter. Is converted into analog data and written as a reference vector voltage V ref in the data storage section 41 of each of the stochastic arithmetic circuits C c1 to C cn of each vector column comparison circuit C p1 to C p. Then, a predetermined operation is performed in the data storage 41 and output to the distance calculator 43.
  • digital input base-vector data is converted in DZA converter (not shown) to the input base-vector voltage V in analog, the is subjected to predetermined operation by the input voltage output circuit 1 3 the distance calculator 4 3 Is output.
  • the distance calculator 43 calculates the absolute value of the difference between the reference vector voltage Vref and the input vector voltage Vin based on these input voltages (the Manhattan between the reference vector element and the input vector element). Distance) and outputs this to the adder 45 as a distance voltage V out3.
  • the adder 45 calculates the distance voltage V out3 and the fluctuation voltage V ca input from the fluctuation generator 15. And add the distance voltage. V. Fluctuation voltage V ca on ut3 . Is the superimposed voltage V. ut4 is output to the threshold processor 47 .
  • the threshold processor 47 outputs the output voltage V of the adder 45. ut4 is thresholded and a pulse-like voltage V pu is output.
  • This pulse-like voltage V pu output from each stochastic operation circuit C c, is counted by the counter C t for each vector train comparison circuit C p.
  • the count number is detected by the count number acquisition unit 19 or the flag detector, and the degree of approximation between each reference vector data and the input vector data is determined based on the detection result.
  • FIG. 19 is a graph showing the output of the fluctuation generator 15 of FIG.
  • the horizontal axis indicates the number of fluctuations.
  • the output of the fluctuation generator 15 generates seemingly random chaotic fluctuations.
  • Fig. 20 is a graph showing a part of the output of the adder 45 when the difference between the reference vector voltage and the input vector voltage is relatively large (approximately 1.5 [V]). It is.
  • FIG. 22 is a graph showing a part of the output from the adder 45 when the difference between the reference vector voltage and the input vector voltage is small (approximately 0.8 [V]). .
  • FIG. 23 shows the output from the threshold processor 47 in this case. From the comparison between FIG. 21 and FIG. 23, the threshold processor 47 It can be seen that the smaller the absolute value of the difference between the reference vector voltage and the input vector voltage is, the more pulses are generated.
  • Fig. 24 shows the results of a more detailed study of this characteristic.
  • FIG. 24 is a graph showing the number of generated pulses with respect to the number of fluctuations at the fluctuation voltage V cao, and the degree of approximation between the reference vector data and the input vector data as a parameter.
  • the degree of approximation is defined as a value obtained by subtracting from 1 the absolute value of the difference between the reference vector voltage and the input vector voltage normalized by the power supply voltage. In other words, the higher the degree of approximation, the more similar the two vectors are.
  • the number of pulse generations is 100 for 100 fluctuations.
  • the pulse generation probability increases as the degree of approximation increases. Since these pulses are generated stochastically, they do not show a linear increase, but it is understood that the difference due to the degree of approximation becomes more stable as the number of fluctuations increases.
  • This fluctuation and stochastic pulse generation by threshold processing are the essence of the stochastic operation element of the present invention, and lack the rigor of a conventional computer, but as the number of fluctuations increases, the probability increases in accuracy. It will improve.
  • vector processing can be performed very flexibly in information processing that requires an operation result immediately even if the accuracy is low, or when accuracy is important even when the operation time is long. It means that a new concept element can be provided.
  • the number of vector columns is 100,000.
  • the input vector is An example will be described in which a similar column is extracted with 100 columns.
  • the reference vector of the 1000 column is stored on the stochastic operation element 1 as described in the description of FIG.
  • the reference vector data may be written in order through the operation DZA53.
  • an input vector is input, and thereafter, a fluctuation voltage is input from the fluctuation generator 15, whereby pulses are sequentially output from the threshold value processor 47.
  • the number of vector rows that become High is monitored by the flag detector 17, and in this case, the output of the fluctuation voltage from the fluctuation generator 15 is stopped when the number of rows reaches 100.
  • 900 columns of reference vectors are written so as to skip the vector sequence for which this High is output.
  • the stochastic operation element 1 of the present embodiment can execute a large number of vector comparison operations in parallel, the comparison speed increases, especially as the number of vectors increases. Calculations can be performed much faster than computers.
  • the probabilistic calculation element 1 is based on the premise that the calculation principle is probabilistic in the first place. It has the feature of being able to have a certain degree and being easy to manufacture. Further, according to the present embodiment, the stochastic operation element 1 can be constituted by a conventional circuit element such as a transistor or a capacitor, and can be manufactured by a semiconductor process technology.
  • the Manhattan distance can be calculated.
  • the difference (distance) of each element between the reference vector and the input vector is output as a pulse, and the degree of approximation between the reference vector and the input vector is determined based on the sum of the pulses. Even when the number of elements in the vector to be compared is large, the degree of approximation can be easily determined.
  • the stochastic operation element 1 of the present embodiment can provide an operation element of a third operation method that is neither conventional digital operation nor analog operation.
  • the present invention is not suitable for strict logical operations, it can perform vector matching, which occurs frequently in recognition processing and the like, at a very high speed, and can provide an extremely useful element that assists a conventional semiconductor element. .
  • each component circuit is described as a device having a structure in which a plurality of capacitors are arranged at the gate of a source follower.
  • a desired operation can be obtained as long as the device can perform the same operation.
  • chaos is not particularly limited to logistic chaos. Can be expected.
  • the counter has been described in connection with the D flip-flop. However, other counters can be used without any problem.
  • a voltage is used as an analog physical quantity representing data of the reference vector and the input vector.
  • the present invention is not limited to this, and another physical quantity, for example, a current may be used.
  • FIG. 25 is a block diagram showing a stochastic operation circuit of a stochastic operation element according to Embodiment 2 of the present invention.
  • the same or corresponding parts as those in FIG. 4 are denoted by the same reference numerals, and description thereof will be omitted.
  • the stochastic operation element of the present embodiment is different from the first embodiment in that the distance calculation between the vector elements is performed by a digital circuit.
  • the stochastic operation circuit 301 corresponds to the stochastic operation circuit Cc of the first embodiment.
  • the other points are the same as in the first embodiment.
  • digital input vector data 303 is input to the digital distance calculation circuit 305.
  • the digital distance calculation circuit 300 uses, for example, the input digital input vector data 303 and the digital reference vector data 51 to determine, for example, the elements between the reference vector and the input vector. Calculate the absolute value of the distance.
  • the result of this operation is converted to analog data by the DZA converter 307 and stored in the analog memory 57.
  • the analog output of the analog memory 57 is superimposed on the output of the fluctuation generator 15 by the adder 45, and the output is subjected to threshold processing by the threshold processor 47 and output as a pulse. As a result, the same operation as in the first embodiment is performed.
  • the stochastic operation element of the present embodiment requires the operation time to execute the difference operation digitally, but the distance operation unit 43 in FIG. 4 becomes unnecessary. 4 3 is arranged in a matrix. Since the digital distance calculation circuit 305 of the embodiment only needs to be arranged for each row, the chip area can be reduced accordingly.
  • the arithmetic and DZA converter 53 of FIG. 6 is provided with the functions of the digital distance arithmetic circuit 300 and the DZA converter 307 of the second embodiment, a large number of parallel processings can be performed in the vector element direction. Since these distance calculations can be executed in a short time and the analog information of the distance can be written into the analog memory 57 in a matrix form, a stochastic calculation element with extremely high area efficiency can be realized.
  • FIG. 26 is a block diagram showing a stochastic operation circuit of a stochastic operation element according to Embodiment 3 of the present invention.
  • the same or corresponding parts as in FIG. 4 are denoted by the same reference numerals, and the description thereof will be omitted.
  • the stochastic operation circuit 99 of the third embodiment superimposes the fluctuation voltage on the input vector voltage and then sets the distance between the input vector voltage and the reference vector voltage. Calculate. Other points are the same as in the first embodiment.
  • FIG. 27 is a circuit diagram showing a configuration example of a subtraction element of a stochastic operation element according to Embodiment 4 of the present invention.
  • reference numeral 100 denotes a switch element.
  • the subtraction element 72 is further provided with a switch element 100 on the gate electrode of the source-to-source circuit constituting the subtraction element 72 of the first embodiment, and the other end of the switch element 100 is connected, for example. It has a grounded configuration.
  • the adder and the analog memory correspond to the sum of the first embodiment.
  • a switch element is further provided on the gate electrode of the source follower circuit of the calculator 45 and the analog memory 57, and the other end of the switch element is grounded, for example.
  • the gate electrode of the source follower circuit of the first embodiment is in a floating state not connected to the wiring, whereas in the fourth embodiment, the switch element 100 is reset to the reset state.
  • the cut voltage V resl By applying the cut voltage V resl , the potential of the floating electrode can be once grounded, for example.
  • FIG. 28 is a block diagram showing a stochastic operation circuit of a stochastic operation element according to Embodiment 5 of the present invention.
  • the same or corresponding portions as in FIGS. 4 and 26 are denoted by the same reference numerals, and description thereof will be omitted.
  • a switch 113 is provided immediately before the threshold value processor 47. Other points are the same as the third embodiment.
  • the stochastic operation element of the present invention generates a pulse only when a voltage having fluctuation exceeds a threshold value. If the absolute difference is small, There may be a case where the values do not cross.
  • the distance calculator 4 when the output signal 113 a is not input to the switch 113, for example, High is output, and when the output signal 113 a is input, the distance calculator 4 at that time is output.
  • the pulse is generated by forcibly crossing the threshold even when the output from the distance calculator 4 3 is continuously low and does not cross the threshold. Can be.
  • FIG. 29 is a circuit diagram showing a configuration of a stochastic operation element according to Embodiment 6 of the present invention. 29, the same or corresponding parts as in FIG. 1 are denoted by the same reference numerals, and description thereof is omitted.
  • an integrator It and a comparator 15 3 Is provided.
  • the integrators It 1 to Itm accumulate the amount of charge contained in the pulse output from the stochastic arithmetic circuit Cc, and compare the voltage corresponding to the accumulated amount of charge with the comparator 15 3 Output to The comparator 153 compares the magnitudes of the output voltages of the integrators It1 to Itm1, and extracts the higher-order integrator It (and thus the vector train). Other points are the same as in the first embodiment.
  • the stochastic operation circuit C can be extracted.
  • the pulse output from c is evaluated not only by its number but also by its width, and the degree of approximation between the reference vector and the input vector is determined based on the evaluation. Can be.
  • FIG. 30 shows a configuration example of such an integrator It.
  • the integrator It has an FET 160.
  • the gate of FET 160 is connected to switch S in FIG.
  • the capacitor 159 is connected to the source of the FET 165, and the connection point between the source of the FET 166 and the capacitor 159 is connected to the comparator 153 via the second switch 157. It is connected.
  • the stochastic computing element of the present embodiment can accumulate information as pulse widths when fluctuations over the threshold value occur for a long period of time. Column comparisons can be performed.
  • FIG. 31 is a circuit diagram showing a configuration of a threshold processor of a stochastic operation element according to Embodiment 7 of the present invention.
  • the same or corresponding parts as those in FIG. 1 are denoted by the same reference numerals, and the description thereof is omitted.
  • reference numeral 101 denotes a current detector
  • reference numeral 102 denotes a fluctuation generator control circuit
  • the stochastic operation element of the present invention generates a pulse when the difference between vectors is small and a state in which the threshold is not continuously crossed occurs. And the count is not increased even though the vector is close.
  • the stochastic operation element of the present embodiment is characterized in that the fluctuation width or the average voltage of the fluctuation generator 15 is gradually increased.
  • the fluctuation generator control circuit 102 gradually increases the fluctuation of the output voltage of the fluctuation generator 15. Eventually, when the fluctuation reaches the threshold, frequent pulses are generated. At this time, since the threshold value processor 47 of the present embodiment is composed of an inverter, a through current flows from the PMIS 47 P to the NMIS 47 N instantly when High / Low is inverted. That is. When the current detector 101 detects this through current, the fluctuation generator control circuit 102 determines that the pulse has started to be generated, and determines the fluctuation width or the average voltage of the fluctuation generator 15 at that time. Keep at the value. Thereby, it is possible to prevent the fluctuation from becoming extremely large. FIG. 32 and FIG. 33 show this operation in more detail. Fig.
  • the 32 shows the input voltage to the threshold processor 47 when a high bias voltage (approximately 1 [V]) is applied to the fluctuation generator 15.
  • a high bias voltage approximately 1 [V]
  • the threshold value is not reached, and the threshold value processor 47 does not generate a pulse. That is, the impeller 47 continues to output a low level one by one, and the through current observed at the time of inversion does not change.
  • FIG. 33 shows the input voltage to the threshold processor 27 when the bias voltage is gradually reduced from the state of FIG. 32 to about 0.5 [V].
  • the threshold processor 27 since voltage fluctuations across the threshold value occur frequently, many pulses are output as described above.
  • the through current in the invar increases, and this is observed by the current detector 101.
  • Such adjustment may be performed as described in the present embodiment by changing the average output voltage by adding a bias voltage to the fluctuation of the fluctuation generator 15, but the same applies even if the amplitude of the fluctuation is increased. It goes without saying that this function can be obtained.
  • the stochastic operation element according to the eighth embodiment of the present invention is characterized by the fluctuation generated in the fluctuation generating circuit 15, only the characteristics of the fluctuation will be described below.
  • FIG. 34 is a graph showing the output of the fluctuation generator of the stochastic operation element according to the present embodiment.
  • the output of the fluctuation generator uses chaos or thermal noise, and the computation is executed using an output showing a random behavior.
  • the output of the fluctuation generator 15 of the eighth embodiment is characterized in that it generates a regular output.
  • the magnitude of the generated output is controlled so that the output histogram is as equal as possible.
  • the voltage of the ramp waveform is Can be obtained by sampling at
  • Embodiment 9 of the present invention uses the stochastic operation elements of Embodiments 1 to 8. 1 illustrates a speech recognition device as a recognition processing device.
  • FIG. 35 is a block diagram schematically showing the configuration of the speech recognition device according to the present embodiment. 35, the same or corresponding parts as those in FIG. 1 are denoted by the same reference numerals, and the description thereof is omitted.
  • the speech recognition device includes a microphone 123, a feature extraction processing unit 121 for extracting features of speech data input from the microphone 123, and a reference vector group. And a stochastic computing element 1 that compares the feature data extracted by the feature extraction processing unit 121 with the reference vector data group stored in the memory 122 to recognize speech. And
  • the reference vector group is stored in the memory 122 as, for example, digital information.
  • basic feature data of speech is stored in advance, and if necessary, the feature data obtained by the feature extraction processing unit 121 can be stored.
  • the feature extraction processing unit 121 extracts the feature data by performing processing such as spectrum distribution and its time change on the analog voice information input from the microphone 123.
  • This feature data is input to the stochastic element 1 as an input vector.
  • the probabilistic operation element 1 compares the feature data with the reference vector group and identifies the closest reference vector data (vector matching) from among them, and corresponds to the input feature data.
  • the recognized voice is recognized as the voice corresponding to the specified reference vector data.
  • the tenth embodiment of the present invention shows an improved example of the speech recognition device of the ninth embodiment.
  • FIG. 36 is a diagram for explaining the features of the reference vector data group stored in the memory of the speech recognition device according to the present embodiment.
  • the same or corresponding parts as those in FIG. 6 or FIG. 35 are denoted by the same reference numerals, and description thereof will be omitted.
  • the speech recognition device of the present embodiment is a device in which the reference vector data group is devised in the speech recognition device of the ninth embodiment.
  • the reference vector data 51 of the present embodiment has a data structure in which speech spectrum information is arranged in a time-series manner from the front.
  • a part of the digital reference vector 51 shows Alphabet A to D, which represent characteristic information for the same voice.
  • the speech recognition apparatus is characterized in that the same data is arranged in the reference vector data group so as to be shifted from each other.
  • the stochastic computing element of the present invention can match a large number of vectors at a very high speed, the data is shifted in time in advance in consideration of such voice expansion and contraction. If you prepare, even if the time elongates or contracts, the vector sequence corresponding to it will be the closest, and you can judge which character corresponds to the input voice. (Embodiment 11)
  • Embodiment 11 of the present invention exemplifies an image recognition device as a recognition processing device using the stochastic operation element of Embodiments 1 to 8.
  • FIG. 37 is a block diagram schematically showing a configuration of the image recognition device according to Embodiment 11.
  • the same or corresponding parts as those in FIG. 35 are denoted by the same reference numerals, and description thereof will be omitted.
  • the image recognition device includes a camera 144 composed of an image sensor such as a CCD, and a feature extraction processing unit 141 that extracts features of image data input from the camera 144.
  • the memory 122 that stores the reference vector group and the feature data extracted by the feature extraction processing unit 141 and the reference vector group that is stored in the memory 122 are compared and the image is compared.
  • a probabilistic operation element 1 for recognition is included in the image recognition device.
  • the memory 122 stores, as reference vector data groups, feature amounts obtained from images and corresponding labels, such as names of the objects, as data. ing.
  • FIG. 38 shows an example in which a human face is particularly recognized.
  • the position of a part (part) such as an eye, a nose, and a mouth is first obtained from an image captured by a camera 14 3, and then a distance 15 1 between these parts is extracted as a feature amount. are doing.
  • Such a feature value 151 is extracted by the feature extraction unit 141, and this feature value 151 is input to the stochastic operation element 1 as an input vector.
  • the probabilistic computing element 1 compares the feature value 151 with the reference vector overnight group, specifies the closest reference vector data from among them, and generates an image corresponding to the input feature value.
  • the image corresponding to the specified reference vector is recognized as an image.
  • Such recognition processing is performed by a personal computer or the like.
  • the feature amount was at most about several tens, but the stochastic operation element of the present invention Since 1 can perform more vector comparisons at high speed, more features can be obtained and compared.
  • Embodiment 12 of the present invention exemplifies an action recognition device as a recognition processing device using the stochastic operation element of Embodiments 1 to 8.
  • FIG. 39 is a block diagram showing a configuration of the behavior recognition device according to the present embodiment.
  • the same or corresponding portions as in FIG. 35 are denoted by the same reference numerals, and description thereof will be omitted.
  • reference numeral 171 denotes a behavior information storage vector.
  • the behavior information storage vector stores vectorized data of human behavior.
  • Reference numeral 173 denotes a weighting coefficient adding circuit.
  • the weighting coefficient addition circuit 173 changes the vector weighting according to the response of the subject.
  • Reference numeral 175 denotes an action information input vector.
  • the behavior information input vector 175 is a vector of the subject's state.
  • the behavior information input vector 175 includes, for example, the operation history of electrical equipment indoors and outdoors of the subject, the output of an infrared sensor, the output of a room temperature sensor, the output of a humidity sensor, and the output of a humidity sensor placed in the home.
  • Situation data such as body temperature sensor output, brain wave sensor output, pulse sensor output, gaze sensor output, perspiration sensor output, myoelectric potential sensor output, and date / time information and day of the week information Represents
  • the feature amounts of voice input and image input described in the tenth and eleventh embodiments can also be used as such situation data.
  • the behavior information storage vector 17 1 further includes the behavior taken by the subject at that time or the operation of the device at that time as data.
  • the probabilistic operation element 1 extracts a similar situation in the past situation, and determines the corresponding action.The subject responds to the decision. I do. For example, if you move to the next action without hesitation in the provided action, you can judge that you have a good impression on the provided action, and if you immediately move to the action that denies the provided action, you have a bad impression on the low strength action I can judge. In addition, you may have a direct answer with Yes / No.
  • Such a subject's response is quantified by the weighting coefficient adding circuit 173, and the numerical value of the weighing coefficient in the behavior information input vector 175 is changed.
  • the element for example, if a mechanism for generating more pulses than other vectors is provided, it is possible to control the ease of selection of the vector train.
  • the probability that the automatic operation of the device that the user thought is comfortable increases, and the probability that the automatic operation that is considered uncomfortable decreases, We can provide services that match individual tastes.
  • the stochastic operation element according to the present invention is useful as an element or the like for recognition processing of a recognition processing device.
  • the method for driving a stochastic operation element according to the present invention is useful as a method for driving an element or the like for recognition processing of a recognition processing device.
  • the recognition processing device is useful as a voice recognition device, an image recognition device, a behavior recognition device, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Analogue/Digital Conversion (AREA)
  • Non-Volatile Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Abstract

本発明の確率的演算素子は、揺らぎを有するアナログ量を出力する揺らぎ発生器(15)と、2つのデータのアナログの差分に前記揺らぎ発生器の出力が加わった揺らぎ差分データを出力する揺らぎ差分演算手段(401)と、前記揺らぎ差分演算手段の出力を閾値処理することによりパルスを出力する閾値処理器(47)と、前記閾値処理器から出力されるパルスを検出するパルス検出手段とを備えている。

Description

明 細 書
確率的演算素子、 その駆動方法及びこれを用いた認識処理装置
〔技術分野〕
本発明は、 新規動作原理に基づく確率的演算素子に関し、 特に認識処 理で必須の演算であるべク トルマッチングを高速に演算することができ る確率的演算素子と、これを用いた認識処理装置を提供するものである。
〔技術背景〕
近年のパーソナルコンピュータ (P C ) の普及に見られるように、 演 算素子も家庭内での使用が大幅に増加して、単なる数値演算のみならず、 インタ一ネッ ト、 メール、 及び画像処理など、 個人的な用途での使用分 野が増加しつつある。
しかしながら、 これほど高速に演算できるようになった P Cにおいて も、 全ての演算に対して十分な速度が得られているわけではない。 例え ば、 人の発する声や言語を認識したり、 カメラに写った人が誰であるか を認識するといつた処理は、 膨大な量の演算を行う必要があるため、 実 時間 (リアルタイム) での処理は困難である。
このような認識処理の基本は、 記憶されている音声や顔などの情報を べク トル化して記憶しておき、 入力情報を同様にべク 卜ル化してこれら の近似を検出し、 どれに最も近いかという演算を行うことである。 この ようなベク トル比較処理は、 連想メモリや、 ベク トル量子化、 動き予測 等のパターン認識や、 データ圧縮等の幅広い情報処理に利用され得る基 本的な処理である。
このようなべク トル比較はいずれの用途においても膨大な演算量を要 し、 また従来の P Cに代表されるノイマン型コンピュータでは、 その原 理上、 全てのベク トル比較演算を一旦終了しないと、 どれが一番近いか を抽出できず、 結果として非常に時間を要してしまう。 一方、 人間はこれらの認識処理を何の苦もなく直ちに行うことができ る。 このことから、 従来のコンピュータと異なる処理原理のコンビュ一 夕の創出により、 これらの処理を高速に実行し、 従来のコンピュータを 補完する必要があると考えられる。
このような新規な演算原理に基づく演算素子の一例として、 特開 2 0 0 1 - 3 1 3 3 8 6公報に記載の 「情報処理構造体」 が挙げられる。 第 4 0図はこの従来の演算素子の構造を模式的に示す斜視図である。 第 4 0図に示すように、 この従来の演算素子 2 2 0では、 微細な M I S F E T 2 1 1のゲート電極 2 1 2に対向するように電源電極 2 1 4が配 置され、 両電極 2 1 2, 2 1 4の間にナノメータスケールの大きさの複 数個の量子ドッ ト 2 1 3 , 2 2 1が形成されている。 具体的には、 ゲ一 ト電極 2 1 2の幅方向 (ゲート幅方向) に一定のピッチで一対の情報電 極 2 2 2が配置され、 各対の情報電極 2 2 2の間に複数の量子ドッ ト 2 2 1が列状に配置されている。 符号 3 0 1は情報電極 2 2 2及び量子ド ッ ト 2 2 1が配置されている仮想平面を示す。 この列状に配置された量 子ドッ ト 2 2 1 とゲ一ト電極 2 1 2との間に、 さらに量子ドッ ト 2 1 3 が配置されている。 これにより、 各量子ドッ ト 2 2 1 とゲ一卜電極 2 1 2との間に電子が直接トンネルできるエネルギー障壁が形成されている, 第 4 1図(a), (b)はこの従来の演算素子 2 2 0の演算原理を等価回路で 示した模式図である。
第 4 1図(a),(b)において、各対の情報電極 2 2 2には入力パターン(入 力ベク トル) と参照パターン (参照ベク トル) とにそれぞれ対応する電 圧が入力される。 これらの電圧は、 1及び 0の 2値のいずれかを取るデ ジタル電圧である。 このような電圧が、 量子ドッ ト 2 2 1を挟む各対の 情報電極 2 2 2にそれぞれ入力されると、 各対の情報電極 2 2 2で決定 される電位によって、 電子が中央付近にとどまる (第 4 1図(a)) か、 又 は移動するか (第 4 1図(b)) が確率的に生じ、 これにより M I S F E T ( Metal Insulator Field Effect Transistor) のドレイン電流が変化する, そして、 ドレイン電流を観測しつづけることで、 確率が時間とともに 向上するため、 厳密な演算の結果に近い解を得ることができるものであ る。
しかしながら、 上記従来の演算素子 2 2 0は、 第 1に、 量子ドッ ト 2 1 3, 2 2 1を用いるため、 まず量子ドッ ト 2 1 3, 2 2 1の製造プロ セスの確立を待たなければならず、 現状の半導体プロセス技術以外の技 術を必要とするという点で煩雑である。
また、 ベクトルの比較においても、 いわゆる 2値情報の比較であった ため、 ハミング距離を求めるには有効ではあるが、 実際の情報処理で頻 繁に用いられるマンハッタン距離 (差の絶対値) などを演算するのが難 しいという課題を有している。
さらに、 上記従来の演算素子 2 2 0では、 各対の情報電極 2 2 2に、 比較する 2つのベク トル (入力べク トル及び参照べク トル) の各要素 (元) に対応する電圧が入力され、 各対の情報電極 2 2 2において各要 素の差分の演算がアナログ的かつ確率的に遂行されて、 その各要素の差 分の総和が M I S F E T 2 1 1のドレイン電流として現れる。 そして、 そのドレイン電流の大きさによって 2つのベク トルの相違、 換言すれば 近似度が判定される。 従って、 比較しょうとするベク トルの要素が多く なるに従って、 ドレイン電流を高い精度で検出することが必要とされ、 近似度の判定が困難になるという課題を有している。
〔発明の開示〕
本発明は、 現状の半導体プロセス技術で作製可能な確率的演算素子、 その駆動方法、 及びこれを用いた認識処理装置を提供することを第 1の 目的としている。
また、 本発明はマンハッタン距離を演算可能な確率的演算素子、 その 駆動方法、 及びこれを用いた認識処理装置を提供することを第 2の目的 としている。
また、 本発明は比較しょうとするベク トルの要素が多くても、 容易に 近似度を判定することが可能な確率的演算素子、 その駆動方法、 及びこ れを用いた認識処理装置を提供することを第 3の目的としている。
そして、 これらの目的を達成するために、 本発明に係る確率的演算素 子は、 揺らぎを有するアナログ量を出力する揺らぎ発生器と、 2つのデ 一夕のアナログの差分に前記揺らぎ発生器の出力が加わった揺らぎ差分 データを出力する揺らぎ差分演算手段と、 前記揺らぎ差分演算手段の出 力を閾値処理することによりパルスを出力する閾値処理器と、 前記閾値 処理器から出力されるパルスを検出するパルス検出手段とを備えている, このような構成とすると、 2つのデータのアナログの差分を演算するの で、 マンハッタン距離を演算することができる。 また、 2つのデータの アナログの差分に揺らぎが加わった揺らぎ差分データを閾値処理してパ ルスを出力するので、 2つのデータの差を高速に演算することができる。 また、 在来の回路素子で構成可能であるので、 現状の半導体プロセス技 術で作製可能である。
前記揺らぎ差分演算手段は、 アナログの前記 2つのデータの差分を演 算する距離演算器と、 前記距離演算器の出力と前記揺らぎ発生器の出力 とを和算する和算器とを備えていてもよい。
前記揺らぎ差分演算手段は、 アナログの前記 2つのデータの一方と前 記揺らぎ発生器の出力とを和算する和算器と、 前記和算器の出力とアナ ログの前記 2つのデータの他方との差分を演算する距離演算器とを備え ていてもよい。
前記パルス検出手段が、 前記パルスをカウントするカウンタを備えて いてもよい。 このような構成とすると、 パルスの数によって 2つのデ一 夕の差を精度よく検出することができる。 前記パルス検出手段が、 前記パルスの幅を積分する積分器を備えてい てもよい。 このような構成とすると、 パルスの数のみならすその幅をも 検出できるので、 2つのデータの差をより高精度で検出することができ る。
前記 2つのデータは、 2つのベク トルのそれぞれの要素を表す要素デ —夕であってもよい。
前記 2つのべク トルが外部から入力される参照べク トル及び入力べク トルであり、 前記参照べク トル及び入力べク トルの要素に対応する複数 の確率的演算回路を有し、 それぞれの前記確率的演算回路が、 前記入力 される参照ベク トルの要素データを記憶するためのメモリと、 前記メモ リに記憶された参照べク トルの要素データと前記入力される入力べク ト ルの要素データとのアナログの差分に前記揺らぎ発生器の出力が加わつ た揺らぎ差分デ一夕を出力する前記揺らぎ差分演算手段と、 前記閾値処 理器とを有し、 前記パルス検出手段は、 前記複数の前記確率的演算回路 から出力されるパルスを検出してもよい。 このような構成とすると、 ベ クトルの要素間の差の演算が並列に遂行されるので、 入力べク トルと参 照べク トルとの距離すなわち近似度を高速に検出することができる。 し かも、入力べク トル及び参照べク トルの要素間の差がパルスで出力され、 入力べク トル及び参照べク トルの近似度がそのパルスの総和として検出 されるので、 比較対象のベク トルの要素が多くても、 容易に近似度を判 定することができる。
前記複数の確率的演算回路のパルス出力端は、 一端が前記パルス検出 手段に接続された共通の配線に互いに並列に接続され、 前記共通の配線 の、 前記複数の確率的演算回路のパルス出力端との接続部の間の部分に 遅延回路がそれぞれ設けられて.いてもよい。 このような構成とすると、 各確率的演算回路からパルスが同じタイミングで出力されても、 精度よ くパルスの総和を検出することができる。 前記複数の確率的演算回路と前記パルス検出手段とを有するべク トル 列比較回路を複数備えていてもよい。 このような構成とすると、 入力べ ク トルを一度に複数の参照べク トルと比較することができる。
前記メモリがアナログメモリであり、 アナログの前記参照べク トルの 要素デ一夕が前記アナログメモリに記憶されてもよい。 このような構成 とすると、 参照ベク トルを予め書き込んでおいて、 入力ベク トルをこれ と比較することができる。
前記アナログメモリは、 ゲート電極に強誘電体キャパシ夕が接続され たソースフォロワ回路を備え、 前記強誘電体キャパシタにアナログの前 記参照べク トルの要素データが入力されかつ記憶されてもよい。
前記ソースフォロワ回路のゲ一ト電極に、 さらに常誘電体キャパシ夕 が接続されていてもよい。 このような構成とすると、 ソースフォロワ回 路のサイズを周辺回路のサイズと同等にできるため、製造しやすくなる。 前記揺らぎ差分演算手段は前記 2つのデータのアナログの差分又はァ ナログの前記 2つのデータの一方と前記揺らぎ発生回路の出力とを和算 する和算器を備え、 前記和算器がゲート電極に第 1及び第 2のキャパシ 夕が並列に接続されたソースフォロワ回路を備え、 前記第 1のキャパシ 夕に前記揺らぎ発生回路の出力が入力され、 前記第 2のキャパシタに前 記 2つのデータのアナログの差分又はアナログの前記 2つのデータの一 方が入力されてもよい。
前記和算器のソ一スフォロワ回路のゲ一ト電極が、 スィツチ素子を介 して接地端子へ接続されていてもよい。 このような構成とすると、 ソー スフォロワ回路のゲート電極の電荷を除去することができる。
前記カウンタが、 リプルカウンタであってもよい。 このような構成と すると、 簡便にパルス数をカウントできるだけでなく、 リプルカウン夕 の上位ビッ トをフラグとすることで、 先にフラグが立つたべク トル列を 容易に特定することが可能になる。 前記揺らぎが、 カオス揺らぎであってもよい。
前記揺らぎが、 雑音を増幅して得られる揺らぎであってもよい。
前記揺らぎ発生器は、 揺らぎを有する出力として、 周期的な出力を発 生し、 かつ前記周期的出力の 1周期間の出力のヒストグラム値がほぼ同 等であってもよい。
前記距離演算器は減算素子を備え、 前記減算素子は、 ゲート電極に並 列に 2つのキャパシ夕が接続されたソ一スフォロワ回路を備え、 かつ前 記 2つキャパシ夕のキャパシタンスが等しく であるとし、 前記ソー スフォロワ回路を構成する N M I S及び; P M I Sのキャパシタンスをそ れぞれ CN、 CPとし、 前記ソースフォロワ回路へ電圧を入力したときに 低電圧側の電圧源の電位より電位が上昇を開始する電圧を VL。w とする とき、 電圧 VZを VZ=VL。w/[ 2 Ci/ ( 2 Ci + CN+Cp) } の式で演算し、 か つ前記 2つのデータはそれぞれ電圧で表されかつその電圧を Vaと Vbと するとき、 Vi=Vz-Vaなる電圧と V2 = Vz+Vbなる電圧とを前記 2つのキ ャパシ夕のソースフォロワ回路のゲート電極に接続されていない方の電 極にそれぞれ印加することにより、 Va-Vbの演算において Va≥Vbの場合 の減算を実行してもよい。
前記距離演算器は、 前記減算素子を 2つ備え、 前記 2つのデ一夕をそ れぞれ Vin、 Vref とするとき、 前記 2つの減算素子の一方には Va二 Vin、 Vb=Vref として出力 VM1を得、 前記 2つの減算素子の他方には Va=Vref
として出力 VM2を得、 かつ電圧 VMIと VM2を前記和算器へ入力 することにより、 Vinと Vrefの差の絶対値を演算してもよい。
前記閾値処理器が、 C M I Sィンバ一夕で構成されていてもよい。 前記閾値処理器の直前にスィツチ素子が設けられていてもよい。
前記閾値処理器の電源供給配線の電流を検出する電流検出器と、 前記 電流検出器の出力に基づいて前記揺らぎ発生器の出力を制御する揺らぎ 発生器制御回路とをさらに備えていてもよい。このような構成とすると、 パルスが発生しているか否かをチェックし、 その結果に応じて揺らぎを 調整することにより、 効率的かつ高精度に確率演算を実行することがで きる。
前記揺らぎ発生器制御回路は、 前記電流検出器により検出される電流 が所定値より小さい場合に、 前記揺らぎ発生器の揺らぎ幅を増加させて もよい。
前記揺らぎ発生器制御回路は、 前記電流検出器により検出される電流 が所定値より小さい場合に、 前記揺らぎ発生器の出力に、 その平均値が 前記閾値処理器の閾値に近づくよう正又は負のバイアスを付加してもよ い。
また、 本発明に係る確率的演算素子の駆動方法は、 外部から入力され る参照べク トル及び入力べク トルの要素に対応する複数の確率的演算回 路と、 パルス検出手段と、 前記複数の確率的演算回路及び前記パルス検 出手段を有する所定数のべク トル列比較回路とを備え、 それぞれの前記 確率的演算回路が、 揺らぎを有するアナログ量を出力する揺らぎ発生器 と、 前記入力される参照べク トルの要素データを記憶するためのメモリ と、 前記メモリに記憶された参照べク トルの要素デ一夕と前記入力され る入力べク トルの要素デ一夕とのアナログの差分に前記揺らぎ発生器の 出力が加わった揺らぎ差分データを出力する揺らぎ差分演算手段と、 前 記揺らぎ差分演算手段の出力を閾値処理することによりパルスを出力す る閾値処理器とを有し、 前記パルス検出手段が、 前記複数の確率的演算 回路の閾値処理器から出力されるパルスを検出し、 それにより、 前記入 力べク トルと前記参照べク トルとの距離を検出する確率的演算素子の駆 動方法であって、 前記べク トル列比較回路の列数が参照べクトルの列数 より少ない場合に、 前記入力ベク トルとの距離が近い前記参照ベク トル を k個 (kは自然数) 抽出するとき、 前記ベク トル列比較回路の列数以 下の数の前記参照べク トルを前記べク トル列比較回路の複数の確率的演 算回路のメモリに書き込み、 この書き込んだ参照べク トルから前記上位 k個の参照ベク トルを抽出し、 次いで、 この参照ベク トルが抽出された べク トル列比較回路以外のべクトル列比較回路に残りの前記参照べク ト ルの少なくとも一部を書き込んで前記抽出を行う。 このような構成とす ると、 ベク トル列比較回路の列数が参照ベク トルの列数より少ない場合 でも、 入力ベク トルとの距離が近い参照ベク トルを、 高速に所定数抽出 することができるので、 それにより、 素子数の有限性を補完することが できる。
前記参照べク トルの書き込み及び前記抽出動作をさらに繰り返しても よい。
また、 本発明に係る認識処理装置は、 請求の範囲第 1項記載の確率的 演算素子と、 外部から入力される認識対象情報の特徴を抽出し、 該抽出 された特徴を前記入力べク トルとして前記確率的演算素子に入力する特 徴抽出回路と、 前記認識対象情報の特徴をべク トル化した参照べクトル 群を格納するメモリとを備え、 前記確率的演算素子が、 前記メモリに格 納された参照べク 卜ル群のうちから前記入力べク トルに対応する参照べ ク トルを特定することにより、 認識対象情報を認識する。 このような構 成とすると、 確率的演算素子が高速にべク トルの比較演算を遂行するの で、 高速に認識処理を行うことができる。
前記認識対象情報が音声であつてもよい。
前記参照べク トル群は、 音声の特徴量が時系列的に配置されたべク ト ル群からなり、 かつ人間にとって同じであると認識される音声の特徴量 が互いに時系列的にずれて配置された複数列のベク トルを有していても よい。
前記認識対象情報が画像であつてもよい。
前記参照べク トル群は、 人間にとって同じものと認識されるが数値的 には異なる画像の特徴量がべクトル化されたべク トル群からなっていて もよい。
前記人間にとって同じものと認識される画像が人間の部位であり、 前 記数値的に異なる画像の特徴量が前記人間の部位間の距離であってもよ い。
前記認識対象情報が人間の行動であり、 前記認識された行動を出力し てもよい。
前記参照べク トル群は、 人間の活動情報を数値化したデータがべク ト ル化されたべク トル群からなっていてもよい。
前記出力された行動に対する反応が好意的な場合には、 前記出力され た行動に対応する参照べク トルが選択されやすくなるよう該参照べク ト ルの値の少なくとも一部を変更し、 前記反応が否定的な場合には前記出 力された行動に対応する参照べク トルが選択されにくくなるように該参 照べク トルの値の少なくとも一部を変更してもよい。
前記活動情報は、 電気機器の操作履歴、 赤外線センサ出力、 室温セン サ出力、 湿度センサ出力、 体温センサ出力、 脳波センサ出力、 脈拍セン サ出力、 視線センサ出力、 発汗センサ出力、 筋電位センサ出力、 日時情 報、 曜日情報、 及び認識処理装置の出力の少なくともいずれかを含んで いてもよい。
本発明の上記目的、他の目的、特徴、 及び利点は、添付図面参照の下、 以下の好適な実施態様の詳細な説明から明らかにされる。
〔図面の簡単な説明〕
第 1図は本発明の実施形態 1に係る確率的演算素子の構成を示す回路 図である。
第 2図は第 1図の揺らぎ発生器の構成例を示すプロック図である。 第 3図は第 1図のカウンタの構成例を示す回路図である。
第 4図は第 1図の確率的演算回路の構造をより詳細に示すプロック図 である。
第 5図は第 4図のデ一夕記憶部の構成例を示すプロック図である。
第 6図は、 本実施形態のアナログメモリセルアレイの構成の一例を示 す回路図である。
第 7図は第 5図のアナログメモリの第 1の構成例を示す回路図である 第 8図は第 5図のアナログメモリに用いられるソースフォロワ回路の 入力—出力特性を示すグラフである。
第 9図は第 5図のアナログメモリの第 2の構成例を示す回路図である < 第 1 0図は、 第 7図及び第 9図の強誘電体キャパシ夕のヒステリシス 特性を示すグラフである。
第 1 1図は、 第 1図の距離演算器を構成する減算素子の構成の一例を 示す回路図である。
第 1 2図は第 1 1図の減算素子を構成するソ一スフォロワ回路の入力 一出力特性を示すグラフである。
第 1 3図は、参照べク トル電圧が 1 [ V ]の場合について V ss= 0 [ V ]、
V DD= 1 [ V ] 、 かつ α = 0 . 4 5の時における減算素子の入力—出力 特性を示すグラフである。
第 1 4図は、 第 1 3図の場合における他の減算素子の入力一出力特性 を示すグラフである。
第 1 5図は、 第 1 3図及び第 1 4図に示す減算素子の特性を応用して 絶対値演算を行う回路の構成を示す回路図である。
第 1 6図は第 4図の距離演算器の入力一出力特性を示すグラフである, 第 1 7図は第 4図の和算器の構成例を示す回路図である。
第 1 8図は第 4図の閾値処理器の構成例を示す回路図である。
第 1 9図は、 第 1図の揺らぎ発生器の出力を示すグラフである。
第 2 0図は、 参照べク トル電圧と入力べク トル電圧との差が比較的大 きい場合における和算器の出力の一部を示すグラフである。 第 2 1図は、 和算器から第 2 0図に示す出力が入力された場合におけ る閾値処理器の出力を示すグラフである。
第 2 2図は、 参照べク トル電圧と入力べク トル電圧との差が小さい場 合における和算器からの出力の一部を示すグラフである。
第 2 3図は、 和算器から第 2 2図に示す出力が入力された場合におけ る閾値処理器の出力を示すグラフである。
第 2 4図は揺らぎ電圧における揺らぎ回数に対するパルス発生数を、 参照べク トルデータと入力べク トルデータとの近似度をパラメータとし て示すグラフである。
第 2 5図は本発明の実施形態 2に係る確率的演算素子の確率的演算回 路を示すブロック図である。
第 2 6図は本発明の実施形態 3に係る確率的演算素子の確率的演算回 路を示すブロック図である。
第 2 7図には本発明の実施形態 4に係る確率的演算素子の減算素子の 構成例を示す回路図である。
第 2 8図は本発明の実施形態 5に係る確率的演算素子の確率的演算回 路を示すブロック図である。
第 2 9図は本発明の実施形態 6に係る確率的演算素子の構成を示す回 路図である。
第 3 0図は第 2 9図の積分器の構成例を示す回路図である。
第 3 1図は本発明の実施形態 7に係る確率的演算素子の閾値処理器の 構成を示す回路図である。
第 3 2図は高いバイアス電圧を付加したときの揺らぎ発生器の出力 を示すグラフである。
第 3 3図は第 3 2図の状態からバイアス電圧を徐々に低下させたとき の揺らぎ発生器の出力を示すグラフである。
第 3 4図は本発明の実施形態 8に係る確率的演算素子の揺らぎ発生器 の出力を示すグラフである。
第 3 5図は本発明の実施形態 9に係る音声認識装置の構成を模式的に 示すブロック図である。
第 3 6図は本発明の実施形態 1 0に係る音声認識装置のメモリに格納 された参照べク トルデータ群の特徴を説明する図である。
第 3 7図は実施形態 1 1に係る画像認識装置の構成を模式的に示すブ ロック図である。
第 3 8図は、 人の顔を認識する場合の特徴量を示す模式図である。 第 3 9図は本実施形態に係る行動認識装置の構成を示すブロック図で ある。
第 4 0図は従来の演算素子の構造を模式的に示す斜視図である。
第 4 1図(a) , (b)は第 4 0図の従来の演算素子の演算原理を等価回路で 示した模式図である。 〔発明を実施するための最良の形態〕
以下、 本発明の実施の形態について、 図面を参照しながら説明する。 (実施形態 1 )
第 1図は本発明の実施形態 1 に係る確率的演算素子の構成を示す回 路図である。
本実施形態の確率的演算素子 1は、 入力ベク トルと参照ベク トルの 2 つのベク トルの対応する要素間の距離に応じて発生するパルス数又は パルス幅を変化できるべク トル列比較回路 C nを基本セルとし、 同じべ ク トル列について、 基本セルからのパルス出力をカウントすることで、 べク トル間の距離を並列的に高速に演算する素子である。
特に本実施形態においては、 基本セルからのパルス出力を得るために 例えばカオスなどに見られるランダムな信号を重畳する場合を例示し ている。 なお、 本実施形態では、 ベク トルデータを表す物理量として電 圧を用いる塲合について説明する。 また、 ベクトル間の違いである距離 については、 マンハッタン距離の場合について説明する。 すなわち、 ベ ク トル要素の差の絶対値を距離として演算する場合について説明する。 第 1図において、 確率的演算素子 1は、 ベク トル列比較回路 C pと、 入力電圧出力器 1 3と、揺らぎ発生器 1 5と、カウント数取得器 1 9と、 フラグ検出器 1 7とを有している。
べク トル列比較回路 C pは m列 (本実施形態では、 例えば 1 0 0 0列) 設けられている。 以下では、 y ( yは l〜mの自然数) 列のベク トル列 比較回路 C pを特定して指す場合には添え字 yを付して C p yと表記 し、 任意のベク トル列比較回路 C pを指す場合には添え字を付さずに C Pと表記する。
各ベク トル列比較回路 C pは、 n個 (本実施形態では、 例えば 1 4個) の確率的演算回路じじ と、 遅延回路 7と、 スィッチ Sと、 カウンタ C t とを有している。 1つのべク トル列比較回路 C pにおける確率的演算回 路 C cは、 比較すべきベクトルの要素に対応して設けられている。 従つ て、 この確率的演算素子 1では 2以上 n個以下の要素を有するべク トル を比較することができる。 そして、 後述するように、 ベク トル列比較回 路 C p 1〜 C p mの全体には m個の入力べク トルが書き込まれるが、 あ るべク トル列比較回路 C pに書き込まれた入力べク トルをべク トル列 と呼ぶ。
確率的演算回路 C cは、 m列のべク トル列比較回路 C pの全体におい ては、 n行 m列のマトリクス状に配置されているので、 第 1図に示すよ うに、 1つのベク トル列比較回路 C pにおいては行で特定し、 X ( Xは 1〜nの自然数) 行の確率的演算回路 C cを特定して指す場合には添え 字 Xを付して C c Xと表記し、 任意の確率的演算回路 C を指す場合に は添え字を付さずに C c と表記する。 また、 y列のスィッチ S及びカウ ン夕 C t を特定して指す場合には、 それぞれ、 添え字 yを付して S t y 及び C t yと表記し、 任意のスィツチ S及びカウンタ C tを指す場合に は添え字を付さずに S及び C t と表記する。
遅延回路 7は、 例えば、 インバー夕で構成される。 そして、 隣り合う 確率的演算回路 C cの出力端子が遅延回路 7を介して相互に接続され、 最終行の確率的演算回路 C c n出力端子がスィッチ Sを介してカウン 夕 C tに接続されている。
入力電圧出力器 1 3は、 入力べク トル及び参照べク トルの要素からな る入力データをそれぞれ電圧に変換して、 これを、べク トルの要素毎に、 その要素に対応する確率的演算回路 C c 1〜 C c nにそれぞれ出力す る。 入力電圧出力器 1 3は、 入力デ一夕を後述する式で計算して出力す る。
揺らぎ発生器 1 5は、 揺らぎを有する電圧 (以下、 揺らぎ電圧という) を出力する機能を有し、 これを全列のべクトル列比較回路 C p 1〜C p mの全行の確率的演算回路 C c 1〜 C c nにそれぞれ出力する。
各べク トル列比較回路 C pでは、 確率的演算回路 C c 1〜C c nが後 述するパルスをそれぞれ出力する。 この確率的演算回路 C c 1〜 C c n から出力されるパルスは、 遅延回路 7により、 互いに重複しないように 調整されている。 すなわち、 スィッチ Sが〇 n状態の時、 ある揺らぎ電 圧がベクトル列比較回路 C pへ入力され、 それより、 全行の確率的演算 回路 C c 1〜C c nがパルスを出力した場合でも、 カウン夕 C t には所 定の間隔でパルス列が、 n個 (本実施形態では 1 4個) 入力することに なる。
カウンタ C tはこのパルス数をカウントする。 本実施形態では、 力ゥ ンタ C t として、 例えば後述するような Dフリップフロップを用いた非 同期式リプルカウンタを用いている。
カウンタ C tは、 例えば、 その最上位ビッ トをフラグ検出器 1 7へ出 力する。 これにより、 フラグ検出器 1 7は、 全てのベク トル列比較回路 C l〜C p mに属するカウンタ C t 1〜C t mのうち、 最初に所定の カウント数に達したカウンタ C t l〜C t m、 ひいてはべク トル列比較 回路 C p 1〜 C p mを検出することができる。 これにより、 入力べク ト ルのうち、 参照べク トルとの近似度が所定程度以上高い入力べク トルを 高速に抽出することができる。
一方、 カウンタ C tのカウント数はカウント数取得器 1 9に出力され ており、 カウント数取得器 1 9は、 全てのべク トル列比較回路 C p 1〜 C p mの出力を取得する。
精度よりもむしろ解の出力までの時間が短いことが要求される場合に は、 例えば、 カウント数取得器 1 9により取得した各ベク トル列比較回 路 C p l〜C p mのカウント数を図示しない比較器で比較し、 それによ り、 参照べク トルとの近似度が高い入力べク トルをその順に抽出するよ うにしてもよい。 確率的演算回路 C cに比してべク トル列比較回路 C p の数は圧倒的に少ないため、 このような比較は従来のコンピュータでも 十分高速に実行することができる。
次に、 本実施形態の確率的演算素子を構成する個別素子の構成例を説 明する。
第 2図は第 1図の揺らぎ発生器 1 5の構成例を示すブロック図であ る。
第 2図に示すように、 揺らぎ発生器 1 5は、 演算器 2 1 と遅延回路 2 3とを有している。 本発明における揺らぎとはアナログ量 (物理量) の 不規則又は規則的な変動であって以下の条件を満たすものをいう。 不規 則な変動の場合は、 その変動するアナログ量の平均値に時間軸上におけ る偏りが実質的に存在しないことが必要である。 規則的な変動の場合は. 周期的な変動の変動幅が所定の周期で変動し、 その周期的に変動するァ ナログ量のその所定の周期内における平均値に時間軸上における偏り が実質的に存在しないことが必要である。 以下では、 不規則な揺らぎを 説明し、 規則的な揺らぎについては実施形態 8で説明する。 このような揺らぎを発生する回路は、 近年、 乱数発生回跆ゃカオス発 生回路などにおいて広く研究がなされており、 例えば I E E E T r a n s a c t i o n s o n C i r c u i t s a n d S y s t e m s - I : F u n d a m e n t a l t h e o r y a n d a p p 1 i c a t i o n s , V o l . 4 7, N o . 1 1, N o v e mb e r 2 0 0 0, p p . 1 6 5 2 - 1 6 5 7 , " CMO S c i r c u i t s g e n e r a t i n g a r b i t r a r y c h a o s b y u s i n g p u l s e w i d t h m o d u 1 a t i o n t e c h n i q u e s " に記載の M o r i e らのカオス発生回路な どを用いることができる。
カオスにはいくつかの種類が報告されているが、 第 2図には口ジステ ィックカオスを発生する構成例を示している。 第 2図の演算器 2 1は入 力ベク トルデータ X ( t ) に対して次の式で演算を実行する。
Figure imgf000019_0001
ここに aは定数であり、 例えば 3. 9 6などである。 ある時点での入 力電圧 Vを X ( t ) とし、 これを式 ( 1 ) に従い演算した結果を出力電 圧 X ( t + 1 ) とする。 さらにこの X ( t + 1 ) を遅延回路 2 3により 次のステップの入力とすることで、 カオス揺らぎの電圧を発生すること ができる。
なお、 図示しないが、 このようなカオス発生回路を用いずとも、 例え ば半導体基板に生ずる熱雑音を増幅しても同様にランダムな電圧を得 ることができる。
第 3図は第 1図のカウンタ C tの構成例を示す回路図である。
第 3図において、 符号 2 5は Dフリップフ口ップを示す。 本実施の形 態では、 カウン夕 C tは、 いわゆる Dフリップフロップを用いた、 非同 期式カウン夕により構成されている。 電圧パルス V p u 1がカウンタ C tに入力されると、 2進的に D 0、 D 1…… D nの H i g h出力が切り替 わっていく。 ここで、 例えば最大カウント数に達したベク トル列を検出 したいのであれば、 D nの出力をフラグ検出器 1 7へ接続しておき、 最 初に D „が1"1 i g となったべク トル列を検出すればよいことになる。 また、 全てのべク トル列の中から参照べク トルに近いものを複数抽出し たい場合には、 フラグ検出器 1 7において、 H i g hとなったフラグ数 を常時カウントしておけばよい。
また最上位ビッ ト (桁) をフラグとせずにさらに下位ビットの出力を 検出すれば、 確率的にフラグはより早く H i g hとなるので、 演算速度 を優先することができる。
なお、 前述のように、 このようなフラグ検出 1 7を用いずとも、 カウ ント数そのものをカウント数取得器 1 9により取得し、 図示しない比較 器で比較してもよい。
第 4図は第 1図の確率的演算回路 C cの構造をより詳細に示すプロ ック図である。
第 4図において、 確率的演算回路 C cは、 データ記憶部 4 1 と、 距離 演算器 4 3と、和算器 4 5と、閾値処理器 4 7とを有している。そして、 距離演算器 4 3 と和算器 4 5 とが揺らぎ差分演算手段 4 0 1 を構成し ている。 デ一夕記憶部 4 1には、 図示されない配線により、 1つの参照 ベク トルデータ (正確には参照ベク トルの要素のデータ) が書き込まれ る。 距離演算器 4 3は、 入力電圧出力器 1 3から出力される入力べク ト ルデータ (正確には入力ベク トルの要素のデータ) とデータ記憶部 4 1 に記憶された入力べク トルデータの差の絶対値に比例した電圧を出力 する。 和算器 4 5は、 距離演算器 4 3の出力と揺らぎ発生器 1 5の出力 の和の大きさに比例した電圧を出力、 すなわち重畳電圧を出力する。 ここで、 本発明において和算とは、 このように、 複数のアナログ量の 和に比例したアナログ量を演算することをいう。
閾値処理器 4 7は、 和算器 4 5の出力に対し閾値処理を実行する。 閾 値処理器 4 7の出力は第 1図に示すように、 直接又は遅延回路 7を介し てスィッチ 9へ出力される。
第 5図は第 4図のデータ記憶部 4 1の構成例を示すプロック図であ る。 第 5図において、 データ記憶部 4 1は、 演算 * D / A変換器 5 3、 スィッチ 5 5、 及びアナログメモリ 5 7を有している。 符号 5 1はデジ タルの参照ベク トルデータ (正確には参照ベク トルの要素のデータ) を 示す。 この参照べク トルデータは、例えば D R A Mゃフラッシュメモリ、 さらにはハードディスクなどの外部記憶装置などに格納されている。 データ記憶部 4 1は、 デジタルの参照ベク トルデータ 5 1を、 演算 - A変換器 5 3において後述する簡単な演算をデジタルで実行する とともにこれを物理量 (本実施形態では電圧) で表されたアナログの参 照べク トルデータに変換し、 このアナログの参照べク トルデータをスィ ツチ 5 5によりパルス的にアナログメモリ 5 7へ入力することで、 アナ 口グの参照べク トルデータを記憶している。 ここでアナログメモリ 5 7 はリセッ ト信号を入力する手段も具備している。 本発明においては、 ァ ナログとは、 データ (例えば数値) を連続する物理量 (例えば電圧) を 用いて表すことをいう。
第 6図は、 本実施形態のアナログメモリセルアレイの構成の一例を示 す回路図である。
第 6図において、 符号 5 9 ( 1 ) 、 5 9 ( 2 ) · · · は配線を示す。 第 5図のアナログメモリ 5 7は、 マトリクス状に配置された第 1図の確 率的演算回路 C cが、 それぞれ 1つづつ備えている。 従って、 アナログ メモリ 5 7 も、 確率的演算回路 C cに対応してマトリクス状に配置され ており、 このマトリクス状に配置されたアナログメモリ 5 7によって、 第 6図のメモリセルアレイが構成されている。 第 6図は、 ベク トル列数が i、 ベク トル要素数が j の場合におけるメ モリセルァレイを示している。 この場合、 メモリセルアレイは、 i行 j 列のアナログメモリ 57を有する。 第 6図にはその一部、 4行 4列の部 分のみを示している。 またリセッ トを行う配線も省略している。
このメモリセルアレイでは、 アナログメモリ 57の列 (べク トル列) に対応して、 スィッチ5 5を〇 ] 7〇 するための配線5 9 ( 1 ) 、 5 9 (2) · · · がそれぞれ設けられている。 また、 アナログメモリ 5 7の行 (べク トル要素) 毎に、 演算 · DZA変換器 5 3が設けられてい る。
このように構成されたアナログセルアレイでは、 配線 5 9 ( 1) 、 5 9 (2) · · · のいずれか一つを選択して例えば H i g hにすると、 そ の列の全てのスィッチ 5 5が〇 n状態となり、 それにより、 デジタルの 参照べク トルデータ 5 1が、 演算 · DZA変換器 5 3でデジタルの参照 べク トルデータに変換されて、 その選択された列のアナログメモリ 5 7 へ並列的に書きまれる。 そして、 全てのアナログメモリ 5 7の列につい て、 順次、 この列選択及び書き込み動作を遂行することにより、 参照べ ク トルデータを高速に書き込むことができる。
このようなマトリクス的な書込は、 アナログメモリ 5 7が、 後述する 構成例のように、 不揮発性を有することによって可能となる。
なお、 第 6図では、 j個の要素を有する i列のベク トル群をベク トル の列毎に、 順次、 メモリセルアレイに書き込むように構成したが、 この ベク トル群をベク トルの要素毎に、 順次、 メモリセルアレイに書き込む ように構成してもよい。 この場合には、 アナログメモリ 5 7の行 (べク トル要素) に対応して、 配線 5 9 ( 1) 、 5 9 (2) · · · をそれぞれ 設け、 かつ、 アナログメモリ 5 7の列 (ベク トル列) 毎に、 演算 . D/ A変換器 5 3を設ければよい。
第 7図は第 5図のアナログメモリ 5 7の第 1の構成例を示す回路図、 第 8図は第 5図のアナログメモリに 5 7に用いられるソースフォロワ 回路の入力一出力特性を示すグラフである。
第 7図に示すように、 本例のアナログメモリ 5 7は、 ソースフォロワ 回路 6 3と、 このソ一スフォロワ回路 6 3を構成する 0 1 3 ? £丁 (Complementary M I S F E T、 以下、 CM I Sと略記する) のゲー ト電極 (以下、 フローティングゲート電極という) 6 3 aに接続された 強誘電体キャパシタ 6 5とを有している。
ソ一スフォロワ回路 6 3は、 第 8図に示すように、 電源電圧 VDDの範 囲内である範囲に渡って入力電圧 V FGに比例した電圧 V。utlを出力する 特性を有する。
次に、 このよう構成されたアナログメモリ 5 7の動作を説明する。 書込み電圧 V w (アナログの参照ベク トルデータに対応する電圧) が 強誘電体キャパシ夕 6 5に印加されると、 その強誘電体に分極が生じて. フロ一ティングゲ一ト電極 6 3 aの電位 V FGが変化する。すると、 ソ一 スフォロワ回路 6 3は、 その特性に従って、 その変化した電位 V FGに応 じた電圧 V outlを出力する。 ここで、 強誘電体キャパシ夕 6 5の強誘電 体の残留分極は不揮発に保持される。 これにより、 電圧 V wが、 アナ口 グメモリ 5 7に不揮発に記憶される、うまり、書き込まれたことになる。 また、 それと同時に、 その書き込まれた電圧 V wに応じた電圧 V。utlが ソースフォロワ回路 6 3を通じて出力される。 また、 アナログメモリ 5 7が、 不揮発性を有するので、 演算 · DZA変換器 5 3の出力を適宜切 り替えて書込み動作を行うことができ、 かつ演算 · DZA変換器 5 3の 占有面積や書込みのための配線を大幅に低減することができる。
このように、 強誘電体キャパシ夕 6 5の強誘電体の分極値は書き込み 電圧 V wの大きさや履歴により多値を得ることができるので、 強誘電体 キャパシ夕 6 5はアナログメモリとして機能する。 特にこの構造は、 2 トランジスタ— 1キャパシタの構成であるため、 セル占有面積が小さい 点で有利である。
第 9図は第 5図のアナログメモリ 5 7の第 2の構成例を示す回路図 である。
第 9図に示すように、 本例のアナログメモリ 5 7は、 ソースフォロワ 回路 6 3と、 このソースフォロワ回路 6 3を構成する C M I Sのフロー ティ ングゲート電極 6 3 aに互いに並列にそれぞれ接続された強誘電 体キャパシ夕 6 5及び常誘電体キャパシ夕 7 3 とを有している。
このように構成された本例のアナログメモリ 5 7では、 強誘電体キヤ パシタ 6 5の上部電極 N 1 と常誘電体キャパシタ 7 3の上部電極 N 2 との間に書き込み電圧 V wを印加することで、 第 1の構成例と同様に、 フローティングゲ一ト電極の電位 V FGの値が変化し、 それにより、 アナ ログメモリとして機能する。
一般に強誘電体は比誘電率が大きいため、 第 7図のような強誘電体キ ャパシタ 6 5 とソースフォロワ回路 6 3を構成する M I S F E Tのゲ —ト容量との直列構造では、 強誘電体側に電圧が分配されにくいため、 ソースフォロワ 6 3を構成する M I S F E Tを大きくする必要がある。 一方、 本例の構造では、 強誘電体キャパシタ 6 5 と常誘電体キャパシ夕 7 3とのキャパシタンスのバランスで電位 V FGを決定できることから、 当該 M I S F E Tのサイズを周辺回路と同等にできるため、 製造がしゃ すくなる。 特に、 常誘電体キャパシ夕 7 3も高誘電率の材料を用いるこ とが望ましく、 例えばチタン酸バリウム * ストロンチウム (B S T ) な どを用いれば、 強誘電体キャパシ夕と同等のサイズのキャパシ夕にする ことができる。
第 1 0図は、 第 7図及び第 9図の強誘電体キャパシ夕のヒステリシス 特性を示すグラフである。
第 1 0図において、 横軸は強誘電体の分配電圧を示している。 この分 配電圧は、 第 7図のアナログメモリ 5 7の場合には、 [ V w] — [ V FG ] で計算される、 強誘電体への分配電圧を示している。 また、 第 9図のァ ナログメモリ 5 7の場合には、 書込電圧 V wを印加したときに強誘電体 へ分配される電圧を示している。
第 1 0図に示すように、 強誘電体はヒステリシス特性を有しているこ とから、 同じ電圧を印加しても、 それまでの電圧印加履歴によって、 異 なった残留分極値を取る。 このため、 本実施形態では、 一旦、 リセッ ト パルス V res を印加し、 分極を負及び正のいずれか一方に飽和させてか ら書込み電圧 V wを印加することで、 書込み電圧 V wに良好に対応した
V FGを得ている。 すなわち、 リセッ トパルス V resを印加した後に、 V wlを印加すると、 強誘電体の分極は飽和曲線上を移動して、 残留分極が
P rlとなり、リセッ 卜パルス V resを印加後に V w2を印加したときには、 同様に残留分極は P r2となる。 つまり、 書き込み電圧 V wl, V w2に対 し一義的に残留分極 P rl, P r2が定まる。 この残留分極値によりフロー ティング電極の電位 V FGが決定され、ソ一スフォロワ回路 6 3の特性に より、 アナログ電圧 V 。utlが出力される。 このように、 本実施形態に用 いたアナログメモリ 5 7は、 素子数が少なくかつ不揮発であるという特 徴を有するため、 本実施形態の確率的演算素子には極めて有効なアナ口 グメモリである。
第 1 1図は、 第 1図の距離演算器 4 3を構成する減算素子の構成の一 例を示す回路図である。
第 1 1図において、 減算素子 7 2は、 ソ一スフォロワ回路 6 3 と、 こ のソ一スフォロワ回路 6 3を構成する C M I Sのゲ一卜電極 (フローテ ィングゲ一ト電極) 7 3 aに互いに並列にそれぞれ接続された第 1のキ ャパシタ 7 5及び第 2のキャパシタ 7 7とを有している。 第 1のキャパ シタ 7 5には、 電圧 V 1が入力される。 第 2のキャパシタ 7 7には、 電 圧 V 2が入力される。 電圧 V V 2の定義については後述する。
次に、 以上のように構成された減算素子 7 2の動作を説明する。 ソ一スフォロワ回路 7 3のフローティングゲート電極 7 3 aの電位を V FG2 とし、 第 1のキャパシ夕のキャパシタンスを C 第 2のキャパ シ夕のキャパシタンスを C 2とし、 Pチャネル CM I S (以下、 P CM I Sと略記する) 7 3 P及び Nチャネル CM I S (以下、 NCM I Sと 略記する) 7 3 Nのキャパシタンスをそれぞれ C P、 C Nとすると、 電 荷の保存則より次式が成立する。
Q = QCVj― VFG2) + C2(V2 - VFG2) = ¾2(CP + CN) (2) こに C 1= C 2とし、 αを次式で定義する。
Figure imgf000026_0001
式 ( 2 ) と式 ( 3 ) から次式を得る
VFG1 = {Vx + V2) … 4) この電位 V FG2に対応した電圧 V M1がソ一スフォロワ回路の特性により 出力される。 すなわち、 V iと V 2との和に比例した出力が得られる。 ここで式 ( 3 ) において、 (CN+CP) に対して Ciが大きい場合、 すな わち M I S F E Tのゲート容量が十分に小さい場合には、 αの値は 0. 5に近づき、 本減算素子 7 2は入力された電圧の平均値に近い値を出力 する特性を示す。
ここで、 例えば、 V iと V 2に次の式で与えられる電圧を入力すると する。
Figure imgf000026_0002
(5) V2 = Vz-Vin … (6) ここに V Zは補正電圧であり後述する式で演算する。 また V inは入力べ ク トルデ一夕に対応し、 第 4図の入力電圧出力器 1 3は式 ( 6 ) の演算 結果を電圧として出力している。 また、 V refは参照べク トルデータに対 応し、 同様に第 4図の確率的演算回路 C cのデータ記憶部 4 1の出力は 式 ( 5) の演算結果に相当する電圧を出力する。
これらの式と式 (4) とから次式が成り立つ。
VFG2 = 2aVz +a(Vref-Vin) (7) すなわち参照ベク トルデータに対応する電圧 (以下、 参照ベク トル電圧 という) V ref と入力べク トルデータに対応する電圧 (以下、 入力べク 卜 ル電圧という) V inの差にバイァス 2 · V Z分シフトした電圧が V FG2 に得られ、 実効的に差演算を行うことができる。
第 1 2図は第 1 1図の減算素子 7 2を構成するソースフォロワ回路 7 3の入力一出力特性を示すグラフである。
第 1 2図に示すように、 ソースフォロワ回路 7 3は、 V L。Wから V High の範囲の入力電圧 V FG2対し、 V ssから V DDの範囲の電圧 VMを出力す る。
ここで、 ソースフォロワ回路 7 3の出力が線形に増加し始める始点で ある V LWを用いて、 上述の V zを以下の式を満たすように決定する。
Vlow = 2aVz … (8) すると V ref と V inの差について以下のような出力特性をもつこととな る。
Figure imgf000028_0001
第 1 3図は、 参照ベク トル電圧 V ref= 1 [V] の場合について V ss = 0 [V] 、 V DD= 1 [V] 、 かつ α = 0. 4 5の時における減算素子 7 2の入力一出力特性を示している。参照べク トル電圧 V ref と入力べク トル電圧 V i„との差が正のときに比例的に出力電圧が増加し、 正のみの 差演算を実行できていることが理解できる。
同様に V V 2を次式のようにすれば、 逆方向の差演算が実行でき る。
Vl=Vz-V rtef (1 Ο)
V2 = Vz + Vin ■ ■ - (I D この場合の減算素子 7 3の入力一出力特性を第 1 4図に示す。 この場合 は、 入力べク トル電圧 V inと参照べク トル電圧 V ref の差が正のときに 比例的に出力電圧が増加する。
以上の特性を応用して絶対値演算を行う回路を第 1 5図に示す。 第 1 5図において、 符号 8 1は減算器を示す。 この減算器 8 1は、 一対の減 算素子 8 2 a, 8 2 bを並列に配置し、 その出力を和算器 8 3へ入力す るよう構成されている。 減算素子 8 2 a及び 8 2 bは、 共に、 第 1 1図 の減算素子 7 2で構成されている。
ここで、 減算素子 8 2 aへの入力を V u, V si, 減算素子 8 2 bへの 入力を V 12, V 22とし、 V u、 V 12を式 ( 5 ) 、 ( 6 ) に従い決定し、 V 2い V 22を式 ( 1 0) 、 ( 1 1 ) に従って決定すると、 減算素子 8 2 a及び減算素子 8 2 bの入力一出力特性は、 それぞれ、 第 1 3図及び第 1 4図に示す特性となる。 和算器 8 3は、 式 ( 4 ) 及びソースフォロワ 回路 8 3 aの特性に従ってその入力電圧 V M 1及び V M 2の和に比例した 電圧 V 。ut3を出力する。 第 4図の距離演算器 4 3はこの減算器 8 1で構 成されている。
第 1 6図は第 4図の距離演算器 4 3の入力一出力特性を示すグラフ である。 第 1 6図に示すように、 この距離演算器 4 3は、 参照ベク トル 電圧と入力べク トル電圧との差の絶対値に比例した電圧を出力するこ とができる。
なお、 この距離演算器 4 3では、 第 4図に示す入力電圧出力器 1 3と データ記憶部 4 1 とからの出力は、 減算素子 8 2 a及び減算素子 8 2 b へそれぞれ入力するために 2系統必要となるが、 第 4図ではこれらを省 略して示している。
第 1 7図は第 4図の和算器 4 5の構成例を示す回路図である。
第 1 7図に示すように、 和算器 4 5は、 ソ一スフォロワ回路 9 3 と、 このソースフォロワ回路 9 3を構成する C M I Sのゲ一ト電極 (フロー ティングゲ一ト電極) 9 3 aに互いに並列にそれぞれ接続された第 1の キャパシタ 9 5及び第 2のキャパシタ 9 7とを有している。 第 1のキヤ パシ夕 9 5には、 距離演算器 4 3の出力 (以下、 距離電圧という) V out3 が入力される。 第 2のキャパシタ 9 7には、 揺らぎ発生器 1 5の出力電 圧 (以下、 揺らぎ電圧という) V ea。が入力される。
和算器 4 5の動作は第 1 5図の和算器 8 3と同様であるが、 特に揺ら ぎ電圧 V caoと距離電圧 V 。ut3との和算をアナログ的に実行できるため、 その出力 V 。ut4として、 距離電圧 V 。ut3に揺らぎが重畳した出力が得ら れる。
第 1 8図は第 4図の閾値処理器 4 7の構成例を示す回路図である。 第 1 8図に示すように、 閾値処理器 4 7として、 本実施形態では、 例 えば C M I Sインバ一タを用いている。 この閾値処理器 4 7では、 C M I Sィンバ一夕のゲート 4 7 aに和算 器 2 3の出力 V 。ut4が入カされる。 C M I Sインバー夕は、 和算器 4 5 の出力 V。ut4が、 その閾値電圧以上である間、 これを反転及び増幅して 出力する。 和算器 4 5の出力電圧 V 。ut4は、 平坦な波形を有する距離電 圧 V 。ut3に揺らぎ波形を有する揺らぎ電圧 V ca。が重畳されたものであ るので、 C M I Sインバー夕は、 パルス状の電圧 V p u iを出力する。 次に、 以上のように構成された確率的演算素子 1の動作を説明する。 第 1図、 第 4図、 及び第 6図において、 所定列数 (ここでは 1 0 0 0 列) のデジタルの参照ベク トルデータが、 要素毎に、 順次、 演算 * D / A変換器 5 3でアナログデータに変換されて各べク トル列比較回路 C p 1 〜 C pの各確率的演算回路 C c 1〜 C c nのデータ記憶部 4 1 に 参照べク トル電圧 V ref としてそれぞれ書き込まれ、データ記憶 4 1で所 定の演算が施されて距離演算器 4 3に出力される。 一方、 デジタルの入 力べク トルデータが図示されない D Z A変換器でアナログの入力べク トル電圧 V inに変換され、 入力電圧出力回路 1 3で所定の演算を施され て距離演算器 4 3に出力される。
距離演算器 4 3は、 これらの入力電圧に基づいて参照べクトル電圧 V ref と入力べク トル電圧 V inとの差の絶対値(参照ベク トルの要素と入力 べク トルの要素とのマンハッタン距離)を演算し、 これを距離電圧 V out3 として和算器 4 5に出力する。
和算器 4 5は、 この距離電圧 V out3と揺らぎ発生器 1 5から入力され る揺らぎ電圧 V ca。とを和算して、 距離電圧. V 。ut3に揺らぎ電圧 V ca。が 重畳された電圧 V。ut4を閾値処理器 4 7に出力する。
閾値処理器 4 7は、 和算器 4 5の出力電圧 V 。ut4を閾値処理して、 パ ルス状の電圧 V p u ,を出力する。
各確率的演算回路 C cから出力されるこのパルス状の電圧 V p u ,は カウンタ C tによってべク トル列比較回路 C p毎にカウントされ、 この カウント数がカウント数取得器 1 9又はフラグ検出器で検出され、 この 検出結果に基づいて、 各参照べク トルデータと入力べク トルデータとの 近似度が判定される。
次に、 閾値処理器 4 7から出力されるパルス数と参照べクトルデータ 及ぴ入力べク トルデ一夕相互間の近似度との関係を詳しく説明する。 参照べクトル電圧 V ref と入力べク トル電圧 V i„の値が近いとき、 距 離演算器 4 3の出力は小さい電圧となる。 その結果、 和算器 4 5の揺ら ぎが重畳された出力電圧 V 。ut4も小さい電圧範囲で振動することとなる c その結果、 閾値処理器 4 7であるインバ一夕の出力は H i g hレベル ( = V D D ) が出やすくなる。 すなわち、 以上のような回路構成とするこ とで、 参照べク 卜ルデ一夕と入力べク トルデータの値が近いほど H i g h、 すなわちパルスが出力されやすくなるのである。
第 1 9図は、 第 1図の揺らぎ発生器 1 5の出力を示すグラフである。 横軸は揺らぎ発生回数を示す。
第 1 9図に示すように、 揺らぎ発生器 1 5の出力は、 一見、 ランダム なカオス的な揺らぎを発生している。
第 2 0図は、 参照べク トル電圧と入力べク トル電圧との差が比較的大 きい場合 (およそ 1 . 5 [ V ] ) における和算器 4 5の出力の一部を示 すグラフである。
この場合における和算器 4 5の出力を、 さらに閾値処理器 4 7で、 例 えば 2値化 (この場合閾値電圧 = 0 . 5 [ V ] ) すると、 第 2 1図に示 すような出力が得られる。 すなわち、 閾値を越える毎にパルスが発生す る。
第 2 2図は、 参照べク トル電圧と入力べク トル電圧との差が小さい場 合 (およそ 0 . 8 [ V ] ) における和算器 4 5からの出力の一部を示す グラフである。 第 2 3図にはこの場合における閾値処理器 4 7からの出 力を示している。 第 2 1図と第 2 3図の比較から、 閾値処理器 4 7は、 参照べク トル電圧と入力べクトル電圧の差の絶対値が小さい場合ほど、 多くのパルスを発生する特性を有することが判る。
この特性をさらに詳細に検討した結果を第 2 4図に示す。
第 2 4図は揺らぎ電圧 V cao における揺らぎ回数に対するパルス発生 数を、 参照べク トルデータと入力べク トルデータとの近似度をパラメ一 タとして示すグラフである。
第 2 4図において、 近似度とは、 電源電圧で正規化した参照ベク トル 電圧と入力べクトル電圧の差の絶対値を、 1から減じた値として定義し たものである。 すなわち近似度が高いほど、 2つのベク トルは似通って いることを示す。
第 2 4図に示すように、 例えば、 近似度が 0の時は、 閾値を越えない ため、 1 0 0回の揺らぎに対してパルス発生数はゼロである。 しかし、 近似度が大きくなるにつれて、 パルスの発生確率が上昇することが理解 される。 これらのパルス発生は確率的に発生するため、 直線的な増加は 示さないが、 揺らぎ回数が増すほど、 近似度による差は安定してくるこ とが理解される。
この揺らぎと閾値処理による確率的なパルス発生が、 本発明の確率的 演算素子の本質であり、 従来のコンピュータのような厳密性には欠ける が、 揺らぎの回数が増すほど、 確率的に精度が向上してくる。 このこと は、 精度は低くとも至急に演算結果を欲する情報処理や、 演算時間が延 びても精度を重視する場合などにおいて、 非常に柔軟にべクトルの差演 算を実行できる、 全く従来にない新概念の素子を提供できることを意味 している。
次に、 本実施形態の確率的演算素子 1において、 ベク トル列比較回路 C tの列数が、 演算しょうとするベク トルの列数に足りない場合の駆動 方法を説明する。 確率的演算素子 1の面積は有限であり、 一方で、 ソフ トウエア上でのマトリクスの宣言が仮想的であることを考えれば、 この ような事態は多く発生すると考える。
例えば、 本実施形態ではベク トル列数は 1 0 0 0であるが、 比較対照 の列数が 5 0 0 0の場合について、 入力ベク トルに対して、 参照べク ト ル列の中から最も似たものを 1 0 0列抽出する場合を例に説明する。 第 1図、 第 4図、 及び第 6図において、 まず、 確率的演算素子 1上で 1 0 0 0列の参照べク トルを第 6図の説明で述べたようにして記憶さ せる。 この場合は、 例えば、 演算 · D Z A 5 3を通じて順に参照べク ト ルデータを書き込めばよい。
次に、 入力ベク トルを入力し、 その後、 揺らぎ発生器 1 5から揺らぎ 電圧を入力することで、 閾値処理器 4 7から順次パルスが出力される。 パルス数は力ゥン夕 C t 1〜 C t mにより順次カウントされ、 例えば第 3図の D 8からの出力に着目していた場合、 2 5 6 ( = 2 8) のパルス が入力されると、 D 8ラインが H i g hを出力する。 この H i g hとな るべク トル列の数をフラグ検出器 1 7で監視しておき、 この場合 1 0 0 列に到達したら揺らぎ発生器 1 5からの揺らぎ電圧の出力を停止する。 次に、 この H i g hが出力されたべク トル列を飛ばすようにして参照べ ク トルを 9 0 0列書き込む。
以上の動作を繰り返せば、 最終的には参照べク トル全体の中で最も似 通ったべク トル列を抽出することができる。
以上に説明したように、 本実施形態の確率的演算素子 1はベク トル比 較の演算を多数並列的に実行できるため、 その比較速度は、 特にべク ト ル数が増加するに従って、 従来のコンピュータより格段に高速に演算で きる。
また、一般的なアナログ回路では、厳密な演算を行うことは難しいが、 本確率的演算素子 1は演算原理がそもそも確率的であることを前提に しているため、 その製造にあたっては設計に自由度を持たせることがで き、 製造が容易という特徴を有する。 また、 本実施形態によれば、 確率的演算素子 1をトランジスタやキヤ パシ夕等の在来の回路素子で構成することができるので、 これを半導体 プロセス技術によって製造することができる。
また、 マンハッタン距離を演算することができる。
さらに、 参照ベク トルと入力ベク トルとの要素毎の差分 (距離) がパ ルスとして出力され、 そのパルスの総和に基づいて参照べクトルと入力 べク トルとの近似度が判定されるので、 比較しょうとするべク トルの要 素が多くなつても、 容易に近似度を判定することができる。
総括すると、 本実施形態の確率的演算素子 1は、 従来のデジタル演算 でもアナログ演算でもない、 第 3の演算手法の演算素子を提供できるも のである。
この発明は、 厳密な論理演算には適さないが、 特に認識処理などで多 発するべク トルマッチングを非常に高速に行え、 従来の半導体素子を補 助する極めて有用な素子を提供できるものである。
なお、 本実施形態では、 各構成回路を、 ソースフォロワのゲートにキ ャパシタを複数配した構造の素子の場合について説明したが、 同様な演 算を実行できる素子であれば、 所望の動作が得られることは言うまでも ない。
また、 繰り返しになるが、 揺らぎについては特にカオスを用いる必要 もなければ、 またカオスについても特にロジスティックカオスに限定さ れるものではなく、 長期的に均等な確率を得られる手法であれば同様の 効果が期待できる。
カウンタについても、 本実施形態では Dフリップフロップの場合につ いて述べたが、 他のカウンタを用いても何ら問題ない。
また、 アナログメモリとして強誘電体を用いる場合について説明した が、 アナログ量を物性として有するものを用いれば同様の効果を得るこ とができる。 例えば相変化材料の抵抗変化を用いたり、 キャパシ夕への 充電を利用するなどの手法を用いてもよい。
閾値処理についても、 簡便なィンバ一夕の場合について説明したが、 これが別の回路であっても同様であることは言うまでもない。
また、 参照べク トル及び入力べク トルのデータを表すアナログの物理 量として、 電圧を用いたが、 これに限定されるものではなく、 他の物理 量、 例えば電流を用いてもよい。
(実施形態 2 )
第 2 5図は本発明の実施形態 2に係る確率的演算素子の確率的演算 回路を示すブロック図である。 第 2 5図において第 4図と同一又は相当 する部分には同一符号を付してその説明を省略する。
第 2 5図に示すように、 本実施形態の確率的演算素子は、 ベク トル要 素間の距離演算までをデジタル回路で実行する点が実施形態 1 と異な る。 確率的演算回路 3 0 1は、 実施形態 1の確率的演算回路 C cに相当 する。 その他の点は、 実施形態 1 と同様である。
具体的には、 デジタルの入力べク トルデータ 3 0 3がデジタル距離演 算回路 3 0 5に入力される。 デジタル距離演算回路 3 0 5は、 入力され たデジタルの入力べク トルデータ 3 0 3 とデジタルの参照べク トルデ 一夕 5 1 とを用いて、 例えば、 参照ベク トル及び入力ベク トルの要素間 の距離の絶対値を演算する。 この演算結果が D Z A変換器 3 0 7でアナ ログデ一夕に変換されて、 アナログメモリ 5 7に記憶される。 アナログ メモリ 5 7のアナログ出力は揺らぎ発生器 1 5の出力と和算器 4 5 に より重畳され、 その出力が閾値処理器 4 7により閾値処理されてパルス として出力される。 これにより、実施形態 1 と同様の演算が実行される。 本実施形態の確率的演算素子は、 差演算までをデジタルで実行するた めその演算時間が必要となるが、 第 4図の距離演算器 4 3が不要になる, 第 6図から距離演算器 4 3はマトリクス的に配置されるのに対し、 本実 施形態のデジタル距離演算回路 3 0 5は行毎に配置すれば済むので、 そ の分、 チップ面積を小さくすることが可能となる。
また、 第 6図の演算 , D Z A変換器 5 3に、 本実施形態 2のデジタル 距離演算回路 3 0 5と D Z A変換器 3 0 7の機能を具備させれば、 べク トル要素方向に多数並列にこれらの距離演算を実行し、 かつマトリクス 的にアナログメモリ 5 7に距離のアナログ情報を書き込むことができ るため、 極めて面積効率の高い確率的演算素子を実現できる。
(実施形態 3 )
第 2 6図は本発明の実施形態 3に係る確率的演算素子の確率的演算 回路を示すブロック図である。 第 2 6図において第 4図と同一又は相当 する部分には同一符号を付してその説明を省略する。
第 2 6図に示すとおり、 本実施形態 3の確率的演算回路 9 9では、 実 施形態 1 とは異なり、 入力べク トル電圧に揺らぎ電圧を重畳した後に、 参照ベク トル電圧との距離を演算する。 その他の点は実施形態 1 と同様 である。
このような演算順序であっても実施形態 1 と同様に、 確率的にパルス を発生する確率的演算素子を実現できる。 (実施形態 4 )
第 2 7図には本発明の実施形態 4に係る確率的演算素子の減算素子 の構成例を示す回路図である。
第 2 7図において、 符号 1 0 0はスィツチ素子を示す。 本実施形態 4 では減算素子 7 2が、 実施形態 1の減算素子 7 2を構成するソースフォ 口ヮ回路のゲート電極にさらにスィッチ素子 1 0 0を設け、 スィッチ素 子 1 0 0の他端を例えば接地した構成を有している。 また、 これと同様 に、 本実施形態 4では、 和算器及びアナログメモリが、 実施形態 1の和 算器 4 5及びアナログメモリ 5 7のソ一スフォロワ回路のゲート電極 にさらにスィツチ素子を設け、 スィツチ素子の他端を例えば接地した構 成を有している。 このような構成とすることにより、 実施形態 1のソー スフォロワ回路のゲート電極が、 配線と結線されていないフローティン グ状態にあるのに対し、 本実施形態 4では、 スィッチ素子 1 0 0にリセ ッ ト電圧 V reslを印加することで、 フローティ ング電極の電位を一旦、 例えば接地することができる。
これにより、 素子を製造する際のドライエッチング工程などで残留し た電荷を除去することができる。 また、 本実施形態の確率的演算素子を 長期的に使用した場合に、 例えばソースフォロワ回路を構成する M I S F E Tのゲー卜から流入する電荷を除去することができる。
なお、 この構造の場合、 リセッ ト用のスィッチ素子 1 0 0に M I S F E Tを用いると、 いわゆるジャンクションリークにより、 演算時にフロ 一ティング電極に保持された電位は長期的には減衰するが、 本発明の確 率演算素子の演算時間は長くても 1秒程度であるため、 全く問題なく演 算を行うことができる。
(実施形態 5 )
第 2 8図は本発明の実施形態 5に係る確率的演算素子の確率的演算 回路を示すブロック図である。 第 2 8図において、 第 4図及び第 2 6図 と同一又は相当する部分には同一符号を付してその説明を省略する。 第 2 8図に示すとおり、 本実施形態 3の確率的演算回路 1 1 1では、 閾値処理器 4 7の直前にスィッチ 1 1 3が設けられている。 その他の点 は、 実施の形態 3 と同様である。
例えば、 第 2 2図の動作説明から理解されるように、 本発明の確率的 演算素子は、 揺らぎを有する電圧が閾値を跨ぐときのみパルスを発生す るため、 例えば、 圧倒的にベク トルの絶対差が小さい場合などには、 閾 値を跨がない場合が発生する恐れがある。
そこで本実施形態では、 スィッチ 1 1 3に出力信号 1 1 3 aが入って いないときは、 例えば H i g hが出力され、 出力信号 1 1 3 aが入力さ れると、 そのときの距離演算器 4 3からの出力を出力するようにするこ とで、 距離演算器 4 3からの出力が連続的に低く閾値を跨がない場合で も強制的に閾値を跨がせることによりパルスを発生することができる。
(実施形態 6 )
第 2 9図は本発明の実施形態 6に係る確率的演算素子の構成を示す 回路図である。 第 2 9同図において、 第 1図と同一又は相当する部分に は同一符号を付してその説明を省略する。
第 2 9図に示すように、本実施形態では、実施形態 1のカウンタ C t 、 フラグ検出器 1 7、 及びカウント数取得器 1 9に代えて、 積分器 I t及 び比較器 1 5 3が設けられている。 積分器 I t 1〜 I t mは、 確率的演 算回路 C cから出力されるパルスに含まれる電荷量を蓄積して、 この蓄 積された電荷量に応じた電圧をそれぞれ比較器 1 5 3に出力する。 比較 器 1 5 3は、 積分器 I t 1 〜 I t m 1の出力電圧の大小を比較し、 その 上位の積分器 I t (ひいてはベク トル列) を抽出する。 その他の点は実 施形態 1 と同様である。
このような構成によれば、実施形態 1 と同様に、参照ベクトルのうち、 入力べク トルと近似するべク トル列を高速に抽出することができるだ けでななく、 確率的演算回路 C cから出力されるパルスを、 その数だけ ではなくその幅をも含めて評価し、 それに基づいて参照ベクトルと入力 べク トルとの近似度を判定するので、 より好適に近似度を判定すること ができる。
このような積分器 I t の構成例を第 3 0図に示す。 第 3 0図に示すように、 積分器 I tは F E T 1 6 0を有している。 F E T 1 6 0のゲートは第 2 9図のスィッチ Sに接続されている。 一方、 F E T 1 6 0のソースにはキャパシタ 1 5 9が接続され、 F E T 1 6 0 のソースとキャパシ夕 1 5 9の接続点が第 2のスィッチ 1 5 7を介し て比較器 1 5 3に接続されている。
このように構成された積分器 I tでは、 スィッチ Sを ON状態にしか っスィツチ 1 5 7を O F F状態にしているとき、 配線にパルスが伝達さ れると、 F E T 1 6 0の O n/O f f が切り替わり、 F ET 1 6 0が〇 nになった時間だけキャパシ夕 1 5 9に電荷が蓄積される。 次に、 スィ ツチ Sを O F Fにしかつスィッチ 1 5 7を ONにすると、 先に蓄積され た電荷に相当する電圧が比較器 1 5 3に出力される。 すなわち、 パルス の幅とその数に相当する電圧が出力される。 この場合、 蓄積電荷量が増 加すると徐々に蓄積される電位は線形でなくなってくるが、 大小の違い は明確に検出できるため、 べク トル列間の比較には十分適用できる。 本実施形態の確率的演算素子は、 実施形態 5で述べたように、 閾値を 跨ぐ揺らぎが長期的に発生した場合に、 パルスの幅としての情報も蓄積 できるため、 より高精度にべク トル列の比較を実行することができる。
(実施形態 7 )
以下、 本発明の第 7の実施形態について説明する。
第 3 1図は本発明の実施形態 7に係る確率的演算素子の閾値処理器 の構成を示す回路図である。 第 3 1図において、 第 1図と同一又は相当 する部分には同一符号を付してその説明を省略する。
第 3 1図において、 符号 1 0 1は電流検出器を、 符号 1 0 2は揺らぎ 発生器制御回路をそれぞれ示す。
実施形態 5で述べたように、 本発明の確率的演算素子は、 ベク トル間 の差が小さく、 連続的に閾値を跨がない状態が生じると、 パルスが発生 しなくなつてしまい、 べク トルが近いのにカウントが増加しない事態と なる。
本実施形態の確率的演算素子は、 これを防止するため、 揺らぎ発生器 1 5の電圧の揺らぎ幅又は平均電圧を徐々に大きくすることを特徴と する。
揺らぎ発生器制御回路 1 0 2は揺らぎ発生器 1 5の出力電圧の揺ら ぎを少しずつ大きくする。 やがて、 揺らぎが閾値に達してくると、 頻繁 にパルスが発生することとなる。 このとき、 本実施形態の閾値処理器 4 7はィンバ一夕で構成されているため、 H i g h / L o wが反転する瞬 間に P M I S 4 7 Pから N M I S 4 7 Nへ向けて貫通電流が流れるこ ととなる。 この貫通電流を電流検出器 1 0 1が検出すると、 揺らぎ発生 器制御回路 1 0 2は、 パルスが発生し始めたと判定し、 揺らぎ発生器 1 5の電圧の揺らぎ幅又は平均電圧をその時点における値に維持する。 こ れにより、 極端に揺らぎが大きくなることを防止することができる。 第 3 2図、 第 3 3図にはこの動作をより詳細に示している。 第 3 2図 は揺らぎ発生器 1 5に高いバイアス電圧 (約 1 [V]) を付加したときの閾 値処理器 4 7への入力電圧を示したものである。 この場合、 閾値である 1 [V]より高い電圧範囲で電圧が揺らぐため、 閾値に到達することがな く、 閾値処理器 4 7はパルスを発生しない。 すなわち、 インパー夕 4 7 はずつと Low レベルを出力しつづけ、反転時に観察される貫通電流は変 化がない。
次に第 3 3図は第 3 2図の状態からバイアス電圧を徐々に低下させ 約 0 . 5 [V]とした時の閾値処理器 2 7への入力電圧を示している。 こ の場合には、 閾値を跨ぐ電圧揺らぎが多発するため、 前述のようにパル スが多く出力されることとなる。 このようにインバ一夕の O n / O f f が繰り返されることで、 インバ一夕の貫通電流が増加し、 これが電流検 出器 1 0 1で観察されることとなる。 なお、 このような調整は、 バイアス電圧を揺らぎ発生器 1 5の揺らぎ に加えることで平均出力電圧を変化させる、 今回の説明のように行って も良いが、 揺らぎの振幅を大きくしても同様の機能が得られることは言 うまでもない。
(実施形態 8 )
本発明の実施形態 8に係る確率的演算素子は、 揺らぎ発生回路 1 5に おいて発生される揺らぎに特徴を有するため、 以下、 その揺らぎの特性 についてのみ説明する。
第 3 4図は本実施形態に係る確率的演算素子の揺らぎ発生器の出力 を示すグラフである。
実施形態 1〜 7の確率的演算素子においては、 揺らぎ発生器の出力は. カオスや熱雑音を用い、 ランダムな振る舞いを見せる出力を用いて演算 を実行していた。
本実施形態 8の揺らぎ発生器 1 5の出力は第 3 4図に示すように、 規 則的な出力を発生することを特徴とする。 ここで、 特に出力のヒストグ ラムができるだけ同等になるように、 発生出力の大きさを制御している, 第 3 4図.のような徐々に増加するパルス列は、 ランプ波形の電圧を一定 時間間隔でサンプリングするようにすれば得ることができる。
このような揺らぎ電圧を用いても、 実施形態 1〜 7と同様の効果を得 ることができる。
なお、 本実施形態では、 規則的に電圧が増加するパルス列としたが、 このような特性でなく とも、 出力値のヒストグラムに偏りがなければ、 同様の効果が期待できることはいうまでもない。
(実施形態 9 )
本発明の実施形態 9は実施の形態 1〜 8の確率的演算素子を用いた 認識処理装置としての音声認識装置を例示している。
第 3 5図は本実施形態に係る音声認識装置の構成を模式的に示すブ ロック図である。 第 3 5図において、 第 1図と同一又は相当する部分に は同一符号を付してその説明を省略する。
第 3 5図に示すように、 音声認識装置は、 マイクロフォン 1 2 3と、 マイクロフォン 1 2 3から入力される音声データの特徴を抽出する特 徵抽出処理部 1 2 1 と、 参照べク トル群を格納するメモリ 1 2 2と、 特 徴抽出処理部 1 2 1で抽出した特徴データとメモリ 1 2 2に格納され た参照ベク トルデータ群とを比較して音声を認識する確率的演算素子 1 とを備えている。
このように構成された音声認識装置では、 メモリ 1 2 2に、 参照べク トルデ一夕群が例えばデジタル情報として格納されている。 参照べク ト ルデータ群には、 音声の基本的な特徴データが予め格納されており、 ま た、 必要な場合には特徴抽出処理部 1 2 1で得られた特徴データを格納 できるようになつている。 特徴抽出処理部 1 2 1は、 マイクロフォン 1 2 3から入力されたアナログの音声情報に対して、 例えば、 スペク トル 分布や、 その時間変化などの処理を行うことにより、 その特徴データを 抽出する。
この特徴データが入力べク トルとして確率的演算素子 1 に入力され る。 確率的演算素子 1は、 この特徴データを参照ベク トルデ一夕群と比 較してその中から最も近似する参照べク トルデータを特定 (べク トルマ ツチング) し、 入力された特徴データに対応する音声をこの特定した参 照べク トルデータに対応する音声であると認識する。
これにより、 マイクロフォン 1 2 3に入力された音声を、 非常に高速 に認識することができる。 例えば、 マイクロフォン 1 2 3に入力される 音声が日本語であれば、 五十音の認識を行うことができる。 (実施形態 1 0 )
本発明の実施形態 1 0は、 実施形態 9の音声認識装置の改良例を示し ている。
第 3 6図は本実施形態に係る音声認識装置のメモリに格納された参 照べクトルデータ群の特徴を説明する図である。 第 3 6図において、 第 6図又は第 3 5図と同一又は相当する部分には同一符号を付してその 説明を省略する。
本実施形態の音声認識装置は、 実施形態 9の音声認識装置において、 参照べク トルデータ群に工夫を凝らしたものである。
具体的には、 第 3 6図に示すように、 本実施形態の参照ベクトルデ一 夕 5 1は、 音声のスぺクトル情報を時系列的に前から配置したデータ構 造を有している。 第 3 6図においては、 デジタルの参照ベク トルデ一夕 5 1の一部にアルフアベッ トの A〜Dが示されているが、 これらは同じ 声に対する特徴情報を表している。
本実施形態の音声認識装置は、 参照ベク トルデータ群で、 同一のデー タを相互にずらして配置していることを特徴とする。
人間が話をする場合、 文字で書けば同じことを、 時間的に同じ夕イミ ングで話すとは限らず、 また個人差がある。
本発明の確率的演算素子は、 非常に高速に大量のべク トルのマツチン グをとることが可能であるため、 このような声の伸び縮みを考慮して、 予め時間的にずらしてデータを準備しておけば、 時間の伸び縮みがあつ ても、 それに対応したべク トル列が最も近いこととなり、 入力された声 がどの文字に相当するかを判断することができる。 (実施形態 1 1 )
本発明の実施形態 1 1は、 実施形態 1〜 8の確率的演算素子を用いた 認識処理装置としての画像認識装置を例示している。 第 3 7図は実施形態 1 1 に係る画像認識装置の構成を模式的に示す ブロック図である。 第 3 7図において、 第 3 5図と同一又は相当する部 分には同一符号を付してその説明を省略する。
第 3 7図に示すように、 画像認識装置は、 C C Dなどの撮像素子から なるカメラ 1 4 3 と、 カメラ 1 4 3から入力される画像データの特徴を 抽出する特徴抽出処理部 1 4 1と、 参照べク トル群を格納するメモリ 1 2 2と、 特徴抽出処理部 1 4 1で抽出した特徴データとメモリ 1 2 2に 格納された参照べク トルデ一夕群とを比較して画像を認識する確率的 演算素子 1 とを備えている。
このように構成された画像認識装置では、 メモリ 1 2 2には参照べク トルデータ群として、 画像から得られる特徴量と、 それに対応するラベ ル、 例えばその対象の名前などがデータとして格納されている。
このような画像認識においては、種々の手法があるが、第 3 8図には、 特に人の顔を認識する場合の例を示している。
この手法では、 カメラ 1 4 3に映った映像から、 目や鼻、 口などのパ —ッ (部位) の位置をまず取得し、 次にこれらのパーツ間の距離 1 5 1 を特徴量として抽出している。
このような特徴量 1 5 1が特徴抽出部 1 4 1で抽出され、 この特徴量 1 5 1が入力べク トルとして確率的演算素子 1 に入力される。 確率的演 算素子 1は、 この特徴量 1 5 1を参照ベク トルデ一夕群と比較してその 中から最も近似する参照べク トルデータを特定し、 入力された特徴量に 対応する画像をこの特定した参照べク トルデ一夕に対応する画像であ ると認識する。
これにより、 カメラ 1 4 3に入力された画像を、 非常に高速に認識す ることができる。
従来、 このような認識処理はパーソナルコンピュー夕などで行うため. 特徴量としてはせいぜい数十程度であつたが、 本発明の確率的演算素子 1はより多くのべク トル比較を高速に行えるため、 特徴量をより多く取 得し、 比較することができる。
例えば、 顔の向きが変わったり、 周囲の明るさが変化した場合など、 いくつか状況が変わった場合の特徴量を記憶しておくことで、 人を認識 する精度を飛躍的に向上することが可能である。
なお、 本実施形態では人の顔認識について説明したが、 工場の生産ラ ィンにおける基板上の部品の認識や、 自動車などからの標識の認識など 他の用途に対しても同様に画像の認識処理を実行できることは言うま でもない。
(実施形態 1 2 )
本発明の実施形態 1 2は、 実施形態 1〜 8の確率的演算素子を用いた 認識処理装置としての行動認識装置を例示している。
第 3 9図は本実施形態に係る行動認識装置の構成を示すブロック図 である。 第 3 9図において第 3 5図と同一又は相当する部分には同一符 号を付してその説明を省略する。
第 3 9図において、 符号 1 7 1は行動情報記憶べクトルを示す。 行動 情報記憶べク トルには、 人の行動をべク トル化したデータが格納されて いる。 符号 1 7 3は重み付け係数付加回路を示す。 重み付け係数付加回 路 1 7 3は、 被験者の反応に従ってべク トルの重み付けを変更する。 符 号 1 7 5は行動情報入力べク トルを示す。 行動情報入力べクトル 1 7 5 は、 被験者の状態をベク トル化したものである。
行動情報入力べク トル 1 7 5は、 例えば被験者の屋内及び屋外での電 気機器の操作履歴や、 家庭内などに配置された赤外線センサ出力、 室温 センサ出力、 湿度センサ出力、 また人体近傍に設けられた体温センサ出 力、 脳波センサ出力、 脈拍センサ出力、 視線センサ出力、 発汗センサ出 力、 筋電位センサ出力、 さらには日時情報、 曜日情報などの状況データ を表す。 さらには実施形態 1 0や実施形態 1 1で述べた音声入力や画像 入力の特徴量もこのような状況データとして用いることができる。
行動情報記憶ベクトル 1 7 1には、 さらにこの状況データに加え、 そ のときに被験者が取つた行動、 もしくはそのときの機器の動作がデータ として加えられている。
行動情報入力べクトル 1 7 5が入力されると、 確率的演算素子 1にお いて過去の状況で似た状況を抽出し、 それに対応する行動が決定される, その決定に対し被験者が反応をする。 例えば、 提供した動作に躊躇なく 次の動作に移れば、 提供動作には好印象を持ったと判断できるし、 即座 に提供動作を否定する動作に移れば、 低強動作には悪い印象を持ったと 判断できる。 また、 Y e s / N oで直接的に回答してもらっても良い。
このような被験者の反応を重み付け係数付加回路 1 7 3により数値 化し、 行動情報入力べク トル 1 7 5の中の重み付け係数の数値を変える, このような重み付け係数は、 本発明の確率的演算素子においては、 例 えば、 他のベク トルより多くのパルスを発生する機構を設けるなどすれ ば、 そのべクトル列の選ばれやすさを制御することが可能である。
本実施形態の行動認識装置を、 機器に組み込むことにより、 ユーザ一 が快適と思った機器の自動動作が出現する確率が向上し、 逆に不快と思 つた自動動作の出現確率が減少し、 被験者個人個人の嗜好に合致したサ 一ビスを提供することができる。
上記説明から、 当業者にとっては、 本発明の多くの改良や他の実施形 態が明らかである。 従って、 上記説明は、 例示としてのみ解釈されるべ きであり、 本発明を実行する最良の態様を当業者に教示する目的で提供 されたものである。 本発明の精神を逸脱することなく、 その構造及び Z 又は機能の詳細を実質的に変更できる。
〔産業上の利用の可能性〕 本発明に係る確率的演算素子は、 認識処理装置の認識処理用の素子等 として有用である。
本発明に係る確率的演算素子の駆動方法は、 認識処理装置の認識処理 用の素子等の駆動方法として有用である。
本発明に係る認識処理装置は、 音声認識装置、 画像認識装置、 行動認 識装置等として有用である。

Claims

求 の 範 囲
1 . 揺らぎを有するアナログ量を出力する揺らぎ発生器と、 2つのデ 一夕のアナログの差分に前記揺らぎ発生器の出力が加わった揺らぎ差分 データを出力する揺らぎ差分演算手段と、 前記揺らぎ差分演算手段の出 力を閾値処理することによりパルスを出力する閾値処理器と、 前記閾値 処理器から出力されるパルスを検出するパルス検出手段とを備えた、 確 率的演算素子。
2 . 前記揺らぎ差分演算手段は、 アナログの前記 2つのデータの差分 を演算する距離演算器と、 前記距離演算器の出力と前記揺らぎ発生器の 出力とを和算する和算器とを備えている、 請求の範囲第 1項記載の確率 的演算素子。
3 . 前記揺らぎ差分演算手段は、 アナログの前記 2つのデ一夕の一方 と前記揺らぎ発生器の出力とを和算する和算器と、 前記和算器の出力と アナログの前記 2つのデータの他方との差分を演算する距離演算器とを 備えている、 請求の範囲第 1項記載の確率的演算素子。
4 . 前記パルス検出手段が、 前記パルスをカウントするカウンタを備 えている、 請求の範囲第 1項記載の確率的演算素子。
5 . 前記パルス検出手段が、 前記パルスの幅を積分する積分器を備え ている、 請求の範囲第 1項記載の確率的演算素子。
6 . 前記 2つのデ一夕は、 2つのベク トルのそれぞれの要素を表す要 素データである、 請求の範囲第 1項記載の確率的演算素子。
7 . 前記 2つのべク トルが外部から入力される参照べク トル及び入力 べクトルであり、
前記参照べク 卜ル及び入力べクトルの要素に対応する複数の確率的演 算回路を有し、
それぞれの前記確率的演算回路が、 前記入力される参照べクトルの要 素データを記憶するためのメモリと、 前記メモリに記憶された参照べク トルの要素デ一夕と前記入力される入力べク トルの要素データとのアナ 口グの差分に前記揺らぎ発生器の出力が加わった揺らぎ差分データを出 力する前記揺らぎ差分演算手段と、 前記閾値処理器とを有し、
前記パルス検出手段は、 前記複数の前記確率的演算回路から出力され るパルスを検出する、 請求の範囲第 6項記載の確率的演算素子。
8 . 前記複数の確率的演算回路のパルス出力端は、 一端が前記パルス 検出手段に接続された共通の配線に互いに並列に接続され、 前記共通の 配線の、 前記複数の確率的演算回路のパルス出力端との接続部の間の部 分に遅延回路がそれぞれ設けられている、 請求の範囲第 7項記載の確率 的演算素子。
9 . 前記複数の確率的演算回路と前記パルス検出手段とを有するべク トル列比較回路を複数備えている、 請求の範囲第 7項記載の確率的演算 素子。
1 0 . 前記メモリがアナログメモリであり、 アナログの前記参照べク トルの要素データが前記アナログメモリに記憶される、 請求の範囲第 7 項記載の確率的演算素子。
1 1 . 前記アナログメモリは、 ゲート電極に強誘電体キャパシ夕が接 続されたソースフォロワ回路を備え、 前記強誘電体キャパシタにアナ口 グの前記参照べク トルの要素データが入力されかつ記憶される、 請求の 範囲第 1 0項記載の確率的演算素子。
1 2 . 前記ソースフォロワ回路のゲ一ト電極に、 さらに常誘電体キヤ パシ夕が接続されている、 請求の範囲第 1 1項記載の確率的演算素子。
1 3 . 前記揺らぎ差分演算手段は前記 2つのデータのアナログの差分 又はアナログの前記 2つのデータの一方と前記揺らぎ発生回路の出力と を和算する和算器を備え、 前記和算器がゲート電極に第 1及び第 2のキ ャパシ夕が並列に接続されたソ一スフォロワ回路を備え、 前記第 1のキ ャパシ夕に前記揺らぎ発生回路の出力が入力され、 前記第 2のキャパシ タに前記 2つのデータのアナログの差分又はアナログの前記 2つのデ一 夕の一方が入力される、 請求の範囲第 1項記載の確率的演算素子。
1 4 . 前記和算器のソ一スフォロワ回路のゲート電極が、 スィッチ素 子を介して接地端子へ接続されている、 請求の範囲第 1 3項記載の確率 的演算素子。
1 5 . 前記カウンタが、 リプルカウン夕である、 請求の範囲第 1項記 載の確率的演算素子。
1 6 . 前記揺らぎが、 カオス揺らぎである、 請求の範囲第 1項記載の 確率的演算素子。
1 7 . 前記揺らぎが、 雑音を増幅して得られる揺らぎである、 請求の 範囲第 1項記載の確率的演算素子。
1 8 . 前記揺らぎ発生器は、 揺らぎを有する出力として、 周期的な出 力を発生し、 かつ前記周期的出力の 1周期間の出力のヒストグラム値が ほぼ同等である、 請求の範囲第 1項記載の確率的演算素子。
1 9 . 前記距離演算器は減算素子を備え、
前記減算素子は、 ゲート電極に並列に 2つのキャパシ夕が接続された ソースフォロワ回路を備え、 かつ前記 2つキャパシ夕のキャパシタンス が等しく であるとし、 前記ソースフォロワ回路を構成する N M I S 及び P M I Sのキャパシタンスをそれぞれ CN、 CPとし、 前記ソースフ ォロワ回路へ電圧を入力したときに低電圧側の電圧源の電位より電位が 上昇を開始する電圧を VLWとするとき、
電圧 Vzを VZ=VL。w/[ 2 Ci/ ( 2 CI + CN+CP) } の式で演算し、 かつ前記 2つのデータはそれぞれ電圧で表されかつその電圧を Vaと Vbとすると き、 V Vz-Vaなる電圧と V2 = Vz+Vbなる電圧とを前記 2つのキャパシ 夕のソースフォロワ回路のゲート電極に接続されていない方の電極にそ れぞれ印加することにより、 Va-Vbの演算において Va≥Vbの場合の減算 を実行する、 請求の範囲項 2項記載の確率的演算素子。
2 0 . 前記距離演算器は、 前記減算素子を 2つ備え、 前記 2つのデー 夕をそれぞれ Vin、 Vref とするとき、 前記 2つの減算素子の一方には
Vb二 Vref として出力 VM1を得、 前記 2つの減算素子の他方には Va二 Vref、 Vb=Vinとして出力 VM2を得、 かつ電圧 VM1と VM2を前記和算 器へ入力することにより、 Vin と Vref の差の絶対値を演算する、 請求の 範囲項 1 9項記載の確率的演算素子。
2 1 . 前記閾値処理器が、 C M I Sインバー夕で構成されている、 請 求の範囲項 1項記載の確率的演算素子。
2 2 . 前記閾値処理器の直前にスィッチ素子が設けられている、 請求 の範囲項 1項記載の確率的演算素子。
2 3 . 前記閾値処理器の電源供給配線の電流を検出する電流検出器と、 前記電流検出器の出力に基づいて前記揺らぎ発生器の出力を制御する揺 らぎ発生器制御回路とをさらに備えている、 請求の範囲項 2 1項記載の 確率的演算素子。
2 4 . 前記揺らぎ発生器制御回路は、 前記電流検出器により検出され る電流が所定値より小さい場合に、 前記揺らぎ発生器の揺らぎ幅を増加 させる、 請求の範囲項 2 3項記載の確率的演算素子。
2 5 . 前記揺らぎ発生器制御回路は、 前記電流検出器により検出され る電流が所定値より小さい場合に、 前記揺らぎ発生器の出力に、 その平 均値が前記閾値処理器の閾値に近づくよう正又は負のバイアスを付加す る、 請求の範囲項 2 3項記載の確率的演算素子。
2 6 . 外部から入力される参照べク トル及び入力べク トルの要素に対 応する複数の確率的演算回路と、 パルス検出手段と、 前記複数の確率的 演算回路及び前記パルス検出手段を有する所定数のべク トル列比較回路 とを備え、
それぞれの前記確率的演算回路が、 揺らぎを有するアナログ量を出力 する揺らぎ発生器と、 前記入力される参照べク トルの要素データを記憶 するためのメモリと、 前記メモリに記憶された参照べク トルの要素デー 夕と前記入力される入力べク トルの要素データとのアナログの差分に前 記揺らぎ発生器の出力が加わった揺らぎ差分データを出力する揺らぎ差 分演算手段と、 前記揺らぎ差分演算手段の出力を閾値処理することによ りパルスを出力する閾値処理器とを有し、
前記パルス検出手段が、 前記複数の確率的演算回路の閾値処理器から 出力されるパルスを検出し、 それにより、 前記入力ベク トルと前記参照 べク トルとの距離を検出する確率的演算素子の駆動方法であって、 前記べク トル列比較回路の列数が参照べク トルの列数より少ない場合 に、 前記入力ベク トルとの距離が近い前記参照ベク トルを k個 (kは自 然数) 抽出するとき、
前記べク トル列比較回路の列数以下の数の前記参照べク トルを前記べ ク トル列比較回路の複数の確率的演算回路のメモリに書き込み、 この書 き込んだ参照べク トルから前記上位 k個の参照べク トルを抽出し、 次い で、 この参照ベク トルが抽出されたベク トル列比較回路以外のベク トル 列比較回路に残りの前記参照べク トルの少なくとも一部を書き込んで前 記抽出を行う、 確率的演算素子の駆動方法。
2 7 . 前記参照べク トルの書き込み及び前記抽出動作をさらに繰り返 す、 請求の範囲第 2 6項記載の確率的演算素子の駆動方法。
2 8 . 請求の範囲第 1項記載の確率的演算素子と、 外部から入力され る認識対象情報の特徴を抽出し、 該抽出された特徴を前記入力べク トル として前記確率的演算素子に入力する特徴抽出回路と、 前記認識対象情 報の特徴をべク トル化した参照べク トル群を格納するメモリとを備え、 前記確率的演算素子が、 前記メモリに格納された参照べクトル群のう ちから前記入力べク トルに対応する参照べク トルを特定することにより . 認識対象情報を認識する、 認識処理装置。
2 9 . 前記認識対象情報が音声である、 請求の範囲第 2 8項記載の認 識処理装置。
3 0 . 前記参照ベク トル群は、 音声の特徴量が時系列的に配置された ベク トル群からなり、 かつ人間にとって同じであると認識される音声の 特徴量が互いに時系列的にずれて配置された複数列のべク トルを有して いる、 請求の範囲第 2 9項記載の認識処理装置。
3 1 . 前記認識対象情報が画像である、 請求の範囲第 2 8項記載の認 識処理装置。
3 2 . 前記参照ベク トル群は、 人間にとって同じものと認識されるが 数値的には異なる画像の特徴量がべクトル化されたべク トル群からなる. 請求の範囲第 3 1項記載の認識処理装置。
3 3 . 前記人間にとって同じものと認識される画像が人間の部位であ り、前記数値的に異なる画像の特徴量が前記人間の部位間の距離である、 請求の範囲第 3 2項記載の認識処理装置。
3 4 . 前記認識対象情報が人間の行動であり、 前記認識された行動を 出力する、 請求の範囲第 2 8項記載の認識処理装置。
3 5 . 前記参照ベク トル群は、 人間の活動情報を数値化したデータが べク トル化されたべク トル群からなる、 請求の範囲第 3 4項記載の認識 処理装置。
3 6 . 前記出力された行動に対する反応が好意的な場合には、 前記出 力された行動に対応する参照べクトルが選択されやすくなるよう該参照 ベク トルの値の少なくとも一部を変更し、 前記反応が否定的な場合には 前記出力された行動に対応する参照べク トルが選択されにくくなるよう に該参照べク トルの値の少なくとも一部を変更する、 請求の範囲第 3 5 項記載の認識処理装置。
3 7 . 前記活動情報は、 電気機器の操作履歴、 赤外線センサ出力、 室温センサ出力、 湿度センサ出力、 体温センサ出力、 脳波センサ出力、 脈拍センサ出力、視線センサ出力、発汗センサ出力、筋電位センサ出力、 日時情報、 曜日情報、 及び認識処理装置の出力の少なくともいずれかを 含む、 請求の範囲第 3 6項記載の認識処理装置。
PCT/JP2003/009150 2002-07-22 2003-07-18 確率的演算素子、その駆動方法及びこれを用いた認識処理装置 Ceased WO2004010582A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU2003281558A AU2003281558A1 (en) 2002-07-22 2003-07-18 Probabilistic calculation element, drive method thereof, and recognition device using the same
JP2004522760A JP3708113B2 (ja) 2002-07-22 2003-07-18 確率的演算素子、その駆動方法及びこれを用いた認識処理装置
US10/781,819 US7493353B2 (en) 2002-07-22 2004-02-20 Stochastic processor, driving method thereof, and recognition process device using the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-212028 2002-07-22
JP2002212028 2002-07-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/781,819 Continuation US7493353B2 (en) 2002-07-22 2004-02-20 Stochastic processor, driving method thereof, and recognition process device using the same

Publications (1)

Publication Number Publication Date
WO2004010582A1 true WO2004010582A1 (ja) 2004-01-29

Family

ID=30767796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/009150 Ceased WO2004010582A1 (ja) 2002-07-22 2003-07-18 確率的演算素子、その駆動方法及びこれを用いた認識処理装置

Country Status (6)

Country Link
US (1) US7493353B2 (ja)
JP (1) JP3708113B2 (ja)
CN (1) CN1284300C (ja)
AU (1) AU2003281558A1 (ja)
TW (1) TWI323429B (ja)
WO (1) WO2004010582A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112510147A (zh) * 2020-12-04 2021-03-16 武汉理工大学 一种全无机量子点基阻变存储器及其制备方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7449967B2 (en) * 2003-02-28 2008-11-11 Panasonic Corporation Probabilistic pulse generator and differential absolute value computing element and manhattan distance arithmetic unit using this
US6974252B2 (en) * 2003-03-11 2005-12-13 Intel Corporation Failsafe mechanism for preventing an integrated circuit from overheating
US8188753B2 (en) * 2009-02-18 2012-05-29 Analog Devices, Inc. Analog computation
US8161329B2 (en) * 2009-11-11 2012-04-17 International Business Machines Corporation Generating random sequences based on stochastic generative model having multiple random variates
CN101834586A (zh) * 2010-04-21 2010-09-15 四川和芯微电子股份有限公司 随机信号产生电路及方法
CN106105037B (zh) * 2014-01-21 2019-03-29 拉迪安特技术公司 利用铁电电容器的非易失性计数器
JP2019028569A (ja) 2017-07-26 2019-02-21 株式会社東芝 メモリシステム、半導体記憶装置及び信号処理システム
US10303998B2 (en) 2017-09-28 2019-05-28 International Business Machines Corporation Floating gate for neural network inference
US11238360B2 (en) * 2018-02-12 2022-02-01 International Business Machines Corporation Fast quantum feedback using analog integration and control pulse gating
JP6521207B1 (ja) * 2018-11-08 2019-05-29 Tdk株式会社 積和演算器、積和演算方法、論理演算デバイスおよびニューロモーフィックデバイス
KR102495632B1 (ko) * 2020-11-26 2023-02-06 포항공과대학교 산학협력단 아날로그 신호를 확률 신호로 변환하는 역치 변환 소자 기반의 아날로그-확률 변환 장치

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06252744A (ja) * 1993-02-22 1994-09-09 Sunao Shibata 半導体集積回路
JPH11514163A (ja) * 1995-06-09 1999-11-30 シーメンス アクチエンゲゼルシヤフト 第1のニューロンmos電界効果トランジスタおよび基準源によって実現することができる2つの電気量の比較回路装置
JP2000237167A (ja) * 1999-02-19 2000-09-05 Oki Electric Ind Co Ltd アイリス認識装置
JP2001313386A (ja) * 2000-04-28 2001-11-09 Japan Science & Technology Corp 情報処理構造体
JP2002123833A (ja) * 2000-10-18 2002-04-26 Victor Co Of Japan Ltd 画像処理装置
JP2003163332A (ja) * 2001-06-22 2003-06-06 Matsushita Electric Ind Co Ltd 半導体装置
JP2003179485A (ja) * 2001-12-10 2003-06-27 Nippon Telegr & Teleph Corp <Ntt> 可変しきい値しきい素子回路、関数機能再構成可能集積回路および回路状態保持方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2390047B1 (ja) * 1977-05-06 1982-09-17 Aerospatiale
JP3507886B2 (ja) * 2000-07-24 2004-03-15 新潟大学長 乱数発生方法
JP4648996B2 (ja) 2000-10-11 2011-03-09 ローム株式会社 アナログ−デジタル変換器
US7007060B2 (en) * 2002-05-08 2006-02-28 Agilent Technologies, Inc. Random bit stream generation by amplification of thermal noise in a CMOS process
US7188131B2 (en) * 2002-11-27 2007-03-06 Stmicroelectronics S.A. Random number generator
DE10344327B3 (de) * 2003-09-24 2005-06-09 Infineon Technologies Ag Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06252744A (ja) * 1993-02-22 1994-09-09 Sunao Shibata 半導体集積回路
JPH11514163A (ja) * 1995-06-09 1999-11-30 シーメンス アクチエンゲゼルシヤフト 第1のニューロンmos電界効果トランジスタおよび基準源によって実現することができる2つの電気量の比較回路装置
JP2000237167A (ja) * 1999-02-19 2000-09-05 Oki Electric Ind Co Ltd アイリス認識装置
JP2001313386A (ja) * 2000-04-28 2001-11-09 Japan Science & Technology Corp 情報処理構造体
JP2002123833A (ja) * 2000-10-18 2002-04-26 Victor Co Of Japan Ltd 画像処理装置
JP2003163332A (ja) * 2001-06-22 2003-06-06 Matsushita Electric Ind Co Ltd 半導体装置
JP2003179485A (ja) * 2001-12-10 2003-06-27 Nippon Telegr & Teleph Corp <Ntt> 可変しきい値しきい素子回路、関数機能再構成可能集積回路および回路状態保持方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112510147A (zh) * 2020-12-04 2021-03-16 武汉理工大学 一种全无机量子点基阻变存储器及其制备方法

Also Published As

Publication number Publication date
TW200404369A (en) 2004-03-16
US7493353B2 (en) 2009-02-17
JPWO2004010582A1 (ja) 2005-11-17
CN1284300C (zh) 2006-11-08
JP3708113B2 (ja) 2005-10-19
US20040162725A1 (en) 2004-08-19
TWI323429B (en) 2010-04-11
AU2003281558A1 (en) 2004-02-09
CN1613184A (zh) 2005-05-04

Similar Documents

Publication Publication Date Title
CN112183739B (zh) 基于忆阻器的低功耗脉冲卷积神经网络的硬件架构
Lee et al. Artificially intelligent tactile ferroelectric skin
US11461621B2 (en) Methods and systems of implementing positive and negative neurons in a neural array-based flash memory
WO2004010582A1 (ja) 確率的演算素子、その駆動方法及びこれを用いた認識処理装置
CN112005252A (zh) 具有单独权重更新和干扰电路的电阻式处理单元架构
CN110543933A (zh) 基于flash存算阵列的脉冲型卷积神经网络
CN110383282A (zh) 用于混合信号计算的系统和方法
Zhou et al. Gradient-based neuromorphic learning on dynamical RRAM arrays
Ji et al. MLG-NCS: Multimodal local–global neuromorphic computing system for affective video content analysis
Wang et al. Neuromorphic processors with memristive synapses: Synaptic interface and architectural exploration
CN113383341B (zh) 算术设备以及乘积-累加算术系统
CN117669676A (zh) 一种基于忆阻器的感知神经元电路及应用
CN114444657A (zh) 一种图像处理方法、系统、设备及可读存储介质
Gi et al. A ReRAM-based convolutional neural network accelerator using the analog layer normalization technique
Nowshin et al. Towards energy-efficient spiking neural networks: a robust hybrid CMOS-memristive accelerator
Cao et al. Parasitic-aware modelling for neural networks implemented with memristor crossbar array
Siegel et al. Demonstration of neuromorphic sequence learning on a memristive array
Tran et al. Hierarchical memcapacitive reservoir computing architecture
US11106971B2 (en) Neuromorphic device and a synapse network including a post-synaptic neuron having a subtracting circuit
CN116937560A (zh) 新能源出力预测方法、装置、设备及可读存储介质
Tian et al. NIMBLE: A neuromorphic learning scheme and memristor based computing-in-memory engine for EMG based hand gesture recognition
Yoon et al. Design of a full CMOS computer vision sensor with an embedded analog convolutional neural network processor for human face recognition
JP2004157757A (ja) アナログ演算回路
Wan et al. Brain-Inspired Reservoir Computing with Dynamic Memristors for Audio-Visual Emotion Recognition
Ryu et al. A 6.23-bit FG-based neuromorphic synaptic device with extended input range by linearity improvement

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 10781819

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2004522760

Country of ref document: JP

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)

Free format text: EXCEPT/SAUF US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 20038018950

Country of ref document: CN

122 Ep: pct application non-entry in european phase