KR20180085422A - Sigmoid function circuit used in an artificial neural network - Google Patents

Sigmoid function circuit used in an artificial neural network Download PDF

Info

Publication number
KR20180085422A
KR20180085422A KR1020170008872A KR20170008872A KR20180085422A KR 20180085422 A KR20180085422 A KR 20180085422A KR 1020170008872 A KR1020170008872 A KR 1020170008872A KR 20170008872 A KR20170008872 A KR 20170008872A KR 20180085422 A KR20180085422 A KR 20180085422A
Authority
KR
South Korea
Prior art keywords
neural network
sigmoid function
artificial neural
function circuit
artificial
Prior art date
Application number
KR1020170008872A
Other languages
Korean (ko)
Inventor
이병근
여인준
김성민
이주현
Original Assignee
한국전자통신연구원
광주과학기술원
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 한국전자통신연구원, 광주과학기술원 filed Critical 한국전자통신연구원
Priority to KR1020170008872A priority Critical patent/KR20180085422A/en
Publication of KR20180085422A publication Critical patent/KR20180085422A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/26Arbitrary function generators
    • G06G7/28Arbitrary function generators for synthesising functions by piecewise approximation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)

Abstract

The present invention relates to a sigmoid function circuit used in a neuron of an artificial neural network. According to an embodiment of the present invention, the sigmoid function circuit used in the neuron of the artificial neural network may include a noise amplifier and a comparator. The noise amplifier may amplify thermal noise generated from a resistor. The comparator may repeatedly compare the results obtained by adding the amplified thermal noise with signals input to the neuron at a rising edge or a falling edge of a clock. According to an embodiment of the present invention, the sigmoid function circuit used in the neuron of the artificial neural network may include a comparator to perform a 1-bit ADC. Accordingly, the area and the power consumption of the artificial neural network may be reduced through the sigmoid function circuit having a small area.

Description

인공 신경망에서 사용되는 시그모이드 함수 회로{SIGMOID FUNCTION CIRCUIT USED IN AN ARTIFICIAL NEURAL NETWORK}[0002] SIGMOID FUNCTION CIRCUIT USED IN AN ARTIFICIAL NEURAL NETWORK [0003]

본 발명은 시그모이드 함수 회로에 관한 것으로, 좀 더 자세하게는 인공 신경망에서 사용되는 시그모이드 함수 회로에 관한 것이다.The present invention relates to a sigmoid function circuit, and more particularly to a sigmoid function circuit used in an artificial neural network.

인공 신경망(Artificial Neural Network; ANN)은 생물학의 신경망과 유사한 방식으로 데이터를 처리하는 통계학적인 망이다. 인공 신경망은 문자 인식, 이미지 인식, 음성 인식, 얼굴 인식과 같은 다양한 분야에서 사용될 수 있다. 인공 신경망은 초고밀도집적회로(Very large scale integrated circuit; VLSI)에서 구현될 수 있다. 생물학의 신경망과 유사하게 인공 신경망은 시냅스 및 인공 뉴런을 포함할 수 있다.Artificial Neural Network (ANN) is a statistical network that processes data in a manner similar to biological neural networks. Artificial neural networks can be used in various fields such as character recognition, image recognition, speech recognition, and face recognition. Artificial neural networks can be implemented in very large scale integrated circuits (VLSI). Similar to biological neural networks, artificial neural networks can include synapses and artificial neurons.

기술의 발전에 따라, 인공 신경망의 복잡도는 점점 증가할 수 있다. 좀 더 구체적으로, 인공 신경망의 시냅스들의 개수 및 인공 뉴런들의 개수가 증가할 수 있다. 이로 인해, 하드웨어로 구현된 인공 신경망의 면적 및 전력 소모가 증가하는 문제점이 있다.With the development of technology, the complexity of artificial neural networks can increase. More specifically, the number of synapses in the artificial neural network and the number of artificial neurons may be increased. As a result, the area and power consumption of the artificial neural network implemented by hardware increase.

본 발명은 상술한 기술적 과제를 해결하기 위한 것으로, 본 발명은 인공 신경망에서 사용되는 시그모이드 함수 회로를 제공할 수 있다.SUMMARY OF THE INVENTION The present invention provides a sigmoid function circuit used in an artificial neural network.

본 발명의 실시 예에 따른 인공 신경망에서 사용되는 시그모이드 함수 회로는 잡음 증폭기 및 복수의 비교기를 포함할 수 있다. 잡음 증폭기는 잡음 증폭기는 저항에서 발생하는 열잡음을 증폭할 수 있다. 복수의 비교기는 상기 증폭된 열잡음을 각각 수신할 수 있다. 상기 복수의 비교기 중 적어도 하나는 클럭의 상승 엣지 또는 하강 엣지에서 상기 증폭된 열잡음과 상기 인공 신경망의 인공 뉴런으로 입력되는 신호들이 합산된 결과를 비교할 수 있다.The sigmoid function circuit used in the artificial neural network according to the embodiment of the present invention may include a noise amplifier and a plurality of comparators. The noise amplifier can amplify the thermal noise generated by the resistor. The plurality of comparators may receive the amplified thermal noise, respectively. At least one of the plurality of comparators may compare the sum of the signals input to the artificial neuron of the artificial neural network and the amplified thermal noise at the rising edge or the falling edge of the clock.

본 발명의 실시 예에 따른 인공 신경망의 뉴런에서 사용되는 시그모이드 함수 회로는 1-bit ADC 역할을 수행하는 비교기를 포함할 수 있다. 따라서, 면적이 작은 시그모이드 함수 회로에 의해, 인공 신경망의 면적 및 전력 소모는 개선될 수 있다.The sigmoid function circuit used in the neuron of the artificial neural network according to the embodiment of the present invention may include a comparator performing a role of a 1-bit ADC. Therefore, the area and power consumption of the artificial neural network can be improved by the small-area sigmoid function circuit.

도 1은 본 발명의 실시 예에 따른 인공 신경망을 예시적으로 보여주는 도면이다.
도 2는 도 1에서 도시된 인공 뉴런을 예시적으로 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 시그모이드 함수 회로를 예시적으로 보여주는 블록도이다.
도 4는 도 3에서 도시된 시그모이드 함수 회로의 동작을 예시적으로 보여주는 타이밍도이다.
도 5는 도 4에서 도시된 시그모이드 함수 회로에 대한 스파이크의 평균을 예시적으로 보여주는 그래프이다.
도 6은 도 1에서 도시된 인공 신경망의 대한 구체적인 실시 예를 예시적으로 보여주는 블록도이다.
도 7 및 도 8은 본 발명의 실시 예에 따른 시그모이드 함수 회로의 측정 결과를 예시적으로 보여주는 도면들이다.
1 is a diagram illustrating an artificial neural network according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an exemplary artificial neuron shown in FIG. 1. FIG.
3 is a block diagram illustrating an exemplary sigmoid function circuit according to an embodiment of the present invention.
4 is a timing diagram illustrating an exemplary operation of the sigmoid function circuit shown in FIG.
5 is a graph illustrating an exemplary average of spikes for the sigmoid function circuit shown in Fig.
FIG. 6 is a block diagram illustrating an exemplary embodiment of the artificial neural network shown in FIG. 1. FIG.
FIGS. 7 and 8 illustrate exemplary measurement results of a sigmoid function circuit according to an embodiment of the present invention.

아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.In the following, embodiments of the present invention will be described in detail and in detail so that those skilled in the art can easily carry out the present invention.

도 1은 본 발명의 실시 예에 따른 인공 신경망을 예시적으로 보여주는 도면이다. 인공 신경망(Artificial neural network; ANN, 10)은 생물학의 신경망과 유사한 인공적으로 구성된 망을 의미한다. 도 1을 참조하면, 인공 신경망(10)은 입력층(Input layer, 11), 은닉층(Hidden layer, 12), 및 출력층(Output layer, 13)을 포함할 수 있다. 입력층(11), 은닉층(12), 및 출력층(13)은 시냅스(Synapse)를 통해 서로 연결될 수 있다. 생물학적으로, 시냅스는 신경세포와 다른 신경 세포 사이의 접합부를 의미할 수 있다. 유사하게, 인공 신경망(10)에서, 인공 뉴런과 다른 인공 뉴런은 시냅스를 통해 서로 결합될 수 있다. 1 is a diagram illustrating an artificial neural network according to an embodiment of the present invention. An artificial neural network (ANN, 10) is an artificially constructed network similar to a biological neural network. Referring to FIG. 1, the artificial neural network 10 may include an input layer 11, a hidden layer 12, and an output layer 13. The input layer 11, the hidden layer 12, and the output layer 13 may be connected to each other via a synapse. Biologically, synapses can refer to junctions between nerve cells and other nerve cells. Similarly, in the artificial neural network 10, artificial neurons and other artificial neurons can be coupled to one another via synapses.

인공 신경망(10)은 복수의 인공 뉴런(100)을 포함할 수 있다. 복수의 인공 뉴런(100)은 외부로부터 입력 데이터(X1~XI)를 수신하는 입력 뉴런, 입력 뉴런으로부터 데이터를 수신하고 이를 처리하는 은닉 뉴런, 그리고 은닉 뉴런으로부터 데이터를 수신하고 출력 데이터(Y1~YJ)를 생성하는 출력 뉴런을 포함할 수 있다. 입력층(11)은 복수의 입력 뉴런을 포함할 수 있고, 은닉층(12)은 복수의 은닉 뉴런을 포함할 수 있고, 출력층(13)은 복수의 출력 뉴런을 포함할 수 있다. 여기서, 입력층(11), 은닉층(12), 그리고 출력층(13) 각각에 포함된 인공 뉴런들의 개수는 도시된 바에 한정되지 않는다. 은닉층(12)은 도 1에서 도시된 것보다 더 많은 층들을 포함할 수 있고, 상술한 층들의 개수는 인공 신경망(10)의 정확도나 학습 속도와 관련된다.The artificial neural network 10 may include a plurality of artificial neurons 100. The plurality of artificial neurons 100 receive input data from outside (X 1 to X I ), input data from an input neuron and concealed neurons that process and process the data, and output data (Y 1 to Y J ). The input layer 11 may comprise a plurality of input neurons, the hidden layer 12 may comprise a plurality of concealed neurons, and the output layer 13 may comprise a plurality of output neurons. Here, the number of artificial neurons included in each of the input layer 11, the hidden layer 12, and the output layer 13 is not limited to the illustrated one. The hidden layer 12 may comprise more layers than shown in Figure 1, and the number of layers described above is related to the accuracy or learning rate of the artificial neural network 10. [

실시 예에 있어서, 입력 데이터는 사람의 얼굴 또는 필기체를 나타내는 이미지 데이터일 수 있다. 인공 신경망(10)은 이미지 데이터를 인식하고, 이미지가 무엇인지를 출력할 수 있다. 그러나 본 발명의 실시 예에서 입력 데이터는 상술한 이미지 데이터에 한정되지 않는다.In an embodiment, the input data may be image data representing a face or a handwriting of a person. The artificial neural network 10 recognizes the image data and can output what the image is. However, in the embodiment of the present invention, the input data is not limited to the image data described above.

도 2는 도 1에서 도시된 인공 뉴런을 예시적으로 보여주는 블록도이다. 도 2를 참조하면, 인공 뉴런(100)은 합산 회로(Summation circuit, 110) 및 활성 함수 회로(Activation function circuit, 120)를 포함할 수 있다.FIG. 2 is a block diagram illustrating an exemplary artificial neuron shown in FIG. 1. FIG. Referring to FIG. 2, the artificial neuron 100 may include a summation circuit 110 and an activation function circuit 120.

합산 회로(110)는 가중치들(W1~WK)을 이용하여 입력 신호들(A1~AK)을 합산할 수 있다. 입력 신호들(A1~AK) 각각은 임의의 인공 뉴런으로부터 생성된 출력 신호를 나타낼 수 있다. 가중치들(W1~WK) 각각은 시냅스의 강도(즉, 인공 뉴런과 다른 인공 뉴런과의 결합 정도)를 나타낼 수 있다. 좀 더 구체적으로, 합산 회로(110)는 가중치들(W1~WK)과 입력 신호들(A1~AK)을 각각 곱한 후, 곱셈 결과들을 합쳐서 합산 결과(B)를 생성할 수 있다. 따라서, 가중치가 낮으면 해당 입력 신호는 합산 결과(B)에서 비중이 낮아지고, 가중치가 높으면 해당 입력 신호는 합산 결과(B)에서 비중이 높아진다. 합산 결과(B)는 수학식 1로 나타낼 수 있다.The summing circuit 110 may sum up the input signals A 1 to A K using the weights W 1 to W K. Each of the input signals A 1 to A K may represent an output signal generated from any artificial neuron. Each of the weights W 1 to W K may represent the intensity of the synapse (i.e., the degree of coupling of artificial neurons to other artificial neurons). More specifically, the summation circuit 110 may multiply the weights W 1 to W K and the input signals A 1 to A K , respectively, and then combine the multiplication results to generate a summation result B . Accordingly, when the weight is low, the weight of the input signal is low in the summation result B, and when the weight is high, the weight of the input signal is high in the summation result B. The summation result (B) can be expressed by Equation (1).

Figure pat00001
Figure pat00001

활성 함수 회로(120)는 합산 결과(B) 및 활성 함수(Activation function, f)를 이용해 활성 결과(C)를 출력할 수 있다. 활성 결과(C)는 수학식 2로 나타낼 수 있다.The activation function circuit 120 may output the activation result C using the summation result B and the activation function f. The activation result (C) can be expressed by Equation (2).

Figure pat00002
Figure pat00002

수학식 2의 활성 함수(f)는 시그모이드(Sigmoid) 함수이다. 일반적으로, 인공 신경망(도 1 참조, 10)에서, 활성 함수는 시그모이드 함수일 수 있다. 시그모이드 함수는 비선형 함수이고, 모든 입력에 대해 0부터 1사이의 값을 출력할 수 있다. 활성 결과(C, 즉 시그모이드 함수의 출력)는 시냅스를 통해 다른 인공 뉴런으로 전달될 수 있다. 즉, 활성 결과(C)는 다른 인공 뉴런의 입력이 될 수 있다.The activation function (f) in Equation (2) is a sigmoid function. Generally, in an artificial neural network (see FIG. 1, 10), the activation function may be a sigmoid function. The sigmoid function is a nonlinear function and can output a value between 0 and 1 for all inputs. The activation result (C, ie, the output of the sigmoid function) can be transmitted through synapses to other artificial neurons. That is, the activation result (C) can be input to other artificial neurons.

좀 더 구체적으로, 합산 결과(B)가 음의 무한대로 수렴하면, 활성 결과(C)는 0으로 수렴하고, 합산 결과(B)가 양의 무한대로 수렴하면, 활성 결과(C)는 1로 수렴한다. 활성 결과(C)가 0으로 수렴한 경우, 활성 결과(C)는 다른 인공 뉴런의 합산 결과에서 무시될 수 있다. 반면에, 활성 결과(C)가 1로 수렴한 경우, 활성 결과(C)는 다른 인공 뉴런의 합산 결과에서 비중이 높을 수 있다. 이하, 인공 신경망의 뉴런에서 사용되는 시그모이드 함수 회로(즉, 활성 함수가 시그모이드 함수인 경우)의 구체적인 실시 예에 대해 설명한다.More specifically, if the summation result B converges to negative infinity, then the active result C converges to zero, and if the summation result B converges to positive infinity, Converge. When the activation result (C) converges to zero, the activation result (C) can be ignored in the result of summation of other artificial neurons. On the other hand, when the activation result (C) converges to 1, the activation result (C) may be higher in the result of summation of other artificial neurons. Hereinafter, a specific embodiment of the sigmoid function circuit (i.e., the case where the activation function is a sigmoid function) used in the neuron of the artificial neural network will be described.

도 3은 본 발명의 실시 예에 따른 시그모이드 함수 회로를 예시적으로 보여주는 블록도이다. 도 3을 참조하면, 시그모이드 함수 회로(200)는 잡음 증폭기(Noise amplifier, 210) 및 비교기(Comparator, 220)를 포함할 수 있다.3 is a block diagram illustrating an exemplary sigmoid function circuit according to an embodiment of the present invention. Referring to FIG. 3, the sigmoid function circuit 200 may include a noise amplifier 210 and a comparator 220.

잡음 증폭기(210)는 저항(Resistor; R) 및 증폭기(Amplifier, 211)를 포함할 수 있다. 저항(R)의 일단은 접지에 연결될 수 있고, 저항(R)의 타단은 증폭기(211)에 연결될 수 있다. 일반적으로, 저항(R)은 열교란에 의해 열잡음이 발생할 수 있다. 이러한 열잡음은 광대역의 스펙트럼 밀도를 가질 수 있다(즉, 백색 잡음(White noise)). 도시되진 않았지만, 저항(R)은 열잡음이 없는 이상적인 저항 및 열잡음 전압원으로 모델링될 수 있다. 유사하게, 저항(R)은 열잡음이 없는 이상적인 저항 및 열잡음 전류원으로 모델링될 수 있다.The noise amplifier 210 may include a resistor R and an amplifier 211. One end of the resistor R may be connected to the ground, and the other end of the resistor R may be connected to the amplifier 211. Generally, the resistor R can generate thermal noise by thermal disturbance. This thermal noise may have a broadband spectral density (i. E., White noise). Although not shown, the resistor R can be modeled as an ideal resistive and thermal noise voltage source without thermal noise. Similarly, the resistor R can be modeled as an ideal resistor and a thermal noise current source without thermal noise.

증폭기(211)는 저항(R)에서 생성된 열잡음을 증폭할 수 있다. 증폭된 열잡음(VN,COMP)은 비교기(220)로 전달될 수 있다. 증폭기(211)의 개루프(Open-loop) 이득은 A일 수 있다. 도 3을 참조하면, 잡음 증폭기(210)는 개루프 방식으로 구현될 수 있다. 도시되진 않았지만, 잡음 증폭기(210)는 폐루프(Closed-loop) 방식으로 구현될 수도 있다. 본 발명의 실시 예에 따른 시그모이드 함수 회로(200)는 개루프 방식 또는 폐루프 방식으로 증폭된 열잡음(VN,COMP)을 사용할 수 있다.The amplifier 211 can amplify the thermal noise generated in the resistor R. [ The amplified thermal noise V N, COMP may be transmitted to the comparator 220. The open-loop gain of the amplifier 211 may be A. Referring to FIG. 3, the noise amplifier 210 may be implemented in an open loop manner. Although not shown, the noise amplifier 210 may be implemented in a closed-loop fashion. The sigmoid function circuit 200 according to the embodiment of the present invention may use thermal noise V N, COMP amplified in an open loop or a closed loop.

비교기(220)는 입력 전압(VIN, 도 2의 입력 신호들(A1~AK)과 대응)과 증폭된 열잡음(VN,COMP)을 비교할 수 있다. 비교기(220)는 플러스 단자 및 마이너스 단자를 포함할 수 있다. 비교기(220)는 플러스 단자를 통해 입력 전압(VIN)을 수신할 수 있고, 마이너스 단자를 통해 증폭된 열잡음(VN,COMP)을 수신할 수 있다. 예시적으로, 비교기(220)는 차동 증폭기(Differential amplifier) 형태로 구현될 수 있다.The comparator 220 can compare the input voltage V IN (corresponding to the input signals A 1 to A K in FIG. 2) and the amplified thermal noise V N, COMP . The comparator 220 may include a plus terminal and a minus terminal. The comparator 220 can receive the input voltage V IN via the plus terminal and receive the amplified thermal noise V N, COMP via the minus terminal. Illustratively, the comparator 220 may be implemented in the form of a differential amplifier.

실시 예에 있어서, 입력 전압(VIN)이 증폭된 열잡음(VN,COMP)보다 크거나 같은 경우, 비교 결과(DOUT)는 논리 1이 된다. 비교기(220)는 입력 전압(VIN)이 증폭된 열잡음(VN,COMP)보다 작은 경우, 비교 결과(DOUT)는 논리 0이 된다. 비교 결과(DOUT)는 수학식 3으로 나타낼 수 있다.In an embodiment, if the input voltage V IN is greater than or equal to the amplified thermal noise V N, COMP , then the comparison result D OUT is a logic one. The comparator 220 is less than the input voltage (V IN) is amplified thermal noise (N V, COMP), the comparison result (D OUT) is a logical zero. The comparison result (D OUT ) can be expressed by Equation (3).

Figure pat00003
Figure pat00003

비교기(220)는 클럭(Clock; CK)을 수신할 수 있다. 비교기(220)는 클럭의 상승 엣지(Rising edge) 또는 하강 엣지(Falling edge)에서 입력 전압(VIN)과 증폭된 열잡음(VN,COMP)을 비교할 수 있다. 클럭(CK)을 이용하는 비교기(220)의 동작이 도 4에 예시적으로 도시되었다.The comparator 220 may receive a clock (CK). The comparator 220 may compare the input voltage V IN with the amplified thermal noise V N, COMP at the rising or falling edge of the clock. The operation of comparator 220 using clock CK is illustratively shown in FIG.

도 4는 도 3에서 도시된 시그모이드 함수 회로의 동작을 예시적으로 보여주는 타이밍도이다. 도 4에서 가로축은 시간에 해당한다. 시그모이드 함수 회로(도 3 참조, 200)는 클럭의 상승 엣지마다 입력 전압(VIN)과 증폭된 열잡음(VN,COMP)을 비교할 수 있다. 클럭이 하이(High)인 경우, 시그모이드 함수 회로(200)는 비교 결과(DOUT)를 출력할 수 있다. 클럭이 로우(Low)인 경우, 시그모이드 함수 회로(200)는 비교 결과(DOUT)를 셋(Set) 또는 리셋(Reset)할 수 있다. 그러나 본 발명의 실시 예에 따른 시그모이드 함수 회로(200)의 동작은 도 4에서 도시된 것에 한정되지 않는다.4 is a timing diagram illustrating an exemplary operation of the sigmoid function circuit shown in FIG. In Fig. 4, the horizontal axis corresponds to time. The sigmoid function circuit (see FIG. 3, 200) can compare the input voltage V IN and the amplified thermal noise V N, COMP for each rising edge of the clock. When the clock is high, the sigmoid function circuit 200 can output the comparison result (D OUT ). When the clock is low, the sigmoid function circuit 200 can set or reset the comparison result D OUT . However, the operation of the sigmoid function circuit 200 according to the embodiment of the present invention is not limited to that shown in Fig.

만약 증폭된 열잡음(VN,COMP)이 가우스 확률 변수(Gaussian random variable)에 해당하고, 평균이 0이고 표준편차가 σN,COMP인 경우, 비교 결과(DOUT)가 1이 될 수 있는 확률(p)은 수학식 4로 나타낼 수 있다.If the amplified thermal noise (V N, COMP ) corresponds to a Gaussian random variable and the mean is zero and the standard deviation is σ N, COMP , then the probability that the comparison result (D OUT ) (p) can be expressed by Equation (4).

Figure pat00004
Figure pat00004

수학식 4에서, 에러 함수(erf(x))는 수학식 5로 나타낼 수 있다.In Equation (4), the error function erf (x) can be expressed by Equation (5).

Figure pat00005
Figure pat00005

비교기(도 3 참조, 220)는 클럭의 상승 엣지 또는 하강 엣지에서 증폭된 열잡음(VN,COMP)과 뉴런으로 입력되는 신호들이 합산된 결과(즉, 입력 전압(VIN))를 비교할 수 있다. 좀 더 구체적으로, 비교기(220)는 증폭된 열잡음(VN,COMP)과 입력 전압(VIN)을 N(N은 자연수)번 비교할 수 있다(즉, 반복 비교). 예시적으로, 도 4에서, 비교기(도 3 참조, 220)는 비교를 8번 수행하는 것으로 도시되었다. 총 8개의 비교 결과(DOUT)에서, 논리 1은 5번 출력되었고, 논리 0은 3번 출력되었다. 따라서, 비교 결과(DOUT)가 1이 될 수 있는 확률(p)은 0.625(=5/8)일 수 있다.The comparator 220 may compare the result of summing the input thermal noise (V N, COMP ) and the signals input to the neuron (i.e., the input voltage V IN ) at the rising or falling edge of the clock . More specifically, the comparator 220 may compare the amplified thermal noise (V N, COMP ) and the input voltage (V IN ) N times (N is a natural number) (ie, iterative comparison). Illustratively, in FIG. 4, a comparator (see FIG. 3, 220) is shown performing the comparison eight times. In a total of eight comparison results (D OUT ), logic 1 was output 5 times and logic 0 was output 3 times. Therefore, the probability (p) that the comparison result (D OUT ) can be 1 can be 0.625 (= 5/8).

스파이크(Spike, S)는 비교 횟수가 N인 경우에 비교 결과(DOUT)들의 합을 비교 횟수 N으로 나눈 값으로 정의할 수 있다. 즉, 스파이크(S)는 수학식 6으로 나타낼 수 있다.Spike (S) can be defined as a value obtained by dividing the sum of comparison results (D OUT ) by the number of comparisons N when the number of comparisons is N. [ That is, the spike S can be expressed by Equation (6).

Figure pat00006
Figure pat00006

여기서, N은 자연수이고, N은 인공 신경망(도 1 참조, 10)의 정확도, 타깃 에러율 등에 의해 결정될 수 있다. 스파이크(S)는 이항분포(Binomial distribution)를 따를 수 있다. 이항분포의 평균 정의 및 표준편차 정의를 이용하면, 스파이크의 평균(μS) 및 표준편차(σS)는 각각 수학식 7 및 수학식 8로 나타낼 수 있다.Here, N is a natural number, and N can be determined by the accuracy of the artificial neural network (see FIG. 1), the target error rate, and the like. The spike (S) may follow a binomial distribution. Using the mean and standard deviation definitions of binomial distributions, the mean (μ S ) and standard deviation (σ S ) of the spikes can be expressed by Equations (7) and (8), respectively.

Figure pat00007
Figure pat00007

Figure pat00008
Figure pat00008

도 5는 도 4에서 도시된 시그모이드 함수 회로에 대한 스파이크의 평균을 예시적으로 보여주는 그래프이다. 도 5를 참조하면, 가로축은 입력 전압(VIN)이고, 세로축은 상술한 스파이크의 평균(μS, 즉 시그모이드 함수)이다. 증폭된 열잡음(VN,COMP)의 표준편차(σN,COMP)가 증가할수록, 스파이크의 평균(μS)의 가파름(Steepness)이 감소할 수 있다. 반대로, 증폭된 열잡음(VN,COMP)의 표준편차(σN,COMP)가 0으로 수렴할수록, 스파이크의 평균(μS)은 단위 스텝 함수(Unit step function)의 형태가 될 수 있다.5 is a graph illustrating an exemplary average of spikes for the sigmoid function circuit shown in Fig. Referring to Figure 5, the horizontal axis is the input voltage (V IN ) and the vertical axis is the average of the above spikes (μ S , or sigmoid function). As the standard deviation of the amplified thermal noise (V N, COMP ) σ N, COMP increases, the steepness of the mean (μ S ) of the spikes may decrease. Conversely, the more the standard deviation (σ N, COMP) of the amplified thermal noise (N V, COMP) converges to zero, and the average (μ S) of the spikes may be in the form of a unit step function (step function Unit).

도 6은 도 1에서 도시된 인공 신경망의 대한 구체적인 실시 예를 예시적으로 보여주는 블록도이다. 도 6을 참조하면, 인공 신경망(1000)은 제 1 은닉층(1100), 제 2 은닉층(1200), 잡음 증폭기(1130), 및 클럭 발생기(1140)를 포함할 수 있다. 도시되진 않았지만, 인공 신경망(1000)은 도 1에서 도시된 입력층(11) 및 출력층(13)을 더 포함할 수 있다. 그리고 인공 신경망(1000)의 은닉층의 개수는 도시된 바에 한정되지 않는다.FIG. 6 is a block diagram illustrating an exemplary embodiment of the artificial neural network shown in FIG. 1. FIG. 6, the artificial neural network 1000 may include a first hidden layer 1100, a second hidden layer 1200, a noise amplifier 1130, and a clock generator 1140. Although not shown, the artificial neural network 1000 may further include an input layer 11 and an output layer 13 shown in Fig. The number of hidden layers of the artificial neural network 1000 is not limited to the illustrated one.

제 1 은닉층(1100)은 멤리스터 어레이(Memristor array, 1110), 인공 뉴런(1120), 잡음 증폭기(1130), 및 클럭 발생기(Clock generator, 1140)를 포함할 수 있다.The first hiding layer 1100 may include a memristor array 1110, an artificial neuron 1120, a noise amplifier 1130, and a clock generator 1140.

멤리스터 어레이(1110)는 복수의 멤리스터를 포함할 수 있다. 멤리스터는 전원 공급 끊어지기 직전에 통과한 전류의 방향과 양을 기억할 수 있다. 멤리스터는 제 1 배선 및 제 2 배선의 교차점에 배치될 수 있다. 유사한 방식으로 다른 멤리스터들도 제 1 배선 및 제 2 배선의 교차점에 배치될 수 있다. 멤리스터 어레이(1110)는 도 1에서 도시된 시냅스에 대응할 수 있다. 멤리스터, 제 1 배선, 및 제 2배선 각각의 개수는 도 6에서 도시된 바에 한정되지 않는다. 멤리스터 어레이(1110)는 제 1 배선을 통해 입력 데이터를 수신할 수 있다. 실시 예에 있어서, 입력 데이터는 펄스(Pulse) 형태로 제공될 수 있다. 또 다른 실시 예에 있어서, 입력 데이터는 도 1에서 도시된 입력층(11) 및 다른 은닉층을 통과한 후 멤리스터 어레이(1110)에 제공될 수도 있다.The MEMS array 1110 may include a plurality of memristors. The memristor can remember the direction and amount of the current passed just before the power supply is cut off. The memristor may be disposed at an intersection of the first wiring and the second wiring. In a similar manner, other memristors may be placed at the intersection of the first and second wires. The memristor array 1110 may correspond to the synapse shown in Fig. The number of each of the memristor, the first wiring, and the second wiring is not limited to that shown in Fig. The MEMS array 1110 can receive input data through the first wiring. In an embodiment, the input data may be provided in the form of a pulse. In yet another embodiment, the input data may be provided to the memristor array 1110 after passing through the input layer 11 and other hidden layers shown in FIG.

인공 뉴런(1120)은 도 1에서 도시된 인공 뉴런(100)과 대응될 수 있다. 인공 뉴런(1120)은 증폭기(1121), 커패시터(Capacitor; C), 및 비교기(1122)를 포함할 수 있다. 여기서, 비교기(1122)는 도 3에서 도시된 비교기(220)와 대체로 유사한 기능을 수행할 수 있다. 실시 예에 있어서, 인공 신경망(1000)은 복수의 인공 뉴런을 포함할 수 있다. 다만, 복수의 인공 뉴런의 개수는 도 6에서 도시된 바에 한정되지 않는다. 증폭기(1121) 및 커패시터(C)는 적분기(Integrator)로 동작할 수 있다. 커패시터(C)는 증폭기(1121)의 입력과 출력 사이에 연결될 수 있다. 따라서, 멤리스터 어레이(1110)의 출력은 적분기에 누적될 수 있다. 적분기는 도 2에서 도시된 합산 회로(110)에 대응할 수 있다. 적분기는 비교기(1122)에 입력 전압(VIN, 도 2의 B에 대응)을 제공할 수 있다.The artificial neuron 1120 may correspond to the artificial neuron 100 shown in Fig. The artificial neuron 1120 may include an amplifier 1121, a capacitor C, and a comparator 1122. Here, the comparator 1122 can perform a function substantially similar to the comparator 220 shown in FIG. In an embodiment, the artificial neural network 1000 may comprise a plurality of artificial neurons. However, the number of artificial neurons is not limited to that shown in Fig. The amplifier 1121 and the capacitor C may operate as an integrator. Capacitor C may be coupled between the input and output of amplifier 1121. Thus, the output of the MEMS array 1110 may accumulate in the integrator. The integrator may correspond to the summation circuit 110 shown in FIG. The integrator may provide an input voltage (V IN , corresponding to B in FIG. 2) to the comparator 1122.

비교기(1122)는 적분기로부터 입력 전압(VIN)을 수신할 수 있고, 잡음 증폭기(1130)로부터 증폭된 열잡음(VN,COMP)을 수신할 수 있다. 비교기(1122)는 입력 전압(VIN) 및 증폭된 열잡음(VN,COMP)을 비교하고, 논리 1 또는 논리 0을 출력할 수 있다. 이 때, 입력 전압(VIN) 및 증폭된 열잡음(VN,COMP)은 아날로그 신호들이므로, 본 발명의 실시 예에 따른 비교기(1122)는 1-bit ADC(Analog-digital converter)일 수 있다. 일반적으로, 인공 뉴런에서 활성 함수(예를 들면, 시그모이드 함수)를 구현하기 위해 디지털 논리 회로들(예를 들면, INV, AND, NAND, OR, NOR, XOR, XNOR 등)이 사용될 수 있다. 이 경우, 멤리스터 어레이(1110)에서 출력되는 아날로그 신호들을 디지털로 변환하기 위한 ADC들이 필요할 수 있다. 특히, 인공 신경망(1000)의 복잡도가 증가하는 경우(즉, 시냅스 연결이 많거나 인공 뉴런들의 개수가 증가하는 경우), 상술한 ADC들의 개수 및 면적은 증가될 수 있다. 그러나, 본 발명의 실시 예에 따르면, 시그모이드 함수 회로는 1-bit ADC이므로, 상술한 ADC는 필요하지 않을 수 있다.The comparator 1122 may receive the input voltage V IN from the integrator and receive the amplified thermal noise V N, COMP from the noise amplifier 1130. A comparator 1122 may compare the input voltage V IN and the amplified thermal noise V N, COMP and output a logic one or a logic zero. In this case, since the input voltage V IN and the amplified thermal noise V N, COMP are analog signals, the comparator 1122 according to the embodiment of the present invention may be a 1-bit analog-to-digital converter . Generally, digital logic circuits (e.g., INV, AND, NAND, OR, NOR, XOR, XNOR, etc.) may be used to implement an active function (e.g., a sigmoid function) in an artificial neuron . In this case, ADCs for converting the analog signals output from the MEMS array 1110 to digital may be required. In particular, when the complexity of the artificial neural network 1000 increases (i. E., The number of synaptic connections or the number of artificial neurons increases), the number and area of the ADCs described above can be increased. However, according to an embodiment of the present invention, the sigmoid function circuit is a 1-bit ADC, so the ADC described above may not be needed.

잡음 증폭기(1130)는 저항(R) 및 증폭기(1131)를 포함할 수 있다. 잡음 증폭기(1130)는 도 3에서 전술한 잡음 증폭기(210)와 대체로 유사하다. 실시 예에 있어서, 잡음 증폭기(1130)에 의해 증폭된 열잡음(VN,COMP)은 비교기(1122) 및 다른 비교기들에도 제공될 수 있다. 즉, 복수의 인공 뉴런은 하나의 잡음 증폭기(1130)를 공유할 수 있다. 따라서, 복수의 인공 뉴런의 개수가 증가해도, 잡음 증폭기(1130)의 개수는 하나일 수 있다. The noise amplifier 1130 may include a resistor R and an amplifier 1131. The noise amplifier 1130 is substantially similar to the noise amplifier 210 described above in FIG. In an embodiment, thermal noise V N, COMP amplified by noise amplifier 1130 may be provided to comparator 1122 and other comparators. That is, a plurality of artificial neurons may share a single noise amplifier 1130. Thus, even though the number of artificial neurons increases, the number of noise amplifiers 1130 can be one.

실시 예에 있어서, 복수의 인공 뉴런의 복수의 비교기 각각은 잡음 증폭기(1130)로부터 증폭된 열잡음(VN,COMP)을 수신할 수 있다. 복수의 비교기 중 적어도 하나는 입력 전압(VIN) 및 증폭된 열잡음(VN,COMP)을 비교할 수 있다. 전술한대로, 입력 전압(VIN)은 복수의 인공 뉴런으로 입력되는 신호들이 합산된 결과를 의미할 수 있다.클럭 발생기(1140)는 클럭(CK)을 비교기(1122)에 제공할 수 있다. 실시 예에 있어서, 클럭 발생기(1140)는 PLL(Phase locked loop) 또는 DLL(Delay locked loop)일 수 있다. 다른 실시 예에 있어서, 인공 신경망(1000)은 외부에서 클럭(CK)을 수신할 수 있다. 이 경우, 인공 신경망(1000)은 클럭 발생기(1140)는 포함하지 않을 수도 있다. In an embodiment, each of a plurality of comparators of a plurality of artificial neurons may receive amplified thermal noise V N, COMP from noise amplifier 1130. At least one of the plurality of comparators may compare the input voltage V IN and the amplified thermal noise V N, COMP . As described above, the input voltage V IN may refer to the result of summing the signals input to a plurality of artificial neurons. The clock generator 1140 may provide the clock CK to the comparator 1122. In an embodiment, the clock generator 1140 may be a phase locked loop (PLL) or a delay locked loop (DLL). In another embodiment, the artificial neural network 1000 may receive a clock (CK) from the outside. In this case, the artificial neural network 1000 may not include the clock generator 1140.

다른 실시 예에 있어서, 클럭 발생기(1140)는 다른 은닉층에 포함된 인공 뉴런들에 클럭(CK)을 제공할 수 있다. 유사하게, 잡음 증폭기(1130)는 다른 은닉층에 포함된 인공 뉴런들에 증폭된 열잡음(VN,COMP)을 제공할 수 있다.In another embodiment, clock generator 1140 may provide a clock (CK) to artificial neurons included in other hidden layers. Similarly, the noise amplifier 1130 may provide amplified thermal noise (V N, COMP ) to artificial neurons included in other hidden layers.

제 2 은닉층(1200)은 인공 뉴런(1120)으로부터 비교 결과(DOUT)를 수신할 수 있다. 제 2 은닉층(1200)은 제 1 은닉층(1100)과 유사하게 구현될 수 있다. 도시되진 않았지만, 제 2 은닉층(1200)은 다른 은닉층 또는 출력층(도 1 참조, 13)과 연결될 수 있다. 인공 신경망(1000)에 입력된 입력 데이터는 제 1 및 제 2 은닉층들(1100, 1200)을 통과한 후, 외부로 출력될 수 있다.The second hidden layer 1200 may receive the comparison result (D OUT ) from the artificial neuron 1120. The second hidden layer 1200 may be implemented similarly to the first hidden layer 1100. Although not shown, the second hidden layer 1200 can be connected to another hidden layer or output layer (see FIG. 1). The input data input to the artificial neural network 1000 may be output to the outside after passing through the first and second hidden layers 1100 and 1200. [

도 7 및 도 8은 본 발명의 실시 예에 따른 시그모이드 함수 회로의 측정 결과를 예시적으로 보여주는 도면들이다. 도 7 및 도 8에서, 가로축은 입력 전압(VIN)이다. 도 7에서, 입력 전압(VIN)에 대한 이상적인 시그모이드 함수(Ideal sigmoid function)에 대한 그래프(실선으로 도시)가 도시되었다. 상술한 그래프는 수학식 2와 대응될 수 있다. 또한, 도 7에서, 비교 횟수(N)가 1024인 경우, 시그모이드 함수 회로(도 3 참조, 120)를 통해 구현된 시그모이드 함수가 이상적인 시그모이드 함수와 함께 도시될 수 있다(즉, 측정 결과, 사각형으로 도시). 도 7을 참조하면, 시그모이드 함수 회로(200)를 통해 구현된 시그모이드 함수와 이상적인 시그모이드 함수가 거의 일치하는 것을 확인할 수 있다. FIGS. 7 and 8 illustrate exemplary measurement results of a sigmoid function circuit according to an embodiment of the present invention. 7 and 8, the horizontal axis represents the input voltage V IN . In FIG. 7, a graph (shown by solid lines) for an ideal sigmoid function for the input voltage V IN is shown. The above-described graph can be matched with equation (2). 7, when the number of comparisons N is 1024, a sigmoid function implemented through a sigmoid function circuit (see Fig. 3, 120) can be shown together with an ideal sigmoid function , Measurement results, squares). Referring to FIG. 7, it can be seen that the sigmoid function implemented through the sigmoid function circuit 200 substantially matches the ideal sigmoid function.

도 8은 시그모이드 함수 회로(200)를 통해 구현된 시그모이드 함수와 이상적인 시그모이드 함수의 차이(즉, 에러)를 나타낼 수 있다. 도 8을 참조하면, 에러의 크기는 0.05보다 작은 것을 확인할 수 있다. 도 7 및 도 8은 비교 횟수(N)가 1024인 경우에 대해 도시되었다. 비교 횟수(N)가 증가되는 경우, 도 8에서 도시된 에러의 크기는 감소할 수 있다.8 illustrates the difference (i.e., error) between the sigmoid function implemented through the sigmoid function circuit 200 and the ideal sigmoid function. Referring to FIG. 8, the size of the error is smaller than 0.05. 7 and 8 are shown for the case where the number of comparisons N is 1024. If the number of comparisons N is increased, the magnitude of the error shown in Fig. 8 may decrease.

본 발명의 실시 예에 따른 인공 신경망에서 사용되는 시그모이드 함수 회로는 잡음 증폭기 및 복수의 비교기를 포함할 수 있다. 잡음 증폭기는 잡음 증폭기는 저항에서 발생하는 열잡음을 증폭할 수 있다. 복수의 비교기는 증폭된 열잡음을 각각 수신할 수 있다. 복수의 비교기 중 적어도 하나는 클럭의 상승 엣지 또는 하강 엣지에서 증폭된 열잡음과 인공 신경망의 인공 뉴런으로 입력되는 신호들이 합산된 결과를 비교할 수 있다.The sigmoid function circuit used in the artificial neural network according to the embodiment of the present invention may include a noise amplifier and a plurality of comparators. The noise amplifier can amplify the thermal noise generated by the resistor. The plurality of comparators can each receive the amplified thermal noise. At least one of the plurality of comparators can compare the sum of the thermal noise amplified in the rising edge or the falling edge of the clock and the signals input to the artificial neuron of the artificial neural network.

실시 예에 있어서, 반복 횟수는 인공 신경망의 타깃 에러율에 의해 결정될 수 있다.In an embodiment, the number of iterations may be determined by the target error rate of the artificial neural network.

실시 예에 있어서, 잡음 증폭기는 개루프(Open-loop) 방식 또는 폐루프(Closed-loop) 방식으로 구현될 수 있다.In an embodiment, the noise amplifier may be implemented in an open-loop or closed-loop fashion.

실시 예에 있어서, 비교기는 플러스 단자 및 마이너스 단자를 포함하고, 플러스 단자를 통해 뉴런으로 입력되는 신호들이 합산된 결과를 수신하고, 마이너스 단자를 통해 증폭된 열잡음을 수신할 수 있다.In an embodiment, the comparator includes a plus terminal and a minus terminal, receives the summed result of the signals input to the neuron through the plus terminal, and receives the amplified thermal noise through the minus terminal.

실시 예에 있어서, 비교기의 개수는 하나 이상이고, 복수의 비교기들은 잡음 증폭기를 공유할 수 있다.In an embodiment, the number of comparators is one or more, and the plurality of comparators may share a noise amplifier.

실시 예에 있어서, 인공 뉴런은 복수의 비교기 중 하나를 포함할 수 있다.In an embodiment, the artificial neuron may comprise one of a plurality of comparators.

위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 상술한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.The above description is a concrete example for carrying out the present invention. The present invention includes not only the above-described embodiments, but also embodiments that can be simply modified or easily changed. In addition, the present invention includes techniques that can be easily modified by using the above-described embodiments.

10, 1000: 인공 신경망
11: 입력층
12: 은닉층
13: 출력층
100: 인공 뉴런
110: 합산 회로
120: 활성 함수 회로
200: 시그모이드 함수 회로
210: 잡음 증폭기
220: 비교기
10, 1000: artificial neural network
11: input layer
12: Hiding layer
13: Output layer
100: artificial neuron
110: summing circuit
120: active function circuit
200: sigmoid function circuit
210: Noise Amplifier
220: comparator

Claims (1)

인공 신경망에서 사용되는 시그모이드(Sigmoid) 함수 회로에 있어서,
저항에서 발생하는 열잡음을 증폭하는 잡음 증폭기; 및
상기 증폭된 열잡음을 각각 수신하는 복수의 비교기를 포함하되,
상기 복수의 비교기 중 적어도 하나는 클럭의 상승 엣지 또는 하강 엣지에서 상기 증폭된 열잡음과 상기 인공 신경망의 인공 뉴런으로 입력되는 신호들이 합산된 결과를 비교하는 시그모이드 함수 회로.
In a sigmoid function circuit used in an artificial neural network,
A noise amplifier for amplifying thermal noise generated in the resistor; And
And a plurality of comparators each receiving the amplified thermal noise,
Wherein at least one of the plurality of comparators compares the summed result of the signals input to the artificial neuron of the artificial neural network with the amplified thermal noise at a rising edge or a falling edge of the clock.
KR1020170008872A 2017-01-18 2017-01-18 Sigmoid function circuit used in an artificial neural network KR20180085422A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170008872A KR20180085422A (en) 2017-01-18 2017-01-18 Sigmoid function circuit used in an artificial neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170008872A KR20180085422A (en) 2017-01-18 2017-01-18 Sigmoid function circuit used in an artificial neural network

Publications (1)

Publication Number Publication Date
KR20180085422A true KR20180085422A (en) 2018-07-27

Family

ID=63078402

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170008872A KR20180085422A (en) 2017-01-18 2017-01-18 Sigmoid function circuit used in an artificial neural network

Country Status (1)

Country Link
KR (1) KR20180085422A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324503A (en) * 2018-08-28 2019-02-12 南京理工大学 Multilayer neural network electric system control method based on robust integral
KR20210141090A (en) * 2020-05-15 2021-11-23 연세대학교 산학협력단 Artificial neural network system using phase change material

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324503A (en) * 2018-08-28 2019-02-12 南京理工大学 Multilayer neural network electric system control method based on robust integral
KR20210141090A (en) * 2020-05-15 2021-11-23 연세대학교 산학협력단 Artificial neural network system using phase change material

Similar Documents

Publication Publication Date Title
JP6995131B2 (en) Method for forming resistance type processing unit array, resistance type processing unit array and hysteresis operation
US9779355B1 (en) Back propagation gates and storage capacitor for neural networks
JP6477924B2 (en) Memristor neuromorphological circuit and method for training memristor neuromorphological circuit
US20200053299A1 (en) Image sensor with analog sample and hold circuit control for analog neural networks
US8959040B1 (en) Spike timing dependent plasticity apparatus, system and method
US20200012924A1 (en) Pipelining to improve neural network inference accuracy
Rosenthal et al. A fully analog memristor-based neural network with online gradient training
JP6647429B2 (en) Analog electronic neural network
US9721332B2 (en) Spike domain convolution circuit
KR101965850B1 (en) A stochastic implementation method of an activation function for an artificial neural network and a system including the same
Tang et al. A multilayer neural network merging image preprocessing and pattern recognition by integrating diffusion and drift memristors
RoyChowdhury et al. Dynamic tunneling technique for efficient training of multilayer perceptrons
Yeo et al. Stochastic implementation of the activation function for artificial neural networks
KR20180085422A (en) Sigmoid function circuit used in an artificial neural network
Bertuletti et al. A multilayer neural accelerator with binary activations based on phase-change memory
Xue et al. Hybrid neuromorphic hardware with sparing 2D synapse and CMOS neuron for character recognition
Tripathi et al. Analog neuromorphic system based on multi input floating gate mos neuron model
US11574176B2 (en) Artificial neural networks
Yanguas-Gil et al. The insect brain as a model system for low power electronics and edge processing applications
Yeo et al. A power and area efficient CMOS stochastic neuron for neural networks employing resistive crossbar array
Gi et al. A ReRAM-based convolutional neural network accelerator using the analog layer normalization technique
James et al. Inference dropouts in binary weighted analog memristive crossbar
Lu et al. An on-chip BP learning neural network with ideal neuron characteristics and learning rate adaptation
Li et al. A 0.7 v low-power fully programmable gaussian function generator for brain-inspired gaussian correlation associative memory
KR20180070196A (en) Apparatus and method for recognizing an input information of neromorphic device