JP3407266B2 - ニューラル・ネットワークおよびニューラル・チップ - Google Patents

ニューラル・ネットワークおよびニューラル・チップ

Info

Publication number
JP3407266B2
JP3407266B2 JP23933795A JP23933795A JP3407266B2 JP 3407266 B2 JP3407266 B2 JP 3407266B2 JP 23933795 A JP23933795 A JP 23933795A JP 23933795 A JP23933795 A JP 23933795A JP 3407266 B2 JP3407266 B2 JP 3407266B2
Authority
JP
Japan
Prior art keywords
circuit
signal
bus
neuron
local
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP23933795A
Other languages
English (en)
Other versions
JPH08171540A (ja
Inventor
アンドレ・スタンレ
パスカル・タンホフ
ギュイ・パイユ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08171540A publication Critical patent/JPH08171540A/ja
Application granted granted Critical
Publication of JP3407266B2 publication Critical patent/JP3407266B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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/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/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ニューラル・ネットワ
ーク・システムに関し、より具体的には、改良されたニ
ューラル半導体チップ・アーキテクチャと、それに組み
込まれたニューラル・ネットワークに関する。本発明の
ニューラル・ネットワークは、ニューラル容量を拡張す
るために複数回カスケード化可能なVLSI半導体チッ
プへの集積化に十分対応できるようになっている。本発
明の改良されたニューラル・ネットワークは、「発火」
タイプのローカル(またはニューロン)結果信号と、本
質的に距離またはカテゴリ・タイプのローカル(または
ニューロン)出力信号とをニューロン回路レベルで生成
する革新的なニューロン回路アーキテクチャを利用す
る。
【0002】
【従来の技術】光学式文字認識の分野の最新式認識技法
は、本質的に感光素子のマトリックスから構成された光
ヘッドを使用するものである。READモードでは、前
記素子が次々に走査され、走査された文字のあるパラメ
ータを示す信号を生成する。その後、走査するごとに得
られた信号がサンプリングされ、処理装置で処理されて
走査対象の文字を識別する。一般に、この識別処理は、
走査対象の文字とメモリに格納されているプロトタイプ
・モデルとの比較に基づいて行われる。
【0003】ここで、9×8ピクセルのマトリックスに
埋め込まれた大文字"E"を示す図1を参照して説明する
と、文字Eを表す第1のパラメータは、垂直方向と水平
方向の黒いピクセルの数のカウントで構成されると思わ
れる。ここで、F'1、F'2、・・・、F'16、F'1
7という17個の成分(または項目)で構成された文
字"E"を表す特徴ベクトルF'を定義することができ
る。ただし、F'1=6、F'2=1、・・・、F'16
=2、F'17=0である。文字"E"、たとえばアルフ
ァベットによる順番を表すために、ユーザによって定義
されたカテゴリ(またはクラス)Cを、この特徴ベクト
ルFに関連付けることができる。すなわち、この場合、
カテゴリCは5になる。同様に使用可能な第2のパラメ
ータは、図1に示す線aaの上下にある黒いピクセルの
数になる。この非常に単純な例では、新しい特徴ベクト
ルFは、17個ではなく、F1=13およびF2=9と
いう2つの成分だけで構成されているが、同じカテゴリ
C=5を有する。ただし、大文字"E"と小文字"e"は2
つの異なる特徴ベクトル(様々な活字フォントに応じて
印刷する場合は、さらに多くなる)で表されるが、同一
カテゴリCに属すものと考えられることにも留意された
い。したがって、特徴ベクトルFと所定のカテゴリCと
の間にある関係またはリンクを設定することができる。
【0004】図1に示す大文字"E"の表現をこの文字の
理想的なモデルと見なすことにする。すると、学習の予
備フェーズ中に、図1に示す2成分の特徴ベクトルFが
ユーザによって従来の文字認識システムへの入力ベクト
ルとして提示され、そのシステム内のメモリにその2つ
の成分が格納されると考えられる。入力ベクトルFの成
分が格納され、カテゴリC(この例ではC=5)がそれ
に関連付けられると、入力ベクトルFはただちにプロト
タイプ・ベクトルPと呼ばれる。
【0005】次に図2について説明すると、格納済みプ
ロトタイプ・ベクトルPは、その2つの成分P1とP2
が2次元空間に存在する点Pによって表される。この空
間は、通常、特徴(または特性)空間と呼ばれる。プロ
トタイプ・ベクトルPを示す点Pを取り囲むと、プロト
タイプ・ベクトルと認識フェーズ中にシステムに提示さ
れる走査対象の文字を表す入力(または着信)ベクトル
(またはパターン)との類似性の程度を認識するために
システムが判別基準として使用する、ゾーンZ(または
定義域)を定義することができる。次にシステムは、入
力ベクトルAと格納済みプロトタイプ・ベクトルPとの
類似性の程度を認識するために両者の比較を実行する。
この類似性の程度は様々な方法で求めることができる
が、従来の方法の1つは本質的に距離の概念に基づくも
のである。さらに図2を参照し、前述のプロトタイプ・
ベクトルPとの一貫性を保つために入力ベクトルAがA
1およびA2という2つの成分から構成されていると想
定すると、この比較は、たとえば、ユークリッド距離A
Pの絶対基準、すなわち、AP2=(P1−A1)2
(P2−A2)2を使用して行うことができる。この場
合、前記ゾーンZは、中心がPで半径がrの円によって
簡単に表される。通常、半径rは、プロトタイプ・ベク
トルPの影響フィールド(またはしきい)値と呼ばれ
る。一般に、この半径rの値は、初期設定時すなわち前
記学習の予備フェーズ中に、図2に示す最大影響フィー
ルドMaxIFと呼ばれるデフォルト値r0によって示
されるが、この最大影響フィールドMaxIFは、通常
は任意に経験に基づいて定義される。しかし、たとえ
ば、いわゆるマンハッタンまたはシティ・ブロック距離
(L1ノルム)および平方距離(Lsupノルム)など
の他の距離計算方法も使用可能で、これらは異なる形状
のゾーンを生成する。L1ノルムを使用すると菱形がで
き、Lsupノルムを使用すると、図2の2次元の特徴
空間内に円ではなく正方形ができることになる。
【0006】図2に示すプロトタイプ・ベクトルPにつ
いてさらに考察するならば、同一の大文字"E"を表すが
異なる活字フォントで印刷された入力ベクトルAが、認
識のためにシステム・ユーザに提示されると想定する。
入力ベクトルAが円Z内に入る場合、これはプロトタイ
プ・ベクトルPと「類似」していると見なされ、同一カ
テゴリCに分類される。ただし、システムによる入力ベ
クトルへのカテゴリ割当てが認識フェーズ中に行われる
ことに留意されたい。ここで、入力ベクトルAが円Zの
外側にある場合は、これはプロトタイプ・ベクトルPに
対して「非類似」と見なされる。この場合、システムは
このベクトルに対してカテゴリCを割り当てる(または
関連付ける)ことができない。したがって、入力ベクト
ルAを、同じカテゴリCの新しいプロトタイプ・ベクト
ルとしてユーザが格納することを推奨する。そのため
に、システムの後続学習フェーズにおいて、ユーザがそ
のカテゴリCを有する入力ベクトルAをもう一度システ
ムに提示する。システムは、同じカテゴリCがそれに割
り当てられている新しいプロトタイプ・ベクトルP'と
して入力ベクトルAを格納し、カテゴリCを表す円Zお
よびZ'から構成された図3の拡張ゾーンを提供する。
【0007】次に、大文字"F"を表す入力ベクトルAが
システムに提示され、プロトタイプ・ベクトルPの円Z
内に入ると想定する。前記のその定義により、文字"F"
は明らかに別のカテゴリに属すので、システムはそれに
プロトタイプ・ベクトルPのカテゴリCを割り当てるこ
とができない。そのため、最初に描かれた円Zをこの点
Aを含まないように収縮させなければならない。すなわ
ち、ユーザがこの入力ベクトルAを新しいプロトタイプ
・ベクトルP"として格納すると決めた場合は、プロト
タイプ・ベクトルPを取り囲む円の半径r0を縮小する
必要がある。この収縮ステップは、このような従来の文
字認識システムの重要態様である、いわゆる「縮小プロ
セス」の一部である。入力ベクトルAがプロトタイプ・
ベクトルP"として格納された場合は、初期半径r0=
MaxIFをPP"以下の値rに縮小することにより、
円Zの新しい半径が得られる。この値rは、円Z"の半
径をも構成する(r"=r)。プロトタイプ・ベクトル
Pのこの新しい半径値または現行半径値rは、通常、実
際の影響フィールドAIFと呼ばれる。それぞれ関連カ
テゴリCおよびC"と影響フィールドrおよびr"とを有
する2つのプロトタイプ・ベクトルPおよびP"を図4
に示す。この場合、最小影響フィールドMinIFと呼
ばれる影響フィールドの最小値も定義されることに留意
されたい。プロトタイプ・ベクトルの実際の影響フィー
ルド(AIF)は、いかなる状況でもMinIF未満の
値を有することはできない。
【0008】図5は、それぞれ影響フィールドr、
r'、r"と関連カテゴリC、C'、C"とを有する3つの
プロトタイプ・ベクトルP、P'、P"を含む2次元特徴
空間を示している。ここで、入力ベクトルAが認識のた
めにシステムに提示されると見なすと、システムは、距
離AP=D、AP'=D'、AP"=D"を計算し、次にそ
れらのうちの最小距離Dminを決定することができ
る。入力ベクトルAが1つの円、たとえば、円Z内に入
る場合(Dmin<r)、その入力ベクトルはシステム
によって認識され、カテゴリCがそれに関連付けられ
る。ここで、入力ベクトルAが図5に示す円Z、Z'、
Z"のいずれにも入らないと想定すると、この入力ベク
トルは認識されず、カテゴリが割り当てられない。入力
ベクトルAを新しいプロトタイプ・ベクトルとして格納
するとユーザが決定した場合、ユーザは、後続の学習フ
ェーズ中に適切なカテゴリを付けてシステムにもう一度
それを提示する。実際には、新しいプロトタイプ・ベク
トルにどのカテゴリが割り当てられるか、たとえば、カ
テゴリC、C'、またはC"のいずれか、あるいは新しい
カテゴリが割り当てられるかについては、ユーザが決定
する。(最小距離Dminの計算に基づいて)最も近い
プロトタイプ・ベクトルのカテゴリを割り当てるとユー
ザが決定した場合、新たに格納されたプロトタイプ・ベ
クトルの影響フィールドは、Dmin<MaxIFであ
ればDmin以下の値になり、Dmin>=MaxIF
であればMaxIF以下の値になる。図5に示す場合で
は、この最小距離Dminが距離D=APに対応してい
る。最後に、入力ベクトルAがオーバラップ・ゾーン、
すなわち、2つの円に共通のゾーン(図示せず)内に入
る場合、ユーザは、新しいプロトタイプ・ベクトルに割
り当てる正しいカテゴリを決定しないだけでなく、1つ
のプロトタイプ・ベクトル(または2つのプロトタイプ
・ベクトルP'およびP")が認識から除外されるよう
に、それぞれの影響フィールドについて妥当な縮小を実
行しなければならない可能性がある。
【0009】図2〜図5は2つの成分A1およびA2か
ら構成された入力ベクトルAを示しているが、一般化の
ため、入力(またはプロトタイプ)ベクトルはn個の成
分から構成されると見なされることを理解する必要があ
ることに留意されたい。実際には、成分A1、A2、・
・・、Anは入力ベクトルAの最も一般的な定義を表し
ている。この想定では、図2に示す円Zはn次元の特徴
空間内の超球によって表すことができる。計算された距
離は、格納済みプロトタイプ・ベクトルを表す超球の中
心と入力ベクトルを表す点とを隔てる距離になる。Ma
xIF値は、初期設定時に超球の最大半径に対応する。
同様に、MinIF値は、縮小プロセス中に許される超
球の最小半径に対応する。前述のユークリッド法とは異
なる距離計算方法では、等距離点は超球上に置かれず、
多面体上に置かれる。ただし、簡略化のため、前記多面
体を超球と呼ぶことにする。
【0010】これに対して、あるアナログ値を表す入力
ベクトルの成分はmビットで符号化される。すなわち、
タイプa0・・・am−1の2進ワードによって示すこ
とができる。たとえば、第1の成分A1が13になって
いる図1の大文字"E"を表す2成分入力ベクトルAをも
う一度参照し、m=4と想定すると、A1は、a0=
1、a1=1、a2=0、a3=1で構成される2進ワ
ードによって表され、すなわち、A1=1101にな
る。
【0011】最終結果として、入力ベクトルに割り当て
なければならない適切なカテゴリまたはクラス(ある場
合)を決定するために、特徴空間のプロトタイプ・ベク
トルと入力ベクトルとの比較に自動的に移行するよう設
計されている、コンピュータ・ベースの文字認識システ
ムを考えることができる。これまで、前述の分類方法を
ハードウェアで実施するための一般的な方法では、フォ
ン・ノイマン型プロセッサ・ベースのコンピュータを使
用してきたが、現在ではこのようなプロセッサ上でニュ
ーラル・アルゴリズムを実行すること(ソフトウェア・
エミュレーション)が当技術の最新動向になっている。
【0012】ニューラル・コンピュータでは、生体の神
経系を模倣するために限られた数の電子ニューロン回路
を組み立てることによって構築したニューラル・ネット
ワークを使用する。生物学的ニューラル・ネットワーク
は、そのユニットとして神経細胞またはシナプスを使用
し、きわめて多数のシナプスを相互接続することによっ
て構築されている。生物学的ニューラル・ネットワーク
のシナプスは、全体的な処理時間が非常に短くなるよう
に並列方式で計算を実行する。しかも、生物学的ニュー
ラル・ネットワークの諸機能は、学習中のシナプスの挙
動とシナプス間の接続状態を変更することによって実現
される。ニューラル・コンピュータは、文字または音声
認識のようなパターン処理、プロセスの最適化、ロボッ
ト制御などを実行することができる。しかし、計算プロ
セスはソフトウェア・プログラムの命令に従って順次実
行されるので、処理時間が長くなる。ニューラル・コン
ピュータは、正式な規則に入れにくい処理手順を有する
問題の場合に諸機能を実現できるという特別な特性を有
する。通常の学習を実行中にこのようなニューラル・コ
ンピュータを動作させると、好ましい諸機能が経時変化
しても、このような変化に追随することができる。さら
に、このようなニューラル・コンピュータで実現される
ニューラル・ネットワークは、同一の基本ニューロン回
路を相互接続することによって構築され、基本ニューロ
ン回路のいずれかで障害が発生した場合、障害が発生し
たニューロン回路を正常に機能している別のニューロン
回路に置き換えるだけでニューラル・ネットワークを容
易に修理することができる。その結果、VLSI半導体
チップを使用する場合に重要な態様である、欠陥に強い
ニューラル・ネットワークの実現が可能になる。
【0013】各種のニューラル・ネットワーク・アーキ
テクチャが考えられる。M. ホラー(Holler)他の論文"
A high performance adaptive classifier using radia
l basis functions"(Microcircuit Applications Conf
erence、1992年11月9〜12日、Las Vegas, USA
(Ref. D1))に記載されているような標準的な放射基本
機能(RBF)技法によれば、RBFタイプの好ましい
ニューラル・ネットワークは、3層構造で構成される。
入力端子を含む第1の層は入力層または入力ニューロン
層と呼ばれている。第2層または隠蔽層はニューロン回
路自体で形成される。第3の層またはニューロン出力層
は、第2の層のニューロン回路の出力を入力として使用
する。各ニューロン回路は、格納済みプロトタイプ・ベ
クトルの成分に関連する重み係数(現在、上記の論文で
は接合重みと呼ばれている)を有する。第1の層の入力
端子上で得られる入力信号は、処理のために第2の層の
すべてのニューロン回路に並列に印加される。したがっ
て、処理は、入力ベクトルとニューラル・ネットワーク
のすべてのプロトタイプ・ベクトルとの距離を決定し、
所与のニューロン回路を反応させたりさせなかったりす
るための前述の比較で構成される。第2の層の各ニュー
ロン回路によって生成される信号は、所定のカテゴリの
1つの出力ニューロンだけに入力される。
【0014】図6は、RBFタイプの10個のニューロ
ン回路N1〜N10で構成されたこのような従来の3層
ニューラル・ネットワーク2を示している。第1の層
は、2つの成分A1およびA2で構成された入力ベクト
ルAを受け取るようになっている2つの入力ニューロン
I1およびI2で構成されている。この第1の層は、第
2の層の各ニューロン回路N1〜N10と完全に相互接
続している。第2の層の各ニューロン回路は、第3の層
の1つの出力ニューロンだけに関係する可能性がある。
学習フェーズ中は、第2の層のニューロン回路を使用し
て、通常、重みメモリと呼ばれるR/Wメモリにプロト
タイプ・ベクトルを格納する(ニューロン回路当たりプ
ロタイプ・ベクトルを1つずつ格納する)。ニューラル
・ネットワーク2を初めて使用する場合、すべての重み
メモリは任意の内容を有する。ニューロン回路は「空
き」状態であると言われる。プロトタイプ・ベクトルが
ニューロン回路に格納され、第2の層のこのようなニュ
ーロン回路と第3の層の出力ニューロンとの接続が確立
する、すなわち、所定のカテゴリがそれに割り当てられ
ると、このように「学習」したこのニューロン回路は空
き状態とは見なされなくなり、「使用中」であると言わ
れる。たとえば、ニューロン回路N2、N5、およびN
8(単一出力ニューロンO2を介して同一カテゴリC2
に関連付けられている)は使用中である。カテゴリC1
およびC3に関連する他のニューロン回路にも同様の理
論が適用される。一方、所定のニューロン回路の影響フ
ィールドの値が学習フェーズ中の縮小プロセスの過程で
縮小可能であることは前述した。しかし、いかなる状況
においてもMinIF値以下の値に達することは許され
ないので、縮小プロセス中にこのような事態が発生する
と、このニューロン回路は「縮退」したと言われる。ニ
ューロン回路N10はまだ空き状態になっており、しか
も、この回路はそれまでに学習していないので、それに
はどのカテゴリも割り当てられていない。結論として、
ニューラル・ネットワークでは、所定のニューロン回路
の状態は空き状態か使用中のいずれかになる。
【0015】図7に示す特徴空間は、例示のための図6
のニューラル・ネットワーク2(ニューロン回路N10
だけは例示されていない)とほぼ一致するように設計さ
れている。図7は、ニューロン回路N1〜N9に格納さ
れている9個のプロトタイプ・ベクトルの影響フィール
ドを示す2次元特徴空間の例を示している。これらのニ
ューロン回路は、2個、3個、4個のニューロン回路か
らなる3つのグループで構成され、それぞれがカテゴリ
C1、C2、およびC3に関連する。さらに、図7から
明らかなように、同一カテゴリのプロトタイプ・ベクト
ルに関連する実際の影響フィールドは様々である可能性
がある。所定のカテゴリは、隣接するかしないか、また
オーバラップするかしないかにかかわらず、1つまたは
複数のプロトタイプ・ベクトルによって表すことができ
る。認識フェーズ中に図7の2次元特徴空間に入力ベク
トルをマッピングする方法に応じて、すべての格納済み
プロトタイプ・ベクトルとの比較の結果、以下に記載す
る様々な場合が発生するのは明らかである。
【0016】特徴空間のすべてのプロトタイプ・ベクト
ルとの比較のために入力ベクトルがニューラル・ネット
ワーク2に提示される認識フェーズでは、図5を参照し
て論じたように、各ニューロン回路が前記入力ベクトル
とその格納済みプロトタイプ・ベクトルとの距離を計算
する。入力ベクトルが所定のプロトタイプ・ベクトルの
影響フィールド内に入る場合、この所定のプロトタイプ
・ベクトルに付属するカテゴリが入力ベクトルに割り当
てられる。入力ベクトルが同一カテゴリに関連する複数
のプロトタイプ・ベクトルの影響フィールド内に入る場
合も同じ理論が適用される。いずれの場合も、単一カテ
ゴリでニューラル・ネットワークが認識した入力ベクト
ルは「識別済み」であると言われる。入力ベクトルが、
オーバラップする各種カテゴリに属す少なくとも2つの
プロトタイプ・ベクトルの影響フィールド内に入る場
合、入力ベクトルは少なくとも2回認識されるが、識別
されないので、この入力ベクトルは「未定義」または
「不定」であると言われる。というのは、それに割り当
てられる(または関連付けられる)カテゴリが決定でき
ないからである。上記のいずれの場合でも、入力ベクト
ルを認識した対応するニューロン回路は「発動」または
「起動」したと言われ、発動信号Fがアクティブ(F=
1)に設定される。入力ベクトルがいずれのプロトタイ
プ・ベクトルの影響フィールドにも入らない場合は、ニ
ューラル・ネットワークのどのニューロン回路も発動し
ない(各発動信号Fが非活動状態(F=0)になる)。
ニューロン回路レベルで生成され「ローカル」または
「ニューロン」データと呼ばれるデータと、ニューラル
・ネットワーク・レベルで生成され「グローバル」また
は「ニューラル」データと呼ばれるデータとを区別する
ことは有益である。ローカル・データは、まず、結果デ
ータ(たとえば、発動するニューロン回路がローカル結
果発動信号を生成する)と、状況データ(たとえば、縮
退したニューロン回路が縮退状況を保持する)とを含
み、これらを以下では結果データと呼ぶ。ローカル・デ
ータはさらに出力データ(たとえば、距離またはカテゴ
リ・データ)を含む。同様に、グローバル・データは、
グローバル結果データ(たとえば、入力ベクトルを識別
するニューラル・ネットワークがグローバル結果識別済
み信号を生成する)と、グローバル出力データ(たとえ
ば、最小距離Dmin)とを含む。したがって、入力ベ
クトルの提示に対する個々のニューロン回路のローカル
反応を表すローカル・データが、出力ニューロン・レベ
ルで「統合」されて前記グローバル・データを生成す
る。
【0017】図6に示すタイプのニューラル・ネットワ
ークは、これまでに当業界で広く使用されてきた。しか
し、現在既知のニューロン回路アーキテクチャは、いず
れも本当に満足できるものとは思われず、一般に数多く
の制限や不便さを露呈している。
【0018】まず第一に、従来のニューラル・ネットワ
ークは、カスケード性をまったく備えていないか、限定
されたカスケード性を備えている。カスケード性とは、
アプリケーションが必要とする数のニューロン回路を取
り入れた複合ニューラル・ネットワークを形成するため
に、無制限の数のニューロン回路を接続できる能力を意
味する。ニューラル・ネットワークは通常、VLSI半
導体チップで実現されるので、そのため、このような複
合ニューラル・ネットワークを最終的に形成するため
に、最小数の追加回路を使用して、必要なだけのニュー
ラル・チップをカスケード接続することが強く望まれる
はずである。残念ながら、このようなフレキシビリティ
はこれまで可能になっていない。その結果、標準的なニ
ューラル・チップ/モジュールのカスケード性は非常に
限定されたものになっている。というのは、大量の同一
チップを組み立てることは容易な作業ではなく、一般に
多数の外部構成要素を必要とするからである。しかも、
このような外部構成要素が必要な場合は、複合ニューラ
ル・ネットワーク内のニューロン回路の数がユーザにと
って透過ではなくなる恐れがある。この透過性は、特に
学習フェーズでは最も重要な要素である。
【0019】次に、これまでに設計された従来のニュー
ラル・ネットワークは自律性ではない。すなわち、ニュ
ーラル・ネットワーク・レベルでグローバル結果を得る
には、必ずディジタル・コンピュータ、通常はマイクロ
コントローラまたは専用マイクロプロセッサによるデー
タ管理全体に関する監視が必要になる。たとえば、米国
特許第5165010号(Ref. D2)、より具体的に
は、全体でまとまってニューラル・ネットワークを形成
する複数のニューロン回路に対する監視を行うマイクロ
コントローラが示されている図23を参照することがで
きる。上記の特許に記載されたニューラル・システム
は、従来のマイクロコントローラと同じ並列アーキテク
チャで構成されている。ニューロン回路とマイクロコン
トローラとの間でデータ・バスを介してデータがやりと
りされるのに対し、アドレスは標準通りアドレス・バス
上を循環する。従来のニューラル・ネットワークのニュ
ーロン回路は、このように完全に受動的で、マイクロコ
ントローラとだけやりとりする。すなわち、ニューラル
・ネットワークを形成する各種のニューロン回路間では
データ通信または交換が一切行われない。しかも、前記
のコンピュータはソフトウェアによって動作するものな
ので、認識フェーズまたは学習フェーズは結果的に長く
複雑な操作になる。もう1つの結果は、従来のニューラ
ル・チップを使用すると、アドレス指定の要件のため
に、入出力パッドの数がそこに統合されたニューロン回
路の数によって決まる点である。このようなニューラル
・チップを取り入れた電子ニューラル・モジュールの入
出力ピンについても、同じ理論が適用される。
【0020】これに対して、このような従来のニューラ
ル・ネットワークで使用できるカテゴリの数は限られて
いる。たとえば、米国特許第4326259号(Ref. D
3)に記載されたニューラル・ネットワークを参照する
と、そのニューロン回路はPLAの水平線に信号供給す
るために1列に配置され、PLAの垂直線がカテゴリを
供給する。上記特許の図8から明らかなように、多くの
理由により、特にユーザがその結果を解釈しなければな
らないので、カテゴリの数を大幅に増加することができ
ないことは明白である。ニューラル・ネットワークによ
る入力ベクトルの形式識別に関するグローバル情報は直
接生成されない。複数のニューロン回路が発動した場
合、ユーザはその結果を解釈しなければならない。
【0021】同様に、カテゴリを、図6のニューラル・
ネットワーク2の各出力ニューロンに付けられたラベル
と見なすと、ニューロン回路レベルでは類似ラベルが存
在しないことに留意されたい。これは、所与のニューロ
ン回路が所定のファミリーの入力ベクトルの認識フェー
ズに関与できないようにする必要がある場合に、従来の
ニューロン回路アーキテクチャに課せられるもう1つの
制限となる。この手法を使用すると、ユーザによってプ
ログラム可能と思われる単一ネットワークまたはそのサ
ブセットとしてニューラル・ネットワークの構成も可能
になるはずである。
【0022】最後に、学習は自力で行われるわけではな
いが、一般にその重みはマイクロコントローラによって
別々に決定され、その後、マイクロコントローラが学習
フェーズが完了したと推定したときにニューロン回路に
ロードされる。その結果、認識フェーズと学習フェーズ
は明らかに別個の期間になる。従来のニューラル・ネッ
トワークにおけるトレーニングは、通常は初期設定時に
任意に設定される重みを調整することによって達成され
る。信号はニューラル・ネットワークを介して入力さ
れ、出力信号が観察される。出力信号が間違っている場
合は、数学的計算によって、重みをどのように調整する
かが決定される。次に、入力信号が再印加され、出力信
号が正しくなるまで出力信号がもう一度再評価される。
米国特許第5222193号(Ref. D4)に教示される
ような先行技術のシステムでは、ニューラル・ネットワ
ークをトレーニングするには、総称汎用プログラマ・イ
ンタフェース(GUPI)を介してホスト・コンピュー
タに接続されたパーソナル・コンピュータ・パーソナル
・プログラマ(PCPP)が必要になる。
【0023】図6のニューラル・ネットワーク2を参照
することにより、上記の欠点のすべてについて簡単に例
示する。まず、入力ベクトルと、ニューロン回路N1〜
N9に格納されたプロトタイプ・ベクトルとの最小距離
Dminの決定に関する例について考察する。一般に、
マイクロコントローラは、それが計算した距離を得るた
めに第1のニューロン回路に問い合わせ、次に第2のニ
ューロン回路に問い合わせ、2つの距離を比較して最低
値を保持する。このポーリング・プロセスは、最後のニ
ューロン回路への問合せが完了するまで連続反復によっ
て順次続行される。したがって、入力ベクトルとすべて
のプロトタイプ・ベクトルとの最小距離値は、プロセス
の終了時にのみ決定され、それにより、前述の縮小プロ
セスが大幅に遅延する。この縮小プロセス中も類似の技
法が適用される。適切なカテゴリを有する正しいニュー
ロン回路だけが残るまで間違って発動したニューロン回
路を除外するために、連続反復が実行される。いずれの
場合も、一連の問合せと比較ステップをすべて実行する
には、複雑な分類アルゴリズムに基づき、そのため、複
数行の命令を含む、専用ソフトウェア・プログラムが必
要である。このため、分類プロセスは本当に時間がかか
る。図6のニューラル・ネットワーク2のすべてのニュ
ーロン回路間の通信が欠如しているため、ニューロン回
路レベルのすべてのローカル結果信号とニューラル・ネ
ットワーク・レベルのグローバル結果信号との間に存在
する潜在的な相関関係は、これまで完全に引き出されて
はいなかった。その結果、図6の従来のニューラル・ネ
ットワークはユーザに対してグローバル・データに関す
る限定情報のみ提供する。しかも、出力ニューロン・レ
ベルで得られるカテゴリの数は、明らかに出力ニューロ
ン・ハードウェア構成によって制限される。前述の制限
または不便さのすべてではないとしても、その多くは、
本発明による改良されたニューラル半導体チップ・アー
キテクチャとそれに組み込まれたニューラル・ネットワ
ークを使用することによって、回避することができる。
【0024】
【発明が解決しようとする課題】したがって、本発明の
主な目的は、発火タイプのローカル(またはニューロ
ン)結果信号と、距離またはカテゴリ・タイプのローカ
ル(またはニューロン)出力信号の両方を生成するタイ
プの革新的なニューロン回路を含む、改良されたニュー
ラル半導体チップ・アーキテクチャを提供することにあ
る。
【0025】本発明の他の目的は、このような革新的な
ニューロン回路を含み、ニューロン回路間の完全なデー
タ交換のためにニューロン間通信システムが各チップに
設けられている、改良されたニューラル半導体チップ・
アーキテクチャを提供することにある。
【0026】本発明の他の目的は、このような革新的な
ニューロン回路を含み、前記ニューロン間通信システム
が前記ローカル結果信号とローカル出力信号との間で所
定の機能を実行する手段を含む、改良されたニューラル
半導体チップ・アーキテクチャを提供することにある。
【0027】本発明の他の目的は、このような革新的な
ニューロン回路を含み、前記所定の機能がアナログ回路
によって実行される、改良されたニューラル半導体チッ
プ・アーキテクチャを提供することにある。
【0028】本発明の他の目的は、このような革新的な
ニューロン回路を含み、その出力が共通通信バスに印加
される論理回路によって前記所定の機能が実行される、
改良されたニューラル半導体チップ・アーキテクチャを
提供することにある。
【0029】本発明の他の目的は、このような革新的な
ニューロン回路を含み、前記所定の機能が共通通信バス
上でのドット処理によって実行される、改良されたニュ
ーラル半導体チップ・アーキテクチャを提供することに
ある。
【0030】本発明の他の目的は、このような革新的な
ニューロン回路を含み、前記ニューロン間通信システム
が、前記共通通信バスから直接得られしかも各ニューロ
ン回路に印加されるフィードバック・バスを含む、改良
されたニューラル半導体チップ・アーキテクチャを提供
することにある。
【0031】本発明の他の目的は、このような革新的な
ニューロン回路を含み、理論的には無限数のチップのカ
スケード化を可能にする、改良されたニューラル半導体
チップ・アーキテクチャを提供することにある。
【0032】本発明の他の目的は、このような革新的な
ニューロン回路を含み、外部回路によって各ニューロン
回路を個別にアドレス指定する必要がない、改良された
ニューラル半導体チップ・アーキテクチャを提供するこ
とにある。
【0033】本発明の他の目的は、このような革新的な
ニューロン回路を含み、ニューラル・チップの入出力パ
ッドの数をそれに統合された前記ニューロン回路の数と
は無関係にすることが可能な、改良されたニューラル半
導体チップ・アーキテクチャを提供することにある。
【0034】本発明の他の目的は、このような革新的な
ニューロン回路を含み、複数のニューラル・チップを組
み立てることによって形成したモジュールの入出力ピン
の数をそれに組み立てられた前記ニューラル・チップの
数とは無関係にすることが可能な、改良されたニューラ
ル半導体チップ・アーキテクチャを提供することにあ
る。
【0035】本発明の他の目的は、このような革新的な
ニューロン回路を含み、それに格納されたすべてのデー
タを保管し、逆にそれを復元できるようになっている手
段が各チップに設けられている、改良されたニューラル
半導体チップ・アーキテクチャを提供することにある。
【0036】本発明の他の目的は、このような革新的な
ニューロン回路を含み、個々のニューラル・チップ内ま
たは複数のこのようなニューラル・チップによって形成
されたモジュール内のいずれかに組み込まれたニューラ
ル・ネットワークの構築を可能にし、ニューロン回路の
数がユーザにとって透過になっている、改良されたニュ
ーラル半導体チップ・アーキテクチャを提供することに
ある。
【0037】本発明の他の目的は、このような革新的な
ニューロン回路を含み、個々のニューラル・チップ内ま
たは複数のこのようなチップによって形成されたモジュ
ール内のいずれかに組み込まれたニューラル・ネットワ
ークの構築を可能にし、自立的に、すなわち、全体的な
データ管理に関するマイクロコントローラの監視を受け
ずに動作可能な、改良されたニューラル半導体チップ・
アーキテクチャを提供することにある。
【0038】本発明の他の目的は、このような革新的な
ニューロン回路を含み、個々のニューラル・チップ内ま
たは複数のこのようなチップによって形成されたモジュ
ール内のいずれかに組み込まれたニューラル・ネットワ
ークの構築を可能にし、効率および処理速度の向上のた
めに内部動作用のソフトウェアを必要としない、改良さ
れたニューラル半導体チップ・アーキテクチャを提供す
ることにある。
【0039】本発明の他の目的は、革新的なニューロン
回路を含み、個々のニューラル・チップ内または複数の
このようなチップによって形成されたモジュール内のい
ずれかに組み込まれたニューラル・ネットワークの構築
を可能にし、前記ニューラル・ネットワークのいずれか
を単一ニューラル・ネットワークまたはその個別のサブ
セットとして構成できるように各ニューラル・チップに
グローバル・コンテキスト・レジスタが設けられてい
る、改良されたニューラル半導体チップ・アーキテクチ
ャを提供することにある。
【0040】本発明の他の目的は、革新的なニューロン
回路を含み、個々のニューラル・チップ内または複数の
このようなチップによって形成されたモジュール内のい
ずれかに組み込まれたニューラル・ネットワークの構築
を可能にし、ニューロン回路による入力ベクトルの学習
または認識がニューロン回路の数とは無関係である、改
良されたニューラル半導体チップ・アーキテクチャを提
供することにある。
【0041】
【課題を解決するための手段】本発明により、まず、ニ
ューラル半導体チップのアーキテクチャの2通りの変形
態様を開示する。
【0042】第1のニューラル・チップ・アーキテクチ
ャの変形態様は、より具体的には、スタンドアロン動作
に対応でき、 ―好ましくは直列に接続され、適切なデータ・バスおよ
び制御バスによって並列に信号供給される複数のニュー
ロン回路で構成されたニューロン・ユニットであって、
各ニューロン回路が、 ―発火タイプのローカル結果信号を第1の専用バス上に
生成する手段と、 ―本質的に距離またはカテゴリ・タイプのローカル出力
信号を第2の専用バス上に生成する手段とを含む、ニュ
ーロン・ユニットと、 ―対応するローカル結果信号とローカル出力信号の各ビ
ット間で所定の論理機能(たとえば、OR機能)を実行
して、オンチップ共通通信バスのそれぞれのワイヤで得
られるそれぞれのグローバル結果信号とグローバル出力
信号とを生成する手段と、 ―前記グローバル結果信号またはグローバル出力信号あ
るいはその両方の全部または一部をフィードバック・バ
スを介して前記ニューロン回路のそれぞれに再注入し
て、そこで対応するローカル信号とグローバル信号との
比較を可能にする手段とを含んでいる。
【0043】第2のニューラル・チップ・アーキテクチ
ャの変形態様は、より具体的には、マルチチップ環境、
すなわち、少なくとも2つのチップがオフチップ共通通
信バス上に並列に接続される場合に動作できるようにな
っており、 ―好ましくは直列に接続され、適切なデータ・バスおよ
び制御バスによって並列に信号供給される複数のニュー
ロン回路で構成されたニューロン・ユニットであって、
各ニューロン回路が、 ―発火タイプのローカル結果信号を第1の専用バス上に
生成する手段と、 ―本質的に距離またはカテゴリ・タイプのローカル出力
信号を第2の専用バス上に生成する手段とを含む、ニュ
ーロン・ユニットと、 ―対応するローカル結果信号とローカル出力信号の各ビ
ット間で第1の所定の論理機能(たとえば、OR機能)
を実行して、オンチップ共通通信バスのそれぞれのワイ
ヤで得られるそれぞれの第1のグローバル結果信号とグ
ローバル出力信号とを生成する第1の手段と、 ―(前記第2のオフチップ共通通信バス上で残りのニュ
ーラル・チップによって送出される対応するグローバル
結果信号とグローバル出力信号とともに)前記第1のグ
ローバル結果信号とグローバル出力信号のそれぞれのビ
ット間で第2の所定の論理機能(たとえば、OR機能)
を実行して、対応する第2のグローバル結果信号とグロ
ーバル出力信号とをそこに生成する第2の手段と、 ―前記第2のグローバル結果信号またはグローバル出力
信号あるいはその両方の全部または一部をフィードバッ
ク・バスを介して前記ニューロン回路のそれぞれに再注
入して、そこで対応するローカル信号と第2のグローバ
ル信号との比較を可能にする手段とを含んでいる。
【0044】ただし、オフチップ共通通信バス上でグロ
ーバル信号を直接生成するために、第2のアーキテクチ
ャの変形態様では、2つではなく、1つの所定の論理機
能しか実行できないことに留意されたい。
【0045】上記の2通りのアーキテクチャの変形態様
は、いずれかの共通通信バスを選択してフィードバック
・バスに信号供給するためにマルチプレクサを使用する
だけで、以下にベース・ニューラル・チップと呼ばれる
単一ニューラル・チップに結合することができる。この
ようなベース・ニューラル・チップに組み込まれたニュ
ーラル・ネットワークについては、以下、ベース・ニュ
ーラル・ネットワークと呼ぶ。
【0046】さらに本発明は、前記オフチップ共通通信
バス上で複数のベース・ニューラル・チップを並列に接
続することによって形成されたモジュールに関連する。
このようなモジュールについては、以下、基本モジュー
ルと呼ぶ。それに組み込まれたニューラル・ネットワー
クは、前記基本モジュールを形成する個々のベース・ニ
ューラル・チップのベース・ニューラル・ネットワーク
の合計に相当するニューラル容量を有する。このニュー
ラル・ネットワークについては、以下、基本ニューラル
・ネットワークと呼ぶ。
【0047】最後に、本発明はさらに、複数のこのよう
な基本モジュールを組み立てることによって形成された
モジュールに関連する(基本モジュールに組み立てるこ
とができるチップの数は当技術によって制限される可能
性がある)。このようなモジュールについては、以下、
複合モジュールと呼ぶ。それに組み込まれたニューラル
・ネットワークは、前記複合モジュールを形成する個々
のモジュールの基本ニューラル・ネットワークの合計に
相当するニューラル容量を有する。このニューラル・ネ
ットワークについては、以下、複合ニューラル・ネット
ワークと呼ぶ。前記各種のニューラル・ネットワークの
区別が不適切な場合は、以下の説明においてニューラル
・ネットワークという総称を使用する。
【0048】本発明の特性を示していると思われる新規
の特徴は、特許請求の範囲に記載されている。しかし、
本発明そのもの、ならびに本発明の他の目的および利点
については、添付図面に関連して読まれる好ましい実施
例に関する以下の詳細な説明を参照すれば十分理解する
ことができる。
【0049】
【実施例】本実施例の記載は以下のように構成されてい
る。 ZISCチップ・アーキテクチャの簡単な説明 はじめに 基本ZISCチップ・アーキテクチャ 基本ZISCチップ・アーキテクチャの変形態様 ZISCモジュール・アーキテクチャ 基本ZISCチップの動作の簡単な説明 初期設定モード 認識モードと事前装填モード 学習モード 保管モードと復元モード 基本ZISCチップの詳細な説明 コンテキスト・レジスタと突合せ回路(100/15
0) R/Wメモリ回路(250) 距離評価回路(200) 比較回路とIF回路(300/350) 識別回路(400) Dmin決定回路(500) デイジー・チェーン回路(600) ニューロン間通信システム(COM―BUS) 補助回路 基本ZISCチップの主な特徴 基本ZISCチップの主な応用例
【0050】また、本明細書および図面で使用される記
号の定義は以下の通りである。 A 入力ベクトル AIF 実際の影響フィールド値 A1 入力ベクトルの第1の成分(重み) a1 入力ベクトル成分の第1のビット B プロトタイプ・ベクトル B1 プロトタイプ・ベクトルの第1の成分 b1 プロトタイプ・ベクトル成分の第1のビット CAT 入力カテゴリ CAT−BUS 入力カテゴリを伝送するバス C ニューロン回路11のローカル・カテゴリ Cat−BUS ローカル・カテゴリを伝送するバス CiまたはC−i ニューロン回路11−iのローカル・カテゴリ C*またはC** グローバル・カテゴリ c 繰上りビット信号 Cin 加算器の繰上り入力信号 Cgen、Cout 加算器の繰上り出力信号 Cmin 最小カテゴリ CO コミット済みニューロン回路用の制御信号 COM*―BUS R*信号とOUT*信号を伝送するバス COM**―BUS R**信号とOUT**信号を伝送するバス COM−BUS COM*―BUSとCOM**―BUSの総称名 CXT 入力コンテキスト・データ CXT−BUS CXTデータを伝送するバス Cxt ローカル・コンテキスト・データ Cxt−BUS Cxtデータを伝送するバス D、Di、またはD−i ニューロン回路によって計算された距離 DATA−BUS データを伝送するバス DCI デイジー・チェーン入力端子/信号 DCO デイジー・チェーン出力端子/信号 DIST―BUS 距離D信号を伝送するバス DEG 縮退状況信号 DEGOUT ローカル結果縮退信号 Dmin 最小距離 EXCLIN 探索/分類回路の入力除外信号 EXCLOUT 探索/分類回路の出力除外信号 F ローカル結果発動信号 F*またはF** グローバル結果発動信号 f 強制ビット信号 g 反転強制ビット信号 GDATA−BUS グローバル出力バス INDATA−BUS 入力データ・バス i 作業変数 iまたは−i ニューロン回路11−iに関連する J 比較回路によって生成された信号 J−BUS J信号を伝送するバス jk J信号のk番目のビット K ブロック400の中間信号 k 作業変数 L 学習中にアクティブの制御信号 LT 中間信号(未満) LTE 中間信号(以下) Lk k番目の行Lkによって形成された2進ワード L1 norm マンハッタン距離計算法 Lsup 平方距離計算法 l 作業変数 M−BUS ZISCチップのバス m ベクトル成分の符号化用のビットの数 MaxIF AIFの最大値 MinIF AIFの最小値 n ベクトル成分の数 N ZISCチップ内のニューロン回路の数 NM 通常サブモード(認識フェーズ中) NNM 最も近い隣接サブモード(同上) NO 入力ノルム信号 NO−BUS NO信号を伝送するバス No ローカル・ノルム信号 No−BUS No信号を伝送するバス NOUT ローカル(またはニューロン)出力信号 NOUT―BUS NOUT信号を伝送するバス NR 複合ローカル結果信号 NR−BUS NR信号を伝送するバス OR フィードバック信号(OUT*またはOUT**と等し い) OR−BUS OR信号を伝送するバス OUT* グローバル出力信号(OR演算1回) OUT** グローバル出力信号(OR演算2回) p ZISCチップの各種バスの幅 p 伝播ビット(p=
【数1】 以降、fバーと記載する。 ) PU 処理ユニット q 作業変数 Q 基本モジュール内のチップの最大数 R 複合モジュール内の基本モジュールの最大数 R* 複合グローバル結果信号 R*−BUS R*信号を伝送するバス RAM−BUS ニューロン回路のバス RESET 一般リセット制御信号 RS 格納可能用の制御信号 s 部分合計の1つのビット S 加算器によって出力される合計信号 SELECT ゲート信号 SL 状況線 ST 格納制御信号 UNC/FIRE.OK ローカル結果あいまい信号 UNC/FIRE.OK* グローバル結果あいまい信号 X 加算器内の中間信号 ( ) チップ関連参照を示す。 [ ] 基本モジュール関連参照を示す。 { } 複合モジュール関連参照を示す。
【0051】ZISCチップ・アーキテクチャの簡単な
説明 はじめに 本発明により、ニューラル・チップのプロトタイプが従
来の1μmCMOS技術で製造されている。ベクトル成
分の数nは1(最小数)から64(最大数)に及ぶ。各
成分を符号化するためのビットの数mは8である。入力
データ・インタフェースは、16ビットの双方向バスに
よって行われる。14ビットの精度で距離を計算するた
めに、前述のL1およびLsupノルムが用意されてい
る。コンテキストとカテゴリはそれぞれ7ビットおよび
14ビットで符号化されるので、その最大数は127と
16384になっている。最大影響フィールドと最小影
響フィールドの半径値に対応するMaxIFとMinI
Fも14ビットで符号化される。ZISCチップ10の
初期設定時には、これらの値はそれぞれ010・・・0
0(すなわち、2**13=8192)および00・・・
10(すなわち、2**1=2)になっている。これは経
験に基づいて任意に決定されたデフォルト値である。チ
ップ内のトランジスタが合計で約400000個になる
ように、シリコン基板に36個のニューロン回路が集積
されている。革新的なアーキテクチャを有するこのニュ
ーロン回路は、結果信号と出力信号を生成する。このニ
ューラル半導体チップの完全ハードワイヤード自律態様
を強調するため、以下、ZISCチップと呼ぶことにす
る。ZISC(IBMの登録商標)とは、Zero Instruc
tion Set Computer(またはClassifier)(ゼロ命令セ
ット・コンピュータ(または分類器))の頭辞語であ
る。このため、ZISCチップはその動作のためにいか
なる命令セットも必要としないので、基本的に標準的な
CISCまたはRISCコンピュータ・チップとは区別
される。このZISCという名称は、前記の革新的なニ
ューロン回路、前記ニューラル・チップを組み立てるこ
とにより構築されたモジュール、および最後に前記ニュ
ーラル・チップまたはモジュールに組み込まれたニュー
ラル・ネットワークにも適用可能である。
【0052】基本ZISCチップ・アーキテクチャ ここで図8を参照すると、同図には、本発明の基本ZI
SCチップ(参照番号10)の第1の変形態様のアーキ
テクチャの概略ブロック図が示されている。このチップ
・アーキテクチャは、ローカル(またはニューロン)結
果データとローカル(またはニューロン)出力データと
を生成するタイプの複数の革新的なニューロン回路を含
み、本発明によるニューラル・ネットワークを取り入れ
たものである。図8に示す単一チップ・アーキテクチャ
はスタンドアロン用として作られている。革新的なニュ
ーロン回路は、すべてが合わさってニューラル・ユニッ
ト11(#)を形成するブロック11−1〜11−Nに
含まれている。図8から明らかなように、ニューロン回
路11−1〜11−Nはいずれも、1つの連鎖として構
成されるように直列接続を有する。この好ましい実施例
では、すべてのニューロン回路が同一であると想定し、
ニューロン回路の一例を参照番号11(場合によっては
11−i)で示すことにする。ニューロン回路11の好
ましいアーキテクチャについては、図10を参照して以
下に詳細に説明する。以下の説明では、参照番号11は
ニューロン回路のアーキテクチャならびにニューロン回
路そのものも示す。ZISCチップ10のアーキテクチ
ャとZISCチップ10そのものについても、同様の表
記法を適用する。図8では、ニューラル・ネットワーク
が参照番号11(A)で示されている。このニューラル
・ネットワークは、基本的には単一のZISCチップ1
0に形成されたニューラル・ユニット11(#)とニュ
ーロン間通信システムとで構成される。図8に示す変形
態様のこの実施態様によれば、ニューロン間通信システ
ムは、ブロック12と、COM*−BUSというオンチ
ップ共通通信バスとで構成される。これらについては以
下に詳述する。図8のすべてのブロックは、VLSI
ICチップを形成するためにシリコン基板に容易に集積
可能な回路で構成されている。ZISCチップ10は、
現在、ニューラル・ネットワーク11(A)の動作の監
視が標準のニューラル・チップで実施されているので、
このような監視を実行するためのマイクロコントローラ
を特に必要とするわけではない。このため、命令セット
は一切不要である。マイクロコントローラ(またはマイ
クロプロセッサ)をZISCチップ10と併用すること
は可能であるが、その役割は、ニューラル・ネットワー
ク11(A)に入力ベクトル(およびカテゴリ)を提示
することと、それからグローバル応答を得ることに限ら
れるものと思われる。便宜上、このような動作は、以
下、WRITE動作およびREAD動作と呼ぶ。ただ
し、図8のZISCチップ10のアーキテクチャは改善
されているので、手動操作のスイッチを介してユーザが
これらの動作を実行することもできることに留意された
い。ZISCチップ10の所与のブロックとマイクロコ
ントローラまたはユーザ(図示せず)との接続は、IN
DATA BUSという16ビットの双方向入力データ
・バス(マイクロコントローラがある場合はその入出力
バスに接続される)と、選択および制御信号を伝送する
SEL/CTL―BUSとによって示される。各サイク
ルでINDATA―BUS上に現れるデータをラッチす
る従来の入力16ビット・レジスタ(DATAレジス
タ)は図示されていない。ZISCチップ10と外界と
のインタフェースを取るレシーバ、ドライバ、およびレ
シーバ/ドライバ回路は、場合に応じてそれぞれRR、
DR、またはRR/DRというブラック・ボックスによ
って概略が示されている。これらはいずれも回路設計者
にとっては従来の回路である。
【0053】ブロック13は、入力ベクトルの各主成分
を表すデータがDATA−BUSからロードされる8ビ
ットのレジスタである。このレジスタは、非同期モード
では任意であり、ZISCチップ10の同期動作モード
(バースト・モード)の場合のみ必須である。
【0054】入力ベクトル・データに加え、各種のセッ
トアップ・パラメータ(MaxIF値およびMinIF
値など)と入力データ(入力カテゴリ、入力コンテキス
ト、およびノルムなど)もZISCチップ10の専用レ
ジスタでラッチされる。
【0055】ブロック14および15は、初期設定時に
最大影響フィールド(MaxIF)値と最小影響フィー
ルド(MinIF)値がロードされる14ビットのレジ
スタである。MaxIF値は、所定のプロトタイプ・ベ
クトルの影響フィールドが学習時に取りうる最大値であ
る。MinIFは、前記影響フィールドが学習プロセス
中に取りうる最小値である。ZISCチップ10の図示
の実施例では、MaxIF値とMinIF値が同時に使
用されることはないので、レジスタ14および15のそ
れぞれの出力は、その出力バスが14ビットのMaxI
F/MinIF−BUSを形成する2ウェイ・マルチプ
レクサ16の入力に任意で接続することができる。
【0056】NO/CXTメイン・レジスタ17と呼ば
れる第4のブロックは、入力ノルムとコンテキスト・デ
ータを格納するために使用される8ビットのレジスタで
構成される。NO/CXTメイン・レジスタ17から出
力されるバスは、NO/CXT−BUSと呼ばれ、8ビ
ットの幅を有する。このような入力ノルムとコンテキス
ト・データの役割については、図10に関連して以下に
詳述する。
【0057】INDATA−BUS上で得られる入力カ
テゴリ・データCATは、14ビットの幅を有し、CA
T−BUSと呼ばれる専用バス上で伝達される。
【0058】図面を明瞭にするため、図8のすべてのブ
ロックに関する制御信号を伝送する線は図示されていな
い。これらの信号の多くは特定のブロック(参照番号1
8)で生成される。本質的に、ブロック18は、ZIS
Cチップ10の各種ブロックの適切な動作のために必要
なほぼすべての制御論理回路を含む状況/制御論理回路
で構成される。ブロック18のブロック図構成について
は、図11を参照して以下に詳述する。
【0059】したがって、図8から明らかなように、ニ
ューロン回路11−1〜11−Nのそれぞれには4本の
バスDATA、CAT、MaxIF/MinIF、およ
びNO/CXTが並列に印加される。上記のバスのそれ
ぞれのビット容量は、前述のZISCチップ10の特定
の実施態様に関して例示のために示されているものなの
で、制限的に解釈してはならない。
【0060】次に、本発明による個々のニューロン回路
(参照番号11)のアーキテクチャの概略ブロック図を
示す図10について考察する。図10から明らかなよう
に、NO/CXT−BUSは、ローカル・ノルム/コン
テキスト・レジスタと呼ばれるブロック100と、基本
的に標準通りXORゲートとORゲートからなる従来の
突合せまたは比較回路であるブロック150の第1の入
力とに同時に印加される。NO/CXT−BUSは、1
ビットの入力ノルム信号と7ビットの入力コンテキスト
・データを伝送する。マイクロコントローラまたはユー
ザによって送り出された入力ノルムとコンテキスト・デ
ータがローカル・ノルム/コンテキスト・レジスタ10
0に格納されると、格納されたそのデータはローカル・
ノルム/コンテキスト・データと呼ばれる。ノルム/コ
ンテキスト・レジスタ100から出力されるデータは、
ローカル・ノルムの場合はNo、ローカル・コンテキス
トの場合はCxtと呼ばれる。これらのデータは、突合
せ回路150の第2の入力に印加される7ビットのCx
t−BUSと、ブロック200に接続された1ビットの
No−BUSとの2つの部分で構成されるNo/Cxt
−BUS上で得られる。ブロック200については、以
下、マルチノルム距離評価回路と呼ぶ。
【0061】本発明によれば、ニューラル・ネットワー
ク11(A)が入力ベクトルを学習する必要があるとマ
イクロコントローラまたはユーザが判断すると、その後
ただちに、空き状態のニューロン回路11を拘束する
か、または間違って発動した使用中ニューロン回路のA
IF値の縮小に進むかの判断が、ニューラル・ネットワ
ーク11(A)そのものに属すようになる。拘束プロセ
スが終了すると、ノルム/コンテキスト・レジスタ10
0の内容が、NO/CXT−BUSを介して図8のNO
/CXTメイン・レジスタ17から自動的にロードされ
る。その後、NO/CXTメイン・レジスタ17とノル
ム/コンテキスト・レジスタ100の内容が異なる場合
もある。ローカル・ノルム/コンテキスト・レジスタ1
00に格納されているローカル・ノルム(No)および
コンテキスト(Cxt)データと、NO/CXTメイン
・レジスタ17に保持されている入力ノルム(NO)お
よびコンテキスト(CXT)データとの間にこのような
差があるために、相当な恩恵が得られる可能性がある。
【0062】コンテキストに関する限り、この差を使用
して各種の入力タイプを区別できることは有利である。
たとえば、コンテキスト・データの手法を使用して、一
方が大文字を表し、もう一方が小文字を表すという2通
りの入力ベクトル・ファミリーを区別する(または、よ
り一般的には、異なる活字フォント同士を区別する)こ
とができる。この場合、大文字の認識を担当するニュー
ラル・ネットワーク11(A)のすべてのニューロン回
路には第1の2進値と等しいローカル・コンテキストが
ロードされ、小文字の認識を担当する残りのすべてのニ
ューロン回路には第2の2進値と等しいローカル・コン
テキスト・データがロードされるはずである。このた
め、ローカル/入力コンテキストの手法では、所定の入
力コンテキストで学習したニューロン回路の選択と、そ
れ以外のすべてのニューロン回路の抑止が可能になる。
入力ベクトルを認識するたびに、ニューロン回路11の
ローカル・ノルム/コンテキスト・レジスタ100に格
納されているコンテキスト値がNO/CXTメイン・レ
ジスタ17に格納されているコンテキスト値と比較され
る。同一であると判明した場合は、そのニューロン回路
が選択され、同一であると判明しなかった場合は、その
ニューロン回路が抑止される。この比較は、NS(NS
とはNeuron Selection(ニューロン選択)を意味する)
という信号を生成して所定のニューロン回路を選択また
は抑止するという役割を有する突合せ回路150で行わ
れる。そのため、前述の通り、突合せ回路150は、N
O/CXT−BUSのコンテキスト部分(CXT−BU
S)を介してCXT信号を受け取り、No/Cxt−B
USのコンテキスト部分(Cxt−BUS)を介してノ
ルム/コンテキスト・レジスタ100から出力されたC
xt信号を受け取る。前記の信号同士が一致している
と、NS信号がアクティブに設定され、後述するように
前記ニューロン回路がZISCチップ10の残りのニュ
ーロン回路と通信できるようになる。場合に応じて使用
可能または使用不能にするために、図10のニューロン
回路アーキテクチャの所与のブロックに信号NSが印加
される。認識フェーズ中は、もはや空き状態ではなくな
り(すなわち、すでに使用中になっている)、NS信号
によって選択されたニューロン回路が「コミット済み」
であると言われる。このため、本発明のコンテキスト手
法により、ニューラル・ネットワーク11(A)を単一
ニューラル・ネットワークとしてまたはその個別サブセ
ットを配置したものとして構成することが可能になる。
後者の場合、ニューラル・ユニット11#内の各種グル
ープのニューロン回路がこのように定義される。
【0063】これに対して、ローカル・ノルム信号No
は、後述するように、入力ベクトルAとニューロン回路
11の重みメモリに格納されたプロトタイプ・ベクトル
Bとの距離を計算する方法を決定する。本発明によれ
ば、ローカル・ノルム信号Noは、評価回路200内部
の妥当な回路実施態様により必要な計算アルゴリズムを
選択する(ZISCチップ10は完全にハードウェアに
よる解決策に基づくものである)。この例のZISCチ
ップ10の各ニューロン回路11は、MANHATTA
N距離(L1ノルム)すなわちD=sum(abs(A
k−Bk))またはSQUARE距離(Lsupノル
ム)すなわちD=max(abs(Ak−Bk))のい
ずれかを計算することができる。この場合、変数kは1
からnまでのあらゆる値を取る。ただし、"abs"は
「絶対値」を表す一般的な省略形であることに留意され
たい。開示されたZISCチップ10の実施態様によれ
ば、ローカル・ノルムおよびコンテキスト・データはそ
れぞれ1ビットおよび7ビットで符号化される。たとえ
ば、No/Cxt−BUSの最上位のビット(MSB)
はローカル・ノルムを表し、残りのビットはローカル・
コンテキストを表す。初期設定時には、デフォルトによ
りMANHATTAN距離を計算するために、このロー
カル・ノルム・ビットNoがゼロになる。これに対し
て、ローカル・コンテキスト・データを保持するために
7ビットが使用されるが、ゼロ値は予約されているの
で、最高127通りのコンテキスト値のみ可能になる。
後者の場合、ZISCチップ10のすべてのニューロン
回路が無条件に選択される。すなわち、ローカル・デー
タと入力コンテキスト・データとの前述の比較は行われ
ない。
【0064】DATA−BUSは、マルチノルム距離評
価回路200の一方の入力と、一般に読取り書込みメモ
リ回路であるブロック250とに印加される。図8のZ
ISCチップ10の本発明の実施態様によれば、本質的
に読取り書込みメモリ250は、通常は重みメモリと呼
ばれる64ワード×8ビットのRAMマクロで構成され
る。R/Wメモリ回路が、ニューラル・ネットワークの
すべてのニューロン回路に共通の単一R/Wメモリ回路
ではなく、各ニューロン回路11にそれに関連するプロ
トタイプ・ベクトルの各主成分を格納できるようになっ
ていることは、本発明の重要な特徴である。R/Wメモ
リ回路250を評価回路200のもう一方の入力に接続
するバスには、RAM−BUSと呼ばれる。認識フェー
ズ中に、すべてのニューロン回路11−1〜11−Nの
R/Wメモリ回路250は、IADD/CTL−BUS
を介してブロック18によって同一成分アドレスを使用
して同時かつ並列にアドレス指定される。また、RSと
いう制御信号がR/Wメモリ回路250に印加される。
このRS信号は、所定の空き状態ニューロン回路、たと
えば、連鎖内の最初の回路のみのR/Wメモリ回路25
0に入力ベクトルの成分を格納できるようにするための
イネーブル信号である。この最初の空き状態ニューロン
回路は、以下、「学習可能」ニューロン回路と呼ぶ。す
でに使用中になっているニューロン回路、すなわち、そ
のR/Wメモリ回路250にすでにプロトタイプ・ベク
トルの成分が入っているニューロン回路の場合、このよ
うなニューロン回路によって生成されるRS信号は、そ
れに対する書込みが許可されなくなるような信号であ
る。認識フェーズ中に学習可能ニューロン回路のR/W
メモリ回路250に入力ベクトル成分をロードすること
は、本発明による革新的なニューロン回路アーキテクチ
ャのもう1つの重要な特徴である。消費電力を節約する
ため、すべての空き状態ニューロン回路のRAMメモリ
回路に入力ベクトル成分がロードされるわけではない。
使用中ニューロン回路の評価回路200だけが、DAT
A−BUS上に提示される入力ベクトルAと前記R/W
メモリ回路250に格納されたプロトタイプ・ベクトル
Bとの距離を計算することが好ましい。計算される距離
Dは、評価回路200に印加されるローカル・ノルム信
号Noの値に応じて、前述のように、L1ノルムの場合
はMANHATTAN距離、またはLsupノルムの場
合はSQUARE距離のいずれかになる。しかし、他の
計算方法も考えられるはずである。処理速度を上げるた
め、第1の入力ベクトル成分が評価回路200に提示さ
れると、ただちに距離計算が開始される。前記の成分が
すべて処理されると、評価回路200は14ビットのD
IST−BUS上に最終距離D信号を生成する。入力ベ
クトルの最後の成分の後には制御信号LCOMP(Last
COMPonent(最後の成分))が続く。
【0065】距離D信号は、DIST−BUSを介して
ブロック300の第1の入力と、DIST−BUSを介
してブロック350の第1の入力に印加される。ブロッ
ク350の構造については、図12に概略を示す。ブロ
ック350から出力される信号Jは、ブロック300の
第2の入力に印加される。
【0066】図12から明らかなように、基本的にブロ
ック350は、4ウェイ・マルチプレクサ351と14
ビットのAIFレジスタ352とで構成されるIF回路
で構成されている。このマルチプレクサ351は、前記
AIFレジスタ352を介してOR−BUS、DIST
−BUS、MaxIF/MinIF−BUS、およびそ
れ自体の出力を受け取って、それらから出力されるデー
タをラッチする。この段階の説明では、OR−BUSは
本質的に距離(および特に最小距離Dmin)あるいは
データまたは信号のカテゴリ・タイプを伝送する14ビ
ット幅のバスであると説明するだけで十分である。学習
フェーズ中にニューロン回路11のAIFレジスタ35
2には、その最大値がMaxIF/MinIF−BUS
を介してMaxIFによって示される値がロードされ
る。その後、その内容は、必要であれば後続の学習フェ
ーズ中に変更される場合もある。コミット済みニューロ
ン回路のAIF値は、縮小プロセスの終わりに、ニュー
ロン回路11によって計算された距離D、MinIF
(D<MinIFの場合)、またはMaxIF(D>M
axIFの場合)のいずれかになる可能性がある。使用
中になったばかりの第1のニューロン回路にロードされ
たAIF値は、Dmin(入力ベクトルと最も近い隣接
ニューロン回路との距離)、MinIF、またはMax
IFのいずれかになる。実際には、AIFレジスタ35
2は、AIF、すなわち、MaxIFとMinIF(そ
れぞれ上限値と下限値)によって定義される範囲に含ま
れる値を保持する。AIF値は、認識フェーズ中は変更
不能であるが、学習フェーズ中のみ変更可能である。こ
の下限値に達する(AIF=MinIF)と、ただちに
対応するニューロン回路11が縮退したと言われる。信
号Jは14ビットのJ−BUS上でIF回路350から
出力される。J信号の特徴は、適切な制御信号がマルチ
プレクサ351に印加されることによって決まる。
【0067】もう一度図10を参照して説明すると、基
本的にブロック300は、信号DとJとの比較を行い、
その論理値が比較の結果によって決まる2つの信号LT
(未満)およびLTE(以下)を生成する革新的な比較
回路で構成される。動作モードに応じて、様々な場合が
考えられる。以下の説明は、認識モードの標準サブモー
ド(NM)に関するものである。比較回路300の役割
は、距離DとAIFレジスタ352の内容(J=AI
F)との比較を行うことである。所定の入力ベクトルに
ついて計算された距離Dがそのニューロン回路の実際の
影響フィールドAIF内に入る場合、すなわち、D<A
IFの場合、入力ベクトルが認識され、ニューロン回路
が発動し、最後に比較回路300によって生成されたL
T信号がアクティブに設定される(LT=1)。これに
対して、入力ベクトルが厳密にはAIF内に入らない場
合、すなわち、D>=AIFの場合、入力ベクトルは認
識されず、ニューロン回路は発動せず、信号LTは非活
動状態に設定される(LT=0)。認識モードではLT
E信号は使用されない。一方、学習フェーズでは、縮小
プロセス中に比較回路300が計算した距離DとMin
IF値(J=MinIF)との比較を行う。距離DがM
inIF値以下の場合、すなわち、D<=MinIFの
場合、比較回路300から出力されるLTE信号はアク
ティブに設定される(LTE=1)。この場合、信号L
TEの役割は、後述するようにブロック400の専用レ
ジスタ(DEGレジスタ)を設定する際に縮退状況のフ
ラグを立てることである。これに対して、D>MinI
Fの場合は、信号LTEが非活動状態に設定される(L
TE=0)。学習モードではLT信号は使用されない。
このため、コミット済みニューロン回路11の場合、信
号LTは認識フェーズの発動ローカル結果信号Fに関連
し、信号LTEは学習フェーズのニューロン回路の縮退
状況に関連する。
【0068】比較回路300によって生成されるLT信
号とLTE信号はブロック400に印加される。しか
も、ブロック400は、OR−BUS、CAT−BU
S、およびブロック450の出力にも接続されている。
ブロック450は本質的には、後続処理のためにローカ
ル・カテゴリ・データとしてCAT−BUS上に現れる
入力カテゴリ・データCATをラッチするための従来の
14ビット・レジスタで構成されている。初期設定時に
ローカル・カテゴリ・レジスタ450の内容はゼロにな
る。カテゴリ・レジスタ450の出力に接続されている
バスは、Cat−BUSと呼ばれる。このバスはローカ
ル・カテゴリ・データまたは信号Cを伝送するものであ
る。その結果、CAT−BUS上に現れる入力カテゴリ
・データは、カテゴリ・レジスタ450に保持されたロ
ーカル・カテゴリ・データCとは異なる可能性がある。
区別しても意味がない場合は、どちらのデータも以下、
カテゴリ・データという単一用語で呼ぶことにする。学
習フェーズでは、ニューラル・ネットワークの他のどの
ニューロン回路も入力ベクトルを認識していないという
理由でニューラル・ネットワーク11(A)がニューロ
ン回路11の拘束を決定すると、ただちにカテゴリ・レ
ジスタ450に所定の入力カテゴリ値がロードされる。
ブロック400は、認識フェーズ中に入力ベクトルがニ
ューロン回路11によって認識されたかどうかを明らか
にするという主要機能を有する革新的な識別回路で構成
されている。識別回路400は、3つのローカル結果信
号F、DEGOUT、およびUNC/FIRE.OK
と、1つのローカル状況信号DEGとをニューロン回路
11レベルでローカルに生成する。このようなローカル
結果信号は、全体として入力ベクトルの提示に対するニ
ューラル・ネットワーク11(A)の応答を表すグロー
バル結果信号の生成にとって重要なものである。
【0069】ニューロン回路11が発動する、すなわ
ち、入力ベクトルを認識すると、発動ローカル結果F信
号がアクティブに設定される(F=1)。F信号は、D
EG状況信号(以前のLTE信号の処理の結果として識
別回路400の前記専用DEGレジスタ内部で得られる
もの)と結合され、DEGOUT信号を生成する(DE
GOUT=DEG AND F)。その結果、縮退した
ニューロン回路が発動すると、縮退結果DEGOUT信
号がアクティブに設定される(DEGOUT=1)。信
号FとDEGOUTは、実際には、ニューラル・ネット
ワーク11(A)への入力ベクトルの提示に対する個々
のニューロン回路11のローカル応答である。さらに、
信号Fは、後で詳述するようにゲート信号の役割も果た
す。特に、この信号は、発動していないコミット済みニ
ューロン回路がOR回路12と前述のオンチップ共通通
信バスCOM*−BUSとを介して発動した他のニュー
ロン回路と通信できないようにするものである。最後
に、識別回路400はUNC/FIRE.OK信号を生
成するが、その重要性については後述する。UNC/F
IRE.OK信号の値は、対象となるニューロン回路1
1を含む、発動したすべてのコミット済みニューロン回
路の(OR−BUSによる)応答を考慮に入れているの
で、この信号は異なる性質のものになる。ローカル(ま
たはニューロン)結果信号F、DEGOUT、およびU
NC/FIRE.OKがまとまって、3ビットのNR−
BUS上で得られる複合NR信号(NRとはNeuron Res
ult(ニューロン結果)を意味する)を形成する。
【0070】図10のニューロン回路アーキテクチャの
もう1つの重要な特徴は、各ニューロン回路11に設け
られ、図13に概略が示されているブロック500の革
新的な設計にある。
【0071】図13から明らかなように、ブロック50
0は概略的には、3ウェイ・マルチプレクサ501と、
革新的な探索/分類回路502と、論理回路503とで
構成されたDmin決定回路で構成されている。マルチ
プレクサ501には、入力バスとしてJ−BUS、No
/Cxt−BUS、およびCat−BUSが印加され
る。マルチプレクサ501の出力は探索/分類回路50
2の第1の入力に接続され、他の入力はOR−BUSを
受け入れる。回路500は14ビットのNOUT−BU
S上にNOUT(NOUTとはNeuron OUTput(ニュー
ロン出力)を意味する)というローカル出力信号を生成
する。論理回路503は、3つの入力信号F、RS、お
よびCOを受け取り、探索/分類回路502の動作に有
用な選択信号
【数2】 以降、SELECTバーと記載する。を生成する。制御
信号RSおよびCOの特徴と役割については後述する。
ローカル距離D信号(J−BUSによる)とローカル・
カテゴリC信号(Cat−BUSによる)は、標準通り
マルチプレクサ501に印加される制御信号に応じて、
探索/分類回路502の入力に直接印加することができ
る。探索/分類回路502は、特に上記の信号がNOU
T−BUS上で得られるように、バイパスするか、また
はパススルーすることができる。ZISCチップ10の
本発明の実施態様では、OR−BUSの14ビットがゼ
ロになるときに探索/分類回路502がバイパスされ
る。ニューロン回路11の探索/分類回路502は、前
記ニューロン間通信システムを介してZISCチップ1
0に組み込まれている他のニューロン回路の対応する探
索/分類回路と密接に協力して仮想集合回路(後で詳述
する)を形成するように設計されている。前記集合回路
の重要な役割は、ニューロン回路11−1〜11−Nの
うち、コミットされ発動したものについて、計算した距
離のうちの最小距離Dminを決定し、残りの距離を増
加順に分類することである。
【0072】ブロック600は、本発明のニューロン回
路11のもう1つの革新的な特徴である。本質的にブロ
ック600は、前述の通り、図8のZISCチップ10
のすべてのニューロン回路が連鎖状構造を形成するよう
に、2つの隣接ニューロン回路の同様のデイジー・チェ
ーン回路との直列接続を可能にするデイジー・チェーン
回路で構成されている。そのため、専用入力端子DCI
および専用出力端子DCOが設けられている。デイジー
・チェーン回路600は、ニューロン回路11が空き状
態のときに第1の2進値(たとえば、0)を格納し、ニ
ューロン回路11が使用中のときに第2の2進値(たと
えば、1)を格納する1ビットのレジスタ(DAISY
REG)周辺に構成されている。前記1ビット・レジ
スタの内容は初期設定時はゼロである。デイジー・チェ
ーン回路600の特定の構造の結果、学習可能になって
いる空き状態ニューロン回路が容易に識別される。とい
うのは、その空き状態ニューロン回路は、DCI端子と
DCO端子にそれぞれ印加されるDCI信号とDCO信
号が互いに補数関係になっている(たとえば、信号DC
I=1で信号DCO=0)ニューロン回路11−1〜1
1−Nの連鎖において最初のニューロン回路になるから
である。前記学習可能ニューロン回路の学習フェーズで
は、ST(STとはSTorage enable(格納可能)を意味
する)という信号が活動化され、拘束プロセスの終わり
にデイジー・チェーン回路600の前記1ビット・レジ
スタに「1」をロードする。次に、デイジー・チェーン
回路600はそのDCO端子に1ビットの信号DCO=
1を生成し、次にこの信号は次のニューロン回路のデイ
ジー・チェーン回路の入力端子DCIに入力信号として
印加される。したがって、後者は、新たな学習可能ニュ
ーロン回路になる。
【0073】信号STが活動化されると、ただちにニュ
ーロン回路11の拘束プロセスが開始される。ニューラ
ル・ネットワーク11(A)のすべてのニューロン回路
11−1〜11−Nが明確に使用中になると、それぞれ
の1ビットDAISYレジスタに1が充填され、その結
果、DCO−N信号が1になる。したがって、このDC
O−N信号はFULL信号として使用することができ
る。これがアクティブに設定された場合は、ZISCチ
ップ10に空き状態ニューロン回路11がなくなったこ
とを意味する。最後に、デイジー・チェーン回路600
は、ニューロン回路11の動作にとって重要な制御信号
COとRSも生成する。
【0074】実際には、図10の残りのブロックの大部
分と同様、識別回路400とDmin決定回路500は
各種の制御信号によって制御される。制御信号の中に
は、場合に応じてNR−BUSまたはNOUT−BUS
上に信号が出されるのを妨げるものがある。その目的
は、コミット済みですでに発動したニューロン回路につ
いてのみNR信号とNOUT信号が出力されるようにす
ることである。そのため、COという制御信号は、DC
O信号とNS信号とのANDを取ることによって生成さ
れる。したがって、信号COの役割は、その論理値に応
じてニューロン回路をコミットするかどうかを指定する
ことである。このCO信号は、識別回路400とDmi
n決定回路500に印加され、コミット済みニューロン
回路についてのみアクティブに設定される(CO=
1)。デイジー・チェーン回路600によって生成され
た信号COと、識別回路400によって生成された信号
Fは、制御信号としてDmin決定回路500に印加さ
れる。その結果、このようにF信号とCO信号とを結合
することによって、すでに発動したコミット済みニュー
ロン回路だけが、ローカル複合結果信号NRおよびロー
カル出力信号NOUTをそれぞれのNR−BUSおよび
NOUT−BUS上に生成できるようになる。排他OR
機能によりDCI信号およびDCO信号から得られたR
S(RSとはReady toStore(格納可能)を意味する)
というもう1つの制御信号もデイジー・チェーン回路6
00で構築される。実際には、ニューロン・ネットワー
ク11(A)では、学習可能になっている第1の空き状
態ニューロン回路が信号DCI=
【数3】 以降、DCOバーと記載する。という論理関係を満たす
唯一の回路になる。したがって、RS信号の役割は、R
/Wメモリ回路250でのWRITE動作を許可または
禁止することである。各認識フェーズ中に入力ベクトル
の各種成分は、学習可能ニューロン回路のR/Wメモリ
回路250に格納されるだけである。ニューラル・ネッ
トワーク11(A)が学習可能ニューロン回路に新しい
プロトタイプ・ベクトルとしてその入力ベクトルを格納
することを決めた場合、使用中のニューロン回路のRS
信号が適切な論理レベルに切り替わり、それに対する以
降の書込みを防止する。このRS信号は、後述するよう
にZISCチップ10の特定の動作モード(保管モー
ド)中にDmin決定回路500にも印加される。
【0075】要約すると、図10に記載したアーキテク
チャの結果、認識フェーズ中にすでに発動したコミット
済みニューロン回路11は、入力ベクトルの提示に対す
るローカル応答をローカルに生成する。このローカル
(またはニューロン)応答は本質的には2種類のデータ
または信号で構成される。1つは、識別回路400によ
って生成され、3ビットのNR−BUS上に出力される
ローカル結果信号F、DEGOUT、およびUNC/F
IRE.OKであり、もう1つは、Dmin決定回路5
00によって14ビットのNOUT−BUS上に生成さ
れるローカル出力信号(NOUT)である。Dmin決
定回路500の探索/分類回路502がパススルーされ
る場合は、NOUT信号は、距離評価回路200によっ
て計算されたローカル距離Dまたはレジスタ450に保
持されているローカル・カテゴリCのいずれかになる。
これに対して、探索/分類回路502がパススルーされ
ない場合は、最小距離決定プロセスの終わりに、これを
保持するニューロン回路のNOUT−BUS上に最小距
離Dminが現れ、他のすべてのニューロン回路が除外
される。すなわち、これらのニューロン回路のNOUT
信号は中立値を有することになる。図8のZISCチッ
プ10の本発明の実施態様ではOR回路12が使用され
ているので、すべてのビットがゼロになるNOUT信号
によって中立値が示される。ただし、複数のニューロン
回路が同一の最小距離Dmin値を保持する可能性があ
ることに留意されたい。
【0076】ここで図8に戻って説明すると、ニューラ
ル・ネットワーク11(A)のすべてのニューロン回路
11−1〜11−Nによって出力される複合ローカル結
果信号NRおよびローカル出力信号NOUTは、それぞ
れのNR−1−BUS〜NR−N−BUSおよびNOU
T−1−BUS〜NOUT−N―BUSを介してOR回
路12に印加される。事実、OR回路12で行われる後
続処理にとっては、コミット済みですでに発動したニュ
ーロン回路のローカル結果信号とローカル出力信号だけ
が重要になる(他の信号は前述のように中立になる)。
【0077】基本的にOR回路12は、開示されたZI
SCチップ10の実施態様の4つの専用OR補助回路で
構成される。まず第一に、3つの専用OR補助回路がそ
れぞれのニューロン結果信号同士のOR機能を実行し
て、R*−BUSという3ビットのバス上に3つの対応
するグローバル結果信号、すなわち、F*、DEGOU
*、およびUNC/FIRE.OK*を生成する。ニュ
ーロン・ネットワーク11(A)のニューロン回路11
−i(i=1〜N)のローカル結果「発動」信号をFi
と命名し、すべてのFi信号のORを取ると、F*=F
1 OR・・・OR FNのようなグローバル結果「発
動」信号F*が生成される。ローカル結果「発動」信号
Fiは、ニューロン回路11−iが発動したときに1に
なり、反対の場合は0になる。NID*というもう1つ
の関連グローバル結果信号は、前記F*信号から直接得
られる。これは、NID*
【数4】 以降、F*バーと記載する。という論理関係に応じて定
義される。信号F*は、入力ベクトルAの提示に対する
ニューラル・ネットワーク11(A)の第1のグローバ
ル応答である。したがって、ニューラル・ネットワーク
11(A)が入力ベクトルを認識したとき、すなわち、
少なくとも1つのニューロン回路11が発動したとき
に、信号F*がアクティブに設定される(F*=1)。残
りのグローバル信号DEGOUT*(DEGOUT*=D
EGOUT1 OR・・・OR DEGOUTN)およ
びUNC/FIRE.OK*(UNC/FIRE.OK*
=UNC/FIRE.OK1 OR・・・OR UNC
/FIRE.OKN)の構築についても、同じ理論が適
用される。したがって、ニューラル・ネットワーク11
(A)の少なくとも1つの縮退コミット済みニューロン
回路が発動したときに、信号DEGOUT*がアクティ
ブに設定される(DEGOUT*=1)。縮退していな
いか、または発動していないニューロン回路の場合、そ
の信号DEGOUTは非活動状態に設定される(DEG
OUT=0)ので、対応するグローバル結果「縮退」信
号DEGOUT*に一切影響しない。グローバル信号U
NC/FIRE.OK*の性質については後述する。
【0078】同様に、第4の専用OR補助回路は、ニュ
ーロン回路11−1〜11−Nによって各ビットj(j
=1〜p=14)ごとに生成されるすべてのローカル出
力NOUT信号同士のOR機能を実行する。ニューロン
回路11−iのNOUTデータは、NOUT−i=NO
UT1−i・・・NOUTj−i・・・NOUTp−i
と書くことができる2進ワードNOUT−iになる。前
記第4のOR補助回路によって出力される信号は、p=
14ビットで構成され、OUT*−BUS上で得られる
OUT*信号と呼ぶ。したがって、信号OUT*jのj番
目のビットは、OUT*j=NOUTj−1 OR・・
・OR NOUTj−Nのようになる。3ビットのR*
−BUSと14ビットのOUT*−BUSとを統合し
て、17ビットのCOM*−BUSと呼ばれるオンチッ
プ共通通信バスを形成する。OUT*信号は、フィード
バック信号としてOR−BUSというフィードバック・
バスを介して図8のすべてのニューロン回路11−1〜
11−Nに直接印加される。したがって、OR−BUS
は、OUT*信号を伝送するCOM*−BUSの一部から
直接得られる。このOUT*信号は、マイクロコントロ
ーラまたはユーザが処理する必要はない。ただし、ここ
に開示されている図8のZISCチップ10の実施態様
では、OR信号がOUT*信号にそのまま対応すること
に留意することが重要である。したがって、その構造が
ニューラル・チップの技術分野では新規であると思われ
るOR−BUSは、図8のZISCチップ10の革新的
なニューロン間通信システムの重要要素である。前記ニ
ューロン間通信システムは、ZISCチップ10のすべ
てのニューロン回路11−1〜11−Nに対して非常に
効率の良い相互接続方式を提供し、それにより、ニュー
ロン回路同士の間でマイクロコントローラまたはユーザ
から完全に独立した完全なデータ交換が可能になる。
【0079】前記第4のOR補助回路の主な役割は、認
識フェーズ中に発動した各コミット済みニューロン回路
のカテゴリ・レジスタ450に保持されているすべての
ローカル・カテゴリ間でOR機能を実行することであ
る。前述のように、カテゴリと距離データは探索/分類
回路502をパススルーすることが可能なので、これら
のデータはローカル出力信号としてそれぞれのニューロ
ン回路のNOUT−BUS上に直接印加される。OR回
路12内のこれらのニューロン回路の各カテゴリ・レジ
スタ450に格納されているすべてのローカル・カテゴ
リ値のORを取ると、C*=C1 OR・・・OR C
Nのようなグローバル・カテゴリ信号C*が得られる。
このグローバル・カテゴリ信号C*は、特に、OR−B
USを介して前記ニューロン回路のそれぞれの識別回路
400に印加される。コミットされていないニューロン
回路の場合は、OR回路12の前記第4のOR補助回路
によって実行されるOR機能に介入しないように、その
ローカル・カテゴリ信号Cが非活動状態、たとえば、ゼ
ロになる。識別回路400では、グローバル・カテゴリ
*とニューロン回路11のカテゴリ・レジスタ450
に格納されているローカル・カテゴリCとのXOR機能
が実行される。両方の値に不一致がある場合は、ニュー
ラル・ネットワーク11(A)のうち、異なるカテゴリ
を有する少なくとも2つのコミット済みニューロン回路
が発動したことを意味する。この場合、少なくとも1つ
の所定のニューロン回路のローカル結果信号UNC/F
IRE.OKが識別回路400でアクティブに設定され
る(UNC/FIRE.OK=1)。これに対して、両
方の値に一致がある場合は、1つのカテゴリだけが関連
することを意味する。この場合は、発動したかどうかに
かかわらず、すべてのコミット済みニューロン回路のロ
ーカル結果信号UNC/FIRE.OKが非活動状態に
設定される(UNC/FIRE.OK=0)。前記第4
の専用OR補助回路ですべてのローカル結果信号UNC
/FIRE.OK信号のORが取られ、グローバル結果
UNC/FIRE.OK*信号が生成される。少なくと
も1つのUNC/FIRE.OK信号が「1」に設定さ
れると、これにより、グローバル結果信号UNC/FI
RE.OK*が強制的に「1」に設定される。したがっ
て、ZISCチップ10のニューロン回路のうち、それ
に関連する異なるカテゴリを有する少なくとも2つのニ
ューロン回路によって入力ベクトルが認識されたとき
に、信号UNC/FIRE.OK*がアクティブに設定
される(UNC/FIRE.OK*=1)。すなわち、
入力ベクトルはニューラル・ネットワーク11(A)に
よって認識されているが、そのカテゴリを確実に決定す
ることはできない。
【0080】ニューラル・ネットワーク11(A)によ
って入力ベクトルが識別されるかどうかに関する重要な
情報は、ID*=F* AND
【数5】 以降、UNC/FIRE.OK*バーと記載する。とい
う論理関係に応じて信号F*とUNC/FIRE.OK*
から再構築されるグローバル結果信号ID*によって示
される。したがって、入力ベクトルが少なくとも1つの
ニューロン回路によって認識され(F*=1)、ニュー
ラル・ネットワーク11(A)によってあいまいさを伴
わずに認識された(UNC/FIRE.OK*=0)と
きに、ID*信号がアクティブに設定される。このた
め、UNC/FIRE.OK信号については、以下、ロ
ーカル結果あいまい信号と呼ぶ。
【0081】さらに、この第4の専用OR補助回路は、
計算されたすべての距離D1〜DNのうちの最小距離D
min(または、場合に応じて最小カテゴリCmin)
の探索時に重要な役割を果たす。実際には、ニューロン
回路11の探索/分類回路502(図13を参照)は、
前記第4の専用OR補助回路、OUT*−BUS、およ
びOR−BUSを介して他の対応する探索/分類回路と
密接に協力して最小距離Dminを決定できるように設
計されている。最小距離の値は、いわゆるDmin決定
プロセスの終わりにOUT*信号としてOUT*−BUS
上に現れる。事実、前述の仮想集合回路は、最小距離D
minを保持するニューロン回路の探索/分類回路だけ
がアクティブ状態を維持するまで、Dmin決定プロセ
ス中は探索/分類回路が自己除外されるように構築され
る。最終的には、最小距離Dminを保持するニューロ
ン回路だけがそのNOUT−BUSを介してOR回路1
2にその信号を出力できるようになる。この最小距離D
minの値(OR回路12で修正されない)は、最終的
にCOM*−BUSのOUT*−BUS部分を介してOR
−BUS上で得られる。前記Dmin決定プロセスの
間、それぞれのNOUT−BUS上にニューロン回路に
よって出力されるローカル出力信号NOUTは重要では
ない。前記ニューロン回路11−1〜11−Nのそれぞ
れのローカル・カテゴリ・レジスタ450に格納されて
いるすべてのローカル・カテゴリC1〜CNのうちの最
小カテゴリCminを決定する場合にも、同様の理論が
適用される。最小距離Dminは、学習フェーズの拘束
プロセス中にこのニューロン回路のAIF値として、O
R−BUSを介して学習可能ニューロン回路のAIFレ
ジスタ352にロードすることができる。
【0082】前述のグローバル結果信号とグローバル出
力信号は、そこに格納するためにブロック18に印加さ
れることが好ましい。そこで図11を参照してブロック
18の役割について詳述する。図11を参照して説明す
ると、ブロック18はSEL/CTL−BUSおよびI
NDATA−BUSを介してブロック22に接続され、
ブロック22はマイクロコントローラまたはユーザを表
すためのものである(以下、マイクロコントローラ/ユ
ーザ22という)。SEL/CTL−BUSは、選択バ
スSEL−BUSと制御バスCTL−BUSとで構成さ
れている。特に、SEL−BUSは、ZISCチップ1
0の各種レジスタを適切に選択するための信号を伝送す
る。また、CTL−BUSは、マイクロコントローラ/
ユーザ22からのSTROBE、CHIP SELEC
T、CLOCKなどの標準的な制御信号およびクロック
信号を伝達する。復号論理回路181の機能は、前記選
択信号を生成して適切なレジスタ内の特定のデータへの
アクセスを可能にすることである。SEL/CTL−B
US上に現れるこのような選択信号および制御信号の値
に応じて、制御論理回路182は、プロトタイプ・ベク
トル成分を格納するR/Wメモリ回路250にアクセス
するために必要なアドレス信号など、ZISCチップ1
0の適切な動作のために内部で必要とするすべての信号
を生成する。アドレス信号と制御信号は、IADD/C
TL−BUSというバスを介して制御論理回路182か
ら出力される。状態計算機回路183は、ZISCチッ
プ10の動作の順序付け、特に、重要な学習フェーズと
認識フェーズ中の順序付けを制御する。状況/制御回路
184はマイクロコントローラ/ユーザ22とのデータ
交換に関連があることが明らかになる可能性があるの
で、この回路を実現することが好ましい。状況/制御回
路は、本質的には、レジスタ184.1と2ウェイAN
Dゲート184.2とで構成されるが、これらの構成要
素の役割については後で詳述する。実際には、レジスタ
184.1は、ニューラル・ネットワーク11(A)が
全体として生成したグローバル結果信号とグローバル出
力信号を格納し、さらに制御論理回路182で処理され
る制御信号も格納することができる。グローバル結果信
号F*(またはNID*)、DEGOUT*、UNC/F
IRE.OK*、およびID*は、ZISCチップ10の
ブロック18のレジスタ184.1にロードすることも
できる。特に、信号ID*は、レジスタ184.1の特
定の位置に格納される前にANDゲート184.2のF
*信号およびUNC/FIRE.OK*信号から再構築
される。この位置は、マイクロコントローラ/ユーザ2
2が容易にアクセスできるものでなければならない。と
いうのは、ZISCチップ10に組み込まれたニューラ
ル・ネットワーク11(A)によって入力ベクトルが最
終的に正しく識別されたかどうかに関する重要な情報が
入っているからである。特に、前記特定の位置は、ユー
ザに関する即時視覚情報用の接続ワイヤを介してZIS
Cチップ10外部のLEDに接続できるという利点があ
る。このようなグローバル結果信号およびグローバル出
力信号はM−BUS上で伝送される。さらに、レジスタ
184.1は、INDATA−BUSを介してマイクロ
コントローラ/ユーザ22と双方向通信するためのニュ
ーラル・ネットワーク11(A)の動作モードに関する
データである、セットアップ・パラメータも格納するこ
とができる。特にその内容は、WRITE動作またはR
EAD動作時にマイクロコントローラ/ユーザ22がア
クセスすることができる。ブロック18のすべての回路
は、当業者には従来のものと思われる。しかし、図8の
ZISCチップ10には、レジスタを含むZISCチッ
プ10の各種資源と、PCIやISAのような最も一般
的に使用されている標準バスおよびそれぞれのプロトコ
ルとのインタフェースを取れるようになっている論理回
路182内のインタフェース回路が設けられていること
が好ましい。
【0083】前述のように、図8を参照すると、R*
BUSとOUT*−BUSとを統合することによってオ
ンチップ共通通信バスCOM*−BUSが形成される。
したがって、COM*−BUSは、入力ベクトルの提示
に対するZISCチップ10の応答全体を伝送する。O
R信号はOUT*信号と同一である。このため、図8の
ZISCチップ10には、ニューラル・ユニット11
(#)と、OR回路12と、COM*−BUSと、OR
−BUS(OR−BUSはCOM*−BUSから得られ
る一部と見なしてもよい)とで構成されるニューラル・
ネットワーク11(A)が組み込まれている。前述のア
ーキテクチャを使用すると、図8の単一ZISCチップ
10は外部出力バスを必要としないアプリケーションの
場合にスタンドアロン式に動作することができる。しか
し、本発明によれば、このようなアーキテクチャは、図
9のアーキテクチャの変形態様(これも参照番号10で
示す)を参照して後述するように、マルチチップ環境で
動作するように図8のZISCチップ10にこのような
外部バスを設けるために容易に変更することができる。
同様に、図9のZISCチップ10に組み込まれている
ニューラル・ネットワークも参照番号11(A)で示
す。その目的は、アプリケーションが必要とする数のニ
ューラル・ネットワーク11(A)を結合することによ
り、所望のニューラル容量のニューラル・ネットワーク
を形成することである。これは、マルチチップ環境で動
作できるようになっている適切な数のZISCチップ1
0を組み立てることによって達成される。
【0084】そのため、複数のZISCチップ10を組
み立てる場合は、ニューロン間通信システムに含まれる
もう1つの共通通信バス上で、前記複数のZISCチッ
プ10によって生成されるグローバル複合結果信号R*
とグローバル出力信号OUT*について夫々ORが取ら
れる。この共通通信バスは必ずZISCチップ10外部
に置かれるので、以下、オフチップ共通通信バスと呼
ぶ。この追加のOR機能は、前記オフチップ共通通信バ
ス上にある適切なドライバ回路によって実行されること
が好ましい。
【0085】次に図9を参照して説明すると、R*−B
USとOUT*−BUSは、標準的なドライバ、レシー
バ、およびドライバ/レシーバ回路と、DR*というド
ライバ回路とで構成されるブロック19に印加される。
このドライバ回路DR*は、具体的には、R*信号とOU
*信号を再生するだけでなく、図9のCOM**−BU
Sという前記オフチップ共通通信バス上でこのようなO
Rドット機能も提供するように設計されている。ブロッ
ク19の前記ドライバ回路DR*から出力される対応す
るグローバル信号は、前記COM**−BUSを形成する
ために統合されるそれぞれのR**−BUSおよびOUT
**−BUS上のR**およびOUT**になる。2つ目のア
ステリスクは、このようなドライバ回路DR*の出力に
あるR*信号とOUT*信号について追加のOR機能が実
行されたことを明らかに示すものである。
【0086】しかし、その対応するドライバ回路DR*
に直接接続する代わりに、任意でOUT*−BUSをブ
ロック20の入力に接続することができる。基本的にブ
ロック20は、各ニューロン回路11に配置された探索
/分類回路502と同じ構造を有するので、以下、ZI
SCチップ10の主Dmin決定回路と呼ぶ。同様に、
主Dmin決定回路20には、OR*−BUSというフ
ィードバック・バスへの接続部が設けられている。主D
min決定回路20を使用する場合、この回路には、O
*−BUS上のフィードバック信号としてOUT**
号によるフィードバックが行われる。ZISCチップ1
0が1つだけまたはそのごくわずかな部分が使用される
場合は、明らかにDmin主決定回路20は無関係であ
るが、数多くのZISCチップ10を結合する必要があ
る場合は、この回路が有用であることが明らかになるは
ずである。実際には、この回路により、このような結合
によるニューラル・ネットワークの全体的な処理速度が
向上する。COM**−BUSは、以下GDATA−BU
Sと呼ばれる汎用出力データ・バスの重要な構成要素で
ある。図9に示す実施態様では、GDATA−BUS
は、R**信号およびOUT**信号以外の信号を含む場合
もある。また、COM**−BUSは、マイクロコントロ
ーラ/ユーザ22に直接接続するか、またはデータをラ
ッチするためにレジスタ184.1を介して接続するこ
ともできる。COM**−BUSについてブロック19の
ドライバ回路DR*で実行されるOR機能により、複数
のZISCチップ10をそこに接続することができる。
その結果、そのすべてに共通するこのCOM**−BUS
を介して対応する複数のニューラル・ネットワーク11
(A)を結合することにより、より大きいサイズのニュ
ーラル・ネットワークを形成することができる。したが
って、ORドットによりCOM**−BUS上で行われる
追加のOR機能は、図9に示すZISCチップ10の実
施態様の重要要素になる。すなわち、ただちにマルチチ
ップ環境で動作する。スタンドアロンとマルチチップ環
境の両方のオプションを提供するため、ZISCチップ
10には、マイクロコントローラ/ユーザ22がCOM
*−BUS(単一ZISCを使用する場合)またはCO
**−BUS(マルチチップ環境の場合)のいずれかを
選択して各ニューロン回路11に接続されたOR−BU
Sに信号供給できるようにするためのマルチプレクサ回
路21が設けられていることが好ましい。図9は、GD
ATA−BUS(または少なくともそのCOM**−BU
S部分)がブロック19のドライバ/レシーバ回路DR
/RRおよびP−BUSを介してZISCチップ10内
に再注入される様子を示している。マルチプレクサ21
の反対側では、Q−BUSがOR−BUSとM−BUS
の両方に信号供給し、このM−BUSは前述の状況/制
御論理回路18(図11を参照)に印加される。マルチ
プレクサ21をバイパスする図9に示すループは、一部
の信号は多重化する必要がなく、そのため、状況/制御
論理回路18とGDATA−BUSとの間で直接連絡が
行われることを示している。図9に示す実施態様は、い
かなるタイプのアプリケーションにも対応できるように
なっているので、本発明のZISCチップの好ましいア
ーキテクチャを表すものである。マルチプレクサ21
(この場合、正式にはCOM*−BUSは不要である)
の有無にかかわらず、ZISCチップ10と、図9に示
すようにそれに組み込まれたニューラル・ネットワーク
11(A)については、以下、それぞれ、基本ZISC
チップおよびベース・ニューラル・ネットワークと呼
ぶ。ニューラル容量はニューロン・ユニット11(#)
に組み込まれたニューロン回路の数によるので、いずれ
の実施態様でも同じであるが、ニューロン間通信システ
ムの構成だけが異なっている。これは、図8の実施態様
では1つのORステージ(OR回路12)、COM*
BUS、およびOR−BUSに基づき、図9の実施態様
では2つのORステージ(OR回路12、ブロック19
で行われるORドット)、COM**−BUS、およびO
R−BUS(および任意でOR*−BUS)に基づくも
のである。後者の場合、OR−BUSによって伝送され
る信号はOUT**信号である。
【0087】以下の説明では、上記の表記方法をそのま
ま使用する。ハイフンは所定のニューロン回路(たとえ
ば、11−i)を示す。一貫性を保つため、このような
ニューロン回路に関連する回路(たとえば、探索/分類
回路502−i)および信号(たとえば、NOUT−
i)には、同じ表記方法を使用する。OR回路12にお
ける第1のOR演算から得られるグローバル信号と関連
バスには、1つのアステリスクを付けて示す(たとえ
ば、図8のOUT*およびOUT*−BUS)。これらの
信号がブロック19のドライバ回路DR*の出力側で行
われる追加のOR演算に供される場合は、そこから出力
されるグローバル結果信号とグローバル・バスには、2
つのアステリスクを付けて示す(たとえば、図9のOU
**およびOUT**−BUS)。すべてのチップ関連回
路にはかっこを使用する。たとえば、図9のZISCチ
ップ10に組み込まれているベース・ニューラル・ネッ
トワークは、参照番号11(A)で示す。
【0088】要約すると、ニューロン回路11のレベル
では、以下の6つの入力バスがある。 ・入力ベクトル成分データを伝送する8ビットのDAT
A−BUS ・影響フィールドの最大値(MaxIF)と最小値(M
inIF)を伝送する14ビットのMaxIF/Min
IF−BUS ・1ビットの入力ノルムと7ビットの入力コンテキスト
・データとを伝達する8ビットのNO/CXT−BUS ・入力カテゴリCATデータを伝送する14ビットのC
AT−BUS ・図10のニューロン回路11のすべてのブロックの適
切な動作のために必要なアドレス信号と制御信号を伝送
するIADD/CTL−BUS ・距離またはカテゴリ・タイプのOUT*信号またはO
UT**信号のいずれかを伝送する14ビットのOR−B
US
【0089】同じくニューロン回路レベルでは、以下の
2つの出力バスがある。 ・信号F、DEGOUT、およびUNC/FIRE.O
Kで構成される複合ローカル(またはニューロン)結果
信号を伝送するNR−BUS。信号Fは、入力ベクトル
の提示に対するコミット済みニューロン回路の「発動」
応答、すなわち、入力ベクトルが認識されたかどうかを
表す。信号DEGOUTは、「縮退」状況、すなわち、
発動したニューロン回路が縮退したかどうかを表す。信
号UNC/FIRE.OKは、ニューロン回路11のロ
ーカル・カテゴリCとグローバル・カテゴリC*との比
較により得られる。この信号は、認識された入力ベクト
ルのカテゴリに関するあいまいさを除去するためのもの
である。 ・ローカル(またはニューロン)出力信号NOUTを伝
送するNOUT−BUS。いずれのモードでも、Dmi
n決定プロセスが終了すると、最小距離Dminを保持
するニューロン回路についてはNOUT=Dminにな
る。残りのニューロン回路のNOUT信号は重要ではな
いが、OR回路12のレベルでは一切影響がない。Dm
in決定回路500がパススルーされる(より正確に
は、その入力に印加される信号を処理しない)場合、N
OUT信号は、ニューロン回路11のレジスタまたはメ
モリに保持される値を表す場合がある。通常、NOUT
−BUSは、ニューロン回路が計算した距離またはその
カテゴリ・レジスタ450に保持されているローカル・
カテゴリを伝送する。しかし、保管モードと復元モード
では、他のデータ(セットアップ・パラメータ、プロト
タイプ・ベクトル成分など)を伝送する。
【0090】ZISCチップ10のレベルでは、チップ
とマイクロコントローラ/ユーザ22とのインタフェー
スを取る入力バスに関する限り、いずれの実施態様でも
違いは一切見られない。このような入力バスとしては以
下のものがある。 ・入力ベクトル・データ、セットアップ・パラメータ、
入力ノルム/コンテキストおよびカテゴリ・データを伝
送し、マイクロコントローラ/ユーザ22とZISCチ
ップ10との完全なデータ交換を可能にする、16ビッ
トの双方向INDATA−BUS ・同様に、ZISCチップ10に選択信号と制御信号を
伝送するSEL/CTL−BUS
【0091】ZISCチップ10のレベルでは、出力バ
スに関する違いが見られる。図8の実施態様では、OR
回路12でそれぞれの信号を生成した後のR*−BUS
とOUT*−BUSとの結合によるオンチップ共通通信
バスCOM*−BUSが出力バスになる。R*−BUS
は、入力ベクトルAの提示に対するニューラル・ネット
ワーク11(A)のグローバル応答を表すグローバル結
果信号F*、DEGOUT*、およびUNC/FIRE.
OK*を伝送する。OUT*−BUSは、Dmin(Cm
in)決定プロセスの終わりにニューラル・ネットワー
ク11(A)のニューロン回路が計算した(保持してい
る)すべての距離(カテゴリ)のうちの最小距離Dmi
n(またはCmin)またはグローバル・カテゴリC*
のいずれかを本質的に表すグローバル出力信号OUT*
を伝送する。
【0092】図9の実施態様は、マルチチップ環境に対
応するものである。その結果、ブロック19のドライ
バ、レシーバ、およびドライバ/レシーバ回路を超え
て、ZISCチップ10とそれに接続される他の基本Z
ISCチップ10を含む外界とのインタフェースを取る
ために、オフチップ共通通信バスCOM**−BUSが必
要になる。このCOM**−BUSはR**−BUSとOU
**−BUSとの結合によって得られる。R**−BUS
は、グローバル結果信号F**、DEGOUT**、および
UNC/FIRE.OK**を伝送する。OUT**−BU
Sは、グローバル出力信号OUT**を伝送する。また、
OUT**−BUSは、各ニューロン回路11のOR−B
USに信号供給する(基本ZISCチップ10に主Dm
in決定回路20が設けられていないと想定した場
合)。他のワイヤが必要な場合は、17ビットのCOM
**−BUSを含むGDATA−BUSを実現することが
できるが、他のワイヤが不要な場合は、基本ZISCチ
ップ10の相互接続のためにはCOM**−BUSで十分
である。
【0093】さらに、いずれのレベルでも、いずれかの
実施態様のすべてのニューロン回路間の接続には、直列
デイジー・チェーン接続、すなわち、デイジー・チェー
ンの入力信号と出力信号(DCI、DCO)を伝送する
2本のワイヤが必要である。
【0094】基本ZISCチップ・アーキテクチャの変
形態様 図9に示す基本ZISCチップ10のアーキテクチャに
ついては、アーキテクチャの変形態様がいくつか考えら
れる。まず第一に、OR回路12で実行される各種OR
機能は、基本ZISCチップ10の各ニューロン回路1
1内に容易に分散し、組み込むことができる。この場
合、図14のZISCチップ10'を参照して示すよう
に、共通通信バスは、バス要素COM**−1−BUS〜
COM**−N−BUSで構成される直列構造を有する。
GDATA−BUSはこの場合も任意のままである。こ
の解決策は比較的単純であるが、図9の基本ZISCチ
ップ10の完全並列構造はもはや該当せず、この解決策
を使用した結果、学習フェーズおよび認識フェーズ中に
全体的な処理時間が大幅に減少する。複数のチップが連
鎖にカスケード化されている場合の第1のZISCチッ
プ10'のCOM**−1−BUSは、OR機能の場合に
中立になる論理レベルに接続される(前述のようにゼロ
になる)。
【0095】代替態様として、図9の実施態様からもう
1つの貴重な変形態様を設計することができる。OR回
路12は物理的に抑制してもよい。基本ZISCチップ
10の動作に必要なOR回路12で行われるOR機能
は、各ニューロン回路ごとにDR*タイプのドライバ回
路を介してNR信号とNOUT信号をCOM**−BUS
上に直接ORドットすることにより、直接達成すること
も可能である。しかも、各ニューロン回路11にブロッ
ク13〜18によって行われるすべての機能をさらに分
散し、組み込むことが望ましい場合もある。この場合、
図15に示すZISCチップ10"は、ニューラル回路
11"(#)を形成する複数のニューロン回路11"−1
〜11"−Nのみに限定されるはずである。このような
ニューロン回路11"は、細分性1(前述の図9のZI
SCチップ10および図14のZISCチップ10'の
特定の実施態様では36)を有すると思われるので、A
SICライブラリに組み込まれ、成長可能なニューラル
・ネットワーク・マクロに至る場合もある。図15の実
施態様では、ドライバ/レシーバ回路DR*/RRを介
して所定のニューロン回路11"とCOM**−BUSを
相互接続するそれぞれのバスにOR−BUSが組み込ま
れている。また、図15の解決策では、ZISCチップ
10"の構造が完全に並列であるが、ZISCチップ1
0"のニューロン回路と同数の31(3+14+14)
本のワイヤがCOM**−BUS上に必要になる。ZIS
Cチップ10"の反対側では、ZISCチップ10"の小
型性と細分性をさらに示すために、2本の入力バスSE
L/CTL−BUSおよびINDATA−BUSがG−
BUSという1本の共通入力バスに統合されている。中
間アーキテクチャを含む他の変形態様も設計可能であ
る。ただし、その融通性のためには図9に示すアーキテ
クチャが好ましい。
【0096】ZISCモジュール・アーキテクチャ ニューラル容量を拡張するため、INDATA−BUS
およびSEL/CTL−BUSを介してマイクロコント
ローラ/ユーザ22に接続されている図9の基本ZIS
Cチップ10を複数個カスケード化することにより、基
本ZISCモジュールを構築することができる。次に図
16を参照して説明すると、同図には、対応する基本ニ
ューラル・ネットワーク11[A]を組み込んだ基本Z
ISCモジュール10[A]を形成するために「カスケ
ード化」された複数のカスケード式基本ZISCチップ
10(1)〜10(Q)が示されている。図16は、Z
ISCチップ10がINDATA−BUS、SEL/C
TL−BUS、およびCOM**−BUSに完全に並列接
続されていることを明確に示している。さらに、同図
は、前記ZISCチップ10間でデイジー・チェーン信
号が直列接続されていることも示している。第1のZI
SCチップ10(1)のDCI入力端子は、それに論理
1が印加されるように第1の電位VHに接続されてい
る。チップ10(1)のDCO出力端子は次のチップ1
0(2)の入力端子DCIに接続され、順次、チップ1
0(Q)まで接続されている。所定のZISCチップ1
0(q)のニューロン回路のDAISYレジスタに1が
充填されるたびに、そこから出力される最終信号DCO
(q)はこのチップのFULL信号と解釈することがで
きる。信号DCO(Q)=1の場合は、基本ニューラル
・ネットワーク11[A]に空き状態ニューロン回路が
ないことを意味する。文字Qは、当技術によりカスケー
ド化可能な基本ZISCチップ10の最大数を表す。し
たがって、基本ニューラル・ネットワーク11[A]
は、それぞれのZISCチップ10(1)〜10(Q)
に組み込まれたベース・ニューラル・ネットワーク11
(1)〜11(Q)の合計によって形成される。図16
から明らかなように、どのチップにも、INDATA−
BUSおよびSEL/CTL−BUSとの双方向バス接
続部が用意されている。マイクロコントローラ/ユーザ
22は、双方向INDATA−BUSを介してすべての
基本ZISCチップ10(1)〜10(Q)のレジスタ
184.1に書き込むことができるが、マイクロコント
ローラ/ユーザ22が読み取ることができるのは1つの
ZISCチップ、たとえば、10(1)の内容だけであ
る(ただし、各ZISCチップ10(1)〜10(Q)
のレジスタ184.1にはグローバル応答が用意されて
いる)。そのため、1つ、たとえば、10(1)を除く
すべてのZISCチップ10のINHという特定の端子
は、前記第1の電源電圧VHへの接続によって「1」に
設定される。図16から明らかなように、ZISCチッ
プ10(1)のINH端子は第2の電位、この例では地
電位GNDに接続されている。実際には、このINH端
子は、ZISCチップ10と双方向INDATA−BU
Sとのインタフェースを取るDR/RR回路の制御端子
に接続されている。VH電圧が前記DR/RR回路に供
給されると、後者が励起されて高インピーダンス状態に
なり、その結果、INDATA−BUSを励起すること
ができなくなる。基本ニューラル・ネットワーク11
[A]の反対側には、すべてのZISCチップ10
(1)〜10(Q)に共通のGDATA−BUSが示さ
れている。これは、それぞれのR**−BUSおよびOU
**−BUSがそこでのORドットのためにそのCOM
**−BUS部分に並列に接続されているからである。
【0097】INDATA−BUS、SEL/CTL−
BUS、およびGDATA−BUSがすべてのチップを
相互接続するので、複数のZISCチップ10を組み立
てることによって基本ZISCモジュール10[A]を
構築することができる。基本モジュール10[A]内に
形成されたベース・ニューラル・ネットワーク11
[A]は、チップ10(1)〜10(Q)のニューラル
容量の合計に等しいニューラル容量を有し、単一ZIS
Cチップ10に集積化された場合とほぼ同様に機能す
る。このようなカスケード可能構造により、ZISCチ
ップ10で構築した基本ニューラル・ネットワーク11
[A]は、少なくとも理論的には、追加回路を使用せず
にアプリケーションが必要とする大きさまで拡張するこ
とができる。一方、各ニューロン回路11内のNO/C
XTメイン・レジスタ17およびローカルNo/Cxt
レジスタ100のそれぞれのコンテキスト部分を比較す
ることにより、マイクロコントロール/ユーザ22はど
のような基本ニューラル・ネットワーク11[A]でも
単一ネットワークまたはその個別サブセットのいずれか
として構成することができる。
【0098】残念ながら、基本ZISCチップ10の本
発明の実施態様の場合、COM**−BUS上でこのよう
にORドットを行うことによる実用上の技術的制限のた
めに、実際には、前述の技術では最大Q=8など、限ら
れた数のチップしか直接カスケード化することができな
い。所定のアプリケーションに必要なチップの数がこの
数を超えている場合は、前述のグローバルOR機能の第
3の追加ステージを実現するために、たとえば、カード
・レベルなどで、外部回路が必要になる場合もある。次
に図17を参照して説明すると、同図には、参照番号1
0[A]によって図16に概略が示されているような2
つの基本モジュール10[1]および10[2]を組み
立てることによって複合モジュール10{A}を構築す
る方法が示されている。基本モジュール10[A]の第
1のチップ10(1)のDCI端子とINH端子を適切
な電位に接続することに関する前述の規則は、基本モジ
ュールの連鎖の第1のZISCチップ10にも適用され
る。基本ZISCチップ10の固有の特性により、前記
基本モジュール10[1]および10[2]のそれぞれ
のCOM**[1]−BUSおよびCOM**[2]−BU
SをOR回路23(17個の2ウェイORゲートで構成
される)に接続して、従来のドライバDRにより、そこ
に含まれるすべてのニューロン回路に信号供給するCO
***−BUS上の前記複合モジュールに供給される信
号を生成するだけで十分である。この理論は、任意の数
の10[A]タイプの基本モジュールの結合体に容易に
拡張することができる。これは、基本ZISCチップ1
0の完全カスケード性と並列性の結果である。また、た
とえば、数十万個の個別ニューロン回路を含む複合ニュ
ーラル・ネットワークを得るためには、(当技術の能力
に応じて)所望の数の入力を有するOR回路23を設計
するか、または所定の数のこのようなOR回路を樹枝状
構造に結合するだけで十分である。このようなニューロ
ン回路はいずれも、単一基本ZISCチップ10に集積
化されている場合と同様に機能し、その数はユーザには
透過なものになる。
【0099】以下の説明では、同一基準により上記の表
記方法を引き続き使用する。前述の通り、基本ZISC
モジュール10[A]を形成するアセンブリ内の各種Z
ISCチップを区別するため、チップに関連する言及に
はかっこを使用している(たとえば、チップ(q)は連
鎖内のq番目のチップを示す)。角かっこは基本モジュ
ールに関連する言及を示す。同様に、この基本モジュー
ル10[A]に関連するバスおよび回路には同じ名称を
使用する。たとえば、複合モジュール10{A}を形成
するために組み立てられた各種ZISC基本モジュール
を区別するため、参照番号10[r]はアセンブリ内の
r番目の基本モジュールを示す。最後に、この複合モジ
ュールに関連するバスおよび回路には同じ名称を使用す
る。したがって、複合モジュール10{A}に組み込ま
れた複合ニューラル・ネットワークは、参照番号11
{A}で示される。
【0100】上記の説明では、連続OR機能について言
及してきた。このようなOR機能は、ハードウェア(た
とえば、OR回路12)またはドット方式(たとえば、
COM**−BUS上のハードワイヤードOR機能)のい
ずれかで実行することができる。
【0101】これに対して、このようなOR機能は、当
技術が必要とする場合は、ド・モルガンの法則によるA
ND機能によって達成することもできる。たとえば、グ
ローバル結果発動信号F*は、ニューロン回路11−1
〜11−Nのすべてのローカル結果発動信号の(専用O
R補助回路での)OR演算の結果、すなわち、F*=F
1 OR・・・OR FNとして定義されている。しか
し、ORドットを実施するには低速デバイスであること
が分かっているPFETが必要になるので、使用する技
術によっては、ORドットの実施によって何らかの不便
が生じることが明らかになる場合もある。その目的は、
ニューラル・ネットワークの少なくとも1つのニューロ
ン回路が発動したかどうか、すなわち、少なくとも1つ
の信号Fiが1になっているかどうかを判定することな
ので、少なくとも1つの
【数6】 以降、Fiバーと記載する。 =0であれば同じ結果が得られることは明白である。こ
の場合、上記の関係はF*バー=
【数7】 以降、F1バーと記載する。 AND・・・AND
【数8】 以降、FNバーと記載する。と等価である。このため、
高速スイッチング・デバイスであると認められているN
FETのみを必要とするANDドットの方がかなり普及
している。
【0102】基本ZISCチップの動作の簡単な説明 次に、図8の基本ZISCチップ10に形成されたニュ
ーラル・ネットワーク11(A)の重要な動作モードに
ついて、図18〜図21に関連して簡単に説明する。こ
れらの図は、それぞれ、初期設定モード、認識モードと
事前装填モード、および学習モードの流れ図の概略を示
すものである。分かりやすくするため、図8〜図17の
機能ブロックに言及する場合もある。
【0103】初期設定モード 図18の流れ図24から明らかなように、初期設定モー
ドは本質的にはクリア・ステップと呼ばれる1つのステ
ップ(ボックス25)で構成されている。このクリア・
ステップ中に、(それに組み込まれたニューロン回路の
レジスタを含む)基本ZISCチップ10の所与のレジ
スタの内容には適当なデフォルト値がロードされる。M
axIFレジスタ14とMinIFレジスタ15にはそ
れぞれのMaxIF値とMinIF値がロードされる。
NO/CXTメイン・レジスタ17には、事前定義値
(たとえば、ゼロ)がロードされる。デイジー・チェー
ン回路600のDAISYレジスターと各ニューロン回
路11のカテゴリ・レジスタ450には、ゼロ値がロー
ドされる。
【0104】その他のレジスタおよびR/Wメモリ回路
250には所定の値をロードする必要がないので、それ
ぞれの内容は電源投入時には未定義になっている。しか
し、もう1つの更新ステップ(ボックス26)も考えら
れる。この任意選択ステップでは、マイクロコントロー
ラ/ユーザ22が任意で何らかの値、たとえば、セット
アップ・パラメータ(MaxIF、MinIF)、NO
/CXTメイン・レジスタ17にロードされた入力コン
テキストとノルム・データ、およびグローバル応答関連
データに加え、特に動作モード関連データを保持してい
るレジスタ184.1の内容を変更することができる。
これらのステップは、SEL/CTL−BUS上で伝送
される制御信号の監視下でINDATA−BUSを介し
て達成される。
【0105】認識モードと事前装填モード 次に、前述の通り初期設定フェーズが完了した後の通常
の動作条件にあるニューラル・ネットワーク11(A)
について考察する。この場合、所与のニューロン回路は
すでに使用中(すなわち、学習済み)になっており、他
のニューロン回路がまだ空き状態になっていると想定す
る。マイクロコントローラ/ユーザ22は、INDAT
A−BUSを介してZISCチップ10のAレジスタ1
3に入力ベクトルAの各種成分を連続ロードする。その
ために、Aレジスタ13はIADD/CTL−BUSを
介して選択される。次に、Aレジスタ13にロードされ
たデータがニューラル・ユニット11(#)の全ニュー
ロン回路(すなわち、すでに使用中のものならびにまだ
空き状態のもの)のそれぞれに伝送される。空き状態ニ
ューロン回路と使用中のニューロン回路との区別は、各
ニューロン回路11ごとのデイジー・チェーン回路60
0のそれぞれのDCI端子とDCO端子にある信号の論
理レベルの検討により行われる。図19および図20
は、認識フェーズ中にZISCチップ10で実行される
重要ステップを示す流れ図27を表している。ここで図
19を参照すると、使用中になっており(ボックス2
8)、しかもNS信号によって選択された(ボックス2
9)ニューロン回路11だけ、すなわち、コミット済み
ニューロン回路だけが認識フェーズに有意義に関与する
ことは明らかである。ニューロン回路は、学習するとた
だちに使用中になる。すなわち、もはや空き状態ではな
くなる。そのノルム/コンテキスト・レジスタ100の
ローカル・コンテキスト部分(Cxt)がNO/CXT
メイン・レジスタ17に保持されている入力コンテキス
ト部分(CXT)と一致すると、ニューロン回路が選択
される。しかし、前記入力コンテキスト部分がゼロの場
合は、ZISCチップ10のすべての使用中のニューロ
ン回路が認識フェーズに関与することになる。この場
合、「コミット済み」とは「使用中」と等価である。使
用中のニューロン回路の場合、プロトタイプ・ベクトル
の各種成分はすでにそのR/Wメモリ回路250に格納
され、制御信号RSによってそこで「凍結」されてい
る。すなわち、WRITE動作は不可能になる。空き状
態のニューロン回路11の場合は、ボックス28で実行
されたテストに対するNO応答によって決まるように、
このニューロン回路が第1の空き状態ニューロン回路か
どうか、すなわち、学習可能ニューロン回路かどうかを
判定するテストがボックス30で実行される。YESの
場合は、入力ベクトルの提示中に、入力ベクトルの各種
成分がその学習可能ニューロン回路のR/Wメモリ回路
250に格納される。その結果、前記学習可能ニューロ
ン回路は、ボックス31が示すように「事前装填済み」
と見なされる。以下の説明では、コミット済みニューロ
ン回路11、すなわち、ボックス28および29のテス
トの結果がYESの場合のみ扱うことにする。ただし、
ニューロン回路11がボックス29により選択されてい
ない場合は、消費電力が増加するが同様に機能する可能
性があることに留意されたい。しかし、そのローカル応
答は、グローバル結果データおよびグローバル出力デー
タの生成に一切影響しない。
【0106】マイクロコントローラ/ユーザ22によっ
て最後の入力ベクトル成分が印加されると、距離評価回
路200によって計算された入力ベクトルAとプロトタ
イプ・ベクトルBとの距離Dがボックス32で使用可能
になる。この距離Dは、使用するローカル・ノルムNo
に応じて様々な値になる可能性がある。この段階の説明
では、ボックス33に示すようにマイクロコントローラ
/ユーザ22が選択したサブモードに応じて、2通りの
場合を考察しなければならない。
【0107】RBF状または通常のサブモード(NM)
では、LT信号を生成するための上記の規則により、距
離比較回路300が、距離DとAIFレジスタ352に
格納されたAIF値とを比較する。ボックス34で実行
されるテストの目的は、Dが厳密にAIF未満であるか
どうかを判定することである。これに該当しない(すな
わち、D>=AIF)場合には、ニューロン回路11は
発動せず、信号Fはボックス35で非活動状態、すなわ
ち、F=0に設定される。この特定のニューロン回路に
ついては、これで認識プロセスが終了する。YES、す
なわち、D<AIFの場合は、信号LTがアクティブ
(LT=1)に設定されるが、これは、入力ベクトルA
がニューロン回路11に格納されているプロトタイプ・
ベクトルのAIF値の範囲に入ることを意味する。識別
回路400に印加される信号LTは、ボックス36で信
号Fをアクティブ(F=1)に設定する。ニューロン回
路11はすでに発動しており、その結果、入力ベクトル
Aを認識している。次に、ボックス37で識別回路40
0のDEGレジスタの内容がテストされる。(識別回路
400のDEGレジスタに「1」が格納されているの
で)ニューロン回路11が縮退したと判定された場合
は、DEG信号がアクティブに設定され、次にボックス
38でDEGOUT信号がアクティブに設定される(D
EGOUT=F AND DEG=1)。共通ノード3
9でボックス38の出力とテスト・ボックス37のNO
出力が統合される。図19はニューロン回路(NC)レ
ベルの流れ図を示している。次に、ニューラル・ネット
ワーク11(A)レベルで生成されるグローバル結果デ
ータおよびグローバル出力データについて考察するた
め、ZISCチップ10のニューロン回路のうち、コミ
ットされ発動した、すなわち、ノード39で定義された
ステージにあるニューロン回路すべてについて考察しな
ければならない。ニューロン回路レベルからニューラル
・ネットワーク・レベルへの移動は、NC/NNと呼ば
れ、図19では点線で示されている。
【0108】ニューロン回路11が縮退したかどうかに
かかわらず、発動したベース・ニューラル・ネットワー
ク11(A)のコミット済みニューロン回路が同一カテ
ゴリまたは少なくとも2つの異なるカテゴリに属すかど
うかを判定する必要がある。そのため、前述のように、
OR回路12の専用補助回路でこれらのニューロン回路
のすべてのローカル・カテゴリのORが取られる。次に
図20を参照すると、このステップは、OUT*−BU
S上とさらにOR−BUS上でグローバル・カテゴリC
*を生成するためにボックス40で実行される。グロー
バル結果信号F*およびDEGOUT*も、それぞれの専
用OR補助回路で処理された後にR*−BUS上で直接
得られるようになる。ボックス36で少なくとも1つの
ニューロン回路が発動している場合は、グローバル結果
信号F*がアクティブに設定される(F*=1)。信号U
NC/FIRE.OK*を決定するためには、さらに操
作が必要である。各ニューロン回路11のグローバル・
カテゴリC*が識別回路400のローカル・カテゴリC
と比較される(ただし、この比較はニューロン回路レベ
ルで行われることに留意されたい)。この比較結果はボ
ックス41によって示される。ローカル・カテゴリCが
グローバル・カテゴリC*と等しい場合は、入力ベクト
ルがニューラル・ネットワーク11(A)によって識別
されていることを意味する。実際には、各ニューロン回
路によって生成されたニューロン回路信号UNC/FI
RE.OKがアクティブに設定され(UNC/FIR
E.OK=0)、その結果、グローバル結果信号UNC
/FIRE.OK*がゼロになる。したがって、信号I
*=F* AND UNC/FIRE.OK*バーはア
クティブに設定される。すなわち、ID*=1になる
(ボックス42)。入力ベクトルはC*と等しいカテゴ
リで識別されている。そこで、カテゴリC*は、COM*
−BUS上で得られるようになり、レジスタ184.1
に格納することができる。このカテゴリは、必要であれ
ばマイクロコントローラ/ユーザ22によって読み取る
ことができる(ボックス43)。これに対して、C*
少なくとも1つのニューロン回路のCと異なる場合は、
その所定のニューロン回路の信号UNC/FIRE.O
Kが「1」に設定され、そのため、グローバル結果信号
UNC/FIRE.OK*=1になる。その結果、信号
ID*(ボックス44)になり、入力ベクトルが識
別されていないことを意味する。ボックス43および4
4の出力は、共通ノード45で統合される。しかし、こ
のNMサブモードでは、マイクロコントローラ/ユーザ
22が要求する場合は、距離またはカテゴリのいずれか
がCOM*−BUS上で、好ましくは増加順に、得られ
るようになる可能性がある。この場合、Dminまたは
Cminの決定が必要になる。そのために、ニューロン
回路の探索/分類回路が最小距離Dmin、すなわち、
発動したコミット済みニューロン回路によって計算され
た距離のうちの最小距離を生成するよう、すべて同時に
機能する(ボックス46)。しかも、マイクロコントロ
ーラ/ユーザ22は、最小距離Dminを決定するだけ
でなく、残りの距離を増加順にOUT*−BUS上に出
力するためにも、発動したコミット済みニューロン回路
を必要とする場合がある。これらのステップはボックス
46によって示される。必要であれば、データのカテゴ
リ・タイプについても、同一理論が適用される。ただ
し、状態計算機183の要求があり、その監視下におい
て、複数のニューロン回路が発動している場合は、距離
およびカテゴリを連続方式またはインタリーブ方式のい
ずれかで出力することができる。1つのニューロン回路
のみ発動している場合は、その距離またはカテゴリ・デ
ータだけがOUT*−BUS上に出力される。この距離
またはカテゴリ・データは、マイクロコントローラ/ユ
ーザ22に直接送られるか、またはその後のマイクロコ
ントローラ/ユーザ22によるREAD動作のためにC
OM*−BUSを介してレジスタ184.1でラッチさ
れる。
【0109】最も近い隣接サブモード(NNM)では、
計算された距離DとAIF値との比較が一切行われな
い。この場合、マイクロコントローラ/ユーザ22は、
前述のように最小距離Dmin(またはCmin)を決
定し、さらに残りの距離(またはカテゴリ)を出力する
ために、いかなる制限(発動したかどうか)も設けずに
すべてのニューロン回路のすべての探索/分類回路を必
要とするだけである。図19および図20から明らかな
ように、NNMサブモードはボックス46で実行される
ステップのみを含んでいる。
【0110】最後に、選択されたサブモードにかかわら
ず、認識モードは図20の終了というボックスで終了す
る。ただし、図19および図20を参照して示した認識
フェーズが終了すると、ニューロン回路11は学習フェ
ーズに移行できるので、代替ステップとして前述の終了
ボックスにボックス47が追加されている。
【0111】学習モード 認識フェーズが終了すると、ユーザは学習モードを実行
することができる。学習は各種の場合に行われる。たと
えば、ユーザがグローバル応答に満足できない場合であ
り、たとえば、ニューラル・ネットワーク11(A)に
よって出力されたカテゴリが正しいと思われないか、ま
たは「ブランク」あるいは「未使用」のニューラル・ネ
ットワーク11(A)が初めて使用された場合などであ
る。後者の場合には、いずれのニューロン回路もまだ学
習していないので、図19のボックス35により明らか
になっているように、各ニューロン回路ごとに信号Fが
0になるようにニューロン回路を発動することができな
い。その結果、信号F*=0になり、信号UNC/FI
RE/OK*=0になるので、ID*=0になる。これ
は、ニューラル・ネットワーク11(A)レベルで入力
ベクトルAが識別されていないことを意味する。本発明
の重要な特徴によれば、前回の認識フェーズ中に入力ベ
クトルAの各種成分が第1の空き状態学習可能ニューロ
ン回路に格納されており、したがって、図19のボック
ス31を参照して前述したように、そのニューロン回路
は事前装填されている。
【0112】この場合も、所与のニューロン回路はすで
に使用中(すなわち、学習済み)であるが、他のニュー
ロン回路はまだ空き状態であると想定する。基本的に学
習モードは縮小プロセスまたは拘束プロセスあるいはそ
の両方で構成され、これらのプロセスは異なる状況を有
するニューロン回路を対象とする。縮小プロセスはすべ
てのコミット済みニューロン回路に関連するのに対し、
拘束プロセスは学習可能ニューロン回路にのみ関連す
る。簡略化のため、図19および図20を参照して説明
したように、学習フェーズは認識フェーズ後に行われる
ものと想定する。図19および図20のボックス47と
一貫性を保つための図21の流れ図47は、これらの縮
小プロセスと拘束プロセスの重要ステップを示すための
ものである。学習フェーズは、状況/制御論理回路18
の状態計算機183の監視下で行われる。状態計算機1
83は、ニューラル・ネットワーク11(A)のすべて
のニューロン回路を並列に制御するために状態を順次出
力する。認識フェーズ中に発動し(図19および図20
の流れ図27を参照)、入力カテゴリCATとは異なる
ローカル・カテゴリCを有するコミット済みニューロン
回路の場合、その影響フィールド値の自動縮小に移行す
る。そのために、ZISCチップ10には、その発動範
囲から入力ベクトルを除去するために間違って発動した
その所定のニューロン回路のAIFレジスタ352の内
容を自動的かつ同期的に縮小する自動機構が設けられて
いる。これに対して、ニューラル・ネットワーク11
(A)レベルで入力ベクトルが正しく認識されていない
場合に、空き状態ニューロン回路の中から選択される新
しいニューロン回路を使用中にすることは価値のある可
能性がある。これら2つの場合については、図21を参
照して個別に詳述する。
【0113】ここで、すでに発動したコミット済みニュ
ーロン回路の場合を示す図21の左側部分を参照して説
明すると、学習プロセスは開始というボックスで開始さ
れる。このようなニューロン回路11は、まず、ニュー
ロン回路11の入力カテゴリCATとローカル・カテゴ
リCが等しいかどうかを判定するためにボックス48で
テストされる。CATとCが異なる場合は、ニューロン
回路11が間違って発動したことを意味する。コミット
済みニューロン回路のローカル・カテゴリはゼロになら
ないよう強制されるので、これはCAT=0の場合も含
んでいる。この場合、その所定のニューロン回路の識別
回路400によって出力されたUNC/FIRE.OK
信号はゼロになる。学習モードでのUNC/FIRE.
OK信号の意味は、縮小プロセスが必要であることを示
すことである。そのAIF値を減少させるために前記ニ
ューロン回路11の縮小プロセスが必要になる。さら
に、評価回路200の専用レジスタに格納された計算済
み距離DはAIFレジスタ352にロードされる(ボッ
クス49)。次に、LTE信号を生成するために、この
距離Dが比較回路300でMinIFと比較される。ボ
ックス50によると、DがMinIF以下であれば、ニ
ューロン回路11は縮退していると宣言される。すなわ
ち、識別回路400で生成された信号DEGがアクティ
ブに設定される(DEG=1)。実際には、ボックス5
1が示すようにDEGレジスタ(DEGREG)に
「1」がロードされる。このDEG信号は、ボックス5
2によりMinIF値が前記AIFレジスタ352にロ
ードされるようにするための制御信号として機能し、そ
れにより、前のD値が上書きされる。ボックス50のN
O出力とボックス52の出力は共通ノード53で統合さ
れる。ここでもう一度ボックス48に戻って説明する
と、CAT=Cの場合は、該当のニューロン回路が正し
く発動し、そのため、そのAIFが縮小を必要としない
ことを意味する。その所定のニューロン回路11のUN
C/FIRE.OK信号は、ボックス54に示すように
アクティブに設定される(UNC/FIRE.OK=
1)。ボックス54の出力は前記共通ノード53に接続
される。最後に、ボックス55で最小距離Dminとグ
ローバル結果の値UNC/FIRE.OK*が決定され
る。どちらの値も、学習可能ニューロン回路がある場合
にはその拘束プロセスで必要になるものである。これら
の値は、レジスタ184.1でラッチするなどのため
に、図19および図20を参照して前述したようにそれ
ぞれのバス上で得られるようになる。
【0114】次に、学習可能ニューロン回路11の拘束
プロセスを示す図21の右側部分について考察する。こ
の場合、開始というボックスで開始されたプロセスは、
図19の終了というボックスにそのまま対応する。すな
わち、この段階ではまだニューロン回路レベルにある。
まず、入力カテゴリCATの値について、CATがゼロ
かどうかがボックス56でテストされる。CAT=0で
あれば、拘束プロセスは停止する(前述のように、コミ
ット済みニューロン回路の縮小プロセスへの移行のみ必
要になる)。一方、CATがゼロ以外の場合は、ボック
ス57によりこの学習可能ニューロン回路のAIFレジ
スタ352に最小距離Dmin(その値はすでにボック
ス55で確立している)がロードされる。ただし、Dm
inがMaxIFより大きい場合は、代わりにMaxI
Fがロードされることに留意されたい。次に、Dmin
がMinIF以下であるかどうかを判定するためにボッ
クス58で比較が行われる。YESの場合は、識別回路
400のDEGレジスタに「1」がロードされ、AIF
レジスタ352にMinIF値がロードされる(ボック
ス59)。ボックス59の出力とボックス58のNO出
力は共通ノード60で統合される。次に、ニューラル・
ネットワーク・レベルでボックス55で判定されたグロ
ーバル結果信号UNC/FIRE.OK*の値もテスト
される。このテストにより、入力ベクトルが正しいカテ
ゴリを有する少なくとも1つのニューロン回路によって
認識されたかどうかが検査される(ボックス61)。信
号UNC/FIRE.OK*=1の場合は、入力ベクト
ルが正しいカテゴリを有する少なくとも1つのニューロ
ン回路によって正しく認識されたことを意味する。この
場合、新しいニューロン回路を拘束する必要がない可能
性があるので、通常、拘束プロセスのこの段階で学習フ
ェーズが停止する。これに対して、信号UNC/FIR
E.OK*が1ではない(UNC/FIRE.OK*
0)場合は、拘束プロセスが続行される。入力カテゴリ
・データCATはCAT−BUSを介してカテゴリ・レ
ジスタ450にロードされ、入力ノルム/コンテキスト
・データは前記学習可能ニューロン回路のNO/CXT
−BUSを介してNO/CXTメイン・レジスタ17に
ロードされる(ボックス62)。最後に、信号STは、
ボックス63に示すように、学習可能ニューロン回路の
デイジー・チェーン回路600のDCI入力端子に存在
する「1」という値をそのDAISYレジスタにシフト
するように活動化される。これで拘束プロセスは終了
し、学習可能ニューロン回路は学習済みの状態になる。
新たに使用中になったこのニューロン回路のデイジー・
チェーン入力信号と出力信号は1になる。間違って発動
したすべてのコミット済みニューロン回路のAIF値が
再調整されるか、または新たに使用中になったニューロ
ン回路のAIF値が確立され、そのローカル・カテゴリ
・レジスタおよびノルム/コンテキスト・レジスタに正
しい値がロードされるか、あるいはその両方が完了する
と、学習フェーズが終了する。代替態様として、ボック
ス61で完了したテストをボックス56および57の間
で実行することもできる。
【0115】初期設定直後で、ニューラル・ネットワー
ク11(A)のいずれのニューロン回路も学習していな
いときは、すべてのニューロン回路が空き状態になって
いる。ニューラル・ネットワーク11(A)に印加され
た第1の入力ベクトルの認識中に、その各種成分がIN
DATA−BUSを介してZISCチップ10の各ニュ
ーロン回路のR/Wメモリ回路250に連続印加され
る。当然のことながら、距離評価回路200で行われる
計算と、いずれかのニューロン回路の距離比較回路30
0で行われる比較は、重要ではない。ニューラル・ネッ
トワーク11(A)のニューロン回路のいずれも第1の
入力ベクトルを認識していないので、各識別回路400
はローカル結果発動信号Fを生成し、OR回路12でこ
の信号Fと他のF信号とのORが取られ、ゼロになるグ
ローバル結果発動信号が生成される(F*=0)。この
ため、学習可能ニューロン回路11−1は、前述の通
り、この入力ベクトルを学習する必要がある。しかし、
認識フェーズの結果、この第1の入力ベクトルの各種成
分はすでにそこに格納されており、この第1の(空き状
態)ニューロン回路はすでに事前装填されている。第1
の入力ベクトルを第1のプロトタイプ・ベクトルとして
格納するには、図21を参照して前述したようにこの第
1のニューロン回路を拘束するだけで十分である。ただ
し、この場合、AIFレジスタ352にMaxIF値が
ロードされることに留意されたい。
【0116】したがって、認識フェーズ中に入力ベクト
ルAの各種成分をR/Wメモリ回路250に事前装填す
るための効率の良い方法はZISCチップ10で実現さ
れている。しかも、学習可能ニューロン回路は、ニュー
ラル・ネットワーク11(A)のニューロン回路の中で
そのDCI信号とDCO信号が互いに相補関係にある唯
一のニューロン回路なので、容易に認識される。学習フ
ェーズの予備ステップ(その間に入力ベクトルがもう一
度ニューラル・ネットワークに提示される)で入力ベク
トル成分の格納動作を実行する必要がある先行技術のニ
ューラル・ネットワークとは異なり、ZISCチップ1
0では、入力ベクトルの認識フェーズ中に前記成分がす
でにR/Wメモリ回路250にロードされている。その
結果、ニューラル・ネットワーク自体がそのように要求
するのであれば、学習可能ニューロン回路は自動的かつ
ただちに事前装填される。すなわち、その後の拘束に備
えて準備される。しかし、入力カテゴリCATがニュー
ロン回路11のカテゴリ・レジスタ450にロードさ
れ、デイジー・チェーン回路600のDAISYレジス
タに「1」をロードするために信号STがアクティブに
設定されるまで、事前装填されたニューロン回路は使用
中とは見なされない。学習が不要ないかなる場合でも、
後続の認識フェーズで次の入力ベクトルの各種成分がI
NDATA−BUS上で提示されると、格納済み成分が
上書きされる。このニューロン回路が使用中になると同
時に、制御信号RSは、そのR/Wメモリ回路250で
の後続のWRITE動作を防止する。
【0117】要約すると、基本ZISCチップ10で
は、(認識フェーズ中に達成される事前装填モードに関
して前述したように)学習対象の入力ベクトルが学習可
能ニューロン回路のR/Wメモリ回路250に格納され
ると、学習モードに前記学習可能ニューロン回路の拘束
が含まれる。この拘束プロセスは、所望の入力カテゴリ
がカテゴリ・レジスタ450にロードされ、デイジー・
チェーン600のDAISYレジスタに「1」がロード
されると終了する。また、間違って発動したコミット済
みニューロン回路のAIFレジスタ352にロードしな
ければならない新しい値を決定するのに必要であれば、
学習フェーズには必ず縮小プロセスが含まれる。学習フ
ェーズの関連ステップはすべてベース・ニューラル・ネ
ットワーク11(A)によって行われる。調整は、ニュ
ーラル・ネットワークのすべてのニューロン回路で同期
的かつ自動的に行われるので、マイクロコントローラ/
ユーザ22などの外部の監視を必要としない。したがっ
て、学習プロセスは完全に内的かつ自動的なものにな
る。状態計算機183は、並列に関連するすべてのニュ
ーロン回路の縮小プロセスと拘束プロセスの順序付けを
行う。さらに、従来のニューラル・ネットワークとは対
照的に、本発明の重要な特徴によれば、事前装填機能が
あるために認識フェーズと学習フェーズは完全に別個の
ものになっていない。
【0118】保管モードと復元モード 最後に、基本ZISCチップ10は、上記以外に保管モ
ードと復元モードという2つの有意義な動作モードを提
供する。ZISCチップ10の本発明の実施態様はEP
ROMを含んでいないので、電源が遮断されると、ZI
SCチップ10の各種レジスタに保持されているすべて
の情報が失われる。そのため、保管モードと復元モード
が強く望まれている。保管フェーズ中にマイクロコント
ローラ/ユーザ22は、(ニューロン回路を含む)基本
ZISCチップ10の各種レジスタに格納されているす
べての貴重なデータにアクセスして(READ動作)、
それを保管することができる。たとえば、これは、R/
Wメモリ回路250に格納されたプロトタイプ・ベクト
ルBの各種成分(重み)、AIFレジスタ352に格納
されたAIF値、カテゴリ・レジスタ450に格納され
たローカル・レジスタ、レジスタ100に格納されたロ
ーカル・ノルム/コンテキスト・データ、セットアップ
・パラメータなどに関連する。ハードディスクは、この
ようなデータを適切に格納するためにその点で便利な記
憶手段である。基本的に復元モードは、上記と反対のス
テップで構成される。様々な理由により、マイクロコン
トローラ/ユーザ22は、その復元のためにそれぞれの
レジスタに前記データのいずれかをロードする(WRI
TE動作)必要が生じる場合がある。復元フェーズ中
は、いずれかのニューロン回路に場合に応じてそれ自体
のデータまたは何らかの所望のデータのいずれかをロー
ドすることが重要である。データとニューロン回路レジ
スタとの間に完全な対応が存在しなければならないこと
は明らかである。ZISCチップ10の本発明の実施態
様では、保管モードと復元モードは、Dmin決定回路
500にマルチプレクサ501が存在すること(図1
3)と、デイジー・チェーン回路600の固有の特性と
を有利に利用する。
【0119】まず、保管モードについて考察する。もう
一度図13に戻って説明すると、マルチプレクサ501
は、その3つの入力バスから所望の入力バス(およびそ
のデータ)を選択するために保管フェーズ中に適切に活
動化される。IADD/CTL−BUSを介してマルチ
プレクサ501に印加される選択信号に応じて、ローカ
ル・カテゴリ・データC、ローカル・ノルム/コンテキ
ストNo/Cxtデータ、またはJ−BUS上に現れる
データのいずれかが第1の入力信号として探索/分類回
路502に印加される。次に、IADD/CTL−BU
Sを介してマルチプレクサ351に印加される選択信号
に応じて(図12参照)、J信号は、AIFレジスタ3
52の内容または該当のニューロン回路11のDIST
−BUS上に現れるデータまたはMaxIF/MinI
F−BUS上で伝送されるMaxIF/MinIF値を
表すことができる。デイジー・チェーン回路600は、
適切なニューロン回路を選択するために使用される。第
1の空き状態ニューロン回路による前述の同一原理がこ
の場合も適用可能である。プロトタイプ・ベクトルB成
分が連続してDIST−BUS上に現れるようにするに
は、そのすべての成分がゼロになる入力ベクトルAを提
示するだけで十分である(図10)。最後に、所定のニ
ューロン回路に関連するこれらのすべてのデータは、そ
のNOUT−BUSおよびOR回路12を介してOUT
*−BUS上にその所定のニューロン回路のDmin決
定回路500から順次出力される(残りのNOUT信号
はすべて中立論理レベルに設定される)。
【0120】要約すると、保管モード、すなわち、最終
的にCOM*−BUS上に出力される制御信号を介して
適切なデータを順次選択することによって保管対象のデ
ータをマイクロコントローラ/ユーザ22が読み取る場
合、これらのデータは、場合に応じて、M−BUSを介
してレジスタ184−1(図11を参照)に格納する
か、またはマルチプレクサ(図示せず)を介してIND
ATA−BUS上で直接得られるようにすることができ
る。このデータは、状態計算機183の監視下で論理回
路182内に位置するインタフェース回路に応じて、マ
イクロコントローラ/ユーザ22の要求によりINDA
TA−BUS上に出力される。デイジー・チェーン回路
600により、一度に1つのニューロン回路のみ確実に
選択されるようになる。
【0121】復元モードでは、データはINDATA−
BUSを介してマイクロコントローラ/ユーザ22によ
ってロードされる。各レジスタは、それにデータを正し
く格納するためにIADD/CTL−BUSを介して連
続的に選択される。各ニューロン回路のR/Wメモリ回
路250にも同一理論が適用される。
【0122】保管モードまたは復元モードはいくつかの
ステップを必要とする。まず、マイクロコントローラ/
ユーザ22は適切な(保管または復元)モードを設定す
る。どちらのモードにも、ZISCチップ10のすべて
のDAISYレジスタがリセットされる予備ステップが
ある。マイクロコントローラ/ユーザ22は、SEL/
CTL−BUS上で適切なアドレスを送ることにより、
正しいレジスタまたはR/Wメモリ回路250に対応す
る正しいデータを選択する。ニューロン回路は、図21
に関連する拘束プロセスにおいて前述したのと同じ機構
により、デイジー・チェーン回路600の監視下で順次
処理される。このステップは、必要な回数だけ各レジス
タごとに繰り返される。そのローカル・カテゴリ値がゼ
ロになる第1のニューロン回路に達するまで、ニューロ
ン回路の読取りまたは書込みが順次行われる。したがっ
て、ローカル・カテゴリ・レジスタ450の内容は、い
ずれかのモードの終了を検出するための便利な手段であ
る。保管または復元フェーズが終了すると、デイジー・
チェーン回路600のDAISYレジスタを含む、ニュ
ーロン回路のすべてのレジスタが初期状態、すなわち、
保管または復元フェーズが開始される前の状態になる。
すべての関連レジスタの読取りまたは書込みが完了する
と、最後のステップは、認識モードまたは学習モードの
いずれかでの復帰になる。どちらのモードでもニューロ
ン回路の特定のレジスタにアクセスするために同一処理
ステップを使用するので、この手法で必要とする回路数
は非常に少なくなる。また、保管モードまたは復元モー
ドに供されるニューロン回路の数に制限はない。
【0123】図9のベース・ニューラル・ネットワーク
11(A)にも同様の理論が適用されるが、この理論は
図16の基本モジュールまたは図17の複合モジュール
のいずれかに組み込まれたニューラル・ネットワークに
さらに拡張することができる。これは、基本ZISCチ
ップ10の完全並列アーキテクチャの直接的な成果であ
る。第1のグローバルOR機能は、ZISCチップ10
(1)〜10(Q)のそれぞれについてグローバル結果
信号R*およびグローバル出力信号OUT*を生成するた
めにOR回路12のそれぞれの専用補助回路でローカル
結果信号とローカル出力信号のORを取ることによって
行われる。次に、それぞれのグローバル信号R**および
OUT**を生成するために、もう一度COM**−BUS
で、図16にそれぞれR*(1)〜R*(Q)およびOU
*(1)〜OUT*(Q)と示されているグローバル信
号のORが取られる。COM**−BUSは、図16から
明らかなように複合ニューラル・ネットワーク11
[A]を組み込んだ基本モジュール10[A]を形成す
る前記チップ全体に共通である。複数の基本ZISCチ
ップ10をまとめて組み立てる場合には、図9の実施態
様により各ZISCチップ10に任意で設けられた主D
min決定回路20を有利に使用して、基本モジュール
10[A]または複合モジュール{A}を形成するすべ
てのチップに属すコミット済みニューロン回路間の最小
距離Dminを決定することができる。ニューロン回路
とそれから得られるチップのカスケード性により、図1
6に示すタイプ11[A]または図17に示すタイプ1
1{A}のいずれかのニューラル・ネットワークの動作
は、あらゆる点で図18〜図21に関して前述した図8
のニューラル・ネットワーク11(A)と同一になる。
ベース・ニューラル・ネットワークと基本ニューラル・
ネットワークと複合ニューラル・ネットワークとの区別
はマイクロコントローラ/ユーザ22には無関係であ
る。すなわち、複合モジュールを形成するために組み立
てられる基本モジュールを形成するために組み立てられ
るZISCチップ10(それぞれにベース・ニューラル
・ネットワークが組み込まれている)の数により、最終
的にはニューロン回路の総数がマイクロコントローラ/
ユーザ22に完全に透過なものになる所望のサイズの複
合ニューラル・ネットワークが得られる。しかも、この
ようなニューラル・ネットワークの動作はそのサイズと
は無関係である。このため、前述の各種タイプのニュー
ラル・ネットワークは、それらの区別が不要であれば、
以下、ニューラル・ネットワークという総称で示すこと
にする。
【0124】基本ZISCチップの詳細な説明 コンテキスト・レジスタと突合せ回路(100/15
0) 図22は、その役割がニューロン回路11を選択するか
どうかである突合せ回路150の詳細構造を示してい
る。突合せ回路150はまず、入力コンテキストCXT
値がヌルかどうかを検査するNOR回路151を含む。
NO/CXTメイン・レジスタ17に格納されている入
力コンテキストCXT値がゼロの場合は、論理1が生成
され、それが2ウェイORゲート152の第1の入力に
印加される。図22によれば、各ニューロン回路にはN
OR回路151が1つずつあるが、(ZISCチップ1
0のすべてのニューロン回路に共通する単一NO/CX
Tメイン・レジスタ17のように)基本ZISCチップ
10に共通の単一NOR回路も考えられる。NOR回路
151は1つの7ウェイNORゲートで構成されてい
る。さらに突合せ回路150は、入力コンテキストCX
Tデータとローカル・コンテキストCxtデータとを比
較するXOR回路153を含んでいる。基本的にXOR
回路153は7つの2ウェイXORゲートで構成されて
いる。XOR回路153から出力される信号はNOR回
路154に印加される。基本的に後者は1つの7ウェイ
NORゲートで構成されている。NOR回路154によ
って生成される信号はORゲート152の第2の入力に
印加される。また、ORゲート152の出力側で生成さ
れる信号は前述のNS(ニューロン選択)信号である。
信号NSがアクティブになる(NS=1)と、ニューロ
ン回路11が選択される。要約すると、ニューロン回路
11は、入力コンテキストがゼロの場合または入力コン
テキストがローカル・コンテキストと一致しない場合の
み選択される。
【0125】図23は、開示されたZISCチップ10
の実施態様に採用されているコンテキスト手法の基礎に
ある概念を示している。すべてのニューロン回路11−
1〜11−Nは、NO/CXTメイン・レジスタ17の
コンテキスト部分に格納されている同一入力コンテキス
ト・データCXTについて並列に動作する。No/Cx
tレジスタ100のローカル・コンテキスト部分は、所
定のニューロン回路、たとえば、ニューロン回路11の
拘束プロセス中にCXT−BUSを介してNO/CXT
メイン・レジスタ17からロードされる。このコンテキ
スト機構により、特定のタスク用のベース・ニューラル
・ネットワーク11(A)を形成する所定の数のニュー
ロン回路を動的に選択することができる。たとえば、典
型的なコンテキストの応用例としては、2つのニューロ
ン回路グループによるニューラル・ネットワークが一連
の入力ベクトルを選択的に認識する場合がある。L1ノ
ルムによって使用中になっている第1のグループは第1
のコンテキスト(コンテキスト1)を受け取り、Lsu
pノルムによって使用中になっている第2のグループは
第2のコンテキスト(コンテキスト2)を受け取る。L
1ノルムによって使用中になっているニューロン回路の
みによって入力ベクトルの認識を続行する必要がある場
合に、コンテキストの区別により、第1のグループのニ
ューロン回路を選択し、第2のグループのニューロン回
路を除外することは容易である。もう1つの典型的な例
としては、一部のニューロン回路が第1の長さ(たとえ
ば、n=64)の入力ベクトルについて学習し、他のニ
ューロン回路が第2の長さ(たとえば、n=32)の入
力ベクトルについて学習した場合が考えられる。第2の
グループの入力ベクトルがベース・ニューラル・ネット
ワーク11(A)に提示されると、第1のグループのニ
ューロン回路の応答は重要ではないはずなので、そのニ
ューロン回路を禁止しなければならない。
【0126】しかし、上記の概念は一般化することがで
きる。各ニューロン回路11がベース処理ユニットに1
つずつ対応すると想定する。次に、複数のこのようなベ
ース処理ユニットで構築したマルチプロセッサ・ユニッ
トが、ベース・ニューラル・ネットワーク11(A)と
同様に入力データ・パターンを並列に処理する場合につ
いて考察する。場合によっては、1つまたは複数のベー
ス処理ユニットだけに入力データ・パターンをディスパ
ッチしなければならない場合もある。このコンテキスト
手法を使用すると、マルチプロセッサ・ユニットの前に
通常必要になると思われるパターン・ディスパッチャを
設計する必要性が回避される。このような従来のディス
パッチャは、非常に回路が複雑であることが知られてい
る。本発明のコンテキスト手法によれば、このディスパ
ッチャは単一のメイン・コンテキスト・レジスタ(図2
3のNO/CXTメイン・レジスタ17に対応するはず
である)に縮小されるはずである。次に、各ベース処理
ユニットには、専用ローカル・コンテキスト・レジスタ
(ローカルNo/Cxtレジスタ100に対応するはず
である)と、マルチプロセッサ・ユニットを形成するす
べてのベース処理ユニットのローカル・コンテキスト・
レジスタにメイン・コンテキスト・レジスタを相互接続
するはずのバスとがローカルに設けられるはずである。
その結果、このような実施態様では、1つ(または複
数)の所定のベース処理ユニットで処理される入力デー
タ・パターンがマルチプロセッサ・ユニットに提示され
る前に、その入力データ・パターンの前にメイン・コン
テキスト・レジスタに直接ロードされる入力コンテキス
ト・データが付く。ローカル・コンテキスト・レジスタ
の内容がメイン・コンテキスト・レジスタに格納されて
いる入力コンテキスト値と一致する場合は、前記入力デ
ータ・パターン(およびそれ以降のもの、ただし、コン
テキスト値に変化がない場合に限る)が前記所定の処理
ユニットによって処理される。入力コンテキストがゼロ
になると、ただちに追加の特定の回路がすべてのベース
処理ユニットを選択することができる。データ処理の遅
延という点で上記のコンテキスト機能によって持ち込ま
れるペナルティは、厳密な最小値に低減される。コンテ
キスト機能を使用しない場合(この場合、メイン・コン
テキスト・レジスタの内容はゼロでなければならない)
は、ペナルティは一切発生しない。入力コンテキストの
更新が必要になると、ただちに入力データ・パターンに
コンテキスト値を挿入するというペナルティが発生す
る。最大のペナルティは、各入力データ・パターンの後
に新しいコンテキスト値を挿入する場合である。要約す
ると、マルチプロセッサ・ユニットにコンテキスト機能
を導入すると、それを単一ユニットとしてまたは他のサ
ブユニットの動作に影響せずに独立して動作可能な個別
のサブユニットとして動的に構成できるというフレキシ
ビリティが得られる。したがって、前述の、すなわち、
完全にハードウェアによる解決策に基づくコンテキスト
手法は、本発明の重要な特徴である。
【0127】R/Wメモリ回路(250) 次に、図24〜図26について説明すると、図24は、
64×8ビットのRAMメモリ251(通常は重みメモ
リと呼ぶ)と、アドレス・カウンタ252と、任意でレ
ジスタ253とを含むR/Wメモリ回路250の詳細構
造を示している。信号Aは、DATA−BUS上でAレ
ジスタ13から出力される入力ベクトル成分を表してい
る。信号Bは、RAM−BUS上でレジスタ253(あ
る場合)から出力されるプロトタイプ・ベクトル成分を
表している。R/Wメモリ回路250は、RAMメモリ
251から出力されるデータをラッチするためにレジス
タ253を含むことができる。その結果、ZISCチッ
プ10の製造時に実行される自動テストの過程でRAM
メモリ251が分離される。この場合、レジスタ253
を使用する場合は、同期(バースト)モードでのパイプ
ライン動作のために評価回路200の2本の経路のバラ
ンスを取るために入力ベクトル・データ経路内に追加の
レジスタ(図示せず)を配置することを推奨する。レジ
スタ253は空き状態の実行レジスタである。すなわ
ち、そのロードが制御信号によってゲートされるAレジ
スタ13とは異なり、各サイクルごとにデータがそこに
ロードされる。アドレス・カウンタの役割は、入力ベク
トルの成分をカウントすることと、RAMメモリ251
を正しくアドレス指定することである。カウンタ252
は、各種成分を順次ロードするためのNEXTC(NE
XTCとはNEXT Component(次の成分)を意味する)
と、第1の成分をロードする前にカウンタをリセットす
るためのFCOMP(FCOMPとはFirst COMPonent
(第1の成分)を意味する)という2つの制御信号によ
って制御される。したがって、カウンタ252は、新し
い認識フェーズの開始時にFCOMP信号によってリセ
ットされ、各成分が提示されるごとに信号NEXTCに
よって増加される。アドレス・カウンタ252はR/W
メモリ回路250内部に示されているが、図10のニュ
ーロン回路アーキテクチャ内のどこにでも配置すること
ができる。実際には、ZISCチップ10の本発明の実
施態様によれば、このカウンタは状況/制御論理回路1
8内に置かれている。この場合、カウンタ252は、Z
ISCチップ10のすべてのニューロン回路に共通のR
AMアドレス信号を生成する。RAMメモリ251は1
ポートRAMである。レジスタ253には、距離評価回
路200内でのB信号の処理に必要であれば、相補形出
力を設けることも可能である。RS信号を生成する回路
については、デイジー・チェーン回路600を参照して
後述する。この段階の説明では、RAMメモリ251で
の入力ベクトル成分の事前装填を可能にするために、ニ
ューロン回路11のRAMメモリ251に印加されるR
S信号は、すべての使用中のニューロン回路について非
活動状態になり、第1の空き状態ニューロン、すなわ
ち、学習可能ニューロン回路についてのみアクティブに
なると説明するだけで十分である。RS信号は、いずれ
かの標準的なRAMメモリで現在使用されている従来の
R/W信号と広く対応する。信号RSがアクティブ(R
S=1)になると、RAMメモリ251への書込みが行
われる。すなわち、アドレス・カウンタの制御下で各種
成分が順次ロードされる。これに対して、信号RSが非
活動状態(RS=0)になると、RAMメモリ251の
内容の読取りしか行えなくなる。次に図25を参照して
説明すると、同図には、認識フェーズ中の使用中のニュ
ーロン回路のデータの流れが示されている。信号RSが
非活動状態なので、入力ベクトルAの成分はレジスタ1
3のみにロードされ、RAMメモリ251にはロードさ
れない。このため、使用中のニューロン回路のRAMメ
モリ251には入力ベクトルのどの成分も書き込まれな
い(RAMメモリ251への経路は「空白」として示さ
れている)。というのは、このような書込みは、そこに
格納されているプロトタイプ・ベクトル成分の保全性に
とって有害になる恐れがあるからである。比較評価回路
200での比較のために、信号AおよびBが得られる。
図26は、認識フェーズ中の第1の空き状態の学習可能
ニューロン回路のデータの流れを示している。この場
合、入力ベクトルの各種成分は、新しいプロトタイプ・
ベクトルの重みと同様、制御信号RSがアクティブに設
定されたときにRAMメモリ251に格納される。図2
6に空白経路で示されているように、学習可能ニューロ
ン回路の場合、距離評価回路200は信号AおよびBを
利用しない。したがって、事前装填ステップを実施する
には、R/Wメモリ回路250と、RS信号を生成して
その重みメモリに入力ベクトル成分をロードしなければ
ならない所定の空き状態ニューロン回路を指定すること
ができる回路とが必要になる。基本ZISCチップ10
の本発明の実施態様では、この回路の役割がデイジー・
チェーン回路600によって達成される。したがって、
この点についてはR/Wメモリ回路250とデイジー・
チェーン回路600とが「事前装填回路」を形成する。
入力フェーズ中に学習可能ニューロン回路のRAMメモ
リ251に入力ベクトル成分を事前装填するこのステッ
プは、本発明の重要な特徴である。先行技術の既知の解
決策と比較すると、この事前装填ステップには重大な利
点がある。というのは、学習可能ニューロン回路が使用
中であると確認されれば、学習フェーズ中の入力ベクト
ルの再提示が回避され、多くの時間が節約されるからで
ある。
【0128】距離評価回路(200) 次に図27を参照して説明すると、同図には、基本的に
2つの補助回路201および202と、任意でレジスタ
203とで構成される、マルチノルム距離評価ブロック
200の内部構造が示されている。8ビットのDATA
−BUS(入力ベクトルAの各種成分を伝送する)と8
ビットのRAM−BUS(プロトタイプ・ベクトルBの
各種成分を伝送する)はサブブロック201に印加さ
れ、ローカル・ノルム信号Noは両方のサブブロック2
01および202に印加される。ブロック200は、1
4ビットのDIST−BUS上に距離信号Dを生成す
る。ただし、マイクロコントローラ/ユーザ22がその
すべての成分がゼロになる入力ベクトルAを提示する場
合は、距離評価回路200がDIST−BUS上にプロ
トタイプ・ベクトルBのすべての成分を(ノルムL1に
よって)出力できることに留意されたい。この特性は、
いわゆる保管モードで使用される。RAMメモリ251
と距離評価回路200のサブブロック201および20
2がすべてまとまって3ステージのパイプライン構造を
形成する。
【0129】前述の通り、本発明の重要な特徴によれ
ば、ブロック200は処理ユニットとして動作し、最小
数のデバイスのみを使用するために最適化された回路で
L1(MANHATTAN)またはLsup(SQUA
RE)ノルムによって距離を計算できるようになってい
る。1ビットのNo−BUS上で伝送されるローカル・
ノルム信号Noは、距離計算に使用される所望のノルム
を選択するために使用される。ノルム信号Noが1であ
る場合は、入力ベクトルAとプロトタイプ・ベクトルB
との距離はL1ノルムに応じて計算され、これとは反対
に、ノルム信号Noが0である場合は、前記距離がLs
upノルムによって計算される。したがって、前に使用
した表記法、すなわち、A=A1、・・・、Ai、・・
・、AnおよびB=B1、・・・、Bi、・・・、Bn
(それぞれのAiまたはBi成分はmビットで符号化さ
れる)を使用すると、計算された距離Dは、L1ノルム
の場合のsum(abs(Ai−Bi))またはLsu
pノルムの場合のmax(abs(Ai−Bi))のい
ずれかになる(ただし、i=1、・・・、n)。この場
合、省略形absは「絶対値」を意味することに留意さ
れたい。以下の例はこのステートメントを示している。
ここで、A=7 1 8 2およびB=6 34 5に
よって表される4つの成分ベクトルAおよびBを想定す
る。この場合、距離は、L1ノルムでは10になり、L
supノルムでは4になる。
【0130】一般化するため、DIST−BUS上にブ
ロック200によって生成される距離信号Dがビットd
0、・・・、dp−1で構成されていると想定する。距
離信号Dのビット数pは選択したノルムによって決ま
る。つまり、Lsupノルムの場合はp=m(同数のビ
ット数)になるのに対し、L1ノルムの場合はビット数
が成分の数nによって決まる。たとえば、n=4の場
合、L1ノルムによって与えられる最大数は(2**8)
*4=1024になり、2**10=1024なので結果
は10ビットで符号化する必要がある。ZISCチップ
10の本発明の実施態様では、n=64成分はm=8ビ
ットで符号化され、実数は(2**8)*64=2**14
になる。これは、図27でDIST−BUSが14ビッ
ト幅を有する理由を示している。
【0131】サブブロック201は、入力ベクトルとプ
ロトタイプ・ベクトルそれぞれの2つの対応する成分A
iとBiとの差の絶対値、すなわち、(abs(Ai−
Bi))を計算する。差(Ai−Bi)を計算するとい
うことは加算器で合計(Ai+(
【数9】 以降、Biバーと記載する。))を計算することにな
り、したがって、Biの補数、すなわち、Biバーが必
要になる。R/Wメモリ回路250によって出力される
信号Bの極性に応じて、加算器205の1つの入力回路
にm=8個のインバータ群204が必要になる場合もあ
る。加算器205は具体的には、密度および速度の点で
本発明の要求を満足するように設計されている。加算器
205は、ビット0〜m−1によって生成される内部繰
上りを計算する。
【0132】加算器205によって出力される信号は、
2ウェイ排他OR(すなわちXOR)回路206の入力
に印加される。加算器205によって生成される繰上り
信号はCgenと呼ばれる。この信号は、入力繰上り信
号Cinとして加算器205に印加され、さらに、もう
一方の入力がローカル・ノルム信号Noであるもう1つ
の2ウェイXOR回路207に印加される。ローカル・
ノルム信号Noの値に応じて、回路207はXOR回路
206によって生成された出力信号Xの極性を制御す
る。したがって、この特定の加算器205の革新的な設
計により、入力繰上り端子でCin信号として「繰上り
生成」信号の再注入が可能になる。加算器205の基本
機能については、以下の一般的な説明によってさらに十
分理解されるはずである。
【0133】Ai>Biの場合、加算器205は内部繰
上り信号を生成し、すなわち、Cgeni=1になる。
この信号は、(abs(Ai−Bi))の正しい値を生
成するためにその結果に加算される。この場合、No=
1であれば、結果Xiはabs(Ai−Bi)になり、
No=0であれば、結果Xiはこの値の補数、すなわ
ち、
【数10】 以降、abs(Ai−Bi)バーと記載する。になる。
この値Xiはレジスタ203にラッチすることができ
る。
【0134】Ai<BiまたはAi=Biの場合、加算
器205は内部繰上り信号を生成せず、すなわち、Cg
eni=0になる。No=1であれば、XOR回路20
6は、正しい値を生成するためにその結果の補数を取
る。No=0であれば、この補数処理は行われない。
【0135】以下に示す数値例は、Ai<BiおよびA
i>Biという2通りの場合(Ai=Biという場合は
Ai<Biの場合と同様に処理される)の4ビット成分
に基づくもので、この点を示している。
【0136】 第1の場合: Ai>Bi(たとえば、Ai=2かつBi=1) Ai=0010 ===> Ai =0010 Bi=0001 ===> Biバー=1110 ―−−−− 加算器 ===> 0000 かつ Cgeni=1 ===> Cini=1 Cini ===> 1 ―−−−− No=1の場合: Xi=0001 (No XOR Cgeni)=0 すなわち Xi=abs(Ai−Bi) No=0の場合: Xi=1110 (No XOR Cgeni)=1 すなわち Xi=abs(Ai−Bi)バー
【0137】上記の計算から明らかなように、加算器2
05は項(Ai−Bi)=0000と繰上り信号Cge
ni=1を生成し、その結果、Cini=1になる。次
に、この値Ciniが入力繰上りとして加算器205に
印加され、さらにその結果にも印加され、0000+1
=0001になる。これに対して、Cgen繰上り信号
はXOR回路207に印加され、この回路がローカル・
ノルム信号NoとCgeniとの排他OR機能を実行す
る。次に、その結果が、加算器205によって生成され
た部分合計とともにXOR回路206に印加される。最
後に、XOR回路206の出力で得られる信号XiはX
i=((No XOR Cgeni)XOR Si)の
ようになる。したがって、Xiは最終的にabs(Ai
−Bi)またはabs(Ai−Bi)バーに対応する。
【0138】 第2の場合: Ai<Bi(たとえば、Ai=1かつBi=2) Ai=0001 ===> Ai =0001 Bi=0010 ===> Biバー=1101 ―−−−− 加算器 ===> 1110 Cgeni=0 ===> Cini=0 Cini ===> 0 ―−−−− No=0の場合: Xi=1110 (No XOR Cgeni)=0 すなわち Xi=abs(Ai−Bi)バー No=1の場合: Xi=0001 (No XOR Cgeni)=1 すなわち Xi=abs(Ai−Bi)
【0139】サブブロック201の機能を要約すると、
そこから出力される信号Xiは、入力ベクトルおよびプ
ロトタイプ・ベクトルの各成分iについて、No=1
(すなわち、ノルムL1)の場合のabs(Ai−B
i)またはNo=0(すなわち、ノルムLsup)の場
合のabs(Ai−Bi)バーのいずれかに対応する。
【0140】第2のサブブロック202の役割は、サブ
ブロック201から生成された信号Xiを使用して距離
Dを計算することである。パイプライン処理を使用する
場合は、補助回路201と202との間に自由実行レジ
スタ203を追加することが好ましい。
【0141】X信号は、もう一方の入力がD信号を受け
取る加算器208の一方の入力に印加される。加算器2
08は、加算器205と同じ構造であるか、または従来
のいずれかのタイプであってもよい。その役割には2面
性がある。すなわち、No=1(L1ノルム)の場合
は、Xの現行値と距離Dを合計し、No=0(Lsup
ノルム)の場合は、Xの現行値と前記距離を比較する。
加算器208によって生成される繰上り出力信号Cou
tは、ローカル・ノルム信号Noによって励起される増
分回路209に印加される。この増分回路209は、N
o=1(ノルムL1)の場合は通常通り動作し、No=
0(ノルムLsup)の場合は完全に禁止される(ゼロ
を生成する)。ただし、この増分回路209はL1ノル
ムの場合のみ使用されることに留意されたい。この回路
により、使用するノルムにかかわらず、加算器208の
ビット範囲をpビットからmビットに縮小することがで
きる。それぞれの合計ごとにabs(Ai−Bi)値が
mビットで符号化されるので、加算器208に必要な容
量はmビットのみになる。
【0142】また、X信号は、8個のインバータ211
(1ビットごとに1つのインバータ)群を介してセレク
タ回路210の第1の入力端子(1)にも印加される。
加算器208の出力はセレクタ210の第2の入力端子
(2)に接続され、最終的に信号Dはその第3の入力端
子(3)に印加される。ノルム信号NとCout信号は
それぞれコマンド(Cmd)端子(1)および(2)に
印加される。L1ノルムを使用する場合、Cout信号
は入力端子(2)を選択する。Lsupノルムを使用す
る場合は、信号Coutによって、入力端子(1)と
(3)との選択が行われる。すなわち、X>Dの場合は
入力端子(1)が使用され、X<=Dの場合は入力端子
(3)が使用される。その結果、ノルム信号Nの値とC
out信号に応じて、適切な結果を選択するためにセレ
クタ210が使用される。Aレジスタ212は、計算時
に現行距離を格納するので、累算器として機能する。距
離計算の結果であるD信号は、14ビットのDIST−
BUS上のレジスタ212の出力側で得られる。
【0143】距離計算プロセスの開始時にレジスタ21
2はゼロに設定される。
【0144】L1ノルムを使用する場合(No=1)、
加算器208は、Xi=(abs(Ai−Bi))と、
距離レジスタに格納されているプロセスのこの段階での
距離Dすなわち現行距離との合計を計算する。セレクタ
210は、入力(2)で得られる合計(Xi+D)をレ
ジスタ212に転送し、そこでその合計が次のサイクル
の間、ラッチされる。合計すなわち距離Dが必要とする
ビット数がmビットを超える場合は、加算器208によ
って生成される繰上り出力信号が増分回路209によっ
て処理される。各サイクルごとに、(p−m)個の最上
位のビットが増分回路209によって更新される。前記
(p−m)個のビットと残りのm個はレジスタ212の
第1および第2の入力端子に入力される。すべての成分
対が入力されると、レジスタ212には、L1ノルムに
より計算された入力ベクトルAとプロトタイプ・ベクト
ルBとの距離Dが収容される。
【0145】Lsupノルムを使用する場合(No=
0)、加算器208は、abs(Ai−Bi)と現行距
離Dとの差を計算する。この差の演算によって繰上りが
示された場合、すなわち、Couti=1の場合は、D
>abs(Ai−Bi)になる。この場合、現行距離と
(Ai−Bi)との最大値を実現するために入力端子
(3)が選択される。Couti=0の場合は、abs
(Ai−Bi)>Dになり、入力端子(1)が選択され
て、この差がレジスタ212に格納される。abs(A
i−Bi)とDとを比較するために、値Xi=abs
(Ai−Bi)バーが加算器208に印加されるので、
レジスタ212にabs(Ai−Bi)をロードする必
要がある場合は、この値が適切な極性を持っていなけれ
ばならず、これがインバータ211の役割になる。以下
の2通りの例を参照すると、このケースがより容易に理
解されるはずである。
【0146】 例1 abs(Ai−Bi)=0011 ==> Xi=1100 D=0001 ==> D=0001 −−−−− 加算器 ==> 1101 Cout=0 ===> abs(Ai−Bi)>D
【0147】 例2 abs(Ai−Bi)=0001 ==> Xiバー=1110 D=0011 ==> D=0011 −−−−− 加算器 ==> 0001 Cout=1 ===> abs(Ai−Bi)<D
【0148】例1では、セレクタ210が入力端子
(1)を選択し、値Xi=abs(Ai−Bi)バーが
レジスタ212にロードされる。例2では、何のアクシ
ョンも行われない。したがって、信号Coutは、Xi
が厳密にD未満であるかどうかを識別するのに使用され
る基準になる。ただし、インバータ211の抑止が可能
であることに留意されたい。この場合、距離レジスタ2
12には、
【数11】 以降、max(abs(Ai−Bi))バーと記載す
る。が収容される。このため、次の比較ステップでは、
加算器の出力との比較を可能にするために加算器の入力
側でのX信号の極性を修正しなければならない。この場
合、繰上りの意味は反対になる。インバータを抑止する
と、そのプロセスが多少複雑になるが、mが大きい数値
であれば、この抑止によって数個のインバータを節約で
きる。
【0149】次に、ZISCチップ10に実現されてい
るような、図27の加算器205の要求を完全に満たす
ようになっている、繰上り生成機能付きの革新的な高速
かつ稠密加算器について説明する。この新規の実施態様
によれば、加算器205は、内部繰上り(繰上り生成)
を計算するためにセレクタ回路を使用している。図28
〜図34を参照して以下に記載するアーキテクチャは、
回路密度と速度(遅延)の点で非常に効率の良いもので
ある。
【0150】図28に示すように、加算器205は、2
つの補助回路213および214に分割することができ
る。補助回路213は、便宜的に文字c(繰上り)、f
(力)、p(伝播)によって総称的に示されている中間
信号と、内部繰上りCgenとを計算するために、入力
ベクトルとプロトタイプ・ベクトルのそれぞれの各成分
ごとに1次入力ビットa0〜a7およびb0〜b7を使
用してそれらを処理する。この信号Cgenは実際は、
入力繰上りを行わない加算による繰上りである。補助回
路214は、補助回路213から出力される前記中間信
号と、入力繰上り信号Cinとを使用して、最終合計信
号Sを計算する。補助回路213の革新的なアーキテク
チャにより、有害なループの影響を及ぼさずに、出力端
子Cgenを補助回路214の入力端子Cinに直接接
続することが可能である。
【0151】図29は、補助回路213の詳細構造を示
している。スライスを形成する各ビット対(たとえば、
a0とb0)ごとに、特定の回路(たとえば、215.
1)がこのビット対の「状態」を計算する。すなわち、
繰上り修正があるかどうかを判定し、繰上り修正がある
場合は、このビット・スライスによって生成された繰上
りcが1または0のいずれに設定されているかを判定す
る。図30は、本質的に2ウェイXOR216で構成さ
れている回路215.1の内部構造を示している。この
回路215.1は、p0およびc0という2つのビット
を生成し、その値は以下の規則によって決まる。p0=
1の場合は繰上り修正がないことを意味し、p0=0の
場合は繰上り修正があることを意味する。c0ビットは
繰上り修正がある場合のものなので、c0は繰上りと等
しい。設計上の制約に応じて、回路215.1は様々な
配線が可能であるので、各種のオプションが可能であ
る。より一般的には、ciは、図30に概略が示されて
いる適切なストラップ接続によりaiまたはbiと等し
くするか、電気的な制約が正当な理由を示していれば、
適切な論理ドット機能により(ai AND bi)ま
たは(ai OR bi)と同等にすることができる。
【0152】もう一度図29を参照して説明すると、回
路215.1は、ビットa0とb0を処理してp0=
(a0 XOR b0)およびc0=a0を生成する。
これらの信号は補助回路215.1から出力されるが、
さらに処理するために内部でも使用される。補助回路2
13の第2のレベルでは、もう1つの特定の回路が第1
のレベルのそれぞれの回路によって生成された2対の信
号を処理し、2ビット・スライスの結果「状態」を計算
する。たとえば、回路217.1は、回路215.1に
よって生成されたビットp0およびc0と、回路21
5.2によって生成されたビットp1およびc1とを処
理する。図31は、図示の通り適切に相互接続されたセ
レクタ218と2ウェイANDゲート219とで基本的
に構成される回路217.1の内部構造を示している。
回路217.1は、補助回路213および補助回路21
4の両方の内部で使用されるビットc1−0およびf1
−0を生成する。文字pおよびfは、前述の通り、p=
fバーを念頭に置いて繰上り修正信号の極性を示すため
に使用されている。このため、回路217.1はビット
pまたはfによって定義される入力信号の極性に左右さ
れるので、最適化を高める(反転ゲートを節約する)た
めに、fタイプではなくpタイプの入力ビットによって
励起される場合は、図31の回路の代わりに図32に示
す回路構造を使用することが好ましい。たとえば、図3
2の回路220.1を図29の補助回路213の第3の
レベルに使用して、ビットc3−0およびp3−0を生
成する。この回路は、図32に示すような相互接続を有
するセレクタ221と2ウェイNORゲート222とで
構成されている。2つのタイプのセレクタの動作は、基
本的には図33によって理解することができる。残りの
4つのビット対を処理する回路213の残り半分にも同
様の理論が適用されるので、回路220.2(回路22
0.1と同じタイプ)はビットc7−4およびp7−4
を生成する。最終的に、ビットf7−0およびc7−0
を生成する回路223によって示される最後の第4のレ
ベルまでビット処理が続行される。この2つのビットは
2ウェイANDゲート224に印加され、その出力ビッ
トはCgen信号を表す。したがって、Cgenは、1
次入力ビットのビット0〜7の内部繰上りになる。この
繰上り信号Cgenは、Cin=0と想定した場合の1
次ビットの内部繰上りを表す。前記1次ビットの処理は
並列に行われるので、遅延は非常に小さい。回路21
7.1と比較すると、回路223は同一構造を有する。
図29から明らかなように、補助回路213は、ビット
Cgenに加え、補助回路214で後続処理するために
前述のすべての中間ビットも供給する。
【0153】以下の表は、回路217.1および22
0.1の論理テーブルを要約したものである。
【0154】 回路217.1 p1=1 ===> c1−0=c0 すなわち、これが生成された場合は、ビット0から繰上りが発生する。 p1=0 ===> c1−0=c1 ビット1からの繰上り p1=1かつp0=1の場合 ===> f1−0=0(ビット1および0に よる伝播繰上り) 上記以外の場合 ===> f1−0=1(ビット1または0に よる繰上り)
【0155】 回路220.1 f3−2=0 ===> c3−0=c1−0 これが生成された場合は、ビット1−0から繰上りが発生する。 f3−2=1 ===> c3−0=c3−2 ビット3−2からの繰上り f3−2=1またはf1−0=1の場合 ===> p3−0=0 (ビット1または0に よる繰上り) 上記以外の場合 ===> p3−0=1 (ビット1および0に よる伝播繰上り)
【0156】次に、前記中間ビットおよび入力繰上りビ
ットCinによる合計信号Sのすべての合計ビットs0
〜s7の計算について、図34に関連して説明する。
【0157】ここで図34を参照して説明すると、ま
ず、補助回路214は、4つの同一の特定の回路22
5.1〜225.4を含んでいる。それぞれの回路(た
とえば、225.1)は、2つの2ウェイXOR回路2
26および227と、1つのセレクタ228とで構成さ
れている。たとえば、回路225.1に関して説明する
と、Cinビットはセレクタ228の第1の入力端子に
印加され、そのセレクタの残りの入力はc0ビットを受
け取る。コマンド入力(Cmd)側でセレクタ228を
制御するビットはビットp0である。セレクタ228に
よって生成されるビットとp1ビットはXOR226に
印加され、ビットc0とCinはXOR227に印加さ
れる。XOR回路226および227によって出力され
るビットは、それぞれ合計ビットs1およびs0であ
る。ビットc2〜c6およびビットp2〜p7に関する
限り、回路225.2〜225.4にも同じ理論が適用
されるが、回路225.2〜225.4では、Cinが
XOR227の前記第1の入力端子に直接印加されるわ
けではない。回路225.2のXOR227に印加され
るビットは、セレクタ229.1に印加される制御ビッ
トf1−0の値に応じて、ビットc1−0またはビット
Cinのいずれかになる。同様の構造がセレクタ22
9.2にも適用され、このセレクタではビットp3−0
がビットc3−0またはビットCinのいずれかを選択
する。回路229.3では、状況がさらに多少複雑にな
る。セレクタ229.3に印加される制御ビットは、2
ウェイNANDゲート230で完成する(p5−4 N
AND p3−0)に対応するf5−0になる。この制
御ビットf5−0は、ビットCinあるいはビットf5
−4の制御下でセレクタ231で行われるビットc5−
4またはc3−0の選択によって得られるビットc5−
0のいずれかを選択する。最終的に、独立セレクタ23
2が繰上り出力ビットCoutを生成するが、これはビ
ットp7−0の制御下でのビットCinまたはビットc
7−0のいずれかになる。図34に示す構造から明らか
なように、回路225.1〜225.3は、前述のよう
に回路225.1によって生成される合計ビット対s0
s1に加え、合計ビット対s2 s3、s4 s5、
s6 s7をそれぞれ出力する。
【0158】それぞれ図29および図34に示す補助回
路213および214の実施態様では、重大な遅延を2
つの部分に分割することができる。補助回路213は前
記中間信号を生成するために4つのステージを必要とす
るが、信号Cgenを生成するには5つのステージが必
要である。また、補助回路214は4つのステージを必
要とする。しかし、応用例に応じて、補助回路213お
よび214の基本回路の数の削減が可能であるが、それ
にはステージ数と全体的な遅延の増加が必要になる。
【0159】比較回路とIF回路(300/350) 比較回路300は、計算された距離信号DとJ信号との
比較を実行するために各ニューロン回路11に実現され
ている。J信号は図12に示すIF回路350によって
供給される。図12から明らかなように、J信号は、D
IST−BUS、OR−BUS、またはMinIF/M
axIF−BUSのいずれかに現れる信号またはAIF
値を保持しているAIFレジスタ352の内容である。
図35は、ZISCチップ10の好ましい実施態様によ
る完全並列比較回路300の詳細構造を示している。こ
こで図35を参照して説明すると、比較回路300は、
第1の組の入力端子上で距離評価回路200によって生
成された距離D信号の14個の1次ビットd0〜d13
を受け取る。比較回路は、もう1組の入力端子上に印加
されるIF回路350からのJ信号の14個の1次ビッ
トj0〜j13をさらに受け取る。本質的に比較回路3
00は、2つの信号LT(未満)およびLTE(以下)
を生成し、次にこれらの信号が識別回路400に印加さ
れる。比較回路300で行われるD信号とJ信号との比
較の一般原理は、(1)Dが厳密にJ未満である(これ
はLT信号の役割である)かどうかと、(2)DがJ以
下である(これはLTE信号の役割である)かどうかを
判定することである。
【0160】認識フェーズ中、信号JはAIFレジスタ
352に格納されている値を表す。計算された距離Dが
このAIF値と比較され、D<AIFかどうかを判定す
る。これに対して、学習フェーズでは信号JはMinI
Fになる。この場合、計算された距離DがMinIFと
比較され、D<=MinIFかどうかを判定する。以下
の表Iは、それぞれのモードでのLT信号およびLTE
信号の値に応じて到達しうる、所定のニューロン回路1
1に関する結論を示している。
【0161】 表I 認識モードの場合: LT 結論 0 発動なし(D>=AIF) 1 発動 (D<AIF) 学習モードの場合: LTE 結論 0 縮退なし (D>MinIF) 1 縮退の可能性あり(D<=MinIF)
【0162】そのために信号Jと信号Dのそれぞれの対
応するビット同士の比較が行われる。信号の並列処理を
可能にする図35に示す樹枝状アーキテクチャにより、
比較が非常に高速で実行される。スライスを形成する1
次ビットの各対(たとえば、d0とj0)ごとに、特定
の回路(たとえば、301.1)がこのビット対の「状
態」を計算する。すなわち、2つのビットが等しいかど
うかを判定する。構造上、回路301.1は、本質的に
2ウェイXOR216で構成される図30の回路21
5.1と同様であるが、所望のXORNOT(XOR
N)機能を実行するためにその出力側にさらに反転ゲー
トを必要とする。この回路301.1は、p0およびc
0という2つのビットを生成し、そのビットの値は以下
の規則によって決まる。すなわち、p0=1の場合はビ
ットd0とj0とが等しいことを意味し、p0=0の場
合は前記の2つのビットが異なることを意味する。図3
5から明らかなように、c0ビットはd0と等しくな
る。設計上の制約に応じて、回路301.1は様々な配
線が可能である。回路301.1はビットd0とj0か
らなる第1のビット対を処理してビットp0とc0を生
成する。同様の回路301.2〜301.14は、それ
ぞれのビット対p1とc1〜p13とc13を生成する
ために残りのビット対、すなわち、d1とj1〜d13
とj13を処理する。
【0163】回路300の第2のレベルでは、もう1つ
の特定の回路が第1のレベルの回路のそれぞれのスライ
スによって生成された2つのビット対を処理し、2ビッ
ト・スライスの結果を計算する。たとえば、回路30
2.1は回路301.1によって生成されたビットp
0、c0と、回路301.2によって生成されたビット
p1、c1とを処理する。次に、回路302.1はc1
−0とf1−0とのビット対を生成する。回路302.
1は、図示の通り適切に相互接続されたセレクタ218
と2ウェイANDゲート219とで基本的に構成され
る、図31に示す回路217.1と同一の構造を有す
る。回路302.2〜302.7にも同じ構造が適用さ
れる。回路303.1は、文字pではなく文字fによっ
て定義される入力ビットの極性に左右されるので、最適
化を高めるため、すなわち、反転ゲートを節約するため
に、図31に示す回路の代わりに図32に示す回路構造
を使用することが好ましい。このため、回路303.1
は、ビットc3−0およびp3−0を生成するために図
32の回路220.1と同一であることが好ましい。こ
の回路は、図32に示すような相互接続を有するセレク
タ221と2ウェイNORゲート222とで構成されて
いる。同様の回路303.2および303.3は、それ
ぞれのビット対p7−4、c7−4およびp11−8、
c11−8を生成する。回路303.4だけは異なる構
造を有し、ビットp13−12を生成するためにインバ
ータのみで構成されている。
【0164】それぞれビット対f7−0、c7−0およ
びf13−8、c13−8を生成する回路304.1お
よび304.2によって示される第4のレベルでビット
信号処理が続行される。これらの2つの回路は、図31
の回路217.1と同じ構造を有する。最終的にこれら
のビット対は、ビットp13−0およびc13−0を生
成する回路305に印加される。回路305は、図32
の回路220.1と比較すると同一構造を有する。これ
らの2つのビットは、その出力ビットがLT信号を表す
2ウェイNORゲート307で構成される回路306に
印加される。ビットp13−0とLTは、信号LTEを
生成するために2ウェイORゲート308に印加され
る。前記1次ビットの処理は比較回路300で並列に行
われるので、全体的な遅延は非常に小さい。その結果、
ビット数の点で容易に拡張可能(遅延の増加は最小)
で、使用するデバイス数が少ない、高速かつ稠密の完全
並列比較回路が説明される。
【0165】識別回路(400) 次に図36を参照すると、同図には、ニューロン回路1
1の識別回路400の詳細構造が示されている。14ビ
ットのCAT−BUS(マイクロコントローラ/ユーザ
22によって供給される入力カテゴリCAT信号を伝送
する)およびOR−BUS(グローバル・カテゴリC*
信号を伝送する)は、その出力が比較器402の第1の
入力に接続されている2ウェイ・マルチプレクサ401
に印加される。したがって、マルチプレクサ401は、
動作モードに応じて、入力カテゴリ信号CATまたはグ
ローバル・カテゴリ信号C*のいずれかを比較器402
の前記第1の入力に転送する。ただし、マルチプレクサ
401は、ベース・ニューラル・ネットワーク11
(A)のすべてのニューロン回路用のメイン・マルチプ
レクサ回路で置き換えることができることに留意された
い。この場合、OR−BUSは不要になり、CAT−B
USがCATまたはC*データのいずれかを伝送するこ
とになるはずである。Cat−BUSは、比較器402
の第2の入力に印加される。比較器402は、単一の1
4ウェイORゲートを励起する14個の2ウェイXOR
ゲートで従来通り構成されている。次に、比較器402
の出力は、そのもう一方の入力が学習信号Lを受け取る
2ウェイXORゲート403の第1の入力に印加され
る。信号LはIADD/CTL−BUSを介して伝送さ
れるが、実際はマイクロコントローラ/ユーザ22の制
御下で状況/制御論理回路で生成される信号から直接得
られる。L信号は、学習フェーズ中にアクティブに設定
され(L=1)、認識フェーズ中に非活動状態に設定さ
れる(L=0)。しかし、ニューロン回路が学習フェー
ズ中に入力ベクトルを格納しなければならないという最
終決定は、識別回路400に関連し、その点に関するデ
イジー・チェーン回路600の役割は、以下に詳述する
ように学習可能ニューロン回路の選択に限定される。X
ORゲート403によって生成される1ビット信号はK
信号と呼ばれる。LT信号とCO信号は2ウェイAND
ゲート404に印加される。デイジー・チェーン回路6
00で生成されるCO信号は、そのニューロン回路がコ
ミットされるとただちにアクティブに設定される(CO
=1)。ANDゲート404から生成される信号は、
【数12】 以降、Lバーと記載する。によって制御される任意選択
の1ビットのFレジスタ405に格納されることが好ま
しい。レジスタ405によって生成される信号はローカ
ル発動結果信号Fである。信号Fは、ニューロン回路1
1が認識モードで発動したときにアクティブに設定され
る(F=1)。LTE信号およびCO信号と、比較器4
02によって出力される信号は、3ウェイANDゲート
406に印加される。ANDゲート406によって生成
される信号は、信号Lの制御下で1ビットのDEGレジ
スタ407に格納され、DEG信号として識別回路40
0から出力される。信号DEGはニューロン回路11の
状況信号である。ニューロン回路11が縮退する(この
場合は、AIFレジスタ352にMinIFがロードさ
れる)と、レジスタ407は「1」を保持する。レジス
タ407から出力される信号と、ローカル結果発動信号
Fは、DEGOUTローカル結果信号を生成するために
2ウェイANDゲート408に印加される。したがっ
て、DEGOUT信号は、縮退したニューロン回路が認
識フェーズ中に発動するとアクティブに設定される。最
後に、信号FおよびKは、ローカル結果信号UNC/F
IRE.OK信号を生成するために2ウェイANDゲー
ト409に印加される。この信号は、動作モードに応じ
て2通りの意味を持つ。学習モードでは、学習可能ニュ
ーロン回路の拘束プロセス中に、UNC/FIRE.O
K信号がアクティブに設定される(UNC/FIRE.
OK=1)と、格納済み入力ベクトルはプロトタイプ・
ベクトルとして「凍結」されない。入力ベクトルはニュ
ーラル・ネットワークの少なくとも1つのニューロン回
路によって認識されているので、学習可能ニューロン回
路は拘束されない。認識モードでは、異なるカテゴリを
有する2つのニューロン回路が発動した場合、すなわ
ち、入力ベクトルが識別されていない場合に、UNC/
FIRE.OK信号がアクティブに設定される。要約す
ると、識別回路400は、3つのローカル結果信号F、
DEGOUT、およびUNC/FIRE.OK(これら
は入力ベクトルの提示に対する所定のニューロン回路の
ローカル応答を表す)と、1つの状況信号DEGを生成
する。さらに、これらの信号の一部は制御信号として使
用される。
【0166】実際には、認識モードでの比較器402の
機能は、所定のニューロン回路11のカテゴリ・レジス
タ450に格納されているローカル・カテゴリ信号C
を、OR−BUS上で提示されるグローバル・カテゴリ
信号C*と比較することである。C信号とC*信号との間
に違いがあれば、比較器402では一致が発生しない。
一貫性を保つため、この場合、論理1が生成されると想
定する。このモードでは信号Lが非活動状態(L=0)
であるので、したがって、XORゲート403から出力
される信号Kは1に設定され、信号Fがアクティブ(F
=1)であれば、信号UNC/FIRE.OKは1にな
る。これは、異なるカテゴリを有する少なくとも2つの
ニューロン回路が発動したことを意味する。少なくとも
1つのUNC/FIRE.OK信号が1に設定される
と、その結果、すべてのローカル結果信号のOR演算の
結果であるグローバル結果信号UNC/FIRE.OK
*が1に設定される。ベース・ニューラル・ネットワー
ク11(A)レベルでは、これは、異なるカテゴリで発
動した少なくとも2つのコミット済みニューロン回路に
よって入力ベクトルが認識されたために、入力ベクトル
が識別されていないことを意味する。これに対して、発
動したすべてのコミット済みニューロン回路がそれぞれ
グローバル・カテゴリC*と同一のローカル・カテゴリ
Cを有する場合、それから生成されるすべてのローカル
結果信号UNC/FIRE.OKは0に設定されるの
で、グローバル結果信号UNC/FIRE.OK*は0
になる。後者の場合、入力ベクトルは識別され、そのカ
テゴリはC*になる。
【0167】学習フェーズでは、ニューロン回路が縮退
状態になるかどうかを判定することが重要である。使用
中のニューロン回路の場合、CAT−BUS上でマイク
ロコントローラ/ユーザ22によって供給される入力カ
テゴリCATが比較器402でローカル・カテゴリCと
比較される。CがCATと等しい場合は、UNC/FI
RE.OK=1になり、信号LTEは使用されず、この
ニューロン回路が正しいカテゴリで入力ベクトルを認識
しているので縮小プロセスは行われない。CとCATが
異なる場合は、距離DとMinIF値との比較の結果、
すなわち、信号LTE値に応じて、2つの場合が考えら
れる。信号LTE=1(すなわち、D<=MinIF)
の場合は、ニューロン回路11は縮退状態であると宣言
され、ANDゲート406によって生成される論理1が
DEGレジスタ407に格納され、MinIF値がAI
Fレジスタ352に格納される。信号LTE=0(すな
わち、D>MinIF)の場合は、DEGレジスタ40
7の内容は修正されず、ANDゲート406によって出
力される信号がゼロになる。さらに、ニューラル・ネッ
トワーク・レベルでは、比較器402は、入力カテゴリ
CATが少なくとも1つのニューロン回路によって認識
されているかどうかを判定する役割を持つ。ニューロン
回路11が縮退したかどうかを判定することは、縮小プ
ロセスの重要なステップである。学習フェーズ(信号L
=1)では、XORゲート403から出力されるK信号
が1に設定され(入力カテゴリCATがローカル・カテ
ゴリCと同じなので、比較器402で一致が発生するた
め)、しかも信号F=1であれば、信号UNC/FIR
E.OKが1に設定される。ANDゲート409によっ
て生成されるUNC/FIRE.OK信号は、対象とな
るニューロン回路が入力ベクトルを正しく認識したの
で、入力ベクトルがベース・ニューラル・ネットワーク
11(A)レベルで正しく認識されたことを示すという
意味を持つ。この場合、学習可能ニューロン回路は空き
状態のままになり、格納済み入力ベクトルはRAMメモ
リ251で新しいプロトタイプ・ベクトルとして「凍
結」されない。ニューラル・ネットワークが新たな学習
可能ニューロン回路を拘束する必要はない。
【0168】識別回路400におけるグローバル信号C
*とローカル信号Cとの比較の結果であるUNC/FI
RE.OK信号は、グローバル結果信号UNC/FIR
E.OK*とは異なり、認識フェーズと学習フェーズの
いずれでも、ローカルで使用されないことに留意された
い。要約すると、認識モードでの信号UNC/FIR
E.OK*=1は、2通りのカテゴリを有する少なくと
も2つのニューロン回路が入力ベクトルを認識したこと
を意味する。信号UNC/FIRE.OK*=0は、単
一カテゴリを有する少なくとも1つのニューロン回路に
よって入力ベクトルが認識されたか、または入力ベクト
ルがまったく認識されていないことを意味する。学習フ
ェーズでは、グローバル結果信号UNC/FIRE.O
*(それから得られるST信号を介する)は、前の認
識フェーズ中に完了した事前装填ステップ中にRAMメ
モリ251に格納されている入力ベクトルを、学習可能
ニューロン回路に強制的に凍結させるかどうかを判定す
る役割を持つ。
【0169】Dmin決定回路(500) 図13を参照して前述したように、Dmin決定回路5
00は、マルチプレクサ501と、探索/分類回路50
2と、論理回路503とで構成されている。図37は、
探索/分類回路502に印加されるSELECTバー信
号を生成する論理回路503の内部構造の概略を示して
いる。実際には論理回路503は、図13から明らかな
ように、F信号、CO信号、およびRS信号を受け取る
だけでなく、NORMAL(NM)信号、NEARES
T NEIGHBOR(NNM)信号、およびSAVE
(SM)信号という基本ZISCチップ10の各種動作
モード/サブモードに関連する3つの制御信号も受け取
る。この3つの制御信号は、状況/制御論理回路18に
よって生成され、IADD/CTL−BUSを介して論
理回路503に伝送される。論理回路503は、1つの
3ウェイANDゲート503.1と、2つの2ウェイA
NDゲート503.2および503.3と、1つの3ウ
ェイNORゲート503.4とを含んでいる。ANDゲ
ート503.1にはCO、F、およびNMの各信号が印
加される。ANDゲート503.2にはCOおよびNN
Mの各信号が印加される。また、ANDゲート503.
3にはRSおよびSMの各信号が印加される。前記3つ
のANDゲートの出力は、SELECTバー信号を生成
するNORゲート503.4のそれぞれの入力に印加さ
れる。次に、このSELECTバー信号は、図42を参
照して後述するように禁止信号として探索/分類回路5
02に印加される。
【0170】本質的に、探索/分類回路502の主な役
割は、ニューラル・ネットワークのニューロン回路によ
って計算されたすべての距離のうちの最小距離Dmin
を求める探索に関与し、さらに残りの距離の分類に関与
することである(また、データのカテゴリ・タイプを処
理できるようにもなっている)。このため、探索と分類
のプロセスをニューラル・ネットワークのすべてのニュ
ーロン回路がまとめて実行することに留意することが重
要である。より一般的には、探索/分類回路502の役
割は、まず、複数のパラメータからなるグループから最
小値を検出し、次に、残りの値を増加順に分類すること
である。しかし、それが最大値を検出し、残りの値を減
少順に分類できるようになっていることは、当業者にと
っては当然のことと思われる。したがって、探索および
分類プロセスは、最短時間でしかもできる限り単純な回
路で実行しなければならない。このような基準は本発明
の探索/分類回路502によって満足される。最小距離
Dminを決定するための探索プロセスと関連回路につ
いてのみ、以下に説明する。ただし、最大距離を決定す
るための探索プロセスの場合も、基本的には同じ規則に
従い、よく似た回路を使用するはずである。
【0171】本発明の探索プロセスの基礎にあるアルゴ
リズムについて、図38の流れ図504を参照して簡単
に説明する。4つのニューロン回路11−1〜11−4
があり、それぞれが入力ベクトルとその格納済みプロト
タイプ・ベクトルとのそれぞれの距離D1、D2、D
3、およびD4を計算したと想定する。提起される問題
は、この4つの距離のうちの最小値Dminを決定する
ことである。まず第一に、距離を列に配置し、対応する
ビットを行に配置したマトリックスを構築する。ここで
単純な例を示すことにする。D1=0110、D2=1
001、D3=1101、およびD4=0101のよう
にそれぞれが4ビットで符号化された2進ワードで構成
されている距離D1、D2、D3、およびD4のうちの
最小値を検出しなければならないと想定する。以下の表
IIは構築されたマトリックスを示すもので、1行目L1
は重い重みを持つビットすなわちMSBを表し、LSB
を表すL4まで以下同様になっている。より一般的に
は、dkiという表記は、k行目かつi列目のビットの
値を表す。したがって、この例では、変数k(k=1〜
4)は距離を表す2進ワード内でのそのビットのランク
であり、変数i(i=1〜4)は対象となるニューロン
回路のランクである。表IIから明らかなように、各行に
は2進ワードが1つずつ対応している(たとえば、それ
ぞれの距離ワードのMSBによって形成されるL1は、
L1=0110のようになる)。
【0172】 表II D1 D2 D3 D4 L1 d11=0 d12=1 d13=1 d14=0 (MSB) L2 d21=1 d22=0 d23=1 d24=1 L3 d31=1 d32=0 d33=0 d34=0 L4 d41=0 d42=1 d43=1 d44=1 (LSB)
【0173】次に図38について説明すると、同図はア
ルゴリズム504の流れ図を示すものである。「開始」
というボックスで探索プロセスが開始された後、ボック
ス505で1行目L1のビットの分析に移行し、ボック
ス506で行われるテスト中にそこに少なくとも1つの
「0」があるかどうかが判定される。1行目L1は2つ
の0を含んでいるので、ボックス507により、「1」
を含む距離、すなわち、D2とD3が除外され、これら
は後続の処理ステップに関与しなくなる。距離が除外さ
れることを示すため、以下の2行に概略を示すように、
対応する列に「×」が表示される。
【0174】上記の状況行(SL)から明らかなよう
に、距離D2およびD3に対応する列が除外される。次
に、ボックス508で現在行(L1)が検査され、それ
が最後の行かどうかが判定される。この例では、行L1
は最後の行ではないので処理が続行される。ステップ2
として、ボックス509により、次の行L2が検査され
る。距離D2およびD3は除外されているので、ボック
ス506で行われるテスト中に列D1およびD4につい
てのみ、そこに「0」があるかどうかもう一度探索が行
われる。0が検出されないので、このステップではそれ
以上列の除外が行われず、ボックス507が迂回され
る。行L2は0を含まないので、以下に示すようにステ
ップ2では前回の状況行SLの変更を行わない。
【0175】行L3について処理が続行される。このス
テップ3では、ビットd34の距離D4に新たな0の存
在が検出されるので、以下に示すように距離D1が除外
される。
【0176】最後に、ステップ4ではボックス506で
行L4が検査され、0が検出されないので、ボックス5
07が迂回され、ステップ3で検出した状況が確認され
る。距離D1、D2、D3は除外されているので、ニュ
ーロン回路11−4によって検出された距離D4で最小
値が表される。
【0177】行L4は最後の行なので、ボックス508
で行われるテスト後に探索プロセスは「終了」というボ
ックスで終了する。最後に、最小距離がDmin=D4
=0101と示される。
【0178】図39は、本発明による探索/分類回路5
02の基礎である基本ベース・ユニット(全体を参照番
号510で示す)の概略構造を示している。図39から
明らかなように、参照番号510−kiは、ニューロン
回路11−iの評価回路200によって事前に計算され
た距離信号Diのビットdki(行k、列i)を処理す
る基本ベース・ユニットを示している(ただし、k=1
〜p、i=1〜N)。基本的にユニット510−ki
は、2つのサブユニット511−kiと512−kiと
で構成されている。ユニット510−kiには、入力ビ
ット信号dki、除外入力信号EXCLINki、およ
びフィードバック信号ORkという3つの入力信号が印
加され、ローカル出力信号NOUTk−iおよび除外出
力信号EXCLOUTkiという2つの出力信号がそこ
から出力される。EXCLINki信号は、その値に応
じて、探索プロセス、すなわち、Dminの決定用とし
てユニット510−kiを選択するかまたは禁止するた
めに使用される。たとえば、EXCLINkiが非活動
状態(EXCLINki=0)に設定されると、ユニッ
ト510−kiは除外されず、一方、EXCLINki
がアクティブ(EXCLINki=1)に設定される
と、ユニット511−kiは動作不能になり、NOUT
k−iが非活動状態(OR回路12に基づくZISCチ
ップ10の本発明の実施態様では、NOUTk−i=
0)に設定される。基本的にサブユニット511−ki
の機能は、そのサブユニットが禁止されていないときに
ビットdkiが「0」になっているかどうかを探索する
ことである。そのために、ビット信号dkiとEXCL
INki信号との間で特定の論理機能が実行され、出力
信号NOUTk−iを生成する。これに対して、信号E
XCLOUTkiは、信号EXCLINki、dki、
およびORkに対する所定の論理機能である。したがっ
て、ユニット512−kiの役割は、その値に応じて前
記ユニットを禁止または許可するために、ビットd(k
+1)iを処理する次の行に関する後続ユニット510
−(k+1)i用の適切な入力信号を生成することであ
る。すなわち、サブユニット512−kiは、次の行が
処理されるときに距離Diが除外されるかどうかを判定
する。ゲート信号としてここで介入する信号ORkは、
行kによって生成されたすべてのNOUTk−i信号の
OR演算の結果である(ORk=NOUTk−1 OR
・・・OR NOUTk−N)。
【0179】図40に示す好ましい実施例では、サブユ
ニット511−kiは、NOUTk−i=dki NO
R EXCLINkiを実行するNORゲート513で
構成されている。除外機能に関する重要な役割を果たす
サブユニット512−kiは、ANDゲート514とO
Rゲート515とで構成され、これらはAND−OR機
能を実行するために相互接続されているので、EXCL
OUTki=EXCLINki OR (dki AN
D ORk)になる。たとえば、信号EXCLINki
=1の場合は、dkiの値がOR回路12に対して中立
かどうかにかかわらず、信号NOUTk−iが強制的に
ゼロになる。ここで、信号EXCLINki=0(除外
なし)の場合は、信号NOUTk−iが
【数13】 以降、dkiバーと記載する。になる。dki=0の場
合は、信号NOUTk−i=1になるので、後者の値
は、この位置でゼロが検出されたことを表す。その結
果、信号ORkは1になり、dki=0かつ信号EXC
LINki=0なので、信号EXCLOUTki=0が
得られる。これは、次のユニットが禁止されないことを
意味する。これに対して、dki=1の場合は、依然と
して信号EXCLINkiが0になるので、信号NOU
Tk−iは0に設定される。ここで、この行kに関して
除外されない残りの列から得られる結果に応じて、2通
りの場合を考察しなければならない。すべての入力ビッ
ト信号が1になる場合、この行kのローカル結果信号
(すべてのiという値の場合)はいずれもゼロになり、
信号ORk=0になり、最終的に信号EXCLOUTk
i=0(除外なし)になる。同じく行kの場合に少なく
とも1つの入力ビットが0になると、対応するローカル
結果信号NOUTk−iが1になるので、信号ORk=
1になり、最終的にEXCLOUTki=1になり、そ
れにより列1が除外される。
【0180】次に、グローバル出力信号OUT*のビッ
トOUT*1〜OUT*4を生成するためにOR回路12
の適切な専用OR補助回路を介して4つの探索/分類回
路502−1〜502−4(4通りのニューロン回路1
1−1〜11−4に属す)がどのように結合されている
かを示す図41について考察する。以下の説明は、図8
のZISCチップ10の実施態様とともに表IIの例を参
照して行う。OR回路12のこのOR補助回路は、ロー
カル出力NOUT信号を処理するもので、探索/分類回
路502の動作を理解しやすくするために図41では参
照番号12.1が付けられている。簡略化のため、図4
1に示す探索/分類回路502は、探索機能を実行する
のに必要な回路に任意に制限されている。図41に示さ
れ、参照番号516が付けられている回路は、集合回路
517および専用OR補助回路12.1を形成するため
に図41に隣接して示されている4つの探索/分類回路
502−1〜502−4を含んでいる。したがって、集
合回路517は、マトリックスを形成するために配置さ
れている16個の基本ベース・ユニット510−11〜
510−44で構成されている。これら4つの探索/分
類回路のそれぞれは別々のニューロン回路内に配置さ
れ、例示のために仮に組み立てられたにすぎないことに
留意されたい。同じく図41から明らかなように、ニュ
ーロン回路11の探索/分類回路502は、1列(この
例では4列)に配置された適切な数のユニット510を
積み重ねるかまたはカスケード化することによって構築
される。ただし、回路516の各ノードの論理レベル
は、Dmin決定(探索)プロセスの終了時に表IIに示
す例と一致するように図41に示されていることに留意
されたい。探索/分類回路はすべて同一であり、同じ構
造を有する。次に、集合回路517について詳述する。
1行目のユニット510−11〜510−14には、そ
れぞれのMSBビットd11〜d14が関係する。以下
の説明では、信号EXCLIN1iおよびEXCLOU
T4iをそれぞれEXCLIN−iおよびEXCLOU
T−iと呼ぶ。他の列についても、同様の理論が適用さ
れる。ユニット510−11〜510−14にはそれぞ
れ除外信号EXCLIN−1〜EXCLIN−4が印加
される。次に、前記ユニットは、ORゲート12.1.
1に印加されるNOUT1−1〜NOUT1−4信号を
生成し、ORゲート12.1.1は出力信号OUT*
を供給する。信号OUT*1は、OR1信号として1行
目のユニット510−11〜510−14のそれぞれに
再注入される。それぞれのORゲート12.1.2〜1
2.1.4によるOUT*2〜OUT*4信号の生成につ
いても、同じ理論が適用されるが、これらのORゲート
も専用OR補助回路12.1の一部である。ZISCチ
ップ10の本発明の実施態様の専用OR補助回路12.
1は、実際には、ORゲート12.1.1〜12.1.
Nを含んでいる。ユニット510−11〜510−14
は、2行目のユニット510−21〜510−24のそ
れぞれのEXCLIN入力端子に印加される中間信号E
XCLOUT11〜EXCLOUT14も生成する。4
行目までの他の行の集合回路517の構造についても、
同じ理論が適用される。4行目のユニット510−41
〜510−44は、後で使用される最終信号EXCLO
UT41(またはEXCLOUT−1)〜EXCLOU
T44(またはEXCLOUT−4)を生成する。ただ
し、技術的な制約のため、図41に示すORゲートの代
わりにNOR論理ゲートも選択可能であることに留意さ
れたい。この場合、ORkビット信号の正しい極性を取
り出すために各NOUTk−i信号ごとにインバータが
1つずつ必要になるはずである。いずれにしても、OR
k=OUT*k=NOUTk−1 OR・・・OR N
OUTk−Nという論理関係を満たす必要がある。
【0181】次に、図41の回路の動作について説明す
る。EXCLIN―1〜EXCLIN−4信号は、すべ
て非禁止または選択論理レベルになっている。たとえ
ば、前述の例と一致するようにすべてゼロに設定され、
すなわち、EXCLIN−1=・・・=EXCLIN−
4=0になる。その後、探索プロセスが開始されると、
表IIに示すそれぞれの値に従って、ただちにビットd1
1〜d44がユニット510−11〜510−44のそ
れぞれの入力に印加される。図41から明らかなよう
に、2進ワードL1(L1=0110)を形成するすべ
てのMSB、すなわち、d11、d12、d13、およ
びd14が1行目のそれぞれのユニット510−11〜
510−14に印加される。前述のユニット510の内
部構造によれば、それから出力される2進ワードはNO
UT1−1 NOUT1−2 NOUT1−3 NOU
T1−4=1001、すなわち、
【数14】 以降、L1バーと記載する。になる。信号OUT*のO
UT*1という1ビット目を生成するためにORゲート
12.1.1でこれらのNOUT信号のORが取られ
る。1行目で少なくとも1つのゼロが識別されているの
で、信号OUT*1=1になる。次に、OUT*1信号は
フィードバック・ループを介してユニット510−11
〜510−14のそれぞれにフィードバック信号として
供給される。上記の説明との一貫性を保つため、このフ
ィードバック信号はOR1と呼ばれる。次に、1行目の
各ユニットのサブユニット512が対応するEXCLO
UT信号の値を決定する。この例では、EXCLOUT
11=0、EXCLOUT12=1、EXCLOUT1
3=1、およびEXCLOUT14=0によって結果が
得られる。これらの信号は2行目のそれぞれのユニッ
ト、すなわち、510−21〜510―24に印加され
るが、ユニット510−22と510−23のそれぞれ
の列が除外されているので、この2つのユニットのみ禁
止される。EXCLIN信号が1になると、ただちに対
応するユニット510が禁止され、次にこのユニット5
10が1と等しいEXCLOUT信号を生成することに
よって同じ列に関連する次行の対応するユニット510
を禁止する。他の行についても同様の理論が適用され
る。4行目である最後の行に達するまで、1行ずつ上記
の動作が続行される。信号OUT*3およびd31の値
のためにこの列が禁止されていることを示すために、ユ
ニット510−41に印加されるEXCLIN41信号
が1になる。4行目のLSBを処理しても、現行状況の
修正は一切行われない。探索プロセスの最終結果は、O
Rゲート12.1.1〜12.1.4によって出力され
るが、信号OUT*=OUT*1 OUT*2 OUT*
OUT*4=1010によって示される。信号OUT*
はニューロン回路11−4によって計算された距離D4
の補数になる。EXCLOUT−1〜EXCLOUT−
3信号はいずれも「1」になり、EXCLOUT−4の
み「0」になることにも留意されたい。要約すると、最
小距離Dmin=D4が決定された(実際は、図41に
示す実施態様によってその補数値
【数15】 以降、Dminバーと記載する。が生成されている)だ
けでなく、そのニューロン回路がその値を保持すること
になる(この場合、ニューロン回路11−4はそのEX
CLOUT信号がゼロになる唯一のニューロン回路であ
る)。OUT*信号の全体は回路516の出力側で得ら
れる(これは、4つのニューロン回路11−1〜11−
4の探索/分類回路によって形成された集合回路517
とOR補助回路12.1とが直列に接続されていること
による)。この理論をそれぞれがpビットを処理するN
個の探索/分類回路502−1〜502−Nのアセンブ
リまで一般化し、N通りの距離D1、・・・、DNのう
ちの最小距離Dminを決定することができる集合回路
517を実現してもよい。ZISCチップ10の本発明
の実施態様では、それぞれの距離がp=14ビットで符
号化されている。この場合、OR補助回路12.1は、
信号OUT*(ビット信号OUT*1〜OUT*pで構成
される)を生成するためにp個のN入力ORゲート1
2.1.1〜12.1.pで構成されている。OR信号
は、p個のビット信号OR1〜ORpで構成されるが、
これらのビット信号はOUT*1〜OUT*pビット信号
から直接得られる。例示のため、最小距離Dminを求
める探索プロセスのみについて上記の説明を示してきた
が、本発明の革新的な探索/分類回路502は実際は探
索機能と分類機能の両方を有するものとして通常は設計
されていることに留意されたい。
【0182】実際、図41の回路は、必要であれば残り
の距離を増加順に格納するように分類機能を追加するた
めの小さい回路を追加するだけで大幅に改善することが
できる。両方の機能を有する探索/分類回路502につ
いては、図42に参照番号518で示す。図42から明
らかなように、集合回路517およびOR補助回路1
2.1(図41を参照して前述したもの)に関するもの
として、この追加回路は519および520という2つ
の回路を含んでいる。たとえば、距離D1および探索/
分類回路502−1に関する限り、専用回路519は、
2ウェイORゲート521−1と、2ウェイORゲート
522−1と、ラッチ523−1などの記憶素子とを含
んでいる。ORゲート522−1とラッチ523−1は
直列に接続され、ORゲートの出力がラッチの入力を励
起する。ラッチ523−1の出力は、フィードバック・
ループ内でORゲート522−1の一方の入力に接続さ
れている。ORゲート522−1のもう一方の入力はX
OR−1信号を受け取る。この信号の特徴については後
述する。ラッチ523−1は、標準通り適切なCLOC
K信号とRESET信号を受け取る。ラッチ523−1
の出力は、EXCLIN'−1信号を印加するためにO
Rゲート521−1の第1の入力にも接続されている。
ORゲート521−1のもう一方の入力は
【数16】 以降、SELECT−1バーと記載する。信号を受け取
る。ORゲート521−1から出力される信号はEXC
LIN−1信号として探索/分類回路502−1のユニ
ット510−11に印加される。同じく距離D1列につ
いて説明すると、回路520は、EXCLOUT−1信
号を生成する探索/分類回路502−1の出力に接続さ
れるインバータ524−1を含んでいる。このインバー
タ524−1の役割は、XOR−1という信号を生成す
るためにEXCLOUT−1信号の補数を取ることであ
る。XOR−1信号は、ORゲート522−1のもう一
方の入力に印加される。図42から明らかなように、回
路519および520は、これ以外にも列D2〜D4用
の2つの同一回路を含んでいる。実際には、回路519
および520は、距離D1〜DNに対応するN列分のN
個のこのような同一回路で構成されている。
【0183】図42の回路の動作は、同じく表IIの例に
対応して次のように理解することができる。初期設定時
にEXCLIN'−1〜EXCLIN'−4信号が000
0にリセットされる。これは、ラッチ523−1〜52
3−4のそれぞれに印加される特定のRESET制御信
号によって行われるので、4つの分類回路502−1〜
502−4のすべてが論理回路503(図37)によっ
て生成されるSELECT信号(SELECTバー=
0)によって禁止されていないと想定する。その結果、
信号EXCLIN−1〜EXCLIN−4はゼロ(除外
なし)になる。ニューロン回路11−4の分類回路50
2−4によって決定された距離D4に対応する最小距離
が図41に示すネット値で検出されるまで、探索プロセ
スが前述のように行われる。図41から明らかなよう
に、EXCLOUT−1〜EXCLOUT−4信号は2
進ワード1110で表される。回路520のインバータ
523−1〜523−4での反転後、対応するXOR−
1〜XOR−4信号が図42に示すように2進ワード0
001で示される。この「1」の位置は、最小距離がニ
ューロン回路11−4によって保持されていることを示
す。ここで、分類プロセスを詳細に考察する。XOR−
1〜XOR−4信号は、EXCLIN'−1〜EXCL
IN'−4信号(2進ワード0000に相当する)によ
ってORゲート522−1〜522−4でORが取ら
れ、ラッチ523−1〜523−4にそれぞれラッチさ
れる。最後に、EXCLIN−1〜EXCLIN−4の
新しい値が、集合回路517に印加される2進ワード0
001によって示される。ここでEXCLIN−1〜E
XCLIN−3信号は0になるので、対応する探索/分
類回路502−1〜502−3は分類プロセスの次のス
テップに関与できるようになる。距離D4が除外されて
いるので、探索/分類回路502−4だけは次の探索ス
テップに関与しない。回路518は、残りの3つの距離
D1、D2、またはD3のいずれが最小距離であるかを
判定するために探索プロセスを再開する。前述と同じプ
ロセスが行われる。これで、距離D1が探索済みの最小
距離であることが分かる。次に、回路518は探索プロ
セスを続行し、距離D1の列を除外する。探索プロセス
と分類プロセスは、距離D1を参照して前述のように行
われる。距離は、増加順、すなわち、この例ではD4、
D1、D2、D3の順に順次、OUT*−BUS上で得
られるようになる。最大距離を探索し、次に残りの距離
を減少順に分類できるようになっている回路にも、同じ
理論が適用されるはずである。基本的に、図42の回路
518でこの処理を行うには、当業者の技量の範囲内で
ユニット510の構造にわずかな変更を加えるだけでよ
いはずである。要約すると、これまで、図41および図
42の回路を参照して、探索/分類回路502(基本Z
ISCチップ10の各ニューロン回路11に探索/分類
回路が1つずつ配置されている)の探索機能と分類機能
について説明してきた。探索/分類回路502−1〜5
02−Nを組み立てることによって形成される集合回路
517は非常に高速な回路である。というのは、すべて
の距離信号D1〜DNのp=14ビットがすべて並列処
理されるので、シーケンサが不要であるからである。ニ
ューロン回路の数は回路518の全体的な遅延に影響せ
ず、専用OR補助回路12.1内の論理ゲートの入力の
数を変更するだけである。最後に、集合回路517は完
全にモジュール方式であるので、最小数のデバイスのみ
を必要とする。
【0184】デイジー・チェーン回路(600) 図43は、信号STによって制御される1ビットのDA
ISYレジスタ601周辺に構築されたニューロン回路
11のデイジー・チェーン回路600の詳細構造を示し
ている。ST信号は、ニューロン回路が使用中であるは
ずであると識別回路400によって確認されたときまた
は初期設定時の2通りの場合の学習フェーズ中にアクテ
ィブに設定される。したがって、ST信号は、UNC/
FIRE.OK*信号とL信号から直接得られる。DC
I信号は2ウェイANDゲート602の第1の入力に印
加され、そのゲートのもう一方の入力は
【数17】 以降、RESETバーと記載する。信号を受け取る。A
NDゲート602の出力はレジスタ601の入力に接続
されている。レジスタ601の出力は2ウェイORゲー
ト603の第1の入力に接続され、そのゲートのもう一
方の入力はALL信号を受け取る。DCO出力端子側で
ORゲート603から出力される信号はDCO信号であ
る。初期設定時にRESET信号はアクティブに設定さ
れ、すなわち、RESETバー=0になり、信号STが
アクティブに設定されるとただちにANDゲート602
によって出力されるこの「0」値がDAISYレジスタ
601にロードされ、その結果、ORゲート603(信
号ALL=0)を介してDCO信号がゼロに設定され
る。より一般的には、ANDゲート602の出力側のデ
ータをレジスタ601にロードする必要があるときに、
ST信号が活動化される。ALL信号が活動化される
(ALL=1)と、レジスタ601に格納されている2
進値にかかわらず、DCO信号がアクティブ(DCO=
1)に設定される。このALL信号は、ニューラル・ネ
ットワーク11(A)のテスト時に有益であることが分
かる。実際にテスト時には、ニューラル・ネットワーク
11(A)のすべてのニューロン回路が、例外なく、使
用中の場合と同様の挙動をする。通常の動作条件では、
ALL信号は「0」に設定され、RESETバー信号は
「1」に維持される。第1のニューロン回路11−1の
DCI入力端子は外部ワイヤを介してVHに接続されて
いる。ST信号、RESETバー信号、およびALL信
号は、ZISCチップ10のニューロン回路11−1〜
11−Nのすべてのデイジー・チェーン回路600に並
列に印加される。
【0185】次に、ZISCチップ10の第1のニュー
ロン回路について考察する。初期設定時、ZISCチッ
プ10のすべてのレジスタ601は、前述の通り初期設
定時に行われた一般リセット(RESETバー=0かつ
ST=1)の結果としてゼロを保持している。この初期
設定ステップ後、第1のニューロン回路11−1の入力
端子DCIはVHに結合されているので、信号DCI−
1はANDゲート602の第1の入力に1(DCI−1
=1)を印加し、信号RESETバーもそのゲートのも
う一方の入力に1を印加し、その結果、レジスタ601
の入力側に1が印加される。これに対して、レジスタ6
01にはゼロがロードされているので、最終的にORゲ
ート603(ALL=0)から出力されるDCO−1信
号は0になる。したがって、ニューラル・ネットワーク
11(A)の第1のニューロン回路11−1のDCI信
号とDCO信号だけが相補値を有する。すなわち、論理
関係DCI=DCOバーに従っている。というのは、残
りのデイジー・チェーン回路、すなわち、ニューロン回
路11−2〜11−Nのいずれについても、信号DCI
=信号DCO=0になるからである。したがって、構造
上、初期設定ステップが完了すると、ただちにニューロ
ン回路11−1が学習可能ニューロン回路になる。学習
モードで信号STがアクティブに設定されると、レジス
タ601の入力に印加された論理1がそこにロードされ
る。その結果、信号DCI−1およびDCO−1は1に
なり、第1のニューロン回路11−1は学習が完了し、
使用中になる。これに対して、前述と同じ理由で、DC
I−2=1かつDCO−2=0になる。これは、この時
点では連鎖内の次のニューロン回路、すなわち、ニュー
ロン回路11−2が学習可能ニューロン回路になってい
ることを意味する。この理論は、ニューロン回路11−
Nが使用中になるまで拡張することができる。各ニュー
ロン回路ごとにDCO信号を生成するには多くても1つ
のレジスタと2つの基本論理ゲートだけが必要なので、
全体的な遅延は非常に小さく、しかも、ニューラル・ネ
ットワーク11(A)を形成するニューロン回路の数と
は無関係である。
【0186】デイジー・チェーン回路600は制御論理
回路604をさらに含み、この制御論理回路は、2ウェ
イXORゲート605と2ウェイANDゲート606と
いう2つの論理ゲートで構成されている。XORゲート
605は、ニューロン回路11のDCI信号およびDC
O信号によって励起され、RAMメモリ251用のRS
(格納可能)信号を生成する。基本的にRS信号は、そ
こでのWRITE動作を許可または禁止するための書込
みイネーブル信号として機能する。認識フェーズでは、
入力ベクトルがすべてのコミット済みニューロン回路
(選択され拘束されているもの)に提示されるが、入力
ベクトル成分は、後続の学習フェーズ中に拘束される可
能性を予測して学習可能ニューロン回路のRAMメモリ
251のみに事前装填される。その64個の成分の格納
は本当に時間がかかるプロセスなので、RAMメモリ2
51に事前装填すると、認識フェーズでは非常に有利で
ある。本発明のZISCチップ10の実施態様では、実
際には入力ベクトルを格納することと、信号STを活動
化して、学習フェーズを終了するよう学習可能ニューロ
ン回路のレジスタ601を設定することだけが残ってい
る。その場合、RAMメモリ251にさらに書き込まな
いようにするために、RS信号が非活動状態に設定され
る。これに対して、ANDゲート606はDCO信号と
NS信号からCO信号を生成する。このNS信号は、前
述の通り、各ニューロン回路の突合せ回路150によっ
て内部で生成される(図10を参照)。したがって、C
O信号は、選択され拘束されている(すなわち、コミッ
ト済み)ニューロン回路の場合にアクティブに設定され
る。このような信号の組合せにより、CO信号は図8に
示すZISCチップ10の所与のブロックに正しく印加
され、その結果、コミット済みニューロン回路だけが認
識フェーズと学習フェーズの縮小プロセスに関与できる
ようになる。
【0187】以下の表IIIは、ニューロン回路の状態
と、DCI信号およびDCO信号の論理値との関係をま
とめたものである。
【0188】 表III DCI DCO NC状態 0 0 空き状態 1 0 空き状態(学習可能=第1の空き状態) 1 1 使用中 −−−−−−−−−−−−−−−−−−−−−−−−−−−−− 0 1 予約済み
【0189】表IIIは、ニューロン回路の2つの基本状
態、すなわち、空き状態(学習可能の場合を含む)と使
用中を明白に示している。
【0190】単一ZISCチップ10の最後のニューロ
ン回路のDCO信号、すなわち、DCO−Nは、ニュー
ラル・ネットワーク11(A)の最後のニューロン回路
が使用中かどうかを示すために使用することができる。
すなわち、これはFULL信号の役割を果たすことがで
きる。ニューロン回路11−Nが使用中の場合、これ
は、ニューラル・ネットワーク11(A)が一杯である
ことを意味する。また、ニューラル・ネットワークの重
要な遅延経路が実質的には学習可能ニューロン回路のデ
イジー・チェーン回路の遅延経路であることにも留意さ
れたい。ニューラル・ネットワークの他のデイジー・チ
ェーン回路は影響を受けないので、そのDCI信号とD
CO信号の変化は一切発生しない。
【0191】図8の単一ZISCチップ10について記
載したデイジー・チェーン回路は、図16および図17
に示すように複数のチップが直列に接続されている場合
に完全にマルチチップ環境で動作できるようになってい
る。図16からさらに明らかなように、第1のZISC
チップ10(1)の第1のニューロン回路のDCI入力
端子だけがVHに接続されるので、構造上、初期設定後
にこれが学習可能ニューロン回路になる。これに対し
て、基本モジュール10(A)を形成する最後のZIS
Cチップ10(Q)のDCO信号は、最後のチップの最
後のニューロン回路のDAISYレジスタに1がロード
されているかどうかを示すために使用することができ
る。このレジスタに1がロードされている場合は、基本
モジュール10[A]に組み込まれた基本ニューラル・
ネットワーク11[A]を形成するすべてのニューロン
回路が使用中であることを意味する。
【0192】前述の米国特許第4974169号に記載
されているアーキテクチャとは異なり、ZISCチップ
10(1)〜10(Q)のアドレス指定は不要なので、
デイジー・チェーン回路600はZISCチップ10の
カスケード性にとって不可欠な機構である。これは、各
チップで従来のデコーダ回路とポインタ回路を省略で
き、その結果、回路密度が大幅に向上することを意味す
る。もう1つの成果として、アドレス指定可能なニュー
ロン回路の数に関する固有の制限を持つアドレス・バス
も不要になる。図8および図9から明らかなように、基
本ZISCチップ10のニューロン回路とマイクロコン
トローラ/ユーザ22とを相互接続するためのADDR
ESSというバスが存在しない。このため、少なくとも
理論的には、INDATA−BUS、SEL/CTL−
BUS、およびGDATA−BUS上で無制限の数の基
本ZISCチップ10を並列に接続することができ、デ
イジー・チェーン接続だけが直列タイプになる。どのニ
ューロン回路が学習すべきかをアドレス・バスを介して
示すために学習フェーズ時のデータ管理に監視プログラ
ムは不要である。本発明によれば、学習フェーズでのマ
イクロコントローラ/ユーザ22の役割は、ZISCチ
ップ10のニューロン回路の動作を監視することではな
く、例と関連カテゴリをニューロン回路に提供すること
だけである。ZISCチップ10のニューロン回路は一
種の自習を行う。これは真実なので、まとめて学習する
かどうかの決定はすべてのニューロン回路に属し、監視
プログラムには属さない。
【0193】ニューラル・ネットワークに応用する場合
の前述のデイジー・チェーン回路の手法は、単一のベー
ス処理ユニット65によって図44に示されているよう
な複数のベース処理ユニットで構成されたマルチプロセ
ッサ・ユニット64まで容易に一般化することができ
る。それぞれの処理ユニットは、双方向データ・バスを
介してDATAIN−BUSという共通入力データ・バ
スに接続されている。また、それぞれの処理ユニット
は、R/Wメモリ回路66を含んでいる。データはDA
TAIN−BUS上ですべての処理ユニットに並列に提
示される。図43のデイジー・チェーン回路600と同
じ構造を有する。すなわち、基本的にDAISYレジス
タ周辺に構成されたデイジー・チェーン回路67がそれ
ぞれの処理ユニットに関連付けられ、処理ユニットの適
切なブロックに印加されるRUN信号(CO信号と同
等)およびLOAD信号(RS信号と同等)を生成す
る。マルチプロセッサ・ユニット64のデイジー・チェ
ーン回路同士の間には、直列接続DCI/DCOが確立
している。各デイジー・チェーン回路67は、状態計算
機(図示せず)によって生成されたNEXT信号(ST
信号と同等)を受け取り、1つの所定の処理ユニットの
みのDAISYレジスタに格納するDCI信号によって
デイジー・チェーン回路67の入力に印加される論理値
をシフトする。したがって、DATAIN−BUS上で
提示された特定の入力データをこのような所定の処理ユ
ニット65(実際はロード可能処理ユニット)のR/W
メモリ回路66にロードする処理は、その論理入力信号
DCIと論理出力信号DCOが相補値を有するデイジー
・チェーン回路によって自動的に行われる。
【0194】ニューロン間通信システム(COM―BU
S) 図45は、図8のZISCチップ10のアーキテクチャ
を使用する際のニューロン間通信システムの構造の概略
を示している。このニューロン間通信システムは、R*
−BUS上にグローバル結果信号F*、DEGOUT*
UNC/FIRE.OK*を生成し、OUT*−BUS上
にグローバル出力信号OUT*を生成するOR回路12
を含んでいる。これら2本のバスは、電気接続によって
オンチップ共通通信バスCOM*−BUSに統合され
る。この共通通信バスは、OUT*−BUSから直接得
られるOR−BUSをさらに含み、本質的には距離また
はデータのカテゴリ・タイプを伝送する。
【0195】次に図45について説明すると、ニューロ
ン回路11については、その識別回路400とDmin
決定回路500だけが大まかに表されている。図45か
ら明らかなように、ニューロン回路11−1〜11−N
のそれぞれによってローカルで生成されるすべてのロー
カル結果信号とローカル出力信号は、それぞれの専用O
R補助回路に印加され、その補助回路が1つにまとまっ
てOR経路12を形成している。各ニューロン回路によ
って生成されるNOUTローカル信号は、距離/カテゴ
リ・データを伝送するもので、専用OR補助回路12−
1に印加される。OR補助回路12−1によって生成さ
れるOUT*グローバル出力信号は、OUT*−BUSを
形成する14本の接続ワイヤの束によって伝送される。
OUT*信号は、OR−BUSを介してZISCチップ
10の各ニューロン回路にフィードバック信号として再
注入される。各ニューロン回路のF、DEGOUT、お
よびUNC/FIRE.OKローカル結果信号は、OR
専用補助回路12−2、12−3、および12−4にそ
れぞれ印加される。前記OR専用補助回路12−2〜1
2−4によって生成されるグローバル結果信号F*、D
EGOUT*、およびUNC/FIRE.OK*は、まと
まってR*−BUSを形成するそれぞれのグローバル・
結果ワイヤ上で得られる。OR補助回路12−1は14
個のNウェイORゲート群によって構築されている。各
OR補助回路12−2〜12−4は、NウェイORゲー
トによって構築されている。代替態様として、標準通り
同等の樹枝状構造でOR補助回路12−1〜12−4を
構築することもできる。ただし、設計システムおよび当
技術により可能であれば、OR回路12によってハード
ウェアで実行されるOR機能の代わりに、ORドットの
使用も可能であることに留意されたい。グローバル結果
データとグローバル出力データは、さらに処理するため
にレジスタ184.1に格納することが好ましい。ID
*信号は、F*信号およびUNC/FIRE.OK*バー
信号からANDゲート184.2で再構築される。レジ
スタ184.1にはID*信号も格納されるが、この信
号は、ニューラル・ネットワーク11(A)のグローバ
ル応答に関する即時視覚情報をユーザに提供するための
LEDに接続するために、図45に示すようにZISC
チップ10外に出力することもできる。図45は、スタ
ンドアロン動作用のニューラル・ネットワーク11
(A)を組み込んだ図8のZISCチップ10のCOM
*−BUS周辺に構成された本発明のニューロン間通信
システムの実施態様を示している。ただし、このアーキ
テクチャは、より大きいサイズのニューラル・ネットワ
ークを形成するために複数のZISCチップ10の組立
てを可能にするよう改良することができる。
【0196】次に、図9を参照して前述したマルチチッ
プ環境で動作できるようになっているアーキテクチャを
有する基本ZISCチップ10の場合について考察す
る。ここで図46について説明すると、各基本ZISC
チップ10ごとにR*−BUSおよびOUT*−BUSを
形成する前記接続ワイヤが、前記OR補助回路12−1
〜12−4の出力をそれぞれのドライバ回路(たとえ
ば、サブブロック19.1はOUT*−BUSの各ワイ
ヤに接続されているDR*タイプのドライバ回路を含ん
でいる)に接続している。これらのドライバ回路は、そ
れに接続されているすべてのZISCチップ10によっ
て共用されるCOM**−BUSというオフチップ共通通
信バス上で追加のORドット機能を提供できるようにな
っている。グローバル結果信号F**、DEGOUT**
およびUNC/FIRE.OK**と、グローバル出力信
号OUT**は、COM**−BUSのそれぞれのグローバ
ル・ワイヤ上で得られる。このようなグローバル結果信
号およびグローバル出力信号の全部または一部は、図4
6から明らかなように各ZISCチップ10に配置され
たブロック19内の適切なレシーバ回路(RR)を介し
てニューラル・ネットワークの各ZISCチップ10に
再注入される。ただし、前述のORドット機能の代わり
に、たとえば12などのOR回路を使用する非ドット式
のOR機能の使用が可能であることに留意されたい。1
つのORステージのみを含む図45のアーキテクチャと
は異なり、図46のアーキテクチャは2つのORステー
ジを含んでいる。しかし、図15のZISCチップ1
0"のアーキテクチャを参照して前述したように、1つ
のORステージのみの場合も考えられる。COM*−B
USとCOM**−BUSとの区別が不適切な場合は、ど
の共通通信バスについてもCOM−BUSと呼ぶ。図9
に示すマルチプレクサ21は、OR信号として各ニュー
ロン回路11に再注入されるOUT*信号またはOUT
**の選択を可能にするものなので、基本ZISCチップ
10を単一チップ環境またはマルチチップ環境のいずれ
かで動作させるために便利な手段である。
【0197】図47は、図16の基本モジュール10
[A]の構造における図46のドライバ・サブブロック
19.1の典型的な実施態様の詳細を示している。ここ
で図47について説明すると、同図には、まとまって基
本モジュール10[A]を形成する8個の基本ZISC
チップ10(それぞれ参照番号10(1)〜10(8)
で示す)の1ビット目の実施態様が示されている。後者
には、基本ニューラル・ネットワーク11[A]が組み
込まれている。図47から明らかなように、以下に示す
実用上の理由から、実際には、ORドット機能ではな
く、ハードワイヤードAND機能がGDATA−BUS
上に実現されている。ORドット機能の場合は、低速デ
バイスであるPFETが必要になったはずである。した
がって、高速スイッチング・デバイスであることが分か
っているNFETが代わりに使用される。したがって、
この場合の各ドライバ回路DR*は、標準通りオープン
・ドレイン方式で接続されたNFETデバイスで構成さ
れているだけである。バイポーラ技術によれば、複数の
NPNトランジスタをオープン・コレクタ方式で接続す
ると、代替解決策が構成されるはずである。8個のチッ
プのすべての第1のビット信号、すなわち、ビット信号
OUT*1(1)〜OUT*1(8)は、それぞれのNF
ETデバイスのゲートに印加されるが、そのデバイスの
ドレインは第1の電位VHに接続されているプルアップ
抵抗RL1によってロードされる共通ワイヤW1上でド
ットされる。各NFETデバイスのソースは第2の電位
GNDに接続されている。最終結果として、ビット信号
OUT**1を生成するために、GDATA−BUSの対
応するワイヤ上で前記ビット信号間の所望のAND機能
が実行されてる。AND機能によって得られるOUT**
信号は、(たとえば、図46のドット実施態様による)
OR機能によって得られる前述のOUT**信号とは反対
の極性を有する。物理的には各NFETデバイスのドレ
インがチップ内部のレシーバ回路RRの入力に直接接続
されていないことに留意すると興味深い。各ZISCチ
ップ10ごとにドレイン接続がチップから出てワイヤW
1に接続される。すべてのNFETデバイスによって共
用されるこの共通ワイヤW1は、GDATA−BUSに
OUT**1ビット信号を伝送する。OUT**1ビット信
号は、ワイヤZ1とレシーバ回路RRとを介して各ZI
SCチップ10に戻される。ワイヤW1とZ1はストラ
ップSTR1によって相互接続されている。図47に示
す構造は、14ビットのOUT**信号が完全にGDAT
A−BUS上で得られるように残りのビットまで容易に
一般化することができる。図47に示すように、レシー
バ回路RRは反転バッファである。これは、従来のどの
タイプであってもよい。ドライバ回路DR*(NFET
デバイスで構成される)がインバータとして動作するの
で、レシーバ回路RRは適切な極性を持つ各ZISCチ
ップ10用のOR1ビット信号を再生成するために必要
になる。PT(PTとはPass-Through(パススルー)を
意味する)という制御信号がアクティブに設定されたと
きにOR1信号が強制的に「0」になるように、信号P
Tをレシーバ回路RRに印加することは価値がある場合
もある。図41および図42を参照して前述したよう
に、OR信号がゼロに設定されると、探索/分類回路5
02がパススルーされる(すなわち、前述の除外機能が
禁止される)。したがって、その結果得られる基本ZI
SCモジュール10[A]はQ個(この場合はQ=8)
の基本ZISCチップ10で構成され、外部構成要素を
必要としない。これは、前述のストラップ技法を含む特
定のドット技法によるものである。ドライバ回路DR*
の出力とレシーバ回路RRの入力とを直接接続する場合
は、このようなフレキシビリティが制限されたはずであ
る。上記の構造は、グローバル結果信号F**、DEGO
UT**、およびUNC/FIRE.OK**のそれぞれに
さらに拡張することができる。
【0198】図48は、(A)、(B)、および(C)
の各部で構成されている。(A)および(B)は、図4
5の実施態様による(A)OUT*信号対NOUT信号
と(B)OR信号対OUT*信号との対応関係を示して
いる。(C)は、図47の実施態様によるOR/OUT
**信号対OUT*信号を示している。
【0199】Dminを決定する際の探索時間と、残り
の距離を分類するのに必要な分類時間は、OR補助回路
12.1〜12.4(図46)およびドライバ回路(お
よびロード抵抗)の遅延に大きく依存する。これらの遅
延を最小限にするためには、図49に記載する解決策が
推奨される。この解決策は、図47に示す構造から直接
得られるが、各基本ZISCチップ10に主Dmin決
定回路を任意で実現できるという利点がある。
【0200】ここで図49について説明すると、同図に
は、8個の基本ZISCチップ10(1)〜10(8)
からなるアセンブリによって形成された基本モジュール
10[A]の変形態様の論理実施態様が示されている
が、それぞれの基本ZISCチップにはそれぞれの主D
min決定回路20が設けられている。ZISCチップ
10(1)の集合回路517(図42を参照)は、専用
OR補助回路12.1に印加されるNOUT1−1〜N
OUTp−N信号を生成する。OR補助回路12.1に
よって供給される信号は、OUT*1〜OUT*pと呼ば
れ、主Dmin決定回路20に印加される。基本ZIS
Cチップ10の本発明の実施例では、N=36であり、
p=14である。次に、OR補助回路12.1によって
出力されるビット信号OUT*1〜OUT*pで構成され
るOUT*信号は、入力信号として主Dmin決定回路
20に印加される。OUT*1〜OUT*pビット信号を
伝送するワイヤの束もOR−BUSとして集合回路51
7に印加される(回路517の場合、OR信号はOUT
*信号と同じである)。次に、主Dmin決定回路20
から出力される信号は、サブブロック19.1のドライ
バ回路DR*を形成するそれぞれのNFETデバイスに
印加される。NFETデバイスのドレイン上でZISC
チップ10(1)から出力されるビット信号OUT**
〜OUT**pは、それぞれのロード抵抗RL1〜RLp
を介してVHに接続されたそれぞれのワイヤW1〜Wp
上で得られる。8個のチップについてしかもpビットの
各ビットごとにOUT**ビット信号のANDが取られる
と、これに対応する信号OUT**のビット信号OUT**
1〜OUT**pがGDATA−BUSで得られる。OU
**信号は、OR*−BUSとして主Dmin決定回路
20に印加される(回路20の場合、OR*信号は補数
処理後のOUT**信号と同じである)。OUT**1〜O
UT**pビット信号を主Dmin決定回路20に伝達す
る経路は、ストラップSTR1〜STRpと、ワイヤZ
1〜Zpと、それぞれのレシーバ回路RRとを含んでい
る。いずれの主Dmin決定回路20も探索/分類回路
502と同じ構造を有する。したがって、図49の基本
モジュール10[A]を形成する8個のZISCチップ
は、まず各ZISCチップ10のニューロン回路によっ
て計算された距離のうちの最小距離を決定し、次に基本
モジュール・レベルで計算された前記最小距離のうちの
最小距離を決定するように並列に動作する。図49に示
す実施態様では、探索プロセスと分類プロセスが非常に
効率よく高速で実行される。図示の例でチップのカスケ
ード性が8個に限定されているのは、当技術によって受
け入れられるANDドット機能の最大数のためである。
図47の教示から得られる図49の回路は、8個の基本
ZISCチップ10をカスケードする実際的な方法を示
すもので、それぞれのチップには図16の基本モジュー
ル10[A]の改良変形態様を形成するために主Dmi
n決定回路20が設けられている。このような基本モジ
ュールを複数個組み立てて、対応する複合ニューラル・
ネットワークを組み込んだ複合モジュールを構築しても
よい。
【0201】このような非常に望ましい結果は、図50
の論理アーキテクチャによって得られる。この場合、基
本モジュールのカスケード性に対する実際上の制限はな
い。ここで図50について説明すると、同図には、R個
のこのような基本モジュール10[A]をどのように組
み立てることができるかを示すために、複合モジュール
10{A}の構造が示されている。各基本モジュール1
0[A]は、8個のZISCチップ10(1)〜10
(8)で構成されている。簡略化のため、各基本モジュ
ールによって生成される第1のビット信号OUT**1に
ついてのみ考察する。R個の基本モジュールによって生
成されるOUT**1ビット信号は、RウェイのANDゲ
ート68.1に入力され、OUT***1ビット信号を生
成する。3つ目のアステリスクは、第3の論理機能(こ
の場合はAND)が実行されたことを意味する。次に、
OUT***1ビット信号は、反転レシーバ回路RR(図
示せず)を介して各基本モジュールの8個のZISCチ
ップのそれぞれに印加され、前述の通りOR1ビット信
号を生成する。ANDゲート68.1により、図47を
参照して示された実施態様との一貫性が確保される。こ
の理論は、OR2〜ORpビット信号をそれぞれ供給す
るOUT***2〜OUT***pを生成するためにそれぞれ
のANDゲート68.2〜68.pで処理される他のビ
ット信号にも適用することができる。必要なAND論理
機能が実行される限り、AND回路68.1〜68.p
は機能的にはORゲート、NORゲート、またはNAN
Dゲートなどで構築してもよい。
【0202】図50に関連する記述によれば、最高3つ
の論理機能を含むニューロン間通信システムを実現する
には数個のデバイスだけが必要であることは明白であ
る。GDATA−BUSの重要構成要素であるCOM
***−BUSは、理論的には無限数の基本ZISCチッ
プ10およびニューロン回路をまとめて接続することが
できる。それぞれのニューロン回路は、OR回路12で
の同期処理のためにそのローカル結果信号とローカル出
力信号をそれぞれNR−BUSおよびNOUT−BUS
上で同時に送出する。次に、OR回路12によって出力
されるNR*およびOUT*はCOM**−BUS上でAN
Dドットが行われ、これによりこれらの信号の高速並列
処理がもう一度可能になる。最後に、これら2つの連続
するORステージとANDステージを行うと、基本ZI
SCチップ10の完全並列アーキテクチャのために全体
的な処理遅延が低下する。COM**−BUSも、デイジ
ー・チェーン回路600を参照して前述した完全チップ
カスケード性にとって不可欠な要素である。前述の通
り、OR−BUSは、図8の単一ZISCチップ10
か、あるいは基本モジュールまたは複合モジュールを形
成するために組み立てられた図9の基本ZISCチップ
10のそれぞれのいずれかの各ニューロン回路に印加さ
れる。さらに、ORドット機能またはANDドット機能
あるいはその両方を含みかつこれらに限定されないよう
なグローバル論理機能をCOM**−BUS上で実現する
ために、ユーザが利用できるハードウェアによる解決策
がいくつかある。ただし、図15のZISCチップ1
0"のアーキテクチャでは、1つのORステージのみ必
要であることにも留意されたい。このORステージは、
ドライバ回路DR*によるORドットによって実行され
ることが好ましい。この場合、ニューロン間通信システ
ムは、ブロック19(前述の実用上の理由からORドッ
トの代わりにANDドットが物理的に実行される)と、
COM**−BUSと、それから直接得られるOR−BU
Sのみを含んでいる。
【0203】上記の説明は、ニューロン間通信システム
に関するものなので、1つの基本ZISCチップ10に
よってまたは所望の数の基本ZISCチップ10を結合
することによって構築されたニューラル・ネットワーク
への特定の応用例に限定されているように思われる。し
かし、この手法は、特に複数のベース処理ユニットで構
成されたマルチプロセッサ・ユニットまで一般化するこ
とができる。実際に、この手法は、すべてのまたは少な
くとも所定の数の処理ユニットによって生成されたロー
カル結果データを共通通信バス上で同時に送出し、前記
処理ユニットをグローバル結果の決定に関与させること
が可能であれば、どのような場合にも有効である。この
ような決定は、通常、ローカル結果データについて所望
の論理機能を実行し、前記共通通信バス上で得られるグ
ローバル結果データを生成することで構成される。この
グローバル結果データは、このバス上で直接アクセスす
るか、またはレジスタに格納することができる。最後
に、各処理ユニット内に配置された比較回路は、ローカ
ル・データと、フィードバック・バスを介してそこに伝
送される前記グローバル・データとを比較する。次に、
新しいローカル結果データである比較の結果は、処理ユ
ニット・グループからの所定の処理ユニットの所与の資
源またはブロックを非活動化することまたはもう1つの
グローバル結果データも比較することなどの様々なアク
ションを開始するために後で使用することができる。し
たがって、ローカル線またはローカル・バス上で伝送さ
れる各ローカル結果信号は、その状況が対象となる処理
ユニットに左右されるローカル評価の結果である。これ
に対して、グローバル線またはグローバル・バス上で伝
送されるグローバル結果信号は、すべてのベース処理ユ
ニットのレベルで実行されたグローバル評価の結果であ
る。
【0204】図8のニューラル・ネットワーク11
(A)の場合、ニューロン回路11−1〜11−Nは、
OR回路12と、オンチップ共通通信バスであるCOM
*−BUSと、フィードバック・バスとしてのOR−B
USとを介して相互接続されている。前述の重要な問題
は、発動したすべてのコミット済みニューロン回路が同
一カテゴリを有するかどうかまたはそのニューロン回路
が少なくとも2通りのカテゴリに属すかどうかを判断す
ることである。そのために、ローカル・カテゴリC(カ
テゴリ・レジスタ450に保持されている)とグローバ
ル・カテゴリC*(OR−BUSによる)が識別回路4
00で比較される。この例のニューロン回路11は、前
述のベース処理ユニットと同じ役割を果たす。カテゴリ
・レジスタ450に保持されているローカル・カテゴリ
Cはローカル・データであり、グローバル・カテゴリC
*は、OR補助回路12.1ですべてのローカル・カテ
ゴリのORを取ることによって得られるグローバル・デ
ータである。グローバル・カテゴリC*は、フィードバ
ック・バスの役割を果たすOR−BUSを介して各ニュ
ーロン回路に伝送され、そこに保持されているローカル
・カテゴリCと比較される。この比較の結果は、ローカ
ル結果である信号UNC/FIRE.OKになる。次
に、回路12ですべてのローカル結果信号UNC/FI
RE.OKのORが取られ、グローバル結果であるUN
C/FIRE.OK*信号が生成される。この比較は、
たとえば、図20のボックス41により認識フェーズ中
に行われる。最後に、COM**−BUSは、グローバル
結果信号(F*、DEGOUT*、およびUNC/FIR
E.OK*)を伝送する複数のグローバル結果線と、グ
ローバル出力信号(OUT**)を伝送する複数のグロー
バル出力線のみで構成される。
【0205】次に、それぞれのベース処理ユニットがロ
ーカル結果信号を伝送するための1本の出力バスと、グ
ローバル結果を伝送する1本の入力またはフィードバッ
ク・バスとを有すると想定する。周知の接続規則を使用
することにより、複数のベース処理ユニットをこのよう
に接続することができる。図51は、実施態様が非常に
単純になるようにドットAND機能を使用する場合のこ
の構造の例を示している。ここで図51について説明す
ると、同図には、N個のベース処理ユニット70−1〜
70−Nで構成された基本処理ユニット69が示されて
いる。グローバル結果バスWとフィードバック・バスZ
との間で必要な前述のストラップ機能は、ストラップ・
バスSTRによって行われる。ロード抵抗RLは、図5
1に概略が示されているようにグローバル結果バスWの
それぞれの線に適切に接続されている。ただし、ストラ
ップ機能はドライバ回路で置換え可能であることに留意
されたい。
【0206】図51を参照して示す上記の手法は、最大
限に一般化するためにさらに複雑になる場合もある。多
数のベース処理ユニットを相互接続しなければならない
場合、当技術によってこの数に制限が加えられる可能性
がある。この制限を越える場合は、グローバル結果バス
上に新しいグローバル結果信号を生成するためにここで
中間結果信号と見なされる前記グローバル結果信号を2
つまたはそれ以上結合するには、中間統合ブロックが必
要になるはずである。最後に、このグローバル結果バス
は、ストラップ・バスを介して前記ベース処理ユニット
のそれぞれにフィードバック・バスとして接続される。
この構造により、データ管理のための監視プログラムは
不要になり、実際にはグローバル結果線とフィードバッ
ク線との間のストラップ接続だけが必要になる。この理
論はさらに一般化することが可能で、その場合、新しい
グローバル結果信号は、最終グローバル結果バス上で最
終グローバル結果信号を生成するために別の中間回路に
結合可能な中間結果信号になる。
【0207】図52は、この一般化をある程度の範囲で
示したものである。複合処理ユニット71を形成するた
めに、図51に関連して記述したような2つの基本処理
ユニット69[1]および69[2]が組み立てられて
いる。それぞれのグローバル・バスW1およびW2は、
その出力がストラップ・バスSTRを介してフィードバ
ック・バスZを形成するANDゲート72に印加され、
そのフィードバック・バスZは、それぞれの基本処理ユ
ニット69[1]および69[2]の各ベース処理ユニ
ット70−1〜70−Nに信号を供給する。
【0208】補助回路 必ずMaxIF未満になる影響フィールド値をAIFレ
ジスタ352にロードする便利な方法は、図41を参照
して説明した探索/分類回路502の簡略バージョンを
使用することである。ここで図53について説明する
と、同図には、基本ZISCチップ10内のこの追加回
路502'の詳細構造を示す回路73が記載されてい
る。回路502'の役割は、影響フィールドをMaxI
F値にクランプすることである。このクランプ回路は、
同じように直列にカスケード化された図39および図4
0の同一基本ベース・ユニット510で構築されてい
る。
【0209】図41の探索/分類回路502との主な違
いは、構造ではなく、むしろ接続部にある。クランプ回
路502'に印加される入力信号は、計算された距離D
ではなくMaxIFである。クランプ回路502'を選
択する(禁止しない)必要がある場合は、そのEXCL
IN入力が地電位GNDに接続される。これに対して、
そのEXCLOUT信号は出力されない。図53に示さ
れている実施態様では、図41の専用OR補助回路1
2.1のORゲートに追加入力を設けなければならな
い。ここではこのORゲートを12'.1〜12'.4と
呼ぶ(N個の入力ではなく、N+1個の入力を有す
る)。基本ZISCチップ10には1つのクランプ回路
502'のみ実現されているが、このクランプ回路は同
じように最小距離Dminの決定に関与する。したがっ
て、このクランプ回路502'の役割は、学習フェーズ
中に新たに使用中になったニューロン回路のAIFレジ
スタ352をMaxIF値に設定することである。たと
えば、この機能は、ベース・ニューラル・ネットワーク
11(A)のいずれのニューロン回路も学習していない
ときに行うことができ、MaxIF値は学習可能ニュー
ロン回路にロードされる。
【0210】基本ZISCチップの主な特徴 図9の基本ZISCチップ10は、最高64個の成分
(項目)まで入力ベクトルを学習し認識できるようにな
っている。その並列アーキテクチャにより、ZISCチ
ップ10は、入力ベクトルとそこに事前に格納されてい
るすべてのプロトタイプ・ベクトルとの距離を同時に計
算する(ニューロン回路は「学習済み」)。この距離計
算方法は、ユーザが選択可能なノルムに基づくものであ
る。ただし、このノルムはニューロン回路ごとに異なる
可能性があることに留意されたい。上記の説明では、2
通りの距離計算方法がL1ノルムとLsupノルムに基
づいているが、他の計算方法も考えられる。チップの完
全カスケード性のため、基本ZISCチップ10内のニ
ューロン回路の数がN個(N=36)という制限は問題
にならない。このため、ニューラル・ネットワークには
無限数のプロトタイプ・ベクトルを格納することができ
る。学習フェーズ中に各ニューロン回路は、特徴空間の
最適マッピングを行うために、自動的にその影響フィー
ルドを調整する。この調整はすべてのニューロン回路で
同時に行われ、マイクロコントローラによる監視などの
外部アクションを必要としない。その結果、学習プロセ
スは内部で行われ、完全に自動化される。一方、学習時
間は、ニューラル・ネットワークを形成するニューロン
回路の数とは無関係である。しかも、さらに時間を節約
するため、事前装填ステップにより、認識フェーズ中に
入力ベクトル成分を格納しておくことが可能になり、そ
の結果、学習のために新たに入力ベクトルを提示する必
要はなくなる。ZISCチップ10には多数のカテゴリ
(16384)が設けられ、さらに、特にニューラル・
ネットワークを複数のサブセットに分割できるようにす
るためのコンテキスト機能を含んでいる。また、高速で
最小距離を決定し、効率よく残りの距離を分類するため
に効率の良い探索分類構造も設けられている。基本ZI
SCチップ10は、効率を高めるために保管モードと復
元モードのどちらでも動作可能である。最後に、ニュー
ラル・ネットワークを形成するニューロン回路の数は、
無制限であり、ユーザにとっては透過なものである。
【0211】基本ZISCチップの主な応用例 本発明の基本ZISCチップ10は、非常に革新的なニ
ューロン回路アーキテクチャに基づくものである。その
結果、所望のサイズのニューラル・ネットワークを組み
込んだ基本モジュールおよび複合モジュールの構築が可
能になる。本発明により開示された革新的なニューロン
回路構造は、当技術の様々な分野のいくつかの応用例に
対応できるようになっている。ZISCチップは、以下
のような数多くの領域において革新的で低コストの解決
策を提供するものである。 画像認識(工場自動化) 画像圧縮(データ格納) ビデオ圧縮(ビデオ格納、ビデオ会議) 文字認識 音声処理および音声認識 信号認識(レーダー、ソナーなど) データ分析 ロボット工学 機器監視 信号処理 他
【0212】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0213】(1)認識フェーズ中に入力ベクトル
(A)を識別できるようになっているベース・ニューラ
ル・ネットワーク(11(A))において、適切なデー
タ・バスおよび制御バスによって並列に信号供給され
る、空き状態または使用中の状態の複数のニューロン回
路(11−i)で構成されたニューロン・ユニット(1
1―(#))であって、各ニューロン回路が、入力ベク
トルの提示に対するニューロン回路の個々の応答である
ローカル結果信号(F、・・・)を第1の専用バス(N
R−BUS)上に生成する手段と、距離またはカテゴリ
・タイプのローカル出力信号(NOUT)を第2の専用
バス(NOUT−BUS)上に生成する手段とを含む、
ニューロン・ユニットと、前記ローカル結果信号とロー
カル出力信号との間で所定の論理機能(OR、・・・)
を実行して、共通通信バス(COM*−BUS)に統合
されるそれぞれのバス(R*−BUS、OUT*−BU
S)上で得られる対応するグローバル結果信号(F*
・・・)とグローバル出力信号(OUT*)とを生成す
る論理手段(12)と、少なくとも前記グローバル出力
信号をフィードバック信号(OR)としてフィードバッ
ク・バス(OR−BUS)を介して前記ニューロン回路
のそれぞれに再注入して、ローカル結果信号を生成する
ためにそこで対応するローカル出力信号とグローバル出
力信号との比較を可能にする手段とを含む、ベース・ニ
ューラル・ネットワーク。 (2)前記ニューロン回路が、ニューロン回路が使用中
になるとただちにゼロ以外のニューロン回路のローカル
・カテゴリ(Ci)を格納する手段と、ニューロン回路
が使用中になるとただちにプロトタイプ・ベクトル
(B)を格納する手段と、ニューロン回路が使用中にな
るとただちに意味のある入力ベクトルとプロトタイプ・
ベクトル(B)との距離(Di)を計算する手段と、ニ
ューロン回路が使用中になるとただちに実際の影響フィ
ールド値を格納する手段とをさらに含むことを特徴とす
る、上記(1)に記載のニューラル・ネットワーク。 (3)入力ベクトルの認識フェーズ中に使用中のニュー
ロン回路によって生成される前記ローカル結果信号が、
ニューロン回路が入力ベクトルを認識した場合にアクテ
ィブに設定される発火信号(F)と、ニューロン回路が
縮退して発火した場合にアクティブに設定される縮退信
号(DEGOUT)と、異なるカテゴリを有するニュー
ラル・ネットワークの少なくとも2つのニューロン回路
が発火した場合にアクティブに設定されるあいまい信号
(UNC/FIRE.OK)とを含むことを特徴とす
る、上記(2)に記載のニューラル・ネットワーク。 (4)前記グローバル結果信号(F*、・・・)のそれ
ぞれが、対応するローカル結果信号(F、・・・)のO
R演算の結果であることを特徴とする、上記(3)に記
載のニューラル・ネットワーク。 (5)カテゴリ・タイプの前記グローバル出力信号(O
UT*)が、すべてのローカル・カテゴリのOR演算の
結果である(OUT*=C*=C1 OR・・・OR C
N)ことを特徴とする、上記(2)ないし(4)のいず
れかに記載のニューラル・ネットワーク。 (6)前記あいまい信号UNC/FIRE.OKが、ロ
ーカル・カテゴリ(Ci)とカテゴリ・タイプのグロー
バル出力信号(C*)との比較の結果であることを特徴
とする、上記(3)ないし(5)のいずれかに記載のニ
ューラル・ネットワーク。 (7)追加のグローバル結果信号(ID*)が、ID*
* AND UNC/FIRE.OK*バーという論理
関係によって再構築されることを特徴とする、上記
(3)ないし(6)のいずれかに記載のニューラル・ネ
ットワーク。 (8)前記グローバル結果信号(OUT*)が、ニュー
ラル・ネットワークの使用中のニューロン回路によって
計算された距離のうちの最小距離Dminと呼ばれる最
小値である(OUT*=Dmin)ことを特徴とする、
上記(3)または(4)のいずれかに記載のニューラル
・ネットワーク。 (9)所定の論理機能を実行する前記論理手段が、OR
回路(12)で構成されることを特徴とする、上記
(1)に記載のニューラル・ネットワーク。 (10)前記OR回路が、複数のOR補助回路で構成さ
れることを特徴とする、上記(9)に記載のニューラル
・ネットワーク。 (11)各ローカル結果信号の処理専用の1つのOR補
助回路(12.2〜12.4)と、各ニューロン回路に
よって生成されたローカル出力信号の処理専用の1つの
OR回路(12.1)とが存在することを特徴とする、
上記(10)に記載のニューラル・ネットワーク。 (12)所定の論理機能を実行する前記論理手段が、ハ
ードワイヤード・ドットで構成されることを特徴とす
る、上記(1)に記載のニューラル・ネットワーク。 (13)前記ハードワイヤード・ドットが、オープン・
ドレイン/コレクタ・デバイスを使用する技法により行
われることを特徴とする、上記(12)に記載のニュー
ラル・ネットワーク。 (14)ニューラル・ネットワーク内の使用中のニュー
ロン回路だけを選択する選択手段をさらに含むことを特
徴とする、上記(1)に記載のニューラル・ネットワー
ク。 (15)使用中のニューロン回路のうちの所定の数だけ
を選択する追加の選択手段をさらに含むことを特徴とす
る、上記(14)に記載のニューラル・ネットワーク。 (16)認識フェーズ中に入力ベクトル(A)を識別で
きるようになっているベース・ニューラル・ネットワー
ク(11(A))において、適切なデータ・バスおよび
制御バスによって並列に信号供給される、空き状態また
は使用中の状態の複数のニューロン回路(11−i)で
構成されたニューロン・ユニット(11―(#))であ
って、各ニューロン回路が、入力ベクトルの提示に対す
るニューロン回路の個々の応答であるローカル結果信号
(F、・・・)を第1の専用バス(NR−BUS)上に
生成する手段と、距離またはカテゴリ・タイプのローカ
ル出力信号(NOUT)を第2の専用バス(NOUT−
BUS)上に生成する手段とを含む、ニューロン・ユニ
ットと、前記ローカル結果信号とローカル出力信号の各
ビット間で所定の論理機能(OR、・・・)を実行し
て、第1の共通通信バス(COM*−BUS)に統合さ
れるそれぞれのバス(R*−BUS、OUT*−BUS)
上で得られる対応する第1のグローバル結果信号
(F*、・・・)と第1のグローバル出力信号(OU
*)とを中間信号として生成する第1の論理手段(1
2)と、前記第1のグローバル結果信号のそれぞれと第
1のグローバル出力信号との間で同一の所定の論理機能
(OR、・・・)を実行して、第2の共通通信バス(C
OM**−BUS)に統合されるそれぞれのバス(R**
BUS、OUT**−BUS)上で得られる対応する第2
のグローバル結果信号(F**、・・・)と第2のグロー
バル出力信号(OUT**)とを生成する第2の論理手段
と、少なくとも前記第2のグローバル出力信号をフィー
ドバック信号(OR)としてフィードバック・バス(O
R−BUS)を介して前記ニューロン回路のそれぞれに
再注入して、ローカル結果信号を生成するためにそこで
対応するローカル出力信号と第2のグローバル出力信号
との比較を可能にする手段とを含む、ベース・ニューラ
ル・ネットワーク。 (17)前記ニューロン回路が、ニューロン回路が使用
中になるとただちにゼロ以外のニューロン回路のローカ
ル・カテゴリ(Ci)を格納する手段と、ニューロン回
路が使用中になるとただちにプロトタイプ・ベクトル
(B)を格納する手段と、ニューロン回路が使用中にな
るとただちに意味のある入力ベクトルとプロトタイプ・
ベクトル(B)との距離(Di)を計算する手段と、ニ
ューロン回路が使用中になるとただちに実際の影響フィ
ールド(AIF)を格納する手段とをさらに含むことを
特徴とする、上記(16)に記載のニューラル・ネット
ワーク。 (18)入力ベクトルの認識フェーズ中に使用中のニュ
ーロン回路によって生成される前記ローカル結果信号
が、ニューロン回路が入力ベクトルを認識した場合にア
クティブに設定される発火信号(F)と、ニューロン回
路が縮退して発火した場合にアクティブに設定される縮
退信号(DEGOUT)と、異なるカテゴリを有するニ
ューラル・ネットワークの少なくとも2つのニューロン
回路が発火した場合にアクティブに設定されるあいまい
信号(UNC/FIRE.OK)とを含むことを特徴と
する、上記(17)に記載のニューラル・ネットワー
ク。 (19)前記第2のグローバル結果信号(F**、・・
・)のそれぞれが、対応するすべてのローカル結果信号
(F、・・・)のOR演算の結果であることを特徴とす
る、上記(18)に記載のニューラル・ネットワーク。 (20)前記第2のグローバル出力信号(OUT**
が、カテゴリ・タイプであるときに、すべてのローカル
・カテゴリのOR演算の結果である(OUT**=C*
C1 OR・・・OR CN)ことを特徴とする、上記
(16)ないし(18)のいずれかに記載のニューラル
・ネットワーク。 (21)前記あいまい信号UNC/FIRE.OKが、
ローカル・カテゴリ(Ci)とカテゴリ・タイプの第2
のグローバル出力信号(C*)との比較の結果であるこ
とを特徴とする、上記(17)ないし(19)のいずれ
かに記載のニューラル・ネットワーク。 (22)追加の第2のグローバル結果信号(ID**
が、ID**=F** ANDUNC/FIRE.OK**
ーという論理関係によって再構築されることを特徴とす
る、上記(17)ないし(20)のいずれかに記載のニ
ューラル・ネットワーク。 (23)前記第2のグローバル結果信号(OUT**
が、距離タイプであるときに、ニューラル・ネットワー
クの使用中のニューロン回路によって計算された距離の
うちの最小距離Dminと呼ばれる最小値である(OU
**=Dmin)ことを特徴とする、上記(18)また
は(19)のいずれかに記載のニューラル・ネットワー
ク。 (24)所定の論理機能を実行する前記第1の論理手段
が、OR回路(12)で構成されることを特徴とする、
上記(16)に記載のニューラル・ネットワーク。 (25)前記OR回路が、複数のOR補助回路で構成さ
れることを特徴とする、上記(24)に記載のニューラ
ル・ネットワーク。 (26)各ローカル結果信号の処理専用の1つのOR補
助回路(12.2〜12.4)と、各ニューロン回路に
よって生成されたローカル出力信号の処理専用の1つの
OR回路(12.1)とが存在することを特徴とする、
上記(25)に記載のニューラル・ネットワーク。 (27)所定の論理機能を実行する前記第2の論理手段
が、ハードワイヤード・ドットで構成されることを特徴
とする、上記(16)に記載のニューラル・ネットワー
ク。 (28)前記ハードワイヤード・ドットが、オープン・
ドレイン/コレクタ・デバイスを使用する技法により行
われることを特徴とする、上記(27)に記載のニュー
ラル・ネットワーク。 (29)ニューラル・ネットワーク内の使用中のニュー
ロン回路だけを選択する選択手段をさらに含むことを特
徴とする、上記(16)に記載のニューラル・ネットワ
ーク。 (30)使用中のニューロン回路のうちの所定の数だけ
を選択する追加の選択手段をさらに含むことを特徴とす
る、上記(29)に記載のニューラル・ネットワーク。 (31)適切なデータ・バスおよび制御バスによって並
列に信号供給される、空き状態または使用中の状態の複
数のニューロン回路(11−i)で構成されたニューロ
ン・ユニット(11―(#))であって、各ニューロン
回路が、入力ベクトルの提示に対するニューロン回路の
個々の応答であるローカル結果信号(F、・・・)を第
1の専用バス(NR−BUS)上に生成する手段と、距
離またはカテゴリ・タイプのローカル出力信号(NOU
T)を第2の専用バス(NOUT−BUS)上に生成す
る手段とを含む、ニューロン・ユニットと、前記ローカ
ル結果信号とローカル出力信号との間で所定の機能(O
R、・・・)を実行して、共通通信バス(COM*−B
US)に統合されるそれぞれのバス(R*−BUS、O
UT*−BUS)上で得られる対応するグローバル結果
信号(F*、・・・)とグローバル出力信号(OUT*
とを生成する論理手段と、少なくとも前記グローバル出
力信号をフィードバック信号(OR)としてフィードバ
ック・バス(OR−BUS)を介して前記ニューロン回
路のそれぞれに再注入して、ローカル結果信号を生成す
るためにそこで対応するローカル出力信号とグローバル
出力信号との比較を可能にする手段とを含む、ニューラ
ル半導体チップ(10)。 (32)前記共通通信バスが、チップ内またはチップ外
のいずれかに位置することを特徴とする、上記(31)
に記載のニューラル・チップ。 (33)マルチチップ環境で動作できるようになってい
るニューラル半導体チップ(10)において、適切なデ
ータ・バスおよび制御バスによって並列に信号供給され
る、空き状態または使用中の状態の複数のニューロン回
路(11−i)で構成されたニューロン・ユニット(1
1(#))であって、各ニューロン回路が、入力ベクト
ルの提示に対するニューロン回路の個々の応答であるロ
ーカル結果信号(F、・・・)を第1の専用バス(NR
−BUS)上に生成する手段と、距離またはカテゴリ・
タイプのローカル出力信号(NOUT)を第2の専用バ
ス(NOUT−BUS)上に生成する手段とを含む、ニ
ューロン・ユニットと、前記ローカル結果信号のそれぞ
れとローカル出力信号との間で所定の機能(OR、・・
・)を実行して、第1の共通通信バス(COM*−BU
S)に統合されるそれぞれのバス(R*−BUS、OU
*−BUS)上で得られる対応する第1のグローバル
結果信号(F*、・・・)と第1のグローバル出力信号
(OUT*)とを生成する第1の論理手段と、前記第1
のグローバル結果信号のそれぞれと第1のグローバル出
力信号との間で同一の所定の論理機能(OR、・・・)
を実行して、すべてのチップによって共用される第2の
共通通信バス(COM**−BUS)のそれぞれのバス
(R**−BUS、OUT**−BUS)上に対応する第2
のグローバル結果信号(F**、・・・)と第2のグロー
バル出力信号(OUT**)とを生成する第2の論理手段
と、少なくとも前記第2のグローバル出力信号をフィー
ドバック信号(OR)としてフィードバック・バス(O
R−BUS)を介して前記ニューロン回路のそれぞれに
再注入して、ローカル結果信号を生成するためにそこで
対応するローカル出力信号と第2のグローバル出力信号
との比較を可能にする手段とを含む、ニューラル半導体
チップ。 (34)第1または第2のグローバル出力信号をフィー
ドバック信号として印加するマルチプレクサ手段をさら
に含むことを特徴とする、上記(33)に記載のニュー
ラル・チップ。 (35)前記ニューロン回路が、ニューロン回路が使用
中になるとただちにゼロ以外のニューロン回路のローカ
ル・カテゴリ(Ci)を格納する手段と、ニューロン回
路が使用中になるとただちにプロトタイプ・ベクトル
(B)を格納する手段と、ニューロン回路が使用中にな
るとただちに意味のある入力ベクトルとプロトタイプ・
ベクトル(B)との距離(Di)を計算する手段と、ニ
ューロン回路が使用中になるとただちに実際の影響フィ
ールド(AIF)を格納する手段とをさらに含むことを
特徴とする、上記(33)または(34)に記載のニュ
ーラル・チップ。 (36)所定の論理機能を実行する前記論理手段が、O
R回路(12)で構成されることを特徴とする、上記
(33)ないし(35)のいずれかに記載のニューラル
・チップ。 (37)所定の論理機能を実行する前記論理手段が、ハ
ードワイヤード・ドットで構成されることを特徴とす
る、上記(33)ないし(35)のいずれかに記載のニ
ューラル・チップ。 (38)ニューラル・ネットワーク内の使用中のニュー
ロン回路だけを選択する選択手段をさらに含むことを特
徴とする、上記(33)ないし(37)のいずれかに記
載のニューラル・チップ。 (39)使用中のニューロン回路のうちの所定の数だけ
を選択する追加の選択手段をさらに含むことを特徴とす
る、上記(33)ないし(38)のいずれかに記載のニ
ューラル・チップ。 (40)上記(16)ないし(39)のいずれかを参照
して定義されるように、少なくとも2つのニューラル・
チップのアセンブリによって形成されるニューラル・モ
ジュール。
【図面の簡単な説明】
【図1】9×8ピクセルのマトリックスに埋め込まれた
大文字"E"を示す図である。
【図2】2次元特徴空間内のプロトタイプ・ベクトルの
実施例であり、単一プロトタイプ・ベクトルと、円によ
って示されたその影響フィールドとを示す図である。
【図3】2次元特徴空間内のプロトタイプ・ベクトルの
実施例であり、同一カテゴリCを有する2つのプロトタ
イプ・ベクトルを示す図である。
【図4】2次元特徴空間内のプロトタイプ・ベクトルの
実施例であり、縮小技法の基礎にある原理を例示するた
めに異なるカテゴリに関連する2つのプロトタイプ・ベ
クトルを示す図である。
【図5】2次元特徴空間内のプロトタイプ・ベクトルの
実施例であり、距離の表記を例示するために異なるカテ
ゴリに関連する3通りのプロトタイプ・ベクトルを示す
図である。
【図6】3つのカテゴリに分類するために2成分入力ベ
クトルを処理できるようになっている10個のニューロ
ン回路を含む、従来のRBF3層ニューラル・ネットワ
ーク・アーキテクチャを示す図である。
【図7】図6のニューラル・ネットワークに対応する特
徴空間になる可能性がある例を示す図である。
【図8】スタンドアロン用途用としてのみ設計されたニ
ューラル半導体チップの第1のアーキテクチャの変形態
様と、本発明によりそれに組み込まれたニューラル・ネ
ットワークとの概略ブロック図である。
【図9】スタンドアロン用途用として動作するかまたは
マルチチップ環境において他の類似ニューラル・チップ
とともに動作するように設計された基本ニューラル半導
体チップの好ましいアーキテクチャと、本発明の好まし
い実施例によりそれに組み込まれたベース・ニューラル
・ネットワークとの概略ブロック図である。
【図10】その本質的な構成機能ブロックとその間の主
な相互接続部を示すための本発明による図8および図9
の革新的なニューロン回路の好ましいアーキテクチャの
概略ブロック図である。
【図11】図10のすべてのブロックの動作に必要な内
部制御信号、選択信号、およびアドレス信号を生成する
図8および図9の状況/制御論理回路18の概略ブロッ
ク図である。
【図12】レジスタとマルチプレクサとで構成される図
10のIF回路350の概略ブロック図である。
【図13】マルチプレクサと、論理回路と、革新的な探
索/分類回路とで構成される図10のDmin決定回路
500の概略ブロック図である。
【図14】図9の基本ニューラル・チップのアーキテク
チャの変形態様を示す図である。
【図15】図9の基本ニューラル・チップのアーキテク
チャの変形態様を示す図である。
【図16】半導体技術によって許される制限数内で本発
明の前記ニューラル・チップの完全カスケード性を示す
ために直列に接続された複数の図9の基本ニューラル半
導体チップを組み立てることにより形成される基本モジ
ュールを示す図である。
【図17】非常に小さい追加回路を設けるだけで図16
の2つの基本モジュールを組み立てることにより形成さ
れる複合モジュールを示す図である。
【図18】ベース・ニューラル・ネットワークの初期設
定フェーズの重要ステップの流れ図である。
【図19】ベース・ニューラル・ネットワークの認識フ
ェーズの重要ステップの流れ図である。
【図20】ベース・ニューラル・ネットワークの認識フ
ェーズの重要ステップの流れ図である。
【図21】縮小プロセスと拘束プロセスとを含むベース
・ニューラル・ネットワークの学習フェーズの重要ステ
ップの流れ図である。
【図22】図10の突合せ回路の概略回路構成を示す図
である。
【図23】コンテキスト手法の使用により、図9のベー
ス・ニューラル・ネットワーク内の各種サブセットを定
義できるようにする方法を示す図である。
【図24】基本的にRAMメモリ周囲に構成される図1
0のR/Wメモリ回路250の詳細図である。
【図25】使用中ニューロン回路の認識フェーズ中の前
記回路250内部のデータの流れを示す図である。
【図26】RAMメモリに入力ベクトル成分を事前装填
するステップを含む、第1の空き状態ニューロン回路の
認識フェーズ中のデータの流れを示す図である。
【図27】それぞれが加算器を1つずつ含む2つのサブ
ブロックで基本的に構成され、ユーザが選択したノルム
に応じて入力ベクトルとニューロン回路に格納されたプ
ロトタイプ・ベクトルとの距離を計算するという役割を
有する、図10の距離評価回路200の概略回路図であ
る。
【図28】距離評価回路200の第1のサブブロックに
実現された加算器の簡略化した2部構造を示す図であ
る。図28の加算器の前記第1の部分では、図24〜図
26に示されているすべての回路が広く使用されてい
る。
【図29】その第2の部分で使用する中間ビット信号を
生成する、図28の加算器の第1の部分の詳細構造を示
す図である。
【図30】各種の接続部を有するXOR回路の詳細回路
構造を示す図である。
【図31】セレクタ/NAND結合回路の詳細回路構造
を示す図である。
【図32】セレクタ/NOR結合回路の詳細回路構造を
示す図である。
【図33】図31および図32の回路で使用する2つの
タイプのセレクタ(SEL)の詳細回路構造を示す図で
ある。
【図34】合計ビット信号を生成する図28の加算器の
第2の部分の詳細構造を示す図である。
【図35】識別回路400で後続処理するためにLT信
号およびLTE信号を生成する図10の比較回路300
の詳細図である。
【図36】ニューロン回路レベルでローカル結果信号お
よび状況信号を生成する図10の革新的な識別回路40
0の概略回路図である。
【図37】図13のDmin決定回路500内の論理回
路503の詳細構造を示す図である。
【図38】図13の探索/分類回路502の動作の基礎
にあるアルゴリズムを示す流れ図である。
【図39】ニューロン回路によって計算された距離信号
の1つのビットを処理するために図13の探索/分類回
路502で使用される好ましいベース・ユニットの構造
を示す概略図である。
【図40】標準的な論理ゲートを有する前記ベース・ユ
ニットの典型的な実施態様を示す図である。
【図41】それぞれが必要な数の図39のベース・ユニ
ットを組み立てることにより構築された4つの探索/分
類回路502の組合せによって形成され、図8のニュー
ラル・ネットワーク内の4つの4ビット符号化距離のう
ちの最小距離を決定できるようになっている仮想集合回
路の第1の変形態様を示す概略図である(例示のため、
図8のニューラル・ネットワークは4つのニューロン回
路のみで構成されているものと想定する)。
【図42】残りの距離を増加順に分類できるようにする
ための記憶素子をさらに含む、図41の仮想集合回路の
もう1つの変形態様を示す概略図である。
【図43】図10のデイジー・チェーン回路600の詳
細構造を示す図である。
【図44】本発明のデイジー・チェーン回路600の手
法をマルチプロセッサ環境に応用する場合を示す概略図
である。
【図45】OR機能がOR回路によって実行され、スタ
ンドアロン動作に対応できるようになっている、図8の
ニューラル・チップ用のニューロン間通信システムの構
造を示す概略図である。
【図46】オフチップ共通通信バス上でのドット処理に
よりOR機能が実行されるマルチチップ環境での動作の
ための、図9の基本ニューラル・チップのニューロン間
通信システムの構造を示す概略図である。
【図47】基本モジュールを形成するために8個の図4
6の基本ニューラル・チップを組み立てる場合のグロー
バル出力信号の第1のビット用のドライバ回路の詳細実
施態様を示す図である。
【図48】(A)、(B)、および(C)の各部で構成
され、(A)はOUT*信号とNOUT信号との論理関
係を示し、(B)はOR信号とOUT*信号との論理関
係を示し、(C)は
【数18】 以降、ORバーと記載する。/OUT**信号とその各ビ
ットごとの
【数19】 以降、OUT****バーと記載する。信号との論理関係を
示す図である。
【図49】各チップに図9の任意選択の主Dmin決定
回路20が設けられている、図47の基本モジュールの
変形態様を形成するために8個の基本ニューラル・チッ
プを組み立てる場合のグローバル出力信号の第1のビッ
ト用のドライバ回路の詳細実施態様を示す図である。
【図50】複合モジュールを形成するために複数の図4
7の基本モジュールを組み立てる場合を示す図である。
【図51】複数のベース処理ユニットで構成される基本
マルチプロセッサ・ユニットの構築に本発明のニューロ
ン間通信システムの手法を応用する場合を示す図であ
る。
【図52】複合マルチプロセッサ・ユニットを形成する
ために2つの図51の基本マルチプロセッサ・ユニット
を組み立てる場合を示す図である。
【図53】ローカル出力信号としてMaxIF信号を生
成するための図9の各基本ニューラル・チップ内のダミ
ー探索/分類回路の実施態様を示す図である。
【符号の説明】
11 ZISCニューロン回路 12 OR回路 13 Aレジスタ 14 MaxIFレジスタ 15 MinIFレジスタ 16 マルチプレクサ 17 No/CXTメイン・レジスタ 18 状況/制御論理回路 20 主Dmin決定回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アンドレ・スタンレ フランス91000 エヴリ アレ・ド・ ラ・ビュット・ルージュ 10 (72)発明者 パスカル・タンホフ フランス77930 セリ・アン・ビエール ルート・ド・フォンテヌブロー 45 (72)発明者 ギュイ・パイユ フランス34000 モンペリエ リュ・ デ・コンステラション 15 (56)参考文献 特開 平2−211576(JP,A) 特開 平4−124782(JP,A) 特開 平2−206867(JP,A) 特開 平6−139224(JP,A) 特開 平8−69445(JP,A) 特開 平8−171541(JP,A) 特開 平8−171542(JP,A) 特開 平8−171543(JP,A) 佐藤、津雲,「改良ベクトル量子化と 文字認識への応用」,電子情報通信学会 技術研究報告,日本,社団法人電子情報 通信学会,1993年12月14日,Vol. 93,No.376(NC93−55〜67),p p.41−49 内村国治・他,「超大規模LSI化に 適した識別領域形状可変型ニューロン回 路」,電子情報通信学会技術研究報告, 日本,社団法人電子情報通信学会,1990 年10月26日,Vol.90,No.274 (CPSY90−75〜81),pp.13−20 黒川忠由,「ニューラル・ネットワー クとその開発支援ソフト」,インターフ ェース,日本,CQ出版株式会社,1989 年10月 1日,Vol.15,No.10, pp.239−250,ISSN:0387−9569 久間、中山・編,「ニューロコンピュ ータ工学」,日本,株式会社工業調査 会,1992年 2月20日,初版,pp.56 −70,ISBN:4−7693−5053−8 (58)調査した分野(Int.Cl.7,DB名) G06N 1/00 - 7/08 G06G 7/60 G06K 9/00 - 9/82 G10L 3/00 - 3/02 G10L 5/06 G10L 7/08 G10L 9/00 - 9/20 G06T 7/00 - 7/60 JSTファイル(JOIS) CSDB(日本国特許庁)

Claims (22)

    (57)【特許請求の範囲】
  1. 【請求項1】認識フェーズ中に、予め記憶されたプロト
    タイプ・ベクトルと比較することによって入力ベクトル
    (A)を識別できるようになっているベース・ニューラ
    ル・ネットワーク(11(A))において、前記プロト
    タイプ・ベクトルには影響フィールド値とカテゴリとが
    関連付けられており、 データ・バスおよび制御バスによって並列に信号供給さ
    れる、空き状態または使用中の状態の複数のニューロン
    回路(11−i)で構成されたニューロン・ユニット
    (11―(#))であって、各ニューロン回路が、 DATA−BUS経由による入力ベクトルの提示に対す
    るニューロン回路の個々の応答であるローカル結果信号
    (発動ローカル結果信号(F)、縮退結果信号(DEG
    OUT)、及びローカル結果あいまい信号(UNC/F
    IRE.OK))を第1の専用バス(NR−BUS)上
    に生成する手段と、 ここで、発動ローカル結果信号(F)はニューロン回路
    が入力ベクトルを認識した場合にアクティブに設定さ
    れ、 縮退結果信号(DEGOUT)は、縮退していると判断
    されたニューロン回路が発動した場合にアクティブに設
    定され、ここで前記縮退とはプロトタイプ・ベクトルの
    影響フィールド値が予め定められた最小値に設定され、
    且つ、他のカテゴリを有するニューロン回路の影響フィ
    ールド値と重なっている状態をいい、ローカル結果あい
    まい信号(UNC/FIRE.OK)は、ニューラル・
    ネットワークの、相互に異なるカテゴリを有する少なく
    とも2つのニューロン回路が発動した場合にアクティブ
    に設定され、 距離またはカテゴリ・タイプのローカル出力信号(NO
    UT)を第2の専用バス(NOUT−BUS)上に生成
    する手段とを含む、ニューロン・ユニットと、 前記ローカル結果信号同士の間及びローカル出力信号
    士の間でOR演算を実行して、共通通信バス(COM*
    −BUS)に統合されるそれぞれのバス(R*−BU
    S、OUT*−BUS)上で得られる対応するグローバ
    ル結果信号(F*、DEGOUT*、およびUNC/FI
    RE.OK*)とグローバル出力信号(OUT*)とを生
    成する論理手段と、 少なくとも前記グローバル出力信号をフィードバック・
    バス(OR−BUS)を介して前記ニューロン回路のそ
    れぞれにフィードバックして、ローカル結果信号を生成
    するために、そこで対応するローカル出力信号とグロー
    バル出力信号との比較を可能にする手段とを含む、ベー
    ス・ニューラル・ネットワーク。
  2. 【請求項2】前記ニューロン回路が、 ニューロン回路が使用中になるとただちに、CAT−B
    USを経由して入力される、ゼロ以外の、ニューロン回
    路のローカル・カテゴリ(Ci)を格納する手段と、 ニューロン回路が使用中になるとただちに、DATA−
    BUSを経由して入力されるプロトタイプ・ベクトル
    (B)を格納する手段と、 ニューロン回路が使用中になるとただちに、DATA−
    BUSを経由して入力される入力ベクトルと前記プロト
    タイプ・ベクトル(B)との距離(Di)を計算する手
    段と、 前記入力ベクトルと前記プロトタイプ・ベクトル(B)
    との類似性の判別基準である、実際の影響フィールド値
    をニューロン回路が使用中になるとただちに格納する手
    段とをさらに含むことを特徴とする、請求項1に記載の
    ニューラル・ネットワーク。
  3. 【請求項3】カテゴリ・タイプの前記グローバル出力信
    号(OUT*)が、すべてのローカル・カテゴリのOR
    演算の結果である(OUT*=C*=C1 OR・・・O
    RCN)ことを特徴とする、請求項1または2のいずれ
    かに記載のニューラル・ネットワーク。
  4. 【請求項4】前記あいまい信号UNC/FIRE.OK
    が、ローカル・カテゴリ(Ci)とカテゴリ・タイプの
    グローバル出力信号(C*)との比較の結果であること
    を特徴とする、請求項2または3記載のニューラル・ネ
    ットワーク。
  5. 【請求項5】入力ベクトルが少なくとも1つのニューロ
    ン回路によって認識され(F*=1)、且つ、ニューラ
    ル・ネットワーク11(A)によってあいまいさを伴わ
    ずに認識された(UNC/FIRE.OK*=0)とき
    にアクティブに設定されるところの追加のグローバル結
    果信号(ID*)が、ID*=F* AND UNC/F
    IRE.OK*バーという論理関係によって再構築され
    ることを特徴とする、請求項1〜4のいずれか1項に記
    載のニューラル・ネットワーク。
  6. 【請求項6】前記グローバル結果信号(OUT*)が、
    ニューラル・ネットワークの使用中のニューロン回路に
    よって計算された距離のうちの最小距離Dminと呼ば
    れる最小値である(OUT*=Dmin)ことを特徴と
    する、請求項1〜5のいずれか1項に記載のニューラル
    ・ネットワーク。
  7. 【請求項7】OR演算を実行する前記論理手段が、OR
    回路(12)で構成されることを特徴とする、請求項1
    〜6のいずれか1項に記載のニューラル・ネットワー
    ク。
  8. 【請求項8】前記OR回路が、複数のOR補助回路で構
    成されることを特徴とする、請求項7に記載のニューラ
    ル・ネットワーク。
  9. 【請求項9】各ローカル結果信号の処理専用の1つのO
    R補助回路(12.2〜12.4)と、各ニューロン回
    路によって生成されたローカル出力信号の処理専用の1
    つのOR回路(12.1)とが存在することを特徴とす
    る、請求項8に記載のニューラル・ネットワーク。
  10. 【請求項10】OR演算を実行する前記論理手段が、ハ
    ードワイヤード・ドットで構成されることを特徴とす
    る、請求項1〜6のいずれか1項に記載のニューラル・
    ネットワーク。
  11. 【請求項11】前記ハードワイヤード・ドットが、オー
    プン・ドレイン/コレクタ・デバイスを使用する技法に
    より行われることを特徴とする、請求項10に記載のニ
    ューラル・ネットワーク。
  12. 【請求項12】ニューラル・ネットワーク内の使用中の
    ニューロン回路だけを選択する選択手段をさらに含むこ
    とを特徴とする、請求項1に記載のニューラル・ネット
    ワーク。
  13. 【請求項13】使用中のニューロン回路のうちの所定の
    数だけを選択する追加の選択手段をさらに含むことを特
    徴とする、請求項14に記載のニューラル・ネットワー
    ク。
  14. 【請求項14】請求項1〜13のいずれか1項記載のニ
    ューラル・ネットワークを複数個含み、各ニューラル・
    ネットワークが第2の共通通信バスにより接続され、各
    ニューラル・ネットワークからのグローバル結果信号
    (F*、DEGOUT*、およびUNC/FIRE.OK
    *)及びグローバル出力信号OUT*のOR演算を実行し
    て、第2の共通通信バス(COM**−BUS)に統合さ
    れるそれぞれのバス(R**−BUS、OUT**−BU
    S)上で得られる対応する第2のグローバル結果信号
    (F**、DEGOUT**、およびUNC/FIRE.O
    **)と第2のグローバル出力信号(OUT**)とを生
    成する第2の論理手段と、少なくとも前記第2のグロー
    バル出力信号をフィードバック・バス(OR−BUS)
    を介してフィードバックし、前記ニューロン回路のそれ
    ぞれに再注入して、ローカル結果信号を生成するために
    そこで対応するローカル出力信号と第2のグローバル出
    力信号との比較を可能にする手段とを含む、ベース・ニ
    ューラル・ネットワーク。
  15. 【請求項15】データ・バスおよび制御バスによって並
    列に信号供給される、空き状態または使用中の状態の複
    数のニューロン回路(11−i)で構成されたニューロ
    ン・ユニット(11―(#))であって、各ニューロン
    回路は、予め記憶されたプロトタイプ・ベクトルと比較
    することによって入力ベクトル(A)を識別し、前記プ
    ロトタイプ・ベクトルにはユーザの定義に従いカテゴリ
    が関連付けられており、 DATA−BUS経由による入力ベクトルの提示に対す
    るニューロン回路の個々の応答であるローカル結果信号
    (発動ローカル結果信号(F)、縮退結果信号(DEG
    OUT)、及びローカル結果あいまい信号(UNC/F
    IRE.OK))を第1の専用バス(NR−BUS)上
    に生成する手段と、 ここで、発動ローカル結果信号(F)はニューロン回路
    が入力ベクトルを認識した場合にアクティブに設定さ
    れ、 縮退結果信号(DEGOUT)は、縮退していると判断
    されたニューロン回路が発動した場合にアクティブに設
    定され、ここで前記縮退とはプロトタイプ・ベクトルの
    影響フィールド値が予め定められた最小値に設定され、
    且つ、他のカテゴリを有するニューロン回路の影響フィ
    ールド値と重なっている状態をいい、ローカル結果あい
    まい信号(UNC/FIRE.OK)は、ニューラル・
    ネットワークの、相互に異なるカテゴリを有する少なく
    とも2つのニューロン回路が発動した場合にアクティブ
    に設定され、 距離またはカテゴリ・タイプのローカル出力信号(NO
    UT)を第2の専用バス(NOUT−BUS)上に生成
    する手段とを含む、ニューロン・ユニットと、前記ロー
    カル結果信号同士の間及びローカル出力信号同士の間
    OR演算を実行して、共通通信バス(COM*−BU
    S)に統合されるそれぞれのバス(R*−BUS、OU
    *−BUS)上で得られる対応するグローバル結果信
    号(F*、DEGOUT*、およびUNC/FIRE.O
    *)とグローバル出力信号(OUT*)とを生成する論
    理手段と、 少なくとも前記グローバル出力信号をフィードバック信
    号(OR)としてフィードバック・バス(OR−BU
    S)を介して前記ニューロン回路のそれぞれに再注入し
    て、ローカル結果信号を生成するためにそこで対応する
    ローカル出力信号とグローバル出力信号との比較を可能
    にする手段とを含む、ニューラル半導体チップ(1
    0)。
  16. 【請求項16】前記共通通信バスが、チップ内またはチ
    ップ外のいずれかに位置することを特徴とする、請求項
    15に記載のニューラル・チップ。
  17. 【請求項17】前記ニューロン回路が、 ニューロン回路が使用中になるとただちに、CAT−B
    USを経由して入力される、ゼロ以外の、ニューロン回
    路のローカル・カテゴリ(Ci)を格納する手段と、 ニューロン回路が使用中になるとただちに、DATA−
    BUSを経由して入力されるプロトタイプ・ベクトル
    (B)を格納する手段と、 ニューロン回路が使用中になるとただちに、DATA−
    BUSを経由して入力される入力ベクトルと前記プロト
    タイプ・ベクトル(B)との距離(Di)を計算する手
    段と、 ニューロン回路が使用中になるとただちに、前記入力ベ
    クトルとプロトタイプ・ベクトル(B)との類似性の判
    別基準である、実際の影響フィールド(AIF)を格納
    する手段とをさらに含むことを特徴とする、請求項15
    または16に記載のニューラル・チップ。
  18. 【請求項18】OR演算を実行する前記論理手段が、O
    R回路(12)で構成されることを特徴とする、請求項
    15〜17いずれか1項に記載のニューラル・チップ。
  19. 【請求項19】OR演算を実行する前記論理手段が、ハ
    ードワイヤード・ドットで構成されることを特徴とす
    る、請求項15〜18いずれか1項に記載のニューラル
    ・チップ。
  20. 【請求項20】ニューラル・ネットワーク内の使用中の
    ニューロン回路だけを選択する選択手段をさらに含むこ
    とを特徴とする、請求項15〜19いずれか1項に記載
    のニューラル・チップ。
  21. 【請求項21】使用中のニューロン回路のうちの所定の
    数だけを選択する追加の選択手段をさらに含むことを特
    徴とする、請求項15〜20いずれか1項に記載のニュ
    ーラル・チップ。
  22. 【請求項22】請求項15〜21のいずれか1項記載の
    ニューラル・チップを複数個含む環境で動作できるよう
    になっているニューラル半導体チップ(10)であっ
    て、 各ニューラル・チップが第2の共通通信バスにより接続
    され、各ニューラル・ネットワークからのグローバル結
    果信号(F*、DEGOUT*、およびUNC/FIR
    E.OK*)及びグローバル出力信号OUT*のOR演算
    を実行して、第2の共通通信バス(COM**−BUS)
    に統合されるそれぞれのバス(R**−BUS、OUT**
    −BUS)上で得られる対応する第2のグローバル結果
    信号(F**、DEGOUT**、およびUNC/FIR
    E.OK**)と第2のグローバル出力信号(OUT**
    とを生成する第2の論理手段と、 少なくとも前記第2のグローバル出力信号をフィードバ
    ック信号(OR)としてフィードバック・バス(OR−
    BUS)を介して前記ニューロン回路のそれぞれに再注
    入して、ローカル結果信号を生成するためにそこで対応
    するローカル出力信号と第2のグローバル出力信号との
    比較を可能にする手段とを含む、ニューラル半導体チッ
    プ。
JP23933795A 1994-07-28 1995-07-27 ニューラル・ネットワークおよびニューラル・チップ Expired - Fee Related JP3407266B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP94480070A EP0694854B1 (en) 1994-07-28 1994-07-28 Improved neural semiconductor chip architectures and neural networks incorporated therein
FR94480070.5 1994-07-28

Publications (2)

Publication Number Publication Date
JPH08171540A JPH08171540A (ja) 1996-07-02
JP3407266B2 true JP3407266B2 (ja) 2003-05-19

Family

ID=8218126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23933795A Expired - Fee Related JP3407266B2 (ja) 1994-07-28 1995-07-27 ニューラル・ネットワークおよびニューラル・チップ

Country Status (5)

Country Link
US (1) US5717832A (ja)
EP (1) EP0694854B1 (ja)
JP (1) JP3407266B2 (ja)
CA (1) CA2149479C (ja)
DE (1) DE69430744T2 (ja)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652902A (en) * 1993-06-08 1997-07-29 Theseus Research, Inc. Asynchronous register for null convention logic systems
JP2002024199A (ja) * 1998-02-20 2002-01-25 Souwa Kenkyusho:Kk 二値システムの学習方法
US6377941B1 (en) * 1998-11-26 2002-04-23 International Business Machines Corporation Implementing automatic learning according to the K nearest neighbor mode in artificial neural networks
US6332137B1 (en) * 1999-02-11 2001-12-18 Toshikazu Hori Parallel associative learning memory for a standalone hardwired recognition system
US6430603B2 (en) * 1999-04-28 2002-08-06 World Theatre, Inc. System for direct placement of commercial advertising, public service announcements and other content on electronic billboard displays
US6430605B2 (en) * 1999-04-28 2002-08-06 World Theatre, Inc. System permitting retail stores to place advertisements on roadside electronic billboard displays that tie into point of purchase displays at stores
US7088335B2 (en) * 1999-04-28 2006-08-08 Novus Partners Llc Methods and apparatus for ultra-violet stimulated displays
US6424998B2 (en) 1999-04-28 2002-07-23 World Theatre, Inc. System permitting the display of video or still image content on selected displays of an electronic display network according to customer dictates
US20060242665A1 (en) * 1999-07-20 2006-10-26 United Video Properties, Inc. Interactive television program guide systems with initial channel tuning
EP1073013A1 (en) * 1999-07-29 2001-01-31 International Business Machines Corporation Self-adaptable artificial neural networks
US7647618B1 (en) 1999-08-27 2010-01-12 Charles Eric Hunter Video distribution system
US20060212908A1 (en) * 1999-08-27 2006-09-21 Ochoa Optics Llc Video distribution system
US6647417B1 (en) 2000-02-10 2003-11-11 World Theatre, Inc. Music distribution systems
US6952685B1 (en) * 1999-08-27 2005-10-04 Ochoa Optics Llc Music distribution system and associated antipiracy protection
US7209900B2 (en) * 1999-08-27 2007-04-24 Charles Eric Hunter Music distribution systems
US20020056118A1 (en) * 1999-08-27 2002-05-09 Hunter Charles Eric Video and music distribution system
US8090619B1 (en) * 1999-08-27 2012-01-03 Ochoa Optics Llc Method and system for music distribution
US6424961B1 (en) * 1999-12-06 2002-07-23 AYALA FRANCISCO JOSé Adaptive neural learning system
EP1257889A4 (en) * 1999-12-17 2010-07-14 Ochoa Optics Llc SYSTEM AND METHOD FOR CLIENTS TO CONTROL SELECTED PRODUCTS IN A WIDE RANGE OF PRODUCTS OFFERED BY MULTIPLE PARTICIPATING COMMER ANTS
US9252898B2 (en) 2000-01-28 2016-02-02 Zarbaña Digital Fund Llc Music distribution systems
US6598036B1 (en) * 2000-04-04 2003-07-22 Ford Global Technologies, Llc Method for serving engineering rules on a network through servlet and applet
US7054256B2 (en) * 2000-10-20 2006-05-30 Ochoa Optics Llc High capacity digital data storage by transmission of radiant energy through arrays of small diameter holes
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
US20020112235A1 (en) * 2001-02-12 2002-08-15 Ballou Bernard L. Video distribution system
US20020112243A1 (en) * 2001-02-12 2002-08-15 World Theatre Video distribution system
US8112311B2 (en) 2001-02-12 2012-02-07 Ochoa Optics Llc Systems and methods for distribution of entertainment and advertising content
MXPA03012070A (es) * 2001-06-29 2005-08-16 Novus Comm Technologies Dispositivo y metodo dinamicos para publicidad en cartel.
US7088352B2 (en) * 2002-06-19 2006-08-08 Novus Partners Llc Dynamic device and method for dispensing machines
US7098870B2 (en) * 2001-06-29 2006-08-29 Novus Partners Llc Advertising method for dynamic billboards
US7015875B2 (en) * 2001-06-29 2006-03-21 Novus Partners Llc Dynamic device for billboard advertising
US7098869B2 (en) * 2001-06-29 2006-08-29 Novus Partners Llc Business method for billboard advertising
US7960005B2 (en) * 2001-09-14 2011-06-14 Ochoa Optics Llc Broadcast distribution of content for storage on hardware protected optical storage media
US7233781B2 (en) 2001-10-10 2007-06-19 Ochoa Optics Llc System and method for emergency notification content delivery
US6617565B2 (en) 2001-11-06 2003-09-09 Omnivision Technologies, Inc. CMOS image sensor with on-chip pattern recognition
US6983265B2 (en) * 2001-12-21 2006-01-03 International Business Machines Corporation Method to improve the data transfer rate between a computer and a neural network
US9269043B2 (en) 2002-03-12 2016-02-23 Knowm Tech, Llc Memristive neural processor utilizing anti-hebbian and hebbian technology
US7398259B2 (en) 2002-03-12 2008-07-08 Knowmtech, Llc Training of a physical neural network
US8156057B2 (en) * 2003-03-27 2012-04-10 Knowm Tech, Llc Adaptive neural network utilizing nanotechnology-based components
US6889216B2 (en) * 2002-03-12 2005-05-03 Knowm Tech, Llc Physical neural network design incorporating nanotechnology
US7392230B2 (en) * 2002-03-12 2008-06-24 Knowmtech, Llc Physical neural network liquid state machine utilizing nanotechnology
US7412428B2 (en) * 2002-03-12 2008-08-12 Knowmtech, Llc. Application of hebbian and anti-hebbian learning to nanotechnology-based physical neural networks
US20040039717A1 (en) * 2002-08-22 2004-02-26 Alex Nugent High-density synapse chip using nanoparticles
US7165655B2 (en) * 2002-05-14 2007-01-23 Otis Elevator Company Neural network detection of obstructions within and motion toward elevator doors
US7752151B2 (en) * 2002-06-05 2010-07-06 Knowmtech, Llc Multilayer training in a physical neural network formed utilizing nanotechnology
US7827131B2 (en) * 2002-08-22 2010-11-02 Knowm Tech, Llc High density synapse chip using nanoparticles
US7493295B2 (en) * 2003-01-17 2009-02-17 Francisco J. Ayala Method, system and computer program for developing cortical algorithms
JP2007504576A (ja) * 2003-01-17 2007-03-01 アヤラ,フランシスコ,ジェイ 人工知能を開発するためのシステム及び方法
US7366352B2 (en) * 2003-03-20 2008-04-29 International Business Machines Corporation Method and apparatus for performing fast closest match in pattern recognition
US7426501B2 (en) * 2003-07-18 2008-09-16 Knowntech, Llc Nanotechnology neural network methods and systems
US8639489B2 (en) * 2003-11-10 2014-01-28 Brooks Automation, Inc. Methods and systems for controlling a semiconductor fabrication process
US20070282480A1 (en) * 2003-11-10 2007-12-06 Pannese Patrick D Methods and systems for controlling a semiconductor fabrication process
US8639365B2 (en) * 2003-11-10 2014-01-28 Brooks Automation, Inc. Methods and systems for controlling a semiconductor fabrication process
US10086511B2 (en) 2003-11-10 2018-10-02 Brooks Automation, Inc. Semiconductor manufacturing systems
US7502769B2 (en) * 2005-01-31 2009-03-10 Knowmtech, Llc Fractal memory and computational methods and systems based on nanotechnology
US7409375B2 (en) * 2005-05-23 2008-08-05 Knowmtech, Llc Plasticity-induced self organizing nanotechnology for the extraction of independent components from a data stream
US7420396B2 (en) * 2005-06-17 2008-09-02 Knowmtech, Llc Universal logic gate utilizing nanotechnology
US8478081B2 (en) 2005-06-30 2013-07-02 Agc Flat Glass North America, Inc. Monolithic image perception device and method
BRPI0613097B1 (pt) 2005-06-30 2019-01-22 Agc Flat Glass Na Inc dispositivo e método de reconhecimento de imagem
US7599895B2 (en) 2005-07-07 2009-10-06 Knowm Tech, Llc Methodology for the configuration and repair of unreliable switching elements
US7577626B1 (en) 2006-05-26 2009-08-18 Georgios Mountrakis Multi-scale radial basis function neural network
WO2008022156A2 (en) 2006-08-14 2008-02-21 Neural Id, Llc Pattern recognition system
US20080168013A1 (en) * 2006-12-05 2008-07-10 Paul Cadaret Scalable pattern recognition system
WO2008067676A1 (en) 2006-12-08 2008-06-12 Medhat Moussa Architecture, system and method for artificial neural network implementation
US7930257B2 (en) 2007-01-05 2011-04-19 Knowm Tech, Llc Hierarchical temporal memory utilizing nanotechnology
US8676734B2 (en) * 2010-07-07 2014-03-18 Qualcomm, Incorporated Methods and systems for replaceable synaptic weight storage in neuro-processors
US8856055B2 (en) 2011-04-08 2014-10-07 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks
US8825350B1 (en) 2011-11-22 2014-09-02 Kurt B. Robinson Systems and methods involving features of adaptive and/or autonomous traffic control
US9262726B2 (en) * 2013-01-17 2016-02-16 Applied Materials, Inc. Using radial basis function networks and hyper-cubes for excursion classification in semi-conductor processing equipment
US10657451B2 (en) 2013-09-04 2020-05-19 Rokio, Inc. Pattern recognition system
US9602123B2 (en) 2014-01-15 2017-03-21 Anatacum Design Ab Cognitive signal converter
US20160378747A1 (en) * 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10672663B2 (en) 2016-10-07 2020-06-02 Xcelsis Corporation 3D chip sharing power circuit
US10580757B2 (en) 2016-10-07 2020-03-03 Xcelsis Corporation Face-to-face mounted IC dies with orthogonal top interconnect layers
US10600691B2 (en) 2016-10-07 2020-03-24 Xcelsis Corporation 3D chip sharing power interconnect layer
US10762420B2 (en) * 2017-08-03 2020-09-01 Xcelsis Corporation Self repairing neural network
US10672745B2 (en) 2016-10-07 2020-06-02 Xcelsis Corporation 3D processor
US10580735B2 (en) 2016-10-07 2020-03-03 Xcelsis Corporation Stacked IC structure with system level wiring on multiple sides of the IC die
KR102512017B1 (ko) 2016-10-07 2023-03-17 엑셀시스 코포레이션 직접-접합된 네이티브 상호접속부 및 능동 베이스 다이
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
EP3662474B1 (en) 2017-07-30 2023-02-22 NeuroBlade Ltd. A memory-based distributed processor architecture
KR102586173B1 (ko) * 2017-10-31 2023-10-10 삼성전자주식회사 프로세서 및 그 제어 방법
CN108182471B (zh) * 2018-01-24 2022-02-15 上海岳芯电子科技有限公司 一种卷积神经网络推理加速器及方法
US11501138B1 (en) 2018-04-20 2022-11-15 Perceive Corporation Control circuits for neural network inference circuit
CN110991124B (zh) * 2018-09-29 2022-04-12 长鑫存储技术有限公司 集成电路修补方法及装置、存储介质、电子设备
US11604973B1 (en) 2018-12-05 2023-03-14 Perceive Corporation Replication of neural network layers
US11847567B1 (en) 2018-12-05 2023-12-19 Perceive Corporation Loss-aware replication of neural network layers
CN109870909B (zh) * 2019-03-01 2022-04-15 中国人民解放军陆军装甲兵学院 一种基于rbf神经网络和自适应搜索的人工免疫算法
US11599299B2 (en) 2019-11-19 2023-03-07 Invensas Llc 3D memory circuit
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
CN112394281B (zh) * 2021-01-20 2021-04-23 北京燧原智能科技有限公司 测试信号并行加载转换电路和系统级芯片

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4326259A (en) * 1980-03-27 1982-04-20 Nestor Associates Self organizing general pattern class separator and identifier
US4760604A (en) * 1985-02-15 1988-07-26 Nestor, Inc. Parallel, multi-unit, adaptive, nonlinear pattern class separator and identifier
EP0378115B1 (en) * 1989-01-06 1998-09-30 Hitachi, Ltd. Neural computer
JP2940933B2 (ja) * 1989-05-20 1999-08-25 株式会社リコー パターン認識方式
US5222193A (en) * 1990-12-26 1993-06-22 Intel Corporation Training system for neural networks and the like
US5272657A (en) * 1991-07-26 1993-12-21 American Neuralogix, Inc. Fuzzy pattern comparator having automatic update threshold function
FR2687814A1 (fr) * 1992-02-26 1993-08-27 Philips Electronique Lab Processeur neuronal a cellules synaptiques reparties.
US5579440A (en) * 1993-11-22 1996-11-26 Brown; Robert A. Machine that learns what it actually does

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
久間、中山・編,「ニューロコンピュータ工学」,日本,株式会社工業調査会,1992年 2月20日,初版,pp.56−70,ISBN:4−7693−5053−8
佐藤、津雲,「改良ベクトル量子化と文字認識への応用」,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1993年12月14日,Vol.93,No.376(NC93−55〜67),pp.41−49
内村国治・他,「超大規模LSI化に適した識別領域形状可変型ニューロン回路」,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1990年10月26日,Vol.90,No.274(CPSY90−75〜81),pp.13−20
黒川忠由,「ニューラル・ネットワークとその開発支援ソフト」,インターフェース,日本,CQ出版株式会社,1989年10月 1日,Vol.15,No.10,pp.239−250,ISSN:0387−9569

Also Published As

Publication number Publication date
CA2149479A1 (en) 1996-01-29
EP0694854A1 (en) 1996-01-31
EP0694854B1 (en) 2002-06-05
DE69430744T2 (de) 2003-01-30
CA2149479C (en) 2001-05-15
US5717832A (en) 1998-02-10
JPH08171540A (ja) 1996-07-02
DE69430744D1 (de) 2002-07-11

Similar Documents

Publication Publication Date Title
JP3407266B2 (ja) ニューラル・ネットワークおよびニューラル・チップ
JP3407265B2 (ja) ニューロン回路
JP3172405B2 (ja) デイジー・チェーン回路
JP3177133B2 (ja) 集合回路
JP3798451B2 (ja) 事前装填回路
US5046019A (en) Fuzzy data comparator with neural network postprocessor
US10891544B2 (en) Event-driven universal neural network circuit
US5444822A (en) Semiconductor integrated circuit device carrying out parallel operational processing with electronically implemented neural network
JP3088766B2 (ja) ハイアラーキー ニューラル ネットワークに用いる分類方法及びネットワーク
US6502083B1 (en) Neuron architecture having a dual structure and neural networks incorporating the same
US5634063A (en) Neural network and method for operating the same
CA2135857A1 (en) Neural network utilizing logarithmic function and method of using same
JPH03125257A (ja) ニューラル・ネットワーク及び適応推論システム
Verleysen et al. A new CMOS architecture for neural networks
Walker et al. An adaptive, CMOS neural array for pattern association
Heileman et al. A neural net associative memory for real-time applications
Faure et al. A cellular architecture dedicated to neural net emulation
Cho Silicon neural networks for optimization problems
EP1405262A2 (en) Circuits for pre-charging global resources in all the free neurons of an artificial neural network
Austin Neural networks as components
Chiu et al. An architecture design using VLSI building blocks for dynamic programming neural networks

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090314

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees