(57)【特許請求の範囲】
【請求項１】
神経細胞をシミュレートするニューロン装置であって、前記ニューロン装置は、
閾値変数θと、２つの閾値係数Δθ1、Δθ2と、を記憶する閾値記憶部と、
１つまたは複数の入力信号値の入力を、所定の時間間隔で受け付ける入力受付部と、
前記入力を受け付けられた入力信号値の総和sが、前記記憶された閾値変数θの値以上であれば、当該ニューロン装置が発火しているとして１を、そうでなければ、当該ニューロン装置が休息しているとして０を、それぞれ出力信号値として出力する出力部と、
前記出力された出力信号値Xと、前記記憶された閾値係数Δθ1、Δθ2と、から
Δθ1 X + Δθ2(X - 1)
を計算して、前記閾値記憶部に記憶される閾値変数θの値をその計算結果だけ増加するように更新する閾値更新部と、
を備えることを特徴とするニューロン装置。
【請求項２】
重みwと、２つの重み係数Δw1、Δw2を記憶する重み記憶部と、
請求項１に記載のニューロン装置２個（以下、一方を「入力側ニューロン装置」、「出力側ニューロン装置」という。）と、
前記入力側ニューロン装置と、前記出力側ニューロン装置と、が、入力信号値の入力を受け付け、出力信号値を出力する時間間隔で、調停信号値の入力を受け付ける調停入力受付部と、
を備える神経回路網装置であって、
前記入力側ニューロンの出力信号値uに前記記憶される重みwを乗じた値w uは、前記出力側ニューロンに入力信号値として与えられ、
前記入力側ニューロン装置から出力された出力信号値uと、前記出力側ニューロン装置から出力された出力信号値xと、前記受け付けられた調停信号値zと、前記記憶された重み係数Δw1、Δw2と、から、
Δw1 x u z + Δw2(x u z - 1)
を計算して、前記重み記憶部に記憶される重みwの値をその計算結果だけ増加するように更新する重み更新部
をさらに備えることを特徴とする神経回路網装置。
【請求項３】
請求項１に記載のニューロン装置N個と、
前記N個のニューロン装置が、入力信号値の入力を受け付け、出力信号値を出力する時間間隔で、１つまたは複数の非負実数信号値の入力を受け付けて、当該非負実数信号値の総和uを、前記N個のニューロン装置に入力信号値として与える非負実数受付部と、
前記N個のニューロン装置により出力される出力信号値の総和を、非負整数信号値として出力する非負整数出力部を、
を備え、
前記N個のニューロン装置は、当該閾値変数θの初期値としてそれぞれ、1，2，…，Nを当該閾値記憶部に記憶し、前記N個のニューロン装置のそれぞれにおいて、当該閾値係数Δθ1、Δθ2の値として０を当該閾値記憶部に記憶する、
ことを特徴とする非負整数符号化装置。
【請求項４】
請求項３に記載の非負整数符号化装置２個（以下、一方を「正側符号化装置」、他方を「負側符号化装置」という。）と、
前記２個の非負整数符号化装置が、非負実数信号値の入力を受け付け、非負整数信号値を出力する時間間隔で、１つまたは複数の実数信号値の入力を受け付けて、当該実数信号値の総和vが、
（ａ）非負であれば、実数値vを、前記正側符号化装置に非負実数信号値として与え、０を、前記負側符号化装置に非負実数信号値として与え、
（ｂ）負であれば、０を、前記正側符号化装置に非負実数信号値として与え、実数値-vを、前記負側符号化装置に非負実数信号値として与える
実数受付部と、
前記正側符号化装置から出力される非負整数信号値を入力として与えられ、当該非負整数に対する演算を行う正側神経回路網と、
前記負側符号化装置から出力される非負整数信号値を入力として与えられ、前記正側神経回路網と同一の回路構成を有する負側神経回路網と、
前記正側神経回路網より出力される信号値から、前記負側神経回路網より出力される信号値を減算した値を整数演算結果信号として出力する整数演算出力部
を備えることを特徴とする整数クラスタ装置。
【請求項５】
制御対象の変位の目標値と、当該変位の観測値および当該変位の微分の観測値と、の入力を受け付ける制御入力受付部と、
正側フィードバック装置と、
負側フィードバック装置と、
を備えるフィードバック制御装置であって、
当該正側フィードバック装置と、当該負側フィードバック装置と、は、いずれも、
（ａ）請求項３に記載の非負整数符号化装置A1と、
（ｂ）請求項３に記載の非負整数符号化装置A2と、
（ｃ）請求項３に記載の非負整数符号化装置A3と、
（ｄ）重みp，k1，k2，v1，v2と、重み係数Δq1，Δq2と、を記憶する制御記憶部、
（ｅ）前記非負整数符号化装置A1から出力される非負整数信号値uに前記記憶される重みpを乗じた信号値p uが、実数信号値の入力として与えられる請求項３に記載の非負整数符号化装置B1と、
（ｆ）前記非負整数符号化装置A1から出力される非負整数信号値に前記記憶される重みk1を乗じた信号値と、前記非負整数符号化装置A2から出力される非負整数信号値に前記記憶される重みk2を乗じた信号値と、が、実数信号値の入力として与えられる請求項３に記載の非負整数符号化装置B2と、
（ｇ）前記非負整数符号化装置B1から出力される非負整数信号値に前記記憶される重みv1を乗じた信号値と、前記非負整数符号化装置B2から出力される非負整数信号値に前記記憶される重みv2を乗じた信号値と、が、実数信号値の入力として与えられる請求項３に記載の非負整数符号化装置Cと、
（ｈ）前記非負整数符号化装置Cから出力される非負整数信号値xを、操作値として出力する片側操作出力部と、
（ｊ）前記非負整数符号化装置A1から出力される非負整数信号値uと、前記非負整数符号化装置Cから出力される非負整数信号値xと、から、
Δq1 x2 u + Δq2(x2 u - 1)
を計算し、前記制御記憶部に記憶される重みpを、その計算結果だけ増加するように更新する制御更新部と、
を備え、
前記制御入力受付部は、
（１）制御対象の変位の目標値が非負であれば、当該正側フィードバック装置の非負整数符号化装置A1に当該値を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A1に０を実数信号値の入力として与え、
（２）制御対象の変位の目標値が負であれば、当該正側フィードバック装置の非負整数符号化装置A1に０を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A1に当該値を実数信号値の入力として与え、
（３）制御対象の変位の観測値が非負であれば、当該正側フィードバック装置の非負整数符号化装置A2に当該値を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A2に０を実数信号値の入力として与え、
（４）制御対象の変位の観測値が負であれば、当該正側フィードバック装置の非負整数符号化装置A2に０を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A2に当該値を実数信号値の入力として与え、
（５）制御対象の変位の微分の観測値が非負であれば、当該正側フィードバック装置の非負整数符号化装置A3に当該値を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A3に０を実数信号値の入力として与え、
（６）制御対象の変位の微分の観測値が負であれば、当該正側フィードバック装置の非負整数符号化装置A3に０を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A3に当該値を実数信号値の入力として与え、
前記フィードバック制御装置は、
当該正側フィードバック装置より出力される操作値から、当該負側フィードバック装置より出力される操作値を減算した値を、操作出力として制御対象に与える操作出力部
をさらに備えることを特徴とするフィードバック制御装置。
【請求項６】
請求項５に記載のフィードバック制御装置であって、
前記非負整数符号化装置B1，B2，Cのそれぞれにおいて、当該２つの閾値係数Δθ1、Δθ2として、０を記憶するのにかえて、
Δθ1 > 0 > Δθ2
なる関係を満たす定数値を記憶する
ことを特徴とするフィードバック制御装置。
【請求項７】
請求項５または６に記載のフィードバック制御装置であって、
当該観測対象は、K種類の目標状態を有し、当該K種類の目標状態のそれぞれには、目標値が対応付けられ、
前記フィードバック制御装置は、請求項１に記載のニューロン装置K個をさらに備え、
前記K個のニューロン装置と、前記正側フィードバック装置および前記負側フィードバック装置との組み合わせにおいて、観測対象の目標状態がi番目の目標状態である場合に、i番目のニューロン装置には正の入力信号値が与えられ、それ以外のニューロン装置には０の入力信号値が与えられ、
前記フィードバック制御装置は、前記K個のニューロン装置のそれぞれに対して、
（１）当該ニューロン装置に対する切替重みr1，r2，r3，r4と、切替重み係数Δs1，Δs2と、を記憶する切替重み記憶部と、
（２）当該ニューロン装置から出力される出力信号値yに前記記憶される重みr1を乗じた信号値が、実数信号値の入力として与えられる請求項３に記載の非負整数符号化装置D1と、
（３）当該ニューロン装置から出力される出力信号値yに前記記憶される重みr2を乗じた信号値が、実数信号値の入力として与えられる請求項３に記載の非負整数符号化装置D2と、を有し、
（４）当該非負整数符号化装置D1から出力される非負整数信号値に前記記憶される重みr3を乗じた信号値と、当該非負整数符号化装置D2から出力される非負整数信号値に前記記憶される重みr4を乗じた信号値と、は、前記非負整数符号化装置Ｃに、さらに実数信号値の入力として与えられ、
（５）当該ニューロン装置から出力される出力信号値yと、前記非負整数符号化装置Cから出力される非負整数信号値xと、から、
Δs1 x2 y + Δs2(x2 y - 1)
を計算し、前記制御記憶部に記憶される重みr1を、その計算結果だけ増加するように更新する切り替え制御更新部をさらに有する
ことを特徴とするフィードバック制御装置。
【請求項８】
請求項７に記載のフィードバック制御装置であって、
前記非負整数符号化装置D1，D2のそれぞれにおいて、当該２つの閾値係数Δθ1、Δθ2として、０を記憶するのにかえて、
Δθ1 > 0 > Δθ2、かつ、
|Δθ1| > |Δθ2|
なる関係を満たす定数値を記憶する
ことを特徴とするフィードバック制御装置。
【請求項９】
コンピュータを、請求項１に記載のニューロン装置が備える各部として機能させることを特徴とするプログラム。
【請求項１０】
コンピュータを、請求項２に記載の神経回路網装置が備える各部として機能させることを特徴とするプログラム。
【請求項１１】
コンピュータを、請求項３に非負整数符号化装置が備える各部として機能させることを特徴とするプログラム。
【請求項１２】
コンピュータを、請求項４に記載の整数クラスタ装置が備える各部として機能させることを特徴とするプログラム。
【請求項１３】
コンピュータを、請求項５から８のいずれか１項に記載のフィードバック制御装置が備える各部として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、神経回路網においてニューロンの閾値を可変にし、ヘッブ則を拡張し、整数表現を工夫することで、適切な制御を行うのに好適なニューロン装置、神経回路網装置、非負整数符号化装置、整数クラスタ装置、フィードバック制御装置、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、神経細胞の活動を、単純な数学的モデルに落とし込んだ仮想的な「ニューロン」を制御単位として、ニューロン同士の出力と入力を重み付きで結合し、その重みを変更することで、学習を行って、ニューラルネットワークによる制御を行う技術が提案されている。たとえば、このような技術については、以下の文献に開示されている。
【非特許文献１】下田真吾，旭岳史，藤本英雄，木村英紀「複合制御論におけるロボット制御」第１１回ロボティクスシンポジア，２００６年
【０００３】
ここで、[非特許文献１]では、バースティングモデルを利用して、神経細胞モデルの自律的活動による学習で物体を運搬する動作を学習する技術が提案されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、[非特許文献１]に開示の技術に限らず、どのようなニューロンのモデルを設定すべきか、については、現在も比較検討がなされている段階であり、新たなモデルを利用したニューラルネットワークの構成に関する技術が強く望まれている。
【０００５】
本発明は、以上のような課題を解決するためのもので、神経回路網においてニューロンの閾値を可変にし、ヘッブ則を拡張し、整数表現を工夫することで、適切な制御を行うのに好適なニューロン装置、神経回路網装置、非負整数符号化装置、整数クラスタ装置、フィードバック制御装置、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の観点に係るニューロン装置は、神経細胞をシミュレートし閾値記憶部、入力受付部、出力部、閾値更新部を備え、以下のように構成する。
【０００７】
すなわち、閾値記憶部は、閾値変数θと、２つの閾値係数Δθ1、Δθ2と、を記憶する。
【０００８】
一方、入力受付部は、１つまたは複数の入力信号値の入力を、所定の時間間隔で受け付ける。
【０００９】
さらに、出力部は、入力を受け付けられた入力信号値の総和sが、記憶された閾値変数θの値以上であれば、当該ニューロン装置が発火しているとして１を、そうでなければ、当該ニューロン装置が休息しているとして０を、それぞれ出力信号値として出力する。
【００１０】
そして、閾値更新部は、出力された出力信号値Xと、記憶された閾値係数Δθ1、Δθ2と、から
Δθ1 X + Δθ2(X - 1)
を計算して、閾値記憶部に記憶される閾値変数θの値をその計算結果だけ増加するように更新する。
【００１１】
本発明のその他の観点に係る神経回路網装置は、重み記憶部、上記のニューロン装置２個（以下、一方を「入力側ニューロン装置」、「出力側ニューロン装置」という。）、調停入力受付部、重み更新部を備え、以下のように構成する。
【００１２】
すなわち、重み記憶部は、重みwと、２つの重み係数Δw1、Δw2を記憶する。
【００１３】
一方、調停入力受付部は、入力側ニューロン装置と、出力側ニューロン装置と、が、入力信号値の入力を受け付け、出力信号値を出力する時間間隔で、調停信号値の入力を受け付ける。
【００１４】
さらに、入力側ニューロンの出力信号値uに記憶される重みwを乗じた値w uは、出力側ニューロンに入力信号値として与えられる。
【００１５】
そして、重み更新部は、入力側ニューロン装置から出力された出力信号値uと、出力側ニューロン装置から出力された出力信号値xと、受け付けられた調停信号値zと、記憶された重み係数Δw1、Δw2と、から、
Δw1 x u z + Δw2(x u z - 1)
を計算して、重み記憶部に記憶される重みwの値をその計算結果だけ増加するように更新する。
【００１６】
本発明のその他の観点に係る非負整数符号化装置は、上記のニューロン装置N個、非負実数受付部、非負整数出力部を備え、以下のように構成する。
【００１７】
すなわち、非負実数受付部は、N個のニューロン装置が、入力信号値の入力を受け付け、出力信号値を出力する時間間隔で、１つまたは複数の非負実数信号値の入力を受け付けて、当該非負実数信号値の総和uを、N個のニューロン装置に入力信号値として与える。
【００１８】
一方、非負整数出力部は、N個のニューロン装置により出力される出力信号値の総和を、非負整数信号値として出力する。
【００１９】
さらに、N個のニューロン装置は、当該閾値変数θの初期値としてそれぞれ、1，2，…，Nを当該閾値記憶部に記憶し、N個のニューロン装置のそれぞれにおいて、当該閾値係数Δθ1、Δθ2の値として０を当該閾値記憶部に記憶する。
【００２０】
また、本発明の整数クラスタ装置は、上記の非負整数符号化装置２個（以下、一方を「正側符号化装置」、他方を「負側符号化装置」という。）、実数受付部、正側神経回路網、負側神経回路網、整数演算出力部を備え、以下のように構成する。
【００２１】
すなわち、実数受付部は、２個の非負整数符号化装置が、非負実数信号値の入力を受け付け、非負整数信号値を出力する時間間隔で、１つまたは複数の実数信号値の入力を受け付けて、当該実数信号値の総和vが、
（ａ）非負であれば、実数値vを、正側符号化装置に非負実数信号値として与え、０を、負側符号化装置に非負実数信号値として与え、
（ｂ）負であれば、０を、正側符号化装置に非負実数信号値として与え、実数値-vを、負側符号化装置に非負実数信号値として与える。
【００２２】
そして、正側神経回路網は、正側符号化装置から出力される非負整数信号値を入力として与えられ、当該非負整数に対する演算を行う。
【００２３】
さらに、負側神経回路網は、負側符号化装置から出力される非負整数信号値を入力として与えられ、正側神経回路網と同一の回路構成を有する。
【００２４】
一方、整数演算出力部は、正側神経回路網より出力される信号値から、負側神経回路網より出力される信号値を減算した値を整数演算結果信号として出力する。
【００２５】
また、本発明のフィードバック制御装置は、制御入力受付部、正側フィードバック装置、負側フィードバック装置、操作出力部を備え、以下のように構成する。
【００２６】
すなわち、制御入力受付部は、制御対象の変位の目標値と、当該変位の観測値および当該変位の微分の観測値と、の入力を受け付ける。
【００２７】
一方、当該正側フィードバック装置と、当該負側フィードバック装置と、は、いずれも、
（ａ）上記の非負整数符号化装置A1と、
（ｂ）上記の非負整数符号化装置A2と、
（ｃ）上記の非負整数符号化装置A3と、
（ｄ）重みp，k1，k2，v1，v2と、重み係数Δq1，Δq2と、を記憶する制御記憶部と、
（ｅ）非負整数符号化装置A1から出力される非負整数信号値uに記憶される重みpを乗じた信号値p uが、実数信号値の入力として与えられる上記の非負整数符号化装置B1と、
（ｆ）非負整数符号化装置A1から出力される非負整数信号値に記憶される重みk1を乗じた信号値と、非負整数符号化装置A2から出力される非負整数信号値に記憶される重みk2を乗じた信号値と、が、実数信号値の入力として与えられる上記の非負整数符号化装置B2と、
（ｇ）非負整数符号化装置B1から出力される非負整数信号値に記憶される重みv1を乗じた信号値と、非負整数符号化装置B2から出力される非負整数信号値に記憶される重みv2を乗じた信号値と、が、実数信号値の入力として与えられる上記の非負整数符号化装置Cと、
（ｈ）非負整数符号化装置Cから出力される非負整数信号値xを、操作値として出力する片側操作出力部と、
（ｊ）非負整数符号化装置A1から出力される非負整数信号値uと、非負整数符号化装置Cから出力される非負整数信号値xと、から、
Δq1 x2 u + Δq2(x2 u - 1)
を計算し、制御記憶部に記憶される重みpを、その計算結果だけ増加するように更新する制御更新部と、
を備える。
【００２８】
さらに、制御入力受付部は、
（１）制御対象の変位の目標値が非負であれば、当該正側フィードバック装置の非負整数符号化装置A1に当該値を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A1に０を実数信号値の入力として与え、
（２）制御対象の変位の目標値が負であれば、当該正側フィードバック装置の非負整数符号化装置A1に０を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A1に当該値を実数信号値の入力として与え、
（３）制御対象の変位の観測値が非負であれば、当該正側フィードバック装置の非負整数符号化装置A2に当該値を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A2に０を実数信号値の入力として与え、
（４）制御対象の変位の観測値が負であれば、当該正側フィードバック装置の非負整数符号化装置A2に０を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A2に当該値を実数信号値の入力として与え、
（５）制御対象の変位の微分の観測値が非負であれば、当該正側フィードバック装置の非負整数符号化装置A3に当該値を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A3に０を実数信号値の入力として与え、
（６）制御対象の変位の微分の観測値が負であれば、当該正側フィードバック装置の非負整数符号化装置A3に０を実数信号値の入力として与え、当該負側フィードバック装置の非負整数符号化装置A3に当該値を実数信号値の入力として与える。
【００２９】
そして、操作出力部は、当該正側フィードバック装置より出力される操作値から、当該負側フィードバック装置より出力される操作値を減算した値を、操作出力として制御対象に与える。
【００３０】
また、本発明のフィードバック制御装置は、非負整数符号化装置B1，B2，Cのそれぞれにおいて、当該２つの閾値係数Δθ1、Δθ2として、０を記憶するのにかえて、
Δθ1 > 0 > Δθ2、かつ、
|Δθ1| > |Δθ2|
なる関係を満たす定数値を記憶するように構成することができる。
【００３１】
また、本発明のフィードバック制御装置において、当該観測対象は、K種類の目標状態を有し、当該K種類の目標状態のそれぞれには、目標値が対応付けられ、上記のニューロン装置K個をさらに備え、以下のように構成することができる。
【００３２】
すなわち、K個のニューロン装置と、正側フィードバック装置および負側フィードバック装置との組み合わせにおいて、観測対象の目標状態がi番目の目標状態である場合に、i番目のニューロン装置には正の入力信号値が与えられ、それ以外のニューロン装置には０の入力信号値が与えられる。
【００３３】
そして、K個のニューロン装置のそれぞれに対して、
（１）当該ニューロン装置に対する切替重みr1，r2，r3，r4と、切替重み係数Δs1，Δs2と、を記憶する切替重み記憶部と、
（２）当該ニューロン装置から出力される出力信号値yに記憶される重みr1を乗じた信号値が、実数信号値の入力として与えられる上記の非負整数符号化装置D1と、
（３）当該ニューロン装置から出力される出力信号値yに記憶される重みr2を乗じた信号値が、実数信号値の入力として与えられる上記の非負整数符号化装置D2と、を有し、
（４）当該非負整数符号化装置D1から出力される非負整数信号値に記憶される重みr3を乗じた信号値と、当該非負整数符号化装置D2から出力される非負整数信号値に記憶される重みr4を乗じた信号値と、は、非負整数符号化装置Ｃに、さらに実数信号値の入力として与えられ、
（５）当該ニューロン装置から出力される出力信号値yと、非負整数符号化装置Cから出力される非負整数信号値xと、から、
Δs1 x2 y + Δs2(x2 y - 1)
を計算し、制御記憶部に記憶される重みr1を、その計算結果だけ増加するように更新する切り替え制御更新部をさらに有する。
【００３４】
すなわち、状態がK個であれば、重みr1，r2，r3，r4，Δs1，Δs2のセットもK個用意され、個別に更新がなされる。
【００３５】
また、本発明のフィードバック制御装置は、非負整数符号化装置D1，D2のそれぞれにおいて、当該２つの閾値係数Δθ1、Δθ2として、０を記憶するのにかえて、
Δθ1 > 0 > Δθ2、かつ、
|Δθ1| > |Δθ2|
なる関係を満たす定数値を記憶するように構成することができる。
【００３６】
本発明のその他の観点に係るプログラムは、コンピュータを、上記のニューロン装置、神経回路網装置、非負整数符号化装置、整数クラスタ装置、フィードバック制御装置として機能させるように構成する。
【００３７】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００３８】
上記プログラムは、プログラムが実行されるコンピュータやディジタル信号プロセッサとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータやディジタル信号プロセッサとは独立して配布・販売することができる。
【発明の効果】
【００３９】
本発明によれば、神経回路網においてニューロンの閾値を可変にし、ヘッブ則を拡張し、整数表現を工夫することで、適切な制御を行うのに好適なニューロン装置、神経回路網装置、非負整数符号化装置、整数クラスタ装置、フィードバック制御装置、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００４０】
以下に本発明の実施形態を説明する。なお、以下に説明する実施形態は説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００４１】
特に、以下の実施形態にて説明されるニューロン装置、神経回路網装置、非負整数符号化装置、整数クラスタ装置、フィードバック制御装置は、いずれも、コンピュータに所定のプログラムを実行させ、処理の制御ならびに各種の計算はＣＰＵ（Central Processing Unit）が行い、各種の記憶を記憶する領域としてＲＡＭ（Random Access Memory）を利用するようにして実現するのが典型的である。
【００４２】
しかしながら、基本構成要素にて実行される計算は主として四則演算や簡単な比較に限られるから、きわめて単純な電子回路で構成可能であり、当該電子回路を電子素子として実現したり、ＦＰＧＡ（Field Programmable Gate Array）やＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）等の技術を適用して実現することも可能である。
【実施例１】
【００４３】
以下では、ニューロン装置、神経回路網装置、非負整数符号化装置、整数クラスタ装置、フィードバック制御装置の順に、その詳細について説明する。
【００４４】
（ニューロン装置）
図１は、本実施形態に係るニューロン装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００４５】
ニューロン装置１０１は、神経細胞をシミュレートするものであり、閾値記憶部１０２、入力受付部１０３、出力部１０４、閾値更新部１０５を備える。
【００４６】
閾値記憶部１０２は、閾値変数θと、２つの閾値係数Δθ1、Δθ2と、を記憶する。以下、理解を容易にするため、ある時点tにおける変数θの値を示す際には、θ(t)のように表記するものとする。閾値記憶部１０２に記憶されるのは、変数θの最新の値、ということになる。
【００４７】
一方、２つの閾値係数Δθ1、Δθ2は、利用者が適宜調整可能な定数であるが、以下の２通りのいずれかの関係を有するようにするのが典型的である。ただし、これらには限られない。
（１）Δθ1 > 0 > Δθ2
（２）Δθ1 = Δθ2 = 0
【００４８】
さて、入力受付部１０３は、１つまたは複数の入力信号値の入力を、所定の時間間隔で受け付ける。所定の時間間隔で受け付けることから、時刻は整数で表現することができる。したがって、時刻tにおけるN個の入力信号値をs1(t)，…，sN(t)のように表記する。
【００４９】
さらに、出力部１０４は、入力を受け付けられた入力信号値の総和sが、記憶された閾値変数θの値以上であれば、当該ニューロン装置１０１が発火しているとして１を、そうでなければ、当該ニューロン装置１０１が休息しているとして０を、それぞれ出力信号値として出力する。
【００５０】
入力信号値の総和sの時刻tにおける値s(t)は、
s(t) = Σi=1N si(t)
のように表現できる。入力信号値は非負実数値をとるのが一般的であるが、これに限られない。
【００５１】
時刻tにおける出力信号値X(t)は、
sgm(z) = 1 (z > 0)；
sgm(z) = 1 (z = 0)；
sgm(z) = 0 (z < 0)
のように定義されるシグモイド関数sgm(z)によって、
X(t) = sgm(s(t) - θ(t))
のように表記することができる。
【００５２】
そして、閾値更新部１０５は、出力された出力信号値Xと、記憶された閾値係数Δθ1、Δθ2と、から
Δθ1 X + Δθ2(X - 1)
を計算して、閾値記憶部１０２に記憶される閾値変数θの値をその計算結果だけ増加するように更新する。
【００５３】
すなわち、時刻t+1におけるθの値θ(t+1)は、時刻tにおけるθの値θ(t)の値を用いて、
θ(t+1) = θ(t) + Δθ1 X(t) + Δθ2(X(t) - 1)）
のように表記することができる。
【００５４】
このニューロン装置１０１を、可変閾値ニューロン（Variable Threshold Neuron；ＶＴＮ）とも呼ぶ。ＶＴＮは、２つの状態をとりうる。X(t)が１のときは、ＶＴＮは発火状態にあり、X(t)が０のときは、ＶＴＮは休息状態にある。
【００５５】
また、閾値θ(t)は、閾値係数Δθ1、Δθ2によって変化する。ＶＴＮ  １０１が発火しているときには、Δθ1だけ閾値θが増加し、ＶＴＮ  １０１が休息しているときには、Δθ2だけ閾値θが増加する。
【００５６】
上記のように、
Δθ1 > 0 > Δθ2
のような関係がある場合には、発火状態が続くと閾値θが上昇して発火しにくくなり、休息状態が続くと閾値θが下降して発火しやすくなることになる。さらに、
|Δθ1| > |Δθ2|
とすることが多い。
【００５７】
また、
Δθ1 = Δθ2 = 0
である場合には、閾値は一定であることになる。
【００５８】
（神経回路網装置）
図２は、本実施形態に係る神経回路網装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００５９】
本図に示す神経回路網装置２０１は、ニューラルネットワークにおける重み付け更新の技術として広く知られているヘッブ則を拡張したものである。
【００６０】
神経回路網装置２０１は、重み記憶部２０２、ニューロン装置１０１を２個（以下、一方を「入力側ニューロン装置１０１ａ」、「出力側ニューロン装置１０１ｂ」という。）、調停入力受付部２０３、重み更新部２０４を備える。
【００６１】
ここで、重み記憶部２０２は、重みwと、２つの重み係数Δw1、Δw2を記憶する。
【００６２】
一方、調停入力受付部２０３は、入力側ニューロン装置１０１ａと、出力側ニューロン装置１０１ｂと、が、入力信号値の入力を受け付け、出力信号値を出力する時間間隔で、調停信号値zの入力を受け付ける。調停入力受付部２０３は、他のニューロン装置１０１に接続されるのが一般的である。
【００６３】
さらに、入力側ニューロン装置１０１ａの出力信号値uに記憶される重みwを乗じた値w uが、出力側ニューロン装置１０１ｂに入力信号値として与えられる。本図では、重みwを乗じることを、矢印の横にwを表記することで示している（以下同様）。
【００６４】
そして、重み更新部２０４は、入力側ニューロン装置１０１ａから出力された出力信号値uと、出力側ニューロン装置１０１ｂから出力された出力信号値xと、受け付けられた調停信号値zと、記憶された重み係数Δw1、Δw2と、から、
Δw1 x u z + Δw2(x u z - 1)
を計算して、重み記憶部２０２に記憶される重みwの値をその計算結果で更新する。時刻tを明記すると、
w(t+1) = w(t) + Δw1 x(t)u(t)z(t) + Δw2(x(t)u(t)z(t) - 1)
のように、重みが更新されることとなる。
【００６５】
この重み係数についても、
Δw1 > 0 > Δw2、
特に
|Δw1| > |Δw2|
とすることが多い。
【００６６】
図３は、本実施形態による拡張ヘッブ則によるニューロンの結合の様子を示す説明図である。以下、本図を参照して説明する。
【００６７】
本図では、ニューロン装置１０１（Ｍ）、ニューロン装置１０１（Ｉ）、ニューロン装置１０１（Ｏ）の３つが表記されているが、それぞれ、調停、入力、出力に対応しており、それぞれの出力値（状態）は、z，u，xであり、結合の重みはwである。
【００６８】
ニューロン装置１０１（Ｉ）とニューロン装置１０１（Ｏ）の結合が、上記の神経回路網装置２０１に相当する。
【００６９】
さて、重み係数Δw1，Δw2は、互いに符号が異なるように設定するのが典型的である。そして、
Δw1 > 0
のように設定したときには、ニューロン装置１０１（Ｍ）により、ニューロン装置１０１（Ｉ）とニューロン装置１０１（Ｏ）の結合が亢進（potentiation）される（本図（ａ））。
【００７０】
また、
Δw1 < 0
のように設定したときには、ニューロン装置１０１（Ｍ）により、ニューロン装置１０１（Ｉ）とニューロン装置１０１（Ｏ）の結合が抑制（inhibitation）される（本図（ｂ））。抑制の場合には、その旨を明らかにするため、慣習にしたがい、ニューロン装置１０１（Ｍ）から出る矢印の先に棒を表記する。
【００７１】
なお、ニューロン装置１０１（Ｍ）とニューロン装置１０１（Ｉ）を一致させるか、もしくは、ニューロン装置１０１（Ｍ）とニューロン装置１０１（Ｏ）を一致させた場合には、古典的なヘッブ則に帰着されることになる。
【００７２】
（非負整数符号化装置）
図４は、本実施形態に係る非負整数符号化装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００７３】
本発明のその他の観点に係る非負整数符号化装置４０１は、上記のニューロン装置１０１をN個、非負実数受付部４０２、非負整数出力部４０３を備える。
【００７４】
すなわち、非負実数受付部４０２は、N個のニューロン装置１０１が、入力信号値の入力を受け付け、出力信号値を出力する時間間隔で、１つまたは複数の非負実数信号値の入力を受け付けて、当該非負実数信号値の総和uを、N個のニューロン装置１０１に入力信号値として与える。
【００７５】
一方、非負整数出力部４０３は、N個のニューロン装置１０１により出力される出力信号値の総和を、非負整数信号値として出力する。
【００７６】
さらに、N個のニューロン装置１０１は、当該閾値変数θの初期値としてそれぞれ、1，2，…，Nを当該閾値記憶部１０２に記憶し、N個のニューロン装置１０１のそれぞれにおいて、当該閾値係数Δθ1、Δθ2の値として０を当該閾値記憶部１０２に記憶する。すなわち、N個のニューロン装置１０１のうち、i番目のニューロン装置１０１の閾値θは定数iに等しい、ということになる。
【００７７】
N個のニューロン装置１０１からの出力をすべて単純に結合すれば実数値uの少数部分を切り捨てて整数化した値に相当する。
【００７８】
通常のニューロンのクラスタ同士の結合と同様に、ニューロン同士を完全結合（complete connection）することとしても良い。
【００７９】
図５は、非負整数符号化装置４０１を含む一般的なニューロンのクラスタの結合の様子を示す模式図である。以下、本図を参照して説明する。
【００８０】
本図（ａ）に示すように、２つのクラスタ５０１ａ（Ａ）、５０１ｂ（Ｂ）は、それぞれ、非負整数符号化装置４０１同様にN個のニューロン装置１０１を有しており、２つのクラスタ５０１ａ（Ａ）、５０１ｂ（Ｂ）の各ニューロン装置１０１は、互いに結合している（本図（ａ））。クラスタ５０１ａ（Ａ）のi番目のニューロン装置１０１（Ai）とクラスタ５０１ｂ（Ｂ）のj番目のニューロン装置１０１（Bj）は、重みw[i,j]で結合している。w[i,j]は２次元行列もしくは２次元配列に相当するもので、すべての要素が同じ定数値を持つこととしても良いし、上記のような拡張ヘッブ則に基づいて、個別に、もしくは、一括して、更新されることとしても良い。
【００８１】
本図（ｂ）は、本図（ａ）を省略表記したものである。理解を容易にするため、クラスタ５０１ａ（Ａ）とクラスタ５０１ｂ（Ｂ）とが、重みwで結合しているかのように表記する。以下、適宜この記法を用いることとする。また、本図のような結合の様子に対しては、「クラスタ５０１ａ（Ａ）の出力に重みwを乗じてクラスタ５０１ｂ（Ｂ）に入力として与える。」のような表現を用いるものとする。したがって、一般に「wを乗じる」と言った場合には、wとしては上記のような行列／配列を意味することとなり、すべてが等しい重みの場合にはスカラーを意味することとなる。
【００８２】
（整数クラスタ装置）
一般に、ニューロン装置１０１が出力する値は「０」か「１」であるから、負の値を直接出力させることはできない。また、上記の非符号整数符号化装置４０１を利用しながら、負の値に対応する必要がある。以下では、このような処理を実現する整数クラスタ装置について説明する。
【００８３】
図６は、本実施形態に係る整数クラスタ装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００８４】
整数クラスタ装置６０１は、上記の非負整数符号化装置４０１を２個（以下、一方を「正側非負整数符号化装置４０１ａ」、他方を「負側非負整数符号化装置４０１ｂ」という。）、実数受付部６０２、正側神経回路網６０３、負側神経回路網６０４、整数演算出力部６０５を備える。
【００８５】
すなわち、実数受付部６０２は、２個の非負整数符号化装置４０１が、非負実数信号値の入力を受け付け、非負整数信号値を出力する時間間隔で、１つまたは複数の実数信号値の入力を受け付ける。
【００８６】
そして、当該実数信号値の総和vが、
（ａ）非負であれば、実数値vを、正側非負整数符号化装置４０１ａに非負実数信号値として与え、０を、負側非負整数符号化装置４０１ｂに非負実数信号値として与え、
（ｂ）負であれば、０を、正側非負整数符号化装置４０１ａに非負実数信号値として与え、実数値-vを、負側非負整数符号化装置４０１ｂに非負実数信号値として与える。
【００８７】
このようにすると、正側非負整数符号化装置４０１ａにも負側非負整数符号化装置４０１ｂにも、正の信号値が与えられ、非負整数への符号化がなされる。
【００８８】
そして、正側神経回路網６０３と、負側神経回路網６０４とは、同一の回路構成を有するが、学習の如何によっては、重み等の設定が変化することがある。
【００８９】
そして、正側神経回路網６０３は、正側非負整数符号化装置４０１ａから出力される非負整数信号値を入力として与えられ、当該非負整数に対する演算を行う。
【００９０】
さらに、負側神経回路網６０４は、負側非負整数符号化装置４０１ｂから出力される非負整数信号値を入力として与えられ、当該非負整数に対する演算を行う。
【００９１】
正側神経回路網６０３と、負側神経回路網６０４と、は、いずれも正の値（絶対値）の信号値を出力することとなるから、整数演算出力部６０５は、正側神経回路網６０３より出力される信号値から、負側神経回路網６０４より出力される信号値を減算した値を整数演算結果信号として出力する。
【００９２】
このように、０または正の値に対する処理はそのまま行い、負の値に対する処理は正の値に変換してから処理を行って、最後に両者の結果の差を求めて結合することで、一般的な実数に対する処理を可能とするのである。
【００９３】
（フィードバック制御装置）
以下では、上記のニューロン装置１０１、非負整数符号化装置４０１を用いて、神経回路網装置２０１と整数クラスタ装置６０１における原理を適用し、フィードバック制御を行うフィードバック制御装置の実施形態について説明する。
【００９４】
図７は、本実施形態に係るフィードバック制御装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００９５】
フィードバック制御装置７０１は、制御入力受付部７０２、正側フィードバック装置７０３、負側フィードバック装置７０４、操作出力部７０５を備える。
【００９６】
そして、制御入力受付部７０２は、制御対象の変位の目標値と、当該変位の観測値および当該変位の微分の観測値と、の入力を受け付ける。
【００９７】
変位およびその微分としては任意の組み合わせを採用することができる。たとえば「位置と速度」「角度と角速度」「速度と加速度」「角速度と角加速度」等の組み合わせである。
【００９８】
さて、当該正側フィードバック装置７０３と、当該負側フィードバック装置７０４と、は、同一の回路構成となっている。そこで本図では、理解を容易にするため、負側フィードバック装置７０４の詳細は図示を省略している。
【００９９】
さて、当該正側フィードバック装置７０３と、当該負側フィードバック装置７０４とは、いずれも、６個の非負整数符号化装置４０１（A1，A2，A3，B1，B2，C）、制御記憶部（図示せず）、制御更新部（図示せず）、を備える。
【０１００】
そして、制御記憶部は、重みp，k1，k2，v1，v2と、重み係数Δq1，Δq2を記憶する。これは、上記の各装置と同様である。
【０１０１】
非負整数符号化装置４０１（B1）には、非負整数符号化装置４０１（A1）から出力される非負整数信号値uに記憶される重みpを乗じた信号値p uが、実数信号値の入力として与えられる。
【０１０２】
非負整数符号化装置４０１（B2）には、非負整数符号化装置４０１（A1）から出力される非負整数信号値に記憶される重みk1を乗じた信号値と、非負整数符号化装置４０１（A2）から出力される非負整数信号値に記憶される重みk2を乗じた信号値と、が、実数信号値の入力として与えられる。
【０１０３】
非負整数符号化装置４０１（C）には、非負整数符号化装置４０１（B1）から出力される非負整数信号値に記憶される重みv1を乗じた信号値と、非負整数符号化装置４０１（B2）から出力される非負整数信号値に記憶される重みv2を乗じた信号値と、が、実数信号値の入力として与えられる。
【０１０４】
そして、片側操作出力部７１１は、非負整数符号化装置４０１（C）から出力される非負整数信号値xを、操作値として出力する。
【０１０５】
さらに、制御更新部は、非負整数符号化装置４０１（A1）から出力される非負整数信号値uと、非負整数符号化装置４０１（C）から出力される非負整数信号値xと、から、
Δq1 x2 u + Δq2(x2 u - 1)
を計算し、制御記憶部に記憶される重みpを、その計算結果だけ増加するように更新する。これは、上記の各装置と同様であり、上記の拡張ヘッブ則を、非負整数符号化装置４０１（A1，B1）の結合に対して適用することに相当する。
【０１０６】
このような構成を有する当該正側フィードバック装置７０３、当該負側フィードバック装置７０４に対して、制御入力受付部７０２は、上記の整数クラスタ装置６０１と同様に、正の値と負の値を適切に振り分ける。すなわち、
（１）制御対象の変位の目標値が非負であれば、当該正側フィードバック装置７０３の非負整数符号化装置４０１（A1）に当該値を実数信号値の入力として与え、当該負側フィードバック装置７０４の非負整数符号化装置４０１（A1）に０を実数信号値の入力として与え、
（２）制御対象の変位の目標値が負であれば、当該正側フィードバック装置７０３の非負整数符号化装置４０１（A1）に０を実数信号値の入力として与え、当該負側フィードバック装置７０４の非負整数符号化装置４０１（A1）に当該値を実数信号値の入力として与え、
（３）制御対象の変位の観測値が非負であれば、当該正側フィードバック装置７０３の非負整数符号化装置４０１（A2）に当該値を実数信号値の入力として与え、当該負側フィードバック装置７０４の非負整数符号化装置４０１（A2）に０を実数信号値の入力として与え、
（４）制御対象の変位の観測値が負であれば、当該正側フィードバック装置７０３の非負整数符号化装置４０１（A2）に０を実数信号値の入力として与え、当該負側フィードバック装置７０４の非負整数符号化装置４０１（A2）に当該値を実数信号値の入力として与え、
（５）制御対象の変位の微分の観測値が非負であれば、当該正側フィードバック装置７０３の非負整数符号化装置４０１（A3）に当該値を実数信号値の入力として与え、当該負側フィードバック装置７０４の非負整数符号化装置４０１（A3）に０を実数信号値の入力として与え、
（６）制御対象の変位の微分の観測値が負であれば、当該正側フィードバック装置７０３の非負整数符号化装置４０１（A3）に０を実数信号値の入力として与え、当該負側フィードバック装置７０４の非負整数符号化装置４０１（A3）に当該値を実数信号値の入力として与える。
【０１０７】
一方、操作出力部７０５は、上記の整数クラスタ装置６０１と同様に、正側と負側で得られた値の差を用いるため、当該正側フィードバック装置７０３より出力される操作値から、当該負側フィードバック装置７０４より出力される操作値を減算した値を、操作出力として制御対象に与えるのである。
【０１０８】
なお、本実施形態の正側フィードバック装置７０３、負側フィードバック装置７０４においては、非負整数符号化装置４０１(B1，B2，C)のそれぞれにおいて、当該２つの閾値係数Δθ1、Δθ2として、０を記憶するのにかえて、
Δθ1 > 0 > Δθ2、かつ、
|Δθ1| > |Δθ2|
なる関係を満たす定数値を記憶するように構成するのが典型的である。
【０１０９】
一方、非負整数符号化装置４０１(A1，A2，A3)においては、単なる整数化を行うと考えられるので、
Δθ1 = Δθ2 = 0
のように設定するのが典型的である。
【０１１０】
このほか、拡張ヘッブ則の学習を考慮して、
Δq1 > 0 > Δq2、かつ、
|Δq1| > |Δq2|
なる関係を満たす定数値を利用することが多い。
【０１１１】
図８は、サーボモータの制御に本実施形態のフィードバック制御装置を適用した場合の学習シミュレーションの結果を示すグラフである。以下、本図を参照して説明する。
【０１１２】
本シミュレーションは、サーボモータの角度を目標に与え、現在の角度と角速度を観測し、サーボモータに印加する電圧を操作出力とするものである。サーバモータは単純な２次システムと考えることができ、本フィードバック制御装置は、可変ＰＤ制御器として働く。
【０１１３】
また、非負整数符号化装置４０１は、５０個のニューロン装置１０１からなるものとして、所望の角度を0.5radに設定している。
【０１１４】
本図に示すように、試行を繰り返すと制御性能は次第に改善される。制御誤差は非負整数符号化装置４０１(B2)において、目標値と現在の角度の差として計算され、学習は、この観点で監督（supervise）されることになる。
【０１１５】
ただし、ここで注意しておきたいことは、誤差は、ネットワークそのもの変化には含まれない、ということである。重みと閾値の更新は、あらかじめ定められた規則にしたがって行われ、誤差には無関係である。
【０１１６】
また、本図に示すように、発火しているＶＴＮの数は、休息に減少していき、定数になった時点で、システムは、所望の制御レベルに達したことになる。
【０１１７】
所望の制御レベルに達したときの発火状態にあるニューロン装置１０１の数は、Δθ1，Δθ2，Δq1，Δq2の値によって変化・調整が可能である。このとき、増加方向の係数Δθ1，Δq1を減少方向の係数Δθ2，Δq2の絶対値よりもかなり大きな値としておくと、望ましい学習が行われることが実験によりわかっている。
【実施例２】
【０１１８】
本実施形態では、上記実施形態の構成に加えて、目標状態というものを考える。
【０１１９】
たとえば、図９に示すマニピュレータの制御について考える。以下、本図を参照して説明する。
【０１２０】
マニピュレータ８０１は、腕を連結する２つの関節８１１、８１２を持っており、腕の先には荷物８２１が荷重される。マニピュレータ８０１にとって安定な姿勢とは、その重心から鉛直に伸ばした線が関節８１１を通過する姿勢である。
【０１２１】
そこで、関節８１１の角度は自由に設定し、図１０に示すようにマニピュレータ８０１の関節８１２の角度を２通りに設定する。
【０１２２】
本図（ａ）は、第１の重さの荷物８２１を支える第１の姿勢であり、関節８１２の角度が設定されている。
【０１２３】
本図（ｂ）は、第２の重さの荷物８２１を支える第２の姿勢であり、関節８１２の角度が設定されている。
【０１２４】
そして、２つの荷物８２１、８２２は重さが異なるから、関節８１２の角度は、一般には、第１の姿勢と第２の姿勢とで異なるものとなる。そして、関節８１１の角度は、上記のような安定の条件から自然に定められるため、明示的に与える必要はない。
【０１２５】
このように、一連の動作の中で、通過すべき複数の姿勢を、ある程度の自由度をもったまま指定して、その一連の動作のうち、現在は何番目の姿勢に向かおうとしているのか、を示す制御信号を、フィードバック制御装置７０１に与えるのである。
【０１２６】
図１１は、目標状態が何番目のものであるかを示す信号を用いるフィードバック制御装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【０１２７】
本実施形態のフィードバック制御装置７０１は、上記のフィードバック制御装置７０１と共通する構成を有するため、適宜図示を省略している。また、正側と負側では構成が対称であるから、負側についても適宜図示を省略している。
【０１２８】
フィードバック制御装置７０１において、当該観測対象は、K種類の目標状態を有し、当該K種類の目標状態のそれぞれには、目標値が対応付けられている。上記のマニピュレータ８０１のでは、姿勢は２種類あったから、K = 2となる。
【０１２９】
そして、ニューロン装置１０１がK個さらに用意されている。このK個のニューロン装置１０１においては、観測対象の目標状態がi番目の目標状態である場合に、i番目のニューロン装置１０１には正の入力信号値が与えられ、それ以外のニューロン装置１０１には０の入力信号値が与えられる。
【０１３０】
そして、このK個のニューロン装置１０１のそれぞれには、正側フィードバック装置７０３および負側フィードバック装置７０４の両方において、
（１）当該ニューロン装置１０１に対する切替重みr1，r2，r3，r4と、切替重み係数Δs1，Δs2と、を記憶する切替重み記憶部（図示せず）と、
（２）当該ニューロン装置１０１から出力される出力信号値yに記憶される重みr1を乗じた信号値が、実数信号値の入力として与えられる上記の非負整数符号化装置４０１（D1）と、
（３）当該ニューロン装置１０１から出力される出力信号値yに記憶される重みr2を乗じた信号値が、実数信号値の入力として与えられる上記の非負整数符号化装置４０１（D2）と、とが接続され、
（４）当該非負整数符号化装置４０１（D1）から出力される非負整数信号値に記憶される重みr3を乗じた信号値と、当該非負整数符号化装置４０１（D2）から出力される非負整数信号値に記憶される重みr4を乗じた信号値と、は、非負整数符号化装置４０１Ｃに、さらに実数信号値の入力として与えられ、
（５）当該ニューロン装置１０１から出力される出力信号値yと、非負整数符号化装置４０１（C）から出力される非負整数信号値xと、から、
Δs1 x2 y + Δs2(x2 y - 1)
を計算し、制御記憶部に記憶される重みr1を、その計算結果だけ増加するように更新する切り替え制御更新部（図示せず）と回路をなすように、構成されている。
【０１３１】
ここで、本実施形態では、Δs1 < 0としており、抑制（inhibitation）を利用している。
【０１３２】
また、本発明のフィードバック制御装置７０１においては、上記と同様に、非負整数符号化装置４０１（D1，D2）のそれぞれにおいて、当該２つの閾値係数Δθ1、Δθ2として、０を記憶するのにかえて、
Δθ1 > 0 > Δθ2、かつ、
|Δθ1| > |Δθ2|
なる関係を満たす定数値を記憶するように構成するのが典型的である。
【０１３３】
あとは、目標とする姿勢の順に、その姿勢に向かう時間の間だけ、当該姿勢の順番に対応するニューロン装置１０１に非零の入力を与え、それ以外のニューロン装置１０１に０の入力を与えれば良いことになる。
【０１３４】
現在目標状態としている姿勢のそれぞれに応じて、拡張ヘッブ則により学習がなされるため、たとえばロボットの歩行動作を実現する際には、歩行動作をいくつかのフェーズに分けて、各フェーズの境界を上記の「目標姿勢」とすることで、歩行動作の設計が容易になるとともに、各フェーズの学習を行わせることができるので、各種のパラメータ調整の手間を減らすことができると期待される。
【０１３５】
また、あらかじめ目標軌道を与える関節（上記の関節８１２に相当）と、学習により軌道が定まる関節（上記の関節８１１に相当）を分けることで、バランスをとりながら歩行するようなニューラルネットワークが、短時間で獲得できるようになる。
【０１３６】
なお、上記図１０の例のように、状態が２つだけの場合には、第１の目標状態でなければ第２の目標状態であることになるから、目標状態を受け付けるニューロン装置１０１は１個で済む。
【０１３７】
図１２は、本例についてシミュレーションを行った場合の目標値の与え方を示すグラフである。本図に示すように、一定間隔で、第１の姿勢を目標とする期間と第２の姿勢を目標とする期間を入れ換える旨が指定されている。
【０１３８】
図１３は、図１１に示す目標値によって学習を行った実験結果を示すグラフである。本図に示すように、時間が経過するにしたがって、姿勢が安定状態に収束していくことがわかる。
【０１３９】
図１４は、重さの異なる荷物を与えた場合の、姿勢の収束値を示すグラフである。異なる重さ、異なる初期姿勢から動作を開始したとしても、同じ収束点に収束していることがわかり、これが、このロボットにとっての最適な動作であることがわかる。
【産業上の利用可能性】
【０１４０】
このように本発明によれば、神経回路網においてニューロンの閾値を可変にし、ヘッブ則を拡張し、整数表現を工夫することで、適切な制御を行うのに好適なニューロン装置、神経回路網装置、非負整数符号化装置、整数クラスタ装置、フィードバック制御装置、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【０１４１】
【図１】ニューロン装置の概要構成を示す模式図である。
【図２】神経回路網装置の概要構成を示す模式図である。
【図３】拡張ヘッブ則によるニューロンの結合の様子を示す説明図である。
【図４】非負整数符号化装置の概要構成を示す模式図である。
【図５】非負整数符号化装置を含む一般的なニューロンのクラスタの結合の様子を示す模式図である。
【図６】整数クラスタ装置の概要構成を示す模式図である。
【図７】フィードバック制御装置の概要構成を示す模式図である。
【図８】サーボモータの制御に本実施形態のフィードバック制御装置を適用した場合の学習シミュレーションの結果を示すグラフである。
【図９】制御対象となるマニピュレータの概要構成を示す模式図である。
【図１０】異なる荷物が荷重されたマニピュレータの２つの姿勢を示す説明図である。
【図１１】目標状態が何番目のものであるかを示す信号を用いるフィードバック制御装置の概要構成を示す模式図である。
【図１２】シミュレーションにおける目標値の与え方を示すグラフである。
【図１３】図１２に示す目標値によって学習を行った実験結果を示すグラフである。
【図１４】重さの異なる荷物を与えた場合の、姿勢の収束値を示すグラフである。
【符号の説明】
【０１４２】
１０１  ニューロン装置
１０２  閾値記憶部
１０３  入力受付部
１０４  出力部
１０５  閾値更新部
２０１  神経回路網装置
２０２  重み記憶部
２０３  調停入力受付部
２０４  重み更新部
４０１  非負整数符号化装置
４０２  非負実数受付部
４０３  非負整数出力部
５０１  クラスタ
６０１  整数クラスタ装置
６０２  実数受付部
６０３  正側神経回路網
６０４  負側神経回路網
７０１  フィードバック制御装置
７０２  制御入力受付部
７０３  正側フィードバック装置
７０４  負側フィードバック装置
７０５  操作出力部
８０１  マニピュレータ
８１１  関節
８１２  関節
８２１  荷物
８２２  荷物
【図１】
0005115965.tif 000002
【図２】
0005115965.tif 000003
【図３】
0005115965.tif 000004
【図４】
0005115965.tif 000005
【図５】
0005115965.tif 000006
【図６】
0005115965.tif 000007
【図７】
0005115965.tif 000008
【図８】
0005115965.tif 000009
【図９】
0005115965.tif 000010
【図１０】
0005115965.tif 000011
【図１１】
0005115965.tif 000012
【図１２】
0005115965.tif 000013
【図１３】
0005115965.tif 000014
【図１４】
0005115965.tif 000015