KR102692218B1 - 오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템 - Google Patents

오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템 Download PDF

Info

Publication number
KR102692218B1
KR102692218B1 KR1020180164780A KR20180164780A KR102692218B1 KR 102692218 B1 KR102692218 B1 KR 102692218B1 KR 1020180164780 A KR1020180164780 A KR 1020180164780A KR 20180164780 A KR20180164780 A KR 20180164780A KR 102692218 B1 KR102692218 B1 KR 102692218B1
Authority
KR
South Korea
Prior art keywords
circuit
weight
output
neuromorphic
backward
Prior art date
Application number
KR1020180164780A
Other languages
English (en)
Other versions
KR20200076083A (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 KR1020180164780A priority Critical patent/KR102692218B1/ko
Priority to US16/672,253 priority patent/US11526763B2/en
Priority to CN201911155913.XA priority patent/CN111340203B/zh
Publication of KR20200076083A publication Critical patent/KR20200076083A/ko
Application granted granted Critical
Publication of KR102692218B1 publication Critical patent/KR102692218B1/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/044Recurrent networks, e.g. Hopfield 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/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/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

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

Abstract

본 기술에 의한 뉴로모픽 시스템은 입력 신호와 제 1 가중치를 이용하여 포워드 연산을 수행하는 제 1 뉴로모픽 회로, 제 1 뉴로모픽 회로의 포워드 연산 결과를 연산하는 제 1 연산 회로, 제 1 연산 회로의 출력과 제 2 가중치를 이용하여 포워드 연산을 수행하는 제 2 뉴로모픽 회로, 제 2 뉴로모픽 회로의 포워드 연산 결과를 연산하는 제 2 연산 회로, 입력 신호에 대응하는 타겟 신호와 제 2 연산 회로의 출력과 제 2 가중치를 이용하여 제 2 뉴로모픽 회로에서 수행된 백워드 연산 결과와 입력 신호 및 제 1 연산 회로의 출력을 이용하여 제 1 가중치의 조절량을 연산하는 제 1 가중치 조절량 연산 회로; 및 입력 신호에 대응하는 타겟 신호와 제 2 연산 회로의 출력과 제 1 연산 회로의 출력을 이용하여 제 2 가중치의 조절량을 연산하는 제 2 가중치 조절량 연산 회로를 포함한다.

Description

오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템{NEUROMORPHIC SYSTEM PERFORMING SUPERVISED TRAINING USING ERROR BACK PROPAGATION}
본 발명은 지도 학습을 수행하는 뉴로모픽 시스템에 관한 것으로서 보다 구체적으로는 오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템에 관한 것이다.
인공 지능이 적용된 컴퓨팅 장치에서 에너지 효율이 높은 하드웨어 기술이 요구되고 있다. 특히 뉴로모픽 시스템은 에너지 효율이 높은 기술의 하나로 연구되고 있다.
뉴로모픽 시스템은 생물체의 뇌를 모방한 인공 신경망을 반도체 회로로 구현한 것으로서 시냅스의 결합으로 네트워크를 형성한 노드들이 적절한 학습을 통해 시냅스의 웨이트 값을 변화시켜 임의의 문제 해결 능력을 갖는 모델이다.
보다 다양한 용도로 활용하기 위하여 뉴로모픽 시스템에 대해서 효율적으로 학습을 수행할 수 있는 기술이 요구되고 있다.
KR 10-2018-0044295 A US 2017-0364801 A1
본 기술은 오류 역전파를 이용하여 지도 학습을 수행할 수 있는 다수의 레이어를 포함하는 뉴로모픽 시스템을 제공한다.
본 발명의 일 실시예에 의한 뉴로모픽 시스템은 입력 신호와 제 1 가중치를 이용하여 포워드 연산을 수행하는 제 1 뉴로모픽 회로, 제 1 뉴로모픽 회로의 포워드 연산 결과를 연산하는 제 1 연산 회로, 제 1 연산 회로의 출력과 제 2 가중치를 이용하여 포워드 연산을 수행하는 제 2 뉴로모픽 회로, 제 2 뉴로모픽 회로의 포워드 연산 결과를 연산하는 제 2 연산 회로, 입력 신호에 대응하는 타겟 신호와 제 2 연산 회로의 출력과 제 2 가중치를 이용하여 제 2 뉴로모픽 회로에서 수행된 백워드 연산 결과와 입력 신호 및 제 1 연산 회로의 출력을 이용하여 제 1 가중치의 조절량을 연산하는 제 1 가중치 조절량 연산 회로; 및 입력 신호에 대응하는 타겟 신호와 제 2 연산 회로의 출력과 제 1 연산 회로의 출력을 이용하여 제 2 가중치의 조절량을 연산하는 제 2 가중치 조절량 연산 회로를 포함한다.
본 기술은 배치 입력을 이용하여 지도 학습이 가능한 다수의 레이어를 포함하는 뉴로모픽 시스템 시스템을 제공함으로써 뉴로모픽 시스템을 다양한 용도로 응용할 수 있다.
본 기술은 배치 입력을 이용한 지도 학습을 통해 뉴로모픽 회로에서 노이즈, 공정 변이 등으로 발생하는 에러 발생을 감소시킬 수 있다.
도 1은 본 발명의 일 실시예에 의한 뉴로모픽 시스템을 나타내는 블록도.
도 2는 도 1의 제 1 뉴로모픽 레이어의 동작을 설명하는 설명도.
도 3은 도 1의 제 1 뉴로모픽 레이어의 구성을 나타내는 블록도.
도 4 및 5는 도 3의 아날로그 연산 회로의 구성을 나타내는 회로도.
도 6은 도 1의 제 2 뉴로모픽 레이어의 동작을 설명하는 설명도.
도 7은 도 1의 제 1 가중치 조절량 연산 회로의 상세 블록도.
도 8은 도 1의 제 2 가중치 조절량 연산 회로의 상세 블록도.
도 9는 본 발명의 일 실시예에 의한 뉴로모픽 시스템의 학습 동작을 나타내는 순서도.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 개시한다.
도 1은 본 발명의 일 실시예에 의한 뉴로모픽 시스템을 나타내는 블록도이다.
본 발명의 일 실시예에 의한 뉴로모픽 시스템은 제 1 뉴로모픽 레이어(100)와 제 2 뉴로모픽 레이어(200)를 포함한다.
제 1 뉴로모픽 레이어(100)와 제 2 뉴로모픽 레이어(200)는 실질적으로 동일한 구성을 가지며 각각 포워드 연산과 백워드 연산을 수행할 수 있다. 이에 대해서는 아래에서 도 2를 참조하여 구체적으로 설명한다.
본 발명의 일 실시예에 의한 뉴로모픽 시스템은 제 1 뉴로모픽 레이어(100)에 제공할 포워드 입력 신호(X)를 저장하는 제 1 입력 저장 회로(10), 제 1 뉴로모픽 레이어(100)의 포워드 연산 결과(Y)에 대해서 제 1 연산을 수행하는 제 1 연산 회로(20), 제 1 연산 회로(20)에서 출력된 신호(f(Y))를 저장하는 제 1 출력 저장 회로(30)를 포함한다.
다수의 입력을 포함하는 배치 입력을 이용하여 지도 학습을 수행하는 경우 제 1 입력 저장 회로(10)는 배치 입력을 저장하고 배치 인덱스에 대응하는 입력을 순차적으로 포워드 입력 신호(X)로 제공한다.
본 실시예에서 제 1 연산은 비선형 연산으로서 ReLU(Rectified Linear Unit) 연산을 사용한다. ReLU 연산 자체는 잘 알려진 것이므로 구체적인 설명을 생략한다.
배치 입력을 이용하여 지도 학습을 수행하는 경우 제 1 출력 저장 회로(30)는 배치 인덱스에 대응하여 제 1 연산 회로(20)의 출력을 순차적으로 저장할 수 있다.
제 1 출력 저장 회로(30)의 출력은 제 2 뉴로모픽 레이어(200)의 포워드 입력 신호로 제공된다.
본 발명의 일 실시예에 의한 뉴로모픽 시스템은 제 2 뉴로모픽 레이어(200)의 포워드 연산 결과(Z)를 저장하는 제 2 출력 저장 회로(40), 제 2 출력 저장 회로(40)의 출력에 대해서 제 2 연산을 수행하는 제 2 연산 회로(50), 제 2 연산 회로(50)의 출력(O)과 타겟(T)을 저장하는 제 2 입력 저장 회로(500), 제 2 뉴로모픽 레이어(200)의 백워드 연산 결과를 저장하는 제 3 출력 저장 회로(600)를 포함한다.
배치 입력을 이용하여 지도 학습을 수행하는 경우 제 2 출력 저장 회로(40)는 배치 인덱스에 대응하여 제 2 뉴로모픽 레이어(200)의 포워드 연산 결과를 순차적으로 저장할 수 있다.
본 실시예에서 제 2 연산은 소프트맥스(Softmax) 연산을 사용한다. 소프트맥스 연산 자체는 잘 알려진 것이므로 구체적인 설명을 생략한다.
타겟(T)은 지도 학습을 수행하는 경우 입력 신호에 대응하는 정답에 대응하는 값으로서 이를 레이블(L)로 지칭할 수도 있다.
배치 입력을 이용하여 지도 학습을 수행하는 경우 배치 입력에 대응하는 다수의 타겟이 존재한다. 이때 제 2 입력 저장 회로(500)는 배치 인덱스에 대응하여 타켓(T)을 순차적으로 저장할 수 있다. 또한 제 2 입력 저장 회로(500)는 배치 인덱스에 대응하여 제 2 연산 회로(50)의 출력을 순차적으로 저장할 수 있다.
배치 입력을 이용하여 지도 학습을 수행하는 경우 제 3 출력 저장 회로(600)는 배치 인덱스에 대응하는 제 2 연산 회로(50)의 출력(O)을 제 2 뉴로모픽 레이어(200)의 백워드 입력으로 제공하여 수행된 제 1 백워드 연산 결과(P)와 배치 인덱스에 대응하는 타겟(T)을 제 2 뉴로모픽 레이어(200)의 백워드 입력으로 제공하여 수행된 제 2 백워드 연산 결과(Q) 또는 이들의 차이(R)를 저장할 수 있다. 이하에서는 제 1 백워드 연산 결과와 제 2 백워드 연산 결과의 차이를 오류 역전파 신호(R)로 지칭할 수 있다.
본 발명의 일 실시예에 의한 뉴로모픽 시스템은 제 1 입력 저장 회로(10)와 제 1 출력 저장 회로(30)와 제 3 출력 저장 회로(600)의 출력을 이용하여 제 1 뉴로모픽 레이어에 저장된 제 1 가중치(W1)의 조절량을 연산하는 제 1 가중치 조절량 연산 회로(300)와 제 1 가중치 조절량 연산 회로(300)의 출력에 따라 제 1 뉴로모픽 레이어(100)의 제 1 가중치(W1)를 조절하는 제 1 가중치 조절 회로(700)를 포함한다.
본 실시예에서 제 1 가중치(W1)는 다수의 가중치 원소를 포함하는 매트릭스일 수 있다.
본 발명의 일 실시예에 의한 뉴로모픽 시스템은 제 1 출력 저장 회로(30)와 제 2 입력 저장 회로(500)의 출력을 이용하여 제 2 뉴로모픽 레이어에 저장된 제 2 가중치(W2)의 조절량을 연산하는 제 2 가중치 조절량 연산 회로(400)와 제 2 가중치 조절량 연산 회로(400)의 출력에 따라 제 2 뉴로모픽 레이어(200)의 제 2 가중치(W2)를 조절하는 제 2 가중치 조절 회로(800)를 포함한다.
본 실시예에서 제 2 가중치(W2)는 다수의 가중치 원소를 포함하는 매트릭스일 수 있다.
도 9는 본 발명의 일 실시예에 의한 뉴로모픽 시스템의 동작을 나타내는 순서도이다.
본 실시예에서는 일정한 개수의 입력을 포함하는 배치 입력을 이용하여 지도 학습을 진행한다.
제 1 입력 저장 회로(10)는 배치 입력을 모두 저장하고, 제 2 입력 저장 회로는 하나의 배치 입력에 대응하는 타겟을 모두 저장한다.
먼저 배치 인덱스를 나타내는 변수(n)를 1로 초기화한다(S100).
다음으로 제 1 입력 저장 회로(10)는 n번째 입력을 제공한다(S200).
다음으로 n번째 입력에 대한 포워드 연산을 진행한다(S300). 포워드 연산은 제공된 입력에 따라 제 1 뉴로모픽 레이어(100), 제 1 연산 회로(20), 제 1 출력 저장 회로(30), 제 2 뉴로모픽 레이어(200), 제 2 출력 저장 회로(40), 제 2 연산 회로(50)가 순차적으로 동작하는 것을 의미한다.
이때 제 1 뉴로모픽 레이어(100)와 제 2 뉴로모픽 레이어(200)는 각각 포워드 연산을 수행한다.
제 2 연산 회로(50)의 출력(O)은 제 2 입력 저장 회로(500)에 타겟(T)과 별도로 제 2 입력 저장 회로(500)에 저장된다.
이후 제 2 입력 저장 회로(500)는 n번째 입력에 대한 출력(O)을 제 2 뉴로모픽 레이어(200)의 백워드 입력으로 제공하여 제 1 백워드 연산을 진행한다(S400).
제 1 백워드 연산은 제 2 뉴로모픽 레이어(200)에서 수행되어 그 결과(P)가 제 3 출력 저장 회로(600)에 임시 저장된다(S500).
이후 제 2 입력 저장 회로는 n번째 입력에 대한 타겟(T)을 제 2 뉴로모픽 레이어(200)의 백워드 입력으로 제공하여 제 2 백워드 연산을 진행한다.
이때 제 2 백워드 연산은 제 2 뉴로모픽 레이어(200)에서 수행되어 그 결과(Q)가 제 3 출력 저장 회로(600)에 임시 저장된다.
이후 제 3 출력 저장 회로(600)는 n 번째 입력에 대한 제 1 백워드 연산 결과(P)와 제 2 백워드 연산 결과(Q)의 차이 즉 오류 역전파 신호(R)를 저장한다(S600).
이후 가중치 조절량을 연산한다(S700).
가중치 조절량 연산은 제 1 가중치 조절량 연산 회로(300)와 제 2 가중치 조절량 연산 회로(400)에서 수행한다.
구체적인 가중치 조절량 연산 동작은 도 7, 8을 참조하여 별도로 설명한다.
이후 변수(n)가 배치 크기(N)와 같은지 판단하고(S800), 배치 크기(N)와 같지 않으면 변수(n)를 증가시킨 후(S810), 단계(S200)로 진행하여 전술한 동작을 반복하고 배치 크기와 같으면 가중치 조절량 연산 결과를 이용하여 가중치를 조절하고(S900) 동작을 종료한다.
가중치 조절 동작은 제 1 가중치 조절 회로(700)와 제 2 가중치 조절 회로(800)에서 수행되어 각각 제 1 뉴로모픽 레이어(100)의 제 1 가중치(W1)와 제 2 뉴로모픽 레이어(200)의 제 2 가중치(W2)를 갱신한다.
가중치 조절량 연산은 배치에 포함된 모드 입력을 이용하여 포워드 및 백워드 연산이 종료된 후 최종적으로 결정된다.
이에 따라 가중치 조절량 연산 동작을 단계(S800)와 단계(S900) 사이에서 진행할 수도 있다.
이 경우 제 3 출력 저장 회로(600)는 배치 입력에 대응하는 모든 오류 역전파 신호(R)를 저장할 수 있다.
이와 같이 본 실시예에서는 하나의 배치 입력을 단위로 포워드 연산과 백워드 연산을 수행하는 지도 학습을 통해 뉴로모픽 레이어의 가중치를 조절한다.
도 1의 실시예에서는 뉴로모픽 레이어가 2개인 경우를 가정하였으나 뉴로모픽 레이어의 개수는 더 많은 개수로 확장될 수 있다.
더 많은 개수의 레이어를 포함하는 경우 제 1 뉴로모픽 레이어(100)는 최초 레이어, 제 2 뉴로모픽 레이어(200)는 최후 레이어에 대응할 수 있으며 그 사이에 다른 뉴로모픽 레이어가 추가로 포함될 수 있다.
이때 새로 추가된 뉴로모픽 레이어에 대응하여 가중치 조절 회로와 가중치 조절량 연산 회로가 추가될 수 있으며, 레이어 사이의 연결을 위하여 도 1의 제 1 연산 회로(20), 제 1 출력 저장 회로(30), 제 3 출력 저장 회로(600)에 대응하는 구성 요소들이 함께 추가되어 도 1의 시스템을 확장할 수 있다.
도 2는 도 1의 제 1 뉴로모픽 레이어(100)의 동작을 설명하는 설명도이다.
도 2(a)는 제 1 뉴로모픽 레이어(100)에서 수행하는 포워드 연산을 설명하고 도 2(b)는 제 1 뉴로모픽 레이어(200)에서 수행하는 백워드 연산을 설명한다.
포워드 입력 신호(IF)는 i개의 원소를 가지는 벡터로 표시될 수 있고 포워드 출력 신호(OF)는 j개의 원소를 가지는 벡터로 표시될 수 있다.
백워드 입력 신호(IB)는 j개의 원소를 가지는 벡터로 표시될 수 있고 백워드 출력 신호(OB)는 i개의 원소를 가지는 벡터로 표시될 수 있다.
본 실시예에서 제 1 가중치(W1)는 i 개의 행과 j 개의 열을 갖는 매트릭스 구조를 가진다.
포워드 연산은 다음 수학식 1과 같이 표현될 수 있고 백워드 연산은 다음 수학식 2와 같이 표현될 수 있다.
제 1 가중치(W1)가 매트릭스 구조인 경우 제 1 가중치(W1) 매트릭스의 각 원소를 Wij로 표시할 수 있다.
수학식 2에서 WT는 W의 트랜스포즈(transpose) 연산 결과를 의미한다.
Figure 112018127635119-pat00001
본 실시예에서 포워드 및 백워드 입출력 신호의 각 원소 및 제 1 가중치 매트릭스의 각 원소 중 적어도 일부는 멀티비트 디지털 신호일 수 있다.
도 3은 본 발명의 일 실시예에 의한 제 1 뉴로모픽 레이어(100)의 상세 블록도이다.
제 1 뉴로모픽 레이어(100)는 메모리 셀 어레이(110), 제어 회로(120), 포워드 입력 버퍼(130), 백워드 입력 버퍼(140) 및 아날로그 연산 회로(150)를 포함한다.
메모리 셀 어레이(110)는 제 1 가중치(W1)를 저장한다. 메모리 셀 어레이(110)는 SRAM 또는 DRAM 등의 메모리 셀 구조를 가질 수 있다.
제어 회로(120)는 메모리 셀 어레이(110)에 저장된 제 1 가중치(W1)의 각 원소를 읽거나 쓰는 동작을 제어하며 SRAM 또는 DRAM 등의 일반적인 메모리 장치의 읽기 쓰기 동작을 제어하는 회로들에 대응할 수 있다.
포워드 입력 버퍼(130)는 포워드 입력 신호(IF)를 임시 저장하고, 백워드 입력 버퍼(140)는 백워드 입력 신호(IB)를 임시 저장할 수 있다.
아날로그 연산 회로(150)는 수학식 1과 같이 포워드 입력 신호(IF)와 제 1 가중치(W)를 연산하여 포워드 출력 신호(OF)를 생성한다.
또한 아날로그 연산 회로(150)는 수학식 1과 같이 백워드 입력 신호(IB)와 제 1 가중치(W)를 연산하여 백워드 출력 신호(OB)를 생성한다.
도 4는 포워드 연산을 위한 포워드 아날로그 연산 회로(1500)로서 수학식 1의 연산을 수행하는 예를 개시한다.
포워드 아날로그 연산 회로(1500)는 다수의 곱셈 유닛(1510), 커패시터(1520), 펄스 생성 회로(1530), 카운터(1540)를 포함한다.
곱셈 유닛(1510)은 포워드 입력 신호(IF)의 원소 개수에 대응하는 i개가 구비되며 m번째 곱셈 유닛은 포워드 입력 신호(IFm)와 제 1 가중치(Wmj)를 입력받는다(1<=m<=i, i>=2).
다수의 곱셈 유닛(1510)의 구조는 실질적으로 동일하므로 본 개시에서는 m=1에 대응하는 곱셈 유닛(1510)을 이용하여 그 구조를 개시한다.
곱셈 유닛(1510)은 포워드 입력 신호(IF1)를 펄스폭 변조하는 PWM(1514), PWM(1514)의 출력과 대응하는 가중치 원소(W1j)를 낸드 연산하는 낸드 게이트(1513), 낸드 게이트(1513)의 출력이 게이트에 인가되고 소스가 전류원(1511)에 연결되고 드레인이 충전 노드(NC)에 연결된 PMOS 트랜지스터(1512)를 포함한다.
곱셈 유닛(1510)은 가중치 원소(W1j)가 하이 레벨인 경우에 한하여 충전 노드(NC)를 통해 커패시터(1520)를 충전한다.
이때 충전하는 양은 PWM(151)의 출력이 하이 레벨인 구간에 대응하여 증가한다.
본 실시예에서 포워드 입력 신호(IF1)는 멀티 비트 디지털 신호이며 PWM(151)의 출력은 포워드 입력 신호(IF1)의 값이 클수록 하이 레벨인 구간이 더 긴 펄스를 생성하도록 또는 듀티비가 더 큰 펄스를 생성하도록 동작한다.
이와 같이 각각의 곱셈 유닛(1510)에서 커패시터(1520)를 충전하는 전하량은 포워드 입력 신호와 대응하는 가중치 원소의 곱에 대응하며 전체 곱셈 유닛(1510)에서 커패시터(1520)를 충전하는 전하량은 포워드 입력 벡터와 대응하는 가중치 벡터의 내적에 대응한다.
커패시터(1520)에 충전되는 전하량은 펄스 생성 회로(1530)와 카운터(1540)를 통해 디지털 형태의 포워드 출력 신호(OFj)로 변환된다.
펄스 생성 회로(1530)는 충전 노드(NC)의 전압이 일정 정도 이상으로 상승하면 하이 레벨 신호를 생성하는 지연 회로(1531)와 지연 회로(1531)의 출력이 하이 레벨로 상승하면 충전 노드(NC)를 방전시키는 방전 회로(1532)를 포함한다.
본 실시예에서 지연 회로(1531)는 인버터 체인을 포함하고 방전 회로(1532)는 지연 회로(1531)의 출력이 게이트에 인가되고 소스와 드레인이 커패시터(1520)에 병렬 연결된 NMOS 트랜지스터를 포함한다.
이에 따라 충전 노드(NC)에 충전되는 전하량이 많을수록 펄스 생성 회로(1530)는 더 많은 개수의 펄스를 생성한다.
카운터(1540)는 펄스 생성 회로(1530)에서 생성된 펄스의 개수에 대응하는 디지털 신호를 포워드 출력 신호(OFj)로 제공한다.
도 5는 백워드 연산을 위한 백워드 아날로그 연산 회로(1600)로서 수학식 2의 연산을 수행하는 예를 개시한다.
백워드 아날로그 연산 회로(1600)는 다수의 곱셈 유닛(1610), 커패시터(1620), 펄스 생성 회로(1630), 카운터(1640)를 포함한다.
백워드 아날로그 연산 회로(1600)는 전술한 포워드 아날로그 연산 회로(1500)와 실질적으로 동일한 구성을 가지며 입출력 신호만 변경된 것에 불과하므로 구체적인 설명은 생략한다.
도 5에서 지시번호(16XX)는 도 4의 지시번호(15XX)와 대응 관계에 있음은 통상의 기술자에게 자명하므로 이에 대해서는 구체적인 설명을 생략한다.
도 6은 제 2 뉴로모픽 레이어(200)의 동작을 설명하는 설명도이다.
도 6(a)는 포워드 연산을 설명하고 도 6(b)는 백워드 연산을 설명한다.
제 2 뉴로모픽 레이어(200)는 제 1 뉴로모픽 레이어(100)와 실질적으로 동일한 구성을 가지므로 구체적인 설명은 생략한다.
제 2 가중치(W2)가 매트릭스 구조인 경우 제 2 가중치(W2) 매트릭스의 각 원소를 Wjk로 표시할 수 있다.
이하에서는 도 7 및 도 8을 참조하여 가중치 조절량 연산에 대해서 개시한다.
전술한 바와 같이 가중치 조절량은 전체 배치 입력에 대한 포워드 연산 및 백워드 연산이 종료된 이후에 확정된다.
도 9의 순서도에서는 배치 인덱스에 대응하는 입력에 대하여 포워드 연산과 백워드 연산 이후에 가중치 조절량을 연산 및 갱신하고 마지막 N번째 입력에 대한 포워드 연산과 백워드 연산 이후에 가중치 조절량을 최종적으로 확정하는 방식을 개시하였다.
다른 실시예에서는 배치에 포함된 전체 입력에 대한 포워드 연산과 백워드 연산이 종료된 이후에 가중치 조절량을 일괄 연산할 수도 있다.
어느 경우에도 가중치 조절량 연산 방식 자체는 동일하다.
도 7은 도 1의 제 1 가중치 조절량 연산 회로(300)의 상세 블록도이다.
도 7에서 제 1 가중치 조절량 연산 회로(300)는 제 1 가중치(W1) 매트릭스의 i,j번째 원소 즉 Wij에 대한 가중치 조절량(△Wij)을 연산하는 것으로 가정한다.
제 1 가중치 조절량 연산 회로(300)는 곱셈기(321), 덧셈기(322), 제 1 레지스터(323) 및 제 3 연산 회로(324)를 포함한다.
제 1 가중치 조절량 연산 회로(300)는 먹스(325)를 더 포함한다.
덧셈기(322)와 제 1 레지스터(323)는 배치에 포함된 각 입력에 대한 포워드 연산과 백워드 연산 결과를 이용하여 곱셈을 수행하고 이를 이전에 저장된 결과에 누적하는 동작을 위해 필요하다.
예를 들어 n번째 입력에 대응하는 곱셈 결과가 입력되면 덧셈기(322)는 n-1번째까지의 덧셈 결과를 제 1 레지스터(323)에서 입력받아 이를 위의 곱셈 결과와 더하고 이를 이용하여 제 1 레지스터(323)의 값을 갱신한다.
곱셈기(321)는 제 1 입력 저장 회로(10)에 저장된 n번째 입력 신호(Xn)의 i번째 원소(Xni)를 먹스(321)의 출력과 곱한다.
먹스(321)의 출력은 n번째 입력에 대응하여 제 1 출력 저장 회로(30)에서 출력된 신호의 j번째 원소(f(Ynj))의 값이 0보다 크면 n번째 입력에 대응하여 제 3 출력 저장 회로(600)에서 출력된 오류 역전파 신호의 j번째 원소(Rnj)를 선택하고 그렇지 않으면 0을 출력한다.
전술한 바와 같이 제 3 출력 저장 회로(600)는 제 2 뉴로모픽 레이어(200)에서의 백워드 연산 결과를 저장한다.
백워드 연산 결과는 배치 인덱스에 대응하여 제 2 연산 회로(50)의 출력(O)이 입력되는 제 1 백워드 연산의 결과(P)와 타겟(T)이 입력되는 제 2 백워드 연산의 결과(Q)의 차이인 오류 역전파 신호(R)로 주어진다.
제 3 출력 저장 회로(600)는 배치에 포함된 각 입력에 대응하여 제 1 백워드 연산 결과(P)와 제 2 백워드 연산 결과(Q)를 모두 저장하거나 그 차이에 대응하는 오류 역전파 신호(R)만을 저장할 수 있다.
배치에 포함된 모든 입력에 대해서 곱셈 및 덧셈이 완료된 후 제 1 레지스터(323)의 최종값에 따라 제 3 연산 회로(324)는 가중치의 조절량을 계산한다.
실시예에 따라서는 n번째 입력 신호(Xn)의 i번째 원소(Xni)와 제 3 출력 저장 회로(600)에서 출력된 오류 역전파 신호의 j번째 원소(Rnj)의 전체 비트 대신에 일부 비트만을 사용하여 연산함으로써 하드웨어의 복잡도를 줄일 수 있다.
예를 들어 입력 신호의 원소(Xni)가 부호가 없는 8비트이고 오류 역전파 신호의 원소(Rnj)가 부호가 있는 9비트인 경우 입력 신호의 원소(Xni)의 상위 3비트와 오류 역전파 신호의 원소(Rnj)의 상위 4비트만을 사용하여 연산을 수행하도록 하드웨어를 구현할 수 있다.
본 실시예에서 제 3 연산 회로(324)는 제 1 레지스터(323)의 최종 값이 0보다 크면 +1, 0이면 0, 0보다 작으면 -1을 제 1 가중치 매트릭스의 i,j번째 가중치 조절량(△Wij)으로서 출력한다.
가중치 조절량을 2의 보수로 표현하는 경우 +1은 "01", 0은 "00", -1은 "11"로 표현될 수 있다.
제 1 가중치 조절 회로(700)는 제 1 가중치 조절량 연산 회로(300)에서 제공되는 각 원소별 가중치 조절량을 저장하고 이를 제 1 뉴로모픽 회로(100)에서 읽은 제 1 가중치(W1)의 각 원소와 더한 후 그 결과를 다시 제 1 뉴로모픽 회로(100)에 저장하여 제 1 가중치(W1)를 갱신할 수 있다.
전술한 바와 같이 제 1 뉴로모픽 회로(100)에서 제 1 가중치는 메모리 셀 어레이에 저장되고 제 1 가중치를 읽고 쓰는 것은 제어 회로(120)에 의해 수행될 수 있다.
도 8은 도 1의 제 2 가중치 조절량 연산 회로(400)의 상세 블록도이다.
도 8에서 제 2 가중치 조절량 연산 회로(400)는 제 2 가중치(W2) 매트릭스의 j,k번째 원소 즉 Wjk에 대한 가중치 조절량(△Wjk)을 연산하는 것으로 가정한다.
제 2 가중치 조절량 연산 회로(400)는 곱셈기(421), 덧셈기(422), 제 2 레지스터(423) 및 제 4 연산 회로(424)를 포함한다.
덧셈기(422)와 제 2 레지스터(423)는 배치에 포함된 각 입력에 대한 포워드 연산과 백워드 연산 결과를 이용하여 곱셈을 수행하고 이를 이전에 저장된 결과에 누적하는 동작을 위해 필요하다.
예를 들어 n번째 입력에 대응하는 곱셈 결과가 입력되면 덧셈기(422)는 n-1번째까지의 덧셈 결과를 제 2 레지스터(423)에서 입력받아 이를 위의 곱셈 결과와 더하고 이를 이용하여 제 2 레지스터(423)의 값을 갱신한다.
곱셈기(421)는 n번째 입력에 대응하여 제 1 출력 저장 회로(30)에서 출력된 신호의 j번째 원소(f(Ynj))를 n 번째 입력에 대응하는 출력(On)과 타겟(Tn)의 차이 즉 오류 신호의 k번째 원소(Onk - Tnk)와 곱한다.
실시예에 따라서는 제 1 출력 저장 회로(30)의 출력 신호의 원소(f(Ynj))와 오류 신호의 원소(Onk - Tnk)의 전체 비트 대신에 일부 비트만을 사용하여 연산함으로써 하드웨어의 복잡도를 줄일 수 있다.
예를 들어 제 1 출력 저장 회로(30)의 출력 신호의 원소(f(Ynj))가 부호가 없는 8비트이고 오류 신호의 원소(Onk - Tnk)가 부호가 있는 9비트인 경우 제 1 출력 저장 회로(30)의 출력 신호의 원소(f(Ynj))의 상위 3비트와 오류 신호의 원소(Onk - Tnk)의 상위 4비트만을 사용하여 연산을 수행하도록 하드웨어를 구현할 수 있다.
배치에 포함된 모든 입력에 대해서 곱셈 및 덧셈이 완료된 후 제 2 레지스터(423)의 최종값에 따라 제 4 연산 회로(424)는 가중치의 조절량을 계산한다.
본 실시예에서 제 4 연산 회로(424)는 제 2 레지스터(423)의 최종 값이 0보다 크면 +1, 0이면 0, 0보다 작으면 -1을 제 2 가중치 매트릭스의 j,k번째 가중치 조절량(△Wjk)으로서 출력한다.
가중치 조절량을 2의 보수로 표현하는 경우 +1은 "01", 0은 "00", -1은 "11"로 표현될 수 있다.
제 2 가중치 조절 회로(800)는 제 2 가중치 조절량 연산 회로(400)에서 제공되는 각 원소별 가중치 조절량을 임시로 저장하고 이를 제 2 뉴로모픽 회로(200)에서 읽은 제 2 가중치의 각 원소와 더한 후 그 결과를 다시 제 2 뉴로모픽 회로(200)에 저장하여 제 2 가중치를 갱신할 수 있다.
도 1에서 제 2 연산 회로(50)의 출력과 타겟(T)의 차이는 오류에 대응한다.
본 실시예에서는 하나의 배치 입력에서 발생한 오류의 합이 미리 정해진 임계점 이하가 되도록 전술한 배치 학습을 반복하여 수행할 수 있다.
뉴로모픽 회로에서 사용하는 아날로그 연산 회로는 노이즈, 공정 변이 등의 영향을 받을 수 있으나 전술한 바와 같이 배치 입력을 이용한 지도 학습을 반복적으로 수행함으로써 노이즈 공정 변이 등의 영향을 감소시키고 에러를 줄일 수 있다.
본 발명의 권리범위는 이상의 개시로 한정되는 것은 아니다. 본 발명의 권리범위는 청구범위에 문언적으로 기재된 범위와 그 균등범위를 기준으로 해석되어야 한다.
100: 제 1 뉴로모픽 레이어
200: 제 2 뉴로모픽 레이어
300: 제 1 가중치 조절량 연산 회로
400: 제 2 가중치 조절량 연산 회로
500: 제 2 입력 저장 회로
600: 제 3 출력 저장 회로
700: 제 1 가중치 조절 회로
800: 제 2 가중치 조절 회로
110: 메모리 셀 어레이
120: 제어 회로
130: 포워드 입력 버퍼
140: 백워드 입력 버퍼
150: 아날로그 연산 회로
10: 제 1 입력 저장 회로
20: 제 1 연산 회로
30: 제 1 출력 저장 회로
40: 제 2 출력 저장 회로
50: 제 2 연산 회로

Claims (20)

  1. 입력 신호와 제 1 가중치를 이용하여 포워드 연산을 수행하는 제 1 뉴로모픽 회로;
    제 1 뉴로모픽 회로에서 수행한 포워드 연산의 결과를 연산하는 제 1 연산 회로;
    제 1 연산 회로의 출력과 제 2 가중치를 이용하여 포워드 연산을 수행하는 제 2 뉴로모픽 회로;
    상기 제 2 뉴로모픽 회로에서 수행한 포워드 연산의 결과를 연산하는 제 2 연산 회로;
    상기 입력 신호에 대응하는 타겟 신호와 상기 제 2 연산 회로의 출력과 상기 제 2 가중치를 이용하여 상기 제 2 뉴로모픽 회로에서 수행된 백워드 연산의 결과와 상기 입력 신호 및 상기 제 1 연산 회로의 출력을 이용하여 상기 제 1 가중치의 조절량을 연산하는 제 1 가중치 조절량 연산 회로; 및
    상기 입력 신호에 대응하는 타겟 신호와 상기 제 2 연산 회로의 출력과 상기 제 1 연산 회로의 출력을 이용하여 상기 제 2 가중치의 조절량을 연산하는 제 2 가중치 조절량 연산 회로;
    를 포함하되,
    상기 제 2 뉴로모픽 회로는 상기 타겟 신호와 상기 제 2 가중치를 이용한 제 1 백워드 연산과 상기 제 2 연산 회로의 출력과 상기 제 2 가중치를 이용한 제 2 백워드 연산을 수행하고,
    상기 제 1 가중치 조절량 연산 회로는 상기 제 1 백워드 연산의 결과와 상기 제 2 백워드 연산의 결과의 차이, 상기 제 1 연산 회로의 출력 및 상기 입력 신호를 이용하여 상기 제 1 가중치 조절량을 연산하는 뉴로모픽 시스템.
  2. 청구항 1에 있어서,
    상기 제 1 가중치 조절량 연산 회로의 출력에 따라 상기 제 1 가중치를 조절하는 제 1 가중치 조절 회로; 및
    상기 제 2 가중치 조절량 연산 회로의 출력에 따라 상기 제 2 가중치를 조절하는 제 2 가중치 조절 회로
    를 더 포함하는 뉴로모픽 시스템.
  3. 삭제
  4. 청구항 1에 있어서, 상기 제 1 백워드 연산의 결과, 상기 제 2 백워드 연산의 결과 또는 상기 제 1 백워드 연산의 결과와 상기 제 2 백워드 연산의 결과의 차이를 저장하는 출력 저장 회로를 더 포함하는 뉴로모픽 시스템.
  5. 청구항 1에 있어서,
    배치 입력을 저장하고 배치 인덱스에 대응하는 입력을 상기 입력 신호로 제공하는 제 1 입력 저장 회로;
    상기 제 1 연산 회로의 출력을 상기 배치 인덱스에 대응하여 순차적으로 저장하는 제 1 출력 저장 회로;
    상기 제 2 뉴로모픽 레이어에서 수행한 포워드 연산의 결과를 상기 배치 인덱스에 대응하여 순차적으로 저장하는 제 2 출력 저장 회로;
    상기 배치 입력에 대응하는 타겟과 상기 제 2 연산 회로의 출력을 상기 배치 인덱스에 대응하여 순차적으로 저장하는 제 2 입력 저장 회로;
    상기 제 2 뉴로모픽 레이어에서 수행한 백워드 연산의 결과를 상기 배치 인덱스에 대응하여 순차적으로 저장하는 제 3 출력 저장 회로
    를 더 포함하는 뉴로모픽 시스템.
  6. 청구항 5에 있어서, 상기 제 3 출력 저장 회로는 상기 배치 인덱스에 대응하는 타겟 신호와 상기 제 2 가중치를 이용하여 상기 제 2 뉴로모픽 레이어에서 수행한 상기 제 1 백워드 연산의 결과와 상기 배치 인덱스에 대응하는 상기 제 2 연산 회로의 출력과 상기 제 2 가중치를 이용하여 상기 제 2 뉴로모픽 레이어에서 수행한 상기 제 2 백워드 연산의 결과의 차이에 대응하는 오류 역전파 신호를 저장하는 뉴로모픽 시스템.
  7. 청구항 6에 있어서, 상기 제 1 가중치 조절량 연산 회로는
    상기 배치 인덱스에 대응하는 상기 제 1 연산 회로의 출력에 따라 상기 배치 인덱스에 대응하는 오류 역전파 신호 또는 0을 선택하는 먹스;
    상기 먹스의 출력과 상기 배치 인덱스에 대응하는 입력을 곱하는 곱셈기;
    상기 배치 인덱스에 따라 상기 곱셈기의 출력을 제 1 레지스터에 누적하여 더하는 덧셈기; 및
    상기 제 1 레지스터의 최종 출력값에 따라 상기 제 1 가중치 조절량을 결정하는 제 3 연산 회로
    를 포함하는 뉴로모픽 시스템.
  8. 청구항 7에 있어서, 상기 오류 역전파 신호 및 상기 입력 신호가 멀티 비트 디지털 신호인 경우 상기 곱셈기는 전체 비트 중 상위 일부 비트를 선택하여 곱셈을 수행하는 뉴로모픽 시스템.
  9. 청구항 7에 있어서, 상기 제 3 연산 회로는 상기 제 1 레지스터의 값이 양인 경우 +1, 0인 경우 0, 음인 경우 -1을 상기 제 1 가중치 조절량으로 결정하는 뉴로모픽 시스템.
  10. 청구항 5에 있어서, 상기 제 2 가중치 조절량 연산 회로는
    상기 배치 인덱스에 대응하는 상기 제 1 연산 회로의 출력을 상기 배치 인덱스에 대응하는 타겟과 상기 배치 인덱스에 대응하는 제 2 연산 회로의 출력의 차이에 대응하는 오류 신호와 곱하는 곱셈기;
    상기 배치 인덱스에 따라 상기 곱셈기의 출력을 제 2 레지스터에 누적하여 더하는 덧셈기; 및
    상기 제 2 레지스터의 최종 출력값에 따라 상기 제 2 가중치 조절량을 결정하는 제 4 연산 회로
    를 포함하는 뉴로모픽 시스템.
  11. 청구항 10에 있어서, 상기 오류 신호 및 상기 제 1 연산 회로의 출력이 멀티 비트 디지털 신호인 경우 상기 곱셈기는 전체 비트 중 상위 일부 비트를 선택하여 곱셈을 수행하는 뉴로모픽 시스템.
  12. 청구항 10에 있어서, 상기 제 4 연산 회로는 상기 제 2 레지스터의 값이 양인 경우 +1, 0인 경우 0, 음인 경우 -1을 상기 제 2 가중치 조절량으로 결정하는 뉴로모픽 시스템.
  13. 청구항 1에 있어서, 상기 제 1 뉴로모픽 레이어는
    상기 제 1 가중치를 저장하는 메모리 셀 어레이;
    상기 메모리 셀 어레이에서 상기 제 1 가중치를 읽거나 상기 메모리 셀 어레이에 상기 제 1 가중치를 기록하는 제어 회로;
    포워드 입력 신호와 상기 제 1 가중치를 연산하여 포워드 출력 신호를 생성하고 백워드 입력 신호와 상기 제 2 가중치를 연산하여 백워드 출력 신호를 생성하는 아날로그 연산 회로
    를 포함하는 뉴로모픽 시스템.
  14. 청구항 13에 있어서, 상기 제 1 뉴로모픽 레이어는 상기 포워드 입력 신호를 저장하는 포워드 입력 버퍼 및 상기 백워드 입력 신호를 저장하는 백워드 입력 버퍼를 더 포함하는 뉴로모픽 시스템.
  15. 청구항 13에 있어서, 상기 아날로그 연산 회로는
    상기 포워드 입력 신호와 상기 제 1 가중치를 연산하여 포워드 출력 신호를 생성하는 포워드 아날로그 연산 회로와 상기 백워드 입력 신호와 상기 제 1 가중치를 연산하여 백워드 출력 신호를 생성하는 백워드 아날로그 연산 회로를 포함하는 뉴로모픽 시스템.
  16. 청구항 15에 있어서, 상기 포워드 아날로그 연산 회로는
    상기 포워드 입력 신호와 제 1 가중치의 곱에 대응하는 전류를 생성하여 충전 노드에 제공하는 곱셈 유닛;
    상기 충전 노드에 제공된 전하량에 대응하는 개수의 펄스를 출력하는 펄스 생성 회로; 및
    상기 펄스 생성 회로의 출력을 카운트하여 상기 포워드 출력 신호를 생성하는 카운터
    를 포함하는 뉴로모픽 시스템.
  17. 청구항 16에 있어서, 상기 곱셈 유닛은
    전류원;
    상기 포워드 입력 신호의 크기에 대응하는 하이 레벨 구간의 크기 또는 듀티비를 갖는 신호를 생성하는 펄스 폭 변조 회로; 및
    상기 제 1 가중치와 상기 펄스 폭 변조 회로를 논리 연산한 결과에 따라 상기 전류원을 상기 충전 노드에 연결하는 스위치
    를 포함하는 뉴로모픽 시스템.
  18. 청구항 16에 있어서, 상기 펄스 생성 회로는 상기 충전 노드의 전압이 일정 수준 이상으로 상승하는 경우 하이 레벨 신호를 생성하는 지연 회로 및 상기 지연 회로의 출력이 하이 레벨이 되는 경우 상기 충전 노드를 방전시키는 방전 회로를 포함하는 뉴로모픽 시스템.
  19. 청구항 16에 있어서, 상기 충전 노드와 접지 노드 사이에 연결된 커패시터를 더 포함하는 뉴로모픽 시스템.
  20. 청구항 16에 있어서, 상기 포워드 입력 신호는 다수의 원소를 포함하는 벡터이고, 상기 제 1 가중치는 상기 다수의 원소에 대응하는 다수의 가중치 원소를 포함하고, 상기 곱셈 유닛은 상기 충전 노드에 공통 연결되도록 다수 개가 포함되며,
    다수 개의 곱셈 유닛 각각에는 상기 포워드 입력 신호의 어느 한 원소와 상기 제 1 가중치의 대응하는 가중치 원소가 입력되는 뉴로모픽 시스템.
KR1020180164780A 2018-12-19 2018-12-19 오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템 KR102692218B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180164780A KR102692218B1 (ko) 2018-12-19 2018-12-19 오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템
US16/672,253 US11526763B2 (en) 2018-12-19 2019-11-01 Neuromorphic system for performing supervised learning using error backpropagation
CN201911155913.XA CN111340203B (zh) 2018-12-19 2019-11-22 使用误差反向传播执行监督学习的神经形态系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180164780A KR102692218B1 (ko) 2018-12-19 2018-12-19 오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템

Publications (2)

Publication Number Publication Date
KR20200076083A KR20200076083A (ko) 2020-06-29
KR102692218B1 true KR102692218B1 (ko) 2024-08-05

Family

ID=71098585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180164780A KR102692218B1 (ko) 2018-12-19 2018-12-19 오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템

Country Status (3)

Country Link
US (1) US11526763B2 (ko)
KR (1) KR102692218B1 (ko)
CN (1) CN111340203B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111630529B (zh) * 2019-11-15 2023-09-01 北京时代全芯存储技术股份有限公司 类神经电路以及运作方法
KR102584868B1 (ko) 2020-01-06 2023-10-04 서울대학교산학협력단 온칩 학습이 가능한 뉴로모픽 아키텍쳐
US20220076127A1 (en) * 2020-09-09 2022-03-10 Microsoft Technology Licensing, Llc Forcing weights of transformer model layers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446764A (zh) * 2018-03-12 2018-08-24 清华大学 一种新型神经形态芯片架构
CN108805270A (zh) * 2018-05-08 2018-11-13 华中科技大学 一种基于存储器的卷积神经网络系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07101415B2 (ja) * 1989-10-25 1995-11-01 株式会社日立製作所 情報処理装置及びその学習方法
US5517596A (en) * 1991-05-17 1996-05-14 International Business Machines Corporation Learning machine synapse processor system apparatus
US9256823B2 (en) * 2012-07-27 2016-02-09 Qualcomm Technologies Inc. Apparatus and methods for efficient updates in spiking neuron network
US10083395B2 (en) * 2015-05-21 2018-09-25 Google Llc Batch processing in a neural network processor
US10885429B2 (en) * 2015-07-06 2021-01-05 University Of Dayton On-chip training of memristor crossbar neuromorphic processing systems
US10332028B2 (en) 2015-08-25 2019-06-25 Qualcomm Incorporated Method for improving performance of a trained machine learning model
CN107194462B (zh) * 2016-03-15 2020-05-19 清华大学 三值神经网络突触阵列及利用其的神经形态计算网络系统
US10713562B2 (en) 2016-06-18 2020-07-14 International Business Machines Corporation Neuromorphic memory circuit
US9779355B1 (en) * 2016-09-15 2017-10-03 International Business Machines Corporation Back propagation gates and storage capacitor for neural networks
US11315009B2 (en) * 2017-03-03 2022-04-26 Hewlett Packard Enterprise Development Lp Analog multiplier-accumulators
US11087204B2 (en) * 2018-04-20 2021-08-10 International Business Machines Corporation Resistive processing unit with multiple weight readers
FR3087560A1 (fr) * 2018-10-23 2020-04-24 Commissariat A L'energie Atomique Et Aux Energies Alternatives Retro-propagation d'erreurs sous forme impulsionnelle dans un reseau de neurones impulsionnels

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446764A (zh) * 2018-03-12 2018-08-24 清华大学 一种新型神经形态芯片架构
CN108805270A (zh) * 2018-05-08 2018-11-13 华中科技大学 一种基于存储器的卷积神经网络系统

Also Published As

Publication number Publication date
CN111340203A (zh) 2020-06-26
CN111340203B (zh) 2023-06-30
US20200202217A1 (en) 2020-06-25
US11526763B2 (en) 2022-12-13
KR20200076083A (ko) 2020-06-29

Similar Documents

Publication Publication Date Title
KR102692218B1 (ko) 오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템
US10740671B2 (en) Convolutional neural networks using resistive processing unit array
US11468283B2 (en) Neural array having multiple layers stacked therein for deep belief network and method for operating neural array
US9779355B1 (en) Back propagation gates and storage capacitor for neural networks
CN107924227B (zh) 电阻处理单元
CN109800876B (zh) 一种基于NOR Flash模块的神经网络的数据运算方法
US9087302B2 (en) Synapse for function cell of spike timing dependent plasticity (STDP), function cell of STDP, and neuromorphic circuit using function cell of STDP
US20190279079A1 (en) Neuromorphic system with transposable memory and virtual look-up table
US10453527B1 (en) In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture
US10552734B2 (en) Dynamic spatial target selection
CN110428042A (zh) 往复地缩放神经元的连接权重和输入值来挫败硬件限制
CN111052153A (zh) 使用半导体存储元件的神经网络运算电路及动作方法
CN114341891A (zh) 神经网络剪枝
US20220253674A1 (en) Spiking neural network system, learning processing device, learning method, and recording medium
US20200286553A1 (en) In-memory computation device with inter-page and intra-page data circuits
CN110580519B (zh) 一种卷积运算装置及其方法
CN114037047A (zh) 一种脉冲神经网络的训练方法
US5353382A (en) Programmable synapse for neural network applications
KR20230005309A (ko) 아날로그 인공지능 네트워크 추론을 위한 행별 컨볼루션 신경망 매핑을 위한 효율적 타일 매핑
US20210081775A1 (en) Resistive processing unit cell having multiple weight update and read circuits for parallel processing of data using shared weight value
CN116523011B (zh) 基于忆阻的二值神经网络层电路及二值神经网络训练方法
Kaneko et al. A study on a low power optimization algorithm for an edge-AI device
US20220351035A1 (en) Apparatus and method for neural network learning using synapse based on multi element
Azimi-Sadjadi et al. Supervised learning process of multi-layer perceptron neural networks using fast least squares
Płaczek et al. Learning algorithm analysis for deep neural network with ReLu activation functions

Legal Events

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