KR20230054136A - Neuromorphic Hardware - Google Patents

Neuromorphic Hardware Download PDF

Info

Publication number
KR20230054136A
KR20230054136A KR1020210137764A KR20210137764A KR20230054136A KR 20230054136 A KR20230054136 A KR 20230054136A KR 1020210137764 A KR1020210137764 A KR 1020210137764A KR 20210137764 A KR20210137764 A KR 20210137764A KR 20230054136 A KR20230054136 A KR 20230054136A
Authority
KR
South Korea
Prior art keywords
stochastic
function
neuromorphic hardware
output
gate
Prior art date
Application number
KR1020210137764A
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 KR1020210137764A priority Critical patent/KR20230054136A/en
Publication of KR20230054136A publication Critical patent/KR20230054136A/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Abstract

The present invention relates to a neuromorphic hardware and specifically, relates to the neuromorphic hardware capable of probabilistic backpropagation learning. According to an embodiment of the present invention, an operation for probabilistic backpropagation learning can probabilistically be calculated through a probabilistic computing method of the neuromorphic hardware. The neuromorphic hardware comprises: a resistance memory array; and a probabilistic neuron array.

Description

뉴로모픽 하드웨어{ Neuromorphic Hardware}Neuromorphic Hardware { Neuromorphic Hardware}

본 발명은 뉴로모픽 하드웨어에 관한 것으로, 구체적으로는 확률론적 역전파 학습이 가능한 뉴로모픽 하드웨어에 관한 것이다.The present invention relates to neuromorphic hardware, and more specifically, to neuromorphic hardware capable of probabilistic backpropagation learning.

인식, 이미지 인식, 음성 인식, 얼굴 인식과 같은 다양한 분야에서 사용될 수 있다. 인공 신경망은 초고밀도집적회로(Very Large Scale Integrated circuit; VLSI)에서 구현될 수 있다. 생물학의 신경망과 유사하게 인공 신경망은 시냅스 및 인공 뉴런을 포함할 수 있다.It can be used in various fields such as recognition, image recognition, voice recognition, and face recognition. An artificial neural network may be implemented in a Very Large Scale Integrated Circuit (VLSI). Similar to biological neural networks, artificial neural networks can include synapses and artificial neurons.

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

종래의 기술에 따른 인공 신경망은 외부의 프로세서에서 학습을 진행하고, 학습이 완료된 가중치 맵 을 추출해 저항메모리 어레이에 적용하는 현지외 학습(ex-situ training), 전이 학습(transfer learning) 방법을 사용하였다.The artificial neural network according to the prior art uses ex-situ training and transfer learning methods in which learning is performed in an external processor, and a weight map after learning is completed is extracted and applied to a resistance memory array. .

하지만, 종래의 기술에 따른 전이 학습은 전이 과정에서의 오류가 분류 오류에 직접적으로 영향을 끼치기 때문에, 프로그램밍에 사용되는 회로의 정밀도가 높아지는 문제점이 있다.However, transfer learning according to the prior art has a problem in that accuracy of a circuit used for programming is increased because an error in a transition process directly affects a classification error.

1. 한국 공개특허공보 제10-2020-0001377 호 “뉴로모픽 프로세서 및 그것의 동작 방법”(공개일자: 2020년 1월 6일)1. Korean Patent Laid-open Publication No. 10-2020-0001377 "Neuromorphic Processor and Operation Method Thereof" (published on January 6, 2020)

본 발명은 역전파 학습에 필요한 시그모이드 함수와 시그모이드 미분 함수 모두를 생성하여, 확률론적 컴퓨팅을 이용하여 가중치 업데이트 양을 계산하는 뉴로모픽 하드웨어를 제공한다.The present invention provides neuromorphic hardware that generates both a sigmoid function and a sigmoid derivative function necessary for backpropagation learning and calculates a weight update amount using probabilistic computing.

본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problem to be achieved by the present invention is not limited to the above-mentioned technical problem, and other technical problems not mentioned can be clearly understood by those skilled in the art from the description below. There will be.

본 발명의 일 측면에 따르면, 뉴로모픽 하드웨어를 제공한다. According to one aspect of the present invention, neuromorphic hardware is provided.

본 발명의 일 실시예에 따른 뉴로모픽 하드웨어는 복수의 저항 메모리를 포함하는 저항 메모리 어레이; 및 상기 저항 메모리 어레이에 연결되는 확률론적 뉴런 어레이를 포함하고, 상기 확률론적 뉴런 어레이는 랜덤 신호를 생성하는 랜덤 넘버 발생기; 및 상기 랜덤 신호 및 가중치를 입력 받아 비교를 수행하는 복수의 확률론적 뉴런 회로를 포함할 수 있다.Neuromorphic hardware according to an embodiment of the present invention includes a resistive memory array including a plurality of resistive memories; and a stochastic neuron array connected to the resistive memory array, wherein the stochastic neuron array includes a random number generator generating a random signal; and a plurality of probabilistic neuron circuits receiving the random signals and weights and performing comparison.

본 발명의 실시예에 따르면, 뉴로모픽 하드웨어의 확률적 컴퓨팅 방법을 통해 확률론적 역전파 학습을 위한 연산을 확률적으로 계산할 수 있다.According to an embodiment of the present invention, an operation for stochastic backpropagation learning may be probabilistically calculated through a probabilistic computing method of neuromorphic hardware.

본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 설명 또는 청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.The effects of the present invention are not limited to the above effects, and should be understood to include all effects that can be inferred from the description of the present invention or the configuration of the invention described in the claims.

도1은 본 발명의 일 실시예에 따른 인공 신경망을 도시한 도면이다.
도 2는 도 1에 도시된 인공 뉴런을 예시적으로 보여주는 블록도이다.
도3은 본 발명의 일 실시예에 따른 뉴로모픽 하드웨어를 도시한 도면이다.
도4는 본 발명의 일 실시예에 따른 확률론적 뉴런 회로를 설명하기 위한 도면이다.
도 5및 도6은 본 발명의 일 실시예에 따른 시그모이드의 미분 함수 회로를 설명하기 위한 도면들이다.
도 7은 본 발명의 일 실시예에 따른 랜덤 넘버 발생기를 설명하기 위한 도면이다.
도 8 및 도9는 본 발명의 일 실시예에 따른 하이브리드 뉴런 회로를 설명하기 위한 도면들이다.
1 is a diagram illustrating an artificial neural network according to an embodiment of the present invention.
FIG. 2 is a block diagram showing an artificial neuron shown in FIG. 1 as an example.
3 is a diagram illustrating neuromorphic hardware according to an embodiment of the present invention.
4 is a diagram for explaining a stochastic neuron circuit according to an embodiment of the present invention.
5 and 6 are diagrams for explaining a sigmoid differential function circuit according to an embodiment of the present invention.
7 is a diagram for explaining a random number generator according to an embodiment of the present invention.
8 and 9 are diagrams for explaining a hybrid neuron circuit according to an embodiment of the present invention.

이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, the present invention will be described with reference to the accompanying drawings. However, the present invention may be embodied in many different forms and, therefore, is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결(접속, 접촉, 결합)"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.Throughout the specification, when a part is said to be "connected (connected, contacted, combined)" with another part, this is not only "directly connected", but also "indirectly connected" with another member in between. "Including cases where In addition, when a part "includes" a certain component, it means that it may further include other components without excluding other components unless otherwise stated.

본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

이하 첨부된 도면을 참고하여 본 발명의 실시예를 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도1은 본 발명의 일 실시예에 따른 인공 신경망을 도시한 도면이다.1 is a diagram illustrating an artificial neural network according to an embodiment of the present invention.

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

도1을 참조하면, 인경 신경망(Artificial Neural Network; ANN, 10)은 생물학의 신경망과 유사한 인공적으로 구성된 망을 의미한다. 도 1을 참조하면, 인공 신경망(10)은 입력층(input layer, 11), 은닉층(hidden layer, 12) 및 출력층(output layer, 13)을 포함할 수 있다.Referring to FIG. 1, an Artificial Neural Network (ANN, 10) refers to an artificially constructed network similar to a biological neural network. Referring to FIG. 1 , an artificial neural network 10 may include an input layer 11, a hidden layer 12, and an output layer 13.

입력층(11), 은닉층(12) 및 출력층(13)은 시냅스를 통해 서로 연결될 수 있다. 생물학적으로 시냅스는 신경세포와 다른 신경 세포 사이의 접합부를 의미한다. 유사하게 인공 신경망(10)에서 인공 뉴런과 다른 인공 뉴런은 시냅스를 통해 서로 결합될 수 있다.The input layer 11, the hidden layer 12, and the output layer 13 may be connected to each other through synapses. Biologically, a synapse is a junction between a neuron and another neuron. Similarly, artificial neurons and other artificial neurons in the artificial neural network 10 may be coupled to each other through synapses.

인공 신경망(10)은 복수의 인공 뉴런(100)을 포함할 수 있다. 복수의 인공 뉴런(100)은 외부로부터 입력 데이터(X1 ~ XI)를 수신하는 입력 뉴런, 입력 뉴런으로부터 데이터를 수신하고 이를 처리하는 은닉 뉴런, 그리고 은닉 뉴런으로부터 데이터를 수신하고 출력 데이터(Yi ~ YJ)를 생성하는 출력 뉴런을 포함할 수 있다.The artificial neural network 10 may include a plurality of artificial neurons 100 . The plurality of artificial neurons 100 include input neurons that receive input data (X1   to XI) from the outside, hidden neurons that receive data from the input neurons and process them, and receive data from the hidden neurons and output data (Yi   to YJ ) may include an output neuron that generates.

입력층(11)은 복수의 입력 뉴런을 포함할 수 있고, 은닉층(12)은 복수의 은닉 뉴런을 포함할 수 있고, 출력층(13)은 복수의 출력 뉴런을 포함할 수 있다. 여기서, 입력층(11), 은닉층(12), 길고 출력층(13) 각각에 포함된 인공 뉴런들의 개수는 도시된 바에 한정되지 않는다. 은닉층(12)은 도 1에서 도시된 것보다 더 많은 층들을 포함할 수 있고 상술한 층들의 개수는 인공 신경망(10)의 정확도나 학습 속도와 관련된다.The input layer 11 may include a plurality of input neurons, the hidden layer 12 may include a plurality of hidden neurons, and the output layer 13 may include 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 long output layer 13 is not limited to what is shown. The hidden layer 12 may include more layers than those shown in FIG. 1 , and the number of layers described above is related to the accuracy or learning speed of the artificial neural network 10 .

도 2는 도 1에 도시된 인공 뉴런을 예시적으로 보여주는 블록도이다.FIG. 2 is a block diagram showing an artificial neuron shown in FIG. 1 as an example.

도 2를 참조하면, 인공 뉴런(100)은 합산회로(summation circuit, 110) 및 활성 함수 회로(Activation function circuit, 120)를 포함할 수 있다.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)을 합산할 수 있다. 입력 신호들 각각은 임의의 인공 뉴런으로부터 생성된 출력신호를 나타낼 수 있다. 가중치들 각각의 시냅스의 강도(즉, 인공 뉴런과 다른 인공 뉴런과의 결합정도)를 나타낼 수 있다. 구체적으로 합산회로(110)는 가중치들과 입력 신호들을 각각 곱한 후, 곱셈 결과들을 합쳐 합산 결과(B)를 생성할 수 있다. 따라서, 가중치가 낮으면 해당 입력 신호는 합산 결과(B)에서 비중이 낮아지고, 가중치가 높으면 해당 입력 신호는 합산 결과(B)에서 비중이 높아진다. 합산 결과는 수학식 1로 나타낼 수 있다.The summing circuit 110 may sum the input signals A1 ˜ AK using the weights W1 ˜ WK. Each of the input signals may represent an output signal generated from any artificial neuron. The synaptic strength of each of the weights (ie, the degree of coupling between artificial neurons and other artificial neurons) may be indicated. In detail, the summing circuit 110 may multiply the weights and the input signals, respectively, and then combine the multiplication results to generate the summation result B. Therefore, if the weight is low, the corresponding input signal has a low weight in the summation result (B), and if the weight is high, the weight of the corresponding input signal is high in the summation result (B). The summation result can be expressed by Equation 1.

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

활성 함수 회로(120)는 합산 결과(B) 및 활성 함수(Activation function, f)를 이용해 활성 결과(C)를 출력할 수 있다. The activation function circuit 120 may output an activation result (C) using the summation result (B) and an activation function (f).

활성 함수는 뉴런 입력의 가중치 합을 파이어링 레이트(firing rate)의 확률로 변환한다. 활성 함수는 확률론적 컴퓨팅(stochastic computing)을 기반으로 하는 다양한 유형이 사용 될 수 있다.The activation function converts the weighted sum of neuron inputs into a probability of a firing rate. As the activation function, various types based on stochastic computing can be used.

본 발명에 따른 확률론적 (Stochastic computing) 뉴런 회로에서 확률론적 컴퓨팅에 사용되는 활성 함수에는 step, identity, rectified-linear(ReLU), 및 시그모이드(sigmoid) 등의 회로 기술이 사용 될 수 있다.In the stochastic computing neuron circuit according to the present invention, circuit technologies such as step, identity, rectified-linear (ReLU), and sigmoid may be used for the activation function used for stochastic computing.

예를 들어, 시그모이드 함수는 비선형 함수이고, 모든 입력에 대해 0부터 1사이의 값을 출력할 수 있다. 활성 결과(C, 즉 시그모이드 함수의 출력)는 시냅스를 통해 다른 인공 뉴런으로 전달될 수 있다. 즉, 활성 결과(C)는 다른 인공 뉴런의 입력이 될 수 있다For example, the sigmoid function is a non-linear function and can output a value between 0 and 1 for all inputs. The activation result (C, i.e. the output of the sigmoid function) can be transmitted to another artificial neuron via synapse. That is, the activation result (C) can be an input to another artificial neuron.

시그모이드 함수에 의한 활성 함수(f)의 활성 결과(C)는 수학식 2로 나타낼 수 있다.The activation result (C) of the activation function (f) by the sigmoid function can be expressed by Equation 2.

[수학식2][Equation 2]

Figure pat00002
Figure pat00002

본 발명에 사용되는 활성 함수는 시그모이드 미분 함수가 사용될 수 있다. 시그모이드 미분 함수는 이하 도 4에서 자세히 설명하도록 한다.As the activation function used in the present invention, a sigmoid differentiation function may be used. The sigmoid differentiation function will be described in detail with reference to FIG. 4 below.

도3은 본 발명의 일 실시예에 따른 뉴로모픽 하드웨어를 도시한 도면이다.3 is a diagram illustrating neuromorphic hardware according to an embodiment of the present invention.

도 3을 참조하면, 뉴로모픽 하드웨어는 저항 메모리(RERAM) 어레이, 확률론적 뉴런 어레이로 구성될 수 있다. Referring to FIG. 3 , the neuromorphic hardware may include a resistive memory (RERAM) array and a stochastic neuron array.

저항 메모리(RERAM) 어레이는 입력 데이터를 수신하여 확률론적 뉴런 어레이(Stochastic Neuron Array)로 전달할 수 있다. 저항 메모리(RERAM) 어레이는 복수의 저항 메모리(RERAM)의 연결로 구성될 수 있다.A resistive memory (RERAM) array can receive input data and pass it to a Stochastic Neuron Array. The resistive memory (RERAM) array may be configured by connecting a plurality of resistive memories (RERAM).

확률론적 뉴런 어레이는 증폭기(200), 확률론적 뉴런 회로(300), 랜덤 넘버 발생기(400)를 포함할 수 있다. The stochastic neuron array may include an amplifier 200 , a stochastic neuron circuit 300 , and a random number generator 400 .

확률론적 뉴런(stochastic neuron) 회로(300)는 저항 메모리(RERAM)에서 발생된 전류(current)들이 증폭기(200)와 커페시터로 이루어진 적분기(integrator)회로에 의해 더해져 전압(voltage)로 나타나고, 확률론적 뉴런 회로(300)의 노드(node)에 연결된다. 확률론적 뉴런 회로(300)의 반대쪽 노드(node)에는 랜덤 넘버 발생기(400)에 연결되어, 여러 번의 비교를 통해 전압의 적분값(integrator voltage)을 확률값으로 출력할 수 있다.In the stochastic neuron circuit 300, the currents generated in the resistive memory RERAM are added by an integrator circuit composed of the amplifier 200 and the capacitor to form a voltage, and the stochastic neuron circuit 300 It is connected to the node of the neuron circuit 300. A node opposite the stochastic neuron circuit 300 is connected to the random number generator 400, and through several comparisons, an integrator voltage of voltage may be output as a probability value.

랜덤 넘버 발생기(400)는 랜덤 신호를 생성하여 출력할 수 있다.The random number generator 400 may generate and output a random signal.

도4는 본 발명의 일 실시예에 따른 확률론적 뉴런 회로를 설명하기 위한 도면이다.4 is a diagram for explaining a stochastic neuron circuit according to an embodiment of the present invention.

도4(a)를 참조하면 확률론적 뉴런(stochastic neuron) 회로에서 출력(output)이 시그모이드(sigmoid)인 경우, 1개의 비교기(comparator, 210)와 랜덤 넘버 발생기(RNG:random number generator, 400)를 통해 포워드 벡터 매트릭스 곱(forward VMM:Vector Matrix Multiplication) 동작에 따른 추론(Inference)을 하기 수학식 3과 같이 수행할 수 있다.Referring to Figure 4 (a), when the output (output) of the stochastic neuron (stochastic neuron) circuit is sigmoid, one comparator (comparator, 210) and a random number generator (RNG: random number generator, 400), inference according to a forward vector matrix multiplication (VMM) operation can be performed as shown in Equation 3 below.

[수학식3][Equation 3]

Figure pat00003
Figure pat00003

Figure pat00004
Figure pat00004

Figure pat00005
Figure pat00005

이때, Y는 비교기의 출력 값, f는 시그모이드 함수일 수 있다.In this case, Y may be an output value of the comparator, and f may be a sigmoid function.

도 4(b)를 참조하면, 본 발명에 확률론적 뉴런(stochastic neuron) 회로는 두 개의 비교기(320,330)와 랜덤 넘버 발생기(RNG:random number generator), 제1 로직 게이트(logic gate)를 통해 시그모이드(sigmoid)의 미분 함수를 구현할 수 있다.Referring to FIG. 4(b), the stochastic neuron circuit of the present invention generates a signal signal through two comparators 320 and 330, a random number generator (RNG), and a first logic gate. You can implement the derivative function of the sigmoid.

비교기(comparator)는 인공 신경망에서 활성 함수에 대한 하드 임계 값(step)을 구현하기 위해 사용된다. 2 개의 비교기(320,330) 각각은 랜덤 넘버 발생기(400)로부터 독립적인 랜덤 신호(Seed#1, Seed#2)를 수신하여 결과값을 출력할 수 있다.Comparators are used to implement hard thresholds (steps) for activation functions in artificial neural networks. Each of the two comparators 320 and 330 may receive independent random signals Seed#1 and Seed#2 from the random number generator 400 and output result values.

랜덤 넘버 발생기(400)는 시그모이드 미분 함수(Sigmoid derivative function)의 구현을 위해서는 두개의 독립적인 랜덤 신호(Seed#1, Seed#2)를 출력할 수 있다.The random number generator 400 may output two independent random signals (Seed#1, Seed#2) to implement a sigmoid derivative function.

제1로직 게이트는 2개의 비교기(320,330) 각각으로부터 수신한 출력값(Y1, Y2)을 배타적 논리합 연산하는 XOR 게이트와 XOR 게이트의 출력값과 N비트의 신호를 논리곱 연산하는 제1 AND 게이트를 포함할 수 있다.The first logic gate may include an XOR gate that performs an exclusive OR operation on the output values Y1 and Y2 received from the two comparators 320 and 330, respectively, and a first AND gate that performs a AND operation between the output value of the XOR gate and an N-bit signal. can

확률론적 뉴런(stochastic neuron) 회로에서 시그모이드 미분 함수에 따른 학습(Training) 은 하기 수학식4 과 같이 수행할 수 있다.Training according to the sigmoid differential function in a stochastic neuron circuit can be performed as shown in Equation 4 below.

[수학식 4][Equation 4]

Figure pat00006
Figure pat00006

Figure pat00007
Figure pat00007

Figure pat00008
Figure pat00008

Figure pat00009
Figure pat00009

Figure pat00010
Figure pat00010

여기서, 각 비교기의 출력값 Y1, Y2는 독립적인 값일 수 있고, N은 비교기(Comparator)의 전환(conversion) 횟수이다.Here, the output values Y1 and Y2 of each comparator may be independent values, and N is the number of conversions of the comparator.

도 5및 도6은 본 발명의 일 실시예에 따른 시그모이드의 미분 함수 회로를 설명하기 위한 도면들이다.5 and 6 are diagrams for explaining a sigmoid differential function circuit according to an embodiment of the present invention.

도 5 및 도 6을 참조하면, 확률론적 컴퓨팅(stochastic computing)의 역전파(Back-propagation) 학습에서 학습에 필요한 시그모이드(sigmoid), 시그모이드 미분(sigmoid derivative) 함수를 확률론적 뉴런(stochastic neuron)으로 생성할 수 있다. 이를 통해 확률론적 컴퓨팅(stochastic computing)을 이용하여 가중치 업데이트(weight update)양을 하기 수학식 5와 같이 계산할 수 있다.Referring to FIGS. 5 and 6, in back-propagation learning of stochastic computing, the sigmoid and sigmoid derivative functions required for learning are stochastic neurons ( stochastic neurons). Through this, the weight update amount can be calculated as shown in Equation 5 using stochastic computing.

[수학식 5][Equation 5]

Figure pat00011
Figure pat00011

Figure pat00012
, when j =hidden layer
Figure pat00012
, when j = hidden layer

Figure pat00013
, when j =output layer
Figure pat00013
, when j = output layer

여기서

Figure pat00014
W는 가중치 업데이트 양이고,
Figure pat00015
은 학습률(learning rate)을 나타낸다.here
Figure pat00014
W is the weight update amount,
Figure pat00015
represents the learning rate.

확률론적 뉴런(stochastic neuron)는 각 레이어(Layer)에서 같은 타이밍(timing)에 생성되는 확률론적 출력(stochastic output)을 제2 로직 게이트(logic gate)를 통과해 복잡한 역전파(Back-propagation) 연산을 확률적으로 계산할 수 있다.A stochastic neuron performs a complex back-propagation operation by passing a stochastic output generated at the same timing in each layer through a second logic gate. can be calculated probabilistically.

도6에 도시된 바와 같이 확률론적 출력(stochastic output)에 사용되는 레이어(Layer)는 제1 레이어인 이전 레이어(Pre-layer, 610), 제2 레이어인 현재 레이어(Current layer, 620), 제3 레이어인 다음 레이어(Post layer, 630)을 포함할 수 있다.As shown in FIG. 6, the layers used for stochastic output include the first layer, the previous layer (Pre-layer, 610), the second layer, the current layer (620), and the second layer. It may include a third layer, the next layer (Post layer, 630).

확률론적 뉴런(stochastic neuron)의 역전파(Back-propagation) 학습에서 이전 레이어(Pre-layer)는 활성 함수로 시그모이드 함수가 사용되고, 현재 레이어(Current layer)는 활성 함수로 시그모이드 미분 함수가 사용되고, 다음 레이어(Post layer)는 활성 함수로 선형 함수가 사용될 수 있다.In back-propagation learning of stochastic neurons, the sigmoid function is used as the activation function in the pre-layer, and the sigmoid differentiation function is used in the current layer as the activation function. is used, and a linear function may be used as an activation function in the next layer (Post layer).

이때, 이전 레이어 출력(Pre-layer Output)은 이전 레이어(610)에서 포워드 패스의 시그모이드 함수(Forward, sigmoid)에 따른 출력값(

Figure pat00016
) 일 수 있다. 현재 레이어 입력(Current layer Input)은 현재 레이어(620)에서 포워드 패스의 시그모이드 미분 함수(Fowerd, sigmoid-Derivative)에 따른 입력값
Figure pat00017
일 수 있다. 다음 레이어 입력(Post layer Input)은 다음 레이어(630)에서 백워드 패스의 선형함수(Backward, Linear)에 따른 입력값(
Figure pat00018
) 일 수 있다.At this time, the previous layer output (Pre-layer Output) is an output value according to the sigmoid function (Forward, sigmoid) of the forward pass in the previous layer 610 (
Figure pat00016
) can be The current layer input is an input value according to the sigmoid derivative function (Fowerd, sigmoid-Derivative) of the forward pass in the current layer 620
Figure pat00017
can be The next layer input (Post layer Input) is an input value according to the linear function (Backward, Linear) of the backward pass in the next layer 630 (
Figure pat00018
) can be

실시예에 따라, 제2로직 게이트(logic gate)는 이전 레이어 출력(

Figure pat00019
)과 현재 레이어 입력
Figure pat00020
이 입력되는 제2 AND 게이트(640), 제2 AND 게이트 출력 값, 다음 레이어 입력 (
Figure pat00021
) 내지 학습률(
Figure pat00022
)이 입력되는 제3 AND 게이트(650)를 포함하고, 제3 AND 게이트(650)는 가충치 업데이트양(
Figure pat00023
W)을 출력할 수 있다.According to an embodiment, the second logic gate outputs the previous layer (
Figure pat00019
) and the current layer input
Figure pat00020
The second AND gate 640 input, the second AND gate output value, and the next layer input (
Figure pat00021
) to learning rate (
Figure pat00022
) is input, and the third AND gate 650 includes a value update amount (
Figure pat00023
W) can be output.

도 7은 본 발명의 일 실시예에 따른 랜덤 넘버 발생기를 설명하기 위한 도면이다. 7 is a diagram for explaining a random number generator according to an embodiment of the present invention.

도 7(a)를 참조하면, 확률론적 뉴런(stochastic neuron) 회로에서 시그모이드 미분 함수(Sigmoid derivative function) 구현을 위해서는 개의 독립적인 랜덤 신호(independent random signal)가 입력될 수 있다. 이를 위해, 랜덤 넘버 발생기(RNG)는 하나의 랜덤 넘버 발생기 시드(RNG Seed)에서 간단한 회로를 이용해 두개의 랜덤 넘버발생기 시드(seed#1, seed#2)를 생성할 수 있다.Referring to FIG. 7(a), in order to implement a sigmoid derivative function in a stochastic neuron circuit, two independent random signals may be input. To this end, the random number generator (RNG) can generate two random number generator seeds (seed#1, seed#2) from one random number generator seed (RNG Seed) using a simple circuit.

랜덤 넘버 발생기 시드(RNG Seed,700)는 XOR 기반 LFSR에는 두 개의 N 비트가 입력되어 각각 MSB와 LSB의 두 그룹으로 나뉠 수 있다. 두 그룹은 각각 풀 애더(full adder)를 통해 각각 잘린 LSB(LSB Truncated)를 생성할 수 있다. 이후, 생성된 각각의 잘린 LSB(LSB Truncated)을 풀 애더(full adder)를 최종 잘린 LSB(LSB Truncated)를 출력할 수 있다.The random number generator seed (RNG Seed, 700) can be divided into two groups of MSB and LSB by inputting two N bits to the XOR-based LFSR. Both groups can each generate a truncated LSB (LSB Truncated) through a full adder. Thereafter, a full adder of each generated truncated LSB (LSB Truncated) may be output as a final truncated LSB (LSB Truncated).

최종 잘린 최종 잘린 LSB(LSB Truncated)는 가우시안 분리를 통해 MUX에 입력되고, 2개의 LSB 중 어느 하나가 유니폼 분리를 통해 MUX에 입력될 수 있다. MUX는 DAC에 적용되는 임의의 비트 스트림 유형을 제어하여 Resistive DAC(RDAC)에 출력할 수 있다.The final truncated LSB (LSB Truncated) is input to the MUX through Gaussian separation, and either one of the two LSBs may be input to the MUX through uniform separation. The MUX can control any type of bit stream applied to the DAC and output to the Resistive DAC (RDAC).

도 7(b)를 참조하면, 랜덤 넘버 발생기(400)는 LFSR 로직으로부터 출력되는 2개의 비트(D-Bit1,D-Bit2) 중 어느 하나를 제1 Uniform SNG, 나머지 하나를 제1 가우시안 SNG로 하는 제1 시드(Seed#1)를 생성할 수 있다.Referring to FIG. 7 (b), the random number generator 400 converts one of the two bits (D-Bit1 and D-Bit2) output from the LFSR logic into a first Uniform SNG and the other into a first Gaussian SNG. A first seed (Seed#1) may be generated.

또한, 랜덤 넘버 발생기(400)는 LFSR 로직으로부터 출력되는 2개의 비트(D-Bit1,D-Bit2)를 원형 쉬프터(Circular Shifter)에 입력하고, 원형 쉬프터로부터 출력되는 2개의 비트(D-Bit1',D-Bit2') 중 어느 하나를 제2 Uniform SNG, 나머지 하나를 제2 가우시안 SNG로 하는 제2 시드(Seed#1)를 생성할 수 있다.In addition, the random number generator 400 inputs two bits (D-Bit1, D-Bit2) output from the LFSR logic to a circular shifter, and two bits (D-Bit1') output from the circular shifter , D-Bit2') may be used to generate a second seed (Seed#1) in which one is the second Uniform SNG and the other is the second Gaussian SNG.

도 8 및 도9는 본 발명의 일 실시예에 따른 하이브리드 뉴런 회로를 설명하기 위한 도면들이다. 8 and 9 are diagrams for explaining a hybrid neuron circuit according to an embodiment of the present invention.

도 8에 도시된 바와 같이, 하이브리드(hybrid) 뉴런 회로는 확률론적 뉴런(stochastic neuron) 뿐만 아니라 전이 학습(transfer learning) 시 높은 정밀도(precision)을 갖는 단일 슬로프 아날로그 디지털 컨버터(single slope ADC)로 동작하는 회로일 수 있다.As shown in FIG. 8, the hybrid neuron circuit operates not only as a stochastic neuron but also as a single slope ADC with high precision during transfer learning. It may be a circuit that

하이브리드(hybrid) 뉴런 회로는 추론 및 실시간 학습 모드(Inference & In-situ Learning Mode)와 전이 학습 모드(Transfer Learning Mode)를 수행할 수 있다.A hybrid neuron circuit may perform an inference & in-situ learning mode and a transfer learning mode.

도8(a)를 참조하면, 추론 및 실시간 학습 모드(Inference & In-situ Learning Mode)인 경우, 하이브리드(hybrid) 뉴런 회로(810)는 랜덤 신호(random signal)를 이용하여 확률론적 뉴런(stochastic neuron)으로 동작할 수 있다.Referring to FIG. 8(a), in the case of inference & in-situ learning mode, a hybrid neuron circuit 810 uses a random signal to generate stochastic neurons. neurons) can act.

실시예에 따라, 하이브리드(hybrid) 뉴런 회로(810)는 저항 메모리 어레이로부터 수신한 가중치(W)의 합을 활성화 함수를 통해 추론 및 실시간 학습 결과를 출력할 수 있다.According to an embodiment, the hybrid neuron circuit 810 may infer the sum of weights W received from the resistive memory array through an activation function and output a real-time learning result.

도8(b)를 참조하면, 하이브리드(hybrid) 뉴런 회로(820)는 전이 학습 모드(Transfer Learning Mode)인 경우, 램프 신호(ramp signal)를 사용하여 단일 슬로프 아날로그 디지털 컨버터 (single slope ADC)로 동작할 수 있다.Referring to FIG. 8 (b), the hybrid neuron circuit 820 is a single slope analog-to-digital converter using a ramp signal in the transfer learning mode. It can work.

실시예에 따라, 하이브리드(hybrid) 뉴런 회로(820)는 저항 메모리 어레이로부터 수신한 타겟(Target) 신호(

Figure pat00024
)를 아날로그-디지털[A/D] 변환부로 입력되어 현재 신호(
Figure pat00025
)를 출력할 수 있다. 이때, 현재 신호는 1-Wirte pulse 와 1-Read pulse를 포함할 수 있다. According to an embodiment, the hybrid neuron circuit 820 is a target signal received from the resistive memory array (
Figure pat00024
) is input to the analog-digital [A/D] conversion unit and the current signal (
Figure pat00025
) can be output. At this time, the current signal may include 1-Wirte pulse and 1-Read pulse.

이후, 하이브리드(hybrid) 뉴런 회로(820)는 전이 학습 모드에 따른 출력 값을 계산할 수 있다. 하이브리드(hybrid) 뉴런 회로(820)는 현재 신호(

Figure pat00026
)와 타겟 신호(
Figure pat00027
)과 동일한지 판단할 수 있다. 하이브리드(hybrid) 뉴런 회로(820)는 현재 신호(
Figure pat00028
)와 타겟 신호(
Figure pat00029
)과 동일한 경우, 현재 신호(
Figure pat00030
)를 다음 셀로 출력할 수 있다.Then, the hybrid neuron circuit 820 may calculate an output value according to the transfer learning mode. The hybrid neuron circuit 820 is a current signal (
Figure pat00026
) and the target signal (
Figure pat00027
) can be judged to be the same as The hybrid neuron circuit 820 is a current signal (
Figure pat00028
) and the target signal (
Figure pat00029
), the current signal (
Figure pat00030
) to the next cell.

한편, 하이브리드(hybrid) 뉴런 회로(820)는 현재 신호(

Figure pat00031
)와 타겟 신호(
Figure pat00032
)과 동일하지 않은 경우, 현재 신호(
Figure pat00033
)를 아날로그-디지털[A/D] 변환부로 입력할 수 있다.On the other hand, the hybrid neuron circuit 820 is a current signal (
Figure pat00031
) and the target signal (
Figure pat00032
), the current signal (
Figure pat00033
) can be input to the analog-digital [A/D] conversion unit.

도 9는 하이브리드 뉴런 회로에 포함되는 랜덤 및 램프 신호 발생기(random & ramp signal generator)를 나타낸다.9 shows a random & ramp signal generator included in the hybrid neuron circuit.

도 9를 참조하면, 랜덤 및 램프 신호 발생기는 확률론적 뉴런(stochastic neuron)으로 동작하는 경우, 2개의 LFSR로부터 풀 애더(full adder) 동작을 통해 잘린 LSB(LSB Truncated)을 생성하고, MUX와 DAC을 통해 랜덤 신호(Random Signal)로 생성할 수 있다. Referring to FIG. 9, when the random and ramp signal generator operates as a stochastic neuron, a truncated LSB (LSB Truncated) is generated from two LFSRs through a full adder operation, and the MUX and DAC It can be generated as a random signal through

랜덤 및 램프 신호 발생기는 단일 슬로프 아날로그 디지털 컨버터(single slope adc)로 동작하는 경우, 1개의 카운터로부터 수신한 신호를 MUX와 DAC을 통해 램프 신호(Ramp Signal)로 생성할 수 있다.When the random and ramp signal generator operates as a single slope analog-to-digital converter, a signal received from one counter can be generated as a ramp signal through a MUX and a DAC.

상술한 확률론적 역전파 학습 방법은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The above-described probabilistic backpropagation learning method may be implemented as computer readable code on a computer readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded on the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet, installed in the other computing device, and thus used in the other computing device.

이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though all the components constituting the embodiment of the present invention have been described as being combined or operated as one, the present invention is not necessarily limited to these embodiments. That is, within the scope of the object of the present invention, all of the components may be selectively combined with one or more to operate.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시 예 들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although actions are shown in a particular order in the drawings, it should not be understood that the actions must be performed in the specific order shown or in a sequential order, or that all shown actions must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be understood as requiring such separation, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is

이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been looked at mainly by its embodiments. Those skilled in the art to which the present invention pertains will be able to understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from a descriptive point of view rather than a limiting point of view. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the equivalent scope will be construed as being included in the present invention.

10: 인공 신경망
100: 인공 뉴런
110: 합산회로
120: 활성 함수 회로
200: 증폭기
300: 확률론적 뉴런 회로
400: 랜덤 넘버 발생기
10: artificial neural networks
100: artificial neuron
110: summing circuit
120 active function circuit
200: amplifier
300: stochastic neuron circuit
400: random number generator

Claims (8)

복수의 저항 메모리를 포함하는 저항 메모리 어레이; 및
상기 저항 메모리 어레이에 연결되는 확률론적 뉴런 어레이를 포함하고,
상기 확률론적 뉴런 어레이는
랜덤 신호를 생성하는 랜덤 넘버 발생기; 및
상기 랜덤 신호 및 가중치를 입력 받아 비교를 수행하는 복수의 확률론적 뉴런 회로를 포함하는
뉴로모픽 하드웨어.
a resistive memory array comprising a plurality of resistive memories; and
a stochastic neuron array coupled to the resistive memory array;
The stochastic neuron array
a random number generator for generating a random signal; and
Including a plurality of stochastic neuron circuits for performing comparison by receiving the random signal and weights
Neuromorphic hardware.
제1 항에 있어서,
상기 확률론적 뉴런 회로는
상기 랜덤 넘버 발생기로부터 독립적인 랜덤 신호를 각각 수신하는 2개의 비교기;
상기 2개의 비교기로부터 수신한 출력값을 배타적 논리합 연산하는 XOR 게이트; 및
상기 XOR 게이트의 출력값과 N 비트의 신호를 논리곱 연산하는 제1 AND 게이트를 포함하는
뉴로모픽 하드웨어.
According to claim 1,
The stochastic neuron circuit is
two comparators each receiving independent random signals from the random number generator;
an XOR gate for performing an exclusive OR operation on the output values received from the two comparators; and
A first AND gate for performing an AND operation of the output value of the XOR gate and an N-bit signal
Neuromorphic hardware.
제2항에 있어서,
상기 확률론적 뉴런 회로는
시그모이드 미분 함수를 활성 함수로 생성하는
뉴로모픽 하드웨어.
According to claim 2,
The stochastic neuron circuit is
generating a sigmoid derivative function as an activation function.
Neuromorphic hardware.
제3항에 있어서,
상기 확률론적 뉴런 어레이는
상기 시그모이드 미분 함수에 따른 확률론적 컴퓨팅을 이용하여 가중치 업데이트 양을 계산하는
뉴로모픽 하드웨어.
According to claim 3,
The stochastic neuron array
Calculating the weight update amount using stochastic computing according to the sigmoid differentiation function
Neuromorphic hardware.
제4항에 있어서,
상기 확률론적 뉴런 어레이는
시그모이드 함수를 활성 함수로 사용하는 이전 레이어;
상기 시그모이드 미분 함수를 활성 함수로 사용하는 현재 레이어;
선형 함수를 활성함수로 사용하는 다음 레이어; 및
각각의 레이어에서 생성되는 확률론적 출력을 역전파 연산으로 확률적으로 계산하는 로직 게이트를 포함하는
뉴로모픽 하드웨어.
According to claim 4,
The stochastic neuron array
previous layer using the sigmoid function as the activation function;
a current layer using the sigmoid differentiation function as an activation function;
The next layer uses a linear function as an activation function; and
Including a logic gate that stochastically calculates the stochastic output generated in each layer by backpropagation operation
Neuromorphic hardware.
제5항에 있어서,
상기 로직 게이트는
상기 이전 레이어의 출력과 상기 현재 레이어의 입력을 입력받는 제2 AND 게이트; 및
상기 제2 AND 게이트의 출력, 상기 다음 레이어의 입력 내지 학습률을 입력받는 제3 AND 게이트를 포함하고,
상기 제3 AND 게이트는 상기 가중치 업데이트 양을 출력하는
뉴로모픽 하드웨어.
According to claim 5,
The logic gate is
a second AND gate receiving an output of the previous layer and an input of the current layer; and
A third AND gate receiving an output of the second AND gate, an input of the next layer, or a learning rate;
The third AND gate outputs the weight update amount
Neuromorphic hardware.
제1항에 있어서,
램프 신호를 입력 받아 비교를 수행하는 단일 슬로프 아날로그 디지털 컨버터를 더 포함하는
뉴로모픽 하드웨어.
According to claim 1,
Further comprising a single slope analog-to-digital converter that receives the ramp signal and performs comparison
Neuromorphic hardware.
제1항에 있어서,
상기 단일 슬로프 아날로그 디지털 컨버터는
전이 학습 모드에 따른 출력 값을 계산하는
뉴로모픽 하드웨어.
According to claim 1,
The single slope analog-to-digital converter
Calculate the output value according to the transfer learning mode
Neuromorphic hardware.
KR1020210137764A 2021-10-15 2021-10-15 Neuromorphic Hardware KR20230054136A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210137764A KR20230054136A (en) 2021-10-15 2021-10-15 Neuromorphic Hardware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210137764A KR20230054136A (en) 2021-10-15 2021-10-15 Neuromorphic Hardware

Publications (1)

Publication Number Publication Date
KR20230054136A true KR20230054136A (en) 2023-04-24

Family

ID=86141737

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210137764A KR20230054136A (en) 2021-10-15 2021-10-15 Neuromorphic Hardware

Country Status (1)

Country Link
KR (1) KR20230054136A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200001377A (en) 2018-06-27 2020-01-06 포항공과대학교 산학협력단 Neuromorphic processor and operating method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200001377A (en) 2018-06-27 2020-01-06 포항공과대학교 산학협력단 Neuromorphic processor and operating method thereof

Similar Documents

Publication Publication Date Title
US11348002B2 (en) Training of artificial neural networks
Sharma et al. Activation functions in neural networks
CN111656368B (en) Hardware accelerated discrete neural network
CN108009640B (en) Training device and training method of neural network based on memristor
US20200012924A1 (en) Pipelining to improve neural network inference accuracy
Karlik et al. Performance analysis of various activation functions in generalized MLP architectures of neural networks
US9129220B2 (en) Methods and systems for digital neural processing with discrete-level synapes and probabilistic STDP
US6009418A (en) Method and apparatus for neural networking using semantic attractor architecture
US11531898B2 (en) Training of artificial neural networks
WO2018228424A1 (en) Method and device for training neural network
US11188815B2 (en) Weight shifting for neuromorphic synapse array
US20220058492A1 (en) Delta-sigma modulation neurons for high-precision training of memristive synapses in deep neural networks
Kan et al. Simple reservoir computing capitalizing on the nonlinear response of materials: theory and physical implementations
Liu et al. A memristor-based neuromorphic engine with a current sensing scheme for artificial neural network applications
US11386319B2 (en) Training of artificial neural networks
US20210383203A1 (en) Apparatus and method with neural network
Pronin et al. Creating Quantum Circuits for Training Perceptron Neural Networks on the Principles of Grover's Algorithm
KR20230054136A (en) Neuromorphic Hardware
Kumar et al. Neural networks and fuzzy logic
CN114861902A (en) Processing unit, operation method thereof and computing chip
Pandey et al. Analysis of randomized performance of bias parameters and activation function of extreme learning machine
US20220101142A1 (en) Neural network accelerators resilient to conductance drift
Balagopal et al. Flash based in-memory multiply-accumulate realisation: A theoretical study
Bohnstingl et al. Accelerating spiking neural networks using memristive crossbar arrays
Yan et al. CQ $^{+} $ Training: Minimizing Accuracy Loss in Conversion from Convolutional Neural Networks to Spiking Neural Networks

Legal Events

Date Code Title Description
E902 Notification of reason for refusal