(57)【特許請求の範囲】
【請求項１】
ＧＲＮＮ（General Regression Neural Network；一般回帰ニューラルネットワーク）の追記学習を行うニューラルネットワークの学習装置であって、
入力の追記学習を行うことにより必要になるニューロンユニットの所要数が前記ＧＲＮＮに実装可能なユニット数の上限値以下であるか前記上限値を超えているかを判断する判断手段と、
前記判断手段により前記所要数が前記上限値以下であると判断された場合、前記ＧＲＮＮに新たなニューロンユニットを追加する追加手段と、
前記判断手段により前記所要数が前記上限値を超えていると判断された場合、前記ＧＲＮＮを構成する複数のニューロンユニットから所定の特定ユニットを選択する選択手段と、
前記選択手段により選択された前記特定ユニットを削除した後、前記ＧＲＮＮに新たなニューロンユニットを追加して前記特定ユニットと置き換える置換手段と、
を備えることを特徴とするニューラルネットワークの学習装置。
【請求項２】
前記選択手段は、前記追記学習に適応する前記複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを前記特定ユニットとして選択し、
前記置換手段は、前記判断手段により前記所要数が前記上限値を超えていると判断された場合、当該選択手段により選択された前記特定ユニットを削除した後、前記ＧＲＮＮに新たなニューロンユニットを追加して前記特定ユニットと置き換えることを特徴とする請求項１に記載のニューラルネットワークの学習装置。
【請求項３】
前記選択手段は、前記追記学習に適応する前記複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを選択するとともにこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットを選択し、
前記置換手段は、前記判断手段により前記所要数が前記上限値を超えていると判断された場合には、当該選択手段により選択された前記代替ユニットに前記冗長ユニットの機能を肩代わりさせ、かつ前記冗長ユニットを削除した後、前記ＧＲＮＮに新たなニューロンユニットを追加して前記冗長ユニットと置き換えることを特徴とする請求項１に記載のニューラルネットワークの学習装置。
【請求項４】
ＧＲＮＮ（General Regression Neural Network；一般回帰ニューラルネットワーク）の追記学習を行うニューラルネットワークの学習装置であって、
入力の追記学習を行うことにより必要になるニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか前記上限値を超えているかを判断する判断手段と、
前記判断手段により前記所要数が前記上限値以下であると判断された場合、前記ＧＲＮＮに新たなニューロンユニットを追加する追加手段と、
前記判断手段により前記所要数が前記上限値を超えていると判断された場合には、前記ＧＲＮＮを構成する複数のニューロンユニットのうち前記入力に適応する各ニューロンユニットの出力の結合荷重を更新する結合荷重更新手段と、
を備えることを特徴とするニューラルネットワークの学習装置。
【請求項５】
ＧＲＮＮ（General Regression Neural Network；一般回帰ニューラルネットワーク）の追記学習を行うニューラルネットワークの学習装置であって、
入力の追記学習を行うことにより必要になるニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか前記上限値を超えているかを判断する判断手段と、
前記判断手段により前記所要数が前記上限値以下であると判断された場合、前記ＧＲＮＮに新たなニューロンユニットを追加する追加手段と、
前記判断手段により前記所要数が前記上限値を超えていると判断された場合、前記追記学習に適応する前記ＧＲＮＮを構成する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択する選択手段と、
前記選択手段により選択された前記特定ユニットを削除した後、前記ＧＲＮＮに新たなニューロンユニットを追加して前記特定ユニットと置き換え得る第１の手段と、
前記冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットを選択し、前記代替ユニットに前記冗長ユニットの機能を肩代わりさせ、かつ前記冗長ユニットを削除した後、前記ＧＲＮＮに新たなニューロンユニットを追加して前記冗長ユニットと置き換え得る第２の手段と、
前記複数のニューロンユニットのうち前記入力に適応する各ニューロンユニットの出力の結合荷重を更新し得る第３の手段と、
前記入力の追記学習をまったく行わない第４の手段と、
前記第１の手段による置き換えによって生じる過去の記憶の劣化による第１の予測誤差、前記第２の手段による過去の記憶の劣化による第２の予測誤差、前記第３の手段による過去の記憶の劣化による第３の予測誤差、および前記第４の手段による何も学習をしないことによる前記入力に対する第４の予測誤差、をそれぞれ求める誤差予測手段と、
前記第１の手段、前記第２の手段、前記第３の手段および前記第４の手段の中から、前記誤差予測手段により求められた前記第１〜第４の各予測誤差のうち最も小さい予測誤差に対応する手段を選択して、前記ニューロンユニットの置き換えまたは前記結合荷重の更新を行う置換／更新手段と、
を備えることを特徴とするニューラルネットワークの学習装置。
【請求項６】
ＧＲＮＮ（General Regression Neural Network；一般回帰ニューラルネットワーク）の追記学習を行うニューラルネットワークの学習方法であって、
入力の追記学習を行うことにより必要になるニューロンユニットの所要数が前記ＧＲＮＮに実装可能なユニット数の上限値以下であるか前記上限値を超えているかを判断する判断ステップと、
前記判断ステップにより前記所要数が前記上限値以下であると判断された場合、前記ＧＲＮＮに新たなニューロンユニットを追加する追加ステップと、
前記判断ステップにより前記所要数が前記上限値を超えていると判断された場合、前記ＧＲＮＮを構成する複数のニューロンユニットから所定の特定ユニットを選択する選択ステップと、
前記選択ステップにより選択された前記特定ユニットを削除した後、前記ＧＲＮＮに新たなニューロンユニットを追加して前記特定ユニットと置き換える置換ステップと、
を含むことを特徴とするニューラルネットワークの学習方法。
【請求項７】
太陽電池から得られる出力電力の最大電力点を追従するように前記太陽電池の出力電力を変換して出力する太陽電池用のＭＰＰＴコンバータの制御装置であって、
前記太陽電池の出力電圧、前記太陽電池の出力電流、前記太陽電池の温度および前記太陽電池の照度を少なくとも入力情報とし、前記ＭＰＰＴコンバータの出力電圧を制御する制御電圧を出力情報として前記ＭＰＰＴコンバータに出力するＧＲＮＮ（General Regression Neural Network；一般回帰ニューラルネットワーク）と、
逐次入力される前記入力情報に基づいて前記ＧＲＮＮの追記学習を行う請求項１〜５のいずれか一項に記載のニューラルネットワークの学習装置と、
を備えることを特徴とするＭＰＰＴコンバータの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般回帰ニューラルネットワーク（ＧＲＮＮ；General Regression Neural Network）の追記学習をするニューラルネットワークの学習装置、学習方法およびそれを用いたＭＰＰＴコンバータの制御装置に関するものである。
【背景技術】
【０００２】
ニューラルネットワークは、下記、特許文献１に開示される「心磁図の分類のための機械学習の使用」のように、パターン認識やデータ解析等の様々な技術分野において用いられており、これらは、通常、ワークステーションやパーソナルコンピュータのアプリケーションとして実装されることが多い。
【０００３】
近年では、特定の機能を実現するために家電製品や機械に組み込まれる組み込みシステムにおいても、ニューラルネットワークが利用されつつあるが、製品コストを抑える市場ニーズに起因してハードウェアリソースが最小限に制限される傾向にあることから、ワークステーション等のアプリケーションとして実装される場合に比べると、組み込みシステムにおいてはニューラルネットワークの利用はあまり進んでない。
【０００４】
特に、ハードウェアリソースに汎用のマイクロコンピュータを用いる場合には、メモリ上にニューラルネットワークを構築することになるから、中間層を構成するニューロンユニット（中間ユニット）の数がメモリサイズによって制限されてしまう。そのため、ハードウェアリソースを有効利用する観点で、中間ユニットの数を最小限に抑える方法が提案されており、例えば、下記の非特許文献１に開示される「Limited Resource Allocation Networks」の技術がある（以下、この技術のことを「ＬＲＡＮ」という）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００７−５２７２６６号公報
【非特許文献】
【０００６】
【非特許文献１】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.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このＬＲＡＮは、放射基底関数（ＲＢＦ；Radial Basis Function）の中間ユニット数を所定数以上にならないようにする学習法で、ＲＢＦＮＮ（Radial Basis Function Neural Networks）を使用するものであるが、この学習方法によると、同一かつ独立な分布をとるi.i.d.（independent and identically distributed）データが必要になる。
【０００８】
ところが、i.i.d.データは理論的には生成可能であっても、現実には生成されるデータ間に少なからず相関関係が存在するため、理想的なi.i.d.データを生成することは極めて難しい。このため、ＬＲＡＮによる学習法を具体的な装置に適用するには技術的な課題が潜在しており、組み込みシステムへの実装を困難にしているという問題がある。
【０００９】
例えば、日射状態が急激に変動し得る環境に設置される太陽光発電システムにおいては効率良く電力を得るために、最大電力点追従（ＭＰＰＴ；Maximum Power Point Trucker）の制御にニューラルネットワークを用いる検討が行われている。これを行うには、本来、個々の太陽電池パネルの経年変化を含めた特性を運用途中に学習することが望ましいが、上述したようなハードウェアリソースが制限される等の理由から、学習をさせない代わりに予め標準的なパラメータを埋め込んで使用する場合が多い。このため、最大電力点の追従制御が十分になされておらず、日照状態の急変に対応し難いという問題がある。
【００１０】
本発明は、上述した課題を解決するためになされたもので、組み込みシステムに実装し得るニューラルネットワークの学習装置を提供することを目的とする。
また、本発明の別の目的は、日射状態が急激に変動し得る環境に設置される太陽光発電システムであっても出力電力の最大電力点追従制御を十分に行い得る太陽電池用のＭＰＰＴコンバータの制御装置を提供することである。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、特許請求の範囲に記載された請求項１の技術的手段を採用する。この手段によると、一般回帰ニューラルネットワーク（ＧＲＮＮ；General Regression Neural Network）の追記学習を行うニューラルネットワークの学習装置であって、判断手段、選択手段、追加手段および置換手段を備える（以下、一般回帰ニューラルネットワークのことを「ＧＲＮＮ」という）。
【００１２】
即ち、判断手段によって、入力の追記学習を行うことにより必要になるニューロンユニットの所要数がＧＲＮＮに実装可能なユニット数の上限値以下であるか上限値を超えているかを判断し、追加手段によって、判断手段により所要数が上限値以下であると判断された場合、ＧＲＮＮに新たなニューロンユニットを追加する。これに対し、判断手段により所要数が上限値を超えていると判断された場合、選択手段によってＧＲＮＮを構成する複数のニューロンユニットから所定の特定ユニットを選択し、置換手段よって、選択手段により選択された特定ユニットを削除した後、ＧＲＮＮに新たなニューロンユニットを追加して特定ユニットと置き換える。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、ＧＲＮＮに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。なお「入力」とは、新しく提示されるサンプルのことである（以下同じ）。
【００１３】
また、特許請求の範囲に記載された請求項２の技術的手段を採用する。この手段によると、選択手段は、追記学習に適応する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択し、置換手段は、判断手段により所要数が上限値を超えていると判断された場合、当該選択手段により選択された特定ユニットを削除した後、ＧＲＮＮに新たなニューロンユニットを追加して特定ユニットと置き換える。これにより、置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットであるから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを低くすることができる。
【００１４】
また、特許請求の範囲に記載された請求項３の技術的手段を採用する。この手段によると、選択手段は、追記学習に適応する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを選択するとともにこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットを選択し、置換手段は、判断手段により所要数が上限値を超えていると判断された場合には、当該選択手段により選択された代替ユニットに冗長ユニットの機能を肩代わりさせ、かつ冗長ユニットを削除した後、ＧＲＮＮに新たなニューロンユニットを追加して冗長ユニットと置き換える。置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットで、しかもこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットにその機能を肩代わりさせることから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを一層低くすることができる。
【００１５】
また、特許請求の範囲に記載された請求項４の技術的手段を採用する。この手段によると、判断手段によって、入力の追記学習を行うことにより必要になるニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか上限値を超えているかを判断し、追加手段によって、判断手段により所要数が上限値以下であると判断された場合、ＧＲＮＮに新たなニューロンユニットを追加する。これに対し、判断手段により所要数が上限値を超えていると判断された場合には、結合荷重更新手段によって、ＧＲＮＮを構成する複数のニューロンユニットのうち入力に適応する各ニューロンユニットの出力の結合荷重を更新する。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、ＧＲＮＮに実装可能なユニット数の上限値を超えていても、ニューロンユニットの削除を行うことなく、当該追記学習を行うことができる。したがって、ニューロンユニットを単に削除してそのぶん新たなユニットを追加する場合に比べて、ユニットの削除により失われる記憶がないためリスクを非常に低くすることができる。
【００１６】
また、特許請求の範囲に記載された請求項５の技術的手段を採用する。この手段によると、ＧＲＮＮの追記学習を行うニューラルネットワークの学習装置であって、判断手段、選択手段、追加手段、第１の手段、第２の手段、第３の手段、第４の手段、誤差予測手段および置換／更新手段を備える。
【００１７】
即ち、判断手段によって、入力の追記学習を行うことにより必要になるニューロンユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか上限値を超えているかを判断し、追加手段によって、判断手段により所要数が上限値以下であると判断された場合、ＧＲＮＮに新たなニューロンユニットを追加する。これに対し、選択手段によって、判断手段により所要数が上限値を超えていると判断された場合、追記学習に適応するＧＲＮＮを構成する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択し、誤差予測手段によって、第１の手段による置き換えによって生じる過去の記憶の劣化による第１の予測誤差、第２の手段による過去の記憶の劣化による第２の予測誤差、第３の手段による過去の記憶の劣化による第３の予測誤差、および第４の手段による何も学習をしないことによる入力に対する第４の予測誤差、をそれぞれ求める（誤差予測手段によって、第１の手段による特定ユニットの、その類似ユニットによる肩代わりを行ったうえでの置き換えをすることによる追記学習をすると仮定した場合における第１の予測誤差、第２手段による特定ユニットを他のユニットに肩代わりさせずに置き換えを行うことによる追記学習をすると仮定した場合における第２の予測誤差、第３の手段による既存ユニットのパラメータを更新することにより追記学習をすると仮定した場合における第３の予測誤差、および第４の手段によってまったく学習をしないと仮定したときの（新しいサンプルの）入力に対する第４の予測誤差、をそれぞれ求める。）。
つまり、誤差予測手段は、追記学習前に、追記学習後に生ずる記憶の劣化を予測するもので、追記学習によって新しい記憶（記憶Ｂ）が加わるという状況において、現時点（追記学習前）に持っている記憶Ａがどれほど劣化するかを予測することによって予測誤差（第１の予測誤差、第２の予測誤差および第３の予測誤差）を算出する。一方、第４の予測誤差については、新しい記憶Ｂを加えないことによる予測誤差で、この記憶Ｂが無いことによる予測誤差である（例えば、単純に記憶Ｂに対応する入力（新しい学習サンプル）に対する誤差×重要度）。
そして、置換／更新手段によって、第１の手段、第２の手段、前記第３の手段および前記第４の手段の中から、誤差予測手段により求められた第１〜第４の各予測誤差のうち最も小さい予測誤差に対応する手段を選択して、ニューロンユニットの置き換えまたは結合荷重の更新を行う（第４の手段を選択した場合には何もしない）。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、ＧＲＮＮに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、第１の手段、第２の手段、第３の手段および前記第４の手段による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため（第４の手段を選択した場合には何もしないため）、それによりリスクを極めて低くすることができる。
なお、ユニットの置き換え等に際しては、第１の手段、第２の手段および第３の手段による置き換え等に伴う第１〜第３の予測誤差を求めたうえで、それが最も小さいものと、第４の手段、即ち学習をしないことによる第４の予測誤差とを比較して、より小さい方を選択するようにしても良い。これによって第４の手段を選ばない場合でも、予測誤差の最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。
【００１８】
また、特許請求の範囲に記載された請求項６の技術的手段を採用する。この手段によると、ＧＲＮＮの追記学習を行うニューラルネットワークの学習方法であって、判断ステップ、選択ステップ、追加ステップおよび置換ステップを備える。
【００１９】
即ち、判断ステップによって、入力の追記学習を行うことにより必要になるニューロンユニットの所要数がＧＲＮＮに実装可能なユニット数の上限値以下であるか上限値を超えているかを判断し、追加ステップによって、判断ステップにより所要数が上限値以下であると判断された場合、ＧＲＮＮに新たなニューロンユニットを追加する。これに対し、判断ステップにより所要数が上限値を超えていると判断された場合、選択ステップによってＧＲＮＮを構成する複数のニューロンユニットから所定の特定ユニットを選択し、置換ステップよって、選択ステップにより選択された特定ユニットを削除した後、ＧＲＮＮに新たなニューロンユニットを追加して特定ユニットと置き換える。これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、ＧＲＮＮに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。
【００２０】
また、特許請求の範囲に記載された請求項７の技術的手段を採用する。この手段によると、太陽電池の出力電圧、太陽電池の出力電流、太陽電池の温度および太陽電池の照度を少なくとも入力情報とし、ＭＰＰＴコンバータの出力電圧を制御する制御電圧を出力情報としてＭＰＰＴコンバータに出力するＧＲＮＮと、逐次入力される入力情報に基づいてＧＲＮＮの追記学習を行う請求項１〜５のいずれか一項に記載のニューラルネットワークの学習装置と、を備える。これにより、請求項１〜５のいずれか一項に記載のニューラルネットワークの学習装置による作用・効果の恩恵を受けることができる。即ち、新たな入力による追記学習によって必要となるニューロンユニットの数が、ＧＲＮＮに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができるので、ハードウェアリソースの制限等により、これまで十分にできなかった太陽電池パネル固有の特性を追記学習することができる。
【発明の効果】
【００２１】
請求項１の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、ＧＲＮＮに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。したがって、ハードウェアリソースが最小限に制限されがちな組み込みシステムであっても、ニューラルネットワークを実装することが可能となる。
【００２２】
請求項２の発明では、置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットであるから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを低くすることができる。したがって、これまで学習した記憶による影響を最小限に抑えることが可能となる。
【００２３】
請求項３の発明では、置換手段によって置き換えられる特定ユニットは、冗長度が最も高い冗長ユニットで、しかもこの冗長ユニットの出力を置き換え可能な出力をもつ代替ユニットにその機能を肩代わりさせることから、置き換えに伴うユニットの削除により特定ユニットの役割が失われても、それによりリスクを一層低くすることができる。したがって、これまで学習した記憶による影響をより最小限に抑えることが可能となる。
【００２４】
請求項４の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、ＧＲＮＮに実装可能なユニット数の上限値を超えていても、ニューロンユニットの削除を行うことなく、当該追記学習を行うことができる。
したがって、ニューロンユニットを単に削除してそのぶん新たなユニットを追加する場合に比べて、ユニットの削除により失われる記憶が少ないためリスクを非常に低くすることができる。よって、これまで学習した記憶による影響をより一層最小限に抑えることが可能となる。
【００２５】
請求項５の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、ＧＲＮＮに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、第１の手段、第２の手段、第３の手段および前記第４の手段による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため（第４の手段を選択した場合には何もしないため）、それによりリスクを極めて低くすることができる。したがって、これまで学習した記憶による影響をより非常に最小限に抑えることが可能となる。また、新たな入力による学習をすることで、それまでに得た過去の記憶に大きな影響、例えば著しいダメージを与え得る場合には、第４の手段を選択することにより何も行わないので、過去の記憶に与え得るダメージから逃れることができる。
なお、ユニットの置き換え等に際しては、第１の手段、第２の手段および第３の手段による置き換え等に伴う第１〜第３の予測誤差を求めたうえで、それが最も小さいものと、第４の手段、即ち学習をしないことによる第４の予測誤差とを比較して、より小さい方を選択するようにしても良い。これによって第４の手段を選ばない場合でも、予測誤差の最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。したがって、これまで学習した記憶による影響をより非常に最小限に抑えることが可能となる。
【００２６】
請求項６の発明では、新たな入力による追記学習によって必要となるニューロンユニットの数が、ＧＲＮＮに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができる。したがって、ハードウェアリソースが最小限に制限されがちな組み込みシステムであっても、ニューラルネットワークを実装することが可能となる。
【００２７】
請求項７の発明では、請求項１〜５のいずれか一項に記載のニューラルネットワークの学習装置による作用・効果の恩恵を受けることができる。即ち、新たな入力による追記学習によって必要となるニューロンユニットの数が、ＧＲＮＮに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができるので、ハードウェアリソースの制限等により、これまで十分にできなかった太陽電池パネル固有の特性を追記学習することができる。したがって、日射状態が急激に変動し得る環境に設置される太陽光発電システムであっても出力電力の最大電力点追従制御を十分に行うことが可能となる。
【図面の簡単な説明】
【００２８】
【図１】本発明のニューラルネットワークの学習装置を適用した組み込みシステムの構成例を示すブロック図である。
【図２】図１に示すＧＲＮＮの構成例を示す説明図である。
【図３】本実施形態に係る学習処理の流れを示すフローチャートである。
【図４】検証実験による結果を示す説明図で、図４(A)は学習サンプルを「cpu-perfomance」に設定したもの、図４(B)は学習サンプルを「Auto-mpg」に設定したもの、である。
【図５】検証実験による結果を示す説明図で、図５(A)は学習サンプルを「servo」に設定したもの、図５(B)は学習サンプルを「housing」に設定したもの、である。
【図６】本発明のＭＰＰＴコンバータの制御装置を適用した太陽光発電システムの構成例を示すブロック図である。
【図７】図６に示す太陽光発電システムの回路構成例を示す回路図である。
【発明を実施するための形態】
【００２９】
以下、本発明のニューラルネットワークの学習装置の実施形態について図を参照して説明する。まず、本発明のニューラルネットワークの学習装置を組み込みシステムに適用した実施形態を図１〜図５に基づいて説明する。なお、図１には、組み込みシステム１０の構成例を示すブロック図、図２には、ＧＲＮＮ３０の構成例を示す説明図、図３には、学習処理の流れを示すフローチャート、がそれぞれ図示されている。
【００３０】
図１に示すように、組み込みシステム１０のハードウェアは、制御装置２０と図略の入出力装置から構成されている。制御装置２０は、例えば、汎用のマイクロコンピュータ（ＣＰＵ）とＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ等の半導体メモリ装置とから構成されており、入力装置から入力される情報に対して所定の情報処理を行いその結果を出力装置に出力する機能を有する情報処理装置である。
【００３１】
本実施形態に係る制御装置２０では、後述するように、ＲＡＭによる所定のメモリ領域上にＧＲＮＮ３０を実装可能に構成されている。例えば、入力装置として機能する複数のセンサから出力される信号群（未知入力）に基づいて所定のパターンを認識しその結果を出力装置に予測出力し得るように構成されている。なお、ＲＯＭには、当該制御装置２０のマイクロコンピュータの基本機能を働かせる制御プログラムや学習モジュール５０等の学習プログラムが実装されており、またＥＥＰＲＯＭには後述する学習処理によって得られた学習結果等が格納されている。
【００３２】
一方、組み込みシステム１０のソフトウェアは、マイクロコンピュータの制御プログラムのほかに、ＧＲＮＮ３０および学習モジュール５０を含んで構成されている。ＧＲＮＮ３０は、図２にその構成例が図示されているので、ここからは図２を参照して説明する。
【００３３】
図２に示すように、ＧＲＮＮ３０は、入力層、パターン層、加算層および出力層により構成されている（なお、パターン層および加算層は、中間層や隠れ層とも称される）。これらの各層は、複数のニューロンユニット（神経細胞）の集まりにより構成されており、これらの各層のニューロンユニットは前後段において相互に接続されている。
【００３４】
本実施形態のＧＲＮＮ３０では、パターン層を構成する中間ユニットは、その数が例えば１０ユニットに設定されており、ＲＡＭによる所定のメモリ領域上に実装可能に構成されている。ＧＲＮＮは、学習サンプルが提示されると、このサンプルをそのままデータベースに保持することで、未知のサンプルが入力されるとそれに最も近いデータをデータベースから探し出してその出力を予測出力として出力し得るように構成されている。これにより、中間ユニットは、ルックアップテーブルを連続関数近似で使用できるようにしたものとして解釈することができ、釣鐘型のガウス関数の重み付きの和として出力可能に構成されている。なお、中間ユニットの数は、複数であれば１００でも２００でも１０００でも良く、特に定数に限定されるものではない。
【００３５】
また、パターン層を構成する中間ユニットは、いずれも加算層の２つの加算ユニットに出力可能に構成されている。一方の加算ユニットには結合荷重ｗjで出力し、他方の加算ユニットには各ユニットが学習したサンプル数（他の類似ユニットを肩代わりした割合を含む）を表す値（例えば、このユニットが割り付けられた時にセットされる初期値は１）を結合荷重Ｒjとして加算出力する。そして、一方の加算ユニットの出力を他方の加算ユニットの出力で除算するように出力層に接続されている。これにより、後述する式(1)，(2)が導かれる。
【００３６】
図１に戻って、学習モジュール５０は、予測誤差計算モジュール５１、新規ユニット追加モジュール５３、削除ユニット肩代わりモジュール５５、ユニット削除・追加モジュール５６、ユニットパラメータ更新モジュール５７により構成されている。これらは、後述する学習処理を可能にするプログラム群で前述したＲＯＭに格納されている。
【００３７】
次に、学習モジュール５０による学習処理のアルゴリズムについて説明する。
本実施形態で使用するＧＲＮＮは、次の式(1)により表される。式(1)において、ｘは入力ベクトル、Ｊは中間ユニットの数、φj(ｘ)は第ｊ番目の中間ユニットの入力に対する出力値をそれぞれ表す。またｗjは第ｉ番目の中間ユニットと出力ユニットとの間の結合荷重を表し、さらにＲjはその中間ユニットが後述するように他の類似する中間ユニットを削除する際に肩代わりした割合を表す。φj(ｘ)は式(2)で表される。
【００３８】
【数１】
0005779332.tif 000002
【００３９】
【数２】
0005779332.tif 000003
【００４０】
式(2)において、ベクトルｕjは第ｊユニットの値がピークとなる中心位置を表し、またσは第ｊユニットの広がりを示す標準偏差を表す。
【００４１】
なお、ｗjの初期値は、中間ユニットが割り付けられる際に提示された望ましい出力であるｙnewであり、またＲjの初期値は、同様に割り付けられる際に提示された望ましい「１」である。これらの値は、当該中間ユニットが他の中間ユニットの役割を肩代わりする際に肩代わりする度合いに応じて増減するように設定されている。
【００４２】
本来、ＧＲＮＮでは、中間ユニットの出力値を入力と出力の発生する同時分布Ｐ（ｘ,ｙ）として定義されるが（ｘはベクトル）、カーネル法（文献；Corinna Cortes and Vladimir Vapnik. Support-vector networks. Machine Learning,(20):pp273-297, 1995.）によると、上式(1)におけるφj(ｘ)（＝exp(−‖ｘ−ｕj‖2/(２σ2)))は、ガウスカーネル関数ｋ(ｘ,ｕi)と同じ形をしている（ｘ,ｕはベクトル）。そのため、中間ユニットの出力値は、入力ベクトルｘをヒルベルト空間上の無限次元特徴ベクトルに変換した特徴ベクトルφ(ｘ)と、中間ユニットの中心位置ベクトルｕiをヒルベルト空間上の無限次元特徴ベクトルに変換した特徴ベクトルφ(ｕi)との内積φ(ｘ)Tφ(ｕi)に等しい。Tは転置記号を表し、またφ(ｘ)は、ベクトルｘを無限次元特徴ベクトルに変換する非線形関数を表すことから、上式(1)は、次式(3)に書き換えることができる。
【００４３】
【数３】
0005779332.tif 000004
【００４４】
ここで、φ(ｕi)が他のベクトルφ(ｕj)（ｊ≠ｉ）の線形和で表現できる一次従属であると仮定した場合、両者の関係は、次式(4)で表すことができる。
【００４５】
【数４】
0005779332.tif 000005
【００４６】
これは、φ(ｕi)が冗長であるとみなすことができることを意味しているので、上式(1)は、次式(5)に示すようにφ(ｕi)なしで表現することができる。
【００４７】
【数５】
0005779332.tif 000006
【００４８】
なお、この式(5)においては、φ(ｕi)と第ｉ番目の中間ユニットの出力φi(ｘ)を含んでいない。これは、近似線形独立性（ＡＬＤ；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.））をＧＲＮＮに適用したものである。
【００４９】
本実施形態では、このように冗長とみなすことのできる第ｉユニットを、後述するように新しく提示される学習サンプルを学習するときに使用することで、実装可能なユニット数が制限されているＧＲＮＮであっても、新たな学習サンプルに対する学習を可能にしている。ただし、上記の式(4)が常に成り立つとは限らないため、次式(6)を用いることにより、第ｉ番目の中間ユニットが他の中間ユニットにどの程度置き換え可能であるかの指標をδiを求めることができ、このδiは、値が小さいほど置き換え適していること、つまり冗長である（冗長度が高い（大きい））ことを示す。逆に、δiの値が大きいほど置き換えには不適切、つまり冗長ではない（冗長度が低い（小さい））ことを示す。
【００５０】
【数６】
0005779332.tif 000007
【００５１】
なお、式(6)には、無限次元のベクトルが含まれているが、次式(7)に書き換えることで計算可能となる。このときδiを最小にするベクトルａiは次式(8)で求められ、δiはさらに式(9)に書き直すことができる。
【００５２】
【数７】
0005779332.tif 000008
【００５３】
【数８】
0005779332.tif 000009
【００５４】
【数９】
0005779332.tif 000010
【００５５】
なお、式(8)において、Ｋは行列で、その要素は[Ｋ]ij＝φi(ｕj)となる。また、ベクトルｋ(ｘ)＝[φ1(ｘ),…,φi-1(ｘ),φi+1(ｘ),…]Tである（Tは転置記号）。即ち、後述するフローチャートに示すように、ｉ＝argminj｛δj｝となる中間ユニットを選択し、これを置き換えの対象（所定の特定ユニット）とする（図３に示すＳ１０７）。
【００５６】
そして、置き換えに際しては、置き換えられる第ｉ番目の中間ユニットを削除することにより失われ得る当該中間ユニットの役割（機能）を、他の中間ユニットを肩代わりさせるための指標として肩代わりの度合いがベクトルａiで表現されている。このため、ｊ≠ｉとなる第ｊ番目の中間ユニットについてそのパラメータ（Ｒj,ｗj）を次式(10)のように更新する。
【００５７】
【数１０】
0005779332.tif 000011
【００５８】
前述したように、Ｒjとｗjの初期値は、それぞれ「１」，当該ユニットが割り付けられた時の望ましい出力ｙであるから、肩代わり処理が行われた後においては、第ｉ番目の中間ユニットは、新しい学習サンプルを覚えるため次式(11)によりパラメータを更新する。
【００５９】
【数１１】
0005779332.tif 000012
【００６０】
即ち、第ｉ番目の中間ユニットの中心位置を新しい学習サンプルの入力ベクトルｘnewおよび望ましい出力ｙnewに設定する。なお肩代わりした割合のＲiは「１」のままである。
【００６１】
ところで、このように中間ユニットの置き換えを行った場合には、上記式(10)で示すように、中間ユニットのパラメータの更新を行うことから、各中間ユニットによりそれまでに得た記憶に影響を与え得る（過去の記憶の劣化）。一般的には、このような影響は最小限に抑えることが望ましいため、置き換えを行う前に、当該置き換えによる影響を予測する。
【００６２】
即ち、次に説明する４つの処理について、置き換え等による影響、つまり過去の記憶の劣化による誤差を予測して求め（図３に示すＳ１０９）、置き換え等による影響（予測誤差）が最も小さいものを選択する（図３に示すＳ１１１）。なお、これらの方法で説明する式に含まれるパラメータ（Ｒj,ｗj）は、すべて上記の式(10)，(11)を適用する前の値であるとする。
【００６３】
［１］肩代わり付き枝刈りかつ置き換え処理（図３に示すＳ１２３；Substitution処理）
前述した冗長を示すδiが最小となる第ｉ番目の中間ユニットを他の中間ユニットに肩代わりさせたうえで、この第ｉ番目の中間ユニットを削除して、新しい学習サンプルの学習を行う処理である。これについては既に詳細を述べているので、ここではその予測誤差の算出について説明する。
【００６４】
ここでの予測誤差は、第ｉ番目の中間ユニットを他の中間ユニットに肩代わりさせた際に、他の中間ユニットの出力の変化による影響の総和と第ｉ番目の中間ユニットを削除することで起き得る出力変化による影響との和で表され、次式(12)により求められる。
【００６５】
【数１２】
0005779332.tif 000013
【００６６】
上式(12)において、ｉは最も冗長とみなされた中間ユニットの番号で、ｗ*iは第ｉ番目の中間ユニットの記憶している出力を表し、ｗ*i＝ｗi/Ｒiで求められる。ｐ(Ｃα｜ｘ)は、入力ベクトルｘに対して第α番目の中間ユニットが発火する確率を表している。この確率は、全積分の結果、第α番目の中間ユニットが学習したサンプル数Ｒαに比例した値になる。また、ｐ(Ｃα｜ｘ)についても同様にＲiに比例した値になる。
【００６７】
ここで、上式(12)の導出について式(12a)〜(12f)を参照しながら説明する。
第ｉ番目の中間ユニットの置き換えを行う前においては、その出力ｙoldは次式(12a)で求められ、また置き換えを行った後の出力ｙnewは次式(12b)で求められる。なお、ｔは学習回数を表し、提示された学習サンプルの数と同一である。また、図３に示すＳ１１１による判断処理において、ignoreが選択された場合には、後述するように、新しい学習サンプルの学習を敢えて行うことなくサンプルの入力を無視して学習は行われない。このため、ｗj(t+1)＝ｗj(t)となることに注意されたい。
【００６８】
【数１２ａ】
0005779332.tif 000014
【００６９】
【数１２ｂ】
0005779332.tif 000015
【００７０】
ここで、上式(12a)によるｙoldおよび(12b)によるｙnewの計算はいずれも煩雑になるため、入力ベクトルＸjが第ｊ番目の中間ユニットの中心位置の近傍に存在すると仮定して第ｊ番目の中間ユニットの成分だけに着目する。これにより、計算を簡素化することができる。なお、第ｊ番目の中間ユニット以外の中間ユニットの出力はここでは考慮しない。
【００７１】
【数１２ｃ】
0005779332.tif 000016
【００７２】
【数１２ｄ】
0005779332.tif 000017
【００７３】
そして、上式(12c)，(12d)の差は、次式(12e)になることから、これによりｙnewとｙoldとの差が得られる。
【００７４】
【数１２ｅ】
0005779332.tif 000018
【００７５】
一方、削除される第ｉ番目の中間ユニットの中心位置近傍における入力ベクトルＸiでは、ｗ2iδiだけ出力が変化するものと見込まれるため、次式(12f)となり、上記式(12)が導かれる。
【００７６】
【数１２ｆ】
0005779332.tif 000019
【００７７】
［２］枝刈りかつ置き換え処理（図３に示すＳ１２１；Replace処理）
前述した冗長を示すδiが最小となる第ｉ番目の中間ユニットを削除して、新しい学習サンプルの学習を行う処理である。これは、前述した「肩代わり付き枝刈りかつ置き換え処理」（Substitution処理）から、他の中間ユニットによる肩代わりを除いたものである。
【００７８】
この処理の場合、予測誤差の増加は第ｉ番目の中間ユニットを削除することによる出力の変化である。第ｉ番目の中間ユニットを削除すると、第ｉ番目の中間ユニットが発火していた入力に対しては第ｉ番目の中間ユニットに近傍の他の中間ユニットが出力をすることになる。そこで、このような近傍の中間ユニットの出力と第ｉ番目の中間ユニットの出力との差の総和を次式(13)により得ることで誤差がわかる。
【００７９】
【数１３】
0005779332.tif 000020
【００８０】
上式(13)において、Ｎ(i)は、第ｉ番目の中間ユニットに最近傍の中間ユニットを表す。つまり、ベクトルｕN(i)は、第ｉ番目の中間ユニットの中心位置ｕiの近傍の中心位置となる。
【００８１】
［３］パラメータ更新処理（図３に示すＳ１２５；Modification処理）
上述した［１］や［２］のように中間ユニットの枝刈りや置き換えを行うことなく、単に既存の中間ユニットのパラメータ（ｗα,Ｒα）の更新を行う処理により、新しい学習サンプルに適応するものである。この処理の場合、予測誤差の増加は、次式(14)により求められる。
【００８２】
【数１４】
0005779332.tif 000021
【００８３】
上式(14)において、δnewとａnewαは、上記の式(6)，(8)のｗiとベクトルｕiをそれぞれｙnew、ベクトルｘnewと置き換えることで得られる値であるとする。Ｎnew（≧１）は新しい学習サンプルおよびそれに近い学習サンプルが今後出現する頻度を表しており、いわば新しいサンプルを学習する重要度を表す。
【００８４】
この重要度は、値が大きくなると新しい学習サンプルの学習が優先される確率が高まり、逆に小さくなると学習の優先度が低くなる。そのため、重要度の重みが小さい（軽い）場合には、過去の記憶を保持することに重点が置かれることになる。通常は「１」に設定される。
【００８５】
ここで、上式(14)の導出について式(14a)〜(14d)を参照しながら説明する。
パラメータ更新処理の場合には、新しい学習サンプルを既存の中間ユニットのパラメータを更新することで適応させるので、前述した式(12)の導出と同様に、第ｊ番目の中間ユニットの中心位置の近傍に入力ベクトルＸjでの出力の変化に着目する。これにより、計算を簡素化することができる。即ち、パラメータの更新後は次式(14a)となるので、この出力ｙnewから、パラメータの更新前の出力ｙold（式(14b)）を引けばよい（式(14c)）。なお、ここで説明をしない各パラメータは上記(12c)等と同じである。
【００８６】
【数１４ａ】
0005779332.tif 000022
【００８７】
【数１４ｂ】
0005779332.tif 000023
【００８８】
【数１４ｃ】
0005779332.tif 000024
【００８９】
一方、新しい学習サンプルの近傍においては、ｙ2newδnewだけ誤差が生じる。次式(14d)において、Ｎnewは新しい学習サンプルの近傍に将来やって来る学習サンプルの数を表し、サンプルの重要度（≧１；通常は１）に等しい。以上から上記式(14)が導かれる。
【００９０】
【数１４ｄ】
0005779332.tif 000025
【００９１】
［４］無視（図３に示すＳ１２７；Ignore処理）
上述した［１］〜［３］による中間ユニットの置き換えやパラメータの更新によって、新しい学習サンプルを学習することで、それまでに得た記憶に大きな影響（過去の記憶の著しい劣化）、例えば著しいダメージを与え得る場合には、そのような学習は回避すべきである。そのため、このような場合には、新しい学習サンプルの学習を敢えて行うことなくサンプルの入力を無視する、つまり何も行わない処理を行う。
【００９２】
この場合における予測誤差の増加は、新しい学習サンプルを学習しないことによる誤差となる。そのため、次式により求められる。
【００９３】
【数１５】
0005779332.tif 000026
【００９４】
このように上述した［１］〜［４］による処理によって求められた予測誤差のうち、最も値が小さいものを選択し、それを実行する。なお、予測誤差の値が同一のものが２以上現れた場合には、予め決められた順位にしたがって選択される。例えば、上述した［１］〜［４］の順番（選択順位：高＝［１］＞［２］＞［３］＞［４］＝低）に選択順位を付与する。
【００９５】
次に、上述したアルゴリズムを具現化した学習処理の例を図３に示すフローチャートに基づいて説明する。なお、この学習処理は、図１を参照して説明した制御装置２０のＣＰＵが学習モジュール５０を情報処理することにより実現されている。
【００９６】
図３に示すように、本実施形態に係る学習処理は、まずステップＳ１０１により学習サンプルが入力されると（入力ベクトルｘ）、ステップＳ１０３により当該学習サンプルの追記学習により中間ユニットの所要数が所定の上限値ＮMAX以下であるか否かを判断する処理が行われる。例えば、図４に示す本実施形態における平均二乗誤差の推移の場合では、実装可能な中間ユニットの数は１０に設定されているので、中間ユニットの上限値ＮMAXは「１０」となる。
【００９７】
そして、今回の学習サンプルの入力よって、中間ユニットの所要数が所定の上限値ＮMAX以下（本実施形態では１０以下）であると判断された場合には（Ｓ１０３；Ｙｅｓ）、ＲＡＭの所定領域に中間ユニットを実装する余裕があるので、ステップＳ１０５に移行して新たな中間ユニットを追加、つまり新規ユニットの追加処理を行い、追記学習を行う。この処理は、図１に示す新規ユニット追加モジュール５３により行われる。
【００９８】
これに対し、今回の学習サンプルの入力よって、中間ユニットの所要数が所定の上限値ＮMAX以下（本実施形態では１０以下）でない、即ち所定の上限値ＮMAXを超えていると判断された場合には（Ｓ１０３；Ｎｏ）、ＲＡＭの所定領域に中間ユニットを実装する余裕はないため、ステップＳ１０７に移行して冗長ユニットを探す処理を行う。
【００９９】
このステップＳ１０７による冗長ユニットを探す処理は、前述した式(6)〜(11)に基づくもので、第ｉ番目の中間ユニットが他の中間ユニットにどの程度置き換え可能であるかの指標をδiを求め、δiの値が最も小さい中間ユニットを探すことにより行われる。
【０１００】
続くステップＳ１０９では、ステップＳ１０７で探した中間ユニットに対して、前述した４つの処理（［１］肩代わり付き枝刈りかつ置き換え処理、［２］枝刈りかつ置き換え処理、［３］パラメータ更新処理、［４］無視）について、これらの予測誤差を求める処理を行う。この処理は、図１に示す予測誤差計算モジュール５１により行われる。
【０１０１】
ステップＳ１０９によりそれぞれの予測誤差が算出されると、続くステップＳ１１１によって、予測誤差の最も小さいものに対応する処理（［１］肩代わり付き枝刈りかつ置き換え処理（Substitution処理）、［２］枝刈りかつ置き換え処理（Replace処理）、［３］パラメータ更新処理（Modification処理）、［４］無視（Ignore））を選択する処理が行われる。この処理も、図１に示す予測誤差計算モジュール５１により行われる。
【０１０２】
そして、ステップＳ１２０により、各選択された処理（Ｓ１２１；Replace処理、Ｓ１２３；Substitution処理、Ｓ１２５；Modification処理）が実行された後、置き換えまたはパラメータ更新された中間ユニットを含めて今回の学習サンプルに対して追記学習を行う。この処理のうち、Replace処理は、図１に示すユニット削除・追加モジュール５６により行われ、またSubstitution処理は、図１に示す削除ユニット肩代わりモジュール５５およびユニット削除・追加モジュール５６により行われる（削除ユニット肩代わりモジュール５５により削除されるユニットを他のユニットに肩代わりさせた後、ユニット削除・追加モジュール５６によりユニットを削除して新たなユニットとして割り付けられる）。さらにModification処理は、図１に示すユニットパラメータ更新モジュール５７により行われる。なお、ステップＳ１１１により、Ignoreが選択された場合には、今回の学習サンプルに対して追記学習を行うことなく無視する。追記学習が終わると、再びステップＳ１０１に戻って、新たな学習サンプルの入力に備える。
【０１０３】
次に、図４および図５を参照しながら、本実施形態に係る学習処理（図３参照）の効果が確認するために行った検証実験（ベンチマークテスト）による結果を説明する。なお、図４および図５には、学習サンプルを「cpu-perfomance」に設定した結果（図４(A)）、「Auto-mpg」に設定した結果（図４(B)）、「servo」に設定した結果（図５(A)）、「housing」に設定した結果（図５(B)）、がそれぞれ図示されている。
【０１０４】
ベンチマークテストに使用したデータセット（学習サンプル）は、UCI Machine Learning Repositoryに収録されているもので、諸元は次の通りである。
データセット名  サイズ  入力数  出力数
cpu-perfomance    263      6       1
Auto-mpg          398      7       1
servo             167     12       1
housing           507     13       1
【０１０５】
比較対象として、Nearest Neighbor editing(NN-editing)を使用した。NN-editingでは、argminiΣj∈Neighbors(i)(ｗ*j−ｗ*i)で求められるユニットが置き換え対象となる。Ｎeighbors(i)は、第ｉ番目のユニットの近傍を表す。また比較のため、Σj∈Neighbors(i)(ｗ*j−ｗ*i)が新しい学習サンプルに対する誤差より大きい場合には学習をしないものも用意した（図４および図５において「Editing+新規サンプル無視オプション」（＋印によるプロット）がこれを表す）。
【０１０６】
なお、このベンチマークテストでは、ユニット数の上限値を「１０」に設定した。また、新しい学習サンプルの重要度重みＮnewは「１」、ユニットの標準源差σ2＝１、にそれぞれ設定した。各学習システムは、１つの学習サンプルを学習する度毎ににデータセット全体の平均二乗誤差を計測し、さらにこのテストを５０回提示するサンプルの順序を変えてテストを繰り返して結果として５０回分を平均した。９５％信頼区間を求めた。
【０１０７】
図４および図５に示すように、図３に示すフローチャートによる学習処理によるものは、これらの図中において「提案手法」と記載されている×印によるプロットで、いずれの検証実験（図４(A)，(B)、図５(A)，(B)）においても、平均二乗誤差は最小値を示していることが確認できる。これに対し、比較対象として使用したNN-editingのものは＊印によるプロットで、データセットを「cpu-perfomance」に設定した場合を除いて、学習したサンプル数が１０を超えると、平均二乗誤差が著しく悪化していることがわかる。
【０１０８】
これは、このベンチマークテストではニューロンユニット数の上限値を「１０」に設定したため、図３に示すフローチャートによる学習処理によるもの以外は、学習サンプルが１０を超えた場合には過去の記憶に与える影響を十分に抑制することができない。このため、それ以降の学習は有効なものではなく誤差の急激な増加に至っているものと考えられる。本実施形態に係る学習処理（学習方法）による技術的な効果が顕著に現れた例として確認できる。
【０１０９】
以上説明したように、本実施形態に係るニューラルネットワークの学習装置によると（図３参照）、ステップＳ１０３（判断手段、判断ステップ）によって、入力の追記学習により中間ユニットの所要数が実装可能なニューロンユニット数の上限値以下であるか上限値を超えているかを判断し、ステップＳ１０５（追加手段、追加ステップ）によって、ステップＳ１０３により所要数が上限値以下であると判断された場合（Ｓ１０３；Ｙｅｓ）、ＧＲＮＮ３０に新たなニューロンユニットを追加する。
【０１１０】
これに対し、ステップＳ１０７（選択手段、選択ステップ）によって、ステップＳ１０３により所要数が上限値を超えていると判断された場合（Ｓ１０３；Ｎｏ）、追記学習に適応するＧＲＮＮ３０を構成する複数のニューロンユニットの冗長度を求め、この冗長度が最も高い冗長ユニットを特定ユニットとして選択し、ステップＳ１０９（誤差予測手段）によって、ステップＳ１２１（第１の手段）による置き換え後による追記学習をすると仮定した場合の第１の予測誤差、ステップＳ１２３（第２の手段）による置き換えによる追記学習をしたと仮定したときの第２の予測誤差、およびステップＳ１２５（第３の手段）による更新による追記学習をしたと仮定した場合における第３の予測誤差、そしてステップＳ１２７（第４の手段）により新規サンプルを無視する（学習を行わない）と仮定したときの第４の予測誤差、をそれぞれ求める。
【０１１１】
そして、ステップＳ１１１（置換／更新手段）によって、ステップＳ１２１、ステップＳ１２３、ステップＳ１２５およびステップＳ１２７の中から、ステップＳ１０９により求められた第１〜第４の各予測誤差のうち最も小さい予測誤差に対応する手段を選択して、ニューロンユニットの置き換えまたは結合荷重の更新を行うか（Ｓ１２０；Ｓ１２１，１２３，１２５）、あるいはニューロンユニットの置き換え等を行わない（Ｓ１２０；Ｓ１２７）。
【０１１２】
これにより、新たな入力による追記学習によって必要となるニューロンユニットの数が、ＧＲＮＮ３０に実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、ステップＳ１２１、ステップＳ１２３およびステップＳ１２５による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。また、新たな入力による学習することで、それまでに得た過去の記憶に大きな影響、例えば著しいダメージを与え得る場合には、ステップＳ１２７により何も行わないので、過去の記憶に与え得るダメージから逃れることができる。
【０１１３】
次に、本発明のＭＰＰＴコンバータの制御装置を太陽光発電システムに適用した実施形態、つまり上述したニューラルネットワークの学習装置（学習方法）を組み込んだ太陽光発電システム１００について、図６および図７を参照して説明する。なお、図６には、太陽光発電システムの構成例を示すブロック図、図７には、太陽光発電システムの回路構成例を示す回路図、がそれぞれ図示されている。
【０１１４】
図６に示すように、太陽光発電システム１００は、太陽光を受けて発電をする太陽電池パネル１１０と、この太陽電池パネル１１０から出力される直流電圧を降圧させて出力するＤＣ−ＤＣコンバータ１２０と、このＤＣ−ＤＣコンバータ１２０の出力電力の供給を受ける負荷１３０（例えば二次電池）、ＤＣ−ＤＣコンバータ１２０の電力供給を最大電力点追従（ＭＰＰＴ）により制御する制御装置１５０と、から構成されており、制御装置１５０からＤＣ−ＤＣコンバータ１２０に出力されるリファレンス電圧（比較電圧、参照電圧）Ｖrefによって、最大電力点追従したＤＣ−ＤＣコンバータ１２０（つまりＭＴＴＰコンバータ）の制御を可能にしている。
【０１１５】
制御装置１５０は、Ｐ＆Ｏ（摂動観測法による制御）部１５０ａ、ＧＲＮＮ１５０ｂおよび図略の学習装置（上述した図１〜３の構成を採るもの）により構成されており、両者の協働によって最大電力点追従が可能なＤＣ−ＤＣコンバータ１２０（つまりＭＴＴＰコンバータ）のリファレンス電圧Ｖrefを出力可能にしている。即ち、日射強度の急激な変化が起きたときにはＧＲＮＮ１５０ｂがリファレンス電圧Ｖrefを出力し、逆に日射強度の変化が緩やかなときにはＰ＆Ｏ部１５０ａが出力を出す。また日射強度の変化が緩やかなときにはＰ＆Ｏ部１５０ａの出力をＧＲＮＮ１５０ｂに送り、ＧＲＮＮ１５０ｂに対して学習処理を可能にしている。
【０１１６】
図７に示すように、太陽光発電システム１００を回路的に表現すると、その構成をより具体的に把握することができる。即ち、制御装置１５０は、太陽電池パネル１１０の日射の状態を表す照度データＳを照度センサ１４１により、また太陽電池パネル１１０の温度を表す温度データＴを温度センサ１４２により、さらには太陽電池パネル１１０の出力電圧Ｖpv・電流Ｉを電圧モニタ１４３と電流モニタ１４４とにより、取得している。これにより、制御装置１５０では、このうち２種類のデータ（Ｓ，Ｔ）をＧＲＮＮ１５０ｂに逐次入力する。この一方で、時々刻々と変化する日射状態によって変動するＶpv×Ｉ、即ち発電電力が最大となる電圧Ｖpvを山登り法（Ｐ＆Ｏ法）によって探すとともに当該ＧＲＮＮ１５０ｂに対して（Ｓ，Ｔ）と対応する最適電圧Ｖpvの追記学習を行う。その結果、ＧＲＮＮ１５０ｂは、Ｐ＆Ｏ部１５０ａとの協働により、日射状態に適したリファレンス電圧ＶrefをＤＣ−ＤＣコンバータ１２０に出力することができる。
【０１１７】
このように本実施形態に係る太陽光発電システム１００では、制御装置１５０のＧＲＮＮ１５０ｂに上述した学習装置（学習方法）を適用したので、新たな入力による追記学習によって必要となるＧＲＮＮ１５０ｂのニューロンユニットの数が、ＧＲＮＮ１５０ｂに実装可能なユニット数の上限値を超えていても、当該追記学習を行うことができ、またユニットの置き換え等に際しては、ステップＳ１２１、ステップＳ１２３およびステップＳ１２５による置き換え等に伴う予測誤差を求めたうえで、それが最も小さいものを選択してニューロンユニットの置き換えまたは結合荷重の更新を行うため、それによりリスクを極めて低くすることができる。また場合によっては、ステップＳ１２７により学習をしないことにより過去の記憶に与え得るダメージを回避することができる。したがって、組み込みシステムに実装可能であり、これまで学習した記憶による影響をより非常に最小限に抑えることが可能となる。
【０１１８】
また、これにより、ＧＲＮＮ１５０ｂのハードウェア的な制限をほとんど受けることなく学習が次第に進むので、日射状態の急激な変化等が生じても、応答速度の向上を期待することでき、太陽電池パネル１１０の発電効率を高めることが可能となる。さらに太陽電池パネル１１０の表面に汚れや劣化が生じても、逐一特性を学習するため、常に最適応答が可能となる。
【０１１９】
なお、上述した例では、本願発明に係るニューラルネットワークの学習装置を、太陽光発電システムのＭＴＴＰコンバータの制御装置に適用したが、これに限られることはなく、ＧＲＮＮを利用した制御装置であれば同様に適用することができ、上述した作用・効果を得ることができる。
【符号の説明】
【０１２０】
１０…組み込みシステム
２０…制御装置（学習装置）
３０…ＧＲＮＮ
５０…学習モジュール
５１…予測誤差計算モジュール
５３…新規ユニット追加モジュール
５５…削除ユニット肩代わりモジュール
５６…ユニット削除・追加モジュール
５７…ユニットパラメータ更新モジュール
１００…太陽光発電システム（太陽電池）
１１０…太陽電池パネル
１２０…ＤＣ−ＤＣコンバータ（ＭＴＴＰコンバータ）
１３０…負荷
１４１…照度センサ
１４２…温度センサ
１４３…電圧モニタ
１４４…電流モニタ
１５０…制御装置（ＭＴＴＰコンバータ、学習装置）
１５０ａ…Ｐ＆Ｏ部
１５０ｂ…ＧＲＮＮ
Ｓ１０３（判断手段、判断ステップ）、Ｓ１０５（追加手段、追加ステップ）、Ｓ１０７（選択手段、選択ステップ）、Ｓ１０９（誤差予測手段）、Ｓ１１１（置換／更新手段）、Ｓ１２０（置換／更新手段）、Ｓ１２１（置換手段、第１の手段）、Ｓ１２３（置換手段、第２の手段）、Ｓ１２５（結合荷重更新手段、第３の手段）、Ｓ１２７（第４の手段）
【図１】
0005779332.tif 000027
【図２】
0005779332.tif 000028
【図３】
0005779332.tif 000029
【図４】
0005779332.tif 000030
【図５】
0005779332.tif 000031
【図６】
0005779332.tif 000032
【図７】
0005779332.tif 000033