JP2008287626A - 学習制御装置および方法、並びにプログラム - Google Patents
学習制御装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP2008287626A JP2008287626A JP2007133759A JP2007133759A JP2008287626A JP 2008287626 A JP2008287626 A JP 2008287626A JP 2007133759 A JP2007133759 A JP 2007133759A JP 2007133759 A JP2007133759 A JP 2007133759A JP 2008287626 A JP2008287626 A JP 2008287626A
- Authority
- JP
- Japan
- Prior art keywords
- learning
- module
- plasticity
- prediction error
- parameter
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】時系列ベクトルのパターンが変化した場合でも、確実に元のパターンを予測できるようにする。
【解決手段】モジュールを有する時系列予測演算部12は、入力部11より入力された時系列ベクトルから予測を行う。予測誤差演算部13はモジュールの予測誤差を演算する。可塑性パラメータ演算部17は、モジュールの学習の可塑性を表す可塑性パラメータを演算する。学習部19は、モジュールのうち、可塑性パラメータが学習モジュールであることを表すモジュールを学習させ、可塑性パラメータが生成モジュールであることを表すモジュールの学習を禁止する。
【選択図】図1
【解決手段】モジュールを有する時系列予測演算部12は、入力部11より入力された時系列ベクトルから予測を行う。予測誤差演算部13はモジュールの予測誤差を演算する。可塑性パラメータ演算部17は、モジュールの学習の可塑性を表す可塑性パラメータを演算する。学習部19は、モジュールのうち、可塑性パラメータが学習モジュールであることを表すモジュールを学習させ、可塑性パラメータが生成モジュールであることを表すモジュールの学習を禁止する。
【選択図】図1
Description
本発明は学習制御装置および方法、並びにプログラムに関し、特に、時系列データのパターンが変化した場合でも、確実に元のパターンを予測することができるようにした学習制御装置および方法、並びにプログラムに関する。
時々刻々と変化する時系列データを入力し、学習結果に基づいてそれを処理し、制御するシステムが提案されている(例えば、特許文献1)。この特許文献1のシステムにおいては、学習専用のニューラルネットワークと予測専用のニューラルネットワークとが用意され、学習専用のニューラルネットワークにより学習が行われ、その結果得られたニューロン間の重み係数wが、予測専用のニューラルネットワークに設定される。その結果、時系列データが変化したとしても、それに追従して予測処理を行うことが可能となる。
このように、特許文献1のシステムにおいては、予測専用のニューラルネットワークのニューロン間の重み係数wを書き換えるため、時系列データの変化に追従して新たなパターンの予測処理を行うことができる反面、再び時系列データが元のパターンに戻った場合に、従来のパターンの予測処理が困難になってしまう。すなわち、このシステムでは、時系列データのパターンが変化する毎に、新たなパターン用にニューロン間の重み係数wが更新されてしまう。その結果、予測パターンが頻繁に変化するような場合、ニューロン間の重み係数wの更新にはある程度の時間が必要であるため、結局、変化したパターンのいずれをも正確に予測することが困難になる事態が発生するおそれがある。
本発明は、このような状況に鑑みてなされたものであり、時系列データのパターンが変化した場合でも、確実に元のパターンを予測することができるようにするものである。
本発明の側面は、時系列ベクトルを入力する入力手段と、
入力された前記時系列ベクトルから予測を行うモジュールを有する予測手段と、
前記モジュールの予測誤差を演算する予測誤差演算手段と、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算する可塑性パラメータ演算手段と、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する学習手段と
を備える学習制御装置である。
入力された前記時系列ベクトルから予測を行うモジュールを有する予測手段と、
前記モジュールの予測誤差を演算する予測誤差演算手段と、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算する可塑性パラメータ演算手段と、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する学習手段と
を備える学習制御装置である。
前記生成モジュールの最小の前記予測誤差が第1の予測誤差閾値以上である場合において、前記学習モジュールの最小の前記予測誤差が第2の予測誤差閾値以上であり、前記学習モジュールの最大の前記可塑性パラメータが追加閾値より小さい場合、新たな前記学習モジュールを追加する追加手段をさらに備えることができる。
前記生成モジュールの最小の前記予測誤差が前記第1の予測誤差閾値より小さく、前記学習モジュールの前記可塑性パラメータが、消去閾値以上である場合、前記モジュールを消去する消去手段をさらに備えることができる。
前記学習手段は、前記学習モジュールの最小の前記予測誤差が前記第2の予測誤差閾値以上であり、前記学習モジュールの最大の前記可塑性パラメータが前記追加閾値以上である場合、並びに、前記学習モジュールの最小の前記予測誤差が前記第2の予測誤差閾値より小さく、前記学習モジュールの最大の前記可塑性パラメータが前記追加閾値より小さい場合、前記学習モジュールに学習を行うことができる。
追加された前記学習モジュールに、前記予測誤差が最小の前記生成モジュールの学習結果をコピーするコピー手段をさらに備えることができる。
前記可塑性パラメータ演算手段は、前記可塑性パラメータを不可逆に更新することができる。
前記可塑性パラメータ演算手段は、前記可塑性パラメータを、閾値以下である場合、0に設定することができる。
前記モジュールは、リカレントニューラルネットワークとすることができる。
本発明の側面はまた、時系列ベクトルを学習する学習制御装置の学習制御方法において、
前記時系列ベクトルを入力し、
入力された前記時系列ベクトルからモジュールにより予測を行い、
前記モジュールの予測誤差を演算し、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する
学習制御方法である。
前記時系列ベクトルを入力し、
入力された前記時系列ベクトルからモジュールにより予測を行い、
前記モジュールの予測誤差を演算し、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する
学習制御方法である。
さらに本発明の側面は、時系列ベクトルを学習するプログラムであって、
前記時系列ベクトルを入力し、
入力された前記時系列ベクトルからモジュールにより予測を行い、
前記モジュールの予測誤差を演算し、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する
処理をコンピュータに実行させるプログラムである。
前記時系列ベクトルを入力し、
入力された前記時系列ベクトルからモジュールにより予測を行い、
前記モジュールの予測誤差を演算し、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する
処理をコンピュータに実行させるプログラムである。
本発明の側面においては、入力された時系列ベクトルからモジュールにより予測が行なわれ、モジュールの予測誤差が演算され、モジュールの学習の可塑性を表す可塑性パラメータが演算される。モジュールのうち、可塑性パラメータが学習モジュールであることを表わすモジュールが学習され、可塑性パラメータが生成モジュールであることを表わすモジュールの学習が禁止される。
以上のように、本発明の側面によれば、時系列ベクトルのパターンが変化した場合でも、確実に元のパターンを予測することができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の側面は、時系列ベクトルを入力する入力手段(例えば、図1の入力部11)と、
入力された前記時系列ベクトルから予測を行うモジュール(例えば、図2のモジュール51)を有する予測手段(例えば、図1の時系列予測演算部12)と、
前記モジュールの予測誤差を演算する予測誤差演算手段(例えば、図1の予測誤差演算部13)と、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算する可塑性パラメータ演算手段(例えば、図1の可塑性パラメータ演算部17)と、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する学習手段(例えば、図1の学習部19)と
を備える学習制御装置(例えば、図1の学習制御装置1)である。
入力された前記時系列ベクトルから予測を行うモジュール(例えば、図2のモジュール51)を有する予測手段(例えば、図1の時系列予測演算部12)と、
前記モジュールの予測誤差を演算する予測誤差演算手段(例えば、図1の予測誤差演算部13)と、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算する可塑性パラメータ演算手段(例えば、図1の可塑性パラメータ演算部17)と、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する学習手段(例えば、図1の学習部19)と
を備える学習制御装置(例えば、図1の学習制御装置1)である。
前記生成モジュールの最小の前記予測誤差が第1の予測誤差閾値(例えば、表1のElearn)以上である場合において、前記学習モジュールの最小の前記予測誤差が第2の予測誤差閾値(例えば、表1のEadd)以上であり、前記学習モジュールの最大の前記可塑性パラメータ(例えば、表1のPmax)が追加閾値(例えば、表1のPadd)より小さい場合、新たな前記学習モジュールを追加する追加手段(例えば、図1の追加部24)を
さらに備えることができる。
さらに備えることができる。
前記生成モジュールの最小の前記予測誤差が前記第1の予測誤差閾値より小さく、前記学習モジュールの前記可塑性パラメータが、消去閾値(例えば、表1のPclear)以上である場合、前記モジュールを消去する消去手段(例えば、図1の消去部21)を
さらに備えることができる。
さらに備えることができる。
前記学習手段は、前記学習モジュールの最小の前記予測誤差が前記第2の予測誤差閾値(例えば、表1のEadd)以上であり、前記学習モジュールの最大の前記可塑性パラメータ(例えば、表1のPmax)が前記追加閾値(例えば、表1のPadd)以上である場合、並びに、前記学習モジュールの最小の前記予測誤差が前記第2の予測誤差閾値(例えば、表1のEadd)より小さく、前記学習モジュールの最大の前記可塑性パラメータ(例えば、表1のPmax)が前記追加閾値(例えば、表1のPadd)より小さい場合、前記学習モジュールに学習を行うことができる。
追加された前記学習モジュールに、前記予測誤差が最小の前記生成モジュールの学習結果をコピーするコピー手段(例えば、図1のコピー部25)を
さらに備えることができる。
さらに備えることができる。
前記可塑性パラメータ演算手段は、前記可塑性パラメータを不可逆に更新する(例えば、図8のステップS66乃至S68の処理)ことができる。
前記可塑性パラメータ演算手段は、前記可塑性パラメータを、閾値以下である場合、0に設定する(例えば、図8のステップS63,S64の処理)ことができる。
前記モジュールは、リカレントニューラルネットワーク(例えば、図4のリカレントニューラルネットワーク81)とすることができる。
また本発明の側面は、時系列ベクトルを学習する学習制御装置の学習制御方法において、
前記時系列ベクトルを入力し(例えば、図5のステップS1)、
入力された前記時系列ベクトルからモジュールにより予測を行い(例えば、図5のステップS2)、
前記モジュールの予測誤差を演算し(例えば、図5のステップS3)、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し(例えば、図5のステップS5)、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する(例えば、図7のステップS20)
学習制御方法(例えば、図5乃至図7の処理方法)である。
前記時系列ベクトルを入力し(例えば、図5のステップS1)、
入力された前記時系列ベクトルからモジュールにより予測を行い(例えば、図5のステップS2)、
前記モジュールの予測誤差を演算し(例えば、図5のステップS3)、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し(例えば、図5のステップS5)、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する(例えば、図7のステップS20)
学習制御方法(例えば、図5乃至図7の処理方法)である。
以下、図を参照して本発明の実施の形態について説明する。
図1は本発明の学習制御装置の一実施の形態の構成を示すブロック図である。この学習制御装置1は、入力部11、時系列予測演算部12、予測誤差演算部13、重み付けパラメータ演算部14、生成モジュール選択部15、生成部16、可塑性パラメータ演算部17、学習率演算部18、学習部19、可塑性消去閾値判定部20、消去部21、可塑性最大値演算部22、可塑性最大値追加閾値判定部23、追加部24、コピー部25、予測誤差追加閾値判定部26、および新規学習条件判定部27により構成されている。
入力部11は、図示せぬセンサなどが検出した結果出力する時系列データ列などからなる時系列ベクトルを入力する。時系列予測演算部12は、詳細は図2を参照して後述するが、内部に例えばリカレントニューラルネットワークよりなるモジュールを有し、入力部11より入力された時系列ベクトルの予測演算を行い、予測ベクトルfを出力する。予測誤差演算部13は、時系列予測演算部12により演算された予測結果の予測誤差Eを演算する。
重み付けパラメータ演算部14は、後述する式(2)に従って、予測誤差演算部13により演算された予測誤差Eに基づいて、各モジュールの出力を重み付けする重み付けパラメータλを演算する。生成モジュール選択部15は、既に学習を完了しているので学習は行わず、予測処理のみを行うモジュール(すなわち、後述する可塑性パラメータPが0であるモジュール)のうちの、勝者モジュールを選択する。ここで勝者モジュールとは、重み付けパラメータ演算部14により演算された重み付けパラメータλが最も大きいモジュールである。以下、生成モジュールのうちの勝者モジュールを勝者生成モジュールといい、学習モジュールのうちの勝者モジュールを勝者学習モジュールという。なお、後述する式(2)から明らかなように、重み付けパラメータλが最も大きいとは、予測誤差Eが最も小さいことと等価である。
生成部16は、後述する式(5)に従って、時系列予測演算部12により予測演算された予測ベクトルfを、重み付けパラメータ演算部14により演算された重み付けパラメータλにより重み付けして合成し、最終的な予測結果としての統合予測ベクトルFを生成し、出力する。
可塑性パラメータ演算部17は、後述する式(3)に従って、予測誤差演算部13により演算された予測誤差Eに基づいて、可塑性パラメータPを演算する。学習率演算部18は、後述する式(4)に従って、可塑性パラメータ演算部17により演算された可塑性パラメータPと、重み付けパラメータ演算部14により演算された重み付けパラメータλに基づいて学習率ηを演算する。学習率演算部18はまた、学習モジュールのうちの重み付けパラメータλが最大の勝者学習モジュールの選択も行う。
学習部19は、学習率演算部18により演算された学習率ηに基づいて、時系列予測演算部12を制御し、学習モジュールに学習処理を行わせる。詳細には、新規学習条件判定部27により勝者生成モジュールの予測誤差gen winが新規学習条件閾値Elearn以上であると判定された場合、予測誤差追加閾値判定部26により勝者学習モジュールの予測誤差Elearn winがモジュール追加閾値Eadd以上である判定され、かつ、可塑性最大値追加閾値判定部23により可塑性最大値Pmaxがモジュール追加閾値Padd以上であると判定されたとき、並びに、予測誤差追加閾値判定部26により勝者学習モジュールの予測誤差Elearn winがモジュール追加閾値Eadd未満であると判定され、かつ、可塑性最大値追加閾値判定部23により可塑性最大値Pmaxがモジュール追加閾値Padd未満であると判定されたとき、学習が行われる。
学習部19が行う学習方法としては、連続した時系列データに対して一定時間にわたってバックプロパゲーション法を実行し、ニューロン間の結合重みwの更新量を算出し、時間方向に累積した値で更新を行うバックプロパゲーションスルータイム法を用いることができる。このバックプロパゲーションスルータイム法については、例えば、Rumelhart, D., Hinton, G., and Williams, R.(1986).Learning internal representations by error propagation. In Parallel Distributed Processing, chapter 8. MIT Press, Cambridge, MA.に開示されている。
可塑性消去閾値判定部20は、可塑性パラメータ演算部17により演算された可塑性パラメータPと、予め設定されている消去閾値Pclearとの大きさを比較し、その大小関係を判定する。消去部21は、可塑性消去閾値判定部20により、可塑性パラメータPが消去閾値Pclear以上の大きさであると判定され、かつ、後述する新規学習条件判定部27により、勝者生成モジュールの予測誤差Egen winが、予測誤差学習閾値Elearnより小さいと判定された場合、時系列予測演算部12を制御し、そこに含まれるモジュールを消去させる。
可塑性最大値演算部22は、予測誤差追加閾値判定部26により勝者学習モジュールの予測誤差Elearn winがモジュール追加閾値Eadd以上であると判定された場合、可塑性パラメータ演算部17により演算された全学習モジュールの可塑性パラメータPの最大値Pmaxを演算する。可塑性最大値追加閾値判定部23は、可塑性最大値演算部22により演算された可塑性パラメータPの最大値Pmaxと、予め設定されている追加閾値Paddの大きさを比較、判定する。
追加部24は、新規学習条件判定部27により勝者生成モジュールの予測誤差gen winが新規学習条件閾値Elearn以上であると判定された場合において、可塑性最大値追加閾値判定部23により可塑性パラメータPの最大値Pmaxが予追加閾値Paddより小さいと判定され、かつ、予測誤差追加閾値判定部26により、勝者学習モジュールの予測誤差Elearn winが、予測誤差追加閾値Eadd以上であると判定されたとき、時系列予測演算部12を制御し、そこに新たなモジュールを追加させる。
コピー部25は、追加部24により時系列予測演算部12に学習モジュールが追加された場合、その追加された学習モジュールに、生成モジュール選択部15により選択された勝者生成モジュールの学習結果を学習部19から読み出し、コピーさせる。
予測誤差追加閾値判定部26は、新規学習条件判定部27により、勝者生成モジュールの予測誤差Egen winが予測誤差学習閾値Elearn以上であると判定された場合、予測誤差演算部13により演算された予測誤差Eのうちの学習率演算部18により選択された勝者学習モジュールの予測誤差Elearn winと、予め設定されている予測誤差追加閾値Eaddとの大きさを比較し、勝者学習モジュールの予測誤差Elearn winが予測誤差追加閾値Eadd以上であるとき、追加部24を制御し、学習モジュールを追加させる。このため、予測誤差追加閾値判定部26には、学習率演算部18から、勝者学習モジュールを特定する情報が供給される。
新規学習条件判定部27は、可塑性パラメータ演算部17の出力する可塑性パラメータPに基づいて、学習モジュールが存在すると判定した場合、予測誤差演算部13により演算された予測誤差のうちの勝者生成モジュールの予測誤差Egen winと、予め設定されている予測誤差学習閾値Elearnとの大きさを比較し、比較結果を学習部19、可塑性消去閾値判定部20、消去部21、追加部24、および予測誤差追加閾値判定部26に供給する。このため、新規学習条件判定部27には、生成モジュール選択部15から、勝者生成モジュールを特定する情報が供給される。
図2は、時系列予測演算部12と生成部16の一実施の形態の詳細な構成を表している。時系列予測演算部12は、複数(この実施の形態の場合、3個)のモジュール51−1乃至51−3を有している。各モジュール51−1乃至51−3は、入力部11から供給される同一の時系列ベクトルに基づいて、予測演算を行い、異なる予測結果f1(t)乃至f3(t)をそれぞれ出力する。生成部16は、各モジュール51−1乃至51−3の出力f1(t)乃至f3(t)に、重み付けパラメータ演算部14で演算された重み付けパラメータλ1乃至λ3を乗算する乗算部61−1乃至61−3と、各乗算部61−1乃至61−3の出力を加算し、最終的な予測結果としての統合予測ベクトルF(t)を出力する合成部62を有している。
なお、モジュール51−1乃至51−3、乗算部61−1乃至61−3、予測結果f1(t)乃至f3(t)、重み付けパラメータλ1乃至λ3などを個々に区別する必要がない場合、単に、モジュール51、乗算部61、予測結果f(t)、または重み付けパラメータλと記述される。他の部分についても同様とする。
また、図2には、便宜上、モジュール51が3個示されているが、本実施の形態においては、初期状態において少なくとも1個のモジュールが学習モジュールとして存在し、学習が行われる。入力される時系列パターンに新たなパターンが発生すると、新たな学習モジュールが必要に応じて自動的に追加される。また、学習モジュールは、一旦生成されたとしても、その後、入力される時系列パターンの変化によって不必要と判断された場合には、自動的に消去される。
図3はモジュール51の一実施の形態の構成を表している。モジュール51は、学習器71を有し、この学習器71は、例えば図4に示されるように、リカレントニューラルネットワーク81により構成され、内部にニューロン間の結合重みwが学習により記憶されている。
リカレントニューラルネットワーク81は、入力層91、中間層92、および出力層93により構成され、出力層93の出力の一部は、コンテキストループ94により入力層91に帰還されている。なお、中間層92は、この実施の形態では1層とされているが、任意の数の層で構成することができる。リカレントニューラルネットワーク81は、入力部11から入力された時系列ベクトルに基づき予測処理を行い、予測結果としての予測ベクトルf(t)を出力する。
次に図5乃至図8のフローチャートを参照して、学習制御装置1の学習制御処理動作について説明する。
ステップS1において、入力部11は時系列ベクトルを入力する。この時系列ベクトルは、例えば、図示せぬセンサが所定の観測対象を観測することで検出した、時々刻々と変化する時系列データであり、センサの数に対応する時限のベクトルで構成される。ステップS2において、時系列予測演算部12は全モジュールで予測ベクトルを演算する。例えば、図2に示されるように、モジュール51が3個存在する場合、各モジュール51を構成するリカレントニューラルネットワーク81のそれぞれにより、入力部11より入力された時系列ベクトルに対応する予測ベクトルf(t)が演算される。
ステップS3において、予測誤差演算部13は、全モジュールの予測誤差を演算する。具体的には、次式に従って、時系列予測演算部12の各モジュール51が演算した予測ベクトルf(t)の予測誤差E(t)が演算される。
上記式において、Ei(t)はi番目のモジュール51の予測誤差、fid(t)は、i番目のモジュール51の予測ベクトルのd次元目の値、yd(t)は、入力ベクトルのd次元目の値を、それぞれ表す。
ステップS4において重み付けパラメータ演算部14は、全モジュールの重み付けパラメータを演算する。すなわち、その時点において時系列予測演算部12に存在するモジュール51の全ての重み付けパラメータλが、次の式に従って演算される。
上記式においてλi(t)は、i番目のモジュール51の重み付けパラメータを表し、σは、重み付けパラメータλi(t)の予測誤差に対する敏感性を決定するパラメータである。この式から明らかなように、重み付けパラメータλi(t)は、予測誤差Ei(t)が小さいほど大きくなる。その結果、後述する式(5)で演算されるシステム全体の予測ベクトルF(t)における各モジュール51が出力する予測ベクトルfi(t)が占める割合は、重み付けパラメータλi(t)が大きいほど(すなわち、予測誤差Ei(t)が小さいほど)大きくなる。
ステップS5において可塑性パラメータ演算部17は、全モジュールの可塑性パラメータの演算処理を行う。その処理の詳細は、図8に示されている。
図8のステップS61において、可塑性パラメータ演算部17は、全可塑性パラメータが0かを判定する。可塑性パラメータPの値が閾値0に等しい場合、そのモジュール51は可塑性がないこと、すなわち、もはや学習は行わず、予測処理(すなわち、生成処理)のみを行う生成モジュールであることを意味する。全てのモジュール51の可塑性パラメータPが0ではない場合、すなわち、可塑性パラメータPの値が閾値0より大きく、学習を行う学習モジュールが存在する場合、ステップS62において、可塑性パラメータ演算部17は、可塑性パラメータが0ではないモジュールの可塑性パラメータを演算する。この演算は、次の式に従って行われる。
式(3)におけるPi(t)は、i番目のモジュール51の可塑性パラメータを表し、ζは、予測誤差減少に伴う可塑性パラメータの減少度合いを決定するパラメータであり、Ethは、可塑性をなくす予測誤差の境界の基準を決定するパラメータである。すなわち、式(3)で表される可塑性パラメータPi(t)は、シグモイド関数となっており、図9に示されるように、ζはステップ状に変化する部分の曲線の傾きに対応しており、その値の大きい方が(図9Aに示される場合の方が)、小さい場合(図9Bに示される場合)より、傾きが小さくなる(水平に近くなる)。なお、図9において、横軸は予測誤差Eを表し、縦軸は可塑性パラメータPを表す。Ethは、ステップ状に変化する部分の変曲点(すなわち最大の傾きとなる点)の予測誤差の値を表しているので、その値が大きくなるほど、関数は図中右方向にシフトする。従って、Ethは、可塑性をなくす境界(後述するステップS64で可塑性パラメータPの値が強制的に0に設定される基準となる閾値Pmin)にどの程度近い位置にあるかを表す目安になる。
ステップS63において、可塑性パラメータ演算部17は、演算した可塑性パラメータが境界閾値以下かを判定する。すなわち、ステップS62で演算された可塑性パラメータPの値が、図9に示される境界閾値Pmin以下であるかが判定される。演算された可塑性パラメータPの値が予め設定されている境界閾値Pmin以下である場合、ステップS64において、可塑性パラメータ演算部17は、可塑性パラメータを0に設定する。演算された可塑性パラメータPの値が境界閾値Pminより大きい場合には、この処理はスキップされる。このように可塑性パラメータPの値が境界閾値Pmin以下になった場合には、可塑性パラメータPの値を強制的に0に設定することで、既に十分学習が行われたモジュール51について、いつまでも必要以上に学習が繰り返し行われることが防止され、迅速な処理が可能となる。
ステップS65において、可塑性パラメータ演算部17は可塑性パラメータを記憶する。すなわち、ステップS63で可塑性パラメータPの値が境界閾値Pminより大きいと判定された場合には、その演算された可塑性パラメータPの値がそのモジュール51の可塑性パラメータとして記憶され、ステップS64で0に設定された場合には、その値0がそのモジュール51の可塑性パラメータとして記憶される。
ステップS66において、可塑性パラメータ演算部17は、新しい可塑性パラメータの方が前の可塑性パラメータより小さいかを判定する。すなわち、ステップS62でいま演算された可塑性パラメータPの値が、前回の処理時にステップS65で記憶された可塑性パラメータPの値より小さいかが判定される。いま演算された可塑性パラメータPの値が、前回の処理時に記憶された可塑性パラメータPの値より小さい場合には、ステップS67において、可塑性パラメータ演算部17は、可塑性パラメータを新しい可塑性パラメータで更新する。すなわち、いまステップS62で演算された可塑性パラメータPの値が、そのモジュール51の可塑性パラメータPとされる。
一方、いま演算された可塑性パラメータPの値が、前回の処理時に記憶された可塑性パラメータPの値より大きい場合には、ステップS68において、可塑性パラメータ演算部17は、記憶している可塑性パラメータPをそのまま可塑性パラメータPとする。このように、ステップS66乃至S68の処理を行うことで、可塑性パラメータPの値は常により小さい値に設定される。すなわち、可塑性パラメータPの値が不可逆に小さい値に設定される。その結果、後述するように、学習は学習率yに基づいて行なわれるところ、この学習率yは後述する式(4)で表わされるように、可塑性パラメータPに正比例して決定されるのである程度行われた学習が元に戻ってしまうようなことが防止され、迅速な学習が可能となる。
ステップS61において、すべてのモジュール51の可塑性パラメータが0であると判定された場合には、学習モジュールは存在しないことになり、可塑性パラメータPをさらに演算する意味がない。そこで、この場合には、ステップS62乃至S68の処理は実行されない。
以上のようにして可塑性パラメータPの演算処理が行われた後、図5のステップS6において、生成モジュール選択部15は、生成モジュール内の勝者モジュールを選択する。すなわち、可塑性パラメータPの値が0である生成モジュール51のうち、ステップS4で演算された重み付けパラメータλの値が最も大きいモジュール51が(すなわち、予測誤差Eが最小のモジュール51が)、勝者生成モジュールとして選択される。この勝者生成モジュールを特定する情報は、新規学習条件判定部27に供給され、後述するステップS9,S12の判定処理に用いられるとともに、コピー部25に供給され、後述するステップS18の処理で用いられる。
ステップS7において、学習率演算部18は、学習モジュールのうちの勝者モジュールを選択する。すなわち、可塑性パラメータPの値が0ではない学習モジュール51のうち、ステップS4で演算された重み付けパラメータλの値が最も大きいモジュール51が(すなわち、予測誤差Eが最小のモジュール51が)、勝者学習モジュールとして選択される。この勝者学習モジュールを特定する情報は予測誤差追加閾値判定部26に供給され、後述するステップS14の判定処理に用いられる。
ステップS8において、新規学習条件判定部27は、可塑性パラメータ演算部17により演算された可塑性パラメータPに基づいて、可塑性パラメータPが0であるモジュールである学習モジュールはあるかを判定する。時系列予測演算部12に学習モジュールが存在する場合、ステップS9において、新規学習条件判定部27は勝者生成モジュールの予測誤差は新規学習条件閾値未満かを判定する。すなわち、新規学習条件判定部27は、生成モジュール選択部15からの勝者生成モジュール特定情報と、予測誤差演算部13から供給される予測誤差に基づいて、勝者生成モジュールの予測誤差Egen winが、予め設定されている新規学習条件閾値Elearn未満かを判定する。
新規学習条件判定部27から、勝者生成モジュールの予測誤差gen winが新規学習条件閾値Elearn未満であるとの判定結果を受けた場合、ステップS10において、可塑性消去閾値判定部20は、時系列予測演算部12内に、学習モジュール消去閾値以上の可塑性を有する学習モジュールはあるかを判定する。すなわち、時系列予測演算部12内において、可塑性パラメータ演算部17により演算された可塑性パラメータPの値が、予め設定されている学習モジュール消去閾値Pclear以上である学習モジュールが検索される。
可塑性パラメータPの値が、学習モジュール消去閾値Pclear以上である学習モジュールが存在すると可塑性消去閾値判定部20により判定された場合、ステップS11において消去部21は、その学習モジュールを消去する。すなわち、いま、勝者生成モジュールの予測誤差gen winが学習モジュール消去閾値Elearn未満であることが、新規学習条件判定部27からの出力により確認され、かつ、可塑性パラメータPの値が学習モジュール消去閾値Pclear以上であることが可塑性消去閾値判定部20からの出力により確認されたのであるから、その学習モジュール51は存在しなくても、他のモジュール51により十分な学習と予測が可能と考えられる。そこで、時系列予測演算部12内のその学習モジュール51は自動的に消去される。これにより、時系列予測演算部12内に、必要以上のモジュール51が存在することが防止され、無駄にメモリなどの資源が使用されることが抑制される。
ステップS11の処理の後、処理はステップS10に戻り、可塑性パラメータPの値が、学習モジュール消去閾値Pclear以上である学習モジュールが存在しないと判定されるまで、ステップS10の処理が繰り返される。ステップS10で、可塑性パラメータPの値が、学習モジュール消去閾値Pclear以上である学習モジュールが存在しないと判定された場合、処理はステップS12に進む。
ステップS8で学習モジュールが存在しないと判定された場合、並びに、ステップS9で、勝者生成モジュールの予測誤差Egen winが新規学習条件閾値Elearn以上であると判定された場合、学習モジュールを消去する必要はない。そこでこれらの場合にも、処理はステップS12に進む。
ステップS12において、新規学習条件判定部27は、勝者生成モジュールの予測誤差は新規学習条件閾値以上かを判定する。勝者生成モジュールの予測誤差Egen winが新規学習条件閾値Elearn以上である場合、ステップS13において、新規学習条件判定部27は可塑性パラメータ演算部17の出力する可塑性パラメータPに基づいて、学習モジュールはあるかを判定する。
ステップS12の処理は、ステップS9における判定処理と実質的に同様の処理である。またステップS13の処理は、ステップS8における判定処理と実質的に同様の処理である。ステップS8,S9の処理は、学習モジュールを消去する条件が充足されているかを判定するために行われたが、ステップS12,S13の判定は、学習モジュールを追加または学習する条件が充足されているかを判定するために行われる。
ステップS13で学習モジュールが存在すると判定された場合、ステップS14において、予測誤差追加閾値判定部26は、勝者生成モジュールの予測誤差はモジュール追加閾値以上かを判定する。すなわち、予測誤差追加閾値判定部26は、学習率演算部18の出力する勝者学習モジュールの特定情報に基づき、予測誤差演算部13が出力する予測誤差Eのうちの勝者学習モジュールの予測誤差Elearn winが、予め設定されているモジュール追加閾値Eadd以上かを判定する。
予測誤差追加閾値判定部26において勝者学習モジュールの予測誤差Elearn winがモジュール追加閾値Eadd以上であると判定された場合、ステップS15において、可塑性最大値演算部22は、全学習モジュールの中の可塑性最大値を求める。すなわち、可塑性パラメータ演算部17が出力する全モジュールの可塑性パラメータPのうちの最大値が、可塑性最大値Pmaxとして求められる。
ステップS16において、可塑性最大値追加閾値判定部23は、全学習モジュール中の可塑性最大値はモジュール追加閾値未満かを判定する。すなわち、可塑性最大値演算部22で演算された可塑性最大値Pmaxが、予め設定されているモジュール追加閾値Padd未満であるかが判定される。
可塑性最大値Pmaxがモジュール追加閾値Padd未満である場合、ステップS17において、追加部24は学習モジュールを追加する。すなわち、ステップS12で、新規学習条件判定部27の出力から勝者生成モジュールの予測誤差Egen winが新規学習条件閾値Elearn以上であることが確認され、ステップS14で、予測誤差追加閾値判定部26の出力から勝者学習モジュールの予測誤差Elearn winがモジュール追加閾値Eadd以上であることが確認され、さらにステップS16で、可塑性最大値追加閾値判定部23の出力から可塑性最大値Pmaxがモジュール追加閾値Padd未満であることが確認された場合、追加部24は、時系列予測演算部12に自動的に学習モジュールを追加する。
なお、学習モジュールの追加とは、具体的には、メモリの時系列予測演算部12を構成する領域に、新たなリカレントニューラルネットワークの演算を行う領域を形成することを意味する。逆にステップS11で行われる消去とは、既に形成されているリカレントニューラルネットワークの演算を行う領域を消去することを意味する。従って、メモリの領域の範囲内で、任意にモジュールは追加、消去することができる。
なお、ステップS12において、勝者生成モジュールの予測誤差Egen winが新規学習条件閾値Elearn以上であると判定されたにも拘わらず、ステップS13において、学習モジュールが存在しないと判定された場合には、直ちにステップS17の学習モジュール追加の処理が行われる。
ステップS17の処理の後、ステップS18において、コピー部25は、追加した学習モジュールに勝者生成モジュールの学習結果をコピーする。すなわち、コピー部25は、生成モジュール選択部15からの勝者生成モジュールの特定情報に基づいて、勝者生成モジュールを特定し、そこに記憶されている係数重みwをステップS17の処理で追加された学習モジュールにコピーする。その結果、コピーされたニューロン間の結合重みwを初期値として、後述するステップS20で学習が行われるので、係数重みwはより速く、所定の値に収束し、迅速な学習が可能となる。
このように、モジュール51を追加すると、時系列ベクトルに新たなパターンが追加された場合において、その追加されたパターンを学習し、予測することができる。また後述するように、ステップS20で学習率yに基づいて学習が行なわれるので、それまでのパターンを既に学習した生成モジュールのニューロン間の結合重みwを他のパターンを予測するための係数重みに変更することなく、従って、それまでのパターンを予測しつつ、加えて、新たなパターンを迅速に学習し、予測することが可能になる。
ステップS18の処理の後、処理はステップS19に進む。ステップS12において、勝者生成モジュールの予測誤差Egen winが新規学習条件閾値Elearn未満であると判定された場合、ステップS14において、勝者学習モジュールの予測誤差Elearn winがモジュール追加閾値Eadd未満であると判定された場合、並びにステップS16において、可塑性最大値Pmaxがモジュール追加閾値Padd以上であると判定された場合、学習モジュールを追加する必要がない。そこで、これらの場合においても、処理はステップS19に進む。
ステップS19において、学習率演算部18は全モジュールの学習率を演算する。具体的には次の式に基づいて学習率が演算される。
上記式においてηiは、i番目のモジュール51の学習率を表し、ηdefaultは予め設定されている学習率の基準値を表す。
ステップS20において、学習部19は時系列予測演算部12を制御し、学習率に基づく学習を実行する。すなわち、リカレントニューラルネットワーク81のニューロン間の結合重みwの修正量が学習率ηiに正比例して決定される。式(4)より明らかなように、学習率ηiは、重み付けパラメータλiと可塑性パラメータPiに正比例する。従って、リカレントニューラルネットワーク81は、重み付けパラメータλiが大きい程(すなわち、予測誤差Eiが小さい程)、また可塑性パラメータPiが大きい程、優先的に学習が行われる。可塑性パラメータPiが0の場合には、すなわち、そのモジュール51が生成モジュールである場合には、学習は禁止されることになる。従って、時系列ベクトルの中に新たなパターンが入力したとしても、既に所定のパターンを学習した生成モジュールのニューロン間の結合重みwが更新されることはない。
ステップS21において、生成部16は重み付けパラメータで予測ベクトルの線形和を演算する。すなわち、次の式に従って、i番目の乗算部61がi番目のモジュールが出力する予測ベクトルfi(t)に重み付けパラメータλiを乗算し、合成部62が各乗算部61により重み付けされた予測ベクトルλifi(t)を加算して、系全体の結合予測ベクトルF(t)が演算される。
ステップS22において、生成部16は演算された予測ベクトルを出力する。
ステップS23において、入力部11はユーザからの指示に基づいて、処理を終了するかを判定する。まだ処理の終了が指示されていない場合には処理はステップS1に戻り、それ以降の処理が繰り返される。終了が指示された場合、処理は終了される。
以上の処理をまとめると、表1に示すようになる。
すなわち、以上の処理により、勝者生成モジュールの予測誤差gen winが新規学習条件閾値Elearn未満である場合、可塑性パラメータPが学習モジュール消去閾値Pclear以上である学習モジュールが存在するときは、その学習モジュールは消去され、学習モジュール消去閾値Pclear未満である学習モジュールは消去されず、そのままとされる。
勝者生成モジュールの予測誤差gen winが新規学習条件閾値Elearn以上である場合、勝者学習モジュールの予測誤差Elearn winがモジュール追加閾値Eadd以上であるかが判定される。勝者学習モジュールの予測誤差Elearn winがモジュール追加閾値Eadd以上である場合、可塑性最大値Pmaxがモジュール追加閾値Padd未満であれば、学習モジュールが追加される。なお、勝者生成モジュールの予測誤差gen winが新規学習条件閾値Elearn以上である場合において、学習モジュールが存在しない場合にも、学習モジュールが追加される。勝者学習モジュールの予測誤差Elearn winがモジュール追加閾値Eadd以上であり、可塑性最大値Pmaxがモジュール追加閾値Padd以上である場合には既存の学習モジュールで学習が行われる。
勝者生成モジュールの予測誤差gen winが新規学習条件閾値Elearn以上であり、勝者学習モジュールの予測誤差Elearn winがモジュール追加閾値Eadd未満である場合には、可塑性最大値Pmaxがモジュール追加閾値Padd未満であれば既存の学習モジュールで学習が行われる。勝者学習モジュールの予測誤差Elearn winがモジュール追加閾値Eadd未満であり、かつ、可塑性最大値Pmaxがモジュール追加閾値Padd以上である状態は、理論的に存在しない。
以上のようにして、本実施の形態においては、図10に示されるように、時系列パターンが学習制御装置1に入力されると、各モジュールで予測ベクトルfの演算が行われる。そして、式(1)に基づいて予測誤差Eが演算され、その予測誤差Eに基づいて、式(2)に従って重み付けパラメータλが演算される。さらに予測ベクトルfは、式(5)に従って、重み付けパラメータλに基づいて重み付けされ、加算されて、統合予測ベクトルFが生成される。
新たな時系列パターンが入力されると、必要に応じて学習モジュール101が自動的に生成される。従って、学習器の規模(すなわちモジュールの数)に関するパラメータを設定しておく必要がなく、必要最小限の計算規模で学習予測を行うことができる。学習対象の時系列パターンの複雑さの程度に拘わらず、同じ構成のシステムを利用することができる。
学習モジュール101は式(4)で表される学習率ηに基づいて学習を行い、新たなパターンを学習する。生成モジュール102は式(3)で表される可塑性パラメータPが0とされているので、式(4)で表される学習率ηが0となり、学習を行わない。従って、リアルタイムに学習と予測処理を行う場合において、既に所定のパターンを学習済みの生成モジュール102のニューロン間の結合重みwが、新たな時系列パターンに反応して上書きされるようなことはない。ニューロン間の結合重みwが上書きされてしまうと、元のパターンを再び予測させるためには、その学習のための時系列パターンを保持してかなければならないが、本実施の形態では過去の学習のための時系列パターンを保持しておく必要はない。
また、リアルタイムに学習と予測処理を行う場合に、予測パターンが頻繁に変化したとしても、既に学習したパターンを確実に予測することができる。さらに、元のパターンと新たなパターンの両方を含む時系列パターンが入力された場合においても、新たなパターンは新たに追加された学習モジュール101により学習される。このとき生成モジュール102は学習を行わないから、システム内の全てのモジュールが学習を行う場合に較べて、学習を行うモジュールの数がそれだけ少なくなり、迅速かつ、確実な学習が可能となる。
例えば、図10の実施の形態の場合、3個の生成モジュール102が存在するが、それぞれに学習されていない時系列パターンが入力された場合、その新たなパターンを学習するために、新たな学習モジュール101が追加される。そして新たなパターンは追加された学習モジュール101により学習され、既に他のパターンを学習済みの生成モジュール102のニューロン間の結合重みwは新たなパターンのために更新されることはない。その結果、生成パターン102が既に記憶したパターンを予測できなくなるような状態になることはない。
さらにこの実施の形態においては、学習プロセスが予測、生成プロセスと並行して実行されるので、学習モードと認識生成モードの区別がなく、時々刻々と変化する時系列データを入力して、オンラインで処理を行うことが可能となる。その結果、予測ベクトルを用いて、ロボットなど、リアルタイム性のある制御を実現することができる。
この学習制御装置1はロボットに応用することができる。図11は学習制御装置1が応用されたロボット201の外観の構成を表している。このロボット210は、その底面に、図12に示されるように、8個のセンサ202−1乃至202−8を有している。これらのセンサ202−1乃至202−8は、距離センサと光センサを内蔵する。距離センサは割り当てられた方向に存在する物体までの距離を検出し、光センサは割り当てられた方向から発生される光を検出する。
またロボット201は、左右に、車輪203L,203Rを有し、図示せぬモータにより駆動され、任意の方向に移動することができる。
図13は、ロボット201を自律的に移動させる実験を行った環境を表している。壁301により略T字状に通路302が形成されており、通路302内の所定の位置に光を発生するライト303が配置されている。
発明者等は、図14に示されるように、ロボット201が、壁301に衝突しないようにして通路302を移動し、ライト303を見つけて元の位置に戻ってくる動作を繰り返すように学習制御する実験を行った。すなわち、ロボット201は、スタートの位置P1から角の位置P2に移動し、そこを右折して、ライト303の方向に移動し、ライト303の後方の位置P3を左にUターンして戻り、角の位置P4(位置P2と同じ位置)を左折して、スタートの位置P5(位置P1と同じ位置)に戻り、そこを右にUターンして角の位置P6(位置P2と同じ位置)に進むといった動作を行う。
学習のために必要な教師時系列データは、人間がジョイスティックなどの入力デバイスを用いてロボット201のモータコマンドを入力することで作成することができる。あるいは、センサ入力に対してリアクティブにモータコマンドを出力するような基本的な反射行動(例えば、壁301を避ける。光に近づくなどの行動)を作り、自律的に環境中を活動させることで作成することもできる。
ロボット201に基本的な反射行動を埋め込んで作成したセンサパターンとモータコマンドパターンが、図15に示されている。図15において、横軸は時間を、縦軸は、各センサの出力を、それぞれ表わしている。ロボット201が位置P1乃至位置P6を移動するとき、8個のセンサ202−1乃至202−8の距離センサの出力は、図15Aの系列1乃至系列8の時系列データに示されるように変化し、8個のセンサ202−1乃至202−8の光センサの出力は、図15Bの系列1乃至系列8の時系列データに示されるように変化する。図15Cの系列1と系列2は、車輪203Rと車輪203Lを回転するモータを駆動するモータコマンドの時系列データを表している。
距離センサの出力は、その値が小さいほど壁301までの距離が短いことを表している。同様に、光センサの出力は、その値が小さいほどライト303までの距離が短いことを表している。モータコマンドは、その値が大きいほど回転が速いことを意味する。従って、50秒乃至100秒の区間の位置P2では、系列2(左の車輪203L)の方が、系列1(右の車輪203R)より大きいので、ロボット201が右折していることが判る。175秒乃至200秒の区間の位置P3では、系列1(右の車輪203R)の方が、系列2(左の車輪203L)より大きいので、ロボット201が左にUターンしていることが判る。
260秒乃至300秒の区間の位置P4では、系列1(右の車輪203R)の方が、系列2(左の車輪203L)より大きいので、ロボット201が左折していることが判る。380秒乃至410秒の区間の位置P5では、系列2(左の車輪203L)の方が、系列1(右の車輪203R)より大きいので、ロボット201が右にUターンしていることが判る。460秒乃至500秒の区間の位置P6では、系列2(左の車輪203L)の方が、系列1(右の車輪203R)より大きいので、ロボット201が右折していることが判る。その他の区間では、系列1(右の車輪203R)と系列2(左の車輪203L)の出力がほぼ等しいので、ロボット201がほぼ直進していることが判る。
以上においては、時系列予測演算部12のモジュール51をリカレントニューラルネットワーク81で構成するようにしたが、入力ベクトルxと出力ベクトルyとの写像関係y=f(x)を、n個の入出力対応関係である教師データ(xi,yi)(i=1,2,…,n)に基づいて学習する学習器であれば何でもよい。例えば、ルックアップテーブルや関数近似器を用いることができる。
関数近似には、最小二乗法や直交多項式を利用したルジャンドル近似、チェビシェフ近似、エルミート近似、区間多項式を利用したスプライン近似などを用いることができる。
このうちの最小二乗法は、次のようなものである。すなわち、いま離散的なデータを(xi,yi)(i=1,2,…,n)とする。それに対して近似間数f(x)を、次式で示されるように、m個の独立した関数φk(x)(k=1,2,…,m)で表すことにする。
このとき各離散データを近似関数との誤差の2乗したものの総和をSとすると、Sは次式で表される。
最小二乗法では、この総和Sが最小になるように次の式(8)に基づいて、各係数akが決定される。
∂S/∂ak=0 (8)
k=1,2,…,m
∂S/∂ak=0 (8)
k=1,2,…,m
以上の議論を多項式近似の場合に適用すると、近似関数は、次のようになる。
f(x)=a1xm+a2xm-1+ … +ajxm-j+1+ … +amx+am+1 (9)
f(x)=a1xm+a2xm-1+ … +ajxm-j+1+ … +amx+am+1 (9)
式(8)によりakに関する以下の連立方程式が導出される。
(Aij)(ai)=(Fij) (10)
i=i,i+1,…,m+1
j=1,2,…,m+1
(Aij)(ai)=(Fij) (10)
i=i,i+1,…,m+1
j=1,2,…,m+1
式(10)のマトリックスの係数Aij,Fijは、次式で表される。
nは離散データ(教師データ)の総数を表す。
以上のようにして、最小二乗法により図16に示されるような関数近似を実現することができる。
一方、スプライン近似は、図17に示されるように、離散データを区間多項式で近似する方法であり、各データの間を異なる関数で近似する。接点で2次までの微分値が一致する関数を例にあげる。xiとxi+1の近似関数を次のように設定する。
y(x)=yi+a1i(x−xi)+a2i(x−xi)2+a3i(x−xi)3 (13)
y(x)=yi+a1i(x−xi)+a2i(x−xi)2+a3i(x−xi)3 (13)
このとき次式が得られる。
dy/dx=a1i+2a2i(x−xi)2+3a3i(x−xi)2 (14)
d2y/dx2=2a2i+6a3i(x−xi) (15)
dy/dx=a1i+2a2i(x−xi)2+3a3i(x−xi)2 (14)
d2y/dx2=2a2i+6a3i(x−xi) (15)
x=xi+1での接続条件により、次式が得られる。
yi+a1ihi+a2ihi 2+a3ihi 3=yi+1 (16)
a1ihi+2a2ihi+3a3ihi 2=a1(i+1) (17)
2a2ihi+6a3ihi 2=2a2(i+1) (18)
ただし、hi=xi+1−xiである。
yi+a1ihi+a2ihi 2+a3ihi 3=yi+1 (16)
a1ihi+2a2ihi+3a3ihi 2=a1(i+1) (17)
2a2ihi+6a3ihi 2=2a2(i+1) (18)
ただし、hi=xi+1−xiである。
その結果、a1i,a2i,a3i(i=1,2,…,n−1)に関する連立方程式が導かれるので、これを解き、係数akを求めることができる。
以上のようにして、スプライン近似により図18に示されるような関数近似を実現することができる。
時系列予測計算が応用される対象は、ロボットのセンサパターンやモータパターンの時系列予測学習に限られず、過去起きた事象に基づく記憶から、これから起こる未来の事象を予測し、その予測に基づいて実行すべきコマンドを決定するものであれば、何でもよい。
例えば、ユーザの行動を先読みしてコマンドを実行してくれるようなユーザインターフェースへの応用が考えられる。ユーザの入力に基づいてコマンドを決定するような機器としては、パーソナルコンピュータのOS(Operating System)におけるGUI(Graphical User Interface)や、テレビジョン受像機の操作などが考えられる。
GUIの例としては、例えば図19に示されるように、モニタ401、コンピュータ本体402、マウス403、およびキーボード404からなるパーソナルコンピュータにおいて、通常は、マウス403の操作を通じたカーソル405によってアイコンを選択してアプリケーションを実行したり、ウェブブラウズを行ったりするが、モニタ401上のマウスカーソル405の軌跡406を入力とし、アプリケーションを実行したり、ウェブページを送ったり、戻ったりする操作をコマンドとすると、ユーザの操作を先読みしてコマンドを実行してくれるユーザインターフェースを実現できる。
使い始めのうちは、あるカーソル405の軌跡406と、その後に実行すべきコマンドとの対応が学習されていないので、何回かユーザが通常のGUIを使用する方法で操作を行うが、何度か同じ操作をしていくうちに、その操作に関する記憶が形成され、予測がうまくできるようになる。その結果、最後まで操作を行わなくとも、それまでの記憶から予測に基づいてコマンドを実行することができるようになる。
一方、テレビジョン受像機のインターフェースに関しては、例えば、図20に示されるように、テレビジョン受像機501の親画面511と子画面512の複数画面表示で番組を鑑賞している際のユーザの視線の移り変わりを検出し、それによって、親画面表示と子画面表示の切り替えを予測に基づいて行なう応用が考えられる。この場合も、ユーザは、始めのうちは、ある一定の視線の動きをした後に、リモートコントローラ502などを用いて明示的に画面を切り替える操作を行うのだが、何度か操作をおこなううちに、視線の動きと実際に実行すべきコマンドとの対応が学習され、ユーザは視線を動かすだけで意図した画面切り替え等のコマンドを実行できるようになる。
本実施の形態は、オンライン追加学習の機能を有するので、以上述べたようなアプリケーションでは、ユーザが使い込むうちにユーザの癖にあわせた予測機能が向上する。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア、または、プログラムが一時的もしくは永続的に格納されるROMやハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 学習制御装置,11 入力部, 12 時系列予測演算部, 13 予測誤差演算部, 14 重み付けパラメータ演算部, 15 生成モジュール選択部, 16 生成部, 17 可塑性パラメータ演算部, 18 学習率演算部, 20 可塑性消去閾値判定部, 21 消去部, 22 可塑性最大値演算部, 23 可塑性最大値追加閾値判定部, 24 追加部, 25 コピー部, 26 予測誤差追加閾値判定部, 27 新規学習条件判定部
Claims (10)
- 時系列ベクトルを入力する入力手段と、
入力された前記時系列ベクトルから予測を行うモジュールを有する予測手段と、
前記モジュールの予測誤差を演算する予測誤差演算手段と、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算する可塑性パラメータ演算手段と、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する学習手段と
を備える学習制御装置。 - 前記生成モジュールの最小の前記予測誤差が第1の予測誤差閾値以上である場合において、前記学習モジュールの最小の前記予測誤差が第2の予測誤差閾値以上であり、前記学習モジュールの最大の前記可塑性パラメータが追加閾値より小さい場合、新たな前記学習モジュールを追加する追加手段を
さらに備える請求項1に記載の学習制御装置。 - 前記生成モジュールの最小の前記予測誤差が前記第1の予測誤差閾値より小さく、前記学習モジュールの前記可塑性パラメータが、消去閾値以上である場合、前記モジュールを消去する消去手段を
さらに備える請求項2に記載の学習制御装置。 - 前記学習手段は、前記学習モジュールの最小の前記予測誤差が前記第2の予測誤差閾値以上であり、前記学習モジュールの最大の前記可塑性パラメータが前記追加閾値以上である場合、並びに、前記学習モジュールの最小の前記予測誤差が前記第2の予測誤差閾値より小さく、前記学習モジュールの最大の前記可塑性パラメータが前記追加閾値より小さい場合、前記学習モジュールに学習を行う
請求項2に記載の学習制御装置。 - 追加された前記学習モジュールに、前記予測誤差が最小の前記生成モジュールの学習結果をコピーするコピー手段を
さらに備える請求項2に記載の学習制御装置。 - 前記可塑性パラメータ演算手段は、前記可塑性パラメータを不可逆に更新する
請求項1に記載の学習制御装置。 - 前記可塑性パラメータ演算手段は、前記可塑性パラメータを、閾値以下である場合、0に設定する
請求項1に記載の学習制御装置。 - 前記モジュールは、リカレントニューラルネットワークである
請求項1に記載の学習制御装置。 - 時系列ベクトルを学習する学習制御装置の学習制御方法において、
前記時系列ベクトルを入力し、
入力された前記時系列ベクトルからモジュールにより予測を行い、
前記モジュールの予測誤差を演算し、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する
学習制御方法。 - 時系列ベクトルを学習するプログラムであって、
前記時系列ベクトルを入力し、
入力された前記時系列ベクトルからモジュールにより予測を行い、
前記モジュールの予測誤差を演算し、
前記モジュールの学習の可塑性を表す可塑性パラメータを演算し、
前記モジュールのうち、前記可塑性パラメータが学習モジュールであることを表わす前記モジュールを学習させ、前記可塑性パラメータが生成モジュールであることを表わす前記モジュールの学習を禁止する
処理をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007133759A JP2008287626A (ja) | 2007-05-21 | 2007-05-21 | 学習制御装置および方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007133759A JP2008287626A (ja) | 2007-05-21 | 2007-05-21 | 学習制御装置および方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008287626A true JP2008287626A (ja) | 2008-11-27 |
Family
ID=40147270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007133759A Withdrawn JP2008287626A (ja) | 2007-05-21 | 2007-05-21 | 学習制御装置および方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008287626A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019224905A1 (ja) * | 2018-05-22 | 2019-11-28 | 日産自動車株式会社 | 車載機器の制御装置及び制御方法 |
JP2020177264A (ja) * | 2019-04-15 | 2020-10-29 | ファナック株式会社 | 機械学習装置、画面予測装置、及び制御装置 |
CN113580914A (zh) * | 2020-05-01 | 2021-11-02 | 丰田自动车株式会社 | 油状态推定装置、车辆用控制装置及系统、及数据分析装置 |
JP2022522807A (ja) * | 2019-03-06 | 2022-04-20 | アプライド ブレイン リサーチ インコーポレイテッド | 回帰型ニューラルネットワークのルジャンドルメモリユニット |
-
2007
- 2007-05-21 JP JP2007133759A patent/JP2008287626A/ja not_active Withdrawn
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019224905A1 (ja) * | 2018-05-22 | 2019-11-28 | 日産自動車株式会社 | 車載機器の制御装置及び制御方法 |
CN112203903A (zh) * | 2018-05-22 | 2021-01-08 | 日产自动车株式会社 | 车载设备的控制装置和控制方法 |
JPWO2019224905A1 (ja) * | 2018-05-22 | 2021-07-01 | 日産自動車株式会社 | 車載機器の制御装置及び制御方法 |
JP7111156B2 (ja) | 2018-05-22 | 2022-08-02 | 日産自動車株式会社 | 車載機器の制御装置及び制御方法 |
JP2022522807A (ja) * | 2019-03-06 | 2022-04-20 | アプライド ブレイン リサーチ インコーポレイテッド | 回帰型ニューラルネットワークのルジャンドルメモリユニット |
JP7284825B2 (ja) | 2019-03-06 | 2023-05-31 | アプライド ブレイン リサーチ インコーポレイテッド | 回帰型ニューラルネットワークのルジャンドルメモリユニット |
JP2020177264A (ja) * | 2019-04-15 | 2020-10-29 | ファナック株式会社 | 機械学習装置、画面予測装置、及び制御装置 |
CN113580914A (zh) * | 2020-05-01 | 2021-11-02 | 丰田自动车株式会社 | 油状态推定装置、车辆用控制装置及系统、及数据分析装置 |
JP2021175912A (ja) * | 2020-05-01 | 2021-11-04 | トヨタ自動車株式会社 | オイル状態推定装置、車両用制御装置、車両用制御システム、およびデータ解析装置 |
US11674946B2 (en) | 2020-05-01 | 2023-06-13 | Toyota Jidosha Kabushiki Kaisha | Oil condition estimation apparatus, vehicle control apparatus, vehicle control system, and data analysis apparatus |
JP7310699B2 (ja) | 2020-05-01 | 2023-07-19 | トヨタ自動車株式会社 | オイル状態推定装置、車両用制御装置、車両用制御システム、およびデータ解析装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111587408B (zh) | 机器人导航和对象跟踪 | |
JP6869562B2 (ja) | トラッキングネットワークを含むcnnを使用して物体をトラッキングする方法、及びそれを利用した装置{method for tracking object by using convolutional neural network including tracking network and computing device using the same} | |
JP7258965B2 (ja) | ニューラルネットワークを使用する強化学習のための行動選択 | |
WO2018120739A1 (zh) | 路径规划方法、装置及机器人 | |
US8326780B2 (en) | Smoothed sarsa: reinforcement learning for robot delivery tasks | |
EP3596661A1 (en) | Data efficient imitation of diverse behaviors | |
JP2019534517A (ja) | 補助タスクを伴う強化学習 | |
JP6550678B2 (ja) | 行動決定装置、未来予測モデル学習装置、ネットワーク学習装置、方法、及びプログラム | |
US11714996B2 (en) | Learning motor primitives and training a machine learning system using a linear-feedback-stabilized policy | |
JP5440840B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
CN109844771A (zh) | 用于机器人代理的控制策略 | |
JP2010287028A (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
US11823480B2 (en) | Method for training image classification model and apparatus for executing the same | |
CN110447041A (zh) | 噪声神经网络层 | |
JP2008287626A (ja) | 学習制御装置および方法、並びにプログラム | |
KR20190045038A (ko) | 음성 인식 방법 및 장치 | |
US20220366246A1 (en) | Controlling agents using causally correct environment models | |
Chen et al. | Learning active camera for multi-object navigation | |
US20220343157A1 (en) | Robust reinforcement learning for continuous control with model misspecification | |
KR101450586B1 (ko) | 동작 인식 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
CN115280321A (zh) | 使用自举潜在的预测来学习针对代理控制的环境表示 | |
Lai et al. | User intent estimation during robot learning using physical human robot interaction primitives | |
Baldassarre | Forward and bidirectional planning based on reinforcement learning and neural networks in a simulated robot | |
CN112215363A (zh) | 用于为机器人创建策略的方法、设备和计算机程序 | |
JP2009140454A (ja) | データ処理装置、データ処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100803 |