KR20220165192A - 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법 - Google Patents

펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법 Download PDF

Info

Publication number
KR20220165192A
KR20220165192A KR1020220064093A KR20220064093A KR20220165192A KR 20220165192 A KR20220165192 A KR 20220165192A KR 1020220064093 A KR1020220064093 A KR 1020220064093A KR 20220064093 A KR20220064093 A KR 20220064093A KR 20220165192 A KR20220165192 A KR 20220165192A
Authority
KR
South Korea
Prior art keywords
output current
error
current
neural network
charge
Prior art date
Application number
KR1020220064093A
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 PCT/KR2022/008038 priority Critical patent/WO2022260413A1/ko
Publication of KR20220165192A publication Critical patent/KR20220165192A/ko

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
    • G06N3/065Analogue means
    • G06N3/0635
    • 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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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

Landscapes

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

Abstract

펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법이 개시되며, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치는, 입력 데이터 및 단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가하는 입력부, 상기 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득하고, 상기 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득하는 연산부 및 상기 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링하는 전하 적분부를 포함할 수 있다.

Description

펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법{APPARATUS AND METHOD WITH TRANSITION-ERROR CORRECTION SCHEME FOR PULSE-WIDTH BASED IN-MEMORY NEURAL NETWORK PROCESSOR}
본원은 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법에 관한 것이다.
최근 빅데이터 처리에 대한 수요가 급증함에 따라 수많은 정보 중에서 의미 있는 데이터 선별을 용이하게 하는 딥 러닝과 같은 인공지능 시스템이 중요해졌으며, 이에 따라 소프트웨어 영역에서는 딥 러닝 알고리즘에 대한 연구가 활발히 진행되고 있다.
딥 러닝 알고리즘은 출력 결과의 정확도를 높이기 위하여 네트워크의 크기와 복잡도를 늘리는 방향으로 발전하였으며 이런 흐름에 따라 하드웨어 영역에서는 기존의 중앙프로세서(CPU) 중심에서 메모리 중심으로 컴퓨터 패러다임의 변화가 일어나고 있다. 딥 러닝 알고리즘의 대표적인 연산 중 하나인 인공 신경망 연산은 많은 수의 곱셈과 덧셈을 반복적으로 수행하는 맥(MAC, multiply and accumulate)으로 구성되어 있으며, 이를 효율적으로 처리하기 위한 인-메모리 컴퓨팅이라는 연산 방식이 근래 소개되어 활발히 연구되고 있다.
인-메모리 컴퓨팅은 인공신경망의 가중치 계수(weight coefficient)를 저장하는 로컬 캐쉬 메모리와 연산기를 병합하여 아날로그 도메인에서 데이터를 읽고 연산을 하며, 데이터의 병렬 처리를 극대화함으로써 메모리 접근에 소모되는 에너지를 절약한다.
도 1은 기존 디지털 방식의 연산기와 인-메모리 컴퓨팅 방식의 연산기를 나타낸 도면이고, 도 2는 전류 영역 인공신경망 연산기의 구조 및 입력 펄스의 천이구간으로 인해 발생하는 출력 오차를 나타낸 도면이다.
도 1 및 도 2를 참조하면, 인-메모리 방식의 인공신경망 연산기는 해당 연산이 이루어지는 아날로그 도메인의 종류에 따라 크게 전압 영역과 전류 영역 연산기로 분류할 수 있다. 전류 영역 연산기의 경우 주로 ReRAM(Resistive-RAM) 또는 MRAM(Magnetic-RAM)과 같이 전류의 크기를 통하여 읽기 및 쓰기 동작을 수행하는 메모리 구조를 사용한다. 입력 데이터 신호를 워드라인(WL, wordline)에 주로 펄스 폭 변조 방식(PWM, pulse width modulation)을 사용하여 인가하며, 가중치 계수는 전류 미러(current mirror) 구조를 사용하여 다중 비트(multibit) 해상도를 구현하여 최종적으로 얻어진 전류 값을 아날로그-디지털 변환기(ADC, A/D converter)를 통과시켜 디지털 맥 출력 값을 얻게 된다.
또한, 병렬 처리를 위하여 여러 개의 메모리 행에서 나온 전류를 합치는 과정에서 각각의 메모리 셀에 저장된 가중치 계수 값에 따라 출력 전류 값이 변동하는 것을 막기 위하여 메모리의 비트 라인(BL, bitline)에는 버츄얼 그라운드(virtual ground)를 형성하여 전압 값을 일정하게 유지시켜 주는 레퍼런스 버퍼(reference buffer) 회로가 존재한다.
한편 펄스 폭 변조 방식으로 데이터를 인가할 경우 펄스의 천이(transition) 구간의 기울기가 유한하기 때문에 전류 오차가 생기며, 이로 인해 가중치 계수의 값이 0인 경우에도 0이 아닌 출력 전류가 나타나는 현상이 나타난다. 이로 인해 전체적인 맥 출력 특성이 가중치 계수에 비례하는 오프셋을 가지는 형태로 나타나는 오차 문제가 발생한다. 이와 관련하여 도 3은 가중치 계수에 비례하는 오차를 가지는 연산기 출력 특성 그래프이다.
이를 해결하기 위해 다른 방법으로 데이터를 인가하거나 디지털 도메인에서 출력 값을 후 보정하는 방식의 연구가 이루어져왔다.
예를 들어, 카운터를 이용하여 단일 펄스를 입력 데이터에 비례하는 개수만큼 인가하여 데이터를 입력하는 방식이 있는데 이는 디지털 카운터의 특성 상 데이터의 해상도가 높아질 경우 전체 시스템의 처리 속도(throughput)를 급격하게 떨어뜨리는 단점이 존재한다.
또한 디지털 후-보정 방법의 경우 가중치 계수 값에 따라 출력 오차가 달라지기 때문에 가중치 계수 정보를 미리 알아야 실질적으로 정확한 보정이 가능하다는 허점이 존재한다.
본원의 배경이 되는 기술은 한국공개특허공보 제10-2021-0043762호에 개시되어 있다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 연산기 구조 및 가중치 계수를 그대로 사용하여 펄스 폭 변조 방식에 기초하여 인가되는 입력 데이터의 펄스 천이 오차를 보정하는 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법을 제공하려는 것을 목적으로 한다.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치는, 입력 데이터 및 단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가하는 입력부, 상기 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득하고, 상기 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득하는 연산부 및 상기 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링하는 전하 적분부를 포함할 수 있다.
또한, 상기 제2연산 결과는 상기 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응할 수 있다.
또한, 상기 전하 적분부는, 상기 제1연산 결과에 대응하는 제1출력 전류 및 상기 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자를 포함할 수 있다.
또한, 상기 연산부는, 상기 제1출력 전류의 방향과 상기 제2출력 전류의 방향이 서로 반대 방향이 되도록 양방향 전류 미러(Bidirectional Current Mirror)를 포함할 수 있다.
또한, 상기 제1출력 전류에 의해 상기 커패시터 소자의 제1전극의 전하가 방전되어 출력 전압이 상승하고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 오차 성분에 대응하는 전압이 제거될 수 있다.
또한, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치는, 상기 가중치를 저장하는 메모리 소자를 포함하는 저장부를 포함할 수 있다.
또한, 상기 연산부는, 상기 메모리 소자의 비트 라인에 대하여 가상 접지를 형성하는 레퍼런스 버퍼를 포함할 수 있다.
또한, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치는, 상기 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 변환부를 포함할 수 있다.
또한, 상기 연산부는, 상기 제1출력 전류 또는 상기 제2출력 전류가 상기 커패시터 소자로 선택적으로 인가되도록 온오프되는 스위치 소자를 포함할 수 있다.
또한, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치는, 상기 입력 데이터가 인가되는 구간, 상기 단위 펄스 데이터가 인가되는 구간 및 상기 스위치 소자가 온오프되는 구간을 제어하기 위한 제어부를 포함할 수 있다.
한편, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법은, 입력 데이터를 펄스 폭 변조 방식에 기초하여 인가하고, 상기 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득하는 단계, 단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가하고, 상기 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득하는 단계 및 상기 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링하는 단계를 포함할 수 있다.
또한, 상기 샘플링하는 단계는, 상기 제1연산 결과에 대응하는 제1출력 전류 및 상기 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자를 이용하여 상기 전하를 샘플링할 수 있다.
또한, 상기 샘플링하는 단계는, 상기 제1출력 전류에 의해 상기 커패시터 소자의 제1전극의 전하가 방전되어 출력 전압이 상승하고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 오차 성분에 대응하는 전압이 제거될 수 있다.
또한, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법은, 상기 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 단계를 포함할 수 있다.
한편, 본원의 일 실시예에 따른 천이 오차 보정 기법이 적용된 펄스폭 기반 전류 영역 인-메모리 신경망 연산 회로는, 신경망의 가중치를 저장하는 메모리 소자의 비트 라인에 대하여 가상 접지를 형성하는 레퍼런스 버퍼, 펄스 폭 변조 방식에 기초하여 인가되는 입력 데이터 및 상기 가중치에 기초한 제1출력 전류와 단위 펄스 데이터에 기초한 제2출력 전류를 상호 반대 방향이 되도록 출력하는 양방향 전류 미러, 상기 제1출력 전류 및 상기 제2출력 전류에 대응하는 전하를 샘플링하는 전하량 적분기 및 상기 샘플링 결과에 대응하는 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 아날로그-디지털 신호 변환기를 포함할 수 있다.
또한, 상기 전하량 적분기는, 상기 제1출력 전류에 의해 제1전극의 전하가 방전되어 상기 출력 전압을 상승시키고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 전압을 제거하는 커패시터 소자를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 연산기 구조 및 가중치 계수를 그대로 사용하여 펄스 폭 변조 방식에 기초하여 인가되는 입력 데이터의 펄스 천이 오차를 보정하는 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법을 제공할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 오차 보정을 위해 별도의 회로를 사용하지 않기 때문에 구조가 간단하며 처리 속도를 크게 저하시키지 않는 방식으로 동작할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 오차 보정을 위해 연산기와 가중치 계수를 그대로 재사용하기 때문에 디지털 후-보정 방식이 가지는 문제점으로부터 자유로울 수 있다.
전술한, 본원의 과제 해결 수단에 의하면, 기존의 전류영역 인공신경망 연산기는 높은 연산 효율에도 불구하고 근원적이 펄스 천이 오차 때문에 상용화가 어려웠던 것과 달리, 본원에서 개시하는 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 기법은 연산기 구조를 재사용하여 오차를 제거하기 때문에 디바이스 미스매치 문제에서 자유롭고 공정-전압-온도 변이와 상관없이 항상 정확한 크기의 오차를 제거하여 아날로그 인공 신경망 연산기의 상용화의 큰 걸림돌을 제거할 수 있다.
다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.
도 1은 기존 디지털 방식의 연산기와 인-메모리 컴퓨팅 방식의 연산기를 나타낸 도면이다.
도 2는 전류 영역 인공신경망 연산기의 구조 및 입력 펄스의 천이구간으로 인해 발생하는 출력 오차를 나타낸 도면이다.
도 3은 가중치 계수에 비례하는 오차를 가지는 연산기 출력 특성 그래프이다.
도 4는 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 회로도이다.
도 5는 양 방향 전류 미러와 전하량 적분기의 구조를 나타낸 도면이다.
도 6은 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 구동을 위한 타이밍도를 예시적으로 나타낸 도면이다.
도 7은 오차 보정이 적용되기 전과 본원의 일 실시예에 따른 오차 보정 기법 적용후의 인공신경망 연산기 출력 특성을 비교하여 나타낸 시뮬레이션 그래프이다.
도 8은 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 개략적인 구성도이다.
도 9는 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법에 대한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본원은 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법에 관한 것이다.
도 4는 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 회로도이다.
도 4를 참조하면, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치(100)(이하, '오차 교정 장치(100)'라 한다.)는 입력부(110), 저장부(120) 및 천이 오차 보정 기법이 적용된 펄스폭 기반 전류 영역 인-메모리 신경망 연산 회로(1000)(이하, '신경망 연산 회로(1000)'라 한다.)를 포함할 수 있다.
입력부(110)는 입력 데이터 및 단위 펄스 데이터를 펄스 폭 변조(Pulse Width Modulation, PWM) 방식에 기초하여 인가할 수 있다. 도 4를 참조하면, 입력부(110)는 입력 데이터 또는 단위 펄스 데이터에 대응하는 신호를 워드라인(wordline, WL)에 펄스 폭 변조 방식(PWM, pulse width modulation)을 사용하여 인가하는 DTC(Digital-to-Time Converter) 회로를 포함할 수 있으나, 이에만 한정되는 것은 아니다.
저장부(120)는 가중치를 저장하는 메모리 소자를 포함할 수 있다. 이와 관련하여, 가중치는 신경망의 연산을 위해 기 저장되는 가중치 계수(Weight Coefficient) 등으로 달리 지칭될 수 있으며, 예시적으로 메모리 소자는 로컬 캐쉬 메모리일 수 있다. 또한, 본원의 일 실시예에 따르면, 메모리 소자는 ReRAM(Resistive-RAM) 또는 MRAM(Magnetic-RAM)과 같이 전류의 크기 정보에 기반하여 읽기 및 쓰기 동작을 수행하는 메모리 구조로 이루어질 수 있으나, 이에만 한정되는 것은 아니다.
또한, 본원의 일 실시예에 따르면, 저장부(120)의 메모리 소자는 신경망의 연산을 위한 복수의 가중치(가중치 계수)를 각각 개별 저장하는 복수의 메모리 셀을 포함하는 구조로 이루어질 수 있으며, 복수의 셀은 여러 개의 메모리 행을 이루도록 병렬적으로 배치될 수 있다.
또한, 도 4를 참조하면, 신경망 연산 회로(1000)는 레퍼런스 버퍼(131), 양방향 전류 미러(132), 전하량 적분기(140) 및 아날로그-디지털 신호 변환기(150)를 포함할 수 있다.
구체적으로, 레퍼런스 버퍼(131)는 신경망의 가중치를 저장하는 메모리 소자의 비트 라인에 대하여 가상 접지를 형성할 수 있다. 이와 관련하여, 레퍼런스 버퍼(131)는 병렬 처리를 위하여 여러 개의 메모리 행에서 나온 전류를 합치는 과정에서 각각의 메모리 셀에 저장된 가중치 계수 값에 따라 출력 전류 값이 변동하는 것을 막기 위하여 메모리의 비트 라인(BL, bitline)에는 버츄얼 그라운드(virtual ground)를 형성하여 전압 값을 일정하게 유지시키기 위한 회로일 수 있다.
보다 구체적으로, 본원에서 개시하는 오차 교정 장치(100)는 메모리 소자에서 연산이 이루어지는 각 셀(cell)의 소자 저항 값이 낮은 저항 상태(LRS, low resistance state)인지 높은 저항 상태(HRS, high resistance state)인지에 따라 비트 라인 측에서 보이는 등가 저항 값이 달라지는 것을 고려하여, 메모리 소자에 저장된 각각의 가중치(가중치 계수)의 값의 영향을 받지 않고 각 셀의 전류를 일관되게 유지하기 위한 레퍼런스 버퍼(131)를 구비할 수 있다.
양방향 전류 미러(132)는 펄스 폭 변조 방식에 기초하여 인가되는 입력 데이터 및 가중치에 기초한 제1출력 전류와 단위 펄스 데이터에 기초한 제2출력 전류를 상호 반대 방향이 되도록 출력할 수 있다.
한편 이와 관련하여, 제1출력 전류는 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행한 제1연산 결과에 대응하고, 제2출력 전류는 입력 데이터 외에 추가로 인가된 단위 펄스 데이터 및 가중치에 기초한 연산을 수행한 제2연산 결과에 대응하는 것일 수 있다. 또한, 본원의 실시예에 관한 설명에서 단위 펄스 데이터는 입력 데이터의 값이 0인 경우에 해당하는 데이터를 포함할 수 있다.
또한, 본원의 실시예에 관한 설명에서 가중치에 기초한 연산은 곱셈 연산 및 덧셈 연산을 반복적으로 수행하는 곱셈-누산 연산(multiply-accumulate operation, MAC)을 지칭하는 것일 수 있으며, 오차 교정 장치(100)에 구비되는 메모리 소자(후술하는 저장부(120)에 대응)는 아날로그 도메인에서 데이터를 읽고 자체적으로 연산을 수행하며, 데이터의 병렬 처리를 극대화함으로써 메모리 접근에 소모되는 에너지를 절약하도록 가중치 계수(weight coefficient)를 저장하는 로컬 캐쉬 메모리와 연산기를 병합한 형태의 인-메모리 컴퓨팅 기반의 메모리 소자(Memory with Embedded Analog Computation)일 수 있다.
전하량 적분기(140)는 제1출력 전류 및 제2출력 전류에 대응하는 전하를 샘플링할 수 있다.
이와 관련하여, 도 5는 양 방향 전류 미러와 전하량 적분기의 구조를 나타낸 도면이고, 도 6은 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 구동을 위한 타이밍도를 예시적으로 나타낸 도면이다.
도 5 및 도 6을 참조하면, 입력 데이터가 인가되는 제1페이즈(달리 말해, '맥 연산 단계', Φ1)에서는 양방향 전류 미러(132)는 메모리 소자의 셀 전류(ICell)를 복사하여 다중 비트 가중치 계수를 반영하는 제1출력 전류(IMAC)를 생성하며, 이에 따라 전하량 적분기(140)의 커패시터 소자(141, CL)의 제1전극(예를 들면, 도 5의 왼쪽 전극)에서 전하가 방전되고, 방전된 전하량에 비례하는 크기만큼 출력 전압(Vout)이 증가하는 것일 수 있다(도 6의 VMAC 참조).
이어서, 천이 오차의 보정(교정)을 위한 단위 펄스 데이터가 인가되는 제2페이즈(달리 말해, '오차 보정 단계', Φ2)에서는 오차 성분에 따른 전류인 제2출력 전류(IError)가 제1페이즈에서와 반대 방향으로 흐르도록 양방향 전류 미러(132)를 통해 복사됨으로써 제1페이즈에서와 반대로 커패시터 소자(141, CL)의 제1전극(예를 들면, 도 5의 왼쪽 전극)에 전하가 충전되고, 충전된 전하량에 이에 비례하는 만큼 출력 전압(Vout)이 감소하게 된다(도 6의 VError 참조).
결과적으로, 양방향 전류 미러(132)와 전하량 적분기(140)에 의해 입력 데이터 및 기 저장된 가중치(가중치 계수)에 기초한 맥(MAC) 연산 결과에서 단위 펄스 데이터에 대응하는 오차 성분이 제거된 만큼이 최종적인 출력 전압(Vout)으로 형성되어 오차 보정이 이루어지는 것일 수 있다. 또한, 전하량 적분기(140)의 커패시터 소자(141)에 걸리는 전압으로서 제1출력 전류(IMAC)와 제2출력 전류(IError)에 대한 샘플링 결과에 대응하는 출력 전압(Vout)은 아날로그-디지털 신호 변환기(150)를 통해 아날로그 신호 형태에서 디지털 형태의 신호로 최종 변환될 수 있다.
종합하면, 양방향 전류 미러(132)는 맥 연산 단계(제1페이즈)에서는 메모리 소자에 기 저장된 가중치(예를 들면, 이진 수 형태의 가중치 계수 값)에 해당하는 전류를 받아서 다중 비트 가중치 계수를 구성하여 출력 전류(예를 들면, 십진 수 형태의 전류)를 생성할 수 있으며, 오차 보정 단계(제2페이즈)에서는 펄스 형태의 입력 데이터의 천이 오차에 대응하는 성분인 오차 전류에 해당하는 전류를 제1페이즈에서와 동일하게 출력 전류(예를 들면, 십진 수 형태의 전류)로 생성하되, 전류의 방향을 바꾸어 출력할 수 있다.
즉, 양방향 전류 미러(132)에 의해 맥 연산에 의한 출력 전류인 제1출력 전류가 흐르는 방향과 오차 보정을 위한 출력 전류인 제2출력 전류가 흐르는 방향이 서로 반대 방향이 되도록 전하량 적분기(140)로 인가되기 때문에 후속 단의 전하량 적분기(140)에서 아날로그 도메인에 기반한 뺄셈 연산을 구현할 수 있으며 이를 통해 오차 보정이 이루어지는 것일 수 있다.
또한, 전하량 적분기(140)는 맥 연산 전류와 오차 전류를 각각 전하의 형태로 커패시터 소자(141)에 샘플링하여 아날로그 도메인에서의 뺄셈 연산을 구현하는 회로로서, 예시적으로 인버터 기반의 증폭기(inverter-based amplifier)를 구비하는 간단한 구조로 이루어질 수 있으며, 이 경우 입력 전류를 전압의 형태로 바꾸어 인버터의 전압이득(voltage gain)만큼 증폭하여 출력하도록 동작할 수 있다.
이와 같이, 본원에서 개시하는 오차 교정 장치(100)는 맥 연산 단계(제1페이즈)와 아날로그 디지털 변환 단계 사이에 오차 보정 단계(제2페이즈)를 추가하고 맥 연산 결과를 산출하기 위한 동일한 회로 구조를 재사용하여 오차 전류를 생성하고, 아날로그 도메인에서 뺄셈 연산을 구현함으로써 효율적인 출력 오차 보정이 가능한 이점이 있다.
도 7은 오차 보정이 적용되기 전과 본원의 일 실시예에 따른 오차 보정 기법 적용후의 인공신경망 연산기 출력 특성을 비교하여 나타낸 시뮬레이션 그래프이다.
도 7을 참조하면, 왼쪽 그림에서 오차 보정이 없을 경우 가중치 계수에 비례하는 오프셋을 가지는 출력 특성을 확인 가능하며, 오른쪽 그림에서 오차 보정 기법이 적용되었을 경우 해당 오프셋이 현저하게 줄어들어 입력 데이터 값이 0일 때 출력 값이 한 점에 가깝게 모이는 모양을 확인할 수 있다.
종합하면, 본원에서 개시하는 오차 교정 장치(100)에 의할 때, 펄스폭 변조 방식으로 입력 데이터를 인가하여 맥 연산을 먼저 수행한 후, 단위 펄스를 한 번 더 인가하여 오차에 해당하는 값을 생성한 후 아날로그 전류 도메인에서 뺄셈 연산을 수행하는 방식으로 간단하게 오차 교정이 이루어질 수 있으며, 오차 보정(에러 제거)를 위한 별도의 회로를 구성하지 않고 연산기 회로를 그대로 재사용하여 오차 보정이 가능한 이점이 있다.
도 8은 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 개략적인 구성도이다.
도 8을 참조하면, 오차 교정 장치(100)는 입력부(110), 저장부(120), 연산부(130), 전하 적분부(140), 변환부(150) 및 제어부(160)를 포함할 수 있다.
입력부(110)는 입력 데이터 및 단위 펄스 데이터를 펄스 폭 변조(Pulse Width Modulation, PWM) 방식에 기초하여 인가할 수 있다.
저장부(120)는 가중치를 저장하는 메모리 소자를 포함할 수 있다.
연산부(130)는 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득할 수 있다.
또한, 연산부(130)는 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득할 수 있다. 여기서, 제2연산 결과는 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 것일 수 있다.
또한, 본원의 일 실시예에 따르면, 연산부(130)는 제1출력 전류의 방향과 제2출력 전류의 방향이 서로 반대 방향이 되도록 양방향 전류 미러(Bidirectional Current Mirror, 131)를 구비할 수 있다.
또한, 본원의 일 실시예에 따르면, 연산부(130)는 메모리 소자의 비트 라인(bitline, BL)에 대하여 가상 접지(Virtual Ground)를 형성하는 레퍼런스 버퍼(131)를 포함할 수 있다.
또한, 본원의 일 실시예에 따르면, 연산부(130)는 제1출력 전류 또는 제2출력 전류가 커패시터 소자(141)로 선택적으로 인가되도록 온오프되는 스위치 소자를 포함할 수 있다.
전하 적분부(140)는 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링할 수 있다. 구체적으로, 전하 적분부(140)는 제1연산 결과에 대응하는 제1출력 전류 및 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자(141)를 포함할 수 있다.
이와 관련하여, 전하 적분부(140)에서는 제1출력 전류에 의해 커패시터 소자(141)의 제1전극의 전하가 방전되어 출력 전압이 상승하고, 제2출력 전류에 의해 커패시터 소자(141)의 제1전극의 전하가 충전되어 출력 전압으로부터 오차 성분에 대응하는 전압이 제거되는 것일 수 있다.
변환부(150)는 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환할 수 있다. 예를 들어, 변환부(150)는 종래에 이미 공지되었거나 향후 개발될 수 있는 다양한 형태의 ADC(Analog-to-Digital Converter) 모듈을 포함할 수 있다.
제어부(160)는 입력 데이터가 인가되는 구간, 단위 펄스 데이터가 인가되는 구간 및 스위치 소자가 온오프되는 구간을 제어할 수 있다.
이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.
도 9는 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법에 대한 동작 흐름도이다.
도 9에 도시된 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법은 앞서 설명된 오차 교정 장치(100)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 오차 교정 장치(100)에 대하여 설명된 내용은 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법에 대한 설명에도 동일하게 적용될 수 있다.
도 9를 참조하면, 단계 S11에서 입력부(110)는 입력 데이터를 펄스 폭 변조 방식에 기초하여 인가할 수 있다.
다음으로, 단계 S12에서 연산부(130)는 단계 S11에서 인가된 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득할 수 있다.
다음으로, 단계 S13에서 입력부(110)는 단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가할 수 있다.
다음으로, 단계 S14에서 연산부(130)는 단계 S13에서 인가된 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득할 수 있다. 여기서, 제2연산 결과는 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 것일 수 있다.
다음으로, 단계 S15에서 전하 적분부(140)는 제1연산 결과 및 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링할 수 있다.
구체적으로, 단계 S15에서 전하 적분부(140)는 제1연산 결과에 대응하는 제1출력 전류 및 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자(141)를 이용하여 전하를 샘플링할 수 있다.
또한, 본원의 일 실시예에 따르면, 단계 S15에서 전하 적분부(140)는 제1출력 전류에 의해 커패시터 소자(141)의 제1전극의 전하가 방전되어 출력 전압이 상승하도록 하고, 이와 반대로 제2출력 전류에 의해 제1전극의 전하가 충전되어 출력 전압으로부터 오차 성분에 대응하는 전압이 제거되도록 하여 아날로그 도메인(전류 도메인)에서 오차 성분 제거를 위한 뺄셈 연산을 구현할 수 있다.
한편, 단계 S115에서 제어부(160)는 제1출력 전류 또는 제2출력 전류가 커패시터 소자(141)로 선택적으로 인가되도록 구비되는 스위치 소자가 온오프되는 구간을 제어할 수 있다.
다음으로, 단계 S16에서 변환부(150)는 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환할 수 있다.
상술한 설명에서, 단계 S11 내지 S16은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 전술한 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.
지금까지 상술한 본원의 일 실시예에 따른 오차 교정 장치(100)에 대한 설명은, 본원의 구현예에 따라서, 하기에서 서술하는 본원의 다른 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 기법에 대한 설명을 통해서 이해될 수 있다. 따라서, 이하, 생략된 내용이라고 하더라도 상술한 본원의 일 실시예에 따른 오차 교정 장치(100)에 대하여 설명된 내용은 하기의 본원의 다른 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 기법에도 동일하게 적용될 수 있다.
본원의 다른 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 기법은 전류 영역 인-메모리 인공신경망 연산기에 생기는 출력 오차 문제를 해결할 수 있는 간단한 회로 구조를 제안한다. 출력 오차 문제라 함은 연산기에서 입력 데이터를 펄스 폭 변조 방식으로 인가할 때 펄스의 천이구간으로 인해 가중치 계수 값에 비례하는 연산 출력 오차가 발생하는 현상을 말한다. 본 발명에서 제안하는 회로 시스템은 입력 데이터에 해당하는 펄스를 인가한 후에 추가적으로 단위 펄스를 인가하여 위의 출력 오차에 해당하는 전류를 생성한 뒤, 전류 도메인에서의 뺄셈을 통해 오차를 상쇄시키는 구조로 동작한다.
구체적으로는, 맥 연산 단계에서는 입력 데이터와 가중치 계수 간의 연산을 수행하여, 해당 연산 결과로 얻어진 값을 레퍼런스 버퍼와 전류 미러를 통과시켜 얻은 전류를 커패시터에 전하의 형태로 저장하며, 여기에는 펄스의 천이구간에 의한 오차 성분이 포함되어 있다. 이어지는 오차 보정 단계에서 입력 데이터 값이 0인 경우에 해당하는 단위 펄스를 추가로 인가하여 앞에서 나타난 오차 성분과 동일한 값에 해당하는 전류를 생성한다. 이후 레퍼런스 버퍼를 동일하게 통과시킨 후 전류 미러에서 전류의 방향을 바꾸어 커패시터에서 전하를 빼내는 방향으로 동작 시켜서 출력 오차를 상쇄시킨다. 최종적으로 이 결과를 아날로그 전압으로 샘플링하여 ADC를 통과시키면 출력 오차가 보정된 맥 연산 결과를 얻을 수 있다. 맥 연산기 구조를 그대로 재사용하여 출력 오차를 생성시키기 때문에 디바이스의 미스매치 문제에서 자유로우며, 공정-전압-온도 변이에 강인한 특성을 가진다.
본원에서 개시하는 출력 오차 보정 기법이 적용된 전류 영역 인-메모리 인공신경망 연산기 시스템은 비트라인 전압 클램핑을 위한 레퍼런스 버퍼(Reference Buffer for Bit-Line Voltage Clamping), 양 방향 전류 미러(Bidirectional Current Mirror), 전하량 적분기(Charge Integrator), 아날로그-디지털 변환기(Analog to Digital Converter)로 크게 총 4가지 종류의 회로로 구성될 수 있다.
먼저, 비트라인 전압 클램핑을 위한 레퍼런스 버퍼(Reference Buffer for Bit-Line Voltage Clamping)는 메모리 어레이에서 연산이 이루어지는 각 셀(cell)의 소자 저항 값이 낮은 저항 상태(LRS, low resistance state)인지 높은 저항 상태(HRS, high resistance state)인지에 따라 비트라인에서 보이는 등가 저항 값이 달라지기 때문에 메모리에 저장된 가중치 계수의 값과 무관하게 각 셀의 전류를 일관되게 유지하기 위한 레퍼런스 버퍼가 필요하다.
다음으로, 양 방향 전류 미러(Bidirectional Current Mirror)는 맥 연산 단계(phase)에서는 나온 이진 수의 가중치 계수 값에 해당하는 전류를 받아서 다중 비트 가중치 계수를 구성하여 십진 수의 전류를 만들어내며, 오차 보정 단계에서는 오차 전류에 해당하는 전류를 동일하게 십진 수의 전류로 구성하되 전류의 방향을 바꾸어 출력하는 회로이다. 즉, 맥 연산 시의 전류 방향과 오차 보정 시의 전류 방향이 서로 반대이기 때문에 후속 단의 전하량 적분기를 활용하여 아날로그 도메인에서 뺄셈을 구현할 수 있으며 이를 통해 오차 보정이 이루어진다.
또한, 전하량 적분기(Charge Integrator)는 맥 연산 전류와 오차 전류를 각각 전하의 형태로 커패시터에 샘플링하여 뺄셈을 구현하는 회로이다. 인버터 기반의 증폭기(inverter-based amplifier)를 사용하여 간단한 구조로 이루어져 있으며 입력 전류를 전압의 형태로 바꾸어 인버터의 전압이득(voltage gain)만큼 증폭하여 출력하는 구조이다.
또한, 아날로그-디지털 신호 변환기(Analog-to-Digital Converter)는 앞 단에서 얻은 오차 보정된 출력을 입력으로 받아 연속적인 아날로그 신호를 디지털 신호로 바꿔주는 일반적인 아날로그-디지털 신호 변환기이며, 일반적인 ADC와 같이 입력으로 받은 아날로그 신호의 값을 디지털 값으로 양자화 한다.
따라서, 본원에서 개시하는 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 기법에 의할 때, 맥 연산 단계와 아날로그 디지털 변환 단계 사이에 오차 보정 단계를 추가하고 동일한 회로를 재사용하여 오차 전류를 생성하면 아날로그 도메인에서 뺄셈을 통하여 효율적인 출력 오차 보정이 가능하다.
또한, 맥 연산 단계(Φ1)에서 전류 미러를 통해 메모리 셀의 전류를 복사하여 다중 비트 가중치 계수를 출력 전류로 만들어내며, 이에 따라 커패시터의 왼쪽 전극에서 전하를 방전되고 이에 비례하는 크기만큼 출력 전압은 증가하게 된다. 오차 보정 단계(Φ2)에서는 오차 전류가 앞의 단계와 반대 방향으로 흐르면서 왼쪽 전극에 전하가 충전되고 이에 비례하는 만큼 출력 전압이 감소하게 된다. 결과적으로 맥 연산 결과에서 오차 성분이 제거된 만큼이 최종 출력 전압으로 형성되어 오차 보정이 이루어지며, 마지막으로 해당 전압 값을 아날로그/디지털 신호 변환기를 통과시켜 디지털 출력 값을 얻을 수 있다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.
100: 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치
110: 입력부
120: 저장부
130: 연산부
131: 레퍼런스 버퍼
132: 양방향 전류 미러
140: 전하 적분부, 전하량 적분기
141: 커패시터 소자
150: 변환부, 아날로그-디지털 신호 변환기
160: 제어부
1000: 천이 오차 보정 기법이 적용된 펄스폭 기반 전류 영역 인-메모리 신경망 연산 회로

Claims (18)

  1. 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치에 있어서,
    입력 데이터 및 단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가하는 입력부;
    상기 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득하고, 상기 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득하는 연산부; 및
    상기 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링하는 전하 적분부,
    를 포함하는, 오차 교정 장치.
  2. 제1항에 있어서,
    상기 제2연산 결과는 상기 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 것인, 오차 교정 장치.
  3. 제2항에 있어서,
    상기 전하 적분부는,
    상기 제1연산 결과에 대응하는 제1출력 전류 및 상기 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자를 포함하는 것인, 오차 교정 장치.
  4. 제3항에 있어서,
    상기 연산부는,
    상기 제1출력 전류의 방향과 상기 제2출력 전류의 방향이 서로 반대 방향이 되도록 양방향 전류 미러(Bidirectional Current Mirror)를 포함하는 것인, 오차 교정 장치.
  5. 제4항에 있어서,
    상기 제1출력 전류에 의해 상기 커패시터 소자의 제1전극의 전하가 방전되어 출력 전압이 상승하고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 오차 성분에 대응하는 전압이 제거되는 것인, 오차 교정 장치.
  6. 제1항에 있어서,
    상기 가중치를 저장하는 메모리 소자를 포함하는 저장부,
    를 더 포함하는 것인, 오차 교정 장치.
  7. 제6항에 있어서,
    상기 연산부는,
    상기 메모리 소자의 비트 라인에 대하여 가상 접지를 형성하는 레퍼런스 버퍼를 포함하는 것인, 오차 교정 장치.
  8. 제5항에 있어서,
    상기 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 변환부,
    를 더 포함하는 것인, 오차 교정 장치.
  9. 제4항에 있어서,
    상기 연산부는,
    상기 제1출력 전류 또는 상기 제2출력 전류가 상기 커패시터 소자로 선택적으로 인가되도록 온오프되는 스위치 소자를 포함하는 것인, 오차 교정 장치.
  10. 제9항에 있어서,
    상기 입력 데이터가 인가되는 구간, 상기 단위 펄스 데이터가 인가되는 구간 및 상기 스위치 소자가 온오프되는 구간을 제어하기 위한 제어부,
    를 더 포함하는 것인, 오차 교정 장치.
  11. 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법에 있어서,
    입력 데이터를 펄스 폭 변조 방식에 기초하여 인가하고, 상기 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득하는 단계;
    단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가하고, 상기 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득하는 단계; 및
    상기 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링하는 단계,
    를 포함하는, 천이 오차 교정 방법.
  12. 제11항에 있어서,
    상기 제2연산 결과는 상기 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 것인, 오차 교정 방법.
  13. 제12항에 있어서,
    상기 샘플링하는 단계는,
    상기 제1연산 결과에 대응하는 제1출력 전류 및 상기 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자를 이용하여 상기 전하를 샘플링하는 것인, 오차 교정 방법.
  14. 제13항에 있어서,
    양방향 전류 미러(Bidirectional Current Mirror)에 의해 상기 커패시터 소자로 인가되는 상기 제1출력 전류의 방향과 상기 제2출력 전류의 방향이 서로 반대 방향이 되는 것을 특징으로 하는, 오차 교정 방법.
  15. 제14항에 있어서,
    상기 샘플링하는 단계는,
    상기 제1출력 전류에 의해 상기 커패시터 소자의 제1전극의 전하가 방전되어 출력 전압이 상승하고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 오차 성분에 대응하는 전압이 제거되는 것인, 오차 교정 방법.
  16. 제15항에 있어서,
    상기 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 단계,
    를 더 포함하는 것인, 오차 교정 방법.
  17. 천이 오차 보정 기법이 적용된 펄스폭 기반 전류 영역 인-메모리 신경망 연산 회로에 있어서,
    신경망의 가중치를 저장하는 메모리 소자의 비트 라인에 대하여 가상 접지를 형성하는 레퍼런스 버퍼;
    펄스 폭 변조 방식에 기초하여 인가되는 입력 데이터 및 상기 가중치에 기초한 제1출력 전류와 단위 펄스 데이터에 기초한 제2출력 전류를 상호 반대 방향이 되도록 출력하는 양방향 전류 미러;
    상기 제1출력 전류 및 상기 제2출력 전류에 대응하는 전하를 샘플링하는 전하량 적분기; 및
    상기 샘플링 결과에 대응하는 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 아날로그-디지털 신호 변환기,
    를 포함하는, 신경망 연산 회로.
  18. 제17항에 있어서,
    상기 전하량 적분기는,
    상기 제1출력 전류에 의해 제1전극의 전하가 방전되어 상기 출력 전압을 상승시키고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 전압을 제거하는 커패시터 소자를 포함하는 것인, 신경망 연산 회로.
KR1020220064093A 2021-06-07 2022-05-25 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법 KR20220165192A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/008038 WO2022260413A1 (ko) 2021-06-07 2022-06-07 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210073498 2021-06-07
KR20210073498 2021-06-07

Publications (1)

Publication Number Publication Date
KR20220165192A true KR20220165192A (ko) 2022-12-14

Family

ID=84438575

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220064093A KR20220165192A (ko) 2021-06-07 2022-05-25 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20220165192A (ko)

Similar Documents

Publication Publication Date Title
CN108009640B (zh) 基于忆阻器的神经网络的训练装置及其训练方法
US11132176B2 (en) Non-volatile computing method in flash memory
EP3627401B1 (en) Method and device for training neural network
US10496374B2 (en) Crossbar array operations using ALU modified signals
US11604977B2 (en) Computing circuitry
CN111026700B (zh) 实现加速的存内计算架构及其加速方法
US10340002B1 (en) In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture
US20220391681A1 (en) Extraction of weight values in resistive processing unit array
US10984306B2 (en) Battery-based neural network weights
US20220374694A1 (en) Neural network circuit and neural network system
Lin et al. Rescuing memristor-based computing with non-linear resistance levels
WO2022260413A1 (ko) 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법
KR20220165192A (ko) 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법
US20230177284A1 (en) Techniques of performing operations using a hybrid analog-digital processor
CN111859261A (zh) 计算电路及其操作方法
US11188454B2 (en) Reduced memory neural network training
US20220138441A1 (en) Multiply and accumulate calculation device, neuromorphic device, and multiply and accumulate calculation method
JP7255068B2 (ja) メモリデバイス及びその動作方法
US20230306251A1 (en) Hardware implementation of activation functions
US20230110047A1 (en) Constrained optimization using an analog processor
Al-Shaarawy et al. PRUNIX: Non-Ideality Aware Convolutional Neural Network Pruning for Memristive Accelerators
JP7206531B2 (ja) メモリデバイスおよびその動作方法
KR102386439B1 (ko) Nand 어레이를 이용한 벡터-행렬 곱셈 방법 및 시스템
KR20240014147A (ko) Mac 연산 동작을 수행하는 반도체 장치
Zurla et al. Designing Circuits for AiMC Based on Non-Volatile Memories: a Tutorial Brief on Trade-offs and Strategies for ADCs and DACs Co-design

Legal Events

Date Code Title Description
E902 Notification of reason for refusal