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

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

Info

Publication number
KR101991041B1
KR101991041B1 KR1020180174232A KR20180174232A KR101991041B1 KR 101991041 B1 KR101991041 B1 KR 101991041B1 KR 1020180174232 A KR1020180174232 A KR 1020180174232A KR 20180174232 A KR20180174232 A KR 20180174232A KR 101991041 B1 KR101991041 B1 KR 101991041B1
Authority
KR
South Korea
Prior art keywords
neural network
bias
deviation value
average activity
artificial neural
Prior art date
Application number
KR1020180174232A
Other languages
English (en)
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 KR1020180174232A priority Critical patent/KR101991041B1/ko
Application granted granted Critical
Publication of KR101991041B1 publication Critical patent/KR101991041B1/ko
Priority to US16/971,917 priority patent/US12050992B2/en
Priority to PCT/KR2019/018803 priority patent/WO2020141858A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; 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
    • 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/048Activation functions
    • 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
    • G06N3/065Analogue 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/045Combinations of networks

Landscapes

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

Abstract

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

Description

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

Claims (11)

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

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180174232A KR101991041B1 (ko) 2018-12-31 2018-12-31 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법 및 그 시스템
US16/971,917 US12050992B2 (en) 2018-12-31 2019-12-31 Method for compensating for process variation by means of activation value adjustment in analog binarized neural network circuit, and system therefor
PCT/KR2019/018803 WO2020141858A1 (ko) 2018-12-31 2019-12-31 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법 및 그 시스템

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
KR101991041B1 true KR101991041B1 (ko) 2019-06-19

Family

ID=67104351

Family Applications (1)

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

Country Status (3)

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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110991623A (zh) * 2019-12-20 2020-04-10 中国科学院自动化研究所 基于数模混合神经元的神经网络运算系统
CN112863520A (zh) * 2021-01-18 2021-05-28 东南大学 一种二值权重卷积神经网络模块及其用于声纹识别的方法
KR102517156B1 (ko) * 2021-12-10 2023-04-03 인하대학교 산학협력단 경계값을 이용한 이진 인공신경망 학습 방법
KR20240103702A (ko) 2022-12-27 2024-07-04 광운대학교 산학협력단 인메모리 연산 기반 인공신경망의 훈련 연산 변이 보상 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220207354A1 (en) * 2020-12-31 2022-06-30 X Development Llc Analog circuits for implementing brain emulation neural networks
KR20220142875A (ko) * 2021-04-15 2022-10-24 에스케이하이닉스 주식회사 인메모리 연산을 수행하는 반도체 장치 및 그 동작 방법
CN114091848A (zh) * 2021-11-04 2022-02-25 北京北方华创微电子装备有限公司 半导体工艺配方自动获取方法、系统及半导体工艺设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100292919B1 (ko) 1992-03-30 2001-06-15 야스카와 히데아키 뉴럴 네트워크를 이용한 음성인식장치 및 그 학습방법
KR20110027916A (ko) 2009-09-11 2011-03-17 연세대학교 산학협력단 퍼셉트론 인공신경망의 가중치 부여 장치와 이를 이용한 탐지 장치, 탐지 시스템 및 탐지 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566092A (en) * 1993-12-30 1996-10-15 Caterpillar Inc. Machine fault diagnostics system and method
KR20140120287A (ko) * 2014-08-22 2014-10-13 국민대학교산학협력단 동적신경망을 이용한 이산화탄소 농도 기반 재실인원 추정 시스템
JP6933367B2 (ja) * 2017-09-20 2021-09-08 Tokyo Artisan Intelligence株式会社 ニューラルネットワーク回路装置、システム、処理方法および実行プログラム
US11170289B1 (en) * 2018-04-20 2021-11-09 Perceive Corporation Computation of neural network node by neural network inference circuit
US11704575B2 (en) * 2018-12-21 2023-07-18 Microsoft Technology Licensing, Llc Neural networks implemented with DSD circuits

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100292919B1 (ko) 1992-03-30 2001-06-15 야스카와 히데아키 뉴럴 네트워크를 이용한 음성인식장치 및 그 학습방법
KR20110027916A (ko) 2009-09-11 2011-03-17 연세대학교 산학협력단 퍼셉트론 인공신경망의 가중치 부여 장치와 이를 이용한 탐지 장치, 탐지 시스템 및 탐지 방법

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"Calibrating Process Variation at System Level with In-Situ Low-Precision Transfer Learning for Analog Neural Network Processors", (2018.06.24 공개)
Courbariaux, Matthieu, et al. Binarized neural networks: Training deep neural networks with weights and activations constrained to+ 1 or-1. arXiv preprint arXiv:1602.02830. 2016. *
Geman, Stuart, Elie Bienenstock, and René Doursat. Neural networks and the bias/variance dilemma. Neural computation 4.1. 1992. *
Jia, Kaige, et al. Calibrating process variation at system level with in-situ low-precision transfer learning for analog neural network processors. Annual Design Automation Conference. ACM. 2018.6. *
Rastegari, Mohammad, et al. Xnor-net: Imagenet classification using binary convolutional neural networks. European Conference on Computer Vision. Springer, Cham, 2016. *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110991623A (zh) * 2019-12-20 2020-04-10 中国科学院自动化研究所 基于数模混合神经元的神经网络运算系统
CN110991623B (zh) * 2019-12-20 2024-05-28 中国科学院自动化研究所 基于数模混合神经元的神经网络运算系统
CN112863520A (zh) * 2021-01-18 2021-05-28 东南大学 一种二值权重卷积神经网络模块及其用于声纹识别的方法
CN112863520B (zh) * 2021-01-18 2023-10-24 东南大学 一种二值权重卷积神经网络模块及其用于声纹识别的方法
KR102517156B1 (ko) * 2021-12-10 2023-04-03 인하대학교 산학협력단 경계값을 이용한 이진 인공신경망 학습 방법
KR20240103702A (ko) 2022-12-27 2024-07-04 광운대학교 산학협력단 인메모리 연산 기반 인공신경망의 훈련 연산 변이 보상 장치

Also Published As

Publication number Publication date
WO2020141858A1 (ko) 2020-07-09
US12050992B2 (en) 2024-07-30
US20210089893A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
KR101991041B1 (ko) 아날로그 이진인공신경망 회로에서 활성도 조절을 통한 공정변이 보상방법 및 그 시스템
US11663457B2 (en) Neural network circuits having non-volatile synapse arrays
US11544538B2 (en) Pulse driving apparatus for minimising asymmetry with respect to weight in synapse element, and method therefor
CN109543827B (zh) 生成式对抗网络装置及训练方法
US20180330236A1 (en) Neural network processing system
US9111222B2 (en) Method and apparatus for switching the binary state of a location in memory in a probabilistic manner to store synaptic weights of a neural network
US10733039B2 (en) Effective chip yield for artificial intelligence integrated circuit with embedded memory
CN111837341A (zh) 用于混合信号计算的系统和方法
TWI699711B (zh) 記憶體裝置及其製造方法
CN112041928A (zh) 忆阻器交叉杆阵列中模型/权重编程的加速
US11138501B2 (en) Hardware-implemented training of an artificial neural network
KR102577326B1 (ko) 온-디바이스 양자화기를 포함하는 신경망 연산 장치, 신경망 연산 장치의 동작 방법, 그리고 신경망 연산 장치를 포함하는 컴퓨팅 장치
JP7196803B2 (ja) 人工ニューラルネットワーク回路及び人工ニューラルネットワーク回路における学習値切替方法
US11461640B2 (en) Mitigation of conductance drift in neural network resistive processing units
Ahmed et al. Compact functional test generation for memristive deep learning implementations using approximate gradient ranking
WO2020129204A1 (ja) ニューロモーフィック回路、ニューロモーフィックアレイの学習方法およびプログラム
CN115796252A (zh) 权重写入方法及装置、电子设备和存储介质
KR102540054B1 (ko) 다중 소자 기반의 시냅스를 이용한 신경망 학습 장치 및 방법
US20220269932A1 (en) Synaptic circuit and neural networking apparatus
US20220101142A1 (en) Neural network accelerators resilient to conductance drift
Ahmed et al. Fault-Tolerant Neuromorphic Computing With Memristors Using Functional ATPG for Efficient Recalibration
CN110729010B (zh) 半导体电路及其操作方法
Shim Impact of 3D NAND current variation on inference accuracy for in-memory computing
KR102511526B1 (ko) 하드웨어 기반 인공 신경망 제공 장치
US20230186068A1 (en) Weight confirmation method for an analog synaptic device of an artificial neural network

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant