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

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

Info

Publication number
JPH07271748A
JPH07271748A JP5101218A JP10121893A JPH07271748A JP H07271748 A JPH07271748 A JP H07271748A JP 5101218 A JP5101218 A JP 5101218A JP 10121893 A JP10121893 A JP 10121893A JP H07271748 A JPH07271748 A JP H07271748A
Authority
JP
Japan
Prior art keywords
neuron
neural 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.)
Granted
Application number
JP5101218A
Other languages
English (en)
Other versions
JP3461525B2 (ja
Inventor
Yannick Deville
デヴィル ヤニック
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 Electronics NV
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 Electronics NV, Philips Electronics NV filed Critical Koninklijke Philips Electronics 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

Abstract

(57)【要約】 【目的】 入力データXをもう1つの入力データYに関
して正規化するニューラル計算手段(30,NQ,RQ)を有する
ニューラル・プロセッサの提供。 【構成】 該ニューラル・プロセッサは商Qを決定する
ためXをYで割る割り算を実行する。計算手段は、部分
商QPを更新するのに使われる(NQ,RQ) 一連のコントリビ
ューションΔQi の繰り返しにより計算する(30)ように
プログラムされ、部分商QPの更新は計算の終わりには商
Qとなる。計算は任意の算術的ベース上で実行すること
ができ、該算術的ベースは利用されるニューロンの数及
び計算の精度を決定する。部分剰余RPを利用することも
また可能である。幾つかのプログラミング・モードが提
示されている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、1つの入力データXを
もう1つの入力データYで割った商Qを計算することに
より、入力データYに関して入力データXを正規化する
ニューラル計算手段を有するニューラル・プロセッサに
関する。
【0002】ニューラル・プロセッサは類別問題に使用
される、特に、形状や文字の認識、音声信号の処理、画
像処理、情報圧縮、等々に使用される。一般に入力デー
タは物理量で表されよう。
【0003】
【従来の技術】ニューラル・ネットワークの種々のタイ
プに関する情報は、例えばIEEE ASSP誌, 1987年4月号,
第4〜22頁所載の R.P.LIPPMANN による "An introduc
tionto 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 netwo
rk architecture" という文献に記載されている。該引
用文献は、2進記号で表されている一方が他方の倍数で
ある2つの数の商の各ビットのカスケード計算を実行す
る非対称のニューラル・アーキテクチャーを記述してい
る。この商はその整数部分に限定されている。このアー
キテクチャーは、データの積の総和を算出し非線形転移
関数を適用する増幅器を用いて、アナログ・ニューラル
・プロセッサで実行される。商の各ビットは、先行のビ
ットを考慮に入れて逐次決定されるので、商の計算には
大きな数の計算サイクルが必要となろう。
【0007】このことはまた、段々低くなる桁のビット
を定めるニューロンは漸増する数の入力を含むことを意
味する。そのような演算モードは、演算の程度を下げる
ことなしにディジタル技術に転換することができない。
【0008】
【発明が解決しようとする課題】本発明の目的は、最少
の規模のハードウェア手段のみを用い、計算サイクル数
を減らして、1つの入力データXをもう1つの入力デー
タYで割った商Qを計算することにより、データを正規
化する能力のあるニューラル・プロセッサを提供するこ
とである。種々の入力X及びYに適合するための計算手
段を再配置することは容易でなければならず、計算の精
度は予め定められていなければならない。
【0009】
【課題を解決するための手段】この目的は、ニューラル
・プロセッサを用いて達成され、このニューラル・プロ
セッサに対して上記計算手段は、 ・一纏めになって算術的ベースB上で商Qの数式を形成
する一連のコントリビューション
【数7】 を繰り返し計算する少なくとも1つのニューロンと、 ・商Qを生成するために上記コントリビューションΔQ
i を加え合わせることにより部分商QPを繰り返し更新す
る少なくとも1つのニューロンとを能動化するようプロ
グラムされているものである。
【0010】従ってベースBのサイズを選ぶことは可能
であり、それ故に計算されるべきコントリビューション
ΔQi の数を選ぶこと、及び更に速い又は更に遅い実行
を得るためにニューロンの数を選ぶこともまた可能であ
る。こうして多重ハードウェア手段を用いる高速に対し
て、或いはハードウェア手段の量を減らして実行速度を
遅くするのに対して、そのいずれかを選ぶことが可能で
ある。繰り返しによる演算はハードウェアをかなり減少
させることを可能とする。
【0011】商Qは任意のベースB上で
【数8】 として表すことができる。
【0012】ベース及びmの値の選定もまた予め定めら
れるべき計算の精度を可能にする。Qを1ユニットの精
度で得るためには、qn.n からq0.0 までのみを使
えば十分である。そうすると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.i を決定す
る; d) 新しい部分商を
【数11】 となるように決定する;及び e) Qに対し予め定められた精度を定義する最小値に達
するまで先行の繰り返し演算により商Qを決定するよう
にiを減少させる;ようにプログラムされている。
【0017】もう1つの実例にあっては、部分商と部分
剰余RPとが双方とも用いられる。この場合には、計算手
段は、部分剰余RPi =X-QPi.Y を計算するようプログラ
ムされ、部分剰余は初期にはXに等しく且つ
【数12】 のように繰り返しにより更新される。
【0018】計算手段は更にまた、多数の量
【数13】 をも計算することができる。
【0019】上記ステップa)の(B−1)個の演算は、並列
に演算するようプログラムされている(B−1)個のニュー
ロン又はニューロン群により実行できる。該(B−1)個の
演算はまた、もし結果を得る速度が重要でないならば、
(B−1)個の引き続く計算ステップで動作する単一のニュ
ーロン又はニューロン群により実行できる。
【0020】(B−1)個の演算は更に、一部は並列過程
を、また一部は繰り返し過程を実行するニューロン群に
分散することもできる。
【0021】コントリビューションΔQi を計算する上
記ステップa)、b)、c)は、ベースBに対して選ばれた大
きさに依存して最少では唯1つのニューロンで実現でき
る。
【0022】引き続くコントリビューションΔQi の累
計用の上記ステップd)もやはり最少では唯1つのニュー
ロンで実現できる。
【0023】サイズ2のベースBを使うとき、商の計算
は2つのニューロンだけを使って実行できる。
【0024】上述したデータの正規化の演算は一般的
に、分解フェーズや学習フェーズに関する所与のニュー
ロン処理ステップの終わりに生じる。従ってニューラル
・プロセッサのニューロンは、所与の瞬間にデータの正
規化を実行するのに用いることができ、また他の瞬間に
実際のニューロン過程を実行するのに用いることができ
る。それ故に、ニューラル・プロセッサは、正規化の演
算専用の特定のニューロンを含む必要はない。しかし、
ニューラル・プロセッサはデータの正規化専用に使うこ
ともできる。
【0025】
【実施例】以下、本発明の種々の態様及びその他の態様
が、実施例により、図面を引用して説明される。
【0026】図1は、ニューラル・プロセッサ10の既知
のアーキテクチャーの簡易化した概略図である。入力手
段INP 13(例えば入力レジスタ又は入力端子)は入力デ
ータ9を処理ユニット11に与え、該処理ユニット11はま
た、記憶手段12に記憶されたシナプス係数Cijをも受け
取る。シナプス係数Cijはソース・ニューロンjをデス
ティネーション・ニューロンiに接続するシナプスの重
み付けを特徴付ける。処理ユニット11は更にまた、記憶
手段14に記憶されたニューロンの状態をも受け取る。
【0027】ニューロンがソース・ニューロンとして動
作するときには、その状態をVj で表し、それがデステ
ィネーション・ニューロンとして動作するときには、そ
の状態をVi で表す。各デスティネーション・ニューロ
ンに対して、処理ユニット11は次の計算
【数14】 を実行する。
【0028】処理ユニット11は、指数jのすべてのソー
ス・ニューロンについて総和を算出し、デスティネーシ
ョン・ニューロンiのニューラル電位 POTi を出力する
(接続8)。このニューラル電位 POTi は、デスティネ
ーション・ニューロンiの新しいニューロンの状態Vi
を生成する非線形関数NLF 15の支配下にある。この新し
い状態Vi は記憶手段14を更新するのに使われ、処理は
他のニューロンに対して続行する。非線形関数NLF を与
える手段15はニューラル・プロセッサ10の外に示されて
いる。図1は単にアーキテクチャーを説明するものに過
ぎず、これらの付与手段15はニューラル・プロセッサ10
の内部に配置してもよいのである。それらはまたニュー
ロンの一部にのみ関与することもある。ホスト・コンピ
ュータ16がニューラル・プロセッサ内のメカニズムのア
センブリの演算開始を制御する。簡単のために、制御手
段や学習手段のような他の部分は省略してある。
【0029】例えば、ニューラル・プロセッサは一群の
エレメント中の異なるカテゴリーであるA,B,C を選別す
るのに使うこともできる。計算されたニューロンの状態
は、これらの異なるカテゴリーを計数することを可能に
する。茲で例えば学習のような所与の演算の進行過程
で、入力データをノルムに関して表現することが必要か
も知れない。従って例えば、最大データが最大ノルムを
超えないことを保証することによりすべてのデータを正
規化する必要があるかも知れない。それ故に、正規化す
なわちすべてのデータを最大データにより分割する必要
がある。それはまた、ニューラル・プロセッサの外部で
データの創生にも関与し得る。
【0030】本発明は2つのタイプのニューロンを利用
する。1番目のタイプのニューロン(図2-A)は加算器と
して動作し、非線形関数Fを与える手段を含まない。本
来それは2つのシナプス係数C1, C2を記憶する手段を有
し、これらのシナプス係数C1, C2に入力値Z1, Z2をそれ
ぞれ乗算して積C1Z1, C2Z2を形成する。これらの積は加
算器Σ中で加算され、出力値Zを出力して
【数15】 となる。
【0031】2番目のタイプのニューロン (図2-B)は試
験器として動作し、1番目のタイプのニューロンと同じ
エレメントを持つが、更に非線形関数Fを与える手段20
(例えば比較器)も有する。従ってこのニューロンの出
力は
【数16】 という値Zを供給する。
【0032】非線形関数Fは図2-C で表される。手段20
(図2-B)は加算器Σの出力信号を受け取る入力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を最大値
max から減少する整数とするとき
【数18】 に従ってRP及びQPを更新するのに用いられる。
【0034】これらの更新演算は、1番目のタイプの2
つのニューロンNQ及びNRを用いる。各ニューロンは累算
器として動作するために循環的に結合している。このル
ープ型の演算には、各ニューロンNQ, NRに対してその後
にレジスタRQ, RRがそれぞれ続き、それが初等計算サイ
クル中の結果を記憶することが必要である。レジスタRQ
は0に初期化され、レジスタRRはXに初期化され、2つ
のニューロンのシナプス係数C1, C2がプログラムされ
る。
【0035】各ニューロンのパラメタZ1, C1, Z2, C2
値は次の表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 の項の
計算には補充ニューロンは必要としない。ニューロンNA
j はすべてZ2及びRPi+1 を受け取る。それらは、量SDj
を決定するようにプログラムされ、その量の値は層中の
ニューロンのランクの指数jに依存する。項SDj はニュ
ーロンののニューラル電位 POTを設立する。
【0037】項j.Bi .Yの決定には幾つかの組合せが生
じる。ニューロンNAj のパラメタZ1, C1, Z2, C2は3通
りの組合せを指示する次の表2に従ってプログラムされ
ることになろう:
【表2】
【0038】すべての量SDj が、その符号を決定するよ
うに、そしてそれから正か又は0である最小の量SDj
指数 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 を1対単位で比較す
る。こうして、ランクj = qi を持つ1つのニューロン
NBj が排他的に2つの異なるニューロンDj 及びDj+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の値は、処理容量を決定する最大値
max により限定される。ニューラル・プロセッサは、
予め定められた値imax を持つ所与のベースB(従っ
て、ニューロンNAj,NBj の数B-1)を持つ固定アーキテク
チャーを持つと考えることができる。また同時に、ユー
ザーがベースBの次数を選択し、また値imax をニュー
ラル・プロセッサのハードウェア容量の関数として選択
すると考えることができ、結果的に係数をプログラムす
ると考えることができる。これらの選択は使われたデー
タ値X及びYに従ってなされる。
【0045】例えば、X及びYが、0≦X≦2r −1及
び1≦Y≦2r −1なる整数の場合には、imax に対し
て2r ≦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に対応するコントリビューション
i の数 qi を足し合わせる。
【0048】この2番目の実施例の場合には、ニューロ
ンNCの係数Cj は、ニューロンNAjの非線形関数Fを適
用する手段が関数F4 で動作し、従って
【数23】 となる限りにおいて、値1にプログラムしてもよい。
【0049】〔1番目の実例(第2グループ)〕一部は
ニューロンNQを、他の一部はニューロンNRを持つニュー
ロンNCと、ニューロンNCを融合して得られた変形は、第
1グループ内で既述の構造の各々に対応する。これは次
のようにして得られる: ─実施例に依存し、且つそれぞれの場合に依存して1又
はBi に等しい係数Cj を持つところのEj 又はDj
等しい入力Vj を以前に受け取ったものであるニューロ
ンNCを除外する; ─Vj 及びCj が以前に使ったニューロンNCに対応する
下記の表5のTABLE5(A)に従ってプログラムされたB個
の入力を含む1番目のタイプのニューロンに、図3のニ
ューロンNQを置き換える;
【表5】 ─上記の表5のTABLE 5(B)(Vj 及びCj に対しては同
じ意味を持つ)に従って、プログラムされたB個の入力
を含む1番目のタイプのニューロンに、図3のニューロ
ンNRを置き換える。
【0050】この変形は前より1つ少ない層を有する。
【0051】〔2番目の実例〕図6は、2番目の実例を
図式的に示す。1番目の実例におけると同様に、計算の
最後に最終剰余を供給するニューロンNRが設けられる。
しかし今度は、ブロック30はΔQi の計算用に部分商QP
を利用する。従って1番目の実例に対して提示された構
造の各々に、ΔQi の計算に関与するニューロンNAj
除いてそれと類似の構造が対応する。計算ΔQi に関与
するニューロンの最初の層は、図2-B に示すタイプの3
入力ニューロンNAj により形成され、これは補充入力Z
3 及びシナプス係数C3 を含む。表6はニューロンNAj
のパラメタZ1, C1, Z2, C2, Z3,C3を示す。
【表6】
【0052】ΔQi の決定には、1番目の実例に提示さ
れた2番目の実施例に対し記述された構造を用いるのが
好適である。
【0053】〔3番目の実例〕3番目の実例はニューロ
ンNRが使用されず、構造により供給される唯一の結果が
最後の商である(すなわち最終剰余は与えられない)場
合に対応する。これはRPの計算を省略することを許容す
る。3番目の実例の構造は、それがニューロンNR及びレ
ジスタRRを含まないことを除き、2番目の実例の構造と
同一である。
【0054】ΔQi は、図5のそれと類似で2番目の実
例においてその適用のためにそれから導かれた構造によ
り決定されるのが好適である。
【0055】更にまた、ニューロンNCがニューロンNQと
融合している既述の第2グループを使うのが有利であ
る、と云うのは、そうすれば ─前と同様、構造中の1層が省略される. ─NRが存在しないので、ΔQi の計算を2度繰り返す必
要がない. という2つの利点が得られるからである。
【0056】〔 B=2 に対する特定の実例〕使用される
ハードウェア手段が簡単であるという理由で興味のある
場合として、ベースBの次数が2の場合がある。この場
合には、値 qi の決定には唯一つのニューロンのみを必
要とする。図7は、部分商QP及び部分剰余RPの決定を利
用する実施例を示す。商Q及び剰余Rを決定するには、
3つのニューロンNA, NR, NQで十分である。ニューロン
NAの出力SNA は、値 qi か又はコントリビューションq
i i かのいずれかを、用いられる非線形関数に依存し
て供給する。ニューロンNQ及びNRは1番目のタイプで、
記憶レジスタRQ及びRRがそれぞれそれに続いている。ニ
ューロンNA(2番目のタイプ)のパラメタZ, Cは、 j=
1 のときの表2に従ってプログラムされる。NAの加算器
により供給されるデータに適用される非線形関数Fは、
前と同様に関数F1 又はF4 に従って適用される。関数
4 の場合には、ニューロン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.Bi という値に対する場
合である。図9は、k位置シフトレジスタ82及びそれに
続くところのその値が2k.imaxに初期化できるレジスタ
84を含むようなモジュール80を示す。レジスタ84の出力
は係数 B= 2k.i を供給し、それは更にシフトレジスタ
82の入力に与えられる。毎回k位置を通る入力データを
シフトすることにより因数 2k による割り算ができるよ
うになり、それにより上述の方法を実行するため引き続
く係数 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
の計算に使用される所与の中間計算は、(r+1)ビットよ
り多いビットを持つ語を必要とするかも知れない。この
あり得べき問題に対する幾つかの解答が次のように提案
される: 1) パラメタr, B, Y(但し1≦Y≦2r −1を除く) に
関し制約を課すことを、従って当該実施例に依存する内
部レジスタの長さを選択することをやめる。 2) すべてのレジスタに(r+1)ビットの長さを持たせ、
使用可能なハードウェア手段及び表2で選択したプログ
ラミング・モードに従ってパラメタr, B, Y に関する制
約を課すことにする。上述の制約は全ての問題を避ける
のに十分である、すなわち: ─Bは2の冪乗 B= 2k とし、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)ビットであると仮定する。RPi+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】図1は、ニューラル・プロセッサの既知のアー
キテクチャーの概略図である。
【図2】図2は、非線形関数を与えるための手段を持た
ないニューロンの概略図Aと、非線形関数Fを与えるた
めの手段を具えるニューロンの概略図Bと、非線形関数
Fを表す曲線の図Cとを示す図である。
【図3】図3は、部分剰余RPに基づいてΔQi を計算す
ることにより、本発明の商及び剰余計算手段の1番目の
実例を示す概略図である。
【図4】図4は、部分剰余RPを利用してコントリビュー
ションΔQi を計算するための1番目の実施例を示す概
略図である。
【図5】図5は、部分剰余RPを利用してコントリビュー
ションΔQi を計算するための2番目の実施例を示す概
略図である。
【図6】図6は、部分剰余QPに基づいてΔQi を計算す
ることにより、商Q及び剰余Rを計算する計算手段の2
番目の実例を示す概略図である。
【図7】図7は、ベースBの次数が2のとき、商Q及び
剰余Rを計算するための3ニューロンを持つ実例を示す
概略図である。
【図8】図8は、ベースBの次数が2の場合に、商Qを
計算するため2ニューロンを持つ実例を示す概略図であ
る。
【図9】図9は、ベースBの次数が 2k のタイプの場合
の 2kiのタイプの項を計算するためのユニットの概略図
である。
【符号の説明】
10 ニューラル・プロセッサ 11 処理ユニット 12, 14 記憶手段 13 入力手段 15 非線形関数NLF を与える手段 16 ホスト・コンピュータ 20 非線形関数Fを与える手段 30 データYの値及び部分剰余RPに基づいてコントリビ
ューションΔQi を逐次計算する手段

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 1番目の入力データXを2番目の入力デ
    ータYで割った商Qを計算することにより、2番目の入
    力データYに関して1番目の入力データXを正規化する
    ためのニューラル計算手段(11-15) を有するニューラル
    ・プロセッサにおいて、 該計算手段は、 ・一纏めになって算術的ベースB上で商Qを形成する一
    連のコントリビューション 【数1】 を繰り返し計算するための、少なくとも1つの1番目の
    ニューロン(NA1-NA B-1)(NB1-NB B-1)(NC)を含む1番目
    のニューロン手段と、 ・上記1番目のニューロン手段から入力を与えられる2
    番目のニューロン手段であり、且つ、商Qを生成するた
    めに上記コントリビューションΔQi を加え合わせるこ
    とにより部分商QPを繰り返し更新するための少なくとも
    1つのニューロン(NQ)を含む2番目のニューロン手段と
    を能動化するようプログラムされていることを特徴とす
    るニューラル・プロセッサ。
  2. 【請求項2】 部分商QPは初期には0であり、 上記計算手段は、 a) 1から B−1 まで変化するjと初期には予め定めら
    れた最大数に等しい整数であるiとに対し、少なくとも
    1つのニューロンにより実行される(B−1)個の演算の結
    果である多数の量 【数2】 を計算する; b) SD0 ≧0 , SDB <0 及び sign(0)=+1 とすると
    き、 【数3】 を確認する値j=qi を決定する; c) コントリビューションΔQi =qi.i を決定す
    る; d) 新しい部分商を 【数4】 となるように決定する;及び e) Qに対し予め定められた精度を定義する最小値に達
    するまで先行の繰り返し演算により商Qを決定するよう
    にiを減少させるようにプログラムされていることを特
    徴とする請求項1に記載のニューラル・プロセッサ。
  3. 【請求項3】 計算手段は、部分剰余RPi =X-QPi.Y を
    計算する(NR)ようプログラムされ、部分剰余は初期には
    Xに等しく且つ 【数5】 のように繰り返しにより更新されることを特徴とする請
    求項2に記載のニューラル・プロセッサ。
  4. 【請求項4】 計算手段は、多数の量 【数6】 をも計算する(NA1 −NAB-1 )ようプログラムされてい
    ることを特徴とする請求項3に記載のニューラル・プロ
    セッサ。
  5. 【請求項5】 (B−1)個の演算の実行は、少なくとも各
    1つのニューロンの数グループに分配されていることを
    特徴とする請求項1ないし4のうちのいずれか1項に記
    載のニューラル・プロセッサ。
  6. 【請求項6】 フェーズc)及びd)のいずれか一方又
    は双方は、少なくとも1つのニューロンにより実行され
    ることを特徴とする請求項2ないし5のうちのいずれか
    1項に記載のニューラル・プロセッサ。
  7. 【請求項7】 B=2 に対して、ニューラル・プロセッ
    サは2つのニューロンで動作し、1番目のニューロン(N
    A)はフェーズa),b)及びc)を実現し、2番目のニ
    ューロン(NQ)はフェーズd)を実現することを特徴とす
    る請求項2に記載のニューラル・プロセッサ。
  8. 【請求項8】 B=2 に対して、ニューラル・プロセッ
    サは2つのニューロンで動作し、1番目のニューロン(N
    A)はフェーズa)及びb)を実現し、2番目のニューロ
    ン(NQ)はフェーズc)及びd)を実現することを特徴と
    する請求項2に記載のニューラル・プロセッサ。
  9. 【請求項9】 B=2 に対して、ニューラル・プロセッ
    サは3つのニューロンで動作し、1番目のニューロン(N
    A)はフェーズa),b)及びc)を実現し、また、2番
    目のニューロン(NQ)及び3番目のニューロン(NR)はそれ
    ぞれ部分商及び部分剰余の更新を実現することを特徴と
    する請求項3又は4に記載のニューラル・プロセッサ。
  10. 【請求項10】 B=2 に対して、ニューラル・プロセ
    ッサは3つのニューロンで動作し、1番目のニューロン
    (NA)はフェーズa)及びb)を実現し、また、2番目の
    ニューロン(NQ)及び3番目のニューロン(NR)はそれぞ
    れ、フェーズc)及び部分商及び部分剰余の更新を実現
    することを特徴とする請求項3又は4に記載のニューラ
    ル・プロセッサ。
  11. 【請求項11】 計算手段は、ある1つの瞬間に割り算
    を実行し、もう1つの瞬間にニューラル分解課題及びニ
    ューラル学習課題のいずれか一方又は双方を実行するこ
    とを特徴とする請求項1ないし10のうちのいずれか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 true JPH07271748A (ja) 1995-10-20
JP3461525B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108364064A (zh) * 2017-01-27 2018-08-03 意法半导体股份有限公司 操作神经网络的方法、对应网络、装置、以及计算机程序产品

Families Citing this family (11)

* 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
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
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
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety 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
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection 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
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing 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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108364064A (zh) * 2017-01-27 2018-08-03 意法半导体股份有限公司 操作神经网络的方法、对应网络、装置、以及计算机程序产品
US11308406B2 (en) 2017-01-27 2022-04-19 Stmicroelectronics S.R.L. Method of operating neural networks, corresponding network, apparatus and computer program product

Also Published As

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

Similar Documents

Publication Publication Date Title
US4994982A (en) Neural network system and circuit for use therein
WO2021036904A1 (zh) 数据处理方法、装置、计算机设备和存储介质
US6151594A (en) Artificial neuron and method of using same
US5519647A (en) Apparatus for and method of generating an approximation function
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
TWI417797B (zh) A Parallel Learning Architecture and Its Method for Transferred Neural Network
JPH07271748A (ja) データを正規化する手段を含むニューラル・プロセッサ
Langroudi et al. Positnn framework: Tapered precision deep learning inference for the edge
Yen et al. A new k-winners-take-all neural network and its array architecture
CN111353578A (zh) 信息处理装置、神经网络程序和用于神经网络的处理方法
Zhu et al. A sequential approximation framework for coded distributed optimization
KR20210070262A (ko) 파이프라인 구조를 가지는 인공신경망용 연산 가속 장치
Cardinaux et al. Iteratively training look-up tables for network quantization
CN112446460A (zh) 用于处理数据的方法、装置以及相关产品
US5857178A (en) Neural network apparatus and learning method thereof
US5581661A (en) Artificial neuron using adder circuit and method of using same
JPH04229362A (ja) 学習機械
Hung et al. MS_CMAC neural network learning model in structural engineering
JP2825133B2 (ja) 並列データ処理方式
Qiu et al. Accuracy and architecture studies of residual neural network solving ordinary differential equations
Bodyanskiy et al. The cascade Neo-Fuzzy architecture and its online learning algorithm
KR102541462B1 (ko) 이형 코어 아키텍처 기반의 캡슐 신경망 추론 장치 및 그 방법
JPH04233062A (ja) ベクトルの処理方法およびその回路
Bochev Distributed arithmetic implementation of artificial neural networks

Legal Events

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