WO2020141858A1 - 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법 및 그 시스템 - Google Patents

아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법 및 그 시스템 Download PDF

Info

Publication number
WO2020141858A1
WO2020141858A1 PCT/KR2019/018803 KR2019018803W WO2020141858A1 WO 2020141858 A1 WO2020141858 A1 WO 2020141858A1 KR 2019018803 W KR2019018803 W KR 2019018803W WO 2020141858 A1 WO2020141858 A1 WO 2020141858A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
artificial neural
deviation value
bias
tendency
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/KR2019/018803
Other languages
English (en)
French (fr)
Inventor
최기영
김재현
이채운
장준연
곽준영
김재욱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Korea Institute of Science and Technology KIST
SNU R&DB Foundation
Original Assignee
Korea Institute of Science and Technology KIST
Seoul National University R&DB Foundation
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 Korea Institute of Science and Technology KIST, Seoul National University R&DB Foundation filed Critical Korea Institute of Science and Technology KIST
Priority to US16/971,917 priority Critical patent/US12050992B2/en
Publication of WO2020141858A1 publication Critical patent/WO2020141858A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Definitions

  • the present invention relates to a method and a system for compensating for process variation by controlling activity in an analog binary artificial neural network circuit, and more specifically, to solve a decrease in recognition rate performance due to a process variation generated when an analog circuit binary artificial neural network is implanted. It relates to a process variation compensation method and a system that can be performed.
  • analog circuits have been proposed for realizing an artificial neural network with low power.
  • analog circuits due to the characteristics of analog circuits, they are very vulnerable to process variation, and once the pre-implemented artificial neural network is fabricated as a real semiconductor chip, there is a problem that the recognition rate performance is greatly deteriorated.
  • a binary artificial neural network refers to an artificial neural network having a 1-bit synaptic weight and a 1-bit activation value. This is because the weight and the size of the activity are small compared to the existing artificial neural network, so there is less demand for weight storage, and the design of the calculator can be simplified, so it can be implemented with low power in a relatively small area compared to the existing artificial neural network. There is this.
  • Neurons which are basic elements constituting a binary artificial neural network, can be implemented as digital circuits or analog circuits. In the case of analog circuits, they have the advantage of being implemented in a significantly smaller area and with lower power than digital circuits. , As a side effect of a process variation that inevitably occurs after implantation into an actual semiconductor chip, it has always been pointed out that a very large recognition rate performance decreases due to process dispersion.
  • the technical problem to be solved by the present invention is to provide a process variation compensation method and a compensation system that implements the method for minimizing degradation in recognition rate performance due to process variations generated when the binary artificial neural network is implemented as an analog circuit.
  • the method according to an embodiment of the present invention for solving the above technical problem relates to a process variation compensation method by adjusting activity in an analog binary artificial neural network (BNN) circuit, and the synaptic weight of neurons constituting the binary artificial neural network an initialization step of initializing (weight) and bias; Average activity measurement that measures the average activation value by quantifying how many active outputs are output from a neuron constituting the binary artificial neural network during a predetermined time by inputting training data.
  • BNN binary artificial neural network
  • a deviation value calculation step of calculating a deviation value between the measured average activity and a reference average activity
  • a tendency detecting step of changing the initialized bias at least once, and grasping the tendency for the calculated deviation value to gradually decrease according to a direction in which the bias is changed;
  • a monotonic increase or decrease step of monotonically increasing or decreasing the bias of the neurons constituting the binary artificial neural network until the calculated deviation value becomes smaller than a predetermined reference deviation based on the identified tendency.
  • the system according to another embodiment of the present invention for solving the above technical problem relates to a process variation compensation system through activity control in an analog binary artificial neural network (BNN) circuit, and synapses of neurons constituting the binary artificial neural network
  • An initialization unit that initializes weights and biases; Average activity measurement that measures the average activation value by quantifying how many active outputs are output from a neuron constituting the binary artificial neural network during a predetermined time by inputting training data.
  • a deviation value calculating unit calculating a deviation value between the measured average activity and a reference average activity
  • a tendency detecting unit that changes the initialized bias at least once, and grasps a tendency for the calculated deviation value to gradually decrease according to a direction in which the bias is changed
  • a monotonic increase/decrease unit for monotonically increasing or monotonically decreasing the bias of the neurons constituting the binary artificial neural network until the calculated deviation value becomes smaller than a predetermined reference deviation based on the identified tendency.
  • One embodiment of the present invention can provide a computer-readable recording medium storing a program for implementing the method.
  • the present invention even if a binary artificial neural network is implemented as an analog circuit, and the recognition rate performance deteriorates due to process variation, the generated recognition rate deterioration can be restored to an almost perfect level.
  • the present invention has the versatility applicable to analog circuits designed in various ways, regardless of one specific design method.
  • FIG. 1 is a view for schematically explaining the entire system according to the present invention.
  • FIG. 2 is a block diagram of an example of a compensation system according to the present invention.
  • FIG. 3 is a diagram for explaining a process of monotonically increasing or monotonically decreasing the bias of a neuron by the monotonic increasing and decreasing algorithm based on a binary search.
  • FIG. 4 is a diagram showing an example of an architecture in which a binary artificial neural network to which the present invention can be applied is designed using an analog circuit.
  • FIG. 5 is a diagram schematically showing changes in output voltage characteristics of the PS32 circuit in FIG. 4 according to process variation intensity.
  • FIG. 6 is a diagram schematically showing an example of a change in average activity of neurons in an analog binary artificial neural network circuit due to process variation.
  • FIG. 7 and 8 are diagrams schematically showing differences in recognition rates of a binary artificial neural network according to process variation intensity.
  • FIG. 9 is a flowchart showing an example of a compensation method according to the present invention.
  • the method according to an embodiment of the present invention for solving the above technical problem relates to a process variation compensation method by adjusting activity in an analog binary artificial neural network (BNN) circuit, and the synaptic weight of neurons constituting the binary artificial neural network an initialization step of initializing (weight) and bias; Average activity measurement that measures the average activation value by quantifying how many active outputs are output from a neuron constituting the binary artificial neural network during a predetermined time by inputting training data.
  • BNN binary artificial neural network
  • a deviation value calculation step of calculating a deviation value between the measured average activity and a reference average activity
  • a tendency detecting step of changing the initialized bias at least once, and grasping the tendency for the calculated deviation value to gradually decrease according to a direction in which the bias is changed;
  • a monotonic increase or decrease step of monotonically increasing or decreasing the bias of the neurons constituting the binary artificial neural network until the calculated deviation value becomes smaller than a predetermined reference deviation based on the identified tendency.
  • the initializing step may be characterized in that the bias is initialized by an automated test equipment (ATE) located outside the binary artificial neural network circuit.
  • ATE automated test equipment
  • the learning data may be characterized in that it is data used to train the binary artificial neural network before being implanted in the circuit.
  • the monotonic increase/decrease step may be characterized in that the bias is monotonically increased or monotonically reduced by repeating a binary search method.
  • the binary artificial neural network is composed of an input layer, a hidden layer, and an output layer including a plurality of neurons, and the average activity measurement step, the deviation value calculation step, the tendency detection step, and the monotonic increase/decrease step. It may be characterized in that the input layer, the hidden layer, and the output layer are separated and sequentially performed.
  • the system according to another embodiment of the present invention for solving the above technical problem relates to a process variation compensation system by controlling activity in an analog binary artificial neural network (BNN) circuit, and synapses of neurons constituting the binary artificial neural network
  • An initialization unit that initializes weights and biases; Average activity measurement that measures the average activation value by quantifying how many active outputs are output from a neuron constituting the binary artificial neural network during a predetermined time by inputting training data.
  • a deviation value calculating unit calculating a deviation value between the measured average activity and a reference average activity
  • a tendency detecting unit that changes the initialized bias at least once, and grasps a tendency for the calculated deviation value to gradually decrease according to a direction in which the bias is changed
  • a monotonic increase/decrease unit for monotonically increasing or monotonically decreasing the bias of the neurons constituting the binary artificial neural network until the calculated deviation value becomes smaller than a predetermined reference deviation based on the identified tendency.
  • the initialization unit may be characterized in that the bias is initialized by an automated test equipment (ATE) located outside the binary artificial neural network circuit.
  • ATE automated test equipment
  • the learning data may be characterized in that it is data used to train the binary artificial neural network before being implanted in the circuit.
  • the monotonic increase/decrease unit may be characterized in that the bias is monotonically increased or monotonically reduced by repeating a binary search method.
  • the binary artificial neural network is composed of an input layer, a concealment layer, and an output layer including a plurality of neurons
  • the average activity measurement unit inputs learning data, and is first from neurons constituting the input layer.
  • the average activity is measured, and the deviation value calculating unit calculates a first deviation value between the measured first average activity and a reference average activity, and the trend determining unit changes the bias of the neuron of the input layer at least once.
  • the monotonic increase/decrease unit is based on the identified first tendency, so that the first deviation value becomes smaller than a preset reference deviation.
  • the average activity measurement unit inputs learning data, measures a second average activity from the neurons constituting the hidden layer, and measures the deviation value.
  • the calculation unit calculates a second deviation value between the measured second average activity and the reference average activity, and the trend determining unit changes the bias of the neuron of the input layer at least once, and calculates the second deviation value.
  • a neuron constituting the gradually decreasing second tendency, and the monotonic increase/decrease unit comprises the hidden layer until the second deviation value becomes smaller than a preset reference deviation based on the identified second tendency.
  • the bias of monotonically increases or decreases monotonically and the average activity measurement unit inputs learning data to measure a third average activity from neurons constituting the output layer, and the deviation value calculating unit measures the measured third average
  • a third deviation value between the activity and the reference average activity is calculated, and the trend determining unit grasps the third tendency in which the calculated third deviation value gradually decreases by changing the bias of the neuron of the output layer at least once.
  • the monotonic increase/decrease unit monotonically increases or monotonically decreases the bias of the neurons constituting the output layer until the third deviation value becomes smaller than a predetermined reference deviation based on the identified third tendency. Can be done with
  • FIG. 1 is a view for schematically explaining the entire system according to the present invention.
  • FIG. 1 is a view showing the configuration of the entire system according to the present invention, using an analog neuron circuit to configure a binary artificial neural network (BNN), the SoC chip produced by a separate host computer or ATE (Automated Test Equipment) equipment Using, the synaptic weight and bias of each neuron constituting a binary artificial neural network in connection with an SoC chip is initialized. At this time, the weights and biases input during the initialization process use the weights and biases of the artificial neural network learned using a GPU, etc. on the computer, and the concept of the weights and biases is the same as those commonly used in artificial neural networks. Detailed description will be omitted.
  • BNN binary artificial neural network
  • ATE Automatic Test Equipment
  • the artificial neural network does not operate as intended at the time of initial design after it is actually implemented as analog circuits. Therefore, a method for compensating (correcting) it is necessary, and according to the present invention, it is necessary to restore the function of the artificial neural network that has lost its original function due to the process variation inevitably as implemented as an analog circuit as above. It can help a lot.
  • the binary artificial neural network is composed of one input layer, three hidden layers, and one output layer, and each layer is composed of neurons composed of analog circuits (differential amplifier, resistor, ground, etc.). Because it is a neuron constituting the binary artificial neural network, the neuron can output 0 or 1 as an output value.
  • the host computer performs an initial programming (initialization) of the binary artificial neural network, monitors a value output from the binary artificial neural network, and provides a compensation system according to the present invention to provide a compensation function to recover a decrease in recognition rate due to process variation See as.
  • the three hidden layers are only examples for explanation, and it is obvious that the number of layers of the hidden layer of the binary artificial neural network may not necessarily be three in practice when the present invention is applied.
  • FIG. 2 is a block diagram of an example of a compensation system according to the present invention.
  • the entire system 200 includes a process variation compensation system 210 (hereinafter referred to as "compensation system”) and an analog circuit that is implanted into an analog circuit by controlling activity in an analog binary network system. It can be seen that it includes a chip 230 (hereinafter, "BNN chip”). More specifically, the compensation system 210 according to the present invention functions as a system that increases the recognition rate reduction due to the process variation generated in the BNN chip 230, the initialization unit 211, the average activity measurement unit 212, It may include a deviation value calculating unit 213, a tendency grasping unit 214, a monotonic increase and decrease unit 215 and the repeater 216.
  • the initialization unit 211 included in the compensation system 210 according to the present invention, the average activity measurement unit 212, the deviation value calculation unit 213, the trend detection unit 214, the monotonic increase and decrease unit 215 and The repetition unit 216 may correspond to at least one processor, or may include at least one processor. Accordingly, the initialization unit 211, the average activity measurement unit 212, the deviation value calculation unit 213, the trend detection unit 214, the monotonic increase/decrease unit 215, and the repetition execution unit 216 are microprocessors or general purpose units. It can be operated in a form included in other hardware devices such as a computer system.
  • the initialization unit 211 initializes (initial programming) the synaptic weights and biases of neurons constituting the binary artificial neural network.
  • initializing means setting a preset default value, and not changing all values to zero.
  • the initialization unit 211 may initialize the bias with an ATE located outside the binary artificial neural network chip 230.
  • the average activity measurement unit 212 inputs the learning data and measures the average activity by digitizing how much the active output is output from a neuron constituting a binary artificial neural network during a predetermined time.
  • the learning data may be data used to train the binary artificial neural network before the binary artificial neural network is implanted in the analog circuit.
  • the deviation value calculating unit 213 calculates a deviation value between the average activity measured by the average activity measurement unit 212 and the reference average activity.
  • the deviation value calculating unit 213 performs a function of repeatedly calculating a deviation value between the measured average activity and the reference average activity whenever the average activity measured by the average activity measurement unit 212 is changed.
  • the deviation value calculating unit 213 receives the average activity from the average activity measurement unit 212, and when the average activity received is different from the average activity previously stored, the bias of the neurons is changed, and the average activity Is assumed to be different, and the deviation value is calculated again.
  • the meaning that the bias of the neuron is changed will be described in detail in the tendency detecting unit 214 described later.
  • the tendency detecting unit 214 changes the initialized bias at least once, and grasps the tendency for the calculated deviation value to gradually decrease according to the direction in which the bias is changed. Depending on the embodiment, the tendency detecting unit 214 may not change the actively initialized bias, but may also change the bias according to an external input. The tendency detecting unit 214 changes the initialized bias to a different value at least once, and grasps how the deviation value newly calculated by the deviation value calculating unit 213 increases or decreases according to the change.
  • the tendency detecting unit 214 when the tendency detecting unit 214 gradually decreases the initialized bias over two times, if the deviation values recalculated by the deviation value calculating unit 213 gradually decrease, the tendency detecting unit 214 initializes Reducing the bias in the biased bias can identify the logic leading to a decrease in the deviation value as a trend.
  • the tendency detecting unit 214 when the tendency detecting unit 214 gradually increases the initialized bias over three times, if the deviation values recalculated by the deviation value calculating unit 213 are gradually increased, the tendency detecting unit 214 is Increasing the bias in the initialized bias can identify the logic leading to an increase in the deviation value as a trend, and in the present invention, it is possible to minimize the decrease in the recognition rate of the process variation by reducing the deviation between the average activity and the reference average activity measured from the neuron. Since there is a purpose in this, the tendency detecting unit 214 may consider the increasing bias from the initialized bias as an undesirable practice and discard it.
  • the bias of the neurons of each layer constituting the artificial neural network has a certain expression range.
  • the average activity of neurons according to the bias value has a monotone increasing & decreasing characteristic.
  • the monotonic increase/decrease characteristic means a characteristic in which the average activity of a neuron gradually increases as the bias value is gradually increased, and the average activity of a neuron gradually decreases when the bias value is gradually decreased. Therefore, the present invention can minimize the degradation of recognition rate performance due to the process variation of a binary artificial neural network implemented with an analog circuit by using a monotonic increase/decrease correlation between a bias value and activity.
  • the monotonic increase/decrease unit 215 is based on the trend determined by the trend determining unit 214, until the deviation value calculated by the deviation value calculating unit 213 becomes smaller than the preset reference deviation, the artificial neural network Monotonically increases or decreases the bias of the constituent neurons.
  • the reference deviation is a value that is set in advance in the monotonic increase/decrease unit 215. The fact that the deviation value calculated by the deviation value calculation unit 213 is smaller than the reference deviation is caused by implanting an artificial neural network in an analog circuit. This means that the recognition rate of the neural network has recovered to a negligible level.
  • the monotonic increase/decrease unit 215 may monotonically increase or decrease the bias by repeating a binary search method, which will be described in detail through FIG. 3.
  • the BNN chip 230 of FIG. 2 may include a monitoring circuit 231 and a binary artificial neural network circuit 233.
  • the monitoring circuit 231 receives a value output from the artificial neural network implanted into an analog circuit and performs a function of transmitting the value to the compensation system 210.
  • the learning system is a BNN chip by additionally integrating only a monitoring circuit 231 that allows the output value of an internal neuron to be checked from a host computer or ATE device located outside the BNN chip 230. It has the advantage of causing a much smaller overhead compared to the prior art, which induces a relatively large overhead by additionally putting it in (230). That is, according to the present invention, only the circuits that have little effect on the internal process of the BNN chip 230 are added independently, and the recognition rate reduction due to the process variation of the analog binary artificial neural network circuit can be recovered to a high level. .
  • the binary artificial neural network circuit 233 implements the above-described binary artificial neural network as an analog circuit, and detailed description thereof will be omitted.
  • FIG. 3 is a diagram for explaining a process of monotonically increasing or monotonically decreasing the bias of a neuron by the monotonic increasing and decreasing algorithm based on a binary search.
  • FIG. 3 is a diagram showing a pseudocode explaining a binary search-based algorithm used to set the activity of each neuron to be similar to an ideal value.
  • a binary artificial neural network that performs image classification to output the estimated label, and implemented weights and biases as Resistive Random Access Memory (ReRAM) to enable reprogramming.
  • the architecture was assumed.
  • the input value is a chip and image dataset in which the artificial neural network is implanted, the number of layers of the artificial neural network, and the ideal average activation of each neuron constituting the artificial neural network. Is a chip in which the bias of each neuron inside the chip is adjusted so that the average activity reaches the ideal average activity.
  • the algorithm according to FIG. 3 reprograms the ReRAM expressing the bias sequentially for each layer of the binary artificial neural network in a binary search method to adjust the activity of neurons. Due to the characteristics of an artificial neural network using a feed forward structure, when the average activity of the initial layer is changed, the average activity of the later layers also tends to change significantly due to the influence. Accordingly, the present invention first follows the method of matching the average activity of the neurons belonging to the initial layer to an ideal value, and then sequentially adjusting the average activity of the neurons belonging to the layer (Line 1 in FIG. 3).
  • the bias of neurons in each layer has a constant expression range, and in FIG. 3, a plurality of ReRAM elements are used to express integers from -M to +M.
  • the average activity has a monotonically increasing characteristic.
  • the binary search method can be applied to effectively find the bias value corresponding to the average activity close to the ideal average activity ( Line 2 to 9 of FIG. 3).
  • the average activity measuring unit 212 measures the average activity
  • the deviation value calculating unit 213 calculates the deviation value between the measured average activity and the reference average activity.
  • the tendency grasping unit 214 identifies the decreasing tendency of the deviation value, and is averaged so that it is sequentially performed by dividing it by input layer, hidden layer, and output layer of the artificial neural network.
  • the activity measuring unit 212, the deviation value calculating unit 213, and the tendency detecting unit 214 are controlled.
  • FIG. 4 is a diagram showing an example of an architecture in which a binary artificial neural network to which the present invention can be applied is designed using an analog circuit.
  • (A) of FIG. 4 is a synaptic weight array
  • (b) is a neuron sub-array
  • (c) is a partial sum circuit
  • (d) is a comparator Indicates.
  • FIG. 4 there are a plurality of synapses having a value of 0 or 1 in a neuron, and one bias represented by an integer or a floating point number.
  • several synaptic weights and biases are expressed using a ReRAM crossbar with a 1T1R (1 Transistor 1 Resistor) structure.
  • the weights have state values of -1, 1, and 0 (0 indicates that no weights are used), and two 1T1R cells per weight are used to express them.
  • the bias has an integer value unlike a weight, and a plurality of cells are used to express it.
  • each ReRAM is programmed to have a High Resistance State (HRS) or a Low Resistance State (LRS), and is connected to a BL_P (Positive Bit Line) or a BL_N (Negative Bit Line), respectively.
  • HRS High Resistance State
  • LRS Low Resistance State
  • the input value is transferred through WL (Word Line), and current flows through the ReRAM cell to add to BL_P or BL_N, and the current flowing through BL_P and BL_N is subtracted from the PS32 (PartialSum32) circuit to convert it into a voltage, followed by
  • the comparator outputs a 0V or VDD voltage signal as the output value of the neuron compared to the reference voltage (Vref).
  • FIG. 5 is a diagram schematically showing changes in output voltage characteristics of the PS32 circuit in FIG. 4 according to process variation intensity.
  • FIG. 5 is a result of configuring to represent the process variation effect by changing the threshold voltage value of the transistor by 30%. According to FIG. 5, it can be confirmed that the output value of the PS32 circuit fluctuates greatly due to process variations. More specifically, FIG. 5 schematically shows the output value of the PS32 circuit that has a large oscillation width and changes around the output of the ideal PS32 circuit.
  • FIG. 6 is a diagram schematically showing an example of a change in average activity of neurons in an analog binary artificial neural network circuit due to process variation.
  • FIG. 6(a) shows the average activity in the initial layer of a binary artificial neural network implemented with an analog circuit
  • FIG. 6(b) shows the average activity in the late layer of a binary artificial neural network implemented with an analog circuit.
  • FIG. 7 and 8 are diagrams schematically showing differences in recognition rates of a binary artificial neural network according to process variation intensity.
  • 7 and 8 are 10% based on 100 sample chips implementing a binary artificial neural network with MLP (Multi-Layer Perceptron) and CNN (Convolutional Neural Network) structures for MNIST and CIFAR-10 datasets, respectively. , 30%, 50% It simulates the conditions with process variation and plots the change in the performance distribution of the recognition rate of the entire binary artificial neural network.
  • MLP Multi-Layer Perceptron
  • CNN Convolutional Neural Network
  • FIG. 7(a) shows a change in recognition rate distribution in which 10% process variation occurs
  • FIG. 7(b) shows 30% process variation when a binary artificial neural network is implemented with an MLP structure for the MNIST dataset.
  • Change in recognition rate distribution FIG. 7(c) shows the result of the change in recognition rate distribution in which 50% process variation occurred.
  • FIG. 8(a) shows a change in the recognition rate distribution in which a 10% process variation occurs when a binary artificial neural network is implemented with a CNN structure for the CIFAR-10 dataset
  • FIG. 8(b) shows a 30% process variation. 8
  • FIG. 8(c) shows the result of the change in the recognition rate distribution in which 50% process variation occurred.
  • the degree of process variation varies for each analog circuit (chip) to which the artificial neural network is implanted
  • correction in the artificial neural network design stage is limited. After manufacturing, by measuring the process variation, and performing correction according to the process variation rate, it is possible to minimize the decrease in the recognition rate of the artificial neural network.
  • the present invention uses an activity matching method that brings the average activity of each neuron as close as possible to the ideal average activity, and the recognition rate in an ideal situation (MLP: 98.6%, CNN: 90.98%) as shown in FIGS. 7 and 8. As close as possible, the recognition rate performance of the binary artificial neural network in the analog chip can be restored.
  • FIG. 9 is a flowchart showing an example of a compensation method according to the present invention.
  • FIG. 9 may be implemented by the compensation system 210 according to FIG. 2, the contents already described in FIG. 2 will be omitted, and will be described below with reference to FIG. 2.
  • the initialization unit 211 initializes the weight and bias of the neurons constituting the analog BNN (S910).
  • the average activity measurement unit 212 inputs learning data and measures the average activity of neurons (S920).
  • the average activity means the frequency at which neurons output an active output, and since the present invention targets a binary artificial neural network, the output of the neurons is 0 or 1.
  • the average activity can be calculated by sequentially applying all the data contained in the data set used to train the binary artificial neural network to the artificial neural network, recording the output value of each neuron each time, and then averaging the output value for each neuron. .
  • the calculated value shows the activity and deviation of neurons theoretically calculated by process variation.
  • the deviation value calculating unit 213 calculates a deviation value between the measured average activity and the reference average activity (S930).
  • the tendency detecting unit 214 changes the initialized bias (S940), measures the average activity changed according to the changed bias, and recalculates the deviation value between the reference average activities (S950).
  • the tendency determining unit 214 determines whether the deviation value calculated in step S950 is smaller than the deviation value calculated in step S930 (S960), and if so, determines the tendency for the deviation value to gradually decrease (S970). If the tendency detecting unit 214 does not have a smaller deviation value calculated in step S950 than the deviation value calculated in step S930, the repeater 216 returns to step S940 again to change the bias and to change the bias. Therefore, the new average activity is measured and the deviation value is controlled to be recalculated (S940, S950).
  • the monotonic increase/decrease unit 215 monotonically increases or decreases the bias based on the tendency determined by the trend determining unit 214 (S980).
  • the present invention even if a binary artificial neural network is implemented as an analog circuit, and the recognition rate performance deteriorates due to process variation, the generated recognition rate deterioration can be restored to an almost perfect level.
  • the present invention has the versatility applicable to analog circuits designed in various ways, regardless of one specific design method.
  • the embodiment according to the present invention described above may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program can be recorded on a computer-readable medium.
  • the medium includes a hard disk, a magnetic medium such as a floppy disk and magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, and a ROM.
  • Hardware devices specially configured to store and execute program instructions such as RAM, flash memory, and the like.
  • the computer program may be specially designed and configured for the present invention, or may be known and available to those skilled in the computer software field.
  • Examples of computer programs may include not only machine language codes produced by a compiler, but also high-level language codes executable by a computer using an interpreter or the like.
  • connection or connection members of the lines between the components shown in the drawings are illustrative examples of functional connections and/or physical or circuit connections, and in the actual device, alternative or additional various functional connections, physical Connections, or circuit connections.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 일 실시 예는, 이진인공신경망이 아날로그 회로로 구현되어 공정변이에 따른 인식률 성능 저하가 발생되더라도, 발생된 인식률 성능 저하를 거의 완벽한 수준으로 회복시킬 수 있는, 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법을 개시한다.

Description

아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법 및 그 시스템
본 발명은 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법 및 그 시스템에 관한 것으로서, 보다 구체적으로는, 아날로그 회로 이진인공신경망이 이식되는 경우에 발생되는 공정변이에 따른 인식률 성능 저하를 해소할 수 있는 공정변이 보상방법 및 그 시스템에 관한 것이다.
최근 인공신경망(Artificial Neural Network)을 저전력으로 구현하기 위한 여러가지 방식의 아날로그 회로가 제안되고 있다. 하지만, 아날로그 회로의 특성상 공정변이(process variation)에 매우 취약한 특성이 있어서, 미리 구현된 인공신경망을 실제 반도체 칩으로 제작하고 나면, 인식률 성능이 크게 저하되는 문제점이 있다.
인공신경망 중에서도, 이진 인공신경망(BNN: Binarized Neural Network)은 1-bit 시냅틱 가중치(synaptic weight)와 1-bit 활성도(activation)값을 갖는 인공신경망을 말한다. 이는, 기존 인공신경망 대비 가중치와 활성도의 크기가 작아서 가중치 저장소(weight storage)에 대한 요구량이 적고, 연산기 설계를 간소화할 수 있어서, 기존 인공신경망과 대비하여 상대적으로 적은 면적에 저전력으로 구현이 가능한 장점이 있다.
이진 인공신경망을 구성하는 기본 소자인 뉴런은 디지털 회로 또는 아날로그 회로로 구현이 가능한데, 아날로그 회로의 경우 디지털 회로에 비해 현저하게 작은 면적에, 보다 저전력으로 구현할 수 있는 장점이 있는 반면, 전술한 것과 같이, 실제 반도체 칩에 이식 후 필연적으로 발생하는 공정변이에 따른 부작용으로서, 공정 산포에 의해 매우 큰 인식률 성능 저하가 생기는 점이 늘 지적되어 왔다.
따라서, 인공신경망을 반도체 칩에 실제로 이식하는 경우에 발생되는, 공정변이에 따른 부작용을 최소화하기 위한 방법이 필요한 실정이나, 종래에는 반도체 칩에 직접 학습시스템(learning system)을 추가로 삽입하여, 내부적으로 추가적인 학습과정을 통해서 가중치(weight)를 조정하는 방법 정도가 소개되었으나, 독립적인 연산회로를 반도체 칩에 부가하는 방법으로서, 회로에 발생되는 오버헤드(overhead)가 큰 부작용이 있다.
본 발명이 해결하고자 하는 기술적 과제는 이진인공신경망이 아날로그 회로로 구현되었을 때 발생되는 공정변이에 따른 인식률 성능 저하를 최소화하는 공정변이 보상방법 및 그 방법을 구현하는 보상시스템을 제공하는 데에 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시 예에 따른 방법은, 아날로그 이진인공신경망(BNN) 회로에서 활성도 조절을 통한 공정변이 보상방법에 관한 것으로서, 상기 이진인공신경망을 구성하는 뉴런들의 시냅스 가중치(weight) 및 바이어스(bias)를 초기화(initialization)하는 초기화단계; 학습데이터(training data)를 입력하여, 상기 이진인공신경망을 구성하는 뉴런으로부터 액티브출력(active output)이 기설정된 시간동안 얼마나 많이 출력되는지를 수치화한 평균활성도(average activation value)를 측정하는 평균활성도측정단계; 상기 측정된 평균활성도와 기준평균활성도간의 편차값을 산출하는 편차값산출단계; 상기 초기화된 바이어스를 적어도 1회 이상 변경하고, 상기 바이어스를 변경시키는 방향에 따라서 상기 산출된 편차값이 점차 감소되는 경향성을 파악하는 경향성파악단계; 상기 파악된 경향성을 기초로 하여 상기 산출된 편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 이진인공신경망을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키는 단조증감단계를 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 일 실시 예에 따른 시스템은, 아날로그 이진인공신경망(BNN) 회로에서 활성도 조절을 통한 공정변이 보상시스템에 관한 것으로서, 상기 이진인공신경망을 구성하는 뉴런들의 시냅스 가중치(weight) 및 바이어스(bias)를 초기화(initialization)하는 초기화부; 학습데이터(training data)를 입력하여, 상기 이진인공신경망을 구성하는 뉴런으로부터 액티브출력(active output)이 기설정된 시간동안 얼마나 많이 출력되는지를 수치화한 평균활성도(average activation value)를 측정하는 평균활성도측정부; 상기 측정된 평균활성도와 기준평균활성도간의 편차값을 산출하는 편차값산출부; 상기 초기화된 바이어스를 적어도 1회 이상 변경하고, 상기 바이어스를 변경시키는 방향에 따라서 상기 산출된 편차값이 점차 감소되는 경향성을 파악하는 경향성파악부; 상기 파악된 경향성을 기초로 하여 상기 산출된 편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 이진인공신경망을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키는 단조증감부를 포함한다.
본 발명의 일 실시 예는 상기 방법을 구현시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독가능한 기록매체를 제공할 수 있다.
본 발명에 따르면, 이진인공신경망이 아날로그 회로로 구현되어 공정변이에 따른 인식률 성능 저하가 발생되더라도, 발생된 인식률 성능 저하를 거의 완벽한 수준으로 회복시킬 수 있다.
또한, 본 발명은 특정한 한 가지의 설계 방식에 구애받지 않고, 여러 가지 방식으로 설계된 아날로그 회로에 적용이 가능한 범용성을 갖고 있다.
도 1은 본 발명에 따른 전체 시스템을 개략적으로 설명하기 위한 도면이다.
도 2는 본 발명에 따른 보상시스템의 일 예의 블록도를 도시한 도면이다.
도 3은 단조증감부가 바이너리 서치 기반의 알고리즘으로 뉴런의 바이어스를 단조증가 또는 단조감소시키는 과정을 설명하기 위한 도면이다.
도 4는 본 발명을 적용할 수 있는 이진인공신경망을 아날로그 회로를 이용하여 설계한 아키텍쳐의 일 예를 나타낸 도면이다.
도 5는 공정변이 강도에 따른 도 4에서의 PS32 회로의 출력 전압 특성 변화를 도식적으로 나타낸 도면이다.
도 6은 공정변이에 의한 아날로그 이진인공신경망 회로의 뉴런의 평균활성도의 변화의 일 예를 도식적으로 나타낸 도면이다.
도 7 및 도 8은 공정변이 강도에 따른 이진인공신경망의 인식률 차이를 도식적으로 나타낸 도면이다.
도 9는 본 발명에 따른 보상방법의 일 예의 흐름도를 나타낸 도면이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시 예에 따른 방법은, 아날로그 이진인공신경망(BNN) 회로에서 활성도 조절을 통한 공정변이 보상방법에 관한 것으로서, 상기 이진인공신경망을 구성하는 뉴런들의 시냅스 가중치(weight) 및 바이어스(bias)를 초기화(initialization)하는 초기화단계; 학습데이터(training data)를 입력하여, 상기 이진인공신경망을 구성하는 뉴런으로부터 액티브출력(active output)이 기설정된 시간동안 얼마나 많이 출력되는지를 수치화한 평균활성도(average activation value)를 측정하는 평균활성도측정단계; 상기 측정된 평균활성도와 기준평균활성도간의 편차값을 산출하는 편차값산출단계; 상기 초기화된 바이어스를 적어도 1회 이상 변경하고, 상기 바이어스를 변경시키는 방향에 따라서 상기 산출된 편차값이 점차 감소되는 경향성을 파악하는 경향성파악단계; 상기 파악된 경향성을 기초로 하여 상기 산출된 편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 이진인공신경망을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키는 단조증감단계를 포함한다.
상기 방법에 있어서, 상기 초기화단계는, 상기 이진인공신경망 회로의 외부에 위치한 ATE(Automated Test Equipment)에 의해 상기 바이어스가 초기화되는 것을 특징으로 할 수 있다.
상기 방법에 있어서, 상기 학습데이터는, 상기 회로에 이식되기 전의 상기 이진인공신경망을 학습시키는 데에 사용된 데이터인 것을 특징으로 할 수 있다.
상기 방법에 있어서, 상기 단조증감단계는, 바이너리 서치(binary search) 방법을 반복하는 방식으로 상기 바이어스를 단조증가 또는 단조감소시키는 것을 특징으로 할 수 있다.
상기 방법에 있어서, 상기 이진인공신경망은 복수의 뉴런을 포함하는 입력계층, 은닉계층 및 출력계층으로 구성되고, 상기 평균활성도측정단계, 상기 편차값산출단계, 상기 경향성파악단계 및 상기 단조증감단계를 상기 입력계층, 상기 은닉계층, 상기 출력계층별로 구분하여 순차적으로 수행하는 것을 특징으로 할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 일 실시 예에 따른 시스템은, 아날로그 이진인공신경망(BNN) 회로에서 활성도 조절을 통한 공정변이 보상시스템에 관한 것으로서, 상기 이진인공신경망을 구성하는 뉴런들의 시냅스 가중치(weight) 및 바이어스(bias)를 초기화(initialization)하는 초기화부; 학습데이터(training data)를 입력하여, 상기 이진인공신경망을 구성하는 뉴런으로부터 액티브출력(active output)이 기설정된 시간동안 얼마나 많이 출력되는지를 수치화한 평균활성도(average activation value)를 측정하는 평균활성도측정부; 상기 측정된 평균활성도와 기준평균활성도간의 편차값을 산출하는 편차값산출부; 상기 초기화된 바이어스를 적어도 1회 이상 변경하고, 상기 바이어스를 변경시키는 방향에 따라서 상기 산출된 편차값이 점차 감소되는 경향성을 파악하는 경향성파악부; 상기 파악된 경향성을 기초로 하여 상기 산출된 편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 이진인공신경망을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키는 단조증감부를 포함한다.
상기 시스템에 있어서, 상기 초기화부는, 상기 이진인공신경망 회로의 외부에 위치한 ATE(Automated Test Equipment)에 의해 상기 바이어스가 초기화되는 것을 특징으로 할 수 있다.
상기 시스템에 있어서, 상기 학습데이터는, 상기 회로에 이식되기 전의 상기 이진인공신경망을 학습시키는 데에 사용된 데이터인 것을 특징으로 할 수 있다.
상기 시스템에 있어서, 상기 단조증감부는, 바이너리 서치(binary search) 방법을 반복하는 방식으로 상기 바이어스를 단조증가 또는 단조감소시키는 것을 특징으로 할 수 있다.
상기 시스템에 있어서, 상기 이진인공신경망은 복수의 뉴런을 포함하는 입력계층, 은닉계층 및 출력계층으로 구성되고, 상기 평균활성도측정부는, 학습데이터를 입력하여, 상기 입력계층을 구성하는 뉴런으로부터 제1평균활성도를 측정하고, 상기 편차값산출부는, 상기 측정된 제1평균활성도와 기준평균활성도간의 제1편차값을 산출하고, 상기 경향성파악부는, 상기 입력계층의 뉴런의 바이어스를 적어도 1회 이상 변경하여, 상기 산출된 제1편차값이 점차 감소되는 제1경향성을 파악하고,상기 단조증감부는, 상기 파악된 제1경향성을 기초로 하여, 상기 제1편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 입력계층을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키고, 상기 평균활성도측정부는, 학습데이터를 입력하여, 상기 은닉계층을 구성하는 뉴런으로부터 제2평균활성도를 측정하고, 상기 편차값산출부는, 상기 측정된 제2평균활성도와 기준평균활성도간의 제2편차값을 산출하고,상기 경향성파악부는, 상기 입력계층의 뉴런의 바이어스를 적어도 1회 이상 변경하여, 상기 산출된 제2편차값이 점차 감소되는 제2경향성을 파악하고, 상기 단조증감부는, 상기 파악된 제2경향성을 기초로 하여, 상기 제2편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 은닉계층을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키고, 상기 평균활성도측정부는, 학습데이터를 입력하여, 상기 출력계층을 구성하는 뉴런으로부터 제3평균활성도를 측정하고, 상기 편차값산출부는, 상기 측정된 제3평균활성도와 기준평균활성도간의 제3편차값을 산출하고, 상기 경향성파악부는, 상기 출력계층의 뉴런의 바이어스를 적어도 1회 이상 변경하여, 산출된 제3편차값이 점차 감소되는 제3경향성을 파악하고, 상기 단조증감부는, 상기 파악된 제3경향성을 기초로 하여, 제3편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 출력계층을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키는 것을 특징으로 할 수 있다.
실시 예들에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "…부", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명에 따른 전체 시스템을 개략적으로 설명하기 위한 도면이다.
도 1은 본 발명에 따른 전체 시스템의 구성을 나타내는 도면으로서, 아날로그 뉴런 회로를 사용하여 이진인공신경망(BNN)을 구성하여, 제작한 SoC 칩을 별도의 호스트 컴퓨터 또는 ATE(Automated Test Equipment)장비를 사용하여, SoC칩과 연결하여 이진 인공신경망을 구성하는 각 뉴런의 시냅스 가중치(synaptic weight) 및 바이어스(bias)를 초기화(initialization)한다. 이때, 초기화되는 과정에서 입력되는 가중치 및 바이어스는 컴퓨터에서 GPU 등을 사용하여 학습한 인공신경망의 가중치 및 바이어스를 사용하게 되며, 가중치 및 바이어스의 개념은 인공신경망에서 일반적으로 사용되는 것과 동일하므로, 이에 대한 자세한 설명은 생략하기로 한다.
공정변이에 취약한 아날로그 회로 특성으로 인해서, 인공신경망은 아날로그 회로로 실제 구현된 이후에는 최초 설계 당시의 의도대로 동작하지 않는다. 따라서, 이를 보상(보정)하기 위한 방법이 필요하며, 본 발명에 따르면, 위와 같이 아날로그 회로로 구현함에 따라 필연적으로 수반되는 공정변이로 인해 원래대로의 기능을 상실한 인공신경망의 기능을 회복하는 데에 큰 도움을 줄 수 있다.
도 1을 참조하면, 이진인공신경망은 한 개의 입력계층, 세 개의 은닉계층, 한 개의 출력계층으로 구성되어 있고, 각 계층은 아날로그 회로(차분 증폭기, 저항, 접지 등으로 구성)로 구성된 뉴런으로 구성되어 있으며, 이진인공신경망을 구성하는 뉴런이므로, 뉴런은 출력값으로 0 또는 1을 출력할 수 있다. 도 1에서 호스트 컴퓨터는 이진인공신경망을 초기프로그래밍(초기화)을 수행하고, 이진인공신경망으로부터 출력되는 값을 모니터링하다가 공정변이에 따른 인식률 저하를 회복하기 위한 보상기능을 제공하는 본 발명에 따른 보상시스템으로 본다. 도 1에서 은닉계층이 세 개인 것은 설명하기 위한 예시에 불과하므로, 실제로 본 발명이 적용되는 데에 있어서 이진인공신경망의 은닉계층의 계층수는 꼭 세 개가 아닐 수 있다는 것은 자명하다.
도 2는 본 발명에 따른 보상시스템의 일 예의 블록도를 도시한 도면이다.
도 2를 참조하면, 본 발명에 따른 전체 시스템(200)은, 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상시스템(210, 이하, "보상시스템") 및 아날로그 회로로 이식된 이진인공신경망 칩(230, 이하, "BNN칩")을 포함하는 것을 알 수 있다. 보다 구체적으로, 본 발명에 따른 보상시스템(210)은 BNN칩(230)에 발생된 공정변이에 따른 인식률 저하를 끌어올리는 시스템으로 기능하고, 초기화부(211), 평균활성도측정부(212), 편차값산출부(213), 경향성파악부(214), 단조증감부(215) 및 반복수행부(216)를 포함할 수 있다.
또한, 본 발명에 따른 보상시스템(210)에 포함되는 초기화부(211), 평균활성도측정부(212), 편차값산출부(213), 경향성파악부(214), 단조증감부(215) 및 반복수행부(216)는 적어도 하나 이상의 프로세서(processor)에 해당하거나, 적어도 하나 이상의 프로세서를 포함할 수 있다. 이에 따라, 초기화부(211), 평균활성도측정부(212), 편차값산출부(213), 경향성파악부(214), 단조증감부(215) 및 반복수행부(216)는 마이크로 프로세서나 범용 컴퓨터 시스템과 같은 다른 하드웨어 장치에 포함된 형태로 구동될 수 있다.
초기화부(211)는 이진인공신경망을 구성하는 뉴런들의 시냅스 가중치 및 바이어스를 초기화(초기프로그래밍)한다. 여기서, 초기화라는 것은 미리 설정되어 있는 디폴트(default)값으로 설정하는 것을 의미하며, 모든 값을 0으로 변경하는 의미는 아니다. 초기화부(211)는 이진인공신경망 칩(230)의 외부에 위치한 ATE로 바이어스를 초기화시킬 수 있다.
평균활성도측정부(212)는 학습데이터를 입력하여, 이진인공신경망을 구성하는 뉴런으로부터 액티브출력이 기설정된 시간동안 얼마나 많이 출력되는지를 수치화한 평균활성도를 측정한다. 여기서, 학습데이터는 이진인공신경망이 아날로그 회로에 이식되기 전에, 이진인공신경망을 학습시키는 데에 사용된 데이터일 수 있다.
편차값산출부(213)는 평균활성도측정부(212)에서 측정한 평균활성도와 기준평균활성도간의 편차값을 산출한다. 편차값산출부(213)는 평균활성도측정부(212)에서 측정된 평균활성도가 달라질 때마다, 측정된 평균활성도와 기준평균활성도간의 편차값을 반복적으로 산출하는 기능을 수행한다. 편차값산출부(213)는 평균활성도측정부(212)로부터 평균활성도를 수신하고, 수신된 평균활성도가 직전에 저장하고 있던 평균활성도와 비교했을 때 서로 다르면, 뉴런의 바이어스가 변경되어, 평균활성도가 달라진 것으로 간주하고, 편차값을 재차 산출하게 된다. 여기서, 뉴런의 바이어스가 변경된다는 의미는 후술하는 경향성파악부(214)에서 상세히 설명하기로 한다.
경향성파악부(214)는 초기화된 바이어스를 적어도 1회 이상 변경하고, 바이어스를 변경시키는 방향에 따라서 산출된 편차값이 점차 감소되는 경향성을 파악한다. 실시 예에 따라서, 경향성파악부(214)는 능동적으로 초기화된 바이어스를 변경하지 않고, 외부의 입력에 따라서 바이어스를 변경할 수도 있다. 경향성파악부(214)는 초기화된 바이어스를 적어도 1회 이상 다른 값으로 변경하고, 그 변경에 따라서 편차값산출부(213)에서 새로 산출되는 편차값이 어떻게 증감되는지 파악한다.
예를 들어, 경향성파악부(214)가 초기화된 바이어스를 2회에 걸쳐서 점점 감소시켰을 때, 편차값산출부(213)에서 재산출되는 편차값들이 점차 감소된다면, 경향성파악부(214)는 초기화된 바이어스에서 바이어스를 감소시키는 것은 편차값의 감소로 이어지는 로직(logic)을 경향성으로서 파악할 수 있다. 다른 일 예로서, 경향성파악부(214)가 초기화된 바이어스를 3회에 걸쳐서 점점 증가시켰을 때, 편차값산출부(213)에서 재산출되는 편차값들이 점차 증가된다면, 경향성파악부(214)는 초기화된 바이어스에서 바이어스를 증가시키는 것은 편차값의 증가로 이어지는 로직을 경향성으로 파악할 수 있으며, 본 발명에서는 뉴런으로부터 측정되는 평균활성도와 기준평균활성도와의 편차를 줄여서 공정변이의 인식률 저하를 최소화하는 데에 그 목적이 있으므로, 경향성파악부(214)는 초기화된 바이어스로부터 바이어스를 증가시키는 것은 바람직하지 않은 시행으로 간주하여 폐기할 수 있다.
구체적인 뉴런회로 설계방식에 따라서 차이가 있을 수 있으나, 인공신경망을 구성하는 각 계층의 뉴런의 바이어스는 일정한 표현범위를 갖고 있다. 또한, 바이어스의 값에 따라 뉴런의 평균활성도는 단조 증감(monotone increasing & decreasing)하는 특성을 갖는다. 단조 증감특성이란, 바이어스의 값을 점차 높이면 뉴런의 평균활성도가 점차 증가하고, 바이어스의 값을 점차 낮추면 뉴런의 평균활성도가 점차 감소하는 특성을 의미한다. 따라서, 본 발명은 바이어스의 값과 활성도 사이의 단조증감 상관관계를 이용하여, 아날로그 회로로 구현된 이진 인공신경망의 공정변이에 따른 인식률 성능 저하를 최소화할 수 있는 것이다.
이어서, 단조증감부(215)는 경향성파악부(214)에서 파악한 경향성을 기초로 하여, 편차값산출부(213)에서 산출한 편차값이 기설정된 기준편차보다 더 작아질 때까지 이진인공신경망을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시킨다. 기준편차는 단조증감부(215)에 미리 설정되어 있는 값으로서, 편차값산출부(213)에서 산출한 편차값이 기준편차보다 더 작다는 것은, 아날로그 회로에 인공신경망을 이식하게 되어 발생된 인공신경망의 인식률 저하가 무시할 수 있는 수준으로 회복되었다는 것을 의미한다.
선택적 일 실시 예로서, 단조증감부(215)는 바이너리 서치(binary search) 방법을 반복하는 방식으로, 바이어스를 단조증가 또는 단조감소시킬 수 있으며, 이에 대해서는 도 3을 통해서 상세히 설명하기로 한다.
이어서, 도 2의 BNN칩(230)은 모니터링회로(231) 및 이진인공신경망회로(233)를 포함할 수 있다.
모니터링회로(231)는 아날로그 회로로 이식된 인공신경망으로부터 출력되는 값을 전달받아서 보상시스템(210)에 전달하는 기능을 수행한다. 본 발명은 외부에 위치하는 호스트 컴퓨터 또는 ATE장비에서 내부 뉴런의 출력값을 확인할 수 있게 하는 모니터링회로(231)만을 BNN칩(230)에 추가적으로 통합(integration)시킴으로써, 학습시스템(learning system)을 BNN칩(230)에 추가로 집어넣어서 상대적으로 큰 오버헤드를 유발하던 종래기술에 비해서 훨씬 작은 오버헤드를 유발하는 장점이 있다. 즉, 본 발명에 따르면, BNN칩(230) 내부 프로세스에 거의 영향을 안 미치는 회로만을 독립하여 부가한 것만으로, 아날로그 이진인공신경망 회로의 공정변이에 따른 인식률 저하를 높은 수준으로 회복할 수 있게 된다.
이진인공신경망회로(233)는 전술한 이진인공신경망을 아날로그 회로로 구현한 것으로서 자세한 설명은 생략한다.
도 3은 단조증감부가 바이너리 서치 기반의 알고리즘으로 뉴런의 바이어스를 단조증가 또는 단조감소시키는 과정을 설명하기 위한 도면이다.
보다 구체적으로, 도 3은 각 뉴런의 활성도를 이상적인 값과 비슷하게 설정하기 위해 사용한 바이너리 서치 기반의 알고리즘을 설명하는 의사코드(pseudocode)를 나타내는 도면으로서, 영상(image)을 입력으로 받아서 어떤 영상인지 인식하고, 추정 라벨(label)을 출력하는 영상분류(image classification)을 수행하는 이진인공신경망을 가정하였으며, 가중치와 바이어스를 ReRAM(Resistive Random Access Memory)으로 구현하여, 리프로그래밍(reprogramming)이 가능하도록 한 아키텍쳐를 가정하였다. 도 3에서, 입력값으로는 인공신경망이 이식된 칩(chip)과 영상의 데이터세트, 인공신경망의 계층 수, 인공신경망을 구성하는 각 뉴런의 이상적인 평균활성도(ideal average activation)가 되며, 출력값으로는, 평균활성도가 이상적인 평균활성도에 도달하도록 칩 내부 각 뉴런의 바이어스가 조절된 칩이 된다.
도 3에 따른 알고리즘은 바이너리 서치 방식으로 이진 인공신경망의 각 계층별로 순차적으로 바이어스를 표현하는 ReRAM을 리프로그래밍하여 뉴런의 활성도를 조절한다. 피드 포워드 구조(feed forward structure)를 사용하는 인공신경망의 특성상, 초기 계층의 평균활성도가 변경되면, 이후 계층에서의 평균활성도도 그에 영향을 받아 큰 폭으로 변경되는 경향이 있다. 따라서, 본 발명은 먼저 초기 계층의 속해있는 뉴런들의 평균활성도를 이상적인 값으로 매칭시키고, 이후 계층에 속한 뉴런들의 평균활성도를 순차적으로 조절하는 방식을 따른다(도 3의 Line 1).
각 계층의 뉴런의 바이어스는 일정한 표현 범위를 가지며, 도 3에서는 ReRAM 소자 복수 개를 사용하여, -M 내지 +M 까지의 정수를 표현할 수 있도록 구현했다. 이 바이어스의 값에 따라 평균활성도는 단조증감하는 특성을 갖게 된다. 본 발명에 따르면, 전술한 바이어스의 변경에 대한 뉴런의 평균활성도의 단조증감특성을 기초로, 바이너리 서치 방법을 적용하여, 이상적인 평균활성도에 근접하는 평균활성도에 대응되는 바이어스값을 효과적으로 찾을 수 있다(도 3의 Line 2~9).
특히, 도 2의 반복수행부(216)는 평균활성도측정부(212)가 평균활성도를 측정하는 단계, 편차값산출부(213)가 측정된 평균활성도와 기준평균활성도의 편차값을 산출하는 단계, 경향성파악부(214)가 편차값의 감소경향성을 파악하는 단계를, 인공신경망의 입력계층(input layer), 은닉계층(hidden layer), 출력계층(output layer)별로 구분하여 순차적으로 수행되도록 평균활성도측정부(212), 편차값산출부(213) 및 경향성파악부(214)를 제어한다.
도 4는 본 발명을 적용할 수 있는 이진인공신경망을 아날로그 회로를 이용하여 설계한 아키텍쳐의 일 예를 나타낸 도면이다.
도 4의 (a)는 시냅스 가중치 어레이(Synaptic weight array), (b)는 뉴런 서브 어레이(Neuron sub-array), (c)는 부분합 회로(Partial sum circuit), (d)는 비교기(Comparator)를 나타낸다.
도 4에서, 뉴런(neuron)에는 0 또는 1의 값을 갖는 복수의 시냅스가 존재하고, 정수 또는 부동소수점으로 표현되는 1개의 바이어스가 존재한다. 도 4의 아키텍쳐에서는 1T1R(1 Transistor 1 Resistor)구조로 ReRAM 크로스바(crossbar)를 사용하여 여러 개의 시냅스 가중치 및 바이어스를 표현했다. 가중치는 -1, 1, 0 (0은 가중치를 사용하지 않음을 표시)상태 값을 가지며, 이를 표현하기 위한 하나의 가중치 당 2개의 1T1R 셀(cell)이 사용된다. 바이어스는 가중치와 달리 정수 값을 갖고, 이를 표현하기 위해 복수의 셀이 사용된다. 도 4에서, 각 ReRAM은 HRS(High Resistance State) 또는 LRS(Low Resistance State)를 갖도록 프로그래밍되고, 각각 BL_P(Positive Bit Line) 또는 BL_N(Negative Bit Line)에 연결이 된다. WL (Word Line)을 통해 입력 값이 전달되어 ReRAM cell을 통해 전류가 흘러 BL_P 또는 BL_N에 합산이 되고, PS32(PartialSum32)회로에서 BL_P와 BL_N을 통해 흐르는 전류를 차감하여 전압으로 변환시키고, 뒤이은 비교기에서 레퍼런스 전압 (Vref)와 비교하여 뉴런의 출력 값으로 0V 또는 VDD 전압 신호를 내보낸다. ReRAM 크로스바의 크기가 너무 커지면 회로의 동작 특성이 나빠지기 때문에 각 BL_P/BL_N 라인에는 최대 32개의 ReRAM cell이 연결되도록 구성된다. 뉴런 하나가 32개를 초과하는 시냅스를 보유할 경우에는 여러 개의 PS32 회로를 저항을 통해 병렬로 연결하여 비교기의 + 단자에 연결하여 여러 PS32 출력 전압의 평균 값을 Vref와 비교하여 뉴런 출력 값을 결정하도록 구성한다. 다만, 도 4에서, ReRAM 크로스바와 PS32 회로는 아날로그 회로이기 때문에 공정변이에 의해 특성이 크게 변하는 문제가 있다.
도 5는 공정변이 강도에 따른 도 4에서의 PS32 회로의 출력 전압 특성 변화를 도식적으로 나타낸 도면이다.
도 5는, 트랜지스터의 임계전압 값을 30% 만큼 변화시켜 공정변이 효과를 대표하도록 구성한 결과이다. 도 5에 따르면, 공정변이에 의해 PS32 회로의 출력 값이 큰 폭으로 변동하는 것을 확인할 수 있다. 보다 구체적으로, 도 5는 이상적인 PS32 회로의 출력값(ideal)을 중심으로 큰 진동 폭을 갖고 변화하는 PS32회로의 출력값을 도식적으로 나타낸다.
도 5와 같이, 공정변이에 의한 개별 아날로그 회로의 출력 전압 특성 변화는 인공신경망 내부 각 뉴런의 평균활성도를 변화시키고, 변화된 평균활성도가 각 신경망 계층마다 누적되어, 최종단의 뉴런에서는 현저하게 큰 오동작이 유발될 수 있고, 이는 인공신경망의 인식률 성능의 대폭 저하를 일으킨다.
도 6은 공정변이에 의한 아날로그 이진인공신경망 회로의 뉴런의 평균활성도의 변화의 일 예를 도식적으로 나타낸 도면이다.
도 6의 (a)는 아날로그 회로로 구현된 이진 인공신경망의 초기계층에서의 평균활성도를 나타내고, 도 6의 (b)는 아날로그 회로로 구현된 이진 인공신경망의 후기계층에서의 평균활성도를 나타낸다.
도 6의 (a)에서도 뉴런의 이상적인 평균활성도와 측정된 평균활성도의 편차는 적지 않으며, 도 6의 (b)에서는 뉴런의 이상적인 평균활성도와 측정된 평균활성도간의 편차가 더욱 현저해지는 것을 알 수 있다.
도 7 및 도 8은 공정변이 강도에 따른 이진인공신경망의 인식률 차이를 도식적으로 나타낸 도면이다.
도 7 및 도 8은 각각 MNIST와 CIFAR-10 데이터세트(dataset)에 대해 MLP (Multi-Layer Perceptron)과 CNN(Convolutional Neural Network)구조로 이진인공신경망을 구현한 100개의 샘플 칩을 바탕으로 10%, 30%, 50% 공정변이가 있는 조건을 시뮬레이션하여 전체 이진인공신경망의 인식률 성능 분포 변화를 도식화한 것이다.
먼저, 도 7의 (a)는 MNIST 데이터세트에 대해서, MLP구조로 이진인공신경망을 구현하였을 때, 10% 공정변이가 발생된 인식률 분포 변화, 도 7의 (b)는 30% 공정변이가 발생된 인식률 분포 변화, 도 7의 (c)는 50% 공정변이가 발생된 인식률 분포 변화가 발생된 결과를 각각 나타낸다. 도 7의 (a) 내지 (c)를 참조하면, 본 발명에 따른 공정변이 보상방법을 적용하였을 때의 인식률 분포는 공정변이의 발생률과 상관없이 동일함에도 불구하고, 본 발명에 따른 공정변이 보상방법을 적용하기 전에는 공정변이의 발생률에 따라서, 인식률의 분포가 무작위적으로 산재되는 것을 알 수 있다.
이어서, 도 8의 (a)는 CIFAR-10 데이터세트에 대해서, CNN구조로 이진인공신경망을 구현하였을 때, 10% 공정변이가 발생된 인식률 분포 변화, 도 8의 (b)는 30% 공정변이가 발생된 인식률 분포 변화, 도 8의 (c)는 50% 공정변이가 발생된 인식률 분포 변화가 발생된 결과를 각각 나타낸다. 도 8의 (a) 내지 (c)를 참조하면, 본 발명에 따른 공정변이 보상방법을 적용하였을 때의 인식률 분포는 공정변이의 발생률과 상관없이 동일함에도 불구하고, 본 발명에 따른 공정변이 보상방법을 적용하기 전에는 공정변이의 발생률에 따라서, 인식률의 분포가 무작위적으로 산재되는 것을 알 수 있다.
도 8을 도 7과 비교하면, 데이터세트 및 인공신경망의 구조에 따라서, 본 발명에 따른 공정변이 보상방법의 적용결과에 차이가 있다는 것을 알 수 있으며, 아날로그 이진인공신경망 회로의 인식률 성능 저하를 최소화하기 위해서는, 측정되는 평균활성도와 비교되기 위해 미리 설정되는 기준평균활성도를 세밀하게 조정하거나, 바이어스 값의 조정에 따른 인식률 성능의 변화의 경향성이 더 정확하게 파악될 수 있도록, 바이어스 변경횟수를 충분히 많이 늘릴 수 있다.
도 7 및 도 8을 통해 설명한 것과 같이, 인공신경망이 이식되는 아날로그 회로(칩)마다 공정변이의 정도가 달라지기 때문에, 인공신경망 설계 단계에서의 보정은 한계가 있으며, 본 발명에 따라, 칩을 제작하고 나서, 공정 변이를 측정하고, 공정변이률에 따른 보정을 수행함으로써, 인공신경망의 인식률 저하를 최소화할 수 있다. 본 발명은 각 뉴런의 평균 활성도를 이상적인 평균활성도에 최대한 근접시키는 활성도매칭(activation matching) 방법을 이용하며, 도 7 및 도 8과 같이 이상적인 상황에서의 인식률(MLP: 98.6%, CNN: 90.98%)에 근접하는 정도로, 아날로그 칩에서의 이진인공신경망의 인식률 성능을 회복시킬 수 있다.
도 9는 본 발명에 따른 보상방법의 일 예의 흐름도를 나타낸 도면이다.
도 9는 도 2에 따른 보상시스템(210)에 의해 구현될 수 있으므로, 도 2에서 이미 설명한 내용은 생략하기로 하고, 이하에서는, 도 2를 참조하여 설명하기로 한다.
초기화부(211)는 아날로그 BNN을 구성하는 뉴런들의 가중치, 바이어스를 초기화한다(S910).
평균활성도측정부(212)는 학습데이터를 입력하고, 뉴런들의 평균활성도를 측정한다(S920). 여기서, 평균활성도란, 뉴런이 액티브 출력(active output)을 출력하는 빈도를 의미하고, 본 발명은 이진 인공신경망을 대상으로 하고 있기 때문에, 뉴런의 출력은 0 또는 1이다. 평균활성도는 이진 인공신경망을 학습하기 위해 사용된 데이터세트에 포함된 데이터 전부를 순차적으로 인공신경망에 인가하고, 그때마다 각 뉴런의 출력값을 기록한 후, 각 뉴런별로 출력 값을 평균하여 계산될 수 있다. 이렇게 계산된 값은 공정 변이에 의해 이론적으로 계산한 뉴런의 활성도와 편차를 보이게 된다.
편차값산출부(213)는 측정된 평균활성도와 기준평균활성도간의 편차값을 산출한다(S930).
경향성파악부(214)는 초기화된 바이어스를 변경하고(S940), 변경되는 바이어스에 따라 달라진 평균활성도를 측정하고, 기준평균활성도간의 편차값을 재산출한다(S950).
경향성파악부(214)는 단계 S930에서 산출된 편차값보다 단계 S950에서 산출된 편차값이 더 작은지 판단하고(S960), 그렇다면, 편차값이 점차 감소되는 경향성을 파악한다(S970). 만약, 경향성파악부(214)는 단계 S930에서 산출된 편차값보다 단계 S950에서 산출된 편차값이 더 작지 않으면, 반복수행부(216)는 단계 S940으로 다시 돌아가서 바이어스를 변경하고, 변경되는 바이어스에 따라서 새로운 평균활성도가 측정되고, 편차값이 재산출되도록 제어한다(S940, S950).
단조증감부(215)는 경향성파악부(214)가 파악한 경향성을 기초로 바이어스를 단조증가 또는 단조감소시킨다(S980).
본 발명에 따르면, 이진인공신경망이 아날로그 회로로 구현되어 공정변이에 따른 인식률 성능 저하가 발생되더라도, 발생된 인식률 성능 저하를 거의 완벽한 수준으로 회복시킬 수 있다.
또한, 본 발명은 특정한 한 가지의 설계 방식에 구애받지 않고, 여러 가지 방식으로 설계된 아날로그 회로에 적용이 가능한 범용성을 갖고 있다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.

Claims (11)

  1. 아날로그 이진인공신경망(BNN) 회로에서 활성도 조절을 통한 공정변이 보상방법에 관한 것으로서,
    상기 이진인공신경망을 구성하는 뉴런들의 시냅스 가중치(weight) 및 바이어스(bias)를 초기화(initialization)하는 초기화단계;
    학습데이터(training data)를 입력하여, 상기 이진인공신경망을 구성하는 뉴런으로부터 액티브출력(active output)이 기설정된 시간동안 얼마나 많이 출력되는지를 수치화한 평균활성도(average activation value)를 측정하는 평균활성도측정단계;
    상기 측정된 평균활성도와 기준평균활성도간의 편차값을 산출하는 편차값산출단계;
    상기 초기화된 바이어스를 적어도 1회 이상 변경하고, 상기 바이어스를 변경시키는 방향에 따라서 상기 산출된 편차값이 점차 감소되는 경향성을 파악하는 경향성파악단계;
    상기 파악된 경향성을 기초로 하여 상기 산출된 편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 이진인공신경망을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키는 단조증감단계를 포함하는 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법.
  2. 제1항에 있어서,
    상기 초기화단계는,
    상기 이진인공신경망 회로의 외부에 위치한 ATE(Automated Test Equipment)에 의해 상기 바이어스가 초기화되는 것을 특징으로 하는 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법.
  3. 제1항에 있어서,
    상기 학습데이터는,
    상기 회로에 이식되기 전의 상기 이진인공신경망을 학습시키는 데에 사용된 데이터인 것을 특징으로 하는 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법.
  4. 제1항에 있어서,
    상기 단조증감단계는,
    바이너리 서치(binary search) 방법을 반복하는 방식으로 상기 바이어스를 단조증가 또는 단조감소시키는 것을 특징으로 하는 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법.
  5. 제1항에 있어서,
    상기 이진인공신경망은 복수의 뉴런을 포함하는 입력계층, 은닉계층 및 출력계층으로 구성되고,
    상기 평균활성도측정단계, 상기 편차값산출단계, 상기 경향성파악단계 및 상기 단조증감단계를 상기 입력계층, 상기 은닉계층, 상기 출력계층별로 구분하여 순차적으로 수행하는 것을 특징으로 하는 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법.
  6. 제1항 내지 제5항 중 어느 한 항에 따른 방법을 실행시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독가능한 기록매체.
  7. 아날로그 이진인공신경망(BNN) 회로에서 활성도 조절을 통한 공정변이 보상시스템에 관한 것으로서,
    상기 이진인공신경망을 구성하는 뉴런들의 시냅스 가중치(weight) 및 바이어스(bias)를 초기화(initialization)하는 초기화부;
    학습데이터(training data)를 입력하여, 상기 이진인공신경망을 구성하는 뉴런으로부터 액티브출력(active output)이 기설정된 시간동안 얼마나 많이 출력되는지를 수치화한 평균활성도(average activation value)를 측정하는 평균활성도측정부;
    상기 측정된 평균활성도와 기준평균활성도간의 편차값을 산출하는 편차값산출부;
    상기 초기화된 바이어스를 적어도 1회 이상 변경하고, 상기 바이어스를 변경시키는 방향에 따라서 상기 산출된 편차값이 점차 감소되는 경향성을 파악하는 경향성파악부;
    상기 파악된 경향성을 기초로 하여 상기 산출된 편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 이진인공신경망을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키는 단조증감부를 포함하는 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상시스템.
  8. 제7항에 있어서,
    상기 초기화부는,
    상기 이진인공신경망 회로의 외부에 위치한 ATE(Automated Test Equipment)에 의해 상기 바이어스가 초기화되는 것을 특징으로 하는 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상시스템.
  9. 제7항에 있어서,
    상기 학습데이터는,
    상기 회로에 이식되기 전의 상기 이진인공신경망을 학습시키는 데에 사용된 데이터인 것을 특징으로 하는 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상시스템.
  10. 제7항에 있어서,
    상기 단조증감부는,
    바이너리 서치(binary search) 방법을 반복하는 방식으로 상기 바이어스를 단조증가 또는 단조감소시키는 것을 특징으로 하는 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상시스템.
  11. 제7항에 있어서,
    상기 이진인공신경망은 복수의 뉴런을 포함하는 입력계층, 은닉계층 및 출력계층으로 구성되고,
    상기 평균활성도측정부는,
    학습데이터를 입력하여, 상기 입력계층을 구성하는 뉴런으로부터 제1평균활성도를 측정하고,
    상기 편차값산출부는,
    상기 측정된 제1평균활성도와 기준평균활성도간의 제1편차값을 산출하고,
    상기 경향성파악부는,
    상기 입력계층의 뉴런의 바이어스를 적어도 1회 이상 변경하여, 상기 산출된 제1편차값이 점차 감소되는 제1경향성을 파악하고,
    상기 단조증감부는,
    상기 파악된 제1경향성을 기초로 하여, 상기 제1편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 입력계층을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키고,
    상기 평균활성도측정부는,
    학습데이터를 입력하여, 상기 은닉계층을 구성하는 뉴런으로부터 제2평균활성도를 측정하고,
    상기 편차값산출부는,
    상기 측정된 제2평균활성도와 기준평균활성도간의 제2편차값을 산출하고,
    상기 경향성파악부는,
    상기 입력계층의 뉴런의 바이어스를 적어도 1회 이상 변경하여, 상기 산출된 제2편차값이 점차 감소되는 제2경향성을 파악하고,
    상기 단조증감부는,
    상기 파악된 제2경향성을 기초로 하여, 상기 제2편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 은닉계층을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키고,
    상기 평균활성도측정부는,
    학습데이터를 입력하여, 상기 출력계층을 구성하는 뉴런으로부터 제3평균활성도를 측정하고,
    상기 편차값산출부는,
    상기 측정된 제3평균활성도와 기준평균활성도간의 제3편차값을 산출하고,
    상기 경향성파악부는,
    상기 출력계층의 뉴런의 바이어스를 적어도 1회 이상 변경하여, 산출된 제3편차값이 점차 감소되는 제3경향성을 파악하고,
    상기 단조증감부는,
    상기 파악된 제3경향성을 기초로 하여, 제3편차값이 기설정된 기준편차보다 더 작아질 때까지 상기 출력계층을 구성하는 뉴런의 바이어스를 단조증가 또는 단조감소시키는 것을 특징으로 하는 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상시스템.
PCT/KR2019/018803 2018-12-31 2019-12-31 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법 및 그 시스템 Ceased WO2020141858A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/971,917 US12050992B2 (en) 2018-12-31 2019-12-31 Method for compensating for process variation by means of activation value adjustment in analog binarized neural network circuit, and system therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0174232 2018-12-31
KR1020180174232A KR101991041B1 (ko) 2018-12-31 2018-12-31 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법 및 그 시스템

Publications (1)

Publication Number Publication Date
WO2020141858A1 true WO2020141858A1 (ko) 2020-07-09

Family

ID=67104351

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/018803 Ceased WO2020141858A1 (ko) 2018-12-31 2019-12-31 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법 및 그 시스템

Country Status (3)

Country Link
US (1) US12050992B2 (ko)
KR (1) KR101991041B1 (ko)
WO (1) WO2020141858A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110991623B (zh) * 2019-12-20 2024-05-28 中国科学院自动化研究所 基于数模混合神经元的神经网络运算系统
US20220207354A1 (en) * 2020-12-31 2022-06-30 X Development Llc Analog circuits for implementing brain emulation neural networks
CN112863520B (zh) * 2021-01-18 2023-10-24 东南大学 一种二值权重卷积神经网络模块及其用于声纹识别的方法
KR102833655B1 (ko) * 2021-04-15 2025-07-14 에스케이하이닉스 주식회사 인메모리 연산을 수행하는 반도체 장치 및 그 동작 방법
CN114091848B (zh) * 2021-11-04 2025-04-11 北京北方华创微电子装备有限公司 半导体工艺配方自动获取方法、系统及半导体工艺设备
KR102517156B1 (ko) * 2021-12-10 2023-04-03 인하대학교 산학협력단 경계값을 이용한 이진 인공신경망 학습 방법
KR102794894B1 (ko) 2022-12-27 2025-04-10 광운대학교 산학협력단 인메모리 연산 기반 인공신경망의 훈련 연산 변이 보상 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140120287A (ko) * 2014-08-22 2014-10-13 국민대학교산학협력단 동적신경망을 이용한 이산화탄소 농도 기반 재실인원 추정 시스템

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993020552A1 (fr) 1992-03-30 1993-10-14 Seiko Epson Corporation Appareil de reconnaissance vocale utilisant un reseau neuronal, et procede d'apprentissage associe
US5566092A (en) * 1993-12-30 1996-10-15 Caterpillar Inc. Machine fault diagnostics system and method
KR20110027916A (ko) 2009-09-11 2011-03-17 연세대학교 산학협력단 퍼셉트론 인공신경망의 가중치 부여 장치와 이를 이용한 탐지 장치, 탐지 시스템 및 탐지 방법
JP6933367B2 (ja) * 2017-09-20 2021-09-08 Tokyo Artisan Intelligence株式会社 ニューラルネットワーク回路装置、システム、処理方法および実行プログラム
US11361213B1 (en) * 2018-04-20 2022-06-14 Perceive Corporation Using lookup table to represent neural network activation function
US11704575B2 (en) * 2018-12-21 2023-07-18 Microsoft Technology Licensing, Llc Neural networks implemented with DSD circuits

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140120287A (ko) * 2014-08-22 2014-10-13 국민대학교산학협력단 동적신경망을 이용한 이산화탄소 농도 기반 재실인원 추정 시스템

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
COURBARIAUX, MATTHIEU ET AL.: "Binarized Neural Networks: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1", TECHNION- ISRAEL INSTITUTE OF TECHNOLOGY, 17 March 2016 (2016-03-17), pages 1 - 11, XP055405835 *
GEM AN, STUART ET AL.: "Neural Networks and the Bias/Variance Dilemma. Communicated by Lawrence Jackel", MASSACHUSETTS INSTITUTE OF TECHNOLOGY, 1992, pages 1 - 58, XP055723002 *
JIA, KAIGE ET AL.: "Calibrating Process Variation at System Level with In-Situ Low-Precision Transfer Learning for Analog Neural Network Processors", 2018 55TH ACM/ESDA/ IEEE DESIGN AUTOMATION CONFERENCE (DAC, 28 June 2018 (2018-06-28), pages 1 - 6, XP033405886, DOI: 10.1109/DAC.2018.8465796 *
RASTEGARI, MOHAMMAD ET AL.: "Xnor-net: ImageNet Classification Using Binary Convolutional Neural Networks", SPRINGER INTERNATIONAL PUBLISHING AG 2016, 2016, pages 525 - 542, XP055405845, DOI: 10.1007/978-3-319-46493-0_32 *

Also Published As

Publication number Publication date
US20210089893A1 (en) 2021-03-25
KR101991041B1 (ko) 2019-06-19
US12050992B2 (en) 2024-07-30

Similar Documents

Publication Publication Date Title
KR101991041B1 (ko) 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법 및 그 시스템
EP3718055B1 (en) Neural network circuits having non-volatile synapse arrays
US11188815B2 (en) Weight shifting for neuromorphic synapse array
KR102890094B1 (ko) 비지도 도메인 적응 장치 및 방법
US12068044B2 (en) Memory system including semiconductor memory and controller capable of determining necessary shifted boundary read voltages in a short period of time
WO2019027208A1 (ko) 인공 신경망의 훈련 방법
CN111713101B (zh) 基于事件的图像传感器及其操作方法
WO2019021081A1 (en) SYSTEM AND METHOD FOR CONSTRUCTING SYNAPTIC WEIGHTS FOR ARTIFICIAL NEURAL NETWORKS FROM PAIRS OF SIGNED ANALOGUE CONDUCTANCES OF VARIABLE SIGNIFICANCE
JP2021535532A (ja) メモリ操作用のイベントカウンタ
US20220269932A1 (en) Synaptic circuit and neural networking apparatus
KR102809043B1 (ko) 곱셉 누적기 회로를 이용한 컴퓨팅 장치 및 방법
KR20210158698A (ko) 회로를 이용하여 소정의 연산을 수행하는 장치 및 방법
Lu et al. DNN-kWTA with bounded random offset voltage drifts in threshold logic units
KR20220157657A (ko) coarse-fine 비교기를 사용한 아날로그 SNN 뉴런 회로 및 아날로그 SNN 뉴런 회로의 운영 방법
CN115796252B (zh) 权重写入方法及装置、电子设备和存储介质
WO2023101480A1 (en) Systems and methods for intelligent management of a battery
CN110363292B (zh) 一种混合信号二进制cnn处理器
US10445640B1 (en) Scalable refresh for asymmetric non-volatile memory-based neuromorphic circuits
CN116128035B (zh) 训练方法及装置、电子设备和计算机存储介质
Ahmed et al. Fault-Tolerant Neuromorphic Computing With Memristors Using Functional ATPG for Efficient Recalibration
CN118824307A (zh) 存储器内计算存储器装置及存储器内计算方法
US20250132594A1 (en) Predicting small capacity backup battery availability
TWI866591B (zh) 記憶體內計算記憶體裝置及記憶體內計算方法
TWI845270B (zh) 記憶體內計算記憶體裝置及記憶體內計算方法
WO2024144015A1 (ko) 배터리 상태 진단 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19906661

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19906661

Country of ref document: EP

Kind code of ref document: A1