KR100406315B1 - 놈을 신경망에 공급되는 입력 패턴의 각각의 성분에결합하는 회로 및 방법 - Google Patents

놈을 신경망에 공급되는 입력 패턴의 각각의 성분에결합하는 회로 및 방법 Download PDF

Info

Publication number
KR100406315B1
KR100406315B1 KR10-2001-0039275A KR20010039275A KR100406315B1 KR 100406315 B1 KR100406315 B1 KR 100406315B1 KR 20010039275 A KR20010039275 A KR 20010039275A KR 100406315 B1 KR100406315 B1 KR 100406315B1
Authority
KR
South Korea
Prior art keywords
norm
component
distance
neuron
input pattern
Prior art date
Application number
KR10-2001-0039275A
Other languages
English (en)
Other versions
KR20020006586A (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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20020006586A publication Critical patent/KR20020006586A/ko
Application granted granted Critical
Publication of KR100406315B1 publication Critical patent/KR100406315B1/ko

Links

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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Memory System (AREA)
  • Character Discrimination (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명의 방법 및 회로는 거리 계산 프로세스(the distance evaluation process)동안에 놈(a norm)을 입력 공간 맵핑 알고리즘 기반 인공 신경망(an input space mapping algorithm based artificial neural network(ANN))에 공급되는 입력 패턴의 각각의 성분(each component of an input pattern)에 결합하는 것을 목적으로 한다. "성분" 놈("component" norm)이라고 불리는 놈의 세트(the set of norms)는 ANN내의 특정 메모리 수단내에 기억된다. 제 1 실시예에서, ANN에는 ANN의 모든 뉴런(neuron)에 공통된 글로벌 메모리(a global memory)가 제공되는데, 이는 모든 성분 놈(norm)을 기억한다. 입력 패턴의 각각의 성분에 대하여, 모든 뉴런은 결합된 성분 놈(norm)을 이용하여 거리 계산 프로세스 동안에 저장된 해당하는 원형 성분(prototype component)을 가지고 기본적인(또는 부분적인) 거리 계산을 수행한다. 그런 다음, 거리 기본 계산(the distance elementary calculations)은 "거리" 놈(a "distance" norm)을 이용하여 결합되어 입력 패턴과 뉴런내에 저장된 원형사이의 최종 거리가 결정된다. 다른 실시예에서, 성분 놈(norm)의 세트는 원형 기억 수단(the prototype memorization menas)내의 뉴런 자체내에 기억되어 글로벌 메모리는 더 이상 물리적으로 필요하지 않게 된다. 이러한 실시예는 ANN이 실리콘 칩(a silicon chip)내에 집적되는 경우에 소모된 실리콘 영역을 실질적으로 최적화하는 것을 가능하게 한다.

Description

놈을 신경망에 공급되는 입력 패턴의 각각의 성분에 결합하는 회로 및 방법{METHOD AND CIRCUITS FOR ASSOCIATING A NORM TO EACH COMPONENT OF AN INPUT PATTERN PRESENTED TO A NEURAL NETWORK}
본 발명은 인공 신경망(artificial neural networks(ANNs))에 관한 것으로, 보다 구체적으로는 놈(norm)을 입력 공간 맵핑 알고리즘 기반 인공 신경망(an input space mapping algorithm based artificial neural network)에 공급되는 입력 패턴(an input pattern)의 각각의 성분(component)에 결합하는 방법 및 회로에 관한 것이다. 이 방법에 따르면, 거리 계산 프로세스(distance evaluation process)에서 상이한 타입의 놈(norm)이 사용되는데, 이는 거리 계산 프로세스동안에 이러한 신경망에 공급되는 입력 패턴의 각각의 성분에 대한 기본(또는 부분) 거리의 계산을 적응하기 위한 것이다.
근래의 데이터 처리에 있어서, 입력 데이터를 특징짓는 데에 이용되는 기준 데이터베이스를 이용하여 많은 인식(recognition), 예측(prediction) 및 계산(computation) 업무가 수행된다. 이들 기준 데이터베이스는 해결하고자 하는 문제에 따라, 데이터의 부영상(sub-image), 부신호(sub-signals), 서브세트(subsets) 및 이들의 결합인 패턴(pattern)을 포함한다. 이들 기준 데이터베이스에 저장된 패턴은 본 명세서에서 이후에 원형(prototypes)이라고 불린다. 본 기술 분야의 당업자에게 알려진 바와 같이, 이들은 전반적으로 벡터(vector), 즉 p-차 공간내의 배열(an array in a p-dimensional space)에 의해서 나타난다. 기준 데이터베이스를 이용하여, 본 명세서에서 이후에 입력 패턴이라고 불리는 새로운 (알려지지 않은)패턴을 특징짓는 잘 알려진 방법은 K-최근점 이웃(K-Nearest-Neighbor(KNN)) 또는 영향 영역(Region Of Influence(ROI))과 같은 입력 공간 맵핑알고리즘에 근거한다. 이들 알고리즘의 기본 원리는 입력 패턴과 각각의 저장된 원형 사이의 거리(dist)를 계산하는 것인데, 이는 미리 결정된 임계치(predetermined threshold)에 무관하게 가장 근접한 것을 찾기 위한 것이다. IBM사에 양도된 미국 특허 5,621,863은 ZISC 뉴런(ZISC neurons)(ZISC는 IBM사의 등록 상표임)이라고 불리는 새로운 타입의 새로운 기본 프로세서를 포함하는 이러한 입력 공간 맵핑 알고리즘에 근거한 인공 신경망을 기술한다. ZISC 뉴런의 필수적인 특징은 병렬적으로 작업할 수 있는 자신의 능력에 있는데, 즉 입력 패턴이 ANN에 공급되는 경우에 모든 ZISC 뉴런이 입력 패턴과 자신의 저장된 원형 사이의 거리를 동시에 계산하는 것이다. 이들 알고리즘의 한 가지 중요한 양상은 거리 계산 프로세스에서 이용되는 "놈(norm)"이라고 불리는 거리 계산 관계(distance evaluation relation)이다. 이러한 놈(norm)의 선택은 한편으로는 해결해야할 문제에 의해서 결정되며, 다른 한편으로는 이러한 문제를 해결하는 데에 이용되는 지식(knowledge)에 의해서 결정된다. ZISC 뉴런내에서, 저장된 입력 패턴 A와 원형 B 사이의 거리는 MANHATTAN 거리(L1 놈(L1 norm)), 즉 dist = sum (abs(Ak-Bk)) 또는 MAXIMUM 거리(Lsup 놈(Lsup norm)), 즉 dist = max(abs(Ak-Bk))를 이용하여 계산되는데, 여기서 Ak 및 Bk는 각기 입력 패턴 A 및 저장된 원형 B에 대한 계수 k(rank k)(변수 k는 1에서 p까지 변함)의 성분이다. "abs"는 "절대값(absolute value)"의 통상적인 약자임에 주의하여야 한다. 예를 들면 dist = square root(sum (Ak-Bk)2)인 L2 놈(L2 norm)과 같은 다른 놈(norm)이 존재한다. L2놈(norm)은 "유클리디안(Euclidean)"이라고 불리며, L1 및 Lsup 놈(norm)은 "비유클리디안(non-Euclidean)" 놈(norm)의 예이나, 이들은 모두 거리 관계에 있어서의 각각의 성분에 대한 차(Ak-Bk)의 조작(handling)을 의미한다. (정합/비정합과 같은)다른 유클리디안(Euclidean) 또는 비유클리디안(non-Euclidean) 놈(norm)은 ANN 분야의 당업자에게 알려져 있다. ZISC 뉴런에 있어서, L1 또는 Lsup 놈(norm) 사이의 선택은 뉴런내에 저장된 "놈" 비트("norm" bit)(No)라고 불리는 단일 비트 값에 의해서 결정된다.
반면에, "컨텍스트(context)"의 개념은 ZISC 뉴런에 의해서 도입된 신규한 개념이다. 컨텍스트는 상이한 타입의 입력 패턴을 분별하는 데에 바람직하게 이용될 수 있다. 예를 들면, 컨텍스트가 상부 문자와 하부 문자(the upper case and the lower case characters)를 구별하는 데에(또는 상이한 타입의 폰트(fonts)를 구별하는 데에) 이용될 수 있다. ZISC 뉴런에서, 이러한 접근 방식은 뉴런내에 저장된 로컬 컨텍스트(a local context)(Cxt) 및 ZISC 칩의 공통 레지스터내에 보유된(held) 글로벌 컨텍스트(a global context)(CXT)를 가지고 수행된다. 결과적으로, 컨텍스트 접근 방식은 결정된 컨텍스트를 가지고 학습된 뉴런을 선택하는 것을 가능하게 하며, ANN내의 모든 다른 뉴런을 억제하는 것을 가능하게 할 것이다. 인식동안에 글로벌 컨텍스트 값은 각각의 뉴런내에 저장된 로컬 컨텍스트와 비교되는데, 만약 동일한 것으로 판명되면 이 뉴런이 선택될 것이며, 그렇지 않다면 이 뉴런은 억제될 것이다. 결과적으로, 컨텍스트는 ANN을 단일 신경망 또는 모든 뉴런의 그룹이 동일한 로컬 컨텍스트를 가지는 분리된 그룹의 뉴런의 배열로 구성하는것을 가능하게 한다. ZISC 뉴런에 관한한, (로컬 또는 글로벌)컨텍스트는 7 비트상에 코딩된 값(coded value)이다.
따라서, ZISC 뉴런에서는 로컬 놈(local norm)/컨텍스트(context)(No/cxt) 레지스터라고 불리는 특정 레지스터가 존재하는데, 이는 1 비트 놈(norm)(No) 및 7 비트 컨텍스트(cxt) 신호를 저장한다. 참가/학습 프로세스(engagement/learning process)의 마지막에서, 로컬 놈(norm)/컨텍스트 레지스터의 컨텐츠(content)는 ANN내에 저장된 글로벌 놈(norm)/컨텍스트로 자동으로 로딩(loading)된다. 1 비트 놈(norm) 및 7 비트 컨텍스트 신호는 ZISC 칩의 제어 로직 회로에 인가된다.
지금까지, 저장된 원형의 성분의 완전성(totality)을 위하여 단지 하나의 놈(norm)만이 이용되었다. ZISC 뉴런에서, 각각의 성분에 인가되는 놈(norm)은 연산자 "차의 절대값(absolute value of a difference)"를 이용한다. 그런 다음, L1 놈(norm)인 경우에 연속하는 값이 더해지거나, Lsup 놈(norm)인 경우에는 이 중 최대 값이 선택된다. 그러나, 몇몇 경우에는, 성분의 성질에 기인하여, 애플리케이션에 의존하여 입력 패턴(input pattern)/저장된 원형(stored prototype)의 각각의 성분에 대하여 상이할 수 있는 놈(norm)을 결합시킬 것이 가치가 있다. 예를 들면, 만약 부영상(sub-image)을 특징짓는 2개의 저장된 원형의 성분이 컬러 인덱스(a color index) 및 이러한 부영상내의 컬러 인덱스의 픽셀의 수를 각기 나타낸다면, 컬러 인덱스 관련 성분에 대한 정합/비정합 놈(match/no match norm) 및 픽셀 관련 성분의 수에 대한 절대값 기반 놈(an absolute value based norm)을 이용하는 것이 유용할 것이다. 통상적인 ANN을 이용하는 경우에 이러한 접근 방식을다루는 주된 어려움은 상이한 놈(norm)을 입력 벡터/저장된 원형의 성분에 결합하며 이러한 조건에서 거리 계산 프로세스를 처리하는 데에 실리콘 칩내에 상당한 양의 메모리 및 로직 회로가 요구된다는 것이다.
결과적으로, 지금까지 이러한 매우 요망되는 특징을 가능하게 하는 기술은 알려지지 않았다. 사실, 전술한 미국 특허에서 기술된 인공 신경망은 뉴런당 단지 하나의 놈(norm)만을 이용하는 것을 가능하게 하는데, 따라서 놈(norm)은 저장된 원형의 모든 성분에 대하여 동일하다. 이것은 상이한 성질의 성분을 가지는 입력 패턴/저장된 원형을 조절하는 것이 요구되는 경우에 통상적인 입력 공간 맵핑 알고리즘 기반 신경망의 이용을 확장하는 데에 있어서, 특히 ZISC 뉴런으로 구성된 ANN의 이용을 확장하는 데에 있어서 심각한 제한 요소로 된다.
따라서, 본 발명의 주된 목적은 놈(norm)을 입력 공간 맵핑 알고리즘 기반 인공 신경망에 공급되는 각각의 입력 패턴의 성분에 결합하는 방법 및 회로를 제공하는 것이다.
본 발명의 다른 목적은 놈(norm)을 입력 공간 맵핑 알고리즘 기반 인공 신경망에 공급되는 각각의 입력 패턴의 성분에 결합하는 방법 및 회로를 제공하여 거리 계산 프로세스에서 상이한 놈(norm)의 이용을 가능하게 하는 것이다.
본 발명의 또 다른 목적은 상이한 성질의 성분을 가지는 입력 패턴을 조절하는 것이 필요한 경우에 놈(norm)을 입력 공간 맵핑 알고리즘 기반 인공 신경망에공급되는 각각의 입력 패턴의 성분에 결합하는 방법 및 회로를 제공하는 것이다.
본 발명의 또 다른 목적은 놈(norm)을 모든 놈(norm)이 글로벌 메모리 내에 기억된 입력 공간 맵핑 알고리즘 기반 인공 신경망에 공급되는 각각의 입력 패턴의 성분에 결합하는 방법 및 회로를 제공하는 것이다.
본 발명의 또 다른 목적은 놈(norm)을 다수의 세트의 놈(norm)을 처리하는 입력 공간 맵핑 알고리즘 기반 인공 신경망에 공급되는 각각의 입력 패턴의 성분에 결합하는 방법 및 회로를 제공하는 것이다.
본 발명의 또 다른 목적은 놈(norm)을 놈(norm)이 뉴런내에 기억되는 입력 공간 맵핑 알고리즘 기반 인공 신경망에 공급되는 각각의 입력 패턴의 성분에 결합하는 방법 및 회로를 제공하는 것이다.
이들 및 다른 관련 목적은 놈(norm)을 입력 공간 맵핑 알고리즘 기반 인공 신경망(ANN)에 공급되는 각각의 입력 패턴의 성분에 결합하는 것을 목적으로 하는 본 발명의 방법 및 회로에 의해서 달성된다. "성분" 놈("component" norm)이라고 불리는 놈의 세트(the set of norms)는 ANN내의 특정 기억 수단내에 기억된다. 제 1 실시예에서, 모든 뉴런에서 통상적인 바와 같이 모든 성분 놈(norm)을 기억하는 글로벌 메모리가 향상된 ANN에 제공된다. 각각의 입력 패턴의 성분에 대하여, 뉴런은 뉴런내에 국부적으로 저장된 로컬 성분 놈(norm) 또는 글로벌 메모리내에 저장된 글로벌 성분 놈(norm) 중에서 하나를 선택하여 거리 계산 프로세스에서의 기본적인(또는 부분적인)계산을 수행할 것이다. 그런 다음, 기본적인 계산은 "거리" 놈("distance" norm)을 이용하여 결합되어 입력 패턴과 각각의 저장된 원형사이의최종 거리를 결정한다. 제 2 실시예에서, 성분 놈(norm)의 세트는 뉴런 자체내에 기억된다. 이러한 실시는 ANN이 실리콘 칩내에 집적되는 경우에 소모된 실리콘 영역을 상당히 최적화하는 것을 가능하게 한다. 이리하여 뉴런의 원형 성분 기억 수단은 글로벌 메모리 기능을 수행하여 특정 글로벌 메모리를 더 이상 물리적으로 필요로 하지 않는다.
본 발명의 특징이라고 여겨지는 신규한 특성은 첨부된 청구항에서 기술된다. 그러나, 본 발명의 이들 목적과 다른 관련 목적 및 장점뿐만 아니라 본 발명은 그 자체로서 수반하는 도면과 결합하여 읽혀질 다음의 상세한 기술을 참조하여 가장 잘 이해될 것이다.
도 1은 글로벌 메모리(global memory)를 포함하여 본 발명에 따른 입력 패턴/저장된 원형(input pattern/stored prototypes) 및 다수의 뉴런(a plurality of neurons)의 성분(component)과 결합된 성분 놈의 세트(the set of component norms)를 기억하는 향상된 인공 신경망(artificial neural network)(ANN)의 개략적인 블록 구조도,
도 2는 본 발명의 방법의 주된 단계를 요약하는 흐름도,
도 3은 글로벌 메모리 및 뉴런의 필수 요소의 내부 구성을 설명하기 위하여 하나의 뉴런에 한정된 도 1의 블록 구조,
도 4는 입력 패턴/저장된 원형의 각각의 성분에 대하여 상이한 놈(norm)으로 입력 패턴과 저장된 원형사이의 최종 거리를 계산하는 거리 계산 프로세스에서의 어드레스 버스의 역할을 나타내기 위하여 도 1의 향상된 ANN의 동작을 설명하는 도면,
도 5는 해당하는 수의 글로벌 메모리를 실행함으로써 다수의컨텍스트(context)를 이용하도록 적응된 도 1의 향상된 ANN의 구조를 나타내는 도면,
도 6은 본 발명에 따라 글로벌 메모리 기능을 내부적으로 수행하는 능력을 추가하도록 변형된 도 3의 뉴런을 나타내는 도면,
도 7은 향상된 ANN이 실리콘 칩내에 집적된 경우에 도 6의 뉴런을 포함하여 소모된 실리콘 영역을 최적화하는 도 1의 향상된 ANN의 블록 구조도,
도 8은 도 7의 향상된 ANN의 동작 및 특히 컨텍스트가 실행되지 않는 경우에 기능 플래그 레지스터(function flag register)의 역할을 설명하는 도면,
도 9는 도 7의 향상된 ANN의 동작 및 특히 하나의 컨텍스트가 실행되는 경우에 기능 플래그 레지스터의 역할을 설명하는 도면.
도면의 주요 부분에 대한 부호의 설명
10 : 향상된 인공 신경망 12 : 글로벌 메모리
13 : 데이터 입력 버스 14 : 뉴런
15-1, 15-n : 거리 계산기 16-1, 16-n : 로컬 메모리
17-1, 17-n, 18-1, 18-n : 레지스터 19 : G_C_norm 버스
20 : 어드레스 버스
본 발명의 기본 원리는 거리 계산 프로세스에서 각각의 입력 패턴/저장된 원형의 성분에 결합된 놈(norm)(즉, 상기 언급된 연산자)을 이용하는 것이다. (따라서, 각각의 성분에 대하여 상이할 수 있는)이러한 놈(norm)은 본 명세서에서 이후에 줄여서 "성분" 놈("component" norm)(C_norm)이라고 불릴 것이다. C_norm은 뉴런내에 국부적으로 저장되거나 전체 ANN에 공통적인 "글로벌 메모리(global memory)"내에 저장된다. 이러한 경우에, 글로벌 메모리는 전체 C-norm 세트를 기억하여 결정된 입력 패턴 성분에 대하여 동일한 놈(norm)이 모든 뉴런에 결합되도록 한다. C_norm은 첫 번째 경우에는 "localC_norm"으로, 그리고 두 번째 경우에는 "globalC_norm"으로, 또는 각기 줄여서 L_C_norm 및 G_C_norm으로레이블링(labeling)될 것이다. 입력 패턴이 뉴런내에 저장된 원형과 비교되는 경우에, 결합된 C_norm을 이용한 각각의 쌍의 해당하는 성분(Ak,Bk)의 처리는 기본적인(또는 부분적인) 거리 값을 제공한다. 각각의 성분에 대하여 얻어진 기본적인 거리 값은 결합되어 "거리" 놈("distance" norm)이라고 불리는 제 2 놈(norm)을 이용한 최종 거리 값을 제공한다. 예를 들면, L1 놈(norm)에서, C_norm은 "절대값(absolute value)" 연산자(operator)이며, 거리 놈(norm)은 "가산(addition)" 연산자이다. Lsup 놈(norm)에서, C_norm이 여전히 "절대값" 연산자라면, 거리 놈(norm)은 "최대값(maximum value)" 연산자이다. 성분 및 거리 놈(norm)의 성질에 의존하여, 최종 값은 순수한 수학적인 의미에서의 거리로 간주되거나(예를 들면, L1 Lsup 놈(norm)이 이용되는 경우), 또는 그렇지 않을 수 있다. 그러나, 상기 언급된 미국 특허와 관련되어 간단하게 하기 위하여, 아래의 명세서에서 사용될 "거리(distance)" 및 "놈(norm)"이라는 용어는 통상적인 의미로 이해되어야 할 것이다. 환언하면, 수학적인 정의의 모든 기준을 전적으로 충족하지 않더라도 입력 벡터와 저장된 원형사이의 비교의 결과 값은 "거리"라고 불릴 것이다. 이후의 기술은 상기 "거리" 놈(norm)을 참조하여 이루어질 것인데, 각각의 뉴런내에 국부적으로 저장되는 경우에는 줄여서 L_D_norm으로 나타날 것이며, ANN내의 모든 뉴런에 공통인 경우에는 G_D_norm으로 나타날 것이다.
본질적으로, 글로벌 메모리(통상적으로 레지스터의 세트)는 독립적인 메모리이다. 본 명세서에 기술된 새로운 해결법은 입력/출력 단자(I/Os)의 수를 증가시키지도 않고 (인식 단계에서)호스트 컴퓨터(host computer)에서의 특정 데이터 전처리를 요구하지도 않는다. 더욱이, 모든 뉴런내에 존재하는 원형 성분 기억 수단(prototype component memorization means), 즉 ANN을 구성하는 뉴런내에 위치한 모든 원형 메모리의 합과 비교하여 추가된 메모리의 양이 매우 작다. 결과적으로, 이러한 원리는 (1) 호스트 컴퓨터내의 데이터의 전처리 시간, (2) 계산/기억 수단의 복잡도(the complexity of the evaluation/memorization means) 및 (3) ANN을 집적하는 실리콘 칩내의 I/O의 수를 증가시키지 않고서 실시될 수 있다. 추가적으로, 이후에 보다 상세히 설명될 바와 같이 하나(또는 그 이상의) 뉴런을 이러한 메모리 기능을 수행하는 데에 전용함으로써 실리콘 영역은 더욱 최적화될 수 있다.
도 1은 본 발명의 제 1 실시예에 따른 향상된 인공 신경망(ANN)(10)의 블록 구조를 도식적으로 나타낸다. ANN(10)은 ANN(11) 및 참조 부호 12의 상기 언급된 글로벌 메모리를 포함한다. 글로벌 메모리(12)는 p 개의 성분 놈(norm)(즉, 성분당 하나)을 저장하도록 설계된다. 호스트 컴퓨터 또는 제어 로직으로부터의 데이터(도시되지 않음)는 표준 방식으로 데이터 입력 버스(data-in bus)(13)를 경유하여 ANN(11)으로 공급된다. ANN(11)은 14-1 내지 14-n까지의 다수의 n개의 독립 뉴런을 포함하는데, 이를 총칭하여 참조 부호 14로 나타난다. 도 1에 나타난 특정 실시에서, 뉴런(14)은 기본적으로 단지 조금 변형된 통상적인 ZISC 뉴런이다. 도 1에서, 각각의 뉴런, 예를 들면 14-1은 거리 계산기(a distance evaluator)(15-1) 및 로컬 메모리(16-1)를 포함하여 원형 성분을 저장하는데, 이는 통상적으로 원형 메모리(prototype memory)라고 불린다. 거리 계산기(15-1)는 데이터 입력버스(13)를 경유하여 호스트 컴퓨터 및 자신의 원형 메모리(16-1)에 접속되어 각각의 쌍의 해당하는 성분을 표준 방식으로 처리하여 기본적인 거리를 계산함으로써 입력 패턴과 저장된 원형사이의 거리 계산을 수행한다. 이는 레지스터 17-1 및 18-1을 더 포함하여 이러한 기본적인 거리 계산을 하는 데에 이용되는 L_C_norm 및 L_D_norm을 각기 기억한다. 이에 대한 대안(alternative)은 전용 버스를 경유하여, 각각의 뉴런(14)에 G_D_norm을 공급하는 전체 ANN(10)에 단일 레지스터를 가지는 것일 것이다. 설명의 이러한 단계에서, (레지스터(17-1)를 제외한다면)ANN(11)의 구조 및 뉴런(14-1)의 내부 구조는 실질적으로 상기 언급한 미국 특허의 상세한 설명과 동일할 것이다. 그러나, 이 문서에 대하여, 이제 참조 부호가 15-1인 거리 계산기가 G_C_norm 버스(19)라고 불리는 버스를 경유하여 글로벌 메모리(12) 및 상기 레지스터(17-1)에 접속된 것을 고려하여 ZISC 뉴런의 구조는 약간 변형되었다. 추가적으로, 참조 부호 20의 어드레스 버스는 ZISC에서 실시되는 바와 같이 각각의 뉴런 14-1 내지 14-n내에 위치한 원형 메모리에 접속될 뿐만 아니라 글로벌 메모리(12)에도 접속되어, 각각의 입력 패턴 성분에 대하여 결합된 해당하는 놈(norm)은 이로부터 출력될 수 있다.
다수의 향상된 ANN(10)은 단일 ANN에 결합되어 다수의 글로벌 메모리(향상된 ANN당 하나)를 포함하거나 모든 ANN에 공통된 단지 하나의 글로벌 메모리를 포함할 수 있음에 주의하여야 한다. 반면에, 글로벌 메모리 기능이 각각의 뉴런내에 복제되어 저장된 원형에 대하여 특정 C_norm을 기억하는 향상된 ANN 또한 고려될 수 있다.
도 1을 참조하면, 향상된 ANN(10) 동작의 원리는 상대적으로 간단하다. 설명을 위하여, 글로벌 메모리(12)가 표준 방식으로 레지스트의 세트에 의해서 구성된다고 가정하자. 입력 패턴 성분이 순차적인 방식으로 향상된 ANN(10)내에 공급된다는 가정을 이용하여, 매번 호스트 컴퓨터가 입력 패턴 성분을 데이터 입력 버스(data-in bus)(13)를 경유하여 향상된 ANN(10)에 공급할 때마다 이는 글로벌 메모리(12)내에 결정된 어드레스상에 해당하는 G_C_norm을 출력할 것과 어드레스 버스(20)를 경유하여 모든 원형 메모리 16-1 내지 16-n내에 해당하는 원형 성분을 선택할 것을 출력하도록 지시한다. 결과적으로, 각각의 뉴런(14)내에서 G_C_norm(또는 L_C_norm), 저장된 원형 성분 및 상기 어드레스에 해당하는 입력 패턴 성분은 동시에 거리 계산기(15)에서 이용가능하게 된다. 그런 다음, 각각의 뉴런(14)은 결합된 G_C_norm(또는 L_C_norm)을 이용하여 입력 패턴 성분과 해당하는 저장된 원형 성분사이의 기본적인(또는 부분적인) 거리 계산을 수행한다. 기본적인 거리는 결합되어 선택된 L_D_norm을 가지고 표준 방식으로 거리를 갱신한다. 이러한 프로세스는 모든 입력 패턴 성분이 처리되어 최종 거리값이 얻어질 때까지 순차적으로 계속된다.
입력 패턴 성분이 향상된 ANN(10)에 병렬의 방식으로 공급되는 경우에 동일한 방법이 이용될 수 있음을 이해하여야 한다. 본 발명을 수행하는 또 다른 방법은 또한 함께 향상된 ANN(10)에 공급되기 위하여 G_C_norm과 호스트 컴퓨터내의 입력 패턴 성분을 결합하는 것일 것이다. 이러한 경우에, 글로벌 메모리 기능은 호스트 컴퓨터 자체내에 포함될 것이다. 그러나, 이러한 방법은 몇몇 단점을 제공하며, 특히 호스트 컴퓨터 처리 시간 및/또는 I/O의 수를 상당히 증가시키므로 본 명세서에서 상세히 설명되지 않는다.
도 2는 이들 처리 단계를 요약하는 흐름도를 도시한다.
도 3은 글로벌 메모리 및 단지 하나의 뉴런에 한정된 도 1의 구조를 도시한다. 특히, 도 3은 G_C_norm 및 기본적으로 ZISC 뉴런이며, 이제 본 발명의 방법에 따라 변형된 제 1 뉴런(14-1)의 필수 요소를 기억하는 데에 이용되는 글로벌 메모리(12)의 내부 조직을 도시한다.
글로벌 메모리(12)의 내부 조직은 도 3의 좌측상에 도식적으로 나타난다. 도 3에서 명백한 바와 같이, 어드레스 버스(addr bus)(20)를 경유하여 호스트 컴퓨터에 의해서 발생된(emitted) 어드레스(addr 1 내지 addr p)에 의해서 액세스되는 입력 패턴/저장된 원형의 p개의 성분에 해당하는 p개의 메모리 위치가 존재한다. 각각의 메모리 위치에서, 어드레스와 결합된 G_C_norm의 코딩된 값(coded value)이 저장된다. 2개의 연속하는 어드레스는 동일한 연산자를 나타내거나 2개의 상이한 연산자를 나타낼 것이다. 후자의 경우에, addr 1 및 addr 2에 저장되는 놈(norm) G_C_norm(1) 및 G_C_norm(2)는, 예를 들면 각기 차(difference) 및 정합/비정합 연산자(match/no match operators)의 절대값일 수 있다.
이제 도 3의 우측을 보면, 뉴런 14-1의 필수 요소가 보다 상세히 도시된다. 거리 계산기(15-1)는 먼저 21-1, 22-1 및 23-1을 포함한다. 블록(21-1)은 C_dist eval으로 레이블링되는데, 이는 한 쌍의 해당하는 성분, 즉 동일한 계수(of the same rank)상의 기본적인 거리 계산을 수행하기 때문이다. 이러한 블록은 데이터입력 버스(13)를 경유하여 호스트 컴퓨터에 접속되며, 또한 원형 메모리(16-1)에 접속된다. D_dist eval로 레이블링된 블록(22-1)은 레지스터(18-1)에 저장된 거리 놈(norm)(예를 들면, Lsup 놈(norm)의 경우에 "최대값" 연산자)을 나타내는 연산자에 의해서 제어되며, 성분의 계수(count)가 진행됨에 따라 계산된 기본 거리(부분적인 결과)로 거리를 갱신한다. 모든 성분이 처리된 경우에 dist register로 레이블링된 블록(23-1)은 최종 거리를 저장한다. 거리 계산기(15-1), (어드레스 버스(addr bus)(20)를 경유하여 호스트 컴퓨터에 접속된)원형 메모리(16-1) 및 L_D_norm을 기억하는 레지스터(18-1)는 그 자체로서 실질적으로 앞서 기술한 미국 특허에서 주어진 설명과 일치한다. 이제, 본 발명에 따르면, 거리 계산기(15-1)는 한편으로는 레지스터(17-1)에 접속되며, 다른 한편으로는 G_C_norm 버스(19)에 접속된 2 방향 멀티플렉서(a 2-way multiplexor)(24-1)를 더 포함한다. 멀티플렉서(24-1)는 놈 상태 레지스터(norm status register)(25-1)에 저장된 상태 비트(a status bit)에 의해서 제어되어 블록(21-1)의 제어 입력상에 인가될 L_C_norm 또는 G_C_norm 중에서 하나를 선택한다. 그러나, L_C_norm 레지스터(17-1), 1 비트 놈 상태 레지스터(1-bit norm status register)(25-1) 및 멀티플렉서(24-1)는 의무적인 블록(mandatory block)이 아니며, C_dist eval(21-1)은 버스(19)를 경유하여 글로벌 메모리(12)에 저장된 G_C_norm에 의해서 직접적으로 제어될 수 있다.
데이터 입력 버스(13)상의 호스트 컴퓨터에 의해서 입력 패턴 성분이 뉴런(14-1)에 전송될 때마다, 이와 결합된 글로벌 메모리(12)에 저장된 G_C_norm은또한 G_C_norm 버스(19)를 경유하여 향상된 뉴런(14-1)에 동시에 전송된다. 원형 메모리(16-1)내에 국부적으로 저장된 (어드레스에 해당하는)원형 성분은 직접적으로 이용가능하다. 호스트 컴퓨터의 제어하에 글로벌 메모리(12) 및 원형 메모리(16-1) 모두의 어드레싱 기능을 표준 방식으로(as standard) 수행하는 것은 어드레스 버스(20)의 역할이다. 이제, 멀티플렉서(24-1)를 제어하는 1 비트 놈(norm) 상태 레지스터(25-1)내에 저장된 이진값(binary value)에 의존하여, 레지스터(17-1)내에 기억된 L_C_norm이 선택되거나, 글로벌 메모리(12)내에 저장된 G_C_norm이 선택된다. 선택된 놈(norm)은 고려되는 성분 쌍의 기본적인 거리 계산을 수행하는 경우에 블록(21-1)을 제어하는 데에 이용된다. 그런 다음, L_D_norm 레지스터(18-1)내에 저장된 L_D_norm을 이용하여 입력 패턴과 저장된 원형사이의 거리가 박스 22-1내에서 갱신되며, ZISC 뉴런에서 실시되는 바와 같이, 모든 입력 패턴의 성분이 처리되어 최종 거리 "dist"가 계산되어 레지스터(23-1)내에 기억될 때까지 거리 계산은 루프 프로세스(a loop process)를 통하여 계속된다. 최종 거리가 L1으로만 얻어지거나, Lsup 놈(norm)으로만 얻어지는 ZISC ANN과는 달리, 이러한 제한은 더 이상 존재하지 않으며, 이러한 관점에서 본 발명의 향상된 ANN(10)은 보다 많은 유연성을 제공함에 주목하여야 한다.
도 1의 향상된 ANN(10)의 동작과, 특히 입력 패턴 성분 및 저장된 원형 성분의, 본 발명의 필수 특성인 관련 C_norm을 이용한 동시 처리의 원리가 이제 도 4를 참조하여 보다 상세히 설명될 것이다. 각각의 입력 패턴 성분에 있어, 호스트 컴퓨터(또는 제어 로직)는 글로벌 메모리(12)내의 관련 G_C_norm 및 해당하는 저장된원형 성분을 동시에 액세스하는 데에 이용되는 어드레스를 제공한다. 실제적인 예를 하나 들어보자. 제 1 어드레스(addr 1)는 도 4a에 도시된 글로벌 메모리(12)의 제 1 위치에서 G_C_norm 1 및 뉴런 14-1 내지 14-n까지의 각각의 원형 메모리(16)내의 제 1 원형 성분(comp 1)을 선택한다. 이리하여, 제 1 입력 패턴 성분이 향상된 ANN(10)으로 공급되는 경우에, G_C_norm 1 및 제 1 원형 성분(comp 1)은 제 1 기본 거리 계산을 위하여 동시에 결합된다. 그런 다음, 제 2 입력 패턴 성분이 향상된 ANN(10)으로 공급되는 경우에, 이는 도 4b에 도시된 바와 같이 제 2 놈(norm) (G_C_norm 2) 및 제 2 원형 성분(comp 2)과 동일한 방식으로 결합되어 상기 제 1 기본 거리 계산의 부분적인 결과를 갱신한다. 이러한 단계들은 최종 입력 패턴 성분이 처리될 때까지 반복된다. 본 예에서 어드레스가 연속적이라면, 실질적인 하드웨어 변형없이, 이는 또한 랜덤 어드레스(random address)일 수 있음이 이해되어야 한다.
상이한 종류의 원형이 ANN내에 저장된 경우에, 결정된 종류의 원형의 선택은 컨텍스트(context), 즉 상기 설명된 바와 같이 각각의 저장된 원형에 할당된 특정 레이블(a specific label)을 이용하여 수행된다. 이러한 경우에, 컨텍스트에 의존할 각각의 성분에 대한 G_C_norm을 이용하는 것이 유용할 수 있다. 향상된 ANN(10)의 구조는 이러한 목적을 충족하도록 완전하게 적응되는데, 이는 원하는 만큼의 상이한 G_C_norm 구성을 기억하는 많은 글로벌 메모리를 실행하는 것이 가능하기 때문이다.
도 5는 이제 10'의 참조 부호를 가지는, 본 발명의 다른 중요한 특징에 따라두 개의 컨텍스트를 실시함으로써 하나의 세트 대신에 두 개의 세트의 G_C_norm을 처리하도록 적응된 도 1의 향상된 ANN(10)의 변형을 도시한다. 결정된 세트의 G_C_norm은 향상된 ANN(10')내의 알맞은 뉴런의 그룹을 또한 활성화시키는 컨텍스트에 의해서 선택된다. 이제 도 5를 참조하면, 향상된 ANN(10')은 (상기 기술된 바와의 일치를 위하여)12-1 및 12-2의 참조 부호를 가지는 두 개의 글로벌 메모리 및 14-1 내지 14-n의 참조 부호를 가지는 다수의 뉴런을 포함한다. 컨텍스트 버스(26)라고 불리는 추가적인 버스는 글로벌 컨텍스트(global context)를 선택 유닛(selection units)으로 불리는 전용 블록(dedicated block)에 저장하는 호스트 컴퓨터내의(또는 제어 로직내의) 글로벌 컨텍스트 레지스터(a global context register)에 접속한다. 이러한 선택 유닛은 글로벌 메모리 12-1 및 12-2내에서 참조 부호 27-1 및 27-2를 가지며, 뉴런 14-1 내지 14-n내에서 각기 28-1 내지 28-n의 참조 부호를 가진다. 컨텍스트 실시를 위한 유사한 선택 유닛이 ZISC 뉴런내에 이미 존재함에 주의하여야 한다(명료성을 위하여, 이들은 도 1 및 도 3에 도시된 뉴런(14)에 나타나지 않음). 도 5에서, 글로벌 메모리 및 뉴런은 선택 유닛의 추가에 의해서 도 1의 해당하는 블록 12 및 블록 14에서만 다르다. 본질적으로, 선택 유닛 27 또는 28은 로컬 컨텍스트를 저장하는 레지스터 및 호스트 컴퓨터에 의해서 선택된 글로벌 컨텍스트와 로컬 컨텍스트사이의 비교를 수행하는 비교기를 포함한다. 이러한 비교의 결과에 의존하여, 결정된 뉴런의 그룹만이 활성화되며, 다른 뉴런은 억제된다. 향상된 ANN(10')의 구조는 도 5에 도시된 바와 같은 두 개의 컨텍스트의 실시에 한정되지 않으며, 회로 설계에 상당한 유연성을 제공한다. 향상된 ANN(10')의 동작은 기본적으로 도 4a 및 4b를 참조하여 상기 기술된 향상된 ANN(10)과 동일하다.
그러나, G_C_norm 기억 수단(G_C_norm memorization means)(도 5의 경우에, 두 개의 글로벌 메모리 12-1 및 12-2)은 컨텍스트가 존재하는 만큼의 많은 글로벌 메모리의 실시를 회피하도록 최적화될 수 있다. 몇몇 경우에는, 전적으로 이용되지 않거나 진정으로 필요하지 않는 경우에 발생할 메모리 낭비를 회피하는 것이 가치가 있을 것이다. 이러한 목적은 본 발명의 다른 중요한 특징에 따라 하나의 뉴런(14)(또는 그 이상)을 지금까지 통상적으로 실시된 바와 같은 원형 성분대신에 G_C_norm을 기억하는 데에 전용함으로써 충족된다. 결과적으로, 글로벌 메모리(12)는 더 이상 물리적으로 요구되지 않으며, 이 기능은 이러한 전용 뉴런에 의해서 효과적으로 수행된다. 이러한 목적으로, 기능 플래그 비트(function flag bit)라고 불리는 새로운 플래그 비트(a new flag bit)가 각각의 뉴런에 할당되어 G_C_norm 기억 또는 원형 성분 기억의 기능을 부여한다. 첫 번째 경우에는 단지 뉴런의 기억 및 컨텍스트 선택 기능만이 이용될 것이며, 두 번째 경우에는 이는 표준 방식에 따라서 거리 계산을 수행할 것이다.
도 6을 참조하면, 참조 부호 14'-1의 향상된 뉴런은 도 1의 하나의 뉴런(14-1)으로부터 직접적으로 얻어진 내부 구조를 가진다. 상기 언급된 기능 플래그 비트는 선택기(30-1)를 제어하는 참조 부호 29-1의 기능 플래그 레지스터에 저장된다. 기능 플래그 비트 값에 의존하여, 선택기(30-1)는 원형 성분을 C_dist 계산기(C_dist evaluator)(21-1)에 인가하거나, 이에 접속된 모든 선택된 뉴런에의한 이용을 위하여 G_C_norm을 G_C_norm 버스(19)에 전송한다. 그러므로, 뉴런(14'-1)은 두 개의 동작 모드를 가진다. 첫 번째 모드에서, 뉴런(14'-1)은 뉴런(14-1)처럼 동작하며, 두 번째 모드에서 이는 (기능 플래그 레지스터(29-1) 및 선택기(30-1)를 추가하는 비용만으로)글로벌 메모리(12)의 역할을 한다. 결과적으로, 뉴런(14'-1)내의 원형 메모리(16-1)는 이제 두 개의 상이한 타입의 데이터인 원형 성분 G_C_norm을 저장하도록 적응된다.
도 7은 본 발명에 따라 도 6의 향상된 뉴런이 G_C_norm을 기억하는 데에 이용되는 경우에 도 1의 향상된 ANN(10)의 구조를 도시한다. 참조 부호 10''의 이러한 변형은 G_C_norm 기억에 요구되는 메모리의 양을 줄이는 것을 가능하게 한다. 도 7에서, 도 6의 뉴런(14'-1)내에 도시된 몇몇 회로 블록은 참조 부호 31-1의 원형 유닛(prototype)으로 레이블링된 유닛내에 병합된다. G_C_norm을 포함하는 전용 뉴런은 (컨텍스트에 대한)자신의 선택 유닛 및 (자신의 동작 모드에 대한)자신의 기능 플래그 레지스터 덕택에 선택된다. 입력 패턴 성분이 향상된 ANN(10'')으로 공급된 때마다, 자신의 원형 유닛내에 기억된 적절한 G_C_norm이 출력되어 ANN(10'')의 모든 다른 남은 뉴런내의 거리 계산을 위하여 결합된다.
도 7의 향상된 ANN(10'')의 동작은 도 8 및 도 9를 참조하여 설명될 것이다. 도 8은 G_C_norm을 저장하는 데에 향상된 뉴런을 전용할 필요가 없는 경우를 도시한다. 이러한 경우에, 모든 기능 플래그 레지스터는 0 값을 가지며, 모든 뉴런(14')은 표준 방식으로 동작하는데, 디폴트 놈(default norm)(예를 들면 L1)이 거리 계산에 이용된다.
단일 컨텍스트가 이용되고 입력 패턴 성분에 대하여 상이한 G_C_norm이 요구되는 경우에, 이러한 업무를 수행하는 데에는 단지 하나의 향상된 뉴런만이 요구된다. 이제 도 9를 참조하면, 향상된 뉴런(14'-1)이 G_C_norm을 기억하는 데에 전용된다고 가정하면, 자신의 기능 플래그 레지스터(29-1)는 1로 세팅된다. 결과적으로, 원형 유닛(31-1)의 기억 수단은 G_C_norm을 저장하는 데에 이용되며 거리 계산기(15-1)는 억제된다. 이것은 몇몇 컨텍스트로 일반화될 수 있다. 그런 다음, 상이한 컨텍스트만큼의 많은 향상된 뉴런이 G_C_norm 기억 업무에 전용될 것인데, 즉 자신의 기능 플래그 레지스터는 1에 세팅되며 자신의 기억 수단은 G_C_norm을 기억하는 데에만 이용된다.
상기 기술된 방법은 병렬 컴퓨팅 시스템에서의 거리의 계산에 더 일반화될 수 있다.
본 발명은 특히 바람직한 실시예에 대하여 기술되었지만, 본 기술 분야의 당업자는 형태와 세부 사항에 있어서 앞선 바와 다른 변화가 본 발명의 사상 및 범주를 벗어나지 않고서 이루어 질 수 있음을 이해하여야 한다.
본 발명의 방법 및 회로는 ANN이 실리콘 칩내에 집적되는 경우에 소모된 실리콘 영역을 실질적으로 최적화하는 것을 가능하게 한다.

Claims (11)

  1. 입력 패턴(input pattern)과 ANN의 뉴런(neuron)내에 포함된 원형(prototypes)사이의 최종 거리를 계산하는 프로세스에 있어서 p 개의 성분을 가지는 상기 입력 패턴의 각각의 성분에 성분 놈(a component norm)(C_norm)을 결합하도록 적응된 향상된 ANN에 있어서,
    ① 상기 입력 패턴 성분을 상기 각각의 뉴런에 인가하는 데이터 입력 전송 수단(data-in transmitting means)과,
    ② 상기 p개의 성분 놈(norm)을 저장하여 상기 각각의 뉴런에 인가하는 글로벌 기억 수단(global memorization means)과,
    ③ 다수의 n개의 뉴런과,
    - 상기 각각의 뉴런은
    ⓐ 상기 p개의 원형 성분을 저장하는 원형 메모리와,
    ⓑ 상기 원형 메모리, 상기 글로벌 기억 수단 및 상기 데이터 입력 전송 수단에 접속된 상기 거리 계산 수단을 포함함 -
    ④ 상기 입력 패턴 성분, 이와 결합된 해당하는 성분 놈(norm) 및 해당하는 저장된 원형 성분을 상기 각각의 뉴런내의 거리 계산 수단(distance evaluation means)에 동시에 인가하는 어드레싱 수단(addressing means)과,
    ⑤ 거리 놈(a distance norm)(D_norm)을 상기 거리 계산 수단에 인가하는 수단을 포함하되,
    상기 거리 계산 수단은 이와 결합된 상기 해당하는 성분 놈(norm)을 이용하여 상기 입력 패턴의 해당하는 성분과 상기 저장된 원형사이의 기본적인(또는 부분적인) 거리 계산을 수행하고 거리 계산 프로세스내의 상기 기본적인 계산을 결합하여 거리 놈(D_norm)을 이용하여 최종 거리를 결정하도록 적응된 향상된 ANN.
  2. 제 1 항에 있어서,
    상기 글로벌 기억 수단은 글로벌 성분 놈(G_C_norm)이라고 불리는 성분 놈(norm)을 기억하는 ANN의 모든 뉴런에 공통된 물리적 메모리를 포함하는 향상된 ANN.
  3. 제 1 항에 있어서,
    상기 글로벌 기억 수단은 상기 각각의 뉴런내에 위치하여 로컬 성분 놈(L_C_norm)이라고 불리는 상기 성분 놈(norm)을 기억하는 전용 메모리(a dedicated memory)를 포함하는 향상된 ANN.
  4. 제 1 항에 있어서,
    상기 글로벌 기억 수단은 글로벌 성분 놈(G_C_norm)이라고 불리는 상기 성분놈(norm)을 기억하는 상기 ANN내의 모든 뉴런에 공통된 물리적 글로벌 메모리 및 각각의 뉴런내에 위치하여 로컬 성분 놈(L_C_norm)이라고 불리는 성분 놈(norm)을 기억하는 다수의 전용 메모리(dedicated memory)를 포함하는 향상된 ANN.
  5. 제 4 항에 있어서,
    상기 G_C_norm 또는 상기 L_C_norm중 하나를 상기 C_norm으로 선택하는 수단(means of selecting)을 더 포함하는 향상된 ANN.
  6. 제 1 항에 있어서,
    상기 거리 놈(norm)을 인가하는 수단(means for aplying the distance norm)(D_norm)은 모든 뉴런에 공통인 레지스터(G_D_norm) 또는 각각의 뉴런내의 로컬 레지스터(L_D_norm)중 하나를 포함하는 향상된 ANN.
  7. 입력 패턴(input pattern)과 m개의 상이한 글로벌 컨텍스트에 해당하는 m개의 그룹의 뉴런으로 분할되도록 적응된 ANN의 뉴런내에 포함된 원형(prototypes)사이의 최종 거리를 계산하는 프로세스에 있어서 p 개의 성분을 가지는 상기 입력 패턴의 각각의 성분에 성분 놈(a component norm)(C_norm)을 결합하도록 적응된 상기 향상된 ANN에 있어서,
    ① 입력 패턴 성분(input patterns components)을 각각의 뉴런에 인가하는 데이터 입력 전송 수단(data-in transmitting means)과,
    ② 글로벌 컨텍스트(a global context)를 각각의 뉴런에 인가하는 컨텍스트 전송 수단(context transmitting means)과,
    ③ 결정된 컨텍스트를 가지고 상기 p개의 성분 놈(norm)을 저장하고 상기 p개의 성분 놈(norm)을 C_norm 버스를 경유하여 각각의 뉴런에 인가하도록 적응된 상기 컨텍스트 전송 수단에 접속된 다수의 m개의 글로벌 기억 수단과,
    - 상기 각각의 글로벌 기억 수단은
    ⓐ 상기 p개의 성분 놈(norm)을 저장하는 메모리와,
    ⓑ 상기 로컬 컨텍스트를 저장하는 수단 및 상기 글로벌 컨텍스트에 응답하여 저장된 로컬 컨텍스트와 비교하여 로컬 컨텍스트가 글로벌 컨텍스트와 정합하는(matches) 뉴런만을 활성화하고 다른 뉴런은 억제하도록 적응된 수단을 포함함 -
    ④ 다수의 n개의 뉴런과,
    - 상기 각각의 뉴런은
    ⓐ 상기 p개의 원형의 성분을 저장하는 원형 메모리와,
    ⓑ 상기 원형 메모리, 상기 글로벌 기억 수단 및 상기 데이터 입력 전송 수단에 접속된 거리 계산 수단과,
    ⓒ 로컬 컨텍스트를 저장하는 수단 및 상기 글로벌 컨텍스트에 응답하여 저장된 로컬 컨텍스트와 비교하여 로컬 컨텍스트가 상기 글로벌 컨텍스트와 정합하는 뉴런만을 활성화하고 다른 뉴런은 억제하도록 적응된 수단을 포함함 -
    ⑤ 상기 입력 패턴 성분, 이와 결합된 상기 해당하는 성분 놈(norm) 및 상기 해당하는 저장된 원형 성분을 각각의 뉴런내의 상기 거리 계산 수단에 인가하는 어드레싱 수단(addressing means)과,
    ⑥ 거리 놈(D_norm)을 상기 거리 계산 수단에 인가하는 수단
    을 포함하되,
    상기 거리 계산 수단은 결합된 상기 해당하는 성분 놈(norm)을 이용하여 상기 입력 패턴의 해당하는 성분과 저장된 원형사이의 기본적인(또는 부분적인) 거리 계산을 수행하고 상기 거리 계산 프로세스내의 상기 기본적인 계산을 결합하여 거리 놈(D_norm)을 이용하여 최종 거리를 결정하도록 적응된 향상된 ANN.
  8. 입력 패턴과 ANN의 뉴런내에 저장된 원형사이의 최종 거리를 계산하는 프로세스에 있어서 성분 놈(C_norm)을 p개의 성분을 가지는 각각의 입력 패턴의 성분에 결합하도록 적응된 상기 향상된 ANN에 있어서,
    ① 입력 패턴 성분을 각각의 뉴런에 인가하는 데이터 입력 전송 수단과,
    ② 다수의 n개의 뉴런과,
    - 상기 각각의 뉴런은
    ⓐ 상기 p개의 원형의 성분 또는 상기 p개의 성분 놈(norm)중 하나를저장하고 상기 p개의 성분 놈(norm)을 C_norm 버스를 경유하여 각각의 뉴런에 인가할 수 있는 메모리와,
    ⓑ 상기 원형 성분을 상기 거리 계산 수단에 인가하거나(표준 모드), 아니면 p개의 성분 놈(norm)을 C_norm 버스를 경유하여 각각의 뉴런에 인가하도록(C_norm 모드) 적응된 수단과,
    ⓒ 상기 2개의 모드중 하나를 선택하도록 적응된 수단과,
    ⓓ 상기 원형 메모리, 상기 글로벌 기억 수단 및 상기 데이터 입력 전송 수단에 접속된 거리 계산 수단과,
    ⓔ 로컬 컨텍스트를 저장하는 수단과 상기 글로벌 컨텍스트에 응답하여 저장된 로컬 컨텍스트와 비교하여 로컨 컨텍스트가 상기 글로벌 컨텍스트와 정합하는 뉴런만을 활성화하고 다른 뉴런은 억제하도록 적응된 수단을 포함함 -
    ③ 상기 입력 패턴 성분, 결합된 해당하는 성분 놈(norm) 및 해당하는 저장된 원형 성분을 각각의 뉴런내의 상기 거리 계산 수단에 동시에 인가하는 어드레싱 수단과,
    ④ 거리 놈(D_norm)을 상기 거리 계산 수단에 인가하는 수단
    을 포함하되,
    상기 거리 계산 수단은 결합된 해당하는 성분 놈(norm)을 이용하여 상기 입력 패턴의 해당하는 성분과 상기 저장된 원형사이의 기본적인(또는 부분적인) 거리 계산을 수행하고 상기 거리 계산 프로세스내에 상기 기본적인 계산을 결합하여 거리 놈(D_norm)을 이용하여 최종 거리를 결정하도록 적응된 향상된 ANN.
  9. 입력 패턴(input pattern)과 m개의 상이한 글로벌 컨텍스트에 해당하는 m개의 그룹의 뉴런으로 분할되도록 적응된 ANN의 뉴런내에 포함된 원형(prototypes)사이의 최종 거리를 계산하는 프로세스에 있어서 p 개의 성분을 가지는 상기 입력 패턴의 각각의 성분에 성분 놈(a component norm)(C_norm)을 결합하도록 적응된 상기 향상된 ANN에 있어서,
    ① 입력 패턴 성분을 각각의 뉴런에 인가하는 데이터 입력 전송 수단과,
    ② 다수의 n개의 뉴런과,
    - 상기 각각의 뉴런은
    ⓐ 상기 p개의 원형의 성분 또는 상기 p개의 성분 놈(norm)중 하나를 저장하고 상기 p개의 성분 놈(norm)을 C_norm 버스를 경유하여 각각의 뉴런에 인가할 수 있는 메모리와,
    ⓑ 상기 원형 성분을 상기 거리 계산 수단에 인가하거나(표준 모드), 아니면 p개의 성분 놈(norm)을 C_norm 버스를 경유하여 각각의 뉴런에 인가하도록(C_norm 모드) 적응된 수단과,
    ⓒ 상기 2개의 모드중 하나를 선택하도록 적응된 수단과,
    ⓓ 상기 원형 메모리, 상기 글로벌 기억 수단 및 상기 데이터 입력 전송 수단에 접속된 거리 계산 수단과,
    ⓔ 로컬 컨텍스트를 저장하는 수단과 상기 글로벌 컨텍스트에 응답하여 저장된 로컬 컨텍스트와 비교하여 로컨 컨텍스트가 상기 글로벌 컨텍스트와 정합하는 뉴런만을 활성화하고 다른 뉴런은 억제하도록 적응된 수단을 포함함 -
    ③ 상기 입력 패턴 성분, 결합된 해당하는 성분 놈(norm) 및 해당하는 저장된 원형 성분을 각각의 뉴런내의 상기 거리 계산 수단에 동시에 인가하는 어드레싱 수단과,
    ④ 거리 놈(D_norm)을 상기 거리 계산 수단에 인가하는 수단
    을 포함하되,
    상기 거리 계산 수단은 결합된 해당하는 성분 놈(norm)을 이용하여 상기 입력 패턴의 해당하는 성분과 상기 저장된 원형사이의 기본적인(또는 부분적인) 거리 계산을 수행하고 상기 거리 계산 프로세스내에 상기 기본적인 계산을 결합하여 거리 놈(D_norm)을 이용하여 최종 거리를 결정하도록 적응된 향상된 ANN.
  10. 거리 놈(a distance norm)을 이용하여 입력 패턴과 각각의 뉴런에 대한 원형사이의 최종 거리를 계산하는 프로세스에 있어서 성분 놈(norm)을 외부 메모리(an external memory)(호스트(host))에 저장된 (p개의 성분을 가지는)각각의 상기 입력 패턴의 성분 및 인공 신경망(ANN)의 n개의 뉴런에 저장된 상기 모든 원형의 해당하는 성분에 결합하는 방법에 있어서,
    a) 각각의 뉴런에 대한 최종 거리를 0으로 리셋(reset)하는 단계와,
    b) 성분에 해당하는 어드레스를 지정하는 단계와,
    c) 상기 어드레스에 해당하는 상기 입력 패턴 성분을 각각의 뉴런에 공급하는 단계와,
    d) 상기 어드레스에 해당하는 성분 놈(norm)을 획득하는 단계와,
    e) 상기 각각의 뉴런에 대한 성분 놈(norm)을 이용하여 기본적인 거리를 계산하는 단계와,
    f) 각각의 뉴런에 대한 거리를 이용하여 상기 거리를 갱신하는 단계와,
    g) 모든 p 성분이 처리되어 이로 인하여 각각의 뉴런에 대한 최종 거리의 계산이 가능하게 될 때까지 단계 b) 내지 f)를 반복하는 단계
    를 포함하는 거리 놈(norm)을 이용한 입력 패턴과 각각의 뉴런에 대한 원형사이의 최종 거리 계산 프로세스에서 성분 놈(norm)을 각각의 입력 패턴 성분 및 모든 원형의 해당 성분에의 결합 방법.
  11. 거리 놈(norm)을 이용하여 입력 패턴과 적어도 하나의 그룹의 각각의 뉴런에 대한 원형사이의 최종 거리를 계산하는 프로세스에 있어서 성분 놈(norm)을 외부 메모리(호스트)내에 저장된 (p개의 성분을 가지는)상기 각각의 입력 패턴의 성분에 및 각기 결정된 컨텍스트를 가지는 다수의 m 그룹으로 분할된 인공 신경망(ANN)의 상기 n개의 뉴런에 저장된 적어도 하나의 원형의 그룹의 해당하는 성분에 결합하는 방법에 있어서,
    a) 컨텍스트 값(a context value)을 세팅하는 단계와,
    b) 상기 컨텍스트 값을 가지는 각각의 뉴런에 대한 상기 최종 거리를 0으로리셋하는 단계와,
    c) 성분에 해당하는 어드레스를 지정하는 단계와,
    d) 상기 어드레스에 해당하는 입력 패턴 성분을 상기 컨텍스트 값을 가지는 각각의 뉴런에 공급하는 단계와,
    e) 상기 어드레스에 해당하는 성분 놈(norm)을 획득하는 단계와,
    f) 상기 컨텍스트 값을 가지는 각각의 상기 뉴런에 대한 상기 성분 놈(norm)을 이용하여 기본 거리를 계산하는 단계와,
    g) 상기 컨텍스트 값을 가지는 각각의 상기 뉴런에 대한 상기 거리 놈(norm)을 이용하여 거리를 갱신하는 단계와,
    h) 모든 p개의 성분이 처리되어 이로 인하여 상기 컨텍스트 값을 가지는 각각의 상기 뉴런에 대한 최종 거리의 계산을 가능하게 할 때까지 단계 c) 내지 g)를 반복하는 단계
    를 포함하는 거리 놈(norm)을 이용한 입력 패턴과 적어도 하나의 그룹의 각각의 뉴런에 대한 원형사이의 최종 거리 계산 프로세스에서 성분 놈(norm)을 각각의 입력 패턴 성분 및 적어도 하나의 원형 그룹의 해당하는 성분에의 결합 방법.
KR10-2001-0039275A 2000-07-13 2001-07-02 놈을 신경망에 공급되는 입력 패턴의 각각의 성분에결합하는 회로 및 방법 KR100406315B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00480064.5 2000-07-13
EP00480064 2000-07-13

Publications (2)

Publication Number Publication Date
KR20020006586A KR20020006586A (ko) 2002-01-23
KR100406315B1 true KR100406315B1 (ko) 2003-11-17

Family

ID=8174249

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0039275A KR100406315B1 (ko) 2000-07-13 2001-07-02 놈을 신경망에 공급되는 입력 패턴의 각각의 성분에결합하는 회로 및 방법

Country Status (6)

Country Link
US (1) US6782373B2 (ko)
KR (1) KR100406315B1 (ko)
CN (1) CN1228736C (ko)
CA (1) CA2351040A1 (ko)
IL (1) IL140143A (ko)
TW (1) TW538381B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027942B2 (en) * 2000-12-13 2011-09-27 International Business Machines Corporation Method and circuits for associating a complex operator to each component of an input pattern presented to an artificial neural network
US7016884B2 (en) * 2002-06-27 2006-03-21 Microsoft Corporation Probability estimate for K-nearest neighbor
US9672464B2 (en) * 2014-02-28 2017-06-06 Qualcomm Incorporated Method and apparatus for efficient implementation of common neuron models
US9747546B2 (en) * 2015-05-21 2017-08-29 Google Inc. Neural network processor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0694852B1 (en) * 1994-07-28 2002-06-26 International Business Machines Corporation Innovative neuron circuit architectures
DE69430528T2 (de) * 1994-07-28 2003-01-02 Ibm Such/Sortier-Schaltung für Neuronalnetzwerke
US6134532A (en) * 1997-11-14 2000-10-17 Aptex Software, Inc. System and method for optimal adaptive matching of users to most relevant entity and information in real-time
US6347309B1 (en) * 1997-12-30 2002-02-12 International Business Machines Corporation Circuits and method for shaping the influence field of neurons and neural networks resulting therefrom

Also Published As

Publication number Publication date
CA2351040A1 (en) 2002-01-13
CN1228736C (zh) 2005-11-23
CN1333518A (zh) 2002-01-30
IL140143A (en) 2005-08-31
US20020059150A1 (en) 2002-05-16
IL140143A0 (en) 2002-02-10
KR20020006586A (ko) 2002-01-23
TW538381B (en) 2003-06-21
US6782373B2 (en) 2004-08-24

Similar Documents

Publication Publication Date Title
US5204938A (en) Method of implementing a neural network on a digital computer
US11614947B2 (en) Computational memory
US20230069360A1 (en) System and method for energy-efficient implementation of neural networks
JPH01501180A (ja) 並列処理システム及び使用方法
US11921814B2 (en) Method and device for matrix multiplication optimization using vector registers
US6523018B1 (en) Neural chip architecture and neural networks incorporated therein
CN111338695A (zh) 基于流水线技术的数据处理方法及相关产品
US20230123828A1 (en) Neural processing unit capable of reusing data and method thereof
CN111047045B (zh) 机器学习运算的分配系统及方法
CN112559046A (zh) 数据处理装置及人工智能处理器
US4792894A (en) Arithmetic computation modifier based upon data dependent operations for SIMD architectures
KR100406315B1 (ko) 놈을 신경망에 공급되는 입력 패턴의 각각의 성분에결합하는 회로 및 방법
US20020073053A1 (en) Method and circuits for associating a complex operator to each component of an input pattern presented to an artificial neural network
US5621862A (en) Information processing apparatus for implementing neural network
EP0834817B1 (en) Programmed neural module
CN112101537B (zh) Cnn加速器和电子设备
EP1172763A2 (en) Method and circuits for associating a norm to each component of an input pattern presented to a neural network
US20230012127A1 (en) Neural network acceleration
JP3759002B2 (ja) ニューラル・ネットワークに提示される入力パターンの各構成要素にノルムを関連付ける方法および回路
CN112906877A (zh) 用于执行神经网络模型的存储器架构中的数据布局有意识处理
CN114595819A (zh) 具有数据关联自适应舍入的处理核心
US11941405B2 (en) Computational memory
US11893477B2 (en) Technology for lowering instantaneous power consumption of neural processing unit
WO2019162738A1 (en) Computational memory
CN214846708U (zh) 基于nvm进行ai计算的芯片架构

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee