(57)【特許請求の範囲】
【請求項１】
学習アルゴリズム
Ｗｉ  ＝  Ｗｉ−１  ＋  η＊（Ｘｉ  −  Ｗｉ−１）
ただし
Ｗｉは、重みを表すデータ，
Ｗｉ−１は、前の重みを表すデータ，
ηは、塑性信号，および
Ｘｉは、入力信号を表すデータ
とする学習アルゴリズムを利用する少なくとも１つの処理要素を有するニューラル・ネットワークにおいて、前記処理要素のため拡張精度を具備する適応型重み調整を生成する方法であって：
η＊（Ｘｉ  −  Ｗｉ−１）項を表すデータ（２０）と、η＊（Ｘｉ  −  Ｗｉ−１）項を表す追加分数データ（２８）とを生成する段階；
前記η＊（Ｘｉ  −  Ｗｉ−１）項および前記分数データを監視（４２）して、以下の段階、すなわち、
前記η＊（Ｘｉ  −  Ｗｉ−１）項を表すデータがゼロに等しくない場合に、前記η＊（Ｘｉ  −  Ｗｉ−１）項を前記Ｗｉ−１項に加算する段階と、
前記η＊（Ｘｉ  −  Ｗｉ−１）項がゼロに等しく、かつ前記分数データがある定められた量よりも大きい場合に、第１の所定の量を前記Ｗｉ項に加算する段階と、
前記η＊（Ｘｉ  −  Ｗｉ−１）項を表すデータがゼロに等しく、かつ前記分数データがある定められた量よりも小さい場合に、第２の所定の量を前記Ｗｉ項に加算する段階と
のうち１つを実行する段階；
によって構成されることを特徴とする方法。
【請求項２】
学習アルゴリズム
Ｗｉ  ＝  Ｗｉ−１  ＋  η＊（Ｘｉ  −  Ｗｉ−１）
ただし
Ｗｉは、重みを表すデータ，
Ｗｉ−１は、前の重みを表すデータ，
ηは、塑性信号，および
Ｘｉは、入力信号を表すデータ
とする学習アルゴリズムを利用する少なくとも１つの処理要素を有するニューラル・ネットワークにおいて、前記処理要素のため拡張精度を具備する適応型重み調整を生成する方法であって：
η＊（Ｘｉ  −  Ｗｉ−１）項を表す極性符号を含むデータ（２０）と、η＊（Ｘｉ  −  Ｗｉ−１）項を表す追加分数データ（２８）とを生成する段階；
可変修正数（３７，４１’）を与える段階；
前記追加分数データを前記修正数と比較（４０、４１’）して、＞，＝，＜をそれぞれ表す第１，第２および第３ランダム修正信号（４３，４４，４５）を与える段階；および
以下の段階、すなわち、
前記η＊（Ｘｉ  −  Ｗｉ−１）項を表すデータがゼロに等しくない場合に、前記η＊（Ｘｉ  −  Ｗｉ−１）項を前記Ｗｉ−１項に加算する段階と、
前記η＊（Ｘｉ  −  Ｗｉ−１）項を表すデータのすべてがゼロに等しく、前記第３ランダム修正信号が与えられ、前記η＊（Ｘｉ  −  Ｗｉ−１）項を表す極性符号が＋の場合に、第１の所定の量を前記Ｗｉ−１項に加算する段階と、
前記η＊（Ｘｉ  −  Ｗｉ−１）項を表すデータがゼロに等しく、前記第３ランダム修正信号が与えられ、前記η＊（Ｘｉ  −  Ｗｉ−１）項を表すデータの極性符号が−の場合に、第２の所定の量を前記Ｗｉ−１項に加算する段階と、
前記η＊（Ｘｉ  −  Ｗｉ−１）項を表すデータがゼロに等しく、前記第１および第２ランダム修正信号のうち一方が与えられる場合に、第３の所定の量を前記Ｗｉ−１項に加算する段階と
のうち１つを実行する段階；
によって構成されることを特徴とする方法。
【請求項３】
学習アルゴリズム
Ｗｉ  ＝  Ｗｉ−１  ＋  η＊（Ｘｉ  −  Ｗｉ−１）
ただし
Ｗｉは、重みを表す複数のデータ・ビット，
Ｗｉ−１は、格納済み重みを表す同様な複数のデータ・ビット，
ηは、塑性信号，および
Ｘｉは、入力信号を表す同様な複数のデータ・ビット
とする学習アルゴリズムを利用する少なくとも１つの処理要素を有するニューラル・ネットワークにおいて、前記処理要素のため前記同様な複数のデータ・ビットの拡張精度を具備する適応型重み調整を生成する方法であって：
前記Ｗｉ−１項を表す複数のデータ・ビットを格納する（１２）段階；
Ｘｉを与える段階；
ηを与える段階；
Ｗｉ−１，Ｘｉ，ηを利用して、前記η＊（Ｘｉ  −  Ｗｉ−１）項を表す符号ビットを含む同様な複数のデータ・ビットと、前記η＊（Ｘｉ  −  Ｗｉ−１）項を表す追加の最下位データ・ビット（２８）とを生成する（１５，２０）段階；
乱数（３７）を生成する段階；
前記乱数を前記追加最下位データ・ビットの絶対値（３５）と比較（４０）し、＞，＝，＜をそれぞれ表す第１，第２および第３ランダム修正信号を与える段階；
以下の段階、すなわち、
前記符号ビットを除いて、前記η＊（Ｘｉ  −  Ｗｉ−１）項を表す同様な複数のデータ・ビットのうち少なくとも１つが１に等しい場合に、前記η＊（Ｘｉ  −  Ｗｉ−１）項を前記Ｗｉ−１項に加算する段階と、
前記η＊（Ｘｉ  −  Ｗｉ−１）項を表す同様な複数のデータ・ビットのすべてがゼロに等しく、前記第３ランダム修正信号が与えられ、前記η＊（Ｘｉ  −  Ｗｉ−１）項を表す同様な複数のデータ・ビットの前記符号ビットが＋の場合に、第１の所定の量を前記Ｗｉ−１項に加算する段階と、
前記η＊（Ｘｉ  −  Ｗｉ−１）項を表す同様な複数のデータ・ビットのすべてがゼロに等しく、前記第３ランダム修正信号が与えられ、前記η＊（Ｘｉ  −  Ｗｉ−１）項を表す同様な複数のデータ・ビットの前記符号ビットが−の場合に、第２の所定の量を前記Ｗｉ−１項に加算する段階と、
前記η＊（Ｘｉ  −  Ｗｉ−１）項を表す同様な複数のデータ・ビットのすべてがゼロに等しく、前記第１および第２ランダム修正信号のうち一方が与えられる場合に、第３の所定の量を前記Ｗｉ−１項に加算する段階と
のうち１つを実行することによってＷｉを判定する段階；および
前記Ｗｉ−１項を表す格納された複数のビットを、前記判定されたＷｉを表す同様な複数のビットと置換する（５６）段階；
によって構成されることを特徴とする方法。
【請求項４】
学習アルゴリズム
Ｗｉ  ＝  Ｗｉ−１  ＋  η＊（Ｘｉ  −  Ｗｉ−１）
ただし
Ｗｉは、重みを表すデータ，
Ｗｉ−１は、前の重みを表すデータ，
ηは、塑性信号，および
Ｘｉは、入力信号を表すデータ
とする学習アルゴリズムを利用する少なくとも１つの処理要素を有するニューラル・ネットワークにおける、拡張精度を具備する適応型重み調整回路であって：η＊（Ｘｉ  −  Ｗｉ−１）項を表すデータと、前記η＊（Ｘｉ  −  Ｗｉ−１）項を表す追加分数データ（２８）とを生成する装置（１５，２０，２２）；および
前記η＊（Ｘｉ  −  Ｗｉ−１）項および前記分数データを監視して、以下の段階、すなわち、
前記η＊（Ｘｉ  −  Ｗｉ−１）項を表すデータがゼロに等しくない場合に、前記η＊（Ｘｉ  −  Ｗｉ−１）項を前記Ｗｉ−１項に加算する段階と、
前記η＊（Ｘｉ  −  Ｗｉ−１）項がゼロに等しく、かつ前記分数データがある定められた量よりも大きい場合に、第１の所定の量を前記Ｗｉ−１項に加算する段階と、
前記η＊（Ｘｉ  −  Ｗｉ−１）項がを表すデータゼロに等しく、かつ前記分数データがある定められた量よりも小さい場合に、第２の所定の量を前記Ｗｉ−１項に加算する段階と
のうち１つを実行する段階を実行する回路（４０，４２，４１’，４２’）；によって構成されることを特徴とする回路。
【請求項５】
学習アルゴリズム
Ｗｉ  ＝  Ｗｉ−１  ＋  η＊（Ｘｉ  −  Ｗｉ−１）
ただし
Ｗｉは、重みを表す複数のデータ・ビット，
Ｗｉ−１は、格納済み重みを表す同様な複数のデータ・ビット，
ηは、塑性信号，および
Ｘｉは、入力信号を表す同様な複数のデータ・ビット
とする学習アルゴリズムを利用する少なくとも１つの処理要素を有するニューラル・ネットワークにおいて、拡張精度を具備する適応型重み調整回路であって：
Ｘｉの複数のデータ・ビット用の端子を含むデータ入力（１７）；
重み情報Ｗｉ−１の同様な複数のビットを格納する重み格納手段（１２）であって、Ｗｉ−１を与える格納情報出力と、新規重み情報Ｗｉの同様な複数のビットを受ける新規重み入力とを有する重み格納手段（１２）；
第１および第２入力を有する減算回路（１５）であって、前記第１入力は、Ｘｉを受けるべく結合され、前記第２入力は、前記重み格納手段の出力からＷｉ−１を受けるべく結合され、前記減算回路はさらに、差分情報Ｘｉ  −  Ｗｉ−１  の同様な複数のビットを与える差分出力を有する減算回路（１５）；
塑性信号ηを生成する塑性信号発生器（２２）；
前記差出力に結合されＸｉ  −  Ｗｉ−１  を受ける第１入力と、前記塑性信号発生器に結合されηを受ける第２入力とを有する乗算回路（２０）であって、前記乗算回路は、積情報η＊（Ｘｉ  −  Ｗｉ−１）の同様な複数のビットを与える積分出力を有し、積情報の追加最下位ビットを与えるＬＳＢ出力（２８）を有する乗算回路（２０）；
前記積出力に結合されη＊（Ｘｉ  −  Ｗｉ−１）を受ける第１入力（３１）と、第１の所定の信号を受けるべく結合された第２入力（３２）と、第２の所定の信号を受けるべく結合された第３入力（３３）と、第３の所定の信号を受けるべく結合された第４入力（３４）と、判定された重み変更を表す制御信号を受け取り、かつ印加された制御信号に応答して前記第１，第２，第３および第４入力のうち１つを選択する制御入力（Ｓ１，Ｓ０）とを有するマルチプレクサ回路（３０）であって、前記マルチプレクサ回路はさらに、重み変更情報の同様な複数のビットを与える重み変更出力を有するマルチプレクサ回路（３０）；
前記重み変更出力に結合され重み変更情報の複数のビットを受ける第１入力と、前記格納情報出力に結合されＷｉ−１を受ける第２入力とを有する加算回路（５５）であって、前記加算回路は、前記重み格納手段（１２）の前記新規重み入力に接続され（５６）、そこにＷｉを与える新規重み情報出力Ｗｉを有する加算回路（５５）；
可変数を表す複数のビットを与える出力を有する発生器（３７）；
前記乗算回路のＬＳＢ出力（２８，３５）を受けるべく結合された第１入力と、前記可変数を受けるべく結合された第２入力と、その間の比較を表す比較信号を与える出力（４３，４４，４５）とを有する比較器（４０）；および
前記乗算回路の前記積出力に結合され、η＊（Ｘｉ  −  Ｗｉ−１）を受ける第１入力と、前記乗算器の前記積出力に結合され、前記乗算回路の前記積出力の符号を表す信号を受ける第２入力と、前記比較器の出力に接続された第３入力とを有するビット変更論理回路（４２）であって、前記ビット変更回路は、前記マルチプレクサの制御入力に結合された出力を有し、制御信号（Ｓ１，Ｓ０）を供給し、前記η＊（Ｘｉ  −  Ｗｉ−１）の値，前記積の符号および前記比較信号の所定の組み合わせに応答して前記第１，第２，第３および第４入力のうち１つを選択するビット変更論理回路（４２）；
によって構成されることを特徴とする回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ニューラル・ネットワーク（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）に関し、さらに詳しくは、拡張精度（ｅｘｔｅｎｄｅｄ  ｐｒｅｃｉｓｉｏｎ）を具備する適応型重み調整回路（ａｄａｐｔｉｖｅ  ｗｅｉｇｈｔ  ａｄｊｕｓｔｍｅｎｔ  ｃｉｒｃｕｉｔ）を含む処理要素に関する。
【０００２】
【従来の技術】
一般に、人工ニューラル・ネットワーク（ａｒｔｉｆｉｃｉａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）  は、一般にすべての入力の加重和をとるだけのニューロン（ｎｅｕｒｏｎ）またはニューロード（ｎｅｕｒｏｄｅ）  と呼ばれる多くの単純な処理要素からなる。ニューラル・ネットワークは、与えられた入力に同時に応答する。その結果は特定のメモリ番地に格納されず、ある平衡状態に達した後に、ネットワークの全体的な状態からなる。
【０００３】
ニューラル・ネットワークの語彙では、「自己組織（ｓｅｌｆ−ｏｒｇａｎｉｚａｔｉｏｎ）  」という用語は、一般に、あるネットワークが入力パターンについて正しい解答が与えられずに学習できる能力を表す。かかる自己組織ネットワークは、Ｋｏｈｏｎｅｎ  学習システムにおいて利用される。Ｋｏｈｏｎｅｎ  自己組織ネットワークは、一見すると驚くほど単純であり、ニューロードの単一層からなり、これらのニューロードは層内および外界内で接続される。
【０００４】
実際には、入力パターンは複数の入力ベクトルまたは単純にこの説明では「入力」として表される。デジタル・ネットワークでは、便宜的な複数のデータ・ビット（例えば、８，１６など）によって定められる入力パターンがＫｏｈｏｎｅｎ  ネットワークに与えられる。Ｋｏｈｏｎｅｎ  層内の各ニューロードは、入力パターンを受け取り、この入力パターンとともにニューロード（同様なビット数を有する）に格納された重み（ｗｅｉｇｈｔ）の類似性測定（ｓｉｍｉｌａｒｉｔｙ  ｍｅａｓｕｒｅｍｅｎｔ）を算出し、この類似性測定とは、基本的に、格納された重みベクトルと入力パターン・ベクトルとの間の距離である。次に、ニューロードは、勝者（ｗｉｎｎｅｒ）と宣言されるもっとも近い類似性測定値を有するニューロードと、学習の優先権について競う。元の反復（ｉｔｅｒａｔｉｏｎ）  では、エリア内のいくつかのニューロードと、近い類似性測定値を有する少なくとも１つのニューロードとは、学習することが許可され、最終的には、１つのニューロードが勝者となり、信号を出力することが許可される。
【０００５】
一般に、Ｋｏｈｏｎｅｎ  ニューロードでは、格納された重みの１つを表す複数のビットを格納するためにランダム・アクセス・メモリ（ＲＡＭ）が用いられ、類似性測定を判定する機能はさまざまなデジタル構成要素（すなわち、乗算器，減算器，加算器など）によって実行される。さまざまなデジタル構成要素は、一般に時分割されるので、比較的単純・安価であるが、データ・ビットを格納するために必要なＲＡＭは完成システムでは主要コストとなる。さらに、格納されるデータ・ビット数を増加して、重みベクトルの定義を増加するため、ＲＡＭの保存容量を増加すると、ＲＡＭのコスト・寸法は急激に増大する。
【０００６】
【発明が解決しようとする課題】
従って、処理要素のコスト・寸法を大幅に増加せずに、処理要素の精度を向上させることは有利である。
【０００７】
本発明の目的は、拡張精度を具備する適応型重み調整を生成する新規な改善された方法を提供することである。
【０００８】
本発明の別の目的は、拡張精度を具備する適応型重み調整を生成する新規な改善された処理要素を提供することである。
【０００９】
本発明のさらに別の目的は、内蔵されるＲＡＭのサイズを増加せずに、拡張精度を具備する適応型重み調整を生成する新規な改善された方法を提供することである。
【００１０】
本発明のさらに別の目的は、コストおよび寸法がほとんど増加しない、拡張精度を具備する適応型重み調整を生成する新規な改善された方法を提供することである。
【００１１】
【課題を解決するための手段】
上記の問題等および上記の目的は、ニューラル・ネットワークにおいて部分的に解決・達成され、このニューラルネットワークは、
Ｗｉ  ＝  Ｗｉ−１  ＋  η＊（Ｘｉ  −  Ｗｉ−１）
の形式の学習アルゴリズムを利用する少なくとも１つの処理要素を有し、ここで
Ｗｉは、調整済み重みを表す複数のデータ・ビット，
Ｗｉ−１は、以前の重みまたは格納済み重みを表す、同様な複数のデータ・ビット，
ηは、塑性信号（ｐｌａｓｔｉｃｉｔｙ  ｓｉｇｎａｌ）  ，
Ｘｉは、入力信号を表す同様な複数のデータ・ビットである。
処理要素は、拡張精度を具備する適応重み調整を生成する方法において用いられ、この方法は、η＊（Ｘｉ  −  Ｗｉ−１）項を表す同様な複数のデータ・ビット（Ｗｉと同様なビット数）と、さらにη＊（Ｘｉ  −  Ｗｉ−１）を表す追加最下位データ・ビットとを生成することを含む。可変修正数（ｖａｒｉａｂｌｅ  ｍｏｄｉｆｙｉｎｇ  ｎｕｍｂｅｒ）  が与えられ、追加最下位データ・ビットと比較され、それぞれ＞，＝，＜を表す第１，第２，第３ランダム修正信号が与えられる。次に、以下の段階のうち１つが実行される：η＊（Ｘｉ  −  Ｗｉ−１）を表す同様な複数のデータ・ビットのうち少なくとも１つが１に等しい場合に、η＊（Ｘｉ  −  Ｗｉ−１）項がＷｉ−１項に追加される；η＊（Ｘｉ  −  Ｗｉ−１）項を表す同様な複数のデータ・ビットのすべてがゼロに等しく、第３ランダム修正信号が与えられ、η＊（Ｘｉ  −  Ｗｉ−１）項を表す同様な複数のデータ・ビットの符号ビットが＋の場合に、第１の所定の量（例えば、＋１）がＷｉ−１項に追加される；η＊（Ｘｉ  −  Ｗｉ−１）項を表す同様な複数のデータ・ビットのすべてがゼロに等しく、第３ランダム修正信号が与えられ、η＊（Ｘｉ  −  Ｗｉ−１  ）  を表す同様な複数のデータ・ビットの符号ビットが−の場合に、第２の所定の量（例えば、−１）がＷｉ−１項に追加される；およびη＊（Ｘｉ  −  Ｗｉ−１）項を表す同様な複数のデータ・ビットのすべてがゼロに等しく、第１および第２ランダム修正信号のうち１つが与えられる場合に、第３の所定の量（例えば、０）がＷｉ−１項に追加される。
【００１２】
【実施例】
図１を参照して、ニューラル・ネットワークで用いられるように設計された処理要素１０を示し、これは汎用学習アルゴリズム
Ｗｉ  ＝  Ｗｉ−１  ＋  Ａｉ
を利用する。処理要素１０は、デルタ・ルール，バック・プロパゲーション（ｂａｃｋ  ｐｒｏｐａｇａｔｉｏｎ），Ｋｏｈｈｏｎｅｎなどを利用するネットワークを含むさまざまな適応型ニューラル・ネットワークで利用できる。上記のアルゴリズムにおいて、Ｗｉは、調整済み重み（ａｄｊｕｓｔｅｄ  ｗｅｉｇｈｔ）  を表す複数のデータ・ビットであり、Ｗｉ−１は、格納済み重み（ｓｔｏｒｅｄ  ｗｅｉｇｈｔ）  を表す複数の格納ビット（Ｗｉと同様なビット数）であり、Ａｉは、修正子＋１，−１および０のうち１つまたは積η＊（Ｘｉ  −  Ｗｉ−１）を表す同様な複数のデータ・ビットであり、ここでηは塑性信号（ｐｌａｓｔｉｃｉｔｙ  ｓｉｇｎａｌ）  であり、Ｘｉは入力信号を表す同様な複数のデータ・ビットである。
【００１３】
処理要素１０は、以下では簡単に重みという重みベクトル（ｗｅｉｇｈｔ  ｖｅｃｔｏｒ）  を格納するランダム・アクセス・メモリ（ＲＡＭ）１２を含む。処理要素１０では、ＲＡＭ１２に格納され、バス１４上で利用可能な重みは、未修正重み（ｕｎｍｏｄｉｆｉｅｄ  ｗｅｉｇｈｔ）  を示すためＷｉ−１と表される。また、この特定の実施例では、説明のため、Ｗｉ−１のみを８デジタル・ビットによって定め、そのためＲＡＭ１２は８ビットを格納でき、バス１４は８本のラインを含む。前述のように、ＲＡＭ１２は処理要素１０のコストの大部分を占め、処理要素の残りの部分は、完成システムで時分割されると、比較的小さく安価な部分である。
【００１４】
バス１４の８本のラインは、減算回路１５の８ビット入力に接続される。また、入力信号Ｘｉを表す同様な複数のデータ・ビット（この実施例では、８）は、処理要素１０の入力端子１７に供給される。８ライン・バス１８は、入力端子１７から減算器１５の第２の８ビット入力に接続される。従って、Ｗｉ−１を表す８ビット・データおよびＸｉを表す８ビット・データは、減算器１５に印加され、この減算器は差信号Ｘｉ  −  Ｗｉ−１  を表す８ビット・データを与える。
【００１５】
減算器１５からの差信号は、シフト・レジスタ２０に供給される。シフト・レジスタ２０はこの特定の実施例で用いられるが、マルチプレクサ，バレル・シフタ（ｂａｒｒｅｌ  ｓｈｉｆｔｅｒ）なども必要に応じて代用できることが理解される。シフト・レジスタ２０は第２入力端子を有し、この第２入力端子は、本実施例では、塑性発生器２２からの塑性信号ηを表す３ビット信号を受けるべく接続される。本開示に限り、「塑性（ｐｌａｓｔｉｃｉｔｙ）」という用語は、処理される反復（ｉｔｅｒａｔｉｏｎ）  の数に一般に従ってデータを変更するために用いられる学習定数（ｌｅａｒｎｉｎｇ  ｃｏｎｓｔａｎｔ）  または修正子（ｍｏｄｉｆｉｅｒ）を意味する。この特定の開示では、塑性定数は、０≦η＜１の範囲である。一般に、塑性定数は最初に大きくまたは最大であり、徐々に大きさが小さくなり、データのゼロ変化または変更（ａｌｔｅｒａｔｉｏｎ）に漸近的に近づく。シフト・レジスタ２０は、差信号Ｘｉ  −  Ｗｉ−１  および塑性信号ηの受信に応答して、積η＊（Ｘｉ  −  Ｗｉ−１）を実行または生成する。当技術分野で周知なように、シフト・レジスタ２０は、２−  η乗算を実際に実行し、これは単純な右シフトである。
【００１６】
シフト・レジスタ２０は、η＊（Ｘｉ  −  Ｗｉ−１）を表す同様な複数のデータ・ビット（すなわち、８ビット）を生成する。ビット２６は、複数のビットの最上位ビット（ＭＳＢ：ｍｏｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）  であり、ビット２７は最下位ビット（ＬＳＢ：ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）である。さらに、シフト・レジスタ２０は、ＬＳＢ２７以下の補助（ｓｕｐｐｌｅｍｅｎｔａｌ）または分数（ｆｒａｃｔｉｏｎａｌ）データ・ビットを生成する分数部２８を含み、補助または分数データ・ビットとは実質的には、η＊（Ｘｉ  −  Ｗｉ−１）項の分数部分を定めるビット数である。この特定の実施例では、分数ビットとして３ビットが与えられるが、任意の便宜的な分数ビット数を利用してもよく、ただし、大きい分数ビット数はより精細な定義を与えるが、大きすぎるビット数は処理要素１０が情報を利用できる能力を超えることがあることを理解されたい。
【００１７】
シフト・レジスタ２０のＭＳＢ２６からＬＳＢ２７の複数のデータ・ビット（すなわち、８ビット）は、マルチプレクサ回路３０の、同様な数を含む第１セットの入力３１に印加される。この特定の実施例では、ＭＳＢ２６は、バス１４上の格納された重み（Ｗｉ−１）がバス１８上の入力信号Ｘｉよりも大きいか小さいかを定める符号ビットである。マルチプレクサ回路３０は、第１の所定の信号（または重み量）が連続的に印加される第２セットの入力３２と、第２の所定の信号が連続的に印加される第３セットの入力３３と、第３の所定の信号が連続的に印加される第４セットの入力３４とを有する。この特定の実施例における説明に限り、第１の所定の信号はすべて論理高または１（１１１１１１１１）であり、これは−１で、また第２の所定の信号は、論理高であるＬＳＢを除き、すべて論理低（０００００００１）であり、これは＋１で、また第３の所定の信号はすべて論理低または０（００００００００）であり、これは０である。当技術分野で周知なように、マルチプレクサ回路３０は、４つのセットの入力３１〜３４に印加される４つの異なる信号の任意の１つを出力するように制御できる。マルチプレクサ３０は、この実施例では、２ビット信号をＳ０  およびＳｉ  と記された一対の端子に印加することによって制御される。
【００１８】
シフト・レジスタ２０の分数部２８によって生成される追加データ・ビットは、分数の絶対値に変換され、格納デバイスまたはラッチ３５に印加される。乱数発生器（ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒ）  ３７は、ランダム・ビット数（ラッチ３５に格納されるビット数と同様）を生成するために設けられる。ラッチ３５に格納された分数またはビットは、比較器４０において、乱数発生器３７からのランダム・ビットと比較される。乱数が分数の値よりも大きい（＞）場合、第１ランダム修正信号が第１リード４３上でゲート回路４２に供給される。乱数が分数の値に等しい（＝）場合、第２ランダム修正信号が第２リード４４上でゲート回路４２に供給される。乱数が分数の値よりも小さい（＜）場合、第３ランダム修正信号が第３リード４５上でゲート回路４２に供給される。
【００１９】
また、ゲート回路４２は、シフト・レジスタ２０の出力リード２６から、符号ビットを受け取るべく接続された入力を有する。最後に、シフト・レジスタ２０の出力２６，２７上のすべての８ビットはＯＲゲート５０において周知の方法で合成され、出力信号はゲート回路４２の入力端子に印加される。基本的に、ＯＲゲート５０は、シフト・レジスタ２０のすべて８つの出力が論理低または０の場合に、第１信号を供給し、シフト・レジスタ２０の８つの出力のうち少なくとも１つが論理高または１の場合に、第２信号を供給する。
【００２０】
この特定の実施例では、マルチプレクサ３０は、図２の表に基づいて設計される。すなわち、２つの論理低または０が端子Ｓ０  およびＳ１  に印加されると、入力３４が選択され、すべて論理低または０がマルチプレクサ３０の出力端子に現れる。論理低が端子Ｓ１  に印加され、論理高が端子Ｓ０  に印加されると、入力３３が選択され、ＬＳＢ（＋１）を除くすべて論理低がマルチプレクサ３０の出力端子に現れる。論理低が端子Ｓ０  に印加され、論理高が端子Ｓ１  に印加されると、入力３２が選択され、すべて論理高（−１）がマルチプレクサ３０の出力端子に現れる。そして、２つの論理高または１が端子Ｓ０  およびＳ１  に印加されると、入力３１が選択され、シフト・レジスタ２０からのすべての出力ビットはマルチプレクサ３０を通過し、マルチプレクサ３０の出力端子に現れる。
【００２１】
ゲート回路４２は、単純な論理回路でも任意の論理同等（例えば、ＲＯＭテーブル，ＲＡＭテーブルなど）でもよく、また以下の判定を行うことができるより複雑な半導体ＣＰＵ，ＡＩなどの一部として内蔵してもよい。ＯＲゲート５０が第２信号をゲート回路４２に供給する（シフト・レジスタ２０の８出力のうち少なくとも１つが論理高）の場合、ゲート回路４２は１を両方の端子Ｓ０  およびＳ１  に供給する。ＯＲゲート５０が第１信号をゲート回路４２に供給する（シフト・レジスタ２０のすべての８出力が論理低）の場合、ゲート回路４２は比較器４０の出力を調べる。乱数発生器３７によって生成された乱数がラッチ３５からの分数の絶対値よりも大きい場合、２つの０がＳ０  およびＳ１  入力にそれぞれ印加される。また、乱数発生器３７によって生成された乱数がラッチ３５からの分数ビットの絶対値と等しい場合、２つの０がＳ０  およびＳ１  入力に印加される。乱数発生器３７によって生成される乱数がラッチ３５からの分数ビットの絶対値よりも小さい場合、符号ビットが調べられ、符号が＋（Ｓ１  ＝０，Ｓ０  ＝１）の場合、＋１が加算され、符号が−（Ｓ１  ＝１，Ｓ０  ＝０）の場合、−１が加算される。
【００２２】
マルチプレクサ３０の出力端子は、加算器５５の第１セットの入力端子に接続される。バス１４の８本のラインは、加算器５５の第２入力セットに接続され、未修正重みＷｉ−１をそこに印加する。従って、加算器５５の出力はＷｉ−１  ＋  Ａｉ  となり、ここでＡｉは、修正子＋１，−１および０のうち１つ、または積η＊（Ｘｉ  −  Ｗｉ−１）をあらわす同様な複数のデータ・ビットである。Ｗｉと記されるこの出力は、ＲＡＭ１２に対する入力として８リード・バス５６に印加され、そこで未修正重みＷｉ−１を置換する。未修正重みＷｉ−１が置換されるか、あるいはＷｉに修正されると、第２反復が開始され、再２反復のため新たな重みがバス１４上で用いられる。ここで、処理要素１０の任意のまたはすべての構成要素は、単一の半導体チップ上に内蔵でき、少ない数の追加ビットおよびこのビットを処理する構成要素は比較的小さく、処理要素１０に集積しやすくなる。
【００２３】
基本的に、未修正または格納済み重みＷｉ−１および入力信号Ｘｉは比較され、これらの類似性について判断する。その差が論理低（すべてゼロ）以外の場合、各反復中に格納済み重みを修正するためにη＊（Ｘｉ  −  Ｗｉ−１）項が用いられる。すべてゼロに変更するため格納済み重みが十分修正される（ある数の反復が実行される）とすぐに、追加ビットが処理され、ビット差の分数がどれだけ大きいかを調べる。この処理を行うため、ビット差の分数は乱数と比較される。ビット差の分数が大きければ、乱数はビット差の分数の絶対値よりも小さく（＜）、反復の大きな割合および第１または第２の所定の量（この実施例では、＋１または−１）がＷｉ−１に加算される場合が多くなる。ビット差の分数がゼロに近づく（小さくなる）と、乱数よりも大きくなり、反復の小さな割合および第１または第２の所定の量がＷｉ−１に加算される場合が少なくなる。従って、未修正または格納積み重みＷｉ−１が１１ビット精度で入力信号Ｘｉにほぼ漸近的に近づく。
【００２４】
図３を参照して、デジタルではなくアナログの拡張精度装置を利用する処理要素１０’の簡略ブロック図を示す。図３の処理要素１０’は、図１の処理要素１０と類似し、同様な構成要素は、同様な番号で表され、ただしすべての番号は異なる実施例を表すためプライム（’）が付されている。さらに図１の処理要素１０の構成要素と同様であり同じように動作する処理要素１０’の構成要素は、以下では詳しく説明しない。
【００２５】
分数データを表す、シフト・レジスタ２０’の分数部２８’からの３データ・ビットは、デジタル／アナログ変換器３５’に供給され、ここで分数データに比例するアナログ電圧、電荷，分極（ｐｏｌａｒｉｚａｔｉｏｎ）などに変換される。正または負の値であるこの電圧（または電荷，分極など）は、すでにアナログ・メモリ・セル４１’に格納済みの電圧に加算される。アナログ・メモリ・セル４１’は、浮動ゲート・メモリ・セル，強誘電メモリ・セルなどを含んでもよい。従って、アナログ・メモリ・セル４１’は、経時的に静電気を集める。
【００２６】
格納データの符号を表す、アナログ・メモリ・セル４１’の符号出力は、リード４３’上でゲート回路４２’の入力に直接供給され、格納データの値または大きさを表す値出力は、第２リード４４’上でリミタ４６’の入力に印加される。リミタ４６’は、閾値を実質的に含み、この閾値以下では信号は出力されない。リミタ４６’の閾値を越えると、リード４５’上でゲート回路４２’の第２入力に信号が供給される。リード４３’，４５’上の信号は協調して、ゲート回路４２’に０，１または１，０をマルチプレクサ３０’のＳ１  およびＳ０  入力に供給させて、その結果、マルチプレクサ３０’からフル＋１または−１がそれぞれ出力される。
【００２７】
また、リミタ４６’からのリード４５’上の値出力は、ＡＮＤゲート４７’の第１入力に供給される。ＡＮＤゲート４７’の第２入力４８は’は、格納されたデジタル重み（例えば、ＲＡＭ１２’からの信号）がフル±１によって変更されたという事実を表す信号を受けるために接続される。ＡＮＤゲート４７’からの出力信号は、アナログ・メモリ・セル４１’に供給され、セルを元の設定（例えば、０）にリセットし、そのためアナログ・メモリ・セル４１’はデータ収集を再び開始できる。
【００２８】
本構造のデジタル版とアナログ版との間のもう１つの相違点は、ＲＡＭ１２’に格納される各デジタル重みは、関連するアナログ・メモリ・セル４１’を有することである。従って、ＲＡＭ１２’に格納されるデジタル重みおよび関連アナログ・メモリ・セル４１’は、同じアドレス・デコード・システム（図示せず）によってアドレス指定される。
【００２９】
また、８ビット構成要素および追加８ビットは説明のためにすぎず、任意の所望の便宜的な基本ビット数および追加ビット数を利用できることが当業者に理解される。また、処理要素１０について特定のデジタルおよびアナログ構成で説明したが、同様な概念はここで開示していない他の構成にも適用できると考えられる。
【００３０】
ここで、８ビットの主要構成要素しか必要としないが、処理要素１０は重み更新または学習について１１ビット精度に実質的に近づくことに留意されたい。さらに、シフト・レジスタ２０の分数部２８および接続される処理装置は、処理要素１０の小さく安価な部分にあり、ＲＡＭ１２に対して高価な変更はなされていない。従って、方法のコストをあまり増加しない、拡張精度を具備する適応型重み調整を生成する方法が開示される。さらに、処理要素のコストをあまり増加しない、拡張精度を具備する適応型重み調整が開示される。
【図面の簡単な説明】
【図１】本発明により拡張精度を具備する適応型重み調整を生成する方法において用いられる処理要素の簡略ブロック図である。
【図２】図１の処理要素の論理図表である。
【図３】拡張精度装置がアナログ回路である、図１に示すものと同様な処理要素の簡略ブロック図である。
【符号の説明】
１０  処理要素
１２  ＲＡＭ
１４  バス
１５  減算回路
１７  入力端子
１８  ８ライン・バス
２０  シフト・レジスタ
２２  塑性発生器
２６  ＭＳＢ
２７  ＬＳＢ
２８  分数部
３０  マルチプレクサ回路
３１  第１セットの入力
３２  第２セットの入力
３３  第３セットの入力
３４  第４セットの入力
３５  ラッチ
３７  乱数発生器
４０  比較器
４２  ゲート回路
４３  第１リード
４４  第２リード
４５  第３リード
５０  ＯＲゲート
５５  加算器
２８’分数部
３５’デジタル／アナログ変換器
４１’アナログ・メモリ・セル
４６’リミタ
４７’ＡＮＤゲート
４８’ＡＮＤゲートの第２入力
【図１】
0003634023.tif 000002
【図２】
0003634023.tif 000003
【図３】
0003634023.tif 000004