JP3461525B2 - データを正規化する手段を含むニューラル・プロセッサ - Google Patents

データを正規化する手段を含むニューラル・プロセッサ

Info

Publication number
JP3461525B2
JP3461525B2 JP10121893A JP10121893A JP3461525B2 JP 3461525 B2 JP3461525 B2 JP 3461525B2 JP 10121893 A JP10121893 A JP 10121893A JP 10121893 A JP10121893 A JP 10121893A JP 3461525 B2 JP3461525 B2 JP 3461525B2
Authority
JP
Japan
Prior art keywords
neuron
processor
neural
quotient
neurons
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
JP10121893A
Other languages
English (en)
Other versions
JPH07271748A (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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
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 Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JPH07271748A publication Critical patent/JPH07271748A/ja
Application granted granted Critical
Publication of JP3461525B2 publication Critical patent/JP3461525B2/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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、1つの入力データXを
もう1つの入力データYで割った商Qを計算することに
より、入力データXを入力データYに対して正規化する
ニューラル計算手段を有するニューラル・プロセッサに
関する。
【0002】ニューラル・プロセッサは類別問題に使用
される、特に、形状や文字の認識、音声信号の処理、画
像処理、情報圧縮、等々に使用される。一般に入力デー
タは物理量で表される。
【0003】
【従来の技術】ニューラル・ネットワークの種々のタイ
プに関する情報は、例えばIEEE ASSP誌、1987年4月
号、第4〜22頁所載の、R.P.LIPPMANNによる“An intro
ductionto computing with neural nets"という文献に
記載されている。
【0004】ニューラル・プロセッサ中の上述のプロセ
スのある物は、これを実行するのに、例えば逐次的な学
習段階の中間ステップとしてのデータを正規化する必要
があり得る。ニューラル・プロセッサ自身が正規化ステ
ップを実行すれば好都合である。かようなステップは反
復的であり得る因数によるディジタル・データの束の分
割から成る。
【0005】ニューラル・タイプのタスク(分解、学
習)を実行することからは独立に、ニューラル・プロセ
ッサはデータの正規化のための計算を実行するディジタ
ル・データ処理装置と考えることもできる。
【0006】分割を実行するニューラル・アーキテクチ
ャーがElectronics Letters誌1989年3月号、Vol.25、N
o.5、334〜335ページ所載の、H.HUNG及びP.SIY による
“High-Speed division unit using asymmetric neural
network architecture"という文献に記載されている。
この引用文献は、2進記号で表されている一方が他方の
倍数である2つの数の商の各ビットのカスケード(縦
続)計算を実行する非対称のニューラル・アーキテクチ
ャーを記述している。この商はその整数部分に限定され
ている。このアーキテクチャーは、データの積の総和を
算出し非線形伝達関数を適用する増幅器を用いて、アナ
ログ・ニューラル・プロセッサで実行される。商の各ビ
ットは、先行のビットを考慮に入れて逐次決定されるの
で、商の計算には大きな数の計算サイクルが必要となろ
う。
【0007】このことはまた、段々低くなる桁のビット
を定めるニューロンは漸増する数の入力を含むことを意
味する。そのような演算モードは、演算の程度を下げる
ことなしにディジタル技術に転換することができない。
【0008】
【発明が解決しようとする課題】本発明の目的は、最少
の規模のハードウェア手段のみを用い、計算サイクル数
を減らして、1つの入力データXをもう1つの入力デー
タYで割った商Qを計算することにより、データを正規
化する能力のあるニューラル・プロセッサを提供するこ
とである。種々の入力X及びYに適合するための計算手
段を再構成することは容易でなければならず、計算の精
度は予め定められていなければならない。
【0009】
【課題を解決するための手段】この目的は、ニューラル
・プロセッサを用いて達成され、このニューラル・プロ
セッサに対して上記計算手段は、 ・一纏めになって算術的基底(ベース)B上で商Qの数
式を形成する一連の寄与分(コントリビューション)
【数7】 を繰り返し計算する少なくとも1つのニューロンと、 ・商Qを生成するために上記寄与分ΔQiを総計するこ
とにより部分商QPを反復的に更新する少なくとも1つの
ニューロンとを活性化するようプログラムされているも
のである。
【0010】従って基底Bのサイズを選ぶことは可能で
あり、それ故に計算されるべき寄与分ΔQiの数を選ぶ
こと、及び更に速い又は更に遅い実行を得るためにニュ
ーロンの数を選ぶこともまた可能である。こうして多重
ハードウェア手段を用いる高速用に、或いはハードウェ
ア手段の量を減らして実行速度を遅くするために、その
いずれかを選ぶことが可能である。繰り返しによる演算
はハードウェアをかなり減少させることを可能とする。
【0011】商Qは任意の基底B上で
【数8】 として表すことができる。
【0012】基底及びmの値の選定もまた予め定めるべ
き計算の精度を可能にする。Qを1ユニットの精度で得
るためには、qn・Bnからq0・B0までのみを使えば十
分である。そうするとQはX対Yの比の整数部分であ
る。本発明では正のデータX及びYを用いる。入力デー
タが負であるときは、このデータの絶対値を考えるだけ
で十分である。
【0013】本発明によれば、−m≦i≦nなるすべて
の項qi.iは、最大項qn.nから始めて順次決定
される。これらの項は基底B上で定められ、この基底は
任意でよい。基底Bの選定はニューラル・プロセッサの
アーキテクチャーが構築されるやり方で決定される。基
底BのサイズBが定められると、各項qi.iを計算
するため各値qiが定められ、この目的のために数個の
項j・Biが計算され、それに対し値jは決定されるべ
き値qiを内包している。基底Bに対しては、jの値は
0とB−1の間にある。値0は計算を必要としないか
ら、これらの項は、1≦j≦B−1に対して決定され
る。従ってニューラル・プロセッサの演算は、並列的に
動作する最大では(B−1)個のニューロン又はニューロ
ン群を必要とするか、又は(B−1)個の計算ステップに
対し逐次的に動作する少なくとも1個のニューロンを必
要とする。その中間を用いることもあり得る。高速の実
行は、大きいサイズの基底Bを持つ(B−1)個のニュー
ロン又はニューロン群の並列演算によって得られる。低
速の実行は、ある限定された数のニューロンを引き続く
数個のステップで演算することによるか、又は基底Bに
対し更に小さいサイズを選ぶことにより得られる。
【0014】原理的にはニューラル・プロセッサは、ニ
ューロン状態Viを記憶するメモリと、シナプス係数C
ijを記憶するメモリと、重み付けした総和を計算するた
めのユニットΣCijiと、ニューロン状態Vjを生成す
るための上記総和に非線形関数を適用するユニットとに
より形成される。この最後のものは実行された演算の結
果を、すなわち本発明の場合には正規化の結果を構成す
る。
【0015】本発明によれば、上記メモリ及び上記ユニ
ットは、初期値によってプログラムされる。それらの初
期値のうちのあるものは固定値であり、他のものは2つ
の入力データの割り算を実行するため規則的に更新され
る。各計算サイクル中に、部分商QP及び恐らくは部分
剰余RPが決定され、これらの値は更新される。計算の
終わりには、最後の部分商QPは最終商Qを、またRP
は最終剰余を構成する。各サイクル中に、得られた結果
はこうして次のサイクル用にリサイクルされる。
【0016】1つの実例では、部分剰余RPを計算する
ことなく部分商QPのみを用いる。この場合には、部分
商QPは初期には0であり、上記計算手段は、 a) 1からB−1まで変化するjと初期には初期には最
大数に等しい整数であるiとに対し、少なくとも1つの
ニューロンにより実行される(B−1)回の演算の回数に
相当する複数の商
【数9】 を計算する; b) SD0≧0、SDB<0、及びsign(0)=+1とするとき、
【数10】 であることが確認される値j=qiを決定する; c) 寄与分ΔQi=qi・Biを決定する; d) 新しい部分商を
【数11】 となるように決定する; e) Qに対し所定の精度を規定する最小値に達するまで
先行の繰り返し演算により商Qを決定するようにiを減
少させる;ようにプログラムされている。
【0017】もう1つの実例では、部分商と部分剰余R
Pの双方を用いる。この場合には、計算手段は、部分剰
余RPi=X−QPiY を計算するようプログラムさ
れ、部分剰余は初期にはXに等しく且つ
【数12】 のように反復により更新される。
【0018】計算手段は更にまた、複数の商
【数13】 も計算することができる。
【0019】上記ステップa)の(B−1)回の演算は、並
列に演算するようプログラムされている(B−1)個のニ
ューロン又はニューロン群により実行できる。これらの
(B−1)回の演算はまた、もし結果を得る速度が重要で
ないならば、(B−1)回の引き続く計算ステップで動作
する単一のニューロン又はニューロン群により実行でき
る。
【0020】(B−1)回の演算は更に、一部は並列過程
を、また一部は反復過程を実行するニューロン群に分散
することもできる。
【0021】寄与分ΔQiを計算する上記ステップa)、
b)、c)は、選択した基底Bの大きさに応じて、少なくと
も単一のニューロンで実現することができる。
【0022】引き続く寄与分ΔQiの累計用の上記ステ
ップd)もやはり少なくとも単一のニューロンで実現でき
る。
【0023】大きさが2の基底Bを使うとき、商の計算
は2つのニューロンだけを使って実行できる。
【0024】上述したデータの正規化の演算は一般的
に、分解フェーズや学習フェーズに関する所定のニュー
ロン処理ステップの終わりに生じる。従ってニューラル
・プロセッサのニューロンは、所定の瞬間にデータの正
規化を実行するのに用いることができ、また他の瞬間に
実際のニューロン過程を実行するのに用いることができ
る。それ故に、ニューラル・プロセッサは、正規化の演
算専用の特定のニューロンを含む必要はない。しかし、
ニューラル・プロセッサはデータの正規化専用に使うこ
ともできる。
【0025】
【実施例】以下、本発明の種々の態様及びその他の態様
を、図面を参照した実施例によって説明する。
【0026】図1は、ニューラル・プロセッサ10の既知
のアーキテクチャーの簡易化した概略図である。入力手
段INP13(例えば入力レジスタ又は入力端子)は入力
データ9を処理ユニット11に与え、処理ユニット11はま
た、記憶手段12に記憶されたシナプス係数Cijをも受け
取る。シナプス係数Cijはソース・ニューロンjをデス
ティネーション・ニューロンiに接続するシナプスの重
み付けを特徴付ける。処理ユニット11は更にまた、記憶
手段14に記憶されたニューロンの状態をも受け取る。
【0027】ニューロンがソース・ニューロンとして動
作するときには、その状態をVjで表し、それがデステ
ィネーション・ニューロンとして動作するときには、そ
の状態をViで表す。各デスティネーション・ニューロ
ンに対して、処理ユニット11は次の計算
【数14】 を実行する。
【0028】処理ユニット11は、指標jのすべてのソー
ス・ニューロンについて総和を算出し、デスティネーシ
ョン・ニューロンiのニューラル電位POTiを出力す
る(接続8)。このニューラル電位POTiは、デステ
ィネーション・ニューロンiの新しいニューロンの状態
iを生成する非線形関数NLF15の支配下にある。こ
の新しい状態Viは記憶手段14を更新するのに使われ、
他のニューロンについての処理が継続される。非線形関
数NLFを与える手段15はニューラル・プロセッサ10の
外に示されている。図1は単にアーキテクチャーを説明
するものに過ぎず、これらの付与手段15はニューラル・
プロセッサ10の内部に配置することもできる。それらは
またニューロンの一部にのみ関与することもある。ホス
ト・コンピュータ16がニューラル・プロセッサ内のメカ
ニズムのアセンブリの演算開始を制御する。簡単のため
に、制御手段や学習手段のような他の部分は省略してあ
る。
【0029】例えば、ニューラル・プロセッサは一群の
要素中の異なるカテゴリーA、B、Cを並べ替え(ソー
ト)するのに使うこともできる。計算されたニューロン
の状態は、これらの異なるカテゴリーを計数することを
可能にする。ここで例えば学習のような所定の演算の進
行過程で、入力データをノルムに関して表現することが
必要であり得る。従って例えば、最大データが最大ノル
ムを超えないことを保証することによりすべてのデータ
を正規化する必要があり得る。それ故に、正規化すなわ
ちすべてのデータを最大データにより除算する必要があ
る。それはまた、ニューラル・プロセッサの外部で生成
されるデータにも関係し得る。
【0030】本発明は2つのタイプのニューロンを利用
する。1番目のタイプのニューロン(図2A)は加算器と
して動作し、非線形関数Fを与える手段を含まない。本
来それは2つのシナプス係数C1、C2を記憶する手段を
有し、これらのシナプス係数C1、C2に入力値Z1、Z2
をそれぞれ乗算して積C11、C22を形成する。これ
らの積は加算器Σ中で加算され、出力値Zを出力して
【数15】 となる。
【0031】2番目のタイプのニューロン(図2B)は試
験器として動作し、1番目のタイプのニューロンと同じ
構成要素を持つが、更に非線形関数Fを与える手段20
(例えば比較器)も有する。従ってこのニューロンの出
力は
【数16】 という値Zを供給する。
【0032】非線形関数Fは図2Cで表される。手段20
(図2B)は加算器Σの出力信号を受け取る入力eを持
ち、この信号は値0と比較される。この入力eが負の信
号を受け取るとき、又は正の信号を受け取るときには、
手段20はそれぞれ−v2又は+v1なる値の信号を出力す
る。以後説明する大多数の実施例で、値+v1/−v2
1/0、j/0、Bi/0のいずれかである。
【0033】〔1番目の実例(第1グループ)〕 図3は、値Xを値Yに関して正規化するようプログラム
した計算手段を図式的に示すものである。手段30は、一
方ではデータYの値に基づいて、またもう一方では部分
剰余RPに基づいて、寄与分(コントリビューション)
【数17】 を逐次計算する。初期には QP=0 及び RP=X である。各寄与分ΔQiは、iを最大値imaxから減少す
る整数とするとき
【数18】 に従ってRP及びQPを更新するのに用いられる。
【0034】これらの更新演算は、1番目のタイプの2
つのニューロンNQ及びNRを用いる。各ニューロンは
累算器(アキュミュレータ)として動作するために循環
的に結合している。このループ型の演算には、各ニュー
ロンNQ、NRに対してその後にレジスタRQ、RRが
それぞれ続き、これらのレジスタが初等計算サイクル中
の結果を記憶することが必要である。レジスタRQは0
に初期化され、レジスタRRはXに初期化され、2つの
ニューロンのシナプス係数C1、C2がプログラムされ
る。
【0035】各ニューロンのパラメタZ1、C1、Z2
2の値を表1に示す。
【表1】
【0036】〔寄与分ΔQiの決定〕 〔1番目の実施例〕 図4は、1番目の実例の第1グループ用の手段30の1番
目の実施例を示す。商Qは基底(ベース)Bで表現され
る。並列的に動作するB−1個のニューロンNAj(1≦
j≦B−1) の層が、所定のiに対して1≦j≦B−1のとき(B−
1)個の項
【数19】 を決定するのに使われるのが好適である。 j=0の項
の計算には追加ニューロンは必要としない。ニューロン
NAjはすべてZ2及びRPi+1を受け取る。それらは、
量SDjを決定するようにプログラムされ、その量の値
は層中のニューロンのランクの指標jに依存する。項S
jはニューロンのニューラル電位POTを規定する。
【0037】項j・Bi・Yの決定には幾つかの組合せが
生じる。ニューロンNAjのパラメタZ1、C1、Z
2、C2は3通りの組合せを指示する次の表2に従って
プログラムされることになる:
【表2】
【0038】すべての量SDjが、その符号を決定する
ように、そしてそれから正か又は0である最小の量SD
jの指標j=qiを導くように試験される。さらに、非線
形関数Fをニューラル電位POTに適用する手段を含む
2番目のタイプのニューロンNAjが使用される。この
関数Fは
【数20】 で定義される関数F1である。
【0039】従って、すべての出力Djは 1≦j≦qi
対して1であり、また、すべての出力Djはqi<j≦B
−1に対して0である。
【0040】ニューロンの2番目の層NBj(1≦j≦B
−1)が、引き続く出力Dj及びDj+1 を一対単位で比較
する。こうして、ランクj=qiを持つ1つのニューロ
ンNBjが排他的に2つの異なるニューロンDj及びD
j+1を持ち、またqiに等しい出力を持ち、その他のニュ
ーロンは出力0を持つ。それ故に、ニューロンNBj
パラメタZ1、C1、Z2、C2は、次の表3(但しDB
0)に従ってプログラムされる:
【表3】
【0041】ニューロンNBjの出力が、層中の各ニュ
ーロンNBjの指標j(Dj≠Dj+1のとき)直接供給す
ることを達成するために、次の式:
【数21】 の応答を持つ関数F2を適用する手段を具えた2番目の
タイプのニューロンが使用される。
【0042】3番目の層が1番目のタイプのマルチ入力
ニューロンにより形成され、その入力の各々は次の表4
に従ってプログラムされる:
【表4】
【0043】代替案として、ニューロンNBjの非線形
関数Fを適用する手段が関数F3で動作し、従って
【数22】 となる限りにおいて、ニューロンNCの係数Cjを値1
に設定してもよい。
【0044】表1から表4までは、異なる係数を設定し
ている:固定係数、例えば1,−1、ニューラル・プロ
セッサがBの大きさに関連する正規化タスクのために用
いられる瞬時に、これらをロードする;例えばY,Xと
いう係数、これらは使用されるデータに依存し、新規の
各データX又はYに対しロードする;項Biを含む係
数、これらは各循環サイクル中に修正される。各サイク
ルの開始時に、Biの倍数であるこれらの係数は、対応
するニューロンの入力をも制御するホスト・コンピュー
タにより、最高係数Biから始まるようにロードされ
る。iの値は、処理容量を決定する最大値imaxにより
限定される。ニューラル・プロセッサは、所定値imax
を持つ所定の基底B (従って、ニューロンNAj、NBj
の数B−1)を持つ固定アーキテクチャーを持つと考え
ることができる。また同時に、ユーザーが基底Bの次数
を選択し、また値imaxをニューラル・プロセッサのハ
ードウェア容量の関数として選択すると考えることがで
き、結果的に係数をプログラムすると考えることができ
る。これらの選択は使われたデータ値X及びYに従って
なされる。
【0045】例えば、X及びYが、0≦X≦2r−1及
び1≦Y≦2r−1なる整数の場合には、imaxに対して
r≦B(imax+1)なる最小の整数を選択することができ
る。そうすると値imaxはデータX及びYにに依存しな
いという利点がある。
【0046】〔2番目の実施例〕 1番目の実例(第1グループ)の範囲内で、データの正
規化に参画するニューロンの数を限定することは有益で
あろう。図5は、ニューロンNBjの層が存在しない場
合を示している。
【0047】ニューロンNAjのニューロンは表2に対
応するデータを受け取り、それらの非線形関数はここで
もF1である。すべての出力Djが、DjをEjに置き換え
ることにより表4に従ってプログラムされた1番目のタ
イプのニューロンNCに与えられる。このようにしてニ
ューロンNCは、入力Dj=1に対応する寄与分Biの数
iを総計する。
【0048】この2番目の実施例の場合には、ニューロ
ンNCの係数Cjは、ニューロンNAjの非線形関数Fを
適用する手段が関数F4で動作し、従って
【数23】 となる限りにおいて、値1にプログラムすることができ
る。
【0049】〔1番目の実例(第2グループ)〕 一部はニューロンNQを、他の一部はニューロンNRを
持つニューロンNCと、ニューロンNCを融合して得ら
れた変形は、第1グループ内で既述の構造の各々に対応
する。これは次のようにして得られる:実施例に依存
し、且つそれぞれの場合に依存して1又はBiに等しい
係数Cjを持つところのEj又はDjに等しい入力Vjを以
前に受け取ったものであるニューロンNCを除外する;
j及びCjが以前に使ったニューロンNCに対応する下
記の表5のTABLE5(A)に従ってプログラムされたB個の
入力を含む1番目のタイプのニューロンで、図3のニュ
ーロンNQを置き換える;
【表5】 上記の表5のTABLE 5(B)(Vj及びCjに対しては同じ意
味を持つ)に従って、プログラムされたB個の入力を含
む1番目のタイプのニューロンで、図3のニューロンN
Rを置き換える。
【0050】この変形は前より1つ少ない層を有する。
【0051】〔2番目の実例〕 図6に、2番目の実例を図式的に示す。1番目の実例に
おけると同様に、計算の最後に最終剰余を供給するニュ
ーロンNRが設けられる。しかし今度は、ブロック30は
ΔQiの計算用に部分商QPを利用する。従って1番目
の実例に対して提示された構造の各々に、ΔQiの計算
に関与するニューロンNAjを除いた類似の構造が対応
する。計算ΔQiに関与するニューロンの最初の層は、
図2Bに示すタイプの3入力ニューロンNAjにより形
成され、これは追加入力Z3及びシナプス係数C3を含
む。表6に、ニューロンNAjのパラメタZ1、C1
2、C2、Z3、C3を示す。
【表6】
【0052】ΔQiの決定には、1番目の実例に対して
提示した2番目の実施例について記述した構造を用いる
のが好適である。
【0053】〔3番目の実例〕 3番目の実例はニューロンNRが使用されず、構造によ
り供給される唯一の結果が最後の商である(すなわち最
終剰余は供給しない)場合に対応する。これはRPの計
算を省略することを可能にする。3番目の実例の構造
は、ニューロンNR及びレジスタRRを含まないことを
除き、2番目の実例の構造と同一である。
【0054】ΔQiは、図5の構造と類似であり、そし
て2番目の実例に適用するために、図5の構造から導出
した構造により決定されるのが好適である。
【0055】更にまた、ニューロンNCがニューロンN
Qと融合している既述の第2グループを使うのが有利で
ある、と云うのは、そうすれば前と同様、構造中の1層
が省略される.NRが存在しないので、ΔQiの計算を
2度繰り返す必要がない.という2つの利点が得られる
からである。
【0056】〔B=2に対する特定の実例〕 使用されるハードウェア手段が簡単であるという理由で
興味のある場合として、基底Bの次数が2の場合があ
る。この場合には、値qiの決定には単一のニューロン
のみを必要とする。図7は、部分商QP及び部分剰余R
Pの決定を利用する実施例を示す。商Q及び剰余Rを決
定するには、3つのニューロンNA、NR、NQで十分
である。ニューロンNAの出力SNAは、値qiか又は
寄与分qi・Biかのいずれかを、用いる非線形関数に応
じて供給する。ニューロンNQ及びNRは1番目のタイ
プで、記憶レジスタRQ及びRRがそれぞれ続いてい
る。ニューロンNA(2番目のタイプ)のパラメタZ、
Cは、j=1のときの表2に従ってプログラムされる。
NAの加算器により供給されるデータに適用される非線
形関数Fは、前と同様に関数F1又はF4に従って適用さ
れる。関数F4の場合には、ニューロンNQ及びNRの
パラメタZ、Cは、ΔQiをSNAで置き換えて表1に
従ってプログラムされる。関数F1の場合には、ニュー
ロンNQ及びNRのパラメタZ、Cは、次の表7に従っ
てプログラムされる。
【表7】
【0057】B=2に対しても図8に従って、ハードウ
ェアを2ニューロンのみに減らすことが可能である。そ
の場合には部分剰余は決定されない。ニューロンNAの
パラメタはj=1のときの表6のパラメータと同じであ
る。ニューロンNQのパラメタ及び関数FはB=2のと
きの実例のパラメータと同じである。
【0058】〔B=2kの場合〕 基底の次数がkを整数とするときB=2kと書ける場合
は、値Biを含む所定の値を繰り返し計算するユニット
を使用することができる。例えば±j・Bi及び±Y・
iという値についての場合である。図9は、k位置シ
フトレジスタ82及びそれに続くところのその値が2
k・imaxに初期化できるレジスタ84を含むモジュール80
を示す。レジスタ84の出力は係数B=2k・iを供給し、
それは更にシフトレジスタ82の入力に与えられる。毎回
k位置を通る入力データをシフトすることにより因数2
kによる割り算ができるようになり、それにより上述の
方法を実行するため引き続く係数Biがすべて計算でき
る。このモジュール80は、パラメタZやCを決定するの
に使うことができる。
【0059】〔オーバーフロー〕 ニューラル・プロセッサは種々のパラメタZ、Cや種々
のニューラルデータX、Y、及び結果QP、RPを記憶
しなければならない。この目的のためにニューラル・プ
ロセッサはレジスタ及びメモリの最大容量に応じた処理
容量を持っている。
【0060】一般的に、もしニューロン状態レジスタ及
びシナプス係数メモリが(r+1)ビットの符号の付いた
語を記憶することができるならば、例えば、X及びYを
整数とするとき0≦X≦2r−1及び1≦Y≦2r−1な
るデータX及びYを処理することができる。それにも拘
らず、中間の計算は、例えば表2に示したような様々な
やり方で計算できる項j・Bi・Yを利用する。考えて
いる構造に依存して、パラメタr、B、Yに関しては何
の制約も課されないときに、ニューロンNAによってj
・Bi・Yの計算に使用される所定の中間計算は、(r+
1)ビットより多いビットを持つ語を必要とし得る。こ
のあり得る問題に対する幾つかの解が次のように提案さ
れる: 1) パラメタr、B、Y(但し1≦Y≦2r−1を除く)
に関し制約を課すことを、従って当該実施例に依存する
内部レジスタの長さを選択することをやめる。 2) すべてのレジスタに(r+1)ビットの長さを持た
せ、使用可能なハードウェア手段及び表2で選択したプ
ログラミング・モードに従ってパラメタr、B、Yに関
する制約を課すことにする。上述の制約は全ての問題を
避けるのに十分である、すなわち:Bは2の冪乗B=2
kとし、rはkの倍数とする。特にもしB=2でrは任
意とすれば、オーバーフローは起こらない、或いは、Y
に制限Ymaxを課し、Ymaxの値は、計算j・Bi・Y中
に含まれるすべての量 (例えば表2中のZ2=Y・Bi
はC2=−JY)を、(r+1)ビットのレジスタに記憶す
ることができるように選択する。 3) パラメタr、B、Yに制約を課すこと及び係数に対
し特定の値を選択することをやめている間は、すべての
レジスタに(r+1)ビットの長さを持たせる。各レジス
タの記憶容量は(r+1)ビットであると仮定する。RP
i+1の記憶は正しく学習したシステムに対してはオーバ
ーフローを起こさない。しかし、項
【数24】 の計算は、j及びiのいずれか一方又は双方の所定の値
に対しオーバーフローを起こさせて、負項SDjを生じ
得る。次にはSDjについて負の符号を検出するだけで
十分である。これは、表2でオーバーフローへ導くであ
ろうj及びiに対し係数C1=0及びC2=−1としてプ
ログラミングで達成できる。このプログラミングはホス
トコンピュータにより制御される。
【0061】従って当業者は、所定のプログラミング・
モードの1つを選択する。例えば表2又は表6中で、そ
してレジスタの長さ、ニューラル・プロセッサ中で使用
可能なメモリ、処理すべきデータ、及び所望の性能との
関数として、オーバーフロー問題への解の1つを選択す
る。
【0062】本発明は、整数又は実数としてのデータX
及びYを処理するのに用いることができる。
【0063】種々の実例はプロセッサの有効利用に当た
ってそれぞれ重要であり、考えられる様々の変形には次
のようなものがある: ・ニューロンの数がもっと多い、又はもっと少ない; ・例えばBi又はその値の倍数に等しい追加入力Zを必
要とする、又は必要としない; ・1つ又は幾つかの分割の過程でシナプス係数が固定又
は可変である; ・比較器の伝達関数が、除算において固定又は可変であ
る; ・外部又は内部の演算変数が、ニューロンの状態又はシ
ナプス係数として現れて、もしそれぞれのレジスタが同
じ長さでないならば、これらの変数の受容できる最大値
が更に高いか又は低い、このことは、オーバーフロー問
題を種々の方法で取り扱わなければならないことを意味
する。
【図面の簡単な説明】
【図1】 ニューラル・プロセッサの既知のアーキテク
チャーの概略図である。
【図2】 非線形関数を与えるための手段を持たないニ
ューロンの概略図Aと、非線形関数Fを与えるための手
段を具えるニューロンの概略図Bと、非線形関数Fを表
す曲線の図Cとを示す図である。
【図3】 部分剰余RPに基づいてΔQiを計算すること
により、本発明の商及び剰余計算手段の1番目の実例を
示す概略図である。
【図4】 部分剰余RPを利用して寄与分ΔQiを計算す
るための1番目の実施例を示す概略図である。
【図5】 部分剰余RPを利用して寄与分ΔQiを計算す
るための2番目の実施例を示す概略図である。
【図6】 部分剰余QPに基づいてΔQiを計算すること
により、商Q及び剰余Rを計算する計算手段の2番目の
実例を示す概略図である。
【図7】 基底Bの次数が2のとき、商Q及び剰余Rを
計算するための3ニューロンを持つ実例を示す概略図で
ある。
【図8】 基底Bの次数が2の場合に、商Qを計算する
ため2ニューロンを持つ実例を示す概略図である。
【図9】 基底Bの次数が2kのタイプの場合の2ki
タイプの項を計算するためのユニットの概略図である。
【符号の説明】
10 ニューラル・プロセッサ 11 処理ユニット 12, 14 記憶手段 13 入力手段 15 非線形関数NLFを与える手段 16 ホスト・コンピュータ 20 非線形関数Fを与える手段 30 データYの値及び部分剰余RPに基づいて寄与分Δ
i を逐次計算する手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ヤニック デヴィル フランス国 94440 ヴィルクレスネ リュ ドゥ セルセイ 3 (56)参考文献 特開 昭61−7939(JP,A) 特開 平3−87924(JP,A) 特開 昭60−160438(JP,A) 特開 平5−158660(JP,A) 特開 平2−252023(JP,A) 萩原宏,「電子計算機通論2」,日 本,株式会社朝倉書店,1971年 1月15 日,初版,pp.44−56,71−77,149 −152,155,156 久間和生・他,「ニューロコンピュー タ工学」,日本,株式会社工業調査会, 1992年 2月20日,初版,pp.107− 112,ISBN:4−7693−5053−8 佐野秀輝・他,「ニューラルネットワ ークによる濃淡画像識別システムの構 築」,電子情報通信学会技術研究報告, 日本,社団法人電子情報通信学会,1991 年 7月19日,Vol.19, No. 154(AI91−39〜47),pp.9−16 中村次男・他,「任意の精度に拡張容 易な除算器の提案」,電気学会論文誌 C,日本,社団法人電気学会,1991年 3月20日,Vol.111,No.3,p p.123−128 堀越,「コンピュータの高速演算方 式」,日本,株式会社近代科学社,1980 年 9月 1日,初版,pp.214− 283,302−307 萱島興三,「電子計算機の方式設 計」,日本,株式会社産報,1972年 7 月 1日,初版,pp.118−125 平山博・他,「改版電子計算機」,日 本,株式会社コロナ社,1977年 6月30 日,第9版,pp.242−248 (58)調査した分野(Int.Cl.7,DB名) G06N 1/00 - 7/08 G06F 7/52 G06F 7/00 JSTファイル(JOIS) CSDB(日本国特許庁)

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1入力データXを第2入力データYで
    割った商Qを計算することによって、第1入力データX
    を第2入力データYに対して正規化するニューラル計算
    手段(11〜15)を具えたニューラル・プロセッサにおい
    て、前記計算手段が、 一連の寄与分ΔQi=qi・Biを反復的に計算する少な
    くとも1つの第1ニューロン(30)を具えて、前記寄与分
    ΔQがまとまって、任意の算術的基底B上で商Qを形成
    し、ここにq及びiは整数であり、 前記計算手段がさらに、 前記少なくとも1つの第1ニューロンによって入力供給
    され、前記寄与分ΔQiを総計して前記商Qを形成する
    ことによって、部分商QPを反復的に更新する少なくと
    も1つの第2ニューロン(NQ)を具えていることを特徴
    とするニューラル・プロセッサ。
  2. 【請求項2】 前記部分商QPの初期値が0であり、前
    記計算手段を、次の一連のフェーズ: a) 複数の量SDjを、次式: SDj=X−(QPi+1+j・Bi)・Y に従って計算し、ここに前記複数は、少なくとも1つの
    ニューロンが、1からB−1まで変化する指標jについ
    て実行するB−1回の演算の回数であり、iは初期値が
    所定の最大数に等しい整数指標である。 b) sign(SDj)≠sign(SDj+1) であることが確認される値j=qiを特定し、ここにS
    0≧0、SDB<0であり、そしてsign(0)=+1とす
    る。 c) 寄与分ΔQi=qi・Biを特定する。 d) 新たな部分商を、次式: QPi=QPi+1+ΔQi により特定する。 e) iを減少させる。 f) iの最小値に達するまで、フェーズa)〜e)を繰
    り返して、商Qを所定精度で特定する。を実行するよう
    にプログラムしたことを特徴とする請求項1に記載のプ
    ロセッサ。
  3. 【請求項3】 前記計算手段がさらに、前記少なくとも
    1つの第1ニューロン(30)によって入力供給され、部分
    剰余 RPi=X−QPi・Y を計算する少なくとも1つの第3ニューロン(NQ)を具
    えて、 前記部分剰余は、初期値がXに等しく、次式: RPi=RPi+1−Y・ΔQi により反復的に更新され、ここにiは整数指標であり、
    iを最大値に初期化して、Qについての所望の精度を与
    えるための所定の最小値まで減少させることを特徴とす
    る請求項1に記載のプロセッサ。
  4. 【請求項4】 複数の量SDjを、次式: SDj=RPi+1−j・Bi・Y、 ここに、jは1からB−1まで変化する整数指標に従っ
    て計算するように、前記計算手段をプログラムしたこと
    を特徴とする請求項3に記載のプロセッサ。
  5. 【請求項5】 前記フェーズc)及び/またはd)を、少
    なくとも1つのニューロンによって実行することを特徴
    とする請求項2に記載のプロセッサ。
  6. 【請求項6】 B=2については、前記ニューラル・プ
    ロセッサが2つのニューロンで動作し、第1ニューロン
    (NA)が前記フェーズa)、b)、及びc)を実行し、第2
    プロセッサ(NQ)が前記フェーズd)を実行することを
    特徴とする請求項2に記載のプロセッサ。
  7. 【請求項7】 B=2については、前記ニューラル・プ
    ロセッサが2つのニューロンで動作し、第1ニューロン
    (NA)が前記フェーズa)、b)を実行し、第2ニューロ
    ン(NQ)が前記フェーズc)、d)を実行することを特徴
    とする請求項2に記載のプロセッサ。
  8. 【請求項8】 B=2については、前記ニューラル・プ
    ロセッサが3つのニューロンで動作し、第1ニューロン
    (NA)が前記フェーズa)、b)、及びc)を実行し、第
    2ニューロン(NQ)及び第3ニューロン(NR)がそれぞ
    れ、前記部分商の更新及び前記部分剰余の更新を実行す
    ることを特徴とする請求項3または4に記載のプロセッ
    サ。
  9. 【請求項9】 B=2については、前記ニューラル・プ
    ロセッサが3つのニューロンで動作し、第1ニューロン
    (NA)が前記フェーズa)、b)を実行し、第2ニューロ
    ン(NQ)及び第3ニューロン(NR)が前記フェーズc)
    を実行して、さらにそれぞれ、前記部分商の更新及び前
    記部分剰余の更新を実行することを特徴とする請求項3
    または4に記載のプロセッサ。
  10. 【請求項10】 前記計算手段を、1つの瞬時には除算
    を実行して、他の瞬時にはニューラル分解タスク及び/
    またはニューラル学習タスクを実行するようにプログラ
    ムしたことを特徴とする請求項1に記載のプロセッサ。
JP10121893A 1992-04-29 1993-04-27 データを正規化する手段を含むニューラル・プロセッサ Expired - Fee Related JP3461525B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9205282A FR2690771A1 (fr) 1992-04-29 1992-04-29 Processeur neuronal muni de moyens pour normaliser des données.
FR9205282 1992-04-29

Publications (2)

Publication Number Publication Date
JPH07271748A JPH07271748A (ja) 1995-10-20
JP3461525B2 true JP3461525B2 (ja) 2003-10-27

Family

ID=9429368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10121893A Expired - Fee Related JP3461525B2 (ja) 1992-04-29 1993-04-27 データを正規化する手段を含むニューラル・プロセッサ

Country Status (5)

Country Link
US (2) US5625753A (ja)
EP (1) EP0568146B1 (ja)
JP (1) JP3461525B2 (ja)
DE (1) DE69315250T2 (ja)
FR (1) FR2690771A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8655813B2 (en) 2010-12-30 2014-02-18 International Business Machines Corporation Synaptic weight normalized spiking neuronal networks
IT201700008949A1 (it) * 2017-01-27 2018-07-27 St Microelectronics Srl Procedimento di funzionamento di reti neurali, rete, apparecchiatura e prodotto informatico corrispondenti
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
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
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer 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
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety 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

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3733477A (en) * 1972-02-04 1973-05-15 Control Data Corp Iterative binary divider utilizing multiples of the divisor
US3828175A (en) * 1972-10-30 1974-08-06 Amdahl Corp Method and apparatus for division employing table-lookup and functional iteration
US4193115A (en) * 1977-12-15 1980-03-11 The United States Of America As Represented By The Secretary Of Commerce Method and apparatus for implementation of the CMAC mapping algorithm
US4503512A (en) * 1982-02-22 1985-03-05 Amdahl Corporation Cellular division circuit
JPS60164837A (ja) * 1984-02-07 1985-08-27 Nec Corp 除算装置
US4860241A (en) * 1986-10-30 1989-08-22 Harris Corporation Method and apparatus for cellular division
FR2625347B1 (fr) * 1987-12-23 1990-05-04 Labo Electronique Physique Structure de reseau de neurones et circuit et arrangement de reseaux de neurones
FR2646575A1 (fr) * 1989-04-26 1990-11-02 Labo Electronique Physique Procede et structure pour la compression de donnees
GB2236608B (en) * 1989-10-06 1993-08-18 British Telecomm Digital neural networks
EP0448890B1 (en) * 1990-03-30 1997-12-29 Koninklijke Philips Electronics N.V. Method of processing signal data on the basis of prinicipal component transform, apparatus for performing the method
US5206828A (en) * 1990-04-02 1993-04-27 Advanced Micro Devices, Inc. Special carry save adder for high speed iterative division
KR920009092B1 (ko) * 1990-04-03 1992-10-13 정호선 나눗셈기 회로
US5039870A (en) * 1990-05-21 1991-08-13 General Electric Company Weighted summation circuits having different-weight ranks of capacitive structures
FR2678407A1 (fr) * 1991-06-28 1992-12-31 Philips Electronique Lab Procede et dispositif avec un reseau neuronal pour classer des donnees, et appareil d'authentification de signature.
US5272660A (en) * 1992-06-01 1993-12-21 Motorola, Inc. Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
中村次男・他,「任意の精度に拡張容易な除算器の提案」,電気学会論文誌C,日本,社団法人電気学会,1991年 3月20日,Vol.111,No.3,pp.123−128
久間和生・他,「ニューロコンピュータ工学」,日本,株式会社工業調査会,1992年 2月20日,初版,pp.107−112,ISBN:4−7693−5053−8
佐野秀輝・他,「ニューラルネットワークによる濃淡画像識別システムの構築」,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1991年 7月19日,Vol.19, No.154(AI91−39〜47),pp.9−16
堀越,「コンピュータの高速演算方式」,日本,株式会社近代科学社,1980年 9月 1日,初版,pp.214−283,302−307
平山博・他,「改版電子計算機」,日本,株式会社コロナ社,1977年 6月30日,第9版,pp.242−248
萩原宏,「電子計算機通論2」,日本,株式会社朝倉書店,1971年 1月15日,初版,pp.44−56,71−77,149−152,155,156
萱島興三,「電子計算機の方式設計」,日本,株式会社産報,1972年 7月 1日,初版,pp.118−125

Also Published As

Publication number Publication date
EP0568146B1 (fr) 1997-11-19
DE69315250T2 (de) 1998-07-30
DE69315250D1 (de) 1998-01-02
FR2690771A1 (fr) 1993-11-05
EP0568146A1 (fr) 1993-11-03
US5784536A (en) 1998-07-21
US5625753A (en) 1997-04-29
JPH07271748A (ja) 1995-10-20

Similar Documents

Publication Publication Date Title
US10621486B2 (en) Method for optimizing an artificial neural network (ANN)
Zou et al. Numerical experience with limited-memory quasi-Newton and truncated Newton methods
US5519647A (en) Apparatus for and method of generating an approximation function
JP2662000B2 (ja) 神経回路網およびその回路網に用いる回路
JP3461525B2 (ja) データを正規化する手段を含むニューラル・プロセッサ
US5600843A (en) Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays
US5548686A (en) Neural comprising means for calculating a norm or a distance
Langroudi et al. Positnn framework: Tapered precision deep learning inference for the edge
JP2019139338A (ja) 情報処理装置、情報処理方法、およびプログラム
CN111695671A (zh) 训练神经网络的方法及装置、电子设备
US11341400B1 (en) Systems and methods for high-throughput computations in a deep neural network
CN115017178A (zh) 数据到文本生成模型的训练方法和装置
Geng et al. CQNN: a CGRA-based QNN framework
CN110337636A (zh) 数据转换方法和装置
SEMMOURI et al. Markov decision processes with discounted cost: the action elimination procedures
CN114444667A (zh) 训练神经网络的方法及装置、电子设备
Jiang et al. A novel GPU-based efficient approach for convolutional neural networks with small filters
JP2021111081A (ja) 情報処理装置、ニューラルネットワークの演算プログラム及びニューラルネットワークの演算方法
Chikin et al. Explicit model size control and relaxation via smooth regularization for mixed-precision quantization
Khan Feedforward neural networks with constrained weights
Jiang et al. A novel fast approach for convolutional networks with small filters based on GPU
Palomar Algorithms: Successive Convex Approximation (SCA)
Pirskaya Features of Method of Special-Purpose Calculating Unit Functioning for Linear System Solution Based on the Second Order Delta-Transformation
KR102541462B1 (ko) 이형 코어 아키텍처 기반의 캡슐 신경망 추론 장치 및 그 방법
He et al. Research on Efficient CNN Acceleration Through Mixed Precision Quantization: A Comprehensive Methodology.

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees