KR940001172B1 - 네트워크 구성데이타 처리장치의 학습처리 방식 - Google Patents
네트워크 구성데이타 처리장치의 학습처리 방식 Download PDFInfo
- Publication number
- KR940001172B1 KR940001172B1 KR1019900700990A KR907000990A KR940001172B1 KR 940001172 B1 KR940001172 B1 KR 940001172B1 KR 1019900700990 A KR1019900700990 A KR 1019900700990A KR 907000990 A KR907000990 A KR 907000990A KR 940001172 B1 KR940001172 B1 KR 940001172B1
- Authority
- KR
- South Korea
- Prior art keywords
- weight
- signal
- output
- input
- layer
- Prior art date
Links
Landscapes
- Feedback Control In General (AREA)
Abstract
내용 없음.
Description
[발명의 명칭]
네트웨크 구성데이타 처리장치의 학습처리 방식
[도면의 간단한 설명]
제1도는 본 발명의 기본 유니트의 원리 구성도.
제2도는 계층형 네트워크의 원리 구성도.
제3도는 백 프로파게이션(back propagation)법의 설명도.
제4도는 학습 처리에 대해 사용되는 데이타의 설명도.
제5도는 종래기술의 학습회수의 설명도.
제6도는 본 발명의 원리 구성도.
제7도는 본 발명의 학습 알고리즘을 도시한 흐름도.
제8도는 본발명의 학습회수의 설명도.
제9도는 본 발명의 가중치의 갱신량의 설명도.
제10도는 종래 기술의 가중치의 갱신량의 설명도.
제11도는 제6도에 도시한 가중치 학습 수단의 블록도.
제12도는제11도에 도시한 가중치 학습 수단의 블록도.
제13도는 본발명의 실시예의 구성도.
제14도는 제13도에 도시한 주 제어회로의 흐름도.
제15a도는 실시예에서 사용에 대한 아날로그 뉴론프로세서(ANP)의 칩에 형성된 패키지의 도식도.
제15b도는 제15a도에 도시한 ANP의 내부 구성도.
제16도는 제15a도에 도시한 아날로그 뉴론 프로세서의 원리 구성도.
제17도는 본 발명의 기본 유니트 실시예의 블록도.
제18a도는 계층형 뉴럴 네트워크의 개념도.
제18b도는 본 발명의 뉴론 컴퓨터 사용에 대한 계층형 네트워크를 형성하는 실시예의 블록도.
제20도는 제19도에 도시한 실시예의 상세한 블록도.
제21도는 주 제어회로의 구성도.
제22a도 와 제22b도는 제19도와 제20도에 도시한 실시예에서의 신호 프로세싱의 타이밍 챠트.
제23도는 제19도와 제20도에 도시한 실시예에서의 신호 프로세싱의 타이밍 차트.
제24도는 본 발명의 계층형 네트워크에서 뉴론 컴퓨터를 형성하는 실시예의 회로도.
제25a도와 제25b도는 제24도에 도시한 신호 프로세싱의 타이밍 챠트.
제26도는 디지탈 가중치 데이타를 리드(read)하기 위한 타이밍 챠트.
제27a도는 제24도에 도시한 실시예에서 마스터 제어 블록의 블록도.
제27b도는 패턴 메모리 메모리와 마이크로 코드 메모리의 구성도.
제28a도는 가중치 데이타 메모리에 데이타를 저장하기 위한 설명도.
제28b도는 가중치 데이타 메모리의 구성도.
제29도는 데이지(daisy)회로의 회로도.
제30도는 최대치 노드회로의 회로도.
제31a도는 귀환형 네트위크를 설명하기 위한 개념도.
제31b도는 귀환형 네트워크가 본 발명의 뉴론 컴퓨터에 의해 형성되는 경우의 설명도.
제32도는 귀환형 네트워크 실시예의 블록도.
제33a도와 제33b도는제32도에 도시한 실시예에서의 신호 처리를 지시하는 타이밍 차트.
제34도는 본 발명의 뉴론 컴퓨터를 사용하는 귀환형 네트워크에 의해 형성된 실시예의 회로도.
제35a도와 제35b도는 제34도에서 실시예의 신호 처리를 반복하기 위한 타이밍 차트.
[발명의 상세한 설명]
[기술분야]
본 발명은 네트워크 구성데이타 처리 장치 사용에 대한 학습처리방식에 관한 것이다.
[배경기술]
종래의 시퀀설(sequential)프로세싱 컴퓨터(뉴만형태)에서 사용방법 또는 환경의 변화에 따른 데이타 처리 기능을 제어하는 것이 어렵다. 그러므로, 계층형 네트워크레서 병렬분산방식을 이용하는 적응성을 갖는 데이타 프로세싱법이 제안되었다. 백프로파게이션법(D.E. Rumelhart, G. E.Hinton, and williams, "Learning Internal Representations by Error Propagation". PAPALLEL DISTRIBUTED PROCESS-ING, voL. 1, pp. 318-364, The MIT Press, 1986)은 실용성이 높기 때문에 특히 주목받는다.
백 프로파게이션(back propagation)법은 기본 유니트라 불리워지는 노드와 가중치를 유지하는 내부 결합으로 이루어진 계층형 네트워크 구성을 이용하다. 제1도는 기본 유니트의 원리 구성도를 도시하였다. 이 기본 유니트는 다입력 입출력 방식으로 이루어졌고, 각 내부 결합의 가중치에 의한 다수의 입력을 승산하기 위한 승산처리부 2, 전승산 결과를 가산하기 위한 누산 처리부 3, 가산값으로 비선형 임계치 처리를 실시하므로써 최종 출력을 출력하는 임계치 처리부 4로 이루어졌다. 거기에 형성된 많은 기본 유니트 제2도에 도시한 바와같이 층으로 연결되므로 계층형 네트워크를 형성하고, 입력신호의 패턴에 대응하는 출력신호의 패턴으로 변화시키므로 데이타 처리 기능을 발휘한다.
백 프로파게이션법을 소정의 학습 알고리즘에 따른 계층형 네트워크 내의 내부 결합의 가중치를 결정하므로 선택된 입력신호에 대한 출력신호는 만족되는 신호값을 지시하기 위한 교사신호가 된다. 이 처리가 가중치를 결정할때 예기치 않거나 원하지 않은 신호가 입력된다면 계층형 네트워크는 입력신호와 유사한 출렬신호를 출력하므로서 " 플랙서블(flexible)" 병렬 분산의 데이타 처리 기능을 실현한다.
언급한 바와같이 네트워크 구성 데이타처리 장치를 실용적으로 하기 위하여 단시간 내에 가중치 학습처리를 실현하는 것이 필요하다. 이 문제를 해결하는 것에서, 계층형 네트워크가 복잡한 데이타 처리를 실현시키기 위하여 다층으로 형성되는 배경으로 짐작된다.
만약 h 층이 전단(pre-stage)층이고, i층이 후단(post-stage)층이라면, 기본 유니트 1의 누산처리부 3으로 실행되는 연산은 다음식(1)로 도시하였꼬, 임계치 처리부 4로 산출되는 연산은 다음식(2)로 도시하였다.
Xpi=YphWih…………………………………………………………… (1)
yP1=1/(1+e×p(-xP1-θ1))...............................................................(2)
단 h : h층의 유니트 번호,
i:i층의 유니트 번호.
p :입력신호의 패턴번호.
θ1: i층의 i번째 유니트의 임계치.
Wih: h-1층간의 내부결합의 가중치.
xP1: h층의 각 유니트에서 i층의 i번 유니트의 입력의 곱의 합
yPh: P패턴의 입력신호에 대한 h층의 출력
yP1: P패턴의 입력신호에 대한 i층의 출력
백 프로파게이션법은 가중치 Wih와 임계치 θ1간의 귀환에서 오차를 적응적으로 그리고 자동으로 조절한다. 그것은 식(1)과 (2)로부터 명백하다. 가중치 Wih와 임계치 θ1의 조절을 동시에 실행하는 것이 필요하나 이 작업은 서로 간섭하는 것이 어렵다.그러므로, 본 출원은 [특허출원소 62-333484 공보 1987년 12월 28일 출원) "네트워크 구성 데이타 처리장치"]에 개시되었고, 입력신호로서 보통 "1"을 갖는 기본 유니트 1은 입력측의 층에 제공되고 임계치 θ1는 Wih와 조합하므로 임계치 θ1는 외부적으로 나타나지 않는다. 상기식(1),(2)는 다음과 같다.
Xpi=YphWih…………………………………………………………… (3)
yP1=1/(1+e×p(-xP1))............................................(4)
가중치 학습처리의 종래 기술은 식(3),(4)로 설명한다. 다음의 설명은 제2도에 도시한 바와같이 h층 -i층 -j층의 구성으로 이루어진 계층형 네트워크를 행하여 된다.
다음 방정식은 식(3),(4)로 부터 얻을 수 있다.
Xpi=ypiWji…………………………………………………………… (5)
yPj=1/(1+e×p(-xP1))............................................(6)
단, j : j층의 유니트 번호.
Wj1: i-j층간의 내부 결합의 가중치.
xPj: i층의 각 유니트에서 j층의 j번 유니트의 입력의 곱의 합,
YPj: P패턴의 입력신호에 대한 j층의 출력.
가중치 학습 처리에 따라, 교사 신호와 출력층으로 부터의 출력신호 사이의 오차의 2승 합인 오차 벡터 Ep가 계층형 네트워크에서 오차로 간주되어 계산을 실행한다. 교사신호는 출력신호로 성취되는 신호이다.
단, EP: P패턴의 입력 신호에 대한 오차 벡터.
E : 모든 패턴의 입력 신호에 대한 오차 벡터의 합.
dpj: p패턴의 입력신호에 관한 j층 i 번 유니트에 대한 교사신호, 오차 벡터와 출력신호의 관계를 얻기 위하여, 식(7)은Ypj에 관해 편미분을 받는다.
더우기, 오차 벡터EP와 j번째층간의 관계를 얻기 위하여, 오차 벡터 EP는 Xpj로 편미분한다.
i-j 층간의 오차 벡터 EP와 가중치 사이의 관계를 얻기 위하여, 오차 벡터 EP는 Wj1로 편미분한다.
따라서, 상기 방정식으로 표현되는 곱의 합은 해답으로 얻어질 수 있다. 다음, i층의 출력 yp1에 대한 오차 벡터EP의 변화는 다음과 같다.
다음, i층 입력 유니트에 공급되는 입력의 합 xPi의 변화에 대한 오차 벡터의 변화는 계산되므로 상기 곱의 합으로 표시된 해를 얻을 수 있다.
더우기, h-1층간의 가중치의 변화에 대한 오차 벡터의 변화의 관계는 다음의 방정식으로 제공되고, 그 해는 곱의 합으로 표시된다.
상기 해를 기초로 하여, 모든 입력 패턴에 대한 i-j 층간의 오차 벡터와 가중치 사이의 관계가 다음과 같이 얻어진다.
방정식(15)와 (16)은 층들간 가중치의 변화에 대한 오차 벡터의 변화율을 도시하였다. 가중치가 변화를 야기시켜 변화율이 일반적으로 네가티브일때, 오차 벡터의합 E는 공지된 경사법에 따라 점차적으로 0으로 된다. 종래의 백 프로파게이션법은 갱신량 △Wji와 △Wih를 결정하고, 하나의 가중치 갱신 동작은 다음과 같이 결정된다. 가중치 갱신 동작이 반복됨에 따라 최소치로 오차 벡터의 총합 E를 변화시킨다.
단, 는 학습의 제어 파라미터다.
백 프로파게이션법의 최대 문제점은 수렴에 필요한 학습 회수가 크다는 것이다. 이것은 다중 네트워크 구조로 더 뚜렷하다. 수렴을 가속화하기 위해, 전의 갱신 사이클로 결정되는 가중치의 갱신량에 관계되는 데이타 인자는 방정식(17)과 (18)에 더한다.
△Wih와 △Wji는 다음과 같다.
단,는 학습의 제어 파라미터고, ±는 갱신회수를 나타낸다.
제어 파라미터의과는 작게 결정되고, 거의 확실하게 수렴하는 오차 벡터의 합 E와 수렴에 대해 요구되는 학습 회수는 많게된다. 둘의 파라미터가 학습회수를 감소하도록 결정하면, 오차 벡터의 합 E가 진동하는 염려가 나타난다. 입력층 유니트의 수가 "13"이고 중간층 유니트의 수가 "8"이고, 출력층 유니트의 수가 "7"로 결정될때 계층형 네트워크를 형성한다. 그러므로 학습 결과는 제4도에 도시한 62개 입력 패턴 신호와 대응 교사 패턴신호를 사용하는 학습을 실행하므로써 얻어지고, 제5도에 도시하였다. 제5도에서, 횡 축은 학습 회수를 종축은 오차 벡터의 합을 나타낸다. 제어 파라미터는=0.3이고=0.2로 결정된다.
때문에 13번 기본 유니트는 항상 "1"을 수신한다. 그것은 제5도로 부터 뚜렷하다. 비록 파라미터의 설정에서의 차에 따라 약간의 진동이 있을 지라도 상당한 학습회수는 가중치로 결정되는 종래 기술에 요구되어 왔다.
본 발명은 상기 상황을 고려하여 만들었다. 본 발명의 목적은 짧은 학습회소, 즉, 단시간 내에 네트워크 구성 데이타 처리 방식의 백 프로파게이션을 사용하여 가중치를 결정하기 위한 학습 처리를 제공하는 것이다.
[발명의 개시]
제6도는 본 발명의 원리 구성도이다.
도면중에서 1은 계층형 네트워크의 기본 소자를 형성하는 기본 유니트이다. 그것은 곱의 합을 얻기 위하여 이들 입력으로 곱하여지는 다수의 입력과 가중치를 수신한다. 따라서 얻은 곱의 합은 최종 출력을 제공하는 임계치 기능으로 변환된다. 1-h는 입력층을 형성하는 다수의 기본 유니트이고, 1-i는 하나 또는 다수단의 중간층을 형성하는 다수의 기본 유니트고, 1-j는 출력층을 형성하는 하나 또는 다수의 기본 유니트를 나타낸다. 기본 유니트를 1-h와 1-i사이와 기본 유니트 1-i와 1-j 사이에서 접속이 이루어지고, 가중치는 각 결합에 대응하여 결정되므로 10으로 나타나는 계층형 네트워크를 형성한다.
20은 학습처리에 필요한 학습 패턴을 유지하는 학습 패턴 유지 수단이고, 다수의 소정 입력 신호를 유지하기 위한 입력신호 유지 영역 21과 소정 입력신호에 대한 교사신호를 유지하기 위한 교사 신호 유지 영역 22로 이루어졌다. 30은 입력신호 유지영역에서 유지되는 입력신호를 계층형 네트워크 10에 공급함으로써 입력신호에 대응하는 출력신호를 얻기 위한 출력신호도출 수단이다. 40은 출력 신호도출 수단 30으로 부터 얻은 출력신호를 기초로한 2개의 신호사이의 불일치 정도를 표시하는 오차값을 계산하기 위한 오차값 산출 수단이다. 교사 신호는 교사 신호 유지영역 22에서 유지되므로 공급되는 모든 입력신호의 오차값을 제공한다.
50은 가중치 갱신량 산출 수단 51, 첫번째 가중치 갱신량 유지수단 52, 두번째 가중치 갱신량 유지 수단 53과 가중치 갱신 수단 54로 이루어진 가중치 학습수단이다. 가중치 학습 수단 50은 가중치값을 얻기 위한 초기치로 시작되는 계층형 네트워크 10의 가중치를 순차 갱신하므로 오차값의 합이 허용범위 내에 있는 가중치를 구하여 계층형 네트워크 10에 설정하는 처리를 한다. 따라서, 가중치 갱신량 산출수단 51은 오차값 산출수단 40으로 산출된 오차값을 유지 수단 52는 가중치 갱신량 유지수단 53은 가중치 갱신량을 유지한다. 두번째 가중치 갱신량 산출수단 51에 의해 얻은 전의 갱신 사이클에 따라 가중치 갱신량을 유지한다. 두번째 가중치 갱신량 유지수단 53은 가중치 갱신량 산출수단 51에 의해 얻은 전의 사이클에 대한 갱신 사이클시 가중치 갱신량을 유지한다. 가중치 갱신수단 54는 가중치 갱신량 산출수단 51에 의해 얻은 갱신량을 사용함으로써 전류 갱신 사이클시 가중치 갱신량을 결정하므로 가중치 갱신량은 첫번째와 두번째 갱신량 유지 수단에 의해 유지되므로 결정된 갱신량으로 결정되는 가중치의 값은 계층형 네트워크 10에 대해 설정된다.
본 발명은 전전의 갱신 사이클시 가중치 갱신량을 유지하는 두번째 가중치 갱신량 유지 수단 53을 제공하고, 갱신 가중치값이 결정될때 두번째 가중치 갱신량 유지수단 53으로 유지되는 가중치 갱신량에 관계된 데이타 인자를 제공한다.
종래의 백 프로파게이션법의 가중치 갱신량은 다음의 미분 방정식으로 결정된다.
미분 방정식을 차등근사 (differential approximate)하여 △W에 관해 푼다.
방정식(19),(20)으로 주어진 종래 백 프로파게이션법의 가중치의 갱신량이 언급한 바와같이 도출된다.
반대로, 본 발명의 가중치 갱신량은 다음의 미분 방정식(23)을 기초로 한다.
이 미분 방정식을 차등근사하여 △W에 관해 푼다.
전전의 갱신 사이클시 가중치 갱신량에 관한 데이타 인자는 언급한 바와같이 도입된다.
방정식(23)은 외부적인 방해가 우변에 표시한 바와같이 일어날때 W에 관한 강제 진동계를 나타낸다. 그러므로, 그것은 강제 진동계의 이론으로 알려져 있다. 만약 J,M 및 D와 d가 적절하게 결정된다면, W는 진동을 받지않고 "0"으로 빠르게 적용된다.
그러므로, 본 발명을 사용하여, W에 상대하는 갱신량 △W는 강제계에서와 같이 "0"으로 빠르게 적용된다.
[발명의 최선의 실시형태]
본 발명을 실현시키기 위한 가중치는 갱신 규칙은 제7도에 도시한 바와같이, 본 발명의 학습처리는 흐름도에 상세히 설명되어 있다.
가중치의 학습요구서, 초기치는 단계 S1으로 도시한 바와같이 내부결합의 가중치로 설정된다. 초기화 처리는 종래에서와 같이 임의의 수(random number)로 결정된다. 이들 가중치값이 동일하거나 기본 유니트 1에 관해 대칭적일때 가중치는 백 프로파게이션법에 따라 변하지 않는다. 따라서 학습이 진행되지 않는다. 이것은 피해야 한다.
단계 S2에서,학습 패턴으로 등록된 입력신호와 교차 신호로 이루어진 한쌍이 선택된다. 단계 S3에서, 입력신호의 패턴은 계층형 네트워트 10의 중간층에서 기본 유니트 1로 입력된다. 따라서, 출력층에서 기본유니트 1로부터의 출력 신호는 계층형 네트워크 10의 데이타 변환 기능에 따라 출력될 수 있다. 방정식(6)은 "P패턴의 입력신호에 대한 j층 (출력층)의 j번 유니트의 출력"으로 "ypj" 를 나타낸다. 단계 S3에서, 출력층을 형성하는 각 기본 유니트 1의 출력 "ypi" 가 얻어진다. 더우기, 선택된 입력신호의 입력에 따라 출력되는 h층(입력층)의 출력 "yph"와 i층(중간층)의 출력 "ypj" 가 얻어진다.
언급한 바와같이, 학습 패턴의 입력신호에 대응하는 출력신호 "ypj" 가 얻어질때 "ypj" 사이의 오차 "δpj"와 선택된 교사 신호는 단계 S4에서 얻어진다. 즉, 입력신호에 대한 j층의 j번째 유니트에 대한 교사 신호가 "dpj"로 표시된다면 단계 S4에서 다음의 방정식이 산출된다.
ypj-dpi=δpi
다음 단계 S5에서, 다음 방정식은 단계 S4에서 얻은 "δpj"와 방정식(11)에서 단계 S3에서 얻은 "yph", "ypi,"ypj"를 사용함으로써 산출한다.
다음 방정식은 방정식(4)에 따라 산출된다.
즉, 방정식(7)로 정의되는 오차 벡터 "EP"가 가중치의 변화에 대응하여 어느 정도 변화하는 값을 구하는 것이다.
단계 S2에서, 단계 S3에서 S5의 처리가 종료되는 모든 예습의 학습 패턴의 입력 신호에 대해 확인한다. 다음, 처리는 단계 S6 로 진행하고, 단계 S7-S9의 처리는 초기치에서 시작하는 가중치값을 갱신하도록 실행한다.
단계 S7에서 다음의 방정식은 단계S5에서 얻은 값을 사용하여 산출한다. 방정식(15)에 따라,
또한, 다음 방정식(16)이 산출된다.
즉, 모든 입력신호에 대한 오차 벡터 EP의 합 "E"가 가중치 변화에 따라 어느 정도 변화하는 값을 얻는다. 연속적인 단계 S8에서 오차 벡터의 합 "E"를 감소시키는 가중치 갱신량Wji(t)와Wih는 다음 방정식으로 얻어진다.
단,는또는와 동일한 데이타 제어 파라미터고, t는 상기의 경우와 같은 갱신 회수를 나타낸다.
그것은 방정식에서 뚜렷하고, 본 발명에 적용되는 가중치 갱신량은 그것의 다음 항을 더함으로써 결정된다, 이것은 방정식(19)와 (20)에서와 종래 기술과 다르다.
"-βW(t-2-)"
이것은 현 시점의 갱신량이 얻어질때, 전 사이클 보다 앞선 갱신 사이클의 갱신량은 전 갱신 사이클에서의 갱신량을 기초로하여 현 시점에서 갱신량을 결정하는 대신 사용될 수 있다는 것을 의미한다. 그 이유는,이 구성은 가중치가 언급한 바와같은 강제 진동계를 사용하여 백 프로파게이션을 형성하므로써 단시간내 수렴할 수 있기 때문이다.
단계 S8에서, 가중치 생신량Wji(t)와Wih(t)가 얻어질때 단계 S9에서 새로운 가중치값은 다음의 방정식에 따라 얻는다.
Wji(t)=Wji(t-1)+Wji(t)
Wih(t)=Wih(t-1)+Wih(t)
이렇게 얻은 가중치값은 계층형 네트워크 10에서 상호 연결의 가중치로 결정된다.다음 단계 S10에서, 오차 벡터의 합계 "E"가 허용범위내인지 아닌지를 새롭게 결정하여 판단한다. 만약 그것이 허용범위내라고 판단되면 가중치 학습 처리는 종료되고, 그것이 허용범위 밖이라면 처리는 단계 S2로 되돌아 가고 가중치 갱신 처리가 계속된다.
언급한 바와같이, 본 발명은 가중치가 오차 벡터의 합 "E"를 줄이기 위해 벡 프로파게이션 시스템에서 학습될때 전의 갱신 사이클에 앞선 전전의 갱신량이 전회 갱신사이클의 갱신량에 부가하여 사용되어, 가중치 갱신값을 결정하는 것을 특징으로 한다.
제8도에서, 제4도에 도시한 학습 패턴이 사용될때 본 발명에 따른 학습 처리 회수가 제5도에 도시한 종래의 학습 처리 회수와 비교하여 도시되어 있다, β는 0.6을 결정하고 다른 조건은 제5도에 도시한 바와 같다. 그것은 제8도에서 뚜렷하게 나타나 있고, 본 발명에서 소망의 가중치는 종래 것보다 더 적은 학습처리 회수를 사용하여 얻는다. 오차 벡터의 합은 종래 보다 "0"근처로 되어 더 정확한 데이타 처리를 실현시킨다.
제8도에 도시한 학습 처리의 가중치 갱신량중에서, 본 발명의 가중치 갱신량은 제9도에 도시하였고 종래의 가중치 갱신량은 제10도에 도시하였다. 이들 3개의 도표로부터, 가중치 갱신량이 변환 후 단시간 동안 "0"에서 남아 있는 값을 나타내었다. 만약 가중치 갱신량이 "0"이 된다면 이것은 수렴 상태를 나타낸다. 이들 도표로부터, 가중치 가 종래 것보다 본 발명에서 더 빨리 수렴할 수 있음이 명백하다.
본 발명에 의해 실행되는 다양한 실험에서 변수 β가 네가티브로 결정되는 경우 보다 더 빠르게 가중치가 수렴됨이 확인된다. 그러나 변수 β가 네가티브로 결정되는 경우, 수렴은 종래보다 더 빠르게 된다.
다음 가중치 학습 수단의 실시구성을 설명한다. .
제11도는 본 발명에 따른 가중치 학습 수단의 실시 구성도를 도시하였다. 본 발명의 학습 알고리즘의 방정식(24)에 따라, 가중치 갱신량W는 전회의 가중치 갱신량W에 (t-1) 학습 파라미터를 곱한 것에 오차 E를 가중치로 편미분한 것, 즉, 가중치에 관한 오차의 편리분에 학습 정수-을 승한 것을 더하는 종래법에 또한 전 전회의 가중치 갱신량W(t-2)에 학습 파라미터 -β를 승한 것에 합으로 하여 표현된다.
이 학습 알고리즘은 제11도에 도시한 가중치 학습 수단으로 실행된다. 제11도에서 61은 가중치 데이타를 저장하는 가중치 데이타 메모리고, 62는 현재의 가중치 갱신량W를 저장하는 가중치 데이타 메모리고, 63은 전의 가중치 갱신량 데이타W(t-1)을 저장하는 가중치 데이타 메모리고, 64는 전의 가중치 갱신량보다 앞서 얻은 2개의 전의 가중치 갱신량W(t-2)를 저장하는 가중치 데이타 메모리, 65는 학습 정도 -를 저장하는 파라미터 레지스터이고, 66은 학습 속도 계수를 표시하는 학습 파라미터를 저장하는 파라미터 레지스터, 67은 학습 파라미터 데이타를 저장하는 파라미터 레지스터, 68은 전의 가중치 갱신량 보다 앞서 얻은 가중치 갱신량W(t-2)와 -β를 곱하는 승산기, 69는 전의 가중치 데이타의 갱신량W(t-1)과 학습 파라미터을 곱하는 승산기, 70은 현재의 가중치 갱신량W와 학습 파라미터을 곱하는 승산기이고, 71은 서로 승산 결과를 더하는 가산기이다. 가산기 71의 출력은 가중치 갱신량W이므로, 그것은 가중치W와W(t-1)의 차에 대응한다. 현재의 가중치값은 가중치 데이타 메모리 61에 저장되고, 2의 내용이 판독되고, 값 W(t-1)은 가산기 71의 출력W(t)에 더해져서 새로운 가중치값 W(t)를 얻는다. 그 가산은 가산기 72로 실행된다. 클리어 신호 81은 가중치 데이타 메모리 62,63,64를 클리어(clear)한다. 시프트(shift)신호는 가중치 데이타 메모리 62에서 가중치 데이타 메모리 63으로 가중치 데이타를 이동시키므로 갱신된 가중치데이타의 갱신량 W은 가중치 데이타 갱신량에서 전의 갱신량과 같게 된다. 시프트 신호는 가중치 데이타 메모리 63에서 가중치 데이타 메모리 62로 전의 가중치 데이타 갱신량W(t-1)을 이동시키므로 전의 가중치 데이타 갱신량W(t-1)은 전의 갱신량 보다 앞서 얻은 이전의 갱신량W(t-2)로 된다.
각 가중치 데이타 메모리 61,62,63,64를 액세스하게 하는 가중치 선택신호 83은 계층형 네트워크의 충번호, 층의 유니트 번호, 유니트에 입력되는 결합 브랜치의 결합 번호등의 정보로 형성된 어드레스 신호이다. 가중치의 판독 신호는 특정의 가중치 데이타를 읽어내는 가중치 데이타 메모리 61에 제공된다. 현재의 가중치W(t)85는 가중치 데이타 메모리 61로부터 판독된 가중치W(t)의 신호이다. 그것은 학습 알고리즘에 따른특정 가중치로서 데이타 메모리 61에 초기치를 써넣기 위해 필요하고 초기치 설정 신호의 제어신호는 86,즉, 초기치를 써넣기 위한 신호로 표시된다. 87은 그 시간에 가중치 데이타의 초기치의 데이타 이고, 써넣기 데이타이다. 제11도에 표시한 무개 갱신 신호 90은 타이밍 신호이고, 타이밍신호와 다른 신호가 심볼 D로 표시한 지연때문에 ①,②,③,④에서 생성된다. 그들 신호는 승산기 68,69,70에 제공되고, 신호 펄스①과 승산이 실행된다. 그 다음 승산 종료후, 지연 회로 73의 지연후 생성된 펄스 ②의 시간에서 가산기 71의 실행이 실행된다. 더우기 지연회로 24에 의해 야기된 지연이 있은후 생성된 펄스는 시간 ③에서 생성되고 가산 연산이 가산기 72로 실행되고, 가중치 갱신량은 가중치 데이타 메모리 62에 쓰여진다. 지연회로 75의 지연시간후 ④의 펄스 신호가 생성된다. 펄스 신호의 시간 ④에서 가중치 갱신량W(t)와 가중치 데이타W(t-1)의 가산 결과는 다음의 가중치 데이타 W(t)로서 가중치 데이타 메모리 61에 쓰여진다.
제11도에 도시한 가중치 학습 수단의 신호와 구성요소의 동작을 요약한다. 외부 회로와 인터페이스 유니트에서, 클리어 신호 81은 가중치 데이타 메모리의 0클리어를 실행한다. 시스트 신호 82는 가중치 데이타 메모리 62의 모든 내용을 가중치 데이타 메모리에 복사하고, 또한 가중치 데이타 메모리 62의 모든 내용을 가중치 데이타 메모리 64에 복사한다. 가중치 선택신호 83은 층번호, 유니트 번호와 결합번호를 사용하므로써 하나의 가중치를 결정한다. 가중치 읽어내기 신호 84는 가중치 데이타 메모리 61내의 특정의 가중치 데이타를 읽어낸다. 가중치 85는 가중치 데이타 메모리 61로부터 판독된 가중치 데이타이다. 초기 설정신호 86은 가중치 데이타 메모리 61에 소정 가중치의 초기치를 써넣는 신호이다. 초기치 87은 가중치 데이타 메모리 61에 소정 가중치의 초기치를 써넣는 데이타 신호이다. 편미분 88은 네트워크로 산출되는 가중치 갱신량 동작에 대해 사용되는의 데이타이다.
학습 파라미터 89는 -,,-β이고, 그것들은 각각 레지스터 65,66,67에 저장된다.
가중치 갱신 신호 90은 가중치 데이타 메모리 61,62내에 새로운 특정 가중치를 산출하기 위한 타이밍, ①,②,③ 및 가중치 데이타 메모리 61,62에 가중치를 써넣기 위한 타이밍③ , ④를 지정한다.
내부 모듈 유니트에서, 가중치 데이타 메모리 W(t)61은 어드레스로서 가중치 선택 신호 83을 사용함으로써 액세스되고, 가중치 읽어내기 신호 84에 따른 가중치 85로서 특정 가중치값을 출력한다. 가중치 데이타 메모리(W)t 61은 가중치 선택신호 83으로 어드레스되고, 초기치 설정신호 86에 따른 특정 가중치로서 초기치 87을 저장한다. 더우기, 가중치 데이타 메모리(W)t는 가중치 선택신호 83으로 어드레스(address)되고, 지연 75로부터 가중치 갱신 ④에 따른 특정 가중치로서 가산기 72의 출력을 저장한다.
가중치 데이타 메모리(W)t 62의 모든 내용은 클리어 신호 81로 클리어 되고, 가중치 선택신호 83에 의해 어드레스 된다. 그것은 지연 74로부터 가중치 갱신 신호 ③에 따른 특정 가중치로서 가산기 71의 출력을 저장한다.
가중치 데이타 메모리W(t-1) 63은 클리어 신호 81로 그의 모든 내용을 클리어한다. 가중치 데이타 메모리W(t-1) 63은 가중치 선택신호 83으로 액세스 되고, 승산기 69로 특정 가중치 갱신값을 출력한다. 가중치 데이타 메모리W(t-1) 64는 클리어 신호 81로 그의 내용을 클리어하고, 가중치 선택신호 83으로 어드레스된다. 그러므로 그것은 승산기 68로 특정 가중치값을 출력한다.
가산기 72는 지연 74로 부터의 가중치 갱신신호 ③ 에서 가중치 데이타 메모리 61의 출력과 가산기 71의 출력을 가산한 결과를 출력한다. 가산기 71은 지연 73으로부터의 가중치 갱신신호 ②에서 승산기 68,69,70의 출력을 가산한 결과를 출력한다.
승산기 68은 가중치 갱신신호 90의 입력 ①에서 파라미터 레지스터 67에 유지되는 -β와 가중치 메모리 64의 출력 가중치 갱신량W(t-2)를 곱하는 그 결과를 출력한다.
승산기 69는 가중치 갱신신호의 입력 ①에서 파라미터 레지스터 66에 유지되는 α와 가중치 메모리 63의 출력인 가중치 갱신량W(t-1)를 곱하고, 그 결과를 출력한다. 승산기 70은 가중치 갱신 신호 90의 입력 ①에서 파라미터 레지스터 65에 유지되는 -ε과 편미분 88을 곱하고, 그 결과를 출력한다.
파라미터 레지스터 65는 학습 파라미터 89의 입력으로부터 선택된 -ε을 저장한다.
파라미터 레지스터 66는 학습 파라미터 89의 입력으로부터 선택된 α를 저장한다.
파라미터 레지스터 67는 학습 파라미터 89의 입력으로부터 선택된 -β를 저장한다.
지연 73은 가중치 갱신 신호 90을 입력시키고, 한타이밍 지연된 신호를 형성한다.
지연 74는 지연 73으로부터 출력 ②를 입력시키고 한 타이밍 지연된 신호를 형성한다.
지연 75는 지연 74의 출력 ③을 입력시키고, 한 타이밍 지연된 신호를 형성한다.
시프트 수단 91은 시프트 신호 82에 따라 가중치 데이타 메모리 63으로 가중치 데이타 메모리 62의 모든 내용을 복사한다.
시프트 수단 92은 시프트 신호 82에 따라 가중치 데이타 메모리 64로 가중치 데이타 메모리 63의 모든 내용을 복사한다.
가중치 갱신수단의 동작을 지금부터 설명한다. 가중치 갱신수단은 초기 설정된 및 가중치를 호출하고, 가중치를 갱신한다. 초기 설정시에는 클리어 신호 1을 턴온(turn on)시키고, 가중치 메모리 62,63,64의 내용을 0으로 한다. 가중치 선택신호 83과 초기치 87을 설정한 후 초기치 설정신호 86은 턴온되고 가중치 데이타 메모리 61에서 가중치 선택신호 83으로 지정된 가중치 내용이 초기치 87로 제공된 값으로 결정된다.
모든 층, 유니트 및 결합에 대한 상기 동작을 실행하므로써 가중치 데이타 메모리 61의 내용이 초기화된다.
더우기, -,와 -β는 학습 파라미터 89에 -,,-β를 제공하므로서 파라미터 레지스터 20,21,22에 저장된다.
가중치는 다음과 같이 갱신된다.
가중치 선택 신호 83과 편미분 88을 설정한 후, 가중치 갱신 신호 90은 턴온되고 다음 동작이 시작된다.
(①,②,③,④는 타이밍을 표시한다)
① 승산기 68은 가중치 데이타 메모리 64내의 지정된 메모리와 파라미터 레지스터 67의 값의 곱 -βW(t-2)를 얻는다.
① 승산기 69는 가중치 데이타 메모리 63내의 지정된 가중치와 파라미터 레지스터 66의 값의 곱 W(t-1)을 얻는다.
① 승산기 70은 편미분 88과 파라미터 레지스터 65의 값의 곱을 얻는다.
② 가산기 70은 승산기 68,69,70의 출력의 합을 얻는다. 이것은 새로운W(t)이다.
② 가중치 읽어내기 신호 84는 타이밍에 따라 외부적으로 제공된다.
③ 가산기 72은 가중치 데이타 메모리 61의 지정된 가중치와 가산기 71, 즉, W(t)의 합계 W(t-1)+W(t)를 얻는다.
③ 가산기 71의 출력W(t)는 가중치 데이타 메모리 62의 지정부분에 기록된다.
④ 가산기 72의 출력, 즉, 새로운 가중치 W(t)는 가중치 데이타 메모리 61의 지정부분에 기록된다.
상기 동작은 모든층, 유니트와 결합에 대해 실행되고, 가중치 데이타 메모리 61,62의 내용이 갱신된다. 시프트 신호 82를 턴온 하므로써 시프트 수단 91,92는 가중치 데이타 메모리 63,64에 가중치 데이타 메모리 62,63의 내용을 복사한다.
제12도는 가중치 데이타 메모리 61,62,63,64의 실시 구성도이다. 가중치 데이타 메모리 RAM 93을 포함한다. 써넣기 신호가 액티브될때 써넣기 신호는 지정된 어드레스에 저장되고, 읽어내기 신호가 액티브될때 RAM 93에 저장된 가중치 데이타는 읽어내기 데이타로서 지정된 어드레스로 부터 출력된다. 어드레스 신호는 셀렉터(selector) 94, 즉, RAM 93에서 디코더를 통하여 제공된다. 어드레스 레지스터 95는 셀렉터94의 입력부에 제공된다. 도시된 바와같이, 계층형 네트워크에서의 층번호, 층의 유니트 번호와 유니트에 여결된 결합 브랜치의 결선 번호는 어드레스 레지스터 95에 설정된다. 층 번호, 유니트 번호와 결선 번호로 지정된 가중치 데이타 RAM 93에 기록되고, 그로 부터 판독된다. 가중치 데이타의 내용은 메모리 61의 경우에는 가중치 데이타 RAM 93에 기록되고, 그로 부터 판독된다. 가중치 데이타의 내용은 메모리61의 경우에는 가중치 데이타 W(t)이고, 메모리 62의 경우에는 가중치 갱신량W(t)이고, 메모리 63의 경우에는 전의 가중치 갱신량W(t-1)이고, 메모리64의 경우에는 그 이전의 가중치 갱신량W(t-2)이다. 가중치값, 갱신량, 전의 갱신량과 그 이전의 가중치 갱신량은 결합 브랜치와 동일한 어드레스에 저장된다. 도시한 바와 같이, 층 번호, 유니트 번호와 결선 번호등의 모든 가중치 선택신호는 공통 어드레스 라인에 연결된다. 가중치 학습 수단은 클리어 신호, 시프트 신호, 가중치 선택신호, 가중치 읽어내기 신호, 초기치 설정 신호, 초기치, 학습 파라미터, 가중치 갱신 신호와 외부적 오차 무게에 관한 편미분를 수신하고 가중치 학습 수단의 출력은 가중치 데이타 메모리61로 부터 W(t)를 읽어낸다.
제13도는 본 발명의 시스템 구성의 실시예를 도시하였다, 제13도에서, 96은 가중치 학습 수단의 블록도(제6도와 11도에서 50에서 대응이고, 97은 학습형 네트워크고, 98은 네트워크의 입력층에 인가되는 입력신호를 유지하는 입력신호 유지부이고, 99는 교사 신호를 오차 산출수단에 제공하는 교사 신호 유지부이다. 학습 패턴 유지수단 100은 입력신호 유지수단 98과 교사 신호 유지수단 99로 이루어졌다. 네트워크의 출력은오차 산출부 101에 제공되고, 교사 신호 유지수단 99의 교사 신호와 네트워크의 출력간의 오차가 산출되고,오차의 가중치에 관한 편미분가 출력되고, 가중치 학습 수단 96에 제공된다. 전체 시스템은 주 제어회로 102에 의해 제어된다. 주 제어 회로는 가중치 학습 수단 96에 제공된 제어신호, 오차 산출수단 101에 제공된 오차 산출신호, 오차 클리어 신호, 편미분 선택신호, 네트워크 97에 제공된 실행신호, 입력신호 유지부 98에 제공된 패턴 선택신호를 출력한다. 이시스템에서 주 제어 회로 102는 다음과 같이 동작한다. 제14도는 주 제어 회로 101의 동작을 설정하는 흐름도이다. 전체의 흐름은 가중치 갱신의 초기치 설정과 학습 처리를 나타낸다. 초기 설정시에는, 클리어 신호 81은 턴온(SI)되고, 가중치 데이타 메모리 61,62,63의 내용은 클리어 된다(S12). 가중치 선택신호 83과 초기치 87이 설정된 후, 초기치 설정신호 86은 턴온되고 초기치 87은 가중치 데이타 메모리 61의 어드레스에서 설정된다. 이 어드레스는 가중치 선택신호로 지정된다. 이 동작은 층 유니트의 모든 결선에 대해 실행된다. 만약 가중치 읽어내기 신호 84가 동시에 턴온되면 그것은 가중치 데이타에 지정된 가중치를 판독하는 것이 가능하다(S13-S16).
S17에서, 주 제어 회로는 학습 파라미터를 제공하고, 오차 클리어 신호를 턴온시키므로 오차 산출부100의 현재의 오차는 0으로 된다. 그러므로 학습 처리가 시작된다.
첫째, 네트워크 97에 입력신호를 제공하기 위하여 주 제어 회로 102는 패턴 선택신호를 설정하고, 실행신호를 설정하므로써 네트워크 97의 출력을 얻는다(S20과 S21). 이 경우에, 가중치 학습 수단 96은 네트워크에 초기 가중치 데이타를 제공한다. 그러므로 네트워크 97은 입력층, 중간층과 출력층을 통하여 얻은 출력 신호를 오차 산출 수단에 제공한다. 주 제어 회로 102는 교사 신호 유지부 99로 부터 제공된 패턴 선택신호를 통하여 설정된 교사 신호를 출력하고, 교사 신호를 오차 산출수단 101에 제공한다. 오차 산출수단 101은 오차를 산출하고, 편미분을 산출한다 (S22). 이것은 편미분 88을 통하여 가중치 학습 수단 96에 제공된의 값을 형성한다. 가중치 학습 수단 96의 가중치 갱신 동작은 그다음 실행된다.
주 제어 회로 102는 가중치 선택신호와 편미분 선택신호를 설정하므로 가중치 메모리에 대한 어드레스 신호와 산출수단으로 부터의 값은 가중치 학습 수단(S24와S25)으로 설정된다.
다음, 가중치 갱신 신호 90이 제11도에 도시한 바와같이 제공되고, 곱셈도 실행된다. 덧셈은 가중치 데이타를 갱신하기 위해 실행되고, 가중치의 써넣기 제어도 실행된다(S16). 그다음 가중치 읽어내기 신호 84가 턴온되고 새롭게 갱신된 가중치 데이타 W(t)는 가중치 데이타 메모리 61에 저장된다. 그 동작은 모든 결합 브랜치의 가중치에 관해 실행된다. 전체 네트워크에 대한 가중치 갱신을 종료한 후(S23), 주 제어 회로102는 시프트 신호 82(S27)를 설정하고 가중치의 갱신량, 즉,W(t)와W(t-1)을 시프트하므로 동일내용은 가중치 데이타 메모리W(t-1)과W(t-2)의 가중치 데이타 메모리 64의 동일 어드레스에 기록된다. 이 목적에 대하여 시프트 신호 82가 설정된다. 가중치 데이타 메모리의 복사 동작이 종료될때 학습이 완료되었는지를 체크하기 위하여 처리는 S28로 진행된다. 만약 그것이라면 처리는 종료되고, 그것이 아니라면 흐름도에 도시한 루프선을 통하여 학습처리의 시작점으로 되돌아가고, 같은 동작이 반복된다.
본 발명에 따른 학습 알고리즘(제7도)에서, 신호의 피이드 포워드 프로파게이션(feed forward propagation)은 아래에 서술한 아날로그 뉴론 프로세서 네트워크에 의해 실행된다. 신호 오차의 백 프로파케이션의 주요한 부분은 아날로그 뉴론 프로세서 네트워크를 제어하는 호스트 컴퓨터의 소프트웨어로 실행되고, 가중치 갱신 부분은 제11도에 도시한 하드웨어 가중치 학습 수단으로 실행된다. 이 경우에, 제11도에서 가중치 데이타 메모리 61은 가중치 메모리(제28도에서는 150e,185,186)에 대응하고, 데이타 읽어내기가 연속적으로 실행된다. 다른 가중치 데이타 메모리 62,63,64는 가중치 데이타 메모리로서 같은 메모리 방법을 실행하고, 연속적인 어드레스에서 가중치 데이타의 각 비트를 저장하는 연속의 읽어내기, 써넣기 형태의 메모리다. 말할 것도 없이, 가중치 데이타 메모리 61,62,63,64는 병렬 리드라인(parallel read line) 형태의 메모리를 구성한다.
본 발명의 학습 알고리즘(제7도)의 신호 오차의 백 프로파게이션과 가중치 갱신동작은 아래에 서술한 뉴론 프로세서 네트워크를 제어하기 위한 호스트 컴퓨터의 소프트웨어로 실행된다.
본 발명의 학습 알고리즘(제7도)의 신호 오차의 백 프로파게이션과 가중치 갱신 동작은 아래에 서술한 뉴론 프로세서 네트워크를 제어하기 위한 호스트 컴퓨터의 소프트웨어로 실행된다.
본 발명의 학습 알로리즘을 실행하는 아날로그 뉴론 프로세서(ANP)와 2의 계층형 네트워크 구성을 지금부터 설명하려고 한다.
제15a도는 제6도에 도시한 기본 유니트 1-i, 1-h와 1-j가 본 발명에 제공된 뉴론 칩으로 구성된 아날로그 뉴론 프로세서(ANP) 105로 구성될때 뉴론 칩의 듀얼-인라인(dual-inline)패키지의 개략도이다. Mb4442로 불리워지는 이 패키지는 뉴론 모델 처리를 실행한다. 내부의 임계치 처리부는 시그모이드(sigmoid)함수를 실행하므로써 얻어진다. ANP로 불리우는 아날로그 뉴론 칩은 아날로그 데이타를 입출력하는 디바이스다. 제15b도는 본 발명의 ANP의 내부 구성도이다. 제15b도에 도시한 바와같이, ANP 105는 아날로그 버스 B1과 아날로그 버스 B2간에 연결되고 ANP 105는 입력 아날로그 신호와 가중치를 곱하는 아날로그 승산부 106, 곱의 합을 얻는 아날로그 가산부 107, 합을 유지하는 샘플/홀드(sample/hold)부 108과 시그모이드 합수의 값을 출력하는 비선형 함수부 109로 이루어졌다. 제15a도에 도시한 ANP 105의 각 단자는 다음과 같다. ANP 105의 내부 구성은 아날로그 회로부와 디지탈 회로부로 이루어졌다. -6V와 -6V 단자는 아날로그 회로부의 연산증폭기에 전력을 공급하기 위하여 전원단자에 연결된다. 단자 Din과 Dout는 아날로그 신호를 각각의 입출력한다. 단자 AGND는 아날로그 회로부의 접지이다. 단자 Rt+ 와 Rt-는 아날로그 회로부에 집적회로를 구성하는 외부 저항 R 의 단자이고, 단자 ct+와 ct-는 집적회로를 형성하는 외부 캐패시터 C의 단자이다. 단자 DGND는 디지탈 회로부의 접지단자다. +5V 단자는 디지탈 회로부의 전원단자고, RST는 적분회로의 캐패시터의 방전을 리셋팅하는 리셋(reset)단자고, 단자 CSI와 CSO는 데이지 체인 제어신호를 각각 입출력하는 단자고, DC는 오프셋 캔슬링(offset cancelling)제어신호를 수신하는 단자고, S/H는 샘플/홀드 제어신호를 수신하는 단자고, 단자 SYNC는 각 층의 처리를 동기화하는 동기 신호 단자고, DCLK는 아날로그 입력신호를 처리하는 기본 클럭 단자고, WCLK는 디지탈 가중치 데이타를 얻는 클럭단자고, WD는 비트 시리얼형에 데이타는 입력시키기 위하여 디지탈 가중치 데이타의 단자다.
제16도는 본 발명의 아날로그 뉴론 프로세서(ANP)의 원리 구성도이다.
분리형 ANP(도시하지 않음)로부터 시분할 방식으로 전송된 아날로그 입력신호는 아날로그 버스 b1을 통하여 ANP 105내의 아날로그 승산부 106에 입력된다. 아날로그 승산부 106은 시프트 레지스터 114로 부터 비트 시리얼(bit serial)형태로 수신된 디지탈 가중치 데이타 WD와 아날로그 입력 데이타를 곱하고, 직병렬 변환을 받아 아날로그 입려신호와 디지탈 가중치 데이타의 곱을 표시하는 곱신호를 제공한다. 아날로그 가산기 107은 외부 저항 R과 캐패시터 C를 포함하는 밀러(Miller)집적회로로 이루어졌고, 아날로그 버스 B1에 연결되고 전단(Pre-stage)에 제공된 다수의 ANP(ANP가 존재하는 위치를 노드라고 부른다)로 부터의 시분할 방식으로 전송된 아날로그 입력신호로 부터 얻은 곱신호와 더미노드로 부터 전송된 임계치에 대한 아날로그 입력신호로 부터 얻은 곱신호의 합을 얻는다. 다음, 곱신호는 소정시간 주기동안 샘플/홀드부 108로 홀드되고, 샘플/홀드된 출력은 비선형 함수부 109를 통하여 변환된다. 출력 제어부 113은 시퀸스 제너레이터 116의 제어하에 소정시간 주기동안 비선형 함수부 109의 출력을 지연시킨다.아날로그 출력신호 Dout는 아날로그 버스 B2에 출력된다. 시퀸스 제너레이터 116은 이 컴퓨터 시스템 내부에 공급되는 제어신호를 생성한다. 위상 제어부 115는 스위치가 ANP내의 아날로그 회로부에 연결되고 디지탈 회로부가 턴온 그리고 턴오프를 확실히 하도록 제어신호의 위상을 제어한다. 특히, 첫번째 스위치가 턴온되고 두번째 스위치가 턴오프될때 제어신호의 위상은 동시에 턴온되는 첫번째 와 수번째 스위치들을 방지하기 위해 제어한다.
스퀀스 제너레이터 116은 뒤에 언급될 마스터 제어 블록으로 부터 RST, DCLK, WCLK, SYNC, S/H,OC,CSI신호를 수신하고 CSO를 출력하여 ANP내의 제어신호를 구성한다.
뉴론 네트워크는 병렬처리하여 고속 동작을 실행하도록 요구한다. 본 발명은 시분할 데이타를 사용하나, 정상상태의 ANP는 병렬 파이프라인 처리를 실행한다. 이상적인 뉴론 네트워크는 각 뉴론간의 상호 결합하기 위한 결선(connection wire)이 필요하다. 따라서, 상기 구성은 많은 배선을 요구한다. 본 발명은 시분할 데이타를 다룬다. 따라서, 각 ANP내의 곱의 합처리에 요구되는 시간은 점점 길어진다. 그러나, 각 ANP들은 수직, 즉, 층들의 방향으로 서로 병렬로 구성된다, 그러므로 한 층내의 ANP의 병렬 처리가 실행되어 처리시간이 감소한다. 게다가 전체의 처리 시간을 감소시키는 파이프라인 처리가 가능하다. 아날로그 버스에 연결된 세개의 ANP에 의해 동시에 그리고 병렬로 입력이 수신될때, 각 ANP는 아날로그 입력과 가중치의 곱을 산출한다. 이들 곱은 각 ANP의 적분기의 캐패시터에 전하로 유지된다. 그 다음 시간 주기에서, 각 ANP는 같은 아날로그 버스로 부터의 아날로그 입력과 가중치의 곱을 산출한다. 이들 곱은 적분기의 캐패시터에서 전 시간 주기에 결정된 그것들에 더해진다. 전단의 모든 ANP로 부터의 아날로그 입력신호와 가중치의 곱의 합이 산출될때, 그 합은 샘플/홀드이다. 그후에, 샘플/홀드 신호는 CSI 제어신호의 입력에 따라 시그모이드 함수를 통하여 출력된다. 출력완료시, CSI는 하강하고, 일정시간 지연후 CSO는 상승하여 동일층 내의 인접 뉴론 칩의 ANP에 출력 버스의 사용권을 제공한다.
본 발명은 실시예에 따라 상세히 설명한다.
제17도는 뉴론 칩(ANP)의 기본 유니트의 실시예를 나타내는 블록도이다. 승산부 106, 가산부 107과 임계치 처리부 109는 연속 뉴론 모델의 실행부를 구성한다. 출력 유지부 117이 또한 제공된다. 기본 유니트 105에 연결된 다수의 입력은 Yi와 Wi로 각 연결에 대응하여 결정된 가중치로 표시된다. 승산부 106은
Yi·Wi
를 산출하고, 가산부 107은
x=Yi·Wi-θ
를 산출한다. 단, θ는 임계치고, 임계치부 109의 최종 출력은 Y이고, 다음의 방정식이 산출된다.
Y=1/(1+exp(-x))
가중치 "-θ"는 더미 노드부로 부터 입력된 값 "+1"을 곱한다. 그 결과 "x-θ"는 가산부 107로 부터 출력된다. 그러므로, 임계치부 109는 S 특성 곡선을 사용하여 변환을 실행한다.
승산부 106은 승산형 D/A변환기 106A를 포함한다. 전단층의 기본 유니트 105와 뒤에 언급될 더미 노드회로의 아날로그 신호(입력스위치 118을 통해 입력됨)는 디지탈 신호의 가중치 정보(뒤에 언급될 가중치 홀딩부 119를 통해 입력됨)을 곱하고, 그 결과의 곱은 아날로그 신호로 출력된다. 가산부 107은 적분기를 구성하는 아날로그 가산기 107a와 아날로그 가산기 107a의 가산결과를 홀딩하는 홀딩회로 107b를 포함한다.
승산형 D/A변환기 106a는 D/A변환기 106a의 기준 전압 단자에서 아날로그 입력신호와 디지탈 입력신호로서 각 디지탈 입력단자에서 가중치의 각 비트를 수신하고, 가중치와 아날로그 입력신호를 곱한다. 아날로그 가산기 107a는 전의 타이밍에서 얻은 가산값을 승산형 D/A변환기 106a의 출력 곱을 더하고, 홀딩회로 107b에서 유지하여 새로운 가산값을 제공한다.
홀딩회로 107b는 아날로그 가산기 107a에 의해 얻은 가산값을 유지하고 전의 가산값으로 아날로그 가산기 107a에 값을 유지한다. 이들 가산 처리는 제어회로 103으로 부터 출력된 가산 제어회로로 등기화되어 실행된다. 임계치부 109는 아날로그 함수 발생회로로 이루어진 비선형 함수 발생회로 109a를 구성한다. 그것은 입력에 응하는 시그모이드 함수와 같은 비선형 신호를 출력한다. 곱셈 결과의 누적이 완료될때, 임계치(-θ)의 가산을 포함하고, 시그모이드 함수의 연산처리는 홀딩회로 107b에서 유지되는 가산값 x에 임계값(-θ)을 더하므로서 실행되어 아날로그 출력값 Y를 제공한다. 출력 유지부 117은 샘플/홀드 회로로 이루어졌고, 후단층의 기본 유니트 105의 출력과 비선형 함수 발생기 109A로 부터 아날로그 신호의 출력값 Y를 유지한다.
출력 스위치 113은 제어회로 103으로 부터 출력 제어신호를 수신하는 동안 소정 주기동안 턴온된다. 최종출력은 출력 유지부 117에서 유지되고 아날로그 버스 B2에 출력되어 처리된다. 제어회로 103의 입력 제어 신호는 아날로그 출력이 전단층에서 기본 유니트 105의 최종 출력으로 부터 전송될때 입력신호를 수신하여 입력 스위치부 118을 턴온시킨다. 가중치 유지부 119는 패러랠 아우트(parallel out)시프트 레지스터를 포함한다. 가중치 메모리부로 부터 전송되어 오는 비트 시리얼의 가중치 신호가 버퍼 119a의 게이트가 (오픈 제어회로 103에 의한 가중치 입력 제어신호가 온)될때에 이 가중치를 승산기 106이 필요로 하는 비트 병렬의 가중치로서 유지하는 것이다. 비트 병렬 가중치 데이타는 승산 제어신호가 제공될때 승산부에 제공된다. 디지탈 회로부의 제어회로 103에 의한 가중치 입력 제어신호가 온)될때에 이 가중치를 승산기 106이 필요로 하는 비트 병렬의 가중치로서 유지하는 것이다.비트 병렬 가중치 데이타는 승산 제어신호가 제공될때 승산부에 제공된다. 디지탈 회로부의 제어회로 103은 외부 동기화신호를 기초로 회로 내부에서 동기화 신호를 생성하고 회로 내부의 아날로그 처리의 기능을 실행한다.
상기 구성에서와 같이, 제17도에 도시한 아날로그 처리와 기본 유니트의 입출력신호는 아날로그 신호를 사용함으로써 실현될 수 있다. 승산형 D/A변환기 106a는 병렬로 디지탈 신호의 가중치 데이타를 수신할것이고, 시리얼 데이타로서 그들을 수신한 후 가중치 데이타를 패러랠 데이타로 변환시킨다. 만약 가중치데이타가 아날로그 신호로 구성된다면, 아날로그 승산 회로는 승산형 D/A변환기 106a대신 사용될 것이다.
제18a도에 도시한 계층형 구성은 제17도에서 본 발명의 ANP를 사용하므로써 표시된다. 독립 아날로그 버스들 B1,B2와 B3는 각 층들 사이, 즉, 입력층과 중간층 사이, 중간층과 출력층 사이, 제8B도에 도시한 출력층에 제공된다. 모든 수직 ANP는 병렬로 동작한다. 샘플 홀드회로S/H는 출력층의 출력에 제공된다.
제19도는 본 발명의 실시예의 구성도이다. 입력측 회로 120은 입력층에 대응하고, 121은 계층형 네트워크의 기본 단위를 구성하는 아날로그 뉴론 프로세서 ANP, 즉, 기본 유니트를 나타낸다. 121-h는 중간층을 구성하는 다수의 기본 유니트를 나타낸다. 3개 이상인 경우에 121-h 중간층의 한개 단 또는 복수단을 구성하는 다수의 기본 유니트를 나타내고, 121-i는 출력층을 형성하는 하나 또는 다수의 기본 유니트를 나타내고, 121-j는 출력층회로를 도시하였다. 전기적 연결은 기본 유니트 121-h와 기본 유니트 121-i 사이, 2개의 기본 유니트 121-i 사이, 기본 유니트 121-i 와 기본 유니트 121-j 사이에 형성된다. 130으로 표시된 계층형 네트워크는 각 연결로 결정된 가중치를 기초로 형성한다.
기본 유니트 121은 최소한 승산부 122, 가산부 123, 임계부 124를 갖는다. 더우기, 그것은 어떤 경우에 출력 유지부 125로 출력된다. 승산부 122는 대응 가중치와 다수의 유니트를 수신하고 승산을 행한다. 가산부 123은 승산부 122에서 얻는 전단충의 기본 유니트 121의 승산결과를 모두 더한다.
임계부 124는 비선형 임계치 함수에 유니트 123을 더하여 얻은 가산결과를 변환시키고, 최종출력을 산출한다. 출력유지부 125가 제공될때 임계치부 124에서 얻은 최종출력이 유지된다. 기본 유니트 121에서의 입출력은 아날로그 신호에 의해 실현된다.
140은 아날로그 버스고 입력층과 중간층(140-a)의 최전단 사이, 중간층(140-b)들 사이, 중간층의 최종단과 출력층(140-c)사이의 공통선을 형성한다. 150은 계층형 네트워크 130에 제어 데이타를 전송하는 주제어 회로고, 구동 유니트 선택수단 151, 가중치 설정수단 152, 임계치 처리 기동수단 153, 출력값 송신수단 154가 150에 제공된다.
이 실시예에서, 구동 유니트 선택수단 151은 전단층의 기본 유니트 121을 순차적으로 선택한다. 출력값 송신수단 154는 선택 처리와 동기화되고, 선택된 기본 유니트 121에 의해 유지되는 아날로그 신호의 최종출력은 아날로그 버스 140을 통하여 시분할의 송신 형식에 따라 후단층의 기본 유니트 121에 입력되어 처리된다. 이 입력이 수신될때, 후단층의 기본 유니트 121의 승산부 122는 가중치 설정수단 152에 의해 결정되는 가중치, 전단층의 기본 유니트 121에 연결되어 대응하는 가중치를 순차적으로 선택하고, 입력신호와 가중치에 대한 승산 처리를 실행한다. 가산부 123은 승산부 122로 얻은 승산 결과를 순차적으로 더한다. 전단층에서 기본 유니트 121의 모든 곱의 합 처리가 종료됨이 확인될때 임계치 처리 기동수단 153은 비선형 임계치 함수 f를 사용함으로써 신호를 변환하는 처리를 행한다. 따라서 기본 유니트 121은 f(x-θ)을 출력한다. 후단층이 새로운 전단층이 되고, 같은 처리가 다음의 후단층에 대해 반복된다. 이 다음의 전송 방식 때문에, 입력 패턴에 대응하는 출력 패턴은 계층형 네트워크의 출력층으로 부터 출력한다. 다수의 기본 유니트 121을 계층적으로 연결하여 형성된 네트워크 구성, 데이타 처리장치의 실시예를 도시하였다. 이 실시예는 유니트 외부에 각 기본 유니트 121에 제공된 가중치를 일시적으로 홀드하고, 주 제어 회로의 순서로 CSI제어를 행한다. 이 실시예에서, 계층형 네트워크의 층 구조간 전기적 연결은 단일 공통 아날로그 버스 140으로 실현된다. (a-c는 식별자로서 아날로그 버스에 부착된다) 따라서, 기본 유니트 121의 출력 스우치부 113으로 부터 출력된 최종값은 아날로그 신호의 출력모드에 출력되도록 구성되는 반면에 최종 출력값은 다음의 단층에 위치한 기본 유니트 121에 입력된다. 입력층은 h층으로 표시되고, 금지층은 i, 출력층은 j로 표시된다.
제20도에서 가중치 출력 회로 161은 각 기본 유니트 121에 대해 제공되고, 기본 유니트 121의 가중치 유지부 119에 대한 가중치를 출력한다. 가중치 신호선 162는 가중치 유지부 119를 통하여 가중치 출력회로 161의 출력에 연결되고, 입력 패턴의 수에 따라 입력측 회로 120을 제공하고(a-n은 식별자로서 초기 신호 출력회로에 부착될 것이다) 입력 패턴으로서 계층형 네트워크의 입력층에 초기 신호를 출력한다. 동기 제어 신호선 164(A-D는 식별자로서 동기 제어 신호선에 부착될 것이다)는 CSI를 포함하고, 가중치 출력 회로 161, 입력측 회로 120 및 기본 유니트 121의 제어회로 103에 전송 데이타의 제어를 실행하는 주 제어 회로 150으로 부터 동기 제어신호를 전송한다. 동기 제어 신호선 164는 도면에서 공통선으로 표시되나 개별 신호선으로서 주 제어 회로 150으로 부터 각 회로에 연결된다.
제21도는 주 제어 회로 150의 시스템을 상세히 나타내고 있다.
주 제어 회로 150은 외부 버스 인터페이스 회로 150a, 마이크로 코드 메모리 150b, 프로그램 시퀀서 150c, 제어 패턴 메모리 150d와 가중치 데이타 메모리 150e로 이루어졌다. 외부 버스 인터페이스 회로 150a는 메인 버스 150x를 통하여 호스트 컴퓨터 150y와 외부 기억장치 150z에 연결되고, 호스트 컴퓨터 150y로 부터 동작 지시를 받는다. 마이크로 코드 메모리 150b는 시퀀서 150c의 동작을 한정하는 마이크로 코드를 기억한다. 프로그램 시퀸서 150c는 마이크로 코드 메모리 150b내의 마이크로 코드에 따라 제어 패턴 메모리 150d와 가중치 데이타 메모리 150e를 제어한다. 제어 패턴 메모리 150d는 입력측 회로 120과 초기층, 중간층 또는 숨겨진 층(hidden lager), 및 출력층 각각의 기본 유니트 121에 연결된 출력 신호선을 갖는다. 그것은 각각의 세트, 즉, 프로그램 시퀀서 150c의 지시에 따라 시분할법으로 입력층, 중간층, 출력층 또는 기본 유니트 121과 입력측 회로의 각 세트를 선택하기 위하여 출력 신호선을 온 또는 오프시킨다.
가중치 데이타 메모리 150e는 각 가중치 출력회로 161에 디지탈 데이타의 가중치를 제공하므로서 프로그램 시퀀서의 지시에 따라 시분할 입력신호는 동기되는 가중치로 각 기본 유니트 121을 제공한다. 호스트 컴퓨터 150y는 MPU와 주기억장치를 포함하고, 백 프로파게이션등의 학습 알고리즘에 의해 가중치를 결정하고, 입력 패턴 Y1를 제공한다. 외부 기억장치는 뉴론 컴퓨터를 형성하는 데이타를 기억한다.
제20도에 도시한 실시예의 동작은 제22도에 도시한 타이밍 챠트를 참조하여 다음에 설명한다.
출력패턴에 대한 변환 요구가 메인 버스 150x를 통하여 호스트 컴퓨터 150y에 의해 제공되고, 주 제어 회로 150은 입력측 회로 120에 순차적으로 순환적으로 출력 제어신호를 전송하고 순차적이고 순환적으로 다수의 입력측 회로 120을 선택한다. 즉, 주 제어 회로 150은 각 입력측 회로 120에 대한 동기 제어신호를 순차적으로 온하여 프로그램 시퀀서 150c의 지시에 따라 제어 패턴 메모리 150d로 부터 입력측 회로 120을 순차적으로 선택한다. 아날로그 버스를 통해 초기 신호 출력회로 120a에 입력 패턴 Y1을 출력시키고, 다른 동기 제어신호 164A 를 오프시키기 위하여, 주 제어회로 150은 입력측 회로 120a의 게이트를 오픈 시키어 n번 동기 제어신호으로부터 선택된 동기 제어신호(CSI)선 164a(그림에서 164a-1로 도시함)만이 온된다. 다음 아날로그 버스 140a에 입력측 회로 120b의 입력 패턴 Y2를 출력시키고 다른 동기 제어신호선 164a를 오프시키기 위하여, 주 제어회로 150은 입력측 회로 120b의 게이트를 오픈시키어 동기 제어신호선 164a(164a-2로 도시함)만을 온시킨다. 다음의 동작은 언급한 바와 같이 행하여진다. 입력측 회로 120n의 입력패턴 Yn이 아날로그 버스 140a로 출력될때까지 주 제어회로 150은 동기 제어로 ON과 OFF 동작을 행한다. 입력층 h에서 각 기본 유니트 121의 각 가중치 출력회로 161에 가중치를 제공하기 위하여 주 제어회로 150은 동기 제어신호선 164a의 ON동작과 동기되어 동기 제어신호선 164b를 통하여 각 가중치 출력회로 161에 대한 가중치 데이타 메모리 150e의 출력을 동시에 세트한다.
제22a도에서, 동기 제어신호선 164a의 동기 제어신호는 Y1출력 제어신호(i=1-n)로 표시되고, 입력측회로 120은 순차적이고 순환적으로 선택된다. 이 도면에서, n은 입력측 회로 120은 갯수를 나타낸다. 언급한 바와같이 입력측 회로 120은 h층과 입력측 회로 120a사이에 제공된 입력 패턴 대 아날로그 버스 140(도면에서 입력층 아날로그 버스 140a로 표시)으로 제공된 아날로그 신호 Y1를 전송한다. 이 입력 패턴은 호스트 컴퓨터 150y를 통하여 제공된다. 제20a도에 도시한 바와같이, 아날로그 신호 Y는 순차적으로 입력층 아날로그 버스 140a에 전송된다. 아날로그 신호 Y1의 갯수는 입력측 회로 120의 그것에 대응한다. 초기입력 패턴 Y1와 다음의 입력패턴 Y1는 잇따라 반복적으로 전송된다.
h층에서 각 기본 유니트 121의 승산 처리부 122는 전송된 아날로그 신호 Y1를 수신하고, 산술연산(Y1,W1)를 실행하는 주 제어회로 150으로 세트된 가중치 유지부 119의 가중치 W1를 사용한다. 이 가중치 W1는 제7도에 도시한 학습 알고리즘과 백 프로파게이션법에 따라 MPU에서 이미 결정되고, 제11도에 도시한 학습 수단과 백 프로파게이션법에 의해 MPU에서 결정되는 것으로 기대된다.
제22b도에 도시한 바와 같이, 주 제어회로 150은 입력측 회로 120의 선택 처리와 동기되어 가중치 출력 회로 161을 통하여 h층의 각 기본 유니트 121의 가중치 유지부 119에 선택된 입력측 회로 120에 대응하는 가중치 W1를 세트한다. 1버스 사이클 간의 Y1와 W1의 곱과 곱의 합 및 전의 곱의 합을 얻는다.
아날로그 신호 또는 디지탈 신호의 모드에 따라 기본 유니트 121에서 가중치를 설정하는 것이 가능하다. 가중치는 각 연결로 지정되고, 언급한 바와 같이 Wij로 정확히 표시(j는 h층의 기본 유니트의 번호를 나타냄)되나, 설명을 간단히 하기 위해 W1로 나타낸다. 처리 동작은 제23도에 기본 유니트 121의 신호 처리에 대해 타이밍 챠트에 의거하여 설명한다. 중간층에 기본 유니트 121(도면에서 121a로 표시)이 설명된다.
제어회로 103이 동기 제어신호선 164(도면에서 164b-1로 표시)를 통하여 주 제어회로 150의 제어 패턴 메모리 150e로부터 동기 제어회로를 수신할때, 그것은 입력 제어신호 (c)를 ON 시키고 입력 스위치부 118를 도통하게 한다. 동시에, 버퍼 119a의 게이트를 오픈시키는 가중치 입력 제어신호(d)와 출력 스위치부 113을 도통하게 하는 CSI에 대응하는 출력 제어신호(h1)을 제어신호 39는 ON 시킨다. 그러므로, 클럭(a)와 동기되어, 주 제어회로 150은 동기 제어신호선 164a의 CSI를 순차적으로 ON 되게하고, 입력측 회로 120a,120b...120n에서 유지되는 입력 패턴 신호 Y1는 아날로그 버스 140과 입력 스위치부 118을 통하여 증폭형 D/A변환기 106a에 제공된다.
주 제어회로 150은 동기 제어신호선 164b(도면에서 164b-2로 표시)를 통하여 가중치 데이타 메모리 150e의 가중치를 가중치 출력회로 161에 제공하고, 이 가중치(디지탈 데이타) W1는 버퍼 119a를 통하여 가중치 유지부 119에 기억된다. 그러므로, 출력 제어신호(h1)은 클럭(a)의 한주기 동안만 ON되고, 기본 유니트 121의 샘플 홀드 회로의 아날로그 게이트는 이 주기 동안 오픈 상태로 되고, 홀드 아날로그 값은 출력스위치부 113을 통하여 i층 아나로그 버스 140b에 출력된다. 디지탈 값의 가중치 W1가 가중치 유지부 119에 기억 될때 승산 제어신호(e)는 ON되고, 승산형 D/A변환기 106a는 가중치 W1에 의한 INPUT스위치부 118을 통해 수신된 아날로그 신호 Y1을 곱하여 아날로그 신호로서 곱셈 결과를 출력한다. 적분기로 구성된 아날로그 가산기 107a와 샘플 홀드 회로107b전에 즉시 유지되는 아날로그 값(최소로 0으로 클리어)은 승산형 D/A변환기 106a의 승산 결과에 더하여 샘플 홀드 회로107b로 다시 가산 결과를 기억한다.
상기 동작에 따라, 1버스 사이클은 완료되고, 입력측 회로 120b의 입력 패턴 Y2는 다음 클럭(a)와 동기되어 입력스위치부 118로부터 제공되고, 가중치 출력회로 161은 입력 패턴 Y2에 대응하는 가중치 W2를 제공한다. 따라서, 입력 패턴 Y2는 가중치 W2로 곱하고, 승산 결과는 샘플 홀드 회로 107b에 유지되는 값에 더한다.
그 후에, 이동작은 입력측 회로 120n에 대한 입력 패턴 Yn의 처리가 종료될때까지 반복된다. 입력 패턴 Yn과 Wn의 승산이 완료될때 변환 제어신호(g)는 ON된다. 승산 결과를 누산하여 얻은 값은 임계처리부 124의 비선형 함수 발생회로 109a에 입력되고, 대응하는 Y값이 유지된다. 그러므로, 임계처리부 124는 다음의 산술 연산을 행한다.
Y=1/(1+e×p(-x+θ)
기본 유니트 121의 최종적인 연산 출력인 최종 출력값 Y가 얻어질 수 있고, 유지된다. 이 결과는 출력제어신호(h1)의 다음 상승에서 다음단의 아날로그 버스(140b)에 출력된다. 이 값 Y가 얻어질때 가산부 107의 누산값은 다음 입력측 회로 120의 선택 사이클과 동기되고 입력된 클리어 신호로 클리어 된다.
설명한 동작에 따라, 각 기본 유니트 121은 입력 패턴 Y1와 가중치 W1로부터 최종 출력값 Y를 제공한다.
설명은 제20도에 도시한 실시예의 구성으로 돌아간다. 제23도에 의거한 상세한 설명에서와 같이, 모든 입력측 회로 120에 세트된 패턴을 입력시키는 처리가 완료되고 다시 주 제어회로 150은 동기 제어신호와 각 기본 유니트 121을 제공한다. (a-n은 식별자로서 부여된다)따라서, 유사한 동작은 입력측회로 120에 제공된 새로운 입력 패턴 Y1와 새로운 가중치 W1에 따라 실행된다.
한편, 얻은 h층의 기본 유니트 121의 최종 출력값 Y는 입력측 회로에 대한 동일 방법으로 아날로그 버스 140b를 통하여 다음단에 위치한 i층의 기본 유니트 121에 시분할법으로 전송되어 유지된다. 즉, 주 제어회로 150은 순차적이고 순환적으로 동기 제어신호선 164b(도면에서 164b-1로표시)를 통하여 h층의 각 유니트12la-12ln에 대한 제어회로 103으로 출력신호 hl-hn(제23도)을 제어하여 순차적이고 순환적으로 기본 유니트 12la,12lb,…의 출력 스위치부 36을 ON 시킨다. 그러므로, 각 기본 유니트 121a-12l7에서 유지되는 최종 출력값의 아날로그 신호는 i층의 각 기본 유니트 12la-12ln의 승산부 122에 시분할법으로 전송된다. i층의 기본 유니트 12la-12ln은 언급한 바와 같이 동일한 연산을 행한다. 그것들은 상기 처리로 얻은 i층의 각 기본 유니트 121의 최종 출력값 Y을 사용하고, 유사한 시분할법으로 i층의 기본 유니트 121에 대한 전송처리를 실행하여 출력층의 기본 유니트 121의 최종 출력값 Y를 분리한다. 주 제어회로 150은 중간층과 출력층의 각 기본 유니트 121에 각각 연결된 동기 제어신호선 164c와 164d를 통하여 각 기본 유니트를 같게 제어한다.
제24도는 본 발명의 뉴론 컴퓨터의 계층형 뉴론 네트워크의 블록도이다. 뉴론 칩으로 이루어진 아날로그뉴론 프로세서 ANPI-5는 각 층에 별렬로 제공되고, 아날로그 버스(B1,B2,와 B3)는 2개의 층들 사이에 각각 제공된다. 제24도에서, 중간층은 ANP1,2,3로 형성되고, 출력층은 ANP4,5로 형성된다. 입력단은 어떤 ANP를 갖지 않고 알맞은 시간에 아날로그 입력신호를 입력시키는 데이지 회로 171과 172를 갖는다.S/H로 표시되는 회로 샘플/홀드 회로 173과 174이다. ANP1-5는 제어에 대한 논리 신호를 필요로 하고, 많은 제어 신호선은 마스터 제어 블록(MCB) 181로부터 각 층에 연결된다. 데이타 클럭 DCLK는 모든ANP의 입력측에서 데이지 회로 171과 172에 인가되고, 아날로그 처리에 대한 기본 블럭을 구성한다. 가중치 클럭 WCLK는 입력측에서 모든 ANP와 데이지 회로 171,172에 인가된Y. 이것은 가중치 데이타에 대한고속 클럭을 제공한다. 가중치 데이타는 가중치 클럭 WCLK와 동기되어 가중치 메모리 클럭 185와 186의 ANP1,2,3과 각각의 ANP4,5입력된다.
동기 클럭 SYNC1은 중간층의 ANP에 인기되고, 동기신호 SYNC2는 동기 클럭에 대한 출력층에서 ANP로 인가된다. SH1과 OC1은 샘플/홀드 제어신호와 오프셋 제어신호를 중간층의 ANP에 대해 각각 나타내고, SH2와 OC2는 출력층의 ANP에 대한 신호를 나타낸다. 좌측의 블록의 데이지 회로 171과 172는 입력층에 대응하는 입력측 회로이다. 입력노드, 즉, 입력층의 뉴론을 실현하기 위하여, 아날로그 입력 포트 0과 1에 인가된 아날로그 입력신호는 아날로그 신호를 일으키는 ANP로서 같은 타이밍에 시분할법으로 데이지 회로에 인가된다. 즉, 기본 동작은 출력층의 ANP4,5가 아날로그 버스 B2를 통하여 시분할법으로 전의 중간층에서 ANP1,2,3로부터 아날로그 신호를 수신할때 실행된다. 위에서 설명한 관계는 중간층과 입력층 사이에 존재한다. 이 관계는 입력층의 ANP가 중간층의 ANP전에 존재하도록 한다. 그러므로, 중간층의 ANP가 아날로그 버스 B2로 아날로그 신호를 출력하는 같은 시간에 아날로그 입력신호를 수신할때 출력은 아날로그 입력 포트 0과 1로부터 아날로그 버스 B1에 제공되어야 한다. 다른 말로, 아날로그 입력 포트 0과 1로부터의 입력신호는 시분할법으로 아날로그 버스 B1에 인가된다. 아날로그 입력 포트 1의 다음 아날로그 입력신호는 아날로그 입력 포트 D의 아날로그 신호가 동일 아날로그 버스 B1에 인가된 후 아날로그 버스 B1에 인가된다. 상기 동기를 성취하기 위하여, 일정한 시간에 출력된 입력 제어신호CSI는 데이지 회로 171에 인가되고, 일정 시간후에 데이지 회로 171은 출력 제어신호 CSO를 생성한다. CSI가 마스터 제어회로 181의 CSO1으로 생성된다. 데이지 회로 171과 172는 일종의 지연회로이다. 데이지 회로 171이 마스터 제어회로 181로부터 입력 제어신호를 수신할때, 수직 방향으로 인접한 데이지 회로 172로 CSO 신호를 전송하므로 아날로그 출력신호는 아날로그 입력 포트 1로부터 수직 방향으로 인접한 데이지 회로 172로 출력된다. 이 동작을 데이지 제어라고 부른다.
마스터 제어회로 181의 출력 CSO1이 상승할때 스위치 175는 ON 되고 샘플/홀드 회로 173에서 유지되는 아날로그 입력 포트 0의 아날로그 입력신호는 아날로그 버스 B1에 이가된다. CSO1이 데이지 회로 171의 CSI이기 때문에 CSO는 CSI의 하강후 일정시간에 상승한다. 이 CSO1이 데이지 회로 172에 대한 CSI고, 동시에 스위치 176을 ON시킨다. 따라서, 샘플/홀드 회로 174에서 유지되는 아날로그 입력 포트 1의 아날로그 입력신호는 버스 B1에 인가된다. 본 발명의 계층 구성은 데이지 제어등이 필요하다. 즉, 아날로그 입력신호는 아날로그 입력 포트 0과 샘플/홀드/회로 173을 통하여 아날로그 버스 B1에 인가된다. 다음의 아날로그 입력신호는 아날로그 입력 포트 1과 샘플 홀드 회로 174를 통하여 동일한 아날로그 버스 B1에 출력된다. 중간층의 각 뉴론 관점에서 아날로그 입력 포트 0의 아날로그 입력신호와 그 입력 포트 1의 다음의 아날로그 입력신호는 시분할법으로 순차적으로 입력된다.
데이지 회로 171과 172는 아날로그 버스 B1상의 버스 경합을 피하기 위해 일정시간까지 입력 제어신호 CSI를 지연시키므로써 출력 제어신호 CSO를 출력한다.
중간층에서, ANP1은 CSI가 아날로그 신호를 제공하는 것과 같이 마스터 제어 블록 181로부터 출력 제어신호 CSO2를 수신하고, CSO는 CSI와 같이 ANP2에 인가되고, 그 후에 ANP2는 CSO를 출력한다. 요약하면, ANP1,2,3,는 차례로 출력을 발생시켜 중간층에서 데이지 동작을 종료한다. 이 동작과 병렬로, 모든 동작을 관리하기 위한 마스터 제어 블록 181은 중간층의 ANP2에 CSO3을 제공하고 그 다음 ANP4는 출력을 일으킨다. 출력의 종료후, ANP4는 ANP5에 CSO를 제공하고 ANP5는 출력을 일으킨다.
출력의 ANP4와 5의 출력은 마스터 제어 블록 181과 데이지 체인 출력 제어신호 CSO로부터의 CSO3의 제어하에 샘플/홀드회로 177과 178에서 받는다. 출력 전압은 아날로그 출력 포트 0과 1로부터 아날로그 출력신호로 출력되고 아날로그 멀티플랙서 179로 선택된다. A/D 변환은 A/D 변환기 180에 의한 멀티플랙서 179의 출력에 인가되고 A/D변환기 180의 출력은 MPU 182, 메모리 183, 통신 인터페이스 184로 이루어진 디지탈 제어회로 수단으로 전송된다. 출력신호는 출력신호가 소망의 출력신호인지 아닌지를 결정하는 학습동안에 MPU에 기억된 교사 신호로 비교된다. 뒤에 언급한 가중치 메모리의 가중치 데이타는 이 비교로 변한다. 최대치 노드 회로 187은 마스터 제어 블록 181에서 출력 인에이블 1과 2로 더미 노드 제어신호 DSC1, DSC2를 공급하고, 출력단은 아날로그 버스 B1 과 B2에 연결된다.
제25도는 제24도에 도시한 실시예에 따라 계트형 뉴론 컴퓨터의 타이밍 챠트를 도시하였다. 제어신호선은 모든 층에서 인출된다. 데이타 클럭 DCLK, 즉, 기본 동작 클럭과 가중치 클럭 WCLK는 같은 층에 모든 ANP의 입력층상의 데이지 회로 171과 172에 동시에 인가된다.
가중치 클럭 WCLK는 시리얼 디지탈 가중치를 전송하고 가중치 메모리 블록으로부터 가중치를 리딩(reading)하는 시리얼 동기 펄스이다. 제어신호는 입력 데이타가 수신되는 시간에서 결정된다.
제25의 타이밍 챠트에서, CSO1은 마스터 제어 블록 181에 출력된 비지 데이지 체인 제어신호, 즉, 데이지 회로 171에 공급되는 데이지 체인 제어신호 CSI이다. 데이지 회로 171에서 CSI는 아날로그 입력 포트 0과 샘플 /홀드 회로 SH 173을 통하여 아날로그 버스 B1에 첫번째 아날로그 입력신호를 출력한다. 제25도에 도시한 타이밍 챠트에서, 시간 1에서 아날로그 신호는 아날로그 버스 B1에 출력된다. 이 순간에, 전압은 아날로그 버스 B1에 인가되고 ANP1, ANP2와 ANP3는 이 아날로그 신호에 대한 병렬의 곱의 합 연산을 실행한다. CSO는 데이지 회로 171을 통과하고 다음 CSI는 CSO 하강후 소정 시간 타이밍 2에서 상승한다. 그 다음 CSI는 CSO 하강후 소정시간 타이밍 2에서 상승한다. 그 다음 CSI는 입력층에서 두번째 데이지 회로 172에 제어신호를 인가한다. 하이(high)CSI주기 동안 아날로그 입력신호가 샘플/홀드 회로 SH 174를 통하여 ANP1, ANP2와 ANP3에 인가되어 곱의 합 연산을 실행한다. 마스터 제어 블록 181의 DCS1은 더미(dummg)노드에 인가되는 제어신호이다. 각 층은 더미 노드로부터의 신호 뿐만 아니라 입력신호도 수신한다. 노드의 수는 뉴론 노드 수에 1을 더한 것과 같다. 그러므로, 입력 층은 2개의 입력을 갖고, 비록 그것은 각 중간층에 제공된 ANP로부터 관찰될때 3개의 입력을 갖는 것과 같다.
그러므로, 제어신호 블록은 2개의 CSI에서 시작되고 더미 노드 DSC1으로 이루어졌다. 입력 사이클은 초기 CSI에서 시작되고 더미 노드 DSC1의 입력에서 끝난다. 더미 노드는 최대치 노드 회로 187에 의해 제공되고, 회로는 CSI가 입력되는 동안 아날로그 버스에 고정된 임계치 전압을 출력한다. 시간 ③으로 나타낸 바와 같이. DSC1의 상승의 시작으로부터 그리고 출력전압이 출력되는 동안에, 중간층의 각 ANP는 통상의 입력으로 곱의 합 동작을 행한다. 높은 CSI신호의 고정값 전압은 전의 두개의 아날로그 입력신호의 곱의 합에 더하여 승산후 실행되는 가산을 인에이블시킨다. SYNC1은 CSO1의 상승전에 DCLK의 하강 에지에서 하이고 DSC1의 상승후 다음 DCLK의 하강 에지에서 로우이다. SYNC1은 입력층에 대한 동기 신호이다. WCLK가 입력될때, 아날로그 입력은 가중치 데이타를 곱한다. 중간층에서 ANP에 입력된 샘플/홀드 신호 SH1은 2개의 높은 부분 M1과 M2를 제공하고, 곱은 첫번째 높은 부분 M1전에 조금 얻고, 합은 높은 부분에서 산출되고 유지된다.
다음의 높은 부분 M2에서, 오프셋 전압 Vb는 전압에서 빼고, 그 결과의 전압은 샘플/홀드 동작으로 된다. 이 처리는 입력되는 아날로그 신호에 대해 반복하여 곱의 합을 컴퓨터화 한다. 이 경우에, 중간층의 각 ANP는 더미 노드에 대해 그것을 포함하는 곱의 합 연산을 3회 실행한다. 따라서, 중간층의 각 ANP의 처리는 완료되고, 3입력의 곱의 가산이 종료된다.
타이밍 챠트에서 DCLK가 DC1의 하강 직후 하이일때, 아날로그 입력 포트 0과 1로부터 얻은 세개의 신호의 곱의 합 연산의 결과와 더미 노드는 각 ANP1,2,3의 캐패시터에 유지된다. ANP1의 출력신호가 중간층과 출력층 사이에 제동된 아날로그 버스 B2에 입력될때 CSO2 신호의 상승이 결정된다.
SH1아래에 도시한 오프셋 제어신호 OC1은 ANP내의 오프셋 캔슬(offset cancel)을 행한다. 각 ANP는 연산 증폭기를 포함하는 아날로그 신호를 사용하고, 그의 회로는 OC신호의 제어신호로 캔슬되는 오프셋을 갖는다. OC1으로 도시한 바와같이, 1개의 곱의 합 연산이 실행될 때마다. 1개의 펄스는 ANP내에서 오프셋 캔슬을 실행하는 출력이다. 타이밍 챠트에서, 시간 ④로 도시한 바와 같이, CSO2가 상승할때, ANP1에 유지되는 신호는 아날로그 버스 B2로 출력되고, 출력층의 ANP4는 CS02가 하이일때 곱의 합 연산을 실행한다. 시간 ④로 도시한 바와 같이, CSO2의 상승은 전의 입력신호의 결과로서 얻은 곱의 합 결과가 출력될 때의 타이밍을 나타낸다.
제25a도와 제25b도에 의거한 중간층과 출력층의 타이밍을 설명하려 한다.
아날로그 신호는 금지층의 데이지 체인 제어신호의 출력 ④,⑤,⑥,⑦과 출력층의 출력 ⑧,⑨ 와 동기되어 나오고, 그것은 입력층으로부터 데이지 체인 제어신호 출력 ①,②,③에 따라 아날로그 신호에 대한 전의 처리 사이클의 결과를 아날로그 버스를 곱한다. 파이프라인 처리의 실행은 후에 설명한다. CSO2의 상승시 타이밍 챠트에서 시간 ④로 도시하였고 ANP1은 출력을 산출한다. 두 펄스는 신호 SH에 도시한 형태로 출력된다. 신호 SH2는 제24도에 도시한 블록도의 출력층에서 첫번째 ANP4에 입력된다. 즉, ANP4에서 의한 덧셈 연산은 SH2신호의 두개의 높은 부분에서 수행된다. ANP1,2,3으로 구성된 세개의 뉴론은 중간층에서 나타난다. 더욱이, 최대치 노드 회로 187에 의해 더미 노드가 부가된다. 그것에 의해 모두 4개의 뉴론을 제공한다. 따라서, SH2 신호의 두개의 높은 부분으로 구성된 펄스는 시간 ④에서 출발하여 4번 생성된다. 중간층에서의 아날로그 신호는 곱의 합 연산을 수행하는 SH2신호의 4쌍의 높은 부분의 시간에 ANP4로 입력된다.
이 연산은 근본적으로 중간층의 ANP가 입력신호에 대해 곱의 합 연산을 수행하는 타이밍과 동시에 수행되고, 그것에 의해 파이프라인 프로세싱을 수행한다. 중간층에서 ANP1에 제공된 CSO 신호는 CSO2 아래에 보여지는 같은 중간층에서 ANP2에 제공된 CSI이다. 이것은 시간 ⑤로 지정된 부분에 의해 보여진다.
ANP2에 대한 CSO는 ANP2 아래 보여지며, CSI와 ANP3에 대한 CSI는 시간 ⑥으로 지정된 ANP2 아래 보여진다. 더미 노드에 대한 CSO와 CSI는 ANP3에 대한 CSI 아래 보여지며 마스터 제어 블록으로부터 출력된 DCS2는 시간 ⑦에서 높아진다. CSI는 시간 ④,⑤,⑥,⑦의 과정에서 중간층과 더미 노드에 대한 최대치 노드 회로 187에서 ANP1, ANP2,ANP3로 입력된다. 이 기간동안, 신호 SH2는 각각 2개의 높은 부분을 가지는 네개의 펄스를 생성한다. 출력층에서 제공된 ANP4의 뉴론은 입력 아날로그 신호의 곱과 가중치를 네번 더한다. CSI가 ANP1으로 입력되는 ④에서 ANP1으로부터의 아날로그 신호는 중간층과 출력층 사이의 아날로그 버스로 출력되고 ANP4로 입력된다. 동시에, 해당 가중치 데이타는 ANP4로 입력되고, 승산이 수행되며, 곱은 SH2의 첫번째 높은 부분에서 더해지고 합은 두번째 높은 부분에서 샘플/홀드 동작이된다. 산출이 종료되었을 때 ANP1으로부터의 CSO 신호는 상승하며, 그것에 의해 시간 ⑤에서 ANP2의 CSI를 제공한다. 그리고는 가중치 데이타는 아날로그 데이타에 의해 배가되어 합은 계산될 수 있다. 시간⑤에서 보여지는 상태의 하강후 소정기간에, ANP3에 가해진 CSI는 높아지고, 곱의 합 연산은 시간 ⑥에서 보여지는 것처럼 ANP4에 의해 수행된다. 시간 ⑦에서 최대치 노드 회로 187로부터 고정 전압 출력은 ANP4로 입력되고 곱의 합 연산을 통해 이점까지 누산된 결과에 더해진다.
위의 연산은 출력층에서 ANP5로 병렬로 인가되고, 동시에 프로세싱을 실현시킨다. 마스터 제어 블록 181로부터 출력된 CSO3가 상승할때, ANP4에 계산된 곱의 합 연사의 결과는 출력층과 연결된 아날로그 버스 B3로 출력된다. 제어신호에 따라 최대치 노드 회로 187이 아날로그 B2에 출력을 제공하게 되는 제어신호는 CSO2이고 이것은 시간 ⑦에 해당된다. DCS2까지의 연산은 중간층으로부터의 계산결과 출력하기 위한 것이다. 같은 연산은 타이밍 챠트에서 DCS2 아래 지정된 신호로 인가될 것이다. 이 신호는 중간층과 직렬로 연결된 출력층 쪽의 연산을 규정한다.SC03의 한 증가시, ANP4에 의해 계산된 곱의 합 연산의 결과는 출력된다. 출력층에서 ANP4와 ANP5는 출력을 생성한다. 예를들어, 시간 ④에서의 CSO2에서의 증가는 ANP1으로 돌아가며 이 증가는 DCLK로부터 지연된다. 이런 이유때문에, 아날로그 입력신호의 승산과 디지탈 가중치 데이타는 실행되고, WCLK로 읽은 디지탈 데이타는 시리얼이다. 이들 시리얼 데이타는 패러렐 데이타로 변환되고 CSO2의 상승은 시리얼 데이타를 병렬 데이타로 변환시키는 요구 시간에 의해 지연되고, D/A변환기, 즉, 승산처리부에 도달한 아날로그 입력신호에 대한 시간이라고 생각된다. 즉, CSO2의 상승은 시리얼 데이타를 리드하는 요구시간에 의해 DCLK의 상승에서부터 지연된다. 데이타, 예를들면, WCLK의 16사이클이 DCLK의 상승후 경과할때, 데이타 세트는 종료된다. WCLK의 8사이클이 CSO2의 상승후 경과할때, 아날로그 승산이 시작된다.
제26도는 디지탈 가중치 데이타의 리딩을 나타내는 챠트를 도시하였다. 그것은 마스터 클럭 MCLK, 동기신호 SYNC, 가중치 클럭 WCLK, 데이타 클럭 DCLK, 실제의 가중치 데이타 WDATA를 도시하였다. 가중치 데이타 WDATA는 비트 시리얼법으로 가중치 메모리로부터 판독되고, 16비트 데이타는 시리얼로 입력된다. S는 사인 비트고, B14내지 B0는 수치비트를 나타낸다. 제26도에서, 가중치 데이타 WDATA의 B6,B7,B8부분은 가중치 클럭 WCLK와 관련된 것들을 지시하는 제26도의 하부를 나타낸다. 가중치 클럭 WCLK의 주기는 250nsec이고, 듀리(duty)비는 50%이다. WCLK이 하강으로부터 경과하여 시퀸서에 제공된 어드레스를 갱신하는 카운터의 전파지연후 어드레스는 가중치 메모리에 제공된다. 가중치 메모리(RAM)의 비트 n의 어드레스는 가중치 데이타 WDATA의 비트 7에 기억된다. 이 어드레스의 결정후 경과된 시간 tAA를 갖을 때 비트 7은 판독된다. 비트 7에서 비트 6의 변화는 다음 시각에 클럭으로 변함으로써 결정되고 비트 6은 다음 시각에서 가중치 메모리로부터 리드된다. 가중치 데이타의 16비트는 ANP에 입력되고, 16비트 가중치 데이타의 곱과 ANP에 입력된 아날로그 전압은 내부D/A 변환기에 의해 산출된다.
아날로그 전압의 입력은 데이타 클럭 DCLK의 상승후 시작된다. 그러므로, 그것은 D/A 변환기에 도달하도록 아날로그 입력 전압에 대한 시간이 걸린다. 디지탈 가중치 데이타를 설정하고 아날로그 전압을 입력시키도록 요구되는 시간과 이 시간을 제어하는 것이 필요하므로 아날로그 전압의 도착시간은 가중치 데이타의 그것에 응한다.
예를들면, 아날로그 입력 전압은 가중치 데이타의 B7에서 상승한다. 가중치 데이타 B의 비트 0과 모든 가중치 데이타가 결정될때, 가중치 데이타의 승산과 아날로그 값은 시작되고 가산은 DCLK가 다음 타이밍에서 로우(LOW)가 되는 시간에 산출된다.
ANP의 동작시간은 SYNC 신호, WCLK, 데이타 DCLK로 규정된다. 아날로그 입력 전압이 D/A 변환기로 ANP의 입력 단자로부터 전송될때 시간의 오차고 CSI는 DCLK 상승후 상승하고, CSI와 DCLK사이의 상승시간의 차이를 계산한다.
제27a도는 모든 제어신호를 제어하는 마스터 제어 블록 181의 구성을 도시하였다. 주요 구성소자는 외부 버스 인터페이스 회로 200, 제어 패턴 메모리 201, 마이크로 프로그램 시퀸서 202, 마이크로 코드 메모리 203, 어드레스 형성부 204로 이루어졌다. 외부 버스 인터페이스 회로 200은 MPU에 연결된 인터페이스를 통하여 어드레스선 205, 데이타선 206과 제어신호선 207에 연결된다. 외부 버스 인터페이스의 레지스터의 상위 어드레스 비교 회로 208과 D-FF 209는 MPU로 제공된 상위 어드레스를 디코드한다. 상위 어드레스가 소정의 그것과 같을때, 하위 어드레스와 데이타는 트리거(trigger)로서 타이밍 회로 214로부터 래치신호를 사용함으로써 D-FF 209 와 211을 세트한다. 어드레스와 데이타는 각 버스 드라이버 210과 212를 통하고, 내부 어드레스 버스와 내부 데이타 버스를 통하여 입력된다. 어드레스는 마이크로 코드 메모리 203에 의거하고, 데이타 버스를 통하여 MPU측으로부터 마이크로 코드 메모리 203에 마이크로 코드를 써 넣기 위하여 사용된다. 상위 어드레스는 버스 드라이버 210을 통하여 마이크로 프로그램 시퀸서 202에 인가되고, MPU는 소정의 어드레스를 사용하여 제어 패턴 메모리 201로 참조될 수 있다.
MPU 또는 주 메모리의 데이타는 데이타선 206을 통하여 D-FF 211에 의해 래치되고, 버스 드라이버 212를 통하여 제어 패턴 메모리 201의 마이크로 코드 메모리 또는 분리형 I/O RAM 215와 216의 분리형 I/O RAM 213에 인가된다. MPU 또는 메모리의 데이타 스트로브(strobe)신호는 제어신호선 207을 통하여 타이밍 회로 214에 더하여지고, 확인신호는 반송되어 전송을 제어하고 어드레스와 데이타를 수신한다.
타이밍 회로 214는 D-FF 211과 D-FF 209에서 래치 타이밍을 제어하고, WR 신호를 통하여 제어 패턴 메모리 201과 마이크로 코드 메모리 203에서 타이밍 제어하다.
제25a도와 제25b도의 타이밍 챠트에 도시한 바와같이 뉴론칩에 제공된 제어신호의 "1"과 "0" 패턴의 각 1주기는 제어 패턴 메모리 201에 기억되고, 마이크로 프로그램 시퀸서 202의 제어에 따라 제어 패턴 메모리 201로부터 판독되어 패턴의 한 주기를 생성한다. 예를 들면, 리셋 신호 RESET , 데이타 클럭 DCLK, 가중치 클럭, WCLK, CS01, CS02, CS03, SYNC1, SYNC2, SH1, SH2, OC1, OC2는 첫번째 분리형 I/O RAM 215로부터 리드되고, 패턴에 의해 수반된 제어 정보, 즉, 시퀸스 제어 플래그는 두번째 분리형 I/O RAM 216으로부터 리드된다. 단, 패턴 1000110001"은 제어 패턴 메모리 201의 어드레스는 "1"과 "0"으로 이루어진 비트를 반복하도록 제어되고, 반복 패턴은 제어 패턴 메모리 201로부터 판독된다. 제어패턴 메모리가 극히 복잡하므로, 그것들은 분리형 I/O RAM 215에 미리 기억되고, 비트 패턴은 마이크로 프로그램시퀸서 202의 제어하에 분리형 I/O RAM 215의 어드레스를 지정함으로써 순차적으로 출력된다. 따라서, 다수의 동일 패턴은 어드레스 제어에 의해 결정되는 것과 같이 반복된다. 1패턴주기는 오리지날 패턴이라 부른다. 오리지날 패턴을 반복하기 위하여, 특정 정보는 제어 메모리 201로부터 마이크로 프로그램 시퀀서 202로 궤한된다. 두번째 분리형 I/O RAM 216내의 시퀀서 제어 플래그는 마이크로 프로그램 시퀀서 202에 입력되므로 어드레스는 오리지날 패턴이 첫번째 분리형 I/O RAM 215에 기억되는 헤드 어드레스에 리턴된다.
그러므로 원형 패턴은 반복된다.
마이크로 프로그램 시퀸서 202는 요구조건이 만족되는 동안 어드레스 신호를 일반목적 포트 출력라인 202-1을 통하여 분리형 I/O RAM 215로 전송한다. 보통, 어드레스는 증가하지만 어드레스 신호는 원형 패턴이 저장되는 헤드 어드레스로 되돌아 간다. 결과적으로 소정의 제어 패턴은 분리형 I/O RAM 215로부터 반복적으로 출력된다.
그림 27B는 마스터 제어블록 181을 제어하기 위한 메모리 201과 203의 정보들간의 관계를 나타낸다. 그림 27에서, 제어 패턴 메모리 1은 첫번째 분리형 I/O RAM 215에 해당하며 제어 패턴 메모리 2는 두번째 분리형 I/O RAM 216에 해당한다. 시퀀서 202의 제어코드는 주로 점프(Jump) 명령과 리피트(repeat)명령을 저장하는 마이크로 코드 메모리 203에 저장된다. 리피트 명령은 소정의 어드레스에 저장되고, 제어 패턴 메모리에서의 제어 패턴 반본수는 반복 명령에 따라 제어 패턴 메모리 2의 해당 어드레스에 저장된다. 이 (제어 패턴 반복)수가 10이 되면 10반복이 수행된다. 이런식으로 어드레스는 마이크로-코드 메모리 203에서 점프명령에 도달될때까지 증가하고 마이크로 코드 메모리 203에서 두번째 점프로 어드레스는 500H 점프하여 5회 반복되는 패턴 2를 출력한다. 어드레스는 마이크로 코드 메모리 203에서 제3의 Jump에서 다시 "100H" 로 점프하여 패턴 1을 출력한다. 따라서, 오리지날 패턴은 반복되고 제어 패턴 메모리 1로부터 리드된다.
WCLK는 제어 패턴 메모리 201에 의한 참조로 아드레스의 리이딩 클럭과 동기하여 형성되고, WCLK와 동기 하여 가중치 메모리 185와 186으로부터 판독된다. 가중치 메모리 185와 186의 어드레스는 어드레스 형성부 204의 어드레스 1과 2로부터 출력된 어드레스 신호로 액세스 된다. 어드레스 1과 2는 분리되어 있고, 어드레스 1은 중간층이고 어드레스 2는 출력층이다. 중간층의 ANP에 인가된 가중치 데이타는 어드레스 1로 지정된 가중치 메모리 185로부터 판독된다. 출력층의 ANP에 인가된 가중치 데이타는 어드레스 2로 지정된 가중치 메모리 185로부터 판독된다. 가중치 메모리 185와 186의 내용은 어드레스의 증가 방향으로 한비트씩 저장되고, 마이크로 프로그램 시퀀서 202로부터 어드레스 카운터 217과 218에 카운트 제어 신호를 공급하는 것이 필요하다. 인크리멘팅 어드레스는 어드레스 카운터 217과 218로부터 버스 드라이버 219와 220을 통하여 가중치 메모리 185와 186에 115 순차적으로 인가된다. 다수의 가중치 데이타는 가중치 메모리 185와 186으로부터 판독된다.
첫번째 분리형 IO/ RAM 125의 WCLK와 마이크로 프로그램 시퀀서 205의 카운터 제어 신호는 어드레스 형성부 204의 AND 회로 221과 222에 인가된다. 카운터 제어신호가 하이일때, 어드레스 카운터는 WCLK로 갱신된다. 어드레스 카운터 217과 218은 WCLK의 1-16비트로 인크리멘트된다. WCLK의 나머지 17-26비트는 카운터 제어신호를 로우로 바꾸고 어드레스 카운터 217과 218은 인크리멘팅하여 정지시킨다. 카운터 리셋 신호는 SYNC1 과 SYNC2와 동기되어 마이크로 프로그램 시퀀서 202로부터 AND회로 221과 222에 전송되고 어드레스 카운터 217과 218을 리셋한다. 어드레스는 가중치 메모리 185와 186의 헤드 어드레스를 리턴한다.
마스터 제어 블록 185로부터 출력된 모드 신호는 가중치 메모리의 통상 사용을 지정, 즉, 가중치 메모리가 MPU 데이타 버스에 연결되고 MPU를 참조하는 모드와 ANP에 가중치 데이타를 공급하는 MPU 데이타 버스로부터 가중치 메모리를 분리한 모드로 이루어졌다.
모드 신호는 MPU로부터 데이타의 LSB가 트리거 신호로 사용함으로써 플립플롭 224에 입력될때 형성되고, AND 신호는 로우어드레스의 비트와 타이밍 회로 214의 라이트 신호 WR이 AND회로 223에 인가될때 AND회로 223으로부터 출력된다. 모드신호가 0일때, 가중치 메모리는 통상 사용되는 것이다.
라이트 신호 WR과 내부 어드레스 버스의 비트는 AND회로 223을 통하여 플립플롭 224의 클럭단자에 입력되고, 내부 데이타 버스의 LBB는 플립플롭 224의 데이타 단자에 입력된다. 상위 어드레스 신호는 비교회로 208에 입력되고, 마스터 제어 블록 181이 선택되는 지를 결정하다. 만약 선택된다면 하위 어드레스와 데이타는 DFF 209와 211에 인가된다. 이 인터페이스 동작은 MPU에 연결된 다른 디바이스에 인가되고, 가중치 메모리는 정상 주기 동안 가중치 데이타를 ANP에 공급되고, 만약 가중치 메모리가 MPU의 데이타 버스에 직접 연결된다면 버스 경합이 야기된다. 이것을 방지하기 위하여 데이타 버스의 LSB가 플립플롭 224에 공급될 때 모드는 1로 결정되어 선택된 칩으로부터 가중치 메모리를 방지하고 가중치 메모리로부터 데이타 버스상의 데이타를 산출한다. 내부 어드레스 버스는 내부 어드레스 버스를 사용함으로써 마이크로 모드 메모리 203 또는 제어패턴 201중 어느 하나의 어드레스를 지정한다. 소망 데이타는 내부 데이타 버스에 액세스된 어드레스를 써넣는다. 따라서, 마이크로 프로그램 시퀸서 202에 기억된 프로그램은 선택되고, 마이크로 코드 메모리 203과 분리형 I/O RAM 216에 기억된 프로그램은 변하고, 분리형 IO/RAM 215에 기억된 제어 패턴도 변한다.
제28a도는 가중치 데이타 메모리 230의 데이타 기억 구성을 도시하였다. 칼럼 방향의 8비트는 동일 어드레스에 기억된 8비트 데이타고, 비트 1,2,...8은 각각 ANP1,ANP2,..ANP8이다. 로우 방향에서 어드레스들은 서로 다르고, 오른쪽에서 왼쪽으로 증가한다. 가중치 데이타는 사인 비트를 포함하는 16비트로 이루어졌고, 이들 비트들은 작은 어드레스 값에서 큰 어드레스 값으로 어드레스들에 기억된다. MSB는 사인 비트고 다른 15비트는 수치비트다. 마이크로 프로그램 시퀀서 202에 의해 제공된 어드레스가 WCK와 동기되어 인크리멘트(increment)될때, 가중치 데이타, 즉, 16비트의 1워드는 MSB에서 LSB로 판독되어 8ANP에 동시에 인가된다. 데이타가 어드레스의 증가방향으로 기억되는것과 같이 어드레스 카운트는 가중치 데이타에 대해 실행된다. 즉, MSB에서 LSB의 가중치 데이타 메모리의 1워드(word)는 카운트되고, 그런 다음 가중치 데이타의 1 아이템(item)은 가중치 데이타의 저어하에 제공된다. 제어는 마이크로 프로그램 시퀸서 202의 해 또는 실행된다.
제28b도는 가중치 메모리 블록 185와 186의 회로를 도시하였다. 출력은 ANP1 내지 ANP8에 대응하는 8비트로 이루어졌다. 기본적으로, MPU 버스에서 보이는 버스 신호선 또는 마스터 제어 블록에서 보이는 어드레스 1과 2중 하나가 사용된다. 어드레스 1과 2는 제19a도의 어드레스 1과 2와 같이 동일하다. 그것들이 WCLK와 동기되어 인크리멘팅을 입력한다. 8비트 데이타는 동시에 판독되고 각 비트들은 ANP1내지 ANP8에 동시에 인가된다.
모드 신호가 0일때, 가중치 메모리 230은 AND 게이트 233을 통하여 칩을 선택한다. 마이크로 프로그램 시퀀서 202의 어드레스과 1과 2는 멀티플렉서 234에서 효과적이다. 가중치 메모리 230의 가중치 데이타는 ANP1 내지 8에 전송된다. 한편 역회로 231의 출력은 하이고, 따라서 3-상태 버스 트랜시버 232를 디스인에이블하고 MPU에서 출력되는 것으로부터 가중치 메모리 230을 방지한다.
만약 데이타가 MPU에 출력된다면 모드신호는 1로 턴되고 메모리 230은 MPU로부터 고유 어드레스 정보에 따른 어드레스 디코더 235를 통하여 칩을 선택하고, 메모리 230은 MPU로부터 어드레스 신호를 수신한다. 모드 신호가 1일때 메모리 230은 MPU로부터 어드레스 정보에 의한 어드레스 디코더 235를 통해 선택되어 출력을 MPU로 생성한다. 모드신호가 MPU 버스에 의해 리드되거나 버스로부터 메모리 230에 기록될때, 리드와 라이트 방향은 AND 게이트 236을 통하여 MPU로부터 전송된 데이타선상의 리드신호에 의해 결정된다.
학습 알고리즘을 지금부터 설명하려 한다.
백 프로파게이션을 사용한 학습 알고리즘의 흐름도는 본 발명에서 이용된다. 학습은 다음과 같이 성형된다. 학습되는 모든 정보는 뉴론 네트워크, 즉, 도시하지 않은 MPU로부터 입력제어회로를 통하여 ANP로 구성된 계층형 네트워크에 입력된다. 입력신호는 입력측회로, 금지층과 출력층을 통하여 네트워크에 제공된다. A/D변환기를 통하여 MPU에 더 인가된다. 학습 알고리즘은 MPU의 측면상에 주기억장치에 존재한다. 교사 신호는 주기억 장치로부터 얻어지고, MPU에 전송되고 네트워크의 출력과 교사신호간의 오차가 검출된다. 만약 오차가 크다면, MPU는 한방향으로 네트워크 강도를 나타내는 가중치 데이타를 변화시켜서 오른쪽 출력은 네트웨크에 의해 발생한다. 가중치 데이타는 가중치 메모리 230을 통하여 각 층의 ANP에 공급된다.
제29도는 입력층 데이지 회로 173과 174의 구성을 도시하였다. 240,241과 242는 D형 플립플롭이다. D단자에 입력된 데이타는 DCLK 신호의 상승에서 세트되고 출력 Q는 "1" 상태로 턴된다. 첫번째 플립플롭 240은 DCLK 하강에서 CSI 신호를 세트하고, DCLK의 다음 상승에서 출력신호는 두번째 플립플롭 241에서 세트된다.
두번째 플립플롭의 출력은 세번째 플립플롭 242의 D단자에 인가된다. 입력을 세팅하기 위기 클럭 신호는 4비트 카운터 243에 출력되고, 카운터 243은 DCLK하강에서 클리어되고 WCLK하강에서 트리거된다. 그러므로, DCLK 하강에서, 카운터 243은 모두 0이된다. WCLK의 하강은 8회 입력되고, 그후의 상위 비트의 QD신호가 하이(High)가 되어 플립플롭 242의 CSO로 출력되는 하이신호를 인에이블시킨다. 플립플롭 241의 출력이 0이 되어 CSO를 클리어한다 이와같은 동작에 따라 데이지 동작이 실행되고, 거기서 CSO는 CSI 하강후 WCLK의 8펄스에 대응하는 일정한 시간에 출력된다.
제30도는 더미노드의 뉴론을 형성하는 최대치 노드회로 187을 도시하였다. 레지스터 250, 제너 다이오드 251과 252, 레지스터 253, 전압 팔로우어 254와 255는 정전압을 제공하는 회로를 형성한다. 레지스터 250과 253, 제어 다이오드 251과 252를 통하여 +12v 와 -12v사이의 전류가 흐를때, +7v와 -7v 는 전압 팔로우어 254와 255의 입력에 각각 형성된다. 이들 전압은 전압 팔로우어 254와 255를 형성하는 클럭 레지스터 256에 출력된다. 동작은 아날로그 스위치 257 264를 사용함으로써 제어되므로 2개의 정전압은 시분할 방식으로 출력된다. T모드 신호가 0일때, 정전압은 아날로그 스위치 257을 통하여 다음 전압 팔로우어 265에 공급된다. T모드가 "1", 즉, 테스트 모드일때, 아날로그 스위치 258의 출력이 억제되므로 아날로그 접지와 "0"볼트는 전압 팔로우어 265에 입력된다. 테스트 모드에서, 버스상의 오프셋은 MPU로 통지한다. 전압 팔로우어 265는 출력부에서 스위치 제어로 인에이블 된다. 출력 인에이블이 "1"로 턴될때, 아날로그 스위치 260은 온되고, 전압 팔로우어로 동작하고, 출력을 생성한다. 그러나, 이 시간에 더미노드는 출력을 생성하지 않는다. 역으로, 출력 인에이블이 0일때 출력은 더미노드에서 생성된다. 아날로그 스위치 260과 출력의 스위치 제어는 출력 인에이블 1또는 2로 제어되고, "0"을 인에이블 한다. 출력 인에이블 1 또는 2가 0일때 정전압은 더미노드에서 출력된다. 상위의 더미 노드 출력은 입력층용이고, 하위의 더미 노드 출력은 중간층용이다. 이들 더미 노드의 출력전압은 적절한 값에서 고정되고 임계 전압으로 사용될 수 있다. 제너(zener)다이오드 251과 252는 역으로된 전의 상태동안 정전압을 생성한다. 이들 정전압은 +7V에서 -7v로 변할수 있다. 출력 인에이블 1과 2의 인에이블 상태는 아날로그 버스에 연결된 이것과 다른 ANP로부터 출력전압들 사이의 충돌을 파하기 위하여 마스터 제어 블록 181로부터 더미 노드 제어 신호 DCS로 결정된다.
제31a도는 귀환형 네트워크의 개념도이다. 이 형태의 네트워크 입력은 기본적으로 존재하고, 리턴된 그 자신의 부분으로부터 출력된 신호를 통하여 귀환로는 제공된다. 귀환형장치는 계층형 뉴론 네트워크에서 한층이 시분할 승산방식으로 사용되는 경우에 사용된다. ANP의 입출력 신호는 시분할 방식으로 제공되고, 같은 ANP의 출력 데이타 각각의 ANP들의 출력에서 고정 시퀀스 사이클마다 순차적으로 출력되며 시퀀스 중의 하나는 입력층, 중간층, 출력으로서 순차적으로 동작한다.
제31b도에 도시되는 본 발명의 실시예에 따라서, 귀환형 공통 아날로그 버스 CB에 의해 이해되어 귀환로를 형성한다. 자신의 ANP의 계산에 의해 얻어진 출력은 귀환로를 통해 각각의 ANP들로 귀환되며, 이 귀환동작이 반복된다.
제32도는 귀환형 네트워크의 첫번째 실시예의 배열을 도시하였다. 제32도에서 121은 처리층을 형성하는 다수의 기본 유니트 1에 해당한다. 이들 기본 유니트 121은 거의 승산부 122, 누산부 123과 임계치부 124를 가지며, 때때로 출력 유지부 125를 갖는다. 유사하게 기본 유니트 121의 입출력은 아날로그 신호로 구성된다. 전기 연결은 아날로그 버스 141,142 및 143을 통하여 각 기본 유니트 121의 출력부와 기본 유니트 121의 입력부 사이에 만들어 진다. 각 연결에 대응하여 결정된 가중치는 등가방법, 즉, 흡필드(Hopfield)혀 네트워크를 형성한다.
142는 아날로그 버스이고 귀환선을 형성하기 위하여 출력부와 입력부를 전기적으로 제공된 공통선이다. 데이타 전송을 제어하는 주제어 회로 150은 구동 유니트 선택수단 151, 가중치 설정수단 152, 임계치 처리 초기수단 153 및 출력값 전송 수단 154를 포함한다.
구동 유니트 선택수단 151은 기본 유니트 121을 순차적으로 선택한다. 출력값 전송 수단 154는 상기 선택처리를 동기시켜서 선택된 기본 유니트 121 출력의 유지부에 의하여 유지된 아날로그 신호의 최종 출력을 시분할의 전송형태에 따라 아날로그 버스 142를 통하여 기본 유니트 121의 승산 처리 유니트 122에 귀환한다. 각 기본 유니트 121의 승산부 122는 입력을 받고 가중치 설정수단 152에 의하여 결정된 각 연결에 대응하여 순차적으로 가중치를 선택하고 입력과 가중치에 승산처리를 실행할때 가산부 123은 승산부 122에 의하여 얻어진 승산 결과를 누산한다. 처리층에서 기본 유니트 121에 관련있는 모든 누산처리가 종료됨이 인정될때 임계치 처리 초기유니트 153은 기본 유니트 121의 임계치 처리 유니트 124을 초기화하고 시그모이드 함수 계산을 수행하기 위하여 일정한 임계전압을 공급한다.
이 처리는 소정 번호에 의하여 순환적으로 반복된다. 이 데이타 전송 시스템은 그 층이 시분할 승산방식으로 사용된 계층형 네트워크의 출력처럼 입력 패턴에 대응하여 출력 패턴을 제공할 수 있다.
이 실시예에는 단일층을 포함한 네트워크 구성 데이타 처리 장치를 나타낸다. 단일층 구성을 사용에 의하여 다층 구조의 네트워크 구성 데이타 처리 장치를 형성하기 위하여 아날로그 버스 142는 공통선으로서 사용된다. 단일층의 기본 유니트 121의 출력을 귀환하여 각 기본 유니트 121의 입력부에 접속한다.
다음, 제32도에서 도시된 실시예의 동작은 제33a도에서 도시된 타이밍 차트에 따라서 설명된다.
출력 패턴으로 변환하기 위한 요구에 응답하여 주 제어 회로 150은 입력측 120에 CSI의 제어 신호를 순차적으로 전송하고 다수의 입력측회로 120을 순차적으로 선택한다. 제33a도는 선택처리를 나타낸다. 그렇게 선택된 입력측 회로 120은 아날로그 버스 143위에 입력 패턴으로서 제공된 아날로그 신호 Yi을 순차적으로 전송한다. 따라서 제33a도에서 도시된 것 처럼, 아날로그 신호 Yi는 다수 입력측 회로 120에 의하여 아날로그 버스 143위에 순차적으로 전송된다.
제33b도의 타이밍 챠트에서 도시된 것 처럼 각 기본 유니트 121의 승산부 122는 아날로그 신호 Yi을 받고 나서 주 제어 회로 150에 의하여 설정된 가중치 유지부 8의 가중치 Wi 사용에 의해 승산을 실행한다. 각 기본 유니트 121의 누산 유니트 123은 입력측 회로 120의 모든 선택에 의해 얻어진 승산 결과를 누산한다.
입력측 회로 120의 모든 선택이 종료될때 모든 누산 처리가 종료된다. 그때에 각 기본 유니트의 임계치부 124는 기본 유니트 121의 산출 연산의 최종 출력인 최종 출력값 Y를 얻는다.
그렇게 얻어진 최종 출력값 Y는 기본 유니트 내부에서 유지된다. 각 기본 유니트 121의 출력 스위치부는 주 제어 회로로 부터 전송된 CSI로서 출력 제어신호를 받고 나서 순차적으로 턴온되어서 아날로그 신호의 최종 출력값을 아날로그 버스 142을 통하여 기본 유니트 121의 승산 유니트 122에 유지되어 귀환한다. 이 처리에 의하여 입력층에서 기본 유니트 121의 최종 출력값은 등가 방법의 중간층에서 기본 유니트 121에 대하여 시분할 전송형식으로 전송된다. 모든 기본 유니트 121의 동일한 처리를 반복함으로써 출력층에 대응한 최종 출력값 Y가 얻어진다. 제33도는 입력측 회로 120에 입력된 출력 제어 신호 Yi에 따라서 기본 유니트 121에 제공된 출력 제어 신호의 타이밍챠트와 아날로그 버스 142에 최종 출력값 Y의 아날로그 신호의 타이밍 챠트를 도시한다.
계층형 네트워크와 비교된 것처럼 제34도에서 도시된 실시예는 입력 패턴이 연속적으로 인가될 수 없는 장점을 갖으나 계층형 네트워크는 간단한 구조로 형성될 수 있는 단점을 갖음으로써 그것이 칩에 형성될때 계층형 네트워크를 크게 감소시킨다.
제34도는 계층형 네트워크로서 동작하는 귀환형 네트워크에 의하여 실현된 본 발명의 뉴론 컴퓨터 실시예를 도시한다. 곱의합 연산은 중간층으로서 동작하는 ANP 1,2와 ANP 1,2 및 3에서 아날로그 입력 포트 1 및 2로 부터 시분할 아날로그 입력신호에 대하여 수행된다. 출력은 ANP 1,2 및 3으로 부터 아날로그 버스까지 시분할 방식에서 출력된다. 출력신호는 귀환부의 아날로그 공통버스 CB을 통하여 아나로그 버스 B1으로 귀환되고 다시 곱의합 연산은 ANP 1,2 및 3에서 귀환 신호에 인가된다. ANP 1,2 및 3은 출력층으로서 동작하게 만들어 계층형 네트워크를 실현한다. 최대치 노드회로 187은 마스터 제어 블록의 DSC출력을 받고 아날로그 버스 B2에 더미 신호를 생성한다. DCLK와 WCLK는 CSI신호의 상승과 하강 타이밍을 규정하기 위하여 마스터 제어 블록으로 부터 데이지 회로 171까지 입력된다.
제35a도는 귀환형의 계층형 네트워크의 타이밍 챠트를 도시한다. WCLK는 단지 DCLK의 상승 동안 생성된다. DCLK의 상승후 아날로그 신호는 일정하게 만들어지고 가중치 데이타는 연속적으로 입력된다. 마스터 제어 블록 181으로 부터 CSO1은 ①에 의해 도시된 것 처럼 그들이 병렬로 배열되고 신호가 상승하기 전 타이밍에서 데이지 회로 171에 입력된다. 이 시간에서 아날로그 신호가 아날로그 입력 포트 1로 부터 입력되고, 아날로그 스위치 175을 통하여 아날로그 버스 1에 나타나고 곱의합 연산이 ANP 1,2와 3에서 수행된 후 아날로그 신호는 샘플/홀드(S/H)회로에서 유지한다. 다음 DCLK입력시, 데이지회로 172에서 CSI는 시간 ②에 의해 도시된 것 처럼 상승한다. 아날로그 입력 포트로 부터 입력신호를 유지하기 위한 샘플/홀드 S/H회로로 부터 신호는 아날로그 스위치를 통하여 아날로그 버스 B1에 나타나고 두번째 곱의합 연산은 ANP 1,2와 3에서 수행된다. 게다가, DCLK가 다음 타이밍에서 입력후 더미 신호 DCS는 시간 ③에 의해 도시된 마스터 제어 블록으로 부터 생성되고 고정 전압에 대한 곱의합 연산은 ANP 1,2 및 3에서 수행된다. 다음 SYNC 신호가 상승하는 동안 곱의합 연산은 출력층에 대한 ANP 1,2 및 3에 의하여 수행된다.
가중치 메모리의 어드레스 1에 인가된 어드레스 카운터 금지 신호의 고 주기 동안 어드레스 카운터를 카운팅한 WCLK가 가능하고 어드레스 카운터의 카운트는 위에서 언급된 그들을 제외한 시간에서 금지된다. 다음, CSO 2가 마스터 제어 블록으로 부터 ANP1에 인가될때 ANP1은 아날로그 버스 B2에 전의 곱의합의 결과를 생성하고 그 결과는 아날로그 공통 버스 CB을 통하여 아날로그 버스 B1에 귀환된다. 그리고나서 제4도에서 도시된 것처럼 곱의합 연산은 다시 ANP 1,2 및 2에서 수행된다.
CSD 2가 ANP의 데이지 체인 회로에서 소정 주기에 의하여 지연되고 ANP로부터 출력신호의 시간은 아날로그 버스 B2, 공통버스 CB 및 아날로그 버스 A1과 B1을 통하여 다시 ANP1에 인가되어서, 곱의합 연산을 수행한다. 유사하게, ANP2로부터 CSO가 소정 주기에 의하여 지연된 후 지연된 CSO는 ANP3의 CSI신호가 된다. CSI신호가 시간 ⑥에 의해 도시될때 ANP 3의 출력신호는 아날로그 버스 B2, 공통 버스CB 및 아날로그 버스 B1을 통하여 ANP 1,2 및 3에 다시 귀환되어서 곱의합 연산이 수행된다. 유사하게 시간 7에 의하여 도시된 것처럼 더미 노드로 부터의 신호 DCS가 상승할때 곱의합 연산은 ANP 1,2 및 3에서 고정 전압에 대하여 수행된다. 다음의 CSO2 신호의 상승시 출력은 시간 ⑧과 ⑨에 의해 도시된 것처럼 S/H회로를 통하여 ANP 1과 2로 부터 생성된다. 아날로그 입력 포트 2는 신호를 생성하지 않는다.
ANP 1,2 및 3은 시간 ①,②와 ③에서 중간층과 ④,⑤ 및 ⑥시간에서 출력층으로서 동작한다. 따라서 ANP 1,2 및 3의 단지 한층이 계층형 네트워크를 형성한다.
[산업상 이용 가능성]
위에 서술된 발명에서 제7도에서 도시된 원리 구성의 네트워크 구성 데이타 처리 장치의 데이타 처리는 본 발명에 따른 학습처리 방법에 의하여 소정된 가중치 정보를 사용하여 실현된다.
다양한 실행 방법이 본 발명의 학습처리를 위해 생각된다. 하나의 실제 방법에서, 컴퓨터에서 가중치를 설정하기 위하여 배타적으로 네트워크 구성 데이타 처리 장치와 가중치 설정 장치는 본 발명에 따른 학습 알고리즘을 얻고 얻어진 가중치는 제21도에서 도시된 실제 네트워크 구성 데이타 처리장치의 가중치 데이타 메모리 150e로 부터 출력되어 출력을 생성한다. 또 다른 실행시스템에 따라서, 본 발명에 따른 학습 처리 알고리즘을 수행하기 위한 프로그램은 제21도에서 설명된 주 제어회로 150을 제어하기 위한 호스트 컴퓨터 150y에서 실행된다. 호스트 컴퓨터 150y는 새로운 가중치를 얻기 위한 실제 네트워크 구성 데이타 처리장치를 사용하여 가중치 갱신량을 계산한다. 새로운 가중치는 데이타 메모리 150e에서 설정되어 학습을 실행한다. 최종적으로 결정된 가중치는 데이타 처리를 실행한 가중치로서 가중치 메모리 150e에서 설정된다. 이때에 학습 처리를 위해 필요한 전의 그리고 전 전의 가중치 갱신량은 호스트 컴퓨터 150y의 주 메모리에서 발달된다. 그 설명은 위 실시예의 언급에 의해서 이루어지나 본 발명은 이 실시예에 한정되지 않는다. 계층형 네트워크에 관계한 정확한 수치와 설명을 위하여 사용된 제어 파라미터는 설명을 편리하게 한다. 본 발명은 종래 기술보다 작은 반복수에서 계층형 네트워크의 가중치값을 알수 있다. 그러므로 네트워크 구성데이타 처리 유니트는 실용적이다. 본 발명은 종래 기술과 비교하여 교사신호와 출력신호 사이의 차이와 불일치를 최소화 할 수 있다. 그래서 본 발명은 네트워크 구성 데이타 처리 장치에 따른 데이타 처리 함수의 정확성을 증가할 수 있다.
Claims (12)
- 전단층으로 부터의 하나 또는 다수의 입력과 이 입력에 대하여 승산되어야 할 가중치를 받아서 곱의 합을 얻고 얻어진 곱의 합 값을 임계치 함수에 의해 변환하여 최종 출력을 얻는 기본 유니트를 형성하고, 입력층, 다수의 상기 기본 유니트를 사용하는 하나 또는 다수단의 중간층 및, 하나 또는 다수의 기본 유니트로 이루어진 출력층을 갖고, 입력층과 최전단의 중간층 사이, 중간층 상호간 및 최종단의 중간층과 출력층과의 사이에서 내부 결합을 구성하고 내부결합에 따라 상기 가중치가 결정되어 지는 것으로 계층형 네트워크를 구성하는 데이타 처리장치에 있어서, 다수의 소정의 입력신호가 입력층의 기본 유니트에 공급될때 출력층의 기본 유니트에서 상기 입력신호에 대응하는 출력신호를 얻는 출력신호 도출수단, 상기 출력신호 도출수단에 의해 얻어진 출력신호와 출력신호가 취해야 할 값을 지시하는 교사신호를 얻고, 2개의 신호사이의 불일치를 표시하는 오차값을 산출하는 오차값 산출수단 및, 전의 가중치 갱신 사이클과 전전의 가중치 갱신 사이클의 갱신량을 저장하며, 상기 오차값 산출수단으로 산출된 편미분값을 첫번째 파라미터 -ε에 곱하는 첫번째 승산기, 전의 가중치 갱신 사이클의 가중치 갱신량을 두번째 파라미터 α에 곱하는 두번째 승산기, 전전의 가중치 갱신 사이클의 가중치 갱신량을 세번째 파라미터 β에 곱하는 세번째 승산기, 및 상기 첫번째, 두번째, 세번째 승산기에 의해 얻어진 승산 결과를 가산하여 다음의 가중치 갱신량을 산출하는 가산기를 포함하는 가중치 학습 수단으로 구성되는 것을 특징으로 하는 네트워크 구성데이타 처리장치의 학습처리방식.
- 제1항에 있어서, 상기 가중치 학습수단이 첫번째 파라미터 -ε, 두번째 파라미터 α및 세번째 파라미터 -β를 임시로 저장하는 레지스터그룹, 현재의 가중치 갱신량, 전의 가중치 갱신량 및 전의 가중치 갱신량보다 앞서 얻은 전전의 가중치 갱신량을 저장하는 메모리수단, -ε에 오차의 편미분의 값을 곱하는 첫번째 승산, α에 전의 가중치 갱신값 △W(t-1)를 곱하는 두번째 승산 및 -β에 전의 가중치 갱신값보다 앞서 얻은 전전의 가중치 갱신량 △W(t-2)을 곱하는 세번째 승산을 수행하는 승산수단, 상기 3개의 승산결과를 가산하는 첫번째 가산수단, 상기 첫번째 가산수단의 결과에 가중치 데이타 메모리로 부터 판독된 가중치 W(t)를 가산하기 위한 두번째 가산수단 및 가중치와 가중치 갱신량을 저장하는 가중치 데이타 메모리 그룹으로 이루어진 네트워크 구성 데이타 처리장치의 학습처리방식.
- 제2항에 있어서, 상기 가중치 갱신량 △W(t), 전의 가중치 갱신량 △W(t-1) 및 전의 가중치 갱신량 보다 앞서 얻은 전전의 가중치 갱신량 △W(t-2)를 저장하고, 어드레스 신호로서 공통의 가중치 선택신호를 갖는 메모리와, 시프트 신호를 온(on)으로 하는 것에 의해 가중치 갱신량 △W(t) 메모리 (62)로 부터 전의 가중치 갱신량 △W(t-1)메모리(63), 전의 가중치 갱신량 △W(t-1)메모리(63)으로 부터 전전의 가중치 갱신량 △W(t-2)메모리(64)에 가중치 갱신량을 순차적으로 시프트하므로 같은 내용이 상기 메모리간의 같은 어드레스에 저장되고, 그것에 의해 가중치 갱신량의 복사를 실행하는 것을 특징으로 하는 네트워크 구성의 데이타 처리장치의 학습처리방식.
- 제2항에 있어서, △W(t)의 가중치 데이타 메모리, △W(t)의 가중치 데이타 메모리 및 층번호, 유니트 번호 및 어드레스 신호로서 결선 변호로 이루어진 가중치 선택신호를 사용하는 전의 그리고 전전의 가중치 갱신량 △W(t-1)과 △W(t-2)를 저장하기 위한 가중치 데이타 메모리들로 이루어진 것을 특징으로 하는 네트워크 구성 데이타 처리장치의 학습처리방식.
- 입력층, 중간층 및 출력층으로 이루어진 적어도 3층으로 되는 계층형 네트워크, 네트워크에 입력되는 입력신호를 유지하기 위한 입력신호 유지부, 교사신호를 유지하는 교사신호 유지부, 상기 네트워크에 입력 신호 유지부로 부터의 상기 입력신호를 받아 출력된 출력신호와 상기 교사신호 유지부로 부터의 교사신호 사이의 오차를 산출하고, 오차의 가중치에 대한 편미분를 출력하는 오차산출수단, 상기 편미분의 값을 수신하고, 갱신량 △W(t)와 전의 그리고 전전의 가중치 갱신량 △W(t-1)과 △W(t-2)를 사용함으로써 가중치 학습을 실행하는 가중치 학습수단, 및 상기 가중치 학습수단의 결과에 의해 결정된 가중치값 W(t)를 데이타 가중치 메모리(61)의 계층형 네트워크에 제공하고, 상기 가중치 학습수단의 초기 설정을 행한후 가중치 학습수단의 갱신을 제어하고, 얻어진 가중치값 W(t)를 상기 네트워크에 제공하고, 네트워크 동작실행의 제어 및 상기 입력신호 유지수단에 패턴 선택신호를 제공하고, 상기 오차 산출수단에 대해 적절한 제어를 실행하는 주제어회로 수단을 갖는 것을 특징으로 하는 네트워크 구성 데이타 처리장치의 학습처리방식.
- 제5항에 있어서, 내부 가중치 데이타 저항 메모리(62,63,64)에 대한 클리어 신호, 현재의 △W(t)를 저장하는 메모리(62)에서 전의 갱신량과 전의 갱신량에서 전전의 갱신량의 가중치 갱신량을 복사하기 위한 시프트 신호, 각 메모리의 어드레스 신호에 대해 사용된 가중치 선택신호, 각 가중치 메모리(61~64)의 리딩을 제어하기 위한 가중치 리딩신호, 가중치 데이타 메모리(61)의 초기치를 설정하기 위한 설정신호와 학습파라미터신호 -ε,α 및 -β, 및 각 동작을 동기화하기 위한 가중치 갱신신호(90)가 상기 주제어회로의 가중치 학습수단의 제어신호로 출력되는 것을 특징으로 하는 네트워크 데이타 처리장치의 학습처리방식.
- 제6항에 있어서, 상기 가중치 갱신신호가 첫번째 주기의 승산, 및 두번째 주기의 데이타 △W(t)를 출력하기 위한 첫번째 가산, 세번째 주기의 가중치 데이타 W(t)를 갱신하기 위한 두번째 가산, 네번째 주기에서 가중치 데이타 메모리(61)에 가중치 데이타의 저장을 행할 수 있게 제어하는 동기 펄스신호를 포함하는 것을 특징으로 하는 네트워크 구성 데이타 처리장치의 학습처리방식.
- 제1항에 있어서, 상기 기본 유니트가 아날로그 칩으로 이루어진 것을 특징으로 하는 네트워크 구성 데이타 처리장치의 학습처리방식.
- 제1항에 있어서, 상기 계층형 네트워크가 아날로그 시분할 신호에 의해 제어되는 것을 특징으로 하는 네트워크 구성 데이타 처리장치의 학습처리방식.
- 제5항에 있어서, 아날로그 뉴론 칩으로 이루어진 네트워크에 가중치 학습수단의 모든 데이타 메모리(61),(62),(63)과 (64)가 동일한 어드레스에 대응하는 갱신량과 가중치를 저장하고, 시리얼 리드 및 라이트 형태인 것을 특징으로 하는 네트워크 구성 데이타 처리장치의 학습처리방식.
- 전단층으로 부터의 하나 또는 다수의 입력과 이 입력에 대하여 승산되어야 할 가중치를 받아서 곱의 합을 얻고 얻어진 곱의 합 값을 임계치 함수에 의해 변환하여 최종출력을 얻는 기본 유니트를 형성하고, 출력을 입력에 귀환하는 귀환경로를 갖고, 입력층, 중간층 및 출력층을 상기 다수의 상기 기본 유니트로 이루어지는 단일층 구조에 의해 형성하고, 단일층 구조의 출력을 귀환 경로를 통하여 입력에 귀환시켜, 상기 단일층 구조를 순차적으로 입력층, 중간층 및 출력층으로서 동작시키고, 다수의 입력신호를 입력층의 기본 유니트에 공급함으로써 출력층의 기본 유니트로 부터의 입력신호에 대응하는 출력신호를 얻기 위한 출력신호 도출 수단과, 상기 출력신호 제공수단으로 부터 얻은 출력신호와 출력신호가 취해야 할 값을 지시하는 교사신호를 얻고, 상기 2개의 신호간의 불일치를 나타내는 오차값을 산출하기 위한 오차값 산출수단과, 전의 가중치 갱신 사이클과 전전의 가중치 갱신 사이클의 갱신량을 저장하며, 상기 오차값 산출수단으로 산출된 편미분값을 첫번째 파라미터 -ε에 곱하는 첫번째 승산기, 전의 가중치 갱신 사이클의 가중치 갱신량을 두번째 파라미터 α에 곱하는 두번째 승산기, 전전의 가중치 갱신 사이클의 가중치 갱신량을 세번째 파라미터 β에 곱하는 세번째 승산기, 및 상기 첫번째, 두번째, 세번째 승산기에 의해 얻어진 승산 결과를 가산하여 다음의 가중치 갱신량을 산출하는 가산기를 포함하는 가중치 학습수단(50)으로 구성되는 것을 특징으로 하는 네트워크 구성 데이타 처리장치의 학습처리방식.
- 제1항에 있어서, 상기 가중치 학습수단이 편미분 방정식JW(t)+MW(t)+DW(t)=-에 기초하여 오차값(E(t))를 근거로 하여 가중치 (W(t))를 결정하는 수단을 포함하고, 편미분 방정식을 차등근사하여 가중치 갱신량 △W에 대하여 풀면 다음과 같고,상기 가중치 갱신량이 전의 갱신사이클보다 앞선 전전의 갱신사이클에 의해 얻은 가중치 갱신량△W(t-2)에 관련된 데이타인자를 포함하는 것을 특징으로 하는 네트워크 구성 데이타 처리장치의 학습처리 방식.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63-227825 | 1988-09-12 | ||
JP22782588 | 1988-09-12 | ||
PCT/JP1989/000929 WO1990003006A1 (en) | 1988-09-12 | 1989-09-11 | Learning processing system of network structure data processing unit |
Publications (1)
Publication Number | Publication Date |
---|---|
KR940001172B1 true KR940001172B1 (ko) | 1994-02-16 |
Family
ID=26430404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019900700990A KR940001172B1 (ko) | 1988-09-12 | 1989-09-11 | 네트워크 구성데이타 처리장치의 학습처리 방식 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR940001172B1 (ko) |
-
1989
- 1989-09-11 KR KR1019900700990A patent/KR940001172B1/ko active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5131072A (en) | Neurocomputer with analog signal bus | |
US5333239A (en) | Learning process system for use with a neural network structure data processing apparatus | |
US5506998A (en) | Parallel data processing system using a plurality of processing elements to process data and a plurality of trays connected to some of the processing elements to store and transfer data | |
EP0385873A2 (en) | A learning system in a neuron computer | |
US6654730B1 (en) | Neural network arithmetic apparatus and neutral network operation method | |
JP7150998B2 (ja) | 超伝導ニューロモルフィックコア | |
US5369731A (en) | Asynchronous control system for a neuro computer | |
JPH02193251A (ja) | エラー後方伝ぱん法と神経網システム | |
US5216746A (en) | Error absorbing system in a neuron computer | |
KR940001172B1 (ko) | 네트워크 구성데이타 처리장치의 학습처리 방식 | |
JPH076146A (ja) | 並列データ処理システム | |
CN112949834B (zh) | 一种概率计算脉冲式神经网络计算单元和架构 | |
EP0388474B1 (en) | Learning processing system of network structure data processing unit | |
US12050982B1 (en) | Delay spiking neural networks | |
TW305998B (en) | Weighted sum type of artificial neural network with reconfigurable structure and bit-serial I/O mode | |
JP2765903B2 (ja) | 情報処理装置 | |
JP2618470B2 (ja) | ニューロコンピュータにおける重み補正による誤差吸収方式 | |
JPH05197707A (ja) | 情報処理システム | |
JPH05501467A (ja) | ニューロ計算システム | |
JPH02226383A (ja) | ニューロコンピュータの集中制御方式 | |
JPH0266688A (ja) | ホップフィールドネット | |
JP2766858B2 (ja) | ニューラルネットワーク並列シミュレーション方法及びそれに用いる装置 | |
JPH07101415B2 (ja) | 情報処理装置及びその学習方法 | |
JPH02232725A (ja) | マルチダミーノードを有するニューロコンピュータ | |
JPH02232786A (ja) | ニューロコンピュータにおける可変積分パルスによる誤差吸収方式 |