JPH07282038A - 線形関数で近似する数値処理方法及びプロセッサ - Google Patents

線形関数で近似する数値処理方法及びプロセッサ

Info

Publication number
JPH07282038A
JPH07282038A JP7075337A JP7533795A JPH07282038A JP H07282038 A JPH07282038 A JP H07282038A JP 7075337 A JP7075337 A JP 7075337A JP 7533795 A JP7533795 A JP 7533795A JP H07282038 A JPH07282038 A JP H07282038A
Authority
JP
Japan
Prior art keywords
function
linear
parts
block
neural
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.)
Pending
Application number
JP7075337A
Other languages
English (en)
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 JPH07282038A publication Critical patent/JPH07282038A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10—Complex mathematical operations
    • G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 任意の関数を線形で近似する数値処理方法及
びプロセッサの構築 【構成】 変数データ(x) を数値的に処理し、場合によ
っては不連続なL個の部分的線形関数〔f(x)〕を構築
し、同数の線形副関数〔H0(x),…,HL-1(x)〕を付随的に
生成し、そのうち、最初の副関数〔H0(x) 〕は1つの部
分(J0)をもち、以後の副関数〔H1(x),…,HL-1(x)〕は第
1の部分(Ji ) と第2の部分 (J'i ) とをもち、該2つ
の部分の端の限界値(ri ) は構築しようとする関数〔f
(x)〕の隣接する部分の限界値にそれぞれ一致し、また
構築しようとする関数〔f(x)〕の各部分(Fu ) の限界に
より定義される各インターバル(Iu ) にそれぞれ在る全
副関数のコントリビューションの総和を計算する数値処
理方法。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、変数データを数値的に
処理して、所定数の部分を持ち該各部分では線形関数で
あり且つこれらの部分間は場合によっては不連続である
ような部分的線形関数(une fonction lineaire par mor
ceaux)を構築する数値処理方法に関する。
【0002】本発明の適用分野には、連続又は不連続な
非線形関数を近似するための関数を生成することがあ
る。
【0003】本発明はまた、この方法を実行する数値プ
ロセッサ及びニューラル数値プロセッサ(un processeur
numerique neuronal)にも関するものであり、その適用
分野としては、特に活性化関数(fonctions d'activatio
n)を生成するものがある。
【0004】
【従来の技術】ニューラル数値プロセッサは、神経回路
網(reseau de neurones)と呼ばれる完全なシステムの一
部分を形成する。神経回路網は、シナプス係数を割り当
てられているシナプスによって一般的に相互に結合して
いる非線形オートマトンで構成される。
【0005】極めて広く普及しているタイプの神経回路
網の1つでは、ニューロンは複数の引き続いている層中
にグループ分けされて、各ニューロンは次の層の全ニュ
ーロンと結合しており、情報は入力層から次の層(隠さ
れた層)へと通過して行き、出力層にまで至るのであ
る。
【0006】ある所定のニューロンが、上流側で(en am
ont)それに接続しているニューロンにより与えられるす
べての寄与を合計して、ニューラル・ポテンシャルを引
き渡す。ニューラル・ポテンシャルは通常、非線形活性
化関数の支配下に置かれるので、プロセッサが正しい判
断をすることができる。
【0007】今日、ニューラル・プロセッサ内部で広く
普及している活性化関数は、シグモイド関数(fonctions
sigmoides) であって、その理由は学習ステップ中で最
適の収斂速度が得られるからである。
【0008】単一のハードウェアでシグモイド関数の計
算を実行しようとすることは合理的でないから、当業者
は先ずシグモイド関数を部分的線形関数で近似しようと
試みる。
【0009】部分的線形関数を用いてシグモイド関数を
近似する関数を合成し、またその導関数を合成する手段
を持つニューラル数値プロセッサは、ヨーロッパ特許出
願第EP 0546624号により既知である。この文献は、全く
任意の関数、特に不連続のある関数の合成は可能として
いない。実際には、その手段というのは、異なる定数値
Fmin ,Fmax を持つ2つの定数直線部分とその中間の第
3の部分とを含む関数で、この第3の部分は所与のイン
ターバル内で定義され、線形の場合も非線形の場合もあ
り、その下限値及び上限値は該所与のインターバルの両
端でそれぞれ上記定数値に一致している関数を構築す
る、というものに過ぎない。従ってこれは2つの飽和セ
グメント(segments de saturation)で両端を限られた単
純な線形又は非線形の関数が生成されるに過ぎない。所
与のインターバル内では、近似を求めなければならない
非線形関数との関連で該単純な関数が選定される。シグ
モイド関数を近似するためにはこの第3の(定数でな
い)部分は3次の多項式、すなわちランプ(rampe) 形と
なろう。3次の多項式は、求める形の非線形近似関数を
作るのに十分な数の値をストックしているテーブルを用
いてハードウェア的に構築できる。もしランプ関数(fon
ction rampe)を用いるなら、テーブルを用いるには及ば
ない。定数直線部分というのは実はしきい値であって、
先ず最初に求めなければならないものであるが、これが
計算時間を遅くする。
【0010】上記先行技術の文献に記載された部分的線
形関数は、実際には線形関数でその両端がいずれも飽和
しているものである。従ってこれは勾配が減少して水平
な漸近線を持つ連続関数しか近似することができないの
で、応用範囲も限られる。
【0011】
【発明が解決しようとする課題】本発明の目的は、予め
定められた精密さで部分的線形関数を合成する方法を提
供することである:この部分的線形関数は任意の連続又
は不連続な関数の近似に適用することができる;またそ
れは十分簡単な構造であって、チップ上に集積化するこ
とができる;次にそれは極めて高速の計算を実行でき
る。
【0012】
【課題を解決するための手段】この目的は、冒頭に規定
した方法が、 − 構築しようとする関数の部分の数と同数の線形副関
数を付随的に生成することを含み、それらの副関数のう
ち、最初の線形副関数は1つの部分をもち、それに続く
線形副関数は第1の部分及び第2の部分と称する2つの
部分をもち、該2つの部分の端には限界があり、該限界
は構築しようとする関数の隣接する部分の限界にそれぞ
れ一致するものであり、また − 構築しようとする関数の各部分の限界により定義さ
れる各インターバルにそれぞれ在る全副関数のコントリ
ビューションの総和を計算することを含むことを特徴と
することにより達成される。
【0013】この方法は、例えば活性化関数の合成に適
用できる, 特にシグモイド関数の合成に適用できる;任
意の神経回路網で使用可能なニューロン関数の合成に適
用できる;更に一般的に任意の連続又は不連続な関数の
合成に適用できる。
【0014】
【実施例】次に本発明が図面を参照して詳細に説明され
る。
【0015】I- 生成すべき関数 f(x) の定義. 本発明は先ず第一に、必ずしも連続である必要のない部
分的線形関数を生成するために、変数データを処理する
数値処理方法に関する。
【0016】本発明は次に、この数値処理方法の手順を
実行するための、在来型の数値プロセッサ及びニューラ
ル数値プロセッサに関する。
【0017】生成すべき部分的線形関数は、xを変数デ
ータとするとき f(x) と定義され、それは多数のセグメ
ントで表される:これらのセグメントは定義域がx軸上
の2点間に限定され、両端は隣のセグメントの端とx座
標の値が共通であるが、其処での連続性は必ずしも要求
されない:セグメントの端は調整可能で如何なる値もと
り得るものとする。各セグメントはその勾配及び縦軸を
截る点の縦座標、並びに両端の横座標によって規定され
る。
【0018】この部分的線形関数は、最も制約の少ない
形ですべての関数の近似関数を、換言すれば近似されよ
うとする関数に不連続があるか否かを問わずに、近似関
数を構築するのに応用される。
【0019】図1を参照して、先ず関数 f(x) を、次の
ような1組のパラメタを用いて最も一般的な形で定義す
る: − セグメントの数:m, 他のパラメタに課される条件
とは異なり、セグメントの数mは以下の議論において常
に一定とする。セグメント数mが変動する場合への拡張
は当業者にとって容易である; − セグメントの両端の横座標:xu , この横座標の値
はインデクスuの増加と共に必ず増加する。一般的には
インデクスuは1から m−1 まで動き、その外側は無限
大に至る。従ってインターバルIu は次の通りに定義さ
れ、記される: I0 = (−∞, x1); Iu =〔xu , xu+1), 但し u=1 から u=m-2 までに
対して; Im-1 =〔xm-1,+∞).
【0020】変数xの定義域は有界の場合も有界でない
場合もある:生成された関数 f(x)の両端のセグメント
F0 及びFm-1 は無限大に至ることもある。もし両端の
インターバルが有界であるならば、下限及び上限として
x0 及びxm がそれぞれ導入される。 u=0 から u=m-
1 までの各インターバルIu において、関数 f(x) は勾
配がpu で縦軸を截る点の縦座標がqu の直線で定義さ
れる: f(x) =pu x+qu
【0021】図1には簡略化された近似関数 f(x) が例
示されており、茲では: − 関数 f(x) は、その数が m=6 なる直線セグメント
のF0,F1,F2,F3,F4,F5 を含み; − 最初のインターバルI0は、横座標が−∞からx1に亙
り、x1はこれに含まれない、この直線セグメントF0の勾
配はp0であり縦軸を截る点の縦座標はq0である; − インターバルI1は、横座標がx1からx2に亙り、x1は
これに含まれるがx2はこれに含まれない;このインター
バルの直線セグメントF1の勾配はp1であり縦軸を截る点
の縦座標はq1である; − I2,F2; I3,F3; I4,F4 については I1,F1と同様; − 最後のインターバルI5は、x5から+∞に亙り、x5は
これを含まれる;対応する直線セグメントF5の勾配はp5
であり縦軸を截る点の縦座標はq5である; − この例では不連続が存在し、横座標x3におけるF2と
F3との間が不連続になっている。
【0022】II- 近似関数 f(x) を構築するための変数
xの処理方法。 上に定義した近似関数 f(x) を構築する方法が図2によ
り提案される。この方法は、入力データの数値処理の多
数の連鎖を含み、該連鎖は並列に動作し、その各々が機
能ブロックによって図式的に表されている。
【0023】この並列処理の方法には、在来型の固定配
線方式とニューラル方式とのいずれにも適用できるとい
う利点がある。またこの方法は、関数を構成するセグメ
ントの生成を並列に行うことのできる演算により極めて
高速に任意の必要な関数を生成するという利点もある。
【0024】図2に図式的に示す並列処理の配列は、 i
=0 から i=L-1 までに亙る Bi と記されたL個のブロ
ックで表され、すべてが同じ入力変数xを受け取り、各
々が出力 Hi (x) を出力する。これらの出力はすべてブ
ロックSに与えられ、ブロックSの機能はそれらの総和
を算出することである。ブロックSからの出力がこの方
法で得られた近似関数 f(x) の値である。
【0025】各ブロック Bi の転移関数(fonction de t
ransfert)Hi (x) は、図3Aに示すように部分的線形関数
の部分集合(sous-ensemble) として定義され、副関数と
呼ばれるもので、茲で Ji 及びJ'i と記す部分を最大で
も2つしか含まず、この2つの部分の間には連続性は要
求されない。この方法の最終段階で、ブロック Bi の適
当な集合を使って、その間に連続性の要求されない任意
の数の部分を含む部分的線形関数 f(x) を求める。
【0026】更に精確に云えば、図3Aにおけるブロック
Bi の転移関数 Hi (x) は、一般的にはTABLE I の関係
式 1a)により定義され、茲で ri は2つのセグメント J
i 及びJ'i に共通の限界の横座標で、しきい値(seuil)
と呼ばれる。従って、転移関数 Hi (x) は5個のパラメ
タ ri ,si ,ti , s'i , t'i により定義される。これ
は、機能ブロックを組み合わせて形成された図3Bに示す
一般ブロック Bi 中で実行する演算により生成すること
ができる。図3Bのブロック Bi では、2つのセグメント
Ji 及びJ'i で表される Hi (x) の5個のパラメタのう
ちで si ,ti は機能ブロック105 に記憶され、s'i , t'
i は機能ブロック106 に記憶され、 ri は機能ブロック
104 に記憶されている。ブロック101 で入力xをしきい
値 ri と比較する。その比較結果がマルチプレクサ102
を制御し、該マルチプレクサ102 は1対の値(s,t) をブ
ロック103 に転送する。この1対の値は、xについての
比較検査の結果に依存して(si ,ti ) に等しいか又は
(s'i , t'i ) に等しい。次にブロック103 は対応する
転移関数 Hi (x) =sx+t を計算する、但し茲で関係式
1a)に従ってsは si か又はs'i に等しく、tは ti か
又はt'i に等しい;それから機能ブロック103 はこの値
Hi (x) を一般ブロック Bi からの出力として供給す
る。なお、TABLE I は図15ないし図18に掲げてある。
【0027】以下、この並列処理の方法についての説明
では、次の3つの条件が成り立つものとする: (1) 並列処理連鎖の最初のものを図式的に表す第1のブ
ロック B0 の転移関数は厳密に線形である。従ってそれ
は TABLE Iの関係式1b')により定義される、すなわち: すべてのxに対して: H0(x) = s0x+t0 1b') である。事実、一般形としてのTABLE I の関係式1a)
は、単一のセグメントJ0を持つ関数の場合、すなわち(s
i ,ti ) = (s'i , t'i ) の場合を含む。単一の部分を
持つこのような関数を構築するときには、パラメタが3
つ省略できる、例えば ri , s'i , t'i を省略できる。
これが、一般性を損なうことはないのであって、もしこ
のような関数を用いたくないと考えるならば、ブロック
B0 を除外して、s0=0,t0=0 とすればよい。 (2) それ以外の処理連鎖を図式的に表す第2から先のブ
ロックB1ないし BL-1 はいずれも厳密に線形でない、す
なわち各関数 Hi (x) は2つのセグメントを持ってい
る、或いは i=1 から i=L-1 までに対して(si ,ti )
≠ (s'i , t'i ) と云ってもよい。これが一般性を損な
うことはないのであって、B0のような単一のブロックは
いかなる厳密な線形関数をも構築できるのだから、厳密
に線形の関数を持つ2つのブロック Bi は決して用いら
れない。 (3) 種々のしきい値(又は限界値) ri の値は、(i=1
からL-1 までに対して)iが増加すれば必ず増加するこ
とを要求される。これが一般性を損なうことはないので
あって、同じ ri の値を持つ単一のブロックは同じ関数
を構築できるのだから同じ ri 値を持つ2つのブロック
Bi は決して用いられない。そうすると、この条件は単
に、ブロックのしきい値rの関数として指標iをブロッ
クに割り当てる、ということである。
【0028】並列に搭載されているブロックB0及びブロ
ックB1ないし BL-1 により形成される処理連鎖の、図2
に示す全配列は TABLE Iの関係式 2) のように記すこと
ができる。
【0029】従って近似関数 f(x) は上記のパラメタL,
ri ,si ,ti , s'i , t'i を用いて直接に表されること
になり、これらのパラメタを「並列配置用パラメタの一
式」と称する。これらのパラメタを動かすときに生成さ
れる関数 f(x) の集合が、部分的に線形であり、セグメ
ント間は連続である必要のない求めようとしている関数
の集合に等しい、というのが利点である。先ず最初に、
図1に示すような各関数 f(x) を定義するために、セグ
メント F0 から Fm-1 までを順次に定義するパラメタm,
xu ,pu ,qu から出発する、これらを「普通のパラメタ
の一式」と称する。この「普通のパラメタの一式」と
「並列配置用パラメタの一式」との間に存在する関係は
TABLE Iに掲げる関係式 3a),3b),3c)に示されている。
【0030】しきい値rは同じインデクスをもつインタ
ーバルIの左端の横座標に対応する。近似関数 f(x) の
所与のインターバル Iu に在るセグメント Fu の勾配 p
u は、iが0からuまでの転移関数 Hi (x) の第1のセ
グメント Ji のすべてを担う直線の勾配 si の総和に、
iが u+1 から関数 f(x) の最後のセグメント Fm-1の
インデクス m−1 までの転移関数 Hi (x) の第2のセグ
メントJ'i のすべてを担う直線の勾配s'i の総和を加え
たものに等しい。これが TABLE Iの 3b)式である。近似
関数 f(x) のこの該所与のインターバル Iu に在る同じ
セグメント Fuの縦軸を截る点の縦座標 qu は、iが0
からuまでの転移関数 Hi (x) の第1のセグメント Ji
のすべてを担う直線の縦軸を截る点の縦座標 ti の総和
に、iがu+1 から関数 f(x) の最後のセグメント F
m-1 のインデクス m−1 までの転移関数 Hi (x) の第2
のセグメントJ'i のすべてを担う直線の縦軸を截る点の
縦座標t'i の総和を加えたものに等しい。これが TABLE
Iの 3c)式である。
【0031】パラメタ si ,ti , s'i , t'i から普通の
パラメタ pu ,qu を導くのではなくて、並列配置に対し
てはその逆をやるのが望ましい。そのときに: − pu から si , s'i を導くのに、2m-1個の未知数を
もつm個の方程式が用いられる。それはこの方程式の解
が無限に存在することを意味する、換言すれば、構築す
べき所与の関数に対し、物理的に記憶すべきパラメタと
して可能な値は無限に存在する。従ってこの方法を実現
するハードウェアの構造は過剰な自由度を所有してお
り、それ故に記憶して置くべき si , s'i の値のうちの
幾つかはアプリオリ(先験的)に固定されているので、
このハードウェアの構造が構築できる関数のクラス(la
classe de fonctions)を制限することなくハードウェア
構造中に必要なメモリ位置を制限することができる;ま
た − 全く同じ現象が qu から ti , t'i を導くときにも
生起する、従って ti ,t'i …の値のうちの幾つかはア
プリオリに固定されている;ことは明らかである。
【0032】III - 非ニューラル並列構造をもつプロセ
ッサ。 次に、図2に示す本発明による並列処理の方法を実現す
るプロセッサを提案する。このプロセッサでは、この方
法の演算を実行する機能ブロックは、直接的な固定配線
されたハードウェア・ブロックにより実現している。
【0033】図2に示す機能ブロック B0 から BL-1 に
よる並列処理連鎖の配列を見ると、そのハードウェア構
造が後述され、その転移関数H0(x) が唯1つの直線J0で
表されるブロック B0 を別にすれば、それ以外の B1 か
ら BL-1 までのブロックはハードウェア的には全く同一
のタイプであって、図3Bに描く一般型タイプでその転移
関数が図3Aに示すタイプのものであるか、或いは以下に
記す3つの簡略型タイプのうちの1つであるか、のどち
らかである。ブロック B1 から BL-1 までを同一のタイ
プで構築することにより、それら4つのタイプから任意
の連続又は不連続な部分的線形近似関数 f(x) を構築す
ることができる。
【0034】以下に先ず記述するのは、ブロック B1 か
ら BL-1 までの一般的ハードウェア構造であって、次い
で機能ブロック B0 及び機能ブロック B1 から BL-1 ま
でを構築するのに極めて有利な簡略型ハードウェア構造
を更に詳しく記述する。
【0035】これら特定の簡略型構造は、図3Bの一般型
ブロック Bi に関するハードウェアよりずっと有利なハ
ードウェアで構築される近似関数 f(x) について、すべ
ての可能性を現実化するものである。
【0036】III-a/ 一般型ブロック Bi の簡略化され
ないハードウェア構造。 記憶ブロック105 には si ,ti が記憶され、記憶ブロッ
ク106 にはs'i , t'iが記憶され、記憶ブロック104 に
は ri が記憶され、これらの記憶ブロックはメモリの所
在位置であるか、又は他のバスである。ブロック101 は
比較器であり、ブロック102 はマルチプレクサであり、
ブロック103 は乗算器である。図2のブロックSは、例
えば2つの入力をもつ加算器の木である。
【0037】III-b/ ブロックB0の簡略型ハードウェア
構造. 直線の転移関数H0(x) は TABLE Iの公式 1b') で表され
て、図示すれば例えば図4Aの線になるのであるが、それ
を図4Bに示すように構築するには、一般ブロック(bloc
general) Bi より簡単な初等ブロック(bloc elementair
e) B0 をもつハードウェア構造の利用が可能であり、該
ブロックB0は、s0及びt0を記憶する2つのメモリ5を含
み、また図3Bのブロック103 の機能を持つブロック3を
含むのである。
【0038】III-c/ ブロック B1 から BL-1 までの1
番目の簡略型ハードウェア構造. この1番目の簡略型ハードウェア構造というのは、上述
のすべての条件に更に付け加えて i=1 から i=m-1 ま
でに対し ti =0 , s'i =0 とする1番目の特定の場合
のことである。
【0039】その結果もたらされる関数 Hi (x) は i≠
0 に対して TABLE Iの関係式 4a)で定義され、図5Aの2
つの線のセグメントで例示されている。この線は x≧ r
i に対しては勾配が si で縦軸を截る点の縦座標が ti
=0 になっている1番目のセグメント Ji であり; x<
ri に対しては縦軸を截る点の縦座標がt'i でx軸に平
行な2番目のセグメントJ'i である。こうして記憶すべ
きパラメタの数が限定されて、計算が図3Bのブロックに
比して簡略化され且つ更に速くなっている。
【0040】このタイプの関数 Hi (x) は図5Bに示され
る簡略化されたハードウェアのブロック Bi により実現
できる。これは si x の値を計算する乗算器13を含み;
またこれと同時に(或いはもしこれらのブロックが共通
のエレメントを持つならば引き続いて)xを試験する比
較器11を含む。この試験の結果がマルチプレクサ12を制
御し、該マルチプレクサ12が乗算器13からの出力か又は
値t'i かのどちらかを供給する。
【0041】普通のパラメタと並列配置用パラメタとの
間の関係は TABLE Iの関係式 4b)ないし4g) で与えられ
る。
【0042】双対(dual)の場合すなわち i=1 から i=
m-1 までに対し si =0 , t'i =0の場合にも同じ特性
を得ることができ、同じやり方で取り扱うことができ
る。対応する転移関数 Hi (x) を表す線が図5Cに示さ
れ、図5Dに示される簡略化されたハードウェア・ブロッ
クで実現できる。ブロック13はs'i x の値を計算する乗
算器である。ブロック11はxを試験する。この試験の結
果がマルチプレクサ12を制御し、該マルチプレクサ12が
乗算器13からの出力か又は値 ti かのどちらかを供給す
る。
【0043】III-d/ ブロック B1 から BL-1 までの2
番目の簡略型ハードウェア構造。 この2番目の簡略型ハードウェア構造というのは、一般
的なケースで述べられたすべての条件に更に i=1 から
i=m-1 までに対しs'i =0 , t'i =0 とするという条
件を付け加えた2番目の特定の場合のことである。その
結果もたらされる関数 Hi (x) は i≠0 に対して TABLE
Iの関係式 5a)で定義され、図6Aの2つの線のセグメン
トで例示されている。この線は x≧ ri に対しては勾配
が si で縦軸を截る点の縦座標が ti の1番目のセグメ
ント Ji であり; x< ri に対してはx軸に重なる2番
目のセグメントJ'i である。こうして記憶すべきパラメ
タの数が限定されて、計算が図3Bのブロックに比して簡
略化され且つ更に速くなっている。
【0044】このタイプの関数 Hi (x) は図6Bに示され
る簡略化されたハードウェアのブロック Bi により実現
できる。このブロック Bi は si x + ti の値を計算す
る乗算器23を含む。これと同時に、或いはもしこれらの
ブロックが共通のエレメントを持つならば引き続いて、
ブロック21がxを試験する。この試験の結果がマルチプ
レクサ22を制御し、該マルチプレクサ22が乗算器23から
の出力か又は値0かのどちらかを供給する。
【0045】普通のパラメタと並列配置用パラメタとの
間の関係は TABLE Iの関係式 5b)ないし5g) で与えられ
る。
【0046】双対の場合すなわち i=1 から i=m-1 ま
でに対し si =0 , ti =0 の場合にも同じ特性を得る
ことができ、同じやり方で取り扱うことができる。対応
する転移関数 Hi (x) を表す線が図6Cに示され、図6Dに
示されるやり方で実現できる。ブロック23はs'i x +t'
i の値を計算する乗算器である。ブロック21はxを試験
する。この試験の結果がマルチプレクサ22を制御し、該
マルチプレクサ22が乗算器23からの出力か又は値0かの
どちらかを供給する。
【0047】III-e/ ブロック B1 から BL-1 までの3
番目の簡略型ハードウェア構造. この3番目の簡略型ハードウェア構造というのは、一般
的なケースで述べられたすべての条件に更に i=1 から
i=m-1 までに対しs'i =0 , ti =-si riとすると
いう条件を付け加えた3番目の特定の場合のことであ
る。その結果もたらされる関数 Hi (x) は i≠0 に対し
て TABLE Iの関係式 6a)で定義され、図7Aの2つの線の
セグメントで例示されている。この線は x≧ ri に対し
ては勾配がsi で縦軸を截る点の縦座標が ti =-si r
i になっている1番目のセグメントJi であり; x< r
i に対しては縦軸を截る点の縦座標がt'i でx軸に平行
な2番目のセグメントJ'i である。1番目のセグメント
Ji の特徴は横軸を截る点の横座標が ri であることで
ある。茲でも又、記憶すべきパラメタの数が限定され
て、計算が一般的な場合に比して簡略化され且つ更に速
くなっている。はじめの2つの特定の場合については、
使われるパラメタの数は同じであるが、ハードウェア構
築の或るものについては利点がある。実際問題として、
どちらの場合を考えても x≧ ri の試験は行わなければ
ならない。それの一般に行われるやり方であり従って上
記のいずれの場合にも用いられる方法とは、差 x-ri を
計算してその値の符号をチェックする、というものであ
る。だから1番目及び2番目の特定の場合にも x-ri の
値を計算する機会があった。それに対して3番目の特定
の場合には、その値はやはり計算されるがそれに続いて
以後の計算ではxの代わりにその値が直接用いられ、そ
れによって使用されるデータ・バスを最適化することが
出来るようになる。従って茲で考察したうちでは3番目
の特定の場合が特に有利である。
【0048】このタイプの関数 Hi (x) は図7Bに示され
るやり方で実現できる。ブロック31は上述の方法で x-r
i の試験を実行し、次いで2つの出力を供給する。
「高」出力は2進信号でマルチプレクサ32を制御する;
「低」信号は x-ri の値をブロック33に送出するバスで
ある。ブロック33は乗算器であって、 si (x− ri ) を
計算する。マルチプレクサ32は乗算器33からの出力か又
は値t'i かのどちらかを供給する。
【0049】普通のパラメタと並列配置用パラメタとの
間の関係は TABLE Iの関係式 6b)ないし6g) で与えられ
る。
【0050】双対の場合すなわち i=1 から i=m-1 ま
でに対し si =0 , t'i =−s'i ×ri の場合にも同じ
特性を得ることが可能とされ、同じやり方で取り扱うこ
とができる。対応する転移関数 Hi (x) を表す線が図7C
に示され、図7Dに示されるやり方で実現できる。ブロッ
ク31が x≧ ri の試験を行い、差 x− ri を生成する。
このブロック31は2つの出力を供給し、その1つはマル
チプレクサ32を制御する2進信号である。もう1つの方
は x-ri の値を乗算器ブロック33に送出するバスであっ
て、s'i (x− ri ) の値を計算する。このマルチプレク
サ32は乗算器33からの出力か又は ti の値かのどちらか
を供給する。
【0051】TABLE I は、固定配線の並列ハードウェア
構造を形成するための簡略化したブロックの転移関数を
概括し、それに付して関連図面の番号を示すテーブルで
あり、また一般的構造のブロックの転移関数及び図面番
号を示すテーブルである。
【0052】図8は、どのようにして図2の並列配置
が、場合によっては不連続な部分的線形関数 f(x) を生
成するかを示す図である。図8の説明では、図2の並列
配置が図4に記載のタイプのハードウェア・ブロック
B0、及び図5Aと図5Bに記載の1番目の簡略型ハードウェ
ア構造と称するタイプのハードウェア・ブロックB1ない
しBL-1 を用いて構築されたものと仮定する。
【0053】この図8では、TABLE I の関係式 2) によ
る種々のしきい値 ri 間のインターバルのすべてに対し
て:x<r1 に対して H0(x)=s0x +t0 ,H1(x)=
t'1 , 等々…であり;従って f(x) =s0x +(t0+t'1+
t'2+t'3+t'4) となり、r1≦x<r2 に対して H0(x)
=s0x +t0 ,H1(x)=s1x ,H2(x)=t'2 , 等々…であ
り;従って f(x) =(s0+s1)x +(t0+t'2+t'3+t'4)とな
り、r2≦x<r3 に対して H0(x)=s0x +t0 ,H1(x)
=s1x ,H2(x)=s2x ,H3(x)=t'3 , 等々…であり;従っ
て f(x) =(s0+s1+s2)x +(t0+t'3+t'4) となる、等々
…。
【0054】 IV- 並列に基づきマイクロプログラムによる構造. 図2に示す処理方法をマイクロプログラムによる構造で
実現することも可能である。目的は上述のタイプの関数
f(x) をプログラムで計算することとなる。このプログ
ラムは例えば関係する機能を表すハードウェア構造用に
書き替えられることができる。この場合には、次のよう
な基本機能、すなわちしきい値に関する試験、乗算及び
加算等を実行するハードウェアが使われる。更にこのハ
ードウェアは並列構造を持つ。
【0055】そのような構造が図9に示され、その演算
は次の通りである。DIFF(x,r) と呼ばれるブロック91は
2つのベクトルを比較する、そのベクトルの各エレメン
トのインデクスiは i=1 から i=m-1 までである。1
番目のベクトルはその全てのコンポネントが入力xに等
しい。2番目のベクトルはベクトル
【外1】 で、その各コンポネントは ri であって、これを MEM
(r) と呼ばれるブロック95から受け取る。ブロック91、
すなわちDIFF(x,r) は、各エレメントのインデクスが i
=1 から i=m-1 までのベクトルを出力する。これらの
エレメントの各々はx≧ ri の試験結果を示す2進値で
ある。このベクトルはメモリ96及び97にアドレスするの
に使われ、これらのメモリはそれぞれ MEM(s) 及び MEM
(t) と呼ばれる。これらのメモリ96及びメモリ97はそれ
ぞれ、s0から sm-1, s'1からs'm-1;及びt0から tm-1,
t'1からt'm-1 を含んでいる。次にこれらのメモリ96及
び97はそれぞれベクトル
【外2】 及びベクトル
【外3】 を供給する。これらのベクトルはどちらもそのエレメン
トの数がmであり、そのインデクスは i=0 から i=m-
1 までである。ベクトル〔外2〕のエレメントの値は:
エレメント0がs0に等しい; i≠0 に対しては、ブロッ
ク91,DIFF(x,r)から条件 x≧ ri が成り立っている旨の
信号を受け取っていれば、エレメントiはsi に等し
い、そうでなければエレメントiはs'i に等しい。同様
に、ベクトル〔外3〕のエレメントの値は:エレメント
0がt0に等しい; i≠0 に対しては、ブロック91,DIFF
(x,r)から条件 x≧ ri が成り立っている旨の信号を受
け取っていれば、エレメントiは ti に等しい、そうで
なければエレメントiはt'i に等しい。これら2つのベ
クトル〔外2〕及び〔外3〕は次のように使われる:ブ
ロック92は
【外4】 と呼ばれ、エレメントの数がmで、そのインデクスは i
=0 から i=m-1 までのベクトルを生成する。そのベク
トルの各エレメントは、ベクトル〔外2〕の同じインデ
クスのエレメントに値xを掛け算した積である。このベ
クトルはブロック93に与えられる、このブロック93は
【外5】 と呼ばれる。ブロック93は、エレメントの数がmで、そ
のインデクスは i=0 から i=m-1 までのベクトルを生
成する。そのベクトルの各エレメントは、ブロック92す
なわち〔外4〕から受け取った同じインデクスのエレメ
ントにベクトル〔外3〕の同じインデクスのエレメント
を足し算した和である。従って、こうして得られたこの
ベクトルの各エレメントiは、前に定義した Hi (x) の
値をもつ。この全エレメントはブロック94に供給され、
このブロック94はΣと呼ばれる。ブロック94は単に Hi
(x) の総和を生成し、従って求めようとしていた f(x)
が与えられ、それは前に述べたのと同じ形のものであ
る。
【0056】図9では、ブロック91, ブロック92, ブロ
ック93、すなわち DIFF(x,r), 〔外4〕, 〔外5〕は、
各々の機能を説明するために別々に書いてある。実際に
はマイクロプログラム化した解答ではそれはベクトル演
算の同一ALU のブロックである。上述の説明は、パラメ
タ ri ,si ,ti , s'i , t'i の値という観点からは一般
的な場合に対応する。もっと以前に記述した並列構造固
定配線プロセッサの説明中にあった特定のケースを再び
導入することができる。そうすると方程式は簡略化され
る。
【0057】V- ニューラル・プロセッサ。 V-a/ ニューラル・プロセッサの一般的構造. 場合によっては不連続であるような部分的線形関数 f
(x) を生成するための、本発明による完全なニューラル
・プロセッサの一般的ハードウェア構造が、図10に示さ
れる。この構造は: − i=1 から i=k までのインデクスiを付してある
k個の隠されたニューロン(neurones caches) を持ち、
それらを HN1, …, HNi , …, HNk と記す; − 及び、単一の出力ニューロンを持ち、それを ON と
記す; である。
【0058】このような構造は並列形の故に演算速度が
向上するような応用分野に適応している。更にまたそれ
自身がニューラルな応用分野にも適応している。
【0059】各隠されたニューロンHNi の演算用の構造
及び方程式は、「標準」正式ニューロン(neurone forme
l "standard") の構造及び方程式であり、図11A に示さ
れている。所与の各隠されたニューロンHNi は、重み付
けをした(avec un poids) 入力変数x、すなわちC1 i と
記されたシナプス係数を受け取り、また、定数1に固定
された入力の重み付けと見做されるしきい値C0 i を受け
取る。各隠されたニューロンHNi は、重み付けをした総
和を生成し、またそれは中間出力 ei (x) を、TABLE II
の式 1a') に従って計算する。重み付けをした総和はΣ
と記される。なお、TABLE IIは図19及び図20に掲げてあ
る。
【0060】各隠されたニューロンHNi は、中間出力 e
i (x) を形成する重み付けをした総和を、 Ai と記す活
性化関数を横断して転送し、活性化関数 Ai 〔 ei (x)
〕を計算する。活性化関数 Ai 〔 ei (x) 〕について
は後に更に詳述する。
【0061】単一の出力ニューロン ON の構造は図11B
に示される。これは、シナプス係数d1 i を使って、すべ
ての隠されたニューロンHNi からの出力 Ai 〔 ei (x)
〕の重み付けをした総和Σを生成する。この出力ニュ
ーロンは更に、d1 0 で重み付けをした入力xと、d0 0 で
重み付けをした定数値1を受け取る。この出力ニューロ
ンは線形である、換言すればそれは活性化関数を横断し
てこの総和を通過しない(或いはこの関数は恒等式であ
ると云っても同じことである)。この出力ニューロンか
らの出力が関数 f(x) であって、それがすなわち生成し
ようと求めていたものである。
【0062】各隠されたニューロンHNi の重み付けは、
出力ニューロン ON の入力重み付けとして図11A に示さ
れる。
【0063】次に残っているのは、各隠されたニューロ
ンの活性化関数 Ai 〔 ei (x) 〕を定義することであ
る。採用する方法は、場合によっては不連続な2つの部
分を含む部分的線形関数の集合を、可能な関数の集合と
して受け入れることである。この選択をする理由は、適
切なニューロンの集合を使用することにより、任意の数
の部分を含み部分間に連続性を要求されることなく、ど
のような部分的線形関数f(x) をも求められるからであ
る。更に精確にいえば茲で考えている一般的な場合に
は、隠されたニューロンiの活性化関数 Ai はTABLE II
の関係式 7a)で定義される。これらの関係式では、変数
eは各隠されたニューロンHNi の総和ユニットΣからの
中間出力 ei (x) であり、 zi はしきい値であり、
ai ,bi , a'i ,b'i は関数 Ai 〔 ei (x) 〕を定義する
ためのパラメタである。従って一般的な場合にはそのよ
うな関数は5つのパラメタ zi ,ai ,bi , a'i , b'i で
定義される。TABLE IIのこれらの関係式 7a)は、並列処
理の方法における関数 Hi (x) の定義で使われた TABLE
Iの関係式 1a)と類似である。唯一の違いは茲では別の
記号を導入する必要があるという点で、それは TABLE I
の記号が前と同じ意味で引き続き用いられるからであ
る。実際に、図2の機能ブロックの転移関数 Hi (x)は
変数xを入力として直接持っていたのに対し、図10のニ
ューロン網では隠されたニューロンHNi 中の活性化関数
Ai を与えるブロックが図11A に示され、それは各総和
ユニットΣからのいわゆる中間出力の値 ei (x) を入力
変数として持っている。
【0064】従って各活性化関数 Ai は前に述べた関数
Hi (x) と類似のやり方で、図3Bにより説明したやり方
の記号を変えて、構築できる。
【0065】TABLE IIの関係式7a')は前の関係式 7a)か
ら導かれる。
【0066】出力ニューロンは線形であり、全システム
の転移関数はTABLE IIの関係式8)により種々のコントリ
ビューションの総和として書くことができる。この関係
式8)においては: − G0(x) は、入力x及び定数値1から、TABLE IIの関
係式 7b)が与える出力ニューロンに直接行く接続による
コントリビューションであり; − Gi (x) は、 i=1 から i=K までのすべてのiに
対して、インデクスiをもつ隠されたニューロンによる
コントリビューションである。 以下に述べるところではすべて次の条件が i=1 から i
=K までの各iに対して成り立つものと仮定する:第1
の条件として: C1 i >0 とする;第2の条件として: G
i (x) は線形ではないとする、又はさもなければ、この
関数をG0(x) と合併(fusionner) して対応の隠されたニ
ューロンを除外(supprimer) するものとする。故に、TA
BLE IIの関係式 7a') 及び 11d) から導かれたTABLE II
の関係式9)によって Gi (x) が定義され、そこから次の
4つの結果が引き出される: 「1番目の結果」:ニューロン網のパラメタの値が一旦
与えられると、部分的線形関数 f(x) を計算すること
が、これらの関係式9)によって可能になる。 「2番目の結果」:方程式という観点からは、ニューロ
ン網を前に述べたタイプの非ニューロン並列構造プロセ
ッサと対比することができる、ということをこれらの関
係式9)は示している。ニューロン網の構築する関数f(x)
は、非ニューロン並列構造で導入された関数H0(x) に類
似の線形関数G0(x) と、非ニューロン並列構造で導入さ
れた i=1 から i=L-1 までに対する関数 Hi (x) と究
極的には同じタイプの i=1 から i=k までに対するk
個の関数 Gi (x) との総和である、という観点から上記
の対比がなされる。方程式という観点からは、この対比
の原理は、TABLE IIの関係式 10)及び11a)ないし11h)に
よって、導入された条件である C1 i >0 と共に伝達さ
れる。従ってこれらの方程式によって次の2つの対比が
生じる:* − ニューロン網の入力x及び1から出力ニューロンO
Nに直接行く接続は、非ニューロン並列構造のブロックB
0に対比される;* − 隠されたニューロンHNi は、ブロック Bi に対比
される。 しかしながら、この対比が引き続き使用可能であるため
には、非ニューロン並列構造について検討したときに r
i の値はiと共に必ず増大すると仮定したのだから、隠
されたニューロンのインデクスも ri の値がiと共に必
ず増大するように選定しなければならない、ということ
を明確に注意するべきである。このことは一般性を損な
わないのであって、単にニューロンへの番号付与を通常
の順序で行えばよいのである;ともかく、同じ ri を持
つ2つのニューロンは合併されるのだから、異なる ri
をもつニューロンが常に用いられる。この対比から以下
の性質を使用することが可能となる: 「3番目の結果」:ニューロン網の係数から並列配置用
パラメタの一式に移行して、そこから普通のパラメタの
一式(すなわち xu ,pu , qu )を導くということが、
TABLE IIの方程式9)によって可能になる。 「4番目の結果」:並列配置用パラメタの一式からニュ
ーロン網のシナプス係数に移行することに関し:* − 前記方程式システムの反転については明白であ
り、L,k 及びH0(x) 並びにG0(x) のパラメタに関しては
固有の解が与えられる;* − その他のパラメタに関しては、 Hi (x) から G
i (x) への反転はiの値の各々について別々に行われ
る。そうすると、 Hi (x) の5つのパラメタの立場では
Gi (x) のパラメタである8つの未知数のある5個の方
程式があり、重み付け係数が3つ、 Ai のパラメタが5
つ、及び不等式C1 i >0 である; が導かれる。
【0067】これらの条件と方程式の形式とから、所与
の関数 f(x) を構築するために必要以上の自由度がニュ
ーロン網の係数を通して与えられている、と云うことが
できる。そのことの実用上の恩恵として、ニューロン網
のいくつかのパラメタの値をアプリオリに固定すること
により、構築できる関数のクラスを制約することなくハ
ードウェアの構造が有利に簡略化される。
【0068】この目的のために、隠されたニューロン用
の簡略化された構造を以下に説明する。これらの構造は
Gi (x) の特定の形式及び Hi (x) の特定の形式に対応
し、それら自身はまた、非ニューロン並列構造をもつプ
ロセッサのブロック Bi 用の簡略化されたハードウェア
構造に対応する。従って、普通のパラメタから並列配置
用のパラメタへ移行するための方程式を以下に導入され
る方程式と組み合わせることにより、普通のパラメタか
ら簡略化された構造をもつニューロン網の係数に移行す
ることが可能になるであろう。
【0069】V-b/ 隠されたニューロン用の最初の簡略
化された構造. 隠されたニューロン用のこの簡略化された構造は、一般
的構造を規定する固定条件をすべて使用し且つ i=1 か
ら i=k までの各隠されたニューロンHNi の、従って各
関数 Gi (x) のパラメタから幾つかをアプリオリに固定
することにより定義される。これらのパラメタのうち、
パラメタ Ai の幾つかは重み付け係数を固定することな
く固定される。事実、 i=1 から i=k までのすべての
iに対して zi =0, a'i =0, bi =0 と固定してある。
【0070】双対のケースは i=1 から i=k までのす
べてのiに対して zi =0, ai =0, b'i =0 となる。この双対のケースは同じ性質を得ることを可能
とし、それ故に非ニューロン構造で得られたのと同じ価
値がある;しかしそれは前に説明したのと同じやり方で
あるから茲では繰り返さない。
【0071】この新しい条件によって、自由なパラメタ
が変化したとき隠されたニューロンから生じる関数 Gi
(x) の集合は、非ニューロン並列構造をもつプロセッサ
が存在し、更に ti =− si ri 及びs'i =0 を満足す
るとき定義されたタイプの関数 Hi (x) の集合に等し
い。
【0072】対応する関数 Hi (x) は TABLE Iの方程式
6a)により与えられ、非ニューロン並列構造をもつプロ
セッサのブロック Bi の3番目の簡略型ハードウェア構
造の転移関数に対応する。
【0073】従って、並列配置用のパラメタと普通のパ
ラメタとの間を通過するために TABLE Iの諸公式がこの
3番目の簡略型ハードウェア構造に関連して使用される
(図7参照)。
【0074】更に、次には各活性化関数 Ai が2つの
「自由」パラメタ ai , b'i により定義される:これら
のパラメタは唯1つの値が割り当てられる。各隠された
ニューロンの構造は、このニューロン中で次の4つの活
性化関数のうちの1つを使って簡略化され、それは生成
するべき関数 Hi (x) に従って選定されるものである。
【0075】「1番目の活性化関数」固定条件 zi =0,
a'i =0, bi =0 に加えて、 ai =0 , b'i =1 も固
定する。この活性化関数はTABLE III-A の式12a)により
与えられ、図12A に示されている。なお、TABLE III-A
は図21に掲げてある。
【0076】この関数 Ai (e) から任意の重み付け係数
で構築される関数 Gi (x) の集合は、TABLE III-A の式
12b)に従って式9)及び式11d)から導かれる。これらの式
12b)は、 ti =− si ri 及びs'i =0 のようにして、
また更に加えて si =0 のようにして、式1a) の関数 H
i (x) の集合と対比することができる。
【0077】従って、関数 Hi (x) は、方程式1a) から
導かれたTABLE III-A の式12c)によって与えられること
になる。
【0078】そのような活性化関数に対して、 Hi (x)
の今でも自由なパラメタを Gi (x)の今でも自由なパラ
メタの関数として与える方程式が、関係式12b)及び12c)
の対比項により求められる。
【0079】従って、所与の Hi (x) に対して、換言す
れば所与の ri 及びt'i に対して、その他のパラメタは
すべて既に固定されているのだから、TABLE III-A の式
13a)ないし13c)により反転方程式が与えられることにな
る。
【0080】「2番目の活性化関数」固定条件 zi =0,
a'i =0, bi =0 に加えて、 ai =1 及びb'i =0 も
固定する。
【0081】この活性化関数はTABLE III-B の式14a)に
より与えられ、図12B に示されている。なお、TABLE II
I-B は図22に掲げてある。
【0082】この関数 Ai (e) から任意の重み付け係数
で構築される関数 Gi (x) の集合は、TABLE III-B の式
14b)に従って式9)及び式11d)から導かれる。これらの式
14b)は、 ti =− si ri 及びs'i =0 のようにして、
また更に加えて si ≠0 及びt'i =0 のようにして、式
1a) の関数 Hi (x) の集合と対比することができる。
【0083】従って、関数 Hi (x) は、方程式1a) から
導かれたTABLE III-B の式14c)によって与えられること
になる。
【0084】そのような活性化関数に対して、 Hi (x)
の今でも自由なパラメタを Gi (x)の今でも自由なパラ
メタの関数として与える方程式が、関係式14b)及び14c)
の対比項により求められる。
【0085】従って、所与の Hi (x) に対して、換言す
れば所与の ri 及び si に対して、その他のパラメタは
すべて既に固定されているのだから、TABLE III-B の式
15a)ないし15c') により反転方程式が与えられることに
なる。
【0086】「3番目の活性化関数」固定条件 zi =0,
a'i =0, bi =0 に加えて、 ai =1 及びb'i =1 も
固定する。
【0087】この活性化関数はTABLE III-C の式16a)に
より与えられ、図12C に示されている。なお、TABLE II
I-C は図23に掲げてある。
【0088】この関数 Ai (e) から任意の重み付け係数
で構築される関数 Gi (x) の集合は、TABLE III-C の式
16b)に従って式9)及び式11d)から導かれる。これらの式
16b)は、 ti =− si ri 及びs'i =0 のようにして、
また更に加えて si ≠0 及びt'i ≠0 及び si /t'i >
0 のようにして、式1a) の関数 Hi (x) の集合と対比す
ることができる。
【0089】従って、関数 Hi (x) は、TABLE III-C の
方程式1a) から導かれた式16c)によって与えられること
になる。
【0090】そのような活性化関数に対して、 Hi (x)
の今でも自由なパラメタを Gi (x)の今でも自由なパラ
メタの関数として与える方程式が、関係式16b)及び16c)
の対比項により求められる。
【0091】従って、所与の Hi (x) に対して、換言す
れば所与の ri , s i 及びt'i に対して、その他のパラ
メタはすべて既に固定されているのだから、TABLE III-
C の式17a), 17b), 17c)により反転方程式が与えられる
ことになる。
【0092】「4番目の活性化関数」固定条件 zi =0,
a'i =0, bi =0 に加えて、 ai =1 及びb'i =−1
も固定する。
【0093】この活性化関数はTABLE III-D の式18a)に
より与えられ、図12D に示されている。なお、TABLE II
I-D は図24に掲げてある。
【0094】この関数 Ai (e) から任意の重み付け係数
で構築される関数 Gi (x) の集合は、TABLE III-D の式
18b)に従って式9)及び式11d)から導かれる。これらの式
18b)は、 ti =− si ri 及びs'i =0 のようにして、
また更に加えて si ≠0 及びt'i ≠0 及び si /t'i <
0 のようにして、式1a) の関数 Hi (x) の集合と対比す
ることができる。
【0095】従って、関数 Hi (x) は、方程式1a) から
導かれたTABLE III-D の式18c)によって与えられること
になる。
【0096】そのような活性化関数に対して、 Hi (x)
の今でも自由なパラメタを Gi (x)の今でも自由なパラ
メタの関数として与える方程式が、関係式18b)及び18c)
の対比項により求められる。
【0097】従って、所与の Hi (x) に対して、換言す
れば所与の ri , s i ,t' i に対して、その他のパラメ
タはすべて既に固定されているのだから、TABLE III-D
の式19a), 19b), 19c)により反転方程式が与えられるこ
とになる。
【0098】TABLE IIは一般的な場合における転移関数
Ai 〔 ei (x) 〕及び関数 Gi (x)を概括するテーブル
であり、TABLE III は4つの特定の活性化関数及び対応
する関数 Gi (x) を概括するテーブルである。
【0099】上に提示した4つの特定の活性化関数の各
々はそれぞれ、非ニューロン並列構造をもつプロセッサ
の処で説明した3番目の簡略型ハードウェア構造の転移
関数のタイプの対応する転移関数 Hi (x) を構築するこ
とを可能とする。従って、部分的な関数 f(x) を生成す
るのに貢献する各関数 Hi (x) を構築するために、これ
らの4つの特定の活性化関数のうち構築すべきこの関数
Hi (x) のパラメタによって選定されたものが活性化関
数 Ai になっている隠されたニューロンが使用されるこ
とになる。
【0100】茲で、ニューラル・プロセッサの隠された
ニューロンの各々が、これら4つの活性化関数 Ai 〔 e
i (x) 〕の1つを構築する簡略型ハードウェア構造を含
む。従ってニューラル・プロセッサのの一般的構造が簡
略化される。
【0101】図12の線にそれぞれ対応するこれら4つの
活性化関数 Ai 〔 ei (x) 〕を実現するハードウェア構
造は、図13A ないし図13D に示される。その演算は前に
説明したところから直接導かれる。
【0102】図13A は図12A に示す関数 Ai (e) を実現
する一例であって、TABLE III-A の式12a)に対応する。
このハードウェア構造はeを試験するためのブロック21
1 を含み、また、試験結果により選択された入力0及び
入力1を受け取り且つ式12a)による出力 Ai (e) を供給
するマルチプレクサ212 を含む。
【0103】図13B は図12B に示す関数 Ai (e) を実現
する一例であって、TABLE III-B の式14a)に対応する。
このハードウェア構造はeを試験するためのブロック22
1 を含み、また、eの試験結果により選択された入力e
それ自身及び入力0を受け取り且つ求めていた出力 Ai
(e) を供給するマルチプレクサ222 を含む。
【0104】図13C は図12C に示す関数 Ai (e) を実現
する一例であって、TABLE III-C の式16a)に対応する。
このハードウェア構造はeを試験するためのブロック23
1 を含み、また、eの試験結果により選択された入力e
それ自身及び入力1を受け取り且つ式16a)による出力 A
i (e) を供給するマルチプレクサ232 を含む。
【0105】図13D は図12D に示す関数 Ai (e) を実現
する一例であって、TABLE III-D の式18a)に対応する。
この構造はeを試験するためのブロック241 を含み、ま
た、eの試験結果により選択された入力eそれ自身及び
入力(a−1)を受け取り且つ式18a)による出力 Ai (e) を
供給するマルチプレクサ242 を含む。
【0106】構築されるべき4つの活性化関数に対応す
る4つの可能な演算モードを定義するため更に別の2つ
の2進信号を受け取るハードウェア構造を構築すること
も可能である。それによって、各隠されたニューロンの
活性化関数を構築すべき関数Hi (x) の関数として配列
することにより、すべての隠されたニューロンに対し同
じハードウェア構造を使用することが可能になる。
【0107】図14に示すこの構造は、eを試験するため
のブロック251 を含み、またマルチプレクサ252 を含
む。このマルチプレクサはeの試験結果により制御され
且つ2つの制御手段 254及び255 により制御される。こ
のマルチプレクサは4つの入力を持ち、1番目はeの入
力であり、2番目は1の入力であり、3番目は0の入力
であり、4番目は-1の入力である。この4つの入力のう
ちから制御手段254,255を用いて選択して使われる2つ
の入力に依存して、図13A から図13D までの配列のうち
の1つが生成される。
【0108】V-c/ 隠されたニューロン用の最初の簡略
型構造の変形. この変形では各隠されたニューロンは2つの活性化関数
のうち唯1つを構築するハードウェア構造を含む: − ti =− si ri 及びs'i =0 であるような、そし
て更に加えて si =0 又はt'i =0 であるような任意の
関数 Hi (x) を構築するため、隠されたニューロン用の
最初の簡略型構造に関連して述べられた最初の2つの活
性化関数12a)及び14a)のうちの1つを活性化関数を持つ
隠されたニューロンが使用される。 − それ以外の関数 Hi (x) で、 ti =− si ri 及び
s'i =0 であるような、そして更に加えて si ≠0 及び
t'i ≠0 であるような、TABLE I の式6a) で定義される
関数 Hi (x) を構築するため、 Hi (x) は次の形に分解
される: Hi =H1 i +H2 i .
【0109】こうして導入された2つの新しい関数はそ
れぞれ、TABLE III-B の式14c)中のHi をH1 i に置き換
え、またTABLE III-A の式12c)中の Hi をH2 i に置き換
えることによって求められる。これら2つの新しい関数
H1 i 及びH2 i は最初の2つの活性化関数12a),14a)を使
うことによりそれぞれ1つのニューロンを用いて構築さ
れる。故に Hi (x) は1つではなく2つの隠されたニュ
ーロンを用いて構築される。
【0110】V-d/ 隠されたニューロン用の第2の簡略
化された構造. 一般的な構造でのすべての条件を固定し、更にそれに加
えて各隠されたニューロンHNi に対して i=1 から i=
K までについて zi =0, a'i =0, b'i =0 とすることにより、前と同様の検討を進めることができ
る。
【0111】双対のケースは i=1 から i=k までのす
べてのiに対して zi =0, ai =0, bi =0 と固定する。この双対のケースは同じ性質を得ることを
可能とし、同じやり方で処理される。
【0112】これらの条件の下に、自由なパラメタの集
合が変化するとき隠されたニューロンから生じる関数 G
i (x) の集合は、非ニューロン並列構造をもち更にs'i
=0及びt'i =0 を満足するプロセッサが存在するとき
のブロック Bi の2番目の簡略型ハードウェア構造(図
6)の転移関数 Hi (x) の集合に等しい。並列配置用の
パラメタと普通のパラメタとの間を通過するために、こ
のブロック Bi の2番目の構造ように与えられた諸公式
が使用される。
【0113】更に、次には各活性化関数 Ai (e) が2つ
の「自由」パラメタ ai , bi により定義される。これ
らのパラメタにどんな値を採らせても有効に役立つこと
はないから、上に定義した4つの活性化関数がニューラ
ル・プロセッサの隠されたニューロンの構造を簡略化す
るのに使用される。
【0114】隠されたニューロンのこの第2の簡略化さ
れた構造の変形が隠されたニューロンの最初の簡略化さ
れた構造の記述中の原理に従って導かれる。
【0115】VI - 窮屈な構造(STRUCTURES CONTRAINTE
S). 今まで述べた並列又はニューラルのプロセッサでは更に
次のように規定されよう: a) 関数 f(x) のセグメント(F0,…,FL-I ) の限界 xu
が強制される。例えばこれらの限界 xu の値すなわちし
きい値 ri は不動で ROMに記憶される。或いは他の例で
は不動であるばかりでなく特定されるので上記ROM のサ
イズが限定される。 b) 構築すべき関数 f(x) 中の不連続を禁じる。この場
合には新しい条件が関数Hi (x) のパラメタに与えられ
て一般的に Hi (x) のパラメタの1つを記憶するメモリ
位置を除外する。
【0116】VII - 関数 f(x) 及びその導関数f'を同時
に計算するプロセッサ. 今までに定義したような部分的線形関数 f(x) 及びその
導関数f'(x) を同時に生成するプロセッサは、学習とい
う面でのニューロン網への応用に対して極めて有用であ
る。
【0117】VII-a/ 非ニューロン並列構造をもつプロ
セッサ. このプロセッサでは、関数 f(x) は、関数 Hi (x) のコ
ントリビューションの総和を生成することにより構築さ
れる。従って、導関数f'は関数 Hi (x) の導関数H'i の
コントリビューションの総和を生成することにより構築
される。
【0118】関数 f(x) 及びその導関数f'を同時に供給
するために、図2によって説明した構造は次の通りに変
形される: − 制御信号がこの並列構造のブロック Bi の各々に与
えられ、それに従って各ブロック Bi はその出力に関数
Hi (x) か又はその導関数H'i を供給する; − 導関数H'を生成する手段が設けられる:前述の通
り、図3,図5,図6,図7に関連して関数 Hi (x) を
生成するためにブロック Bi は一対の(si ,ti ) か又は
(s'i , t'i ) かを供給するメモリ領域を含み、そのう
ちのあるものは既に予め定義された値を持つことを好適
とする。茲で導関数H'は勾配 si 又はs'i を排他的に含
む。そうするとこれらの値は、3つのタイプの関数 Hi
(x) に関連する3つのタイプの導関数H'を求めるのに使
用され、該 Hi (x) の3つのタイプというのは、それぞ
れ3つのブロック Bi の簡略型ハードウェア構造により
生成するのに有利なものとして選定されたものである。
従ってこれらのブロック Bi はこれらの勾配を専ら考慮
して導関数H'を生成する; − マルチプレクサが各ブロック Bi の出力に配置さ
れ、制御信号により制御され、関数 Hi (x) 及びその導
関数H'i を受け取る。このマルチプレクサは、恐らく当
該ブロック Bi 中に既に存在するマルチプレクサと結合
することができるであろう。
【0119】VII-b/ ニューラル・プロセッサ. このプロセッサでは、関数 f(x) は、関数 Gi (x) のコ
ントリビューションの総和を生成される。従って、導関
数f'は関数 Gi (x) の導関数G'i のコントリビューショ
ンの総和として計算される。
【0120】関数 f(x) 及びその導関数f'を同時に生成
するために、上述のニューラル・プロセッサは次の通り
に変形される: − ニューラル・プロセッサは制御信号を受け取り、こ
の信号に依存して関数 f(x) か又はその導関数f'かを供
給する; − 導関数f'を生成するモードでは、この制御信号は、
関数G0に対応する出力ニューロンONの2つの入力接続上
で、関数G0の代わりに関数G'0 を供給するために働く:
この目的のために、先ず始めに重み付け係数又はシナプ
ス係数に対応する入力は何のコントリビューションも供
給しない、これは重み付け0か又は入力0かにより実行
される; 次に重み付け係数d1 0 に対応する入力がコント
リビューションd1 0 のみを供給する、換言すれば関数G0
を生成するバージョンで重み付けは変更せず入力はxで
はなく1とする; − i≠0 のとき関数 Gi (x) は次のようにして導かれ
る: Gi (x) =d1 i.C1 i. Ai (C1 i x +C0 i ) , 従って Gi (x) の導関数は: G'i (x) =d1 i.C1 i.A'i (C1 i x +C0 i ) となる。この導関数G'i (x) は次のようにして生成され
る:* − 制御信号はすべての隠されたニューロンに送られ
る、そして導関数f'を計算するモードでは、各隠された
ニューロンの活性化関数 Ai (e) はその導関数A' i に置
き換えられる;* − 隠されたニューロンの出力では、関数 f(x) を計
算するための重み付け係数値d1 i は重み付け係数値d1 i
C1 i に置き換えられ、それは例えば重み付け係数d1 i と
は異なる別のメモリ中に記憶することができる。この別
のメモリは、新しい必要な重み付け係数値d1 i C1 i を計
算するブロックを予め用意するか又は重み付け係数d1 i
は前の通りとするが隠されたニューロン中で導関数A'i
にC1 i を乗じた積を活性化関数に使用するか、いずれか
により用いないこともできる。しかし別のメモリを用い
る方が、活性化関数のよりよい標準化につながるので好
適である。 − 導関数A'i を生成できる簡略型ハードウェア構造
は、導関数H'i 及び簡略化した関数 Ai について前に述
べたのと同様にして導くことができる。
【図面の簡単な説明】
【図1】図1は、不連続のある部分的線形近似関数f(x)
を表す図である。
【図2】図2は、不連続のある部分的線形関数f(x)を生
成するための複数の並列処理連鎖を含む方法を説明する
図である。
【図3】図3Aは、2つの部分をもち不連続のある部分的
線形関数 Hi (x) を表す図であり、図3Bは、図3Aに示す
関数を生成する処理連鎖をブロックを用いてシンボル的
に表す図である。
【図4】図4Aは、純粋に線形な関数H0(x) を表す図であ
り、図4Bは、この関数を生成するための簡略化したハー
ドウェア・ブロックB0を表す図である。
【図5】図5Aは、最初の特定の関数 Hi (x) を表す図で
あり、図5Bは、この関数を生成するための簡略化したハ
ードウェア・ブロックB1ないし BL-1 を表す図であり、
図5C及び図5Dは、図5A及び図5Bの双対の場合を説明する
図である。
【図6】図6Aは、2番目の特定の関数 Hi (x) を表す図
であり、図6Bは、この関数を生成するための簡略化した
ハードウェア・ブロックB1ないし BL-1 を表す図であ
り、図6C及び図6Dは、図6A及び図6Bの双対の場合を説明
する図である。
【図7】図7Aは、3番目の特定の関数 Hi (x) を表す図
であり、図7Bは、この関数を生成するための簡略化した
ハードウェア・ブロックB1ないし BL-1 を表す図であ
り、図7C及び図7Dは、図7A及び図7Bの双対の場合を説明
する図である。
【図8】図8は、図2により並列に演算を行う処理連鎖
の配置で生成され、図7Bに規定されるハードウェア・ブ
ロックにより具体化された種々の関数H0(x) 及び H
i (x) を表す図である。
【図9】図9は、関数f(x)を生成するためのマイクロプ
ログラム化できる構造を表す図である。
【図10】図10は、場合によっては不連続のある部分的
線形関数f(x)を生成するための神経回路網を表す図であ
る。
【図11】図11A は、神経回路網の隠された層のニュー
ロンの構造を表す図であり、また図11B は出力ニューロ
ンを表す図である。
【図12】図12A ないし図12D は、その各々が神経回路
網の隠された層のニューロンに含まれる活性化関数を構
成する1つの可能な関数 Ai (e) を表す図である。
【図13】図13A ないし図13D は、図12A ないし図12D
の4つの活性化関数 Ai (e) をそれぞれ生成する4つの
構造をそれぞれ表す図である。
【図14】図14は、図12A ないし図12D に表される活性
化関数 Ai (e) の一つ又は他のもう一つを生成すること
のできる一般的構造を表す図である。
【図15】図15は、TABLE I (その1)を示す図であ
る。
【図16】図16は、TABLE I (その2)を示す図であ
る。
【図17】図17は、TABLE I (その3)を示す図であ
る。
【図18】図18は、TABLE I (その4)を示す図であ
る。
【図19】図19は、TABLE II(その1)を示す図であ
る。
【図20】図20は、TABLE II(その2)を示す図であ
る。
【図21】図21は、TABLE III-A を示す図である。
【図22】図22は、TABLE III-B を示す図である。
【図23】図23は、TABLE III-C を示す図である。
【図24】図24は、TABLE III-D を示す図である。
【符号の説明】
3, 13, 23, 33, 103 乗算器 5, 104, 105, 106 メモリ 11, 21, 31, 101 比較器 12, 22, 32 マルチプレクサ 211, 221, 231, 241 eを試験する比較器 212, 222, 232, 242 出力 Ai (e) を供給するマルチプ
レクサ

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 変数データ(x) を数値的に処理して、所
    定の個数(L) の部分(F0,…,FL-1)を持ち且つこれらの部
    分間は場合によっては不連続な部分的線形関数〔 f(x)
    〕を構築する数値処理方法において、 該方法は、 − 構築しようとする関数〔 f(x) 〕の部分(F0,…,F
    L-1)の数(L) と同数の線形副関数〔H0(x),…,HL-1(x)〕
    を付随的に生成することを含み、それらの副関数のう
    ち、最初の線形副関数〔H0(x) 〕は1つの部分(J0)をも
    ち、それに続く線形副関数〔H1(x),…,HL-1(x)〕は第1
    の部分(Ji ) 及び第2の部分 (J'i ) と称する2つの部
    分 (J'i ,Ji ) をもち、該2つの部分の端には限界
    (ri ) があり、該限界は構築しようとする関数〔 f(x)
    〕の隣接する部分の限界にそれぞれ一致するものであ
    り、また − 構築しようとする関数〔 f(x) 〕の各部分(Fu ) の
    限界により定義される各インターバル(Iu ) にそれぞれ
    在る全副関数のコントリビューションの総和を計算する
    ことを含むことを特徴とする数値処理方法。
  2. 【請求項2】 請求項1に記載の数値処理方法におい
    て、 1つの部分又は2つの部分をもつ線形副関数〔H0(x),
    …,HL-1(x)〕の生成は、該線形副関数の数(L) と同数の
    付随的に演算する数値処理連鎖(B0,…,BL-1)で実行さ
    れ、そのうちの最初の処理連鎖(B0)は勾配(s0)と縦軸を
    截る点の縦座標(t0)とで定義される純粋に線形な副関数
    〔H0(x) 〕を生成するものであり、その他の全処理連鎖
    (B1,…,BL-1)は、その各々が、2つの部分 (J'i ,Ji )
    をもちそれらそれぞれの勾配 (s'i ,si ) と縦軸を截る
    点の縦座標 (t'i ,ti ) と及び該2つの部分間の限界(r
    i ) により定義される線形副関数〔H1(x),…,HL-1(x)〕
    のうちの1つを生成するものであり、 2つの部分間の各限界(ri ) は、構築しようとする関数
    の部分(Fu ) に対応する同じインデクス(i=u)をもつイ
    ンターバル(Iu ) の低い方の端における横座標(xu ) に
    それぞれ一致するするものであり、 副関数〔H0(x),…,HL-1(x)〕のコントリビューションの
    総和は、構築しようとする関数〔 f(x) 〕の各特定の部
    分(Fu ) の勾配(pu ) と縦軸を截る点の縦座標が(qu )
    とがそれぞれ、インデクスが0から上記特定の部分
    (Fu ) のインデクス(u) までの副関数〔 Hi (x) 〕の上
    記第1の部分(Ji ) すべての勾配(si ) の総和に上記第
    2の部分の勾配( s'i ) の総和を加えたものとして、及
    び、構築しようとする関数〔 f(x) 〕の上記特定の部分
    (Fu ) のインデクスに1を加えたもの(u+1)から最後の
    部分のインデクスまでのインデクスをもつ副関数〔 Hi
    (x) 〕の上記第2の部分 (J'i ) の縦軸を截る点の縦座
    標( t'i ) の総和として与えられるものであることを特
    徴とする数値処理方法。
  3. 【請求項3】 請求項2に記載の数値処理方法におい
    て、 純粋に線形な副関数〔H0(x) 〕を生成する最初の処理連
    鎖(B0)を除き、それ以外のすべての処理連鎖は2つの部
    分をもつ同一の特定のタイプの副関数を生成し、該特定
    のタイプというのは、 − 一方の限界(ri ) をもつ上記第1の部分は原点を通
    り、該限界のもう一方の上記第2の部分は変数データ
    (x) の座標軸に平行であるところの1番目の特定のタイ
    プ; − 一方の限界(ri ) をもつ上記第1の部分は任意で、
    該限界のもう一方の上記第2の部分は変数データ(x) の
    座標軸と重なるところの2番目の特定のタイプ; − 上記第1の部分の一方の限界は変数データ(x) の座
    標軸上に限界値(ri ) を持ち、該限界のもう一方の上記
    第2の部分は変数データ(x) の座標軸に平行であるとこ
    ろの3番目の特定のタイプ; のうちから選定されることを特徴とする数値処理方法。
  4. 【請求項4】 請求項1ないし3のうちのいずれか1項
    に記載の変数データ(x) を処理する方法を実行する手段
    を含む数値プロセッサにおいて、 該手段は、1つ又は2つの部分をもつ線形副関数〔H
    0(x),…,HL-1(x)〕を付随的に生成するために複数(L)
    個のハードウェアのブロック(B0, B1,…,BL-1)が並列に
    搭載され、そのうちの最初のブロック(B0)は勾配(s0)と
    縦軸を截る点の縦座標(t0)とで定義される純粋に線形な
    副関数〔H0(x) 〕を生成し、その他の全処理連鎖(B1,
    …,BL-1)は、その各々が、2つの部分 (J'i ,Ji ) をも
    ちそれらそれぞれの勾配 (s'i ,si ) と縦軸を截る点の
    縦座標 (t'i ,ti ) と及び該2つの部分間の限界
    (ri ) により定義される線形副関数〔H1(x),…,H
    L-1(x)〕のうちの1つを生成することを特徴とする数値
    プロセッサ。
  5. 【請求項5】 請求項4に記載の数値プロセッサにおい
    て、 上記厳密に線形な副関数〔H0(x) 〕を生成する最初のブ
    ロック(B0)は、 − 単一の部分(J0)の勾配(s0)及び縦軸を截る点の縦座
    標(t0)を供給する1番目のメモリすなわちバス(5) と、 − 入力として変数(x) 及びメモリすなわちバス(5) か
    らの出力を受け取り、また、縦軸を截る点の縦座標の値
    (t0)に、変数(x) を勾配の値(s0)倍した積を加算するこ
    とにより厳密に線形な副関数〔H0(x) 〕を供給する乗算
    器(3) とを含むことを特徴とする数値プロセッサ。
  6. 【請求項6】 請求項4又は5に記載の数値プロセッサ
    において、 2つの部分をもつ線形副関数を生成するために並列に搭
    載されたブロック(B1,…,BL-1)の各々が、 − 生成するべき線形副関数〔H1(x),…,HL-1(x)〕の第
    1の部分と称する部分の1つの勾配及び縦軸を截る点の
    縦座標を供給するための1番目のメモリすなわちバス(1
    06) と、 − 第2の部分と称するもう一方の部分の勾配及び縦軸
    を截る点の縦座標を供給するための2番目のメモリすな
    わちバス(105) と、 − これら2つの部分間の限界値(ri ) を供給するため
    のメモリすなわちバス(104) と、 − 入力変数(x) を限界値(ri ) と比較するための比較
    器(101) と、 − 比較器(101) からの結果により制御され、勾配値及
    び縦軸を截る点の縦座標値の1対を供給するためのマル
    チプレクサ(102) と、 − 入力変数(x) 及びマルチプレクサ(102) からの出力
    を受け取り、また、各部分の縦軸を截る点の縦座標値に
    変数(x) を勾配の値倍した積を加算することにより、生
    成するべき線形副関数〔 Hi (x) 〕を出力として供給す
    る出力マルチプレクサ(103) とを含むことを特徴とする
    数値プロセッサ。
  7. 【請求項7】 請求項3に記載の方法を実行するための
    請求項6に記載の数値プロセッサにおいて、 最初のブロック(B0)以外のすべてのブロック(B1,…,B
    L-1)の各々は同一であり且つ2つの部分の2対の勾配及
    び縦軸を截る点の縦座標のパラメタからの1つ又は2つ
    の値を1番目又は2番目のメモリ中の記憶から除外する
    ことにより簡略化されたタイプであり、 勾配値及び縦軸を截る点の縦座標値に従って特定のタイ
    プの副関数〔H1(x),…,HL-1(x)〕を生成するために、記
    憶されない勾配値は特定の値0に固定され、記憶されな
    い縦軸を截る点の縦座標値は特定の値0に固定されるか
    又は限界値(ri) に依存して特定の値に固定されること
    を特徴とする数値プロセッサ。
  8. 【請求項8】 所定の個数(L) の部分(F0,…,Fi , …,F
    L-1)を持ち且つこれらの部分間は場合によっては不連続
    な部分的線形関数〔 f(x) 〕を構築するニューラル数値
    プロセッサにおいて、 該ニューラル数値プロセッサは、 − 構築しようとする関数〔 f(x) 〕の部分の数から1
    を引き算した数に等しい複数(k) 個の隠されたニューロ
    ン(HK1, …, HKi , …, HKk ) により形成される隠され
    たニューロンの層と、 − 1つの出力ニューロン(ON)と を有して成り、 各隠されたニューロンは、変数(x) と定数(1) とから成
    る入力の重み付けをした総和〔 ei (x) 〕に、2つの部
    分をもちその2つの部分間に場合によっては不連続のあ
    る線形活性化関数〔 Ai (ei (x))〕を与え、 次に、出力ニューロン(ON)は、求めようとする部分的線
    形関数〔f(x)〕を与えるために、あるときは変数入力
    (x) と固定入力(1) との直接的な重み付けをした総和
    を、又あるときは(k個の)隠されたニューロン (H
    Ki ) からの出力全部の重み付けをした総和を生成し、
    種々の活性化関数〔 Ai (ei (x))〕の2つの部分間の種
    々の限界値(zi ) はそれぞれ、この関数〔f(x)〕の部分
    (Fu ) 間の限界値(xu ) であり、その数は等しいことを
    特徴とするニューラル数値プロセッサ。
  9. 【請求項9】 請求項8に記載のニューラル数値プロセ
    ッサにおいて、 − 各隠されたニューロン(HK1, …, HKi , …, HKk )
    は総和ユニット( Σ )を有し、中間関数(ei (x))を供給
    するために、該総和ユニット( Σ )はシナプス係数( C1
    i ) を割り当てられた入力変数(x) の和及びシナプス係
    数( C0 i ) を割り当てられた固定入力(1) の和を生成
    し、また上記各隠されたニューロンは、2つの部分をも
    ちその2つの部分間にしきい値すなわち限界値(zi ) が
    あり及び場合によっては不連続のある線形関数〔 Ai (e
    i (x))〕を生成するブロック(Ai ) を有し、該線形関数
    はいわゆる活性化関数で中間関数に与えられるものであ
    り、また、 − 出力ニューロン(ON)は総和ユニット( Σ )を有し、
    該総和ユニット( Σ )はシナプス係数( d1 i ) を割り当
    てられた入力変数(x) の和を生成し、及びシナプス係数
    ( d0 i ) を割り当てられた固定入力(1) の和を生成し、
    更にそれと共に上記総和ユニットは、場合によっては不
    連続のある部分的線形関数〔f(x)〕を与えるために、各
    々がシナプス係数( d1 i ) を割り当てられている(k個
    の)隠されたニューロンの出力〔 Ai (ei (x))〕を生成
    することを特徴とするニューラル数値プロセッサ。
  10. 【請求項10】 請求項9に記載のニューラル数値プロ
    セッサにおいて、出力ニューロンの総和ユニット( Σ )
    による入力変数(x) 及び固定入力(1) の重み付けをした
    総和は、請求項5に記載の数値プロセッサの最初のブロ
    ック(B0)の関数と対比することができることを特徴とす
    るニューラル数値プロセッサ。
  11. 【請求項11】 請求項10に記載のニューラル数値プロ
    セッサにおいて、各隠されたニューロン (HNi ) に対す
    る活性化関数〔 Ai (ei (x))〕の生成は、請求項6又は
    7に記載の数値プロセッサの最初のブロック(B0)以外の
    ブロック(B1,…,BL-1)の関数に類似の要因と対比するこ
    とができることを特徴とするニューラル数値プロセッ
    サ。
  12. 【請求項12】 請求項11に記載のニューラル数値プロ
    セッサにおいて、 隠されたニューロンのうちの1つでは、2つの部分をも
    つところの線形活性化関数〔 Ai (ei (x))〕は:中間関
    数(ei (x))が ei (x) ≧0 のとき Ai (ei (x))=0 とな
    り;中間関数(ei (x))が ei (x) <0 のとき Ai (e
    i (x))=1 となること、及び、 隠されたニューロン中でこの活性化関数〔 Ai (e
    i (x))〕を生成するために、ブロック(Ai )はe(x)を0
    について試験するブロック(211) 及び入力0及び入力1
    を受け取るマルチプレクサ(212) を有し、これは試験ブ
    ロック(211) からの結果によって制御され、求めようと
    する関数〔 Ai (ei (x))〕をその出力に供給することを
    特徴とするニューラル数値プロセッサ。
  13. 【請求項13】 請求項11に記載のニューラル数値プロ
    セッサにおいて、 隠されたニューロンのうちの1つでは、2つの部分をも
    つところの線形活性化関数〔 Ai (ei (x))〕は:中間関
    数(ei (x))が ei (x) ≧0 のとき Ai (ei (x))= e
    i (x) となり;中間関数(ei (x))が ei (x) <0 のとき
    Ai (ei (x))=0 となること、及び、 隠されたニューロン中でこの活性化関数〔 Ai (e
    i (x))〕を生成するために、ブロック(Ai )はe(x)を0
    について試験するブロック(221) 及び入力e(x)それ自身
    及び入力0を受け取るマルチプレクサ(222) を有し、こ
    れは試験ブロック(221) からの結果によって制御され、
    求めようとする関数〔 Ai (ei (x))〕をその出力に供給
    することを特徴とするニューラル数値プロセッサ。
  14. 【請求項14】 請求項11に記載のニューラル数値プロ
    セッサにおいて、 隠されたニューロンのうちの1つでは、2つの部分をも
    つところの線形活性化関数〔 Ai (ei (x))〕は:中間関
    数(ei (x))が ei (x) ≧0 のとき Ai (ei (x))= e
    i (x) となり;中間関数(ei (x))が ei (x) <0 のとき
    Ai (ei (x))=1 となること、及び、 隠されたニューロン中でこの活性化関数〔 Ai (e
    i (x))〕を生成するために、ブロック(Ai )はe(x)を0
    について試験するブロック(231) 及び入力e(x)それ自身
    及び入力1を受け取るマルチプレクサ(232) を有し、こ
    れは試験ブロック(231) からの結果によって制御され、
    求めようとする関数〔 Ai (ei (x))〕をその出力に供給
    することを特徴とするニューラル数値プロセッサ。
  15. 【請求項15】 請求項11に記載のニューラル数値プロ
    セッサにおいて、 隠されたニューロンのうちの1つでは、2つの部分をも
    つところの線形活性化関数〔 Ai (ei (x))〕は:中間関
    数(ei (x))が ei (x) ≧0 のとき Ai (ei (x))= e
    i (x) となり;中間関数(ei (x))が ei (x) <0 のとき
    Ai (ei (x))=−1 となること、及び、 隠されたニューロン中でこの活性化関数〔 Ai (e
    i (x))〕を生成するために、ブロック(Ai )はe(x)を0
    について試験するブロック(241) 及び入力e(x)それ自身
    及び入力−1 を受け取るマルチプレクサ(242) を有し、
    これは試験ブロック(241) からの結果によって制御さ
    れ、求めようとする関数〔 Ai (ei (x))〕をその出力に
    供給することを特徴とするニューラル数値プロセッサ。
  16. 【請求項16】 請求項1に記載の数値処理方法におい
    て、 − 場合によっては不連続のある部分的線形関数〔f
    (x)〕を構築するために、1つの部分又は2つの部分を
    もつ線形関数〔H(x)〕のコントリビューションについて
    総和が実行され、それと共に、 − この関数〔f(x)〕の導関数(f')を構築するために、
    この1つの部分又は2つの部分をもつ線形関数〔 H
    i (x) 〕の導関数( H'i ) のコントリビューションにつ
    いて総和が実行されることを特徴とする数値処理方法。
  17. 【請求項17】 請求項4ないし7のうちのいずれか1
    項に記載の数値プロセッサにおいて、部分的線形関数f
    (x)の導関数(f')を構築するために、該数値プロセッサ
    は更に − 並列ブロック構造のブロック(Bi ) の各々に制御信
    号を与え、この信号に依存して関連のブロックが1つの
    部分又は2つの部分をもつ線形関数 ( Hi ) かその特定
    の関数の導関数( H'i ) かのいずれかを供給するような
    制御信号を有し、また、 − 副関数〔 Hi (x) 〕の部分の勾配のうちでこれらの
    関数〔 Hi (x) 〕の導関数( H'i ) を構成する勾配(s0,
    si , s'i ) のみを、メモリ領域における導関数計算モ
    ードで選択するための選択手段を有することを特徴とす
    る数値プロセッサ。
  18. 【請求項18】 請求項8ないし15のうちのいずれか1
    項に記載のニューラル数値プロセッサにおいて、 場合によっては不連続のある部分的線形関数〔f(x)〕を
    構築するために、該ニューラル数値プロセッサは、隠さ
    れたニューロンの活性化関数〔 Ai (ei (x))〕のコント
    リビューションの重み付けをした総和及びしきい値の重
    み付けをした総和を含むこと、 更にこの関数〔f(x)〕の導関数(f')を構築するために、
    該ニューラル数値プロセッサは、これらの活性化関数の
    導関数( A'i ) の重み付けをした総和及びしきい値の重
    み付けをした総和を含むこと、及び、 それと同時に部分的線形関数〔f(x)〕及びその導関数
    (f')を構築するために、該ニューラル数値プロセッサは
    更に、構築しようとする関数〔f(x)〕か又はその導関数
    (f')かのどちらかを制御信号に依存して供給するような
    制御信号を含み、該制御信号は、 − 変数入力(x) 及び固定入力(1) と出力ニューロンの
    総和ユニット( Σ )との直接接続の場合は微分モードで
    総和を求めるこれらの信号の導関数を供給するように行
    動し、 − 隠されたニューロン (HNi ) の活性化関数の場合は
    活性化関数〔 Ai (e(x))〕の導関数( A'i ) を供給する
    ように行動し、 − 出力ニューロン(ON)の入力シナプス係数の場合は関
    数〔f(x)〕を計算するのに有用な係数をもう1つのメモ
    リから発せられた導関数(f')を計算するのに有用な係数
    で置き換えるように行動することを特徴とするニューラ
    ル数値プロセッサ。
JP7075337A 1994-03-31 1995-03-31 線形関数で近似する数値処理方法及びプロセッサ Pending JPH07282038A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9403848 1994-03-31
FR9403848 1994-03-31

Publications (1)

Publication Number Publication Date
JPH07282038A true JPH07282038A (ja) 1995-10-27

Family

ID=9461648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7075337A Pending JPH07282038A (ja) 1994-03-31 1995-03-31 線形関数で近似する数値処理方法及びプロセッサ

Country Status (2)

Country Link
EP (1) EP0683462A3 (ja)
JP (1) JPH07282038A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09281996A (ja) * 1996-04-15 1997-10-31 Sony Corp 有声音/無声音判定方法及び装置、並びに音声符号化方法
JP2019087072A (ja) * 2017-11-08 2019-06-06 株式会社アクセル 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム
US11522671B2 (en) 2017-11-27 2022-12-06 Mitsubishi Electric Corporation Homomorphic inference device, homomorphic inference method, computer readable medium, and privacy-preserving information processing system
KR20230082525A (ko) 2021-12-01 2023-06-08 주식회사 딥엑스 프로그래밍 가능 활성화 함수 생성 방법 및 이를 이용하는 장치
US11836604B2 (en) 2021-12-01 2023-12-05 Deepx Co., Ltd. Method for generating programmable activation function and apparatus using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2685109A1 (fr) * 1991-12-11 1993-06-18 Philips Electronique Lab Processeur numerique neuronal operant avec une approximation d'une fonction d'activation non lineaire.

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09281996A (ja) * 1996-04-15 1997-10-31 Sony Corp 有声音/無声音判定方法及び装置、並びに音声符号化方法
JP2019087072A (ja) * 2017-11-08 2019-06-06 株式会社アクセル 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム
US11423297B2 (en) 2017-11-08 2022-08-23 Axell Corporation Processing apparatus, processing method, and nonvolatile recording medium
US11522671B2 (en) 2017-11-27 2022-12-06 Mitsubishi Electric Corporation Homomorphic inference device, homomorphic inference method, computer readable medium, and privacy-preserving information processing system
KR20230082525A (ko) 2021-12-01 2023-06-08 주식회사 딥엑스 프로그래밍 가능 활성화 함수 생성 방법 및 이를 이용하는 장치
US11836604B2 (en) 2021-12-01 2023-12-05 Deepx Co., Ltd. Method for generating programmable activation function and apparatus using the same
US12327174B2 (en) 2021-12-01 2025-06-10 Deepx Co., Ltd. Method for generating programmable activation function and apparatus using the same

Also Published As

Publication number Publication date
EP0683462A2 (fr) 1995-11-22
EP0683462A3 (fr) 1996-01-17

Similar Documents

Publication Publication Date Title
US5524178A (en) Neural network learning system
Gorinevsky et al. Comparison of some neural network and scattered data approximations: The inverse manipulator kinematics example
US5426599A (en) Hardware implemented multiplier for performing multiplication of two digital data according to booth algorithm
JPH10275084A (ja) 制約充足問題の解決装置及び解決方法、システム構築装置及び構築方法
US5416888A (en) Neural network for fuzzy reasoning
US5857178A (en) Neural network apparatus and learning method thereof
Bikker et al. On the Bézout construction of the resultant
EP0684549B1 (en) Method for parallel processing of fuzzy logic inference rules and corresponding circuit architecture with fuzzy inputs and outputs
Miller et al. Synthesizing reversible circuits for irreversible functions
Dell et al. An interactive MCDM weight space reduction method utilizing a Tchebycheff utility function
US20220027714A1 (en) Convolution block array for implementing neural network application and method using the same, and convolution block circuit
US5259039A (en) Method of separating specific patterns from pattern space and apparatus therefor
EP0684550B1 (en) Method for parallel processing of fuzzy logic inference rules and corresponding circuit architecture
JPH04229362A (ja) 学習機械
Radzik Minimizing capacity violations in a transshipment network
US20030158882A1 (en) Addition circuits
US7565387B1 (en) Systems and methods for configuring a programmable logic device to perform a computation using carry chains
Li et al. An enhanced training algorithm for multilayer neural networks based on reference output of hidden layer
Nikravesh et al. Process control of nonlinear time variant processes via artificial neural network
RAMÍK Vaguely interrelated coefficients in LP as a bicriterial optimization problem
KR100342886B1 (ko) 이진 시스템 학습 방법
JP3417574B2 (ja) ファジィ論理演算用ニューロン素子
KR950015180B1 (ko) 고속연산형 가산기
JPH0561850A (ja) 階層型ニユーラルネツトワークおよびその学習方法
Arbel et al. Priority-based interactive multicriteria optimization algorithm