JP6820815B2 - 学習制御システム及び学習制御方法 - Google Patents

学習制御システム及び学習制御方法 Download PDF

Info

Publication number
JP6820815B2
JP6820815B2 JP2017172271A JP2017172271A JP6820815B2 JP 6820815 B2 JP6820815 B2 JP 6820815B2 JP 2017172271 A JP2017172271 A JP 2017172271A JP 2017172271 A JP2017172271 A JP 2017172271A JP 6820815 B2 JP6820815 B2 JP 6820815B2
Authority
JP
Japan
Prior art keywords
learning
agent
control
subsystem
control model
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
JP2017172271A
Other languages
English (en)
Other versions
JP2019046422A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017172271A priority Critical patent/JP6820815B2/ja
Priority to US16/029,877 priority patent/US10768583B2/en
Publication of JP2019046422A publication Critical patent/JP2019046422A/ja
Application granted granted Critical
Publication of JP6820815B2 publication Critical patent/JP6820815B2/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
    • 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/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • 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
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

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

Description

本発明は、情報処理技術に関し、機械学習の制御や管理の技術に関する。また、本発明は、所定の環境でタスクを達成するための複数のエージェントを有するマルチエージェント学習、及び制御対象システムからの入力値に基づいて制御対象システムへの出力値を決定する強化学習、等の学習を制御するための技術に関する。
社会インフラとして、サプライ・チェーン・マネージメント(Supply Chain Management:SCM)、エネルギー供給網(Energy Grid:EG)、交通、金融等の多種多様なシステム、及び各システムが複雑に絡み合って複合的に構成されるシステムを有する。各システムは複数のサブシステムによって構成されている。システム及び各サブシステムを情報/データに基づいて最適化するための技術として、機械学習を用いた学習制御システム等の技術が注目されている。各サブシステムは、状態や制約等の異なる状況、行動、及び成果目標、等の情報を有する。それらの情報は時々刻々と変化する。そのため、システム最適化のためにそれらの情報の全てを人手で設計や制御しようとしても限界がある。
このような一般的な課題に対し、機械学習によるサブシステムの制御が考えられる。サブシステムの性能を最適化するために、エージェントと呼ばれる自動制御ソフトウェアを用いる。マルチ・エージェント・システム(Multi-Agent System:MAS)では、複数のサブシステムに対応させた複数のエージェントを用いる。各エージェントが自律的に各サブシステムを制御する。各エージェントは、動作を決定する制御モデルを有する。MASの目的は、システム全体の最適化である。MASにおいて、対象サブシステムを制御するためには、エージェントの制御モデルのパラメータを決定する必要がある。制御モデルは、対象からの入力値に応じて対象への出力値を決定する関数に相当する。
従来、エージェントの制御モデルのパラメータ調整の自動化手法として、強化学習(Reinforcement Learning:RL)を用いた手法が提案されている。例えば、非特許文献1には、マルチエージェント強化学習(MARL)について記載されている。
学習制御システムに関する先行技術例として、特開2014−99113(特許文献1)が挙げられる。特許文献1には、家電ネットワークシステムとして、複数の家電機器を自律分散的に学習制御するとともに、センサの抽出に伴う不具合を解消して、複数の家電機器の最適制御を可能にする旨が記載されている。
特開2014−99113号公報
L. Busoniu, R.Babuska, and B.D.Schutter,"A comprehensive survey of multiagent reinforcement learning",IEEE Tran. on Systems Man and Cybernetics Part C Applications and Reviews, Vol.38, No. 2, pp. 156-172, (2008).
MARLでは、強化学習の計算上で各エージェントが試行錯誤を行うことで、システムが不安定となり、その不安定が学習に影響を及ぼす場合がある。例えば、特許文献1のようなシステムでは、学習制御を行う主体が、各サブシステム(例えば家電機器)の情報、及び各エージェントの試行錯誤の情報の全てを、完全情報として得ることができる。そのようにサブシステムの完全情報が得られる状況下の場合には、エージェントの試行錯誤による不安定が問題にならず、複数のエージェントの学習が可能である。
一方、SCM等の各システム及び各サブシステム(例えば小売、卸、工場等)では、システム間やサブシステム間の契約等に応じて、一部または全ての情報が共有されない情報非共有の前提である。即ち、SCM等のシステムを対象としてMARL等のマルチエージェント学習を行うシステムにおいて、複数のエージェント間では、不完全情報の前提である。そのため、各エージェントの学習の試行錯誤による不安定の発生の場合に、システム全体の学習が非効率になり、システム全体の最適化が実現されない場合がある。学習制御システムは、不完全情報下でのマルチエージェント学習を好適に制御する必要がある。特許文献1のように完全情報が前提の仕組みでは、不完全情報下の課題に対処できないため、別の対処手段が必要である。
また、MAS及び学習制御システムは、不完全情報下では、あるエージェントからみた他のエージェントの振る舞いを、限られた情報で予測し、エージェントからのサブシステムへの出力値を決定する。これにより、各サブシステム及びシステム全体の最適化を図る。しかし、各サブシステムの最適化とシステム全体の最適化とは必ずしも一致しない。あるいは、システム全体の最適化のために、一部のサブシステムが一時的にリスクを被る可能性を持つ。したがって、不完全情報下では、あるサブシステムのエージェントの制御モデルが更新されないことから、システム全体の最適化が行われず、均衡状態の発生によって、学習停滞が生じる場合がある。そこで、システム全体の最適化のためには、その均衡状態及び学習停滞への対処手段が必要である。
本発明の目的は、マルチエージェント学習等を制御する学習制御システム等の技術に関して、不完全情報下でも、学習効率を向上でき、システム全体の最適化を図ることができる技術を提供することである。
本発明のうち代表的な実施の形態は、学習制御システムであって、以下に示す構成を有することを特徴とする。
一実施の形態の学習制御システムは、計算機システム上に構成され、マルチエージェント学習を制御する学習制御システムであって、所定のシステムの複数の各々のサブシステムに対して設けられ、制御モデルを用いて、制御対象のサブシステムの制御のための学習を行う複数のエージェントと、前記複数のエージェントと通信接続され、各々のエージェントの学習を管理及び制御する学習管理エージェントと、を備え、前記エージェントは、前記学習管理エージェントから前記制御モデルを含む情報を受信し、制御対象の前記サブシステムの状態値に基づいて前記サブシステムの評価値を計算し、前記状態値を入力して前記制御モデルの計算によって前記サブシステムの行動値を決定して前記サブシステムへ出力し、前記学習に応じて前記制御モデルのパラメータを更新し、前記学習管理エージェントへ前記制御モデル及び前記評価値を含む情報を送信し、前記学習管理エージェントは、前記複数のサブシステムに接続された状態の前記複数のエージェントにおける複数の制御モデルのセットを含む複数の実験系を構築し、前記複数の実験系で複数の世代で前記学習を行うように制御し、前記複数のサブシステムの前記評価値に基づいて、現世代の前記複数の実験系を評価し、評価結果に基づいて、次世代の前記複数の実験系での更新用の複数の制御モデルのセットを決定して、対応する前記制御モデルの情報を、対応する前記エージェントへ送信する。
本発明のうち代表的な実施の形態によれば、マルチエージェント学習等を制御する学習制御システム等の技術に関して、不完全情報下でも、学習効率を向上でき、システム全体の最適化を図ることができる。
本発明の実施の形態1の学習制御システムの構成を示す図である。 実施の形態1の学習制御システムにおける装置構成例を示す図である。 実施の形態1で、システムの構成例としてSCMの場合を示す図である。 実施の形態1で、学習管理の概要として複数の実験系を示す説明図である。 実施の形態1で、世代間での制御モデルの更新を示す説明図である。 実施の形態1で、機能ブロック構成を示す図である。 実施の形態1で、エージェントの処理フローを示す図である。 実施の形態1で、学習管理エージェントの第1処理フローを示す図である。 実施の形態1で、学習管理エージェントの第2処理フローを示す図である。 本発明の実施の形態2の学習制御システムにおける進化戦略計算を示す図である。 実施の形態2で、学習管理エージェントの処理フローを示す図である。 本発明の実施の形態3の学習制御システムにおける、予備学習、全体学習、及びSCMシステムについて示す図である。 実施の形態3で、更新制御モデルの変動例を示す図である。 実施の形態3で、学習結果及び画面表示例を示す図である。 実施の形態1等の変形例における、システム構造例として、メッシュネットワーク型の場合を示す説明図である。 実施の形態1等の変形例における、システム構造例として、入れ子型の場合を示す説明図である。 実施の形態1等の第1変形例の学習制御システムの構成を示す図である。 実施の形態1等の第2変形例の学習制御システムの構成を示す図である。 実施の形態1等の第3変形例の学習制御システムの構成を示す図である。 実施の形態1等の第4変形例の学習制御システムの構成を示す図である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
図1〜図9を用いて、本発明の実施の形態1の学習制御システム及び方法について説明する。実施の形態1の学習制御方法は、実施の形態1の学習制御システム上で実行されるステップを有する方法である。
実施の形態1の学習制御システムは、SCM等のシステムを制御対象とするMARLを管理及び制御する自律分散型の学習制御システムである。実施の形態1では、制御対象システムのサブシステム間で一部または全部の情報が非共有である情報非共有の状況を前提とし、対応するエージェント間で不完全情報の状況を前提とする。この学習制御システムは、不完全情報下でも、各エージェントの学習を効率的になるように制御することで、各サブシステムの最適化及びシステム全体の最適化を図る。また、この学習制御システムは、サブシステム最適化に伴って均衡状態になった場合でも、均衡状態を破って学習停滞を改善してシステム全体の最適化を図る仕組みを有する。
[学習制御システム(1)]
図1は、実施の形態1の学習制御システムを含む全体の構成を示す。全体として、システム100に対し、実施の形態1の学習制御システムが設けられている。実施の形態1の学習制御システムは、任意の所定の計算機システム上に構成される。実施の形態1の学習制御システムは、1つの学習管理エージェント10と、複数(Nとする)のエージェント20{201〜20N}とを有する。学習管理エージェント10と各エージェント20とが通信接続されている。
システム100は、制御対象の所定のシステムまたは環境である。システム100は、複数(Nとする)のサブシステム40{401〜40N}を有する。システム100は、MARLの強化学習の環境である。システム100は、例えば後述のSCMシステムである。
エージェント20は、サブシステム40を制御するための学習を行うサブシステムエージェントである。エージェント20{201〜20N}は、サブシステム40の制御のための制御モデル30{301〜30N}を有する。複数の各エージェント20{201〜20N}は、対応付けられる複数の各サブシステム40{401〜40N}と通信接続されている。エージェント20とサブシステム40は一対一の関係で接続されている。各エージェント20の構成は同じであるが、制御モデル30を用いた学習内容は異なる。
エージェント20は、対応するサブシステム40に関して、制御モデル30に基づいて学習を行い、学習結果に応じて、サブシステム40を制御する。エージェント20は、サブシステム40の行動(例えば物品の発注)を制御する。エージェント20は、サブシステム40から得た入力値に基づいて、制御モデル30での計算によって、サブシステム40への出力値を得る。各制御モデル30は、パラメータ{p1,……,pn}で表される。制御モデル30のパラメータは、学習に応じて更新される。
学習管理エージェント10は、複数の各エージェント20の学習を管理及び制御するエージェントである。学習管理エージェント10は、エージェント20の学習制御によって、システム100の最適化を図る。学習管理エージェント10は、複数のエージェント20及びシステム100によって構成される複数の実験系50を管理する。学習管理エージェント10は、時系列上の世代毎の実験系50での実験を管理する。実験系50での実験は、複数回の学習の繰り返しで構成される。各実験系50の学習内容には差異が生じる。
学習管理エージェント10は、エージェント20からの入力値として、現状の制御モデル、サブシステム評価値等を取得する。学習管理エージェント10は、各エージェント20のサブシステム評価値に基づいて、システム100のシステム全体評価値を計算する。学習管理エージェント10は、システム全体評価値に基づいて、各エージェント20の制御モデル30の更新可否等を判断し、次世代の実験系50に適用するための制御モデル30を選択する。学習管理エージェント10は、エージェント20への出力値として、次世代の更新用の制御モデル30の情報と、制御モデル更新可否情報と、学習終了条件とを含む情報を、エージェント20へ送信する。
学習管理エージェント10は、世代毎に同時に学習を行うエージェント20の組み合わせや数を選択し、システム全体評価値に基づいて、各エージェント20の制御モデル30のパラメータの更新を行う。
学習管理エージェント10と各エージェント20との間では、所定の方式で通信(後述のエージェント間通信)を行い、所定の情報を入出力する。学習管理エージェント10及び各エージェント20は、その通信のための通信インタフェースを有する。既存の通信網及び通信インタフェース装置等の上でその通信が行われる。
図1で、エージェント20がサブシステム40に接続された状態のシステム100において、機械学習による実験を行う系を、実験系50と称する。学習管理エージェント10は、複数の実験系50での実験を管理する。
学習管理エージェント10は、ある世代での実験の結果におけるシステム全体評価値に基づいて、最適な制御モデルを選択し、次世代の実験のための初期設定値として更新する。学習管理エージェント10は、その次世代の制御モデルの情報を、自動的に、各エージェント20に配信して、各エージェント20の制御モデル30を更新させる。
[学習制御システム(2)]
学習制御システムの動作等の概要は以下である。エージェント20は、対応するサブシステム40を介して、サブシステム40によるシステム100の状態観測値を取得し、状態観測値からサブシステム40の状態値を取得する。エージェント20は、状態値に基づいて、制御モデル30の計算によって、サブシステム40の制御値や行動価値を得る。エージェント20は、制御値に基づいてサブシステム40の行動値を得る。エージェント20は、行動値を、出力値として、対応するサブシステム40へ出力する。
これにより、サブシステム40は、行動値に基づいて、システム100へ行動として働きかける。その結果、エージェント20は、サブシステム40から次の状態観測値を取得し、その状態観測値に基づいて、サブシステム40の報酬値を決定する。
エージェント20は、対応するサブシステム10の評価値を、所定の指標に基づいて算出する。指標は、サブシステム40の適用問題毎の指標である。指標は、例えば、小売による物品の発注に関するコストを最小にすること等である。
エージェント20は、サブシステム40の評価値(サブシステム評価値と記載する)と、現状の制御モデル30を表す情報(具体的にはパラメータ)とを含む情報を、学習管理エージェント10に送信する。
エージェント20は、算出した行動価値等に基づいて、学習を行い、制御モデル30のパラメータを更新する。
学習管理エージェント10は、各エージェント20から、サブシステム評価値及び制御モデル等の情報を受信する。学習管理エージェント10は、各サブシステム評価値から、所定の演算によって、システム100の全体に関する評価値(システム全体評価値と記載する)を計算する。学習管理エージェント10は、システム全体評価値に基づいて、後述の処理によって、制御モデル30の更新について決定する。学習管理エージェント10は、エージェント20に更新設定するための制御モデル30、及び制御モデル更新可否等を含む情報を、エージェント20に送信する。
制御モデル更新可否情報は、複数の各エージェント20について、世代毎に、制御モデル30を更新可とするか更新否とするか等を設定する値である。学習管理エージェント10は、世代間で制御モデル30を更新可とするエージェント20を変動させる。これにより、制御モデル30が更新されない均衡状態を破り、システム全体の最適化を図る。
[学習制御システム(3)]
図2は、実施の形態1の学習制御システムの装置構成例を示す。即ち、計算機システムの実装例を示す。この学習制御システムは、学習管理装置1と、複数のサブシステム自動制御装置2とを有し、それらが通信接続されている。図2では、省略して単一のサブシステム40に関する構成部分を示す。学習管理エージェント10及びエージェント20は、それぞれ、例えば汎用計算機上に構成できる。
学習管理装置1には、学習管理エージェント10が実装されている。学習管理装置1は、例えば事業者によるクラウドコンピューティングシステムのサーバで構成され、ソフトウェアプログラム処理によって、学習管理エージェント10を実現する。学習管理装置1は、学習管理エージェント10が扱う情報/データを格納するDBを備える。DBは、外部のDBサーバ等で構成されてもよい。また、学習管理装置1には、学習制御システムを管理する管理者等のユーザの端末装置が接続される。ユーザは、端末装置を操作して学習管理装置1にアクセスし、指示入力、システム設定、学習結果確認、等の入出力を行う。
サブシステム自動制御装置2には、エージェント20が実装されている。サブシステム自動制御装置2は、例えばサーバまたは端末装置で構成され、ソフトウェアプログラム処理によって、エージェント20を実現する。
学習管理装置1及びサブシステム自動制御装置2の各装置は、一般的なハードウェア構成が適用できる。各装置は、例えばCPU、ROM、RAM等によって構成される演算部、ROM、HDD、SSD等で構成できる記憶部、所定の通信インタフェース装置や入出力インタフェース装置、入力装置及び表示装置等を有する。各装置は、学習の計算負荷等に応じて、複数の計算機で構成されて、並列計算等を行ってもよい。後述の各通信部は、通信インタフェース装置上で通信処理を行う。
サブシステム40は、サブシステム端末装置3を含む。サブシステム端末装置3は、一般的なPC等が適用できる。サブシステム40には、他に、LANやサーバ等を含んでもよい。サブシステム端末装置3は、サブシステムソフトウェア300を備える。サブシステムソフトウェア300は、サブシステム40を管理し、他のサブシステム40との入出力を行う所定のソフトウェアである。例えば、システム100がSCMシステムであり、サブシステム40が小売である場合、サブシステムソフトウェア300は、物品や発注を管理するソフトウェアである。サブシステム40内の担当者等のユーザは、サブシステム端末装置3を操作して業務を行う。サブシステム端末装置3は、他のサブシステム40との取引データ等を保持しており、取引データまたはその一部の情報(状態観測値等)を、サブシステム自動制御装置2に送信する。サブシステム端末装置3は、サブシステム自動制御装置2から行動値を受信し、その行動値に基づいて他のサブシステム40との取引における行動(例えば発注)を制御する。
なお、各サブシステム30のサブシステム自動制御装置2毎にユーザを有してもよい。そのユーザは、サブシステム自動制御装置2のエージェント20に対する入出力を行ってもよい。例えば、サブシステム自動制御装置2毎にそのユーザに対して画面を表示し、エージェント20の設定や学習状態等を確認可能とする。
学習管理エージェント10は、後述のDB部14に格納されるデータに基づいて、GUI部15によって画面に各種の情報を表示する。エージェント20は、データ記憶部24に格納されるデータに基づいて、画面に各種の情報を表示してもよい。
学習管理エージェント10またはエージェント20が提供する画面では、例えば、世代毎(少なくとも現世代)に、実験系50毎のシステム全体評価値を表示してもよい。また、画面には、例えば、システム全体評価値、サブシステム評価値、世代毎の最適な制御モデル30等の情報を表示してもよい。
[システム構成例]
図3は、実施の形態1におけるシステム100の構成例として、SCMに適用した場合を示す。図3で、システム100は、SCMシステムである。図3の学習制御システムは、SCMシステムを制御対象とする。本例では、説明を単純にするため、1種類の物品を扱うSCMシステムとするが、複数の物品を扱う場合も同様である。このシステム100は、複数(4つ)のサブシステム40として、下流から上流へ、小売(サブシステム#1)、二次卸(サブシステム#2)、一次卸(サブシステム#3)、工場(サブシステム#4)を有し、それらが直列に接続されている。なお、小売に接続される顧客については、サブシステム40とはみなさない。
各サブシステム40(小売、卸)は、1つ上流のサブシステム40から配送される物品を受け取る。ただし、工場は、最上流であるため、自身で生産して物品を受け取る。各サブシステム40(工場、卸)は、1つ下流のサブシステム40から発注(発注票)を受け取り、発注票と受注残分の数量の物品を、在庫から、存在する分だけ、1つ下流のサブシステム40に配送する。各サブシステム40は、在庫と受注残の和が小さくなるように発注量を決め、1つ上流のサブシステム40に発注票を送る。ただし、工場は、最上流であるため、自身の生産量として処理する。
SCMシステムは、このような一連の処理を行う。なお、発注票の上流への伝達には発注遅延が生じ、物品の下流への配送には配送遅延が生じる。よって、顧客から小売へ発注票を送ると、その発注票は小売から発注遅延として伝播され、次に二次卸に送られ、次に一次卸に送られ、最終的に工場にまで伝播される。反対に、工場からは、発注票に応じて物品が配送遅延として送られ、次に一次卸に送られ、次に二次卸に送られ、次に小売に送られ、最終的に顧客に物品が届く。本例では、学習計算上のある時刻Tと次の時刻T+1との間の単位(ターンと称する)について、入荷、受注、在庫・受注残計算、出荷、及び発注といった一連の動作を1ターンとする。
このSCMシステムにおいて、例えば契約等に基づいて、基本的にサブシステム40間では発注等の入出力データ以外については情報非共有であり、対応するエージェント20間では不完全情報が前提である。
上記SCMシステムにおいて、各サブシステム40が在庫量と受注残の数を抑制するように発注量を決めることは、一般的に困難なことが知られている。本例では、各サブシステム40に接続されるエージェント20{A1〜A4}と、各エージェント20に接続される学習管理エージェント10とが連携する。エージェント20は、学習によって、対応するサブシステム40の発注量や配送量を制御する。これにより、各サブシステム40の発注量や配送量に関する制御モデル30{C1〜C4}が獲得される。
エージェント20は、サブシステム40の最適化のために、サブシステム評価値として、コストを計算する。このコストは、サブシステム40の在庫量と受注残との重み付き和で表される。各エージェント20は、対応するサブシステム40のコストがなるべく小さくなるように制御モデル30を学習する。また、学習管理エージェント10は、SCMシステムの最適化のために、システム全体評価値として、SCMシステムのコストを計算する。学習管理エージェント10は、各エージェント20からのサブシステム評価値に基づいて、システム全体評価値を計算する。
各サブシステム40{#1〜#4}は、サブシステム端末装置3{3a〜3d}を有する。サブシステム端末装置3は、取引データ等を、対応するサブシステム自動制御装置2に送信する。各サブシステム自動制御装置2のエージェント20は、サブシステム端末装置3から受信した取引データ等を入力値として、制御モデル30を用いた強化学習を行う。サブシステム自動制御装置2は、例えば対応するサブシステム40に所属する。サブシステム自動制御装置2の設置箇所は、サブシステム40の内部でも外部でもよい。
学習管理装置1は、広域通信網を介して、各サブシステム40のサブシステム自動制御装置2と通信接続されている。学習管理装置1は、各サブシステム自動制御装置20から、学習結果の制御モデル情報等を受信する。例えば、事業者は、学習管理装置1及び各サブシステム自動制御装置2を管理する。
[学習管理−複数の実験系]
図4は、学習制御システムにおける学習管理の概要として、ある世代における複数(Mとする)の実験系50{501〜50M}の構成を示す。複数の実験系50として、実験系501(#1),502(#2),……,50M(#M)を有する。学習管理エージェント10は、このような複数の実験系50を構成し、実験を管理する。
各実験系50は、システム100(複数のサブシステム40の図示を省略する)に対して接続される複数(N)のエージェント20{201(A1),202(A2),……,20N(AN)}の各制御モデル30{C1,C2,……,CN}による学習のセットとして定義される。各実験系50の制御モデル30の状態及び学習内容は異なり得る。図4の例では、実験系501(#1)は、エージェントA1〜ANの制御モデルC1〜CNの状態を、制御モデル30a{C1a〜CNa}として表す。同様に、実験系502(#2)では、制御モデル30b{C1b〜CNb}として表す。実験系50M(#M)では、制御モデル30z{C1z〜CNz}として表す。
各実験系50は、所定の学習ストーリーでの実験を、所定の回数(実験回数と記載する)で行う。所定の学習ストーリーは、例えば、複数のエピソードで構成され、エピソードは、複数のターンで構成される。所定の学習ストーリーは、以下のように定義される。まず、ある時刻Tにおける状態観測値、行動値、及び報酬値を、1ターン目の情報とする。同様に、次の時刻T+1における状態観測値、行動値、及び報酬値を、2ターン目の情報とする。任意の所定のターン数(例えば50ターン)を、1つのエピソードと定義する。そのエピソードを所定回数行ったものを、所定の学習ストーリーと定義する。なお、1ターン(時刻Tと時刻T+1との間の単位時間)の分解能は、任意に設定できる。現実世界では、例えば1分単位としてもよいし、1日単位としてもよい。また、計算機のシミュレータ環境内で、1ターンの区切りが設定されている場合には、それを単位時間とすることができる。
また、所定の学習ストーリーでの実験を、世代と定義する。世代の繰り返し回数を世代数と定義する。世代毎に、複数の実験系50での実験が所定の実験回数で繰り返される。学習管理エージェント10は、それらの世代数や実験回数等を管理する。
複数の実験系50の実験については、実験系50毎に時間的に順次に実験を行う方式(順次実験方式)を用いてもよいし、複数の実験系50で時間的に同時並列的に実験を行う方式(並列実験方式)を用いてもよい。学習管理エージェント10は、その方式を管理し、方式に応じた実験系50の選択や順序を管理する。学習管理エージェント10は、順次実験方式の場合、複数の実験系50{#1〜#M}の各実験を、所定の学習ストーリーの実験毎に1つずつ順次に構築及び動作させる。例えば、学習管理エージェント10は、最初に実験系#1を構築して実験を行わせて結果を取得し、次に実験系#2を構築して実験を行わせて結果を取得し、最後に実験系#Mを構築して実験を行わせて結果を取得する。また、学習管理エージェント10は、並列実験方式の場合、シミュレータ環境等に基づいて、複数の実験系50の複数の実験を同時並列で構築及び動作させる。
また、複数の実験系50では、各エージェント20の制御モデル30を同じにして実験を行うこと、及び異ならせて実験を行うこと、のいずれも可能である。学習管理エージェント10は、そのような各エージェント20の制御モデル30の同異を管理する。複数の実験系50で同じ制御モデル30を用いて実験を行った場合でも、学習結果は異なるものになる。
また、ある世代の実験系50内における複数のエージェント20の複数の制御モデル30を用いた複数回の実験では、同時に学習を行うエージェント20の組み合わせ、数や順序等が制御される。学習管理エージェント10は、世代毎に実験系50で同時に学習を行うエージェント20及び制御モデル30を更新するエージェント20の選択、その数、変動させる順序等を制御する。
複数のエージェント20{A1〜AN}における複数の制御モデル30{C1〜CN}のセットを、制御モデルセットと記載する。制御モデルはパラメータで表され、制御モデルセットはパラメータセットで表される。
[学習管理−世代間の制御モデルの更新]
図5は、続いて、世代間での実験系50の制御モデル30の更新の概要について示す。図5では、ある世代G(現世代)と次の世代G+1との間での制御モデルセットの選択及び更新について示す。
実験系50の各エージェント20は、ある世代G(現世代)での複数の実験の動作終了後、サブシステム評価値及び現世代の制御モデル情報を、学習管理エージェント10に送信する。これにより、学習管理エージェント10は、各実験系50における各サブシステム評価値、及び現世代の制御モデルセット情報を取得する。学習管理エージェント10は、各サブシステム評価値から所定の演算でシステム全体評価値を計算する。例えば、実験系#1のシステム全体評価値V1、実験系#Xのシステム全体評価値Vx、実験系#Mのシステム全体評価値Vm等を示す。
学習管理エージェント20は、各実験系50のシステム全体評価値に基づいて、現世代においてシステム全体評価値が最も高かった実験系50を判定する。学習管理エージェント20は、その判定結果から、その実験系50の制御モデルセットを選択する。例えば、システム全体評価値Vxが最も高い値であったとする。選択された実験系50及び制御モデルセットを、実験系#X、制御モデル{C1x,C2x,……,CNx}で示す。学習管理エージェント10は、その選択した制御モデルセットを、次の世代G+1の複数の各実験系50の制御モデルセットの初期設定値として、制御モデル30の更新を行う。学習管理エージェント20は、その制御モデルセット情報に対応する各制御モデル情報を、対応するエージェント20{A1〜AN}に送信する。
各実験系50のエージェント20は、受信した制御モデル情報に基づいて、自身の制御モデル30の設定を更新する。これにより、各実験系50は、更新された制御モデルセットを用いて、次世代の実験を行う。以降、世代毎に同様に繰り返しである。
なお、実施の形態1では、上記のような世代毎の各エージェント20の制御モデル30の更新を自動的に実行する。変形例としては、世代毎の各エージェント10の制御モデル30の更新の際に、ユーザに対する更新確認を行うようにしてもよい。例えば、学習管理装置1において、画面に更新確認情報を表示し、ユーザが確認操作入力した場合に、更新を実行してもよい。
[機能ブロック構成]
図6は、実施の形態1の学習制御システムの機能ブロック構成を示す。学習管理エージェント10は、機能ブロックとして、実験系評価部11、制御モデル操作部12、通信部13、DB部14、GUI部15、等を有する。
実験系評価部11は、複数の実験系50を管理する。実験系評価部11は、各実験系50の各エージェント20から受信したサブシステム評価値に基づいて、システム全体評価値を計算する。実験系評価部11は、複数の実験系50から、システム全体評価値が最も高かった実験系50を判定する。また、実験系評価部11は、各実験系50での実験に関する各エージェント20の学習可否、即ち制御モデル30の更新可否を判定する。
制御モデル操作部12は、実験系評価部11の評価結果(システム全体評価値等)に基づいて、現世代の複数の実験系50のうちシステム全体評価値が最も高かった実験系50の制御モデルセットを選択する。制御モデル操作部12は、選択した制御モデルセットを、次世代の複数の実験系50の制御モデルセットの初期設定値とするように、制御モデル30の更新を行う。
通信部13は、各実験系50の各エージェント20との通信処理を行う。通信部13は、エージェント20からサブシステム評価値及び現世代の制御モデル情報を含む情報を受信する。通信部13は、次世代の更新用の制御モデル情報、制御モデル更新可否、及び学習終了条件等を含む情報を、各エージェント20へ送信する。学習終了条件は、世代毎の実験系50での実験を終了する条件を通知する情報である。
DB部14には、学習制御に係わる各情報/データが格納される。DB部14には、例えば、各エージェント20の各制御モデル30の情報、各サブシステム40のサブシステム評価値、システム100のシステム全体評価値、各世代の各実験系50の学習結果情報、制御モデル更新情報等が格納される。制御モデル更新情報は、制御モデル更新可否情報に基づいて、世代間でどのように制御モデル30を更新したかを表す情報である。
GUI部15は、ユーザ(管理者)に対するGUI(グラフィカル・ユーザ・インタフェース)としての画面を提供する。GUI部15は、例えばWebページ画面を提供する。GUI部15は、画面に各種の情報を表示し、画面に対するユーザ入力を受け付ける。ユーザは、画面をみながら、学習制御システムに対するユーザ設定、学習内容に関する設定、指示入力等が可能であり、また、学習の状態や結果等を確認可能である。
エージェント20は、機能ブロックとして、制御部21、学習部22、通信部23、データ記憶部24、状態取得部25、行動出力部26、通信部27、等を有する。状態取得部25は、評価部28を含む。
制御部21は、制御モデル30による計算を制御し、学習によって制御モデル30を同定する。制御部21は、状態値を制御モデル30に入力し、制御モデル30の計算によって制御値や行動価値を出力する。
学習部22は、制御部21からの行動価値、制御値、及び状態取得部25からの報酬値に基づいて、学習を行い、制御部21の制御モデル30のパラメータを更新する。
通信部23は、制御部21の制御に従って、学習管理エージェント10との通信処理を行う。通信部23は、例えば、現世代の制御モデル情報、サブシステム評価値、及び終了通知等を含む情報を、学習管理エージェント10へ送信する。通信部23は、学習管理エージェント10から、次世代の制御モデル情報、制御モデル更新可否、及び学習終了条件等を含む情報を受信する。終了通知は、世代毎の実験系50の実験の終了を通知する情報である。
データ記憶部24は、制御部21や学習部22等で生成された情報/データを記憶する。データ記憶部24には、状態値、制御値、報酬値、行動価値、等が記憶される。
状態取得部25は、サブシステム40から状態観測値を取得し、状態観測値から、制御部21に入力するための状態値を生成する。また、状態取得部25は、サブシステム40から報酬値を取得する。
行動出力部26は、制御部21からの制御値に基づいて、所定の変換によって、サブシステム40の行動のための行動値を生成し、サブシステム40へ出力する。
通信部27は、状態取得部25等の制御に従って、サブシステム40との通信処理を行う。通信部27は、例えば、サブシステム40から入力値として状態観測値や報酬値を受信する。通信部27は、例えば、サブシステム40へ出力値として行動値を送信する。
評価部28は、サブシステム40の報酬値に基づいて、所定の評価処理を行い、サブシステム評価値を計算する。
[エージェント処理フロー]
図7を用いて、エージェント20の動作について説明する。図7は、エージェント20の処理フローを示す。図7は、ステップS101〜S113を有する。以下、ステップの順に説明する。
(S101) エージェント20は、通信部23を用いて、学習管理エージェント10から、初期設定値となる制御モデル、制御モデル更新可否、及び学習終了条件を含む情報を受信する。
(S102) エージェント20は、受信した制御モデルを、制御部21の制御モデル30に設定する。
(S103) エージェント20は、学習終了条件に基づいて、終了条件判定を行う。判定結果が終了(Y)の場合、S104へ進み、非終了(N)の場合、S105へ進む。
(S104) エージェント20は、通信部23を用いて、終了通知、サブシステム評価値、及び学習終了時の状態の現世代の制御モデルを含む情報を、学習管理エージェント10に送信し、動作を終了する。
(S105) 一方、S105で、エージェント20は、状態取得部25で状態観測値を処理して得た状態値を含むデータを、データ記憶部24に一旦格納する。エージェント20は、過去数ターン分のデータから構成される状態値を制御部21へ与え、報酬値を学習部22へ与える。
(S106) 制御部21は、制御モデル30に状態値を入力し、出力値である制御値及び行動価値を算出する。
(S107) 制御部21は、制御値を行動出力部26及び学習部22へ与え、行動価値を学習部22へ与える。
(S108) 行動出力部26は、制御値を、行動値に変換して、出力値として、サブシステム40へ出力する。その際、通信部27は、出力値をサブシステム40へ送信する。
(S109) エージェント20は、制御モデル更新可否情報に基づいて、制御モデル30について、制御モデル更新可否判定を行う。判定結果が更新可(Y)の場合、S110以降の処理へ進み、更新否(N)の場合、S113へ進む。
(S110) 学習部22は、状態値、制御値、報酬値、及び行動価値を、データ記憶部24に保管する。
(S111) 学習部22は、データ記憶部24から学習データ(所定ターン数の状態値等)を読み込む。
(S112) 学習部22は、読み込んだ学習データに基づいて、制御部21の制御モデル30のパラメータを更新する。
(S113) 学習部22は、動作を停止する。
[学習管理エージェント処理フロー]
図8,図9を用いて学習管理エージェント10の動作を説明する。図8は、学習管理エージェント10の第1処理フローを示す。図8は、ステップS201〜S209を有する。図9は、学習管理エージェント10の第2処理フローを示す。図9は、ステップS210〜S215を有する。図9のS210〜S214の処理を、エージェント間通信処理と定義する。以下、ステップの順に説明する。なお、図8,図9では、複数の実験系50{#1〜#M}が時間的に順次に構築され動作する方式の場合のフローを示す。
(S201) 学習管理エージェント10の実験系評価部11は、世代数を決定する。
(S202) 学習管理エージェント10は、所定の世代数に到達したかどうかの判定を行う。判定結果が到達の場合(Y)には、学習を終了し、非到達の場合(N)には、S203へ進む。
(S203) 実験系評価部11は、第1世代かどうか判定を行う。第1世代の場合(Y)には、S204へ進み、第1世代ではない場合(N)には、S205へ進む。
(S204) 実験系評価部11は、各エージェント20の制御モデル30を、任意の所定の条件に基づいて初期化する。
(S205) 実験系評価部11は、前世代の制御モデルから選択された制御モデルセットを、現世代の制御モデルとするように、各エージェント20へ送信する。この際、通信部13は、対応する制御モデル情報を、対応するエージェント20へ送信する。この制御モデルセットは、前述(図5)の次世代の実験系50の初期設定値として更新するための制御モデルセットである。
(S206) 実験系評価部11は、所定の実験回数、各エージェント20の制御モデル30、及び制御モデル更新可否を決定する。
(S207) 実験系評価部11は、所定の実験回数の実験系50の動作終了判定を行う。判定結果が終了の場合(Y)、S208へ進み、非終了の場合(N)、図9のS210へ進む。
(S208) 実験系評価部11は、各実験系50の学習結果から算出されたシステム全体評価値に基づいて、各実験系50で得られた制御モデルセットから、次世代の初期設定値とするための更新用の制御モデルセットを選択決定する。制御モデル操作部12は、実験系評価部11の決定に従って、各エージェント20へ送信するための制御モデルセットを設定する。
(S209) 学習管理エージェント10は、世代数カウンタを更新し、S202に戻る。
(S210) 一方、図9のS210で、実験系評価部11は、学習終了条件及び制御モデル更新可否の情報を、通信部13へ渡す。制御モデル操作部12は、制御モデルセットの情報を、通信部13に渡す。通信部13は、学習終了条件、制御モデル更新可否、及び制御モデルを含む情報を、対応する各エージェント20へ送信する。
(S211) 実験系評価部11は、全エージェント20からの終了通知の受信完了判定を行う。判定結果が、受信完了の場合(Y)、S213へ進み、未完了の場合(N)、S212へ進む。
(S212) 学習管理エージェント10は、所定時間待機する。
(S213) 通信部13は、各エージェント20からのサブシステム評価値、及び制御モデルを含む情報を受信する。通信部13は、各サブシステム評価値を実験系評価部11へ渡し、制御モデルセット情報を制御モデル操作部12へ渡す。
(S214) 実験系評価部11は、各エージェント20のサブシステム評価値から、所定の指標に基づいて、実験系50毎のシステム全体評価値を算出する。この指標は、例えば、単純な合算でもよいし、重み付け加算でもよいし、特に限定しない。重み付け加算の例としては、特定の重要なサブシステム40に接続されている特定のエージェント20の評価値の重みを高くするものでもよい。
(S215) 学習管理エージェント10は、エージェント間通信処理後、実験系50の実験回数のカウンタを更新し、S207に戻る。
[効果等]
上記のように、実施の形態1の学習制御システムによれば、MARLを制御する際に、不完全情報下でも、学習効率を向上でき、システム全体の最適化を図ることができる。実施の形態1の学習制御システムは、複数のエージェント20を含む複数の実験系50での複数の世代の学習を管理、制御する学習管理エージェント10を有する。この学習制御システムでは、ある世代の複数の実験系50のうち、学習後のシステム全体評価値が最も高い実験系50の制御モデルセットを、次世代の実験系50の初期設定値として選択決定する(図5)。これにより、学習効率を高めることができる。
また、実施の形態1の学習制御システムでは、エージェント20間での不完全情報下でも、学習停滞を低減及び防止するように、複数の制御モデル30の均衡点(制御モデル30が更新されない均衡状態となる箇所)を変動させる仕組みを設けている。学習管理エージェント10は、世代間で、制御モデル30を更新するエージェント20を変更するように、制御モデル更新可否情報を設定する。これにより、均衡状態を破り、学習停滞を改善できる。
(実施の形態2)
図10,図11を用いて、本発明の実施の形態2の学習制御システムについて説明する。実施の形態2の基本的な構成は実施の形態1と同様であり、以下では実施の形態2における実施の形態1とは異なる構成部分について説明する。実施の形態2では、次世代の制御モデルの決定、更新の方式として、進化戦略計算手法(Evolution Strategy:EG)を併用する。進化戦略計算手法自体は公知技術を適用できる。実施の形態2では、進化戦略計算によるテストを行い、その後に実験系50毎のシステム全体評価値を計算する。そのシステム全体評価値に基づいて、次世代の制御モデルセットが選択決定される。
以下、実施の形態2における進化戦略計算手法を併用した学習管理について説明する。まず、ハードウェア及びソフトウェアの構成の差異としては、図2の学習管理装置1の学習管理エージェント10、及びサブシステム自動制御装置2のエージェント20において、進化戦略計算及びその制御を行うためのプログラムが実装されている。
[進化戦略計算]
図10は、実施の形態2における進化戦略計算について示す。実施の形態2では、公知の進化戦略計算手法のうち、Differential Evolution(DE)と呼ばれるアルゴリズムを用いる。
学習管理エージェント10は、各エージェント20から、現世代Gにおける学習完了後の各実験系50{#1〜#M}の制御モデルセットを受信する。学習管理エージェント10は、これらの制御モデルセットのパラメータをベクトルとして扱う。これを現世代Gのベクトルw1〜wMとする。例えば、実験系#1の制御モデルセットは、ベクトルw1で表される。
学習管理エージェント10は、現世代Gのベクトルw1〜wMについて、エージェント20{A1〜AN}毎に、図10の進化戦略計算処理を適用する。これにより、次世代G+1のベクトルw1〜wMを生成する。その結果から次世代の制御モデルセットが決定される。
[学習管理エージェント処理フロー]
図11は、実施の形態2における学習管理エージェント10の処理フローを示す。実施の形態2のフローは、実施の形態1の図8のフローにおけるステップS208の部分が異なり、ステップS208Bとなっている。ステップS208B以外の部分は同様である。ステップS208Bは、進化戦略計算を用いた制御モデルの選択処理(次世代の更新用の制御モデルセットの決定処理)である。ステップS208Bの処理は、ステップSB1〜SB9を含む。以下、ステップの順に説明する。
(SB1) 実施の形態2の進化戦略計算処理では、各エージェント20の制御モデル30のパラメータの更新を行わないようにして、各実験系50{#1〜#M}でテストを行う。その後、進化戦略計算適用後のシステム全体評価値が算出される。このため、学習管理エージェント10は、まず、SB1で、学習時と同様に、実験系50の実験回数のカウンタを再設置(リセット)する。
(SB2) 次に、学習管理エージェント10は、所定の実験回数の実験系50の動作の終了判定を行う。判定結果が終了(Y)の場合、SB3へ進み、非終了の場合(N)、SB4へ進む。
(SB3) 学習管理エージェント10は、制御モデル30{#1〜#M}の生成順に、次世代の制御モデル30のパラメータの情報をDBに格納し、前述のステップS209へ進む。
(SB4) 学習管理エージェント10は、任意の所定の指標に基づいて、各実験系50の実験で得た現世代の制御モデルセット(各エージェント20の制御モデル30)から、所定数の制御モデル(パラメータ)を選択する。
図10のDEアルゴリズムを用いた例では、ランダムに3つの制御モデルが選択される。例えば、ベクトルw3,w2,wMが選択されている。本例に限らず、他の方式として、各実験系50の結果から算出されたシステム全体評価値に応じて、傾斜配分を用いたルーレット選択等を行ってもよい。
(SB5) 制御モデル操作部12は、SB4で選択された所定数(3つ)の制御モデル30のパラメータ毎に、そのパラメータの数値を、制御モデル30間で交叉突然変異処理を施して更新する。これにより、次世代の制御モデルセットが生成される。詳細は後述する。
(SB6) 実験系評価部11は、各エージェント20の制御モデル30の制御モデル更新可否を「否」として設定する。テストであるため、ここでの学習終了条件は、任意のターン数(例えば50ターン)が設定される。
(SB7) 学習管理エージェント10は、通信部13を用いて、上記制御モデルセット、制御モデル更新可否、及び学習終了条件を含む情報について、各エージェント20とのエージェント間通信処理を行う。この処理は図9と同様である。
(SB8) 学習管理エージェント10は、上記進化戦略計算を適用したテストで生成された制御モデルセットに関して算出されたシステム全体評価値と、上記進化戦略計算の適用前の現世代の実験系50の制御モデルセットのシステム全体評価値とを比較する。学習管理エージェント10は、比較結果で、システム全体評価値が高い方に対応する制御モデルセットを、次世代の更新用の実験系50の制御モデルセットとして決定する。
(SB9) 学習管理エージェント10は、実験系カウンタを更新し、SB2に戻る。
[交叉突然変異処理]
図10で、ステップSB5に係わる、DEアルゴリズムを用いた交叉突然変異処理について説明する。この交叉突然変異処理では、予め、スケーリングパラメータと呼ばれるF値及び交叉率を設定しておく。学習管理エージェント10は、各実験系50{#1〜#M}における各エージェント20{A1〜AN}の制御モデル30{C1〜CN}を順次に生成する。
学習管理エージェント10は、まず、実験系#1における、第1エージェント(エージェントA1)について、各実験系#1〜#Mの制御モデルC1〜CNを用意する。図10の例では、3つの制御モデル30がランダムに選択される。例えば、ベクトルw3,w2,wMが選択されている。選択されたベクトルが、式1002のベクトルwA,wB,wCに代入される(w3→wA,w2→wB,wM→wC)。学習管理エージェント10は、それらの選択制御モデルのパラメータ毎に、式1002に示す突然変異処理を施す。式1002は、v=wA+F(wB−wC)である。F値は、スケーリングパラメータであり、0.0〜1.0の値が入力される。式1002の結果がベクトルv(値1004)である。これにより、突然変異個体となる制御モデル(ベクトルv)が生成される。
次に、学習管理エージェント10は、実験系カウンタと同じ順(i番目)の制御モデルのベクトルwiと、突然変異個体のベクトルvとで、交叉計算処理1005を行う。現世代Gの各ベクトルw1〜wMを、ベクトルwi(値1003)とする。i=1〜Mであり、ベクトル毎に同様処理である。交叉計算処理1005の出力値がベクトルu(値1006)であり、子個体の制御モデルに対応する。交叉計算処理1005では、現世代Gのベクトルwiと生成されたベクトルvとについて、パラメータ毎に乱数を発生させ、所定の交叉率以下の場合には、生成されたベクトルvのパラメータの方を選択し、そうでない場合には、現世代のベクトルwiのパラメータの方を選択する。
学習管理エージェント10は、現世代Gのベクトルwiと、ベクトルuとで比較処理1007を行う。比較処理1007は、ベクトルwiとベクトルuとで良い方を選択する処理である。比較処理1007の出力値がベクトルwj(値1008)である。j=1〜Mである。ベクトルwj(値1008)として、次世代G+1の制御モデルセット1009が生成される。実験系#1における第2エージェント(A2)から第Nエージェント(AN)についても上記と同様の処理が行われ、子個体が生成される。
学習管理エージェント10は、上記生成された次世代の制御モデルセット1009における対応する制御モデル情報を、実験系50の各エージェント20に送信し、各制御モデル30{C1〜CN}として設定させる。そして、学習管理エージェント10は、エージェント間通信を行い、所定のターン数(例えば50ターン)で動作させて、実験系50毎のシステム全体評価値を取得する。
学習管理エージェント10は、上記進化戦略計算処理の適用前の実験系50のシステム全体評価値と、適用後の実験系50のシステム全体評価値とを比較する。適用後の評価値の方が高い場合には、対応する制御モデルセットが、次世代の実験系50の制御モデルセットとして決定される。実験系#2〜#Mにおいても上記と同様の処理が行われる。
上記進化戦略計算処理では、DEアルゴリズムに限らず、他の手法を用いてもよい。例えば、他の進化戦略計算手法における遺伝的アルゴリズム等を用いてもよい。また、進化戦略計算手法のアルゴリズムに類似したアルゴリズムを用いてもよい。例えば、複数の個体を用いて最適化を行う、人工蜂コロニー等の群知能アルゴリズムを用いてもよい。
[効果等]
上記のように、実施の形態2の学習制御システムによれば、MARLを制御する際に、不完全情報下でも、学習効率を向上でき、システム全体の最適化を図ることができる。実施の形態2では、進化戦略計算によって、MARLの学習の均衡状態を強制的に破るようにして制御モデルを選択、更新する。これにより、MARLの均衡状態の発生の場合にも、学習停滞を改善して、学習効率を高めることができる。
(実施の形態3)
図12〜図14を用いて、本発明の実施の形態3の学習制御システムについて説明する。実施の形態3の基本的な構成は、実施の形態1または実施の形態2の構成と同様であり、差異として、システム100がSCMシステムである場合のより詳細な構成を示す。
[予備学習、全体学習]
図12は、実施の形態3の学習制御システムの構成として、システム100がSCMシステムである場合を示す。実施の形態3の学習制御システムは、学習として、予備学習、全体学習を行う。予備学習は、サブシステム40単位での学習である。サブシステム40では、取引(実取引またはシミュレーション取引)を実行して取引データを蓄積する。対応するエージェント20は、対応するサブシステム40の取引データを用いて、予備学習を行う。次に、複数の各サブシステム40では、取引を実行して取引データを蓄積する。そして、複数のエージェント20は、全体学習を行う。
[SCMシステムにおける学習]
システム100のSCMシステムの構成例としては、前述の図3と同じである。SCMシステムにおける学習について説明する。本例では、各エージェント20{A1〜A4}の間での直接的な通信は無く、各エージェント20は、学習管理エージェント10との通信を行う。本例では、サブシステム40間で情報非共有であり、エージェント20間で不完全情報の状況である。
まず、各エージェント20{A1〜A4}において、サブシステム40単位での予備学習が実行される。その後、複数のエージェント20{A1〜A4}での全体学習が行われる。いずれの学習においても、その学習に先立って、SCMシステムにおける所定のターン数(例えば100ターン)の取引が行われ、取引データが蓄積される。各サブシステム40のサブシステム端末装置3において、ターン毎に、在庫量、受注残、入荷量、出荷量、受注量、及び発注量が、取引データとして蓄積される。エージェント20は、その取引データを取得し、データ記憶部24に蓄積し、学習に用いる。
予備学習では、例えば小売(サブシステム#1)のエージェントA1が学習を行う場合、そのエージェントA1のみが強化学習を行う。他のサブシステム#2〜#4は、人または模擬プレイヤーによって発注処理を行う。模擬プレイヤーとは、取引データに基づいて発注量を決定するシミュレータである。模擬プレイヤーとして、例えば、受注量をそのまま発注量として決定するシミュレータを用いる。
予備学習の終了後、エージェントA1は、制御モデルC1及びサブシステム評価値を、学習管理エージェント10に送信する。他のサブシステム40のエージェントA2〜A4においても同様に予備学習を行う。制御モデルC2〜C4及びサブシステム評価値が学習管理エージェント10に送信される。
次に、全体学習が実行される。本例では、実験系50を40個構築し(実験系#1〜#40)、実施の形態1または実施の形態2の手法を同様に用いて学習を行う。全体学習では、各サブシステム40にエージェント20が接続された状態で、同時に複数のエージェント20による学習が行われる。ただし、同時に学習を行うエージェント20の数は、学習管理エージェント10によって制御される。学習を行うエージェント20の順序は、任意でよく、例えば、下流から順次でもよいし、ランダムに決定でもよい。本例では、ランダムに決定する方式を用いる。
まず、学習管理エージェント10は、最初の世代Gにおいて学習するエージェント20として例えばエージェントA2,A3を選択する(図13も参照)。学習管理エージェント10は、エージェントA2に、予備学習で得た対応する制御モデルC2の情報、更新「可」とした制御モデル更新可否情報、及び所定の学習終了条件を送信する。同様に、学習管理エージェント10は、エージェントA3に、予備学習で得た制御モデルC3、更新「可」、及び学習終了条件を送信する。また、学習管理エージェント10は、他のエージェント20であるエージェントA1,A4には、模擬プレイヤーと同じ入出力を行うダミーの制御モデルの情報、更新「否」とした制御モデル更新可否情報、及び学習終了条件を送信する。
各エージェント20{A1〜A4}は、学習管理エージェント10から受信した情報に基づいて、40個の各実験系50{#1〜#40}の動作を行う。各実験系50の動作の終了後、エージェントA2,A3は、学習結果の制御モデルC2,C3及びサブシステム評価値(=コスト)を、学習管理エージェント10に送信する。
学習管理エージェント10は、実施の形態1または実施の形態2の手法に基づいて、次世代G+1の実験系50{#1〜#40}の更新用の制御モデルセットを生成する。学習管理エージェント10は、次世代G+1の学習では、例えばエージェントA1にダミーの制御モデルC1を設定し、エージェントA2,A3に前世代で生成した制御モデルC2,C3を設定し、エージェントA4に予備学習の制御モデルC4を設定して、学習を行わせる。所定の学習終了条件の下で、エージェントA4のみを更新「可」として学習を行わせる。各実験系50{#1〜#40}の動作終了後、エージェントA2〜A4は、対応する制御モデルC2〜C4、及びサブシステム評価値(=コスト)を、学習管理エージェント10に送信する。
学習管理エージェント10は、同様に、更に次世代G+2の実験系50の更新用の制御モデルセットを生成する。学習管理エージェント10は、更に次世代G+2の学習では、例えばエージェントA1に予備学習で得た制御モデルC1を設定し、エージェントA2〜A4に前世代で生成した制御モデルC2〜C4を設定して、学習を行わせる。所定の学習終了条件の下で、エージェントA1のみ更新「可」として学習を行わせる。各実験系50の動作終了後、エージェントA1〜A4は、対応する制御モデルC1〜C4及びサブシステム評価値(=コスト)を、学習管理エージェント10に送信する。
こうして、全エージェント20{A1〜A4}の制御モデル30{C1〜C4}が、模擬プレイヤーの制御モデルではなくなった後、学習管理エージェント10は、学習するエージェント20を任意に変更しながら、学習終了条件まで繰り返し学習を行わせる。
[更新制御モデルの変動]
図13は、世代間での更新される制御モデル30の変動例を表形式で示す。表の列は、実験系50の各エージェント20(A1〜A4)の制御モデル30(C1〜C4)の設定状態を示す。表の行は、世代の進行に伴う設定状態の変化を示す。各項目には制御モデル更新可否の値を示す。ここでは制御モデル更新可否の値として、更新可(L)、更新否(F)、模擬プレイヤー(N)がある。なお、この値を模擬プレイヤー(N)とする場合、更新「否」に設定される。表の右側には同時学習エージェント数も併せて示す。同時学習エージェントは、制御モデル更新可否が模擬プレイヤー(N)以外のエージェント20である。
本例では、第1世代(G)では、制御モデル30を更新するエージェント20が、エージェントA2,A3であり、更新可(L)として設定されている。エージェントA1は、ダミーの制御モデルを設定する模擬プレイヤー(N)として設定されている。エージェントA4は更新否(F)として設定されている。第1世代での同時学習エージェント数は、エージェントA2,A3に対応して、2である。
第2世代(G+1)では、エージェントA4が更新可(L)として設定されている。第2世代での同時学習エージェント数は、エージェントA2〜A4に対応して3である。第3世代(G+2)では、エージェントA1が更新可(L)として設定されている。第3世代以降での同時学習エージェント数は4である。第4世代(G+3)では、エージェントA1,A2が更新可(L)として設定されている。第5世代(G+4)では、エージェントA3が更新可(L)として設定されている。第6世代(G+5)では、エージェントA4が更新可(L)として設定されている。
このように、学習制御システムでは、世代間での最適な制御モデル30の選択に伴って、複数のエージェント20間で、制御モデル30を更新するエージェント20及び同時学習エージェントが変更される。これにより、制御モデル30が更新されない均衡状態の箇所があったとしても強制的に変動される。したがって、全体的に学習停滞が低減及び防止され、学習が進むことでシステム全体の最適化を図ることができる。
[エージェントの学習アルゴリズム例]
実施の形態3における各エージェント20{A1〜A4}の学習アルゴリズム例について説明する。各エージェント20は、対応するサブシステム40の状態(対応する取引)を観測し、状態値(対応する取引データ)を蓄積し、実施の形態1で説明した基本動作に従って、試行錯誤的に、行動値となる発注量等を決定する。各エージェント20は、行動値をサブシステム40に出力し、所定のターン数(例えば50ターン)のコストを最小化するように、制御モデル30のパラメータを構成する。エージェントA1は、ターン順に、在庫量、受注残、入荷量、出荷量、受注量、及び発注量等の取引データが蓄積されたデータ記憶部24から、所定のターン数分(例えば10ターン)の取引データを、状態値として入力する。
実施の形態3では、各エージェント20の制御モデル30を獲得する方法として、強化学習を用いる。強化学習の代表的な手法として、Q学習がある。しかし、本例のように、多次元の状態値かつ連続的な行動値を扱う場合、一般的なQテーブルを用いた手法では、全ての状態と行動を網羅したQテーブルを用意することは困難であり、そのような実装は困難である。そこで、価値関数であるQテーブルを関数近似する方法をとるとよい。
また、本例のように連続的な行動値の出力を要求されるような事例では、例えば、Actor−critic法とニューラルネットワークとを組合せた手法を用いるとよい。Actor−critic法とは、入力された状態値(s)に基づいて行動値(a)を出力する行動関数と、行動値(a)、状態値(s)、及び報酬値(r)の入力に応じてその価値を出力する価値関数とを分けることを特徴とする方法である。これにより、連続的な行動値が出力可能になる。これらの2つの関数をニューラルネットワークで関数近似する手法を用いる。
また、Q学習を用いる場合では、TD(Temporal-Difference)誤差を算出し、このTD誤差に基づいて、ニューラルネットワークのパラメータ(θ)を更新する。TD誤差を計算するためのターゲット(y)を用いて、損失誤差関数を定義し、この誤差を改善していく。ターゲット(y)は下記の式1で表される。
Figure 0006820815
ここで、γは割引率を示す。θμ´は、状態sにおいて現状最も良い評価値を得る可能性の高い行動を取る場合のActorモデルの重みを示す。Actorモデルは、a=μ(s|θμ)で表される。θQ´は、Criticモデルの重みを示す。Criticモデルは、Q(s,a|θQ´)で表される。価値関数は、下記の式2に示す損失関数Lを最小化するように、パラメータ(Criticモデルの重み)θQ´を更新する。
Figure 0006820815
また、行動関数のパラメータθμは、下記の式3の勾配∇を用いて更新される。
Figure 0006820815
また、各パラメータの更新は、下記の式4,式5に示すように、係数τ(τ≪1)を用いて、徐々に重みを更新する方法をとってもよい。
Figure 0006820815
本例では、行動関数及び価値関数のニューラルネットワークについて、例えば、それぞれ16個、32個のユニット数を持つ中間層を3層持つネットワーク構造とすることにより、学習が行われる。この構造に限定する必要は無く、この構造と同等以上の表現能力を有していればよい。
[学習結果例及び画面表示例]
図14は、実施の形態3において、実施の形態1及び実施の形態2の手法を用いて実際にMARLの学習を行った場合の学習結果例及び画面表示例を示す。学習管理装置1のGUI部15は、このような学習結果情報を含む画面を構成し、ユーザに対して表示する。
図14では、グラフの横軸が学習ターン数(1k=1000ターン)、縦軸がシステム全体評価値であるコスト(システム全体コスト)を示す。所定のターン数が1世代に相当する。グラフでは学習結果がプロットされている。破線は実施の形態1の手法を用いた場合の学習結果を示し、実線は実施の形態2の手法を用いた場合の学習結果を示す。
グラフの横軸には、併せて、世代毎のサブシステム40{#1〜#4}のエージェント20{A1〜A4}の設定状態を、記号N,L,Fで記載している。Nは模擬プレイヤー、Lは制御モデル更新「可」、Fは制御モデル更新「否」を示す。例えば、記号「NLLN」は、エージェントA1,A4が模擬プレイヤー、エージェントA2,A3が更新「可」の設定(図13の世代Gの行)を意味する。
学習開始後の最初の学習過程1101は、前述の予備学習において各エージェント20{A1〜A4}が獲得した制御モデル30{C1〜C4}を設定して動作させた場合の結果を示す。その後、学習過程1102では、記号「NLLN」に示すように、一部のエージェント20{A1,A4}の制御モデル30を模擬プレイヤー(N)に置換したことに注意する。同時に学習する2つのエージェントA2,A3は更新可である。次の学習過程1103では、記号「NFFL」に示すように、3つのエージェントA2〜A4が模擬プレイヤーではなく、同時学習エージェント数が3であり、エージェントA4が更新可である。次の学習過程1104では、記号「LFFF」に示すように、全エージェントA1〜A4が模擬プレイヤーではなく、同時学習エージェント数が4であり、エージェントA1が更新可である。以降の学習過程1105では、全エージェントA1〜A4が模擬プレイヤーではなく、同時学習エージェント数が4である。
このように、学習管理エージェント10は、世代毎に同時に学習するエージェント20の数を2,3,4と増やしながら、世代毎に更新可(L)とするエージェント20を変更するように制御している。本例では、同時に学習するエージェント20の数を増やす際に、特に学習過程1103の後に、コストが一旦上昇しているが、その後に徐々に減少している。即ち、システム全体の最適化が促されていることがわかる。本例では、学習過程1105の最後では、実施の形態2の方が実施の形態1の学習結果よりも小さいコストになっている。
[変形例−システム構造例]
図12では、システム100として、SCMシステムは、複数のサブシステム40の単純な直列接続構造としたが、実施の形態1〜3の学習管理が適用できるシステム100の構造はこれに限らず可能である。
図15は、変形例におけるシステム100の構造例を示す。本例では、システム100としてSCMシステムにおける複数のサブシステム40は、メッシュネットワーク型で接続されている。図12のSCMシステムは、下流から上流まで、サブシステム40の種類毎に1つずつの拠点(小売、卸、工場)を有する場合である。これに限らず、サブシステム40の種類毎に複数の拠点が接続される構造でもよい。図15の例では、3つの顧客、2つの小売、2つの卸、3つの工場を有し、メッシュネットワーク型で接続されている。各サブシステム40の拠点毎に、エージェント20が設けられている。本例では、エージェントA1〜A7を有する。エージェントA1〜A7は、対応する制御モデルC1〜C7を有する。各エージェント20と学習管理エージェント10とが接続されている。
このようなSCMシステムについて、学習制御システムがMARLでの強化学習を行う。その場合に、前述のように、模擬プレイヤーではない学習するエージェント20の数を徐々に増やしていき、最終的に全エージェントA1〜A7を模擬プレイヤーではない状態にする。これにより、このSCMシステムのコストを最適化する制御モデルC1〜C7が獲得される。このようなメッシュネットワーク型のシステム100は、SCMに限らず、EG、交通、金融等の各種のシステム、及びそれらの複合システムにおいても同様に適用可能である。
図16は、システム100の他の構造例として、入れ子型のSCMシステムの場合を示す。この構造では、システム100のうちの一部のサブシステム40の部分において、階層的に更に複数のサブシステムを含む。図16の例では、システム100は、複数のサブシステム40の拠点として、1つの顧客、1つの小売、2つの卸、1つの工場を有する。2つの卸として、卸A、卸Bを有する。更に、卸Aは、SCMシステム100Bとして構成されている。卸Aは、内部のサブシステム40として、第1卸A−1と、第2卸A−2とを含んでいる。第1階層及び第2階層のサブシステム40のそれぞれにエージェント20が接続されている。本例では、エージェントA1〜A5を有し、それぞれの制御モデルC1〜C5を有する。このような入れ子型のシステム100の場合でも、同様の学習管理が適用可能であり、このシステム100のコストを最適化する制御モデルC1〜C5が獲得される。
(他の実施の形態)
実施の形態1〜3に関する変形例として以下が挙げられる。いずれの形態でも実施の形態1〜3と同様の効果が得られる。
[変形例(1)]
図17は、第1変形例の学習制御システムの構成を示す。この変形例では、サブシステム40内のサブシステム端末装置3に、サブシステムソフトウェア300に加え、エージェント20が実装されている。言い換えると、サブシステム端末装置3とサブシステム自動制御装置2とが一体に実装されている。エージェント20は、広域通信網を介して、学習制御装置1の学習管理エージェント10と通信する。
[変形例(2)]
学習管理エージェント10と各エージェント20とが一対一で通信接続される形態に限らず、エージェント10間で直接的に通信接続されてもよい。例えば、所定の複数のエージェント10によるグループ(エージェントグループ)内において、エージェント20間で互いの情報を共有する場合に、エージェント20間で直接的に通信してもよい。
図18は、第2変形例の学習制御システムの構成を示す。この変形例では、システム100は、一部のサブシステム40間では互いの情報を共有し、情報共有するサブシステム40に対応させて、エージェントグループを有する。学習管理エージェント10は、エージェントグループを設定、管理する。エージェントグループ内では、エージェント20間の通信経路を通じてエージェント20間で直接的に相互通信し、互いの情報を取得、共有する。グループ内のエージェント20は、同じグループ内の他のエージェント20から取得した情報を用いて、学習を行う。
図18の例では、エージェントグループg1を有し、情報共有するエージェントA1,A2を含む。エージェントグループg1と他のエージェント20との間では、情報非共有である。エージェントグループg1内では、エージェントA1,A2間で相互通信を行い、互いの情報を授受する。例えば、エージェントA1は、エージェントA2から情報を取得し、取得した情報を用いて、学習を行う。例えば、グループ内のエージェント20間で、サブシステム40の状態観測値や、制御モデル30の情報等を交換してもよい。例えば、エージェントA1は、エージェントA2からサブシステム#2の状態観測値を取得し、自身の制御モデルC1に入力して学習を行う。これにより、学習効率が高められる。
また、学習管理エージェント10は、エージェントグループの複数のエージェント20のうち特定のエージェント20を代表エージェントとして設定してもよい。代表エージェントと学習管理エージェント10とで代表的に通信を行う。代表エージェントは、グループ内の他のエージェント20と通信して情報を取得し、学習管理エージェント10に送信する。代表エージェントは、学習管理エージェント10から受信した情報を、グループの他のエージェント20に送信する。
[変形例(3)]
サブシステム40毎にエージェント20が設けられる形態に限らず、一部または全部の複数のサブシステム40において共通のエージェント20が設けられてもよい。
図19は、第3変形例の学習制御システムの構成を示す。この変形例では、システム100の一部のサブシステム40としてサブシステム#1,#2に対し、1つのエージェント20(A10)が共通エージェントとして設けられている。例えば、サブシステム自動制御装置2にそのエージェント20(A10)が実装されている。エージェントA10内には、サブシステム#1,#2に対応させた2つの制御モデル30{C1,C2}を有する。学習管理エージェント10は、エージェントA10内の2つの制御モデル30{C1,C2}の更新を制御する。制御モデルC1と制御モデルC2は、入出力が接続されている。例えば、制御モデルC1は、サブシステム#1からの入力値と、制御モデルC2の出力値とを入力して計算し、サブシステム#1への出力値を得る。制御モデルC2は、サブシステム#2からの入力値と、制御モデルC1の出力値とを入力して計算し、サブシステム#2への出力値を得る。
[変形例(4)]
図20は、第4変形例の学習制御システムの構成を示す。この変形例では、特定のサブシステム40に対し、エージェント20及び学習管理エージェント10が1つの統合装置190に設けられている。図20の例では、特定のサブシステム40としてサブシステム#1のサブシステム端末装置3に対し、統合装置190(例えばサーバ)が通信接続されている。この統合装置190には、サブシステム#1のエージェント20(A1)と、学習管理エージェント10とが実装されている。システム100の他のサブシステム40では、前述の自動制御装置2が設けられている。統合装置190の学習管理エージェント10は、自装置内のエージェントA1と通信すると共に、広域通信網を介して、各自動制御装置2のエージェント20と通信する。
更に、特定のサブシステム40内に、この統合装置190を設けてもよいし、統合装置190とサブシステム端末装置3とを1つの装置として統合してもよい。
以上、本発明を実施の形態に基づいて具体的に説明したが、本発明は前述の実施の形態に限定されず、その要旨を逸脱しない範囲で種々変更可能である。マルチエージェントの学習方式は、強化学習方式に限らず適用可能である。
10…学習管理エージェント、20,201〜20N…エージェント、30,301〜30N…制御モデル、40,401〜40N…サブシステム、50…実験系、100…システム。

Claims (14)

  1. 計算機システム上に構成され、マルチエージェント学習を制御する学習制御システムであって、
    所定のシステムの複数の各々のサブシステムに対して設けられ、制御モデルを用いて、制御対象のサブシステムの制御のための学習を行う複数のエージェントと、
    前記複数のエージェントと通信接続され、各々のエージェントの学習を管理及び制御する学習管理エージェントと、
    を備え、
    前記エージェントは、
    前記学習管理エージェントから前記制御モデルを含む情報を受信し、
    前記サブシステムの状態値に基づいて前記サブシステムの評価値を計算し、
    前記状態値を入力して前記制御モデルの計算によって前記サブシステムの行動値を決定して前記サブシステムへ出力し、
    前記学習に応じて前記制御モデルのパラメータを更新し、
    前記学習管理エージェントへ前記制御モデル及び前記評価値を含む情報を送信し、
    前記学習管理エージェントは、
    前記複数のサブシステムに接続された状態の前記複数のエージェントにおける複数の制御モデルのセットを含む複数の実験系を構築し、前記複数の実験系で複数の世代で前記学習を行うように制御し、
    前記複数のサブシステムの前記評価値に基づいて、現世代の前記複数の実験系を評価し、評価結果に基づいて、次世代の前記複数の実験系での更新用の複数の制御モデルのセットを決定して、対応する前記制御モデルの情報を、対応する前記エージェントへ送信する、
    学習制御システム。
  2. 請求項1記載の学習制御システムにおいて、
    前記学習管理エージェントは、
    前記複数の実験系の実験系毎に、前記複数のサブシステムの前記評価値に基づいて、前記システムに関するシステム全体評価値を計算し、
    前記現世代の前記複数の実験系のうち前記システム全体評価値が最も高い実験系における前記複数の制御モデルのセットを、前記次世代の前記複数の実験系の初期設定値とするように更新を行う、
    学習制御システム。
  3. 請求項1記載の学習制御システムにおいて、
    前記学習管理エージェントは、前記次世代の前記複数の実験系での前記複数の制御モデルの各々の更新可否を決定し、対応する制御モデル更新可否情報を、対応する前記エージェントへ送信し、前記複数の世代の世代間で前記制御モデルを更新可とする前記エージェントを変動させる、
    学習制御システム。
  4. 請求項1記載の学習制御システムにおいて、
    前記学習管理エージェントは、前記次世代の前記複数の実験系の前記複数のエージェントのうち、同時に学習を行うエージェントを決定し、前記複数の世代の世代間で前記同時に学習を行うエージェントの数を増やしてゆく、
    学習制御システム。
  5. 請求項1記載の学習制御システムにおいて、
    前記エージェントは、
    前記制御対象の前記サブシステムと通信する第1通信部と、
    前記学習管理エージェントと通信する第2通信部と、
    前記サブシステムから前記状態値を含む情報を取得する状態取得部と、
    前記状態値に基づいて前記サブシステムの前記評価値を計算する評価部と、
    前記状態値、及び前記制御モデルに基づいて、前記サブシステムの制御値及び行動価値を計算する制御部と、
    前記状態値、前記制御値、及び前記行動価値を記憶し、前記学習に応じて前記制御モデルのパラメータを更新する学習部と、
    前記制御値から前記サブシステムの行動値を計算して前記サブシステムへ出力する行動出力部と、
    を有し、
    前記学習管理エージェントは、
    前記複数のエージェントと通信する通信部と、
    前記複数の実験系を管理し、前記複数のサブシステムの前記評価値に基づいて、前記現世代の前記複数の実験系を評価して前記評価結果を出力する実験系評価部と、
    前記評価結果に基づいて、前記次世代の前記複数の実験系での前記更新用の複数の制御モデルのセットを決定し、対応する前記制御モデルの情報を、対応する前記エージェントへ出力する制御モデル操作部と、
    を有する、
    学習制御システム。
  6. 請求項1記載の学習制御システムにおいて、
    前記学習管理エージェントは、
    前記現世代の前記複数の実験系における前記複数の制御モデルのセットについて、進化戦略計算処理を施して、別の複数の制御モデルのセットを生成し、
    前記現世代の前記複数の制御モデルのセットと、前記生成された前記別の複数の制御モデルのセットとで、前記エージェントの前記制御モデル毎に比較して、一方を選択することで、前記次世代の前記複数の実験系での前記更新用の複数の制御モデルのセットを決定する、
    学習制御システム。
  7. 請求項6記載の学習制御システムにおいて、
    前記学習管理エージェントは、前記進化戦略計算処理の際、前記現世代の前記複数の実験系の前記複数の制御モデルのセットから所定の複数の制御モデルを選択し、前記選択した複数の制御モデルのパラメータの重み付き和をとることで、新たな制御モデルを生成する、
    学習制御システム。
  8. 請求項1記載の学習制御システムにおいて、
    前記複数のエージェントは、互いに情報非共有であり、直接通信を行わない、
    学習制御システム。
  9. 請求項1記載の学習制御システムにおいて、
    前記複数のエージェントのうち、少なくとも一部の複数のエージェントは、互いに情報共有であり、前記情報共有のための直接通信を行う、
    学習制御システム。
  10. 請求項1記載の学習制御システムにおいて、
    前記学習管理エージェントは、前記サブシステム毎に取引データを蓄積させ、前記エージェント毎に、前記取引データに基づいて、前記学習として予備学習を行わせ、前記予備学習の後に、前記複数のエージェントの全体で前記学習として全体学習を行わせる、
    学習制御システム。
  11. 請求項1記載の学習制御システムにおいて、
    前記システムの前記複数のサブシステムは、直列接続されている、
    学習制御システム。
  12. 請求項1記載の学習制御システムにおいて、
    前記システムの前記複数のサブシステムは、メッシュネットワーク型で接続されている、
    学習制御システム。
  13. 請求項1記載の学習制御システムにおいて、
    前記システムは、サプライ・チェーン・マネージメントシステム、エネルギー供給網システム、交通システム、金融システム、またはそれらの複合システムである、
    学習制御システム。
  14. 計算機システム上に構成され、マルチエージェント学習を制御する学習制御システムにおける学習制御方法であって、
    前記学習制御システムは、
    所定のシステムの複数の各々のサブシステムに対して設けられ、制御モデルを用いて、制御対象のサブシステムの制御のための学習を行う複数のエージェントと、
    前記複数のエージェントと通信接続され、各々のエージェントの学習を管理及び制御する学習管理エージェントと、
    を備え、
    前記エージェントが、
    前記学習管理エージェントから前記制御モデルを含む情報を受信し、
    前記サブシステムの状態値に基づいて前記サブシステムの評価値を計算し、
    前記状態値を入力して前記制御モデルの計算によって前記サブシステムの行動値を決定して前記サブシステムへ出力し、
    前記学習に応じて前記制御モデルのパラメータを更新し、
    前記学習管理エージェントへ前記制御モデル及び前記評価値を含む情報を送信するステップと、
    前記学習管理エージェントが、
    前記複数のサブシステムに接続された状態の前記複数のエージェントにおける複数の制御モデルのセットを含む複数の実験系を構築し、前記複数の実験系で複数の世代で前記学習を行うように制御し、
    前記複数のサブシステムの前記評価値に基づいて、現世代の前記複数の実験系を評価し、評価結果に基づいて、次世代の前記複数の実験系での更新用の複数の制御モデルのセットを決定して、対応する前記制御モデルの情報を、対応する前記エージェントへ送信するステップと、
    を有する、学習制御方法。
JP2017172271A 2017-09-07 2017-09-07 学習制御システム及び学習制御方法 Active JP6820815B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017172271A JP6820815B2 (ja) 2017-09-07 2017-09-07 学習制御システム及び学習制御方法
US16/029,877 US10768583B2 (en) 2017-09-07 2018-07-09 Learning control system and learning control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017172271A JP6820815B2 (ja) 2017-09-07 2017-09-07 学習制御システム及び学習制御方法

Publications (2)

Publication Number Publication Date
JP2019046422A JP2019046422A (ja) 2019-03-22
JP6820815B2 true JP6820815B2 (ja) 2021-01-27

Family

ID=65518074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017172271A Active JP6820815B2 (ja) 2017-09-07 2017-09-07 学習制御システム及び学習制御方法

Country Status (2)

Country Link
US (1) US10768583B2 (ja)
JP (1) JP6820815B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6811688B2 (ja) * 2017-06-30 2021-01-13 株式会社日立製作所 複数動作ユニット統合装置、およびその制御方法、並びに自律学習型ロボット装置
KR102086575B1 (ko) * 2019-05-14 2020-03-09 임승진 계측기 재고 관리 시스템
KR102065933B1 (ko) * 2019-05-14 2020-01-14 임승진 계측기 재고 관리 시스템
CN110266515A (zh) * 2019-05-16 2019-09-20 上海德衡数据科技有限公司 一种基于普适计算的运营信息系统
CN110276698B (zh) * 2019-06-17 2022-08-02 国网江苏省电力有限公司淮安供电分公司 基于多智能体双层协同强化学习的分布式可再生能源交易决策方法
KR102461732B1 (ko) * 2019-07-16 2022-11-01 한국전자통신연구원 강화 학습 방법 및 장치
US11221897B2 (en) * 2019-09-11 2022-01-11 International Business Machines Corporation Managing device maintenance via artificial intelligence
US11443235B2 (en) 2019-11-14 2022-09-13 International Business Machines Corporation Identifying optimal weights to improve prediction accuracy in machine learning techniques
CN111632387A (zh) * 2020-06-12 2020-09-08 南京大学 一种基于星际争霸ii的指挥控制系统
JP7342833B2 (ja) * 2020-10-16 2023-09-12 横河電機株式会社 制御装置、コントローラ、制御システム、制御方法、および制御プログラム
JP2022158400A (ja) * 2021-04-02 2022-10-17 株式会社日立製作所 複数のサブシステムを含む実行システムを制御するためのシステム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085692B2 (en) * 2001-10-11 2006-08-01 Xerox Corporation Learning systems and methods for market-based control of smart matter
JP4339769B2 (ja) * 2004-09-17 2009-10-07 キヤノンItソリューションズ株式会社 予測モデル選択装置及び予測モデル選択方法並びにプログラム
US7760650B2 (en) * 2006-12-22 2010-07-20 Ipnp Ltd. SCADA system with instant messaging
US8271147B2 (en) * 2009-02-26 2012-09-18 Massachusetts Institute Of Technology Methods and apparatus for energy demand management
JP2011159230A (ja) * 2010-02-03 2011-08-18 Jfe Steel Corp スケジュール作成支援システム、スケジュール作成支援方法、及びスケジュール作成支援プログラム
US9049078B2 (en) * 2011-08-31 2015-06-02 Eneroc, Inc. NOC-oriented control of a demand coordination network
US9441847B2 (en) * 2012-03-19 2016-09-13 Wojciech Maciej Grohman System for controlling HVAC and lighting functionality
CN103676803B (zh) * 2012-09-14 2016-02-10 中兴通讯股份有限公司 工业控制系统
JP2014099113A (ja) * 2012-11-15 2014-05-29 Samsung R&D Institute Japan Co Ltd 家電ネットワークシステム
US9021462B2 (en) * 2013-03-13 2015-04-28 Johnson Controls Technology Company Systems and methods for provisioning equipment
JP5408380B1 (ja) * 2013-06-17 2014-02-05 富士ゼロックス株式会社 情報処理プログラム及び情報処理装置
US10469514B2 (en) * 2014-06-23 2019-11-05 Hewlett Packard Enterprise Development Lp Collaborative and adaptive threat intelligence for computer security
JP6219897B2 (ja) * 2015-09-28 2017-10-25 ファナック株式会社 最適な加減速を生成する工作機械
US10073421B2 (en) * 2015-11-17 2018-09-11 Rockwell Automation Technologies, Inc. Predictive monitoring and diagnostics systems and methods
US10545469B2 (en) * 2016-01-27 2020-01-28 Johnson Controls Technology Company Systems and methods for self provisioning building equipment
EP3519999A1 (en) * 2016-09-30 2019-08-07 Koninklijke Philips N.V. Anatomical model for position planning and tool guidance of a medical tool

Also Published As

Publication number Publication date
US20190072916A1 (en) 2019-03-07
US10768583B2 (en) 2020-09-08
JP2019046422A (ja) 2019-03-22

Similar Documents

Publication Publication Date Title
JP6820815B2 (ja) 学習制御システム及び学習制御方法
KR102245717B1 (ko) 인공지능 모델을 이용한 상품 판매량 예측 방법, 장치 및 시스템
Adibi et al. Multi-objective scheduling of dynamic job shop using variable neighborhood search
EP3692473A1 (en) Machine learning system
Azadeh et al. A hybrid computer simulation-artificial neural network algorithm for optimisation of dispatching rule selection in stochastic job shop scheduling problems
Peng et al. Deep reinforcement learning approach for capacitated supply chain optimization under demand uncertainty
EP3948692A1 (en) Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions
Afzalirad et al. Design of high-performing hybrid meta-heuristics for unrelated parallel machine scheduling with machine eligibility and precedence constraints
He An inventory controlled supply chain model based on improved BP neural network
Wang et al. An estimation of distribution algorithm for hybrid flow shop scheduling under stochastic processing times
Wang et al. Modeling and optimization of stochastic joint replenishment and delivery scheduling problem with uncertain costs
Latif et al. A case study of digital twin for a manufacturing process involving human interactions
Sabbaghnia et al. Reducing the Bullwhip effect in a supply chain network by application of optimal control theory
Soni et al. Inventory forecasting model using genetic programming and Holt-Winter's exponential smoothing method
Machani et al. A variable neighbourhood search for integrated production and preventive maintenance planning in multi-state systems
Fajar et al. Comparison of discrete event simulation and agent based simulation for evaluating the performance of port container terminal
CN110675055A (zh) 一种自动化生产线建模与布局规划方法及系统
Samsudin et al. A hybrid GMDH and least squares support vector machines in time series forecasting
Bucki et al. Modelling Decision‐Making Processes in the Management Support of the Manufacturing Element in the Logistic Supply Chain
WO2024068571A1 (en) Supply chain optimization with reinforcement learning
Munkelt et al. Agent-based self-organization versus central production planning
Latha Shankar et al. Bi‐objective optimization of distribution scheduling using MOPSO optimizer
Khan et al. Dynamic feedback neuro-evolutionary networks for forecasting the highly fluctuating electrical loads
Amodeo et al. Comparison of metaheuristic approaches for multi-objective simulation-based optimization in supply chain inventory management
Prestwich et al. A neuroevolutionary approach to stochastic inventory control in multi-echelon systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201125

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: 20201208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210105

R150 Certificate of patent or registration of utility model

Ref document number: 6820815

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150