ニューラルネットワークの学習装置、学習方法およびそれを用いたMPPTコンバータの制御装置
【課題】組み込みシステムに実装し得るニューラルネットワークの学習装置を提供する。
【解決手段】S103によって、入力の追記学習によりニューロンユニットの所要数がGRNNに実装可能なユニット数の上限値以下であるか上限値を超えているかを判断し、所要数が上限値以下であると判断された場合(S103;Yes)、GRNNに新たなニューロンユニットをS105により追加する。これに対し、所要数が上限値を超えていると判断された場合(S103;No)、S107によりGRNNを構成する複数のニューロンユニットから冗長ユニットを選択し、S121により、冗長ユニットを削除した後、GRNNに新たなニューロンユニットを追加して冗長ユニットと置き換える。
【解決手段】S103によって、入力の追記学習によりニューロンユニットの所要数がGRNNに実装可能なユニット数の上限値以下であるか上限値を超えているかを判断し、所要数が上限値以下であると判断された場合(S103;Yes)、GRNNに新たなニューロンユニットをS105により追加する。これに対し、所要数が上限値を超えていると判断された場合(S103;No)、S107によりGRNNを構成する複数のニューロンユニットから冗長ユニットを選択し、S121により、冗長ユニットを削除した後、GRNNに新たなニューロンユニットを追加して冗長ユニットと置き換える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般回帰ニューラルネットワーク(GRNN;General Regression Neural Network)の追記学習をするニューラルネットワークの学習装置、学習方法およびそれを用いたMPPTコンバータの制御装置に関するものである。
【背景技術】
【0002】
ニューラルネットワークは、下記、特許文献1に開示される「心磁図の分類のための機械学習の使用」のように、パターン認識やデータ解析等の様々な技術分野において用いられており、これらは、通常、ワークステーションやパーソナルコンピュータのアプリケーションとして実装されることが多い。
【0003】
近年では、特定の機能を実現するために家電製品や機械に組み込まれる組み込みシステムにおいても、ニューラルネットワークが利用されつつあるが、製品コストを抑える市場ニーズに起因してハードウェアリソースが最小限に制限される傾向にあることから、ワークステーション等のアプリケーションとして実装される場合に比べると、組み込みシステムにおいてはニューラルネットワークの利用はあまり進んでない。
【0004】
特に、ハードウェアリソースに汎用のマイクロコンピュータを用いる場合には、メモリ上にニューラルネットワークを構築することになるから、中間層を構成するニューロンユニット(中間ユニット)の数がメモリサイズによって制限されてしまう。そのため、ハードウェアリソースを有効利用する観点で、中間ユニットの数を最小限に抑える方法が提案されており、例えば、下記の非特許文献1に開示される「Limited Resource Allocation Networks」の技術がある(以下、この技術のことを「LRAN」という)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2007−527266号公報
【非特許文献】
【0006】
【非特許文献1】Christophe Molina,Mahesan Niranjan."Pruning with Replacement on Limited Resource Allocation Networks by F-Projections", Neural Computation, vol.8, No.4, pp.855-868, May,1996.
【発明の概要】
【発明が解決しようとする課題】
【0007】
このLRANは、放射基底関数(RBF;Radial Basis Function)の中間ユニット数を所定数以上にならないようにする学習法で、RBFNN(Radial Basis Function Neural Networks)を使用するものであるが、この学習方法によると、同一かつ独立な分布をとるi.i.d.(independent and identically distributed)データが必要になる。
【0008】
ところが、i.i.d.データは理論的には生成可能であっても、現実には生成されるデータ間に少なからず相関関係が存在するため、理想的なi.i.d.データを生成することは極めて難しい。このため、LRANによる学習法を具体的な装置に適用するには技術的な課題が潜在しており、組み込みシステムへの実装を困難にしているという問題がある。
【0009】
例えば、日射状態が急激に変動し得る環境に設置される太陽光発電システムにおいては効率良く電力を得るために、最大電力点追従(MPPT;Maximum Power Point Trucker)の制御にニューラルネットワークを用いる検討が行われている。これを行うには、本来、個々の太陽電池パネルの経年変化を含めた特性を運用途中に学習することが望ましいが、上述したようなハードウェアリソースが制限される等の理由から、学習をさせない代わりに予め標準的なパラメータを埋め込んで使用する場合が多い。このため、最大電力点の追従制御が十分になされておらず、日照状態の急変に対応し難いという問題がある。
【0010】
本発明は、上述した課題を解決するためになされたもので、組み込みシステムに実装し得るニューラルネットワークの学習装置を提供することを目的とする。
また、本発明の別の目的は、日射状態が急激に変動し得る環境に設置される太陽光発電システムであっても出力電力の最大電力点追従制御を十分に行い得る太陽電池用のMPPTコンバータの制御装置を提供することである。
【課題を解決するための手段】
【0011】
上記目的を達成するため、特許請求の範囲に記載された請求項1の技術的手段を採用する。この手段によると、一般回帰ニューラルネットワーク(GRNN;General Regression Neural Network)の追記学習を行うニューラルネットワークの学習装置であって、判断手段、選択手段、追加手段および置換手段を備える(以下、一般回帰ニューラルネットワークのことを「GRNN」という)。
【0012】
即ち、判断手段によって、入力の追記学習によりニューロンユニットの所要数がGRNNに実装可能なユニット数の上限値以下であるか上限値を超えているかを判断し、追加手段によって、判断手段により所要数が上限値以下であると判断された場合、GRNNに新たなニューロンユニットを追加する。これに対し、判断手段により所要数が上限値を超えていると判断された場合、選択手段によってGRNNを構成する複数のニューロンユニットから所定の特定ユニットを選択し、置換手段よって、選択手段により選択された特定ユニットを削除した後、GRNNに新たなニューロンユニットを追加して特定ユニットと置き換える。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。なお「入力」とは、新しく提示されるサンプルのことである(以下同じ)。
【0013】
また、特許請求の範囲に記載された請求項2の技術的手段を採用する。この手段によると、選択手段は、追記学習に適応する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択し、置換手段は、判断手段により所要数が上限値を超えていると判断された場合、当該選択手段により選択された特定ユニットを削除した後、GRNNに新たなニューロンユニットを追加して特定ユニットと置き換える。これにより、置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットであるから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを低くすることができる。
【0014】
また、特許請求の範囲に記載された請求項3の技術的手段を採用する。この手段によると、選択手段は、追記学習に適応する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを選択するとともにこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットを選択し、置換手段は、判断手段により所要数が上限値を超えていると判断された場合には、当該選択手段により選択された代替ユニットに冗長ユニットの機能を肩代わりさせ、かつ冗長ユニットを削除した後、GRNNに新たなニューロンユニットを追加して冗長ユニットと置き換える。置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットで、しかもこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットにその機能を肩代わりさせることから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを一層低くすることができる。
【0015】
また、特許請求の範囲に記載された請求項4の技術的手段を採用する。この手段によると、判断手段によって、入力の追記学習によりニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか上限値を超えているを判断し、追加手段によって、判断手段により所要数が上限値以下であると判断された場合、GRNNに新たなニューロンユニットを追加する。これに対し、判断手段により所要数が上限値を超えていると判断された場合には、結合荷重更新手段によって、GRNNを構成する複数のニューロンユニットのうち入力に適応する各ニューロンユニットの出力の結合荷重を更新する。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、ニューロンユニットの削除を行うことなく、当該追記学習を行うことができる。したがって、ニューロンユニットを単に削除してそのぶん新たなユニットを追加する場合に比べて、ユニットの削除により失われる記憶がないためリスクを非常に低くすることができる。
【0016】
また、特許請求の範囲に記載された請求項5の技術的手段を採用する。この手段によると、GRNNの追記学習を行うニューラルネットワークの学習装置であって、判断手段、選択手段、追加手段、第1の手段、第2の手段、第3の手段、第4の手段、誤差予測手段および置換/更新手段を備える。
【0017】
即ち、判断手段によって、入力の追記学習によりニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか上限値を超えているかを判断し、追加手段によって、判断手段により所要数が上限値以下であると判断された場合、GRNNに新たなニューロンユニットを追加する。これに対し、選択手段によって、判断手段により所要数が上限値を超えていると判断された場合、追記学習に適応するGRNNを構成する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択し、誤差予測手段によって、第1の手段による置き換えによって生じる過去の記憶の劣化による第1の予測誤差、第2の手段による過去の記憶の劣化による第2の予測誤差、第3の手段による過去の記憶の劣化による第3の予測誤差、および第4の手段による何も学習をしないことによる入力に対する第4の予測誤差、をそれぞれ求める(誤差予測手段によって、第1の手段による特定ユニットの、その類似ユニットによる肩代わりを行ったうえでの置き換えをすることによる追記学習をすると仮定した場合における第1の予測誤差、第2手段による特定ユニットを他のユニットに肩代わりさせずに置き換えを行うことによる追記学習をすると仮定した場合における第2の予測誤差、第3の手段による既存ユニットのパラメータを更新することにより追記学習をすると仮定した場合における第3の予測誤差、および第4の手段によってまったく学習をしないと仮定したときの(新しいサンプルの)入力に対する第4の予測誤差、をそれぞれ求める。)。
つまり、誤差予測手段は、追記学習前に、追記学習後に生ずる記憶の劣化を予測するもので、追記学習によって新しい記憶(記憶B)が加わるという状況において、現時点(追記学習前)に持っている記憶Aがどれほど劣化するかを予測することによって予測誤差(第1の予測誤差、第2の予測誤差および第3の予測誤差)を算出する。一方、第4の予測誤差については、新しい記憶Bを加えないことによる予測誤差で、この記憶Bが無いことによる予測誤差である(例えば、単純に記憶Bに対応する入力(新しい学習サンプル)に対する誤差×重要度)。
そして、置換/更新手段によって、第1の手段、第2の手段、前記第3の手段および前記第4の手段の中から、誤差予測手段により求められた第1〜第4の各予測誤差のうち最も小さい予測誤差に対応する手段を選択して、ニューロンユニットの置き換えまたは結合荷重の更新を行う(第4の手段を選択した場合には何もしない)。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、第1の手段、第2の手段、第3の手段および前記第4の手段による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため(第4の手段を選択した場合には何もしないため)、それによりリスクを極めて低くすることができる。
なお、ユニットの置き換え等に際しては、第1の手段、第2の手段および第3の手段による置き換え等に伴う第1〜第3の予測誤差を求めたうえで、それが最も小さいものと、第4の手段、即ち学習をしないことによる第4の予測誤差とを比較して、より小さい方を選択するようにしても良い。これによって第4の手段を選ばない場合でも、予測誤差の最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。
【0018】
また、特許請求の範囲に記載された請求項6の技術的手段を採用する。この手段によると、GRNNの追記学習を行うニューラルネットワークの学習方法であって、判断ステップ、選択ステップ、追加ステップおよび置換ステップを備える。
【0019】
即ち、判断ステップによって、入力の追記学習によりニューロンユニットの所要数がGRNNに実装可能なユニット数の上限値以下であるか上限値を超えているかを判断し、追加ステップによって、判断ステップにより所要数が上限値以下であると判断された場合、GRNNに新たなニューロンユニットを追加する。これに対し、判断ステップにより所要数が上限値を超えていると判断された場合、選択ステップによってGRNNを構成する複数のニューロンユニットから所定の特定ユニットを選択し、置換ステップよって、選択ステップにより選択された特定ユニットを削除した後、GRNNに新たなニューロンユニットを追加して特定ユニットと置き換える。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。
【0020】
また、特許請求の範囲に記載された請求項7の技術的手段を採用する。この手段によると、太陽電池の出力電圧、太陽電池の出力電流、太陽電池の温度および太陽電池の照度を少なくとも入力情報とし、MPPTコンバータの出力電圧を制御する制御電圧を出力情報としてMPPTコンバータに出力するGRNNと、逐次入力される入力情報に基づいてGRNNの追記学習を行う請求項1〜5のいずれか一項に記載のニューラルネットワークの学習装置と、を備える。これにより、請求項1〜5のいずれか一項に記載のニューラルネットワークの学習装置による作用・効果の恩恵を受けることができる。即ち、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができるので、ハードウェアリソースの制限等により、これまで十分にできなかった太陽電池パネル固有の特性を追記学習することができる。
【発明の効果】
【0021】
請求項1の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。したがって、ハードウェアリソースが最小限に制限されがちな組み込みシステムであっても、ニューラルネットワークを実装することが可能となる。
【0022】
請求項2の発明では、置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットであるから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを低くすることができる。したがって、これまで学習した記憶による影響を最小限に抑えることが可能となる。
【0023】
請求項3の発明では、置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットで、しかもこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットにその機能を肩代わりさせることから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを一層低くすることができる。したがって、これまで学習した記憶による影響をより最小限に抑えることが可能となる。
【0024】
請求項4の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、ニューロンユニットの削除を行うことなく、当該追記学習を行うことができる。
したがって、ニューロンユニットを単に削除してそのぶん新たなユニットを追加する場合に比べて、ユニットの削除により失われる記憶が少ないためリスクを非常に低くすることができる。よって、これまで学習した記憶による影響をより一層最小限に抑えることが可能となる。
【0025】
請求項5の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、第1の手段、第2の手段、第3の手段および前記第4の手段による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため(第4の手段を選択した場合には何もしないため)、それによりリスクを極めて低くすることができる。したがって、これまで学習した記憶による影響をより非常に最小限に抑えることが可能となる。また、新たな入力による学習をすることで、それまでに得た過去の記憶に大きな影響、例えば著しいダメージを与え得る場合には、第4の手段を選択することにより何も行わないので、過去の記憶に与え得るダメージから逃れることができる。
なお、ユニットの置き換え等に際しては、第1の手段、第2の手段および第3の手段による置き換え等に伴う第1〜第3の予測誤差を求めたうえで、それが最も小さいものと、第4の手段、即ち学習をしないことによる第4の予測誤差とを比較して、より小さい方を選択するようにしても良い。これによって第4の手段を選ばない場合でも、予測誤差の最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。したがって、これまで学習した記憶による影響をより非常に最小限に抑えることが可能となる。
【0026】
請求項6の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。したがって、ハードウェアリソースが最小限に制限されがちな組み込みシステムであっても、ニューラルネットワークを実装することが可能となる。
【0027】
請求項7の発明では、請求項1〜5のいずれか一項に記載のニューラルネットワークの学習装置による作用・効果の恩恵を受けることができる。即ち、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができるので、ハードウェアリソースの制限等により、これまで十分にできなかった太陽電池パネル固有の特性を追記学習することができる。したがって、日射状態が急激に変動し得る環境に設置される太陽光発電システムであっても出力電力の最大電力点追従制御を十分に行うことが可能となる。
【図面の簡単な説明】
【0028】
【図1】本発明のニューラルネットワークの学習装置を適用した組み込みシステムの構成例を示すブロック図である。
【図2】図1に示すGRNNの構成例を示す説明図である。
【図3】本実施形態に係る学習処理の流れを示すフローチャートである。
【図4】検証実験による結果を示す説明図で、図4(A)は学習サンプルを「cpu-perfomance」に設定したもの、図4(B)は学習サンプルを「Auto-mpg」に設定したもの、である。
【図5】検証実験による結果を示す説明図で、図5(A)は学習サンプルを「servo」に設定したもの、図5(B)は学習サンプルを「housing」に設定したもの、である。
【図6】本発明のMPPTコンバータの制御装置を適用した太陽光発電システムの構成例を示すブロック図である。
【図7】図6に示す太陽光発電システムの回路構成例を示す回路図である。
【発明を実施するための形態】
【0029】
以下、本発明のニューラルネットワークの学習装置の実施形態について図を参照して説明する。まず、本発明のニューラルネットワークの学習装置を組み込みシステムに適用した実施形態を図1〜図5に基づいて説明する。なお、図1には、組み込みシステム10の構成例を示すブロック図、図2には、GRNN30の構成例を示す説明図、図3には、学習処理の流れを示すフローチャート、がそれぞれ図示されている。
【0030】
図1に示すように、組み込みシステム10のハードウェアは、制御装置20と図略の入出力装置から構成されている。制御装置20は、例えば、汎用のマイクロコンピュータ(CPU)とROM、RAM、EEPROM等の半導体メモリ装置とから構成されており、入力装置から入力される情報に対して所定の情報処理を行いその結果を出力装置に出力する機能を有する情報処理装置である。
【0031】
本実施形態に係る制御装置20では、後述するように、RAMによる所定のメモリ領域上にGRNN30を実装可能に構成されている。例えば、入力装置として機能する複数のセンサから出力される信号群(未知入力)に基づいて所定のパターンを認識しその結果を出力装置に予測出力し得るように構成されている。なお、ROMには、当該制御装置20のマイクロコンピュータの基本機能を働かせる制御プログラムや学習モジュール50等の学習プログラムが実装されており、またEEPROMには後述する学習処理によって得られた学習結果等が格納されている。
【0032】
一方、組み込みシステム10のソフトウェアは、マイクロコンピュータの制御プログラムのほかに、GRNN30および学習モジュール50を含んで構成されている。GRNN30は、図2にその構成例が図示されているので、ここからは図2を参照して説明する。
【0033】
図2に示すように、GRNN30は、入力層、パターン層、加算層および出力層により構成されている(なお、パターン層および加算層は、中間層や隠れ層とも称される)。これらの各層は、複数のニューロンユニット(神経細胞)の集まりにより構成されており、これらの各層のニューロンユニットは前後段において相互に接続されている。
【0034】
本実施形態のGRNN30では、パターン層を構成する中間ユニットは、その数が例えば10ユニットに設定されており、RAMによる所定のメモリ領域上に実装可能に構成されている。GRNNは、学習サンプルが提示されると、このサンプルをそのままデータベースに保持することで、未知のサンプルが入力されるとそれに最も近いデータをデータベースから探し出してその出力を予測出力として出力し得るように構成されている。これにより、中間ユニットは、ルックアップテーブルを連続関数近似で使用できるようにしたものとして解釈することができ、釣鐘型のガウス関数の重み付きの和として出力可能に構成されている。なお、中間ユニットの数は、複数であれば100でも200でも1000でも良く、特に定数に限定されるものではない。
【0035】
また、パターン層を構成する中間ユニットは、いずれも加算層の2つの加算ユニットに出力可能に構成されている。一方の加算ユニットには結合荷重wjで出力し、他方の加算ユニットには各ユニットが学習したサンプル数(他の類似ユニットを肩代わりした割合を含む)を表す値(例えば、このユニットが割り付けられた時にセットされる初期値は1)を結合荷重Rjとして加算出力する。そして、一方の加算ユニットの出力を他方の加算ユニットの出力で除算するように出力層に接続されている。これにより、後述する式(1),(2)が導かれる。
【0036】
図1に戻って、学習モジュール50は、予測誤差計算モジュール51、新規ユニット追加モジュール53、削除ユニット肩代わりモジュール55、ユニット削除・追加モジュール56、ユニットパラメータ更新モジュール57により構成されている。これらは、後述する学習処理を可能にするプログラム群で前述したROMに格納されている。
【0037】
次に、学習モジュール50による学習処理のアルゴリズムについて説明する。
本実施形態で使用するGRNNは、次の式(1)により表される。式(1)において、xは入力ベクトル、Jは中間ユニットの数、φj(x)は第j番目の中間ユニットの入力に対する出力値をそれぞれ表す。またwjは第i番目の中間ユニットと出力ユニットとの間の結合荷重を表し、さらにRjはその中間ユニットが後述するように他の類似する中間ユニットを削除する際に肩代わりした割合を表す。φj(x)は式(2)で表される。
【0038】
【数1】
【0039】
【数2】
【0040】
式(2)において、ベクトルujは第jユニットの値がピークとなる中心位置を表し、またσは第jユニットの広がりを示す標準偏差を表す。
【0041】
なお、wjの初期値は、中間ユニットが割り付けられる際に提示された望ましい出力であるynewであり、またRjの初期値は、同様に割り付けられる際に提示された望ましい「1」である。これらの値は、当該中間ユニットが他の中間ユニットの役割を肩代わりする際に肩代わりする度合いに応じて増減するように設定されている。
【0042】
本来、GRNNでは、中間ユニットの出力値を入力と出力の発生する同時分布P(x,y)として定義されるが(xはベクトル)、カーネル法(文献;Corinna Cortes and Vladimir Vapnik. Support-vector networks. Machine Learning,(20):pp273-297, 1995.)によると、上式(1)におけるφj(x)(=exp(−‖x−uj‖2/(2σ2)))は、ガウスカーネル関数k(x,ui)と同じ形をしている(x,uはベクトル)。そのため、中間ユニットの出力値は、入力ベクトルxをヒルベルト空間上の無限次元特徴ベクトルに変換した特徴ベクトルφ(x)と、中間ユニットの中心位置ベクトルuiをヒルベルト空間上の無限次元特徴ベクトルに変換した特徴ベクトルφ(ui)との内積φ(x)Tφ(ui)に等しい。Tは転置記号を表し、またφ(x)は、ベクトルxを無限次元特徴ベクトルに変換する非線形関数を表すことから、上式(1)は、次式(3)に書き換えることができる。
【0043】
【数3】
【0044】
ここで、φ(ui)が他のベクトルφ(uj)(j≠i)の線形和で表現できる一次従属であると仮定した場合、両者の関係は、次式(4)で表すことができる。
【0045】
【数4】
【0046】
これは、φ(ui)が冗長であるとみなすことができることを意味しているので、上式(1)は、次式(5)に示すようにφ(ui)なしで表現することができる。
【0047】
【数5】
【0048】
なお、この式(5)においては、φ(ui)と第i番目の中間ユニットの出力φi(x)を含んでいない。これは、近似線形独立性(ALD;approximated linear dependency(文献;Xin Xu, Dewen Hu, and Xicheng Lu. kernel-based Least squares policy iteration for reinforcement learning. IEEE TRANSACTIONS ON NEURAL NETWORKS, 18(4):pp973-992, July 2007.))をGRNNに適用したものである。
【0049】
本実施形態では、このように冗長とみなすことのできる第iユニットを、後述するように新しく提示される学習サンプルを学習するときに使用することで、実装可能なユニット数が制限されているGRNNであっても、新たな学習サンプルに対する学習を可能にしている。ただし、上記の式(4)が常に成り立つとは限らないため、次式(6)を用いることにより、第i番目の中間ユニットが他の中間ユニットにどの程度置き換え可能であるかの指標をδiを求めることができ、このδiは、値が小さいほど置き換え適していること、つまり冗長である(冗長度が高い(大きい))ことを示す。逆に、δiの値が大きいほど置き換えには不適切、つまり冗長ではない(冗長度が低い(小さい))ことを示す。
【0050】
【数6】
【0051】
なお、式(6)には、無限次元のベクトルが含まれているが、次式(7)に書き換えることで計算可能となる。このときδiを最小にするベクトルaiは次式(8)で求められ、δiはさらに式(9)に書き直すことができる。
【0052】
【数7】
【0053】
【数8】
【0054】
【数9】
【0055】
なお、式(8)において、Kは行列で、その要素は[K]ij=φi(uj)となる。また、ベクトルk(x)=[φ1(x),…,φi-1(x),φi+1(x),…]Tである(Tは転置記号)。即ち、後述するフローチャートに示すように、i=argminj{δj}となる中間ユニットを選択し、これを置き換えの対象(所定の特定ユニット)とする(図3に示すS107)。
【0056】
そして、置き換えに際しては、置き換えられる第i番目の中間ユニットを削除することにより失われ得る当該中間ユニットの役割(機能)を、他の中間ユニットを肩代わりさせるための指標として肩代わりの度合いがベクトルaiで表現されている。このため、j≠iとなる第j番目の中間ユニットについてそのパラメータ(Rj,wj)を次式(10)のように更新する。
【0057】
【数10】
【0058】
前述したように、Rjとwjの初期値は、それぞれ「1」,当該ユニットが割り付けられた時の望ましい出力yであるから、肩代わり処理が行われた後においては、第i番目の中間ユニットは、新しい学習サンプルを覚えるため次式(11)によりパラメータを更新する。
【0059】
【数11】
【0060】
即ち、第i番目の中間ユニットの中心位置を新しい学習サンプルの入力ベクトルxnewおよび望ましい出力ynewに設定する。なお肩代わりした割合のRiは「1」のままである。
【0061】
ところで、このように中間ユニットの置き換えを行った場合には、上記式(10)で示すように、中間ユニットのパラメータの更新を行うことから、各中間ユニットによりそれまでに得た記憶に影響を与え得る(過去の記憶の劣化)。一般的には、このような影響は最小限に抑えることが望ましいため、置き換えを行う前に、当該置き換えによる影響を予測する。
【0062】
即ち、次に説明する4つの処理について、置き換え等による影響、つまり過去の記憶の劣化による誤差を予測して求め(図3に示すS109)、置き換え等による影響(予測誤差)が最も小さいものを選択する(図3に示すS111)。なお、これらの方法で説明する式に含まれるパラメータ(Rj,wj)は、すべて上記の式(10),(11)を適用する前の値であるとする。
【0063】
[1]肩代わり付き枝刈りかつ置き換え処理(図3に示すS123;Substitution処理)
前述した冗長を示すδiが最小となる第i番目の中間ユニットを他の中間ユニットに肩代わりさせたうえで、この第i番目の中間ユニットを削除して、新しい学習サンプルの学習を行う処理である。これについては既に詳細を述べているので、ここではその予測誤差の算出について説明する。
【0064】
ここでの予測誤差は、第i番目の中間ユニットを他の中間ユニットに肩代わりさせた際に、他の中間ユニットの出力の変化による影響の総和と第i番目の中間ユニットを削除することで起き得る出力変化による影響との和で表され、次式(12)により求められる。
【0065】
【数12】
【0066】
上式(12)において、iは最も冗長とみなされた中間ユニットの番号で、w*iは第i番目の中間ユニットの記憶している出力を表し、w*i=wi/Riで求められる。p(Cα|x)は、入力ベクトルxに対して第α番目の中間ユニットが発火する確率を表している。この確率は、全積分の結果、第α番目の中間ユニットが学習したサンプル数Rαに比例した値になる。また、p(Cα|x)についても同様にRiに比例した値になる。
【0067】
ここで、上式(12)の導出について式(12a)〜(12f)を参照しながら説明する。
第i番目の中間ユニットの置き換えを行う前においては、その出力yoldは次式(12a)で求められ、また置き換えを行った後の出力ynewは次式(12b)で求められる。なお、tは学習回数を表し、提示された学習サンプルの数と同一である。また、図3に示すS111による判断処理において、ignoreが選択された場合には、後述するように、新しい学習サンプルの学習を敢えて行うことなくサンプルの入力を無視して学習は行われない。このため、wj(t+1)=wj(t)となることに注意されたい。
【0068】
【数12a】
【0069】
【数12b】
【0070】
ここで、上式(12a)によるyoldおよび(12b)によるynewの計算はいずれも煩雑になるため、入力ベクトルXjが第j番目の中間ユニットの中心位置の近傍に存在すると仮定して第j番目の中間ユニットの成分だけに着目する。これにより、計算を簡素化することができる。なお、第j番目の中間ユニット以外の中間ユニットの出力はここでは考慮しない。
【0071】
【数12c】
【0072】
【数12d】
【0073】
そして、上式(12c),(12d)の差は、次式(12e)になることから、これによりynewとyoldとの差が得られる。
【0074】
【数12e】
【0075】
一方、削除される第i番目の中間ユニットの中心位置近傍における入力ベクトルXiでは、w2iδiだけ出力が変化するものと見込まれるため、次式(12f)となり、上記式(12)が導かれる。
【0076】
【数12f】
【0077】
[2]枝刈りかつ置き換え処理(図3に示すS121;Replace処理)
前述した冗長を示すδiが最小となる第i番目の中間ユニットを削除して、新しい学習サンプルの学習を行う処理である。これは、前述した「肩代わり付き枝刈りかつ置き換え処理」(Substitution処理)から、他の中間ユニットによる肩代わりを除いたものである。
【0078】
この処理の場合、予測誤差の増加は第i番目の中間ユニットを削除することによる出力の変化である。第i番目の中間ユニットを削除すると、第i番目の中間ユニットが発火していた入力に対しては第i番目の中間ユニットに近傍の他の中間ユニットが出力をすることになる。そこで、このような近傍の中間ユニットの出力と第i番目の中間ユニットの出力との差の総和を次式(13)により得ることで誤差がわかる。
【0079】
【数13】
【0080】
上式(13)において、N(i)は、第i番目の中間ユニットに最近傍の中間ユニットを表す。つまり、ベクトルuN(i)は、第i番目の中間ユニットの中心位置uiの近傍の中心位置となる。
【0081】
[3]パラメータ更新処理(図3に示すS125;Modification処理)
上述した[1]や[2]のように中間ユニットの枝刈りや置き換えを行うことなく、単に既存の中間ユニットのパラメータ(wα,Rα)の更新を行う処理により、新しい学習サンプルに適応するものである。この処理の場合、予測誤差の増加は、次式(14)により求められる。
【0082】
【数14】
【0083】
上式(14)において、δnewとanewαは、上記の式(6),(8)のwiとベクトルuiをそれぞれynew、ベクトルxnewと置き換えることで得られる値であるとする。Nnew(≧1)は新しい学習サンプルおよびそれに近い学習サンプルが今後出現する頻度を表しており、いわば新しいサンプルを学習する重要度を表す。
【0084】
この重要度は、値が大きくなると新しい学習サンプルの学習が優先される確率が高まり、逆に小さくなると学習の優先度が低くなる。そのため、重要度の重みが小さい(軽い)場合には、過去の記憶を保持することに重点が置かれることになる。通常は「1」に設定される。
【0085】
ここで、上式(14)の導出について式(14a)〜(14d)を参照しながら説明する。
パラメータ更新処理の場合には、新しい学習サンプルを既存の中間ユニットのパラメータを更新することで適応させるので、前述した式(12)の導出と同様に、第j番目の中間ユニットの中心位置の近傍に入力ベクトルXjでの出力の変化に着目する。これにより、計算を簡素化することができる。即ち、パラメータの更新後は次式(14a)となるので、この出力ynewから、パラメータの更新前の出力yold(式(14b))を引けばよい(式(14c))。なお、ここで説明をしない各パラメータは上記(12c)等と同じである。
【0086】
【数14a】
【0087】
【数14b】
【0088】
【数14c】
【0089】
一方、新しい学習サンプルの近傍においては、y2newδnewだけ誤差が生じる。次式(14d)において、Nnewは新しい学習サンプルの近傍に将来やって来る学習サンプルの数を表し、サンプルの重要度(≧1;通常は1)に等しい。以上から上記式(14)が導かれる。
【0090】
【数14d】
【0091】
[4]無視(図3に示すS127;Ignore処理)
上述した[1]〜[3]による中間ユニットの置き換えやパラメータの更新によって、新しい学習サンプルを学習することで、それまでに得た記憶に大きな影響(過去の記憶の著しい劣化)、例えば著しいダメージを与え得る場合には、そのような学習は回避すべきである。そのため、このような場合には、新しい学習サンプルの学習を敢えて行うことなくサンプルの入力を無視する、つまり何も行わない処理を行う。
【0092】
この場合における予測誤差の増加は、新しい学習サンプルを学習しないことによる誤差となる。そのため、次式により求められる。
【0093】
【数15】
【0094】
このように上述した[1]〜[4]による処理によって求められた予測誤差のうち、最も値が小さいものを選択し、それを実行する。なお、予測誤差の値が同一のものが2以上現れた場合には、予め決められた順位にしたがって選択される。例えば、上述した[1]〜[4]の順番(選択順位:高=[1]>[2]>[3]>[4]=低)に選択順位を付与する。
【0095】
次に、上述したアルゴリズムを具現化した学習処理の例を図3に示すフローチャートに基づいて説明する。なお、この学習処理は、図1を参照して説明した制御装置20のCPUが学習モジュール50を情報処理することにより実現されている。
【0096】
図3に示すように、本実施形態に係る学習処理は、まずステップS101により学習サンプルが入力されると(入力ベクトルx)、ステップS103により当該学習サンプルの追記学習により中間ユニットの所要数が所定の上限値NMAX以下であるか否かを判断する処理が行われる。例えば、図4に示す本実施形態における平均二乗誤差の推移の場合では、実装可能な中間ユニットの数は10に設定されているので、中間ユニットの上限値NMAXは「10」となる。
【0097】
そして、今回の学習サンプルの入力よって、中間ユニットの所要数が所定の上限値NMAX以下(本実施形態では10以下)であると判断された場合には(S103;Yes)、RAMの所定領域に中間ユニットを実装する余裕があるので、ステップS105に移行して新たな中間ユニットを追加、つまり新規ユニットの追加処理を行い、追記学習を行う。この処理は、図1に示す新規ユニット追加モジュール53により行われる。
【0098】
これに対し、今回の学習サンプルの入力よって、中間ユニットの所要数が所定の上限値NMAX以下(本実施形態では10以下)でない、即ち所定の上限値NMAXを超えていると判断された場合には(S103;No)、RAMの所定領域に中間ユニットを実装する余裕はないため、ステップS107に移行して冗長ユニットを探す処理を行う。
【0099】
このステップS107による冗長ユニットを探す処理は、前述した式(6)〜(11)に基づくもので、第i番目の中間ユニットが他の中間ユニットにどの程度置き換え可能であるかの指標をδiを求め、δiの値が最も小さい中間ユニットを探すことにより行われる。
【0100】
続くステップS109では、ステップS107で探した中間ユニットに対して、前述した4つの処理([1]肩代わり付き枝刈りかつ置き換え処理、[2]枝刈りかつ置き換え処理、[3]パラメータ更新処理、[4]無視)について、これらの予測誤差を求める処理を行う。この処理は、図1に示す予測誤差計算モジュール51により行われる。
【0101】
ステップS109によりそれぞれの予測誤差が算出されると、続くステップS111によって、予測誤差の最も小さいものに対応する処理([1]肩代わり付き枝刈りかつ置き換え処理(Substitution処理)、[2]枝刈りかつ置き換え処理(Replace処理)、[3]パラメータ更新処理(Modification処理)、[4]無視(Ignore))を選択する処理が行われる。この処理も、図1に示す予測誤差計算モジュール51により行われる。
【0102】
そして、ステップS120により、各選択された処理(S121;Replace処理、S123;Substitution処理、S125;Modification処理)が実行された後、置き換えまたはパラメータ更新された中間ユニットを含めて今回の学習サンプルに対して追記学習を行う。この処理のうち、Replace処理は、図1に示すユニット削除・追加モジュール56により行われ、またSubstitution処理は、図1に示す削除ユニット肩代わりモジュール55およびユニット削除・追加モジュール56により行われる(削除ユニット肩代わりモジュール55により削除されるユニットを他のユニットに肩代わりさせた後、ユニット削除・追加モジュール56によりユニットを削除して新たなユニットとして割り付けられる)。さらにModification処理は、図1に示すユニットパラメータ更新モジュール57により行われる。なお、ステップS111により、Ignoreが選択された場合には、今回の学習サンプルに対して追記学習を行うことなく無視する。追記学習が終わると、再びステップS101に戻って、新たな学習サンプルの入力に備える。
【0103】
次に、図4および図5を参照しながら、本実施形態に係る学習処理(図3参照)の効果が確認するために行った検証実験(ベンチマークテスト)による結果を説明する。なお、図4および図5には、学習サンプルを「cpu-perfomance」に設定した結果(図4(A))、「Auto-mpg」に設定した結果(図4(B))、「servo」に設定した結果(図5(A))、「housing」に設定した結果(図5(B))、がそれぞれ図示されている。
【0104】
ベンチマークテストに使用したデータセット(学習サンプル)は、UCI Machine Learning Repositoryに収録されているもので、諸元は次の通りである。
データセット名 サイズ 入力数 出力数
cpu-perfomance 263 6 1
Auto-mpg 398 7 1
servo 167 12 1
housing 507 13 1
【0105】
比較対象として、Nearest Neighbor editing(NN-editing)を使用した。NN-editingでは、argminiΣj∈Neighbors(i)(w*j−w*i)で求められるユニットが置き換え対象となる。Neighbors(i)は、第i番目のユニットの近傍を表す。また比較のため、Σj∈Neighbors(i)(w*j−w*i)が新しい学習サンプルに対する誤差より大きい場合には学習をしないものも用意した(図4および図5において「Editing+新規サンプル無視オプション」(+印によるプロット)がこれを表す)。
【0106】
なお、このベンチマークテストでは、ユニット数の上限値を「10」に設定した。また、新しい学習サンプルの重要度重みNnewは「1」、ユニットの標準源差σ2=1、にそれぞれ設定した。各学習システムは、1つの学習サンプルを学習する度毎ににデータセット全体の平均二乗誤差を計測し、さらにこのテストを50回提示するサンプルの順序を変えてテストを繰り返して結果として50回分を平均した。95%信頼区間を求めた。
【0107】
図4および図5に示すように、図3に示すフローチャートによる学習処理によるものは、これらの図中において「提案手法」と記載されている×印によるプロットで、いずれの検証実験(図4(A),(B)、図5(A),(B))においても、平均二乗誤差は最小値を示していることが確認できる。これに対し、比較対象として使用したNN-editingのものは*印によるプロットで、データセットを「cpu-perfomance」に設定した場合を除いて、学習したサンプル数が10を超えると、平均二乗誤差が著しく悪化していることがわかる。
【0108】
これは、このベンチマークテストではニューロンユニット数の上限値を「10」に設定したため、図3に示すフローチャートによる学習処理によるもの以外は、学習サンプルが10を超えた場合には過去の記憶に与える影響を十分に抑制することができない。このため、それ以降の学習は有効なものではなく誤差の急激な増加に至っているものと考えられる。本実施形態に係る学習処理(学習方法)による技術的な効果が顕著に現れた例として確認できる。
【0109】
以上説明したように、本実施形態に係るニューラルネットワークの学習装置によると(図3参照)、ステップS103(判断手段、判断ステップ)によって、入力の追記学習により中間ユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか上限値を超えているかを判断し、ステップS105(追加手段、追加ステップ)によって、ステップS103により所要数が上限値以下であると判断された場合(S103;Yes)、GRNN30に新たなニューロンユニットを追加する。
【0110】
これに対し、ステップS107(選択手段、選択ステップ)によって、ステップS103により所要数が上限値を超えていると判断された場合(S103;No)、追記学習に適応するGRNN30を構成する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択し、ステップS109(誤差予測手段)によって、ステップS121(第1の手段)による置き換え後による追記学習をすると仮定した場合の第1の予測誤差、ステップS123(第2の手段)による置き換えによる追記学習をしたと仮定したときの第2の予測誤差、およびステップS125(第3の手段)による更新による追記学習をしたと仮定した場合における第3の予測誤差、そしてステップS127(第4の手段)により新規サンプルを無視する(学習を行わない)と仮定したときの第4の予測誤差、をそれぞれ求める。
【0111】
そして、ステップS111(置換/更新手段)によって、ステップS121、ステップS123、ステップS125およびステップS127の中から、ステップS109により求められた第1〜第4の各予測誤差のうち最も小さい予測誤差に対応する手段を選択して、ニューロンユニットの置き換えまたは結合荷重の更新を行うか(S120;S121,123,125)、あるいはニューロンユニットの置き換え等を行わない(S120;S127)。
【0112】
これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNN30に実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、ステップS121、ステップS123およびステップS125による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。また、新たな入力による学習することで、それまでに得た過去の記憶に大きな影響、例えば著しいダメージを与え得る場合には、ステップS127により何も行わないので、過去の記憶に与え得るダメージから逃れることができる。
【0113】
次に、本発明のMPPTコンバータの制御装置を太陽光発電システムに適用した実施形態、つまり上述したニューラルネットワークの学習装置(学習方法)を組み込んだ太陽光発電システム100について、図6および図7を参照して説明する。なお、図6には、太陽光発電システムの構成例を示すブロック図、図7には、太陽光発電システムの回路構成例を示す回路図、がそれぞれ図示されている。
【0114】
図6に示すように、太陽光発電システム100は、太陽光を受けて発電をする太陽電池パネル110と、この太陽電池パネル110から出力される直流電圧を降圧させて出力するDC−DCコンバータ120と、このDC−DCコンバータ120の出力電力の供給を受ける負荷130(例えば二次電池)、DC−DCコンバータ120の電力供給を最大電力点追従(MPPT)により制御する制御装置150と、から構成されており、制御装置150からDC−DCコンバータ120に出力されるリファレンス電圧(比較電圧、参照電圧)Vrefによって、最大電力点追従したDC−DCコンバータ120(つまりMTTPコンバータ)の制御を可能にしている。
【0115】
制御装置150は、P&O(摂動観測法による制御)部150a、GRNN150bおよび図略の学習装置(上述した図1〜3の構成を採るもの)により構成されており、両者の協働によって最大電力点追従が可能なDC−DCコンバータ120(つまりMTTPコンバータ)のリファレンス電圧Vrefを出力可能にしている。即ち、日射強度の急激な変化が起きたときにはGRNN150bがリファレンス電圧Vrefを出力し、逆に日射強度の変化が緩やかなときにはP&O部150aが出力を出す。また日射強度の変化が緩やかなときにはP&O部150aの出力をGRNN150bに送り、GRNN150bに対して学習処理を可能にしている。
【0116】
図7に示すように、太陽光発電システム100を回路的に表現すると、その構成をより具体的に把握することができる。即ち、制御装置150は、太陽電池パネル110の日射の状態を表す照度データSを照度センサ141により、また太陽電池パネル110の温度を表す温度データTを温度センサ142により、さらには太陽電池パネル110の出力電圧Vpv・電流Iを電圧モニタ143と電流モニタ144とにより、取得している。これにより、制御装置150では、このうち2種類のデータ(S,T)をGRNN150bに逐次入力する。この一方で、時々刻々と変化する日射状態によって変動するVpv×I、即ち発電電力が最大となる電圧Vpvを山登り法(P&O法)によって探すとともに当該GRNN150bに対して(S,T)と対応する最適電圧Vpvの追記学習を行う。その結果、GRNN150bは、P&O部150aとの協働により、日射状態に適したリファレンス電圧VrefをDC−DCコンバータ120に出力することができる。
【0117】
このように本実施形態に係る太陽光発電システム100では、制御装置150のGRNN150bに上述した学習装置(学習方法)を適用したので、新たな入力による追記学習によって必要となるGRNN150bのニューロンユニットの数が、GRNN150bに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、ステップS121、ステップS123およびステップS125による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。また場合によっては、ステップS127により学習をしないことにより過去の記憶に与え得るダメージを回避することができる。したがって、組み込みシステムに実装可能であり、これまで学習した記憶による影響をより非常に最小限に抑えることが可能となる。
【0118】
また、これにより、GRNN150bのハードウェア的な制限をほとんど受けることなく学習が次第に進むので、日射状態の急激な変化等が生じても、応答速度の向上を期待することでき、太陽電池パネル110の発電効率を高めることが可能となる。さらに太陽電池パネル110の表面に汚れや劣化が生じても、逐一特性を学習するため、常に最適応答が可能となる。
【0119】
なお、上述した例では、本願発明に係るニューラルネットワークの学習装置を、太陽光発電システムのMTTPコンバータの制御装置に適用したが、これに限られることはなく、GRNNを利用した制御装置であれば同様に適用することができ、上述した作用・効果を得ることができる。
【符号の説明】
【0120】
10…組み込みシステム
20…制御装置(学習装置)
30…GRNN
50…学習モジュール
51…予測誤差計算モジュール
53…新規ユニット追加モジュール
55…削除ユニット肩代わりモジュール
56…ユニット削除・追加モジュール
57…ユニットパラメータ更新モジュール
100…太陽光発電システム(太陽電池)
110…太陽電池パネル
120…DC−DCコンバータ(MTTPコンバータ)
130…負荷
141…照度センサ
142…温度センサ
143…電圧モニタ
144…電流モニタ
150…制御装置(MTTPコンバータ、学習装置)
150a…P&O部
150b…GRNN
S103(判断手段、判断ステップ)、S105(追加手段、追加ステップ)、S107(選択手段、選択ステップ)、S109(誤差予測手段)、S111(置換/更新手段)、S120(置換/更新手段)、S121(置換手段、第1の手段)、S123(置換手段、第2の手段)、S125(結合荷重更新手段、第3の手段)、S127(第4の手段)
【技術分野】
【0001】
本発明は、一般回帰ニューラルネットワーク(GRNN;General Regression Neural Network)の追記学習をするニューラルネットワークの学習装置、学習方法およびそれを用いたMPPTコンバータの制御装置に関するものである。
【背景技術】
【0002】
ニューラルネットワークは、下記、特許文献1に開示される「心磁図の分類のための機械学習の使用」のように、パターン認識やデータ解析等の様々な技術分野において用いられており、これらは、通常、ワークステーションやパーソナルコンピュータのアプリケーションとして実装されることが多い。
【0003】
近年では、特定の機能を実現するために家電製品や機械に組み込まれる組み込みシステムにおいても、ニューラルネットワークが利用されつつあるが、製品コストを抑える市場ニーズに起因してハードウェアリソースが最小限に制限される傾向にあることから、ワークステーション等のアプリケーションとして実装される場合に比べると、組み込みシステムにおいてはニューラルネットワークの利用はあまり進んでない。
【0004】
特に、ハードウェアリソースに汎用のマイクロコンピュータを用いる場合には、メモリ上にニューラルネットワークを構築することになるから、中間層を構成するニューロンユニット(中間ユニット)の数がメモリサイズによって制限されてしまう。そのため、ハードウェアリソースを有効利用する観点で、中間ユニットの数を最小限に抑える方法が提案されており、例えば、下記の非特許文献1に開示される「Limited Resource Allocation Networks」の技術がある(以下、この技術のことを「LRAN」という)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2007−527266号公報
【非特許文献】
【0006】
【非特許文献1】Christophe Molina,Mahesan Niranjan."Pruning with Replacement on Limited Resource Allocation Networks by F-Projections", Neural Computation, vol.8, No.4, pp.855-868, May,1996.
【発明の概要】
【発明が解決しようとする課題】
【0007】
このLRANは、放射基底関数(RBF;Radial Basis Function)の中間ユニット数を所定数以上にならないようにする学習法で、RBFNN(Radial Basis Function Neural Networks)を使用するものであるが、この学習方法によると、同一かつ独立な分布をとるi.i.d.(independent and identically distributed)データが必要になる。
【0008】
ところが、i.i.d.データは理論的には生成可能であっても、現実には生成されるデータ間に少なからず相関関係が存在するため、理想的なi.i.d.データを生成することは極めて難しい。このため、LRANによる学習法を具体的な装置に適用するには技術的な課題が潜在しており、組み込みシステムへの実装を困難にしているという問題がある。
【0009】
例えば、日射状態が急激に変動し得る環境に設置される太陽光発電システムにおいては効率良く電力を得るために、最大電力点追従(MPPT;Maximum Power Point Trucker)の制御にニューラルネットワークを用いる検討が行われている。これを行うには、本来、個々の太陽電池パネルの経年変化を含めた特性を運用途中に学習することが望ましいが、上述したようなハードウェアリソースが制限される等の理由から、学習をさせない代わりに予め標準的なパラメータを埋め込んで使用する場合が多い。このため、最大電力点の追従制御が十分になされておらず、日照状態の急変に対応し難いという問題がある。
【0010】
本発明は、上述した課題を解決するためになされたもので、組み込みシステムに実装し得るニューラルネットワークの学習装置を提供することを目的とする。
また、本発明の別の目的は、日射状態が急激に変動し得る環境に設置される太陽光発電システムであっても出力電力の最大電力点追従制御を十分に行い得る太陽電池用のMPPTコンバータの制御装置を提供することである。
【課題を解決するための手段】
【0011】
上記目的を達成するため、特許請求の範囲に記載された請求項1の技術的手段を採用する。この手段によると、一般回帰ニューラルネットワーク(GRNN;General Regression Neural Network)の追記学習を行うニューラルネットワークの学習装置であって、判断手段、選択手段、追加手段および置換手段を備える(以下、一般回帰ニューラルネットワークのことを「GRNN」という)。
【0012】
即ち、判断手段によって、入力の追記学習によりニューロンユニットの所要数がGRNNに実装可能なユニット数の上限値以下であるか上限値を超えているかを判断し、追加手段によって、判断手段により所要数が上限値以下であると判断された場合、GRNNに新たなニューロンユニットを追加する。これに対し、判断手段により所要数が上限値を超えていると判断された場合、選択手段によってGRNNを構成する複数のニューロンユニットから所定の特定ユニットを選択し、置換手段よって、選択手段により選択された特定ユニットを削除した後、GRNNに新たなニューロンユニットを追加して特定ユニットと置き換える。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。なお「入力」とは、新しく提示されるサンプルのことである(以下同じ)。
【0013】
また、特許請求の範囲に記載された請求項2の技術的手段を採用する。この手段によると、選択手段は、追記学習に適応する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択し、置換手段は、判断手段により所要数が上限値を超えていると判断された場合、当該選択手段により選択された特定ユニットを削除した後、GRNNに新たなニューロンユニットを追加して特定ユニットと置き換える。これにより、置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットであるから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを低くすることができる。
【0014】
また、特許請求の範囲に記載された請求項3の技術的手段を採用する。この手段によると、選択手段は、追記学習に適応する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを選択するとともにこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットを選択し、置換手段は、判断手段により所要数が上限値を超えていると判断された場合には、当該選択手段により選択された代替ユニットに冗長ユニットの機能を肩代わりさせ、かつ冗長ユニットを削除した後、GRNNに新たなニューロンユニットを追加して冗長ユニットと置き換える。置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットで、しかもこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットにその機能を肩代わりさせることから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを一層低くすることができる。
【0015】
また、特許請求の範囲に記載された請求項4の技術的手段を採用する。この手段によると、判断手段によって、入力の追記学習によりニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか上限値を超えているを判断し、追加手段によって、判断手段により所要数が上限値以下であると判断された場合、GRNNに新たなニューロンユニットを追加する。これに対し、判断手段により所要数が上限値を超えていると判断された場合には、結合荷重更新手段によって、GRNNを構成する複数のニューロンユニットのうち入力に適応する各ニューロンユニットの出力の結合荷重を更新する。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、ニューロンユニットの削除を行うことなく、当該追記学習を行うことができる。したがって、ニューロンユニットを単に削除してそのぶん新たなユニットを追加する場合に比べて、ユニットの削除により失われる記憶がないためリスクを非常に低くすることができる。
【0016】
また、特許請求の範囲に記載された請求項5の技術的手段を採用する。この手段によると、GRNNの追記学習を行うニューラルネットワークの学習装置であって、判断手段、選択手段、追加手段、第1の手段、第2の手段、第3の手段、第4の手段、誤差予測手段および置換/更新手段を備える。
【0017】
即ち、判断手段によって、入力の追記学習によりニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか上限値を超えているかを判断し、追加手段によって、判断手段により所要数が上限値以下であると判断された場合、GRNNに新たなニューロンユニットを追加する。これに対し、選択手段によって、判断手段により所要数が上限値を超えていると判断された場合、追記学習に適応するGRNNを構成する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択し、誤差予測手段によって、第1の手段による置き換えによって生じる過去の記憶の劣化による第1の予測誤差、第2の手段による過去の記憶の劣化による第2の予測誤差、第3の手段による過去の記憶の劣化による第3の予測誤差、および第4の手段による何も学習をしないことによる入力に対する第4の予測誤差、をそれぞれ求める(誤差予測手段によって、第1の手段による特定ユニットの、その類似ユニットによる肩代わりを行ったうえでの置き換えをすることによる追記学習をすると仮定した場合における第1の予測誤差、第2手段による特定ユニットを他のユニットに肩代わりさせずに置き換えを行うことによる追記学習をすると仮定した場合における第2の予測誤差、第3の手段による既存ユニットのパラメータを更新することにより追記学習をすると仮定した場合における第3の予測誤差、および第4の手段によってまったく学習をしないと仮定したときの(新しいサンプルの)入力に対する第4の予測誤差、をそれぞれ求める。)。
つまり、誤差予測手段は、追記学習前に、追記学習後に生ずる記憶の劣化を予測するもので、追記学習によって新しい記憶(記憶B)が加わるという状況において、現時点(追記学習前)に持っている記憶Aがどれほど劣化するかを予測することによって予測誤差(第1の予測誤差、第2の予測誤差および第3の予測誤差)を算出する。一方、第4の予測誤差については、新しい記憶Bを加えないことによる予測誤差で、この記憶Bが無いことによる予測誤差である(例えば、単純に記憶Bに対応する入力(新しい学習サンプル)に対する誤差×重要度)。
そして、置換/更新手段によって、第1の手段、第2の手段、前記第3の手段および前記第4の手段の中から、誤差予測手段により求められた第1〜第4の各予測誤差のうち最も小さい予測誤差に対応する手段を選択して、ニューロンユニットの置き換えまたは結合荷重の更新を行う(第4の手段を選択した場合には何もしない)。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、第1の手段、第2の手段、第3の手段および前記第4の手段による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため(第4の手段を選択した場合には何もしないため)、それによりリスクを極めて低くすることができる。
なお、ユニットの置き換え等に際しては、第1の手段、第2の手段および第3の手段による置き換え等に伴う第1〜第3の予測誤差を求めたうえで、それが最も小さいものと、第4の手段、即ち学習をしないことによる第4の予測誤差とを比較して、より小さい方を選択するようにしても良い。これによって第4の手段を選ばない場合でも、予測誤差の最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。
【0018】
また、特許請求の範囲に記載された請求項6の技術的手段を採用する。この手段によると、GRNNの追記学習を行うニューラルネットワークの学習方法であって、判断ステップ、選択ステップ、追加ステップおよび置換ステップを備える。
【0019】
即ち、判断ステップによって、入力の追記学習によりニューロンユニットの所要数がGRNNに実装可能なユニット数の上限値以下であるか上限値を超えているかを判断し、追加ステップによって、判断ステップにより所要数が上限値以下であると判断された場合、GRNNに新たなニューロンユニットを追加する。これに対し、判断ステップにより所要数が上限値を超えていると判断された場合、選択ステップによってGRNNを構成する複数のニューロンユニットから所定の特定ユニットを選択し、置換ステップよって、選択ステップにより選択された特定ユニットを削除した後、GRNNに新たなニューロンユニットを追加して特定ユニットと置き換える。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。
【0020】
また、特許請求の範囲に記載された請求項7の技術的手段を採用する。この手段によると、太陽電池の出力電圧、太陽電池の出力電流、太陽電池の温度および太陽電池の照度を少なくとも入力情報とし、MPPTコンバータの出力電圧を制御する制御電圧を出力情報としてMPPTコンバータに出力するGRNNと、逐次入力される入力情報に基づいてGRNNの追記学習を行う請求項1〜5のいずれか一項に記載のニューラルネットワークの学習装置と、を備える。これにより、請求項1〜5のいずれか一項に記載のニューラルネットワークの学習装置による作用・効果の恩恵を受けることができる。即ち、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができるので、ハードウェアリソースの制限等により、これまで十分にできなかった太陽電池パネル固有の特性を追記学習することができる。
【発明の効果】
【0021】
請求項1の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。したがって、ハードウェアリソースが最小限に制限されがちな組み込みシステムであっても、ニューラルネットワークを実装することが可能となる。
【0022】
請求項2の発明では、置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットであるから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを低くすることができる。したがって、これまで学習した記憶による影響を最小限に抑えることが可能となる。
【0023】
請求項3の発明では、置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットで、しかもこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットにその機能を肩代わりさせることから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを一層低くすることができる。したがって、これまで学習した記憶による影響をより最小限に抑えることが可能となる。
【0024】
請求項4の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、ニューロンユニットの削除を行うことなく、当該追記学習を行うことができる。
したがって、ニューロンユニットを単に削除してそのぶん新たなユニットを追加する場合に比べて、ユニットの削除により失われる記憶が少ないためリスクを非常に低くすることができる。よって、これまで学習した記憶による影響をより一層最小限に抑えることが可能となる。
【0025】
請求項5の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、第1の手段、第2の手段、第3の手段および前記第4の手段による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため(第4の手段を選択した場合には何もしないため)、それによりリスクを極めて低くすることができる。したがって、これまで学習した記憶による影響をより非常に最小限に抑えることが可能となる。また、新たな入力による学習をすることで、それまでに得た過去の記憶に大きな影響、例えば著しいダメージを与え得る場合には、第4の手段を選択することにより何も行わないので、過去の記憶に与え得るダメージから逃れることができる。
なお、ユニットの置き換え等に際しては、第1の手段、第2の手段および第3の手段による置き換え等に伴う第1〜第3の予測誤差を求めたうえで、それが最も小さいものと、第4の手段、即ち学習をしないことによる第4の予測誤差とを比較して、より小さい方を選択するようにしても良い。これによって第4の手段を選ばない場合でも、予測誤差の最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。したがって、これまで学習した記憶による影響をより非常に最小限に抑えることが可能となる。
【0026】
請求項6の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。したがって、ハードウェアリソースが最小限に制限されがちな組み込みシステムであっても、ニューラルネットワークを実装することが可能となる。
【0027】
請求項7の発明では、請求項1〜5のいずれか一項に記載のニューラルネットワークの学習装置による作用・効果の恩恵を受けることができる。即ち、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNNに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができるので、ハードウェアリソースの制限等により、これまで十分にできなかった太陽電池パネル固有の特性を追記学習することができる。したがって、日射状態が急激に変動し得る環境に設置される太陽光発電システムであっても出力電力の最大電力点追従制御を十分に行うことが可能となる。
【図面の簡単な説明】
【0028】
【図1】本発明のニューラルネットワークの学習装置を適用した組み込みシステムの構成例を示すブロック図である。
【図2】図1に示すGRNNの構成例を示す説明図である。
【図3】本実施形態に係る学習処理の流れを示すフローチャートである。
【図4】検証実験による結果を示す説明図で、図4(A)は学習サンプルを「cpu-perfomance」に設定したもの、図4(B)は学習サンプルを「Auto-mpg」に設定したもの、である。
【図5】検証実験による結果を示す説明図で、図5(A)は学習サンプルを「servo」に設定したもの、図5(B)は学習サンプルを「housing」に設定したもの、である。
【図6】本発明のMPPTコンバータの制御装置を適用した太陽光発電システムの構成例を示すブロック図である。
【図7】図6に示す太陽光発電システムの回路構成例を示す回路図である。
【発明を実施するための形態】
【0029】
以下、本発明のニューラルネットワークの学習装置の実施形態について図を参照して説明する。まず、本発明のニューラルネットワークの学習装置を組み込みシステムに適用した実施形態を図1〜図5に基づいて説明する。なお、図1には、組み込みシステム10の構成例を示すブロック図、図2には、GRNN30の構成例を示す説明図、図3には、学習処理の流れを示すフローチャート、がそれぞれ図示されている。
【0030】
図1に示すように、組み込みシステム10のハードウェアは、制御装置20と図略の入出力装置から構成されている。制御装置20は、例えば、汎用のマイクロコンピュータ(CPU)とROM、RAM、EEPROM等の半導体メモリ装置とから構成されており、入力装置から入力される情報に対して所定の情報処理を行いその結果を出力装置に出力する機能を有する情報処理装置である。
【0031】
本実施形態に係る制御装置20では、後述するように、RAMによる所定のメモリ領域上にGRNN30を実装可能に構成されている。例えば、入力装置として機能する複数のセンサから出力される信号群(未知入力)に基づいて所定のパターンを認識しその結果を出力装置に予測出力し得るように構成されている。なお、ROMには、当該制御装置20のマイクロコンピュータの基本機能を働かせる制御プログラムや学習モジュール50等の学習プログラムが実装されており、またEEPROMには後述する学習処理によって得られた学習結果等が格納されている。
【0032】
一方、組み込みシステム10のソフトウェアは、マイクロコンピュータの制御プログラムのほかに、GRNN30および学習モジュール50を含んで構成されている。GRNN30は、図2にその構成例が図示されているので、ここからは図2を参照して説明する。
【0033】
図2に示すように、GRNN30は、入力層、パターン層、加算層および出力層により構成されている(なお、パターン層および加算層は、中間層や隠れ層とも称される)。これらの各層は、複数のニューロンユニット(神経細胞)の集まりにより構成されており、これらの各層のニューロンユニットは前後段において相互に接続されている。
【0034】
本実施形態のGRNN30では、パターン層を構成する中間ユニットは、その数が例えば10ユニットに設定されており、RAMによる所定のメモリ領域上に実装可能に構成されている。GRNNは、学習サンプルが提示されると、このサンプルをそのままデータベースに保持することで、未知のサンプルが入力されるとそれに最も近いデータをデータベースから探し出してその出力を予測出力として出力し得るように構成されている。これにより、中間ユニットは、ルックアップテーブルを連続関数近似で使用できるようにしたものとして解釈することができ、釣鐘型のガウス関数の重み付きの和として出力可能に構成されている。なお、中間ユニットの数は、複数であれば100でも200でも1000でも良く、特に定数に限定されるものではない。
【0035】
また、パターン層を構成する中間ユニットは、いずれも加算層の2つの加算ユニットに出力可能に構成されている。一方の加算ユニットには結合荷重wjで出力し、他方の加算ユニットには各ユニットが学習したサンプル数(他の類似ユニットを肩代わりした割合を含む)を表す値(例えば、このユニットが割り付けられた時にセットされる初期値は1)を結合荷重Rjとして加算出力する。そして、一方の加算ユニットの出力を他方の加算ユニットの出力で除算するように出力層に接続されている。これにより、後述する式(1),(2)が導かれる。
【0036】
図1に戻って、学習モジュール50は、予測誤差計算モジュール51、新規ユニット追加モジュール53、削除ユニット肩代わりモジュール55、ユニット削除・追加モジュール56、ユニットパラメータ更新モジュール57により構成されている。これらは、後述する学習処理を可能にするプログラム群で前述したROMに格納されている。
【0037】
次に、学習モジュール50による学習処理のアルゴリズムについて説明する。
本実施形態で使用するGRNNは、次の式(1)により表される。式(1)において、xは入力ベクトル、Jは中間ユニットの数、φj(x)は第j番目の中間ユニットの入力に対する出力値をそれぞれ表す。またwjは第i番目の中間ユニットと出力ユニットとの間の結合荷重を表し、さらにRjはその中間ユニットが後述するように他の類似する中間ユニットを削除する際に肩代わりした割合を表す。φj(x)は式(2)で表される。
【0038】
【数1】
【0039】
【数2】
【0040】
式(2)において、ベクトルujは第jユニットの値がピークとなる中心位置を表し、またσは第jユニットの広がりを示す標準偏差を表す。
【0041】
なお、wjの初期値は、中間ユニットが割り付けられる際に提示された望ましい出力であるynewであり、またRjの初期値は、同様に割り付けられる際に提示された望ましい「1」である。これらの値は、当該中間ユニットが他の中間ユニットの役割を肩代わりする際に肩代わりする度合いに応じて増減するように設定されている。
【0042】
本来、GRNNでは、中間ユニットの出力値を入力と出力の発生する同時分布P(x,y)として定義されるが(xはベクトル)、カーネル法(文献;Corinna Cortes and Vladimir Vapnik. Support-vector networks. Machine Learning,(20):pp273-297, 1995.)によると、上式(1)におけるφj(x)(=exp(−‖x−uj‖2/(2σ2)))は、ガウスカーネル関数k(x,ui)と同じ形をしている(x,uはベクトル)。そのため、中間ユニットの出力値は、入力ベクトルxをヒルベルト空間上の無限次元特徴ベクトルに変換した特徴ベクトルφ(x)と、中間ユニットの中心位置ベクトルuiをヒルベルト空間上の無限次元特徴ベクトルに変換した特徴ベクトルφ(ui)との内積φ(x)Tφ(ui)に等しい。Tは転置記号を表し、またφ(x)は、ベクトルxを無限次元特徴ベクトルに変換する非線形関数を表すことから、上式(1)は、次式(3)に書き換えることができる。
【0043】
【数3】
【0044】
ここで、φ(ui)が他のベクトルφ(uj)(j≠i)の線形和で表現できる一次従属であると仮定した場合、両者の関係は、次式(4)で表すことができる。
【0045】
【数4】
【0046】
これは、φ(ui)が冗長であるとみなすことができることを意味しているので、上式(1)は、次式(5)に示すようにφ(ui)なしで表現することができる。
【0047】
【数5】
【0048】
なお、この式(5)においては、φ(ui)と第i番目の中間ユニットの出力φi(x)を含んでいない。これは、近似線形独立性(ALD;approximated linear dependency(文献;Xin Xu, Dewen Hu, and Xicheng Lu. kernel-based Least squares policy iteration for reinforcement learning. IEEE TRANSACTIONS ON NEURAL NETWORKS, 18(4):pp973-992, July 2007.))をGRNNに適用したものである。
【0049】
本実施形態では、このように冗長とみなすことのできる第iユニットを、後述するように新しく提示される学習サンプルを学習するときに使用することで、実装可能なユニット数が制限されているGRNNであっても、新たな学習サンプルに対する学習を可能にしている。ただし、上記の式(4)が常に成り立つとは限らないため、次式(6)を用いることにより、第i番目の中間ユニットが他の中間ユニットにどの程度置き換え可能であるかの指標をδiを求めることができ、このδiは、値が小さいほど置き換え適していること、つまり冗長である(冗長度が高い(大きい))ことを示す。逆に、δiの値が大きいほど置き換えには不適切、つまり冗長ではない(冗長度が低い(小さい))ことを示す。
【0050】
【数6】
【0051】
なお、式(6)には、無限次元のベクトルが含まれているが、次式(7)に書き換えることで計算可能となる。このときδiを最小にするベクトルaiは次式(8)で求められ、δiはさらに式(9)に書き直すことができる。
【0052】
【数7】
【0053】
【数8】
【0054】
【数9】
【0055】
なお、式(8)において、Kは行列で、その要素は[K]ij=φi(uj)となる。また、ベクトルk(x)=[φ1(x),…,φi-1(x),φi+1(x),…]Tである(Tは転置記号)。即ち、後述するフローチャートに示すように、i=argminj{δj}となる中間ユニットを選択し、これを置き換えの対象(所定の特定ユニット)とする(図3に示すS107)。
【0056】
そして、置き換えに際しては、置き換えられる第i番目の中間ユニットを削除することにより失われ得る当該中間ユニットの役割(機能)を、他の中間ユニットを肩代わりさせるための指標として肩代わりの度合いがベクトルaiで表現されている。このため、j≠iとなる第j番目の中間ユニットについてそのパラメータ(Rj,wj)を次式(10)のように更新する。
【0057】
【数10】
【0058】
前述したように、Rjとwjの初期値は、それぞれ「1」,当該ユニットが割り付けられた時の望ましい出力yであるから、肩代わり処理が行われた後においては、第i番目の中間ユニットは、新しい学習サンプルを覚えるため次式(11)によりパラメータを更新する。
【0059】
【数11】
【0060】
即ち、第i番目の中間ユニットの中心位置を新しい学習サンプルの入力ベクトルxnewおよび望ましい出力ynewに設定する。なお肩代わりした割合のRiは「1」のままである。
【0061】
ところで、このように中間ユニットの置き換えを行った場合には、上記式(10)で示すように、中間ユニットのパラメータの更新を行うことから、各中間ユニットによりそれまでに得た記憶に影響を与え得る(過去の記憶の劣化)。一般的には、このような影響は最小限に抑えることが望ましいため、置き換えを行う前に、当該置き換えによる影響を予測する。
【0062】
即ち、次に説明する4つの処理について、置き換え等による影響、つまり過去の記憶の劣化による誤差を予測して求め(図3に示すS109)、置き換え等による影響(予測誤差)が最も小さいものを選択する(図3に示すS111)。なお、これらの方法で説明する式に含まれるパラメータ(Rj,wj)は、すべて上記の式(10),(11)を適用する前の値であるとする。
【0063】
[1]肩代わり付き枝刈りかつ置き換え処理(図3に示すS123;Substitution処理)
前述した冗長を示すδiが最小となる第i番目の中間ユニットを他の中間ユニットに肩代わりさせたうえで、この第i番目の中間ユニットを削除して、新しい学習サンプルの学習を行う処理である。これについては既に詳細を述べているので、ここではその予測誤差の算出について説明する。
【0064】
ここでの予測誤差は、第i番目の中間ユニットを他の中間ユニットに肩代わりさせた際に、他の中間ユニットの出力の変化による影響の総和と第i番目の中間ユニットを削除することで起き得る出力変化による影響との和で表され、次式(12)により求められる。
【0065】
【数12】
【0066】
上式(12)において、iは最も冗長とみなされた中間ユニットの番号で、w*iは第i番目の中間ユニットの記憶している出力を表し、w*i=wi/Riで求められる。p(Cα|x)は、入力ベクトルxに対して第α番目の中間ユニットが発火する確率を表している。この確率は、全積分の結果、第α番目の中間ユニットが学習したサンプル数Rαに比例した値になる。また、p(Cα|x)についても同様にRiに比例した値になる。
【0067】
ここで、上式(12)の導出について式(12a)〜(12f)を参照しながら説明する。
第i番目の中間ユニットの置き換えを行う前においては、その出力yoldは次式(12a)で求められ、また置き換えを行った後の出力ynewは次式(12b)で求められる。なお、tは学習回数を表し、提示された学習サンプルの数と同一である。また、図3に示すS111による判断処理において、ignoreが選択された場合には、後述するように、新しい学習サンプルの学習を敢えて行うことなくサンプルの入力を無視して学習は行われない。このため、wj(t+1)=wj(t)となることに注意されたい。
【0068】
【数12a】
【0069】
【数12b】
【0070】
ここで、上式(12a)によるyoldおよび(12b)によるynewの計算はいずれも煩雑になるため、入力ベクトルXjが第j番目の中間ユニットの中心位置の近傍に存在すると仮定して第j番目の中間ユニットの成分だけに着目する。これにより、計算を簡素化することができる。なお、第j番目の中間ユニット以外の中間ユニットの出力はここでは考慮しない。
【0071】
【数12c】
【0072】
【数12d】
【0073】
そして、上式(12c),(12d)の差は、次式(12e)になることから、これによりynewとyoldとの差が得られる。
【0074】
【数12e】
【0075】
一方、削除される第i番目の中間ユニットの中心位置近傍における入力ベクトルXiでは、w2iδiだけ出力が変化するものと見込まれるため、次式(12f)となり、上記式(12)が導かれる。
【0076】
【数12f】
【0077】
[2]枝刈りかつ置き換え処理(図3に示すS121;Replace処理)
前述した冗長を示すδiが最小となる第i番目の中間ユニットを削除して、新しい学習サンプルの学習を行う処理である。これは、前述した「肩代わり付き枝刈りかつ置き換え処理」(Substitution処理)から、他の中間ユニットによる肩代わりを除いたものである。
【0078】
この処理の場合、予測誤差の増加は第i番目の中間ユニットを削除することによる出力の変化である。第i番目の中間ユニットを削除すると、第i番目の中間ユニットが発火していた入力に対しては第i番目の中間ユニットに近傍の他の中間ユニットが出力をすることになる。そこで、このような近傍の中間ユニットの出力と第i番目の中間ユニットの出力との差の総和を次式(13)により得ることで誤差がわかる。
【0079】
【数13】
【0080】
上式(13)において、N(i)は、第i番目の中間ユニットに最近傍の中間ユニットを表す。つまり、ベクトルuN(i)は、第i番目の中間ユニットの中心位置uiの近傍の中心位置となる。
【0081】
[3]パラメータ更新処理(図3に示すS125;Modification処理)
上述した[1]や[2]のように中間ユニットの枝刈りや置き換えを行うことなく、単に既存の中間ユニットのパラメータ(wα,Rα)の更新を行う処理により、新しい学習サンプルに適応するものである。この処理の場合、予測誤差の増加は、次式(14)により求められる。
【0082】
【数14】
【0083】
上式(14)において、δnewとanewαは、上記の式(6),(8)のwiとベクトルuiをそれぞれynew、ベクトルxnewと置き換えることで得られる値であるとする。Nnew(≧1)は新しい学習サンプルおよびそれに近い学習サンプルが今後出現する頻度を表しており、いわば新しいサンプルを学習する重要度を表す。
【0084】
この重要度は、値が大きくなると新しい学習サンプルの学習が優先される確率が高まり、逆に小さくなると学習の優先度が低くなる。そのため、重要度の重みが小さい(軽い)場合には、過去の記憶を保持することに重点が置かれることになる。通常は「1」に設定される。
【0085】
ここで、上式(14)の導出について式(14a)〜(14d)を参照しながら説明する。
パラメータ更新処理の場合には、新しい学習サンプルを既存の中間ユニットのパラメータを更新することで適応させるので、前述した式(12)の導出と同様に、第j番目の中間ユニットの中心位置の近傍に入力ベクトルXjでの出力の変化に着目する。これにより、計算を簡素化することができる。即ち、パラメータの更新後は次式(14a)となるので、この出力ynewから、パラメータの更新前の出力yold(式(14b))を引けばよい(式(14c))。なお、ここで説明をしない各パラメータは上記(12c)等と同じである。
【0086】
【数14a】
【0087】
【数14b】
【0088】
【数14c】
【0089】
一方、新しい学習サンプルの近傍においては、y2newδnewだけ誤差が生じる。次式(14d)において、Nnewは新しい学習サンプルの近傍に将来やって来る学習サンプルの数を表し、サンプルの重要度(≧1;通常は1)に等しい。以上から上記式(14)が導かれる。
【0090】
【数14d】
【0091】
[4]無視(図3に示すS127;Ignore処理)
上述した[1]〜[3]による中間ユニットの置き換えやパラメータの更新によって、新しい学習サンプルを学習することで、それまでに得た記憶に大きな影響(過去の記憶の著しい劣化)、例えば著しいダメージを与え得る場合には、そのような学習は回避すべきである。そのため、このような場合には、新しい学習サンプルの学習を敢えて行うことなくサンプルの入力を無視する、つまり何も行わない処理を行う。
【0092】
この場合における予測誤差の増加は、新しい学習サンプルを学習しないことによる誤差となる。そのため、次式により求められる。
【0093】
【数15】
【0094】
このように上述した[1]〜[4]による処理によって求められた予測誤差のうち、最も値が小さいものを選択し、それを実行する。なお、予測誤差の値が同一のものが2以上現れた場合には、予め決められた順位にしたがって選択される。例えば、上述した[1]〜[4]の順番(選択順位:高=[1]>[2]>[3]>[4]=低)に選択順位を付与する。
【0095】
次に、上述したアルゴリズムを具現化した学習処理の例を図3に示すフローチャートに基づいて説明する。なお、この学習処理は、図1を参照して説明した制御装置20のCPUが学習モジュール50を情報処理することにより実現されている。
【0096】
図3に示すように、本実施形態に係る学習処理は、まずステップS101により学習サンプルが入力されると(入力ベクトルx)、ステップS103により当該学習サンプルの追記学習により中間ユニットの所要数が所定の上限値NMAX以下であるか否かを判断する処理が行われる。例えば、図4に示す本実施形態における平均二乗誤差の推移の場合では、実装可能な中間ユニットの数は10に設定されているので、中間ユニットの上限値NMAXは「10」となる。
【0097】
そして、今回の学習サンプルの入力よって、中間ユニットの所要数が所定の上限値NMAX以下(本実施形態では10以下)であると判断された場合には(S103;Yes)、RAMの所定領域に中間ユニットを実装する余裕があるので、ステップS105に移行して新たな中間ユニットを追加、つまり新規ユニットの追加処理を行い、追記学習を行う。この処理は、図1に示す新規ユニット追加モジュール53により行われる。
【0098】
これに対し、今回の学習サンプルの入力よって、中間ユニットの所要数が所定の上限値NMAX以下(本実施形態では10以下)でない、即ち所定の上限値NMAXを超えていると判断された場合には(S103;No)、RAMの所定領域に中間ユニットを実装する余裕はないため、ステップS107に移行して冗長ユニットを探す処理を行う。
【0099】
このステップS107による冗長ユニットを探す処理は、前述した式(6)〜(11)に基づくもので、第i番目の中間ユニットが他の中間ユニットにどの程度置き換え可能であるかの指標をδiを求め、δiの値が最も小さい中間ユニットを探すことにより行われる。
【0100】
続くステップS109では、ステップS107で探した中間ユニットに対して、前述した4つの処理([1]肩代わり付き枝刈りかつ置き換え処理、[2]枝刈りかつ置き換え処理、[3]パラメータ更新処理、[4]無視)について、これらの予測誤差を求める処理を行う。この処理は、図1に示す予測誤差計算モジュール51により行われる。
【0101】
ステップS109によりそれぞれの予測誤差が算出されると、続くステップS111によって、予測誤差の最も小さいものに対応する処理([1]肩代わり付き枝刈りかつ置き換え処理(Substitution処理)、[2]枝刈りかつ置き換え処理(Replace処理)、[3]パラメータ更新処理(Modification処理)、[4]無視(Ignore))を選択する処理が行われる。この処理も、図1に示す予測誤差計算モジュール51により行われる。
【0102】
そして、ステップS120により、各選択された処理(S121;Replace処理、S123;Substitution処理、S125;Modification処理)が実行された後、置き換えまたはパラメータ更新された中間ユニットを含めて今回の学習サンプルに対して追記学習を行う。この処理のうち、Replace処理は、図1に示すユニット削除・追加モジュール56により行われ、またSubstitution処理は、図1に示す削除ユニット肩代わりモジュール55およびユニット削除・追加モジュール56により行われる(削除ユニット肩代わりモジュール55により削除されるユニットを他のユニットに肩代わりさせた後、ユニット削除・追加モジュール56によりユニットを削除して新たなユニットとして割り付けられる)。さらにModification処理は、図1に示すユニットパラメータ更新モジュール57により行われる。なお、ステップS111により、Ignoreが選択された場合には、今回の学習サンプルに対して追記学習を行うことなく無視する。追記学習が終わると、再びステップS101に戻って、新たな学習サンプルの入力に備える。
【0103】
次に、図4および図5を参照しながら、本実施形態に係る学習処理(図3参照)の効果が確認するために行った検証実験(ベンチマークテスト)による結果を説明する。なお、図4および図5には、学習サンプルを「cpu-perfomance」に設定した結果(図4(A))、「Auto-mpg」に設定した結果(図4(B))、「servo」に設定した結果(図5(A))、「housing」に設定した結果(図5(B))、がそれぞれ図示されている。
【0104】
ベンチマークテストに使用したデータセット(学習サンプル)は、UCI Machine Learning Repositoryに収録されているもので、諸元は次の通りである。
データセット名 サイズ 入力数 出力数
cpu-perfomance 263 6 1
Auto-mpg 398 7 1
servo 167 12 1
housing 507 13 1
【0105】
比較対象として、Nearest Neighbor editing(NN-editing)を使用した。NN-editingでは、argminiΣj∈Neighbors(i)(w*j−w*i)で求められるユニットが置き換え対象となる。Neighbors(i)は、第i番目のユニットの近傍を表す。また比較のため、Σj∈Neighbors(i)(w*j−w*i)が新しい学習サンプルに対する誤差より大きい場合には学習をしないものも用意した(図4および図5において「Editing+新規サンプル無視オプション」(+印によるプロット)がこれを表す)。
【0106】
なお、このベンチマークテストでは、ユニット数の上限値を「10」に設定した。また、新しい学習サンプルの重要度重みNnewは「1」、ユニットの標準源差σ2=1、にそれぞれ設定した。各学習システムは、1つの学習サンプルを学習する度毎ににデータセット全体の平均二乗誤差を計測し、さらにこのテストを50回提示するサンプルの順序を変えてテストを繰り返して結果として50回分を平均した。95%信頼区間を求めた。
【0107】
図4および図5に示すように、図3に示すフローチャートによる学習処理によるものは、これらの図中において「提案手法」と記載されている×印によるプロットで、いずれの検証実験(図4(A),(B)、図5(A),(B))においても、平均二乗誤差は最小値を示していることが確認できる。これに対し、比較対象として使用したNN-editingのものは*印によるプロットで、データセットを「cpu-perfomance」に設定した場合を除いて、学習したサンプル数が10を超えると、平均二乗誤差が著しく悪化していることがわかる。
【0108】
これは、このベンチマークテストではニューロンユニット数の上限値を「10」に設定したため、図3に示すフローチャートによる学習処理によるもの以外は、学習サンプルが10を超えた場合には過去の記憶に与える影響を十分に抑制することができない。このため、それ以降の学習は有効なものではなく誤差の急激な増加に至っているものと考えられる。本実施形態に係る学習処理(学習方法)による技術的な効果が顕著に現れた例として確認できる。
【0109】
以上説明したように、本実施形態に係るニューラルネットワークの学習装置によると(図3参照)、ステップS103(判断手段、判断ステップ)によって、入力の追記学習により中間ユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか上限値を超えているかを判断し、ステップS105(追加手段、追加ステップ)によって、ステップS103により所要数が上限値以下であると判断された場合(S103;Yes)、GRNN30に新たなニューロンユニットを追加する。
【0110】
これに対し、ステップS107(選択手段、選択ステップ)によって、ステップS103により所要数が上限値を超えていると判断された場合(S103;No)、追記学習に適応するGRNN30を構成する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択し、ステップS109(誤差予測手段)によって、ステップS121(第1の手段)による置き換え後による追記学習をすると仮定した場合の第1の予測誤差、ステップS123(第2の手段)による置き換えによる追記学習をしたと仮定したときの第2の予測誤差、およびステップS125(第3の手段)による更新による追記学習をしたと仮定した場合における第3の予測誤差、そしてステップS127(第4の手段)により新規サンプルを無視する(学習を行わない)と仮定したときの第4の予測誤差、をそれぞれ求める。
【0111】
そして、ステップS111(置換/更新手段)によって、ステップS121、ステップS123、ステップS125およびステップS127の中から、ステップS109により求められた第1〜第4の各予測誤差のうち最も小さい予測誤差に対応する手段を選択して、ニューロンユニットの置き換えまたは結合荷重の更新を行うか(S120;S121,123,125)、あるいはニューロンユニットの置き換え等を行わない(S120;S127)。
【0112】
これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、GRNN30に実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、ステップS121、ステップS123およびステップS125による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。また、新たな入力による学習することで、それまでに得た過去の記憶に大きな影響、例えば著しいダメージを与え得る場合には、ステップS127により何も行わないので、過去の記憶に与え得るダメージから逃れることができる。
【0113】
次に、本発明のMPPTコンバータの制御装置を太陽光発電システムに適用した実施形態、つまり上述したニューラルネットワークの学習装置(学習方法)を組み込んだ太陽光発電システム100について、図6および図7を参照して説明する。なお、図6には、太陽光発電システムの構成例を示すブロック図、図7には、太陽光発電システムの回路構成例を示す回路図、がそれぞれ図示されている。
【0114】
図6に示すように、太陽光発電システム100は、太陽光を受けて発電をする太陽電池パネル110と、この太陽電池パネル110から出力される直流電圧を降圧させて出力するDC−DCコンバータ120と、このDC−DCコンバータ120の出力電力の供給を受ける負荷130(例えば二次電池)、DC−DCコンバータ120の電力供給を最大電力点追従(MPPT)により制御する制御装置150と、から構成されており、制御装置150からDC−DCコンバータ120に出力されるリファレンス電圧(比較電圧、参照電圧)Vrefによって、最大電力点追従したDC−DCコンバータ120(つまりMTTPコンバータ)の制御を可能にしている。
【0115】
制御装置150は、P&O(摂動観測法による制御)部150a、GRNN150bおよび図略の学習装置(上述した図1〜3の構成を採るもの)により構成されており、両者の協働によって最大電力点追従が可能なDC−DCコンバータ120(つまりMTTPコンバータ)のリファレンス電圧Vrefを出力可能にしている。即ち、日射強度の急激な変化が起きたときにはGRNN150bがリファレンス電圧Vrefを出力し、逆に日射強度の変化が緩やかなときにはP&O部150aが出力を出す。また日射強度の変化が緩やかなときにはP&O部150aの出力をGRNN150bに送り、GRNN150bに対して学習処理を可能にしている。
【0116】
図7に示すように、太陽光発電システム100を回路的に表現すると、その構成をより具体的に把握することができる。即ち、制御装置150は、太陽電池パネル110の日射の状態を表す照度データSを照度センサ141により、また太陽電池パネル110の温度を表す温度データTを温度センサ142により、さらには太陽電池パネル110の出力電圧Vpv・電流Iを電圧モニタ143と電流モニタ144とにより、取得している。これにより、制御装置150では、このうち2種類のデータ(S,T)をGRNN150bに逐次入力する。この一方で、時々刻々と変化する日射状態によって変動するVpv×I、即ち発電電力が最大となる電圧Vpvを山登り法(P&O法)によって探すとともに当該GRNN150bに対して(S,T)と対応する最適電圧Vpvの追記学習を行う。その結果、GRNN150bは、P&O部150aとの協働により、日射状態に適したリファレンス電圧VrefをDC−DCコンバータ120に出力することができる。
【0117】
このように本実施形態に係る太陽光発電システム100では、制御装置150のGRNN150bに上述した学習装置(学習方法)を適用したので、新たな入力による追記学習によって必要となるGRNN150bのニューロンユニットの数が、GRNN150bに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、ステップS121、ステップS123およびステップS125による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。また場合によっては、ステップS127により学習をしないことにより過去の記憶に与え得るダメージを回避することができる。したがって、組み込みシステムに実装可能であり、これまで学習した記憶による影響をより非常に最小限に抑えることが可能となる。
【0118】
また、これにより、GRNN150bのハードウェア的な制限をほとんど受けることなく学習が次第に進むので、日射状態の急激な変化等が生じても、応答速度の向上を期待することでき、太陽電池パネル110の発電効率を高めることが可能となる。さらに太陽電池パネル110の表面に汚れや劣化が生じても、逐一特性を学習するため、常に最適応答が可能となる。
【0119】
なお、上述した例では、本願発明に係るニューラルネットワークの学習装置を、太陽光発電システムのMTTPコンバータの制御装置に適用したが、これに限られることはなく、GRNNを利用した制御装置であれば同様に適用することができ、上述した作用・効果を得ることができる。
【符号の説明】
【0120】
10…組み込みシステム
20…制御装置(学習装置)
30…GRNN
50…学習モジュール
51…予測誤差計算モジュール
53…新規ユニット追加モジュール
55…削除ユニット肩代わりモジュール
56…ユニット削除・追加モジュール
57…ユニットパラメータ更新モジュール
100…太陽光発電システム(太陽電池)
110…太陽電池パネル
120…DC−DCコンバータ(MTTPコンバータ)
130…負荷
141…照度センサ
142…温度センサ
143…電圧モニタ
144…電流モニタ
150…制御装置(MTTPコンバータ、学習装置)
150a…P&O部
150b…GRNN
S103(判断手段、判断ステップ)、S105(追加手段、追加ステップ)、S107(選択手段、選択ステップ)、S109(誤差予測手段)、S111(置換/更新手段)、S120(置換/更新手段)、S121(置換手段、第1の手段)、S123(置換手段、第2の手段)、S125(結合荷重更新手段、第3の手段)、S127(第4の手段)
【特許請求の範囲】
【請求項1】
GRNN(General Regression Neural Network;一般回帰ニューラルネットワーク)の追記学習を行うニューラルネットワークの学習装置であって、
入力の追記学習によりニューロンユニットの所要数が前記GRNNに実装可能なユニット数の上限値以下であるか前記上限値を超えているかを判断する判断手段と、
前記判断手段により前記所要数が前記上限値以下であると判断された場合、前記GRNNに新たなニューロンユニットを追加する追加手段と、
前記判断手段により前記所要数が前記上限値を超えていると判断された場合、前記GRNNを構成する複数のニューロンユニットから所定の特定ユニットを選択する選択手段と、
前記選択手段により選択された前記特定ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記特定ユニットと置き換える置換手段と、
を備えることを特徴とするニューラルネットワークの学習装置。
【請求項2】
前記選択手段は、前記追記学習に適応する前記複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを前記特定ユニットとして選択し、
前記置換手段は、前記判断手段により前記所要数が前記上限値を超えていると判断された場合、当該選択手段により選択された前記特定ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記特定ユニットと置き換えることを特徴とする請求項1に記載のニューラルネットワークの学習装置。
【請求項3】
前記選択手段は、前記追記学習に適応する前記複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを選択するとともにこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットを選択し、
前記置換手段は、前記判断手段により前記所要数が前記上限値を超えていると判断された場合には、当該選択手段により選択された前記代替ユニットに前記冗長ユニットの機能を肩代わりさせ、かつ前記冗長ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記冗長ユニットと置き換えることを特徴とする請求項1に記載のニューラルネットワークの学習装置。
【請求項4】
GRNN(General Regression Neural Network;一般回帰ニューラルネットワーク)の追記学習を行うニューラルネットワークの学習装置であって、
入力の追記学習によりニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか前記上限値を超えているを判断する判断手段と、
前記判断手段により前記所要数が前記上限値以下であると判断された場合、前記GRNNに新たなニューロンユニットを追加する追加手段と、
前記判断手段により前記所要数が前記上限値を超えていると判断された場合には、前記GRNNを構成する複数のニューロンユニットのうち前記入力に適応する各ニューロンユニットの出力の結合荷重を更新する結合荷重更新手段と、
を特徴とするニューラルネットワークの学習装置。
【請求項5】
GRNN(General Regression Neural Network;一般回帰ニューラルネットワーク)の追記学習を行うニューラルネットワークの学習装置であって、
入力の追記学習によりニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか前記上限値を超えているかを判断する判断手段と、
前記判断手段により前記所要数が前記上限値以下であると判断された場合、前記GRNNに新たなニューロンユニットを追加する追加手段と、
前記判断手段により前記所要数が前記上限値を超えていると判断された場合、前記追記学習に適応する前記GRNNを構成する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択する選択手段と、
前記選択手段により選択された前記特定ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記特定ユニットと置き換え得る第1の手段と、
前記冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットを選択し、前記代替ユニットに前記冗長ユニットの機能を肩代わりさせ、かつ前記冗長ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記冗長ユニットと置き換え得る第2の手段と、
前記複数のニューロンユニットのうち前記入力に適応する各ニューロンユニットの出力の結合荷重を更新し得る第3の手段と、
前記入力の追記学習をまったく行わない第4の手段と、
前記第1の手段による置き換えによって生じる過去の記憶の劣化による第1の予測誤差、前記第2の手段による過去の記憶の劣化による第2の予測誤差、前記第3の手段による過去の記憶の劣化による第3の予測誤差、および前記第4の手段による何も学習をしないことによる前記入力に対する第4の予測誤差、をそれぞれ求める誤差予測手段と、
前記第1の手段、前記第2の手段、前記第3の手段および前記第4の手段の中から、前記誤差予測手段により求められた前記第1〜第4の各予測誤差のうち最も小さい予測誤差に対応する手段を選択して、前記ニューロンユニットの置き換えまたは前記結合荷重の更新を行う置換/更新手段と、
を備えることを特徴とするニューラルネットワークの学習装置。
【請求項6】
GRNN(General Regression Neural Network;一般回帰ニューラルネットワーク)の追記学習を行うニューラルネットワークの学習方法であって、
入力の追記学習によりニューロンユニットの所要数が前記GRNNに実装可能なユニット数の上限値以下であるか前記上限値を超えているかを判断する判断ステップと、
前記判断ステップにより前記所要数が前記上限値以下であると判断された場合、前記GRNNに新たなニューロンユニットを追加する追加ステップと、
前記判断ステップにより前記所要数が前記上限値を超えていると判断された場合、前記GRNNを構成する複数のニューロンユニットから所定の特定ユニットを選択する選択ステップと、
前記選択ステップにより選択された前記特定ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記特定ユニットと置き換える置換ステップと、
を含むことを特徴とするニューラルネットワークの学習方法。
【請求項7】
太陽電池から得られる出力電力の最大電力点を追従するように前記太陽電池の出力電力を変換して出力する太陽電池用のMPPTコンバータの制御装置であって、
前記太陽電池の出力電圧、前記太陽電池の出力電流、前記太陽電池の温度および前記太陽電池の照度を少なくとも入力情報とし、前記MPPTコンバータの出力電圧を制御する制御電圧を出力情報として前記MPPTコンバータに出力するGRNN(General Regression Neural Network;一般回帰ニューラルネットワーク)と、
逐次入力される前記入力情報に基づいて前記GRNNの追記学習を行う請求項1〜5のいずれか一項に記載のニューラルネットワークの学習装置と、
を備えることを特徴とするMPPTコンバータの制御装置。
【請求項1】
GRNN(General Regression Neural Network;一般回帰ニューラルネットワーク)の追記学習を行うニューラルネットワークの学習装置であって、
入力の追記学習によりニューロンユニットの所要数が前記GRNNに実装可能なユニット数の上限値以下であるか前記上限値を超えているかを判断する判断手段と、
前記判断手段により前記所要数が前記上限値以下であると判断された場合、前記GRNNに新たなニューロンユニットを追加する追加手段と、
前記判断手段により前記所要数が前記上限値を超えていると判断された場合、前記GRNNを構成する複数のニューロンユニットから所定の特定ユニットを選択する選択手段と、
前記選択手段により選択された前記特定ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記特定ユニットと置き換える置換手段と、
を備えることを特徴とするニューラルネットワークの学習装置。
【請求項2】
前記選択手段は、前記追記学習に適応する前記複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを前記特定ユニットとして選択し、
前記置換手段は、前記判断手段により前記所要数が前記上限値を超えていると判断された場合、当該選択手段により選択された前記特定ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記特定ユニットと置き換えることを特徴とする請求項1に記載のニューラルネットワークの学習装置。
【請求項3】
前記選択手段は、前記追記学習に適応する前記複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを選択するとともにこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットを選択し、
前記置換手段は、前記判断手段により前記所要数が前記上限値を超えていると判断された場合には、当該選択手段により選択された前記代替ユニットに前記冗長ユニットの機能を肩代わりさせ、かつ前記冗長ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記冗長ユニットと置き換えることを特徴とする請求項1に記載のニューラルネットワークの学習装置。
【請求項4】
GRNN(General Regression Neural Network;一般回帰ニューラルネットワーク)の追記学習を行うニューラルネットワークの学習装置であって、
入力の追記学習によりニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか前記上限値を超えているを判断する判断手段と、
前記判断手段により前記所要数が前記上限値以下であると判断された場合、前記GRNNに新たなニューロンユニットを追加する追加手段と、
前記判断手段により前記所要数が前記上限値を超えていると判断された場合には、前記GRNNを構成する複数のニューロンユニットのうち前記入力に適応する各ニューロンユニットの出力の結合荷重を更新する結合荷重更新手段と、
を特徴とするニューラルネットワークの学習装置。
【請求項5】
GRNN(General Regression Neural Network;一般回帰ニューラルネットワーク)の追記学習を行うニューラルネットワークの学習装置であって、
入力の追記学習によりニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか前記上限値を超えているかを判断する判断手段と、
前記判断手段により前記所要数が前記上限値以下であると判断された場合、前記GRNNに新たなニューロンユニットを追加する追加手段と、
前記判断手段により前記所要数が前記上限値を超えていると判断された場合、前記追記学習に適応する前記GRNNを構成する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択する選択手段と、
前記選択手段により選択された前記特定ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記特定ユニットと置き換え得る第1の手段と、
前記冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットを選択し、前記代替ユニットに前記冗長ユニットの機能を肩代わりさせ、かつ前記冗長ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記冗長ユニットと置き換え得る第2の手段と、
前記複数のニューロンユニットのうち前記入力に適応する各ニューロンユニットの出力の結合荷重を更新し得る第3の手段と、
前記入力の追記学習をまったく行わない第4の手段と、
前記第1の手段による置き換えによって生じる過去の記憶の劣化による第1の予測誤差、前記第2の手段による過去の記憶の劣化による第2の予測誤差、前記第3の手段による過去の記憶の劣化による第3の予測誤差、および前記第4の手段による何も学習をしないことによる前記入力に対する第4の予測誤差、をそれぞれ求める誤差予測手段と、
前記第1の手段、前記第2の手段、前記第3の手段および前記第4の手段の中から、前記誤差予測手段により求められた前記第1〜第4の各予測誤差のうち最も小さい予測誤差に対応する手段を選択して、前記ニューロンユニットの置き換えまたは前記結合荷重の更新を行う置換/更新手段と、
を備えることを特徴とするニューラルネットワークの学習装置。
【請求項6】
GRNN(General Regression Neural Network;一般回帰ニューラルネットワーク)の追記学習を行うニューラルネットワークの学習方法であって、
入力の追記学習によりニューロンユニットの所要数が前記GRNNに実装可能なユニット数の上限値以下であるか前記上限値を超えているかを判断する判断ステップと、
前記判断ステップにより前記所要数が前記上限値以下であると判断された場合、前記GRNNに新たなニューロンユニットを追加する追加ステップと、
前記判断ステップにより前記所要数が前記上限値を超えていると判断された場合、前記GRNNを構成する複数のニューロンユニットから所定の特定ユニットを選択する選択ステップと、
前記選択ステップにより選択された前記特定ユニットを削除した後、前記GRNNに新たなニューロンユニットを追加して前記特定ユニットと置き換える置換ステップと、
を含むことを特徴とするニューラルネットワークの学習方法。
【請求項7】
太陽電池から得られる出力電力の最大電力点を追従するように前記太陽電池の出力電力を変換して出力する太陽電池用のMPPTコンバータの制御装置であって、
前記太陽電池の出力電圧、前記太陽電池の出力電流、前記太陽電池の温度および前記太陽電池の照度を少なくとも入力情報とし、前記MPPTコンバータの出力電圧を制御する制御電圧を出力情報として前記MPPTコンバータに出力するGRNN(General Regression Neural Network;一般回帰ニューラルネットワーク)と、
逐次入力される前記入力情報に基づいて前記GRNNの追記学習を行う請求項1〜5のいずれか一項に記載のニューラルネットワークの学習装置と、
を備えることを特徴とするMPPTコンバータの制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【公開番号】特開2012−98971(P2012−98971A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−246960(P2010−246960)
【出願日】平成22年11月3日(2010.11.3)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 1.発明を掲載したホームページのアドレス (1)アブストラクト http://ibis−workshop.org/2010/posters−abst.html#P4−36 (2)ポスタープレビュー http://ibis−workshop.org/2010/preview/P4−36.pdf 2.発明の掲載日 (1)アブストラクト 平成22年10月13日以降 (2)ポスタープレビュー 平成22年10月27日以降 3.公開者名 (1)アブストラクト 山内 康一郎 (2)ポスタープレビュー 山内 康一郎 4.発明の内容 (1)アブストラクト Limited General Regression Neural Networkによる追記学習 (2)ポスタープレビュー Limited General Regression Neural Networkによる追記学習
【出願人】(500433225)学校法人中部大学 (105)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願日】平成22年11月3日(2010.11.3)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 1.発明を掲載したホームページのアドレス (1)アブストラクト http://ibis−workshop.org/2010/posters−abst.html#P4−36 (2)ポスタープレビュー http://ibis−workshop.org/2010/preview/P4−36.pdf 2.発明の掲載日 (1)アブストラクト 平成22年10月13日以降 (2)ポスタープレビュー 平成22年10月27日以降 3.公開者名 (1)アブストラクト 山内 康一郎 (2)ポスタープレビュー 山内 康一郎 4.発明の内容 (1)アブストラクト Limited General Regression Neural Networkによる追記学習 (2)ポスタープレビュー Limited General Regression Neural Networkによる追記学習
【出願人】(500433225)学校法人中部大学 (105)
[ Back to top ]