JPH02267660A - ニューラルネットシミュレート処理装置 - Google Patents
ニューラルネットシミュレート処理装置Info
- Publication number
- JPH02267660A JPH02267660A JP1089064A JP8906489A JPH02267660A JP H02267660 A JPH02267660 A JP H02267660A JP 1089064 A JP1089064 A JP 1089064A JP 8906489 A JP8906489 A JP 8906489A JP H02267660 A JPH02267660 A JP H02267660A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- neural network
- shared data
- neural net
- symbol
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 21
- 230000001537 neural effect Effects 0.000 title abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 156
- 230000007246 mechanism Effects 0.000 claims abstract description 9
- 238000013528 artificial neural network Methods 0.000 claims description 49
- 230000008878 coupling Effects 0.000 claims description 16
- 238000010168 coupling process Methods 0.000 claims description 16
- 238000005859 coupling reaction Methods 0.000 claims description 16
- 230000003993 interaction Effects 0.000 abstract description 3
- 238000000034 method Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 238000000137 annealing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
ニューラルネットを人工知能等の分野で用いるためのツ
ールを5計算機システム上に実現するニューラルネット
シミュレート処理装置に関し。
ールを5計算機システム上に実現するニューラルネット
シミュレート処理装置に関し。
ニューラルネットによる処理と記号処理とを。
互いの特性を打ち消し合うことなく、併用しようとした
場合、これを実現するための有効なツールが存在しない
という問題を解決するためニューラルネットの動作をシ
ミュレーションするプロセスと記号処理用の言語処理系
のプロセスとが、ニューラルネットの基本データを共有
しながら並列動作可能とすることにより ニューラルネットによる処理と記号処理とが互いの特性
を打ち消すことなく相互作用し2両者を併用する環境を
提供できるようにする。
場合、これを実現するための有効なツールが存在しない
という問題を解決するためニューラルネットの動作をシ
ミュレーションするプロセスと記号処理用の言語処理系
のプロセスとが、ニューラルネットの基本データを共有
しながら並列動作可能とすることにより ニューラルネットによる処理と記号処理とが互いの特性
を打ち消すことなく相互作用し2両者を併用する環境を
提供できるようにする。
(産業上の利用分野〕
人工知能の研究では2人間の知的情報処理過程をモデル
化し、それに準じたプログラムを、計算機上で実行して
みるという手法がしばしばとられる。これに使われてき
たのが、記号処理と呼ばれる手法である。
化し、それに準じたプログラムを、計算機上で実行して
みるという手法がしばしばとられる。これに使われてき
たのが、記号処理と呼ばれる手法である。
一方、最近の人工知能の研究では、ニューラルネットを
応用しようとする動きが盛んであるがこれは、記号処理
の手法が不得意とする部分へのニューラルネットの応用
が期待されているからである。このような背景では、双
方とも、長所・短所があるので、先のモデル化の手法と
いう点からいって9両者をうまく併用するモデルを構築
することが望まれる。
応用しようとする動きが盛んであるがこれは、記号処理
の手法が不得意とする部分へのニューラルネットの応用
が期待されているからである。このような背景では、双
方とも、長所・短所があるので、先のモデル化の手法と
いう点からいって9両者をうまく併用するモデルを構築
することが望まれる。
したがって、ニューラルネットと記号処理を併用したモ
デルを実現する環境が必要になるが、ニューラルネット
による情報処理は、並列かつ分散的であるといわれ、従
来の情報処理とは、質的に異なっており、この特性を活
かせる構造を持つことが望ましい。
デルを実現する環境が必要になるが、ニューラルネット
による情報処理は、並列かつ分散的であるといわれ、従
来の情報処理とは、質的に異なっており、この特性を活
かせる構造を持つことが望ましい。
本発明は、このような需要に対応するための構造を備え
たニューラルネットシミュレータを実現するニエーラル
ネットシミュレート処理装置に関するものである。
たニューラルネットシミュレータを実現するニエーラル
ネットシミュレート処理装置に関するものである。
(従来の技術)
第17図は従来方式の例、第18図は従来型で実現でき
る処理の形態説明図である。
る処理の形態説明図である。
従来のニューラルネットシミュレータは9例えば第17
図に示すように、処理装置101の中のシミュレータ本
体102を、マンマシンインタフェースが包み込んだ構
造をしており、利用者が。
図に示すように、処理装置101の中のシミュレータ本
体102を、マンマシンインタフェースが包み込んだ構
造をしており、利用者が。
素子の数1層の構成、結合の制約などの条件100を与
えてやることで、それを満たしたニューラルネットを自
動的に生成し、学習やその他の動作を容易に実行させる
環境を提供する。
えてやることで、それを満たしたニューラルネットを自
動的に生成し、学習やその他の動作を容易に実行させる
環境を提供する。
しかし、従来方式では、外部とのインタフェースとして
は1通常、マンマシンインタフェースしかなく、デイス
プレィ等の出力袋W103に結果を出力するだけである
。外部とのインタフェースが、マンマシンインタフェー
ス以外にあったとしても、せいぜいニューラルネットの
動作環境作成後(学習完了後)、初めて行うことのでき
るプログラム言語とのリンク機構を持っているに過ぎな
い。
は1通常、マンマシンインタフェースしかなく、デイス
プレィ等の出力袋W103に結果を出力するだけである
。外部とのインタフェースが、マンマシンインタフェー
ス以外にあったとしても、せいぜいニューラルネットの
動作環境作成後(学習完了後)、初めて行うことのでき
るプログラム言語とのリンク機構を持っているに過ぎな
い。
人工知能における従来からの手法である記号処理と、ニ
ューラルネットの処理とを、この方式のもとで併用しよ
うとした場合、記号処理の中からニューラルネットをサ
ブルーチン的に呼び出すことになる。
ューラルネットの処理とを、この方式のもとで併用しよ
うとした場合、記号処理の中からニューラルネットをサ
ブルーチン的に呼び出すことになる。
すなわち、従来型では、第18図(a)に示すように、
記号処理をニューラルネットの処理の前処理および後処
理としたり、第18図(b)に示すように、ニューラル
ネットの処理を、記号処理の過程における特定の位置で
、関数呼び出し的に動作させるというような形式だけし
か許されないことになる。
記号処理をニューラルネットの処理の前処理および後処
理としたり、第18図(b)に示すように、ニューラル
ネットの処理を、記号処理の過程における特定の位置で
、関数呼び出し的に動作させるというような形式だけし
か許されないことになる。
従来型によれば、第18図(a)、(b)のいずれにし
ても、第18図(C)に示すように、ニューラルネット
の処理そのものは、単独で動作することになり、記号処
理とニューラルネットの処理とが1例えば一方が動作し
ているときは、他方がその処理要求または処理結果を待
つような関係になる。
ても、第18図(C)に示すように、ニューラルネット
の処理そのものは、単独で動作することになり、記号処
理とニューラルネットの処理とが1例えば一方が動作し
ているときは、他方がその処理要求または処理結果を待
つような関係になる。
したがって、双方の処理を併用したモデルを考え9例え
ば第18図(d)に示すように、ニューラルネットを随
時動作させながら、そこから生成される結果に対して、
記号処理を適用し、その結果をニューラルネットに反映
させていくというようなインタラクティブな相互作用を
含んだ処理を必要とするとようなモデルを実現すること
は困難である。
ば第18図(d)に示すように、ニューラルネットを随
時動作させながら、そこから生成される結果に対して、
記号処理を適用し、その結果をニューラルネットに反映
させていくというようなインタラクティブな相互作用を
含んだ処理を必要とするとようなモデルを実現すること
は困難である。
以上のように従来型の場合、ニューラルネットを記号処
理と併用する環境としては、不十分であるという問題が
ある。
理と併用する環境としては、不十分であるという問題が
ある。
本発明は上記問題点の解決を図り、ニューラルネットに
よる処理を記号処理と併用する環境を実現し、ニューラ
ルネットの柔軟な応用を可能とする手段を提供すること
を目的としている。
よる処理を記号処理と併用する環境を実現し、ニューラ
ルネットの柔軟な応用を可能とする手段を提供すること
を目的としている。
第1図は本発明の構成例を示す。
ニューラルネットのシミュレーション処理部10は、ニ
ューラルネットの動作を実現する処理手段であり、共有
データアクセス機構13を持つ。
ューラルネットの動作を実現する処理手段であり、共有
データアクセス機構13を持つ。
ニューラルネ・ントのモデルとしては、ホンツブフィー
ルド型のもの、ボルツマンマシン型のものなど各種のタ
イプがあり、そのいずれでもよい。
ルド型のもの、ボルツマンマシン型のものなど各種のタ
イプがあり、そのいずれでもよい。
言語処理系の記号処理部11は、記号処理用の言語処理
系を実現する処理手段であり、この記号処理として1例
えばLISP処理系、PROLOG処理系などの各種処
理系またはエキスパートシステム等における処理系にお
ける処理を含む。言語処理系の記号処理部11も、別に
共有データアクセス機構14を持つ。
系を実現する処理手段であり、この記号処理として1例
えばLISP処理系、PROLOG処理系などの各種処
理系またはエキスパートシステム等における処理系にお
ける処理を含む。言語処理系の記号処理部11も、別に
共有データアクセス機構14を持つ。
共有データ部12は、素子状態情報15.素子間結合強
度情報16などのニューラルネットの状態を表す量や、
素子の立ち上がり特性、バイアスを決定する量などの基
本データを格納するメモリ領域である。
度情報16などのニューラルネットの状態を表す量や、
素子の立ち上がり特性、バイアスを決定する量などの基
本データを格納するメモリ領域である。
ニューラルネットのシミュレーション処理部10と言語
処理系の記号処理部11とは、共有データ部12を介し
て、相互作用ができ、並列に動作・可能な構造になって
いる。
処理系の記号処理部11とは、共有データ部12を介し
て、相互作用ができ、並列に動作・可能な構造になって
いる。
ニューラルネットのシミュレーション処理部10および
言語処理系の記号処理部11を、1つの処理装置内で、
各々、CPU実行権が与えられるプロセスとして構成し
てもよく、また、ニューラルネットのシミュレーシジン
処理部10.言語処理系の記号処理部11が、それぞれ
専用の処理装置で動作するようにし、共有データ部12
を、それらの処理装置の共用メモリ上に設ける構成にし
てもよい。
言語処理系の記号処理部11を、1つの処理装置内で、
各々、CPU実行権が与えられるプロセスとして構成し
てもよく、また、ニューラルネットのシミュレーシジン
処理部10.言語処理系の記号処理部11が、それぞれ
専用の処理装置で動作するようにし、共有データ部12
を、それらの処理装置の共用メモリ上に設ける構成にし
てもよい。
共有データ部12に、ニューラルネットの基本データが
置かれるので、ニューラルネットのシミュレーション処
理部10によるシミュレーションは、共有データ部12
に置かれた値に影響され。
置かれるので、ニューラルネットのシミュレーション処
理部10によるシミュレーションは、共有データ部12
に置かれた値に影響され。
またシミュレーションによる処理結果も共有データ部1
2に展開される。
2に展開される。
言語処理系の記号処理部11は、その各処理P1、P2
.・・・において、共有データ部12を介して、ニュー
ラルネットのシミュレーション処理部lOとの間で相互
作用が可能になり、共有データ部12を、共有データア
クセス機構14によりアクセスすることにより、随時、
ニューラルネットの動作および状態を観測することがで
きる。
.・・・において、共有データ部12を介して、ニュー
ラルネットのシミュレーション処理部lOとの間で相互
作用が可能になり、共有データ部12を、共有データア
クセス機構14によりアクセスすることにより、随時、
ニューラルネットの動作および状態を観測することがで
きる。
〔実施例1〕
第2図は本発明の実施例の概要図、第3図は本発明の詳
細な説明するための素子の層構成の例第4図は本発明の
実施例で用いる素子状態テーブルの例、第5図は本発明
の実施例で用いる結合強度テーブルの例、第6図は本発
明の実施例で用いる共有値の例、第7図は本発明の実施
例で用いる焼きなましスケジュールテーブルの例、第8
図は本発明の実施例に係る記号処理側初期化処理フロ第
9図および第10図は本発明の実施例に係るボルツマン
マシンの処理フローを示す。
細な説明するための素子の層構成の例第4図は本発明の
実施例で用いる素子状態テーブルの例、第5図は本発明
の実施例で用いる結合強度テーブルの例、第6図は本発
明の実施例で用いる共有値の例、第7図は本発明の実施
例で用いる焼きなましスケジュールテーブルの例、第8
図は本発明の実施例に係る記号処理側初期化処理フロ第
9図および第10図は本発明の実施例に係るボルツマン
マシンの処理フローを示す。
以下、第2図に示すように、言語処理系の記号処理部1
1として、LISP処理系のLISPトップレベルを割
り当て、ニューラルネットのシミュレーション処理部1
0として、ネットワーク・メカニズムの1つとしてよく
知られているボルツマンマシンを使用した例を説明する
。
1として、LISP処理系のLISPトップレベルを割
り当て、ニューラルネットのシミュレーション処理部1
0として、ネットワーク・メカニズムの1つとしてよく
知られているボルツマンマシンを使用した例を説明する
。
第2図において、20はCPUおよびメモリなどからな
る処理装置である。ニューラルネットのシミュレーショ
ン処理部10.言語処理系の記号処理部11は、それぞ
れプロセスとして動作する。
る処理装置である。ニューラルネットのシミュレーショ
ン処理部10.言語処理系の記号処理部11は、それぞ
れプロセスとして動作する。
これらは2例えば米国AT&T社が開発したオペレーテ
ィング・システムであるU N I X system
V上で実現され、共有データ部12を設ける共有メモリ
等は、このオペレーティング・システムにおいて、プロ
セス間通信用サブルーチンとして提供されているIPC
システムコールに依存していこの第1の実施例では、学
習を行わせる機能はなく、学習を完了しているボルツマ
ンマシンと記号処理とを、同時に動作させるものとする
。
ィング・システムであるU N I X system
V上で実現され、共有データ部12を設ける共有メモリ
等は、このオペレーティング・システムにおいて、プロ
セス間通信用サブルーチンとして提供されているIPC
システムコールに依存していこの第1の実施例では、学
習を行わせる機能はなく、学習を完了しているボルツマ
ンマシンと記号処理とを、同時に動作させるものとする
。
説明をF、lにするために、このボルツマンマシンでは
、第3図に示すような素子の層構成を扱うものとする。
、第3図に示すような素子の層構成を扱うものとする。
入力層は、素子0,1,2.3である。隠れ層は、素子
4.5.6である。出力層は、7.89である。人力層
と出力層間のリンクはない。
4.5.6である。出力層は、7.89である。人力層
と出力層間のリンクはない。
各素子O〜9の状態は7第4図に示す素子状態テーブル
によって表される。この素子状態テーブルは、第2図に
示す共有データ部12に設けられ。
によって表される。この素子状態テーブルは、第2図に
示す共有データ部12に設けられ。
プログラムでは、 5tateと呼ぶ素子数NX2の二
次元配列で管理する。以下の内容である。
次元配列で管理する。以下の内容である。
5tate[i、 0] :素子iの状態5tate[
i、 11 :素子iの状態更新の許可情報(1→更
新可、0→更新不可) 更新不可の素子の状態は、固定されることになる。ここ
では、入力層の素子は、外部から固定される以外には、
状態を変えない。
i、 11 :素子iの状態更新の許可情報(1→更
新可、0→更新不可) 更新不可の素子の状態は、固定されることになる。ここ
では、入力層の素子は、外部から固定される以外には、
状態を変えない。
また、第5図に示すような結合強度テーブルを。
共有データ部12に設けて管理する。
素子間の結合強度テーブルは、 Weightで示され
るNXNX2の三次元配列で実現される。
るNXNX2の三次元配列で実現される。
Werght[r、 j、 0] :素子iと素子
jとの結合強度 Weight[i、 j、 1] ’素子iと素
子jとの結合強度の更新許可 (l→更新可、0→更新不可) を意味する。第5図に示す結合強度の配列において、結
合強度の値がOに初期化されている部分は第3図に示す
層構成から明らかなように、素子間のリンクがない部分
である。
jとの結合強度 Weight[i、 j、 1] ’素子iと素
子jとの結合強度の更新許可 (l→更新可、0→更新不可) を意味する。第5図に示す結合強度の配列において、結
合強度の値がOに初期化されている部分は第3図に示す
層構成から明らかなように、素子間のリンクがない部分
である。
また、整数および実数の共有値として、それぞれ例えば
第6図(イ)、(ロ)に示すような値を扱う。
第6図(イ)、(ロ)に示すような値を扱う。
rTR変数は、更新したい素子の数である。
Nは、ネットワークを構成する素子の数である。
Tは、焼きなましスケジュールで用いる温度である。
ボルツマンマシンでは1周知のように、仮想的な温度の
パラメータであるTを高<シ1次に徐々にTを低くする
いわゆる“°焼きなまし探索°”を用いる。
パラメータであるTを高<シ1次に徐々にTを低くする
いわゆる“°焼きなまし探索°”を用いる。
この温度Tを変化させるためのテーブルとして第7図(
イ)に示すような焼きなましスケジュールテーブルを用
いる。このテーブルを構成する1つのセルは、第7図(
ロ)に示すように、温度と次のセルへのポインタとから
なる。
イ)に示すような焼きなましスケジュールテーブルを用
いる。このテーブルを構成する1つのセルは、第7図(
ロ)に示すように、温度と次のセルへのポインタとから
なる。
このポインタを、第7図(ハ)に示すように接続すると
1温度はTO→T1→T2・・・と変更され最後のTn
の後にNULLが検出されると、ボルツマンマシンは、
探索を停止する。
1温度はTO→T1→T2・・・と変更され最後のTn
の後にNULLが検出されると、ボルツマンマシンは、
探索を停止する。
これを第7図(ニ)に示すように接続すると。
温度TnO後、再び温度TOから同様に探索を繰り返す
。第7図(ホ)に示すように接続すると。
。第7図(ホ)に示すように接続すると。
ボルツマンマシンは、1通りの探索終了後、温度Tnで
の探索を繰り返す。
の探索を繰り返す。
すなわち、焼きなましスケジュールチーフルのポインタ
を書き換えることにより2種々のスケジュールを実現す
ることができることになる。
を書き換えることにより2種々のスケジュールを実現す
ることができることになる。
これらの各種のデータは、共有データ部12上に置かれ
、ニューラルネットのシミュレーション処理部10およ
び言語処理系の記号処理部11から、所定の条件のもと
て参照または更新が可能である。
、ニューラルネットのシミュレーション処理部10およ
び言語処理系の記号処理部11から、所定の条件のもと
て参照または更新が可能である。
第8図は、LISP処理系で実行される初期化手続きの
フローチャートを示している。
フローチャートを示している。
まず、IPcシステムコールに依存するシェアートメモ
リを宣言し、共有データ部12を確保する。ここに、素
子の数N5層構成、焼きなましスケジュールテーブルそ
の他の各種基本データを設定する。この設定手続きは、
利用者が任意に作成することができる。
リを宣言し、共有データ部12を確保する。ここに、素
子の数N5層構成、焼きなましスケジュールテーブルそ
の他の各種基本データを設定する。この設定手続きは、
利用者が任意に作成することができる。
その後、UNIXにおけるfork、exec等の機能
を用いて1 ボルツマンマシンのプロセスを生成する。
を用いて1 ボルツマンマシンのプロセスを生成する。
初期化終了後、LISPのトyプレベルに戻る。
以後、関数の評価等を行い、記号処理を遂行するLIS
P処理系の記号処理部と、ボルツマンマシンのプロセス
とが並列に動作することになる。
P処理系の記号処理部と、ボルツマンマシンのプロセス
とが並列に動作することになる。
本実施例におけるボルツマンマシンの処理の流れは1例
えば第9図および第10図に示すようになる。図におい
て (=」は1代入を表している。Tcはセルの温度、
Tは温度、 Temρ[0]はインデンクス0の温度(
T O) 、 Tself()は焼きなましスケジュー
ルテーブルにおける温度を得るための関数、 Tnex
t()は次のセルのポインタを得るための関数である。
えば第9図および第10図に示すようになる。図におい
て (=」は1代入を表している。Tcはセルの温度、
Tは温度、 Temρ[0]はインデンクス0の温度(
T O) 、 Tself()は焼きなましスケジュー
ルテーブルにおける温度を得るための関数、 Tnex
t()は次のセルのポインタを得るための関数である。
第9図では、出力に対する影響度を表す仮想的な温度T
をパラメータとして、データを取り出すときの手順の一
種である゛焼きなまし探索゛を行っている。温度Tは、
共有データ部12の焼きなましスケジュールテーブルに
従って変化するがその際に、第7図で説明したリンクを
たどって次の温度を得る。リンクの先がNULLの場合
には、ボルツマンマシンの動作は事実上停止することに
なる。このリンク構造は、LISP処理系側からもアク
セスできるので、リンクを書き換えることにより、動作
の制御が可能である。
をパラメータとして、データを取り出すときの手順の一
種である゛焼きなまし探索゛を行っている。温度Tは、
共有データ部12の焼きなましスケジュールテーブルに
従って変化するがその際に、第7図で説明したリンクを
たどって次の温度を得る。リンクの先がNULLの場合
には、ボルツマンマシンの動作は事実上停止することに
なる。このリンク構造は、LISP処理系側からもアク
セスできるので、リンクを書き換えることにより、動作
の制御が可能である。
最初、ボルツマンマシンの初期化のために、第10図(
イ)に示す処理を呼び出す。ここでは。
イ)に示す処理を呼び出す。ここでは。
記号処理側のシェアートメモリの宣言に対応してボルツ
マンマシン側でも、シェアートメモリをM言する。また
、結合強度の初期化が必要であるが否かの指定によって
、必要であれば9初朋化フアイルからの読み込みを行う
。
マンマシン側でも、シェアートメモリをM言する。また
、結合強度の初期化が必要であるが否かの指定によって
、必要であれば9初朋化フアイルからの読み込みを行う
。
第9図において、初期化後、セルの温度Tcの初期値か
ら温度Tを求め1関数upda teを呼び出すと、関
数updateでは、第10図(ロ)に示す処理を実行
する。この関数は、素子全体における状態更新を実行す
る部分である。
ら温度Tを求め1関数upda teを呼び出すと、関
数updateでは、第10図(ロ)に示す処理を実行
する。この関数は、素子全体における状態更新を実行す
る部分である。
処理カウント値Countが、共有データ部12に設定
された更新したい素子の数ITRになるまで。
された更新したい素子の数ITRになるまで。
乱数によって選択された素子の状態を、 Trans関
数の呼び出しによって更新する。Random関数は。
数の呼び出しによって更新する。Random関数は。
0以上1未満の乱数を発生させる関数である。
T rans関数の処理では、第10図(ハ)に示すよ
うに、素子iの状態更新を行う、すなわち、素子状態テ
ーブル5tate[i、1]が更新許可を示すとき5素
子状態テーブル5tate[i、O]を更新する。In
put(i)は、素子間結合を通して素子iに入力され
る量を計算する関数である。P (u)は入力がUであ
る素子が、状態更新によってON。
うに、素子iの状態更新を行う、すなわち、素子状態テ
ーブル5tate[i、1]が更新許可を示すとき5素
子状態テーブル5tate[i、O]を更新する。In
put(i)は、素子間結合を通して素子iに入力され
る量を計算する関数である。P (u)は入力がUであ
る素子が、状態更新によってON。
すなわち、状態に1になる確率を計算する関数である。
以上の処理アルゴリズムは1周知の焼きなまし探索に基
づいている。
づいている。
〔実施例2〕
次に、第2図に示す構成と同様な処理環境のもとで、学
習機能を取り入れた実施例について説明する。
習機能を取り入れた実施例について説明する。
第11図は本発明の実施例に係る学習モード時の状態遷
移図、第12図は本発明の実施例に係る記号処理側学習
手続きの処理フロー、第13図ないし第16図は本発明
の実施例に係るボルツマンマシンに関連する処理フロー
を示す。
移図、第12図は本発明の実施例に係る記号処理側学習
手続きの処理フロー、第13図ないし第16図は本発明
の実施例に係るボルツマンマシンに関連する処理フロー
を示す。
動作の基本部分は、前述した第1の実施例とほとんと回
しであるが、共有データ部12に設定される基本データ
として、第6図(ロ)に示す実数値のF−νalueに
、学習時の結合強度の更新単位であるWS (Weig
ht 5tep)を追加する。
しであるが、共有データ部12に設定される基本データ
として、第6図(ロ)に示す実数値のF−νalueに
、学習時の結合強度の更新単位であるWS (Weig
ht 5tep)を追加する。
また1通常動作と学習動作の2つのモードを設け、これ
をオペレーティング・システムのメンセージ機能を用い
て5記号処理側からの制御によって選択的に使い分ける
構造とεている。学習モードでは、言語処理系とボルツ
マンマシンの両プロセスは、頻繁に同期をとる。
をオペレーティング・システムのメンセージ機能を用い
て5記号処理側からの制御によって選択的に使い分ける
構造とεている。学習モードでは、言語処理系とボルツ
マンマシンの両プロセスは、頻繁に同期をとる。
第11図(イ)は1本実施例におけるシステム全体の状
態遷移図を示している。
態遷移図を示している。
LISP起動によって、処理が開始され、初期設定によ
って、ボルツマンマシンのプロセスを生成する。その後
、記号処理の単独動作によって通常モード動作または学
習モード動作のいずれかを選択する。
って、ボルツマンマシンのプロセスを生成する。その後
、記号処理の単独動作によって通常モード動作または学
習モード動作のいずれかを選択する。
ボルツマンマシン側の状IQii!!移図は、第11図
(ロ)に示すようになっている。
(ロ)に示すようになっている。
モード指定のメツセージを待ら、メンセージを受信した
ならば、モードを分析して1通常動作または学習動作を
行う。
ならば、モードを分析して1通常動作または学習動作を
行う。
このボルツマンマシンにおける学習動作の状態遷移図は
、第11図(ハ)に示すようになっており、Type1
〜4のメンセージを待ち、各T ypeに応じて1図に
示すような処理を行う。
、第11図(ハ)に示すようになっており、Type1
〜4のメンセージを待ち、各T ypeに応じて1図に
示すような処理を行う。
この第2の実施例における記号処理側学習手続きの処理
フローは、第12図に示すようになっている。
フローは、第12図に示すようになっている。
“学習用教師信号の展開°°は、利用者に委ねられる部
分で、 P ositive P haseでは、入
出力データの紐を、共有データ部12に展開する。一方
Negative Phaseでは、入力データのみを
、共有データ部12上の素子状態テーブルおよび結合強
度テーブルの該当する部分に展開する。その値は。
分で、 P ositive P haseでは、入
出力データの紐を、共有データ部12に展開する。一方
Negative Phaseでは、入力データのみを
、共有データ部12上の素子状態テーブルおよび結合強
度テーブルの該当する部分に展開する。その値は。
素子状態テーブル上のビットパターンか、入力層につな
がる結合の値のどちらか一方もしくは両方となる。いず
れにしても、利用者の想定したモデルの特性がここに大
きく反映されるので、ここはモデルによって大きく異な
る部分である。
がる結合の値のどちらか一方もしくは両方となる。いず
れにしても、利用者の想定したモデルの特性がここに大
きく反映されるので、ここはモデルによって大きく異な
る部分である。
また、各フェーズや、学習動作などの終了条件も、利用
者に委ねられる。第12図において1点線で囲んだ処理
手続きは、利用者依存の部分である。記号処理側の手続
きは、利用者に依存する部分が多くなるようにあえて作
られており、学習動作については、第12図のフローチ
ャートに示した構造を守りさえすればよい。なお、第1
2図に示す個々のステップごとの処理内容は1図から明
らかであるので、これ以上の詳しい説明は省略する。
者に委ねられる。第12図において1点線で囲んだ処理
手続きは、利用者依存の部分である。記号処理側の手続
きは、利用者に依存する部分が多くなるようにあえて作
られており、学習動作については、第12図のフローチ
ャートに示した構造を守りさえすればよい。なお、第1
2図に示す個々のステップごとの処理内容は1図から明
らかであるので、これ以上の詳しい説明は省略する。
ボルツマンマシン側のメインルーチンハ、第13図(イ
)に示すようになっている。
)に示すようになっている。
記号処理側からのモード選択のメンセージを受信して、
それに対応したモードに入る。シグナルによる割り込み
で、メツセージ待ちの状態に戻る。
それに対応したモードに入る。シグナルによる割り込み
で、メツセージ待ちの状態に戻る。
通常動作では、第13図(ロ)に示す処理により、焼き
なまし探索を行う。この焼きなまし探索は、第13図(
ハ)に示すように行われるが、その処理内容については
、前述した第1の実施例の場合と同様である。
なまし探索を行う。この焼きなまし探索は、第13図(
ハ)に示すように行われるが、その処理内容については
、前述した第1の実施例の場合と同様である。
ボルツマンマシン側の学習動作は、第14図に示すよう
に行われる。第12図に示した記号処理側の学習手続き
により送信されるメソセージによって1次の3つの動作
フェーズを選択実行する。
に行われる。第12図に示した記号処理側の学習手続き
により送信されるメソセージによって1次の3つの動作
フェーズを選択実行する。
Po5itive Phase :フローチャート中の
“計測1”に対応する。
“計測1”に対応する。
−Negative Phase :フローチャート中
の“計測2”に対応する。
の“計測2”に対応する。
これらは共に、ボルツマンマシンの学習達成度を計測し
、素子間結合を更新するためのデータを収集するフェー
ズである。
、素子間結合を更新するためのデータを収集するフェー
ズである。
・結合更新;上記2つのフェーズにより得たデータをも
とに、結合強度を更新する。
とに、結合強度を更新する。
その際、讐eight [i 、 j 、 1コで
示される更新許可に従う。
示される更新許可に従う。
T ype3のメツセージに受信に対しては、 Po
5itive P haseで、第15図(イ)に示す
“計1j111”の処理を実行する。
5itive P haseで、第15図(イ)に示す
“計1j111”の処理を実行する。
第15図において、S[i、jlは、素子iと素子jの
状態が同時に1になっているものの個数を調べるための
カウンタで、素子iと素子jとの結合強度を変えるため
に用いられる。゛計測l“では、S[i、jlをカウン
トアンプするのに対し、“計測2°°では、第151E
J(ロ)に示すように、これをカウントダウンさせる。
状態が同時に1になっているものの個数を調べるための
カウンタで、素子iと素子jとの結合強度を変えるため
に用いられる。゛計測l“では、S[i、jlをカウン
トアンプするのに対し、“計測2°°では、第151E
J(ロ)に示すように、これをカウントダウンさせる。
それ以外については、同様な処理となる。
これらのフェーズの後、 T ype2のメンセージ
を受信すると、結合更新のフェーズに移り、第16図に
示す結合強度変更の処理を実行する。
を受信すると、結合更新のフェーズに移り、第16図に
示す結合強度変更の処理を実行する。
ldeight [i、 j 、 0 ]は、第5
図に示す結合強度を示し、 Weight[i、 j
、 1コは、それに対応する更新許可である。
図に示す結合強度を示し、 Weight[i、 j
、 1コは、それに対応する更新許可である。
各素子i、素子jの組について、 WeigM [ij
、1]が[更新許可(1)」となっており、かつ“計測
1゛および“計測2°”でカウントした個数S[i、j
lがOでなければ、その正・負により、結合強度−ei
ght [i 、 j 、 0 ]および−eig
ht[j、i、o]を、結合強度の更新単位WSだけ。
、1]が[更新許可(1)」となっており、かつ“計測
1゛および“計測2°”でカウントした個数S[i、j
lがOでなければ、その正・負により、結合強度−ei
ght [i 、 j 、 0 ]および−eig
ht[j、i、o]を、結合強度の更新単位WSだけ。
プラスまたはマイナスする。
結合強度の更新単位WSは、あらかじめ記号処理側か共
有データ部12に任意に設定できる。
有データ部12に任意に設定できる。
以上、ニューラルネットのネットワーク・メカニズムと
して、ボルツマンマシンを例に説明したが、もちろん本
発明は、これに限られるわけではなく、他のニューラル
ネットについても、言語処理系とニューラルネットシミ
ュレータとが、共有データ部12を介して、相互作用す
るように構成できることは言うまでもない。
して、ボルツマンマシンを例に説明したが、もちろん本
発明は、これに限られるわけではなく、他のニューラル
ネットについても、言語処理系とニューラルネットシミ
ュレータとが、共有データ部12を介して、相互作用す
るように構成できることは言うまでもない。
例えば1人工知能の分野において、自然言語の解析に応
用する場合、言語処理系の記号処理部は。
用する場合、言語処理系の記号処理部は。
文脈の主語・述語を判断するなど、所定の文法規則にあ
る程度厳密に従った解析処理を得意とする一方、あいま
いな用法や、よく間違えられる誤った用語等を認識する
ことは不得意である。これに対し、ニューラルネットシ
ミュレータは、あいまいな用法や表現等のパターンを、
学習に基づいてコード化するような処理を得意としてい
る。本発明によれば、これらを並列に動作させ、相互に
補い合うことによって、従来以上の意味理解が可能にな
る。
る程度厳密に従った解析処理を得意とする一方、あいま
いな用法や、よく間違えられる誤った用語等を認識する
ことは不得意である。これに対し、ニューラルネットシ
ミュレータは、あいまいな用法や表現等のパターンを、
学習に基づいてコード化するような処理を得意としてい
る。本発明によれば、これらを並列に動作させ、相互に
補い合うことによって、従来以上の意味理解が可能にな
る。
また、ニューラルネットシミュレータにおける学習の達
成状況などを随時観測できるので、その状態を表示する
ことなどにより、結合強度の更新単位など、外部から最
適な制御情報を与えることも可能になり、効率的な学習
を行わせることができるようになる。
成状況などを随時観測できるので、その状態を表示する
ことなどにより、結合強度の更新単位など、外部から最
適な制御情報を与えることも可能になり、効率的な学習
を行わせることができるようになる。
以上説明したように1本発明によれば、ニエラル不ット
と記号処理用の言語処理系とが、基本データを共有しな
がら並列に動作するので、以下の特徴を持つ。
と記号処理用の言語処理系とが、基本データを共有しな
がら並列に動作するので、以下の特徴を持つ。
(a) 記号処理の中からニューラル不ノI・の動作
を随時観測できる。
を随時観測できる。
(b) 記号処理を実行しながら、ニューラルネット
の処理も同時に実行できる。
の処理も同時に実行できる。
(C) 共有データを通して、記号処理とニューラル
ネットの処理とが、相互作用できる。
ネットの処理とが、相互作用できる。
したがって ニューラルネットの処理と、記号処理とが
5アルゴリズムのレベルでは影響し合うことなく、互い
の処理の結果を他方に影響させることが可能となり、質
的に異なった画処理の特性を打ち消し合うことなく2両
処理を併用した人工知能などのモデルを実現できる環境
を構築することができるようになる。
5アルゴリズムのレベルでは影響し合うことなく、互い
の処理の結果を他方に影響させることが可能となり、質
的に異なった画処理の特性を打ち消し合うことなく2両
処理を併用した人工知能などのモデルを実現できる環境
を構築することができるようになる。
第1図は本発明の構成例。
第2図は本発明の実施例の概要図
第3図は本発明の詳細な説明するための素子の層構成の
例。 第4図は本発明の実施例で用いる素子状態テーブルの例
。 第5図は本発明の実施例で用いる結合強度テーブルの例 第6図は本発明の実施例で用いる共有値の例第7図は本
発明の実施例で用いる焼きなましスケジュールテーブル
の例。 第8図は本発明の実施例に係る記号処理側初期化処理フ
ロー 第9図および第10図は本発明の実施例に係るボルツマ
ンマシンの処理フロー 第11図は本発明の実施例に係る学習モード時の状態遷
移図。 第12図は本発明の実施例に係る記号処理側学習手続き
の処理フロー 第13図は本発明の実施例に係るボルツマンマシンの処
理フロー 第14図は第13図の処理に関連する学習動作の処理フ
ロー 第15図は第14図の処理に関連する学習時の計測動作
処理フロー 第16図は第14図の処理に関連する結合強度変更処理
フロー 第17図は従来方式の例。 第18図は従来型で実現できる処理の形態説明図を示す
。 図中、10はニューラルネットのシミュレーション処理
部、11は言語処理系の記号処理部、12は共有データ
部、13および14は共有データアクセス機構 15は素子状態情報 16は素子 間結合強度情報を表す。
例。 第4図は本発明の実施例で用いる素子状態テーブルの例
。 第5図は本発明の実施例で用いる結合強度テーブルの例 第6図は本発明の実施例で用いる共有値の例第7図は本
発明の実施例で用いる焼きなましスケジュールテーブル
の例。 第8図は本発明の実施例に係る記号処理側初期化処理フ
ロー 第9図および第10図は本発明の実施例に係るボルツマ
ンマシンの処理フロー 第11図は本発明の実施例に係る学習モード時の状態遷
移図。 第12図は本発明の実施例に係る記号処理側学習手続き
の処理フロー 第13図は本発明の実施例に係るボルツマンマシンの処
理フロー 第14図は第13図の処理に関連する学習動作の処理フ
ロー 第15図は第14図の処理に関連する学習時の計測動作
処理フロー 第16図は第14図の処理に関連する結合強度変更処理
フロー 第17図は従来方式の例。 第18図は従来型で実現できる処理の形態説明図を示す
。 図中、10はニューラルネットのシミュレーション処理
部、11は言語処理系の記号処理部、12は共有データ
部、13および14は共有データアクセス機構 15は素子状態情報 16は素子 間結合強度情報を表す。
Claims (1)
- 【特許請求の範囲】 ニューラルネットのシミュレーションにより、入力デー
タに基づいて出力データを決定する処理機構を有する計
算機システムであって、 ニューラルネットの基本動作を実現する処理部(10)
と、 記号処理用の言語処理系を実現する処理部(11)と、 前記両者間で共有するデータを保持する共有データ部(
12)とを備え、 少なくともニューラルネットを構成する素子の状態を示
す情報および素子間の結合強度情報を含むニューラルネ
ットの基本データを、前記共有データ部(12)に格納
することにより、記号処理とニューラルネットの処理と
を並列に実行できる構造とし、 共有データを通じて両者が相互作用できるようにしたこ
とを特徴とするニューラルネットシミュレート処理装置
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1089064A JPH02267660A (ja) | 1989-04-07 | 1989-04-07 | ニューラルネットシミュレート処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1089064A JPH02267660A (ja) | 1989-04-07 | 1989-04-07 | ニューラルネットシミュレート処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02267660A true JPH02267660A (ja) | 1990-11-01 |
Family
ID=13960426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1089064A Pending JPH02267660A (ja) | 1989-04-07 | 1989-04-07 | ニューラルネットシミュレート処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02267660A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US11221929B1 (en) | 2020-09-29 | 2022-01-11 | Hailo Technologies Ltd. | Data stream fault detection 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 |
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 |
US11263077B1 (en) | 2020-09-29 | 2022-03-01 | Hailo Technologies Ltd. | Neural network intermediate results safety mechanism in an artificial neural network processor |
US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity in an artificial neural network |
US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity 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 |
US11811421B2 (en) | 2020-09-29 | 2023-11-07 | Hailo Technologies Ltd. | Weights safety mechanism in an artificial neural network processor |
US11874900B2 (en) | 2020-09-29 | 2024-01-16 | Hailo Technologies Ltd. | Cluster interlayer safety mechanism in an artificial neural network processor |
-
1989
- 1989-04-07 JP JP1089064A patent/JPH02267660A/ja active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461614B2 (en) | 2017-04-04 | 2022-10-04 | Hailo Technologies Ltd. | Data driven quantization optimization of weights and input data in an artificial neural network |
US11238331B2 (en) | 2017-04-04 | 2022-02-01 | Hailo Technologies Ltd. | System and method for augmenting an existing artificial neural network |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US11675693B2 (en) | 2017-04-04 | 2023-06-13 | Hailo Technologies Ltd. | Neural network processor incorporating inter-device connectivity |
US11461615B2 (en) | 2017-04-04 | 2022-10-04 | Hailo Technologies Ltd. | System and method of memory access of multi-dimensional data |
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 |
US11514291B2 (en) | 2017-04-04 | 2022-11-29 | Hailo Technologies Ltd. | Neural network processing element incorporating compute and local memory elements |
US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network |
US11216717B2 (en) | 2017-04-04 | 2022-01-04 | Hailo Technologies Ltd. | Neural network processor incorporating multi-level hierarchical aggregated computing and memory elements |
US11263512B2 (en) | 2017-04-04 | 2022-03-01 | Hailo Technologies Ltd. | Neural network processor incorporating separate control and data fabric |
US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity in an artificial neural network |
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 |
US11874900B2 (en) | 2020-09-29 | 2024-01-16 | Hailo Technologies Ltd. | Cluster interlayer safety mechanism in an artificial neural network processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0581828B1 (en) | Improvements in neural networks | |
US4677587A (en) | Program simulation system including means for ensuring interactive enforcement of constraints | |
US5230061A (en) | Clause counter map inference engine | |
US8712939B2 (en) | Tag-based apparatus and methods for neural networks | |
US5712964A (en) | Computer graphics data display device and method based on a high-speed generation of a changed image | |
Sannella | Constraint satisfaction and debugging for interactive user interfaces | |
US5557774A (en) | Method for making test environmental programs | |
US11175895B2 (en) | Code generation and simulation for graphical programming | |
US20130073500A1 (en) | High level neuromorphic network description apparatus and methods | |
US20130218821A1 (en) | Round-trip engineering apparatus and methods for neural networks | |
JP2008533615A (ja) | ニューラルネットワーク開発およびデータ解析ツール | |
JPH04216163A (ja) | 神経網を構築する方法及び神経網モデルを定義する方法 | |
JPH02267660A (ja) | ニューラルネットシミュレート処理装置 | |
Cárdenas et al. | Asymmetric Cell-DEVS models with the Cadmium simulator | |
D'Autrechy et al. | A general-purpose simulation environment for developing connectionist models | |
Taylor | Expert-aided environments for CAE of control systems | |
CN117312979A (zh) | 对象分类方法、分类模型训练方法及电子设备 | |
Carson | The specification of computer graphics systems | |
CN112190942B (zh) | 一种红点系统及基于红点系统的数据处理方法 | |
JPH03129551A (ja) | 情報処理システムのユーザー支援方法 | |
JPH03237557A (ja) | ニューラルネットワークシミュレータ及び計算機システム | |
JP3315890B2 (ja) | データ処理システム | |
Nutt | A case study of simulation as a computer system design tool | |
Piegl | Rational B-spline curves and surfaces for CAD and graphics | |
Wang et al. | Exploring the cognitive foundations of software engineering |