KR102547775B1 - 아날로그 대 확률 신호 변환기의 정규화 방법 - Google Patents

아날로그 대 확률 신호 변환기의 정규화 방법 Download PDF

Info

Publication number
KR102547775B1
KR102547775B1 KR1020210060555A KR20210060555A KR102547775B1 KR 102547775 B1 KR102547775 B1 KR 102547775B1 KR 1020210060555 A KR1020210060555 A KR 1020210060555A KR 20210060555 A KR20210060555 A KR 20210060555A KR 102547775 B1 KR102547775 B1 KR 102547775B1
Authority
KR
South Korea
Prior art keywords
input
pulses
signal
analog
output
Prior art date
Application number
KR1020210060555A
Other languages
English (en)
Other versions
KR20220153244A (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 KR1020210060555A priority Critical patent/KR102547775B1/ko
Publication of KR20220153244A publication Critical patent/KR20220153244A/ko
Application granted granted Critical
Publication of KR102547775B1 publication Critical patent/KR102547775B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

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

Abstract

본 발명은 멤리스터 기반 뉴럴 네트워크 학습의 최적화를 위해 정규화를 수행하는 방법에 대한 것으로, 아날로그 대 확률 신호 변환기를 선형적으로 동작시킬 때 신호 정규화 상수를 적용하는 방법을 제공함으로써 효율적인 인공 신경망 학습이 가능하도록 한 것을 특징으로 한다.

Description

아날로그 대 확률 신호 변환기의 정규화 방법{Normalization Method of Analog-to-Stochastic Converter}
본 발명은 아날로그 대 확률 신호 변환기의 동작 방법에 관한 것으로, 보다 상세하게는 멤리스터 기반 뉴럴 네트워크 학습의 최적화를 위해 정규화를 수행하는 방법에 대한 것이다.
기존의 폰노이만 구조의 컴퓨터를 사용하여 인공 신경망을 학습하면 큰 수의 벡터-행렬 곱(Vector-Matrix Multiplication) 동작 때문에 병목현상(Bottleneck Problem)이 발생한다. 이는 인공 신경망의 느린 학습 속도 및 낮은 에너지 효율의 원인이 되기 때문에 새로운 구조의 하드웨어 기반 인공 신경망이 필요하게 되었다. 그 후보 중 하나로서, 교차 구조의 시냅스 소자 어레이(Cross-point Synapse Array)를 사용한 인공 신경망 하드웨어 시스템이 각광받고 있다. 이를 통해 벡터-행렬 곱을 O(1)의 복잡도로 완전히 병렬적으로 처리하기 때문에 매우 빠른 동작 속도와 높은 에너지 효율을 보인다.
다만 교차 구조의 시냅스 소자 어레이의 가중치(Weight)를 수정하기 위해서, 종래의 방법은 소자 1개 단위 또는 행 1개 단위로 가중치를 수정했다. 따라서 종래의 방법은 어레이의 크기가 커질수록 가중치 수정에 필요한 동작 횟수가 기하급수적으로 증가한다는 단점이 있었다.
이를 해결하기 위해 Gokmen("Acceleration of Deep Neural Network Training with Resistive Cross-Point Devices: Design Considerations," Frontiers in Neuroscience, 2016)은 교차 구조의 시냅스 소자 어레이의 완전히 병렬적인 (O(1)의 복잡도) 가중치 수정 방법을 제안하였다. 이 방법은 교차 구조의 시냅스 소자 에러이의 모든 행과 열에 확률 신호를 인가하여 가중치를 수정한다. 따라서 확률 신호의 생성을 위해 아날로그 대 확률 신호 변환기가 필요하다.
아날로그 대 확률 신호 변환기를 CMOS 기반 소자 및 회로로 구현 가능하다. 여러 방법 중 linear-feedback shift resisters (LFSRs)라는 무작위 신호 생성기를 사용하는 방법이 가장 널리 사용된다. 하지만 이 회로는 매우 복잡한 구조를 가지고 큰 면적을 차지하며 많은 에너지를 소비한다. 또한 디지털 회로를 기반으로 하기 때문에 무작위 신호의 state 수가 회로 설계의 제한을 받는다.
이를 위해 최근 소자 기반의 아날로그 대 확률 신호 변환기가 제안되었고, 이에 대한 설명은 "아날로그 신호를 확률 신호로 변환하는 역치 변환 소자 기반의 아날로그-확률 변환 장치" (출원번호 10-2020-0161398)에 자세히 설명되어 있다. 종래의 소자 기반 아날로그 대 확률 신호 변환기는 복잡한 구조를 가지는 디지털 대 아날로그 신호 변환기(Digital-to-Analog Converter, DAC)가 필요하는 문제점이 있지만, 위 특허 10-2020-0161398의 구조 및 동작 방법을 사용하여 DAC가 필요하지 않도록 동작 시킬 수 있다.
따라서 선형적인 변환 특성과 DAC가 필요하지 않는 소자 기반의 아날로그 대 확률 신호 변환기가 필요하게 되었다.
한국특허출원 10-2020-0161398
본 발명이 이루고자 하는 기술적 과제는 아날로그 대 확률 신호 변환기를 선형적으로 동작시킬 때 신호 정규화 상수를 적용하는 방법을 제공함으로써 효율적인 인공 신경망 학습을 하도록 하는 데 그 목적이 있다.
상기 과제를 이루기 위하여 본 발명에 따른 아날로그 대 확률 신호 변환기의 정규화 방법은, 아날로그 입력신호의 펄스폭을 제1 펄스폭(T0)으로 초기화하는 펄스폭 초기화 단계; 상기 제1 펄스폭(T0)을 갖는 아날로그 입력신호를 기반으로 딜레이 타임 측정값을 수집하는 딜레이 타임 측정값 수집단계; 상기 수집된 딜레이 타임 측정값을 기반으로 선형성을 체크하는 선형성 체크 단계; 선형성을 만족하지 않는 경우 평균 딜레이 타임을 측정하는 평균 딜레이 타임 측정단계; 및 상기 측정된 평균 딜레이 타임을 기반으로 하여 펄스폭을 변경하는 펄스폭 변경 단계;를 포함하는 것을 특징으로 한다.
본 발명은 시간 기반 아날로그 신호를 입력 신호로 사용하고 디지털 대 아날로그 신호 변환기를 사용하지 않음으로써, 기존 소자 기반 아날로그 대 확률 신호 변환기보다 주변 회로에 필요한 면적 및 에너지 소모를 감소시킬 수 있다.
또한 아날로그 대 확률 신호 변환기를 선형적으로 동작시킴으로써, 기존 소자 기반 아날로그 대 확률 신호 변환기를 사용할 때 발생하는 신호 왜곡 문제를 해결할 수 있다.
또한 아날로그 대 확률 신호 변환기를 선형적으로 동작시킬 때 정규화 상수를 적용함으로써, 인공 신경망의 학습의 최적화를 통해 더 높은 인식률을 확보할 수 있다.
도 1은 아날로그 대 확률 신호 변환기를 이용하여 아날로그 신호를 확률 신호로 변경하는 과정의 예시를 보여주는 도면이다.
도 2는 가용 입력 펼스 길이의 정규화를 수행하지 않았을 때의 아날로그 대 확률 신호 변환기의 비선형적 동작의 예시를 보여주는 도면이다.
도 3은 가용 입력 펼스 길이의 정규화를 수행했을 때의 아날로그 대 확률 신호 변환기의 선형적 동작의 예시를 보여주는 도면이다.
도 4는 아날로그 대 확률 신호 변환기의 선형적 특성을 얻기 위한 본 발명에 따른 아날로그 대 확률 신호 변환기의 정규화 방법의 일 실시예를 나타내는 도면이다.
도 5는 가용 입력 펼스 길이의 정규화를 수행하지 않았을 때의 아날로그 대 확률 신호 변환기의 넓은 가용 확률 범위를 가지는 동작의 예시를 보여주는 도면이다.
도 6은 가용 입력 펼스 길이의 정규화를 수행하였을 때의 아날로그 대 확률 신호 변환기의 제한된 가용 확률 범위를 가지는 동작의 예시를 보여주는 도면이다.
도 7은 가용 입력 펼스 길이의 정규화를 수행하지 않았을 때의 아날로그 대 확률 신호 변환기의 출력 신호의 예시를 보여주는 도면이다.
도 8은 가용 입력 펼스 길이의 정규화를 수행했을 때의 아날로그 대 확률 신호 변환기의 출력 신호의 예시를 보여주는 도면이다.
도 9는 아날로그 대 확률 신호 변환기의 최적화된 출력 신호 특성을 얻기 위한 인가 입력 펄스 수의 정규화 방법의 예시를 보여주는 도면이다.
도 10은 가용 입력 펼스 길이와 인가 입력 펄스 수의 정규화를 모두 수행했을 때의 아날로그 대 확률 신호 변환기의 출력 신호의 예시를 보여주는 도면이다.
이하, 도면을 참조하여 본 발명의 구체적인 내용을 상세하게 설명한다.
도 1은 아날로그 대 확률 신호 변환기를 이용하여 아날로그 신호를 확률 신호로 변경하는 과정의 예시를 보여주는 도면이다.
도 1을 참고하면, 펄스의 길이가 T인 입력 신호가 인가되었을 때, 아날로그 대 확률 신호 변환기의 출력 신호는 입력 신호의 펄스 길이(T)에 비례한 확률을 가지는 펄스로 출력이 됨을 알 수 있다.
도 2는 가용 입력 펼스 길이의 정규화를 수행하지 않았을 때의 아날로그 대 확률 신호 변환기의 비선형적 동작의 예시를 보여주는 도면이고, 도 3은 가용 입력 펼스 길이의 정규화를 수행했을 때의 아날로그 대 확률 신호 변환기의 선형적 동작의 예시를 보여주는 도면이다.
도2는 아날로그 대 확률 신호 변환기 특성의 한 예시로서, 펄스의 길이가 입력 신호로 인가되었을 때, 이에 대한 출력 펄스의 확률에 대한 특성을 보여준다. 이때의 아날로그 대 확률 신호 변환기의 특성은 아래의 식으로 표현되는 누적지수분포(cumulative exponential distribution)를 따를 수 있다.
[식 1]
Figure 112021054243140-pat00001
누적 지수 분포(cumulative exponential distribution)는 아래 식의 테일러 급수 근사(Taylor series approximation)에 따라 짧은 입력 펄스 길이를 가질 때 선형적인 특성을 보임을 알 수 있다.
[식 2]
Figure 112021054243140-pat00002
도3은 짧은 입력 펄스 영역만 사용했을 때의 아날로그 대 확률 신호 변환기의 특성을 보여준다. 도 3을 참고하면 입력 신호로서, 짧은 펄스 길이를 갖는 신호를 사용하는 경우 선형적인 동작을 나타냄을 확인할 수 있다. 다만 입력 펄스 영역을 얼마로 가져가야 선형적인 특성을 보이는 지를 결정할 수 있는 방법이 필요하다.
도 4는 아날로그 대 확률 신호 변환기의 선형적 특성을 얻기 위한 본 발명에 따른 아날로그 대 확률 신호 변환기의 정규화 방법의 일 실시예를 나타내는 도면이다.
도 4에 도시된 바와 같이 본 발명에 따른 아날로그 대 확률 신호 변환기의 정규화 방법(400)은, 펄스폭 초기화 단계(S410), 딜레이 타임 측정값 수집단계(S420), 선형성 체크 단계(S430), 평균 딜레이 타임 측정단계(S440) 및 펄스폭 변경 단계(S450)를 포함한다.
펄스폭 초기화 단계(S410)에서는 펄스 폭(T)을 T0로 설정한다.
딜레이 타임 측정값 수집단계(S420)에서는 아날로그 대 확률 신호의 엔트로피 소스인 딜레이 타임(τ)에 대한 측정 값을 수집한다.
선형성 체크 단계(S430)에서는 수집한 딜레이 타임에 대한 정보를 기반으로 결정계수(coefficient of determination, R2)의 선형성(linearity) 평가를 수행하여 선형성을 만족하는지 판단한다. 이때, 결정계수(coefficient of determination, R2)>0.99인 경우 선형성을 만족하는 것으로 판단한다.
만약 선형성을 가지고 있다면 단계를 종료하고, 만약 선형성을 가지고 있지 않다고 판별이 되면 평균 딜레이 타임 측정단계(S440)에서 누적 지수 분포(cumulative exponential distribution)에 피팅(fitting)을 수행하여 평균 딜레이 타임(τd)를 계산한다.
펄스폭 변경 단계(S450)에서는 평균 딜레이 타임 측정단계(S440)에서 계산된 평균 딜레이 타임(τd)을 기반으로 입력 펄스 길이를 T'로 변경한 후 앞선 과정을 반복한다. 최종적으로, 결정계수(coefficient of determination, R2)가 R2>0.99인 선형성을 확보할 때까지 과정을 반복함으로써 선형적인 아날로그 대 확률 신호 변환 특성을 보이는 동작 구간을 확보할 수 있다.
도 5는 가용 입력 펼스 길이의 정규화를 수행하지 않았을 때의 아날로그 대 확률 신호 변환기의 넓은 가용 확률 범위를 가지는 동작의 예시를 보여주는 도면이고, 도 6은 가용 입력 펼스 길이의 정규화를 수행하였을 때의 아날로그 대 확률 신호 변환기의 제한된 가용 확률 범위를 가지는 동작의 예시를 보여주는 도면이다.
도 5에 도시된 바와 같이 도 4의 정규화 방법을 적용하기 전에는 출력 확률 범위는 0부터 1까지 넓은 범위로 모두 사용할 수 있다. 하지만 도4의 방법을 적용하여 가용 입력 범위를 새로 설정하면 도 6과 같이 사용할 수 있는 출력 확률 범위가 줄어들게 된다. 따라서 이를 보완할 수 있는 방법이 필수적이다.
도 7은 가용 입력 펼스 길이의 정규화를 수행하지 않았을 때의 아날로그 대 확률 신호 변환기의 출력 신호의 예시를 보여주는 도면이고, 도 8은 가용 입력 펼스 길이의 정규화를 수행했을 때의 아날로그 대 확률 신호 변환기의 출력 신호의 예시를 보여주는 도면이다.
도 7에 도시된 바와 같이 도 4의 정규화 방법을 적용하기 전에는 입력 신호가 1인 경우 출력 펄스의 확률이 1이므로 N=10개의 입력 펄스를 인가하면 10개의 펄스가 출력된다. 하지만 도 4의 정규화 방법을 적용하면 가용 출력 확률 범위가 줄어들기 때문에 도 8과 같이 입력 신호가 1이 인가되어도 도 7의 경우보다 낮은 확률로 펄스가 출력되어 출력 펄스의 수가 줄어들게 된다. 따라서 이를 보완할 수 있는 동작 방법이 필요하다.
도 9는 아날로그 대 확률 신호 변환기의 최적화된 출력 신호 특성을 얻기 위한 인가 입력 펄스 수의 정규화 방법의 예시를 보여주는 도면이다.
본 발명에 따른 소자 기반의 아날로그 대 확률 신호 변환기에서 모든 입력 영역을 사용할 때에는 0 % 부터 100 % 까지의 모든 출력 확률 구간을 사용할 수 있다. 그러나 선형적인 특성을 위해 특정 입력 영역을 사용하게 될 경우 100 % 보다 작은 출력 확률 구간만 사용이 가능하다.
예를 들어, 도 2와 같이, 펄스폭을 0에서 T0까지 입력의 모든 영역을 사용하는 경우에는 출력의 확률을 0부터 1까지 모두 사용할 수 있게 된다. 그러나, 도 3과 같이 선형적인 동작 영역을 사용하는 경우, 즉 펄스폭을 0에서 T'까지의 제한된 입력 영역을 사용하는 경우에는 출력확률 영역은 0부터 p' 까지만 사용이 가능하게 된다.
이와 같이 제한된 출력 확률 영역만을 사용하는 경우에는 출력 확률 영역 전체를 사용하는 것보다 출력되는 출력 펄스의 수가 줄어들게 된다.
도 5에 도시된 바와 같이 출력 확률 영역 전체를 사용할 때 정규화된 입력(normalized input)이 1인 입력 펄스가 10개 들어오는 경우 예상되는 출력 펄스는 총 10개이다. 반면, 도 6에 도시된 바와 같이 정규화된 입력(normalized input)이 1인 입력 펄스가 10개 들어오는 경우 예상되는 출력 펄스는 총 5개이다. 만약 제한된 영역을 사용하지만 동일하게 10개의 출력 펄스를 얻고 싶다면 입력 펄스를 2배인 20개를 인가한다면 된다.
즉, 도 9는 도 4의 정규화 방법을 적용한 후에 줄어든 가용 출력 확률 범위를 보완하기 위한 방법을 설명하기 위한 도면이다.
도 9를 참고하면, 본 발명에 따른 아날로그 대 확률 신호 변환기의 정규화 방법은 제1 단계(S910) 내지 제3 단계(S930)를 포함하여 이루어진다.
우선 제1 단계(S910)에서는 도 4의 정규화 방법을 적용하기 전 입력 신호를 인가했을 때 출력된 출력 펄스의 수를 세어 출력 펄스의 수(n0)로 저장한다.
제1 초기화 단계(S911)에서는 카운팅(counting)하는 변수인 상기 출력 펄스의 수(n0), 상기 출력 펄스의 수(n') 및 상기 입력펄스의 수(i)를 0으로 초기화한다.
여기서, 출력 펄스의 수(n0)는 정규화 방법을 적용하기 전 입력 신호를 인가했을 때 출력된 출력 펄스의 수를 나타내고, 출력 펄스의 수(n')는 정규화 방법을 적용한 후 입력 신호를 인가했을 때 출력된 출력 펄스의 수를 나타내며, 입력펄스의 수(i)는 입력펄스의 수를 나타낸다.
제1 펄스폭 설정 단계(S912)에서는 펄스 폭(T)을 제1 펄스폭(T0)으로 설정한다. 제1 펄스폭(T0)은 입력 펄스 길이의 정규화를 수행하지 않았을 때의 입력 신호의 펄스폭을 의미한다.
제1 입력신호 인가단계(S913)에서는 인가된 입력신호의 입력 펄스(input pulse)의 수를 카운팅(counting)하는 변수인 입력 펄스의 수(i)의 값을 1씩 증가시키면서 펄스 폭을 갖는 입력 신호를 인가하는 동작을 수행한다.
제1 턴온 확인단계(S914)에서는 상기 출력신호가 턴온되었는지 여부를 확인한다.
제1 입력펄스의 수 확인단계(S916)에서는 상기 출력신호가 턴온된 경우 상기 출력 펄스의 수(n0)를 '1'씩 증가시키면서(S915) 상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달하였는지 확인하고, 상기 출력신호가 턴온되지 아니한 경우에는 바로 상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달하였는지 확인한다.
상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)보다 작은 경우에는 상기 제1 입력신호 인가단계(S913) 내지 상기 제1 입력펄스의 수 확인단계(S916)를 반복수행한다. 한편, 상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달한 경우에는 상기 제2단계(S920)로 넘어간다.
제2 단계(S920)는 입력 펄스의 신호 영역을 제한한 후의 동작을 나타낸다.
제2 초기화 단계(S921)에서는 입력 펄스를 카운팅(counting)하는 변수인 입력펄스의 수(i)를 0으로 초기화한다.
제2 펄스폭 설정 단계(S922)에서는 펄스 폭(T)을 제2 펄스폭(T')으로 설정한다. 이후 입력 영역을 제한한 아날로그 대 확률 신호 변환 동작을 수행하게 된다. 이때 사용되는 제2 펄스폭(T')은 도 5에 도시된 방법에 따라 얻을 수 있다.
제2 입력신호 인가단계(S923)에서는 인가된 입력 펄스(input pulse)의 수를 카운팅(counting)하는 변수인 입력 펄스의 수(i)의 값을 1씩 증가시키면서 펄스 폭을 갖는 입력 신호를 인가하는 동작을 수행한다.
제2 턴온 확인단계(S924)에서는 상기 출력신호가 턴온되었는지 여부를 확인한다.
제2 입력펄스의 수 확인단계(S926)에서는 상기 출력신호가 턴온된 경우 상기 출력 펄스의 수(n')를 '1'씩 증가시키면서 상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달하였는지 확인하고, 상기 출력신호가 턴온되지 아니한 경우에는 바로 상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달하였는지 확인한다.
상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)보다 작은 경우에는 상기 제2 입력신호 인가단계(S923) 내지 상기 제2 입력펄스의 수 확인단계(S926)를 반복수행한다. 한편, 상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달한 경우에는 상기 제3단계(S930)로 넘어간다.
제3 단계(S930)에서는 인가하는 입력 펄스의 수를 출력 펄스의 수(n0)/출력 펄스의 수(n')를 곱한 값만큼 증가시켜준다.
제1 단계(S910)에서 저장된 출력 펄스의 수(n0)와 제2 단계(S920)에서 저장된 출력 펄스의 수(n')를 사용하여 인가하는 입력 펄스의 수(i)를 출력 펄스의 수(n0)/출력 펄스의 수(n')를 곱한 값만큼 증가시켜 준다. 예를 들어, 정규화 방법을 적용하기 전 입력 신호를 인가했을 때 출력된 출력 펄스의 수(n0)의 값이 10이고, 정규화 방법을 적용한 후 입력 신호를 인가했을 때 출력된 출력 펄스의 수(n')의 값이 5인 경우, n0/n'는 2로 계산된다.
도 10은 가용 입력 펼스 길이와 인가 입력 펄스 수의 정규화를 모두 수행했을 때의 아날로그 대 확률 신호 변환기의 출력 신호의 예시를 보여주는 도면이다.
도 10은 도9의 방법을 적용했을 때, 즉 가용 입력 펼스 길이와 인가 입력 펄스 수의 정규화를 모두 수행했을 때의 예시를 보여주는 것으로, 도 8에서 인가한 입력 펄스의 수에 2를 곱함으로써, 총 10개의 출력 펄스를 얻을 수 있고 이로써 도 7의 출력 펄스 수와 동일한 수의 출력 펄스가 출력됨을 알 수 있다.
살펴본 바와 같이 본 발명에 따른 아날로그 대 확률 신호 변환기의 정규화 방법을 적용하는 경우 아날로그 대 확률 신호 변환기를 선형적으로 동작시킬 수 있으며, 신호 정규화 상수를 적용함으로써 효율적인 인공 신경망 학습을 가능하도록 할 수 있는 장점이 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본문에 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.

Claims (9)

  1. 펄스폭을 갖는 아날로그 입력신호를 확률을 갖는 출력신호로 변환하는 아날로그 대 확률 신호 변환기의 정규화 방법에 있어서,
    아날로그 입력신호의 펄스폭을 제1 펄스폭(T0)으로 초기화하는 펄스폭 초기화 단계;
    상기 제1 펄스폭(T0)을 갖는 아날로그 입력신호를 기반으로 딜레이 타임 측정값을 수집하는 딜레이 타임 측정값 수집단계;
    상기 수집된 딜레이 타임 측정값을 기반으로 선형성을 체크하는 선형성 체크 단계;
    선형성을 만족하지 않는 경우 평균 딜레이 타임을 측정하는 평균 딜레이 타임 측정단계; 및
    상기 측정된 평균 딜레이 타임을 기반으로 하여 펄스폭을 변경하는 펄스폭 변경 단계;를 포함하되,
    상기 입력신호를 인가하였을 때 상기 정규화 방법을 적용하기 전의 상기 출력신호의 출력 펄스의 수(n0)를 구하는 제1 단계;
    상기 입력신호를 인가하였을 때 상기 정규화 방법을 적용한 후의 상기 출력신호의 출력 펄스의 수(n')를 구하는 제2 단계; 및
    상기 제1 단계에서 구해진 상기 출력 펄스의 수(n0)를 상기 제2 단계에서 구해진 상기 출력 펄스의 수(n')로 나눈 값을 상기 입력신호의 입력 펄스의 수(i)에 곱하는 제3단계;를 더 포함하는 것을 특징으로 하는 아날로그 대 확률 신호 변환기의 정규화 방법.
  2. 제 1항에 있어서,
    선형성이 확보될 때까지 상기 딜레이 타임 측정값 수집단계 내지 상기 펄스폭 변경 단계를 반복하는 것을 특징으로 하는 아날로그 대 확률 신호 변환기의 정규화 방법.
  3. 제 1항에 있어서, 상기 선형성 체크 단계는,
    결정계수(coefficient of determination, R2)>0.99인 경우 선형성을 만족하는 것으로 판단하는 것을 특징으로 하는 아날로그 대 확률 신호 변환기의 정규화 방법.
  4. 제 1항에 있어서,
    상기 아날로그 대 확률 신호 변환기의 정규화 방법은,
    멤리스터 기반의 인공 신경망 학습에 적용 가능한 것을 특징으로 하는 아날로그 대 확률 신호 변환기의 정규화 방법.
  5. 삭제
  6. 제1항에 있어서, 상기 제1 단계는
    상기 출력 펄스의 수(n0), 상기 출력 펄스의 수(n') 및 상기 입력펄스의 수(i)를 초기화하는 제1 초기화 단계;
    상기 입력신호의 펄스폭을 제1 펄스폭(T0)으로 설정하는 제1 펄스폭 설정 단계;
    상기 입력신호의 입력펄스의 수(i)를 '1'씩 증가시키면서 상기 입력신호를 인가하는 제1 입력신호 인가단계;
    상기 출력신호가 턴온되었는지 여부를 확인하는 제1 턴온 확인단계; 및
    상기 출력신호가 턴온된 경우 상기 출력 펄스의 수(n0)를 '1'씩 증가시키면서 상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달하였는지 확인하고, 상기 출력신호가 턴온되지 아니한 경우에는 바로 상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달하였는지 확인하는 제1 입력펄스의 수 확인단계;를 포함하는 것을 특징으로 하는 아날로그 대 확률 신호 변환기의 정규화 방법.
  7. 제6항에 있어서,
    상기 제1 입력펄스의 수 확인단계에서 확인결과
    상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)보다 작은 경우에는 상기 제1 입력신호 인가단계 내지 상기 제1 입력펄스의 수 확인단계를 반복수행하고
    상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달한 경우에는 상기 제2단계를 수행하는 것을 특징으로 하는 아날로그 대 확률 신호 변환기의 정규화 방법.
  8. 제7항에 있어서, 상기 제2 단계는
    상기 입력펄스의 수(i)를 초기화하는 제2 초기화 단계;
    상기 입력신호의 펄스폭을 제2 펄스폭(T')으로 설정하는 제2 펄스폭 설정 단계;
    상기 입력신호의 입력펄스의 수(i)를 '1'씩 증가시키면서 상기 입력신호를 인가하는 제2 입력신호 인가단계;
    상기 출력신호가 턴온되었는지 여부를 확인하는 제2 턴온 확인단계; 및
    상기 출력신호가 턴온된 경우 상기 출력 펄스의 수(n')를 '1'씩 증가시키면서 상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달하였는지 확인하고, 상기 출력신호가 턴온되지 아니한 경우에는 바로 상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달하였는지 확인하는 제2 입력펄스의 수 확인단계;를 포함하는 것을 특징으로 하는 아날로그 대 확률 신호 변환기의 정규화 방법.
  9. 제8항에 있어서,
    상기 제2 입력펄스의 수 확인단계에서 확인결과
    상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)보다 작은 경우에는 상기 제2 입력신호 인가단계 내지 상기 제2 입력펄스의 수 확인단계를 반복수행하고
    상기 입력펄스의 수(i)가 미리 설정된 입력펄스의 수(iteration)에 도달한 경우에는 상기 제3단계를 수행하는 것을 특징으로 하는 아날로그 대 확률 신호 변환기의 정규화 방법.
KR1020210060555A 2021-05-11 2021-05-11 아날로그 대 확률 신호 변환기의 정규화 방법 KR102547775B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210060555A KR102547775B1 (ko) 2021-05-11 2021-05-11 아날로그 대 확률 신호 변환기의 정규화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210060555A KR102547775B1 (ko) 2021-05-11 2021-05-11 아날로그 대 확률 신호 변환기의 정규화 방법

Publications (2)

Publication Number Publication Date
KR20220153244A KR20220153244A (ko) 2022-11-18
KR102547775B1 true KR102547775B1 (ko) 2023-06-23

Family

ID=84234697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210060555A KR102547775B1 (ko) 2021-05-11 2021-05-11 아날로그 대 확률 신호 변환기의 정규화 방법

Country Status (1)

Country Link
KR (1) KR102547775B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002150259A (ja) * 2000-11-06 2002-05-24 Denso Corp ニューロン、及び当該ニューロンを用いて構成された階層型ニューラルネットワーク

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666518A (en) * 1995-06-26 1997-09-09 The United States Of America As Represented By The Secretary Of The Air Force Pattern recognition by simulated neural-like networks
KR102279577B1 (ko) * 2019-01-21 2021-07-20 한양대학교 산학협력단 신경망 모사 소자 및 신경망 모사 학습 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002150259A (ja) * 2000-11-06 2002-05-24 Denso Corp ニューロン、及び当該ニューロンを用いて構成された階層型ニューラルネットワーク

Also Published As

Publication number Publication date
KR20220153244A (ko) 2022-11-18

Similar Documents

Publication Publication Date Title
US7272585B2 (en) Operation circuit and operation control method thereof
JP4620943B2 (ja) 積和演算回路及びその方法
US9698812B2 (en) Multiplying analog to digital converter and method
US9417845B2 (en) Method and apparatus for producing programmable probability distribution function of pseudo-random numbers
KR102653822B1 (ko) 혼성 신호 컴퓨팅 시스템 및 방법
JP7034984B2 (ja) 演算装置
US11610105B2 (en) Systems and methods for harnessing analog noise in efficient optimization problem accelerators
JP4620944B2 (ja) 積和演算回路及びその方法
US20230129489A1 (en) Artificial neural networks
JP7447790B2 (ja) 演算装置、積和演算装置、積和演算システム、及び積和演算方法
KR102547775B1 (ko) 아날로그 대 확률 신호 변환기의 정규화 방법
US20210256389A1 (en) Method and system for training a neural network
CN113269113A (zh) 人体行为识别方法、电子设备和计算机可读介质
Zhang et al. Memristive circuit design of quantized convolutional auto-encoder
CN113988279A (zh) 一种支持负值激励的存算阵列输出电流读出方法及系统
CN114861902A (zh) 处理单元及其操作方法、计算芯片
US11475288B2 (en) Sorting networks using unary processing
US20200151569A1 (en) Warping sequence data for learning in neural networks
Kwak et al. OTS-based analog-to-stochastic converter for fully-parallel weight update in cross-point array neural networks
RU2279132C2 (ru) Нейронная сеть конечного кольца
CN117436490A (zh) 一种基于fpga脉冲神经网络的神经元硬件实现系统
CN115511066A (zh) 基于氧化锌忆阻器的储备池计算系统
JP6762733B2 (ja) D/a変換装置及びd/a変換方法
RU2540818C1 (ru) Устройство для распознавания образов
KR20220071091A (ko) 스파이킹 뉴럴 네트워크를 최적화하는 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant