(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-07
(45)【発行日】2024-03-15
(54)【発明の名称】情報処理装置、制御システム、制御変数決定方法、および制御変数決定プログラム
(51)【国際特許分類】
B66C 13/48 20060101AFI20240308BHJP
B65F 5/00 20060101ALI20240308BHJP
B65F 9/00 20060101ALI20240308BHJP
G06N 7/01 20230101ALI20240308BHJP
G05B 23/02 20060101ALI20240308BHJP
G06N 99/00 20190101ALI20240308BHJP
【FI】
B66C13/48 A
B65F5/00
B65F9/00
G06N7/01
G05B23/02 R
G06N99/00 180
(21)【出願番号】P 2020033904
(22)【出願日】2020-02-28
【審査請求日】2023-02-07
(73)【特許権者】
【識別番号】000005119
【氏名又は名称】日立造船株式会社
(73)【特許権者】
【識別番号】504143441
【氏名又は名称】国立大学法人 奈良先端科学技術大学院大学
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】川端 馨
(72)【発明者】
【氏名】平林 照司
(72)【発明者】
【氏名】小貫 由樹雄
(72)【発明者】
【氏名】戴 英達
(72)【発明者】
【氏名】松原 崇充
(72)【発明者】
【氏名】佐々木 光
【審査官】今野 聖一
(56)【参考文献】
【文献】特開平05-092891(JP,A)
【文献】特開平11-021077(JP,A)
【文献】特開2003-176093(JP,A)
【文献】国際公開第2017/188328(WO,A1)
【文献】国際公開第2019/244474(WO,A1)
【文献】特開昭58-063815(JP,A)
【文献】特開昭62-243338(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B66C 13/00 - 15/06
B65F 5/00 - 9/00
G05B 23/00 - 23/02
G06N 3/00 ー 99/00
(57)【特許請求の範囲】
【請求項1】
予測分布算出部と、
制御変数探索部と、
制御変数決定部と、を備える情報処理装置であって、
上記予測分布算出部は、ごみを運搬するクレーンの制御変数と、該制御変数を用いて上記クレーンを制御した制御結果とを対応付けた制御結果データを用いて、当該制御変数と当該制御結果との関係を示す関数の予測分布を算出し、
該予測分布は、上記制御結果データから予測される、上記関数の平均と分散を用いて表されており、
上記制御変数探索部は、上記予測分布に基づいて上記制御変数の最適値の候補である候補制御変数を探索し、
上記予測分布算出部は、上記制御変数探索部が検出した上記候補制御変数と、当該候補制御変数を用いて上記クレーンを制御した制御結果と、を用いて上記予測分布を更新し、
上記制御変数決定部は、上記更新後の上記予測分布
の平均と分散に基づいて構成される関数を用いて、上記制御変数の最適値を決定する、情報処理装置。
【請求項2】
予測分布算出部と、
制御変数探索部と、
制御変数決定部と、を備える情報処理装置であって、
上記予測分布算出部は、ごみを運搬するクレーンの制御変数と、該制御変数を用いて上記クレーンを制御した制御結果とを対応付けた制御結果データを用いて、当該制御変数と当該制御結果との関係を示す関数の予測分布を算出し、
上記制御変数探索部は、上記予測分布に基づいて上記制御変数の最適値の候補である候補制御変数を探索し、
上記予測分布算出部は、上記制御変数探索部が検出した上記候補制御変数と、当該候補制御変数を用いて上記クレーンを制御した制御結果と、を用いて上記予測分布を更新し、
上記制御変数決定部は、上記更新後の上記予測分布に基づいて構成される関数を用いて、上記制御変数の最適値を決定し、
上記予測分布算出部は、複数の上記制御結果データのそれぞれの上記予測分布算出における寄与度を、当該制御結果データの信頼度に応じた寄与度として、上記予測分布を算出または更新する
、情報処理装置。
【請求項3】
予測分布算出部と、
制御変数探索部と、
制御変数決定部と、を備える情報処理装置であって、
上記予測分布算出部は、ごみを運搬するクレーンの制御変数と、該制御変数を用いて上記クレーンを制御した制御結果とを対応付けた制御結果データを用いて、当該制御変数と当該制御結果との関係を示す関数の予測分布を算出し、
上記制御変数探索部は、上記予測分布に基づいて上記制御変数の最適値の候補である候補制御変数を探索し、
上記予測分布算出部は、上記制御変数探索部が検出した上記候補制御変数と、当該候補制御変数を用いて上記クレーンを制御した制御結果と、を用いて上記予測分布を更新し、
上記制御変数決定部は、上記更新後の上記予測分布に基づいて構成される関数を用いて、上記制御変数の最適値を決定し、
上記予測分布算出部は、上記制御変数を用いて上記クレーンに行わせるタスクとは異なる他のタスクの制御結果データの上記予測分布算出における寄与度を、当該他のタスクと上記タスクとの類似度に応じた寄与度として、上記予測分布を算出または更新する
、情報処理装置。
【請求項4】
請求項1から3の何れか1項に記載の情報処理装置と、
上記制御変数を用いて上記クレーンを制御する制御装置と、
上記クレーンと、を含む制御システム。
【請求項5】
1または複数の情報処理装置によって実行される制御変数決定方法であって、
ごみを運搬するクレーンの制御変数と、該制御変数を用いて上記クレーンを制御した制御結果とを対応付けた制御結果データを用いて、当該制御変数と当該制御結果との関係を示す関数の予測分布を算出する
ステップであって、該予測分布は、上記制御結果データから予測される、上記関数の平均と分散を用いて表されている予測分布算出ステップと、
上記予測分布に基づいて上記制御変数の最適値の候補である候補制御変数を探索する制御変数探索ステップと、
上記制御変数探索ステップで検出した上記候補制御変数と、当該候補制御変数を用いて上記クレーンを制御した制御結果と、を用いて上記予測分布を更新する更新ステップと、
上記更新後の上記予測分布
の平均と分散に基づいて構成される関数を用いて、上記制御変数の最適値を決定する制御変数決定ステップと、を含む制御変数決定方法。
【請求項6】
請求項1に記載の情報処理装置としてコンピュータを機能させるための制御変数決定プログラムであって、上記予測分布算出部、上記制御変数探索部、および上記制御変数決定部としてコンピュータを機能させるための制御変数決定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ごみを運搬するクレーンの自動制御に利用可能な情報処理装置等に関する。
【背景技術】
【0002】
ごみ処理施設に搬入されたごみは、ピットと呼ばれる貯留設備に一時的に貯留された後、焼却炉に送り込まれて焼却される。一般的なごみ処理施設では、ピット内に貯留されているごみの移動にはクレーンが用いられている。基本的にクレーンはオペレータが手動で操作しているが、その制御を自動化する試みも従来から行われている。
【0003】
例えば、下記の特許文献1には、ごみの撹拌度合いを定量化し、定量化したごみの撹拌度合いに基づいてクレーンを自動制御する技術が開示されている。この文献に記載の技術では、撹拌度合いの定量化は撹拌回数に基づいて行い、自動制御はごみをつかむ位置と、つかみあげたごみの投下位置とを指定したクレーン制御指示を生成することで実現している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ごみピットに貯留されるごみは、材質も状態も様々なごみが入り混じったものであり、その性質が一定しないため、特許文献1の技術を実際のごみピットにおけるごみの撹拌に適用した場合、想定通りの撹拌ができない場合が生じると想定される。
【0006】
例えば、ごみのつかみ位置を指定するだけでは、その位置のごみの性質によっては、多量のごみをつかめる場合もあり、少量のごみしかつかめない場合もある。そして、ごみをつかめる量が安定しなければ、クレーンの自動制御期間中、実際のごみの移動量と想定した移動量との差は累積的に開き、最終的には想定した撹拌効果を得ることができなくなるおそれがある。また、想定通りのごみをつかめた場合であっても、つかんだごみの性質のばらつきにより、想定した撹拌効果を得ることができなくなることも考えられる。これらは、撹拌に限られず、クレーンによるごみの持ち上げ、ばらまき、投下、等の任意の作業における制御においても同様である。
【0007】
このように、性質が一定しないごみを運搬するクレーンを自動制御する場合、所望の制御結果が得られるようにクレーンの制御変数を決定する必要があるが、従来技術ではそのような制御変数を決定することはできないという問題があった。本発明の一態様は、ごみを運搬するクレーンについて、所望の制御結果が期待できる制御変数を決定することができる情報処理装置等を実現することを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は、予測分布算出部と、制御変数探索部と、制御変数決定部と、を備える情報処理装置であって、上記予測分布算出部は、ごみを運搬するクレーンの制御変数と、該制御変数を用いて上記クレーンを制御した制御結果とを対応付けた制御結果データを用いて、当該制御変数と当該制御結果との関係を示す関数の予測分布を算出し、上記制御変数探索部は、上記予測分布に基づいて上記制御変数の最適値の候補である候補制御変数を探索し、上記予測分布算出部は、上記制御変数探索部が検出した上記候補制御変数と、当該候補制御変数を用いて上記クレーンを制御した制御結果と、を用いて上記予測分布を更新し、上記制御変数決定部は、上記更新後の上記予測分布に基づいて構成される関数を用いて、上記制御変数の最適値を決定する。
【0009】
また、上記の課題を解決するために、本発明の一態様に係る制御変数決定方法は、1または複数の情報処理装置によって実行される制御変数決定方法であって、ごみを運搬するクレーンの制御変数と、該制御変数を用いて上記クレーンを制御した制御結果とを対応付けた制御結果データを用いて、当該制御変数と当該制御結果との関係を示す関数の予測分布を算出する予測分布算出ステップと、上記予測分布に基づいて上記制御変数の最適値の候補である候補制御変数を探索する制御変数探索ステップと、上記制御変数探索ステップで検出した上記候補制御変数と、当該候補制御変数を用いて上記クレーンを制御した制御結果と、を用いて上記予測分布を更新する更新ステップと、上記更新後の上記予測分布に基づいて構成される関数を用いて、上記制御変数の最適値を決定する制御変数決定ステップと、を含む。
【発明の効果】
【0010】
本発明の一態様によれば、所望の制御結果が期待できる制御変数を決定することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施形態1に係る情報処理装置の要部構成の一例を示すブロック図である。
【
図2】上記情報処理装置を含む制御システムの概要を示す図である。
【
図3】クレーンの制御変数を決定する処理の一例を示すフローチャートである。
【
図4】ガウス過程回帰により算出した予測分布の平均と分散に基づいて構成した関数と、ロバストガウス過程回帰により算出した予測分布の平均と分散に基づいて構成した関数を示す図である。
【
図5】本発明の実施形態2に係る情報処理装置の要部構成の一例を示すブロック図である。
【
図6】カーネル関数のパラメータを最適化する処理の一例を示すフローチャートである。
【
図7】上記情報処理装置の効果を検証する実験の結果を示す図である。
【
図8】実験10~12における最適化終了時のタスクカーネルを示す図である。
【発明を実施するための形態】
【0012】
〔実施形態1〕
(システム概要)
本発明の一実施形態に係る制御システム9の概要を
図2に基づいて説明する。
図2は、制御システム9の概要を示す図である。図示のように、制御システム9には、情報処理装置1Aと、制御装置3と、クレーン5とが含まれる。
【0013】
制御システム9は、制御装置3によりクレーン5の動作を制御するシステムである。情報処理装置1Aは、制御装置3が実行する制御の内容を規定する制御変数を算出する。情報処理装置1Aが適切な制御変数を算出することにより、制御装置3によるクレーン5の適切な自動制御が実現される。
【0014】
クレーン5は、ごみの運搬に用いられるクレーンであり、例えばごみ処理施設等で用いられるものである。クレーン5は、例えば、ごみをつかむ複数の爪を備えたバケット、バケットの爪を開閉させる開閉機構、バケットを昇降させる昇降機構、バケットを水平方向に移動させる移動機構等を備えていてもよい。この場合、制御装置3は、開閉機構、昇降機構、および移動機構を制御することにより、クレーン5にごみの撹拌等の動作を行わせることができる。
【0015】
制御システム9では、情報処理装置1Aに最適な制御変数を算出させるにあたり、まず、クレーン5に実行させるタスクと、そのタスクをクレーン5に実行させる際の制御変数の設定が行われる。
【0016】
例えば、バケットでつかんだごみを持ち上げた後、バケットを水平方向に移動させながら開閉させて、バケットの移動経路上にごみをばらまくことにより、当該ごみを撹拌するタスクをクレーン5に実行させるとする。この場合、ごみを均等にばらまくことができるようにするための制御変数、つまり、バケットの開閉制御のタイミングを特定できるような制御変数を設定すればよい。
【0017】
上記の場合、ごみをつかんでいるバケットを開放する開動作の開始後、所定量のごみがバケットから落ちたときにバケットを閉じる閉動作を開始し、その所定時間後に再度開動作を開始する、という一連の制御を繰り返せばごみをばらまくことができる。よって、上記所定量と、上記所定時間を制御変数としてもよい。
【0018】
また、例えば、バケットの開動作開始から閉動作開始までの期間に落下したごみの重量、同期間におけるバケット内のごみの残量または重量の変化率、同期間の長さ、および同期間におけるバケットの移動距離などを制御変数としてもよい。また、例えば、開動作の終了後、自動的に閉動作を開始することとして、上記期間を開動作開始から閉動作終了までの期間としてもよい。この他にも、開動作を行う時間、閉動作を行う時間等を制御変数としてもよい。
【0019】
また、制御装置3が上記制御変数を用いてクレーン5を制御する際に使用するデータも特に限定されない。例えば、つかんだごみの重量の他、水分量、種類、撹拌度合い、表面状態を示す情報(例えばごみの表面を撮影した画像)等を、クレーン5を制御する際に使用してもよい。このようなデータのデータ形式は特に限定されず、数値データであってもよいし、画像データ等であってもよい。
【0020】
制御変数が設定された後、制御装置3によりクレーン5を制御して設定されたタスクを実行させる。そして、その制御結果の適切さを評価し、その評価結果をその制御における制御変数と共に情報処理装置1Aに入力する。例えば、ごみを均等にばらまいて撹拌するというタスクであれば、バケットの移動経路上にばらまかれたごみの量が均等であるほど評価値が高くなるように評価すればよい。
【0021】
情報処理装置1Aは、入力された制御変数と評価値に基づいて制御変数の最適化を行い、制御装置3は最適化された制御変数を用いて再度クレーン5にタスクを実行させる。このような処理を繰り返すことにより、情報処理装置1Aは、所望の制御結果が期待できる制御変数を決定することができる。そして、これにより、制御装置3によるクレーン5の適切な自動制御が実現される。
【0022】
(要部構成)
情報処理装置1Aの構成を
図1に基づいて説明する。
図1は、情報処理装置1Aの要部構成の一例を示すブロック図である。なお、以下では、情報処理装置1Aが、ベイズ最適化(以下、BOと呼ぶ)により、所望の制御結果が期待できる制御変数を決定する例、つまりBOで制御変数を最適化する例を説明する。
【0023】
図示のように、情報処理装置1Aは、情報処理装置1Aの各部を統括して制御する制御部10A、情報処理装置1Aが使用する各種データを記憶する記憶部20、情報処理装置1Aに対する入力を受け付ける入力部30、および情報処理装置1Aがデータを出力するための出力部40を備えている。
【0024】
制御部10Aには、データ取得部101、予測分布算出部102、制御変数探索部103、および制御変数決定部104が含まれる。また、記憶部20には制御結果データ201が記憶されている。
【0025】
データ取得部101は、BOによる最適化に使用する学習データを取得する。具体的には、クレーン5の制御に用いられた制御変数とその制御結果の評価値とが制御結果データ201として記憶されているので、データ取得部101は、この制御結果データ201を学習データとして取得する。
【0026】
制御結果データ201にN点の制御変数が含まれていた場合、それらの制御変数は、
【0027】
【0028】
と表され、
それに対する評価値は、
【0029】
【0030】
と表される。
【0031】
予測分布算出部102は、データ取得部101が取得する制御結果データ201を用いて、制御変数と制御結果との関係を示す関数の予測分布を算出する。なお、この関数を以下では評価関数f(θ)と呼ぶ。また、制御結果データ201に新たなデータが追加されたときには、予測分布算出部102は、そのデータが反映されるように予測分布を更新する。
【0032】
制御変数と制御結果との関係を、ガウスノイズεn~Ν(0,β)を用いて
【0033】
【0034】
と仮定すると、ガウス過程による評価関数の予測分布として以下の分布が得られる。
【0035】
【0036】
【0037】
【0038】
ここで、k*=k(θ,θ)であり、KΘは[KΘ]i,j=k(θi,θj)で得られるグラム行列である。また、
【0039】
【0040】
である。kΘ,*は、[kΘ,*]i=k(θi,θ)の縦ベクトルであり、k(・,・)は、カーネル関数である。ここではカーネル関数のパラメータをαkとする。
【0041】
平均関数μ(θ)は、制御結果データ201から予測される評価関数の平均値を示す。また、分散関数σ(θ)は、制御結果データ201から予測される評価関数の分散である。σ(θ)は、予測の不確実性を示し、制御結果データ201が不足している領域ではその値が大きくなる傾向がある。なお、後述する
図4の薄い灰色部分が分散σを示している。σが大きいと、この灰色部分の幅が広がり、予測が不確実であることを把握できる。すなわち、予測の確実性を上げるために必要な制御結果データが不足していることがわかる。数式(3)から明らかなように、分散関数σ(θ)に含まれるカーネル関数およびカーネル関数のパラメータα
kは、予測分布の算出に影響を与える。詳細は後述するが、予測分布の算出の際には、パラメータα
kの最適化が行われる。
【0042】
制御変数探索部103は、最適な制御変数を求めるために、最適な制御変数の候補(候補制御変数)を探索する。具体的には、制御変数探索部103は、平均関数μ(θ)と分散関数σ(θ)を用いて、下記の獲得関数a(θ)を最大にする制御変数を探索する。この探索で検出された制御変数が、最適な制御変数の候補となる。この探索は、UCB(Upper Confidence Bound)戦略に基づいている。なお、数式(5)におけるκは探索と利用を調節するためのパラメータである。無論、他の方法で新たな制御変数を探索することも可能である。例えば、PI(Probability of Improvement)戦略や、EI(Expected Improvement)戦略で最適な制御変数の候補を探索してもよい。
【0043】
なお、評価関数の値を最小化する制御変数を最適な制御変数として求める場合(例えば短時間で完了させることが好ましいタスクについて、タスク完了までの所要時間を評価値とする場合等)には、獲得関数a(θ)を最小にする制御変数を探索すればよい。
【0044】
【0045】
【0046】
制御変数探索部103が検出した最適な制御変数の候補は、クレーン5の制御に用いられる。そして、その制御結果(より詳細には制御結果の評価値)が得られて、情報処理装置1Aに入力される。入力されたデータ(最適な制御変数の候補と評価値)は、制御結果データ201に追加される。その後、当該データが追加された制御結果データ201を用いて予測分布の更新が行われる。なお、評価値の算出は情報処理装置1Aが行ってもよいし、他の装置またはユーザが行ってもよい。
【0047】
制御変数決定部104は、予測分布算出部102による更新後の予測分布に基づいて構成される評価関数に基づき、制御変数の最適値を決定する。制御変数の最適値とは、更新後の予測分布からみて最適であると推論される値であり、情報処理装置1Aが実行する、制御変数の最適化演算の解であるともいえる。クレーン5を制御する際の制御変数の値をこの最適値に設定することにより、最善の制御結果が期待できる。
【0048】
最適値の決定方法は特に限定されず、種々の方法を適用可能である。例えば、制御変数決定部104は、制御変数探索部103が検出した制御変数の候補が、既に評価済みであった場合には、その候補を最適な制御変数と決定してもよい。制御変数探索部103が検出した最適な制御変数の候補が、既に評価済みであった場合には、その制御変数は、評価関数の極値ではなく、最大値(または最小値)に対応している可能性が高いためである。
【0049】
以上のように、情報処理装置1Aは、制御結果データ201を用いて評価関数の予測分布を算出する予測分布算出部102と、上記予測分布に基づいて上記制御変数の最適値の候補である候補制御変数を探索する制御変数探索部103と、を備えている。また、予測分布算出部102は、制御変数探索部103が検出した新たな候補制御変数と当該候補制御変数を用いてクレーン5を制御した制御結果とを用いて予測分布を更新する。そして、情報処理装置1Aは、上記更新後の予測分布に基づいて構成される関数を用いて、上記制御変数の最適値を決定する制御変数決定部104を備える。なお、より詳細には、上記関数は、上記更新後の予測分布の平均と分散に基づいて構成される(数式(5))。
【0050】
ここで、「発明が解決しようとする課題」で説明したように、ごみピット内のごみの性質は一定しない。このため、クレーン5の制御変数と制御結果との関係は、定式化することが困難である。
【0051】
そこで、上記の構成によれば、制御変数と制御結果とを対応付ける関数の予測分布に基づいて、制御変数の最適値を決定する構成としている。これにより、性質が一定しないごみを運搬するクレーンについて、所望の制御結果が期待できる制御変数を決定することができる。
【0052】
また、上記の構成によれば、予測分布に基づいて候補制御変数を探索するので、検出した候補制御変数が最適な制御変数ではなかったとしても、その候補制御変数は予測分布を適切に更新するための有用なデータとなる。よって、例えばクレーン5の制御変数をランダムに選定してクレーン5の制御結果を観察するという試行を繰り返して最適な制御変数を決定する場合と比べて、試行の回数を少なく抑えることが可能になる。
【0053】
(処理の流れ)
情報処理装置1Aがクレーン5の制御変数を決定する処理(制御変数決定方法)の流れを
図3に基づいて説明する。
図3は、クレーン5の制御変数を決定する処理の一例を示すフローチャートである。
【0054】
S1では、データ取得部101が記憶部20に記憶されている制御結果データ201を読み出して、これを初期データに設定する。この段階では、制御結果データ201には、少なくとも1回の試行に基づく制御結果(1つの制御変数と、その制御変数を用いた制御の結果を評価した評価値)が含まれていればよい。
【0055】
S2では、予測分布算出部102が、カーネル関数のパラメータを最適化する。上述のように、カーネル関数のパラメータはαkである。最適化の方法は特に限定されず、例えば一般的なBOで適用されている最適化手法を適用することもできる。
【0056】
S3(予測分布算出ステップ)では、予測分布算出部102は、S1で設定された初期データと、S2で最適化したカーネル関数のパラメータとを用いて、クレーン5の制御結果を評価する評価関数の予測分布を算出する。上述のように、この予測分布は数式(1)~(3)で表される。
【0057】
S4(制御変数探索ステップ)では、制御変数探索部103が、獲得関数が最大となるクレーン5の制御変数θ*を探索する。制御変数θ*は、制御変数θの最適値の候補である。上述のように、この処理は上述の数式(4)(5)で表される。
【0058】
S5では、制御変数決定部104が、S4で特定された制御変数θ*が最適値であるか否かを判定する。最適値であるか否かの判定方法は特に限定されない。例えば、制御変数決定部104は、直近のS4で検出された制御変数θ*が、それ以前に検出された制御変数と一致した場合に、制御変数θ*が最適値であると判定し、一致しない場合には最適値ではないと判定してもよい。なお、それ以前に検出された制御変数とは、制御結果データ201に含まれている制御変数であり、その制御変数を用いたクレーン5の制御と、その評価値の算出が済んでいるものを指す。
【0059】
S5にて最適値であると判定された場合(S5でYES)には処理はS10に進む。S10(制御変数決定ステップ)では、制御変数決定部104は、クレーン5の制御変数の最適値をθ
*に決定し、これにより
図3の処理は終了する。なお、S10において、制御変数決定部104は、決定したθ
*を出力部40に出力させてもよい。
【0060】
一方、S5にて制御変数θ*が最適値ではないと判定した場合(S5でNO)、制御変数決定部104は、当該制御変数θ*を出力部40に出力させる等して情報処理装置1Aのユーザに通知する。ユーザは、この通知に基づいて、当該制御変数θ*に従ったクレーン5の制御を制御装置3に実行させ、その制御結果を観測し、評価する。評価方法は特に限定されず、例えば理想的な制御結果と実際の制御結果との誤差を評価値として算出してもよい。評価結果は、入力部30を介して情報処理装置1Aに入力される。
【0061】
S6では、データ取得部101が、上述のようにして入力された評価結果を取得する。そして、S7では、データ取得部101は、S6で取得した評価結果と、直近のS4で決定された制御変数θ*とを対応付けて、制御結果データ201に追加する。
【0062】
S8では、予測分布算出部102が、S7で評価結果と制御変数θ*が追加された制御結果データ201を用いてカーネル関数のパラメータを最適化する。そして、S9(更新ステップ)では、予測分布算出部102は、S7で評価結果と制御変数θ*が追加された制御結果データ201と、S8で最適化したカーネル関数のパラメータとを用いて、評価関数の予測分布を算出する。この後処理はS4に戻り、制御変数探索部103による制御変数の探索が行われる。このように、制御変数の追加と予測分布の更新とを繰り返すことにより、所望の制御結果が期待できる制御変数を決定することができる。
【0063】
〔実施形態2〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
【0064】
(装置構成)
本実施形態に係る情報処理装置1Bの構成を
図5に基づいて説明する。
図5は、情報処理装置1Bの要部構成の一例を示すブロック図である。図示のように、情報処理装置1Bは、情報処理装置1Bの各部を統括して制御する制御部10Bを備えている。
図1に示す情報処理装置1Aの制御部10Aと、制御部10Bとの相違点は、制御部10Bには予測分布算出部102の代わりに予測分布算出部301が含まれている点にある。
【0065】
予測分布算出部301は、予測分布算出部102と同様に、制御結果データ201を用いて予測分布を算出および更新するが、以下説明するように、その算出および更新の方法が予測分布算出部102とは異なっている。
【0066】
予測分布算出部301は、複数の制御結果データのそれぞれの予測分布算出における寄与度を、当該制御結果データの信頼度に応じた寄与度として、予測分布を算出または更新する。よって、予測分布の算出または更新に用いる制御結果データに信頼性の低いものが含まれていた場合であっても、そのような制御結果データが予測分布に与える影響を相対的に低くすることができ、これにより妥当な制御変数を速やかに決定することが可能になる。
【0067】
なお、制御結果データの信頼度とは、その制御結果データが、予測分布の全体からみて、妥当な値であるかを示す指標である。例えば、複数の制御結果データの中からある制御結果データを除いたときに、残りの制御結果データの予測分布がガウス分布に近付くような場合には、除いた制御結果データは真の関数(評価関数)から外れた外れ値である可能性が高く、信頼度は低いといえる。逆に、複数の制御結果データの中からある制御結果データを除かない方が、除くよりも予測分布がガウス分布に近付くような場合には、その制御結果データの信頼度は高いといえる。
【0068】
実施形態1の予測分布算出部102はガウス過程回帰により予測分布の算出および更新を行うのに対し、本実施形態の予測分布算出部301はガウス過程回帰をロバスト化したロバストガウス過程回帰により予測分布の算出および更新を行う。ガウス過程回帰をロバスト化することにより、制御結果データに外れ値が含まれていても、安定して予測分布の算出および更新を行うことが可能になる。
【0069】
ロバストガウス過程回帰とガウス過程回帰との比較例を
図4に示す。
図4には、ガウス過程(GP)回帰により算出した予測分布の平均と分散に基づいて構成した関数と、ロバストガウス過程(RGP)回帰により算出した予測分布の平均と分散に基づいて構成した関数を示している。
【0070】
これらの関数は何れも同じ制御結果データに基づいて構成したものである。ただし、GPでは全ての制御結果データを用いて関数を構成するのに対し、RGPでは図示のような外れ値の影響を低減または除外して関数を構成する。
【0071】
外れ値を含む制御結果データを用いてガウス過程回帰を行って予測分布を算出した場合、外れ値の影響により、真の関数(評価関数)と齟齬のある予測分布が算出されることがある。GPを適用する場合でも、多数の制御結果データを用いれば、予測分布を真の関数に近付けることが可能である。しかし、同数の制御結果データに基づいて関数を構成した
図4の場合、RGPで構成したものは真の関数に極めてよく一致し、GPで構築したものは真の関数から外れている部分が多いという結果となっている。
【0072】
そして、
図4に示すように、GPで構築した関数はθ=0.4のとき最大値となるが、真の関数によればθ=0.4のときには実際には最大値とはならない。一方、RGPでは真の関数と略一致する関数が構築されているので、RGPで構築した関数を用いることにより、評価値が最大となるθの値が2.0であると求めることができる。
【0073】
このように、同じ制御結果データに基づいて関数を構成した場合、GPでは評価値が最大となるθを求めることができず、RGPでは評価値が最大となるθを求めることができる場合がある。これは、後述するように、RGPでは尤度関数としてスチューデントのt分布を用いており、これにより、信頼度の低い制御結果データを外れ値として、その寄与度を低くすることができるからである。
【0074】
(予測分布の算出および更新に用いる数式について)
実施形態1と同じく、制御結果データ201にN点の制御変数が含まれていた場合、それらの制御変数は、
【0075】
【0076】
と表され、
それに対する評価値は、
【0077】
【0078】
と表される。
【0079】
また、入出力データ間の関数は下記のように表される。
【0080】
【0081】
ここで、上記関数の事前分布を下記のように設定する。
【0082】
【0083】
本実施形態では、外れ値が存在しても安定して評価関数の回帰を行うことができるようにするため、ガウス過程回帰における尤度関数として、ガウス分布の代わりにより外れ値に頑健な分布を適用する。例えば、尤度関数としてスチューデントのt分布を用いてもよい。この場合、尤度関数は下記の数式(7)で表される。なお、数式(7)におけるa、bは尤度関数のパラメータであり、Γはガンマ関数を表す。
【0084】
【0085】
ここで、ガウス分布は、スチューデントのt分布の共役事前分布ではない。このため、事後分布を解析的に計算することはできない。そこで、事後分布の解析解を近似的に求める。例えば、以下説明するように、変分ベイズ法を用いて、事後分布の解析解を近似的に求めることができる。
【0086】
まず、スケールミクスチャーレプレゼンテーション(scale-mixture representation)により、尤度関数であるスチューデントのt分布を、以下のようなガウス分布とガンマ分布で表現する。
【0087】
【0088】
【0089】
【0090】
これにより、尤度関数を、分散の逆数に事前分布としてガンマ分布を持つガウス分布とみなすことができる。なお、数式(8)~(10)におけるτnはn番目の制御結果データ201に対するガウス分布の分散の逆数である。τnは、n番目の制御結果データ201の信頼度を示している。
【0091】
予測分布算出部301は、変分推論により、このモデルの事後分布の解析解を近似的に求める。具体的には、予測分布算出部301は、対数周辺尤度の下界を最大化する変分分布を求める。この変分分布は事後分布の近似であるから、予測分布算出部301は、事後分布を近似的に求めることができる。
【0092】
【0093】
ここで、
【0094】
【0095】
である。
【0096】
f、Tの分布が独立であると仮定し、変分分布q(f)と、
【0097】
【0098】
を導入すれば、予測分布算出部301は、下記の数式(12)により下界Fνを求めることができる。
【0099】
【0100】
そして、予測分布算出部301は、上記数式(12)を用いて周辺尤度の下界を最大化する変分分布を求める。この変分分布は上述のように事後分布の近似である。
【0101】
変分分布q(f)、q(τn)の更新則は、以下のように解析的に求めることができる。上述のように、τnは、n番目の制御結果データ201の信頼度を示している。よって、予測分布算出部301は、下界Fνを最大にするq(τn)すなわちτnの事後分布を導出した上で、評価関数の予測分布(平均と分散)を求めることにより、信頼度に基づいた予測分布を算出することができる。言い換えれば、制御結果データ201の信頼度を示すτnの事後分布が、予測分布の算出において、当該制御結果データ201に対する重みのように働くので、信頼度が相対的に低い制御結果データ201の予測分布算出への寄与度を下げることができる。これにより、信頼度が相対的に低い制御結果データ201が予測分布に与える影響をゼロにするかまたは低減させることができる。
【0102】
【0103】
【0104】
【0105】
【0106】
【0107】
【0108】
【0109】
予測分布算出部301は、上記の数式により求めた事後分布の近似を用いて、任意の入力θ*に対する評価関数の予測の平均関数と分散関数を求める。具体的には、予測分布算出部301は、平均関数と分散関数を以下の数式(20)(21)で算出する。
【0110】
【0111】
【0112】
そして、制御変数探索部103は、上記の平均関数と分散関数を用いて獲得関数が最大となる点、すなわち最適な制御変数の候補を探索する。例えば、UCB戦略を適用する場合、制御変数探索部103は、実施形態1と同様に数式(5)により獲得関数を計算し、この獲得関数が最大となる点を探索する。
【0113】
(類似タスクの制御結果データの利用)
上述のように、本実施形態におけるタスクは、クレーン5に実行させる動作あるいは作業である。タスクが変われば最適な制御変数も変わる。しかし、他のタスクであっても類似したタスク(以下、類似タスクと呼ぶ)であれば評価関数の予測分布も類似する場合があり、そのような場合には、当該類似タスクの制御結果データを利用することができる。以下では、他のタスクの制御結果データを利用して予測分布を算出または更新する方法について述べる。
【0114】
他のタスクの制御結果データを利用する場合、予測分布算出部301は、あるタスクについての予測分布の算出および更新において、他のタスク(類似タスクを含み、非類似のタスクを含んでいてもよい)の制御結果データの予測分布算出における寄与度を、当該他のタスクと上記あるタスクとの類似度に応じた寄与度として、予測分布を算出または更新する。
【0115】
この構成によれば、他のタスクの制御結果データを用いて予測分布の算出および更新を行うので、あるタスクの制御結果データのみを用いる場合と比べて、少ない更新回数で妥当な制御変数を決定することが可能になる。また、他のタスクの制御結果データは、あるタスクとの類似度に応じた寄与度で予測分布算出に反映されるから、複数のタスクの中から類似タスクを選別するといった手間も不要である。
【0116】
以下、他のタスクの制御結果データを利用する方法について具体的に説明する。他のタスクの制御結果データを利用する場合、予測分布算出部301は、これまでに探索した制御変数
【0117】
【0118】
と、評価値
【0119】
【0120】
と、データ点に対するタスクラベル
【0121】
【0122】
と、を学習データとして、類似タスクの評価関数を回帰する。
【0123】
M個のタスクを扱う場合、タスクラベルをtn∈{1,…,M}とする。そして、同じタスクの制御結果データのタスクラベルには、同じ実数値を割り当てる。つまり、タスクラベルは、ΘとYの制御結果データが、何れのタスクを実行したときのデータであるかを示す。言い換えれば、タスクラベルは、同一タスクを区別するためのラベルである。
【0124】
タスクごとに評価関数を回帰するために、タスクラベルをロバストガウス過程の入力として扱う。そのため、下記の数式(22)に示すように、入力カーネルk(θ,θ’)とタスクカーネルtn(t,t’)との積をカーネル関数とする。
k((θ,t),(θ’,t’))=kt(t,t’)kθ(θ,θ’) (22)
タスクカーネルは、タスク類似度を示す関数であるが、入力であるタスクラベルtnが同一タスクを区別するためのラベルであるため、タスクラベルtnの値からタスクの類似度を計算することはできない。また、タスク数がM個であるため、タスクカーネルの出力はM×M個のパターンである。そのため、M次正方行列Ktを用いてタスクカーネルを表現し、タスクカーネルに入力されたタスクラベルが示す要素の値を、タスクカーネルの出力とする。
kt(t,t’)=[Kt]t,t’ (23)
また、タスクカーネルをカーネル関数として用いるためには、Ktが正定行列である必要がある。そこで、コレスキー分解を利用して、Ktを下三角行列LによってKt=LLTと分解する。これにより、下三角行列LのM(M+1)/2個の要素をタスクカーネルのパラメータαtとし、このパラメータαtを変分推論の枠組みの中で最適化して、制御結果データからタスク間の類似度を学習することができる。なお、タスク間の類似度を学習するとは、タスク間の類似度が反映されるように(類似タスクの制御結果データの寄与度が非類似タスクの制御結果データの寄与度よりも大きくなるように)事後分布を更新することを意味する。
【0125】
このようにして最適化されたパラメータαtは、他のタスクの制御結果データのそれぞれの寄与度(重みと呼ぶこともできる)を示している。よって、予測分布算出部301は、最適化されたパラメータαtを用いて評価関数の予測分布を求めることにより、他のタスクの制御結果データの寄与度を、当該他のタスクと対象のタスクとの類似度に応じた寄与度として、予測分布を算出することができる。これは予測分布の更新においても同様である。
【0126】
(処理の流れ)
情報処理装置1Bがクレーン5の制御変数を決定する処理の流れを説明する。この処理の流れは、
図3に示した情報処理装置1Aの処理の流れと概ね同様であるが、S2およびS8とS3の処理が相違している。以下ではこの相違点を中心に説明する。
【0127】
図6は、カーネル関数のパラメータを最適化する処理の一例を示すフローチャートである。
図6の処理は、
図3のS1と同様の処理の後、すなわちデータ取得部101による初期データの設定後に行われる処理であり、
図3のS2の処理に対応している。また、情報処理装置1Bは、
図3のS8の処理の代わりに、
図6の処理を実行する。
【0128】
S21では、予測分布算出部301が、カーネル関数のパラメータを初期化する。初期化するカーネル関数のパラメータは、αkとαtの2つである。続いて、S22では、予測分布算出部301は、変分分布q(f)、q(τn)を更新する。変分分布q(f)、q(τn)の更新則は、上記数式(13)~(19)のとおりである。
【0129】
S23では、予測分布算出部301は、変分下界が収束したか否かを判定する。変分下界が収束したときの変分分布q(f)、q(τn)が最適化された変分分布である。なお、収束条件は適宜設定すればよい。例えば、q(f)とq(τn)の更新の前後でFνを計算し、その差分が所定の値(例えば0.1)を下回ったときに収束したと判定してもよい。
【0130】
S23で収束したと判定された場合(S23でYES)には、処理はS24に進む。一方、収束していないと判定された場合(S23でNO)には、処理はS22に戻り、変分分布が再度更新される。
【0131】
S24では、予測分布算出部301は、変分下界が最大となるカーネル関数のパラメータαk
*、αt
*を特定する。この演算には、上述の数式(12)が使用される。なお、数式(12)のq(f)、q(T)、p(f)にはカーネル関数によって求める行列Kが含まれている。このため、Fνはαk、αtをパラメータとして持つ関数として扱うことができる。よって、例えば、任意の非線形最適化手法によって最適化することができる。非線形最適化手法の一例としては勾配法が挙げられる。
【0132】
S25では、予測分布算出部301は、最適化を終了するか否かを判定する。終了条件は適宜設定すればよい。例えば、S22~S25の処理の前後でFνを計算し、その差分が所定の値(例えば0.1)を下回ったときに最適化を終了すると判定してもよい。
【0133】
S25で終了すると判定された場合(S25でYES)には、
図6の処理は終了する。この後、
図3のS3以降と同様の処理が行われる。一方、終了しないと判定された場合(S25でNO)には、処理はS22に戻り、変分分布が再度更新される。
【0134】
以上のように、
図6の処理では、変分下界を最大化する変分分布の計算と、カーネル関数のパラメータの最適化が交互に行われる。これにより、事後分布の近似である変分分布を求めることができる。また、
図6の処理では、カーネル関数のパラメータα
kが最適化されると共に、α
tも最適化されるので、タスク間の類似度を学習することができる。
【0135】
なお、変分下界Fνは、マルチタスク化を導入したロバストガウス過程が、制御結果データ201をうまく表現できているかを近似的に計算したものであるといえる。そのため、変分下界Fνを最大化するパラメータαtを求めることにより、制御結果データ201に適した類似度を求めることができる。
【0136】
S22~S25の処理を繰り返すことにより、類似したタスクの制御結果データ201は利用され、類似していないタスクの制御結果データ201の寄与度が低くなるように、パラメータαtが最適化される。言い換えれば、S22~S25の処理を繰り返すことにより、他のタスクの制御結果データは、対象のタスクとの類似度に応じて重み付けされる。
【0137】
以上の処理によれば、あるタスクについての予測分布を算出する際に、他のタスクの制御結果データを、当該他のタスクと上記あるタスクとの類似度に応じた寄与度で適切に考慮して再利用することができる。したがって、あるタスクの制御結果データの数を抑えつつ、妥当な制御変数を決定することができる。
【0138】
〔実施例〕
情報処理装置1Aおよび1Bの効果を検証するための実験を行った。その結果を
図7および
図8に基づいて説明する。
図7は、実験結果を示す図である。
図8は、実験10~12における最適化終了時のタスクカーネルを示す図である。
【0139】
なお、実験は、実機のクレーン5ではなく、実験室内で使用できる程度に小型の模擬クレーンを用い、模擬的なごみとしてシュレッダーによって裁断された紙と、玩具用ゴムボールを混ぜ合わせたものを用いた。
【0140】
クレーンに実行させるタスクは、クレーンでごみをつかんで持ち上げた後、所定距離を移動させながら、その間に均一にごみをばらまくというものとした。具体的には、ごみをつかんでいるバケットを開放する開動作の開始後、重量θ1のごみがバケットから落ちたときにバケットを閉じる閉動作を開始し、その時間θ2後に再度開動作を開始する、という動作をクレーンに実行させた。上記θ1とθ2が制御変数である。
【0141】
制御結果の評価においては、クレーンの移動距離が増加する間、バケットがつかんでいるごみの重量が一定の割合で減少することを理想の推移とした。そして、この理想の推移と実際の推移との差に基づいて評価値を算出した。具体的には、クレーンがつかんだごみの重量で正規化した、実際のつかみ重量の系列データwと、理想的なつかみ重量の系列データwIとの差を二乗平均平方根(RMS)で計算し、以下の数式(24)で評価した。
E(θ)=5-10×RMS(w(θ)-wI) (24)
上述のように、模擬的なごみも実際のごみピットに貯留されているごみと同様に不均質であるから、同じ動作パラメータでもw(θ)が大きく異なる場合があり、評価値E(θ)に影響する。
【0142】
また、最初につかむごみの重量は120~300gとし、移動距離は40cmとした。1回の実験では、最適化後の制御変数θ1とθ2を適用してタスクを10回実行し、それらの制御結果を上記数式(24)で評価した。
【0143】
実験は1~12の全12回行った。このうち、実験1~3では、情報処理装置1Aにより制御変数θ1、θ2の最適化を行った。また、実験4~9では、情報処理装置1Bにより制御変数θ1、θ2の最適化を行った。ただし、実験4~9では、類似タスクのデータは利用していない。そして、実験10~12では、情報処理装置1Bにより、類似タスクのデータを利用して制御変数θ1、θ2の最適化を行った。類似タスクは、クレーンの移動距離を30cmとしたタスクである。
【0144】
図7に示すように、実験1~12で最適化された制御変数θ
1、θ
2にはばらつきがあるが、評価値は何れも高水準であり、妥当な最適化が行われたことが確認された。
【0145】
実験1~3と4~6の結果を比較すると、最適化に要した試行回数に差が生じていることがわかる。つまり、情報処理装置1Bによる最適化では、情報処理装置1Aによる最適化と比べて、少ない試行回数で妥当な制御変数を算出できることがわかった。なお、最適化に要した試行回数とは、最適な制御変数を決定するまで(
図3のS5でYESと判定されるまで)に、獲得関数により決定した制御変数を用いてクレーンを動作させ、新たな制御結果を取得した回数である。
【0146】
また、実験7~9と10~12の結果を比較しても、最適化に要した試行回数に差が生じていることがわかる。つまり、類似タスクの制御結果データを利用することにより、さらに少ない試行回数で妥当な制御変数を算出できることがわかった。
【0147】
また、
図8には、実験10~12における最適化終了時のタスクカーネルを示している。同図の縦軸および横軸はタスクラベルを示し、数値はそれぞれのタスク間の類似度を示している。
図8に示すように、移動距離が40cmのタスクと、移動距離が30cmのタスク(類似タスク)との類似度(予測分布の算出における寄与度)を示す非対角成分9-2の値(1.35)が、対角成分9-1の値の一方(0.96)と比べて高い数値となっている。このことから、予測分布の算出において、類似タスクの制御結果データが利用されていることがわかる。
【0148】
なお、図には示していないが、上記タスクにおけるクレーンの移動距離を20cmに変更し、類似タスクとしてクレーンの移動距離が30cmのタスクと、40cmのタスクを設定して同様の実験を行った。その結果、上述の各結果と同精度の制御変数θ
1、θ
2を10回程度の少ない試行回数で算出することができた。この場合における最適化終了時のタスクカーネルも、
図8の例と同様に非対角成分の値が大きく、類似タスクの制御結果データが利用されていることがわかった。
【0149】
また、実機のクレーン5を用いてごみピット内でごみをばらまく実験についても行った。結果は、上述の各例と同様であり、情報処理装置1Aにより妥当な制御変数を算出できること、情報処理装置1Bによればより少ない試行回数で妥当な制御変数を算出できることがわかった。
【0150】
また、実機のクレーン5を用いた実験では、オペレータにもタスクを実行してもらい、その結果を上記数式(24)で評価した。そして、情報処理装置1Bが最適化した制御変数を用いた制御結果の評価値と、オペレータによる制御結果の評価値とについて、t検定を行ったところ有意差なしとの結果となった。つまり、情報処理装置1Bが最適化した制御変数を用いた制御は、オペレータによる制御と同程度の高水準な制御であったといえる。
【0151】
〔ソフトウェアによる実現例〕
情報処理装置1Aおよび1Bの制御ブロック(特に制御部10Aおよび制御部10Bに含まれる各部)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
【0152】
後者の場合、情報処理装置1Aおよび1Bは、各機能を実現するソフトウェアであるプログラム(制御変数決定プログラム)の命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0153】
〔変形例〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0154】
例えば、実施形態1の情報処理装置1Aにおいて、類似タスクの制御結果データを利用した最適化を行うこともできる。この場合、数式(22)で示されるカーネル関数を使用し、
図3のS2、8でカーネル関数のパラメータα
tについても最適化すればよい。
【0155】
また、上述の各実施形態で説明した各処理の実行主体は、適宜変更することが可能である。
図3に示される制御変数算出方法は、複数の情報処理装置によって実行されてもよい。同様に、
図6に示される制御変数決定方法も複数の情報処理装置によって実行されてもよい。
【0156】
また、上述の各実施形態では、ごみをばらまいて撹拌するタスクにおける制御変数を最適化する例を説明したが、タスクはごみを運搬するクレーンに実行させるものであればよく、その内容は特に限定されない。例えば、クレーンにごみをつかむ動作を行わせるタスク、つかんだごみを持ち上げる動作を行わせるタスク、持ち上げたごみを投下する動作を行わせるタスクなどの制御変数を最適化することも可能である。
【符号の説明】
【0157】
1A 情報処理装置
102 予測分布算出部
103 制御変数探索部
104 制御変数決定部
201 制御結果データ
1B 情報処理装置
301 予測分布算出部
3 制御装置
5 クレーン
9 制御システム