(57)【要約】【課題】人工知能のプログラムが組み込まれた複数の装置のみで自律制御することが可能な機械学習システム、方法及びプログラムを提供する。【解決手段】機械学習システム１の端末１００は、他の端末１００と評価結果の送受信を行う通信部１１０と、端末１００の周囲の環境を検知する検知部１２０とを備え、その機能として、デバイス制御部１５１と、端末１００の動作を行う動作部１３０の動作制御を行う動作制御部１５２と、検知された端末１００の周囲の環境に基づいて動作部１３０による端末１００の動作を評価する評価部１５３と、他の端末１００の評価結果を受け付ける評価結果受付部１５４と、自己及び他の端末１００の評価結果を比較する比較部１５５と、比較結果に基づいて機械学習を行う学習部１５６と、を備える。【選択図】図２
2020060897.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末により相互に協調動作を行う機械学習システムであって、
各々の前記端末は、
前記端末の周囲の環境を検知する検知部と、
前記端末の周囲の環境に対して動作を行わせる動作制御部と、
前記検知部の検知結果に基づき、前記動作制御部による動作の評価を行う評価部と、
他の前記端末と相互に通信を行い、他の前記端末との間で、前記評価部の評価結果の送受信を行う通信部と、
自己の前記評価結果と、他の前記端末の前記評価結果とを比較する比較部と、
前記比較部の比較結果に基づき機械学習を行い、前記動作制御部の制御情報を更新する学習部と、を備える機械学習システム。
【請求項２】
前記学習部は、前記比較部の比較結果に基づいて強化学習を行う、請求項１に記載の機械学習システム。
【請求項３】
前記比較部は、前記比較結果に基づいて前記強化学習における報酬を更新し、
前記学習部は、更新された前記報酬に基づいて前記強化学習を行い、前記制御情報を更新する、請求項２に記載の機械学習システム。
【請求項４】
前記評価部は、自己の前記端末の役割の進捗度に基づいて評価を行う、請求項１から請求項３のいずれか１項に記載の機械学習システム。
【請求項５】
前記学習部は、複数の前記端末における複数の役割から自己の前記端末の役割を選択して担当し、前記端末の役割に基づいて前記制御情報を更新して前記動作制御部の動作制御を行わせる、請求項１から請求項４のいずれか１項に記載の機械学習システム。
【請求項６】
前記学習部は、複数の前記端末において割り振られた自己の前記端末の役割を担当し、前記端末の役割に基づいて前記制御情報を更新して前記動作制御部の動作制御を行わせる、請求項１から請求項４のいずれか１項に記載の機械学習システム。
【請求項７】
前記端末の役割は、複数の階層に振り分けられ、
前記学習部は、自己の前記評価結果が低い場合、自己の前記端末の役割を複数の階層における上位の階層に変更する、請求項５または請求項６に記載の機械学習システム。
【請求項８】
前記学習部は、前記比較結果において自己の前記評価結果が低い場合、自己の前記端末の役割を複数の階層における最上位の階層に変更する、請求項７に記載の機械学習システム。
【請求項９】
前記端末の役割は、動作を行う第１階層の役割、前記第１階層の前記端末が行った動作を取りまとめて第３階層に報告する第２階層の役割、または前記第２階層の前記端末からの報告を取りまとめてジョブに対するシステム全体の進捗度をシステム外部に報告する第３階層の役割のいずれかにそれぞれ振り分けられ、
前記学習部は、自己の前記端末の役割が前記第１階層であって、自己の前記評価結果が低い場合、自己の前記端末の役割を前記第２階層とし、
自己の前記端末の役割が前記第２階層であって、自己の前記評価結果が低い場合、自己の前記端末の役割を前記第３階層とする、請求項６から請求項８のいずれか１項に記載の機械学習システム。
【請求項１０】
前記学習部は、自己の前記端末の役割が前記第１階層であって、他の前記端末の役割が前記第２階層である他の前記端末よりも前記評価結果が低い場合、当該他の前記端末と自己の前記端末との役割を交代し、
自己の前記端末の役割が前記第２階層であって、他の前記端末の役割が前記第３階層である他の前記端末よりも前記評価結果が低い場合、当該他の前記端末と自己の前記端末との役割を交代する、請求項９に記載の機械学習システム。
【請求項１１】
前記検知部は、前記端末に取り付けられたセンサにより構成されている、請求項１から請求項１０のいずれか１項に記載の機械学習システム。
【請求項１２】
複数の端末により相互に協調動作を行う機械学習方法であって、
検知部が行う、前記端末の周囲の環境を検知する検知ステップと、
動作制御部が行う、前記端末の周囲の環境に対して動作を行わせる動作制御ステップと、
評価部が行う、前記検知ステップにおける検知結果に基づき、前記動作制御ステップにおける動作の評価を行う評価ステップと、
通信部が行う、他の前記端末と相互に通信を行い、他の前記端末との間で、前記評価ステップにおける評価結果の送受信を行う通信ステップと、
比較部が行う、自己の前記評価結果と、他の前記端末の前記評価結果とを比較する比較ステップと、
学習部が行う、前記比較ステップにおける比較結果に基づき機械学習を行い、前記動作制御ステップの制御情報を更新する学習ステップと、を備える機械学習方法。
【請求項１３】
複数の端末により相互に協調動作を行う機械学習プログラムであって、
前記端末の周囲の環境を検知する検知ステップと、
前記端末の周囲の環境に対して動作を行わせる動作制御ステップと、
前記検知ステップにおける検知結果に基づき、前記動作制御ステップにおける動作の評価を行う評価ステップと、
他の前記端末と相互に通信を行い、他の前記端末との間で、前記評価ステップにおける評価結果の送受信を行う通信ステップと、
自己の前記評価結果と、他の前記端末の前記評価結果とを比較する比較ステップと、
前記比較ステップにおける比較結果に基づき機械学習を行い、前記動作制御ステップの制御情報を更新する学習ステップと、を電子計算機に実行させる、機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、機械学習プログラムが組み込まれた複数の端末により相互に協調動作を行う機械学習システム、機械学習方法及び機械学習プログラムに関する。
【背景技術】
【０００２】
近年、人工知能（Artificial Intelligence：ＡＩ）のプログラムが組み込まれ、人工知能により機械学習が行われて動作制御される各種装置が開発されている。例えば、ロボットの分野において、センサにより周囲の環境が検知され、周囲の環境の状態が人工知能による機械学習により判断されてロボットの動作制御が行われる。具体的には、例えばロボットの動作により環境が変化するので、これをセンサにより検知し、環境の変化により得られる価値（報酬）が分析され、より価値が多く得られるように機械学習が行われて動作制御が行われる。これにより、そのロボットが動作する目的により適した動作が行われるようになる。
【０００３】
このような機械学習による動作制御は、装置単体の動作制御だけではなく、複数の装置により作業が行われる際に作業分担を動作制御する場合にも用いられる。例えば、搬送コンベアにより搬送されるワークに対して複数の産業機械（ロボット）の作業分担を最適化するため、機械学習が行われる製造システムが知られている（例えば、特許文献１参照。）。この製造システムでは、特に一部の産業機械が不具合等により稼働できなくなった場合に、他の産業機械により作業分担を再分配する必要がある場合に適している。
【０００４】
また、例えば、複数の装置それぞれが機械学習を行うことで動作制御する場合にも用いられる。例えば、複数の産業機器や環境制御端末等の装置にそれぞれ搭載される学習装置ユニットが、それぞれ機械学習を行うシステムが知られている（例えば、特許文献２参照。）。このシステムでは、学習装置ユニットが個々に機械学習を行い、サーバ装置により全体制御が行われている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１４６８７９号公報
【特許文献２】特開２０１７−００４１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、このような装置の動作環境によっては、サーバ装置と通信を行うことが困難な場合もあり、人工知能のプログラムが組み込まれた複数の装置のみで自律制御することが可能であることが望ましい。しかしながら、特許文献１及び２に記載されたシステムは、サーバ装置により制御されるものであり、自律制御は出来ないものである。
【０００７】
そこで、本開示では、人工知能のプログラムが組み込まれた複数の装置のみで自律制御することが可能な機械学習システム、機械学習方法及び機械学習プログラムについて説明する。
【課題を解決するための手段】
【０００８】
本開示の一態様における機械学習システムは、複数の端末により相互に協調動作を行う機械学習システムであって、各々の端末は、端末の周囲の環境を検知する検知部と、端末の周囲の環境に対して動作を行わせる動作制御部と、検知部の検知結果に基づき、動作制御部による動作の評価を行う評価部と、他の端末と相互に通信を行い、他の端末との間で、評価部の評価結果の送受信を行う通信部と、自己の評価結果と、他の端末の評価結果とを比較する比較部と、比較部の比較結果に基づき機械学習を行い、動作制御部の制御情報を更新する学習部と、を備える。
【０００９】
本開示の一態様における機械学習方法は、複数の端末により相互に協調動作を行う機械学習方法であって、検知部が行う、端末の周囲の環境を検知する検知ステップと、動作制御部が行う、端末の周囲の環境に対して動作を行わせる動作制御ステップと、評価部が行う、検知ステップにおける検知結果に基づき、動作制御ステップにおける動作の評価を行う評価ステップと、通信部が行う、他の端末と相互に通信を行い、他の端末との間で、評価ステップにおける評価結果の送受信を行う通信ステップと、比較部が行う、自己の評価結果と、他の端末の評価結果とを比較する比較ステップと、学習部が行う、比較ステップにおける比較結果に基づき機械学習を行い、動作制御ステップの制御情報を更新する学習ステップと、を備える。
【００１０】
また、本開示の一態様における機械学習プログラムは、複数の端末により相互に協調動作を行う機械学習プログラムであって、端末の周囲の環境を検知する検知ステップと、端末の周囲の環境に対して動作を行わせる動作制御ステップと、検知ステップにおける検知結果に基づき、動作制御ステップにおける動作の評価を行う評価ステップと、他の端末と相互に通信を行い、他の端末との間で、評価ステップにおける評価結果の送受信を行う通信ステップと、自己の評価結果と、他の端末の評価結果とを比較する比較ステップと、比較ステップにおける比較結果に基づき機械学習を行い、動作制御ステップの制御情報を更新する学習ステップと、を電子計算機に実行させる。
【発明の効果】
【００１１】
本開示によれば、端末の周囲の環境を検知し、検知結果に基づいて端末の動作を評価し、自己の評価結果と、他の端末から受信した評価結果とが比較され、比較結果に基づいて機械学習を行い、制御情報を更新することで端末の制御が行われる。これにより、人工知能のプログラムが組み込まれた複数の端末のみで自律制御することが可能であり、サーバ装置による制御が不要になる。
【図面の簡単な説明】
【００１２】
【図１】本開示の一実施形態に係る機械学習システムを示すブロック構成図である。
【図２】図１の端末１００を示す機能ブロック構成図である。
【図３】図２の端末１００が環境Ｅ内に複数配置されている状態の例を示す模式図である。
【図４】図２の端末１００の役割の例の一覧を示す模式図である。
【図５】図４の端末１００の役割が変更される例を示す模式図である。
【図６】図４の端末１００の役割が交代される例を示す模式図である。
【図７】図２の端末１００の動作を示すフローチャートである。
【図８】本開示の一実施形態に係る機械学習システムの適用例である掃除ロボット２００Ａ〜２００Ｇが環境Ｅ内に配置されている状態の例を示す模式図である。
【図９】図８の掃除ロボット２００Ａ〜２００Ｇの役割が変更される例を示す模式図である。
【図１０】図８の掃除ロボット２００Ａ〜２００Ｇの役割が交代される例を示す模式図である。
【図１１】本開示の一実施形態に係るコンピュータ３００の構成の例を示す機能ブロック構成図である。
【発明を実施するための形態】
【００１３】
以下、本開示の実施形態について図面を参照して説明する。なお、以下に説明する実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。
【００１４】
（実施形態１）
＜構成＞
図１は、本開示の実施形態１に係る機械学習システム１を示すブロック構成図である。この機械学習システム１は、例として、所定の目的、例えば、掃除ロボットにより所定の範囲内の掃除を行う目的や、産業用ロボットによりベルトコンベアで搬送される製造物の組み立てを行う目的のために、複数の端末により相互に協調動作を行い、所定の目的のための動作を行うシステムである。
【００１５】
機械学習システム１は、複数の端末１００Ａ，１００Ｂ，１００Ｃ，・・・と、ネットワークＮＷとを有している。端末１００Ａ，１００Ｂ，１００Ｃ，・・・は、ネットワークＮＷを介して相互に接続される。ネットワークＮＷは、例えば、端末１００Ａ，１００Ｂ，１００Ｃ，・・・の間で直接無線通信を行うための仮想的な通信網であり、Ｂｌｕｅｔｏｏｔｈ（登録商標）やＺ−Ｗａｖｅ（登録商標）等により構成されているが、インターネット、イントラネット、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）等により構成されても良い。なお、端末１００Ａ，１００Ｂ，１００Ｃ，・・・は、それぞれ同様の構成を備えるものであり、端末１００Ａ，１００Ｂ，１００Ｃ，・・・の構成を説明する際、代表して端末１００と表記する。
【００１６】
端末１００は、所定の目的を達するための個々の端末装置であり、例えば前述の例の場合、掃除ロボットや産業用ロボットにより構成され、コンピュータ（電子計算機）により動作制御されている。個々の端末１００には人工知能のプログラムが組み込まれており、後述する機械学習を行うことで機械学習システム１の全体を所定の目的を達するために最適化する機能を備えている。また、この機械学習システム１では、端末１００自身の強化学習により自律制御が行われ、システム全体の制御を行うサーバのような装置は備えていない。
【００１７】
図２は、図１の端末１００を示す機能ブロック構成図である。端末１００は、通信部１１０と、検知部１２０と、動作部１３０と、記憶部１４０と、制御部１５０とを備える。
【００１８】
通信部１１０は、ネットワークＮＷを介して他の端末１００と通信を行うための通信インタフェースであり、例えばＧＡＴＴ（Generic Attribute Profile）やＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）等の通信規約により通信が行われる。
【００１９】
この通信部１１０は、他の端末１００と相互に通信を行い、後述するように、制御部１５０内の評価部１５３による評価結果を送信し、他の端末１００の評価部１５３による評価結果を受信するために使用される。なお、本実施形態ではネットワークＮＷは無線通信を行う構成としているが、端末１００Ａ，１００Ｂ，１００Ｃ，・・・がそれぞれ有線で接続されていても良い装置である場合、有線通信を行う構成としても良い。
【００２０】
検知部１２０は、後述する制御部１５０内のデバイス制御部１５１の制御により、端末１００の周囲の環境を検知する装置であり、赤外線センサやＣＣＤイメージセンサ、カメラや集音器のようなセンサにより構成され、例えば端末１００の筐体の外側に配置されている。
【００２１】
具体的には、掃除ロボットの場合における当該ロボットの周囲における画像データや音声データを含む検知データから床面の埃や塵、掃除ロボットの動きを妨げる障害物の存在を検知し、産業用ロボットの周囲における製造物や、ベルトコンベア等の設備の存在を検知する。検知された検知結果のデータは、後述する記憶部１４０内の検知結果ＤＢ１４１に格納される。
【００２２】
動作部１３０は、後述する制御部１５０内の動作制御部１５２の制御により、掃除ロボットや産業用ロボットとしての端末１００の動作を行う装置であり、例えば端末１００を移動させるための車輪、物をつかむ、離す等の動作を行うアームや、これらを駆動させるためのアクチュエータ等により構成されている。
【００２３】
記憶部１４０は、各種制御処理や制御部１５０内の各機能を実行するためのプログラム、入力データ等を記憶するものであり、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等から構成される。また、記憶部１４０は、検知結果ＤＢ１４１、評価結果ＤＢ１４２、及び制御情報ＤＢ１４３を記憶する。さらに、記憶部１４０は、他の端末１００と通信を行ったデータや、後述する各処理にて生成されたデータを一時的に記憶する。
【００２４】
検知結果ＤＢ１４１には、検知部１２０による検知結果のデータが格納される。例えば検知部１２０が赤外線センサで構成されている場合、赤外線センサが反応した位置、方向及び日時等のデータが、ＣＣＤイメージセンサやカメラで構成されている場合、ＣＣＤイメージセンサやカメラにより撮影された画像データ及び日時データ等が、集音器で構成されている場合、音声データが格納される。
【００２５】
評価結果ＤＢ１４２には、後述する制御部１５０内の評価部１５３による評価結果と、通信部１１０により受信された、他の端末１００の評価部１５３による評価結果が格納される。
【００２６】
制御情報ＤＢ１４３には、端末１００の動作部１３０の動作を制御する制御情報、例えばアクチュエータの速度や回転数等の情報が格納される。この制御情報は、当初は初期設定された制御情報が格納され、後述する制御部１５０内の学習部１５６による強化学習によってアップデートされる。
【００２７】
制御部１５０は、記憶部１４０に記憶されているプログラムを実行することにより、端末１００の全体の動作を制御するものであり、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）等から構成される。制御部１５０の機能として、デバイス制御部１５１と、動作制御部１５２と、評価部１５３と、評価結果受付部１５４と、比較部１５５と、学習部１５６とを備えている。このデバイス制御部１５１、動作制御部１５２、評価部１５３、評価結果受付部１５４、比較部１５５、及び学習部１５６は、記憶部１４０に記憶されているプログラムにより起動されてコンピュータが内蔵されている端末１００により実行される。
【００２８】
デバイス制御部１５１は、通信部１１０、検知部１２０、及び記憶部１４０の動作制御を行う。具体的には、例えば、通信部１１０に対して、所定のタイミングでデータの送受信を行わせる。検知部１２０に対して、センシング方向を変更させたり、画像データのピント合わせを行わせたり、検知のタイミングを変更させたりする。記憶部１４０に対して、各種データを記憶させ、記憶領域の配置決め等を行わせる。このような制御を行うため、デバイス制御部１５１は、通信部１１０、検知部１２０、及び記憶部１４０に対して制御信号の送受信を行うことで制御する。
【００２９】
動作制御部１５２は、動作部１３０の動作を制御する、制御情報ＤＢ１４３に格納されている制御情報を読み取り、動作部１３０の動作制御を行う。具体的には、例えば、車輪やアームに対して移動や物をつかむ等の所定の動作を行わせるため、アクチュエータに対する制御信号を生成して送信することで制御する。
【００３０】
評価部１５３は、検知部１２０によって検知された端末１００の周囲の環境に基づき、動作制御部１５２によって制御された動作部１３０の動作による、端末１００の動作を評価する。この動作の評価は、例えば、端末１００の所定の目的を達するためのジョブの進捗度により数値化して評価を行う。
【００３１】
具体的には、例えば、端末１００が掃除ロボットである場合は、端末１００が行う掃除の進捗度（各端末１００に割り当てられた掃除をする領域に対する進捗度）や、複数の端末１００が掃除を行う領域に対する各端末１００の寄与度、端末１００が産業用ロボットである場合は、端末１００が行う製造物の製造に係る各端末１００の寄与度が、端末１００ごとに評価される。評価部１５３による評価結果は、評価結果ＤＢ１４２に格納される。
【００３２】
評価結果受付部１５４は、通信部１１０が受信した、他の端末１００の評価部１５３による評価結果を受け付け、評価結果ＤＢ１４２に格納する。
【００３３】
比較部１５５は、評価結果ＤＢ１４２に格納されている、自己の端末１００の評価部１５３による評価結果と、他の端末１００の評価部１５３による評価結果とを比較する。具体的には、前述の例のように、端末１００が掃除ロボットである場合の掃除の進捗度（各端末１００に割り当てられた掃除をする領域に対する進捗度）や、複数の端末１００が掃除を行う領域に対する各端末１００の寄与度、端末１００が産業用ロボットである場合の製造物の製造に係る各端末１００の寄与度を比較する。
【００３４】
学習部１５６は、評価結果ＤＢ１４２に格納されている自己の評価結果から、比較部１５５による比較結果に基づいて機械学習を行う機能を有している。この学習部１５６は、端末１００の動作を制御する制御情報を生成して制御情報ＤＢ１４３に格納し、制御情報を更新（アップデート）する。すなわち、評価結果ＤＢ１４２に格納されている自己の評価結果だけではなく、他の端末１００の評価結果との比較結果に基づいて強化学習が行われることにより、複数の端末１００の強化学習の結果により自律制御が行われ、機械学習システム１の全体で最適化を行っている。
【００３５】
ここで、学習部１５６にて行われる機械学習について説明する。学習部１５６では、例えば、人工知能によって行われる機械学習の一類型である強化学習が行われる。
【００３６】
強化学習は、試行錯誤を通じて価値（報酬）を最大化する行動を学習するものであり、環境に行動が与える相互作用を踏まえて適切な行動、すなわち将来的に得られる報酬を最大化するために学習を行う手法である。強化学習は、行動が引き起こす結果を知らない状態から開始することが可能な点で有利である。
【００３７】
学習部１５６は、端末１００の所定の目的に応じた報酬を設定し、評価結果ＤＢ１４２に格納されている自己の端末１００の評価結果に基づいて強化学習を行う。この評価結果は、自己の端末１００の評価部１５３による評価結果であり、例えば、端末１００の所定の目的を達するためのジョブの進捗度等である。
【００３８】
さらに、学習部１５６では、比較部１５５による比較結果に基づいて報酬を更新することで強化学習を変化させ、生成する制御情報を変化させることにより個々の端末１００の動作制御を行い、機械学習システム１の全体で最適化を行っている。これにより、個々の端末１００の状況に応じた動作制御を行い、機械学習システム１の全体で最適化を行うことを可能にしている。
【００３９】
また、学習部１５６は、端末１００が選択して担当している所定の役割を変更することにより、機械学習システム１の全体で最適化を行っている。あるいは、複数の端末１００においてそれぞれの端末１００に割り振られて担当している役割を変更することにより、機械学習システム１の全体で最適化を行っている。
【００４０】
機械学習システム１の全体で最適化を行うため、端末１００が担当する役割について説明する。図３は、図２の端末１００が環境Ｅ内に複数配置されている状態の例を示す模式図であり、図４は、図２の端末１００の役割の例の一覧を示す模式図である。
【００４１】
図３に示すように、機械学習システム１を構成する複数の端末１００は、環境Ｅ内に配置されている。環境Ｅは、機械学習システム１が所定の目的を達するための環境であり、例えば掃除ロボットにより掃除を行う所定の範囲や、産業用ロボットにより組み立てを行う製造物が搬送されるベルトコンベアである。図３では７個の端末１００が配置されているが、機械学習システム１の所定の目的や環境Ｅの範囲、所定の目的を達するために与えられた時間（期間）によって異なる個数の端末１００が配置され、環境Ｅにおける端末１００の配置位置も異なる。
【００４２】
複数の端末１００は、機械学習システム１の所定の目的を達するために、例えば複数の階層に振り分けられた役割が端末１００ごとに選択され、あるいは割り振られて担当する。図４に示すように、端末１００には、例えば３つの役割として、コンダクタ（第１階層）、チューナ（第２階層）、及びプレイヤ（第３階層）が設けられる。なお、以下に説明するコンダクタ、チューナ、及びプレイヤの具体的な役割は、端末１００の役割の例であり、これらに限られない。
【００４３】
プレイヤは、機械学習システム１の所定の目的のため、所定の範囲の各種動作を行う役割を有している。この所定の範囲は、例えば端末１００が掃除ロボットである場合における各端末１００が行う掃除の範囲（面積）や、端末１００が産業用ロボットである場合における製造物の製造工程の範囲である。
【００４４】
チューナは、プレイヤの動作を取りまとめてコンダクタに報告する役割を有しており、複数のプレイヤの上位階層として１または複数の端末１００がこの役割を担当している。
【００４５】
コンダクタは、チューナからの報告を取りまとめ、ジョブに対する機械学習システム１全体の進捗度を、図示しない機械学習システム１の外部装置（外部）に報告する役割を有しており、複数のチューナの上位階層として１または複数の端末１００がこの役割を担当している。機械学習システム１の初期稼働時には、この役割を任意の端末１００が選択して、あるいは割り振られて担当しても良く、全ての端末１００の役割がプレイヤであっても良い。また、複数の役割の階層は３つに限られず、２つまたは４つ以上でも良い。
【００４６】
ここで、コンダクタ及びチューナの役割を担当している端末１００と、下位階層の端末１００との関係の例について説明する。プレイヤは、機械学習システム１の所定の目的のため、所定の範囲の各種動作を行う役割を有している。チューナは、自己の下位階層に配置されているプレイヤの動作を取りまとめてコンダクタに報告する役割を有している。
【００４７】
また、コンダクタは、自己の下位階層に配置されているチューナからの報告を取りまとめ、ジョブに対する機械学習システム１全体の進捗度を、図示しない機械学習システム１の外部装置（外部）に報告する役割を有している。このように、役割を複数の階層に振り分けているのは、上位階層の端末１００が下位階層の端末１００の役割を補完することにより、端末１００の特徴に応じた動作制御を行い、機械学習システム１の全体で最適化を行うことを可能にしている。
【００４８】
次に、端末１００が選択して担当する役割を、変更または交代する場合について説明する。図５は、図４の端末１００の役割が変更される例を示す模式図であり、図６は、図４の端末１００の役割が交代される例を示す模式図である。
【００４９】
図５に示すように、例えばプレイヤの役割を担当する端末１００Ａの評価結果が、他のプレイヤの役割を選択して担当する端末１００Ｂ，１００Ｃの評価結果よりも低い場合、例えば、端末１００Ａ自身の選択により端末１００Ａの抽象度が上げられ、役割をチューナに変更、すなわち昇格する。このときの評価結果の比較は比較部１５５により行われるが、評価結果の高低の比較は、評価結果ＤＢ１４２に自己及び他の端末１００の評価結果が格納されていることにより可能であり、複数の端末１００の評価結果のうち、自己の評価結果が最も低い場合に昇格することを選択しても良く、自己の評価結果が所定の値より低い場合に昇格することを選択してチューナに昇格しても良い。
【００５０】
また、チューナの場合も同様であり、例えばチューナの役割を担当する端末１００の評価結果が、他のチューナの役割を選択して担当する端末１００の評価結果よりも低い場合、例えば、端末１００自身の選択により端末１００の抽象度が上げられ、役割を最上位の階層であるコンダクタに変更、すなわち昇格する。このように役割を変更するのは、現在の役割における評価結果が高い端末１００をそのままの役割とし、評価結果が低い端末１００が昇格することにより、適材適所の配置にするためである。
【００５１】
また、図６に示すように、例えばプレイヤの役割を担当する端末１００Ａの評価結果が、チューナの役割を選択して担当する端末１００Ｂがプレイヤの役割であったときの評価結果よりも低い場合、端末１００Ａの役割と、端末１００Ｂの役割とを交代する。
【００５２】
さらに、チューナの場合も同様であり、例えばチューナの役割を担当する端末１００の評価結果が、コンダクタの役割を選択して担当する端末１００がチューナの役割であったときの評価結果よりも低い場合、それぞれ役割を交代する。このように役割を交代するのは、コンダクタ、チューナ、及びプレイヤの端末数を維持しつつ、端末１００の適材適所の配置を可能にするためである。
【００５３】
＜処理の流れ＞
図７を参照しながら、機械学習システム１が実行する機械学習方法の一例の処理の流れについて説明する。図７は、図２の端末１００の動作を示すフローチャートである。
【００５４】
端末１００が、例えば図３に示すような環境Ｅ内に配置されて稼働が開始されると、ステップＳ１０１の処理として、検知部１２０では、デバイス制御部１５１の制御により環境Ｅ内における端末１００の周囲の環境が検知される。検知された検知結果データは、記憶部１４０内の検知結果ＤＢ１４１に格納される。
【００５５】
ステップＳ１０２の処理として、動作制御部１５２では、制御情報ＤＢ１４３に格納されている動作部１３０の動作を制御する制御情報が読み取られる。このとき読み取られる制御情報は、初期状態の場合は制御情報ＤＢ１４３に初期設定されたものであり、学習部１５６による強化学習の後は、強化学習によりアップデートされたものである。
【００５６】
ステップＳ１０３の処理として、動作制御部１５２では、ステップＳ１０２で読み取られた制御情報に基づき、動作部１３０が動作制御され、機械学習システム１の目的を達するための動作部１３０の所定の動作が行われる。
【００５７】
ステップＳ１０４の処理として、検知部１２０では、ステップＳ１０１と同様に、デバイス制御部１５１の制御により環境Ｅ内における端末１００の周囲の環境が検知される。検知された検知結果データは、記憶部１４０内の検知結果ＤＢ１４１に格納される。
【００５８】
ステップＳ１０５の処理として、評価部１５３では、ステップＳ１０４で検知された端末１００の周囲の環境に基づき、動作部１３０の動作による端末１００の動作が評価される。評価部１５３による評価は、例えば、端末１００の所定の目的を達するためのジョブの進捗度により数値化されて評価される。この評価結果は、評価結果ＤＢ１４２に格納される。
【００５９】
ステップＳ１０６の処理として、評価結果受付部１５４では、通信部１１０を介して受信した、他の端末１００の評価部１５３による評価結果が受け付けられ、評価結果ＤＢ１４２に格納される。
【００６０】
ステップＳ１０７の処理として、比較部１５５では、評価結果ＤＢ１４２に格納されている、ステップＳ１０５で評価された自己の端末１００の評価結果と、ステップＳ１０６で評価された他の端末１００の評価結果とが比較される。
【００６１】
ステップＳ１０８の処理として、学習部１５６では、評価結果ＤＢ１４２に格納されている、ステップＳ１０５で評価された自己の端末１００の評価結果から、ステップＳ１０７で比較された比較結果に基づき、強化学習が行われ、機械学習システム１の全体で最適化される。
【００６２】
また、ステップＳ１０８では、端末１００の役割として、例えばコンダクタ、チューナ、またはプレイヤのいずれかを選択あるいは割り振られて担当し、その後、この役割を変更または交代し、強化学習が行われる。
【００６３】
ステップＳ１０９の処理として、評価部１５３では、動作部１３０の動作による端末１００の所定の目的を達するためのジョブの進捗度が１００％であるか否か、すなわち端末１００が行う作業が完了しているか否かが判定される。ジョブの進捗度が１００％でない場合（ステップＳ１０９で「Ｎ」の場合。）、後続処理としてステップＳ１０２の処理を行い、ジョブの進捗度が１００％である場合（ステップＳ１０９で「Ｙ」の場合。）、処理が終了される。
【００６４】
＜効果＞
以上のように、本実施形態に係る機械学習システムは、検知部により端末の周囲の環境が検知され、評価部により、動作制御部によって制御された端末の動作が検知結果に基づいて評価される。比較部により、自己の端末の評価結果と他の端末から受信した評価結果とが比較され、学習部により、比較結果に基づいて強化学習が行われ、制御情報が更新されて端末の動作制御が行われる。これにより、人工知能のプログラムが組み込まれた複数の端末のみで自律制御することが可能であり、サーバ装置による制御が不要になる。
【００６５】
また、学習部にて行われる強化学習では、端末の所定の目的に応じた報酬が設定され、比較結果に基づいて報酬が更新される。これにより、複数の端末から構成される機械学習システムにおいて、個々の端末の状況に応じた強化学習を行い、機械学習システム全体で最適化を行うことが可能になる。
【００６６】
さらに、学習部にて行われる強化学習では、複数の役割のうちの１つを端末ごとに選択あるいは割り振られて担当し、端末の評価結果が他の端末の評価結果よりも低い場合や、所定の値より低い場合、その端末の抽象度が上げられ、役割を変更し、または他の役割の端末と役割を交代する。これにより、複数の端末から構成される機械学習システムにおいて、個々の端末の特徴に応じた強化学習を行い、機械学習システム全体で最適化を行うことが可能になる。
【００６７】
（実施形態２）
図８は、本開示の実施形態２に係る機械学習システム１の適用例である、複数の掃除ロボット２００Ａ〜２００Ｇが環境Ｅ内に配置されている状態の例を示す模式図である。この掃除ロボット２００Ａ〜２００Ｇは、実施形態１に係る端末１００を、具体的な適用例として掃除ロボットに適用したものであり、それぞれ端末１００と同様の構成を備えている。なお、掃除ロボット２００Ａ〜２００Ｇは、それぞれ同様の構成を備えるものであり、掃除ロボット２００Ａ〜２００Ｇの構成を説明する際、代表して掃除ロボット２００と表記する。
【００６８】
図２に示す検知部１２０は、本実施形態では、掃除ロボット２００の底面側の床面やその周囲を検知するための赤外線センサや超音波センサ、自己の向きや位置情報を取得するためのジャイロセンサ等により構成されている。これらのセンサにより取得された画像データや、方向及び位置情報データは、検知結果のデータとして検知結果ＤＢ１４１に格納される。
【００６９】
動作部１３０は、本実施形態では、掃除ロボット２００の動作を行う車輪やそれを駆動させるためのモータ、埃や塵を収集する集塵箇所に設けられたローラやそれを駆動させるためのアクチュエータ等により構成されている。また、制御部１５０の動作制御部１５２は、制御情報ＤＢ１４３に格納されている制御情報を読み取り、これらの装置の動作制御を行う。
【００７０】
制御部１５０の評価部１５３は、掃除ロボット２００によって行われた掃除の動作後の検知結果のデータを取得し、掃除の結果を評価する。このとき、強化学習のための報酬は自己の掃除範囲の掃除が完了した状態であり、掃除が完了した状態に対するジョブの進捗度が評価され、例えば、評価部１５３では、掃除ロボット２００に割り当てられた掃除をする領域に対する進捗度や、掃除をすべき領域に対する当該掃除ロボットの寄与度により評価される。この評価による評価結果は、評価結果ＤＢ１４２に格納される。
【００７１】
比較部１５５は、掃除ロボット２００に割り当てられた掃除をする領域に対する進捗度や、掃除をすべき領域に対する当該掃除ロボットの寄与度からの評価結果に基づいて自己の端末１００の評価結果と他の端末１００の評価結果とを比較する。学習部１５６は、比較部１５５の比較結果に基づいて強化学習を行い、掃除ロボット２００の制御情報を生成する。比較結果に基づいて報酬を変更することで強化学習を変化させ、生成する制御情報を変化させることにより個々の掃除ロボット２００の動作制御を行い、機械学習システム１の全体で最適化を行っている。これにより、個々の掃除ロボット２００の状況に応じた動作制御を行い、機械学習システム１の全体で最適化を行うことを可能にしている。
【００７２】
また、学習部１５６では、強化学習の結果、例えば、実施形態１と同様に、掃除ロボット２００それぞれの役割が変更される。
【００７３】
図９は、図８の掃除ロボット２００の役割が変更される例を示す模式図である。例えば、図８に示すように本実施形態の初期状態では、掃除ロボット２００Ａ〜２００Ｇの全てが一律に、図４に示すプレイヤの役割を選択する。
【００７４】
その後、掃除ロボット２００Ａ〜２００Ｇそれぞれが稼働してその過程で強化学習を行い、例えば掃除ロボット２００Ｃ，２００Ｆ，２００Ｇの評価結果が低いと判定された場合、これらの掃除ロボットの抽象度が上げられ、図９に示すようにチューナに昇格する。さらに、例えば掃除ロボット２００Ｇの評価結果が低いと判定された場合、この掃除ロボットの抽象度が上げられ、図９に示すようにコンダクタに昇格する。
【００７５】
図１０は、図８の掃除ロボット２００Ａ〜２００Ｇの役割が交代される例を示す模式図である。図９に示す状態の後、掃除ロボット２００Ａ〜２００Ｇそれぞれが稼働し、さらに強化学習を行い、例えば役割がプレイヤである掃除ロボット２００Ｂの評価結果が低く，役割がチューナである掃除ロボット２００Ｃの評価結果が高いと判定された場合、掃除ロボット２００Ｂの役割と掃除ロボット２００Ｃの役割とを交代する。これにより、個々の掃除ロボット２００Ａ〜２００Ｇの特徴に応じた動作制御を行い、機械学習システム１の全体で最適化を行うことを可能にしている。
【００７６】
本実施形態によれば、上記実施形態１の効果に加え、機械学習システムの適用例として掃除ロボットに適用することが出来る。これにより、個々の掃除ロボットの状況や特徴に応じた強化学習を行い、機械学習システム全体で最適化を行うことが可能になる。
【００７７】
（実施形態３（プログラム））
図１１は、コンピュータ（電子計算機）３００の構成の例を示す機能ブロック構成図である。コンピュータ３００は、ＣＰＵ３０１、主記憶装置３０２、補助記憶装置３０３、インタフェース３０４を備える。
【００７８】
ここで、実施形態１または２に係るデバイス制御部１５１、動作制御部１５２、評価部１５３、評価結果受付部１５４、比較部１５５、及び学習部１５６を構成する各機能を実現するための制御プログラムの詳細について説明する。これらの機能ブロックは、コンピュータ３００に実装される。そして、これらの各構成要素の動作は、プログラムの形式で補助記憶装置３０３に記憶されている。ＣＰＵ３０１は、プログラムを補助記憶装置３０３から読み出して主記憶装置３０２に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ３０１は、プログラムに従って、上述した記憶部に対応する記憶領域を主記憶装置３０２に確保する。
【００７９】
当該プログラムは、具体的には、コンピュータ３００において、端末の周囲の環境を検知する検知ステップと、端末の周囲の環境に対して動作を行わせる動作制御ステップと、検知ステップにおける検知結果に基づき、動作制御ステップにおける動作の評価を行う評価ステップと、他の端末と相互に通信を行い、他の端末との間で、評価ステップにおける評価結果の送受信を行う通信ステップと、自己の評価結果と、他の端末の評価結果とを比較する比較ステップと、比較ステップにおける比較結果に基づき機械学習を行い、動作制御ステップの制御情報を更新する学習ステップと、をコンピュータによって実現する制御プログラムである。
【００８０】
なお、補助記憶装置３０３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース３０４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムがネットワークを介してコンピュータ３００に配信される場合、配信を受けたコンピュータ３００が当該プログラムを主記憶装置３０２に展開し、上記処理を実行してもよい。
【００８１】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能を補助記憶装置３０３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００８２】
以上、開示に係る実施形態について説明したが、これらはその他の様々な形態で実施することが可能であり、種々の省略、置換および変更を行なって実施することが出来る。これらの実施形態および変形例ならびに省略、置換および変更を行なったものは、特許請求の範囲の技術的範囲とその均等の範囲に含まれる。
【符号の説明】
【００８３】
１  機械学習システム、１００，１００Ａ，１００Ｂ，１００Ｃ，・・・  端末、１１０  通信部、１２０  検知部、１３０  動作部、１４０  記憶部、１４１  検知結果ＤＢ、１４２  評価結果ＤＢ、１４３  制御情報ＤＢ、１５０  制御部、１５１  デバイス制御部、１５２  動作制御部、１５３  評価部、１５４  評価結果受付部、１５５  比較部、１５６  学習部、２００，２００Ａ〜２００Ｇ  掃除ロボット、３００  コンピュータ、ＮＷ  ネットワーク
【図１】
2020060897.tif 000003
【図２】
2020060897.tif 000004
【図３】
2020060897.tif 000005
【図４】
2020060897.tif 000006
【図５】
2020060897.tif 000007
【図６】
2020060897.tif 000008
【図７】
2020060897.tif 000009
【図８】
2020060897.tif 000010
【図９】
2020060897.tif 000011
【図１０】
2020060897.tif 000012
【図１１】
2020060897.tif 000013