JP2552711B2 - ボルツマンマシン型ニューロコンピュータシステム - Google Patents
ボルツマンマシン型ニューロコンピュータシステムInfo
- Publication number
- JP2552711B2 JP2552711B2 JP63176824A JP17682488A JP2552711B2 JP 2552711 B2 JP2552711 B2 JP 2552711B2 JP 63176824 A JP63176824 A JP 63176824A JP 17682488 A JP17682488 A JP 17682488A JP 2552711 B2 JP2552711 B2 JP 2552711B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- circuit
- units
- input
- wij
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Neurology (AREA)
- Manipulation Of Pulses (AREA)
- Feedback Control In General (AREA)
Description
【発明の詳細な説明】 〔発明の概要〕 ボルツマンマシン型ニューロコンピュータシステム特
にそのニューラルネットワークに関し、 ボルツマンマシンの回路化への手法を提供することを
目的とし、 入力信号と共にランダムノイズを入力される加算器お
よび、該加算器の出力と閾値電圧が入力され前者が後者
を越えるとき発火する比較器を備えるユニットを複数個
備え、入力、隠れ、出力各層の前記ユニットを層間で結
合する回路には、重み付け用にトランジスタを挿入し、
結合される2ユニットの前記比較器の出力と基準パルス
を入力されて、該出力が共に発火状態である期間をパル
ス数化するゲート回路、該回路の出力パルスを計数する
カウンタ、該カウンタの出力をアナログに変換して前記
トランジスタのベースに加えるDA変換器を、各トランジ
スタに付属させたニューラルネットワークを備えるよう
構成する。
にそのニューラルネットワークに関し、 ボルツマンマシンの回路化への手法を提供することを
目的とし、 入力信号と共にランダムノイズを入力される加算器お
よび、該加算器の出力と閾値電圧が入力され前者が後者
を越えるとき発火する比較器を備えるユニットを複数個
備え、入力、隠れ、出力各層の前記ユニットを層間で結
合する回路には、重み付け用にトランジスタを挿入し、
結合される2ユニットの前記比較器の出力と基準パルス
を入力されて、該出力が共に発火状態である期間をパル
ス数化するゲート回路、該回路の出力パルスを計数する
カウンタ、該カウンタの出力をアナログに変換して前記
トランジスタのベースに加えるDA変換器を、各トランジ
スタに付属させたニューラルネットワークを備えるよう
構成する。
本発明は、ボルツマンマシン型ニューロコンピュータ
システム特にそのニューラルネットワークに関する。
システム特にそのニューラルネットワークに関する。
近年のコンピュータ情報処理の分野では所謂ノイマン
型コンピュータに対して非ノイマン型のコンピュータの
研究開発が進められているが、その1つのアプローチと
して神経組織の動作をシュミレーションするニューラル
ネットワークタイプのコンピュータの研究が注目されて
いる。その中でも、ネットワークの構成を熱力学的系と
等価とし、エネルギ状態がボルツママシン分布に従い、
充分な時間が経過した後に熱平衡状態に到達することを
保証したボルツマンマシンの概念が有望視されている。
型コンピュータに対して非ノイマン型のコンピュータの
研究開発が進められているが、その1つのアプローチと
して神経組織の動作をシュミレーションするニューラル
ネットワークタイプのコンピュータの研究が注目されて
いる。その中でも、ネットワークの構成を熱力学的系と
等価とし、エネルギ状態がボルツママシン分布に従い、
充分な時間が経過した後に熱平衡状態に到達することを
保証したボルツマンマシンの概念が有望視されている。
ボルツマンマシンの原理は‘83項にヒントン等によっ
て提案されたものであり(Geffrey E.Hinton,et.al Bol
tzman Machin:Constraint Satisfaction Networks that
Learn,Technical Report CMU−CS−84−119)、概要を
述べると次の如くなる。
て提案されたものであり(Geffrey E.Hinton,et.al Bol
tzman Machin:Constraint Satisfaction Networks that
Learn,Technical Report CMU−CS−84−119)、概要を
述べると次の如くなる。
ネットワークは2値のみをとるユニットUi(i=1,2,
……n)を持ち、各ユニットは相互に結合され、その結
合を通してユニットは自分の状態Si(1または0)を他
のユニットに伝達する。各結合には結合の強さWijがあ
り、Wijは正負の実数値をとる。ネットワークは なるエネルギEを持ち、各ユニットはEを小さくする方
向にスイッチする(θは閾値)。第k番のユニットが0
から1に変化することに伴なうEの増分ΔEkは ΔEk=ΣWkiSi−θk ……(2) で表わされる。この様に設定されたネットワークは相互
作用する2値素子の熱力学的系と等価であり、その動作
の終点は熱平衡状態であると予想される。しかしその熱
平衡状態がエネルギの最小点である保証はなく、エネル
ギに縮退のある場合は単なる極小点に陥っている可能性
もある。この危険を回避するために、系の動作原理に次
の確率Pkが導入される。
……n)を持ち、各ユニットは相互に結合され、その結
合を通してユニットは自分の状態Si(1または0)を他
のユニットに伝達する。各結合には結合の強さWijがあ
り、Wijは正負の実数値をとる。ネットワークは なるエネルギEを持ち、各ユニットはEを小さくする方
向にスイッチする(θは閾値)。第k番のユニットが0
から1に変化することに伴なうEの増分ΔEkは ΔEk=ΣWkiSi−θk ……(2) で表わされる。この様に設定されたネットワークは相互
作用する2値素子の熱力学的系と等価であり、その動作
の終点は熱平衡状態であると予想される。しかしその熱
平衡状態がエネルギの最小点である保証はなく、エネル
ギに縮退のある場合は単なる極小点に陥っている可能性
もある。この危険を回避するために、系の動作原理に次
の確率Pkが導入される。
Pk=1/〔1+exp(−ΔEk/T)] ……(3) このPkはエネルギギャップがΔEkのとき第k番ユニッ
トである確率を表わす。Tは系の温度に当るパラメータ
である。上式でPkを定義すると、このネットワークは所
謂「温度Tの熱浴に接した系」となり、ネットワークが
エネルギEAを持つグローバル状態Aになる確率は、ボル
ツマン分布に従い、充分な時間の後には熱平衡状態に達
することが保証される。
トである確率を表わす。Tは系の温度に当るパラメータ
である。上式でPkを定義すると、このネットワークは所
謂「温度Tの熱浴に接した系」となり、ネットワークが
エネルギEAを持つグローバル状態Aになる確率は、ボル
ツマン分布に従い、充分な時間の後には熱平衡状態に達
することが保証される。
ボルツマンマシンのユニットには入力ユニット、出力
ユニット、および隠れユニットの3種類がある。これら
3種類のユニットは必ず全てが存在する訳ではなく、隠
れユニットのないものや、出力ユニットの区別のないネ
ットワークも考えられる。
ユニット、および隠れユニットの3種類がある。これら
3種類のユニットは必ず全てが存在する訳ではなく、隠
れユニットのないものや、出力ユニットの区別のないネ
ットワークも考えられる。
ボルツマンマシンは予め決められた動作を決められた
手順で行なうネットワークではなく、ある目的のための
手順を外界から与えられる情報によって自ら学習するこ
とのできるネットワークである。その目的には、基本的
には何の制限もない。
手順で行なうネットワークではなく、ある目的のための
手順を外界から与えられる情報によって自ら学習するこ
とのできるネットワークである。その目的には、基本的
には何の制限もない。
学習は、外界からの情報に対して行なわれる。情報と
は具体的には可視ユニット(入,出力ユニット)に与え
られるビットパターンのことであり、これを I=(S1,S2,……Sk) ……(4) と一纏めにすれば、1つのベクトル量と考えられる。こ
ゝでkは可視ユニットの個数である。学習時には一般に
このようなベクトルが複数個与えられ、これは環境と呼
ばれる。学習は環境に対して行なわれ、環境の情報はネ
ットワーク内部に形を変えて定着する。定着過程は、結
合の重みの変更を通して実行される。
は具体的には可視ユニット(入,出力ユニット)に与え
られるビットパターンのことであり、これを I=(S1,S2,……Sk) ……(4) と一纏めにすれば、1つのベクトル量と考えられる。こ
ゝでkは可視ユニットの個数である。学習時には一般に
このようなベクトルが複数個与えられ、これは環境と呼
ばれる。学習は環境に対して行なわれ、環境の情報はネ
ットワーク内部に形を変えて定着する。定着過程は、結
合の重みの変更を通して実行される。
学習に当っては、(5)式の示標が導入される。これ
は2つの確率分布間の距離的な量を表わすものである。
は2つの確率分布間の距離的な量を表わすものである。
G=ΣP(VA)ln[P(VA)/P′(VA)] ……(5) 上式でVAは可視ユニットの第A番目状態を示し、P
(VA)はVA状態の確率分布が環境に支配されているとき
の確率を、またP′(VA)はネットワークが外界の影響
を受けずにクローズドシステムとして動作しているとの
VA状態の確率を意味する。前者の状態はクランプ状態、
後者の状態はフリーラン状態と呼ばれる。
(VA)はVA状態の確率分布が環境に支配されているとき
の確率を、またP′(VA)はネットワークが外界の影響
を受けずにクローズドシステムとして動作しているとの
VA状態の確率を意味する。前者の状態はクランプ状態、
後者の状態はフリーラン状態と呼ばれる。
Gは非負の値をとり、P(VA)とP′(VA)の分布が
完全に等しいとき、かつそのときのみ0となる。
完全に等しいとき、かつそのときのみ0となる。
ボルツマンマシンの学習の定義はGをなるべく小さ
く、理想的には0とすることである。何故ならG≒0と
は、学習された環境をフリーラン状態のネットワークが
ほゞ完全に再現できることを意味するからである。G≒
0に向かって結合の重みを変えて行くためには、重みに
対するGの振舞を知る必要があるが、これには次式が知
られている。
く、理想的には0とすることである。何故ならG≒0と
は、学習された環境をフリーラン状態のネットワークが
ほゞ完全に再現できることを意味するからである。G≒
0に向かって結合の重みを変えて行くためには、重みに
対するGの振舞を知る必要があるが、これには次式が知
られている。
σG/σWij=−(Pij−P′ij)/T ……(6) 上式でPijは、系が熱平衡に達したときに、クランプ
状態で第j番目と第i番目のユニットが同時に1である
確率を表わし、P′ijはフリーラン状態での同じ事象の
確率を表わす。従って、重みの変更を次式で行なえば、
ネットワークをG≒0を目指して動作させることが可能
である。
状態で第j番目と第i番目のユニットが同時に1である
確率を表わし、P′ijはフリーラン状態での同じ事象の
確率を表わす。従って、重みの変更を次式で行なえば、
ネットワークをG≒0を目指して動作させることが可能
である。
ΔWij=ε(Pij−P′ij) ……(7) こゝでΔWijは重みの増分、εは重み変更の最小ステ
ップである。G≒0にする当っては、一般的にネットワ
ークを高温で動作させて大まかなエネルギの低い状態に
持って行き、その後低温で動作させて真のエネルギ最低
の状態を捜すという、多段階動作をとる。この過程はシ
ュミレーテッドアニーリングと呼ばれる。
ップである。G≒0にする当っては、一般的にネットワ
ークを高温で動作させて大まかなエネルギの低い状態に
持って行き、その後低温で動作させて真のエネルギ最低
の状態を捜すという、多段階動作をとる。この過程はシ
ュミレーテッドアニーリングと呼ばれる。
ボルツマンマシンはユニットの数や構成によって様々
な種類のものになし得るが次に4−3−4エンコーダを
例にして学習要領を説明する。
な種類のものになし得るが次に4−3−4エンコーダを
例にして学習要領を説明する。
4−3−4エンコーダは第17図に示すように、4個の
入力ユニットI1〜I4、3個の隠れユニットH1〜H3、およ
び4個の出力ユニットO1〜O4を有する。これらは、図示
の如く接続される。Uthは常にオンとなっているスレッ
ショルドユニットで、これはネットワークの全てのユニ
ットと結合する。このようなネットワークに対して外部
からIi,Oiに任意のn組みのビットパターンを与えて、
その組合せを学習させる。フローチャートを第18図に示
す。
入力ユニットI1〜I4、3個の隠れユニットH1〜H3、およ
び4個の出力ユニットO1〜O4を有する。これらは、図示
の如く接続される。Uthは常にオンとなっているスレッ
ショルドユニットで、これはネットワークの全てのユニ
ットと結合する。このようなネットワークに対して外部
からIi,Oiに任意のn組みのビットパターンを与えて、
その組合せを学習させる。フローチャートを第18図に示
す。
ステップの初期状態では、全てのユニットがクラン
プされておらず、結合の強さWijは任意の値である。ス
テップのクランプ状態では、入力ユニットIi及び出力
ユニットOiのビットパターンの組み合わせを、学習させ
たい確率分布に従って固定して、ネットワークをランさ
せ、熱平衡状態を実現する。系と熱平衡状態に近づける
に際しては、温度パラメータTを適当なシーケンスで大
→小に変化させるシミュレーテッドアニーリングを行
う。第18図でシミュレーテッドアニーリングを行う箇所
は(T)で示した。ステップは、で実現した熱平衡
状態でのPijを決定する。次のステップではIi,Oiのク
ランプを外してネットワークをランさせ、と同様なア
ニーリングを行なって熱方向状態にし、次のステップ
でP′ijを決定する。ステップでは,で求めたPi
j,P′ijから決定されるΔWijに基ずいてWijを更新す
る。そして、〜の学習ループを所定回数繰り返し行
ない、ビットパターンの組み合わせの情報が充分にWij
へ転化された所で学習を打切る(ステップ)。
プされておらず、結合の強さWijは任意の値である。ス
テップのクランプ状態では、入力ユニットIi及び出力
ユニットOiのビットパターンの組み合わせを、学習させ
たい確率分布に従って固定して、ネットワークをランさ
せ、熱平衡状態を実現する。系と熱平衡状態に近づける
に際しては、温度パラメータTを適当なシーケンスで大
→小に変化させるシミュレーテッドアニーリングを行
う。第18図でシミュレーテッドアニーリングを行う箇所
は(T)で示した。ステップは、で実現した熱平衡
状態でのPijを決定する。次のステップではIi,Oiのク
ランプを外してネットワークをランさせ、と同様なア
ニーリングを行なって熱方向状態にし、次のステップ
でP′ijを決定する。ステップでは,で求めたPi
j,P′ijから決定されるΔWijに基ずいてWijを更新す
る。そして、〜の学習ループを所定回数繰り返し行
ない、ビットパターンの組み合わせの情報が充分にWij
へ転化された所で学習を打切る(ステップ)。
このような方法で正しく学習が行なわれたボルツマン
マシンは、Iiに入力ベクトルが与えられたのみのフリー
ラン状態で、Oiにあるべき出力ベクトルを想起すること
ができる。
マシンは、Iiに入力ベクトルが与えられたのみのフリー
ラン状態で、Oiにあるべき出力ベクトルを想起すること
ができる。
ボルツマンマシンは、ノイマン型コンピュータが不得
意とする多変数の最適化問題やパターン認識などを高速
で実行することができると期待されるが、実機モデルを
回路で作成した例は報告されていない。ボルツマンマシ
ンの機能を実現する手段としてソフトウェアによるシュ
ミレーションに依存する報告が発表されているだけであ
る。
意とする多変数の最適化問題やパターン認識などを高速
で実行することができると期待されるが、実機モデルを
回路で作成した例は報告されていない。ボルツマンマシ
ンの機能を実現する手段としてソフトウェアによるシュ
ミレーションに依存する報告が発表されているだけであ
る。
しかしソフトウェアによる手法では、大型コンピュー
タで処理しても、そして4−2−4構成でさえも、3時
間近くを要し、学習手法を検討する当っても、その結果
を得るまでに長い時間がかゝる。
タで処理しても、そして4−2−4構成でさえも、3時
間近くを要し、学習手法を検討する当っても、その結果
を得るまでに長い時間がかゝる。
それ故本発明は、ボルツマンマシンの回路化への手法
を提供することを目的とするものである。
を提供することを目的とするものである。
また本発明は、回路化されたボルツマンマシン内のカ
ウンタ部分や結合の重みを決定するΔWijの算出をマイ
クロプロセッサで代行させて、ネットワークの結線量の
簡略化を図ることを他の目的とするものである。
ウンタ部分や結合の重みを決定するΔWijの算出をマイ
クロプロセッサで代行させて、ネットワークの結線量の
簡略化を図ることを他の目的とするものである。
第1図に本発明のボルツマンマシンの構成を示す。ボ
ルツマンマシンの相互に接続される2ユニットを取出す
と第1図(a)の如くなるが、これらのユニットU1,U2
を第1図(b)の如く加算器Addと比較器COMPで構成
し、結合の重みW12はトランジスタ14で構成する。比較
器COMPにはスレッショルド電位θを与え、加算器出力が
θより大であればユニット出力は1(発火)、θより小
であれば0とする。このスレッショルド値θは、第17図
の如く、ネットワーク中に1つ設けられたスレショルド
ユニットUthの出力を用いる。スレショルドユニットは
常にON状態であり、他のすべてのユニットと結合してい
て、その結合の重みも学習の対象となる。トランジスタ
14に対しては、アンドゲート11、その出力のラッチおよ
びカウンタ12、DA変換器13を設け、アンドゲート11へは
ユニット出力(比較器出力)を基準パルスと共に加え
る。またランダムノイズの発生器16を設け、その出力を
増幅器15を介して各ユニットの加算器の1入力端子に加
える。
ルツマンマシンの相互に接続される2ユニットを取出す
と第1図(a)の如くなるが、これらのユニットU1,U2
を第1図(b)の如く加算器Addと比較器COMPで構成
し、結合の重みW12はトランジスタ14で構成する。比較
器COMPにはスレッショルド電位θを与え、加算器出力が
θより大であればユニット出力は1(発火)、θより小
であれば0とする。このスレッショルド値θは、第17図
の如く、ネットワーク中に1つ設けられたスレショルド
ユニットUthの出力を用いる。スレショルドユニットは
常にON状態であり、他のすべてのユニットと結合してい
て、その結合の重みも学習の対象となる。トランジスタ
14に対しては、アンドゲート11、その出力のラッチおよ
びカウンタ12、DA変換器13を設け、アンドゲート11へは
ユニット出力(比較器出力)を基準パルスと共に加え
る。またランダムノイズの発生器16を設け、その出力を
増幅器15を介して各ユニットの加算器の1入力端子に加
える。
第2の本発明の構成を第2図に示す。これは第1図の
カウンタ12部分や結合の重みを決定するΔWijの算出を
マイクロプロセッサで代行させることにより、ネットワ
ークの各ユニット相互の結合線の量を簡潔化しようとす
るものである。21が該マイクロプロセッサで、1bitがPi
jに相当するデータ列CDAT1,CDAT2の計数、結合の重みWi
jを変化させる演算をしたり、DA変換器26への出力の設
定などを行なう。このマイクロプロセッサは図示しない
が、出力値を記憶しておくためのRAMおよび一連の動作
(処理プログラム)を記憶するROMを含む。
カウンタ12部分や結合の重みを決定するΔWijの算出を
マイクロプロセッサで代行させることにより、ネットワ
ークの各ユニット相互の結合線の量を簡潔化しようとす
るものである。21が該マイクロプロセッサで、1bitがPi
jに相当するデータ列CDAT1,CDAT2の計数、結合の重みWi
jを変化させる演算をしたり、DA変換器26への出力の設
定などを行なう。このマイクロプロセッサは図示しない
が、出力値を記憶しておくためのRAMおよび一連の動作
(処理プログラム)を記憶するROMを含む。
また22はデータのリード/ライト時の双方向のバスド
ライバであり、24は計数用データ列CDAT1,CDAT2を一時
記憶するラッチ回路である。25はこれらの計数用データ
列を読んだり、或いはDA変換およびラッチ回路26へのデ
ータ出力をマイクロプロセッサ21より選択するためのデ
コード回路である。また30は重み回路部で、Wijの変化
に伴ないシグノイド状に抵抗値を変化するトランジスタ
27、該トランジスタの電流出力を電圧に変換する抵抗2
8、比較器29、閾値電圧源31、およびインバータINVを有
する。32は回路部30の出力に対する2値化用増幅器、33
は2値化された信号間のアンドをとる回路、34は基準ブ
ロックCLKと論理積回路33の出力とのアンドをとり、デ
ータ列CDAT1,CDAT2を出力する回路である。
ライバであり、24は計数用データ列CDAT1,CDAT2を一時
記憶するラッチ回路である。25はこれらの計数用データ
列を読んだり、或いはDA変換およびラッチ回路26へのデ
ータ出力をマイクロプロセッサ21より選択するためのデ
コード回路である。また30は重み回路部で、Wijの変化
に伴ないシグノイド状に抵抗値を変化するトランジスタ
27、該トランジスタの電流出力を電圧に変換する抵抗2
8、比較器29、閾値電圧源31、およびインバータINVを有
する。32は回路部30の出力に対する2値化用増幅器、33
は2値化された信号間のアンドをとる回路、34は基準ブ
ロックCLKと論理積回路33の出力とのアンドをとり、デ
ータ列CDAT1,CDAT2を出力する回路である。
第1図の回路の動作を説明する。ボルツマンマシンの
原理により、各ユニットには次のことが要請される (1)ユニットは、その入力の総和NETi(i=1,2,……
n)に応じて確率Pi=1/exp(−NeTi/T)で発火する。
原理により、各ユニットには次のことが要請される (1)ユニットは、その入力の総和NETi(i=1,2,……
n)に応じて確率Pi=1/exp(−NeTi/T)で発火する。
(2)ネットワーク中の任意の2ユニットが同時に発火
する確率Pij(i,j=1,2,……n)が決定可能であり、そ
の値に基いて結合の重みWijが変更できなければならな
い。
する確率Pij(i,j=1,2,……n)が決定可能であり、そ
の値に基いて結合の重みWijが変更できなければならな
い。
(3)温度パラメータTは可変であり、その変更は高速
であることが望ましい。
であることが望ましい。
第1図(b)の回路は上記3条件を満足する。即ち、
各ユニットの加算器Addは入力の総和NETiを出力し、比
較器COMPは該総和に応じて確率Piで発火する。
各ユニットの加算器Addは入力の総和NETiを出力し、比
較器COMPは該総和に応じて確率Piで発火する。
加算器の入力にはランダムノイズを重畳させており、
このノイズの平均は0、分散はσ2の正規分布(0,
σ2)とすると、加算器出力Viは Vi=NETi+N(0,σ2)=N(NETi,σ2) ……(11) で、やはり正規分布となる。このViをθと比較して、θ
を越えるときオンであるように2値化すると、Uiが充分
長い時間Tのうちでオンとなる時間の総和tiは次のガウ
ス積分で表わされる。
このノイズの平均は0、分散はσ2の正規分布(0,
σ2)とすると、加算器出力Viは Vi=NETi+N(0,σ2)=N(NETi,σ2) ……(11) で、やはり正規分布となる。このViをθと比較して、θ
を越えるときオンであるように2値化すると、Uiが充分
長い時間Tのうちでオンとなる時間の総和tiは次のガウ
ス積分で表わされる。
このとき、ti/TがユニットUiの発火する確率Piにな
る。
る。
(12)式のガウス積分は解析的に処理することはでき
ないが、第3図のシグモイダル(Sigmoidal)関数のよ
い近似となることが知られている。この第3図はPk=1/
(1+e−ΔEk/T)を表わし、曲線C1はT=1.0のと
き、曲線C2はT=0.25のとき、そして曲線C3はT=4.0
のときである。このΔEkはNETiに対応する。
ないが、第3図のシグモイダル(Sigmoidal)関数のよ
い近似となることが知られている。この第3図はPk=1/
(1+e−ΔEk/T)を表わし、曲線C1はT=1.0のと
き、曲線C2はT=0.25のとき、そして曲線C3はT=4.0
のときである。このΔEkはNETiに対応する。
温度パラメータTの変更は、増幅器15の利得を変えて
ノイズの振幅を変えることにより実現される。振幅を小
にすることはTを小にすることであり、第3図では曲線
が立ってくる。振幅を大にすれば、この逆である。
ノイズの振幅を変えることにより実現される。振幅を小
にすることはTを小にすることであり、第3図では曲線
が立ってくる。振幅を大にすれば、この逆である。
ユニットU1,U2の出力V1,V2と周波数f0の基準パルスが
全てHレベルのときアンドゲート11の周波数はHレベル
になる。カウンタ12は測定時間Tの間、このHレベルパ
ルスを計数する。基準パルスは出力V1,V2の論理積をパ
ルス化し、該論理積がHレベルである期間をカウンタで
計測可能にするものである。この計測値をCとすると、
ユニットU1,U2が同時に発火している確率P12は P12=C/f0T ……(13) で与えられる。この確率P12を学習(クランプ)状態と
フリーラン状態で求めることにより、結合の重みW12を
変更することができる。それは次式で与えられる。
全てHレベルのときアンドゲート11の周波数はHレベル
になる。カウンタ12は測定時間Tの間、このHレベルパ
ルスを計数する。基準パルスは出力V1,V2の論理積をパ
ルス化し、該論理積がHレベルである期間をカウンタで
計測可能にするものである。この計測値をCとすると、
ユニットU1,U2が同時に発火している確率P12は P12=C/f0T ……(13) で与えられる。この確率P12を学習(クランプ)状態と
フリーラン状態で求めることにより、結合の重みW12を
変更することができる。それは次式で与えられる。
ΔW12=ε(P12−P′12) ……(14) 重みの変更は具体的には、クランプ、フリーラン2つ
の状態のカウンタ値C,C′から次式に基ずいて与えられ
るカウンタ量C12によって行なう。
の状態のカウンタ値C,C′から次式に基ずいて与えられ
るカウンタ量C12によって行なう。
C12=ε(C−C′)/f0T ……(15) カウンタ12は上記C12を出力し、DA変換器13はこれを
アナログに変換してトランジスタ14のベースに加え、該
トランジスタのコレクタ、エミッタ間の抵抗値を変え
る。これによってU2からU1への結合の重みW12が変更さ
れる。
アナログに変換してトランジスタ14のベースに加え、該
トランジスタのコレクタ、エミッタ間の抵抗値を変え
る。これによってU2からU1への結合の重みW12が変更さ
れる。
この第1図(b)の構成を繰り返してn個のユニット
とその結合にすれば、nユニットを持つボルツマンマシ
ンをハードウエア上で実現することができる。
とその結合にすれば、nユニットを持つボルツマンマシ
ンをハードウエア上で実現することができる。
第2図の回路の動作を、次に説明する。
ボルツマンマシンの原理は前述の如くであり、入力ユ
ニットn個、隠れユニットn個、出力ユニットn個とし
て示すと第5図の如くなる。各n個の入力ユニットは入
力層、隠れ(中間)ユニットは隠れ(中間)層、出力ユ
ニットは出力層と呼ばれる。nつまり各層のユニット数
は必ずしも同じではなく、こゝでも入,出力層は4ユニ
ット、隠れ層は3ユニットとする。
ニットn個、隠れユニットn個、出力ユニットn個とし
て示すと第5図の如くなる。各n個の入力ユニットは入
力層、隠れ(中間)ユニットは隠れ(中間)層、出力ユ
ニットは出力層と呼ばれる。nつまり各層のユニット数
は必ずしも同じではなく、こゝでも入,出力層は4ユニ
ット、隠れ層は3ユニットとする。
学習時は入力層に入力パターンを入れ、出力層にもそ
の結果のパターンを設定する。本例では各4ユニットな
ので上記パターンは4ビットパターンである。この動作
の時、第2図の増幅器32、アンド回路部33、基準クロッ
クアンド回路部34により1bitがユニットの各々の結合強
度に相当するパルス列のデータとなったデータ列CDAT1,
CDAT2(これらは第1図はアンド回路11の出力に相当す
る)がプロセッサ21により計数され、ΔWijが算出さ
れ、DAコンバータ26よりWijとして出力され、一定時間
後にユニット群のどこかの値に安定する。これが学習を
1つ終えた状態であり、これを複数回同様に行なった
後、フリーラン状態にしてシステム的パラメータを差し
引くことで学習は完了する。この後、入力層に新しいビ
ットパターンを加えれば、学習した内容に従う結果が出
力層より出力される。
の結果のパターンを設定する。本例では各4ユニットな
ので上記パターンは4ビットパターンである。この動作
の時、第2図の増幅器32、アンド回路部33、基準クロッ
クアンド回路部34により1bitがユニットの各々の結合強
度に相当するパルス列のデータとなったデータ列CDAT1,
CDAT2(これらは第1図はアンド回路11の出力に相当す
る)がプロセッサ21により計数され、ΔWijが算出さ
れ、DAコンバータ26よりWijとして出力され、一定時間
後にユニット群のどこかの値に安定する。これが学習を
1つ終えた状態であり、これを複数回同様に行なった
後、フリーラン状態にしてシステム的パラメータを差し
引くことで学習は完了する。この後、入力層に新しいビ
ットパターンを加えれば、学習した内容に従う結果が出
力層より出力される。
重み回路部30では、トランジスタ27が重みに応じた抵
抗値をとり、それが抵抗28で電圧に変換されて比較器29
に加わる。これは第4図(a)の如き形をしている。比
較器29には閾値電圧源31により基準値が与えられ、比較
器出力は第4図(b)の如くなる。これは増幅器32で2
値化(短形波に整形)され、第4図(c)の如くなる。
これはアンド回路33で論理積がとられたのち、アンドゲ
ート回路部34でクロックCLKとの論理積がとられ、パル
ス幅がクロック数で表わされるようになる。このクロッ
クは、1bit当りが、各ユニットの結合強度に相当するパ
ルス列であり、これがデータCDAT1,CDAT2である。
抗値をとり、それが抵抗28で電圧に変換されて比較器29
に加わる。これは第4図(a)の如き形をしている。比
較器29には閾値電圧源31により基準値が与えられ、比較
器出力は第4図(b)の如くなる。これは増幅器32で2
値化(短形波に整形)され、第4図(c)の如くなる。
これはアンド回路33で論理積がとられたのち、アンドゲ
ート回路部34でクロックCLKとの論理積がとられ、パル
ス幅がクロック数で表わされるようになる。このクロッ
クは、1bit当りが、各ユニットの結合強度に相当するパ
ルス列であり、これがデータCDAT1,CDAT2である。
第6図に、第1図(b)を更に具体化した例を示す。
全図を通してそうであるが他の図と同じ部分には同じ符
号が付してある。第1図と対比すれば明らかなように、
各ユニットの加算器Addと比較器COMPとの間にはインバ
ータINVが挿入される。またDA変換器13の出力は、ユニ
ットU2からU1への結合の重みW12用のトランジスタ14
と、その逆のユニットU1からU2への結合の重みW21用の
トランジスタ14aを制御する。これらのトランジスタ14,
14aと加算器Addの入力端との間には、出力インピーダン
スを下げるための電圧ホロアVFが挿入される。
全図を通してそうであるが他の図と同じ部分には同じ符
号が付してある。第1図と対比すれば明らかなように、
各ユニットの加算器Addと比較器COMPとの間にはインバ
ータINVが挿入される。またDA変換器13の出力は、ユニ
ットU2からU1への結合の重みW12用のトランジスタ14
と、その逆のユニットU1からU2への結合の重みW21用の
トランジスタ14aを制御する。これらのトランジスタ14,
14aと加算器Addの入力端との間には、出力インピーダン
スを下げるための電圧ホロアVFが挿入される。
閾値θは閾値ユニットUth(出力は常にHレベル)よ
り与えられるが、この経路にはアンドゲート11b,11c、
ラッチおよび比較器12b,12c,DA変換器13b,13c,トランジ
スタ14b,14cが含まれ、これらは重み用のそれと同じ構
成である。
り与えられるが、この経路にはアンドゲート11b,11c、
ラッチおよび比較器12b,12c,DA変換器13b,13c,トランジ
スタ14b,14cが含まれ、これらは重み用のそれと同じ構
成である。
第2図の実施例を第7図〜第15図に示す。第7図はマ
イクロプロセッサ21、バスドライバ22、ラッチ回路24、
DA変換及びラッチ回路26を示す。短形枠は集積回路チッ
プを示す。回路26はプロセッサ21からデータを受けて各
ユニットの結合の重みWI1H1,WI1H2,……W04H3,I1H1,
I1H2,……04H3を出力する。本例では入力層、隠れ
層、出力層の各ユニット数が4,3,4であるから、結合の
種類は4×3×4の48個ある。
イクロプロセッサ21、バスドライバ22、ラッチ回路24、
DA変換及びラッチ回路26を示す。短形枠は集積回路チッ
プを示す。回路26はプロセッサ21からデータを受けて各
ユニットの結合の重みWI1H1,WI1H2,……W04H3,I1H1,
I1H2,……04H3を出力する。本例では入力層、隠れ
層、出力層の各ユニット数が4,3,4であるから、結合の
種類は4×3×4の48個ある。
第8図〜第11図は、重み回路部30の具体例である。第
8図では入力層と隠れ層との結合の重みWI1H1〜WI4H3と
隠れ層出力H′1〜H′3を受けて入力層出力I1〜I
4(ユニットと同じ符号で示す。以下同じ)を生じる。
また第9図では同じ重みWI1H1〜WI4H3と入力層出力I′
1〜I′4を受けて隠れ層出力H1〜H3を生じる。また第
10図では隠れ層と出力層との結合の重みW01H1〜W04H3と
出力層出力O′1〜O′4を受けて隠れ層出力H1〜H3を
生じる。更に第11図は同じ結合の重みW01H1〜W04H3と隠
れ層出力H′1〜H′4を受けて出力層出力O1〜O4を生
じる。
8図では入力層と隠れ層との結合の重みWI1H1〜WI4H3と
隠れ層出力H′1〜H′3を受けて入力層出力I1〜I
4(ユニットと同じ符号で示す。以下同じ)を生じる。
また第9図では同じ重みWI1H1〜WI4H3と入力層出力I′
1〜I′4を受けて隠れ層出力H1〜H3を生じる。また第
10図では隠れ層と出力層との結合の重みW01H1〜W04H3と
出力層出力O′1〜O′4を受けて隠れ層出力H1〜H3を
生じる。更に第11図は同じ結合の重みW01H1〜W04H3と隠
れ層出力H′1〜H′4を受けて出力層出力O1〜O4を生
じる。
第12図と第13図は増幅器32、アンドゲート部33,34の
具体例で、第12図は出力O1〜O4、H1〜H3とクロックCLK
を受けてデータ列CDAT2を、また、第13図は出力I1〜
I4、H1〜H3とクロックCLKを受けてデータ列CDA1を出力
する。これらの図では2値化を行なう増幅器32は略示し
ているが、これは第14図に示すようにオペアンプOP1〜O
P6、整形用インバータI1〜I4等により構成される。この
回路では閾値31はツエナーダイオードZDによって与え
る。また第15図は閾値電圧源31を構成する。ランダムノ
イズ(白色雑音)発生回路の例を示す。この回路の出力
パルスの振幅は、可変抵抗の操作で変更可能である。
具体例で、第12図は出力O1〜O4、H1〜H3とクロックCLK
を受けてデータ列CDAT2を、また、第13図は出力I1〜
I4、H1〜H3とクロックCLKを受けてデータ列CDA1を出力
する。これらの図では2値化を行なう増幅器32は略示し
ているが、これは第14図に示すようにオペアンプOP1〜O
P6、整形用インバータI1〜I4等により構成される。この
回路では閾値31はツエナーダイオードZDによって与え
る。また第15図は閾値電圧源31を構成する。ランダムノ
イズ(白色雑音)発生回路の例を示す。この回路の出力
パルスの振幅は、可変抵抗の操作で変更可能である。
マイクロプロセッサ21としは16ビット以上のものが好
ましく、バスドライバ、ラッチなどはこれに合せる。DA
変換及ラッチ回路26には8ビット長のチップを所要数用
いているが、他のビット長のものでもよい。またクロッ
クCLKとアンドゲート34でパルス幅をパルス数化する代
りにV−Fコンバータを用いてもよい。
ましく、バスドライバ、ラッチなどはこれに合せる。DA
変換及ラッチ回路26には8ビット長のチップを所要数用
いているが、他のビット長のものでもよい。またクロッ
クCLKとアンドゲート34でパルス幅をパルス数化する代
りにV−Fコンバータを用いてもよい。
第16図に、プロセッサ21にプログラムされる処理手順
を示す。図示のように投入されるコマンドにはフリーラ
ンモード、クランプモード、リセットモードがある。ク
ランプモードではPijの算出を、またフリーランモード
ではP′ijの算出を行ない、これらよりΔWijを求め、D
A変換器26に出力する。リセットモードでは各カウンタ
をクリアする。これによりシナプスの結合の重さWijの
値を定量化し、しかもデータとして一括できる。
を示す。図示のように投入されるコマンドにはフリーラ
ンモード、クランプモード、リセットモードがある。ク
ランプモードではPijの算出を、またフリーランモード
ではP′ijの算出を行ない、これらよりΔWijを求め、D
A変換器26に出力する。リセットモードでは各カウンタ
をクリアする。これによりシナプスの結合の重さWijの
値を定量化し、しかもデータとして一括できる。
第1図、第6図の回路では各ユニットの結合部にアン
ドゲート11、ラッチ及びカウンタ12、DA変換器13が必要
で、この結合部は多数ある(4−3−4構成で上記の如
く48個)ので、実機化に当ってはこの部分の簡潔化が重
要である。この点、該2図によれば、カウンタなどはプ
ロセッサ21で共用でき、増幅器32、論理部33,34の部分
が簡略化できる。また、カウント値より求められる新た
な出力値も直接DA変換部をアクセスすることで実現でき
る。
ドゲート11、ラッチ及びカウンタ12、DA変換器13が必要
で、この結合部は多数ある(4−3−4構成で上記の如
く48個)ので、実機化に当ってはこの部分の簡潔化が重
要である。この点、該2図によれば、カウンタなどはプ
ロセッサ21で共用でき、増幅器32、論理部33,34の部分
が簡略化できる。また、カウント値より求められる新た
な出力値も直接DA変換部をアクセスすることで実現でき
る。
以上説明したように本発明によれば、従来ソフトウエ
アとしてのみ存在していたボルツマンマシンをハードウ
エアとして実現でき、これにより飛躍的な高速化が可能
である。
アとしてのみ存在していたボルツマンマシンをハードウ
エアとして実現でき、これにより飛躍的な高速化が可能
である。
またこのハードウエアで構成されるポルツマンマシン
のカウンタ部及び重み決定部をプロセッサで代行するの
でネットワークの結線量を簡略化でき、高速プロセッサ
(例えば10MHz以上)であればある程カウントのための
ソフトウエア速度が速くなるので、扱えるユニートの数
を増加できる。
のカウンタ部及び重み決定部をプロセッサで代行するの
でネットワークの結線量を簡略化でき、高速プロセッサ
(例えば10MHz以上)であればある程カウントのための
ソフトウエア速度が速くなるので、扱えるユニートの数
を増加できる。
第1図および第2図は本発明の原理説明図、 第3図はシグモイダル関数の特性図、 第4図はパルス化の説明図、 第5図はn−n−n構成のボルツマンマシンの説明図、 第6図は第1図の実施例を示すブロック図、 第7図〜第13図は第2図の実施例を示す回路図、 第14図は第13図の一部の回路図、 第15図は白色雑音発生器の回路図、 第16図は処理要領を示す流れ図、 第17図は4−3−4構成のボルツマンマシンの説明図、 第18図は第17図の動作説明用流れ図である。 第1図および第2図で、U1,U2はユニット、W12は重み、
11はアンド回路、12はラッチおよびカウント回路、13は
DA変換器、14はトランジスタ、30は重み回路部である。
11はアンド回路、12はラッチおよびカウント回路、13は
DA変換器、14はトランジスタ、30は重み回路部である。
Claims (2)
- 【請求項1】入力信号と共にランダムノイズを入力され
る加算器(Add)および、該加算器の出力と閾値電圧
(θ)が入力され前者が後者を越えるとき発火する比較
器(COMP)を備えるユニットを複数個(U1,U2,…)備
え、 入力、隠れ、出力各層の前記ユニットを層間で結合する
回路には、重み(Wij)付け用にトランジスタ(14)を
挿入し、 結合される2ユニットの前記比較器の出力(V1,V2)と
基準パルスを入力されて、該出力が共に発火状態である
期間をパルス数化するゲート回路(11)、該回路の出力
パルスを計数するカウンタ(12)、該カウンタの出力を
アナログに変換して前記トランジスタのベースに加える
DA変換器(13)を、各トランジスタ(14)に付属させた
ニューラルネットワークを備えることを特徴とするボル
ツマンマシン型ニューロコンピュータシステム。 - 【請求項2】2値出力状態をとるユニットの複数個で入
力、隠れ、出力各層を構成し、各層のユニットを層間
で、重み(Wij)を付けて結合したニューラルネットワ
ークを備えるボルツマンマシン型ニューロコンピュータ
システムにおいて、 結合の重み(Wij)をアナログ量からデジタル量に変更
するアナログ入力2値化回路(30,32,33,34)と、DA変
換及びラッチ回路(26)と、プロセッサ(21)とを備
え、 前記2値化回路の出力をプロセッサで計数して重みの増
分(Wij)を求め、これより結合の重み(Wij)を決定し
て前記ラッチ回路(26)にセットし、前記2値化回路へ
入力するようにしてなることを特徴とするボルツマンマ
シン型ニューロコンピュータシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63176824A JP2552711B2 (ja) | 1988-07-15 | 1988-07-15 | ボルツマンマシン型ニューロコンピュータシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63176824A JP2552711B2 (ja) | 1988-07-15 | 1988-07-15 | ボルツマンマシン型ニューロコンピュータシステム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0227493A JPH0227493A (ja) | 1990-01-30 |
| JP2552711B2 true JP2552711B2 (ja) | 1996-11-13 |
Family
ID=16020483
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63176824A Expired - Fee Related JP2552711B2 (ja) | 1988-07-15 | 1988-07-15 | ボルツマンマシン型ニューロコンピュータシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2552711B2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6471629B2 (ja) | 2015-06-30 | 2019-02-20 | 富士通株式会社 | ボルツマンマシン回路 |
| JP6524933B2 (ja) * | 2016-02-03 | 2019-06-05 | 富士通株式会社 | ボルツマンマシン、ボルツマンマシンの制御方法及びボルツマンマシンを有する情報処理装置 |
| JP6623947B2 (ja) * | 2016-06-17 | 2019-12-25 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
| JP7089750B2 (ja) * | 2018-07-18 | 2022-06-23 | 国立研究開発法人産業技術総合研究所 | ボルツマンマシン |
-
1988
- 1988-07-15 JP JP63176824A patent/JP2552711B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0227493A (ja) | 1990-01-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20230154176A1 (en) | Analyzing data using a hierarchical structure | |
| JP5680751B2 (ja) | 離散順位シナプス及び確率的なstdpによるデジタル神経処理のための方法及びシステム | |
| CN113287122B (zh) | 脉冲神经网络 | |
| US6009418A (en) | Method and apparatus for neural networking using semantic attractor architecture | |
| US9417845B2 (en) | Method and apparatus for producing programmable probability distribution function of pseudo-random numbers | |
| Isa et al. | Suitable MLP network activation functions for breast cancer and thyroid disease detection | |
| JP2013534018A5 (ja) | ||
| CN110956309A (zh) | 基于crf和lstm的流程活动预测方法 | |
| CN114064117A (zh) | 一种基于字节码和神经网络的代码克隆检测方法及系统 | |
| JP2552711B2 (ja) | ボルツマンマシン型ニューロコンピュータシステム | |
| JP3582737B2 (ja) | 信号処理装置 | |
| JP6731596B2 (ja) | 信号変換装置及び信号変換システム | |
| Maass et al. | On computation with pulses | |
| JPH09185596A (ja) | パルス密度型信号処理回路網における結合係数更新方法 | |
| Wang et al. | Network intrusion detection based on lightning search algorithm optimized extreme learning machine | |
| US12620996B2 (en) | Signal processor with A-D converter and reservoir unit | |
| Wringe | Scaling up ESNs with Heterogeneous Reservoirs | |
| Obaidat et al. | HSOP: A neural network paradigm and its applications | |
| Komar et al. | Increasing the resistance of computer systems towards virus attacks | |
| Malik et al. | The effects of logical permutation in the 3-satisfiability reverse analysis method | |
| Nagrare et al. | Adaptive neuro fuzzy inference system for modeling of electronics devices: A review | |
| Morales-Viscaya et al. | Fuzzy Model Parameter and Structure Optimization Using Analytic, Numerical and Heuristic Approaches. Symmetry 2023, 15, 1417 | |
| Wang et al. | A Model for Dynamic Knowledge Representation and Learning | |
| Zhu¹ et al. | in Complex Network Environment | |
| Štrba et al. | An application of neural network in method for use case based effort estimation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |