(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】学習装置、学習システム、方法およびプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241001BHJP
G06N 3/092 20230101ALI20241001BHJP
【FI】
G06N20/00
G06N3/092
(21)【出願番号】P 2023523916
(86)(22)【出願日】2021-05-28
(86)【国際出願番号】 JP2021020454
(87)【国際公開番号】W WO2022249457
(87)【国際公開日】2022-12-01
【審査請求日】2023-10-31
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】比嘉 亮太
(72)【発明者】
【氏名】中台 慎二
【審査官】新井 則和
(56)【参考文献】
【文献】特開2018-171663(JP,A)
【文献】特開2020-027556(JP,A)
【文献】特開2017-068621(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/092
(57)【特許請求の範囲】
【請求項1】
エージェントの稼動領域を示す情報であるマップ情報、関連する他エージェントの情報である関連エージェント情報、および、生産指標を表わす上位指標、並びに、前記エージェントの経路計画とから、当該上位指標および前記エージェントの位置情報、当該エージェントの行動、並びに、当該行動に応じた報酬情報を含むデータを出力するシミュレータと、
前記シミュレータから出力されるデータをトレーニングデータとして学習を行う学習装置とを備え、
前記学習装置は、
前記上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付ける入力手段と、
前記トレーニングデータおよび前記報酬関数を用いて、
前記エージェントの最適な方策を導出するための価値関数を学習する学習手段と、
学習された前記価値関数を出力する出力手段とを
含む
ことを特徴とする学習
システム。
【請求項2】
入力手段は、複数の報酬項により累積報酬を定義した報酬関数の入力を受け付け、
学習手段は、前記報酬関数を用いて価値関数を学習する
請求項1記載の学習
システム。
【請求項3】
入力手段は、各報酬項に重みが設定された報酬関数の入力を受け付ける
請求項2記載の学習
システム。
【請求項4】
入力手段は、因果関係を有する複数の報酬項により累積報酬を定義した報酬関数の入力を受け付け、
学習手段は、前記報酬関数を用いて価値関数を学習する
請求項1から請求項3のうちのいずれか1項に記載の学習
システム。
【請求項5】
入力手段は、トレードオフ関係にある複数の報酬項により累積報酬を定義した報酬関数の入力を受け付け、
学習手段は、前記報酬関数を用いて価値関数を学習する
請求項1から請求項4のうちのいずれか1項に記載の学習
システム。
【請求項6】
入力手段は、在庫数を表わす報酬項および生産数を表わす報酬項により累積報酬を定義した報酬関数の入力を受け付け、
学習手段は、前記報酬関数を用いて価値関数を学習する
請求項1から請求項5のうちのいずれか1項に記載の学習
システム。
【請求項7】
入力手段は、スループットを表わす報酬項およびリードタイムを表わす報酬項により累積報酬を定義した報酬関数の入力を受け付け、
学習手段は、前記報酬関数を用いて価値関数を学習する
請求項1から請求項5のうちのいずれか1項に記載の学習
システム。
【請求項8】
コンピュータが、生産指標を表わす上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付け、
前記コンピュータが、
エージェントの稼動領域を示す情報であるマップ情報、関連する他エージェントの情報である関連エージェント情報、および、生産指標を表わす上位指標、並びに、前記エージェントの経路計画とから、当該上位指標および前記エージェントの位置情報、当該エージェントの行動、並びに、当該行動に応じた報酬情報を含むデータを出力するシミュレータから出力されるトレーニングデータおよび前記報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習し、
前記コンピュータが、学習された前記価値関数を出力する
ことを特徴とする学習方法。
【請求項9】
コンピュータに、
生産指標を表わす上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付ける入力処理、
エージェントの稼動領域を示す情報であるマップ情報、関連する他エージェントの情報である関連エージェント情報、および、生産指標を表わす上位指標、並びに、前記エージェントの経路計画とから、当該上位指標および前記エージェントの位置情報、当該エージェントの行動、並びに、当該行動に応じた報酬情報を含むデータを出力するシミュレータから出力されるトレーニングデータおよび前記報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習する学習処理、および、
学習された前記価値関数を出力する出力処理
を実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エージェントの動作を制御するためのモデルを学習する学習装置、学習システム、学習方法および学習プログラムに関する。
【背景技術】
【0002】
生産の現場において適切な計画を行うことは、企業における重要なビジネス課題である。例えば、より適切な生産を行うため、在庫管理や生産数管理を行うための計画、利用するロボットの経路計画等、様々な計画が必要になる。そのため、適切な計画を行うための手法が各種提案されている。
【0003】
例えば、非特許文献1には、集配タスクにおける複数のエージェントの経路を探索する方法が記載されている。非特許文献1に記載された方法では、AGV(Automatic Guided Vehicle)へのタスク割り当てコストおよび経路コストを最適化するように計画が行われる。
【先行技術文献】
【非特許文献】
【0004】
【文献】Ma, H., Kumar, T. K. S., Li, J., & Koenig, S., "Lifelong multi-Agent path finding for online pickup and delivery tasks”, Proceedings of the International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS, 2, pp.837-845, May 2017.
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に記載されたアルゴリズムを用いることで、複数台のAGVを衝突させないような最短経路計画を行うことは可能である。ここで、最短経路計画のような作業時間の最小化および輸送時間の最小化は、重要経営指標(KPI:Key Performance Indicator )の一つと考えることができるが、一般に、考慮すべき経営指標は、これらの最適化に留まらない。
【0006】
AGVの最短経路計画は、生産に用いる部品等を運搬する際に考慮される物理的な側面での指標(以下、フィジカルな指標と記すこともある)と言える。一方、生産計画においては、上述するようなフィジカルな指標だけでなく、在庫管理や生産数などを管理する際に考慮される論理的な側面での指標(以下、ロジカルな指標と記すこともある。)も存在する。
【0007】
別の観点で考えると、最適化されたAGVの経路のように、直接的には売上や利益のような費用に関わらない指標を下位指標と言うことができ、在庫数や生産数のように、費用に直接的に結びつく、いわゆる生産指標を上位指標と言うことができる。
【0008】
このような観点において、非特許文献1に記載された方法は、いわゆる下位指標のみを最適化する方法であるため、最適化された指標が必ずしも上位指標を満足するものになっているとは限らない。そのため、ロジカルな観点で考慮される生産指標(上位指標)を高められるように、エージェントの最適な方策を導出するようなモデルを構築できることが好ましい。
【0009】
そこで、本発明では、生産指標を表わす上位指標を高めつつエージェントの最適な方策を導出するようなモデルを学習できる学習装置、学習システム、学習方法および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明による学習システムは、エージェントの稼動領域を示す情報であるマップ情報、関連する他エージェントの情報である関連エージェント情報、および、生産指標を表わす上位指標、並びに、エージェントの経路計画とから、その上位指標およびエージェントの位置情報、そのエージェントの行動、並びに、その行動に応じた報酬情報を含むデータを出力するシミュレータと、シミュレータから出力されるデータをトレーニングデータとして学習を行う学習装置とを備え、学習装置が、上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付ける入力手段と、トレーニングデータおよび報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習する学習手段と、学習された価値関数を出力する出力手段とを含むことを特徴とする。
【0012】
本発明による学習方法は、コンピュータが、生産指標を表わす上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付け、コンピュータが、エージェントの稼動領域を示す情報であるマップ情報、関連する他エージェントの情報である関連エージェント情報、および、生産指標を表わす上位指標、並びに、エージェントの経路計画とから、その上位指標およびエージェントの位置情報、そのエージェントの行動、並びに、その行動に応じた報酬情報を含むデータを出力するシミュレータから出力されるトレーニングデータおよび報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習し、コンピュータが、学習された価値関数を出力することを特徴とする。
【0013】
本発明による学習プログラムは、コンピュータに、生産指標を表わす上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付ける入力処理、エージェントの稼動領域を示す情報であるマップ情報、関連する他エージェントの情報である関連エージェント情報、および、生産指標を表わす上位指標、並びに、エージェントの経路計画とから、その上位指標およびエージェントの位置情報、そのエージェントの行動、並びに、その行動に応じた報酬情報を含むデータを出力するシミュレータから出力されるトレーニングデータおよび報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習する学習処理、および、学習された価値関数を出力する出力処理を実行させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、生産指標を表わす上位指標を高めつつエージェントの最適な方策を導出するようなモデルを学習できる。
【図面の簡単な説明】
【0015】
【
図1】本発明による学習システムの一実施形態の構成例を示すブロック図である。
【
図2】学習システムの動作例を示すフローチャートである。
【
図4】本発明による学習装置の概要を示すブロック図である。
【
図5】本発明による学習システムの概要を示すブロック図である。
【
図6】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0016】
初めに、本発明が想定する課題を、工場ラインにおける生産工程を例に説明する。例えば、工場ラインにおける部品輸送を最適化することは、在庫管理や生産数管理に直結する重要なビジネス課題である。工場ラインにおけるロボット(以下、エージェントと記すこともある。)の経路計画は、例えば、最短経路計画問題を解くことにより行われ、在庫管理や生産数と独立して行われることが一般的である。
【0017】
しかし、部品輸送が最適に行われたとしても、輸送先の生産性能が追い付かなければ、輸送された部品を在庫として一時的に保存しておく必要が出てくるため、結果として企業全体の収益を悪化させてしまう恐れもある。
【0018】
このような課題に対し、本発明者は、生産数や在庫数といった、工場全体の上位指標を考慮しながら、ロボット(移動体)の方策を決定できるようなモデル(価値関数)を学習できる方法を見出した。これにより、在庫数を減少させながら生産数を最大化できるようなエージェントの方策(経路計画)を実現すること、すなわち、フィジカルな指標とロジカルな指標とを最適化するエージェントの行動を決定することが可能になる。
【0019】
以下、本発明の実施形態を図面を参照して説明する。
【0020】
図1は、本発明による学習システムの一実施形態の構成例を示すブロック図である。本実施形態の学習システム1は、学習装置100と、シミュレータ200とを備えている。学習装置100と、シミュレータ200とは、通信回線を通じて相互に接続される。
【0021】
シミュレータ200は、エージェントの状態をシミュレートする装置である。本実施形態のエージェントは、制御対象とする機器であり、学習されたモデルにより導出される最適な行動を実現する。例えば、上述する工場ラインの例では、エージェントは、部品輸送を行うロボットに対応する。以下、エージェントの具体的態様として、部品輸送を行うロボットを例示する。ただし、エージェントの態様は、部品輸送を行うロボットに限定されない。他のエージェントの例として、与えられた経路に従って自律的にタスクを実行するドローンや自動運転車などが挙げられる。
【0022】
シミュレータ200は、エージェントの稼動領域を示す情報(以下、マップ情報と記す)、関連する他のエージェントの情報(以下、関連エージェント情報と記す。)、および、上位指標に基づいて、エージェントの状態をシミュレートする。マップ情報の例として、施設内の経路情報(より具体的には、工場内の障害物情報)などが挙げられる。また、関連エージェント情報の例として、他のエージェントの位置および仕様(より具体的には、組み立てエージェントの施設内位置および生産効率)などが挙げられる。上位指標は、上記に例示するような、生産数や在庫数などの生産指標である。
【0023】
具体的には、シミュレータ200は、移動体であるエージェントの経路計画の入力を受け付けると、マップ情報、関連エージェント情報、および、上位指標に基づいて、各種状態、エージェントの行動および報酬情報を出力する。
【0024】
各種状態は、エージェントの状態の他、上位指標の値(例えば、在庫数、生産数)も含む。エージェントの状態は、例えば、絶対的な位置情報として表わされていてもよく、エージェントが備えるセンサによって検知される、他のエージェントや物体との相対関係で表わされていてもよい。エージェントの行動は、時間の経過に応じたエージェントの状態の変化を表わす。また、報酬情報は、エージェントのとった行動により得られる報酬を示す。
【0025】
シミュレータ200の態様は任意であり、予め準備される。シミュレータ200は、例えば、プログラムに従って動作するコンピュータのプロセッサによって実現されてもよい。具体的には、シミュレータ200は、例えば、呼び出しに応じてエージェントの時間tおよび状態stを、時間t+1および状態st+1に遷移させた結果を出力する状態遷移モデルp(st+1|st,at)により実現されていてもよい。なお、シミュレータ200は、1つのエージェントの動作をシミュレートするものであってもよく、複数のエージェントの動作をまとめてシミュレートするものであってもよい。
【0026】
工場ラインの例では、組み立てエージェントの位置や人数、初期在庫、生産効率がハイパーパラメータμiとして与えられ、また、移動体であるエージェントの輸送可能な部品数がパラメータとして与えられてもよい。また、シミュレータ200が、工場の障害物から位置情報を取得し、任意の2次元地図をマップ情報として生成してもよい。
【0027】
学習装置100は、記憶部10と、入力部20と、学習部30と、出力部40とを含む。
【0028】
記憶部10は、学習装置100が処理を行う際に用いる各種情報を記憶する。記憶部10は、例えば、後述する学習部30が学習に用いるトレーニングデータや、報酬関数を記憶する。記憶部10は、例えば、磁気ディスク等により実現される。
【0029】
入力部20は、シミュレータ200や他の装置(図示せず)から、各種情報を受け付ける。本実施形態では、入力部20は、シミュレータ200からトレーニングデータとして、観測された状態、行動および報酬情報(例えば、即時報酬値)の入力を受け付けてもよい。なお、入力部20は、シミュレータ200からではなく、記憶部10からトレーニングデータを読み取って入力してもよい。
【0030】
さらに、本実施形態では、入力部20は、上述する生産指標を表わす上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付ける。受け付けた報酬関数は、後述する学習部30による学習処理で用いられる。なお、報酬関数は、上述する記憶部10に記憶されていてもよい。この場合、入力部20は、記憶部10から上述する報酬関数を読み取ってもよい。
【0031】
以下、本実施形態で用いる報酬関数の内容を具体的に説明する。本実施形態の入力部20は、複数の報酬項により累積報酬を定義した報酬関数の入力を受け付ける。より具体的には、入力部20は、各報酬項に重みが設定された報酬関数の入力を受け付ける。
【0032】
なお、本実施形態では、上述するフィジカルな指標とロジカルな指標とを最適化するエージェントの行動を決定するため、入力部20は、因果関係を有する複数の報酬項により累積報酬を定義した報酬関数の入力を受け付けてもよい。なお、トレードオフ関係にある要因を考慮した最適な行動をとれるようにするため、入力部20は、トレードオフ関係にある複数の報酬項により累積報酬を定義した報酬関数の入力を受け付けることが好ましい。入力部20は、例えば、在庫数を表わす報酬項および生産数を表わす報酬項により累積報酬を定義した報酬関数の入力を受け付けてもよい。
【0033】
例えば、累積報酬は、以下に例示する式1で表わすことができる。
【0034】
【0035】
ここで、生産数と在庫数を考慮した報酬関数を定義する場合、生産数は最大化できことが好ましく、在庫数は最小化できることが好ましい。そこで、入力部20は、在庫数を表わす報酬項および生産数を表わす報酬項により累積報酬を定義した以下の式2に例示する報酬関数の入力を受け付けてもよい。
【0036】
【0037】
式2に示す例では、rproduct(t)は、生産数が多いほど大きな値をとる報酬項であり、rstock(t)は、在庫数が多いほど大きな値をとる報酬項である。rproduct(t)の例として、例えば、単位時間当たりの生産個数を示す式が挙げられる。また、rstock(t)の例として、時刻tにおける在庫数が挙げられる。また、式2におけるαはハイパーパラメータであり、各報酬項の考慮すべき度合いに応じて定められる。なお、報酬項ごとにハイパーパラメータが定義されていてもよい。
【0038】
このようなハイパーパラメータを設ける理由は、製品や業界によって、重視すべき報酬項が異なるためである。例えば、パーソナルコンピュータのように発注ベースで生産されるような製品の場合、在庫数(ストック)は少ない方が望ましい。一方、wi-fiルータのように汎用的に利用される製品の場合、在庫数をある程度許容したうえで、単位時間当たりの生産数を最大にすることが好ましいと考えられる。そのため、発注ベースの製品の場合、在庫数に関する報酬項の重みが大きく設定され、汎用品の場合、生産数に関する報酬項の重みが設定されることになる。
【0039】
また、式2に示す例では、報酬関数が、在庫数を表わす報酬項と、生産数を表わす報酬項の2つの報酬項を含む場合を例示した。ただし、報酬関数に含まれる報酬項の数は2つに限定されず、また、トレードオフ関係にある報酬項も在庫数を表わす報酬項と生産数を表わす報酬項に限定されない。トレードオフ関係にある報酬項の他の例として、スループットとリードタイムの関係が挙げられる。また、その他の報酬項の例についても、後述する具体例において説明される。
【0040】
学習部30は、トレーニングデータおよび入力された報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習する。例えば、上述する工場ラインにおけるエージェントに利用される価値関数を学習するとする。この場合、学習部30は、上位指標およびエージェント(移動体)の位置情報、そのエージェント(移動体)の行動、並びに、その行動に応じた報酬情報を含むトレーニングデータを用いて、エージェント(移動体)の方策を示す価値関数を学習してもよい。
【0041】
なお、学習部30が価値関数を学習する方法は任意である。学習部30は、例えば、方策が価値関数で与えられる、いわゆる価値関数ベースで学習を行ってもよく、直接方策を導出する、いわゆる方策関数ベースで学習を行ってもよい。
【0042】
例えば、方策πに基づく価値関数をqπ(s,a)とする。なお、sは状態を示し、aは行動を示す。この場合、学習部30は、例えば、以下に例示する式3に基づいて、εグリーディ法や、ボルツマンポリシなどを用いて、価値関数ベースで学習を行ってもよい。
【0043】
【0044】
他にも、θをパラメータとする方策πθに対して期待される収益をJ(θ)としたとき、学習部30は、以下に例示する式4を用いた方策関数ベースで学習を行ってもよい。
【0045】
【0046】
より具体的には、学習部30は、モンテカルロ法により期待値を最適化してもよい。また、学習部30は、ボルツマン方程式からTD(Temporal Difference )法により学習してもよい。ただし、ここで記載する学習法は一例であり、他の学習方法が用いられてもよい。
【0047】
出力部40は、学習された価値関数を出力する。出力された価値関数は、例えば、効用関数の設計に利用される。
【0048】
入力部20と、学習部30と、出力部40とは、プログラム(学習プログラム)に従って動作するコンピュータのプロセッサ(例えば、CPU(Central Processing Unit ))によって実現される。例えば、プログラムは、記憶部10に記憶され、プロセッサは、そのプログラムを読み込み、プログラムに従って、入力部20、学習部30および出力部40として動作してもよい。また、学習装置100の機能がSaaS(Software as a Service )形式で提供されてもよい。
【0049】
また、入力部20と、学習部30と、出力部40とは、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
【0050】
また、学習装置100の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0051】
次に、本実施形態の学習システム1の動作を説明する。
図2は、本実施形態の学習システム1の動作例を示すフローチャートである。シミュレータ200は、入力される各種情報(マップ情報、関連エージェント情報、および、上位指標、並びに、エージェントの経路計画)から、エージェントのシミュレート結果(その上位指標およびエージェントの位置情報、そのエージェントの行動、並びに、その行動に応じた報酬情報を含むデータ)を出力する(ステップS11)。
【0052】
学習装置100の入力部20は、上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付ける(ステップS12)。学習部30は、シミュレータ200から出力されたトレーニングデータおよび報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習する(ステップS13)。そして、出力部40は、学習された価値関数を出力する(ステップS14)。
【0053】
以上のように、本実施形態では、入力部20が、上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付け、学習部30が、トレーニングデータおよび報酬関数を用いて価値関数を学習し、出力部40が、学習された価値関数を出力する。よって、生産指標を表わす上位指標を高めつつエージェントの最適な方策を導出するようなモデルを学習できる。
【0054】
例えば、経路計画に着目した一般的な方法は、移動体のコストを最小化する問題として考えられており、在庫数や部品数といった上位指標を示す情報については考慮されていない。また、スループットや在庫数などの上位指標に着目した一般的な方法は、ロジカルな指標の最適化が第一目標になっており、フィジカルな物理空間との連携ができていない。一方、本実施形態では、学習部30が、上位指標および下位指標のいずれも考慮した報酬関数に基づいて価値関数を学習するため、ロジカルな目的を達成しつつ、フィジカルな経路計画および経路交渉を行うことが可能になる。
【0055】
次に、本実施形態の学習システム1を用いた具体的な構成例を説明する。本具体例では、工場ラインにおける移動体(AGV)部品輸送の経路計画を、在庫数を最大化しながら内部在庫数を最小化するように行う場面を想定する。また、移動体は、部品を受け取り、受け取った部品を計画された経路に従って他のエージェント(組み立てエージェント)に渡す処理を複数繰り返す(すなわち、複数回往復する)状況を想定する。よって、本具体例での移動体のタスクは、部品の受け渡しおよび部品輸送である。
【0056】
図3は、工場ラインの例を示す説明図である。
図3に例示する工場ラインは、エージェント51が、受け取り地点52で部品を受け取り、受け渡し地点53まで計画された経路で部品を輸送して、他のエージェント(組み立てエージェント)に受け渡すことを想定したものである。
【0057】
本具体例では、組み立てエージェントは、2体存在するものとし、それぞれ作業が可能な時刻tに在庫(ストック)から部品をμi~N(μi,σi
2)でサンプルし、t+μiステップ後に組み立てた部品数niを組み立て部品置き場へ出力するエージェントであるとする。なお、在庫(ストック)がない場合、組み立てエージェントは、作業を停止する。
【0058】
また、エージェント51が観測する状態sとして、ある時刻tにおけるエージェント51の位置(Grid world)sl∈N×N´、エージェント51が運んでいる部品数C={0,…,c}、第一のエージェントの在庫s1∈{0,…,K´}、第二のエージェントの在庫s2∈{0,…,K´}とする。なお、本具体例では、状態sが数値データである場合を例示するが、状態sを示す方法は数値データに限られない。例えば、エージェントの位置情報が画像情報として与えられる場合、特徴量を抽出するようなニューラルネットに画像情報を適用することで特徴量を生成し、その特徴量を状態sとして用いてもよい。
【0059】
そして、エージェント51の行動a∈Aは、上下左右および停止の5つであるとする。すなわち、A={0,…,4}である。また、エージェント51が、1ステップに移動できる位置は近接するグリッドのみとし、障害物がある場合、移動できないものとする。
【0060】
このような状況において、学習部30は、時刻tにおいて観測される状態sおよび行動aを用いて、上記式2で示す報酬関数を用いて、価値関数を学習する。なお、本具体例では、エージェントは、輸送時において物品(部品)の受け渡しを行う。そこで、入力部20は、輸送時における物品の受け渡しの成功有無に応じた報酬項を含む報酬関数の入力を受け付けてもよい。そして、学習部30は、受け付けた報酬関数を用いて価値関数を学習してもよい。
【0061】
例えば、荷物の受け取りに関する報酬項をrgetとし、荷物の受け渡しに関する報酬項をrpassとする。例えば、荷物の受け取りに成功した場合rget=1、荷物の受け渡しに成功した場合rpass=1とし、それ以外は、rgetおよびrpassのいずれも0とすればよい。そして、在庫数を表わす報酬項および生産数を表わす報酬項を考慮する場合、報酬関数は、以下に例示する式5のように表わすことができる。
【0062】
【0063】
学習部30がこのような報酬関数を用いて価値関数を学習することで、在庫数および生産数のいずれも考慮した適切な行動をエージェント51に行わせることが可能になる。
【0064】
次に、本発明の概要を説明する。
図4は、本発明による学習装置の概要を示すブロック図である。本発明による学習装置80(例えば、学習装置100)は、生産指標を表わす上位指標(例えば、在庫数、生産数など)に基づく報酬項により累積報酬(例えば、上記式1、式2)を定義した報酬関数の入力を受け付ける入力手段81(例えば、入力部20)と、トレーニングデータおよび報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習する学習手段82(例えば、学習部30)と、学習された価値関数を出力する出力手段83(例えば、出力部40)とを備えている。
【0065】
そのような構成により、生産指標を表わす上位指標を高めつつエージェントの最適な方策を導出するようなモデルを学習できる。
【0066】
また、入力手段81は、複数の報酬項により累積報酬を定義した報酬関数の入力を受け付け、学習手段82は、その報酬関数を用いて価値関数を学習してもよい。
【0067】
具体的には、入力手段81は、各報酬項に重みが設定された報酬関数の入力を受け付けてもよい。
【0068】
また、入力手段81は、因果関係を有する複数の報酬項により累積報酬を定義した報酬関数の入力を受け付け、学習手段82は、その報酬関数を用いて価値関数を学習してもよい。
【0069】
また、入力手段81は、トレードオフ関係にある複数の報酬項により累積報酬を定義した報酬関数の入力を受け付け、学習手段82は、その報酬関数を用いて価値関数を学習してもよい。
【0070】
具体的には、入力手段81は、在庫数を表わす報酬項および生産数を表わす報酬項により累積報酬を定義した報酬関数の入力を受け付け、学習手段82は、その報酬関数を用いて価値関数を学習してもよい。
【0071】
他にも、入力手段81は、スループットを表わす報酬項およびリードタイムを表わす報酬項により累積報酬を定義した報酬関数の入力を受け付け、学習手段82は、その報酬関数を用いて価値関数を学習してもよい。
【0072】
また、学習手段82は、上位指標およびエージェントの位置情報、そのエージェントの行動、並びに、その行動に応じた報酬情報を含むトレーニングデータを用いて、エージェントの方策を示す価値関数を学習してもよい。
【0073】
また、入力手段81は、輸送時における物品の受け渡しの成功有無に応じた報酬項を含む報酬関数(例えば、上記の式5)の入力を受け付け、学習手段82は、報酬関数を用いて価値関数を学習してもよい。
【0074】
図5は、本発明による学習システムの概要を示すブロック図である。本発明による学習システム90(例えば、学習システム1)は、シミュレータ70(例えば、シミュレータ200)と、学習装置80(例えば、学習装置100)とを備えている。
【0075】
シミュレータ70は、エージェントの稼動領域を示す情報であるマップ情報、関連する他エージェントの情報である関連エージェント情報、および、生産指標を表わす上位指標、並びに、エージェントの経路計画とから、その上位指標およびエージェントの位置情報、そのエージェントの行動、並びに、その行動に応じた報酬情報を含むデータを出力する。
【0076】
なお、学習装置80の構成は、
図4に例示する構成と同様である。そのような構成によっても、生産指標を表わす上位指標を高めつつエージェントの最適な方策を導出するようなモデルを学習できる。
【0077】
図6は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ1000は、プロセッサ1001、主記憶装置1002、補助記憶装置1003、インタフェース1004を備える。
【0078】
上述の学習システムの各装置は、コンピュータ1000に実装される。そして、上述した各処理部の動作は、プログラムの形式で補助記憶装置1003に記憶されている。プロセッサ1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、当該プログラムに従って上記処理を実行する。
【0079】
なお、少なくとも1つの実施形態において、補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read-only memory )、DVD-ROM(Read-only memory)、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000が当該プログラムを主記憶装置1002に展開し、上記処理を実行してもよい。
【0080】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0081】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0082】
(付記1)生産指標を表わす上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付ける入力手段と、
トレーニングデータおよび前記報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習する学習手段と、
学習された前記価値関数を出力する出力手段とを備えた
ことを特徴とする学習装置。
【0083】
(付記2)入力手段は、複数の報酬項により累積報酬を定義した報酬関数の入力を受け付け、
学習手段は、前記報酬関数を用いて価値関数を学習する
付記1記載の学習装置。
【0084】
(付記3)入力手段は、各報酬項に重みが設定された報酬関数の入力を受け付ける
付記2記載の学習装置。
【0085】
(付記4)入力手段は、因果関係を有する複数の報酬項により累積報酬を定義した報酬関数の入力を受け付け、
学習手段は、前記報酬関数を用いて価値関数を学習する
付記1から付記3のうちのいずれか1つに記載の学習装置。
【0086】
(付記5)入力手段は、トレードオフ関係にある複数の報酬項により累積報酬を定義した報酬関数の入力を受け付け、
学習手段は、前記報酬関数を用いて価値関数を学習する
付記1から付記4のうちのいずれか1つに記載の学習装置。
【0087】
(付記6)入力手段は、在庫数を表わす報酬項および生産数を表わす報酬項により累積報酬を定義した報酬関数の入力を受け付け、
学習手段は、前記報酬関数を用いて価値関数を学習する
付記1から付記5のうちのいずれか1つに記載の学習装置。
【0088】
(付記7)入力手段は、スループットを表わす報酬項およびリードタイムを表わす報酬項により累積報酬を定義した報酬関数の入力を受け付け、
学習手段は、前記報酬関数を用いて価値関数を学習する
付記1から付記5のうちのいずれか1つに記載の学習装置。
【0089】
(付記8)学習手段は、上位指標およびエージェントの位置情報、当該エージェントの行動、並びに、当該行動に応じた報酬情報を含むトレーニングデータを用いて、前記エージェントの方策を示す価値関数を学習する
付記1から付記7のうちのいずれか1つに記載の学習装置。
【0090】
(付記9)入力手段は、輸送時における物品の受け渡しの成功有無に応じた報酬項を含む報酬関数の入力を受け付け、
学習手段は、前記報酬関数を用いて価値関数を学習する
付記1から付記8のうちのいずれか1つに記載の学習装置。
【0091】
(付記10)エージェントの稼動領域を示す情報であるマップ情報、関連する他エージェントの情報である関連エージェント情報、および、生産指標を表わす上位指標、並びに、前記エージェントの経路計画とから、当該上位指標および前記エージェントの位置情報、当該エージェントの行動、並びに、当該行動に応じた報酬情報を含むデータを出力するシミュレータと、
前記シミュレータから出力されるデータをトレーニングデータとして学習を行う学習装置とを備え、
前記学習装置は、前記上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付ける入力手段と、
前記トレーニングデータおよび前記報酬関数を用いて、前記エージェントの最適な方策を導出するための価値関数を学習する学習手段と、
学習された前記価値関数を出力する出力手段とを含む
ことを特徴とする学習システム。
【0092】
(付記11)シミュレータは、マップ情報を示す施設内の経路情報、関連エージェント情報を示す物品の輸送先エージェントの位置および性能、並びに、上位指標と、エージェントの経路計画とから、当該上位指標および前記物品を輸送するエージェントの位置情報、当該エージェントの行動、並びに、当該行動に応じた報酬情報を含むデータを出力する
付記10記載の学習システム。
【0093】
(付記12)コンピュータが、生産指標を表わす上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付け、
前記コンピュータが、トレーニングデータおよび前記報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習し、
前記コンピュータが、学習された前記価値関数を出力する
ことを特徴とする学習方法。
【0094】
(付記13)コンピュータが、複数の報酬項により累積報酬を定義した報酬関数の入力を受け付け、
前記コンピュータが、前記報酬関数を用いて価値関数を学習する
付記12記載の学習方法。
【0095】
(付記14)コンピュータに、
生産指標を表わす上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付ける入力処理、
トレーニングデータおよび前記報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習する学習処理、および、
学習された前記価値関数を出力する出力処理
を実行させるための学習プログラムを記憶するプログラム記憶媒体。
【0096】
(付記15)コンピュータに、
入力処理で、複数の報酬項により累積報酬を定義した報酬関数の入力を受け付けさせ、
学習処理で、前記報酬関数を用いて価値関数を学習させる
ための学習プログラムを記憶する付記14記載のプログラム記憶媒体。
【0097】
(付記16)コンピュータに、
生産指標を表わす上位指標に基づく報酬項により累積報酬を定義した報酬関数の入力を受け付ける入力処理、
トレーニングデータおよび前記報酬関数を用いて、エージェントの最適な方策を導出するための価値関数を学習する学習処理、および、
学習された前記価値関数を出力する出力処理
を実行させるための学習プログラム。
【0098】
(付記17)コンピュータに、
入力処理で、複数の報酬項により累積報酬を定義した報酬関数の入力を受け付けさせ、
学習処理で、前記報酬関数を用いて価値関数を学習させる
付記14記載の学習プログラム。
【符号の説明】
【0099】
1 学習システム
10 記憶部
20 入力部
30 学習部
40 出力部
100 学習装置
200 シミュレータ