KR20210063721A - 뉴로모픽 장치 및 이를 포함하는 뉴로모픽 시스템 - Google Patents

뉴로모픽 장치 및 이를 포함하는 뉴로모픽 시스템 Download PDF

Info

Publication number
KR20210063721A
KR20210063721A KR1020190152184A KR20190152184A KR20210063721A KR 20210063721 A KR20210063721 A KR 20210063721A KR 1020190152184 A KR1020190152184 A KR 1020190152184A KR 20190152184 A KR20190152184 A KR 20190152184A KR 20210063721 A KR20210063721 A KR 20210063721A
Authority
KR
South Korea
Prior art keywords
spike
transmission
reception
signal
neuromorphic
Prior art date
Application number
KR1020190152184A
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 KR1020190152184A priority Critical patent/KR20210063721A/ko
Priority to US16/911,801 priority patent/US11362868B2/en
Priority to CN202010934441.4A priority patent/CN112836811A/zh
Publication of KR20210063721A publication Critical patent/KR20210063721A/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/02Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation
    • H04L27/04Modulator circuits; Transmitter circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/02Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation
    • 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/045Combinations of networks
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6597Implementations using analogue techniques for coding or decoding, e.g. analogue Viterbi decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4902Pulse width modulation; Pulse position modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/02Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation
    • H04L27/06Demodulator circuits; Receiver circuits
    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

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)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Neurology (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Logic Circuits (AREA)

Abstract

뉴로모픽 장치는 뉴런 블록, 스파이크 송신 회로 및 스파이크 수신 회로를 포함한다. 상기 뉴런 블록은 복수의 시냅스들에 의해 연결되어 스파이크들의 생성 및 연산을 수행하는 복수의 뉴런들을 포함한다. 상기 스파이크 송신 회로는 상기 뉴런 블록으로부터 출력되는 복수의 송신 스파이크 신호들에 기초하여 상기 복수의 송신 스파이크 신호들에 포함되는 송신 스파이크들에 대한 정보를 포함하는 논바이너리(non-binary) 송신 신호를 발생하여 전송 채널로 제공한다. 상기 스파이크 수신 회로는 상기 전송 채널을 통해 수신되는 수신 스파이크들에 대한 정보를 포함하는 논바이너리 수신 신호에 기초하여 상기 수신 스파이크들을 포함하는 복수의 수신 스파이크 신호들을 발생하여 상기 뉴런 블록에 제공한다.

Description

뉴로모픽 장치 및 이를 포함하는 뉴로모픽 시스템{Neuromorphic device and neuromorphic system including the same}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 뉴로모픽 장치 및 이를 포함하는 뉴로모픽 시스템에 관한 것이다.
뇌에는 수천억 개의 신경 세포들, 즉, 뉴런(neuron)들이 존재하며, 서로 복잡한 신경망으로 구성되어 있다. 뉴로모픽 장치는 인간의 신경계 또는 뇌를 모방하여 정보를 처리하는 장치이다. 종래의 컴퓨터 중앙 처리 장치가 기반으로 하였던 연산기, 명령어 처리기, 저장 장치 각각이 독립적으로 존재하였던 구성과는 달리, 뉴로모픽 연산 장치는 정보를 병렬화하여 처리할 수 있다. 뉴로모픽 장치는 복수의 신경 세포들, 즉 뉴런(neuron)들의 2차원 혹은 3차원적 연결로 정의될 수 있다. 각각의 뉴런은, 생물학적 뉴런의 구성 요소와 동일하게, 축색돌기(axon), 수상돌기(dendrite), 및 세포 몸체(soma)에 해당하는 회로로 구성될 수 있다. 하나의 신경망을 형성하기 위해 상호 연결되는 뉴런들의 개수가 증가할수록 뉴런들 사이의 정보 교환의 효율성이 저하되는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 스파이킹 신경망(spiking neural network)을 효율적으로 구현하기 위한 뉴로모픽 장치 및 상기 뉴로모픽 장치를 포함하는 뉴로모픽 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 뉴로모픽 장치는 뉴런 블록, 스파이크 송신 회로 및 스파이크 수신 회로를 포함한다. 상기 뉴런 블록은 복수의 시냅스들에 의해 연결되어 스파이크들의 생성 및 연산을 수행하는 복수의 뉴런들을 포함한다. 상기 스파이크 송신 회로는 상기 뉴런 블록으로부터 출력되는 복수의 송신 스파이크 신호들에 기초하여 상기 복수의 송신 스파이크 신호들에 포함되는 송신 스파이크들에 대한 정보를 포함하는 논바이너리(non-binary) 송신 신호를 발생하여 전송 채널로 제공한다. 상기 스파이크 수신 회로는 상기 전송 채널을 통해 수신되는 수신 스파이크들에 대한 정보를 포함하는 논바이너리 수신 신호에 기초하여 상기 수신 스파이크들을 포함하는 복수의 수신 스파이크 신호들을 발생하여 상기 뉴런 블록에 제공한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 뉴로모픽 시스템은 복수의 뉴로모픽 장치들 및 상기 복수의 뉴로모픽 장치들을 전기적으로 연결하는 전송 채널을 포함한다. 상기 복수의 뉴로모픽 장치들의 각각은, 상기 뉴런 블록, 상기 스파이크 송신 회로 및 상기 스파이크 수신 회로를 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 뉴로모픽 장치는, 복수의 시냅스들에 의해 연결되어 스파이크들의 생성 및 연산을 수행하는 복수의 뉴런들을 포함하는 뉴런 블록, 펄스 진폭 변조(PAM) 송신 신호를 발생하여 전송 채널로 제공하는 스파이크 송신 회로 및 상기 전송 채널을 통하여 PAM 수신 신호를 수신하는 스파이크 수신 회로를 포함한다.
상기 스파이크 송신 회로는, 상기 뉴런 블록으로부터 출력되는 복수의 송신 스파이크 신호들에 기초하여 상기 복수의 송신 스파이크 신호들에 포함되는 송신 스파이크들의 각각에 대한 타이밍 정보를 포함하는 송신 스파이크 데이터를 발생하는 스파이크 컨버터, 상기 송신 스파이크 데이터에 기초하여 송신 패킷을 발생하는 패킷타이저 및 상기 송신 패킷을 변조하여 상기 PAM 송신 신호를 발생하는 변조기를 포함한다.
상기 스파이크 수신 회로는, 상기 PAM 수신 신호를 복조하여 수신 패킷을 발생하는 복조기, 상기 수신 패킷에 기초하여 수신 스파이크들의 각각에 대한 타이밍 정보를 포함하는 수신 스파이크 데이터를 발생하는 디패킷타이저 및 상기 수신 스파이크 데이터에 기초하여 상기 수신 스파이크들을 포함하는 복수의 수신 스파이크 신호들을 발생하는 스파이크 발생기를 포함한다.
본 발명의 실시예들에 따른 뉴로모픽 장치 및 상기 뉴로모픽 장치를 포함하는 뉴로모픽 시스템은 스파이크 신호들을 패킷화하고 논바이너리 신호로 변조하여 전송함으로써 스파이킹 신경망을 효율적으로 구현할 수 있다.
도 1은 본 발명의 실시예들에 따른 뉴로모픽 장치를 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 스파이킹 신경망을 나타내는 도면이다.
도 3은 본 발명의 실시예들에 따른 스파이킹 신경망의 예시적인 뉴런을 나타내는 도면이다.
도 4는 예시적인 스파이크-타이밍-의존 가소성(STDP, spike-timing-dependent plasticity) 곡선을 나타내는 도면이다.
도 5는 뉴런들로부터 출력되는 스파이크 신호들을 설명하기 위한 도면이다.
도 6 및 7은 본 발명의 실시예들에 따른 스파이킹 신경망의 구현 방법을 설명하기 위한 도면들이다.
도 8은 본 발명의 실시예들에 따른 뉴로모픽 장치에 포함되는 스파이크 송수신 회로의 일 실시예를 나타내는 블록도이다.
도 9a 내지 9g는 본 발명의 실시예들에 따른 뉴로모픽 장치에서 이용되는 패킷의 포맷의 실시예들을 나타내는 도면들이다.
도 10은 본 발명의 실시예들에 따른 뉴로모픽 장치의 ECC 레벨을 설명하기 위한 도면이다.
도 11은 본 발명의 실시예들에 따른 뉴로모픽 장치의 PAM 신호의 일 예를 나타내는 도면이다.
도 12는 본 발명의 실시예들에 따른 뉴로모픽 장치에 포함되는 변조기의 일 실시예를 나타내는 블록도이다.
도 13은 도 12의 변조기에서 출력되는 예시적인 PAM 신호를 나타내는 타이밍도이다.
도 14는 PAM 신호의 예시적인 아이-패턴(eye pattern)을 나타내는 도면이다.
도 15는 본 발명의 실시예들에 따른 뉴로모픽 장치에 포함되는 복조기의 일 실시예를 나타내는 블록도이다.
도 16a, 16b, 16c 및 16d는 본 발명의 실시예들에 따른 스파이킹 신경망의 실시예들을 나타내는 도면들이다.
도 17, 18, 19 및 20은 본 발명의 실시예들에 따른 뉴로모픽 시스템을 나타내는 도면들이다.
도 21 및 22는 본 발명의 실시예들에 따른 뉴로모픽 시스템에 의해 구동되는 딥 러닝 신경망 구조의 예를 설명하기 위한 도면들이다.
도 23은 본 발명의 실시예들에 따른 뉴로모픽 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 뉴로모픽 장치를 나타내는 블록도이다.
도 1을 참조하면, 뉴로모픽 장치(NDEV)는 뉴런 블록(NBLK), 스파이크 송신 회로(TX) 및 스파이크 수신 회로(RX)를 포함한다. 스파이크 송신 회로(TX) 및 스파이크 수신 회로(RX)는 스파이크 송수신 회로(TRX)라고 지칭될 수 있다.
뉴런 블록(NBLK)은 복수의 시냅스들에 의해 연결되어 스파이크들의 생성 및 연산을 수행하는 복수의 뉴런들(NR)을 포함한다. 뉴런 블록(NBLK)은 뉴로모픽 코어에 해당할 수도 있고 복수의 뉴로모픽 코어들을 포함하는 뉴로모픽 칩에 해당할 수도 있다. 뉴런 블록(NBLK)에 대해서는 도 2 내지 5를 참조하여 후술한다.
스파이크 송신 회로(TX)는 뉴런 블록(BLK)으로부터 출력되는 복수의 송신 스파이크 신호들(TSPK)에 기초하여 복수의 송신 스파이크 신호들(TSPK)에 포함되는 송신 스파이크들에 대한 정보를 포함하는 논바이너리(non-binary) 송신 신호(TNB)를 발생하여 전송 채널(CHNN)로 제공한다. 스파이크 수신 회로(RX)는 전송 채널(CHNN)을 통해 수신되는 수신 스파이크들에 대한 정보를 포함하는 논바이너리 수신 신호(RNB)에 기초하여 상기 수신 스파이크들을 포함하는 복수의 수신 스파이크 신호들(RSPK)을 발생하여 뉴런 블록(NBLK)에 제공한다.
실시예들에 따라서, 논바이너리 송신 신호(TNB) 및 논바이너리 수신 신호(RNB), 즉 논바이너리 신호들은 펄스 기반의 신호들일 수 있다. 예를 들어, 상기 펄스 기반의 신호는 펄스 폭 변조(PWM, pulse width modulation) 신호, 펄스 진폭 변조(PAM, pulse amplitude modulation) 신호, 펄스 위치 변조(PPM, pulse position modulation) 신호 등을 포함할 수 있다. 특히 본 발명의 실시예들에 따른 뉴로모픽 장치에서 송수신되는 논바이너리 신호들은 도 11 내지 15를 참조하여 후술하는 바와 같이 고속 전송을 위한 PAM 신호들일 수 있다.
본 발명의 실시예들에 따른 뉴로모픽 장치 및 상기 뉴로모픽 장치를 포함하는 뉴로모픽 시스템은 스파이크 신호들을 논바이너리 신호로 변조하여 전송함으로써 스파이킹 신경망(spiking neural network)을 효율적으로 구현할 수 있다.
도 2는 본 발명의 실시예들에 따른 스파이킹 신경망을 나타내는 도면이고, 도 3은 본 발명의 실시예들에 따른 스파이킹 신경망의 예시적인 뉴런을 나타내는 도면이고, 도 4는 예시적인 스파이크-타이밍-의존 가소성(STDP, spike-timing-dependent plasticity) 곡선을 나타내는 도면이다.
도 2를 참조하면, 스파이킹 신경망은 시냅스 어레이(SYNARR)(즉, 화살표로 표시된 피드-포워드 연결들)의 네트워크를 통해 제2 레벨(LV2)의 뉴런들(NR21~NR2M)에 접속되는 제1 레벨(LV1)의 뉴런들(NR11~NR1N)을 포함할 수 있다. 도 2에는 편의상 2개의 레벨들(LV1, LV2)의 뉴런들만이 도시되나, 보다 많은 레벨들의 뉴런들이 스파이킹 신경망에 존재할 수 있다. 뉴런들 중 일부 뉴런은 측면 연결들을 통해 동일한 계층의 다른 뉴런들에 연결될 수도 있다. 또한, 뉴런들 중 일부는 피드백 연결들을 통해 이전 계층의 뉴런에 다시 연결될 수도 있다.
도 2에 도시된 바와 같이, 제1 레벨(LV1) 에서의 각각의 뉴런은 이전 레벨의 뉴런들(도시 생략)에 의해 생성될 수도 있는 입력 신호들(X1~XN)을 수신할 수 있다. 입력 신호들(X1~XN)에 의해 제1 레벨(LV1)의 뉴런들(NR11~NR1N)에 인가되는 입력 전류들은 각각의 뉴런 막에 축적되어 막 전위를 충전할 수 있다. 막 전위가 임계 값에 도달하는 경우, 뉴런들(NR11~NR1N)의 각각은 다음 레벨, 예를 들어, 제2 레벨(LV2)의 뉴런들(NR21~NR2M)로 전달되도록 발화(firing)되어 출력 스파이크를 생성할 수도 있다. 일부 모델링 접근법들에서, 뉴런은 다음 레벨의 뉴런들로 신호를 지속적으로 전달할 수도 있다. 이러한 신호는 통상적으로 막 전위의 함수이다. 그러한 거동은 아날로그 및 디지털 구현들을 포함하여, 하드웨어 및/또는 소프트웨어로 에뮬레이션 또는 시뮬레이션될 수 있다.
일 레벨의 뉴런들에서 다른 레벨의 뉴런들로의 스파이크들의 전달 에서, 정보는 스파이크의 진폭에 의해서 보다는 주파수 및 스파이크들의 수, 또는 스파이크들의 타이밍에 의해서만 나타내어질 수도 있다. 스파이크의 중요성은 뉴런들 사이의 연결에 적용된 가중치에 의해 결정될 수 있다.
일 레벨의 뉴런들로부터 다른 레벨의 뉴런들로의 스파이크들의 전달은, 도 2에 도시된 바와 같이, 시냅스 연결들의 네트워크, 즉 시냅스 어레이(SYNARR)를 통해 달성될 수도 있다. 시냅스 어레이(SYNARR)에 대해, 제1 레벨(LV1)의 뉴런들은 시냅스-전 뉴런들이라고 지칭될 수 있고, 제2 레벨(LV2)의 뉴런들은 시냅스-후 뉴런들로 지칭될 수 있다. 시냅스들은 제1 레벨(LV1)의 뉴런들로부터 출력 신호들(즉, 스파이크들)을 수신하며, 조정 가능한 시냅스 가중치들 (W1~WP))에 따라 그러한 신호들을 스케일링할 수도 있으며, 여기서 P 는 제1 레벨(LV1)과 제2 레벨(LV2)의 뉴런들 사이의 시냅스 연결들의 전체 개수다. 스케일링된 신호들은 제2 레벨(LV2)의 각각의 뉴런의 입력 신호로서 결합될 수 있다. 제2 레벨(LV2)의 각각의 뉴런은 대응하는 결합된 입력 신호에 기초하여 출력 스파이크들(Y1~YM)을 생성할 수 있다. 출력 스파이크들(Y1~YM) 은 다른 시냅스 연결들의 네트워크(도시 생략)를 이용하여 다른 레벨의 뉴런들로 전달될 수 있다.
스파이킹 신경망은 범용 프로세서, 디지털 신호 프로세서 (digital signal processor; DSP), 주문형 반도체 (application specific integrated circuit; ASIC), 필드 프로그램가능 게이트 어레이 (field programmable gate array; FPGA) 혹은 다른 프로그램가능한 로직 디바이스 (programmable logic device; PLD), 이산 게이트 혹은 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 그것들의 임의의 조합에 의해 에뮬레이션될 수도 있다. 스파이킹 신경망은 전기 회로에 의해 에뮬레이션되고, 도 21 및 22를 참조하여 설명하는 바와 같이 이미지 및 패턴 인식, 머신 러닝, 모터 제어 등과 같은 광범위한 애플리케이션들에 활용될 수도 있다. 스파이킹 신경망에서의 각 뉴런은 뉴런 회로로서 구현될 수도 있다. 출력 스파이크를 개시하는 임계 값으로 충전되는 뉴런 막은, 예를 들어, 뉴런 막을 통해 흐르는 전류를 통합하는 커패시터로서 구현될 수도 있다. 상기 커패시터는 뉴런 회로의 전류 통합 디바이스로서 제거될 수도 있고, 보다 작은 멤리스터(memristor) 소자가 커패시터 대신에 이용될 수도 있다.
스파이킹 신경망을 에뮬레이션하는 신경 프로세서의 기능은 시냅스 연결들의 가중치들에 의존할 수도 있으며, 이는 뉴런들 사이의 연결들의 강도들을 제어할 수도 있다. 시냅스 가중치들은 전력 다운된 후에 프로세서의 기능을 보호하기 위해 비휘발성 메모리에 저장될 수도 있다.
도 3에는 스파이킹 신경망에 포함되는 하나의 뉴런, 즉 노드(ND)에서 수행되는 연산의 일 예를 나타낸다.
하나의 노드(ND)에 N개의 입력들(a1, a2, a3, ..., aN)이 제공되는 경우에, 노드(ND)는 N개의 입력들(a1, a2, a3, ..., aN) 및 이에 대응하는 N개의 가중치들(w1, w2, w3, ..., wN)을 각각 곱하여 합산하고, 상기 합산된 입력 값에 오프셋(b)을 더하며, 상기 오프셋이 반영된 입력 값을 특정 함수(σ)에 적용하여 하나의 출력 신호를 발생할 수 있다.
도 3에 도시된 바와 같이, 하나의 뉴런은 다수의 입력 신호들을 수신할 수도 있으며, 다수의 입력 신호들은 스파이킹 신경망의 외부의 신호들, 또는 동일한 스파이킹 신경망의 뉴런들에 의해 생성된 신호들, 또는 양자 모두일 수도 있다. 입력 신호는 전류, 컨덕턴스, 전압, 실수값 및/또는 복소수 값일 수도 있다. 이러한 입력 신호들은 조정가능한 시냅스 가중치들(W1~n))에 따라 신호들을 스케일링하는 시냅스 연결들을 통해 뉴런, 즉 노드(ND)에 전달될 수도 있으며, 여기서 n은 뉴런의 입력 연결들의 전체 개수일 수도 있다. 뉴런은 스케일링된 입력 신호들을 결합하고 결합되어진 스케일링된 입력들을 이용해 출력 신호를 생성할 수 있다.
스파이킹 신경망에서 뉴런은 아날로그 전기 회로일 수도 있고, 디지털 전기 회로일 수도 있고, 아날로그 및 디지털 컴포넌트들 양자 모두를 갖는 혼합-신호 전기 회로를 포함할 수도 있다.
스파이킹 신경망을 트레이닝하는 과정 중에, 시냅스 가중치들(예를 들어, 도 2의 가중치들 (W1~WP)) 및/또는 도 3의 가중치들 (W1~Wn) 은 랜덤 값들로 초기화되고 학습 규칙에 따라 증가되거나 감소될 수도 있다. 학습 규칙의 예들은, 이로 제한되지는 않으나, 스파이크-타이밍-종속-소성 (spike-timing-dependent plasticity; STDP) 학습 규칙, Hebb 규칙, Oja 규칙, BCM (Bienenstock-Copper-Munro) 규칙 등을 포함할 수 있따.
STDP는 뉴런들 사이의 시냅스 연결들의 강도를 조정하는 학습 프로세스이다. 연결 강도들은 특정 뉴런의 출력 및 수신된 입력 스파이크들의 상대적 타이밍(즉, 활동 전위)에 기초하여 조정된다. STDP 프로세스 하에서, 장기 강화(long-term potentiation; LTP)는 소정의 뉴런에 대한 입력 스파이크가, 평균적으로, 그 뉴런의 출력 스파이크 바로 전에 발생하려고 하면 발생할 수도 있다. 그 다음에, 그 특정 입력은 다소 더 강하게 된다. 반면에, 입력 스파이크가, 평균적으로, 출력 스파이크 바로 후에 발생하려고 하면, 장기 저하(long-term depression; LTD)가 발생할 수도 있다. 그 다음에, 그 특정 입력은 다소 약하게 되고, 따라서, 명칭이 "스파이크-타이밍-종속 가소성" 이다. 결과적으로, 시냅스-후 뉴런의 흥분을 야기할 수도 있는 입력들은 장래에 기여할 가능성이 더 크게 되고, 한편 시냅스-후 스파이크를 야기하지 않는 입력들은 장래에 기여할 가능성이 더 작아지게 된다.
STDP 학습 규칙은 시냅스-전 뉴런의 스파이크 시간(t_PRE)과 시냅스-후 뉴런의 스파이크 시간 (t_POST) 사이의 시간 차이의 함수(즉, t = t_POST t_PRE)로서 시냅스-전 뉴런을 시냅스-후 뉴런에 연결하는 시냅스의 시냅스 가중치에 효과적으로 적응될 수도 있다. 통상적인 STDP의 공식은 시간 차이가 양(positive)이면 (시냅스-전 뉴런이 시냅스-후 뉴런 전에 발화한다) 시냅스 가중치를 증가시키고 (즉, 시냅스를 강력하게 하고), 시간 차이가 음(negative)이면 (시냅스-후 뉴런이 시냅스-전 뉴런 전에 발화한다) 시냅스 가중치를 감소시키는 (즉, 시냅스를 억제하는) 것이다.
STDP 프로세스에서, 시간 경과에 따른 시냅스 가중치의 변화는 통상적으로 지수적 감쇠(exponential decay)를 이용하여 달성된다.
도 4는 STDP 에 따른 시냅스-전 스파이크와 시냅스-후 스파이크의 상대적 타이밍의 함수로서 시냅스 가중치 변화의 일 예를 나타낸다. 시냅스-전 뉴런이 시냅스-후 뉴런 전에 발화하면, 그래프의 부분(GP1)에 도시된 바와 같이, 대응하는 시냅스 가중치가 증가될 수도 있다. 이러한 가중치 증가는 시냅스의 LTP 라고 지칭될 수 있다. LTP 의 양이 시냅스-전 스파이크 시간과 시냅스-후 스파이크 시간 사이의 차이의 함수로서 거의 기하급수적으로 감소할 수도 있다는 것이 그래프 부분(GP1)으로부터 관찰될 수 있다. 그래프의 부분(GP2)에 도시된 바와 같이, 역순 (reverse order) 의 발화는 시냅스 가중치를 감소시켜, 시냅스의 LTD 를 야기할 수도 있다.
x-축의 교차 지점(PX) (y=0)은 이전 레계층으로로부터의 원인 입력들에 대한 상관관계를 고려하여 최대 시간 지연과 일치하게 구성될 수도 있다.
도 5는 뉴런들로부터 출력되는 스파이크 신호들을 설명하기 위한 도면이다.
도 5를 참조하면, 제1 프리 시냅틱 뉴런(NR_PRE1), 제2 프리 시냅틱 뉴런(NR_PRE2), 제1 포스트 시냅틱 뉴런(NR_POST1) 및 제2 포스트 시냅틱 뉴런(NR_POST2)은 스파이크 신호들(SSPK1~SSPK4)을 출력할 수 있다. 스파이크들(SPK1, SPK2)을 포함하는 제1 프리 시냅틱 뉴런(NR_PRE1)의 스파이크 신호(SSPK1) 및 스파이크들(SPK3, SPK4)를 포함하는 제2 프리 시냅틱 뉴런의 스파이크 신호(SSPK2)가 제1 포스트 시냅틱 뉴런(NR_POST1)으로 입력되는 경우, 제1 포스트 시냅틱 뉴런(NR_POST1)은 스파이크(SPK3)를 포함하는 스파이크 신호(SSPK3)을 출력할 수 있다. 반면에, 제2 프리 시냅틱 뉴런의 스파이크 신호(SSPK2)만을 수신하는 제2 포스트 시냅틱 뉴런(NR_POST2)은 스파이크를 포함하지 않는 스파이크 신호(SSPK4)을 출력할 수 있다.
도 5에 도시된 바와 같이, 제1 프리 시냅틱 뉴런(NR_PRE)은 제1 시간(t1) 및 제5 시간(t5)에 스파이크를 발생하고, 제2 프리 시냅틱 뉴런(NR_PRE2)은 제2 시간(t2) 및 제4 시간(t4)에 스파이크를 발생하고, 제1 포스트 시냅틱 뉴런(NR_POST1)은 제6 시간(t6)에 스파이크를 발생할 수 있다. 이와 같은 스파이크들의 각각에 대한 타이밍 정보는 전술한 송신 스파이크들에 대한 정보 및 수신 스파이크들에 대한 정보에 포함될 수 있다.
도 6 및 7은 본 발명의 실시예들에 따른 스파이킹 신경망의 구현 방법을 설명하기 위한 도면들이다.
도 6 및 7을 참조하면, 제1 뉴로모픽 장치(NDEV1) 및 제2 뉴로모픽 장치(NDEV2)를 전송 채널(CHNN)을 통하여 전기적으로 연결한다(S100).
제1 뉴로모픽 장치(NDEV1)의 스파이크 송수신 회로(TRX1)를 이용하여, 제1 뉴로모픽 장치(NDEV1)의 제1 뉴런 블록(NBLK1)의 송신 뉴런들(TNT)로부터 출력되는 복수의 송신 스파이크 신호들(TSPK1~TSPKN)에 기초하여 복수의 송신 스파이크 신호들(TSPK1~TSPKN)에 포함되는 송신 스파이크들에 대한 정보를 포함하는 논바이너리(non-binary) 신호(TNB)를 발생하여 전송 채널(CHNN)로 제공한다(S200).
제2 뉴로모픽 장치(NDEV2)의 스파이크 송수신 회로(TRX2)를 이용하여, 전송 채널(CHNN)을 통해 수신되는 논바이너리 신호(RNB)에 기초하여 수신 스파이크들을 포함하는 복수의 수신 스파이크 신호들(RSPK1~RSPKM)을 발생하여 제2 뉴로모픽 장치(NDEV2)의 제2 뉴런 블록(NBLK2)의 수신 뉴런들(RNR)에 제공한다(S300).
이와 같이, 스파이킹 신경망을 복수의 뉴로모픽 장치들(NDEV1, NDEV2)을 연결하여 구현할 수 있다. 복수의 뉴로모픽 장치들(NDEV1, NDEV2) 사이에서 스파이크 신호들을 논바이너리 신호로 변환하여 전송함으로써 스파이킹 신경망을 효율적으로 구현할 수 있다.
도 8은 본 발명의 실시예들에 따른 뉴로모픽 장치에 포함되는 스파이크 송수신 회로의 일 실시예를 나타내는 블록도이다.
도 8을 참조하면, 스파이크 송수신 회로(500)는 스파이크 송신 회로(TX) 및 스파이크 수신 회로(RX)를 포함할 수 있다.
스파이크 송신 회로(TX)는 스파이크 컨버터(11), 패킷타이저(12), 변조기(100 및 에러 정정 코드(ECC) 인코더(13)를 포함할 수 있다.
스파이크 컨버터(11)는 타이머로부터 제공되는 기준 시간을 참조하여 송신 스파이크들(TSPK)의 각각에 대한 타이밍 정보를 포함하는 송신 스파이크 데이터(TDT)를 발생한다. 패킷타이저(12)는 송신 스파이크 데이터(TDT)에 기초하여 송신 패킷(TPKT)을 발생한다. 변조기(100)는 송신 패킷(TPKT)을 변조하여 논바이너리 송신 신호(TNB)를 발생한다. ECC 인코더(13)는 송신 패킷(TPKT)의 헤더 및 페일로드 중 적어도 하나에 대한 ECC 인코딩을 수행하여 패리티 비트들을 발생하고, 패킷타이저(12)는 상기 패리티 비트들을 송신 패킷(TPKT)에 부가할 수 있다.
스파이크 수신 회로(RX)는 복조기(200), 디패킷타이저(22), 스파이크 발생기(21) 및 ECC 디코더(23)를 포함할 수 있다.
복조기(200)는 논바이너리 수신 신호(RNB)를 복조하여 수신 패킷(RPKT)을 발생한다. 디패킷타이저(22)는 수신 패킷(RPKT)에 기초하여 상기 수신 스파이크들의 각각에 대한 타이밍 정보를 포함하는 수신 스파이크 데이터(RDT)를 발생한다. 스파이크 발생기(21)는 타이머로부터 제공되는 기준 시간을 참조하여 수신 스파이크 데이터(RDT)에 기초하여 복수의 수신 스파이크 신호들(RSPK)을 발생한다. ECC 디코더(23)는 수신 패킷(RPKT)에 포함된 패리티 비트들에 기초하여 수신 스파이크 데이터(RDT)의 오류를 정정할 수 있다.
실시예에 따라서, ECC 인코더(13) 및 ECC 디코더(23)는 구성 요소의 일부를 공유하도록 구현될 수 있다. 한편, 실시예에 따라서, ECC 인코더(13) 및 ECC 디코더(23)는 선택적으로 인에이블될 수 있고, ECC 인코더(13) 및 ECC 디코더(23)가 생략될 수도 있다. 타이머는 본 발명의 실시예들에 따른 뉴로모픽 장치들로 구현된 뉴로모픽 시스템에 포함되어 시스템의 전체적인 동작을 동기화하기 위한 기준 시간을 제공할 수 있다.
이와 같이, 스파이크 송신 회로(TX)는 송신 스파이크들에 대한 정보에 기초하여 송신 패킷(TPKT)을 발생하고 송신 패킷(TPKT)을 논바이너리 송신 신호(TNB)로 변조하고, 스파이크 수신 회로(RX)는 논바이너리 수신 신호(RNB)를 복조하여 수신 패킷(RPKT)을 발생할 수 있다. 본 발명의 실시예들에 따른 뉴로모픽 장치 및 상기 뉴로모픽 장치를 포함하는 뉴로모픽 시스템은 스파이크 신호들을 패킷화하고 논바이너리 신호로 변조하여 전송함으로써 스파이킹 신경망을 효율적으로 구현할 수 있다.
도 9a 내지 9g는 본 발명의 실시예들에 따른 뉴로모픽 장치에서 이용되는 패킷의 포맷의 실시예들을 나타내는 도면들이다.
도 9a 내지 9g를 참조하면, 패킷은 헤더(HDR) 및 페일로드(PAYLOAD)를 포함할 수 있다. 패킷은 스파이크 송신 회로에서 발생되는 송신 패킷 및 스파이크 수신 회로가 수신하는 수신 패킷에 해당할 수 있다. 헤더(HDR)는 스파이크들(SPK1~SPK3)을 발생하는 송신 뉴런 블록의 식별자(PSRC), 패킷을 수신하는 수신 뉴런 블록 또는 뉴런 블록 이외의 수신 장치에 대한 식별자(PDST) 및 패킷에 포함되는 스파이크들(SPK1~SPK3)의 개수(NS)와 같은 정보를 포함할 수 있다. 한편, 도면에 도시하지는 않았으나, 헤더(HDR)는 ECC 기능의 활성화 여부, ECC 코딩 방식 등에 관한 정보를 더 포함할 수 있다.
일 실시예에서, 도 9a에 도시된 바와 같이, 페일로드(PAYLOAD)는 스파이크들(SPK1~SPK3)의 각각에 대한 수신 뉴런들의 식별자들(DST1~DST3) 및 타임 스탬프들(TSTM1~TSTM3)과 같은 타이밍 정보를 포함할 수 있다.
다른 실시예에서, 도 9b에 도시된 바와 같이, 페일로드(PAYLOAD)는 스파이크들(SPK1~SPK3)의 각각에 대한 수신 뉴런들의 식별자들(DST1~DST3), 타임 스탬프들(TSTM1~TSTM3)과 같은 타이밍 정보 및 웨이트 값들(W1~W3)을 포함할 수 있다.
일 실시예에서, 도 9c에 도시된 바와 같이, 스파이크 송신 회로는 헤더(HDR)에 대한 ECC 인코딩을 수행하여 헤더 패리티 비트들(HPRT)을 발생하고 헤더 패리티 비트들(HPRT)을 송신 패킷에 부가할 수 있고, 페일로드(PAYLOAD)에 대한 ECC 인코딩을 수행하여 스파이크 패리티 비트들(SPRT)을 발생하고 스파이크 패리티 비트들(SPRT)을 송신 패킷에 부가할 수 있다. 스파이크 수신 회로는, 이와 같은 패리티 비트들(HPRT, SPRT)을 이용하여 수신 패킷의 오류를 정정할 수 있다.
실시예에 따라서, 도 9d에 도시된 바와 같이, 스파이크 송신 회로는 헤더(HDR)에 대한 ECC 인코딩만을 수행하여 헤더 패리티 비트들(HPRT)을 송신 패킷에 부가할 수 있고, 페일로드(PAYLOAD)에 대한 ECC 인코딩은 생략할 수 있다.
일 실시예에서, 도 9e에 도시된 바와 같이, 스파이크 송신 회로는 헤더(HDR) 및 수신 뉴런들의 식별자들(DST1~DST3)에 대한 ECC 인코딩을 수행하여 제1 패리티 비트들(PRT1)을 발생하고 제1 패리티 비트들(PRT1)을 송신 패킷에 부가할 수 있고, 타임 스탬프들(TSTM1~TSTM3) 및 웨이트 값들(W1~W3)에 대한 ECC 인코딩을 수행하여 제2 패리티 비트들(PRT2)을 발생하고 제2 패리티 비트들(PRT2)을 송신 패킷에 부가할 수 있다. 이 경우, 제1 패리티 비트들(PRT1)의 ECC 레벨이 제2 패리티 비트들(PRT2)의 ECC 레벨보다 높게 설정될 수 있다. ECC 레벨들에 대해서는 도 10을 참조하여 후술한다.
도 9f 및 9g는 4개의 신호 레벨들을 갖는 PAM4 신호를 이용한 전송 방식에 상응하는 멀티-레벨 코딩(multi-level coding)의 일 실시예를 나타내는 도면들이다.
도 9f에 도시된 바와 같이, PAM4 신호의 4개의 신호 레벨들은 2비트의 데이터, 즉 '11', '10', '01', '00'의 값들에 상응할 수 있다. '11' 및 '01'은 MSB가 1인 경우에 해당하고 '10' 및 '00'은 MSB가 0인 경우에 해당한다.
이러한 PAM4 방식의 신호 전송의 경우, 도 9g에 도시된 바와 같이, 헤더(HDR) 및 수신 뉴런들의 식별자들(DSTs)은 패킷의 MSB들로 배치하고 타임 스탬프들(TSTMs) 및 웨이트 값들(Ws)은 LSB들로 배치하여 ECC 인코딩을 수행할 수 있다. 스파이크 송신 회로는 헤더(HDR) 및 수신 뉴런들의 식별자들(DSTs)에 대한 ECC 인코딩을 수행하여 제1 패리티 비트들(PRT1)을 발생하고 제1 패리티 비트들(PRT1)을 송신 패킷의 MSB들에 부가할 수 있고, 타임 스탬프들(TSTMs) 및 웨이트 값들(Ws)에 대한 ECC 인코딩을 수행하여 제2 패리티 비트들(PRT2)을 발생하고 제2 패리티 비트들(PRT2)을 송신 패킷의 LSB들에 부가할 수 있다. 이 경우, 제1 패리티 비트들(PRT1)의 ECC 레벨이 제2 패리티 비트들(PRT2)의 ECC 레벨보다 높게 설정될 수 있다.
이와 같이, 전송되는 정보의 중요도에 따라서 ECC 레벨을 다르게 적용함으로써 코드 레이트(code rate)를 증가하고 ECC 오버헤드를 감소할 수 있다.
도 10은 본 발명의 실시예들에 따른 뉴로모픽 장치의 ECC 레벨을 설명하기 위한 도면이다.
도 10에서 SEC는 1비트 에러 정정(single-error-correction)을 나타내고, DED는 2비트 에러 검출(double-error-detection)을 나타내고, DEC는 2비트 에러 정정(double error correction)을 나타낸다. 도 10에는 해밍 코드(Hamming code) 또는 확장 해밍 코드(extended Hamming code)에 의한 데이터 비트 수에 상응하는 패리티 비트 수가 도시되어 있다. 도 3에 도시된 예는 본 발명의 실시예들에 따른 뉴로모픽 장치의 ECC 레벨들을 설명하기 위한 것으로서 이에 한정되지 않는다. 예를 들어, BCH (Bose-Chaudhuri-Hocquenghem) 코드, 리드 솔로몬(Reed-Solomon) 코드 등의 다른 코드를 사용하는 경우에는 데이터 비트 수에 상응하는 패리티 비트 수가 달라질 수 있다.
동일한 데이터 비트 수에 대해서 패리티 비트 수가 증가할수록 에러 검출 및 정정 능력이 증가하고, 기입 데이터의 비트 수에 대한 상기 기입 데이터에 상응하는 패리티 데이터의 비트 수의 비율이 증가한다. 한편, 동일한 에러 검출 및 정정 능력에 대한 데이터 비트 수가 증가할수록 상응하는 패리티 비트 수도 증가하지만 기입 데이터의 비트 수에 대한 패리티 데이터의 비트 수의 비율은 감소한다.
도 10에 도시한 ECC 레벨들 중 뉴로모픽 장치 및 뉴로모픽 시스템에 적절한 ECC 레벨을 선택함으로써, 시스템의 성능 및 오류 정정 능력을 조절할 수 있다.
스파이킹 신경망에 포함되는 뉴런들의 개수가 증가할수록 고용량 및 고속 데이터 전송에 대한 요구가 증가될 수 있다. 본 발명의 실시예들은 도 11 내지 15를 참조하여 후술하는 바와 같은 펄스 진폭 변조(예를 들면, PAM4) 방식을 채용하여 스파이크 정보를 송수신함으로써 뉴로모픽 장치 및 이를 포함하는 뉴로모픽 시스템의 동작 속도를 증가시킬 수 있다.
도 11은 본 발명의 실시예들에 따른 뉴로모픽 장치의 PAM 신호의 일 예를 나타내는 도면이다.
도 11을 참조하면, 본 발명의 PAM 변조기에서는 4개의 신호 레벨을 갖는 PAM4 신호가 생성될 수 있다. PAM4 신호의 가장 낮은 전압 레벨(V0)은 2-비트 데이터 '00'에 맵핑될 수 있다. 그리고 PAM4 신호의 가장 높은 전압 레벨(V3)은 2-비트 데이터 '10'에 맵핑될 수 있다. PAM4 신호의 가장 낮은 전압 레벨(V0)과 가장 높은 전압 레벨(V3)은 본 발명의 하이 스윙(High Swing: HS) 레벨에 대응한다. PAM4 신호의 중간 전압 레벨들(V1, V2)은 각각 2-비트 데이터 '01' 및 '11'에 맵핑될 수 있다. 2-비트 데이터 '01' 및 '11'에 대응하는 중간 전압 레벨들(V1, V2)은 각각 로우 스윙(Low Swing: LS) 레벨에 대응한다. 상술한 전압 레벨들(V0, V1, V2, V3)과 데이터의 맵핑은 그레이 코드(Gray code) 방식에 따른 맵핑이다. 하지만, 도시된 전압 레벨들과 데이터 비트들의 맵핑은 예시적일 뿐이며, 다양한 목적에 따라 맵핑은 변경될 수 있음은 잘 이해될 것이다.
PAM4 송신기는 로우 스윙 레벨의 신호를 생성하는 드라이버와 하이 스윙 레벨의 신호를 생성하는 드라이버가 별도로 제공될 수 있다. 더불어, 펄스 진폭 변조 방식에서 로우 스윙과 하이 스윙뿐 아니라 복수의 전압 스윙을 구동할 수 있는 3개 이상의 드라이버들이 제공될 수 있음도 잘 이해될 것이다.
도 12는 본 발명의 실시예들에 따른 뉴로모픽 장치에 포함되는 변조기의 일 실시예를 나타내는 블록도이다.
도 12를 참조하면, 변조기는 PAM 송신기(100)로 구현될 수 있고, 시리얼라이저(110), PAM 인코더(120), 제 1 전압 레귤레이터(130), 제 2 전압 레귤레이터(140), 로우 스윙 드라이버(150), 하이 스윙 드라이버(160), 그리고 정전류 부하 스위치(170)를 포함할 수 있다.
시리얼라이저(110)는 전송될 데이터(Data_P)를 연속된 데이터열 형태의 직렬 데이터(Data_S)로 변환한다. 여기서, 데이터(Data_P)는 전술한 송신 패킷(TPKT)의 데이터일 수 있다. 시리얼라이저(110)에 의해서 직렬 데이터(Data_S)는 이진 비트들이 연속되는 형태로 출력될 것이다.
PAM 인코더(120)는 데이터(Data_S)를 2-비트 단위로 부호화한다. 예를 들면, PAM 인코더(120)는 연속된 데이터(Data_S)를 2-비트 단위로 구분한다. 그리고 PAM 인코더(120)는 구분된 각각의 2-비트의 논리값에 따른 구동 신호(D00, D01, D11, D10)를 생성한다. PAM 인코더(120)는 생성된 구동 신호를 로우 스윙 드라이버(150)나 하이 스윙 드라이버(160)로 전달한다. 예를 들면, PAM 인코더(120)는 2-비트 데이터의 논리값이 '00' 또는 '10'인 경우, 구동 신호 'D00' 또는 'D10'을 하이 스윙 드라이버(160)에 전달한다. 그리고 PAM 인코더(120)는 2-비트 데이터의 논리값이 '01' 또는 '11'인 경우, 구동 신호 'D01' 또는 'D11'을 로우 스윙 드라이버(150)에 전달한다.
PAM 인코더(120)는 구동 신호 'D01'이나 'D11'을 로우 스윙 드라이버(150)에 전달하는 경우, 로우 스윙 드라이버(150)를 활성화하기 위한 제 1 인에이블 신호(LS_EN)를 생성할 수 있다. 그리고 PAM 인코더(120)는 구동 신호 'D00'이나 'D10'을 하이 스윙 드라이버(160)에 전달하는 경우, 하이 스윙 드라이버(160)를 활성화하기 위한 제 2 인에이블 신호(HS_EN)을 생성할 수 있다.
PAM 인코더(120)는 하이 스윙 드라이버(160)가 활성화되고, 로우 스윙 드라이버(150)가 비활성화되는 경우, 정전류 부하 스위치(170)를 턴온(Turn-on)시킬 수 있다. PAM 인코더(120)는 구동 신호 'D00' 또는 'D10'을 하이 스윙 드라이버(160)에 전달하는 경우, 로우 스윙 드라이버(150)를 비활성화하는 동시에 정전류 부하 스위치(170)를 턴온시킨다. 정전류 부하 스위치(170)가 턴온되면 전압 레귤레이터들(130, 140) 간의 전류 경로가 형성된다. 이때, 로우 스윙 드라이버(150)를 경유하는 전류 경로가 차단되더라도, 정전류 부하 스위치(170)를 통한 전류 경로의 형성에 따라 전압 레귤레이터들(130, 140)은 안정된 동작을 유지할 수 있다. 정전류 부하 스위치(170)를 제어하기 위해, 예를 들면, PAM 인코더(120)는 제 2 인에이블 신호(HS_EN)를 사용할 수 있다. 하지만, 다른 실시 예에서 정전류 부하 스위치(170)를 턴온 또는 턴오프시키기 위하여 제 1 인에이블 신호(LS_EN)를 사용할 수도 있음은 잘 이해될 것이다.
제 1 전압 레귤레이터(130)는 로우 스윙 드라이버(150)에 제 1 로우 스윙 전압(VLS_H)을 제공한다. 제 1 전압 레귤레이터(130)는 기준 전압(Vref)에 따라 최적의 하이 신호 레벨에 대응하는 제 1 로우 스윙 전압(VLS_H)을 출력하도록 설정될 수 있다. 제 1 전압 레귤레이터(130)는 제 1 로우 스윙 전압(VLS_H)을 지속적으로 생성하여 로우 스윙 드라이버(150)에 제공한다. 즉, 로우 스윙 드라이버(150)가 신호를 생성하지 않는 동안에도 제 1 전압 레귤레이터(130)는 지속적으로 활성화 상태를 유지한다.
제 2 전압 레귤레이터(140)는 로우 스윙 드라이버(150)에 제 2 로우 스윙 전압(VLS_L)을 제공한다. 제 2 전압 레귤레이터(140)는 기준 전압(Vref)에 따라 로우 스윙 드라이버(150)에서 최적의 로우 신호 레벨에 대응하는 제 2 로우 스윙 전압(VLS_L)을 출력하도록 설정될 수 있다. 제 2 전압 레귤레이터(140)는 로우 스윙 하이 전압(VLS_L)을 지속적으로 생성하여 로우 스윙 드라이버(150)에 제공한다. 즉, 로우 스윙 드라이버(150)가 신호를 생성하지 않는 동안에도 제 2 전압 레귤레이터(140)는 지속적으로 활성화 상태를 유지한다.
로우 스윙 드라이버(150)는 구동 신호 'D01' 또는 'D11'(2-비트 데이터의 논리값이 '01' 또는 '11'인 경우)에 대응하는 로우 스윙 신호를 생성한다. 로우 스윙 드라이버(150)는 전압 레귤레이터들(130, 140)로부터 제공되는 제 1 로우 스윙 전압(VLS_H) 및 제 2 로우 스윙 전압(VLS_L)을 이용하여 로우 스윙 레벨(예를 들면, 도 11의 V1 및 V2)을 갖는 로우 스윙 신호를 생성한다. 로우 스윙 드라이버(150)는 PAM 인코더(120)로부터 제공되는 제 1 인에이블 신호(LS_EN)에 응답하여 로우 스윙 신호를 생성한다. 로우 스윙 드라이버(150)는 생성된 로우 스윙 신호를 출력단(TXP, TXN)으로 전달할 것이다.
하이 스윙 드라이버(160)는 'D00' 또는 'D10'(2-비트 데이터의 논리값이 '00' 또는 '10'인 경우)에 대응하는 하이 스윙 신호를 생성한다. 하이 스윙 드라이버(160)는 송신 전원 전압(VDDTX, VSS)을 이용하여 하이 스윙 레벨(예를 들면, 도 11의 V0 및 V3)의 하이 스윙 신호를 생성한다. 하이 스윙 드라이버(160)는 PAM 인코더(120)로부터 제공되는 제 2 인에이블 신호(HS_EN)에 응답하여 하이 스윙 신호를 생성한다. 그리고 하이 스윙 드라이버(160)는 생성된 하이 스윙 신호를 출력단(TXP, TXN)으로 전달할 것이다.
로우 스윙 신호와 하이 스윙 신호는 상호 배타적으로 출력단(TXP, TXN)에 전달된다. 예를 들면, 로우 스윙 신호가 출력되는 시점에서 하이 스윙 신호는 존재하지 않는다. 즉, 로우 스윙 드라이버(150)가 로우 스윙 신호를 출력하는 시점에서 하이 스윙 드라이버(160)는 비활성화되고, 하이 스윙 드라이버(160)의 출력단은 하이 임피던스 상태를 유지할 것이다. 반대의 경우도 마찬가지다. 하이 스윙 드라이버(160)가 하이 스윙 신호를 출력하는 시점에서 로우 스윙 드라이버(150)는 비활성화되고, 로우 스윙 드라이버(150)의 출력단은 하이 임피던스 상태를 유지할 것이다.
정전류 부하 스위치(170)는 PAM 인코더(120)의 제어에 따라 제 1 전압 레귤레이터(130)와 제 2 전압 레귤레이터(140) 사이의 전류 경로를 제공한다. 로우 스윙 드라이버(150)의 활성화 상태에서, 로우 스윙 드라이버(150)가 제 1 전압 레귤레이터(130)와 제 2 전압 레귤레이터(140) 사이에서 전류 경로를 제공한다. 하지만, 로우 스윙 드라이버(150)가 비활성화된 상태에서는 로우 스윙 드라이버(150) 내부에 형성된 전류 경로는 차단된다.
도 13은 도 12의 변조기에서 출력되는 예시적인 PAM 신호를 나타내는 타이밍도이다.
도 12를 참조하면, 송신 전원 전압(VDDTX, 0)의 레벨에서 PAM 송신기(100)는 하이 스윙(High swing)과 로우 스윙(Low swing)을 연속적으로 수행하여 PAM 송신 신호를 생성할 수 있다.
로우 스윙은 제 1 전압 레귤레이터(130)에서 제공하는 제 1 로우 스윙 전압(VLS_H)과 제 2 전압 레귤레이터(140)에서 제공하는 제 2 로우 스윙 전압(VLS_L) 사이에서 이루어진다. 하이 스윙 드라이버(160)가 비활성화되고, 로우 스윙 드라이버(150)가 활성화되면, 출력단(TXP, TXN)의 PAM 송신 신호는 제 1 로우 스윙 전압(VLS_H)과 제 2 로우 스윙 전압(VLS_L) 사이의 레벨에서 스윙한다. 예시적으로, 로우 스윙 인에이블 신호(LS_EN)가 활성화되는 구간(ㅔT1)에서, 로우 스윙 드라이버(150)는 제 1 로우 스윙 전압(VLS_H)과 제 2 로우 스윙 전압(VLS_L)을 이용하여 PAM 송신 신호를 생성할 것이다. 따라서, 로우 스윙 인에이블 신호(LS_EN)가 활성화되는 시점에서 PAM 송신 신호는 제 1 로우 스윙 전압(VLS_H)과 제 2 로우 스윙 전압(VLS_L) 사이에서 스윙한다.
반면, 하이 스윙 인에이블 신호(HS_EN)가 활성화되는 구간(ㅔT2)에서, 로우 스윙 드라이버(150)는 비활성화된다. 이때, 하이 스윙 드라이버(160)는 송신 전원 전압(VDDTX, VSS)을 사용하여 PAM 송신 신호를 생성할 것이다. 따라서, PAM 송신 신호는 제 1 로우 스윙 전압(VLS_H)보다 높은 레벨과 제 2 로우 스윙 전압(VLS_L)보다 낮은 레벨 사이에서 스윙한다.
도 14는 PAM 신호의 예시적인 아이-패턴(eye pattern)을 나타내는 도면이다.
도 14를 참조하면, PAM 송신 신호의 아이 패턴은 로우 스윙 드라이버(150)와 하이 스윙 드라이버(160)의 효율적인 전압 스윙에 의해서 전형적인 PAM4 신호 방식에서의 아이 패턴의 특성을 제공한다.
PAM 송신 신호의 아이 패턴을 살펴보면, 출력되는 PAM4 시그널링 방식의 송신 신호는 네 개의 레벨을 지원하며, 단위 간격(UI: Unit Interval)당 2-비트의 데이터를 전송할 수 있다.
도 15는 본 발명의 실시예들에 따른 뉴로모픽 장치에 포함되는 복조기의 일 실시예를 나타내는 블록도이다.
도 15를 참조하면, 복조기는 PAM 수신기(200)로 구현될 수 있고, 제 1 스위치드 커패시터 서머(210, 1st switched capacitor summer), 제 2 스위치드 커패시터 서머(220, 2nd switched capacitor summer), 비교기들(230, 240, 250), 멀티플렉서(260), 그리고 종단 회로(270)을 포함할 수 있다.
전송 채널을 통해서 전달된 PAM 입력 신호(RXINP, RXINN)가 PAM 수신기(200)의 입력 패드에 전달된다. 종단 회로(270)에 의해서 미리 결정된 레벨의 전압 신호로 변환된 PAM 입력 신호(RXINP, RXINN)는 제 1 스위치드 커패시터 서머(210)와 제 2 스위치드 커패시터 서머(220)에 전달된다.
제 1 스위치드 커패시터 서머(210)는 PAM 입력 신호(RXINP, RXINN)로부터 오프셋(ㅱ)이 적용되지 않은 제 1 및 제 2 수신 신호들(RXP, RXN)을 생성한다. 제 1 스위치드 커패시터 서머(210)는 오프셋(ㅱ)을 인가하지 않는 점을 제외하면 구조적으로 제 2 스위치드 커패시터 서머(220)와 동일하게 구성될 수 있다. 제 1 스위치드 커패시터 서머(210)에서 생성된 제 1 및 제 2 수신 신호들(RXP, RXN)은 LSB(Least Significant Bit)를 결정하기 위한 비교기들(240, 250)과, MSB(Most Significant Bit)를 결정하기 위한 비교기(230)에 전달된다.
제 2 스위치드 커패시터 서머(220)는 PAM 입력 신호(RXINP, RXINN)를 제공받아 오프셋 수신 신호(RXP+, RXN+)를 생성한다. 제 2 스위치드 커패시터 서머(220)는 PAM 입력 신호(RXINP, RXINN)에 오프셋(Offset, ㅱ)을 적용한 제 3 및 제 4 수신 신호들(RXP+, RXN+)을 생성한다. 오프셋(ㅱ)을 적용하기 위해 제 2 스위치드 커패시터 서머(220)는 커패시터를 스위칭하고, 오프셋(ㅱ)에 대응하는 전압을 부스팅시키는 구조를 갖는다. 제 2 스위치드 커패시터 서머(210)는 커패시터를 스위칭하여 위해 클록 신호(CK)를 사용할 수 있다. 제 2 스위치드 커패시터 서머(220)에 의해서 생성된 제 3 및 제 4 수신 신호들(RXP+, RXN+)은 LSB를 결정하기 위한 비교기들(240, 250)에 제공한다.
제 1 비교기(230)는 하나의 단위 간격(Unit Interval: UI)에 전달되는 2-비트 데이터 중 MSB의 논리값을 결정한다. 제 1 비교기(230)는 오프셋이 적용되지 않은 제 1 수신 신호(RXN)와 제 2 수신 신호(RXN)를 사용하여 MSB의 논리값을 결정한다. 제 1 비교기(230)에 의한 MSB의 논리값 결정은 일반적인 NRZ 방식의 수신기에서 수행되는 차동 신호의 레벨을 이용한 논리값의 결정 방식과 실질적으로 동일하다. 제 1 수신 신호(RXN)는 실질적으로 제 2 수신 신호(RXP)와 중심 전압을 기준으로 대칭적 관계를 가질 것이다. 즉, 제 1 수신 신호(RXN)와 제 2 수신 신호(RXP)의 레벨을 사용하여 하나의 단위 간격을 동안 전달되는 2-비트 데이터의 MSB가 결정될 수 있다. 예를 들면, 제 2 수신 신호(RXP)의 레벨이 MSB 기준 전압(VMSB)보다 높으면, 비교기(230)는 2-비트의 PAM 수신 데이터의 MSB를 논리 '1'로 결정할 수 있다.
제 2 비교기(240)는 오프셋이 적용되지 않은 제 2 수신 신호(RXP)와 오프셋이 적용된 제 3 수신 신호(RXN+)를 사용하여 하나의 단위 간격(UI)에 전달되는 2-비트 데이터 중 LSB를 결정한다. 제 3 수신 신호(RXN+)는 제 1 수신 신호(RXN)에 비하여 오프셋(ㅱ)만큼 승압된 전압 레벨을 갖는다. 제 2 비교기(240)는 제 2 수신 신호(RXP)와 오프셋에 의해서 승압된 제 3 수신 신호(RXN+)를 비교함에 따라 실제로 전달된 LSB의 반전된 비트 값을 출력하게 될 것이다. 따라서, 반전된 LSB 비트 값을 복구하기 위해 제 2 비교기(240)의 출력단에는 인버터가 포함될 수 있을 것이다. 제 2 비교기(240)의 LSB 출력값은 MSB가 논리 '1'일때 유효한 값이 된다.
제 3 비교기(250)는 오프셋이 적용되지 않은 제 1 수신 신호(RXN)와 오프셋이 적용된 제 4 수신 신호(RXP+)를 사용하여 하나의 단위 간격(UI)에 전달되는 2-비트 데이터 중 LSB의 논리값을 결정한다. 제 4 수신 신호(RXP+)는 제 2 수신 신호(RXP)에 비하여 오프셋(ㅱ)만큼 승압된 전압 레벨을 갖는다. 제 3 비교기(250)는 제 1 수신 신호(RXN)와 오프셋만큼 승압된 제 4 수신 신호(RXP+)를 비교하고, 비교 결과로 LSB 값을 출력하게 될 것이다. 제 3 비교기(250)의 LSB 출력값은 제 1 비교기(230)에 의해서 결정된 MSB의 논리값이 '0'일때 유효한 값이 된다.
멀티플렉서(260)는 제 1 비교기(230)로부터 제공되는 MSB의 논리값에 따라 제 2 비교기(240)와 제 3 비교기(250)의 출력중 어느 하나를 선택한다. 멀티플렉서(260)는 제 1 비교기(230)에 의해서 결정된 MSB의 논리값이 '0'인 경우에는 제 3 비교기(250)가 결정한 LSB를 출력한다. 반면, 멀티플렉서(260)는 제 1 비교기(230)에 의해서 결정된 MSB의 논리값이 '1'인 경우에는 제 2 비교기(240)가 결정한 LSB를 출력한다.
종단 회로(270)는 PAM 수신기(200)의 임피던스를 매칭하기 위한 임피던스 회로로 제공될 수 있다. 종단 회로(270)에 의해서 PAM 입력 신호(RXINP, RXINN)가 전압 신호로 제 1 및 제 2 스위치드 커패시터 서머(2210, 220)에 전달된다.
이와 같이, 본 발명의 실시예들에 따른 뉴로모픽 장치 및 상기 뉴로모픽 장치를 포함하는 뉴로모픽 시스템은, 도 11 내지 15를 참조하여 설명한 바와 같이, 스파이크 신호들을 패킷화하고 PAM 신호로 변조하여 전송함으로써 스파이킹 신경망을 효율적으로 구현할 수 있다.
도 16a, 16b, 16c 및 16d는 본 발명의 실시예들에 따른 스파이킹 신경망의 실시예들을 나타내는 도면들이다.
도 16a를 참조하면, 스파이킹 신경망(SNN1)은 전송 채널(CHNN)에 공통으로 접속되는 복수의 뉴로모픽 장치들(NDEV1~NDV6)을 포함할 수 있다. 복수의 뉴로모픽 장치들(NDEV1~NDV6)은 각각 전술한 바와 같은 스파이크 송수신 회로(TRX)를 포함하고, 논바이너리 신호의 송수신을 통해 스파이크 정보를 전달할 수 있다. 도 16a의 스파이킹 신경망(SNN1)에서는, 복수의 뉴로모픽 장치들(NDEV1~NDV6)의 각각이 임의의 다른 뉴로모픽 장치와 스파이크 정보를 교환할 수 있다.
도 16b의 스파이킹 신경망(SNN2)는 1차원 시스톨릭(systolic) 구조를 갖고, 도 16c의 스파이킹 신경망(SNN3)는 3차원 시스톨릭 구조를 갖고, 도 16c의 스파이킹 신경망(SNN2)는 1차원 시스톨릭 구조를 갖는다. 도 16b, 16c 및 16d의 스톨릭 구조에서는 일부의 뉴로모픽 장치의 송수신 회로(TRX)는 스파이크 정보들 송신하기 위한 스파이크 송신 회로(TX)만을 포함하고, 스파이크 정보를 수신하기 위한 스파이크 송신 회로(TX)는 생략되거나 비활성될 수 있다.
도 16b를 참조하면, 복수의 뉴로모픽 장치들(NDEV1~NDEV4)은 전송 채널(CHNN)을 통하여 1차원으로 연결되고, 오른쪽 방향으로만 스파이크 정보가 전달될 수 있다.
도 16c를 참조하면, 복수의 뉴로모픽 장치들(NDEV11~NDEV44)은 전송 채널(CHNN)을 통하여 2차원으로 연결되고, 오른쪽 방향 및 아래 방향으로만 스파이크 정보가 전달될 수 있다.
도 16d를 참조하면, 복수의 뉴로모픽 장치들(NDEV111~NDEV222)은 수평 전송 채널(HCHNN) 및 수직 전송 채널(VCHNN)을 통하여 3차원으로 연결되고, 복수의 레이어들(LAY1, LAY2)의 각각에서는 수평 전송 채널(HCHNN)을 통하여 오른쪽 방향 및 아래 방향으로만 스파이크 정보가 전달되고, 복수의 레이어들(LAY1, LAY2) 사이에서는 수직 전송 채널(VCHNN)을 통하여 수직 방향으로만(예를 들어, LAY1에서 LAY2 방향으로만) 스파이크 정보가 전달될 수 있다.
이와 같이, 복수의 뉴로모픽 장치들을 이용하여 스파이킹 신경망(spiking neural network)을 형성할 수 있다. 복수의 뉴로모픽 장치들 중 적어도 하나의 뉴로모픽 장치는 스파이크 송수신 회로(TRX)의 스파이크 송신 회로(TX)를 이용하여 논바이너리 송신 신호를 전송 채널로 전송하고 상기 복수의 뉴로모픽 장치들 중 적어도 다른 하나의 뉴로모픽 장치는 스파이크 송수신 회로(TRX)의 스파이크 수신 회로(RX)를 이용하여 전송 채널을 통해 제공되는 상기 논바이너리 송신 신호를 상기 논바이너리 수신 신호로서 수신할 수 있다.
도 17, 18, 19 및 20은 본 발명의 실시예들에 따른 뉴로모픽 시스템을 나타내는 도면들이다.
도 17을 참조하면, 뉴로모픽 시스템(600)은 반도체 기판(SUB) 및 상부의 절연층(DLY)으로 구성되는 동일한 반도체 다이(SD)에 포함되는 복수의 뉴로모픽 장치들을 포함할 수 있다. 제1 뉴로모픽 장치는 제1 뉴로모픽 코어(NRC1) 및 제1 스파이크 송수신 회로(TRX1)을 포함하고, 제2 뉴로모픽 장치는 제2 뉴로모픽 코어(NRC2) 및 제2 스파이크 송수신 회로(TRX2)을 포함하고, 제3 뉴로모픽 장치는 제3 뉴로모픽 코어(NRC3) 및 제3 스파이크 송수신 회로(TRX3)을 포함한다. 이 경우 논바이너리 신호를 전송하는 전송 채널(CHNN)은 반도체 다이(DS)의 반도체 기판(SUB)의 상부, 즉 절연층(DLY)에 형성되는 메탈 라인을 포함할 수 있다.
도 18을 참조하면, 뉴로모픽 시스템(700)은 베이스 기판(60) 및 베이스 기판(60) 위에 적층된 복수의 반도체 다이들(41, 42, 43, 50)을 포함할 수 있다. 적층된 반도체 다이들(41, 42, 43)은 하나의 칩(40)으로서 패키징될 수 있고, 로직 반도체 다이(50)가 하나의 칩으로서 패키징될 수 있다. 각각 패키징된 칩들(40, 50)은 범프들(BMP)을 이용하여 베이스 기판(60) 위에 실장될 수 있고 범프(BMP), 수직 컨택(VC) 및 베이스 기판(60)의 신호 라인(62)을 통하여 서로 전기적으로 연결될 수 있다.
적층형 반도체 칩(40)은 수직 방향으로 적층된 복수의 반도체 다이들(SD1, SD2, SD3)을 포함한다. 도 18에는 설명 및 도시의 편의를 위하여 3개의 반도체 다이들이 적층된 예를 도시하였으나, 적층형 반도체 칩(40) 내에 적층되는 반도체 다이들의 개수는 다양하게 결정될 수 있다. 반도체 다이들(SD1, SD2, SD3)은 내부 회로들(INT1, INT2, INT3), 송수신 회로들(TRX1, TRX2, TRX3) 및 관통 비아들(TSV1, TSV2, TSV3)을 각각 포함할 수 있다. 반도체 다이(50)는 내부 회로(INTC), 송수신 회로(TRXC) 및 수직 컨택(VC)을 포함할 수 있다.
각각의 데이터 경로(PTH)는 반도체 다이들(SD1, SD2, SD3)에 각각 형성되는 3개의 관통 비아들(TSV1, TSV1, TSV1)을 포함할 수 있다. 도 18에는 인접한 반도체 다이들의 관통 비아들이 직접 접촉하는 것으로 도시되어 있으나, 반도체 다이들의 적층 방법에 따라서 관통 비아들은 범프 및/또는 패드들을 매개로 하여 서로 전기적으로 연결될 수도 있다.
내부 회로들(INT1, INT2, INT3)은 전술한 바와 같은 적어도 하나의 뉴런 블록을 포함할 수 있다. 다시 말해, 적층형 반도체 칩(40)은 전술한 뉴로모픽 장치들이 수직 방향으로 적층되는 적층형 뉴로모픽 장치에 해당할 수 있다. 각각의 송수신 회로(ITRX, TRXi)(i=1, 2, 3)는 전술한 바와 같이 뉴런 블록들 사이의 스파이크 정보를 논바이너리 신호로 변조하여 전달할 수 있다.
이와 같이, 각각의 적층형 뉴로모픽 장치(40)에서는, 제1 뉴로모픽 장치는 제1 반도체 다이에 포함되고, 제2 뉴로모픽 장치는 상기 제1 반도체 다이와 수직 방향으로 적층되는 제2 반도체 다이에 포함될 수 있다. 이 경우, 논바이너리 신호를 전송하기 위한 전송 채널은 상기 제1 반도체 다이 및 상기 제2 반도체 다이에 형성되는 관통 비아(TSV, through silicon via)들을 포함할 수 있다. 한편, 도 18에 도시된 복수의 적층형 뉴로모픽 장치들(40) 사이의 논바이너리 신호를 전송하기 위한 전송 채널은 베이스 기판(60)의 신호 라인(62)을 포함할 수 있다.
도 18에는 로직 반도체 다이(50)를 제외한 뉴로모픽 장치들을 포함하는 반도체 다이들(41, 42, 43)이 함께 수직으로 적층되고, 로직 반도체 다이(50)는 인터포저 또는 베이스 기판(60)을 통하여 적층형 뉴로모픽 장치(40)와 전기적으로 연결되는 구조가 도시되어 있다. 반면에 도 19에는 로직 반도체 다이가 뉴로모픽 장치들을 포함하는 반도체 다이들과 함께 수직으로 적층되는 구조가 도시되어 있다.
도 19를 참조하면, 뉴로모픽 시스템(800)은 베이스 기판(base substrate)(BSUB) 및 베이스 기판(BSUB) 위에 실장되는 복수의 반도체 다이들을 포함할 수 있다. 가장 하부의 반도체 다이는 로직 반도체 다이에 해당하고 그 위의 반도체 다이들의 각각에는 전술한 바와 같은 뉴로모픽 장치들이 형성될 수 있다.
베이스 기판(BSUB)은 인터포저(ITP)를 포함하는 것으로 간주한다. 베이스 기판(BSUB)은 인쇄 회로 기판(PCB: printed circuit board)일 수 있다. 베이스 기판(BSUB)의 하면에는 외부 연결 부재, 예컨대 도전성 범프(BMP)가 형성될 수 있고, 베이스 기판(BSUB)의 상면에도 내부 연결 부재, 예컨대 도전성 범프(BMP)가 형성될 수 있다. 이와 같이 적층된 반도체 다이들은 밀봉 부재(RSN)를 이용하여 패키징될 수 있다.
도 20은 본 발명의 실시예들에 따른 적층형 뉴로모픽 장치들을 포함하는 반도체 패키지의 예를 나타내는 구조도이다.
도 20을 참조하면, 반도체 패키지(900)는 복수의 적층형 뉴로모픽 장치들(SND)(910) 및 중앙 처리 장치(920)를 포함할 수 있다. 적층형 뉴로모픽 장치들(910) 및 중앙 처리 장치(920)는 베이스 기판 또는 인터포저(Interposer, 930) 상에 장착되고, 인터포저(930)는 패키지 기판(940) 상에 장착될 수 있다.
적층형 뉴로모픽 장치들(910)은 각각 패키징된 패키지 칩의 형태로 베이스 기판(930) 상에 장착될 수 있다. 일 실시예에서, 제1 뉴로모픽 장치는 제1 패키지 칩에 포함되고, 상기 제2 뉴로모픽 장치는 상기 제1 패키지 칩과 다른 제2 패키지 칩에 포함될 수 있다. 이 경우, 전술한 논바이너리 신호를 전송하기 위한 전송 채널은 상기 제1 패키지 칩 및 상기 제2 패키지 칩이 실장되는 베이스 기판(930)에 형성되는 메탈 라인을 포함할 수 있다.
도 21 및 22는 본 발명의 실시예들에 따른 뉴로모픽 시스템에 의해 구동되는 딥 러닝 신경망 구조의 예를 설명하기 위한 도면들이다.
본 발명의 실시예들에 따른 뉴로모픽 시스템은 인공 신경망(Artificial Neural Network; ANN) 시스템, 컨볼루션 신경망(Convolutional Neural Network; CNN) 시스템, 심층 신경망(Deep Neural Network; DNN) 시스템, 딥 러닝(deep learning) 시스템 등과 같은 임의의 신경망(neural network) 시스템 및/또는 머신 러닝(machine learning) 시스템을 구동하는데 이용될 수 있다.
예를 들어, 영상 분류(image classify) 서비스, 생체 정보에 기초한 사용자 인증(authentication) 서비스, 운전 보조 시스템(Advanced Driver Assistance System; ADAS) 서비스, 음성 보조(voice assistant) 서비스, 자동 음성 인식(Automatic Speech Recognition; ASR) 서비스 등과 같은 다양한 서비스 및/또는 어플리케이션이 뉴로모픽 시스템에 의해 실행 및 처리될 수 있다.
도 21을 참조하면, 일반적인 신경망의 네트워크 구조는 입력 레이어(IL), 복수의 히든 레이어들(HL1, HL2, ..., HLn) 및 출력 레이어(OL)를 포함할 수 있다.
입력 레이어(IL)는 i(i는 자연수)개의 입력 노드들(x1, x2, ..., xi)을 포함할 수 있고, 길이가 i인 벡터 입력 데이터(IDAT)가 각 입력 노드에 입력될 수 있다.
복수의 히든 레이어들(HL1, HL2, ..., HLn)은 n(n은 자연수)개의 히든 레이어들을 포함하며, 히든 노드들(h11, h12, h13, ..., h1m, h21, h22, h23, ..., h2m, hn1, hn2, hn3, ..., hnm)을 포함할 수 있다. 예를 들어, 히든 레이어(HL1)는 m(m은 자연수)개의 히든 노드들(h11, h12, h13, ..., h1m)을 포함할 수 있고, 히든 레이어(HL2)는 m개의 히든 노드들(h21, h22, h23, ..., h2m)을 포함할 수 있으며, 히든 레이어(HLn)는 m개의 히든 노드들(hn1, hn2, hn3, ..., hnm)을 포함할 수 있다.
출력 레이어(OL)는 분류할 클래스에 대응하는 j(j는 자연수)개의 출력 노드들(y1, y2, ..., yj)을 포함할 수 있고, 입력 데이터(IDAT)에 대하여 각 클래스 별로 결과(예를 들어, 점수 또는 class score)를 출력할 수 있다. 출력 레이어(OL)는 fully connected 레이어라고 부를 수 있으며, 예를 들어 입력 데이터(IDAT)가 자동차에 대응할 확률을 수치로 나타낼 수 있다.
도 21에 도시된 네트워크 구조는, 두 개의 노드들 사이에 직선으로 도시된 노드들 간의 연결(branch)과, 도시되지는 않았지만 각 연결에서 사용되는 가중치(weight) 값들을 포함할 수 있다. 이 때, 하나의 레이어 내의 노드들 간에는 연결이 되지 않을 수 있고, 서로 다른 레이어들에 포함되는 노드들은 완전하게 혹은 부분적으로 연결될 수 있다.
도 21의 각 노드(예를 들어, h11)는 이전 노드(예를 들어, x1)의 출력을 입력 받아 연산할 수 있고, 연산 결과를 이후 노드(예를 들어, h21)에 출력할 수 있다. 이 때, 각 노드는 입력된 값을 특정 함수, 예를 들어 비선형 함수에 적용하여 출력할 값을 연산할 수 있다.
일반적으로 신경망의 네트워크 구조는 미리 결정되어 있으며, 노드들 간의 연결에 따른 가중치들은 이미 어떤 클래스에 속할지 정답이 알려진 데이터를 이용하여 적절한 값을 산정할 수 있다. 이와 같이 이미 정답이 알려진 데이터들을 '학습 데이터'라고 하고, 가중치를 결정하는 과정을 '학습'이라고 할 수 있다. 또한, 독립적으로 학습이 가능한 구조와 가중치의 묶음을 '모델'이라고 가정하고, 가중치가 결정된 모델이 입력 데이터가 어느 클래스에 속할지를 예측하여 그 예측값을 출력하는 것을 '테스트' 과정이라고 한다.
도 22를 참조하면, 컨볼루션 신경망의 네트워크 구조는 복수의 레이어들(CONV1, RELU1, CONV2, RELU2, POOL1, CONV3, RELU3, CONV4, RELU4, POOL2, CONV5, RELU5, CONV6, RELU6, POOL3, FC)을 포함할 수 있다.
일반적인 신경망과 다르게, 컨볼루션 신경망의 각 레이어는 가로(또는 폭, width), 세로(또는 높이, height), 깊이(depth)의 3개의 차원을 가질 수 있다. 이에 따라, 각 레이어에 입력되는 데이터 또한 가로, 세로, 깊이의 3개의 차원을 가지는 볼륨 데이터일 수 있다. 예를 들어, 도 22에서 입력 영상이 가로 32, 세로 32의 크기를 가지고 세 개의 컬러 채널(R, G, B)을 가지는 경우에, 상기 입력 영상에 대응하는 입력 데이터(IDAT)는 32*32*3의 크기를 가질 수 있다. 도 3의 입력 데이터(IDAT)는 입력 볼륨 데이터 또는 입력 액티베이션 볼륨(activation volume)이라 부를 수 있다.
컨볼루션 레이어들(CONV1, CONV2, CONV3, CONV4, CONV5, CONV6)은 입력에 대한 컨볼루션 연산을 수행할 수 있다. 영상 처리에서 컨볼루션이란 가중치를 갖는 마스크를 이용하여 데이터를 처리하는 것을 의미할 수 있으며, 입력 값과 마스크의 가중치를 곱한 후에 그 합을 출력 값으로 정하는 것을 나타낼 수 있다. 이 때, 마스크를 필터(filter), 윈도우(window) 또는 커널(kernel)이라고 부를 수 있다.
RELU 레이어들(RELU1, RELU2, RELU3, RELU4, RELU5, RELU6)은 입력에 대한 정정 선형 유닛 연산을 수행할 수 있다. 풀링 레이어들(POOL1, POOL2, POOL3)은 입력 볼륨의 가로/세로 차원에 대해 다운 샘플링을 수행할 수 있다. 일반적으로 컨볼루션 신경망에서는 하나의 컨볼루션 레이어(예를 들어, CONV1)와 하나의 RELU 레이어(예를 들어, RELU1)가 한 쌍을 형성할 수 있고, 컨볼루션/RELU 레이어들의 쌍이 반복 배치될 수 있으며, 컨볼루션/RELU 레이어들의 쌍이 반복 배치되는 중간 중간에 풀링 레이어를 삽입함으로써, 영상을 줄여나가면서 영상의 특징을 추출할 수 있다.
출력 레이어 또는 fully connected 레이어(FC)는 입력 볼륨 데이터(IDAT)에 대하여 각 클래스 별로 결과를 출력할 수 있다. 예를 들어, 컨볼루션 및 서브 샘플링을 반복 수행함에 따라 2차원 영상에 대응하는 입력 볼륨 데이터(IDAT)가 1차원 행렬(또는 벡터)로 변환될 수 있다. 예를 들어, fully connected 레이어(FC)는 입력 볼륨 데이터(IDAT)가 자동차(CAR), 트럭(TRUCK), 비행기(AIRPLANE), 배(SHIP), 말(HORSE)에 대응할 확률을 수치로 나타낼 수 있다.
도 23은 본 발명의 실시예들에 따른 뉴로모픽 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 23을 참조하면, 컴퓨팅 시스템(1200)은 어플리케이션 프로세서(AP)(1210), 통신부(connectivity)(1220), 메모리 장치(VM) (1230), 비휘발성 메모리 장치(NVM)(1240), 사용자 인터페이스(user interface)(1250) 및 뉴로모픽 시스템(1260)를 포함한다. 실시예에 따라, 컴퓨팅 시스템(1200)은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 등과 같은 임의의 모바일 시스템일 수 있다.
어플리케이션 프로세서(1210)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 통신부(1220)는 외부 장치와 무선 통신 또는 유선 통신을 수행할 수 있다. 메모리 장치(1230)는 어플리케이션 프로세서(1210)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(Working Memory)로서 작동할 수 있다. 비휘발성 메모리 장치(1240)는 모바일 시스템(1200)을 부팅하기 위한 부트 이미지를 저장할 수 있다. 사용자 인터페이스(1250)는 키패드, 터치 스크린과 같은 하나 이상의 입력 장치, 및/또는 스피커, 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함할 수 있다.
뉴로모픽 시스템(1260)은 전술한 바와 같이 적어도 하나의 뉴런 블록을 포함하고 스파이크 정보를 논바이너리 신호로 변조하여 송수신하기 위한 스파이크 송수신 회로(TRX)를 포함할 수 있다. 또한, 어플리케이션 프로세서(AP)(1210), 메모리 장치(VM) (1230) 및 비휘발성 메모리 장치(NVM)(1240) 중 적어도 하나는 스파이크 정보를 논바이너리 신호로 변조하여 송수신하기 위한 스파이크 송수신 회로(TRX)를 포함할 수 있다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따른 뉴로모픽 장치 및 상기 뉴로모픽 장치를 포함하는 뉴로모픽 시스템은 스파이크 신호들을 패킷화하고 논바이너리 신호로 변조하여 전송함으로써 스파이킹 신경망을 효율적으로 구현할 수 있다.
본 발명의 실시예들은 인공 신경망을 사용하는 다양한 장치 및 시스템에 유용하게 이용될 수 있다. 특히 본 발명의 실시예들은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular phone), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things;) 기기, IoE(internet of everything:) 기기, e-북(e-book), VR(virtual reality) 기기, AR(augmented reality) 기기 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (20)

  1. 복수의 시냅스들에 의해 연결되어 스파이크들의 생성 및 연산을 수행하는 복수의 뉴런들을 포함하는 뉴런 블록;
    상기 뉴런 블록으로부터 출력되는 복수의 송신 스파이크 신호들에 기초하여 상기 복수의 송신 스파이크 신호들에 포함되는 송신 스파이크들에 대한 정보를 포함하는 논바이너리(non-binary) 송신 신호를 발생하여 전송 채널로 제공하는 스파이크 송신 회로; 및
    상기 전송 채널을 통해 수신되는 수신 스파이크들에 대한 정보를 포함하는 논바이너리 수신 신호에 기초하여 상기 수신 스파이크들을 포함하는 복수의 수신 스파이크 신호들을 발생하여 상기 뉴런 블록에 제공하는 스파이크 수신 회로를 포함하는 뉴로모픽 장치.
  2. 제1 항에 있어서,
    상기 논바이너리 송신 신호 및 상기 논바이너리 수신 신호는 펄스 기반의 신호들인 것을 특징으로 하는 뉴로모픽 장치.
  3. 제1 항에 있어서,
    상기 논바이너리 송신 신호 및 상기 논바이너리 수신 신호는 펄스 진폭 변조(PAM, pulse amplitude modulation) 신호들인 것을 특징으로 하는 뉴로모픽 장치.
  4. 제1 항에 있어서,
    상기 스파이크 송신 회로는,
    상기 송신 스파이크들에 대한 정보에 기초하여 송신 패킷을 발생하고 상기 송신 패킷을 상기 논바이너리 송신 신호로 변조하는 것을 특징으로 하는 뉴로모픽 장치.
  5. 제4 항에 있어서,
    상기 송신 패킷은 헤더 및 페일로드를 포함하고,
    상기 헤더는 상기 송신 스파이크들을 발생하는 상기 뉴런 블록의 식별자 및 상기 송신 패킷에 포함되는 스파이크들의 개수를 포함하고,
    상기 페일로드는 상기 송신 스파이크들의 각각에 대한 수신 뉴런의 식별자 및 타이밍 정보를 포함하는 것을 특징으로 하는 뉴로모픽 장치.
  6. 제5 항에 있어서,
    상기 스파이크 송신 회로는 상기 헤더에 대한 에러 정정 코드(ECC) 인코딩을 수행하여 헤더 패리티 비트들을 발생하고 상기 헤더 패리티 비트들을 상기 송신 패킷에 부가하는 것을 특징으로 하는 뉴로모픽 장치.
  7. 제6 항에 있어서,
    상기 스파이크 송신 회로는 상기 페일로드에 대한 ECC 인코딩을 수행하여 스파이크 패리티 비트들을 발생하고 상기 스파이크 패리티 비트들을 상기 송신 패킷에 부가하는 것을 특징으로 하는 뉴로모픽 장치.
  8. 제1 항에 있어서,
    상기 스파이크 수신 회로는 상기 논바이너리 수신 신호를 복조하여 수신 패킷을 발생하고 상기 수신 패킷에 포함되는 상기 수신 스파이크들의 각각에 대한 수신 뉴런의 식별자 및 타이밍 정보에 기초하여 상기 복수의 수신 스파이크 신호들을 발생하는 것을 특징으로 하는 뉴로모픽 장치.
  9. 제1 항에 있어서,
    상기 스파이크 송신 회로는,
    상기 송신 스파이크들의 각각에 대한 타이밍 정보를 포함하는 송신 스파이크 데이터를 발생하는 스파이크 컨버터;
    상기 송신 스파이크 데이터에 기초하여 송신 패킷을 발생하는 패킷타이저; 및
    상기 송신 패킷을 변조하여 상기 논바이너리 송신 신호를 발생하는 변조기를 포함하는 것을 특징으로 하는 뉴로모픽 장치.
  10. 제9 항에 있어서,
    상기 스파이크 송신 회로는,
    상기 송신 패킷의 헤더 및 페일로드 중 적어도 하나에 대한 ECC 인코딩을 수행하여 패리티 비트들을 발생하는 ECC 인코더를 더 포함하고,
    상기 패킷타이저는 상기 패리티 비트들을 상기 송신 패킷에 부가하는 것을 특징으로 하는 뉴로모픽 장치.
  11. 제1 항에 있어서,
    상기 스파이크 수신 회로는,
    상기 논바이너리 수신 신호를 복조하여 수신 패킷을 발생하는 복조기;
    상기 수신 패킷에 기초하여 상기 수신 스파이크들의 각각에 대한 타이밍 정보를 포함하는 수신 스파이크 데이터를 발생하는 디패킷타이저; 및
    상기 수신 스파이크 데이터에 기초하여 상기 복수의 수신 스파이크 신호들을 발생하는 스파이크 발생기를 포함하는 것을 특징으로 하는 뉴로모픽 장치.
  12. 제11 항에 있어서,
    상기 스파이크 수신 회로는,
    상기 수신 패킷에 포함된 패리티 비트들에 기초하여 상기 수신 패킷의 오류를 정정하는 ECC 디코더를 더 포함하는 것을 특징으로 하는 뉴로모픽 장치.
  13. 제1 항에 있어서,
    상기 뉴런 블록, 상기 스파이크 송신 회로 및 상기 스파이크 수신 회로는 동일한 반도체 다이에 포함되는 것을 특징으로 하는 뉴로모픽 장치.
  14. 복수의 뉴로모픽 장치들; 및
    상기 복수의 뉴로모픽 장치들을 전기적으로 연결하는 전송 채널을 포함하고,
    상기 복수의 뉴로모픽 장치들의 각각은,
    복수의 시냅스들에 의해 연결되어 스파이크들의 생성 및 연산을 수행하는 복수의 뉴런들을 포함하는 뉴런 블록;
    상기 뉴런 블록으로부터 출력되는 복수의 송신 스파이크 신호들에 기초하여 상기 복수의 송신 스파이크 신호들에 포함되는 송신 스파이크들에 대한 정보를 포함하는 논바이너리(non-binary) 송신 신호를 발생하여 상기 전송 채널로 제공하는 스파이크 송신 회로; 및
    상기 전송 채널을 통해 수신되는 수신 스파이크들에 대한 정보를 포함하는 논바이너리 수신 신호에 기초하여 상기 수신 스파이크들을 포함하는 복수의 수신 스파이크 신호들을 발생하여 상기 뉴런 블록에 제공하는 스파이크 수신 회로를 포함하는 뉴로모픽 시스템.
  15. 제14 항에 있어서,
    상기 복수의 뉴로모픽 장치들 중 적어도 하나의 제1 뉴로모픽 장치는 상기 스파이크 송신 회로를 이용하여 상기 논바이너리 송신 신호를 상기 전송 채널로 전송하고 상기 복수의 뉴로모픽 장치들 중 적어도 하나의 제2 뉴로모픽 장치는 상기 스파이크 수신 회로를 이용하여 상기 전송 채널을 통해 제공되는 상기 논바이너리 송신 신호를 상기 논바이너리 수신 신호로서 수신하고,
    상기 복수의 뉴로모픽 장치들은 스파이킹 신경망(spiking neural network)을 형성하는 것을 특징으로 하는 뉴로모픽 시스템.
  16. 제15 항에 있어서,
    상기 제1 뉴로모픽 장치 및 제2 뉴로모픽 장치는 동일한 반도체 다이에 포함되고,
    상기 전송 채널은 상기 반도체 다이의 반도체 기판 상부에 형성되는 메탈 라인을 포함하는 것을 특징으로 하는 뉴로모픽 시스템.
  17. 제15 항에 있어서,
    상기 제1 뉴로모픽 장치는 제1 반도체 다이에 포함되고,
    상기 제2 뉴로모픽 장치는 상기 제1 반도체 다이와 수직 방향으로 적층되는 제2 반도체 다이에 포함되고,
    상기 전송 채널은 상기 제1 반도체 다이 및 상기 제2 반도체 다이에 형성되는 관통 비아(TSV, through silicon via)들을 포함하는 것을 특징으로 하는 뉴로모픽 시스템.
  18. 제15 항에 있어서,
    상기 제1 뉴로모픽 장치는 제1 패키지 칩에 포함되고,
    상기 제2 뉴로모픽 장치는 상기 제1 패키지 칩과 다른 제2 패키지 칩에 포함되고,
    상기 전송 채널은 상기 제1 패키지 칩 및 상기 제2 패키지 칩이 실장되는 베이스 기판에 형성되는 메탈 라인을 포함하는 것을 특징으로 하는 뉴로모픽 시스템.
  19. 제14 항에 있어서,
    상기 논바이너리 송신 신호 및 상기 논바이너리 수신 신호는 펄스 진폭 변조(PAM, pulse amplitude modulation) 신호들인 것을 특징으로 하는 뉴로모픽 시스템.
  20. 복수의 시냅스들에 의해 연결되어 스파이크들의 생성 및 연산을 수행하는 복수의 뉴런들을 포함하는 뉴런 블록;
    펄스 진폭 변조(PAM) 송신 신호를 발생하여 전송 채널로 제공하는 스파이크 송신 회로; 및
    상기 전송 채널을 통하여 PAM 수신 신호를 수신하는 스파이크 수신 회로를 포함하고,
    상기 스파이크 송신 회로는,
    상기 뉴런 블록으로부터 출력되는 복수의 송신 스파이크 신호들에 기초하여 상기 복수의 송신 스파이크 신호들에 포함되는 송신 스파이크들의 각각에 대한 타이밍 정보를 포함하는 송신 스파이크 데이터를 발생하는 스파이크 컨버터;
    상기 송신 스파이크 데이터에 기초하여 송신 패킷을 발생하는 패킷타이저; 및
    상기 송신 패킷을 변조하여 상기 PAM 송신 신호를 발생하는 변조기를 포함하고,
    상기 스파이크 수신 회로는,
    상기 PAM 수신 신호를 복조하여 수신 패킷을 발생하는 복조기;
    상기 수신 패킷에 기초하여 수신 스파이크들의 각각에 대한 타이밍 정보를 포함하는 수신 스파이크 데이터를 발생하는 디패킷타이저; 및
    상기 수신 스파이크 데이터에 기초하여 상기 수신 스파이크들을 포함하는 복수의 수신 스파이크 신호들을 발생하는 스파이크 발생기를 포함하는 것을 특징으로 하는 뉴로모픽 장치.
KR1020190152184A 2019-11-25 2019-11-25 뉴로모픽 장치 및 이를 포함하는 뉴로모픽 시스템 KR20210063721A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190152184A KR20210063721A (ko) 2019-11-25 2019-11-25 뉴로모픽 장치 및 이를 포함하는 뉴로모픽 시스템
US16/911,801 US11362868B2 (en) 2019-11-25 2020-06-25 Neuromorphic device and neuromorphic system including the same
CN202010934441.4A CN112836811A (zh) 2019-11-25 2020-09-08 神经形态设备及包括其的神经形态系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190152184A KR20210063721A (ko) 2019-11-25 2019-11-25 뉴로모픽 장치 및 이를 포함하는 뉴로모픽 시스템

Publications (1)

Publication Number Publication Date
KR20210063721A true KR20210063721A (ko) 2021-06-02

Family

ID=75923354

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190152184A KR20210063721A (ko) 2019-11-25 2019-11-25 뉴로모픽 장치 및 이를 포함하는 뉴로모픽 시스템

Country Status (3)

Country Link
US (1) US11362868B2 (ko)
KR (1) KR20210063721A (ko)
CN (1) CN112836811A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230007631A (ko) * 2021-07-06 2023-01-13 한양대학교 산학협력단 펄스 폭 변조 방식을 이용하여 대칭성이 개선되는 시냅스 소자 및 그의 동작 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112022000932T5 (de) * 2021-02-03 2023-11-16 Tektronix, Inc. Augen-klassen-separator mit überlapp, zusammgesetzte und dynamisiche augen-trigger für menschen und maschinelles lernen
US11923895B2 (en) 2021-03-24 2024-03-05 Tektronix, Inc. Optical transmitter tuning using machine learning and reference parameters
US11923896B2 (en) 2021-03-24 2024-03-05 Tektronix, Inc. Optical transceiver tuning using machine learning
US11907090B2 (en) 2021-08-12 2024-02-20 Tektronix, Inc. Machine learning for taps to accelerate TDECQ and other measurements
US11940889B2 (en) 2021-08-12 2024-03-26 Tektronix, Inc. Combined TDECQ measurement and transmitter tuning using machine learning
WO2023080813A1 (en) * 2021-11-03 2023-05-11 Telefonaktiebolaget Lm Ericsson (Publ) Congestion level control for data transmission in a neural network
CN114528983A (zh) * 2021-12-29 2022-05-24 北京时代民芯科技有限公司 一种脉冲神经元加固电路、加固方法
WO2023158352A1 (en) * 2022-02-21 2023-08-24 Telefonaktiebolaget Lm Ericsson (Publ) Communication of spiking data over a wireless communication network
WO2023163619A1 (en) * 2022-02-22 2023-08-31 Telefonaktiebolaget Lm Ericsson (Publ) Communication of spiking data on radio resources

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9106264B2 (en) * 2011-01-04 2015-08-11 Lsi Corporation Encoding and decoding in flash memories using convolutional-type low-density parity check codes
FR2978271B1 (fr) * 2011-07-21 2014-03-14 Commissariat Energie Atomique Dispositif et procede de traitement de donnees
KR101912165B1 (ko) 2011-12-09 2018-10-29 삼성전자주식회사 스파이킹 뉴런 기반 작업 기억 장치
US9563841B2 (en) * 2012-07-31 2017-02-07 International Business Machines Corporation Globally asynchronous and locally synchronous (GALS) neuromorphic network
WO2014133506A1 (en) * 2013-02-27 2014-09-04 Hrl Laboratories, Llc A mimo-ofdm system for robust and efficient neuromorphic inter-device communication
US10282660B2 (en) 2014-01-06 2019-05-07 Qualcomm Incorporated Simultaneous latency and rate coding for automatic error correction
US20150213356A1 (en) 2014-01-24 2015-07-30 Qualcomm Incorporated Method for converting values into spikes
US20150372805A1 (en) * 2014-06-23 2015-12-24 Qualcomm Incorporated Asynchronous pulse modulation for threshold-based signal coding
US20160042271A1 (en) * 2014-08-08 2016-02-11 Qualcomm Incorporated Artificial neurons and spiking neurons with asynchronous pulse modulation
US20180012122A1 (en) * 2015-03-22 2018-01-11 Halliburton Energy Services, Inc. Enhancing workflow performance with cognitive computing
US10103162B2 (en) * 2015-07-30 2018-10-16 Snu R&Db Foundation Vertical neuromorphic devices stacked structure and array of the structure
US10157629B2 (en) 2016-02-05 2018-12-18 Brainchip Inc. Low power neuromorphic voice activation system and method
US20170300810A1 (en) * 2016-04-14 2017-10-19 SK Hynix Inc. Neural network system
KR101997975B1 (ko) 2016-12-01 2019-07-08 한국과학기술원 신경망 시스템을 이용한 정보의 장기, 단기, 및 하이브리드 기억을 위한 방법
US11151441B2 (en) * 2017-02-08 2021-10-19 Brainchip, Inc. System and method for spontaneous machine learning and feature extraction
US10438116B2 (en) 2017-02-10 2019-10-08 Electronics And Telecommunications Research Institute Neuromorphic arithmetic device
US11216723B2 (en) 2017-08-11 2022-01-04 Syntiant Pulse-width modulated multiplier
US10615913B2 (en) * 2017-09-13 2020-04-07 Ciena Corporation Forward error correction with compression coding
US11100389B2 (en) 2017-11-06 2021-08-24 Electronic Warfare Associates, Inc. Conversion of digital signals into spiking analog signals
US10594523B2 (en) * 2017-12-22 2020-03-17 Tetra Semiconductor Ag Decoder circuit for a broadband pulse amplitude modulation signal
US11593623B2 (en) 2017-12-22 2023-02-28 Intel Corporation Spiking neural network accelerator using external memory
JP6981329B2 (ja) * 2018-03-23 2021-12-15 日本電信電話株式会社 分散深層学習システム
US20190042915A1 (en) * 2018-03-30 2019-02-07 Intel Corporation Procedural neural network synaptic connection modes
US20200019838A1 (en) * 2018-07-11 2020-01-16 The Board Of Trustees Of The Leland Stanford Junior University Methods and apparatus for spiking neural network computing based on randomized spatial assignments
WO2020092691A1 (en) * 2018-11-01 2020-05-07 Peter Aj Van Der Made An improved spiking neural network
US10979210B1 (en) * 2019-02-12 2021-04-13 Xilinx, Inc. Synchronization headers for serial data transmission with multi-level signaling
US20200344094A1 (en) * 2019-04-23 2020-10-29 Qualcomm Incorporated Digital data and power transmission over single-wire bus
US20200394502A1 (en) * 2019-06-14 2020-12-17 Macronix International Co., Ltd. Neuromorphic computing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230007631A (ko) * 2021-07-06 2023-01-13 한양대학교 산학협력단 펄스 폭 변조 방식을 이용하여 대칭성이 개선되는 시냅스 소자 및 그의 동작 방법

Also Published As

Publication number Publication date
US20210160109A1 (en) 2021-05-27
US11362868B2 (en) 2022-06-14
CN112836811A (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
KR20210063721A (ko) 뉴로모픽 장치 및 이를 포함하는 뉴로모픽 시스템
US20210201125A1 (en) On-chip training of memristor crossbar neuromorphic processing systems
Yang et al. Investigation of neural networks for function approximation
US20150088797A1 (en) Synapse circuits for connecting neuron circuits, unit cells composing neuromorphic circuit, and neuromorphic circuits
US20110004579A1 (en) Neuromorphic Circuit
US10936891B2 (en) Electronic devices and methods of operating electronic devices
CN113272828A (zh) 弹性神经网络
KR20210050966A (ko) 적층형 뉴로모픽 장치 및 뉴로모픽 컴퓨팅 장치
CN103246904A (zh) 基于阻变忆阻器的时间关联学习神经元电路及其实现方法
CN114614865B (zh) 基于忆阻器阵列的预编码装置和信号处理方法
CN113285875B (zh) 一种基于脉冲神经网络的空间路由预测方法
EP3370191A1 (en) Apparatus and method implementing an artificial neural network training algorithm using weight tying
CN109165730A (zh) 交叉阵列神经形态硬件中状态量化网络实现方法
JPWO2020092691A5 (ko)
CN111831358B (zh) 权重精度配置方法、装置、设备及存储介质
WO2019096660A1 (en) Competitive machine learning accuracy on neuromorphic arrays with capacitor memory devices
KR20170080431A (ko) 뉴로모픽 소자 및 뉴로모픽 소자의 저항 변화율을 조절하는 방법
US6876989B2 (en) Back-propagation neural network with enhanced neuron characteristics
US20220207330A1 (en) Operational neural networks and self-organized operational neural networks with generative neurons
US20220076115A1 (en) Data processing based on neural network
US5586223A (en) High speed segmented neural network and fabrication method
CN113435577A (zh) 基于训练深度脉冲神经网络的梯度函数学习框架替换方法
Tang et al. An algorithm of supervised learning for multilayer neural networks
US20230004777A1 (en) Spike neural network apparatus based on multi-encoding and method of operation thereof
KR20200132444A (ko) 스파이킹 뉴럴 네트워크 통신 장치

Legal Events

Date Code Title Description
A201 Request for examination