KR20220076271A - Circuit for implementing simplified sigmoid function and neuromorphic processor including the circuit - Google Patents

Circuit for implementing simplified sigmoid function and neuromorphic processor including the circuit Download PDF

Info

Publication number
KR20220076271A
KR20220076271A KR1020210069870A KR20210069870A KR20220076271A KR 20220076271 A KR20220076271 A KR 20220076271A KR 1020210069870 A KR1020210069870 A KR 1020210069870A KR 20210069870 A KR20210069870 A KR 20210069870A KR 20220076271 A KR20220076271 A KR 20220076271A
Authority
KR
South Korea
Prior art keywords
circuit
input data
sigmoid function
coefficient
simplified
Prior art date
Application number
KR1020210069870A
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 US17/536,536 priority Critical patent/US20220172029A1/en
Publication of KR20220076271A publication Critical patent/KR20220076271A/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/08Learning methods
    • 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

Landscapes

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

Abstract

본 개시는 간소화된 시그모이드 함수 회로 및 이를 포함하는 뉴로모픽 프로세서에 대한 것으로, 본 개시에 따른 간소화된 시그모이드 함수 회로는 입력 데이터의 실수 영역에서의 부호가 양인 경우, 상기 입력 데이터에 대하여 간소화된 시그모이드 함수에 기반한 연산을 수행하는 제 1 회로, 상기 입력 데이터의 실수 영역에서의 부호가 음인 경우, 상기 입력 데이터에 대하여 상기 간소화된 시그모이드 함수에 기반한 연산을 수행하는 제 2 회로 및 상기 입력 데이터의 부호에 기반하여 상기 제 1 회로의 출력 및 상기 제 2 회로의 출력 중 어느 하나를 선택하여 출력하는 제 1 멀티플렉서를 포함하되, 상기 간소화된 시그모이드 함수는 실수 영역의 시그모이드 함수를 로그 영역의 시그모이드 함수로 변환하고, 상기 로그 영역의 시그모이드 함수를 변분 변환하여 도출된다.The present disclosure relates to a simplified sigmoid function circuit and to a neuromorphic processor including the same, wherein the simplified sigmoid function circuit according to the present disclosure provides an input data with a positive sign in the real area of the input data. a first circuit for performing an operation based on the simplified sigmoid function for A circuit and a first multiplexer for selecting and outputting any one of an output of the first circuit and an output of the second circuit based on a sign of the input data, wherein the simplified sigmoid function is a sig of a real domain It is derived by transforming the moid function into a sigmoid function of the logarithmic domain, and performing an incremental transformation of the sigmoid function of the logarithmic domain.

Description

간소화된 시그모이드 함수 회로 및 이를 포함하는 뉴로모픽 프로세서{CIRCUIT FOR IMPLEMENTING SIMPLIFIED SIGMOID FUNCTION AND NEUROMORPHIC PROCESSOR INCLUDING THE CIRCUIT}CIRCUIT FOR IMPLEMENTING SIMPLIFIED SIGMOID FUNCTION AND NEUROMORPHIC PROCESSOR INCLUDING THE CIRCUIT

본 개시는 인공지능(Artificial Intelligence, AI) 기술에 관한 것으로, 좀 더 상세하게는 인공신경망(Artificial Neural Network, ANN)에 사용되는 간소화된 시그모이드 함수 회로 및 이를 포함하는 뉴로모픽 프로세서에 관한 것이다.The present disclosure relates to artificial intelligence (AI) technology, and more particularly, to a simplified sigmoid function circuit used in an artificial neural network (ANN) and a neuromorphic processor including the same will be.

최근 4차 산업 혁명의 핵심 기술인 인공지능(Artificial Intelligence, AI) 기술에 대한 관심이 높아지고 있다. 인공지능이란, 인간의 지능을 기계, 시스템 등에 인공적으로 구현한 것으로, 인공신경망(Artificial Neural Network, ANN)으로 불리는 학습 알고리즘에 기반하여 구현될 수 있다. 인공신경망은 생물학의 신경망과 유사한 방식으로 데이터를 처리하는 통계학적인 망이다. 인공신경망은 문자 인식, 이미지 인식, 음성 인식, 얼굴 인식 등과 같은 다양한 분야에서 사용될 수 있다.Recently, interest in artificial intelligence (AI) technology, a core technology of the 4th industrial revolution, is increasing. Artificial intelligence refers to artificially implemented human intelligence in machines, systems, etc., and may be implemented based on a learning algorithm called an artificial neural network (ANN). Artificial neural networks are statistical networks that process data in a manner similar to neural networks in biology. Artificial neural networks can be used in various fields such as text recognition, image recognition, voice recognition, and face recognition.

기술의 발전에 따라, 인공신경망의 복잡도는 보다 증가하고, 인공신경망을 통하여 다뤄지는 데이터의 양과 종류가 방대해지면서, 인공신경망에 요구되는 연산량이 급격히 증가하였다. 연산량 증가에 따라 인공신경망의 데이터 처리 속도가 현저히 떨어지는 문제점을 해결하기 위하여, 연산량을 감소시키기 위한 텐서 분해법(Tensor Decomposition), 망 가지치기(Network Pruning), 양자화 등 다양한 방법이 제안되었으나, 연산량을 획기적으로 감소시키기에 어려움이 있다.With the development of technology, the complexity of artificial neural networks has increased, and as the amount and types of data handled through artificial neural networks have become vast, the amount of computation required for artificial neural networks has rapidly increased. In order to solve the problem that the data processing speed of the artificial neural network significantly decreases as the amount of computation increases, various methods such as tensor decomposition, network pruning, and quantization have been proposed to reduce the amount of computation. It is difficult to reduce to

본 개시는 인공신경망(Artificial Neural Network, ANN)에 사용되는 간소화된 시그모이드 함수 회로 및 이를 포함하는 뉴로모픽 프로세서를 제공하는 것을 목적으로 한다.An object of the present disclosure is to provide a simplified sigmoid function circuit used in an artificial neural network (ANN) and a neuromorphic processor including the same.

본 개시의 실시 예에 따른 간소화된 시그모이드 함수 회로는 입력 데이터의 실수 영역에서의 부호가 양인 경우, 상기 입력 데이터에 대하여 간소화된 시그모이드 함수에 기반한 연산을 수행하는 제 1 회로, 상기 입력 데이터의 실수 영역에서의 부호가 음인 경우, 상기 입력 데이터에 대하여 상기 간소화된 시그모이드 함수에 기반한 연산을 수행하는 제 2 회로 및 상기 입력 데이터의 부호에 기반하여 상기 제 1 회로의 출력 및 상기 제 2 회로의 출력 중 어느 하나를 선택하여 출력하는 제 1 멀티플렉서를 포함하되, 상기 간소화된 시그모이드 함수는 실수 영역의 시그모이드 함수를 로그 영역의 시그모이드 함수로 변환하고, 상기 로그 영역의 시그모이드 함수를 변분 변환하여 도출된다.A simplified sigmoid function circuit according to an embodiment of the present disclosure includes a first circuit that performs an operation based on the simplified sigmoid function on the input data when a sign in a real region of the input data is positive, the input When the sign in the real region of data is negative, a second circuit that performs an operation based on the simplified sigmoid function on the input data, and an output of the first circuit and the second circuit based on the sign of the input data A first multiplexer that selects and outputs one of the outputs of the two circuits, wherein the simplified sigmoid function converts a sigmoid function of a real domain into a sigmoid function of a log domain, and It is derived by transforming the sigmoid function.

예로서, 상기 제 1 회로는 상기 변분 변환을 위한 제 1 계수를 선택하는 제 2 멀티플렉서 및 상기 변분 변환을 위한 제 2 계수를 선택하는 제 3 멀티플렉서를 포함하고, 상기 제 2 회로는 상기 변분 변환을 위한 제 3 계수를 선택하는 제 4 멀티플렉서 및 상기 변분 변환을 위한 제 4 계수를 선택하는 제 5 멀티플렉서를 포함한다.As an example, the first circuit comprises a second multiplexer for selecting a first coefficient for the differential transformation and a third multiplexer for selecting a second coefficient for the differential transformation, wherein the second circuit performs the differential transformation a fourth multiplexer for selecting a third coefficient for

예로서, 상기 제 1 회로는 상기 입력 데이터의 크기와 상기 제 1 계수의 곱 연산을 수행하는 제 1 곱셈기 및 상기 입력 데이터의 크기와 상기 제 1 계수의 곱 엽산의 결과와 상기 제 2 계수의 합 연산을 수행하는 제 1 합산기를 더 포함하고, 상기 제 2 회로는 상기 입력 데이터의 크기와 상기 제 3 계수의 곱 연산을 수행하는 제 2 곱셈기 및 상기 입력 데이터의 크기와 상기 제 3 계수의 곱 연산의 결과와 상기 제 4 계수의 합 연산을 수행하는 제 2 합산기를 더 포함한다.For example, the first circuit may include a first multiplier configured to multiply the size of the input data and the first coefficient, and a result of the product of the size of the input data and the first coefficient and the result of folate and the second coefficient. and a first summer for performing an operation, wherein the second circuit includes a second multiplier for multiplying the size of the input data and the third coefficient, and a multiplication operation between the size of the input data and the third coefficient It further includes a second summer for performing a sum operation of the result and the fourth coefficient.

예로서, 상기 변분 변환은 상기 입력 데이터의 구간별 변분 변환을 통하여 근사화한 결과를 도출한다.For example, the differential transformation derives an approximated result through the differential transformation for each section of the input data.

본 개시의 실시 예에 따른 뉴로모픽 프로세서는 인공 신경망의 연산을 수행하기 위한 복수의 인공뉴런 구현 소자들을 포함하는 인공뉴런 구현 소자 어레이를 포함하되, 상기 복수의 인공뉴런 구현 소자들 각각은 입력 데이터와 가중치의 곱에 대한 합 연산을 수행하는 합산 회로 및 상기 합산 회로의 연산 결과로부터 활성 함수를 통한 활성 경과를 도출하는 활성 함수 회로를 포함하고, 상기 활성 함수는 실수 영역의 시그모이드 함수를 로그 영역의 시그모이드 함수로 변환하고, 상기 로그 영역의 시그모이드 함수를 변분 변환하여 도출된다.A neuromorphic processor according to an embodiment of the present disclosure includes an artificial neuron implementation element array including a plurality of artificial neuron implementation elements for performing an operation of an artificial neural network, wherein each of the plurality of artificial neuron implementation elements is input data and an activation function circuit for deriving an activation process through an activation function from an operation result of the addition circuit and a summation circuit for performing a sum operation on the product of and weights, wherein the activation function is a logarithmic sigmoid function of a real domain It is derived by transforming it into a sigmoid function of the domain, and performing an incremental transform on the sigmoid function of the log domain.

예로서, 상기 활성 함수 회로는 적어도 하나의 간소화된 시그모이드 함수 회로를 포함하고, 상기 적어도 하나의 간소화된 시그모이드 함수 회로는 입력 데이터의 실수 영역에서의 부호가 양인 경우, 상기 입력 데이터에 대하여 간소화된 시그모이드 함수에 기반한 연산을 수행하는 제 1 회로, 상기 입력 데이터의 실수 영역에서의 부호가 음인 경우, 상기 입력 데이터에 대하여 상기 간소화된 시그모이드 함수에 기반한 연산을 수행하는 제 2 회로 및 상기 입력 데이터의 부호에 기반하여 상기 제 1 회로의 출력 및 상기 제 2 회로의 출력 중 어느 하나를 선택하여 출력하는 제 1 멀티플렉서를 포함한다.As an example, the activation function circuit comprises at least one simplified sigmoid function circuit, wherein the at least one simplified sigmoid function circuit is configured to: a first circuit for performing an operation based on the simplified sigmoid function for and a first multiplexer for selecting and outputting one of an output of the first circuit and an output of the second circuit based on a circuit and a sign of the input data.

예로서, 상기 제 1 회로는 상기 입력 데이터의 크기와 상기 제 1 계수의 곱 연산을 수행하는 제 1 곱셈기 및 상기 입력 데이터의 크기와 상기 제 1 계수의 곱 엽산의 결과와 상기 제 2 계수의 합 연산을 수행하는 제 1 합산기를 더 포함하고, 상기 제 2 회로는 상기 입력 데이터의 크기와 상기 제 3 계수의 곱 연산을 수행하는 제 2 곱셈기 및 상기 입력 데이터의 크기와 상기 제 3 계수의 곱 연산의 결과와 상기 제 4 계수의 합 연산을 수행하는 제 2 합산기를 더 포함한다.For example, the first circuit may include a first multiplier configured to multiply the size of the input data and the first coefficient, and a result of the product of the size of the input data and the first coefficient and the result of folate and the second coefficient. and a first summer for performing an operation, wherein the second circuit includes a second multiplier for multiplying the size of the input data and the third coefficient, and a multiplication operation between the size of the input data and the third coefficient It further includes a second summer for performing a sum operation of the result and the fourth coefficient.

예로서, 상기 제 1 회로는 상기 변분 변환을 위한 제 1 계수를 선택하는 제 2 멀티플렉서 및 상기 변분 변환을 위한 제 2 계수를 선택하는 제 3 멀티플렉서를 포함하고, 상기 제 2 회로는 상기 변분 변환을 위한 제 3 계수를 선택하는 제 4 멀티플렉서 및 상기 변분 변환을 위한 제 4 계수를 선택하는 제 5 멀티플렉서를 포함한다.As an example, the first circuit comprises a second multiplexer for selecting a first coefficient for the differential transformation and a third multiplexer for selecting a second coefficient for the differential transformation, wherein the second circuit performs the differential transformation a fourth multiplexer for selecting a third coefficient for

예로서, 상기 변분 변환은 상기 입력 데이터의 구간별 변분 변환을 통하여 근사화한 결과를 도출한다.For example, the differential transformation derives an approximated result through the differential transformation for each section of the input data.

예로서, 본 개시에 따른 뉴로모픽 프로세서는 외부로부터 상기 입력 데이터를 수신하고, 상기 외부로 상기 입력 데이터에 대한 상기 인공 신경망의 연산 결과를 출력하는 입출력 유닛, 상기 입출력 유닛으로부터 상기 입력 데이터를 수신하고, 상기 입력 데이터를 전달하는 제어 로직 유닛, 상기 제어 로직 유닛으로부터 상기 인공뉴런 구현 소자 어레이에 상기 입력 데이터를 전달하는 워드 라인 바이어스 유닛, 상기 인공뉴런 구현 소자 어레이로부터 상기 입력 데이터에 대한 연산 결과를 검출하는 비트 라인 바이어스 및 검출 유닛을 더 포함한다.For example, the neuromorphic processor according to the present disclosure receives the input data from the outside, an input/output unit for outputting an operation result of the artificial neural network on the input data to the outside, and receives the input data from the input/output unit and a control logic unit that transfers the input data, a word line bias unit that transfers the input data from the control logic unit to the artificial neuron implementation element array, and an operation result on the input data from the artificial neuron implementation element array It further includes a bit line bias and detection unit for detecting.

예로서, 본 개시에 따른 뉴로모픽 프로세서는 상기 인공뉴런 구현 소자 어레이에 포함되는 복수의 인공뉴런 구현 소자들의 연결 관계에 대한 정보를 저장하는 비휘발성 메모리, 상기 인공뉴런 구현 소자 어레이로부터 검출된 상기 연산 결과를 저장하는 휘발성 메모리를 더 포함한다.For example, the neuromorphic processor according to the present disclosure may include a non-volatile memory that stores information on a connection relationship between a plurality of artificial neuron implementation elements included in the artificial neuron implementation element array, and the artificial neuron implementation element array detected from the array. It further includes a volatile memory for storing the operation result.

본 개시에 따른 간소화된 시그모이드 함수 회로 및 이를 포함하는 뉴로모픽 프로세서에 의하면, 실수 영역에서 연산이 이루어지는 시그모이드 함수를 로그 영역에서 처리함으로써 인공신경망의 연산량을 획기적으로 감소시킬 수 있다.According to the simplified sigmoid function circuit and the neuromorphic processor including the same according to the present disclosure, the amount of computation of the artificial neural network can be remarkably reduced by processing the sigmoid function, which is calculated in the real domain, in the log domain.

도 1은 본 개시의 실시 예에 따른 인공신경망을 나타내는 도면이다.
도 2는 본 개시의 실시 예에 따른 인공뉴런을 나타내는 도면이다.
도 3은 본 개시의 실시 예에 따른 간소화된 시그모이드 함수 회로를 나타내는 도면이다.
도 4는 본 개시의 실시 예에 따른 간소화된 시그모이드 함수 회로가 적용된 뉴로모픽 프로세서를 나타내는 도면이다.
1 is a diagram illustrating an artificial neural network according to an embodiment of the present disclosure.
2 is a diagram illustrating an artificial neuron according to an embodiment of the present disclosure.
3 is a diagram illustrating a simplified sigmoid function circuit according to an embodiment of the present disclosure.
4 is a diagram illustrating a neuromorphic processor to which a simplified sigmoid function circuit is applied according to an embodiment of the present disclosure.

이하에서, 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 용이하게 실시할 수 있을 정도로, 본 개시의 실시 예들은 명확하고 상세하게 기재될 것이다.Hereinafter, embodiments of the present disclosure will be described clearly and in detail to the extent that those of ordinary skill in the art can easily practice the present disclosure.

본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며, 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서 사용된 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises) 및/또는 포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자에 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of describing the embodiments, and is not intended to limit the present disclosure. As used herein, the singular also includes the plural unless the phrase specifically dictates otherwise. As used herein, “comprises and/or comprises” refers to the presence or addition of one or more other components, steps, acts and/or elements to a stated element, step, operation and/or element. do not exclude

본 명세서에서 사용되는 "제 1 및/또는 제 2" 등의 용어는 다양한 구성요소들을 설명하기 위하여 사용될 수 있으나, 이는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 목적으로만 사용될 뿐, 해당 용어로 지칭되는 구성요소를 한정하기 위한 것은 아니다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않는 한, 제 1 구성요소는 제 2 구성요소로 명명될 수 있으며, 제 2 구성요소 또한 제 1 구성요소로 명명될 수 있다.As used herein, terms such as “first and/or second” may be used to describe various components, but these terms are only used for the purpose of distinguishing one component from other components, and the term It is not intended to limit the components referred to as . For example, without departing from the scope of the present disclosure, a first component may be referred to as a second component, and the second component may also be referred to as a first component.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 잇는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서, 전문에 걸쳐 동일한 참조 부호는 동일한 구성 요소를 지칭할 수 있다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used in the meaning commonly understood by those of ordinary skill in the art to which this disclosure belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless specifically defined explicitly. In this specification, the same reference numerals may refer to the same elements throughout.

도 1은 본 개시의 실시 예에 따른 인공신경망(Artificial Neural Network; ANN, 10)을 나타내는 도면이다. 도 1을 참조하면, 본 개시의 실시예에 따른 인공신경망은 입력층(Input Layer, IL), 은닉층(Hidden Layer, HL) 및 출력층(Output Layer, OL)을 포함할 수 있다. 입력층(IL), 은닉층(HL) 및 출력층(OL)은 시냅스(Synapse, SN)를 통하여 서로 연결될 수 있다.1 is a diagram illustrating an artificial neural network (ANN, 10) according to an embodiment of the present disclosure. Referring to FIG. 1 , an artificial neural network according to an embodiment of the present disclosure may include an input layer (IL), a hidden layer (HL), and an output layer (OL). The input layer IL, the hidden layer HL, and the output layer OL may be connected to each other through a synapse (SN).

인공신경망(10)은 복수의 인공뉴런(100)들을 포함할 수 있다. 복수의 인공뉴런(100)들은 외부로부터 입력 데이터(X1, X2, …, Xn)를 수신하는 복수의 입력 뉴런들, 복수의 입력 뉴런들로부터 데이터를 수신하고 이를 처리하는 복수의 은닉 뉴런들 및 복수의 은닉 뉴런들로부터 데이터를 수신하고 출력 데이터(Y1, Y2, …, Ym)를 생성하는 복수의 출력 뉴런들을 포함할 수 있다. 입력층(IL)은 복수의 입력 뉴런들을 포함할 수 있고, 은닉층(HL)은 복수의 은닉 뉴런들을 포함할 수 있으며, 출력층(OL)은 복수의 출력 뉴런들을 포함할 수 있다.The artificial neural network 10 may include a plurality of artificial neurons 100 . The plurality of artificial neurons 100 are a plurality of input neurons that receive input data (X 1 , X 2 , ..., X n ) from the outside, a plurality of hidden neurons that receive data from the plurality of input neurons and process them and a plurality of output neurons that receive data from and generate output data (Y 1 , Y 2 , ..., Y m ) from the plurality of hidden neurons. The input layer IL may include a plurality of input neurons, the hidden layer HL may include a plurality of hidden neurons, and the output layer OL may include a plurality of output neurons.

입력층(IL), 은닉층(HL) 및 출력층(OL) 각각에 포함된 인공 뉴런들의 개수는 도 1에 도시된 바에 한정되지 않는다. 또한, 은닉층(HL)은 도 1에 도시된 것보다 더 많은 층(Layer)들을 포함할 수 있다. 은닉층(HL)의 개수는 인공신경망(10)의 정확도 및 학습 속도와 관련될 수 있다. 또한, 입력 데이터(X1, X2, …, Xn) 및 출력 데이터(Y1, Y2, …, Ym)는 텍스트, 이미지 등 다양한 형태의 데이터일 수 있다.The number of artificial neurons included in each of the input layer IL, the hidden layer HL, and the output layer OL is not limited to that illustrated in FIG. 1 . Also, the hidden layer HL may include more layers than those shown in FIG. 1 . The number of hidden layers HL may be related to the accuracy and learning speed of the artificial neural network 10 . In addition, the input data (X 1 , X 2 , ..., X n ) and the output data (Y 1 , Y 2 , ..., Y m ) may be data of various types, such as text and images.

도 2는 본 개시의 실시 예에 따른 인공뉴런(100)을 나타내는 도면이다. 도 2를 참조하면, 인공뉴런(100)은 합산 회로(Summation Circuit, 110) 및 활성 함수 회로(Activation Function Circuit, 120)를 포함할 수 있다.2 is a diagram illustrating an artificial neuron 100 according to an embodiment of the present disclosure. Referring to FIG. 2 , the artificial neuron 100 may include a summation circuit 110 and an activation function circuit 120 .

합산 회로(110)는 가중치들(W1, W2, …, WK)을 이용하여 입력 신호들(A1, A2, …, AK)을 합산할 수 있다. 입력 신호들(A1, A2, …, AK) 각각은 임의의 인공뉴런으로부터 생성된 출력 신호일 수 있다. 가중치들(W1, W2, …, WK) 각각은 시냅스(SN, 도 1 참조)의 강도, 다시 말하면 하나의 인공뉴런과 다른 하나의 인공뉴런과의 결합 정도를 나타낼 수 있다. 합산 회로(110)는 가중치들(W1, W2, …, WK)과 입력 신호들(A1, A2, …, AK)을 각각 곱한 후, 그 결과들을 합쳐서 합산 결과(B)를 도출할 수 있다. 합산 결과(B)는 수학식 1로 나타낼 수 있다.The summing circuit 110 may sum the input signals A 1 , A 2 , ..., A K using the weights W 1 , W 2 , ..., W K . Each of the input signals A 1 , A 2 , ..., A K may be an output signal generated from an arbitrary artificial neuron. Each of the weights W 1 , W 2 , ..., W K may represent the strength of a synapse (SN, see FIG. 1 ), that is, a degree of coupling between one artificial neuron and another artificial neuron. The summing circuit 110 multiplies the weights W 1 , W 2 , …, W K and the input signals A 1 , A 2 , …, A K , respectively, and then sums the results to obtain a summing result (B) can be derived. The summation result (B) may be expressed by Equation (1).

Figure pat00001
Figure pat00001

활성 함수 회로(120)는 합산 결과(B) 및 활성 함수(Activation Function, f)를 이용하여 활성 결과(C)를 도출할 수 있다. 본 개시의 실시 예에 따른 활성 함수(f)는 간소화된 시그모이드 함수일 수 있다. 시그모이드 함수란, 선형인 멀티퍼셉트론에서 비선형 값을 도출하기 위하여 이용될 수 있으며, 예로서 로지스틱(Logistic) 함수를 포함할 수 있다. 시그모이드 함수는 실수(Real Number) 영역에서 정의될 수 있으며, 수학식 2로 나타낼 수 있다. 수학식 2에서, sig(x)는 실수 영역의 시그모이드 함수를, x는 실수 변수를 의미한다.The activation function circuit 120 may derive the activation result C using the summation result B and the activation function f. The activation function f according to an embodiment of the present disclosure may be a simplified sigmoid function. The sigmoid function may be used to derive a nonlinear value from a linear multiperceptron, and may include, for example, a logistic function. The sigmoid function may be defined in a real number domain, and may be expressed by Equation (2). In Equation 2, sig(x) denotes a sigmoid function in the real region, and x denotes a real variable.

Figure pat00002
Figure pat00002

본 개시의 실시 예에서, 활성 함수(f)로 이용되는 간소화된 시그모이드 함수는 인공신경망의 연산량을 감소시키기 위하여 로그 영역에서의 시그모이드 함수를 변분 변환한 형태일 수 있다. 즉, 본 개시의 실시 예에서 이용되는 활성 함수(f)는 로그 영역의 시그모이드 함수를 도출하고, 도출된 로그 영역의 시그모이드 함수를 변분 변환하는 과정을 통하여 도출될 수 있다.In an embodiment of the present disclosure, the simplified sigmoid function used as the activation function f may be a form obtained by transforming a sigmoid function in a logarithmic domain in order to reduce the amount of computation of the artificial neural network. That is, the activation function f used in an embodiment of the present disclosure may be derived through a process of deriving a sigmoid function of a logarithmic domain and performing an incremental transformation of the derived sigmoid function of a logarithmic domain.

로그 영역의 시그모이드 함수는 수학식 2에 제시된 실수 영역의 시그모이드 함수의 양 변에 자연로그를 취하여 유도할 수 있다. 로그 영역의 시그모이드 함수를 유도하는 과정은 수학식 3의 (1) 내지 (4) 과정으로 나타낼 수 있으며, 수학식 3에서 sig(x)는 실수 영역의 시그모이드 함수를, SIG(X)는 로그 영역의 시그모이드 함수를, x는 실수 변수를, X는 로그 영역의 변수를 의미한다. 이하, 표기의 명확화를 위하여 ex는 exp(x)의 형태로 표현한다.The sigmoid function of the logarithmic domain can be derived by taking the natural logarithm of both sides of the sigmoid function of the real domain presented in Equation (2). The process of deriving the sigmoid function of the logarithmic domain can be represented by the processes (1) to (4) of Equation 3, where sig(x) represents the sigmoid function of the real domain, SIG(X) ) denotes a logarithmic sigmoid function, x denotes a real variable, and X denotes a logarithmic variable. Hereinafter, for clarity of notation, e x is expressed in the form of exp(x).

Figure pat00003
Figure pat00003

수학식 3으로부터 도출된 로그 영역의 시그모이드 함수는 인공신경망의 연산량을 줄이기 위하여 변분 변환될 수 있다. 로그 영역의 시그모이드 함수의 변분 변환은 실수 변수 x의 부호에 따라 달리 유도될 수 있다. 먼저, 실수 변수 x가 양수인 경우 유도 과정은 수학식 4의 (1) 내지 (12) 과정으로 나타낼 수 있다. 수학식 4에서 F(x)는 변분 변환을 통하여 도출되는 근사식을 의미하고, D(x)는 로그 영역의 시그모이드 함수 SIG(X)와 근사식의 차이를 의미한다. 또한, Y는 D(x)를 최소화한 함수를 의미한다.The sigmoid function of the log domain derived from Equation 3 may be differentially transformed to reduce the amount of computation of the artificial neural network. The differential transformation of the sigmoid function in the log domain may be induced differently depending on the sign of the real variable x. First, when the real variable x is a positive number, the derivation process may be expressed as processes (1) to (12) of Equation (4). In Equation 4, F(x) denotes an approximate expression derived through a differential transformation, and D(x) denotes a difference between the logarithmic sigmoid function SIG(X) and the approximate expression. Also, Y denotes a function that minimizes D(x).

Figure pat00004
Figure pat00004

Figure pat00005
Figure pat00005

실수 변수 x가 음수인 경우 로그 영역의 시그모이드 함수는 수학식 5와 같이 표현된다. 수학식 5에서, x는 음수이므로 양수인 xp와 -1의 곱으로 표현할 수 있다. 수학식 5에서 sig(x)는 실수 영역에서의 시그모이드 함수를 의미하고, SIG(Xp)는 로그 영역의 시그모이드 함수를 의미한다.When the real variable x is negative, the sigmoid function of the logarithmic region is expressed as in Equation 5. In Equation 5, since x is a negative number, it can be expressed as a product of a positive number xp and -1. In Equation 5, sig(x) denotes a sigmoid function in the real domain, and SIG(Xp) denotes a sigmoid function in the log domain.

Figure pat00006
Figure pat00006

실수 변수 x가 음수인 경우, 유도 과정은 수학식 6의 (1) 내지 (12) 과정으로 나타낼 수 있다. 수학식 6에서 F(x)는 변분 변환을 통하여 도출되는 근사식을 의미하고, D(x)는 로그 영역의 시그모이드 함수 SIG(Xp)와 근사식의 차이를 의미한다. 또한, Y는 D(xp)를 최소화한 함수를 의미한다.When the real variable x is a negative number, the derivation process can be expressed by the processes (1) to (12) of Equation (6). In Equation 6, F(x) denotes an approximate expression derived through a differential transformation, and D(x) denotes a difference between the logarithmic sigmoid function SIG(Xp) and the approximate expression. Also, Y denotes a function that minimizes D(xp).

Figure pat00007
Figure pat00007

수학식 4 및 수학식 6에서 도출된 근사식 F(X) 및 F(Xp)는 활성 함수 회로(120)에서 활성 결과(C)를 도출하기 위한 활성 함수(f)로 이용될 수 있다.Approximate expressions F(X) and F(Xp) derived from Equations 4 and 6 may be used as an activation function f for deriving an activation result C in the activation function circuit 120 .

도 3은 본 개시의 실시 예에 따른 간소화된 시그모이드 함수 회로(200)를 나타내는 도면이다. 간소화된 시그모이드 함수 회로(200)는 활성 함수(f)를 구현하기 위한 회로로, 활성 함수 회로(120, 도 2 참조)에 포함될 수 있다. 도 3을 참조하면, 간소화된 시그모이드 함수 회로(200)는 제 1 회로(210), 제 2 회로(220) 및 제 1 멀티플렉서(230)를 포함할 수 있다. 제 1 회로(210)는 제 1 비교기(211), 제 2 멀티플렉서(212a), 제 3 멀티플렉서(212b), 제1 곱셈기(213) 및 제 1 합산기(214)를 포함할 수 있다. 제 2 회로(220)는 제 2 비교기(221), 제 4 멀티플렉서(222a), 제 5 멀티플렉서(222b), 제 2 곱셈기(223) 및 제 2 합산기(224)를 포함할 수 있다.3 is a diagram illustrating a simplified sigmoid function circuit 200 according to an embodiment of the present disclosure. The simplified sigmoid function circuit 200 is a circuit for implementing the activation function f, and may be included in the activation function circuit 120 (refer to FIG. 2 ). Referring to FIG. 3 , the simplified sigmoid function circuit 200 may include a first circuit 210 , a second circuit 220 , and a first multiplexer 230 . The first circuit 210 may include a first comparator 211 , a second multiplexer 212a , a third multiplexer 212b , a first multiplier 213 , and a first summer 214 . The second circuit 220 may include a second comparator 221 , a fourth multiplexer 222a , a fifth multiplexer 222b , a second multiplier 223 , and a second summer 224 .

본 개시의 실시 예에 따르면, 간소화된 시그모이드 함수 회로(200)를 통하여 활성 결과(F)(도 2에 개시된 활성 결과(C)에 대응)가 도출될 수 있다. 로그 도메인에서, 입력

Figure pat00008
는 벡터로, 방향인 부호 Xs와 크기 X로 표현될 수 있다. 간소화된 시그모이드 함수 회로(200)는 입력된
Figure pat00009
의 방향 부호가 양(+)인 경우, 제 1 회로(210)로부터의 출력 값이 활성 결과(F)로 도출될 수 있다. 입력된
Figure pat00010
의 방향 부호가 음(-)인 경우, 제 2 회로(220)로부터의 출력 값이 활성 결과(F)로 도출될 수 있다.According to an embodiment of the present disclosure, an activation result F (corresponding to the activation result C disclosed in FIG. 2 ) may be derived through the simplified sigmoid function circuit 200 . In the log domain, enter
Figure pat00008
is a vector, which can be expressed by a sign Xs, which is a direction, and a magnitude X. The simplified sigmoid function circuit 200 is
Figure pat00009
When the direction sign of is positive (+), an output value from the first circuit 210 may be derived as an activation result (F). input
Figure pat00010
When the direction sign of is negative (-), the output value from the second circuit 220 may be derived as the activation result (F).

도 4는 본 개시의 실시 예에 따른 간소화된 시그모이드 함수 회로(200, 도 3 참조)가 적용된 뉴로모픽 프로세서(1000)를 나타내는 도면이다. 도 4를 참조하면, 뉴로모픽 프로세서(1000)는 인공뉴런 구현 소자 어레이(1100), 워드 라인 바이어스 유닛(1200), 비트 라인 바이어스 및 검출 유닛(1300), 제어 로직 유닛(1400), 불휘발성 메모리(1500), 휘발성 메모리(1600) 및 입출력 유닛(1700)을 포함할 수 있다.4 is a diagram illustrating the neuromorphic processor 1000 to which the simplified sigmoid function circuit 200 (refer to FIG. 3 ) according to an embodiment of the present disclosure is applied. Referring to FIG. 4 , the neuromorphic processor 1000 includes an artificial neuron implementation element array 1100 , a word line bias unit 1200 , a bit line bias and detection unit 1300 , a control logic unit 1400 , and non-volatile It may include a memory 1500 , a volatile memory 1600 , and an input/output unit 1700 .

인공뉴런 구현 소자 어레이(1100)는 상술한 도 1에 개시된 인공신경망(10, 도 1 참조)을 하드웨어적으로 구현한 것일 수 있다. 인공뉴런 구현 소자 어레이(1100)는 복수의 인공뉴런(100, 도 1 참조)들을 구현한 소자들을 포함할 수 있으며, 복수의 인공뉴런(100) 구현 소자들이 행들 및 열들로 배열된 구조일 수 있다. 복수의 인공뉴런(100) 구현 소자들 각각은 상술한 도 3에 개시된 간소화된 시그모이드 함수 회로(200, 도 3 참조)를 포함할 수 있다. 인공뉴런 구현 소자 어레이(1100)는 간소화된 시그모이드 함수에 기반한 결과치를 출력할 수 있다. 도 4에서, 인공뉴런 구현 소자 어레이(1100)와 연결되는 워드 라인(WL) 및 비트 라인(BL)은 하나로 도시되었으나, 이는 도면의 복잡도를 줄이기 위한 것일 뿐, 인공뉴런 구현 소자 어레이(1100)에 포함되는 복수의 인공뉴런(100) 구현 소자들 각각에 연결되는 워드 라인(WL) 및 비트 라인(BL)을 의미한다.The artificial neuron implementation element array 1100 may be a hardware implementation of the artificial neural network 10 (refer to FIG. 1 ) disclosed in FIG. 1 described above. The artificial neuron implementation element array 1100 may include elements implementing a plurality of artificial neurons 100 (refer to FIG. 1 ), and may have a structure in which the plurality of artificial neurons 100 implementation elements are arranged in rows and columns. . Each of the plurality of artificial neurons 100 implementation elements may include the simplified sigmoid function circuit 200 (refer to FIG. 3 ) disclosed in FIG. 3 described above. The artificial neuron implementation element array 1100 may output a result value based on the simplified sigmoid function. In FIG. 4 , the word line WL and the bit line BL connected to the artificial neuron implementation element array 1100 are shown as one, but this is only to reduce the complexity of the drawing, and the artificial neuron implementation element array 1100 It means a word line WL and a bit line BL connected to each of the included plurality of artificial neurons 100 implementation elements.

워드 라인 바이어스 유닛(1200)은 제어 로직 유닛(1400)으로부터 입력 데이터를 수신하고, 워드 라인(WL)을 통하여 인공뉴런 구현 소자 어레이(1100)에 포함되는 복수의 인공뉴런(100) 구현 소자들 각각에 입력 데이터를 전달할 수 있다. 또한, 워드 라인 바이어스 유닛(1200)은 인공뉴런 구현 소자 어레이(1100)에 포함되는 복수의 시냅스(SN, 도 1 참조) 연결들에 가중치를 기록하기 위한 전류를 워드 라인(WL)을 통하여 공급할 수 있다.The word line bias unit 1200 receives input data from the control logic unit 1400 , and each of the plurality of artificial neuron 100 implementation elements included in the artificial neuron implementation element array 1100 through the word line WL. You can pass input data to . In addition, the word line bias unit 1200 may supply a current for writing weights to a plurality of synaptic (SN, see FIG. 1) connections included in the artificial neuron implementation element array 1100 through the word line WL. have.

비트 라인 바이어스 및 검출 유닛(1300)은 인공뉴런 구현 소자 어레이(1100)에 포함되는 복수의 인공뉴런(100) 구현 소자들 각각에서 인공 신경망 연산을 수행할 때 비트 라인(BL)에 접지 전압을 바이어스할 수 있다. 또한, 비트 라인 바이어스 및 검출 유닛(1300)은 비트 라인(BL)을 통하여 전류량을 검출함으로써, 인공뉴런 구현 소자 어레이(1100)에 포함되는 복수의 인공뉴런(100) 구현 소자들의 연산 결과를 획득할 수 있다.The bit line bias and detection unit 1300 biases the ground voltage to the bit line BL when performing an artificial neural network operation on each of the plurality of artificial neurons 100 implementation elements included in the artificial neuron implementation element array 1100 . can do. In addition, the bit line bias and detection unit 1300 detects the amount of current through the bit line BL to obtain the operation results of the plurality of artificial neuron 100 implementation elements included in the artificial neuron implementation element array 1100. can

제어 로직 유닛(1400)은 불휘발성 메모리(1500)에 저장된 정보를 읽고, 읽혀진 정보에 기반하여 워드 라인 바이어스 유닛(1200) 및 비트 라인 바이어스 및 검출 유닛(1300)을 제어할 수 있다. 또한, 제어 로직 유닛(1400)은 입출력 유닛(1700)을 통하여 수신되는 초기 입력을 입력 데이터로서 워드 라인 바이어스 유닛(1200)에 전달하거나 휘발성 메모리(1600)에 저장할 수 있다. 또한, 제어 로직 유닛(1400)은 인공뉴런 구현 소자 어레이(1100)로부터 출력된 결과를 입력 데이터로서 워드 라인 바이어스 유닛(1200)에 전달하거나 휘발성 메모리(1600)에 저장할 수 있다.The control logic unit 1400 may read information stored in the nonvolatile memory 1500 and control the word line bias unit 1200 and the bit line bias and detection unit 1300 based on the read information. Also, the control logic unit 1400 may transmit an initial input received through the input/output unit 1700 as input data to the word line bias unit 1200 or store it in the volatile memory 1600 . In addition, the control logic unit 1400 may transmit the result output from the artificial neuron realization element array 1100 as input data to the word line bias unit 1200 or store it in the volatile memory 1600 .

비휘발성 메모리(1500)는 인공뉴런 구현 소자 어레이(1100)에 포함된 복수의 인공뉴런(100) 구현 소자들의 연결 관계에 대한 정보를 저장할 수 있다. 즉, 비휘발성 메모리(1500)는 뉴로모픽 프로세서(1000)에 의하여 구현되는 인공 신경망의 전체 구조에 대한 정보를 포함할 수 있다.The non-volatile memory 1500 may store information on a connection relationship between a plurality of artificial neurons 100 implemented elements included in the artificial neuron realizing element array 1100 . That is, the nonvolatile memory 1500 may include information on the overall structure of the artificial neural network implemented by the neuromorphic processor 1000 .

휘발성 메모리(1600)는 입출력 유닛(1700)으로부터 입력된 초기 입력 및 인공뉴런 구현 소자 어레이(1100)으로부터 출력된 결과를 저장할 수 있다. 입출력 유닛(1700)은 외부로부터 초기 입력을 수신하여 제어 로직 유닛(1400)에 전달하고, 제어 로직 유닛(1400)으로부터 인공뉴런 구현 소자 어레이(1100)로부터 출력된 결과를 전달받아 외부로 출력할 수 있다.The volatile memory 1600 may store an initial input input from the input/output unit 1700 and a result output from the artificial neuron realization element array 1100 . The input/output unit 1700 receives an initial input from the outside and transmits it to the control logic unit 1400, receives the result output from the artificial neuron implementation element array 1100 from the control logic unit 1400 and outputs it to the outside have.

상술된 내용은 본 개시를 실시하기 위한 구체적인 실시 예들이다. 본 개시는 상술된 실시 예들 뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 개시는 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 개시의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐만 아니라 본 개시의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.The above are specific embodiments for carrying out the present disclosure. The present disclosure will include not only the above-described embodiments, but also simple design changes or easily changeable embodiments. In addition, the present disclosure will also include techniques that can be easily modified and implemented using the embodiments. Accordingly, the scope of the present disclosure should not be limited to the above-described embodiments, but should be defined by the claims and equivalents of the claims of the present disclosure as well as the claims to be described later.

10 : 인공신경망(Artificial Neural Network; ANN)
100 : 인공뉴런
110 : 합산 회로(Summatation Circuit)
120 : 활성 함수 회로(Activation Fuction Circuit)
10: Artificial Neural Network (ANN)
100: artificial neuron
110: summation circuit
120: Activation Function Circuit

Claims (11)

입력 데이터의 실수 영역에서의 부호가 양인 경우, 상기 입력 데이터에 대하여 간소화된 시그모이드 함수에 기반한 연산을 수행하는 제 1 회로;
상기 입력 데이터의 실수 영역에서의 부호가 음인 경우, 상기 입력 데이터에 대하여 상기 간소화된 시그모이드 함수에 기반한 연산을 수행하는 제 2 회로; 및
상기 입력 데이터의 부호에 기반하여 상기 제 1 회로의 출력 및 상기 제 2 회로의 출력 중 어느 하나를 선택하여 출력하는 제 1 멀티플렉서를 포함하되,
상기 간소화된 시그모이드 함수는 실수 영역의 시그모이드 함수를 로그 영역의 시그모이드 함수로 변환하고, 상기 로그 영역의 시그모이드 함수를 변분 변환하여 도출되는 간소화된 시그모이드 함수 회로.
a first circuit for performing an operation based on a simplified sigmoid function on the input data when a sign in a real region of the input data is positive;
a second circuit for performing an operation based on the simplified sigmoid function on the input data when a sign in the real region of the input data is negative; and
Comprising a first multiplexer for selecting and outputting any one of the output of the first circuit and the output of the second circuit based on the sign of the input data,
The simplified sigmoid function is a simplified sigmoid function circuit derived by transforming a sigmoid function of a real domain into a sigmoid function of a log domain, and incrementally transforming the sigmoid function of the log domain.
제 1 항에 있어서,
상기 제 1 회로는:
상기 변분 변환을 위한 제 1 계수를 선택하는 제 2 멀티플렉서; 및
상기 변분 변환을 위한 제 2 계수를 선택하는 제 3 멀티플렉서를 포함하고,
상기 제 2 회로는:
상기 변분 변환을 위한 제 3 계수를 선택하는 제 4 멀티플렉서; 및
상기 변분 변환을 위한 제 4 계수를 선택하는 제 5 멀티플렉서를 포함하는 간소화된 시그모이드 함수 회로.
The method of claim 1,
The first circuit comprises:
a second multiplexer for selecting a first coefficient for the differential transform; and
a third multiplexer for selecting a second coefficient for the differential transform;
The second circuit is:
a fourth multiplexer for selecting a third coefficient for the differential transform; and
A simplified sigmoid function circuit comprising a fifth multiplexer for selecting a fourth coefficient for the differential transform.
제 2 항에 있어서,
상기 제 1 회로는:
상기 입력 데이터의 크기와 상기 제 1 계수의 곱 연산을 수행하는 제 1 곱셈기; 및
상기 입력 데이터의 크기와 상기 제 1 계수의 곱 엽산의 결과와 상기 제 2 계수의 합 연산을 수행하는 제 1 합산기를 더 포함하고,
상기 제 2 회로는:
상기 입력 데이터의 크기와 상기 제 3 계수의 곱 연산을 수행하는 제 2 곱셈기; 및
상기 입력 데이터의 크기와 상기 제 3 계수의 곱 연산의 결과와 상기 제 4 계수의 합 연산을 수행하는 제 2 합산기를 더 포함하는 간소화된 시그모이드 함수 회로.
3. The method of claim 2,
The first circuit comprises:
a first multiplier for multiplying the size of the input data and the first coefficient; and
and a first summer configured to perform a sum operation of a result of a multiplication of the size of the input data and the first coefficient and the second coefficient,
The second circuit is:
a second multiplier for multiplying the size of the input data and the third coefficient; and
The simplified sigmoid function circuit further comprising a second summer configured to perform a sum operation of a result of the multiplication operation of the magnitude of the input data and the third coefficient and the fourth coefficient.
제 1 항에 있어서,
상기 변분 변환은 상기 입력 데이터의 구간별 변분 변환을 통하여 근사화한 결과를 도출하는 간소화된 시그모이드 함수 회로.
The method of claim 1,
The differential transformation is a simplified sigmoid function circuit for deriving an approximate result through the differential transformation for each section of the input data.
인공 신경망의 연산을 수행하기 위한 복수의 인공뉴런 구현 소자들을 포함하는 인공뉴런 구현 소자 어레이를 포함하되,
상기 복수의 인공뉴런 구현 소자들 각각은:
입력 데이터와 가중치의 곱에 대한 합 연산을 수행하는 합산 회로; 및
상기 합산 회로의 연산 결과로부터 활성 함수를 통한 활성 결과를 도출하는 활성 함수 회로를 포함하고,
상기 활성 함수는 실수 영역의 시그모이드 함수를 로그 영역의 시그모이드 함수로 변환하고, 상기 로그 영역의 시그모이드 함수를 변분 변환하여 도출되는 뉴로모픽 프로세서.
An artificial neuron implementation element array including a plurality of artificial neuron implementation elements for performing an operation of an artificial neural network,
Each of the plurality of artificial neuron implementation elements is:
a summing circuit for performing a sum operation on a product of input data and a weight; and
an activation function circuit for deriving an activation result through an activation function from the operation result of the summing circuit;
The activation function is a neuromorphic processor derived by transforming a sigmoid function of a real domain into a sigmoid function of a log domain, and incrementally transforming the sigmoid function of the log domain.
제 5 항에 있어서,
상기 활성 함수 회로는 적어도 하나의 간소화된 시그모이드 함수 회로를 포함하고,
상기 적어도 하나의 간소화된 시그모이드 함수 회로는:
입력 데이터의 실수 영역에서의 부호가 양인 경우, 상기 입력 데이터에 대하여 간소화된 시그모이드 함수에 기반한 연산을 수행하는 제 1 회로;
상기 입력 데이터의 실수 영역에서의 부호가 음인 경우, 상기 입력 데이터에 대하여 상기 간소화된 시그모이드 함수에 기반한 연산을 수행하는 제 2 회로; 및
상기 입력 데이터의 부호에 기반하여 상기 제 1 회로의 출력 및 상기 제 2 회로의 출력 중 어느 하나를 선택하여 출력하는 제 1 멀티플렉서를 포함하는 뉴로모픽 프로세서.
6. The method of claim 5,
wherein the activation function circuit comprises at least one simplified sigmoid function circuit;
The at least one simplified sigmoid function circuit comprises:
a first circuit for performing an operation based on a simplified sigmoid function on the input data when a sign in a real region of the input data is positive;
a second circuit for performing an operation based on the simplified sigmoid function on the input data when a sign in the real region of the input data is negative; and
Neuromorphic processor including a first multiplexer for selecting and outputting any one of the output of the first circuit and the output of the second circuit based on the sign of the input data.
제 6 항에 있어서,
상기 제 1 회로는:
상기 입력 데이터의 크기와 상기 제 1 계수의 곱 연산을 수행하는 제 1 곱셈기; 및
상기 입력 데이터의 크기와 상기 제 1 계수의 곱 엽산의 결과와 상기 제 2 계수의 합 연산을 수행하는 제 1 합산기를 더 포함하고,
상기 제 2 회로는:
상기 입력 데이터의 크기와 상기 제 3 계수의 곱 연산을 수행하는 제 2 곱셈기; 및
상기 입력 데이터의 크기와 상기 제 3 계수의 곱 연산의 결과와 상기 제 4 계수의 합 연산을 수행하는 제 2 합산기를 더 포함하는 뉴로모픽 프로세서.
7. The method of claim 6,
The first circuit comprises:
a first multiplier for multiplying the size of the input data and the first coefficient; and
and a first summer configured to perform a sum operation of a result of a multiplication of the size of the input data and the first coefficient and the second coefficient,
The second circuit is:
a second multiplier for multiplying the size of the input data and the third coefficient; and
The neuromorphic processor further comprising a second summer configured to perform a sum operation of a result of the multiplication operation of the size of the input data and the third coefficient and the fourth coefficient.
제 7 항에 있어서,
상기 제 1 회로는:
상기 변분 변환을 위한 제 1 계수를 선택하는 제 2 멀티플렉서; 및
상기 변분 변환을 위한 제 2 계수를 선택하는 제 3 멀티플렉서를 포함하고,
상기 제 2 회로는:
상기 변분 변환을 위한 제 3 계수를 선택하는 제 4 멀티플렉서; 및
상기 변분 변환을 위한 제 4 계수를 선택하는 제 5 멀티플렉서를 포함하는 뉴로모픽 프로세서.
8. The method of claim 7,
The first circuit comprises:
a second multiplexer for selecting a first coefficient for the differential transform; and
a third multiplexer for selecting a second coefficient for the differential transform;
The second circuit is:
a fourth multiplexer for selecting a third coefficient for the differential transform; and
Neuromorphic processor including a fifth multiplexer for selecting a fourth coefficient for the differential transformation.
제 5 항에 있어서,
상기 변분 변환은 상기 입력 데이터의 구간별 변분 변환을 통하여 근사화한 결과를 도출하는 뉴로모픽 프로세서.
6. The method of claim 5,
The differential transformation is a neuromorphic processor for deriving an approximate result through differential transformation for each section of the input data.
제 5 항에 있어서,
외부로부터 상기 입력 데이터를 수신하고, 상기 외부로 상기 입력 데이터에 대한 상기 인공 신경망의 연산 결과를 출력하는 입출력 유닛;
상기 입출력 유닛으로부터 상기 입력 데이터를 수신하고, 상기 입력 데이터를 전달하는 제어 로직 유닛;
상기 제어 로직 유닛으로부터 상기 인공뉴런 구현 소자 어레이에 상기 입력 데이터를 전달하는 워드 라인 바이어스 유닛;
상기 인공뉴런 구현 소자 어레이로부터 상기 입력 데이터에 대한 연산 결과를 검출하는 비트 라인 바이어스 및 검출 유닛을 더 포함하는 뉴로모픽 프로세서.
6. The method of claim 5,
an input/output unit for receiving the input data from the outside and outputting an operation result of the artificial neural network on the input data to the outside;
a control logic unit receiving the input data from the input/output unit and transferring the input data;
a word line bias unit that transfers the input data from the control logic unit to the artificial neuron implementation element array;
Neuromorphic processor further comprising a bit line bias and detection unit for detecting a result of the operation on the input data from the artificial neuron implementation element array.
제 5 항에 있어서,
상기 인공뉴런 구현 소자 어레이에 포함되는 복수의 인공뉴런 구현 소자들의 연결 관계에 대한 정보를 저장하는 비휘발성 메모리;
상기 인공뉴런 구현 소자 어레이로부터 검출된 상기 연산 결과를 저장하는 휘발성 메모리를 더 포함하는 뉴로모픽 프로세서.
6. The method of claim 5,
a non-volatile memory for storing information on a connection relationship between a plurality of artificial neuron implementation elements included in the artificial neuron implementation element array;
Neuromorphic processor further comprising a volatile memory for storing the operation result detected from the artificial neuron implementation element array.
KR1020210069870A 2020-11-30 2021-05-31 Circuit for implementing simplified sigmoid function and neuromorphic processor including the circuit KR20220076271A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/536,536 US20220172029A1 (en) 2020-11-30 2021-11-29 Circuit for implementing simplified sigmoid function and neuromorphic processor including the circuit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200164528 2020-11-30
KR20200164528 2020-11-30

Publications (1)

Publication Number Publication Date
KR20220076271A true KR20220076271A (en) 2022-06-08

Family

ID=81981344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210069870A KR20220076271A (en) 2020-11-30 2021-05-31 Circuit for implementing simplified sigmoid function and neuromorphic processor including the circuit

Country Status (1)

Country Link
KR (1) KR20220076271A (en)

Similar Documents

Publication Publication Date Title
US10740671B2 (en) Convolutional neural networks using resistive processing unit array
US20210142164A1 (en) Multi-Task Knowledge Distillation for Language Model
Aizenberg et al. Multi-valued and universal binary neurons: Theory, learning and applications
Ponghiran et al. Spiking neural networks with improved inherent recurrence dynamics for sequential learning
Moustafa et al. Performance evaluation of artificial neural networks for spatial data analysis
RoyChowdhury et al. Dynamic tunneling technique for efficient training of multilayer perceptrons
CN114241245B (en) Image classification system based on residual capsule neural network
Fatahi et al. Towards an spiking deep belief network for face recognition application
Abdulsalam et al. Electrical energy demand forecasting model using artificial neural network: A case study of Lagos State Nigeria
KR20210152244A (en) Apparatus for implementing neural network and operation method thereof
US5274744A (en) Neural network for performing a relaxation process
Harikrishnan et al. Handwritten digit recognition with feed-forward multi-layer perceptron and convolutional neural network architectures
Shaharin et al. Performance study of TDNN training algorithm for speech recognition
López-Monroy et al. Neural networks and deep learning
Eom et al. Alpha-Integration Pooling for Convolutional Neural Networks
Dao Image classification using convolutional neural networks
KR20220076271A (en) Circuit for implementing simplified sigmoid function and neuromorphic processor including the circuit
US11526735B2 (en) Neuromorphic neuron apparatus for artificial neural networks
Shen et al. A fast learning algorithm of neural network with tunable activation function
US20220172029A1 (en) Circuit for implementing simplified sigmoid function and neuromorphic processor including the circuit
Chand et al. Understanding neural networks
Jovanović et al. Neural network implementation in Java
Scherer Multi-layer neural networks for sales forecasting
Boyko et al. Neural Networks: Training with Backpropagation and the Gradient Algorithm
Barthakur et al. Neural network methods for image segmentation

Legal Events

Date Code Title Description
E902 Notification of reason for refusal