以下に、図面を参照して、本発明にかかる強化学習プログラム、強化学習方法、および強化学習装置の実施の形態を詳細に説明する。
(実施の形態にかかる強化学習方法の一実施例)
図1は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。強化学習装置100は、風力発電システム101のシミュレータ102を利用し、風力発電システム101に対して強化学習を実施し、風力発電システム101を制御するための制御モデルを学習するコンピュータである。
強化学習装置100は、例えば、サーバ、PC(Personal Computer)、マイコン、PLC(Programmable Logic Controller)などである。
シミュレータ102は、風力発電システム101の動作および性質を模倣するソフトウェアである。風力発電システム101は、風車110と発電機120とを有する。風を受けた風車110により風力は風車トルクに変換され、発電機120の軸に伝達される。風車110の受ける風の風速は、時間に応じて変動しうる。なお、風車110が受ける風の風力は、風車トルクに変換する際の変換損失を発生させながら、風車トルクに変換される。また、風車110は、風車の回転を抑制するブレーキを有する。
発電機120は、風車110を用いて発電を行う。発電機120は、例えば、風車110から軸に伝達された風車トルクを用いて発電を行う。すなわち、発電機120は、軸に伝達された風車トルクを用いて発電を行うことにより、風力により生じた風車トルクとは逆方向の、負荷トルクを風車にかけることができる。また、発電機120を電動機としても機能させることにより負荷トルクを発生することができる。負荷トルクは、例えば、0から負荷トルク上限までの値をとる。
発電機120に供給されたエネルギーが余ると、風車110の回転速度が増加する。回転速度は、例えば、単位時間当たりの回転角度であり、角速度である。回転速度の単位は、例えば、rad/sである。発電機120に供給されたエネルギーが、発電機120で消費されるエネルギーよりも不足すると、風車110の回転速度が減少する。
ここで、風力発電システム101において、発電機120の発電効率を最大化することができる風車110の回転速度および風車トルクは、風速などの環境の変化に応じて変化する。このため、風速などの環境の変化に応じて、風力発電システム101に対して適切な制御を行うことが望まれる。
これに対し、強化学習を用いて、発電機120の発電量を最適化するように、発電機120の負荷トルク値を行動として、風力発電システム101を制御する制御モデルを学習することが考えられる。制御モデルは、具体的には、発電機120の負荷トルクを制御することにより、風車110の風車トルクと風車110の回転速度との関係を表すトルク特性の特性曲線上の風車110の動作点を、発電機120の発電効率を最大化する動作点に接近させる。
ここで、トルク特性は、例えば、以下に示すような各種特性を有する。トルク特性が有する各種特性について、具体的には、図9〜図12を用いて後述する。
第1の特性は、例えば、特性曲線において風車トルクの極大点よりも回転速度が小さい側の領域は、不安定領域になるという特性である。極大点は、風車トルクが極大になる点である。不安定領域では、風車110の動作点は、風車トルクと負荷トルクとに差がある場合、風車トルクと負荷トルクとが離れる方向へ移動する傾向がある。このため、不安定領域では、負荷トルクを風車トルクより小さい値に維持しなければ、風車110の回転が失速し、風車110の回転速度の低下を招く。
第2の特性は、特性曲線において風車トルクの極大点よりも回転速度が大きい側の領域は、安定領域になるという特性である。安定領域では、風車110の動作点は、風車トルクと負荷トルクとに差がある場合、風車トルクと負荷トルクとが釣り合う方向へ移動する傾向がある。このため、安定領域では、風車110の回転速度が安定しやすい。
第3の特性は、発電機120の発電効率を最大化する動作点は、特性曲線において風車トルクの極大点よりも回転速度が大きい側の領域にあるという特性である。以下の説明では、特性曲線において風車トルクの極大点よりも回転速度が大きい側の領域を「山の右側」と表記する場合がある。また、以下の説明では、特性曲線において風車トルクの極大点よりも回転速度が小さい側の領域を「山の左側」と表記する場合がある。
これらの特性から、風力発電システム101について強化学習を実施する際、風車110の動作点が山の右側にある状態に対する行動を試行し、山の右側での好ましい行動を学習することが望まれる。一方で、発電機120の発電効率を最大化する動作点は山の右側にあるため、風車110の動作点が山の左側にある状態に対する行動を試行しなくても、強化学習への悪影響は少ないと考えられる。
しかしながら、風力発電システム101について強化学習を効率よく実施することは難しい。例えば、発電機120の発電量を最適化するように風力発電システム101を制御するための制御モデルを学習するまでに、膨大な行動を試行することになり、強化学習にかかる時間の増大化を招く。
具体的には、強化学習は学習段階では、行動をランダムに選択するため、風車110の動作点が山の左側にある状態にも関わらず、負荷トルクを風車トルクより小さい値に維持せずに、風車110の回転を失速させ、風車110の回転速度の低下を招いてしまう。このため、強化学習では、風車110の動作点を山の右側に移動させ、風車110の動作点が山の右側にある状態に対する行動を試行するまでに、膨大な行動を試行することになり、強化学習にかかる時間の増大化を招いてしまう。
そこで、本実施の形態では、風車110のトルク特性の特性曲線の山の左側部分を、山の右側部分と同様の特性を表すように変更したトルク特性により、強化学習を実施する強化学習方法について説明する。これにより、強化学習方法は、発電量が最大となる動作点が存在し、かつ、回転速度を安定させやすい、安定領域について効率よく学習することができる。
図1において、強化学習装置100は、風速ごとの風車110の風車トルクと風車110の回転速度との関係を表す第1のトルク特性に変更を加えた第2のトルク特性を記憶する。第1のトルク特性は、上述した第1の特性、第2の特性、第3の特性を有するトルク特性である。第1のトルク特性は、具体的には、第1の特性曲線130により表される。第1のトルク特性は、風車110の回転速度の微小変化に対し風車110の回転速度が当該微小変化を拡大する方向に作用する特性を有する部分131を有する。
第2のトルク特性は、第1のトルク特性の部分131を、風車110の回転速度の微小変化に対し風車110の回転速度が当該微小変化を縮小する方向に作用する特性となるように変更したトルク特性である。換言すれば、第2のトルク特性は、不安定領域を安定領域に変更し、上述した第1の特性を有さないトルク特性である。第2のトルク特性は、具体的には、第2の特性曲線140により表される。第2のトルク特性は、例えば、利用者によって入力される。
以下の説明では、元々の第1のトルク特性から変更されず、元々の第1のトルク特性の山の右側の安定領域に対応する第2のトルク特性の安定領域を「真の安定領域」と表記する場合がある。また、以下の説明では、元々の第1のトルク特性の山の左側の不安定領域から変更された第2のトルク特性の安定領域を「仮の安定領域」と表記する場合がある。
強化学習装置100は、第2のトルク特性により強化学習を実施する。強化学習は、例えば、風速、および、風車110の回転速度を観測値とし、風車110に接続された発電機120による発電量を報酬とし、発電機120の負荷トルク値を行動とする。強化学習装置100は、例えば、第2のトルク特性を適用した風力発電システム101のシミュレータ102に、風速の時間変化を表すデータを与え、発電機120の負荷トルク値を行動として強化学習を実施する。
これにより、強化学習装置100は、強化学習において行動をランダムに選択しても、不安定領域が仮の安定領域に変更されたため、風車110の回転を失速しにくくすることができ、風車110の回転を停止しにくくすることができる。結果として、強化学習装置100は、膨大な行動を試行しなくても、強化学習において風車110の回転速度が増加しやすくし、風車110の動作点が第2のトルク特性の真の安定領域に移動しやすくすることができる。そして、強化学習装置100は、風車110の動作点が第2のトルク特性の真の安定領域にある状態に対する行動を試行することができ、強化学習にかかる時間の低減化を図ることができる。
また、上述したように、第2のトルク特性の真の安定領域は、元々の第1のトルク特性の山の右側の安定領域に対応する。このため、強化学習装置100は、強化学習により学習される制御モデルを、元々の第1のトルク特性を有する実際の風力発電システム101に適用可能にすることができ、実際の風力発電システム101を効率的に制御可能にすることができる。
また、上述したように、発電機120の発電効率を最大化する動作点は、元々の第1のトルク特性の山の右側の安定領域にあり、元々の第1のトルク特性の山の左側の不安定領域にはない。換言すれば、仮の安定領域に対する行動が、最適な行動になることはない。このため、強化学習装置100は、強化学習により、風車110の動作点が元々の第1のトルク特性の山の左側の不安定領域にある状態に対する行動を試行しなくても、強化学習へ悪影響を与えないようにすることができる。
ここでは、第2のトルク特性が、利用者によって入力される場合について説明したが、これに限らない。例えば、強化学習装置100が、第1のトルク特性を取得してシミュレータ102に入力し、シミュレータ102が、入力された第1のトルク特性を第2のトルク特性に変更する場合があってもよい。また、強化学習装置100が、強化学習装置100とは異なる装置から第2のトルク特性を受信してシミュレータ102に入力する場合があってもよい。
ここでは、強化学習装置100が、風力発電システム101のシミュレータ102を有する場合について説明したが、これに限らない。例えば、強化学習装置100とは異なる装置が、風力発電システム101のシミュレータ102を有し、強化学習装置100と通信可能である場合があってもよい。
(強化学習装置100のハードウェア構成例)
次に、図2を用いて、強化学習装置100のハードウェア構成例について説明する。
図2は、強化学習装置100のハードウェア構成例を示すブロック図である。図2において、強化学習装置100は、CPU(Central Processing Unit)201と、メモリ202と、ネットワークI/F(Interface)203と、記録媒体I/F204と、記録媒体205とを有する。また、各構成部は、バス200によってそれぞれ接続される。
ここで、CPU201は、強化学習装置100の全体の制御を司る。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。メモリ202は、図3〜図6に後述する各種テーブル300〜600を記憶してもよい。
ネットワークI/F203は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F203は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F203には、例えば、モデムやLAN(Local Area Network)アダプタなどを採用することができる。
記録媒体I/F204は、CPU201の制御に従って記録媒体205に対するデータのリード/ライトを制御する。記録媒体I/F204は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体205は、記録媒体I/F204の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体205は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体205は、強化学習装置100から着脱可能であってもよい。記録媒体205は、メモリ202の代わりに、図3〜図6に後述する各種テーブル300〜600を記憶してもよい。
強化学習装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、強化学習装置100は、記録媒体I/F204や記録媒体205を複数有していてもよい。また、強化学習装置100は、記録媒体I/F204や記録媒体205を有していなくてもよい。
(風車トルク特性情報300の記憶内容)
次に、図3を用いて、風車トルク特性情報300の記憶内容について説明する。風車トルク特性情報300は、例えば、図2に示した強化学習装置100のメモリ202や記録媒体205などの記憶領域により実現される。
図3は、風車トルク特性情報300の記憶内容の一例を示す説明図である。図3に示すように、風車トルク特性情報300は、回転速度と、風速ごとの風車トルクとのフィールドを有する。風車トルク特性情報300は、回転速度ごとに各フィールドに情報を設定することにより、レコードとして記憶される。
風車トルク特性情報300は、各風速における風車110のトルク特性の特性曲線を示す。風速は、例えば、5m/sと8m/sと10m/sと13m/sとである。回転速度のフィールドには、風車110の回転速度が設定される。風速ごとの風車トルクのフィールドには、当該風速における風車110のトルク特性の特性曲線上で、風車110の回転速度に対応する風車トルクが設定される。
(観測履歴400の記憶内容)
次に、図4を用いて、観測履歴400の記憶内容について説明する。観測履歴400は、例えば、図2に示した強化学習装置100のメモリ202や記録媒体205などの記憶領域により実現される。
図4は、観測履歴400の記憶内容の一例を示す説明図である。図4に示すように、観測履歴400は、計測時刻と、風速と、回転速度と、発電量とのフィールドを有する。観測履歴400は、計測時刻ごとに各フィールドに情報を設定することにより、履歴情報がレコードとして記憶される。
計測時刻のフィールドには、風車110の風速、風車110の回転速度、および、発電機120の発電量が計測された計測時刻が設定される。計測時刻は、シミュレータ102上の時刻であり、実際の時刻でなくてよい。
風速のフィールドには、計測時刻に計測された風車110の風速の計測値が設定される。回転速度のフィールドには、計測時刻に計測された風車110の回転速度の計測値が設定される。発電量のフィールドには、計測時刻に計測された発電機120の発電量の計測値が設定される。発電量は、1つ前の計測時刻から最新の計測時刻までの発電量である。
(行動価値テーブル500の記憶内容)
次に、図5を用いて、行動価値テーブル500の記憶内容について説明する。なお、以下の行動価値テーブル500の説明は、強化学習手法としてQ学習等の一部の強化学習手法を用いる場合であり、利用する強化学習手法によっては、利用する記憶内容等は異なるものとなる。行動価値テーブル500は、例えば、図2に示した強化学習装置100のメモリ202や記録媒体205などの記憶領域により実現される。
図5は、行動価値テーブル500の記憶内容の一例を示す説明図である。図5に示すように、行動価値テーブル500は、1以上の風速と、1以上の回転速度と、行動と、Q値とのフィールドを有する。行動価値テーブル500は、各フィールドに情報を設定することにより、行動価値情報がレコードとして記憶される。
風速のフィールドには、風速に対する条件が設定される。条件は、範囲である。図5の例では、風速1のフィールドには、現在の風速に対する条件が設定される。現在の風速は、例えば、最新の計測時刻での風速である。また、風速2のフィールドには、過去の風速に対する条件が設定される。過去の風速は、例えば、1つ前の計測時刻での風速である。
回転速度のフィールドには、風車110の回転速度に対する条件が設定される。図5の例では、回転速度1のフィールドには、現在の風車110の回転速度に対する条件が設定される。現在の風車110の回転速度は、例えば、最新の計測時刻での風車110の回転速度である。また、回転速度2のフィールドには、過去の風車110の回転速度に対する条件が設定される。過去の風車110の回転速度は、例えば、1つ前の計測時刻での風車110の回転速度である。
行動のフィールドには、エージェントにより行動として決定された発電機120の負荷トルク値が設定される。Q値のフィールドには、現在および過去の風速および回転速度が、風速および回転速度のフィールドが示す条件に当てはまる場合に、決定された行動を行うと、報酬である発電機120の発電量の増加にどの程度寄与するかを示すQ値が設定される。
(行動履歴600の記憶内容)
次に、図6を用いて、行動履歴600の記憶内容について説明する。行動履歴600は、例えば、図2に示した強化学習装置100のメモリ202や記録媒体205などの記憶領域により実現される。
図6は、行動履歴600の記憶内容の一例を示す説明図である。図6に示すように、行動履歴600は、計測時刻と、行動とのフィールドを有する。行動履歴600は、計測時刻ごとに各フィールドに情報を設定することにより、履歴情報がレコードとして記憶される。
計測時刻のフィールドには、風車110の風速、風車110の回転速度、および、発電機120の発電量が計測された計測時刻が設定される。計測時刻は、シミュレータ102上の時刻であり、実際の時刻でなくてよい。
行動のフィールドには、計測時刻に計測された風車110の風速、風車110の回転速度、発電機120の発電量に基づいて、エージェントにより行動として決定された発電機120の負荷トルク値が設定される。
(強化学習装置100の機能的構成例)
次に、図7を用いて、強化学習装置100の機能的構成例について説明する。
図7は、強化学習装置100の機能的構成例を示すブロック図である。強化学習装置100は、記憶部700と、取得部701と、シミュレータ702と、エージェント703と、出力部704とを含む。
記憶部700は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域によって実現される。以下では、記憶部700が、強化学習装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部700が、強化学習装置100とは異なる装置に含まれ、記憶部700の記憶内容が強化学習装置100から参照可能である場合があってもよい。
取得部701〜出力部704は、制御部の一例として機能する。取得部701〜出力部704は、具体的には、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、ネットワークI/F203により、その機能を実現する。各機能部の処理結果は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶される。
記憶部700は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部700は、例えば、風速、風車110の風車トルク、風車110の回転速度、および、発電機120の発電量などを記憶してもよい。風車110は、風車110のピッチを制御する機能を有さなくてもよい。記憶部700は、例えば、風車110の風車トルクと、風車110の回転速度との関係を表す、風車110のトルク特性の特性曲線を示す情報を記憶してもよい。記憶部700は、具体的には、風速ごとの風車110の風車トルクと風車110の回転速度との関係を表す第1のトルク特性に変更を加えた第2のトルク特性を記憶する。
第1のトルク特性は、上述した第1の特性、第2の特性、第3の特性を有するトルク特性である。第2のトルク特性は、第1のトルク特性の所定の部分を、風車110の回転速度の微小変化に対し風車110の回転速度が当該微小変化を縮小する方向に作用する特性となるように変更したトルク特性である。所定の部分は、風車110の回転速度の微小変化に対し風車110の回転速度が当該微小変化を拡大する方向に作用する特性を有する部分である。換言すれば、第2のトルク特性は、不安定領域を安定領域に変更し、上述した第1の特性を有さないトルク特性である。これにより、第2のトルク特性は、風車110の回転が失速しにくい特性を表すことができる。
第2のトルク特性は、例えば、風車110に接続された発電機120の負荷トルクが取りうる最大トルク値以下である風車110の風車トルク値の範囲において、当該風車トルク値に対応する回転速度が存在するという特性を有することが好ましい。これにより、第2のトルク特性は、さらに、風車110の回転が失速しにくい特性を表すことができる。
記憶部700は、例えば、強化学習アルゴリズム、および、行動選択アルゴリズムによる処理手順を記憶する。強化学習アルゴリズムは、例えば、Q学習アルゴリズムである。強化学習アルゴリズムは、Q学習アルゴリズム以外であってもよい。行動選択アルゴリズムは、例えば、ε−greedyアルゴリズムである。記憶部700は、例えば、強化学習により学習された制御モデル、または、制御モデルにより決定された行動を記憶してもよい。
制御モデルは、例えば、観測値を入力されると行動を出力することができるモデルである。制御モデルは、例えば、観測値に対する条件に、観測値に対する条件を満たす場合にどのような行動を出力するかを対応付けたテーブルである。制御モデルは、例えば、数式モデルや決定木モデルであってもよい。記憶部700は、具体的には、図3〜図6に示した各種テーブル300〜600を記憶する。
取得部701は、各機能部の処理に用いられる各種情報を取得し、記憶部700に格納し、または、各機能部に出力する。取得部701は、各機能部の処理に用いられる各種情報を記憶部700から取得し、各機能部に出力してもよい。取得部701は、各機能部の処理に用いられる各種情報をシミュレータ702から取得してもよい。取得部701は、各機能部の処理に用いられる各種情報を、強化学習装置100とは異なる装置から取得してもよい。
取得部701は、例えば、風速、風車110の風車トルク、風車110の回転速度、および、発電機120の発電量などを取得してもよい。取得部701は、具体的には、シミュレータ702から、風車110の近傍での風速、風車110の風車トルク、風車110の回転速度、発電機120の負荷トルク、および、発電機120の累積発電量などの計測値を取得してもよい。取得部701は、具体的には、発電機120の累積発電量の差分から、一定時間における発電機120の発電量を取得してもよい。
取得部701は、第1のトルク特性を取得してもよい。取得部701は、取得した第1のトルク特性を第2のトルク特性に変更し、記憶部700に記憶する。取得部701は、例えば、取得した第1のトルク特性のうち風車トルクの極大点を特定する。取得部701は、特定した風車トルクの極大点よりも回転速度が小さい側にある不安定領域を、風車110の回転速度の微小変化に対し風車110の回転速度が当該微小変化を拡大する方向に作用する特性を有する部分として特定する。取得部701は、特定した部分を、風車110の回転速度の微小変化に対し風車110の回転速度が当該微小変化を縮小する方向に作用する特性となるように変更する。これにより、取得部701は、風車110の回転が失速しにくい特性を生成することができる。
シミュレータ702は、第2のトルク特性に基づいて風力発電システム101の動作および性質を模倣する。シミュレータ702は、風速の時間変化を示すデータを参照し、シミュレータ702上の計測時点ごとに、エージェント703が決定した行動に基づいて、風速、風車110の回転速度、および、発電機120による発電量を出力する。シミュレータ702は、風車110の回転速度の微小変化を、風車110に接続された発電機120の負荷トルクの微小変化、または、風速の微小変化により発生させる。これにより、シミュレータ702は、第2のトルク特性に基づく風力発電システム101を模倣することができる。
エージェント703は、学習時には、第2のトルク特性により、強化学習を実施する。エージェント703は、例えば、第2のトルク特性を適用したシミュレータ702を利用し、風速、および、風車110の回転速度を観測値とし、発電機120による発電量を報酬とし、発電機120の負荷トルク値を行動とした強化学習を実施する。
エージェント703は、具体的には、Q学習アルゴリズムにより、行動価値テーブル500を用いて、発電機120の負荷トルク値を行動として強化学習を実施し、観測値が入力されると行動を出力する制御モデルを生成する。これにより、エージェント703は、学習時には、観測値が入力されると行動を出力する制御モデルを、風速の変化傾向などの環境の性質に適合するように学習し、更新することができる。
エージェント703は、行動決定の動作時には、風速、および、風車110の回転速度を観測値として、発電機120の負荷トルク値を行動とした出力を行う。エージェント703は、例えば、行動決定の動作時に、発電機120による発電量を最大化する観点から好ましいと判断される発電機120の負荷トルク値を行動として出力する。これにより、エージェント703は、行動決定の動作時には、実際の風速の変化傾向に合わせて、報酬である発電量の最大化を図ることができる行動を決定することができる。
出力部704は、各機能部の処理結果を出力してもよい。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F203による外部装置への送信、または、メモリ202や記録媒体205などの記憶領域への記憶である。これにより、出力部704は、各機能部の処理結果を利用者に通知可能にし、強化学習装置100の管理や運用、例えば、強化学習装置100の設定値の更新などを支援することができ、強化学習装置100の利便性の向上を図ることができる。
(強化学習装置100の具体的な機能的構成例)
次に、図8を用いて、強化学習装置100の具体的な機能的構成例について説明する。
図8は、強化学習装置100の具体的な機能的構成例を示すブロック図である。強化学習装置100は、風力発電システム101のシミュレータ702と、観測部811と、報酬関数部812と、状態更新部813と、行動決定部814とを含む。図11に示したエージェント703は、例えば、観測部811と、報酬関数部812と、状態更新部813と、行動決定部814とによって実現される。
シミュレータ702は、例えば、風速の時間変化のデータを参照し、風車110の第2のトルク特性に基づいて、風車110と、発電機120と、計測部801と、ブレーキ802と、稼働・停止部803と、電力消費先804との動作および性質を模倣する。
風車110は、風を受け、風力を風車トルクに変換し、発電機120の軸に回転エネルギーとして伝達する。稼働・停止部803は、風速の増加に伴い、ブレーキ802を制御して、風車110を停止させるか、風車110を稼働させるかを決定する。ブレーキ802は、稼働・停止部803の制御に従って、風車110を停止する。
発電機120は、風車110から回転エネルギーとして軸に伝達された風車トルクを用いて発電を行い、電力消費先804に供給する。電力消費先804は、発電された電力を消費する。計測部801は、風速、風車110の風車トルク、風車110の回転速度、および、発電機120の累計発電量を計測し、計測値を出力する。
観測部811は、一定時間ごとに、風速、風車110の風車トルク、風車110の回転速度、および、発電機120の累計発電量の計測値を、シミュレータ702上の計測部801から取得する。観測部811は、取得した計測値を、図4に示した観測履歴400に記憶する。
報酬関数部812は、図4に示した観測履歴400から発電機120の累計発電量を取得し、発電機120の発電量に対応する報酬値を算出し、状態更新部813に出力する。
状態更新部813は、強化学習を実行し、図4に示した観測履歴400から風速および風車110の回転速度を取得し、報酬関数部812から報酬値を取得し、図6に示した行動履歴600を取得し、図5に示した行動価値テーブル500を更新する。
行動決定部814は、図5に示した行動価値テーブル500に基づいて、行動として発電機120の負荷トルク値を決定する。行動決定部814は、例えば、図5に示した行動価値テーブル500に基づいて最適と判断される発電機120の負荷トルク値に、ランダムな補正量を加えて、探索のための行動を決定する。行動決定部814は、決定した行動に基づいて、図6に示した行動履歴600を更新する。
(風車110のトルク特性に基づく強化学習の学習指標)
図9〜図12を用いて、風車110のトルク特性に基づく強化学習の学習指標について説明する。
図9〜図12は、風車110のトルク特性に基づく強化学習の学習指標を示す説明図である。図9の例では、表900を示し、風速ごとの風車110のトルク特性と、風速ごとの発電量特性とを示す。
風速ごとの風車110のトルク特性は、曲線921〜923である。風車110のトルク特性は、山なりの特性である。風速ごとの発電量特性は、曲線911〜913である。発電量特性は、山なりの特性である。一定の風速に対する、発電機120の発電量を最大化することができる風車110の回転速度および風車110の風車トルクの組み合わせを示す最大発電量点は、曲線901上にある。
このため、風車110の動作点は、一定の風速が継続するような場合には、曲線901と曲線921〜923の交点となる最大発電量点a0,a1,a2に設定することが好ましく、山の右側にすることが好ましい。したがって、強化学習で、動作点が山の右側にある状態で適切と判断される負荷トルクを決定するための制御モデルを学習することが好ましいという学習指標が得られる。
換言すれば、強化学習で、風車110の動作点が山の右側にある場合に対する行動を試行することが好ましいという学習指標が得られる。一方で、最大発電点が存在しない風車110の動作点が山の左側にある場合に対しては、行動を試行する重要性が低いという学習指標が得られる。次に、図10の説明に移行する。
図10の例では、表1000を示し、風速ごとの風車110のトルク特性と、風速ごとの発電量特性とを示す。
風速V1,V2の風車110のトルク特性は、曲線1021,1022である。風速V1<風速V2である。風速V1,V2の発電量特性は、曲線1011,1012である。風速の変化に対する、発電機120の発電量を最大化することができる風車110の回転速度および風車110の風車トルクの組み合わせを示す最大発電量点は、曲線1001上にある。ここで、例えば、風速V1で動作点a1であると、風速がV1からV2に増加したとき、負荷トルクが一定であれば、風速の増加により動作点がa1からa2Bに移動し、最大発電量点ではなくなる。
このため、風速の変化などの環境の変化に応じて負荷トルクを変更することが好ましい。例えば、風速がV1からV2に増加した場合は、風速V2の最大発電量点a2の風車トルクと釣り合う大きさの負荷トルクを設定し、風車110の動作点を最大発電量点a2に移動することが好ましい。したがって、強化学習では、風車110の動作点が山の右側にある場合に対し、風速の変化などの環境の変化に応じて、どのような行動が適切であるかを学習することが好ましいという学習指標が得られる。次に、図11の説明に移行する。
図11の例では、表1100を示し、風速ごとの風車110のトルク特性を示し、風車110の動作点が山の右側にある場合について示す。風速V1,V2の風車110のトルク特性は、曲線1101,1102である。風速V1<風速V2である。
ここで、山の右側は、安定領域であり、山の右側では、風車110の動作点は、風車トルクと負荷トルクとに差がある場合、風車トルクと負荷トルクとが釣り合う方向へ移動するという性質がある。また、風速が増加時は回転速度が増加し、風速が減少時は回転速度が減少するという性質がある。
このため、負荷トルクを設定してから時間が経過しても、風車110の動作点は、風車トルクと負荷トルクとが釣り合う点で停止することになる。したがって、強化学習で、負荷トルクがランダムに設定されても風車110の回転が失速して停止することがないような、風車110の動作点が山の右側にある場合に対して、行動を試行することが好ましいという学習指標が得られる。次に、図12の説明に移行する。
図12の例では、表1200を示し、風速ごとの風車110のトルク特性を示し、風車110の動作点が山の左側にある場合について示す。風速V1,V2の風車110のトルク特性は、曲線1201,1202である。風速V1<風速V2である。
ここで、山の左側は、不安定領域であり、山の左側では、風車110の動作点は、風車トルクと負荷トルクとに差がある場合、風車トルクと負荷トルクとが離れる方向へ移動するという性質がある。また、風速が増加時は回転速度が増加し、風速が減少時は回転速度が減少するという性質がある。
このため、負荷トルクを設定してから時間が経過すると、風車110の動作点は、風車トルクと負荷トルクとが離れていく方向に移動し、回転速度は加速度的に変化する傾向がある。回転速度が変化する速度は、例えば、下記式(1)に基づいて特定される。
Iは、慣性モーメントである。慣性モーメントは、回転体が同じ回転運動を保ち続けようとする回転の慣性の大きさである。慣性モーメントが小さいほど、定常状態までの回転速度の変化スピードは早くなる。慣性モーメントは、重さや長さが小さいほど小さな値となる。このため、慣性モーメントは、小型風力発電システムでは小さくなりやすい。
TUは、風車トルクである。λは、周速比である。Uは、風速である。風速が大きいほど、風車トルクの絶対値は大きくなる。TLは、負荷トルクである。上記式(1)の右辺が大きいほど、回転速度の変化量dω/dtは大きくなるため、風速が上がると、回転速度が変化する速度が上がりやすい。
これにより、負荷トルクが、山の左側の現在の動作点の風車トルクより大きい場合、回転速度が加速度的に減少方向に変化しやすく、風車110の回転が失速しやすく停止しやすい。一方で、負荷トルクが、山の左側の現在の動作点の風車トルクより小さく維持された場合、回転速度が増加方向に変化し続け、動作点が山の右側に移動することになる。換言すれば、負荷トルクを、山の左側の現在の動作点の風車トルクより小さく維持しないと、回転速度を増加方向に変化し続けさせ、動作点を山の右側に移動させることは難しい。
このため、強化学習で、負荷トルクがランダムに設定されると、回転速度を増加方向に変化し続けさせることが難しく、風車110の回転が失速しやすく停止しやすく、動作点を山の右側に移動させにくい。また、回転速度が低下し、動作点の風車トルクが小さくなるほど、風車トルクより負荷トルクが小さくなる範囲は狭くなるため、負荷トルクをランダムに設定した際に風車トルクより小さくなる確率が低下しやすく、動作点を山の右側に移動させにくくなる。また、同様に、強化学習で、風速が変化した場合に、風車110の回転が失速しやすく停止しやすく、動作点を山の右側に移動させにくい。したがって、強化学習で、風車110の動作点が山の左側にある場合には行動を試行する重要性が低いにも関わらず、回転速度を増加方向に変化し続けさせることが難しく、動作点を山の右側に移動させにくいという学習指標が得られる。
以上説明したように、発電機120の発電効率を最大化する動作点は山の右側にあるため、強化学習で、動作点が山の右側にある状態で適切と判断される負荷トルクを決定するための制御モデルを学習することが好ましいという学習指標が得られる。換言すれば、強化学習で、風車110の動作点を山の右側に移動させるタイミングを早めることが好ましく、風車110の動作点が山の右側にある状態で、様々な風速の変化に応じて様々な負荷トルクを設定してみることが好ましいという学習指標が得られる。
一方で、発電機120の発電効率を最大化する動作点は山の右側にあるため、風車110の動作点が山の左側にある状態では、様々な負荷トルクを設定してみなくても、強化学習への悪影響は少ないという学習指標が得られる。しかしながら、風車110の動作点が山の左側にある状態では、負荷トルクがランダムに設定されると、風車110の回転が失速しやすく停止しやすく、回転速度を増加方向に変化し続けさせることが難しく動作点を山の右側に移動させにくい。
(風車110のトルク特性の特性曲線を変更する一例)
そこで、図13〜図15を用いて、風車110のトルク特性の特性曲線を変更することにより、負荷トルクがランダムに設定されても風車110の回転が失速しにくく、動作点を山の右側に移動させるタイミングを早めることができる一例について説明する。
図13〜図15は、風車110のトルク特性の特性曲線を変更する一例を示す説明図である。図13において、強化学習装置100は、風車トルク特性情報300を変更し、風車トルク特性情報1300を生成する。強化学習装置100は、例えば、風車トルク特性情報300に基づいて、風速ごとに、風車トルクの極大点を特定する。強化学習装置100は、風速ごとに、特定した極大点よりも小さい回転速度に対応付けられた風車トルクを、特定した極大点よりも大きくなるように変更する。
ここで、強化学習装置100は、例えば、回転速度0に対応する風車トルクが負荷トルク上限以上になり、かつ、回転速度が小さくなるほど風車トルクが大きくなるように、風車トルク特性情報300を変更することが好ましい。強化学習装置100は、例えば、回転速度0に対応する風車トルクが負荷トルクの極大値以上になるように、風車トルク特性情報300を変更してもよい。次に、図14の説明に移行し、変更後の風車トルク特性情報1300が示す特性曲線について説明する。
図14の例では、表1400を示し、変更後の風車トルク特性情報1300が示す風速ごとの風車110のトルク特性を示す。
風速ごとの風車110のトルク特性は、曲線1421〜1423である。風車110のトルク特性は、右下がりの特性である。風速の変化に対する、発電機120の発電量を最大化することができる風車110の回転速度および風車110の風車トルクの組み合わせを示す最大発電量点は、曲線1401上にある。
このため、風車110の動作点は、曲線1401と曲線1421〜1423の交点となる最大発電量点a0,a1,a2に設定することが好ましい。結果として、風車110の動作点を、元々の山の右側に対応する真の安定領域にすることが好ましいという点は、風車110のトルク特性を変更する前と変わることがない。
一方で、風車110のトルク特性を変更する前とは異なり、元々の山の左側に対応する仮の安定領域では、負荷トルクがランダムに設定されても、風車110の回転が失速しにくく、動作点を山の右側に移動させるタイミングを早めやすくなる。同様に、元々の山の左側に対応する仮の安定領域では、風速が変化しても、風車110の回転が失速しにくく、動作点を山の右側に移動させるタイミングを早めやすくなる。次に、図15の説明に移行し、仮の安定領域について具体的に説明する。
図15のように、仮の安定領域では、真の安定領域と同様に、風車110の動作点は、風車トルクと負荷トルクとに差がある場合、風車トルクと負荷トルクとが釣り合う方向へ移動するという性質がある。また、風速が増加時は回転速度が増加し、風速が減少時は回転速度が減少するという性質がある。
このため、仮の安定領域では、真の安定領域と同様に、負荷トルクを設定してから時間が経過しても、風車110の動作点は、風車トルクと負荷トルクとが釣り合う点で停止するようになる。これにより、強化学習で、負荷トルクがランダムに設定されても、風車110の回転が失速して停止することがなくなる。
例えば、ランダムに設定される負荷トルクが、風車トルクより小さければ、風車110の動作点は、風車トルクと負荷トルクとが釣り合う方向へ移動するため、風車110の回転速度が増加し、真の安定領域に移動しやすくなる。一方で、ランダムに設定される負荷トルクが、風車トルクより大きくても、風車110の動作点は、風車トルクと負荷トルクとが釣り合う点で停止するため、風車110の回転が失速しても、風車110の回転が停止してしまうことはない。
(発電機120の負荷トルクを制御する動作例)
次に、図16〜図18を用いて、強化学習装置100が発電機120の負荷トルクを制御する動作例について説明する。
図16〜図18は、発電機120の負荷トルクを制御する動作例を示す説明図である。図16〜図18の例では、風速は、シミュレータ702において、例えば、事前に1秒間隔で計測された値が用いられる。また、回転速度は、例えば、シミュレータ702において0.01〜0.1秒で計測される。発電量は、シミュレータ702において1秒間隔で積算値の差分が計測される。以下の説明では、風速、回転速度、発電量をまとめて取得した、シミュレータ702上の時刻を「計測時刻」と表記する場合がある。
また、発電電力は、風速6m/sで20W程度であり、測定値である積算電力値としては5.5mWh程度である。強化学習は、風速および回転速度を、それぞれ、1m/s、50rpmの幅で離散化し、Q学習により行われる。次に、図16および図17の説明に移行する。
図16および図17の例は、風速5m/s〜7m/sの範囲での風速の時間変化のデータに基づく強化学習による行動価値の変化を示す。まず、図16の説明に移行する。図16の最初の状態は、風速6m/sにおいて、風車110の動作点が真の安定領域にあり、行動として発電機120の負荷トルク30を設定した状態である。
(16−1)強化学習装置100は、シミュレータ702上の計測部から計測値を取得し、観測履歴400へ追加する。強化学習装置100は、例えば、新たに風速7m/sなどの計測値を取得し、観測履歴400にレコード1601を追加する。発電量は、1つ前の計測時刻での行動の結果である。
(16−2)強化学習装置100は、報酬を算出する。強化学習装置100は、例えば、直近の発電量5.03を、報酬として用いる。強化学習装置100は、1つ前の計測時刻での行動の価値としてQ値2.51を算出する。
強化学習装置100は、行動価値テーブル500から、1つ前の計測時刻の風速および回転速度と、2つ前の計測時刻での風速および回転速度とが条件に当てはまり、1つ前の計測時刻での行動を示すレコード1602を特定する。強化学習装置100は、特定したレコード1602のQ値を、算出したQ値で更新する。次に、図17の説明に移行する。
図17の例は、図16の例の続きである。図17の最初の状態は、図16の最後の状態の次の計測時刻でも風速7m/sであり、風車110の動作点が真の安定領域にあり、行動として発電機120の負荷トルク35を設定した状態である。
(17−1)強化学習装置100は、シミュレータ702上の計測部から計測値を取得し、観測履歴400へ追加する。強化学習装置100は、例えば、新たに風速7m/sなどの計測値を取得し、観測履歴400にレコード1701を追加する。発電量は、1つ前の計測時刻での行動の結果である。
(17−2)強化学習装置100は、報酬を算出する。強化学習装置100は、例えば、直近の発電量8.56を、報酬として用いる。強化学習装置100は、1つ前の計測時刻での行動の価値としてQ値4.28を算出する。
強化学習装置100は、行動価値テーブル500から、1つ前の計測時刻の風速および回転速度と、2つ前の計測時刻での風速および回転速度とが条件に当てはまり、1つ前の計測時刻での行動を示すレコード1702を特定する。強化学習装置100は、特定したレコード1702のQ値を、算出したQ値で更新する。
これにより、強化学習装置100は、様々な環境の変化に対して、発電機120の負荷トルクを設定したことが、発電機120の発電効率の最大化の観点から、どの程度好ましい行動であったかを示す情報を記憶することができる。次に、図18の説明に移行する。
図18の例は、風速5m/s〜7m/sである地域Aにおける風力発電システム101に、強化学習装置100を適用し、行動価値テーブル500に基づいて、エージェント703により行動を決定する一例を示す。図18の最初の状態は、風速6m/sの状態である。
(18−1)強化学習装置100は、実際の計測部から計測値を取得し、観測履歴400へ追加する。強化学習装置100は、例えば、新たに風速6m/sなどの計測値を取得し、観測履歴400にレコード1801を追加する。発電量は、1つ前の計測時刻での行動の結果である。
(18−2)強化学習装置100は、行動価値テーブル500に基づいて、現在の計測時刻の風速および回転速度と、1つ前の計測時刻での風速および回転速度とが条件に当てはまるレコード1802,1803を特定する。そして、強化学習装置100は、レコード1802,1803のうちQ値が大きい方のレコード1802が示す行動を、次の行動に決定する。
これにより、強化学習装置100は、地域Aにおける様々な環境の変化に対して、発電機120の発電効率の最大化の観点から好ましい行動を決定することができる。強化学習装置100は、例えば、地域Aにおける様々な環境の変化に対して発電機120の発電効率を最大化するように、発電機120の負荷トルクを決定することができる。
(風車110のトルク特性を変更する前後での強化学習結果の一例)
次に、図19を用いて、風車110のトルク特性を変更する前後での強化学習結果の一例について説明する。
図19は、風車110のトルク特性を変更する前後での強化学習結果の一例を示す説明図である。図19の表1900では、風車110のトルク特性を変更する前での強化学習における回転速度の変化を黒丸によって表し、風車110のトルク特性を変更した後での強化学習における回転速度の変化を白丸によって表す。
ここで、風車110のトルク特性を変更する前では、強化学習において、動作点が不安定領域にある場合、発電機120の負荷トルクがランダムに選択され、現在の動作点に対応する風車110の風車トルクより大きくなると、風車110の回転が失速してしまう。そして、風車110の回転が失速し、風車110の回転が停止した後は、発電機120の負荷トルクを0にしなければ風車110が失速してしまうため、発電機120の負荷トルクをランダムに選択すると、風車110が停止し続けてしまう傾向がある。
結果として、膨大な行動を試行し、発電機120の負荷トルクを風車110の風車トルクより小さい値に維持する行動の価値が高いことを学習しなければ、風車110の回転速度を上昇させ、動作点が安定領域にある場合での行動を試行することができない。このため、動作点が安定領域にある場合に、どのような行動が適切であるかを学習するまでにかかる時間の増大化を招き、発電機120の発電効率を最大化するための制御モデルを学習するまでにかかる時間の増大化を招く。
これに対し、風車110のトルク特性を変更した後では、強化学習において、動作点が仮の安定領域にある場合、発電機120の負荷トルクがランダムに選択され、現在の動作点に対応する風車110の風車トルクより大きくなっても、風車110が停止しない。そして、風車110の回転速度が上昇しやすいため、動作点が真の安定領域にある場合での行動を試行することができ、どのような行動が適切であるかを学習するまでにかかる時間の低減化を図ることができる。
(全体処理手順)
次に、図20を用いて、強化学習装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図2に示したCPU201と、メモリ202や記録媒体205などの記憶領域と、ネットワークI/F203とによって実現される。
図20は、全体処理手順の一例を示すフローチャートである。図20において、まず、強化学習装置100は、シミュレータ702により風力発電システム101の動作や性質を模倣し、シミュレータ702により風速、回転速度、および、発電量を、それぞれに対応するサンプリング間隔で計測する(ステップS2001)。
次に、強化学習装置100は、計測値を取得し、観測履歴400を更新する(ステップS2002)。そして、強化学習装置100は、図21に後述する強化学習処理を実行し、発電機120の負荷トルクを更新する(ステップS2003)。
次に、強化学習装置100は、全体処理を終了するか否かを判定する(ステップS2004)。ここで、全体処理を終了しない場合(ステップS2004:No)、強化学習装置100は、ステップS2001の処理に移行する。一方で、全体処理を終了する場合(ステップS2004:Yes)、強化学習装置100は、全体処理を終了する。これにより、強化学習装置100は、強化学習により風力発電システム101を制御することができる。
(強化学習処理手順)
次に、図21を用いて、強化学習装置100が実行する、強化学習処理手順の一例について説明する。強化学習処理手順は、例えば、図2に示したCPU201と、メモリ202や記録媒体205などの記憶領域と、ネットワークI/F203とによって実現される。
図21は、強化学習処理手順の一例を示すフローチャートである。図21において、強化学習装置100は、観測履歴400の直近K個のレコードを取得する(ステップS2101)。
次に、強化学習装置100は、行動履歴600から1つ前の行動を取得する(ステップS2102)。そして、強化学習装置100は、前回の強化学習処理までの累積発電量と今回の強化学習処理までの累積発電量の差分である、直近の発電量を報酬として算出する(ステップS2103)。
次に、強化学習装置100は、K個の風速および回転速度の組み合わせを状態とし、取得した1つ前の行動と、算出した報酬とに基づいて、強化学習アルゴリズムにより、行動価値テーブル500を更新する(ステップS2104)。
そして、強化学習装置100は、K個の風速および回転速度の組み合わせを状態とし、行動価値テーブル500を参照し、行動選択アルゴリズムにより、発電機120の負荷トルク値を行動として決定する(ステップS2105)。その後、強化学習装置100は、強化学習処理を終了する。これにより、強化学習装置100は、適切と判断される行動を決定するための制御モデルとして利用される行動価値テーブル500を更新することができる。
ここで、強化学習装置100は、図21の一部ステップの処理の順序を入れ替えて実行してもよい。例えば、ステップS2101〜S2103の処理の順序は入れ替え可能である。
以上説明したように、強化学習装置100によれば、第1のトルク特性の不安定領域を仮の安定領域に変更した第2のトルク特性により、強化学習を実施することができる。これにより、強化学習装置100は、強化学習において行動をランダムに選択しても、不安定領域が仮の安定領域に変更されたため、風車110の回転を失速しにくくすることができ、風車110の回転を停止しにくくすることができる。
強化学習装置100によれば、風車110の回転速度の微小変化が、風車110に接続された発電機120の負荷トルクの微小変化、または、風速の微小変化により発生するようにし、強化学習を実施することができる。これにより、強化学習装置100は、風速などの様々な環境の変化に対して、発電機120の負荷トルクを設定したことが、発電機120の発電効率の最大化の観点から、どの程度好ましい行動であるかを学習することができる。
強化学習装置100によれば、風車110に接続された発電機120の負荷トルクが取りうる最大トルク値以下である風車110の風車トルク値の範囲において、当該風車トルク値に対応する回転速度が存在するという特性を有する第2のトルク特性を利用することができる。これにより、発電機120の負荷トルクが最大トルク以下である範囲において、風車110が停止しないようにすることができ、強化学習にとって好ましい特性になるようにすることができる。
強化学習装置100によれば、第1のトルク特性を受け付け、第1のトルク特性を第2のトルク特性に変更することができる。これにより、強化学習装置100は、第2のトルク特性を利用者が生成する作業負担の低減化を図ることができる。
強化学習装置100によれば、強化学習を、第2のトルク特性を有するシミュレータ702上で実施することができる。これにより、強化学習装置100は、第2のトルク特性を実現するハードウェアを風力発電システム101に導入しなくても、強化学習を実施することができる。
強化学習装置100によれば、風速、および、風車110の回転速度を観測値とし、風車110に接続された発電機120による発電量を報酬とし、発電機120の負荷トルク値を行動とした強化学習を実施することができる。これにより、強化学習装置100は、発電効率の観点から適切と判断される発電機120の負荷トルクを決定する制御モデルを生成し、発電機120の負荷トルクにより風力発電システム101を制御可能にすることができる。
強化学習装置100によれば、風車110がピッチを制御する機能を有さない風力発電システム101に適用することができる。これにより、強化学習装置100は、自装置を適用することができる風力発電システム101の種類を増加させることができる。強化学習装置100は、風力発電システム101の製造コストの低減化を図ることができる。
なお、本実施の形態で説明した強化学習方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した強化学習プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した強化学習プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
各風速に対する風車のトルク特性のうち、前記風車の回転速度の微小変化に対し前記風車の回転速度が当該微小変化を拡大する方向に作用する特性を有する部分を、前記風車の回転速度の微小変化に対し前記風車の回転速度が当該微小変化を縮小する方向に作用する特性となるように変更したトルク特性により、強化学習を実施する、
処理を実行させることを特徴とする強化学習プログラム。
(付記2)前記風車の回転速度の微小変化は、前記風車に接続された発電機の負荷トルクの微小変化、または、前記風速の微小変化により発生する、ことを特徴とする付記1に記載の強化学習プログラム。
(付記3)変更した前記トルク特性は、前記風車に接続された発電機の負荷トルクが取りうる最大トルク値以下である前記風車の風車トルク値の範囲において、当該風車トルク値に対応する回転速度が存在するという特性を有する、ことを特徴とする付記1または2に記載の強化学習プログラム。
(付記4)前記コンピュータに、
各風速に対する風車のトルク特性を受け付け、当該トルク特性のうち、前記風車の回転速度の微小変化に対し前記風車の回転速度が当該微小変化を拡大する方向に作用する特性を有する部分を、前記風車の回転速度の微小変化に対し前記風車の回転速度が当該微小変化を縮小する方向に作用する特性となるように変更する、処理を実行させることを特徴とする付記1〜3のいずれか一つに記載の強化学習プログラム。
(付記5)前記強化学習は、前記トルク特性を有するシミュレータ上で実施される、ことを特徴とする付記1〜4のいずれか一つに記載の強化学習プログラム。
(付記6)前記強化学習は、前記風速、および、前記風車の回転速度を観測値とし、前記風車に接続された発電機による発電量を報酬とし、前記発電機の負荷トルクを行動とする、ことを特徴とする付記1〜5のいずれか一つに記載の強化学習プログラム。
(付記7)前記風車は、前記風車のピッチを制御する機能を有さない、ことを特徴とする付記1〜6のいずれか一つに記載の強化学習プログラム。
(付記8)コンピュータが、
各風速に対する風車のトルク特性のうち、前記風車の回転速度の微小変化に対し前記風車の回転速度が当該微小変化を拡大する方向に作用する特性を有する部分を、前記風車の回転速度の微小変化に対し前記風車の回転速度が当該微小変化を縮小する方向に作用する特性となるように変更したトルク特性により、強化学習を実施する、
処理を実行することを特徴とする強化学習方法。
(付記9)各風速に対する風車のトルク特性のうち、前記風車の回転速度の微小変化に対し前記風車の回転速度が当該微小変化を拡大する方向に作用する特性を有する部分を、前記風車の回転速度の微小変化に対し前記風車の回転速度が当該微小変化を縮小する方向に作用する特性となるように変更したトルク特性により、強化学習を実施する、
制御部を有することを特徴とする強化学習装置。