JPH0451383A - ニューラルネットワーク - Google Patents

ニューラルネットワーク

Info

Publication number
JPH0451383A
JPH0451383A JP2161903A JP16190390A JPH0451383A JP H0451383 A JPH0451383 A JP H0451383A JP 2161903 A JP2161903 A JP 2161903A JP 16190390 A JP16190390 A JP 16190390A JP H0451383 A JPH0451383 A JP H0451383A
Authority
JP
Japan
Prior art keywords
layer
output
neural network
input
intermediate layer
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
JP2161903A
Other languages
English (en)
Inventor
Yoshinobu Mita
三田 良信
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2161903A priority Critical patent/JPH0451383A/ja
Priority to EP91305363A priority patent/EP0461902B1/en
Priority to DE69130656T priority patent/DE69130656T2/de
Publication of JPH0451383A publication Critical patent/JPH0451383A/ja
Priority to US08/026,093 priority patent/US5719955A/en
Priority to US08/969,832 priority patent/US6243490B1/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明は、各種処理に好適なニューラルネットワーク及
びその構築方法に関するものである。
[従来の技術] 近年、ニューラルネットワークによって各種処理を行な
うことが研究されている。
ニューラルネットワークを用いる処理では、処理精度を
向上させるために、各素子にニーロン)は多数の入力に
対して演算処理を施して出力を行なう。
[発明が解決しようとする課題] しかしながら、ニューラルネットワークを単純にハード
化すると、その回路規模は非常に大きいものとなってし
まうという問題があった。
[課題を解決するための手段] 上記課題を解決するために、本発明のニューラルネット
ワークは、当該ニューラルネットワークの中間層の各素
子において、当該素子に接続される入力層の素子を複数
のグループに分け、入力層よりの出力を各グループ毎に
テーブル変換によって処理を行なう複数の演算処理手段
を具える。
また、本発明のニューラルネットワークの他の態様は、
当該ニューラルネットワークの入力層の素子を複数のグ
ループに分け、入力層よりの出力を各グループ毎にテー
ブル変換によって処理を行なう複数の演算処理手段を具
える。
[作用] 本発明によれば、ニューラルネットワークの処理の大部
分を複数のテーブルによる変換により実現する。
[実施例] 先ず、パックプロパゲーション型ニューラルネットワー
クにおける学習の手順を第5図を例として説明する。
第5図に示されたニューラルネットワークill、入力
層i、1層よりなる中間層j、出力層kによって構成さ
れている。
学習のためには、入力データと、それに対する理想出力
とを用意し、中間層における結合強度WJ3、出力層に
おける結合強度W k4の初期値を適当に決定し、この
初期値に基づいて結合されたネットワークに、用意した
入力データを与え、中間層、出力層の順で処理されて出
力データを得る。ここまでが、第5図における■および
■の流れである。次に、得られた出力層よりの出力と、
用意した理想出力とを比較し、この比較により教師信号
を生成し、この教師信号によって、出力層における結合
強度WkJを補正し、更に中間層における結合強度WJ
lを補正する。これが■および■の流れである。
以上が学習の1工程であり、この学習を繰り返すことに
より、結合強度W48、W k、が適切な値へと修正さ
れてい(。学習の結果、更新された結合強度がネットワ
ーク内に保持される。
上述の学習手順を、第6図のフローチャートを用いて更
に詳細に説明する。
先ず、ステップ5401で、重み係数(結合強度) W
J、、W kJの初期値を与える。ここでは、学習過程
での収束を考慮して、−〇、5〜+0.5の範囲の値を
選択する。
次に、ステップ5402で学習用の入力データ1out
(i)を選択し、ステップ5403でこのデータ1ou
t(i)を入力層にセットする。また、ステップ34.
04で、人力データ1out(i)に対する理想出力(
ideal out)を用意する。
そこで、ステップ5405で、中間層の出力jout(
j)を求める。
先ず、入力層よりのデータ1out(i)に中間層の重
み係数W、、を掛け、その総和Sl1mFjを、Sum
z−ΣW Jl(j、 i)*1out(i)により計
算し、次に、この5ulllrJにsigmoid関数
を作用させて、j番目の中間層の出力jout(、i)
を、 によって計算する。
次に、ステップ8406で、出力層の出力kout(k
)を求める。この手順はステップ5406と同様である
すなわち、中間層からの出力jout(j)に出力層の
重み係数WkJを掛け、その総和SumFkを、SLI
mFk=ΣW h= (k、 j)*jout(j)に
より計算し、次に、このSumFkにsigmoid関
数を作用させて、k番目の中間層の出力kout(k)
を、 によって計算する。なお、この出力値は正規化されてい
る。また、一般には、出力層の素子数は複数であるが、
第5図の例では、1個だけとしている。
次に、ステップ5407では、以上により得られた出力
kout(k)と、ステップ5404で用意した理想出
力jdeal out(k)とを比較し、出力層の教師
信号teach k(k)として、 teach k(k) = (ideal out(k
) −kout(k))*kout(k)*(1−ko
ut(k)1を求める。ここで、kout(k)*(1
−kout(k)lは、sigmoid関数kout(
k)の微分の意義を有する。
次に、ステップ5408で、出力層の重み係数の変化幅
△wkJ(b、j)を、 △Wk、+(k、、j) =β*jout(j)*te
ach k(k)十α*△’A’kJ(k、j) により計算する。ここで、αは安定化定数、βは学習定
数と呼ばれる定数であり、急激な変化を押える役割を果
たしている。
ステップ5409では、この変化幅に基づいて、重み係
数VVki(k、、+)を、W kJ(k、 j) =
 W ki (k、J)+△Wya(k、j)と、更新
する。すなわぢ学習を行なう。
次に、ステップ5410で、中間層の教師信号teac
h j(j)を計算する。そのために、先ず、SumB
J=Σteach k(k)* WbJ(j、i)に基
づいて、出力層から、中間層の各素子への逆方向の寄与
を計算する。次にこのSLlmnjから、中間層の教師
信号teach j(j)を以下の式により演算する。
teach j(j)=jout(j)*(I−jou
t(j)l*sum11.1次に、ステップ5411で
、中間層の重み係数の変化幅△W 41(j、 i)を
、 △WJ+(j、i) =β*1out(i)*teac
h j(j)+α*△WJ□(j、j) により計算する。
ステップ5412では、この変化幅に基づいて、重み係
数W J l (j、 i)を、W Jl (j、 t
) = W Jl(j、 ;、)+△WJl(j、i)
と、更新する。すなわち学習を行なう。
こうして、ステップ3401〜412により、1組の人
力データとこれに対する理想出力とから、重み係数W 
J lとWk、とが1回学習された。
ステップ5413では、以上のような学習を全人力デー
タにつき行なったかを調べ、未だの場合は、ステップ3
401〜412を繰り返す。
ステップ5414では、所定の学習回数に達したかを調
べ、不足の場合は、ステップ8401〜413を繰り返
す。
以上がパックプロパゲーション法に基づいたニューラル
ネットワークの学習手順の説明である。
本発明は、第5図のような一般のニューラルネットワー
クに対して、次のような方法により、ニューラルネット
ワークのハードウェアを構成するものである。
本発明の1実施例の構成を第1図(a)に示す。同図に
おけるニューラルネットワークは、入力層の各素子は、
中間層の全ての素子と接続され、中間層の各素子は、1
個の素子よりなる出力層と接続されている。この中間層
の各素子において、図の破線に示すように、入力層の素
子をグルブ1および2の二つに分ける。グループの数は
、入力層の素子数に応じて、更に増やしても構わない。
これを全ての、または一部の中間層について行なう。な
お、中間層の素子ごとに、グループ分けは、一致しなく
てもよく、例えば、第1図(a)のように、素子m1と
m2とで異なっていてもよい。
このようなニューラルネットワークのハードウェア構成
について、以下に説明する。
第2図は、2個画像を処理するための回路構成である。
入力された2個画像は、直列に接続されたラインバッフ
ァ1〜3により、それぞれからから、1ライン、2ライ
ン、・・・の遅延データが得られ、画像の垂直方向のデ
ータが得られる。また、元のデータおよびこれらの遅延
データは、先ず、ラッチ4〜7に入力され、水平方向に
1画素の遅延が行なわれる。また、その出力は、ラッチ
8〜11に入力され、水平方向に更に1画素の遅延が行
なわれ、同様にラッチ12〜15までで、順次1画素の
遅延が行なわれる。このようにして、注目画素およびそ
の周囲の矩形領域の画像データがとりだされる。これを
2値パタンデータと呼ぶものとする。
2値パタンデータは、各演算部に入力される。
各演算部は、それぞれ、中間層の1素子に対応しており
、本実施例では、各演算部は、各素子におけるグループ
G1およびG2に対して、異なる2つのテーブルを持ち
、それぞれのグループに属する入力層の素子からの入力
を受ける。
各演算テーブルでは、グループにおける全ての入力層の
値joutに対するΣW i i X1oljt、が得
られる。これらを、グループG1、G2について、それ
ぞれ、S u m 1、S u m 2とすると、加算
器22〜24では、sum=suml+sum2が得ら
れる。中間層の出力としては、sigmoid関数の値
jout= f (s um)を計算すればよいが、本
実施例では、この出力joutにWkJを乗じたW k
JX joutまでを関数テーブル25〜27で求める
従って、加算器28では、 sum  =ΣW kJx joutの総和のみが行な
われ、S関数テーブル29により、sigmoid関数
値f (sum’ )がテーブル変換により求められ、
最終出力が得られることとなる。
第1図(b)に、本発明の他の構成として、中間層が入
力層の1部とだけ接続される場合の例を示す。同図では
、中間層の素子m1ば、入力層の素子11、i3、j5
、・・・と結合され、中間層の素子m2は、入力層の素
子12、i4、j6、・・・と結合される。
このように、入力層と中間層とは、全て結合していなく
てもよい。
また、前述した如く、グループ数は、3以」二でもよい
が、その場合は、各演算部における演算テブルをグルー
プの数だけ用意し、演算テーブルから加算器への入力数
もグループの数だけ必要となる。
また、上述のように、入力層と中間層の結線数が少な(
なれば、1つの演算部全体を1つのテブルに置き換えて
もよい。この場合、テーブルには、入力バタン1out
に対して、 f (ΣWJlxloll t ) X W l、 1
が書き込まれルコトニなる。従って、テーブル演算によ
り、中間層の出力に、出力層の重み係数を乗じた値まで
が得られる。
更に他の構成例を説明する。
本実施例では、各中間素子におけるグループ分けは共通
とする。
また、前述の実施例で中間層においてsigmoid関
数による値を求めていた部分を1次関数によって処理す
る。1次関数としては、sigmoid関数とy切片が
同一のものを使用する。
sigmoid関数f (x)を第4図(a)に、1次
関数f’  (x)を第4図(b)に示す。
以上の方法により、本実施例では、第2図の演算テーブ
ル16〜21、加算器22〜24、加算テーブル25〜
27および加算器28を第3図に示す構成の回路と置き
換えることが可能になる。
以下にこのことを示す。
この場合、加算器103による出力が、加算器28の出
力Σ(f (sum)XWwi)に対応するΣ(f’ 
 (sum)XWi+4)となれば、置き換え可能であ
る。ここで、 sum==sum]−+sum2であり、f’  (x
)は1次関数であるので、第4図(b)も参照して、f
’(sum) f’(suml)+f’(sum2)−f’(0)f’
(suml)+f’(sum2)−mi dを得る。従
って、 Σf ’ (s u m ) X W h、+)=Σf
 ’(s um 1 ) XW+、)十Σf ’(s 
u m 2 ) XWkJ)Σf ’ (m 1 d 
) X W 1)となるので、」1式の右辺第1項、第
2項をそれぞれ特殊関数テーブル10]、102で計算
するものとし、更に定数項となる第3項をどちらか一方
(例えば、テーブル101)で加えれば、加算器1、0
3の出力は、上式の左辺 Σf ’ (S u m ) ×W i+J)となるの
で、上述の置き換えが成立する。
すなわち、特殊関数テーブル101では、入力に対して
、 Σf ’(s u m ]  )  x WkJ)Σf
 ’ (m 1  d )  X W kJ)Σf ’
(s um 1−m i d) XWllJ)を出力し
、特殊関数テーブル102では、 Σf’(sum2)XWk、+)が書かれテイル。
[発明の効果] 以上説明した如く、本発明によれば、ニューラルネット
ワークの入力層を複数のグループに分り、ニューラルネ
ットワークの処理の大部分を、各グループ毎にテーブル
変換によって実現し、回路規模を小さくすることが可能
となる。
【図面の簡単な説明】
第1図(a)は、実施例のニューラルネットワクの構成
図、 第1図(b)は、他の実施例のニューラルネットワーク
の構成図、 第2図は、実施例のニューラルネットワークの回路構成
図、 第3図は、他の実施例のニューラルネットワクの構成図
、 第4図(a)は、処理に利用するsigmoid関数を
示す図、 第4図(b)は、処理に利用する1次関数を示す図、 第5図は、ニューラルネットワークの概念図、第6図は
、ニューラルネットワークの学習手順のフローチャート
である。 1〜3・・・ラインバッファ 4〜15・・・ラッチ 16〜21・・・演算テーブル 22〜24.28.103・・・加算器25〜27・・
・関数テーブル 29・−sigmoid関数テーブル 101、102・・・特殊演算テーブル(り 入力層 ψ間層 但fj4 (し)

Claims (4)

    【特許請求の範囲】
  1. (1)入力層、中間層及び出力層を有するニューラルネ
    ットワークであって、 当該ニューラルネットワークの中間層の各素子において
    、当該素子に接続される入力層の素子を複数のグループ
    に分け、入力層よりの出力を各グループ毎にテーブル変
    換によって処理を行なう複数の演算処理手段を具えたこ
    とを特徴とするニューラルネットワーク。
  2. (2)前記演算処理手段は、入力層よりの出力を受けて
    、中間層の出力に出力層での重み係数を乗じたものを出
    力することを特徴とする請求項第1項記載のニューラル
    ネットワーク。
  3. (3)入力層、中間層及び出力層を有するニューラルネ
    ットワークであって、 当該ニューラルネットワークの入力層の素子を複数のグ
    ループに分け、入力層よりの出力を各グループ毎にテー
    ブル変換によって処理を行なう複数の演算処理手段を具
    えたことを特徴とするニューラルネットワーク。
  4. (4)前記演算処理手段の少なくとも1つは、入力層よ
    りの出力を受けて、中間層の各素子の出力に出力層での
    当該素子に対する重み係数を乗じたものの和を出力する
    ことを特徴とする請求項第1項記載のニューラルネット
    ワーク。
JP2161903A 1990-06-14 1990-06-19 ニューラルネットワーク Pending JPH0451383A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2161903A JPH0451383A (ja) 1990-06-19 1990-06-19 ニューラルネットワーク
EP91305363A EP0461902B1 (en) 1990-06-14 1991-06-13 Neural network
DE69130656T DE69130656T2 (de) 1990-06-14 1991-06-13 Neuronale Netzwerke
US08/026,093 US5719955A (en) 1990-06-14 1993-03-04 Data processing using neural networks having conversion tables in an intermediate layer
US08/969,832 US6243490B1 (en) 1990-06-14 1997-11-13 Data processing using neural networks having conversion tables in an intermediate layer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2161903A JPH0451383A (ja) 1990-06-19 1990-06-19 ニューラルネットワーク

Publications (1)

Publication Number Publication Date
JPH0451383A true JPH0451383A (ja) 1992-02-19

Family

ID=15744211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2161903A Pending JPH0451383A (ja) 1990-06-14 1990-06-19 ニューラルネットワーク

Country Status (1)

Country Link
JP (1) JPH0451383A (ja)

Similar Documents

Publication Publication Date Title
US5175678A (en) Method and procedure for neural control of dynamic processes
JPH04184686A (ja) パターン認識装置
JPH0451384A (ja) ニューラルネットワークの構築方法
EP0444878B1 (en) Neural network
JPH07121498A (ja) ニューラルネットワーク構築方法
JPH0451383A (ja) ニューラルネットワーク
JPH076146A (ja) 並列データ処理システム
JPH05101028A (ja) 複数特徴量の統合判定方法
JPH07141313A (ja) 神経回路素子
US5490236A (en) Method of assigning initial values of connection parameters to a multilayered neural network
JP3262340B2 (ja) 情報処理装置
JPH0451386A (ja) ニューラルネットワーク及びその構築方法
JPH0451385A (ja) ニューラルネットワーク
JP3328953B2 (ja) 非線形シナプスニューロン、そのデバイス及びそれを用いた予測方法
JPH02100757A (ja) 並列ニューラルネットワーク学習方式
JP3082530B2 (ja) ニューラルネットワーク回路
JP3393511B2 (ja) 文字認識装置及び方法
JP2654686B2 (ja) ニューラルネットワーク
JP2607351B2 (ja) 多層パーセプトロンの神経回路網の効率的な学習のための誤差信号の発生方法
JPH0233655A (ja) 神経回路網型パターン処理装置
JPH0696046A (ja) ニューラルネットワークの学習処理装置
JPH0367358A (ja) 学習機械
Krawczak Backpropagation versus dynamic programming approach for neural networks learning
JPH04215170A (ja) 情報処理装置
JPH05233860A (ja) 時系列パターンの学習方式