以下に、図面を参照して、本発明にかかる強化学習プログラム、強化学習方法、および強化学習装置の実施の形態を詳細に説明する。
(実施の形態にかかる強化学習方法の一実施例)
図1は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。図1において、強化学習装置100は、風力発電システム101に強化学習を適用し、風力発電システム101を制御するコンピュータである。
風力発電システム101は、風車110と発電機120とを有する。風車110は、風を受ける。風を受けた風車110により、風車110が受ける風の風力は、風車トルクに変換され、発電機120の軸に伝達される。風車110が受ける風の風速は、時間に応じて変動しうる。風車110が受ける風の風力は、風車トルクに変換する際、変換損失を発生させながら、風車トルクに変換される。また、風車110は、風車110の回転を抑制するブレーキを有する。また、風車110は、受風性能を制御する機能を有し、風速が変わらなくても、風車110が受ける風力を変更することができる。風車110は、例えば、ピッチを制御する機能を有する。
発電機120は、風車110を用いて発電を行う。発電機120は、例えば、風車110から軸に伝達された風車トルクを用いて発電を行う。発電機120は、例えば、軸に伝達された風車トルクを用いて発電を行うことにより、風力により生じた風車トルクとは逆方向の、負荷トルクを風車110にかけることができる。また、発電機120を電動機としても機能させることにより、発電機120は、負荷トルクを発生することができる。負荷トルク値は、例えば、0から負荷トルク上限までの値をとることができる。
発電機120は、発電した電力を電力消費先に出力する。発電機120が出力する電力は「出力電力」と呼ばれる。発電機120は、出力電力が定格出力電力を超えると、発電機120の動作が不安定になり、発電機120に負担がかかり、発電機120の故障や劣化を招く。定格出力電力は、発電機120が所定の条件下で安全に出力可能な出力電力である。定格出力電力は単に「定格出力」と呼ばれる。発電機120の出力電力が定格出力に到達する風速の目安は「定格風速」と呼ばれる。
発電機120に供給されたエネルギーが余ると、風車110の回転速度が増加する。回転速度は、例えば、単位時間当たりの回転角度であり、角速度である。回転速度の単位は、例えば、rad/sである。これにより、風車110の回転速度が、回転速度上限に達すると、ブレーキにより風車110の回転が抑制される。回転速度上限は、風車110が安全に回転可能な回転速度の上限である。例えば、風速がカットアウト風速を超えると、風車110の回転速度が、回転速度上限に達する可能性が高くなるため、ブレーキにより風車110の回転が抑制される。発電機120に供給されたエネルギーが、発電機120で消費されるエネルギーよりも不足すると、風車110の回転速度が減少する。
ここで、風力発電システム101では、以上に示した風車110や発電機120の性質から、風速と予定出力電力との関係を示す特性関数が考えられる。特性関数は、例えば、風速が定格風速以下での予定出力電力の変化を示す。特性関数は、例えば、風速が定格風速を超えれば、予定出力電力として定格出力を示す。特性関数は、例えば、風速がカットアウト風速を超えれば、予定出力電力として0を示し、発電を行わないことを示す。特性関数は、例えば、発電機120の製造者によって決定される。
そして、風力発電システム101では、以上に示した特性関数に基づいて、以下に示すような各種制御目標が考えられる。制御目標の一つは、風速が定格風速以下であれば、発電機120の出力電力を、定格出力を超えない範囲で増大させることである。また、制御目標の一つは、風速が定格風速以下であれば、発電機120の出力電力を、予定出力電力を超えるようにすることである。また、制御目標の一つは、風速が定格風速を超えて、かつ、カットアウト風速以下であれば、発電機120の出力電力を、定格出力と一致するように保つことである。また、制御目標の一つは、風速がカットアウト風速を超えれば、ブレーキにより風車110の回転を抑制し、発電を行わないようにすることである。
このため、風力発電システム101に対して、各種制御目標に沿った適切な制御を行うことが望まれる。制御は、例えば、風車110のピッチ角、および、風車110を用いる発電機120の負荷トルク値の少なくともいずれかの制御である。しかしながら、風力発電システム101では、風速などの環境の変化、および、風車110や発電機120の経年劣化や個体差による特性関数の誤差などを、予め特定することが難しい。結果として、風力発電システム101を、どのように制御すればよいかを予め決定することが難しい。
これに対し、強化学習を用いて、環境の変化および特性関数の誤差などを考慮して、風力発電システム101に対して、各種制御目標に沿った適切な制御を行うことを可能にしようとすることが考えられる。例えば、以下に示すような第1の技術、第2の技術、および、第3の技術が考えられる。
第1の技術は、強化学習において、発電機120の出力電力が増加すれば+1を報酬とし、発電機120の出力電力が減少すれば−1を報酬として、風力発電システム101を制御する方策を生成する技術である。学習は、何らかの行動を試行し、試行した行動について行動価値を推定することである。行動価値は、報酬の増加にどの程度寄与するかを示す値である。しかしながら、第1の技術では、発電機120の出力電力が定格出力を超えやすく、発電機120の動作が不安定になりやすい。第1の技術については、例えば、下記参考文献1を参照することができる。
参考文献1:C Wei, Z Zhang, W Qiao, L Qu, “Reinforcement−Learning−Based Intelligent Maximum Power Point Tracking Control for Wind Energy Conversion Systems”, IEEE Trans. Ind. Electron., 62 (10), 6360−6370, 2015.
第2の技術は、強化学習において、予定出力電力−出力電力の絶対値を負の報酬として、風力発電システム101を制御する方策を生成する技術である。しかしながら、第2の技術では、風速が定格風速以下で、発電機120の出力電力が、予定出力電力を下回らず、かつ、超えないようにするため、発電機120の発電効率の悪化を招きやすい。第2の技術については、例えば、下記参考文献2を参照することができる。
参考文献2:H. Bevrani, F. Daneshfar, and R.P. Daneshmand, “Intelligent power system frequency regulations concerning the integration of wind power units”, Wind Power Systems, pp. 407−437, 2010, Springer.
第3の技術は、第1の技術と第2の技術を組み合わせた技術である。第3の技術は、風速が定格風速を超えない範囲では、発電機120の出力電力が増加すれば+1を報酬とし、発電機120の出力電力が減少すれば−1を報酬とする。一方で、第3の技術は、風速が定格風速を超える範囲では、予定出力電力−出力電力の絶対値を負の報酬とする。しかしながら、第3の技術では、風速が定格風速を超える範囲と超えない範囲とで報酬の評価尺度が異なるため、学習効率の低下を招き、適切な制御を行うまでにかかる時間の増大化を招く。
そこで、本実施の形態では、強化学習において、観測した出力電力が定格出力を超えるか否かに応じて異なる算出方法で算出した報酬を用いて学習を行うようにする強化学習方法について説明する。かかる強化学習方法によれば、観測した出力電力が定格出力を超える場合と超えない場合とで報酬の評価尺度を合わせることができ、学習効率を向上することができ、風力発電システム101に対して適切な制御を行いやすくすることができる。
図1において、強化学習装置100は、強化学習を実施する。強化学習は、複数の学習を含み、複数の学習により推定された行動価値に基づく方策を生成する。学習は、何らかの行動を試行し、試行した行動について行動価値を推定することである。行動は、風車110の受風性能に関する指令値、および、発電機120の負荷トルク値の少なくともいずれかである。受風性能に関する指令値は、例えば、ピッチ角である。
強化学習装置100は、例えば、風車110を用いた発電機120からの出力電力、および、風速を観測する。ここで、強化学習装置100は、例えば、観測した出力電力が定格出力電力を超える場合は、定格出力電力から観測した出力電力を減算した差分に対応する報酬を用いて第1の学習を行う。一方で、強化学習装置100は、例えば、観測した出力電力が定格出力電力を超えない場合は、観測した出力電力から、特性関数に基づいて、観測した風速から特定される予定出力電力を減算した差分に対応する報酬を用いて第2の学習を行う。
これにより、強化学習装置100は、風力発電システム101に対して適切な制御を行うことができる。強化学習装置100は、例えば、発電機120の出力電力が定格出力を超えず、発電機120の動作が不安定にならないように、風力発電システム101を制御しやすくすることができる。強化学習装置100は、具体的には、強化学習により、発電機120の出力電力が定格出力を超えないように、風車110のピッチ角および発電機120の負荷トルク値を決定するための方策を生成することができる。
強化学習装置100は、例えば、風速が定格風速以下で、発電機120の出力電力が、定格出力を超えず、かつ、予定出力電力を超えるように、風力発電システム101を制御しやすくすることができる。強化学習装置100は、具体的には、強化学習により、発電機120の出力電力が予定出力電力を超えるように、風車110のピッチ角および発電機120の負荷トルク値を決定するための方策を生成することができる。
強化学習装置100は、例えば、風速が定格風速を超える範囲と超えない範囲とで、報酬の評価尺度を統一することができ、学習効率の低下を抑制することができる。このため、強化学習装置100は、強化学習により、発電機120の出力電力が予定出力電力を超え、かつ、定格出力を超えないようにする方策を生成する際にかかる所要時間の低減化を図ることができる。
(風力発電システム101の一例)
次に、図2を用いて、図1に示した強化学習装置100を適用した、風力発電システム101の一例について説明する。
図2は、風力発電システム101の一例を示す説明図である。図2において、風力発電システム101は、強化学習装置100と風車110と発電機120とを含む。
風力発電システム101において、強化学習装置100と風車110と発電機120とは、直接接続される。強化学習装置100と風車110と発電機120とは、有線または無線のネットワークを介して接続されてもよい。ネットワークは、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
風車110は、風を受け、風力を風車トルクに変換し、発電機120の軸に伝達する物体である。風車110は、風車110の回転を停止するためのブレーキが設けられる。風車110は、受風性能に関する指令値を受信し、受風性能を制御する機能を有する。受風性能を制御する機能は、例えば、風車110のピッチ角を制御する機能である。受風性能に関する指令値は、風車110のピッチ角である。風車110は、風車110の近傍での風速、風車110の風車トルク値、および、風車110の回転速度などを計測するための計測機が設けられる。風車110に設けられた計測機は、例えば、センサ装置を有する。センサ装置は、加速度センサ、地磁気センサ、光センサ、振動センサなどの少なくともいずれかを有してもよい。
発電機120は、風車110を用いて発電を行う機械である。発電機120は、例えば、風車110から軸に伝達された風車トルクを用いて発電を行う。発電機120は、軸に伝達された風車トルクの逆方向に、負荷トルクをかけることができる。発電機120は、発電機120の負荷トルク値および発電機120の出力電力などを計測するための計測機が設けられる。発電機120に設けられた計測機は、例えば、センサ装置を有する。センサ装置は、加速度センサ、地磁気センサ、光センサ、振動センサ、電力センサ、電圧センサ、電流センサなどの少なくともいずれかを有してもよい。
強化学習装置100は、風力発電システム101を制御する。強化学習装置100は、例えば、風車110に設けられた計測機から、風車110の近傍での風速、風車110の風車トルク値、および、風車110の回転速度などの計測値を取得する。強化学習装置100は、例えば、発電機120に設けられた計測機から、発電機120の負荷トルク値および発電機120の出力電力などの計測値を取得する。強化学習装置100は、例えば、風車110の受風性能に関する指令値、および、発電機120の負荷トルク値を制御することにより、風車110の回転速度を制御する。強化学習装置100は、例えば、風車110に設けられたブレーキを制御し、風車110の回転を制御する。強化学習装置100は、例えば、サーバ、PC(Personal Computer)、マイコン、PLC(Programmable Logic Controller)などである。
ここでは、強化学習装置100が、風車110のピッチ角および発電機120の負荷トルク値を制御する場合について説明したが、これに限らない。例えば、風車110のピッチ角を制御する装置と、発電機120の負荷トルク値を制御する装置とが異なる装置であり、それぞれの装置が協働する場合があってもよい。
ここでは、風車110に設けられた計測機と、発電機120に設けられた計測機とが別の装置である場合について説明したが、これに限らない。例えば、風車110に設けられた計測機と、発電機120に設けられた計測機とが同じ装置である場合があってもよい。
(強化学習装置100のハードウェア構成例)
次に、図3を用いて、強化学習装置100のハードウェア構成例について説明する。
図3は、強化学習装置100のハードウェア構成例を示すブロック図である。図3において、強化学習装置100は、CPU(Central Processing Unit)301と、メモリ302と、通信I/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、強化学習装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
通信I/F303は、通信回線を通じてネットワークに接続され、ネットワークを介して他のコンピュータに接続される。通信I/F303は、例えば、ネットワークを介して風車110や発電機120などに接続される。そして、通信I/F303は、ネットワークと内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。通信I/F303は、例えば、モデムやLANアダプタなどにより実現される。
記録媒体I/F304は、CPU301の制御にしたがって記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、強化学習装置100から着脱可能であってもよい。
強化学習装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、強化学習装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、強化学習装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
(強化学習装置100の機能的構成例)
次に、図4を用いて、強化学習装置100の機能的構成例について説明する。
図4は、強化学習装置100の機能的構成例を示すブロック図である。強化学習装置100は、記憶部400と、取得部401と、エージェント402と、出力部403とを含む。
記憶部400は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部400が、強化学習装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部400が、強化学習装置100とは異なる装置に含まれ、記憶部400の記憶内容が強化学習装置100から参照可能である場合があってもよい。
取得部401〜出力部403は、制御部の一例として機能する。取得部401〜出力部403は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
記憶部400は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部400は、例えば、風速、風車110の受風性能に関する指令値、風車110の風車トルク値、風車110の回転速度、および、発電機120の出力電力などを記憶してもよい。風車110は、風車110の受風性能を制御する機能を有する。風車110は、例えば、風車110の羽の角度であるピッチ角を制御する機能を有する。風車110は、例えば、風車110の羽に設けられた孔の大きさを調整する機能を有する。受風性能に関する指令値は、例えば、風車110のピッチ角である。受風性能に関する指令値は、例えば、風車110の羽に設けられた孔の大きさであってもよい。記憶部400は、例えば、風速と、発電機120の予定出力電力との関係を表す特性関数を記憶してもよい。
記憶部400は、例えば、強化学習アルゴリズム、および、行動選択アルゴリズムによる処理手順を記憶する。強化学習アルゴリズムは、例えば、Q学習アルゴリズムである。強化学習アルゴリズムは、Q学習アルゴリズム以外であってもよい。行動選択アルゴリズムは、例えば、ε−greedyアルゴリズムである。記憶部400は、例えば、強化学習により学習された方策、または、方策により決定された行動を記憶してもよい。方策は、例えば、観測値が入力されると行動を出力することができる制御モデルである。方策は、例えば、行動価値を記憶するテーブルを有し、行動価値が高い行動を決定する。方策は、例えば、数式モデルや決定木モデルであってもよい。
取得部401は、各機能部の処理に用いられる記憶部400から取得し、各機能部に出力する。取得部401は、例えば、各機能部の処理に用いられる各種情報を記憶部400から取得し、各機能部に出力してもよい。取得部401は、例えば、各機能部の処理に用いられる各種情報を、強化学習装置100とは異なる装置から取得し、各機能部に出力してもよい。
取得部401は、例えば、風速、風車110の風車トルク値、風車110の回転速度、発電機120の負荷トルク値、および、発電機120の出力電力などを取得してもよい。取得部401は、具体的には、風車110に設けられた計測機から、風車110の近傍での風速、風車110の風車トルク値、および、風車110の回転速度などの計測値を取得してもよい。取得部401は、具体的には、発電機120に設けられた計測機から、発電機120の負荷トルク値および発電機120の出力電力などの計測値を取得してもよい。
取得部401は、例えば、特性関数を表す情報を取得してもよい。特性関数を表す情報は、例えば、特性関数の曲線を表す複数点の座標である。特性関数を表す情報は、例えば、特性関数を表す数式である。取得部401は、特性関数に関する閾値を取得し、特性関数を表す情報を生成してもよい。特性関数に関する閾値は、少なくとも定格風速と定格出力とである。特性関数に関する閾値は、さらに、カットイン風速とカットアウト風速とであってもよい。
取得部401は、例えば、定格風速、定格出力、カットイン風速、および、カットアウト風速などを取得し、特性関数を表す情報を生成する。取得部401は、具体的には、風速が、カットイン風速を超え、かつ、定格風速以下になる領域における、風速と予定出力電力との関係を3次曲線で近似し、特性関数の曲線を表す点の座標を生成する。取得部401は、具体的には、風速が定格風速を超える領域における、風速と予定出力電力との関係を、予定出力電力が定格出力になり一定である関係として、特性関数の曲線を表す点の座標を生成する。
取得部401は、取得した出力電力、および、取得した風速に基づいて、特性関数を更新してもよい。取得部401は、例えば、特性関数の曲線を表す複数点の座標を、取得した出力電力、および、取得した風速に基づいて更新する。取得部401は、具体的には、取得した出力電力および風速を、記憶部400に蓄積しておく。取得部401は、取得した風速が定格風速を超えない場合に、取得した風速に、所定期間に取得した出力電力の統計値および定格出力のうち小さい方の電力を対応付けて示すように、特性関数を更新する。統計値には、例えば、記憶部400に蓄積した出力電力および風速から、風速が同じレコードを選択し、選択したレコードの出力電力の平均値や中央値などを取って用いることができる。
エージェント402は、風速、および、風車110の回転速度を観測値とし、風車110の受風性能に関する指令値、および、発電機120の負荷トルク値を行動とする強化学習を実施し、方策を生成する。強化学習は、複数の学習を含み、複数の学習により推定された行動価値に基づいて方策を生成する。
学習は、何らかの行動を試行し、試行した行動について行動価値を推定することである。行動は、風車110の受風性能に関する指令値、および、発電機120の負荷トルク値の少なくともいずれかである。受風性能に関する指令値は、例えば、ピッチ角である。行動の試行は、風車110の受風性能に関する指令値を風車110に出力し、および、発電機120の負荷トルク値を発電機120に出力することである。行動価値の推定は、発電機120の出力電力に基づいて算出される報酬に基づいて行われる。
エージェント402は、行動選択アルゴリズムにしたがって行動を試行し、強化学習アルゴリズムにしたがって行動価値を推定する。エージェント402は、現状最適と判断される行動、または、ランダムに選択される行動を試行する学習を行い、発電機120の出力電力に基づく報酬から行動価値を推定する。現状最適と判断される行動は、例えば、学習中の方策により最適と判断される行動である。エージェント402は、例えば、以下に示すような学習を行う。
エージェント402は、例えば、取得した出力電力が定格出力を超える場合は、定格出力から取得した出力電力を減算した差分に対応する報酬を用いて第1の学習を行う。これにより、エージェント402は、発電機120の出力電力が定格出力を超えないようにする行動の行動価値が高いと推定することができる。このため、エージェント402は、発電機120の出力電力が定格出力を超えないように行動を決定することができる方策を効率よく生成することができ、発電機120の安定性を確保しやすくすることができる。
エージェント402は、例えば、第1の学習においては、定格出力から取得した出力電力を減算した差分に、重み関数が示す値を乗算した結果に対応する報酬を用いて学習を行ってもよい。これにより、エージェント402は、重み関数により、学習時に発電機120を不安定にする行動が試行されにくくすることができる。
エージェント402は、具体的には、重み関数として、取得した出力電力が定格出力に近いほど、値が小さくなる関数を用いる。これにより、エージェント402は、重み関数により、出力電力が定格出力に近くなる行動が試行されやすくし、学習時に発電機120を不安定にする行動が試行されにくくすることができる。
エージェント402は、具体的には、重み関数として、取得した出力電力が定格出力より一定以上大きい場合、取得した出力電力が定格出力より大きいほど、値が大きくなる関数を用いる。これにより、エージェント402は、重み関数により、出力電力が定格出力より大きくなる行動が試行されにくくし、学習時に発電機120を不安定にする行動が試行されにくくすることができる。
エージェント402は、例えば、取得した出力電力が定格出力を超えない場合は、取得した出力電力から、風速と出力電力との関係を示す特性関数に基づいて、取得した風速から特定される予定出力電力を減算した差分に対応する報酬を用いて第2の学習を行う。これにより、エージェント402は、発電機120の出力電力が予定出力電力を超えるようにする行動の行動価値が高いと推定することができる。このため、エージェント402は、発電機120の出力電力が予定出力電力を超えるように行動を決定することができる方策を効率よく生成することができ、発電機120の発電効率の低下を抑制しやすくすることができる。
エージェント402は、例えば、第2の学習においては、取得した出力電力から、特性関数に基づいて、取得した風速から特定される出力電力を減算した差分に、重み関数が示す値を乗算した結果に対応する報酬を用いて学習を行ってもよい。これにより、エージェント402は、重み関数により、学習効率の向上を図ることができ、または、学習時に発電機120を不安定にする行動が試行されにくくすることができる。
エージェント402は、具体的には、重み関数として、取得した出力電力が定格出力に近いほど、値が小さくなる関数を用いる。これにより、エージェント402は、重み関数により、出力電力が定格出力に近くなる行動が試行されやすくし、学習時に発電機120を不安定にする行動が試行されにくくすることができる。
エージェント402は、具体的には、重み関数として、取得した出力電力が定格出力より一定以上大きい場合、取得した出力電力が定格出力より大きいほど、値が大きくなる関数を用いる。これにより、エージェント402は、重み関数により、出力電力が定格出力より大きくなる行動が試行されにくくし、学習時に発電機120を不安定にする行動が試行されにくくすることができる。
出力部403は、各機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、通信I/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部403は、各機能部の処理結果を利用者に通知可能にし、強化学習装置100の管理や運用、例えば、強化学習装置100の設定値の更新などを支援することができ、強化学習装置100の利便性の向上を図ることができる。
(強化学習装置100を含む風力発電システム101の具体的な機能的構成例)
次に、図5を用いて、強化学習装置100を含む風力発電システム101の具体的な機能的構成例について説明する。
図5は、風力発電システム101の具体的な機能的構成例を示すブロック図である。風力発電システム101は、風車110と、発電機120と、風速計501と、強化学習装置100とを含む。強化学習装置100は、状態取得部502と、報酬計算部503と、制御指令部504とを含む。強化学習装置100は、運動特性DB510を有する。
風車110は、風を受け、風力を風車トルクに変換し、発電機120の軸に回転エネルギーとして伝達する。風車110は、風速の増加に伴い、ブレーキを制御して、風車110の回転を停止させるか否かを決定する。風車110は、計測機が設けられ、計測機により、風車110の風車トルク値、および、風車110の回転速度などを計測し、強化学習装置100に送信する。
発電機120は、風車110から回転エネルギーとして軸に伝達された風車トルクを用いて発電を行い、電力消費先に供給する。発電機120は、計測機が設けられ、計測機により、発電機120の負荷トルク値、および、発電機120の出力電力などを計測し、強化学習装置100に送信する。風速計501は、風速を計測し、状態取得部502に送信する。
状態取得部502は、一定時間ごとに、風速、風車110の風車トルク値、風車110の回転速度、発電機120の負荷トルク値、発電機120の出力電力などの状態値を取得し、報酬計算部503および制御指令部504に出力する。報酬計算部503は、発電機120の出力電力に基づいて報酬を算出し、制御指令部504に出力する。報酬を算出する一例は、図8を用いて後述する。報酬計算部503は、運動特性DB510に、風速と、発電機120の出力電力とを対応付けて蓄積する。報酬計算部503は、運動特性DB510に基づいて、特性関数を更新する。
制御指令部504は、強化学習を実施する。制御指令部504は、例えば、状態値および報酬値に基づいて方策を生成する。制御指令部504は、何らかの状態に対し、現状最適と判断される行動、または、ランダムに選択される行動を試行し、行動を試行した一定時間後の報酬に基づいて、状態に対する行動の行動価値を推定し、方策を生成する。行動は、風車110の羽のピッチ角、および、発電機120の負荷トルク値や回転速度などである。
(閾値テーブル600の記憶内容)
次に、図6を用いて、強化学習装置100に入力される閾値テーブル600の記憶内容の一例について説明する。閾値テーブル600は、例えば、図3に示した強化学習装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図6は、閾値テーブル600の記憶内容の一例を示す説明図である。図6に示すように、閾値テーブル600は、カットイン風速と、定格風速と、カットアウト風速と、定格出力とのフィールドを有する。閾値テーブル600は、例えば、発電機120の製造者によって決定される。
カットイン風速のフィールドには、風車110が回転し始め、発電機120が発電し始める風速であるカットイン風速が設定される。定格風速のフィールドには、発電機120の予定出力電力が定格出力になる風速である定格風速が設定される。カットアウト風速のフィールドには、発電機120が発電を停止する風速であるカットアウト風速が設定される。定格出力のフィールドには、発電機120が安定して発電可能な出力電力である定格出力が設定される。
(特性関数テーブル700を生成する一例)
次に、図7を用いて、強化学習装置100が閾値テーブル600に基づいて特性関数テーブル700を生成する一例について説明する。特性関数テーブル700は、例えば、図3に示した強化学習装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図7は、特性関数テーブル700を生成する一例を示す説明図である。図7に示すように、特性関数テーブル700は、風速と出力とのフィールドを有する。特性関数テーブル700は、風速ごとに各フィールドに情報を設定することにより、図7のグラフ710に示す特性関数上の座標情報がレコードとして記憶される。
風速のフィールドには、図7のグラフ710に示す特性関数上のいずれかの座標に対応する風速が設定される。風速の単位は、例えば、m/sである。出力のフィールドには、グラフ710に示す特性関数上のいずれかの座標に対応する予定出力電力が設定される。予定出力電力の単位は、例えば、kWである。
強化学習装置100は、例えば、閾値テーブル600に基づいて、カットイン風速以下の風速に、予定出力電力0を対応付けて表す座標情報を示すレコードを、特性関数テーブル700に記憶する。強化学習装置100は、例えば、カットイン風速を超えて定格風速以下である風速と、予定出力電力との関係を、3次曲線で近似し、座標情報を示すレコードを、特性関数テーブル700に記憶する。強化学習装置100は、具体的には、P=0.296V^3で、風速と予定出力電力との関係を近似する。ここで、Pは、予定出力電力である。Vは、風速である。強化学習装置100は、定格風速を超えてカットアウト風速以下である風速に、定格出力を対応付けて表す座標情報を示すレコードを、特性関数テーブル700に記憶する。これにより、強化学習装置100は、閾値テーブル600に基づいて、図7に示す特性関数テーブル700を生成することができる。
ここでは、強化学習装置100が、閾値テーブル600に基づいて特性関数テーブル700を生成する場合について説明したが、これに限らない。例えば、強化学習装置100の利用者が、閾値テーブル600に基づいて特性関数テーブル700を生成し、強化学習装置100に入力する場合があってもよい。
(報酬を算出する方針の一例)
次に、図8を用いて、生成または入力された特性関数テーブル700が示す特性関数811に基づいて、報酬を算出する方針の一例について説明する。
図8は、報酬を算出する方針の一例を示す説明図である。現在の風速と出力電力との組み合わせが、特性関数811と定格出力の直線812と定格風速の直線813とで分割される図8のグラフ810の領域のいずれに存在するかに基づいて、報酬を算出する方針が異なる。具体的には、図8のグラフ810は、領域aと領域bと領域cと領域dと領域eとに分割される。
領域aは、風速が定格風速以下、かつ、出力電力が特性関数811の予定出力電力以下になる領域である。領域bは、風速が定格風速以下、かつ、出力電力が特性関数811の予定出力電力を超えて定格出力以下になる領域である。領域cは、風速が定格風速以下、かつ、出力電力が定格出力を超える領域である。領域dは、風速が定格風速を超えて、かつ、出力電力が定格出力以下になる領域である。領域eは、風速が定格風速を超えて、かつ、出力電力が定格出力を超える領域である。
ここで、現在の風速と出力電力との組み合わせが領域aに存在する場合、出力電力を向上させ、予定出力電力を超えさせることが好ましい。このため、強化学習装置100は、出力電力が、予定出力電力に不足するほど、負の報酬の絶対値が大きくなるようにする方針を用いることが好ましい。また、現在の風速と出力電力との組み合わせが領域bに存在する場合、定格出力を超えない範囲で、出力電力を向上させることが好ましい。このため、強化学習装置100は、出力電力が、予定出力電力より大きいほど、正の報酬が大きくなるようにする方針を用いることが好ましい。また、現在の風速と出力電力との組み合わせが領域cに存在する場合、出力電力を定格出力以下に抑制することが好ましい。このため、強化学習装置100は、出力電力が、定格出力より大きいほど、負の報酬の絶対値が大きくなるようにする方針を用いることが好ましい。
また、現在の風速と出力電力との組み合わせが領域dに存在する場合、出力電力を向上させ、定格出力に近づけることが好ましい。このため、強化学習装置100は、出力電力が、定格出力に不足するほど、負の報酬の絶対値が大きくなるようにする方針を用いることが好ましい。また、現在の風速と出力電力との組み合わせが領域eに存在する場合、出力電力を定格出力以下に抑制することが好ましい。このため、強化学習装置100は、出力電力が、定格出力より大きいほど、負の報酬の絶対値が大きくなるようにする方針を用いることが好ましい。強化学習装置100は、これらの方針にしたがって報酬を算出する。強化学習装置100は、例えば、下記式(1)および下記式(2)に示すような報酬関数を用いて報酬を算出する。
報酬=定格出力−出力電力, 出力電力>定格出力 ・・・(1)
報酬=出力電力−特性関数が示す予定出力電力, 出力電力≦定格出力・・・(2)
これにより、強化学習装置100は、領域aと領域bと領域cと領域dと領域eとについて、報酬の評価尺度を合わせることができる。強化学習装置100は、例えば、上記式(1)および上記式(2)によれば、いずれの領域についても、現在の出力電力に対してどの程度調整すればよいかを示すように報酬を算出することができ、統一的な評価尺度で報酬を算出することができる。
(報酬算出手法を比較した一例)
次に、図9を用いて、かかる今回の報酬算出手法について、上述した第1の技術と、第2の技術と、第3の技術と比較した結果について説明する。
図9は、報酬算出手法を比較した一例を示す説明図である。図9の表900は、上述した第1の技術と第2の技術と第3の技術と強化学習装置100の今回の報酬算出手法とを比較した結果を示す。図9の表900は、風速と出力電力との組み合わせに応じて場合分けし、場合ごとに第1の技術と第2の技術と第3の技術と今回の報酬算出手法とに問題が生じるか否かを示す。
図9の表900は、例えば、風速が定格風速を超えない部分負荷の領域と、定格風速を超える定格出力の領域とで場合分けする。さらに、図9の表900は、出力電力が予定出力電力を超える領域と超えない領域と、または、出力電力が定格出力を超えない領域と超える領域とで場合分けする。換言すれば、図9の表900は、領域aと領域bと領域cと領域dと領域eとで場合分けする。
第1の技術では、現在の風速と出力電力との組み合わせが領域cまたは領域eに存在する場合、出力電力が定格出力を超えることが好ましいという報酬を算出してしまう。このため、表900に示すように、第1の技術では、現在の風速と出力電力との組み合わせが領域cまたは領域eに存在する場合、出力電力が定格出力を超えやすく、発電機120の動作が不安定になりやすいという問題がある。第2の技術では、現在の風速と出力電力との組み合わせが領域bに存在する場合、出力電力が予定出力電力以下であることが好ましいという報酬を算出してしまう。このため、表900に示すように、第2の技術では、現在の風速と出力電力との組み合わせが領域bに存在する場合、発電機120の発電効率の悪化を招きやすいという問題がある。
第3の技術では、風速が定格風速を超えない部分負荷の領域と、風速が定格風速を超える定格出力の領域とで、報酬の評価尺度が異なるため、学習効率の低下を招き、適切な制御を行うまでにかかる時間の増大化を招く。これらに対し、今回の報酬算出手法では、統一的な評価尺度で報酬を算出することができ、学習効率の低下を抑制することができる。また、今回の報酬算出手法では、出力電力が定格出力を超えず、発電機120の動作が不安定にならないようにすることができる。また、今回の報酬算出手法では、出力電力が、定格出力を超えず、かつ、予定出力電力を超えるように、発電機120の発電効率の向上を図ることができる。
(制御結果ごとの累計報酬の一例)
次に、図10を用いて、今回の報酬算出手法によって算出される、制御結果ごとの累計報酬の一例について説明し、学習効率の低下を抑制することについて説明する。
図10は、制御結果ごとの累計報酬の一例を示す説明図である。強化学習では、強化学習装置100は、様々な行動を試行して風力発電システム101を制御した、様々な制御結果について得られた累積報酬に基づいて、最適と判断される方策を生成することになる。
図10には、時刻ごとに試行した様々な行動に応じた出力電力の変化を表す制御結果1010を示す。制御結果1010のうち、領域1011は、風速が定格風速を超えない部分負荷の領域にあった時刻に対応し、領域1012は、風速が定格風速を超える定格出力の領域にあった時刻に対応する。ここで、領域1011では出力電力が予定出力電力を超えやすい傾向があり、領域1012では出力電力が定格出力を超えてしまう傾向がある。定格出力は、1000kWである。強化学習装置100は、領域1012で出力電力が定格出力を超えたため、領域1012についての累積報酬として、比較的絶対値が大きい負の値を算出することになる。強化学習装置100は、例えば、全体の累積報酬として「−3974」を算出する。
図10には、時刻ごとに試行した様々な行動に応じた出力電力の変化を表す制御結果1020を示す。制御結果1020のうち、領域1021は、風速が定格風速を超えない部分負荷の領域にあった時刻に対応し、領域1022は、風速が定格風速を超える定格出力の領域にあった時刻に対応する。ここで、領域1021では出力電力が予定出力電力を超えやすい傾向があり、領域1022では出力電力が定格出力を超えにくい傾向がある。強化学習装置100は、出力電力が予定出力電力を超えやすく、出力電力が定格出力を超えにくいため、全体の累積報酬として、絶対値が比較的小さい負の値を算出することになる。強化学習装置100は、例えば、全体の累積報酬として「−2865」を算出する。
図10には、時刻ごとに試行した様々な行動に応じた出力電力の変化を表す制御結果1030を示す。制御結果1030のうち、領域1031は、風速が定格風速を超えない部分負荷の領域にあった時刻に対応し、領域1032は、風速が定格風速を超える定格出力の領域にあった時刻に対応する。ここで、領域1031では出力電力が予定出力電力を超えにくい傾向があり、領域1032では出力電力が定格出力を超えにくい傾向がある。強化学習装置100は、領域1031で出力電力が予定出力電力を超えにくいため、領域1031についての累積報酬として、比較的絶対値が大きい負の値を算出することになる。強化学習装置100は、例えば、全体の累積報酬として「−3516」を算出する。
このように、強化学習装置100は、出力電力が予定出力電力を超えやすい傾向があり、かつ、出力電力が定格出力を超えにくい傾向がある制御が行われた場合に、適切な制御が行われたと判断することができる。このため、強化学習装置100は、適切な制御を行うことができる方策を生成しやすくすることができる。
これに対し、第3の技術では、出力電力が予定出力電力を超えないことによる報酬の減少量が、出力電力が定格出力を超えることによる報酬の減少量に比べて小さくなる。このため、第3の技術では、制御結果1020よりも制御結果1030の方が適切な制御であると判断してしまう確率が比較的大きく、適切な制御を行うことができる方策を生成しにくくなる。
(重み関数を利用する一例)
次に、図11および図12を用いて、強化学習装置100が報酬を算出する際に重み関数を利用する一例について説明する。
図11および図12は、重み関数を利用する一例を示す説明図である。まず、図11の説明に移行する。
図11において、強化学習装置100は、強化学習における学習回数が比較的少ない初期段階では、定格出力の付近で出力電力を過剰に増加または減少させる行動を試行してしまう可能性を考慮して、重み関数を利用する。定格出力の付近で出力電力を過剰に増加または減少させる行動を試行してしまう原因は、例えば、デジタル制御に関する制御の遅れ、または、低速域で運動特性関数が不正確なための報酬の誤りなどである。
強化学習装置100は、例えば、出力電力が定格出力に近いほど、報酬の絶対値が小さくなるように、重み関数を利用し、例えば、下記式(3)および下記式(4)に示すような報酬関数を用いて報酬を算出する。
報酬=重み関数*(定格出力−出力電力), 出力電力>定格出力 ・・・(3)
報酬=重み関数*(出力電力−特性関数が示す予定出力電力), 出力電力≦定格出力 ・・・(4)
重み関数は、具体的には、下記式(5)または下記式(6)である。下記式(5)の重み関数は、例えば、グラフ1110に示すような関数である。下記式(6)の重み関数は、例えば、グラフ1120に示すような関数である。ここで、ΔPは、出力電力と定格出力との差分である。εは、閾値である。
w(ΔP)=min{1,(ΔP)^2} ・・・(5)
w(ΔP)=min{1,max{0,ΔP−ε}} ・・・(6)
これにより、強化学習装置100は、初期段階で、定格出力の付近で出力電力を過剰に増加または減少させる行動を試行してしまう可能性を低減させ、風力発電システム101の安定化を図ることができる。次に、図12の説明に移行する。
図12において、強化学習装置100は、強化学習における学習回数が比較的少ない初期段階では、定格出力より出力電力を過剰に大きくし、発電機120にダメージを与えるような行動を試行してしまう可能性を考慮して、重み関数を利用する。
強化学習装置100は、例えば、出力電力が定格出力より大きいほど、負の報酬の絶対値が大きくなるように、重み関数を利用し、例えば、上記式(3)および上記式(4)と同様の報酬関数を用いて報酬を算出する。重み関数は、具体的には、下記式(7)または下記式(8)である。下記式(7)の重み関数は、例えば、グラフ1200に示すような関数である。ここで、ΔPは、出力電力と定格出力との差分である。εは、閾値である。
w(ΔP)=max{1,e^(ΔP+ε)} ・・・(7)
w(ΔP)=max{1,ΔP−ε+1} ・・・(8)
これにより、強化学習装置100は、初期段階で、定格出力より出力電力を過剰に大きくし、発電機120にダメージを与えるような行動を試行してしまう可能性を低減させ、風力発電システム101の安定化を図ることができる。
(特性関数テーブル700を更新する一例)
強化学習装置100は、観測した風速および出力電力に基づいて、特性関数テーブル700を更新してもよい。強化学習装置100は、観測した風速および出力電力を対応付けて、運動特性DB510に蓄積する。
強化学習装置100は、直近で観測した風速が定格風速以下の場合、直近で観測した風速に、定格出力と直近の一定期間に観測した出力電力の平均値との小さい方の値を対応付けて、特性関数テーブル700を更新する。一方で、強化学習装置100は、直近で観測した風速が定格風速を超える場合、直近で観測した風速に、定格出力を対応付けて、特性関数テーブル700を更新する。
これにより、強化学習装置100は、風車110や発電機120の経年劣化や個体差による特性関数の誤差などを補正することができる。このため、強化学習装置100は、報酬を算出する精度の向上を図ることができる。
以上により、強化学習装置100は、出力電力を最大化する制御を行うための方策を生成するまでの所要時間の低減化を図ることができる。また、強化学習装置100は、風車110や発電機120の経年劣化や個体差に依存する、風速による場合分けを用いずに報酬を算出することができ、風力発電システム101に適用しやすくすることができる。
(報酬計算処理手順)
次に、図13を用いて、強化学習装置100が実行する、報酬計算処理手順の一例について説明する。報酬計算処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、通信I/F303とによって実現される。
図13は、報酬計算処理手順の一例を示すフローチャートである。図13において、強化学習装置100は、風速と出力電力値とを取得する(ステップS1301)。次に、強化学習装置100は、運動特性DB510を更新する(ステップS1302)。そして、強化学習装置100は、特性関数を更新する(ステップS1303)。
次に、強化学習装置100は、出力電力値が定格出力値よりも大きいか否かを判定する(ステップS1304)。ここで、出力電力値が定格出力値よりも大きい場合(ステップS1304:Yes)、強化学習装置100は、ステップS1305の処理に移行する。一方で、出力電力値が定格出力値以下である場合(ステップS1304:No)、強化学習装置100は、ステップS1306の処理に移行する。
ステップS1305では、強化学習装置100は、報酬=(取得した出力電力値)−(定格出力値)を算出する(ステップS1305)。そして、強化学習装置100は、ステップS1307の処理に移行する。
ステップS1306では、強化学習装置100は、報酬=(特性関数に基づいて、取得した風速から特定される出力電力値)−(取得した出力電力値)を算出する(ステップS1306)。そして、強化学習装置100は、ステップS1307の処理に移行する。
ステップS1307では、強化学習装置100は、報酬を出力する(ステップS1307)。そして、強化学習装置100は、報酬計算処理を終了する。これにより、強化学習装置100は、統一的な評価尺度で報酬を算出することができる。ここで、強化学習装置100は、図13の一部ステップの処理を省略してもよい。例えば、ステップS1302やステップS1303の処理は省略可能である。
以上説明したように、強化学習装置100によれば、風車110を用いた発電機120からの出力電力、および、風速を観測することができる。強化学習装置100によれば、観測した出力電力が定格出力電力を超える場合は、定格出力電力から観測した出力電力を減算した差分に対応する報酬を用いて第1の学習を行うことができる。強化学習装置100によれば、観測した出力電力が定格出力電力を超えない場合は、観測した出力電力から、特性関数に基づいて、観測した風速から特定される出力電力を減算した差分に対応する報酬を用いて第2の学習を行うことができる。これにより、強化学習装置100は、風力発電システム101に対して適切な制御を行うことができる。
強化学習装置100によれば、第1の学習においては、定格出力電力から観測した出力電力を減算した差分に、重み関数が示す値を乗算した結果に対応する報酬を用いて学習を行うことができる。強化学習装置100によれば、第2の学習においては、観測した出力電力から、特性関数に基づいて風速から特定される出力電力を減算した差分に、重み関数が示す値を乗算した結果に対応する報酬を用いて学習を行うことができる。これにより、強化学習装置100は、学習時に発電機120を不安定にする行動が試行されにくくすることができる。
強化学習装置100によれば、重み関数として、観測した出力電力が定格出力電力に近いほど、値が小さくなる関数を用いることができる。これにより、強化学習装置100は、重み関数により、出力電力が定格出力に近くなる行動が試行されやすくし、学習時に発電機120を不安定にする行動が試行されにくくすることができる。
強化学習装置100によれば、重み関数として、観測した出力電力が定格出力電力より一定以上大きい場合、観測した出力電力が定格出力電力より大きいほど、値が大きくなる関数を用いることができる。これにより、強化学習装置100は、重み関数により、出力電力が定格出力より大きくなる行動が試行されにくくし、学習時に発電機120を不安定にする行動が試行されにくくすることができる。
強化学習装置100によれば、観測した出力電力、および、観測した風速に基づいて、特性関数を更新することができる。これにより、強化学習装置100は、風車110や発電機120の経年劣化や個体差による特性関数の誤差などを補正することができる。このため、強化学習装置100は、報酬を算出する精度の向上を図ることができる。
強化学習装置100によれば、観測した風速が定格風速を超えない場合に、観測した風速に、所定期間に観測した出力電力の統計値および定格出力電力のうち小さい方の電力を対応付けて示すように、特性関数を更新することができる。これにより、強化学習装置100は、特性関数により、予定出力電力を低く見積もり過ぎないようにすることができる。
強化学習装置100によれば、風車110の受風性能を制御する機能を有する風車110を含む風力発電システム101に適用することができる。これにより、強化学習装置100は、出力電力を定格出力に近づけやすい風力発電システム101に適用することができる。
強化学習装置100によれば、風速、および、風車110の回転速度を観測値とし、風車110の受風性能、および、発電機120の負荷トルク値を行動とする強化学習における学習を行うことができる。これにより、強化学習装置100は、風車110の受風性能、および、発電機120の負荷トルク値を行動として試行することができる。
なお、本実施の形態で説明した強化学習方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した強化学習プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した強化学習プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
風車を用いた発電機からの出力電力、および、風速を観測し、
観測した前記出力電力が定格出力電力を超える場合は、前記定格出力電力から観測した前記出力電力を減算した差分に対応する報酬を用いて第1の学習を行い、
観測した前記出力電力が前記定格出力電力を超えない場合は、観測した前記出力電力から、風速と出力電力との関係を示す特性関数に基づいて、観測した前記風速から特定される出力電力を減算した差分に対応する報酬を用いて第2の学習を行う、
処理を実行させることを特徴とする強化学習プログラム。
(付記2)コンピュータに、
前記第1の学習においては、前記定格出力電力から観測した前記出力電力を減算した差分に、重み関数が示す値を乗算した結果に対応する報酬を用いて学習を行い、
前記第2の学習においては、観測した前記出力電力から、風速と出力電力との関係を示す特性関数に基づいて、観測した前記風速から特定される出力電力を減算した差分に、前記重み関数が示す値を乗算した結果に対応する報酬を用いて学習を行う、
処理を実行させることを特徴とする付記1に記載の強化学習プログラム。
(付記3)前記重み関数は、観測した前記出力電力が前記定格出力電力に近いほど、値が小さくなる関数である、ことを特徴とする付記2に記載の強化学習プログラム。
(付記4)前記重み関数は、観測した前記出力電力が前記定格出力電力より一定以上大きい場合、観測した前記出力電力が前記定格出力電力より大きいほど、値が大きくなる関数である、ことを特徴とする付記2または3に記載の強化学習プログラム。
(付記5)前記コンピュータに、
観測した前記出力電力、および、観測した前記風速に基づいて、前記特性関数を更新する、処理を実行させることを特徴とする付記1〜4のいずれか一つに記載の強化学習プログラム。
(付記6)前記更新する処理は、観測した前記風速が定格風速を超えない場合に、観測した前記風速に、所定期間に観測した前記出力電力の統計値および前記定格出力電力のうち小さい方の電力を対応付けて示すように、前記特性関数を更新する、ことを特徴とする付記5に記載の強化学習プログラム。
(付記7)前記コンピュータに、
前記定格出力電力および定格風速を取得し、取得した前記定格出力電力および定格風速に基づいて、前記特性関数を生成する、処理を実行させることを特徴とする付記1〜6のいずれか一つに記載の強化学習プログラム。
(付記8)前記風車は、前記風車の受風性能を制御する機能を有する、ことを特徴とする付記1〜7のいずれか一つに記載の強化学習プログラム。
(付記9)前記学習は、前記風速、および、前記風車の回転速度を観測値とし、前記風車の受風性能、および、前記発電機の負荷トルク値を行動とする強化学習における学習である、ことを特徴とする付記1〜8のいずれか一つに記載の強化学習プログラム。
(付記10)コンピュータが、
風車を用いた発電機からの出力電力、および、風速を観測し、
観測した前記出力電力が定格出力電力を超える場合は、前記定格出力電力から観測した前記出力電力を減算した差分に対応する報酬を用いて第1の学習を行い、
観測した前記出力電力が前記定格出力電力を超えない場合は、観測した前記出力電力から、風速と出力電力との関係を示す特性関数に基づいて、観測した前記風速から特定される出力電力を減算した差分に対応する報酬を用いて第2の学習を行う、
処理を実行することを特徴とする強化学習方法。
(付記11)風車を用いた発電機からの出力電力、および、風速を観測し、
観測した前記出力電力が定格出力電力を超える場合は、前記定格出力電力から観測した前記出力電力を減算した差分に対応する報酬を用いて第1の学習を行い、
観測した前記出力電力が前記定格出力電力を超えない場合は、観測した前記出力電力から、風速と出力電力との関係を示す特性関数に基づいて、観測した前記風速から特定される出力電力を減算した差分に対応する報酬を用いて第2の学習を行う、
制御部を有することを特徴とする強化学習装置。