(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023125953
(43)【公開日】2023-09-07
(54)【発明の名称】情報処理装置、クレーン制御システム、学習方法、および学習プログラム
(51)【国際特許分類】
B66C 13/48 20060101AFI20230831BHJP
B65F 9/00 20060101ALI20230831BHJP
【FI】
B66C13/48 Z
B65F9/00
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022030347
(22)【出願日】2022-02-28
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り ・ウェブサイトのアドレス https://robomech.org/2021/online https://robomech.org/2021/wp-content/uploads/2021/06/公開用PG2021-0604.pdf 掲載日 令和3年6月6日 ・研究集会名 ロボティクス・メカトロニクス講演会2021 開催場所(ウェブサイト) https://robomech.org/2021/online 開催日 令和3年6月7日 ・ウェブサイトのアドレス https://doi.org/10.1299/jsmermd.2021.1P1-I17 掲載日 令和3年12月25日
(71)【出願人】
【識別番号】000005119
【氏名又は名称】日立造船株式会社
(71)【出願人】
【識別番号】504143441
【氏名又は名称】国立大学法人 奈良先端科学技術大学院大学
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】川端 馨
(72)【発明者】
【氏名】平林 照司
(72)【発明者】
【氏名】伊瀬 顕史
(72)【発明者】
【氏名】松原 崇充
(72)【発明者】
【氏名】佐々木 光
【テーマコード(参考)】
3E025
3F204
【Fターム(参考)】
3E025DC06
3E025DE03
3E025EA03
3E025EA06
3F204AA02
3F204BA05
3F204BA09
3F204DA04
3F204DD01
3F204DD12
3F204DD19
(57)【要約】
【課題】廃棄物処理施設におけるクレーンの制御において、不安定な環境下であっても妥当な制御内容を決定することを可能にする。
【解決手段】情報処理装置(1)は、廃棄物を運搬するクレーンを備えた廃棄物処理施設にて観測された観測データを用いて、クレーンに実行させる行動を決定するための行動方策(111)と、当該行動の実行長を決定するための実行長方策(112)とを含む方策モデルを生成する学習部(105)を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
廃棄物を運搬するクレーンを備えた廃棄物処理施設にて観測された観測データを用いて、前記クレーンに実行させる行動を決定するための行動方策と、当該行動の実行長を決定するための実行長方策とを含む方策モデルを生成する学習部を備える、情報処理装置。
【請求項2】
前記学習部は、所定のタスクを完了させるまでに前記行動方策を用いて決定した各行動に対して与えられる報酬と、当該各行動について前記実行長方策を用いて決定した各実行長に対して与えられる報酬の総和が最大化されるように前記行動方策と前記実行長方策とを更新する処理を繰り返すことにより前記方策モデルを生成する、請求項1に記載の情報処理装置。
【請求項3】
前記方策モデルとしてガウス過程が適用されている、請求項1または2に記載の情報処理装置。
【請求項4】
前記学習部は、前記クレーンに実行させる行動を、前記廃棄物を前記クレーンのバケットで掴む掴み動作とするか、掴んだ前記廃棄物を前記バケットの移動経路上にばらまくために前記バケットを開閉させる開閉動作とするかを決定するための前記行動方策と、前記掴み動作および前記開閉動作の実行回数を決定するための前記実行長方策とを含む前記方策モデルを生成する、請求項1から3の何れか1項に記載の情報処理装置。
【請求項5】
前記学習部は、前記廃棄物を前記バケットの移動経路上にばらまくタスクを完了させるまでに前記行動方策を用いて決定した各行動に対して与えられる報酬と、当該各行動について前記実行長方策を用いて決定した各実行長に対して与えられる報酬の総和が最大化されるように前記行動方策と前記実行長方策とを更新する処理を繰り返すことにより前記方策モデルを生成し、
行動に対して与えられる前記報酬は、より多くの量の廃棄物をばらまくことができた場合、および廃棄物を前記移動経路上により均等にばらまくことができた場合の少なくとも何れかの場合により大きい値となり、実行長に対して与えられる前記報酬は、短時間で前記タスクが完了するほど大きい値となる、請求項4に記載の情報処理装置。
【請求項6】
廃棄物を運搬するクレーンに実行させる行動を決定するための行動方策を用いて、前記クレーンを備えた廃棄物処理施設にて観測された観測データに応じた前記行動を決定する行動決定部と、
前記行動決定部が決定する前記行動の実行長を決定するための実行長方策を用いて、前記観測データに応じた前記実行長を決定する実行長決定部と、を備える情報処理装置。
【請求項7】
廃棄物を運搬するクレーンと、
請求項6に記載の情報処理装置と、
前記情報処理装置が決定する前記行動および前記実行長に基づいて前記クレーンを動作させるクレーン制御装置と、を含むクレーン制御システム。
【請求項8】
1または複数の情報処理装置が実行する学習方法であって、
廃棄物を運搬するクレーンを備えた廃棄物処理施設にて観測された観測データを取得するデータ取得ステップと、
前記観測データを用いて、前記クレーンに実行させる行動を決定するための行動方策と、当該行動の実行長を決定するための実行長方策とを含む方策モデルを生成する学習ステップと、を含む学習方法。
【請求項9】
請求項1に記載の情報処理装置としてコンピュータを機能させるための学習プログラムであって、前記学習部としてコンピュータを機能させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、廃棄物を運搬するクレーンの自動制御に利用可能な情報処理装置等に関する。
【背景技術】
【0002】
一般に、廃棄物を処理する廃棄物処理プラントには、搬入された廃棄物を貯留するピットと呼ばれる貯留設備が設けられている。ピット内に貯留された廃棄物が例えば可燃ごみである場合には、当該廃棄物はピット内でバケット付きのクレーンにより積み替えられ、撹拌された後に、ホッパに投入され焼却炉に送り込まれて焼却される。
【0003】
このようなクレーンの制御を自動化するための技術の開発が従来から進められている。例えば、下記の特許文献1には、ピット内の各所におけるごみの撹拌回数の評価値を算出し、その評価値に基づいてクレーンのバケットの位置を選択し、その位置でバケットを開閉させることにより、クレーンを自動で制御する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述のようなクレーンの自動制御を高精度化するためには、廃棄物処理プラントで観測される観測データを用いて廃棄物の状態を正確に把握することが必要になる。ただし、廃棄物処理プラントにて観測される観測データは、処理対象の廃棄物の質が一定しない等の要因により値のばらつきが大きい。
【0006】
このため、例えば、そのような観測データを教師データとして、クレーンに実行させるべき動作を予測する予測モデルを生成した場合、観測データのばらつきに対応してクレーンに実行させる動作が頻繁に切り替わるような予測モデルが生成されてしまう可能性がある。このように、観測データにばらつきが大きい場合には高精度な学習済みモデルを生成することは難しい。それゆえ、不安定な環境下で取得した観測結果から妥当な制御内容を決定することも難しい。
【0007】
本発明の一態様は、廃棄物処理施設におけるクレーンの制御において、不安定な環境下であっても、取得した観測結果から妥当な制御内容を決定することを可能にする情報処理装置等を実現することを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は、廃棄物を運搬するクレーンを備えた廃棄物処理施設にて観測された観測データを用いて、前記クレーンに実行させる行動を決定するための行動方策と、当該行動の実行長を決定するための実行長方策とを含む方策モデルを生成する学習部を備える。
【0009】
また、本発明の一態様に係る学習方法は、1または複数の情報処理装置が実行する学習方法であって、廃棄物を運搬するクレーンを備えた廃棄物処理施設にて観測された観測データを取得するデータ取得ステップと、前記観測データを用いて、前記クレーンに実行させる行動を決定するための行動方策と、当該行動の実行長を決定するための実行長方策とを含む方策モデルを生成する学習ステップと、を含む。
【発明の効果】
【0010】
本発明の一態様によれば、廃棄物処理施設におけるクレーンの制御において、不安定な環境下であっても、取得した観測結果から妥当な制御内容を決定することが可能になる。
【図面の簡単な説明】
【0011】
【
図1】本発明の一実施形態に係る情報処理装置の要部構成の一例を示すブロック図である。
【
図2】上記情報処理装置を含むクレーン制御システムの構成例を示す図である。
【
図4】廃棄物をばらまくタスクの概要を示す図である。
【
図5】行動方策および実行長方策の学習時に上記情報処理装置が実行する処理の一例を示すフローチャートである。
【
図6】タスクの試行時に行われる処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【0012】
〔システム構成〕
本実施形態に係るクレーン制御システムの構成を
図2に基づいて説明する。
図2は、クレーン制御システム7の構成例を示す図である。
図2に示すクレーン制御システム7は、情報処理装置1と、クレーン制御装置3と、クレーン5とを含む。クレーン5は、廃棄物の貯留設備であるピットPに貯留されている廃棄物を運搬するクレーンである。クレーン5は、より詳細には廃棄物を掴むバケットを備えたバケットクレーンである。廃棄物はクレーン5で運搬可能なものであればよく、例えば家庭ごみであってもよいし、産業廃棄物等であってもよい。
【0013】
情報処理装置1は、クレーン5を備えた廃棄物処理施設にて観測された観測データを用いてクレーン5に実行させる行動とその行動の実行長とを決定する。そして、クレーン制御装置3は、情報処理装置1が決定する行動と実行長に基づいてクレーン5を動作させる。なお、実行長は、同じ行動をどれだけ継続するかを示す。例えば、回数をカウントできる行動であれば、その行動の実行回数を実行長とすればよい。また、同じ行動の実行を継続する継続時間を実行長としてもよい。
【0014】
また、観測データは、クレーン5に行動を実行させるときの状態を特定するためのデータである。どのような観測データを用いるかは、クレーン5に実行させるタスクやそのタスクをどのように評価するか等に応じて適宜決定すればよい。例えば、クレーン5に廃棄物を運搬させるタスクであれば、クレーンのバケットに把持されている廃棄物の重量等を観測データとしてもよい。
【0015】
ここで、一般に廃棄物処理施設にて観測される観測データは、処理対象の廃棄物の質が一定しない等の要因により値のばらつきが大きい。このため、そのような観測データからクレーン5の制御に使用する機械学習モデルを生成した場合、観測データのばらつきに対応してクレーン5に実行させる行動を頻繁に切り替えるような機械学習モデルが生成されてしまう可能性がある。このように、観測データにばらつきが大きい場合には高精度な機械学習モデルを生成することは難しい。
【0016】
そこで、情報処理装置1は、上記の観測データを用いて、クレーン5に実行させる行動を決定するための行動方策と、当該行動の実行長を決定するための実行長方策とを含む方策モデルを生成する。
【0017】
上記方策モデルによれば、実行長方策により決定された実行長の期間は同じ行動が維持される。よって、観測データにばらつきが大きい場合であっても、そのばらつきに対応してクレーン5に実行させる行動を頻繁に切り替えるような機械学習モデルが生成される可能性を低減することができ、これにより高精度な機械学習モデルである方策モデルを生成することが可能になる。
【0018】
そして、情報処理装置1は、機械学習済みの方策モデルに含まれる行動方策を用いてクレーン5に実行させる行動を決定すると共に、当該方策モデルに含まれる実行長方策を用いて当該行動の実行長を決定する。これにより、不安定な環境下であっても、取得した観測データから妥当な制御内容を決定できるので、クレーン5の高精度な自動制御が実現される。
【0019】
以上のように、クレーン制御システム7は、廃棄物を運搬するクレーン5と、行動方策を用いてクレーン5に実行させる観測データに応じた行動を決定すると共に、実行長方策を用いて観測データに応じた上記行動の実行長を決定する情報処理装置1と、情報処理装置1が決定する行動および実行長に基づいてクレーン5を動作させるクレーン制御装置3と、を含む。これにより、不安定な環境下であっても、取得した観測データから妥当な制御内容を決定できるので、高精度なクレーン5の自動制御を実現することができる。
【0020】
〔情報処理装置の構成〕
情報処理装置1の構成について
図1に基づいて説明する。
図1は、情報処理装置1の要部構成の一例を示すブロック図である。図示のように、情報処理装置1は、情報処理装置1の各部を統括して制御する制御部10と、情報処理装置1が使用する各種データを記憶する記憶部11を備えている。また、情報処理装置1は、情報処理装置1が他の装置と通信するための通信部12、情報処理装置1に対する各種データの入力を受け付ける入力部13、および情報処理装置1が各種データを出力するための出力部14を備えている。
【0021】
また、制御部10には、行動決定部101、実行長決定部102、クレーン制御部103、エピソード収集部104、および学習部105が含まれている。そして、記憶部11には、行動方策111、実行長方策112、およびエピソード113が記憶されている。
【0022】
行動決定部101は、クレーン5に実行させる行動を決定するための行動方策111を用いて、クレーン5を備えた廃棄物処理施設にて観測された観測データに応じた行動を決定する。この処理は、行動方策111の学習中にも行われるし、学習終了後にも行われる。学習中に行われる場合には学習中の行動方策111が用いられ、学習終了後に行われる場合には学習済みの行動方策111が用いられる。実行長の決定についても同様である。
【0023】
行動決定部101は、例えば、予め定められた複数の行動の中からクレーン5に実行させる行動を決定してもよい。各行動は、任意に定義することができる。例えば、クレーン5のバケットを開く動作と、閉じる動作とをそれぞれ1つの行動と定義した場合、行動決定部101は、クレーン5にバケットを開く動作を実行させるか、閉じる動作を実行させるかを決定する。また、バケットを開き、開いた状態のバケットをピットP内の廃棄物表面に降ろし、バケットを閉じて廃棄物を掴み、ワイヤを巻き上げて掴んだ廃棄物を持ち上げる、といった一連の動作を1つの行動と定義してもよい。また、例えば、バケットをある角度まで開く動作と、当該角度とは異なる角度まで開く動作とをそれぞれ別の行動と定義する等のように、同一あるいは同種の動作であってもその程度や態様に応じて異なる動作と定義してもよい。
【0024】
実行長決定部102は、行動決定部101が決定する行動の実行長を決定するための実行長方策112を用いて、上記観測データに応じた実行長を決定する。行動方策111および実行長方策112の詳細は後述する。
【0025】
クレーン制御部103は、行動決定部101が決定する行動と、実行長決定部102が決定する実行長とに基づいてクレーン5を動作させる。より詳細には、クレーン制御部103は、通信部12を介した通信により、クレーン5に実行させる動作とその実行長をクレーン制御装置3に通知することによりクレーン5を動作させる。無論、クレーン制御部103は、クレーン制御装置3を介さずにクレーン5を制御してもよく、この場合、情報処理装置1がクレーン制御装置3の機能を兼ねることになる。
【0026】
エピソード収集部104は、行動方策111と実行長方策112の機械学習に用いる学習用データであるエピソード113を収集する。収集されたエピソード113は記憶部11に記憶される。詳細は後述するが、エピソード113には、廃棄物処理施設にて観測された観測データ(クレーン5に行動を実行させたときの状態を示すデータ)の他、クレーン5により実行された行動およびその実行長等が含まれている。
【0027】
学習部105は、上記の観測データを用いて方策モデルを生成する。この方策モデルには、クレーン5に実行させる行動を決定するための行動方策111と、当該行動の実行長を決定するための実行長方策112とが含まれている。行動方策111と実行長方策112の生成方法の詳細については後述する。
【0028】
以上のように、情報処理装置1は、廃棄物を運搬するクレーン5を備えた廃棄物処理施設にて観測された観測データを用いて、クレーン5に実行させる行動を決定するための行動方策111と、当該行動の実行長を決定するための実行長方策112とを含む方策モデルを生成する学習部105を備えている。
【0029】
上記方策モデルによれば、実行長方策により決定された実行長の期間は同じ行動が維持される。よって、観測データにばらつきが大きい場合であっても、そのばらつきに対応してクレーン5に実行させる行動を頻繁に切り替えるような機械学習モデルが生成される可能性を低減することができる。従って、上記の構成によれば、高精度な機械学習モデルである方策モデルを生成することが可能になる。そして、この方策モデルを利用することにより、不安定な環境下であっても、取得した観測データから妥当な制御内容を決定することが可能になる。
【0030】
また、以上のように、上記方策モデル(すなわち行動方策111および実行長方策112)の学習が終了した後は、行動決定部101は、学習済みの行動方策111を用いて、クレーン5を備えた廃棄物処理施設にて観測された観測データに応じた行動を決定する。そして、実行長決定部102は、学習済みの実行長方策112を用いて、上記観測データに応じた実行長を決定する。これにより、不安定な環境下であっても、取得した観測データから妥当な制御内容を決定できるので、高精度なクレーン5の自動制御を実現することが可能になっている。
【0031】
〔方策探索〕
行動方策111と実行長方策112の学習方法を説明する前に、その前提となる方策探索という手法について説明する。方策探索は、マルコフ決定過程によって定式化された環境において、期待利得を最大化する方策を獲得することを目的としている。方策探索では、方策に従って決定した行動を実行し、その行動を実行することによって獲得されたデータに基づいて方策を改善する、という処理を繰り返すことにより方策を学習する。つまり、方策探索は試行錯誤を繰り返しながら最適な方策を学習する強化学習の一手法である。
【0032】
通常の方策探索では、方策πを利用した試行錯誤の過程で実行された行動について、状態st、行動atの系列であるエピソードdを収集する。エピソードdは、下記の数式(1)のように表される。また、試行錯誤を行う環境の初期状態確率と状態遷移確率をそれぞれp(s1)とp(st+1|st,at)とすると、方策πを利用したときのエピソードdの確率分布p(d|π)は以下の数式(2)のように表される。
【0033】
【0034】
また、報酬rt(st,at)を用いて、エピソードdの報酬和である利得R(d)は下記のように表される。
【0035】
【0036】
方策探索では、上記確率分布p(d)と上記利得R(d)を用いて期待利得を求め、これを最大化する方策を計算する。この計算を数式で表すと下記のとおりである。
【0037】
【0038】
また、以上説明した方策探索においては、方策モデルとしてガウス過程を適用することができる。方策モデルとしてガウス過程を用いる方策探索は、ガウス過程方策探索と呼ばれる。ガウス過程方策探索には、少ないデータ量で方策を学習することができるという利点がある。その反面、ガウス過程方策探索では、学習に用いた全てのデータを直接利用して未知の入力に対する予測を計算するため、学習に用いるデータ数に応じて学習と予測の計算量が増加するという欠点がある。そのため、1回のタスク実行に多数の行動決定回数を必要とするタスクについては、ガウス過程方策探索の適用が難しい場合がある。
【0039】
〔ガウス過程自己駆動型方策探索〕
そこで、学習部105は、上述したガウス過程方策探索に、行動の実行長という概念を取り入れた新たな方式の方策探索(以下、GPSTPS:GAUSSIAN PROCESS SELF-TRIGGERED POLICY SERCHと呼ぶ)により行動方策111と実行長方策112の更新を行う。
【0040】
これにより、実際に得られたエピソード長に対して方策による行動の決定回数が削減される。そして、ガウス過程による方策学習に用いられるデータ数が削減され、学習および予測に要する計算量が減少することにより、従来は学習が困難であった長期的なエピソードを必要とするタスクについての最適な方策を探索することが可能になる。
【0041】
より詳細には、本実施形態では、行動方策111と実行長方策112のそれぞれの方策モデルとしてガウス過程を用い、期待利得を利得重み付き周辺尤度関数として扱うことで、変分推論に基づいた方策探索を実現するGPSTPSの例を説明する。この詳細について以下説明する。
【0042】
(1.問題の定式化)
上述した通常の方策探索を拡張して自己駆動型方策探索を定式化する。自己駆動型方策探索は、上述した実行長と2値の更新変数otとを導入することにより方策探索を拡張したものである。なお、時刻tで実行開始された行動atの実行長を、実行長τtと表す。また、更新変数otは、時刻tにおいて、1時刻前から実行されている行動を継続するか、行動を継続せず、行動と実行長を更新するかを切り替えるためのものであり、ゲート変数と呼ぶこともできる。
【0043】
自己駆動型方策探索では、各時刻における行動と実行長は、行動方策πaと実行長方策πτをそれぞれ内包する以下の分布に従うとする。
【0044】
【0045】
これら2つの分布において、ot=1の場合には、行動方策πaと実行長方策πτのそれぞれによって、行動と実行長が更新される。一方、otが0の場合、すなわち上記数式(5)、(6)における「else」の場合には、1時刻前の行動が継続し、実行長τtは1時刻前に戻される。このため、実行長τtは行動atの残りの継続時間(あるいは継続回数)を示すものとなる。時刻tにおける更新変数otは、その1時刻前の時刻(t-1)における実行長τt-1によって決まる。これを数式で表すと下記の数式(7)のようになる。
【0046】
【0047】
数式(7)によれば、実行長τt-1が1のときに更新変数otは1となる。そして、上述のように、更新変数otが1になることにより行動と実行長が更新される。
【0048】
また、実行長τtと更新変数otによってエピソードdとその確率分布は以下のように拡張される。
【0049】
【0050】
上記数式(8)に示されるエピソードdに含まれる各要素、すなわち状態s
t、行動a
t、実行長τ
t、更新変数o
tと、行動a
tに基づく報酬r
tとの関係は、
図3のグラフィカルモデルのように表される。
図3は、GPSTPSのグラフィカルモデルである。
図3に示すグラフィカルモデルにおける部分31に示されるように、時刻tにおける更新変数o
tの値は、時刻t-1における実行長τ
t-1によって決まる。また、更新変数o
tの値が決まれば、行動a
tとその実行長τ
tも決まる。そして、行動a
tが決まれば行動a
tと状態s
tから報酬r
tが決まると共に、次の時刻t+1における状態s
t+1が決まる。
【0051】
自己駆動型方策探索では、上記数式(9)に示される確率分布を用いて期待利得を求め、これを最大化する行動方策πaと実行長方策πτを学習する。これを数式で表すと下記のとおりである。
【0052】
【0053】
(2.ガウス過程方策モデル)
上述のように、自己駆動型方策探索によって学習される行動方策πaと実行長方策πτの方策モデルとしてガウス過程を適用したものがGPSTPSである。本実施形態では、方策モデルとして通常のガウス過程ではなく、スパースガウス過程を用いる例を説明する。この場合、行動の方策モデルとして状態を入力とした非線形関数
【0054】
【0055】
を用い、実行長の方策モデルとして状態を入力とした非線形関数
【0056】
【0057】
を用いた下記のようなガウス分布を仮定する。
【0058】
【0059】
ここで、
【0060】
【0061】
であり、σ
f
2、σ
g
2は、各ガウス分布の分散である。
図3のグラフィカルモデルにおける部分31および32に示されるようにs
tが決まればf
tが決まり、f
tが決まればa
tが決まる。同様に、
図3のグラフィカルモデルにおける部分31および33に示されるようにs
tが決まればg
tも決まり、g
tが決まればτ
tが決まる。
【0062】
各非線形関数の事前分布として下記のようなガウス過程をおく。
【0063】
【0064】
ここで、k(・,・)はカーネル関数であり、mg(・)は関数gの平均関数である。
【0065】
非線形関数の事前分布として用いたガウス過程の計算量を削減するために、方策学習に用いるデータ数より大幅に少ないM個の要素を持つ擬似的な入出力データである疑似入力
【0066】
【0067】
とこれに対応する上述の非線形関数の擬似出力
【0068】
【0069】
を導入し、以下のように事前分布をおく。
【0070】
【0071】
ここで、
【0072】
【0073】
は疑似入力を用いたカーネルグラム行列であり、
【0074】
【0075】
である。非線形関数の出力f
t、g
tは、疑似出力の分布を用いたガウス過程回帰によって以下のガウス分布によって示される。非線形関数の出力f
t、g
tとそれらの擬似出力との関係は、カーネルパラメータθを用いて
図3のグラフィカルモデルにおける部分32および33のように表される。
【0076】
【0077】
ここで、
【0078】
【0079】
である。方策モデルとしてガウス過程を用いた自己駆動型方策探索すなわちGPSTPSのエピソードdの確率は下のように求められる。
【0080】
【0081】
ここで、
【0082】
【0083】
である。
【0084】
(3.方策改善のための変分学習)
本実施形態のGPSTPSにおいては、方策探索による強化学習問題を利得重み付き周辺尤度の最大化問題として定式化し、変分推論によって2つの方策モデル内の非線形関数の事後分布を求めることにより、方策を改善する。以下、これについて説明する。
【0085】
上記の数式(20)を用いてガウス過程方策モデルによる自己駆動型方策探索の期待利得Jを計算すると以下のようになる。
【0086】
【0087】
上記数式(21)は、dおよび擬似出力
【0088】
【0089】
による複雑さにより、積分を解析的に解くことが難しい。そのため、対数とデータサンプルに利用した方策とその方策による期待利得Joldと変分分布
【0090】
【0091】
とを導入することにより、期待利得の下界logJLを求める。なお、データサンプルに利用した方策とは、学習時に試行されたタスクにおいて適用された方策である。
【0092】
【0093】
上記数式(23)におけるCは、数式(22)の右辺における方策に依存しない項をまとめた定数項である。例えば、数式(20)のp(s1)、p(st+1|st,at)、およびp(ot|τt-1)がCに含まれる。
【0094】
数式(23)に示されるように、GPSTPSの期待利得の下界logJLは、行動方策に関連する項と実行長方策に関連する項の和で表すことができる。変分分布にpold(d)を用いているため、エピソードdの積分は、試行錯誤データを用いたモンテカルロ法によって解く(正確には近似する)ことができる。なお、試行錯誤データは学習途中の方策πold(at|st)でタスクを実行した際に得られたデータである。この試行錯誤データを、方策πold(at|st)を利用したときのエピソードデータの分布pold(d)からサンプルされたものとして、モンテカルロ法による近似を行う。これにより、下記の数式(25)が導かれる。
【0095】
【0096】
ここで、
【0097】
【0098】
である。また、Wは利得に基づいた重みであり、
【0099】
【0100】
である。数式(25)は利得重み付け周辺尤度を表している。また、上記数式(25)は、学習中の方策モデルにより選択された行動と実行長を、報酬和(利得)に基づいて重み付けしたものということもできる。また、上記数式(25)は、方策探索による強化学習問題を、重み付きの教師あり学習問題として定式化したものともいえる。
【0101】
変分学習では、EMアルゴリズムのように、数式(25)を最大化する変分分布
【0102】
【0103】
を求めるEステップ(Expectationステップ)と、カーネルパラメータθおよび疑似入力
【0104】
【0105】
を最適化するMステップ(Maximizationステップ)と、を繰り返すことにより方策を最適化する。最適化によって得られる変分分布は事後分布の近似となる。なお、疑似入力は、数式(25)における分布
【0106】
【0107】
が有するパラメータである。
【0108】
より詳細には、Eステップでは、2つの変分分布の一方を固定して他方を最適値に更新する。繰り返しの際に固定する側を変更することにより、両方の変分分布を最適値に更新することができる。Mステップにおいて、カーネルパラメータと疑似入力は、何れも勾配に基づく手法で最適化することができる。最適化された疑似入力は、上述の数式(16)および(17)に示されるカーネルグラム行列の計算に用いられる。
【0109】
変分学習によって得られたカーネルパラメータθと事後分布を用いることにより、未知状態s*に対する行動a*と実行長τ*の予測分布を解析的に求めることができる。具体的には、上記予測分布は以下のような数式で表される。
【0110】
【0111】
したがって、上記数式(26)~(29)を行動方策111として記憶部11に記憶しておき、上記数式(30)~(33)を実行長方策112として記憶部11に記憶しておけばよい。これにより、行動決定部101は、行動方策111として記憶部11に記憶された数式(26)~(29)を用いて未知状態s*に対する行動a*を決定することができる。また、実行長決定部102は、実行長方策112として記憶部11に記憶された数式(30)~(33)を用いて未知状態s*に対する実行長τ*を決定することができる。
【0112】
以上のように、GPSTPSでは、観測できない変数である最適な方策を、タスクを実行したときに得られる観測可能な変数(状態、行動、および報酬)を用いて推論する。このようにして推論された最適な方策(具体的には行動方策111および実行長方策112)を用いることにより、不安定な環境下であっても、取得した観測結果から妥当な制御内容を決定し、クレーン5の安定した制御が実現できる。
【0113】
また、以上のように、情報処理装置1が学習する方策モデル(具体的には行動方策111および実行長方策112)にはガウス過程が適用されていてもよい。ガウス過程の方策モデルを用いる場合、カーネルトリックによりデータの高次元特徴量を暗に扱うことができるため、少ないデータ量で非線形な方策を学習することができる。また、上述のように、上記方策モデルとしてスパースガウス過程を適用してもよく、これによりガウス過程による計算量をさらに削減することができる。
【0114】
〔方策モデルの他の例〕
方策モデルはガウス過程に限られない。例えば、方策モデルとしてニューラルネットワークを適用することも可能である。上述のように、方策探索による強化学習問題を重み付きの教師あり学習問題として定式化することができるから、方策モデルとしてニューラルネットワークを適用する場合、重み付きのデータを教師あり学習的に用いることにより方策を学習すればよい。ここでの重みは、報酬の高さに応じて学習におけるデータの重要度を決めるものである。つまり、重みが大きいデータすなわち報酬が高いときのデータを重視した学習を行うことにより、報酬の高い行動を選択する方策モデルを生成することができる。具体的には、最小二乗法のコストに上記の重みを乗じたものに基づいてニューラルネットワークを学習することにより方策モデルを生成することができる。
【0115】
〔行動および実行長と報酬関数の例〕
上述のように、情報処理装置1では、行動決定部101が行動方策111を用いて観測データに応じた行動を決定し、実行長決定部102が実行長方策112を用いて当該行動の実行長を決定する。このように、行動とその実行長をそれぞれ独立して決定することにより、実行長が決定された後は、その実行長分の行動が完了するまでの期間は、再度実行長を決定する必要がなくなる。これにより、行動の決定回数を必要最小限に抑えることができると共に、行動の決定に要する計算の量も抑えることができる。さらに、方策の決定に用いる観測データが不安定である場合、観測データの変動に応じて細かく行動を変更するよりも、行動の決定回数を必要最小限に抑える方が、総合的にみて妥当な制御が実現できる。また、行動方策111と実行長方策112は、それらの学習に必要なデータ量も少なくて済むという利点もある。
【0116】
行動方策111を用いて予測する行動と、実行長方策112を用いて予測するその実行長は、クレーン5に実行させるタスクに応じたものとすればよい。同様に、上述の報酬r
tとしては、クレーン5に実行させるタスクに応じた報酬関数を設定すればよい。ここでは、クレーン5に廃棄物をばらまくタスクを行わせる場合の行動および実行長の設定例と、それら行動および実行長を評価する報酬関数の例を
図4に基づいて説明する。
図4は、廃棄物をばらまくタスクの概要を示す図である。
【0117】
廃棄物をばらまくタスク(以下、ばらまき撹拌と呼ぶ)は、ピットPに貯留されている廃棄物の均質化等を目的として行われるものである。ばらまき撹拌では、
図4の上段に示すように、まず、ピットP内のある地点で廃棄物をクレーン5に掴み上げさせる。この際、廃棄物が十分に掴めていなければ、その廃棄物を一旦放して再度掴み直しを行うことがある。そして、廃棄物を掴み上げた後は、
図4の下段に示すように、バケットを水平方向に移動させながら開閉することにより、バケットの移動経路上に廃棄物をばらまく。
【0118】
なお、クレーン5が動作を開始してから終了条件に達するまでが一連のタスクとなる。例えば、ピットP内の所定位置でバケットを下降させ、当該位置で廃棄物を掴み、その廃棄物を掴み上げ、バケットの水平方向への移動と開閉動作を開始し、クレーン5の移動距離が所定距離に達した時点でバケットを開き、バケット内に廃棄物が残っていない状態にするまでを一連のタスクとしてもよい。
【0119】
このタスクでは、最初の掴み動作で掴むことのできた廃棄物の量が少ないと、少量の廃棄物しかばらまくことができない。掴み動作を複数回繰り返すことにより、より多くの廃棄物を掴むことができる可能性が高まるが、繰り返し回数が多すぎるとタイムロスになる。また、開閉動作の回数が多すぎたり少なすぎたりすると均等なばらまきができない。このように、廃棄物のばらまきというタスクは難易度が高いタスクである。
【0120】
このタスクにおいてクレーン5に実行させる行動a
tは、廃棄物を掴む掴み動作と、廃棄物をばらまくためにバケットを開閉する開閉動作とに区分できる。よって、当該タスクにおける行動a
tは、例えばa
t={0,1}のような二値で表すことができる。
図4では、掴み動作のa
t=0とし、ばらまき動作のa
t=1としている。また、当該タスクにおける行動a
tの実行長τ
tは、動作の実行回数あるいは試行継続時間とすればよい。例えば、掴み動作の実行長τ
tは、掴み動作の実行回数とし、ばらまき動作の実行長τ
tは、バケットを所定の角度まで開いた後閉じるという一連の開閉動作の繰り返し回数としてもよい。
【0121】
この場合、学習部105は、クレーン5に実行させる行動を、廃棄物をクレーン5のバケットで掴む掴み動作とするか、掴んだ廃棄物をバケットの移動経路上にばらまくためにバケットを開閉させる開閉動作とするかを決定するための行動方策111と、掴み動作および開閉動作の実行回数を決定するための実行長方策とを含む方策モデルを生成することになる。これにより、廃棄物のばらまきという難易度が高いタスクを精度よく行うことができる方策モデルを生成することが可能になる。
【0122】
なお、上述の例は行動および実行長の設定の一例であり、クレーン5に実行させるタスクに応じて、任意の行動および実行長を予測対象に設定することができる。例えば、一連の掴み制御のルールを「行動」に設定してもよいし、単純な掴み操作を「行動」に設定してもよい。一連の掴み制御としては、例えば、バケットを固定値だけ閉じながらバケットを巻きあげる、あるいはピットの端から端まで移動しながらバケットを開閉させる等、複数の操作を組み合わせた制御が挙げられる。また、単純な掴み操作としては、例えば、バケットを完全に閉じる、固定値だけバケットを閉じる等、単一の操作からなる制御が挙げられる。
【0123】
上述のばらまき撹拌においては、例えば下記の数式(34)のような報酬関数rtを適用してもよい。
【0124】
【0125】
数式(34)におけるraは、廃棄物をばらまく性能を評価するものであり、例えば均等にばらまくことができた場合や、大量の廃棄物をばらまくことができた場合に大きい値となるように定義すればよい。また、rτはタスクの開始から終了までの時間を評価するものであり、より短時間でタスクが完了した場合により大きい値になるように定義すればよい。なお、上記数式(34)では、atが0のときつまり掴み動作を行うときの報酬をゼロにしているが、掴み動作についても報酬を与えるようにしてもよい。
【0126】
上記raおよびrτは、例えば下記の数式(35)、(36)のように定義してもよい。なお、数式(35)におけるα、および数式(36)におけるβは報酬関数のパラメータであり、報酬関数のパラメータの値は適宜設定すればよい。また、数式(36)におけるuactは、ばらまき撹拌の所要時間(タスクの開始から終了までの時間)である。また、uminは、ばらまき撹拌の所要時間(タスクの開始から終了までの時間)の最小値である。
【0127】
【0128】
数式(35)によれば、実行長τtが状態stに類似しており、多くの廃棄物がばらまかれたときに報酬が大きい値になる。また、数式(36)によれば、タスクの開始から終了までの時間が短いほど報酬が大きい値になる。したがって、数式(34)の報酬関数rtにおいて、数式(35)、(36)に示されるraおよびrτの定義を適用することにより、短時間で多くの量の廃棄物をばらまくことができる行動方策と実行長方策を学習することができる。
【0129】
また、例えば、数式(34)におけるraおよびrτは、下記の数式(37)、(38)のように定義してもよい。なお、数式(38)は上記数式(36)と同じであるから説明を省略する。
【0130】
【0131】
数式(37)におけるγは報酬関数のパラメータである。また、数式(37)におけるwmaxは、掴み上げた廃棄物の重量(ばらまく前の重量)である。そして、数式(37)におけるmは、廃棄物のばらまき中における、クレーン5のバケットに掴まれている廃棄物の重量であり、mIは、廃棄物のばらまき中における、クレーン5のバケットに掴まれている廃棄物の理想的な重量である。上述のように、ばらまき撹拌では均等なばらまきが求められるから、mIは、時間経過に従って線形に減少する値とすればよい。なお、RMSは平方自乗平均(Root Mean Square)である。つまり、数式(37)によれば、より多くの廃棄物を掴み上げた場合ほど、また、ばらまき中におけるクレーン5のバケットに掴まれている廃棄物の重量変化が線形に近いほど(理想的な重量変化のパターンとの誤差が少ないほど)報酬の値が大きくなる。
【0132】
上記raおよびrτを数式(37)、(38)のように定義する場合、バケットに掴まれている廃棄物の重量の時系列データを観測データに含めておけばよい。バケットに掴まれている廃棄物の重量は、例えばバケットを吊るすワイヤに重量計を取り付けることにより測定可能である。
【0133】
したがって、数式(34)の報酬関数rtにおいて、数式(37)、(38)に示されるraおよびrτの定義を適用することにより、短時間で多くの量の廃棄物を均等にばらまくことができる行動方策と実行長方策を学習することができる。
【0134】
以上のように、対象となるタスクが廃棄物をバケットの移動経路上にばらまくタスクであるとき、学習部105による学習の際に行動に対して与えられる報酬は、より多くの量の廃棄物をばらまくことができた場合、および廃棄物を移動経路上により均等にばらまくことができた場合の少なくとも何れかの場合により大きい値となるものとしてもよい。また、学習部105による学習の際に実行長に対して与えられる報酬は、短時間でタスクが完了するほど大きい値となるものとしてもよい。これにより、より短時間でより多くの量の廃棄物をばらまくことができる方策、あるいはより短時間でより均等に廃棄物をばらまくことができる方策を決定することが可能になる。
【0135】
〔処理の流れ(全体)〕
情報処理装置1が実行する処理(学習方法)の流れを
図5に基づいて説明する。
図5は、行動方策および実行長方策の学習時に情報処理装置1が実行する処理の一例を示すフローチャートである。
【0136】
S1では、タスクの試行が行われる。詳細は
図6に基づいて説明するが、S1では学習中の行動方策111と実行長方策112を用いて行動と実行長が決定されて、それらの決定内容に従ってクレーン5の制御が行われ、所定のタスクが実行される。タスクの内容は任意であり、例えば、
図4に示したような、廃棄物をバケットの移動経路上にばらまくタスクが実行されてもよい。
【0137】
S2では、エピソード収集部104が、S1で実行されたタスクにおける一連の行動や実行長等の各種情報をエピソード113として記憶部11に記録する。エピソード113の具体的な内容は、数式(8)に示した通りである。
【0138】
S3では、学習部105が、所定数のエピソード113が記憶部11に記録されたか否かを判定する。ここで所定数とは、方策の更新に用いるエピソード113の数である。つまり、M個(Mは自然数)のエピソード113を用いて方策を更新する場合には所定数はMとなる。S3でNOと判定された場合にはS1の処理に戻る。一方、S3でYESと判定された場合にはS4の処理に進む。
【0139】
S4では、学習部105は、方策の更新を行う。具体的には、学習部105は、収集された所定数(M個)のエピソード113を用いて、上述の数式(25)により行動方策111と実行長方策112を更新する。
【0140】
上述のように、行動方策111と実行長方策112を更新する処理は、数式(25)の値を最大化する変分分布を求めるEステップと、カーネルパラメータと疑似入力を最適化するMステップとを繰り返すことにより、最適な(つまり期待利得の下界logJLを最大化する)カーネルパラメータと変分分布とを求める処理である。この処理における疑似入力の初期値として、S2で記録されたエピソード113が用いられる。なお、学習部105は、学習時点までに高い利得が得られた他のエピソードが存在する場合、それらのエピソードについても上記の更新に用いてもよい。
【0141】
S5では、学習部105は、所定回数の更新が終了したか否かを判定する。S5でNOと判定された場合にはS1の処理に戻る。所定回数は予め定めておけばよい。一方、S5でYESと判定された場合には
図5の処理は終了し、最終の更新後の行動方策111と実行長方策112が学習済みの方策モデルとなる。
【0142】
以上のように、学習部105は、行動方策111と実行長方策112とを更新する処理を繰り返すことにより方策モデルを生成してもよい。この更新は、所定のタスクを完了させるまでに行動方策111を用いて決定した各行動に対して与えられる報酬と、当該各行動について実行長方策112を用いて決定した各実行長に対して与えられる報酬の総和が最大化されるように行われる。これにより、所定のタスクにおける最適な行動とその実行長を決定可能な方策モデルを生成することが可能になる。
【0143】
〔処理の流れ(タスクの試行)〕
図6は、
図5のS1の処理、すなわちタスクの試行時に行われる処理の詳細を示すフローチャートである。なお、
図5のS1の処理は学習時に行われるが、学習済みの方策モデルを用いた行動および実行長の決定も以下説明する処理と同様である。
図6の処理はクレーン5の制御内容を決定する制御決定方法、あるいはクレーン5を自動制御する制御方法ということもできる。
【0144】
S11では、学習中の行動方策111と実行長方策112の読み込みが行われる。具体的には、行動決定部101が行動方策111を読み込み、実行長決定部102が実行長方策112を読み込む。上述のように、行動方策111は数式(26)~(29)で表され、実行長方策112は数式(30)~(33)で表される。
【0145】
S12では、更新変数と状態の初期化が行われる。具体的には、行動決定部101が更新変数o1を1とし、エピソード収集部104が状態を初期状態s1とし、状態確率を初期状態確率p(s1)とする。
【0146】
S13では、行動決定部101が、更新変数otが1であるか否かを判定する。S13でYESと判定された場合にはS14の処理に進む。例えば、初期化直後であればtが1であり、o1は1であるからS14の処理に進む。一方、S13でNOと判定された場合にはS19の処理に進む。
【0147】
S19では、行動決定部101は、前回の行動を継続することを決定する。また、実行長決定部102は、実行長τtを1減らす。言い換えれば、実行長決定部102は、τtをτt-1-1に更新する。この後処理はS15に進む。
【0148】
S14では、行動と実行長が決定される。具体的には、行動決定部101が、S11で読み込んだ行動方策111を用いて、現在の状態stにおいて行うべき行動を決定する。また、実行長決定部102が、S11で読み込んだ実行長方策112を用いて、現在の状態stに応じた実行長を決定する。
【0149】
S15では、行動決定部101が、更新変数otをot+1に更新する。具体的には、行動決定部101は、τtが1であればot+1を1とし、τtが1でなければot+1を0とする。
【0150】
S16では、クレーン制御部103が、S14で決定された行動をクレーン5に実行させる。例えば、S14で決定された行動が、廃棄物を掴む掴み動作である場合には、クレーン制御部103は、クレーン制御装置3を介してクレーン5に当該動作を実行させる。
【0151】
S17では、エピソード収集部104が、S16における行動実行後の観測データを取得して状態stをst+1に更新する。例えば、時刻tにおいてクレーン5のバケットが把持している廃棄物の重量を状態stとする場合、エピソード収集部104は、S16における行動実行後にバケットが把持している廃棄物の重量を観測データとして取得する。
【0152】
S18では、エピソード収集部104が、タスクの実行が終了したか否かを判定する。タスクの終了条件は予め定めておけばよい。S18でYESと判定された場合には
図6の処理は終了し、S18でNOと判定された場合にはS13の処理に戻る。
【0153】
以上のように、情報処理装置1が実行する学習方法は、廃棄物を運搬するクレーン5を備えた廃棄物処理施設にて観測された観測データを取得するデータ取得ステップ(
図6のS17)と、観測データを用いて、クレーン5に実行させる行動を決定するための行動方策111と、当該行動の実行長を決定するための実行長方策112とを含む方策モデルを生成する学習ステップ(
図5のS4)と、を含む。よって、廃棄物処理施設におけるクレーン5の制御に利用可能な高精度な方策モデルを生成することができる。そして、この方策モデルを利用することにより、不安定な環境下であっても、取得した観測結果から妥当な制御内容を決定することが可能になる。
【0154】
また、当該学習方法では、廃棄物処理施設にて観測された観測データを用いて学習を行うため、その廃棄物処理施設に最適な方策モデルを生成することができる。さらに、上記学習方法によれば、学習に用いる観測データの観測時の廃棄物の質に応じた方策モデルを生成することもできる。例えば、粘着性の高い廃棄物の運搬時に観測された観測データを用いて学習を行った場合には、粘着性の高い廃棄物をクレーン5で運搬させる制御に適した方策モデルが生成される。一方、粘着性の低い廃棄物の運搬時に観測された観測データを用いて学習を行った場合には、粘着性の低い廃棄物をクレーン5で運搬させる制御に適した方策モデルが生成される。このように、廃棄物の質に応じた複数の方策モデルを予め作成しておけば、それら複数の方策モデルの中から、そのときの廃棄物の質に応じた方策モデルを適用して、妥当性の高い制御内容を決定することもできる。
【0155】
〔変形例〕
上述の実施形態で説明した各処理の実行主体は任意であり、上述の例に限られない。例えば、上述の実施形態では、1つの情報処理装置1が、行動方策111および実行長方策112の学習と、学習済みの行動方策111および実行長方策112を用いたクレーン5の制御とを行っているが、これらの処理はそれぞれ別の装置で行うようにしてもよい。
【0156】
〔ソフトウェアによる実現例〕
情報処理装置1(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるための学習プログラムであって、当該装置の各制御ブロック(特に制御部10に含まれる各部)としてコンピュータを機能させるための学習プログラムにより実現することができる。
【0157】
この場合、上記装置は、上記学習プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記学習プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
【0158】
上記学習プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記学習プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0159】
同様に、学習済みの行動方策111を用いてクレーン5に実行させる行動を決定する行動決定部101および学習済みの実行長方策112を用いて上記行動の実行長を決定する実行長決定部102としてコンピュータを機能させるための制御決定プログラムにより、情報処理装置1の機能のうち、観測データから行動と実行長を決定する機能を実現することもできる。
【0160】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0161】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0162】
1 情報処理装置
101 行動決定部
102 実行長決定部
105 学習部
111 行動方策
112 実行長方策
3 クレーン制御装置
5 クレーン
7 クレーン制御システム