JP7035734B2 - 強化学習プログラム、強化学習方法、および強化学習装置 - Google Patents

強化学習プログラム、強化学習方法、および強化学習装置 Download PDF

Info

Publication number
JP7035734B2
JP7035734B2 JP2018070133A JP2018070133A JP7035734B2 JP 7035734 B2 JP7035734 B2 JP 7035734B2 JP 2018070133 A JP2018070133 A JP 2018070133A JP 2018070133 A JP2018070133 A JP 2018070133A JP 7035734 B2 JP7035734 B2 JP 7035734B2
Authority
JP
Japan
Prior art keywords
reinforcement learning
action
behavior
policy
learned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018070133A
Other languages
English (en)
Other versions
JP2019179518A (ja
Inventor
秀直 岩根
佳寛 大川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018070133A priority Critical patent/JP7035734B2/ja
Priority to US16/293,724 priority patent/US11366433B2/en
Publication of JP2019179518A publication Critical patent/JP2019179518A/ja
Application granted granted Critical
Publication of JP7035734B2 publication Critical patent/JP7035734B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Feedback Control In General (AREA)

Description

本発明は、強化学習プログラム、強化学習方法、および強化学習装置に関する。
従来、強化学習の分野では、制御対象に対する行動をランダムに変更し、行動に応じた利得を観測し、観測結果に基づき制御対象に対する行動として最適であると判断される最適行動を決定するための方策を学習することが行われる。利得は、例えば、報酬である。
先行技術としては、例えば、制御対象の状態量を観測器で観測し、観測結果によりTD誤差を求め、TD誤差近似器を更新して、方策を更新するものがある。また、例えば、入力および入力に対する出力に対して与えられる報酬または罰に基づいて強化学習を行って、パラメトリック表現されたクラス集合を生成する技術がある。また、例えば、調査対象の位置情報実データに基づいて、調査対象の位置情報を予測する技術がある。
特開2007-65929号公報 特開2013-205890号公報 特開2017-168029号公報
しかしながら、従来技術では、制御対象に対する行動がランダムに変更された結果、制御対象に悪影響を与えるような不適切な行動が行われてしまう場合がある。例えば、制御対象がサーバルームであり、制御対象に対する行動がサーバルームに対する空調の設定温度であれば、空調の設定温度が、サーバルームのサーバを誤作動または故障させるような高温にされてしまう場合がある。
1つの側面では、本発明は、不適切な行動を回避して局所的に最適な行動を探索することを目的とする。
1つの実施態様によれば、制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第1の強化学習を実施し、前記第1の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第2の強化学習を実施する強化学習プログラム、強化学習方法、および強化学習装置が提案される。
一態様によれば、不適切な行動を回避して局所的に最適な行動を探索することが可能になる。
図1は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。 図2は、強化学習装置100のハードウェア構成例を示すブロック図である。 図3は、履歴テーブル300の記憶内容の一例を示す説明図である。 図4は、行動価値テーブル400の記憶内容の一例を示す説明図である。 図5は、強化学習装置100の機能的構成例を示すブロック図である。 図6は、強化学習装置100の動作例を示す説明図である。 図7は、探索行動を決定する行動範囲の変化を示す説明図である。 図8は、制御器を統合するマージ処理を示す説明図(その1)である。 図9は、制御器を統合するマージ処理を示す説明図(その2)である。 図10は、強化学習を繰り返した結果を示す説明図(その1)である。 図11は、強化学習を繰り返した結果を示す説明図(その2)である。 図12は、制御対象110の具体例を示す説明図(その1)である。 図13は、制御対象110の具体例を示す説明図(その2)である。 図14は、制御対象110の具体例を示す説明図(その3)である。 図15は、強化学習処理手順の一例を示すフローチャートである。
以下に、図面を参照して、本発明にかかる強化学習プログラム、強化学習方法、および強化学習装置の実施の形態を詳細に説明する。
(実施の形態にかかる強化学習方法の一実施例)
図1は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。強化学習装置100は、強化学習を用いて、制御対象110に対する行動を決定することにより、制御対象110を制御するコンピュータである。強化学習装置100は、例えば、サーバ、PC(Personal Computer)などである。
制御対象110は、何らかの事象であり、例えば、現実に存在する物理系である。制御対象110は、具体的には、自動車、自律移動ロボット、ドローン、ヘリコプター、サーバルーム、発電機、化学プラント、または、ゲームなどである。行動(action)は、制御対象110に対する操作である。行動は、入力(input)とも呼ばれる。行動は、連続量または離散量である。制御対象110に対する行動に応じて制御対象110の状態(state)が変化する。制御対象110の状態は、観測可能である。
強化学習では、例えば、制御対象110に対する行動をランダムに変更し、行動に応じた利得に基づき方策を学習することが行われる。強化学習は、例えば、行動を複数回試行して方策を学習する。利得は、例えば、報酬である。利得は、例えば、コストにマイナスをかけて報酬と同様に扱うことが可能な値であってもよい。コストは、罰とも呼ばれる。方策は、累積報酬/コストまたは平均報酬/コストを最適化すると判断される最適行動を決定するための制御則である。最適行動は、現状で最適と推定される行動であり、真に最適でなくてもよい。
しかしながら、制御対象110に対する行動がランダムに変更された結果、制御対象110に悪影響を与えるような不適切な行動が行われてしまう場合がある。例えば、制御対象110がサーバルームであり、制御対象110に対する行動がサーバルームに対する空調の設定温度である場合が考えられる。この場合、空調の設定温度がランダムに変更され、サーバルームのサーバを故障させたり誤動作させたりするような高温にされてしまうことがある。一方で、空調の設定温度が、消費電力が著しく大きくなるような低温にされてしまうことがある。
また、例えば、制御対象110が無人飛行体であり、制御対象110に対する行動が無人飛行体の駆動系に対する設定値である場合が考えられる。この場合、駆動系の設定値がランダムに変更され、安定して飛行することが難しい設定値にされ、制御対象110が落下してしまうことがある。また、例えば、制御対象110が風車であり、制御対象110に対する行動が風車に接続された発電機の負荷トルクである場合が考えられる。この場合、負荷トルクがランダムに変更され、発電量が著しく低下するような負荷トルクにされてしまうことがある。
したがって、制御対象110に悪影響を与えるような不適切な行動を回避しながら、強化学習を実施し、方策を学習していくことが好ましい。そこで、本実施の形態では、基本制御器で得られる行動を基準とした行動範囲で強化学習を実施し、学習された方策により得られる行動を基準とした行動範囲で再び強化学習を実施し、新たな方策を学習することができる強化学習方法について説明する。ここでの強化学習は、行動を複数回試行して方策を1回学習する一連の処理である。
図1において、強化学習装置100は、制御対象110の状態に対する行動を規定した基本制御器を、最初の方策に設定する。基本制御器は、例えば、利用者によって設定される。基本制御器は、現状最適と判断される最適行動を決定するための制御則である。強化学習装置100は、最初の方策により得られる行動を用いて、制御対象110についての行動範囲限界より小さい行動範囲における第1の強化学習を実施する。行動範囲限界は、例えば、利用者によって設定される。第1の強化学習は、基本制御器を設定した最初の方策よりも、最適と判断される方策を学習する。第1の強化学習は、例えば、行動を複数回試行して方策を1回学習する一連の処理である。
強化学習装置100は、例えば、一定時間ごとに、基本制御器を設定した最初の方策により最適と判断される最適行動を基準に、行動範囲限界より小さい行動範囲における探索行動を決定し、探索行動に対する利得を観測する。強化学習装置100は、観測結果に基づいて、基本制御器を設定した最初の方策よりも、最適と判断される最適行動を決定可能なように、制御対象110の状態に対する行動を規定した、新たな方策を学習する。
強化学習装置100は、第1の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における第2の強化学習を実施する。第2の強化学習は、直前に学習された方策よりも、最適と判断される方策を学習する。第2の強化学習は、例えば、行動を複数回試行して方策を1回学習する一連の処理である。ここでは、直前に学習された方策は、第1の強化学習により学習された学習済みの方策である。
強化学習装置100は、例えば、一定時間ごとに、直前に学習された方策により最適と判断される最適行動を基準に、行動範囲限界より小さい行動範囲における探索行動を決定し、探索行動に対する利得を観測する。この最適行動は、学習中の方策により最適と判断される行動ではなく、直前に学習された方策により最適と判断される行動である。強化学習装置100は、観測結果に基づいて、直前に学習された方策よりも、最適と判断される最適行動を決定可能なように、制御対象110の状態に対する行動を規定した、新たな方策を学習する。
これにより、強化学習装置100は、探索行動として、最初の方策、または、現状で学習済みの最新の方策により最適と判断される最適行動から一定以上離れた行動が行われることを防止することができ、制御対象110に悪影響を与えるような不適切な行動が行われることを防止することができる。そして、強化学習装置100は、不適切な行動を回避しながら、最適と判断される方策を更新することができる。結果として、強化学習装置100は、方策を更新する都度、当該方策により最適と判断される最適行動を、局所的な最適行動に近づけることができ、制御対象110を適切に制御することができる。
ここでは、強化学習装置100が、第2の強化学習を1回実施する場合について説明したが、これに限らない。例えば、強化学習装置100が、さらに、直前に実施された第2の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における新たな第2の強化学習を実施する、という処理を繰り返す場合があってもよい。
これにより、強化学習装置100は、不適切な行動を回避しながら、最適と判断される方策を更新することを繰り返すことができる。強化学習装置100は、例えば、最適と判断される方策を、前回学習された方策から、今回学習された方策へと更新することができる。結果として、強化学習装置100は、方策を更新する都度、当該方策により最適と判断される最適行動を、局所的な最適行動に近づけることができる。また、強化学習装置100は、繰り返しの結果、局所的な最適行動を決定する方策を学習することができる。そして、強化学習装置100は、局所的な最適行動を行い、制御対象110を適切に制御することができる。
以下の説明では、利得がコストにマイナスをかけた値であり、強化学習装置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および図4に後述する各種テーブルを記憶してもよい。
ネットワーク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は、図3および図4に後述する各種テーブルを記憶してもよい。
強化学習装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、強化学習装置100は、記録媒体I/F204や記録媒体205を複数有していてもよい。また、強化学習装置100は、記録媒体I/F204や記録媒体205を有していなくてもよい。
(履歴テーブル300の記憶内容)
次に、図3を用いて、履歴テーブル300の記憶内容について説明する。履歴テーブル300は、例えば、図2に示した強化学習装置100のメモリ202や記録媒体205などの記憶領域により実現される。
図3は、履歴テーブル300の記憶内容の一例を示す説明図である。図3に示すように、履歴テーブル300は、時点のフィールドに対応付けて、状態と、行動と、利得とのフィールドを有する。履歴テーブル300は、時点ごとに各フィールドに情報を設定することにより、履歴情報が記憶される。
時点のフィールドには、所定時間ごとの時点が設定される。状態のフィールドには、時点における制御対象110の状態が設定される。行動のフィールドには、時点における制御対象110に対する行動が設定される。利得のフィールドには、時点における制御対象110に対する行動に対応する利得が設定される。
(行動価値テーブル400の記憶内容)
次に、図4を用いて行動価値テーブル400の記憶内容について説明する。なお、以下の行動価値テーブル400の説明は、強化学習手法としてQ学習等の一部の強化学習手法を用いる場合であり、利用する強化学習手法によっては、利用する記憶内容等は異なるものとなる。行動価値テーブル400は、例えば、図2に示した強化学習装置100のメモリ202や記録媒体205などの記憶領域により実現される。
図4は、行動価値テーブル400の記憶内容の一例を示す説明図である。図4に示すように、行動価値テーブル400は、状態と、行動と、Q値とのフィールドを有する。行動価値テーブル400は、強化学習が学習する度に各フィールドに情報を更新することにより、行動価値情報がレコードとして記憶される。
状態のフィールドは、行動価値テーブル400の最上行である。状態のフィールドには、制御対象110の状態が設定される。行動のフィールドは、行動価値テーブル400の最左列である。行動のフィールドには、制御対象110に対する探索行動を表す情報が設定される。行動のフィールドには、例えば、基本制御器を設定した最初の方策、または、現状で学習済みの最新の方策により最適と判断される最適行動をどの程度補正して探索行動にするかを表す補正値が、探索行動を表す情報として設定される。行動のフィールドには、例えば、探索行動自体が設定されてもよい。図4の例では、行動のフィールドには、補正値が設定されている。Q値のフィールドには、状態のフィールドが示す状態である場合に、行動のフィールドが示す探索行動を行うと、利得にどの程度寄与するかを示すQ値が設定される。
(強化学習装置100の機能的構成例)
次に、図5を用いて、強化学習装置100の機能的構成例について説明する。
図5は、強化学習装置100の機能的構成例を示すブロック図である。強化学習装置100は、記憶部500と、設定部511と、状態取得部512と、行動決定部513と、報酬取得部514と、更新部515と、出力部516とを含む。設定部511~出力部516は、制御部510の一例として機能する。
記憶部500は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域によって実現される。以下では、記憶部500が、強化学習装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部500が、強化学習装置100とは異なる装置に含まれ、記憶部500の記憶内容が強化学習装置100から参照可能である場合があってもよい。
設定部511~出力部516は、具体的には、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、ネットワークI/F203により、その機能を実現する。各機能部の処理結果は、例えば、図2に示したメモリ202や記録媒体205などの記憶領域に記憶される。
記憶部500は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部500は、制御対象110に対する行動と、制御対象110の状態と、制御対象110からの利得とを蓄積する。行動は、順序尺度であり、名義尺度ではないことが好ましい。順序尺度は、行動を表す値の大きさに意味が存在することを示す。一方で、名義尺度は、例えば、利用者が行動に対して便宜上割り振った番号を、行動を表す値として利用する場合である。記憶部500は、例えば、時点ごとに、制御対象110に対する行動と、制御対象110の状態と、制御対象110からの利得とを、図3に示した履歴テーブル300を用いて記憶する。これにより、記憶部500は、制御対象110の行動と状態と利得とを、各処理部に参照可能にすることができる。
記憶部500は、制御対象110の状態ごとに、いくつかの行動についての行動価値を記憶する。行動価値は、例えば、利得に基づいて決定される。行動価値は、具体的には、制御対象110に対する行動を行うと、利得にどの程度寄与するかを示すQ値である。記憶部500は、例えば、図4に示した行動価値テーブル400を記憶する。これにより、記憶部500は、行動価値を、各処理部に参照可能にすることができる。
記憶部500は、Q値を算出する価値関数を記憶してもよい。価値関数は、例えば、多項式により表現される。多項式は、状態および行動を表す変数を用いて表現される。記憶部500は、例えば、価値関数を表現する多項式、および、当該多項式の係数を記憶する。これにより、記憶部500は、価値関数を、各処理部に参照可能にすることができる。
以下の説明では、まず、制御部510について説明した後、制御部510の一例として機能する設定部511~出力部516について説明する。
制御部510は、制御対象110の状態に対する行動を規定した基本制御器を、最初の方策に設定する。方策は、累積報酬/コストまたは平均報酬/コストを最適化すると判断される最適行動を決定するための制御則である。
制御部510は、基本制御器を設定した最初の方策により得られる行動を用いて、制御対象110についての行動範囲限界より小さい行動範囲における第1の強化学習を実施する。基本制御器は、例えば、利用者によって設定される。基本制御器は、最適と判断される最適行動を決定するための制御則である。行動範囲限界は、例えば、利用者によって設定される。第1の強化学習は、基本制御器を設定した最初の方策よりも、最適と判断される最適行動を決定可能な方策を学習する。ここでは、第1の強化学習は、例えば、行動を複数回試行して、得られる報酬を元に、方策を1回学習するまでの一連の処理である。学習される方策は、例えば、基本制御器と、基本制御器を設定した最初の方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む制御則である。
制御部510は、例えば、一定時間ごとに、基本制御器を設定した最初の方策により最適と判断される最適行動を基準に、行動範囲限界より小さい行動範囲における補正量を行動とし、探索行動を決定し、探索行動に対する利得を観測する。探索行動は、さらに適切な行動があるか否かを探索するための行動である。探索行動は、例えば、最適行動を補正した行動である。制御部510は、観測結果に基づいて、基本制御器を設定した最初の方策よりも、最適と判断される最適行動を決定可能なように、制御対象110の状態に対する行動を規定した新たな方策を学習する。
これにより、制御部510は、基本制御器を設定した最初の方策による行動との差が大きくない行動を行うため、不適切な行動を回避しながら、基準制御器を設定した最初の方策よりも、最適と判断される新たな方策を学習することができる。結果として、制御部510は、学習された方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけることができ、制御対象110を適切に制御することができる。
第1の強化学習は、例えば、基本制御器と、基本制御器を設定した最初の方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習する場合がある。また、第1の強化学習は、基本制御器と制御器とを用いずに、新たな方策を学習する場合があってもよい。例えば、第1の強化学習は、現状で学習済みの方策による最適行動を補正した探索行動自体を記憶する行動価値テーブル400に基づき、新たな方策を学習する場合があってもよい。
この場合、制御部510は、例えば、一定時間ごとに、基本制御器を設定した最初の方策により最適と判断される最適行動に対し、行動範囲限界より小さい行動範囲における補正量を決定し、補正量に対する利得を観測する。制御部510は、観測結果に基づいて、基本制御器を設定した最初の方策により最適と判断される最適行動をさらに適切な行動にするための補正量を規定する新たな制御器を学習する。制御部510は、基本制御器と新たな制御器とを含む新たな方策を学習する。
制御部510は、具体的には、図7に後述する1番目の強化学習を実施する。制御部510は、図7に後述するように、基本制御器C0を設定した最初の方策による行動の近傍の行動範囲で探索行動を複数回決定する。近傍とは、行動範囲限界より小さいことを示す。次に、制御部510は、探索行動を複数回決定した結果、制御器RL1を生成する。そして、制御部510は、基本制御器C0と制御器RL1とを組み合わせて、方策C0+RL1を学習する。
これにより、制御部510は、不適切な行動を回避しながら、基準制御器よりも、最適と判断される最適行動を決定可能な方策を学習することができる。結果として、制御部510は、学習された方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけ、制御対象110を適切に制御することができる。
制御部510は、第1の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における第2の強化学習を実施する。第2の強化学習は、直前に学習された方策よりも、最適と判断される最適行動を決定可能な方策を学習する。直前に学習された方策は、例えば、第1の強化学習により学習された方策である。
制御部510は、例えば、一定時間ごとに、直前に学習された方策により最適と判断される最適行動を基準に、行動範囲限界より小さい行動範囲における探索行動を決定し、探索行動に対する利得を観測する。制御部510は、観測結果に基づいて、直前に学習された方策よりも、最適と判断される最適行動を決定可能なように、制御対象110の状態に対する行動を規定した、新たな方策を学習する。
これにより、制御部510は、不適切な行動を回避しながら、第1の強化学習により学習された方策よりも、最適と判断される最適行動を決定可能なように方策を更新することができる。結果として、制御部510は、学習された方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけ、制御対象110を適切に制御することができる。
また、第2の強化学習は、例えば、直前に学習された方策と、当該方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習する場合がある。直前に学習された方策は、例えば、基本制御器と、補正量を規定する1以上の制御器とを含む方策である。直前に学習された方策は、学習中の方策とは異なる。また、第2の強化学習は、基本制御器と制御器とを用いずに、新たな方策を学習する場合があってもよい。例えば、第2の強化学習は、現状で学習済みの方策による最適行動を補正した探索行動自体を記憶する行動価値テーブル400に基づき、新たな方策を学習する場合があってもよい。
この場合、制御部510は、例えば、一定時間ごとに、直前に学習された方策により最適と判断される最適行動に対し、行動範囲限界より小さい行動範囲における補正量を決定し、補正量に対する利得を観測する。制御部510は、観測結果に基づいて、直前に学習された方策により最適と判断される最適行動をさらに適切な行動にするための補正量を規定する新たな制御器を学習する。制御部510は、直前に学習された方策と新たな制御器とを含む新たな方策を学習する。
制御部510は、具体的には、図7に後述する2番目以降の強化学習を実施する。制御部510は、図7に後述するように、直前に学習された方策C0+RL1による最適行動の近傍の行動範囲で探索行動を複数回決定する。次に、制御部510は、探索行動を複数回決定した結果、制御器RL2を生成する。そして、制御部510は、直前に学習された方策C0+RL1と制御器RL2とを組み合わせて、新たな方策C0+RL1+RL2を学習する。
これにより、制御部510は、不適切な行動を回避しながら、第1の強化学習により学習された方策よりも、最適と判断される最適行動を決定可能なように方策を更新することができる。結果として、制御部510は、学習された方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけ、制御対象110を適切に制御することができる。また、制御部510は、行動価値テーブル400に補正値を記憶する場合には、行動価値テーブル400に探索行動自体を記憶する場合に比べて、行動価値テーブル400を記憶するための記憶領域のサイズを低減することができる。
また、第2の強化学習は、例えば、直前に学習された方策に含まれる制御器に、当該方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器を統合した方策を学習する場合があってもよい。
この場合、制御部510は、例えば、一定時間ごとに、直前に学習された方策により最適と判断される最適行動に対し、行動範囲限界より小さい行動範囲における補正量を決定し、補正量に対する利得を観測する。制御部510は、観測結果に基づいて、直前に学習された方策により最適と判断される最適行動をさらに適切な行動にするための補正量を規定する新たな制御器を学習する。制御部510は、直前に学習された方策に含まれる制御器と、新たな制御器とを統合した制御器を生成する。制御部510は、直前に学習された方策に含まれる基準制御器と、生成した制御器とを含む新たな方策を学習する。
これにより、制御部510は、不適切な行動を回避しながら、第1の強化学習により学習された方策よりも、最適と判断される方策を更新することができる。結果として、制御部510は、学習された方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけ、制御対象110を適切に制御することができる。また、制御部510は、学習された方策に含まれる制御器の数の低減化を図り、学習された方策により行動を決定する際の処理量の低減化を図ることができる。
制御部510は、さらに、直前に実施された第2の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における新たな第2の強化学習を実施するという処理を繰り返してもよい。
これにより、強化学習装置100は、不適切な行動を回避しながら、直前に実施された第2の強化学習により学習された方策よりも、最適と判断される最適行動を決定可能なように方策を更新することを繰り返すことができる。結果として、強化学習装置100は、方策を更新する都度、当該方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけ、制御対象110を適切に制御することができる。
以下の説明では、制御部510の一例として機能し、第1の強化学習および第2の強化学習を実現する設定部511~出力部516について説明する。
設定部511は、各処理部が用いる変数などを初期化する。設定部511は、例えば、Tに0を設定し、jに1を設定し、CにC0を設定する。Tは、時刻を表す記号である。jは、何番目の強化学習であるかを表す記号である。Cは、現状で学習済みの方策を表す記号で、n次元の状態sを元に、m次元の行動を生成する関数である。C0は、基本制御器である。C0は、n次元の状態が入力されるとm次元の行動aを出力する関数C0(s)である。例えば、C0(s)は、PI制御器や一定の行動を出力する固定制御器などである。
πjは、j番目の制御器である。制御器は、n次元の状態sから得られるnj次元の特徴量Φj(s)に基づいて、現状で学習済みの最新の方策による最適行動に基づき探索行動を決定するための、最適行動からの補正量を決定する。制御器は、例えば、Q学習やSARSAなどを利用することができる。制御器は、例えば、行動価値関数や行動価値テーブルを利用することができる。制御器は、n次元の状態sから得られるnj次元の特徴量Φj(s)に基づいて、現状で学習済みの最新の方策による最適行動に基づき探索行動を決定し、探索行動に基づいて新たな方策を学習する場合があってもよい。Ajは、行動範囲であり、制御器πjにより探索される行動空間である。Φjは、n次元の状態を、nj次元の特徴量に変換するための関数を表す記号である。Φjは、例えば、Q値の算出式が、nj次元の特徴量に基づきQ値を算出する算出式である場合に利用される。Φjは、j番目の強化学習で利用する関数である。これにより、設定部511は、変数を、各処理部に利用させることができる。
状態取得部512は、制御対象110の状態を取得する。状態取得部512は、取得した状態sを記憶部500に記憶する。状態取得部512は、例えば、所定時間ごとに制御対象110の状態を観測し、観測した時点に対応付けて記憶部500に記憶する。状態取得部512は、状態sを履歴テーブル300に記憶する。これにより、状態取得部512は、行動決定部513や更新部515に、状態を参照させることができる。
行動決定部513は、探索行動を決定する。行動決定部513は、探索行動を記憶部500に記憶する。探索行動は、さらに適切な行動があるか否かを探索するための行動である。例えば、ε貪欲法を利用する。確率εではランダムな行動を行い、確率ε以外の場合には最適行動を行う。この最適行動は、例えば、学習中の行動価値テーブル400により最適と判断される行動である。
行動決定部513は、例えば、取得したn次元の状態sを学習済みの方策Cに代入し、学習済みの方策Cにより最適と判断される最適行動C(s)を決定する。次に、行動決定部513は、制御器πjにより、行動であるbTを決定する。行動決定部513は、決定した最適行動C(s)を行動範囲Aj内で補正する補正量ψj(bT)を決定し、探索行動aT=最適行動C(s)+補正量ψj(bT)を決定する。行動変換ψjは、例えば、行動の次元をmとするときに、bTがm次元未満の場合に、m次元の補正量に変換し、最適行動C(s)と演算可能にする関数である。ψjは、具体的には、行動を表す変数がm個あるが、m個未満の変数を補正して、探索行動aTを決定する場合に利用される。ψjは、例えば、m個未満の変数以外の補正量を0に設定する。ψjは、j番目の強化学習において、m個の変数を補正する場合に比べて処理量の増大化を抑制する。行動決定部513は、決定した探索行動を、履歴テーブル300に記憶する。これにより、行動決定部513は、制御対象110に対して好ましい行動を決定し、制御対象110を効率よく制御可能にすることができる。
報酬取得部514は、行動に対応する利得を取得する。利得は、例えば、報酬である。利得は、コストにマイナスをかけた値であってもよい。報酬取得部514は、利得を記憶部500に記憶する。報酬取得部514は、例えば、制御対象110に対する行動が行われる都度、行動が行われてから所定時間後の制御対象110における利得rTを取得し、履歴テーブル300に記憶する。rTは、スカラー値である。これにより、報酬取得部514は、利得を、更新部515に参照させることができる。
更新部515は、取得した状態、行動、および利得に基づいて、制御器πjにより、新たな方策を学習する。更新部515は、例えば、行動価値テーブル400を生成し、行動価値テーブル400に基づいて新たな方策を学習する。更新部515は、具体的には、現状で学習済みの方策Cに、現状の最適行動C(s)を行動範囲Aj内で補正する補正量を規定した制御器ψj(πj(Φj(s)))を追加した、新たな方策Cjを学習する。
これにより、更新部515は、学習済みの最新の方策よりも、最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけることができる、新たな方策を学習することができる。このように、設定部511~更新部515は、上述した第1の強化学習を実現することができる。
その後、更新部515は、CにCjを設定し、jにj+1を設定する。これにより、更新部515は、新たな強化学習を実施可能にすることができ、新たな方策を学習して方策を更新可能にすることができる。このように、設定部511~更新部515は、上述した第2の強化学習を実現することができる。
また、更新部515は、現状で学習済みの方策Cに、新たな制御器を追加する際、現状で学習済みの方策Cに含まれる制御器と、新たな制御器とを統合するマージ処理を行ってもよい。更新部515は、例えば、所定の時間が経過した場合にマージ処理を行う。また、更新部515は、一定期間、強化学習により方策が変化しなかった場合にマージ処理を行ってもよい。また、更新部515は、一定期間、TD誤差が一定以上小さい場合にマージ処理を行ってもよい。マージ処理は、図8および図9を用いて後述する。これにより、更新部515は、決定部の処理量の低減化を図ることができる。
出力部516は、行動決定部513が決定した行動を制御対象110に対して出力する。これにより、出力部516は、制御対象110を制御することができる。
出力部516は、各処理部の処理結果を出力してもよい。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F203による外部装置への送信、または、メモリ202や記録媒体205などの記憶領域への記憶である。これにより、出力部516は、各機能部の処理結果を利用者に通知可能にし、強化学習装置100の管理や運用、例えば、強化学習装置100の設定値の更新などを支援することができ、強化学習装置100の利便性の向上を図ることができる。
(強化学習装置100の動作例)
次に、図6を用いて、強化学習装置100の動作例について説明する。
図6は、強化学習装置100の動作例を示す説明図である。基本制御器C0は、例えば、固定制御器やPI制御器である。制御器は、現状最適と判断される最適行動の近傍の行動範囲で探索行動を決定し、探索行動に基づいて補正値を規定する制御器RLj(j>0)を決定する。補正値は、例えば、3つの離散値である-1と0と+1とのいずれかである。
図6の表600は、1日分の外気温データに基づいて強化学習を繰り返した場合の模式図を表す。図6に示すように、強化学習装置100は、1番目の強化学習ではC0による最適行動の近傍の行動範囲601で探索行動を決定しており、制御対象110に悪影響を与えるような不適切な行動を回避しながら強化学習を実施することができる。そして、強化学習装置100は、現状の最適行動よりも、さらに最適と判断される最適行動を決定することができる方策C0+RL1を学習することができる。
強化学習装置100は、2番目の強化学習では学習済みの方策C0+RL1による最適行動の近傍の行動範囲602で探索行動を決定しており、制御対象110に悪影響を与えるような不適切な行動を回避しながら強化学習を実施することができる。ここで、探索行動を決定する際、RL1の制御器については探索も学習もされず固定される。そして、強化学習装置100は、現状の最適行動よりも、さらに最適と判断される最適行動を決定することができる方策C0+RL1+RL2を学習することができる。また、強化学習装置100は、学習済みの方策C0+RL1による最適行動の近傍の行動範囲で探索行動を決定するため、1回の強化学習で試行する探索行動の数の低減化を図り、強化学習にかかる処理量と処理時間の低減化を図ることができる。
強化学習装置100は、強化学習を繰り返すことにより、近傍の行動範囲60x内で探索行動を決定し、制御対象110に悪影響を与えるような不適切な行動を回避しながら強化学習を実施することができる。そして、強化学習装置100は、局所的に最適である最適行動を探索することができ、制御対象110を精度よく制御することができる。
(探索行動を決定する行動範囲の変化)
次に、図7を用いて、探索行動を決定する行動範囲の変化について具体的に説明する。
図7は、探索行動を決定する行動範囲の変化を示す説明図である。図7の各表700~720は、それぞれ、制御対象の状態に対する行動の一例を表す。C0は、設定温度を一定に制御する制御器であり、状態に対する行動が直線状になる固定制御器である。
例えば、1番目の強化学習では、表700に示すように、C0が決定する行動の近傍の行動範囲において探索行動を複数回決定した結果、制御器RL1が生成される。そして、C0と制御器RL1とを組み合わせて、方策C0+RL1が学習される。結果として、学習済みの方策C0+RL1は、状態に対する行動が、表710に示すように曲線状になるようにし、制御対象の各状態に対し、さらに適切な行動を表すことができる。
例えば、2番目の強化学習では、表710に示すように、学習済みの方策C0+RL1が決定する行動の近傍の行動範囲において探索行動を複数回決定した結果、制御器RL2が生成される。この際、RL1の制御器については探索も学習もされず固定される。そして、方策C0+RL1と制御器RL2とを組み合わせて、方策C0+RL1+RL2が学習される。結果として、学習済みの方策C0+RL1+RL2は、状態に対する行動が、表720に示すように曲線状になるようにし、制御対象の各状態に対し、さらに適切な行動を表すことができる。
このように、強化学習装置100は、制御対象の各状態に対して取りうる探索行動を決定する範囲を徐々に動かしながら、強化学習を繰り返すことができる。そして、強化学習装置100は、各状態に対して適切な行動が設定可能になるように方策を学習することができ、制御対象110を精度よく制御することができる。
(j番目の強化学習にかかる学習回数の低減化を図るバリエーション)
次に、j番目の強化学習にかかる学習回数の低減化を図るバリエーションについて説明する。強化学習装置100は、行動がm次元であり、行動を表す変数がm個ある場合、n個未満の変数をランダムに変化させて、探索行動を決定する場合があってもよい。例えば、強化学習装置100は、j番目の強化学習において一部の空調を選択して探索行動を決定する場合があってもよい。
具体的には、風速や設定温度を変更する空調が20台あるような環境であり、j番目の強化学習にかかる学習回数の増大化を招きやすいような場合がある。この場合、強化学習装置100は、例えば、20台の中からランダムに選択した3台だけ、学習済みの方策により最適と判断される最適行動に対して補正量を加えて、探索行動を決定してもよい。この場合、強化学習装置100は、例えば、未選択の空調については補正量0として扱う。これにより、強化学習装置100は、探索行動のバリエーションの増大化を抑制し、j番目の強化学習における学習回数の増大化を抑制することができる。
また、この場合、強化学習装置100は、例えば、20台をランダムに3グループに分類し、学習済みの方策により最適と判断される最適行動に対して、グループごとに設定された補正量を加えて、探索行動を決定してもよい。これにより、強化学習装置100は、探索行動のバリエーションの増大化を抑制し、j番目の強化学習における学習回数の増大化を抑制することができる。
(制御器を統合するマージ処理)
次に、図8および図9を用いて、制御器を統合するマージ処理について説明する。
図8および図9は、制御器を統合するマージ処理を示す説明図である。ここで、強化学習装置100が、強化学習を繰り返した結果、学習済みの方策に含まれ、行動の補正量を規定する制御器の数の増大化を招いてしまう。このため、j番目の強化学習において探索行動を決定するために最適行動を決定する際にかかる処理量の増大化を招き、負担の増大化を招き、また、データ量の増大化を招いてしまう場合がある。例えば、j番目の強化学習では、学習済みの方策がC0+RL1+RL2+・・・+RLj-1になり、j個の制御器を含んでしまう。
具体的には、図8に示すように、強化学習装置100が、強化学習の都度、行動価値テーブル800を生成し、行動価値テーブル800から制御器810を生成するような場合がある。この場合、強化学習装置100は、強化学習の都度、異なる制御器810を生成するため、学習済みの方策に含まれる制御器810の数の増大化を招くことになる。
結果として、強化学習装置100は、最適行動を決定する際に、制御器810の数に応じた処理量がかかることになり、負担の増大化を招いてしまう。例えば、強化学習装置100は、制御器810ごとに状態に応じた補正量を検索することになる。そこで、強化学習装置100は、図9に示すように、制御器を統合するマージ処理を行う。
図9に示すように、強化学習装置100は、1番目の強化学習で学習した制御器900と、2番目の強化学習で学習した制御器910とを統合し、新たな制御器920にしてから方策に含めるようにする。これにより、強化学習装置100は、最適行動を決定する際に、負担の増大化を抑制することができる。
また、共通の特徴量Φ、および、行動変換ψを用いる制御器πjを、強化学習装置100が用いる場合で、強化学習装置100が、行動価値関数を、線形関数で表現する場合がある。この場合も、強化学習装置100は、マージ処理を行ってもよい。強化学習装置100は、例えば、制御器RL1の行動価値関数Σwiiと、制御器RL2の行動価値関数Σuiiとを統合し、新たな制御器RL1+RL2の行動価値関数Σ(wi+ui)siを元に方策を定めるようにする。
また、ガウス分布の平均に基づいて最適行動を決定し、ガウス分布の分散に基づいて探索行動を決定する制御器πjを、強化学習装置100が用いる場合があってもよい。各制御器πjが、共通の特徴量Φ、および、行動変換ψを用いている場合で、平均を線形関数で表現している場合、マージ処理を行ってもよい。強化学習装置100は、例えば、制御器RL1の平均Σwiiと、制御器RL2の平均Σuiiとを統合し、新たな制御器RL1+RL2の平均をΣ(wi+ui)siとする。マージ後の分散は、例えば、0と設定しても良い。
ここでは、強化学習装置100が、制御器を統合するマージ処理を行う場合について説明したが、これに限らない。例えば、強化学習装置100が、制御器を統合するマージ処理を行わない場合があってもよい。
(強化学習を繰り返した結果)
次に、図10および図11を用いて、強化学習装置100が、強化学習を繰り返した結果について説明する。図10および図11の例では、制御対象110は、各部屋に空調機が存在する3部屋の室温である。目的は、各部屋の現在の室温と、目標とする温度の誤差の二乗和を最小化することである。サンプリング時間は、1分であり、一日あたり1440ステップである。学習繰り返し数(エピソード数)は、1500であり、300エピソードごとに新たな制御器RLjを追加する。
図10および図11は、強化学習を繰り返した結果を示す説明図である。図10は、1エピソード=400stepで、基本制御器で制御対象110を制御した場合、基本制御器とQ学習とで制御対象110を制御した場合、および、強化学習装置100が行動範囲限界に基づく探索により制御対象110を制御した場合の、室温と設定温度の誤差の二乗和の変化を表す。
図10に示すように、基本制御器で制御対象110を制御した場合、二乗誤差を低減することが難しい。一方で、基本制御器とQ学習とで制御対象110を制御した場合、学習の前半では、二乗誤差が大きくなってしまうことがあり、制御対象110に悪影響を与えてしまうことがある。これに対し、強化学習装置100は、二乗誤差が大きくなるような制御対象110に悪影響を与えてしまう行動を回避しながら、二乗誤差を低減していくことができる。
図11は、1エピソード=500stepで、基本制御器で制御対象110を制御した場合、基本制御器とQ学習とで制御対象110を制御した場合、および、強化学習装置100が行動範囲限界に基づく探索により制御対象110を制御した場合の、室温と設定温度の誤差の二乗和の変化を表す。
図11に示すように、基本制御器で制御対象110を制御した場合、二乗誤差を低減することが難しい。一方で、基本制御器とQ学習とで制御対象110を制御した場合、二乗誤差が大きくなってしまうことがあり、制御対象110に悪影響を与えてしまうことがある。これに対し、強化学習装置100は、二乗誤差が大きくなるような制御対象110に悪影響を与えてしまう行動を回避しながら、二乗誤差を低減していくことができる。
(制御対象110の具体例)
次に、図12~図14を用いて、制御対象110の具体例について説明する。
図12~図14は、制御対象110の具体例を示す説明図である。図12の例では、制御対象110は、自律移動体1200であり、具体的には、自律移動体1200の移動機構1201である。自律移動体1200は、具体的には、ドローン、ヘリコプター、自律移動ロボット、自動車などである。行動は、移動機構1201に対する指令値である。行動は、例えば、移動方向や移動距離などに関する指令値である。
行動は、例えば、自律移動体1200がヘリコプターであれば、回転翼の速度や回転翼の回転面の傾きなどである。行動は、例えば、自律移動体1200が自動車であれば、アクセルやブレーキの強さ、ハンドルの向きなどである。状態は、自律移動体1200に設けられたセンサ装置からのセンサデータであり、例えば、自律移動体1200の位置などである。利得は、コストにマイナスをかけた値である。コストは、例えば、自律移動体1200の目標の動作と、自律移動体1200の実際の動作との誤差などである。
ここで、強化学習装置100は、自律移動体1200の目標の動作と、自律移動体1200の実際の動作との誤差が大きくなるような指令値を、探索行動になる指令値に決定することを防止することができる。このため、強化学習装置100は、自律移動体1200に悪影響を与えるような不適切な行動を行うことを防止することができる。
強化学習装置100は、例えば、自律移動体1200がヘリコプターであれば、バランスを崩して落下し、ヘリコプターが破損することを防止することができる。強化学習装置100は、例えば、自律移動体1200が自律移動ロボットであれば、バランスを崩して転倒したり、障害物に衝突したりして、自律移動ロボットが破損することを防止することができる。
図13の例では、制御対象110は、熱源であるサーバ1301と、CRACやChillerなどの冷却器1302とを含むサーバルーム1300である。行動は、冷却器1302に対する設定温度や設定風量である。
状態は、サーバルーム1300に設けられたセンサ装置からのセンサデータなどであり、例えば、温度などである。状態は、制御対象110以外から得られる制御対象110に関するデータであってもよく、例えば、気温や天気などであってもよい。利得は、コストにマイナスをかけた値である。コストは、例えば、目標とする室温と室温との誤差の二乗和である。
ここで、強化学習装置100は、サーバルーム1300の温度を、サーバルーム1300のサーバを誤作動または故障させるような高温にしてしまうような行動を、探索行動に決定することを防止することができる。また、強化学習装置100は、サーバルーム1300の24時間分の消費電力量が著しく大きくなるような行動を、探索行動に決定することを防止することができる。このため、強化学習装置100は、サーバルーム1300に悪影響を与えるような不適切な行動を行うことを防止することができる。
図14の例では、制御対象110は、発電機1400である。行動は、発電機1400に対する指令値である。状態は、発電機1400に設けられたセンサ装置からのセンサデータであり、例えば、発電機1400の発電量や発電機1400のタービンの回転量などである。利得は、例えば、報酬である。報酬は、例えば、発電機1400の5分間の発電量である。
ここで、強化学習装置100は、発電機1400のタービンの回転が、発電機1400のタービンが故障しやすくなるような高速回転になるような指令値を、探索行動になる指令値に決定することを防止することができる。また、強化学習装置100は、発電機1400の24時間分の発電量が小さくなるような指令値を、探索行動になる指令値に決定することを防止することができる。このため、強化学習装置100は、発電機1400に悪影響を与えるような不適切な行動を行うことを防止することができる。
また、制御対象110は、上述した具体例のシミュレータであってもよい。また、制御対象110は、例えば、化学プラントなどであってもよい。また、制御対象110は、例えば、ゲームであってもよい。ゲームは、例えば、行動が順序尺度であり、行動が名義尺度ではない種類のゲームである。順序尺度は、行動を表す値の大きさに意味が存在することを示す。一方で、名義尺度は、例えば、利用者が行動に対して便宜上割り振った番号を、行動を表す値として利用する場合である。
(強化学習処理手順)
次に、図15を用いて、強化学習装置100が実行する、強化学習処理手順の一例について説明する。強化学習処理は、例えば、図2に示したCPU201と、メモリ202や記録媒体205などの記憶領域と、ネットワークI/F203とによって実現される。
図15は、強化学習処理手順の一例を示すフローチャートである。図15において、強化学習装置100は、変数Tを0に設定する(ステップS1501)。次に、強化学習装置100は、状態sTを観測し、履歴テーブル300を用いて記憶する(ステップS1502)。
そして、強化学習装置100は、学習済みの最新の方策により最適行動aT *を決定する(ステップS1503)。さらに、強化学習装置100は、最適行動aT *を基準にし、行動範囲限界より小さい行動範囲に含まれる探索行動aTを決定し、履歴テーブル300を用いて記憶する(ステップS1504)。
次に、強化学習装置100は、TをT+1に設定する(ステップS1505)。そして、強化学習装置100は、行動aT-1に対応する報酬rT-1を取得し、履歴テーブル300を用いて記憶する(ステップS1506)。
次に、強化学習装置100は、学習済みの最新の方策を更新するか否かを判定する(ステップS1507)。更新は、例えば、ステップS1502~S1506の一連の処理が、N回実行されるごとに行われる。
ここで、方策を更新しない場合(ステップS1507:No)、強化学習装置100は、ステップS1511の処理に移行する。一方で、方策を更新する場合(ステップS1507:Yes)、強化学習装置100は、ステップS1508の処理に移行する。
ステップS1508では、強化学習装置100は、新たな方策を学習し、学習済みの最新の方策を更新する(ステップS1508)。次に、強化学習装置100は、マージ処理を行うか否かを判定する(ステップS1509)。
ここで、マージ処理を行わない場合(ステップS1509:No)、強化学習装置100は、ステップS1511の処理に移行する。一方で、マージ処理を行う場合(ステップS1509:Yes)、強化学習装置100は、ステップS1510の処理に移行する。
ステップS1510では、強化学習装置100は、マージ処理を行う(ステップS1510)。そして、強化学習装置100は、ステップS1511の処理に移行する。
ステップS1511では、強化学習装置100は、制御対象110の制御を終了するか否かを判定する(ステップS1511)。
ここで、終了しない場合(ステップS1511:No)、強化学習装置100は、ステップS1502の処理に戻る。一方で、終了する場合(ステップS1511:Yes)、強化学習装置100は、強化学習処理を終了する。これにより、強化学習装置100は、不適切な行動を回避しながら、最適と判断される最適行動を決定可能なように方策を更新することを繰り返すことができる。
図15の例では、強化学習装置100が、バッチ処理形式で強化学習処理を実行する場合について説明したが、これに限らない。例えば、強化学習装置100が、逐次処理形式で強化学習処理を実行する場合があってもよい。
以上説明したように、強化学習装置100によれば、制御対象110の状態に対する行動を規定した基本制御器を設定した最初の方策により得られる行動を用いて、制御対象110についての行動範囲限界より小さい行動範囲における第1の強化学習を実施することができる。強化学習装置100によれば、第1の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における第2の強化学習を実施することができる。これにより、強化学習装置100は、探索行動として、現状で最適と判断される最適行動から一定以上離れた行動が行われることを防止することができ、制御対象110に悪影響を与えるような不適切な行動が行われることを防止することができる。そして、強化学習装置100は、不適切な行動を回避しながら、最適と判断される最適行動を精度よく決定可能なように方策を更新することができる。結果として、強化学習装置100は、学習済みの最新の方策を更新する都度、当該方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけることができ、制御対象110を適切に制御することができる。
強化学習装置100によれば、直前に実施された第2の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における新たな第2の強化学習を実施することができる。これにより、強化学習装置100は、不適切な行動を回避しながら、最適と判断される最適行動を精度よく決定可能なように方策を更新することを繰り返すことができる。結果として、強化学習装置100は、学習済みの最新の方策を更新する都度、当該方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけることができる。また、強化学習装置100は、繰り返しの結果、実際に局所的に最適である最適行動を決定する方策を学習することができる。そして、強化学習装置100は、局所的に最適と判断される最適行動を行い、制御対象110を適切に制御することができる。
強化学習装置100によれば、第1の強化学習により、基本制御器と、基本制御器を設定した最初の方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習することができる。強化学習装置100によれば、第2の強化学習により、直前に学習された方策と、当該方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習することができる。
強化学習装置100によれば、第2の強化学習により、直前に学習された方策に含まれる制御器に、当該方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器を統合した方策を学習することができる。これにより、強化学習装置100は、学習された方策に含まれる制御器の数の低減化を図り、学習された方策により行動を決定する際の処理量の低減化を図ることができる。
なお、本実施の形態で説明した強化学習方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した強化学習プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した強化学習プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第1の強化学習を実施し、
前記第1の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第2の強化学習を実施する、
処理を実行させることを特徴とする強化学習プログラム。
(付記2)前記コンピュータに、
直前に実施された第2の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における新たな第2の強化学習を実施する、処理を繰り返し実行させることを特徴とする付記1に記載の強化学習プログラム。
(付記3)前記第1の強化学習は、前記基本制御器と、前記基本制御器により得られる行動からの前記行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習し、
前記第2の強化学習は、直前に学習された方策と、当該方策により得られる行動からの前記行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習する、ことを特徴とする付記1または2に記載の強化学習プログラム。
(付記4)前記第2の強化学習は、直前に学習された方策に含まれる制御器に、当該方策により得られる行動からの前記行動範囲限界より小さい行動範囲における補正量を規定する制御器を統合した方策を学習する、ことを特徴とする付記3に記載の強化学習プログラム。
(付記5)コンピュータが、
制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第1の強化学習を実施し、
前記第1の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第2の強化学習を実施する、
処理を実行することを特徴とする強化学習方法。
(付記6)制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第1の強化学習を実施し、
前記第1の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第2の強化学習を実施する、
制御部を有することを特徴とする強化学習装置。
100 強化学習装置
110 制御対象
200 バス
201 CPU
202 メモリ
203 ネットワークI/F
204 記録媒体I/F
205 記録媒体
210 ネットワーク
300 履歴テーブル
400,800 行動価値テーブル
500 記憶部
510 制御部
511 設定部
512 状態取得部
513 行動決定部
514 報酬取得部
515 更新部
516 出力部
601~60x 行動範囲
600,700,710,720 表
810,900,910,920 制御器
1200 自律移動体
1201 移動機構
1300 サーバルーム
1301 サーバ
1302 冷却器
1400 発電機

Claims (5)

  1. コンピュータに、
    制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第1の強化学習を実施し、
    前記第1の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第2の強化学習を実施する、
    処理を実行させることを特徴とする強化学習プログラム。
  2. 前記コンピュータに、
    直前に実施された第2の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における新たな第2の強化学習を実施する、処理を繰り返し実行させることを特徴とする請求項1に記載の強化学習プログラム。
  3. 前記第1の強化学習は、前記基本制御器と、前記基本制御器により得られる行動からの前記行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習し、
    前記第2の強化学習は、直前に学習された方策と、当該方策により得られる行動からの前記行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習する、ことを特徴とする請求項1または2に記載の強化学習プログラム。
  4. コンピュータが、
    制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第1の強化学習を実施し、
    前記第1の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第2の強化学習を実施する、
    処理を実行することを特徴とする強化学習方法。
  5. 制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第1の強化学習を実施し、
    前記第1の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第2の強化学習を実施する、
    制御部を有することを特徴とする強化学習装置。
JP2018070133A 2018-03-30 2018-03-30 強化学習プログラム、強化学習方法、および強化学習装置 Active JP7035734B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018070133A JP7035734B2 (ja) 2018-03-30 2018-03-30 強化学習プログラム、強化学習方法、および強化学習装置
US16/293,724 US11366433B2 (en) 2018-03-30 2019-03-06 Reinforcement learning method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018070133A JP7035734B2 (ja) 2018-03-30 2018-03-30 強化学習プログラム、強化学習方法、および強化学習装置

Publications (2)

Publication Number Publication Date
JP2019179518A JP2019179518A (ja) 2019-10-17
JP7035734B2 true JP7035734B2 (ja) 2022-03-15

Family

ID=68054264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018070133A Active JP7035734B2 (ja) 2018-03-30 2018-03-30 強化学習プログラム、強化学習方法、および強化学習装置

Country Status (2)

Country Link
US (1) US11366433B2 (ja)
JP (1) JP7035734B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6975685B2 (ja) * 2018-06-15 2021-12-01 株式会社日立製作所 学習制御方法及び計算機システム
US20190042979A1 (en) * 2018-06-28 2019-02-07 Intel Corporation Thermal self-learning with reinforcement learning agent
WO2020032947A1 (en) * 2018-08-09 2020-02-13 Siemens Aktiengesellschaft Manufacturing process control using constrained reinforcement machine learning
TWI780333B (zh) * 2019-06-03 2022-10-11 緯創資通股份有限公司 動態處理並播放多媒體內容的方法及多媒體播放裝置
KR102461732B1 (ko) * 2019-07-16 2022-11-01 한국전자통신연구원 강화 학습 방법 및 장치
JP7207289B2 (ja) * 2019-12-23 2023-01-18 トヨタ自動車株式会社 車両用制御装置、車両用制御システム、車両用学習装置、および車両用学習方法
JP7207290B2 (ja) * 2019-12-23 2023-01-18 トヨタ自動車株式会社 車両用制御装置、車両用制御システム、車両用学習装置、および車両用学習方法
JP7399724B2 (ja) * 2020-01-21 2023-12-18 東芝エネルギーシステムズ株式会社 情報処理装置、情報処理方法、およびプログラム
US11605026B2 (en) * 2020-05-15 2023-03-14 Huawei Technologies Co. Ltd. Methods and systems for support policy learning
CN113721655B (zh) * 2021-08-26 2023-06-16 南京大学 一种控制周期自适应的强化学习无人机稳定飞行控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348394A (ja) 2003-05-21 2004-12-09 Toyota Central Res & Dev Lab Inc 環境変化装置及び行動指針情報生成提示装置
JP2010092247A (ja) 2008-10-07 2010-04-22 Internatl Business Mach Corp <Ibm> 制御器、制御方法及び制御プログラム
JP2011505030A (ja) 2007-10-31 2011-02-17 シーメンス アクチエンゲゼルシヤフト 技術システムの状態をコンピュータ支援のもとで探査する方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065929A (ja) 2005-08-30 2007-03-15 Okinawa Institute Of Science & Technology 制御器、制御方法および制御プログラム
JP5330138B2 (ja) * 2008-11-04 2013-10-30 本田技研工業株式会社 強化学習システム
JP5916466B2 (ja) 2012-03-27 2016-05-11 国立大学法人広島大学 機械学習システムおよび機械学習方法
US8996177B2 (en) * 2013-03-15 2015-03-31 Brain Corporation Robotic training apparatus and methods
US9764468B2 (en) * 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
US10839302B2 (en) * 2015-11-24 2020-11-17 The Research Foundation For The State University Of New York Approximate value iteration with complex returns by bounding
US10885432B1 (en) * 2015-12-16 2021-01-05 Deepmind Technologies Limited Selecting actions from large discrete action sets using reinforcement learning
US11288568B2 (en) * 2016-02-09 2022-03-29 Google Llc Reinforcement learning using advantage estimates
JP6618395B2 (ja) 2016-03-18 2019-12-11 Kddi株式会社 行動価値によって調査対象の位置を予測する装置、プログラム及び方法
US10065654B2 (en) * 2016-07-08 2018-09-04 Toyota Motor Engineering & Manufacturing North America, Inc. Online learning and vehicle control method based on reinforcement learning without active exploration
US10960539B1 (en) * 2016-09-15 2021-03-30 X Development Llc Control policies for robotic agents
CN115338859A (zh) * 2016-09-15 2022-11-15 谷歌有限责任公司 机器人操纵的深度强化学习
US11062207B2 (en) * 2016-11-04 2021-07-13 Raytheon Technologies Corporation Control systems using deep reinforcement learning
US20180165602A1 (en) * 2016-12-14 2018-06-14 Microsoft Technology Licensing, Llc Scalability of reinforcement learning by separation of concerns
CN107479368B (zh) * 2017-06-30 2021-09-21 北京百度网讯科技有限公司 一种基于人工智能的训练无人机控制模型的方法及系统
EP3616129A1 (en) * 2017-09-20 2020-03-04 Google LLC Optimizing policy controllers for robotic agents using image embeddings
US11886988B2 (en) * 2017-11-22 2024-01-30 International Business Machines Corporation Method for adaptive exploration to accelerate deep reinforcement learning
US10792810B1 (en) * 2017-12-14 2020-10-06 Amazon Technologies, Inc. Artificial intelligence system for learning robotic control policies
US11709462B2 (en) * 2018-02-12 2023-07-25 Adobe Inc. Safe and efficient training of a control agent

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004348394A (ja) 2003-05-21 2004-12-09 Toyota Central Res & Dev Lab Inc 環境変化装置及び行動指針情報生成提示装置
JP2011505030A (ja) 2007-10-31 2011-02-17 シーメンス アクチエンゲゼルシヤフト 技術システムの状態をコンピュータ支援のもとで探査する方法
JP2010092247A (ja) 2008-10-07 2010-04-22 Internatl Business Mach Corp <Ibm> 制御器、制御方法及び制御プログラム

Also Published As

Publication number Publication date
US11366433B2 (en) 2022-06-21
US20190302708A1 (en) 2019-10-03
JP2019179518A (ja) 2019-10-17

Similar Documents

Publication Publication Date Title
JP7035734B2 (ja) 強化学習プログラム、強化学習方法、および強化学習装置
CN109274314A (zh) 机器学习装置、伺服电动机控制装置、伺服电动机控制系统以及机器学习方法
US20200193333A1 (en) Efficient reinforcement learning based on merging of trained learners
JP2019537132A (ja) アクション選択ニューラルネットワークをトレーニングすること
Mehndiratta et al. Automated tuning of nonlinear model predictive controller by reinforcement learning
CN114761966A (zh) 用于以轨迹为中心的基于模型的强化学习的稳健优化的系统及方法
JP2016100009A (ja) 機械の動作を制御する方法、および機械の動作を反復的に制御する制御システム
US20200233384A1 (en) Reinforcement learning method, recording medium, and reinforcement learning apparatus
US11023827B2 (en) Machine learning device, servo control device, servo control system, and machine learning method for suppressing variation in position error using feedforward control
JP7379833B2 (ja) 強化学習方法、強化学習プログラム、および強化学習システム
US20200174432A1 (en) Action determining method and action determining apparatus
JP6977733B2 (ja) パラメータ最適化装置、パラメータ最適化方法、及びプログラム
Li et al. Dealing with the unknown: Pessimistic offline reinforcement learning
KR102326733B1 (ko) 엑츄에이터 조절 시스템을 작동시키기 위한 방법 및 장치, 컴퓨터 프로그램 및 기계 판독가능한 저장 매체
Caruntu et al. Network delay predictive compensation based on time-delay modelling as disturbance
US11958635B2 (en) Linear programming problem solving system, solution candidate calculation device, optimal solution calculation device, thruster control device for spacecraft, flying object control device, and linear programming problem solving method
Liu et al. Her-pdqn: A reinforcement learning approach for uav navigation with hybrid action spaces and sparse rewards
Rizvi et al. Experience replay–based output feedback Q‐learning scheme for optimal output tracking control of discrete‐time linear systems
JP7468619B2 (ja) 学習装置、学習方法、及び、記録媒体
US20220100153A1 (en) Model-free control of dynamical systems with deep reservoir computing
CN116512237B (zh) 工业机器人视觉伺服方法、装置、电子设备及存储介质
JP4301491B2 (ja) 電動機制御システムの自律設計方法及び自律設計装置並びに電動機制御システム
JP7159883B2 (ja) 強化学習方法、強化学習プログラム、および強化学習装置
Jiang et al. Fast and smooth composite local learning-based adaptive control
Reichensdörfer et al. Grammatical evolution of robust controller structures using wilson scoring and criticality ranking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220214

R150 Certificate of patent or registration of utility model

Ref document number: 7035734

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150