(57)【特許請求の範囲】
【請求項１】
活性化パルスおよび抑制パルスをそれぞれ計数する活性化計数回路および抑制パルス計数回路と、
前記活性化計数回路および抑制パルス計数回路に結合され、前記活性化計数回路および抑制パルス計数回路の差をとる加算回路と、
前記差を入力して、過去Ｓサンプルについて前記差を累積し、累積値が０以上となったときに、パルス信号を出力する累積回路と
を有することを特徴とする多数決ニューロン回路。
【請求項２】
請求項１に記載の多数決ニューロン回路において、前記累積回路の前記Ｓが可変であることを特徴とする多数決ニューロン回路。
【請求項３】
重みを格納するアップダウン・カウンタと、
前記アップダウン・カウンタからの重みと入力とを乗算するシナプス乗算器と、
前記シナプス乗算器からの入力を、入力の一つとする前記請求項１または２に記載の多数決ニューロン回路と
を有することを特徴とする多層ニューラル・ネットワーク・システム。
【請求項４】
請求項３に記載の多層ニューラル・ネットワーク・システムにおいて、前記シナプス乗算器は、直接デジタル周波数合成乗算器であることを特徴とする多層ニューラル・ネットワーク・システム。
【請求項５】
請求項３または４に記載の多層ニューラル・ネットワーク・システムにおいて、
前記多数決ニューロン回路からの出力を微分する微分器と、
前記微分器からの信号と、上層からの誤差信号とを乗算する論理積回路と、
上層からの重みの最上位ビットと、上層からの誤差信号の符号ビットとの排他的論理和をとる排他的論理和回路と、
前記論理積回路の出力を前記アップダウン・カウンタの入力とし、前記排他的論理和の入力により、前記アップダウン・カウンタのアップダウンを決定することにより、学習回路を構成することを特徴とする多層ニューラル・ネットワーク・システム。
【請求項６】
請求項５に記載の多層ニューラル・ネットワーク・システムにおいて、
前記論理積回路は、前記微分器からの信号にオフセットを加算してから、前記上層からの誤差信号を乗算することを特徴とする多層ニューラル・ネットワーク・システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
ニューラル・ネットワークを構成するニューロン回路およびそのニューロン回路を用いたニューラル・ネットワークに関する。
【技術背景】
ニューラル・ネットワークのハードウェア・インプリメンテーションに有効なアプローチの１つに、パルス信号を用い、確率計算処理(stochastic computing)を基にしたアーキテクチャがある（例えば、G. Moon, E. Zaghloul, and R. W. Newcomb, "VLSI Implementation of Synaptic Weighting and Summing in pulse Coded Neural-Type Cells," IEEE Trans. on Neural Networks, vol.3, no.3, pp.394-403, May 1992  および、Y. C. Kim, M. A. Shamblatt, "Random noise effects in pulse-mode digital multilayer neural networks," IEEE Trans. on Neural Networks, vol.6, no.1, pp.220-229, January 1995を参照)。
【０００２】
ここで使用している確率パルス・モード・ニューロンの欠点は、パルスの非線形性によってもたらされる活性化関数はほぼ固定化され、パルス・コードの精度が完全なデジタル算術演算の精度より劣ることである（例えば、Leonardo M. Reyneri, "A performance analysis of pulse stream neural and fuzzy computing systems" IEEE Trans. on CAS, vol.42, no.10, pp641-644, 1997を参照)。もう１つの問題は、パルス・モード・シナプスの乗算器の重みの範囲が−１．０から＋１．０の間に制限されてしまい、そのためにパルス・モード・ネットワークを学習させることを難しくしていることである。
【０００３】
これらの問題を解決するために、多数決回路を基にした有効なニューロン(effective neuron)が提案されている(例えば、H. Hikawa, "Learning performance of frequency-modulation digital neural network with on-chip learning," Proceeding, IEEE ICNN'98, pp.557-562, 1998を参照)。多数決回路はニューロンの精度を向上し、そのうえ多数決回路は拡張されて、非線形活性化関数を調整可能となった。しかしながら、付加回路のためにニューロンの回路のサイズは確率ニューロンよりも大きなものとなっている。
【０００４】
【発明が解決しようとする課題】
本発明では、多数決回路のサイズの縮小したニューロン回路と、そのニューロン回路により構成された多層ニューラル・ネットワーク(multilayer  neural network:  MNN)を目的としている。
本発明においては、多数決ニューロン回路は、パフォーマンスを低下させずに回路のサイズを小さくすることが目的である。また、ニューラル・ネットワークで最も重要な特徴は学習能力であり、オンチップ上で学習機能を実現することができる、多層ニューラル・ネットワーク構成も本発明の目的である。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明は、活性化パルスおよび抑制パルスをそれぞれ計数する活性化計数回路および抑制パルス計数回路と、前記活性化計数回路および抑制パルス計数回路に結合され、前記活性化計数回路および抑制パルス計数回路の差をとる加算回路と、前記差を入力して、過去Ｓサンプルについて前記差を累積し、累積値が０以上となったときに、パルス信号を出力する累積回路とを有することを特徴とする多数決ニューロン回路である。この構成により、パフォーマンスを低下させずに回路のサイズを小さくすることができる。
この多数決ニューロン回路において、前記累積回路の前記Ｓが可変をすることにより、活性化関数の非線形特性の傾きを変化させることができる。
【０００６】
重みを格納するアップダウン・カウンタと、前記アップダウン・カウンタからの重みと入力とを乗算するシナプス乗算器と、前記シナプス乗算器からの入力を、入力の一つとする上述に記載の多数決ニューロン回路とで、多層ニューラル・ネットワーク・システムを構成することができる。
この多層ニューラル・ネットワーク・システムでは、前記シナプス乗算器は、直接デジタル周波数合成乗算器とすることができる。
【０００７】
この多層ニューラル・ネットワーク・システムで、前記多数決ニューロン回路からの出力を微分する微分器と、前記微分器からの信号と、上層からの誤差信号とを乗算する論理積回路と、上層からの重みの最上位ビットと、上層からの誤差信号の符号ビットとの排他的論理和をとる排他的論理和回路と、前記論理積回路の出力を前記アップダウン・カウンタの入力とし、前記排他的論理和の入力により、前記アップダウン・カウンタのアップダウンを決定することにより、オンチップ学習機能を有する学習回路を構成することができる。
また、前記微分器からの信号からの信号にオフセットを加算してから、前記上層からの誤差信号とを乗算することにより、バックプロパゲーション・アルゴリズムが改善される。
【０００８】
【発明の実施の形態】
まず、本発明で用いるニューロンおよびそのニューロンを用いた多層ニューラル・ネットワーク(multilayer  neural network:  MNN)の概略を説明する。
多層ニューラル・ネットワーク(multilayer  neural network:  MNN)の順方向動作では、下層のニューロンからのデータを、順送接続ネットワーク（Feed-forward connection)を経由して上層のニューロンに伝達される。ｓ番目の層のｋ番目のニューロンをｏk(s)とすると、各ニューロンで行われる演算は
【数１】
0003822382.tif 000002
【数２】
0003822382.tif 000003
で与えられ，各層には０〜Ｍの番号を付与してあり、Ｈk(s)はｓ番目の層のｋ番目のニューロンの重み付け和で、ｗkj(s)はシナプスの重みである。ニューロンの出力ｏk(s)は、重み付け和に対して活性化関数ｆ（＊）を演算して得られたものである。パルス・モード演算では、パルスの密度は信号レベルに比例しており、ニューロン信号はパルス・ストリームで表される。
【０００９】
使用しているニューロン・ユニットでは、下層の重み付けされたニューロンの出力は合算され、その出力は活性化関数ｆ（＊）を用いて生成される。従来の確率ニューロンにおいては、刺激と抑制のシナプス信号がＯＲゲートによって合計され、そして、これらの信号はニューロンの出力を生成するのに用いられている。
【数３】
0003822382.tif 000004
ここで、ｐNは刺激信号であり、ｎNは抑制信号である。
さて、この確率演算に基づくニューロン回路において問題となることは、ニューロンの確率演算が不正確であることである。たとえば、従来のニューロンにおいては、複数の刺激パルスは単一の抑制パルスによってキャンセルされるので、抑制パルスよりも多く刺激パルスが存在していても出力が起こらない。本発明のニューロン回路は刺激と抑制のパルスの数を考慮にいれている。本発明のニューロン・ユニットの構成は、図１のブロック図に示されている。
【００１０】
図１において、パルス計数回路１１２および１１４は、刺激パルスＮE（ｉ）の数と抑制パルスＮi（ｉ）の数を数える。パルス計数回路１１２および１１４で計数されたこれらのパルスの数の差Ｄ（ｉ）は、加算回路１２２で計算される。過去のＳ個のサンプルの差Ｄ（ｉ）がレジスタＲ１４０内に累積され、レジスタＲ１４０の内容が０より大きいときに、レジスタＲ１４０から出力が生成される。
【００１１】
さて、確率ニューロンと同様に、多数決ニューロンは統計的飽和（statistical saturation）を利用しており、図１においても、非線形活性化関数ｆ（Ｈk）を実現するために、非線形の加算を用いている。パルスがあまり頻繁ではない（低信号レベル）限り、多数決回路の出力におけるパルス計数は、入力における個々のパルス計数の単純合計に等しい。しかしながら、パルスがもっと頻繁（より高い信号レベル）になると、パルスが互いにマスクする機会が重要になる。合計のパルス計数は、このようにして最大に飽和することになる。しかし、これにより得られる非線形活性化関数は、特性が固定されてしまう。図１では、遅延回路１３０および加算回路１２４で、移動平均を演算することとほぼ同じ働きを行うにより、特性を可変できる非線形関数を実現している。遅延回路１３０に示したパラメータＳは遅延を示している。これにより低域フィルタとして動作することになる。本発明の図１に示したニューロンにより提供される非線形関数は、パラメータＳにより変えることが可能である。
【００１２】
したがって、本発明のニューロンの演算は
【数４】
0003822382.tif 000005
ニューロンの出力ｏ（ｉ）は，
【数５】
0003822382.tif 000006
となる。
【００１３】
本発明において、オンチップ学習をハードウェアに実装するために、バックプロパゲーション・アルゴリズムは単純パルス・モード動作を有するように修正されている。オンチップ学習を有する本発明のＭＮＮアーキテクチャーのシステム構成は、図２に示されている。
【００１４】
図２において、修正多数決ニューロン２１８および２２８は、図１に示したニューロン回路である。図２のＭＮＮアーキテクチャーで実現しているバックプロパゲーション・アルゴリズムは、次のように表される。
【数６】
0003822382.tif 000007
【数７】
0003822382.tif 000008
【数８】
0003822382.tif 000009
【００１５】
順方向信号と同様に、式（６）中のエラー項σk(s)およびδk(s)は、パルス信号で表されている。これらの信号は、シナプスの重みを格納しているアップダウン・カウンタ２１４，２２４を更新するのに用いられる。式（６）中のｗkj(s+1)δj(s+1)を計算するために、実際の重みの値の代わりに、重みのサイン・ビット（ＭＳＢ：最上位ビット）がエラー項δj(s+1)と掛けられる。この演算を実行する回路は単一の排他的論理和回路２４０であり、重みのＭＳＢ（最上位ビット）が１のときサイン信号を反転する。式（７）のσk(s)ｆ’（Ｈk(s)）中の乗算および式（９）中のσk(s)０j(s-1)の乗算は、論理積回路２３８、および、論理積回路２１２，２２２により実現している。ｆ’（Ｈk(s)）は、活性化関数の導関数である。導関数ｆ’（Ｈk(s)）を生成するのに用いられている微分器２３２は、図３に示されている。微分器２３２は、パルス・ストリームの先頭と最後を検出したときに、常に出力パルスを与える。バックプロパゲーション・アルゴリズムによるＭＮＮの学習動作は、導関数ｆ’（Ｈk）に、リニア・フィードバック・シフトレジスタ（ＬＦＳＲ）２３４からのオフセットＧ（＜１．０）を加えることで改良される(例えば、H. Hikawa, "Improvement on the learning performance of multiplierless multilayer  neural network," Proceeding, IEEE ISCA'97, vol.1 pp.641-644, 1997参照)。
【００１６】
また、図２におけるシナプス乗算器２１６および２２６としては、２種類のシナプス重み乗算器を使用することができる。その１つが確率乗算器で、他のひとつが直接ディジタル周波数合成器（direct frequency synthesizer:ＤＤＦＳ）を基にした乗算器である(例えば、H. Hikawa, "Learning performance of frequency-modulation digital neural network with on-chip learning," Proceeding, IEEE ICNN'98, pp.557-562, 1998参照)。確率乗算器はサイクル時間がランダムであるランダム・パルス列を生成し、ＤＤＦＳ乗算器は固定されたサイクル時間の周波数変調されたパルス列を生成する。
【００１７】
従来の多数決ニューロン(例えば、H. Hikawa, "Learning performance of frequency-modulation digital neural network with on-chip learning," Proceeding, IEEE ICNN'98, pp.557-562, 1998参照)と、本発明のニューロンとの回路サイズの比較が図４に示されている。ここで、回路サイズは多数決ニューロンのサイズを１．０とするように規格化されている。本発明のニューロンの回路サイズは、従来の多数決ニューロンの２／３となっている。
【００１８】
上述の本発明のニューロン回路およびＭＮＮをＦＰＧＡ上に実装することができる。このようして、実装した本発明のニューロン回路の活性化関数の特性を次に示す。
Ｓ＝８およびＳ＝２４を有する提案ニューロンのＨkとｆ（Ｈk）との間の関係は、図５（Ａ），（Ｂ）に示されている。これらのグラフは、活性化関数の調整可能性は、ＤＤＦＳ型シナプス乗算器に対して、より重要であることを示している。ＤＤＦＳ重みの値が−１．０から１．０の間に制限されているとはいえ、活性化関数がより急勾配となっていることにより実効重み範囲が拡大されているため、提案ネットワークの柔軟性は大変改良されている。
【００１９】
次に、導関数ｆ’（Ｈk）を生成するために用いられた微分器の特性を示す。図５（Ａ）に示されているニューロン信号を入力として用いて、図３に示したパルス微分器の特性を図６に示す。図５（Ａ）に示されている非線形特性の導関数に極めて近い。
【００２０】
本発明のニューロンを用いて、例えばＦＰＧＡ上に構築したＭＮＮのオンチップ学習能力について次に説明する。
まず、本発明のＭＮＮを用いて単純な２進論理機能を実行した例を図７に示す。これに使用したＭＮＮは、３つのニューロンを入力層に、３つのニューロンを中間層に、単一の出力ニューロンを出力層に有している。入力層および中間層の双方に、オフセット・ニューロンを含んでいる。オフセット・ニューロンは常に１の出力を与え、オフセット・ニューロンに接続されている重みはオフセットθとして動作する。このため、中間層中のニューロンの実際の数は２つである。ＤＤＦＳシナプス・ユニットはシナプス乗算器として用いられ、ニューロンのパラメータＳは８である。
【００２１】
学習中におけるＭＮＮの信号は、図７に示されている。この図で、単純な論理機能（排他的論理和）が目的機能として使用されている。Ｉ0，Ｉ1は入力信号で、Ｔ0は教師信号、ＦＫ0はＭＮＮの出力である。図に示されているように、本発明のＭＮＮは排他的論理和を成功裡に学習している。
【００２２】
次に、本発明のネットワークで２次元の領域分類問題を実行した例を図８に示す。この例に使用したＭＮＮは、２つの入力および単一の出力を有している。出力は０≦ｘ＜１および０≦ｙ＜１の範囲内の四角形領域内の点の座標（ｘ，ｙ）である。提案ネットワークは、与えられた点が領域内か外側かどうかを認識するように学習する。ネットワークの出力は、点が外側である場合はゼロ、内側である場合は１である。
【００２３】
この２進分類の例に使用したネットワークは、２つの入力および単一のオフセットのニューロンを有する入力層、６つのニューロン（６番目のニューロンはもう一つのオフセット・ニューロン）を含む単一の中間層、および、単一の出力ニューロンを有する出力層を有している。図８〜１０の６つの教師パターンが提案ＭＮＮの学習能力を実験するために用いられている。図８〜１０の教師パターンは３つの異なる形状であり、各図（Ａ），（Ｂ）の形状は２５６または１２８のデータ・セットを有している。各図（Ｂ）の１２８の座標は、各図（Ａ）の形状の２５６の全座標情報からランダムに選択されたものである。学習後、全ての２５６の（ｘ，ｙ）座標はネットワークに印加され、ネットワークの応答が試験される。各図（Ｂ）では１２８の教師データにより学習されているので、未知の座標が与えられたとき、ＭＮＮは自身により出力値を演繹する必要がある。このように、汎化能力は、ネットワークの出力を観察することにより試験することができる。
【００２４】
図８〜図１０のおける上述の教師セットおよびＭＮＮの応答を結果において、出力レベルは黒い丸の直径で表現されている。図８（Ａ），（Ｂ）に示されているように、パラメータＳが増加すると、実効重み範囲がＳの増加とともに広がるため、出力パターンは明確になる。その上、出力プロットは、教師データが不完全でも、目的形状にとても似てくる。
【００２５】
図９，図１０は、異なる教師データを用いた他の学習例を示している。これは、図８と同様な構成のネットワークに対して、教師データを与えて、そのネットワーク出力を示している。図９，図１０の学習結果は図８の結果と比較すると、図１０の成果は劣っている。しかし、図８〜図１０からも分かるように、ネットワークは、これらの形状範囲を分類するように学習している。図１０に示す円の場合が、本発明のＭＮＮが学習するのに最も難しいパターンである。より良い出力結果を得るためには、ネットワークは中間層内にもっと多くのニューロンが必要である。
これらから明確に分かるように、本発明のＭＮＮにおいて、オンチップ学習がとてもよく機能していることを示している。そして、本発明のＭＮＮは大変良い汎化能力を有している。
【００２６】
【発明の効果】
上記の説明のように、本発明は、回路サイズが小さい多数決ニューロン回路であり、この回路を用いた多層ニューラル・ネットワークは、学習能力が優れている。
【図面の簡単な説明】
【図１】本発明の実施形態であるニューロン回路の構成を示すブロック図である。
【図２】本発明の実施形態であるニューラル・ネットワークの構成を示すブロック図である。
【図３】微分器の構成例を示すブロック図である。
【図４】ニューロンの回路サイズの比較表である。
【図５】Ｈkとｆ（Ｈk）との関係を示す図である。
【図６】図３の微分器の特性を示す図である。
【図７】本発明のニューラル・ネットワークの動作例である。
【図８】本発明のニューラル・ネットワークの他の動作例である。
【図９】本発明のニューラル・ネットワークの他の動作例である。
【図１０】本発明のニューラル・ネットワークの他の動作例である。
【符号の説明】
１１２，１１４  パルス計数回路
１２２，１２４，１２６  加算回路
１３０  遅延回路
１４０  レジスタ
２１２，２２２，２３８  論理積回路
２１４，２２４  アップ・ダウン・カウンタ
２１６，２２６  シナプス乗算器
２１８，２２８  修正多数決ニューロン
２３２  微分器
２３４  リニア・フィードバック・シフトレジスタ
２３６  論理和回路
２４０  排他的論理和回路
【図１】
0003822382.tif 000010
【図２】
0003822382.tif 000011
【図３】
0003822382.tif 000012
【図４】
0003822382.tif 000013
【図５】
0003822382.tif 000014
【図６】
0003822382.tif 000015
【図７】
0003822382.tif 000016
【図８】
0003822382.tif 000017
【図９】
0003822382.tif 000018
【図１０】
0003822382.tif 000019