KR102692218B1 - 오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템 - Google Patents
오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템 Download PDFInfo
- 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
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims description 12
- 239000003990 capacitor Substances 0.000 claims description 8
- 241000282472 Canis lupus familiaris Species 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 12
- 210000004027 cell Anatomy 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 2
- 210000000225 synapse Anatomy 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, 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
본 발명은 지도 학습을 수행하는 뉴로모픽 시스템에 관한 것으로서 보다 구체적으로는 오류 역전파를 이용하여 지도 학습을 수행하는 뉴로모픽 시스템에 관한 것이다.
인공 지능이 적용된 컴퓨팅 장치에서 에너지 효율이 높은 하드웨어 기술이 요구되고 있다. 특히 뉴로모픽 시스템은 에너지 효율이 높은 기술의 하나로 연구되고 있다.
뉴로모픽 시스템은 생물체의 뇌를 모방한 인공 신경망을 반도체 회로로 구현한 것으로서 시냅스의 결합으로 네트워크를 형성한 노드들이 적절한 학습을 통해 시냅스의 웨이트 값을 변화시켜 임의의 문제 해결 능력을 갖는 모델이다.
보다 다양한 용도로 활용하기 위하여 뉴로모픽 시스템에 대해서 효율적으로 학습을 수행할 수 있는 기술이 요구되고 있다.
본 기술은 오류 역전파를 이용하여 지도 학습을 수행할 수 있는 다수의 레이어를 포함하는 뉴로모픽 시스템을 제공한다.
본 발명의 일 실시예에 의한 뉴로모픽 시스템은 입력 신호와 제 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는 본 발명의 일 실시예에 의한 뉴로모픽 시스템의 학습 동작을 나타내는 순서도.
도 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) 연산 결과를 의미한다.
본 실시예에서 포워드 및 백워드 입출력 신호의 각 원소 및 제 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 연산 회로
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 연산 회로의 출력과 제 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 가중치 조절량을 연산하는 뉴로모픽 시스템. - 청구항 1에 있어서,
상기 제 1 가중치 조절량 연산 회로의 출력에 따라 상기 제 1 가중치를 조절하는 제 1 가중치 조절 회로; 및
상기 제 2 가중치 조절량 연산 회로의 출력에 따라 상기 제 2 가중치를 조절하는 제 2 가중치 조절 회로
를 더 포함하는 뉴로모픽 시스템. - 삭제
- 청구항 1에 있어서, 상기 제 1 백워드 연산의 결과, 상기 제 2 백워드 연산의 결과 또는 상기 제 1 백워드 연산의 결과와 상기 제 2 백워드 연산의 결과의 차이를 저장하는 출력 저장 회로를 더 포함하는 뉴로모픽 시스템.
- 청구항 1에 있어서,
배치 입력을 저장하고 배치 인덱스에 대응하는 입력을 상기 입력 신호로 제공하는 제 1 입력 저장 회로;
상기 제 1 연산 회로의 출력을 상기 배치 인덱스에 대응하여 순차적으로 저장하는 제 1 출력 저장 회로;
상기 제 2 뉴로모픽 레이어에서 수행한 포워드 연산의 결과를 상기 배치 인덱스에 대응하여 순차적으로 저장하는 제 2 출력 저장 회로;
상기 배치 입력에 대응하는 타겟과 상기 제 2 연산 회로의 출력을 상기 배치 인덱스에 대응하여 순차적으로 저장하는 제 2 입력 저장 회로;
상기 제 2 뉴로모픽 레이어에서 수행한 백워드 연산의 결과를 상기 배치 인덱스에 대응하여 순차적으로 저장하는 제 3 출력 저장 회로
를 더 포함하는 뉴로모픽 시스템. - 청구항 5에 있어서, 상기 제 3 출력 저장 회로는 상기 배치 인덱스에 대응하는 타겟 신호와 상기 제 2 가중치를 이용하여 상기 제 2 뉴로모픽 레이어에서 수행한 상기 제 1 백워드 연산의 결과와 상기 배치 인덱스에 대응하는 상기 제 2 연산 회로의 출력과 상기 제 2 가중치를 이용하여 상기 제 2 뉴로모픽 레이어에서 수행한 상기 제 2 백워드 연산의 결과의 차이에 대응하는 오류 역전파 신호를 저장하는 뉴로모픽 시스템.
- 청구항 6에 있어서, 상기 제 1 가중치 조절량 연산 회로는
상기 배치 인덱스에 대응하는 상기 제 1 연산 회로의 출력에 따라 상기 배치 인덱스에 대응하는 오류 역전파 신호 또는 0을 선택하는 먹스;
상기 먹스의 출력과 상기 배치 인덱스에 대응하는 입력을 곱하는 곱셈기;
상기 배치 인덱스에 따라 상기 곱셈기의 출력을 제 1 레지스터에 누적하여 더하는 덧셈기; 및
상기 제 1 레지스터의 최종 출력값에 따라 상기 제 1 가중치 조절량을 결정하는 제 3 연산 회로
를 포함하는 뉴로모픽 시스템. - 청구항 7에 있어서, 상기 오류 역전파 신호 및 상기 입력 신호가 멀티 비트 디지털 신호인 경우 상기 곱셈기는 전체 비트 중 상위 일부 비트를 선택하여 곱셈을 수행하는 뉴로모픽 시스템.
- 청구항 7에 있어서, 상기 제 3 연산 회로는 상기 제 1 레지스터의 값이 양인 경우 +1, 0인 경우 0, 음인 경우 -1을 상기 제 1 가중치 조절량으로 결정하는 뉴로모픽 시스템.
- 청구항 5에 있어서, 상기 제 2 가중치 조절량 연산 회로는
상기 배치 인덱스에 대응하는 상기 제 1 연산 회로의 출력을 상기 배치 인덱스에 대응하는 타겟과 상기 배치 인덱스에 대응하는 제 2 연산 회로의 출력의 차이에 대응하는 오류 신호와 곱하는 곱셈기;
상기 배치 인덱스에 따라 상기 곱셈기의 출력을 제 2 레지스터에 누적하여 더하는 덧셈기; 및
상기 제 2 레지스터의 최종 출력값에 따라 상기 제 2 가중치 조절량을 결정하는 제 4 연산 회로
를 포함하는 뉴로모픽 시스템. - 청구항 10에 있어서, 상기 오류 신호 및 상기 제 1 연산 회로의 출력이 멀티 비트 디지털 신호인 경우 상기 곱셈기는 전체 비트 중 상위 일부 비트를 선택하여 곱셈을 수행하는 뉴로모픽 시스템.
- 청구항 10에 있어서, 상기 제 4 연산 회로는 상기 제 2 레지스터의 값이 양인 경우 +1, 0인 경우 0, 음인 경우 -1을 상기 제 2 가중치 조절량으로 결정하는 뉴로모픽 시스템.
- 청구항 1에 있어서, 상기 제 1 뉴로모픽 레이어는
상기 제 1 가중치를 저장하는 메모리 셀 어레이;
상기 메모리 셀 어레이에서 상기 제 1 가중치를 읽거나 상기 메모리 셀 어레이에 상기 제 1 가중치를 기록하는 제어 회로;
포워드 입력 신호와 상기 제 1 가중치를 연산하여 포워드 출력 신호를 생성하고 백워드 입력 신호와 상기 제 2 가중치를 연산하여 백워드 출력 신호를 생성하는 아날로그 연산 회로
를 포함하는 뉴로모픽 시스템. - 청구항 13에 있어서, 상기 제 1 뉴로모픽 레이어는 상기 포워드 입력 신호를 저장하는 포워드 입력 버퍼 및 상기 백워드 입력 신호를 저장하는 백워드 입력 버퍼를 더 포함하는 뉴로모픽 시스템.
- 청구항 13에 있어서, 상기 아날로그 연산 회로는
상기 포워드 입력 신호와 상기 제 1 가중치를 연산하여 포워드 출력 신호를 생성하는 포워드 아날로그 연산 회로와 상기 백워드 입력 신호와 상기 제 1 가중치를 연산하여 백워드 출력 신호를 생성하는 백워드 아날로그 연산 회로를 포함하는 뉴로모픽 시스템. - 청구항 15에 있어서, 상기 포워드 아날로그 연산 회로는
상기 포워드 입력 신호와 제 1 가중치의 곱에 대응하는 전류를 생성하여 충전 노드에 제공하는 곱셈 유닛;
상기 충전 노드에 제공된 전하량에 대응하는 개수의 펄스를 출력하는 펄스 생성 회로; 및
상기 펄스 생성 회로의 출력을 카운트하여 상기 포워드 출력 신호를 생성하는 카운터
를 포함하는 뉴로모픽 시스템. - 청구항 16에 있어서, 상기 곱셈 유닛은
전류원;
상기 포워드 입력 신호의 크기에 대응하는 하이 레벨 구간의 크기 또는 듀티비를 갖는 신호를 생성하는 펄스 폭 변조 회로; 및
상기 제 1 가중치와 상기 펄스 폭 변조 회로를 논리 연산한 결과에 따라 상기 전류원을 상기 충전 노드에 연결하는 스위치
를 포함하는 뉴로모픽 시스템. - 청구항 16에 있어서, 상기 펄스 생성 회로는 상기 충전 노드의 전압이 일정 수준 이상으로 상승하는 경우 하이 레벨 신호를 생성하는 지연 회로 및 상기 지연 회로의 출력이 하이 레벨이 되는 경우 상기 충전 노드를 방전시키는 방전 회로를 포함하는 뉴로모픽 시스템.
- 청구항 16에 있어서, 상기 충전 노드와 접지 노드 사이에 연결된 커패시터를 더 포함하는 뉴로모픽 시스템.
- 청구항 16에 있어서, 상기 포워드 입력 신호는 다수의 원소를 포함하는 벡터이고, 상기 제 1 가중치는 상기 다수의 원소에 대응하는 다수의 가중치 원소를 포함하고, 상기 곱셈 유닛은 상기 충전 노드에 공통 연결되도록 다수 개가 포함되며,
다수 개의 곱셈 유닛 각각에는 상기 포워드 입력 신호의 어느 한 원소와 상기 제 1 가중치의 대응하는 가중치 원소가 입력되는 뉴로모픽 시스템.
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)
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)
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)
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 |
-
2018
- 2018-12-19 KR KR1020180164780A patent/KR102692218B1/ko active IP Right Grant
-
2019
- 2019-11-01 US US16/672,253 patent/US11526763B2/en active Active
- 2019-11-22 CN CN201911155913.XA patent/CN111340203B/zh active Active
Patent Citations (2)
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 |