【文献】
黒江 康明 外1名,「強化学習の最近の発展 第7回 群強化学習法」,計測と制御,公益社団法人計測自動制御学会,2013年 6月10日,第52巻,第6号,pp.540−547
【文献】
乾 岳史 外1名,「マルチエージェントを用いた組織形成に関する基礎的研究」,情報処理学会研究報告,社団法人情報処理学会,2001年 3月16日,第2001巻,第28号,pp.23−30
(58)【調査した分野】(Int.Cl.,DB名)
前記学習部は、複数の前記端末における複数の役割から自己の前記端末の役割を選択して担当し、前記端末の役割に基づいて前記制御情報を更新して前記動作制御部の動作制御を行わせる、請求項1から請求項4のいずれか1項に記載の機械学習システム。
前記学習部は、複数の前記端末において割り振られた自己の前記端末の役割を担当し、前記端末の役割に基づいて前記制御情報を更新して前記動作制御部の動作制御を行わせる、請求項1から請求項4のいずれか1項に記載の機械学習システム。
前記学習部は、前記比較結果において自己の前記評価結果が低い場合、自己の前記端末の役割を複数の階層における最上位の階層に変更する、請求項7に記載の機械学習システム。
前記端末の役割は、動作を行う第1階層の役割、前記第1階層の前記端末が行った動作を取りまとめて第3階層に報告する第2階層の役割、または前記第2階層の前記端末からの報告を取りまとめてジョブに対するシステム全体の進捗度をシステム外部に報告する第3階層の役割のいずれかにそれぞれ振り分けられ、
前記学習部は、自己の前記端末の役割が前記第1階層であって、自己の前記評価結果が低い場合、自己の前記端末の役割を前記第2階層とし、
自己の前記端末の役割が前記第2階層であって、自己の前記評価結果が低い場合、自己の前記端末の役割を前記第3階層とする、請求項6から請求項8のいずれか1項に記載の機械学習システム。
前記学習部は、自己の前記端末の役割が前記第1階層であって、他の前記端末の役割が前記第2階層である他の前記端末よりも前記評価結果が低い場合、当該他の前記端末と自己の前記端末との役割を交代し、
自己の前記端末の役割が前記第2階層であって、他の前記端末の役割が前記第3階層である他の前記端末よりも前記評価結果が低い場合、当該他の前記端末と自己の前記端末との役割を交代する、請求項9に記載の機械学習システム。
【発明を実施するための形態】
【0013】
以下、本開示の実施形態について図面を参照して説明する。なお、以下に説明する実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。
【0014】
(実施形態1)
<構成>
図1は、本開示の実施形態1に係る機械学習システム1を示すブロック構成図である。この機械学習システム1は、例として、所定の目的、例えば、掃除ロボットにより所定の範囲内の掃除を行う目的や、産業用ロボットによりベルトコンベアで搬送される製造物の組み立てを行う目的のために、複数の端末により相互に協調動作を行い、所定の目的のための動作を行うシステムである。
【0015】
機械学習システム1は、複数の端末100A,100B,100C,・・・と、ネットワークNWとを有している。端末100A,100B,100C,・・・は、ネットワークNWを介して相互に接続される。ネットワークNWは、例えば、端末100A,100B,100C,・・・の間で直接無線通信を行うための仮想的な通信網であり、Bluetooth(登録商標)やZ−Wave(登録商標)等により構成されているが、インターネット、イントラネット、LAN(Local Area Network)やWAN(Wide Area Network)等により構成されても良い。なお、端末100A,100B,100C,・・・は、それぞれ同様の構成を備えるものであり、端末100A,100B,100C,・・・の構成を説明する際、代表して端末100と表記する。
【0016】
端末100は、所定の目的を達するための個々の端末装置であり、例えば前述の例の場合、掃除ロボットや産業用ロボットにより構成され、コンピュータ(電子計算機)により動作制御されている。個々の端末100には人工知能のプログラムが組み込まれており、後述する機械学習を行うことで機械学習システム1の全体を所定の目的を達するために最適化する機能を備えている。また、この機械学習システム1では、端末100自身の強化学習により自律制御が行われ、システム全体の制御を行うサーバのような装置は備えていない。
【0017】
図2は、
図1の端末100を示す機能ブロック構成図である。端末100は、通信部110と、検知部120と、動作部130と、記憶部140と、制御部150とを備える。
【0018】
通信部110は、ネットワークNWを介して他の端末100と通信を行うための通信インタフェースであり、例えばGATT(Generic Attribute Profile)やTCP/IP(Transmission Control Protocol/Internet Protocol)等の通信規約により通信が行われる。
【0019】
この通信部110は、他の端末100と相互に通信を行い、後述するように、制御部150内の評価部153による評価結果を送信し、他の端末100の評価部153による評価結果を受信するために使用される。なお、本実施形態ではネットワークNWは無線通信を行う構成としているが、端末100A,100B,100C,・・・がそれぞれ有線で接続されていても良い装置である場合、有線通信を行う構成としても良い。
【0020】
検知部120は、後述する制御部150内のデバイス制御部151の制御により、端末100の周囲の環境を検知する装置であり、赤外線センサやCCDイメージセンサ、カメラや集音器のようなセンサにより構成され、例えば端末100の筐体の外側に配置されている。
【0021】
具体的には、掃除ロボットの場合における当該ロボットの周囲における画像データや音声データを含む検知データから床面の埃や塵、掃除ロボットの動きを妨げる障害物の存在を検知し、産業用ロボットの周囲における製造物や、ベルトコンベア等の設備の存在を検知する。検知された検知結果のデータは、後述する記憶部140内の検知結果DB141に格納される。
【0022】
動作部130は、後述する制御部150内の動作制御部152の制御により、掃除ロボットや産業用ロボットとしての端末100の動作を行う装置であり、例えば端末100を移動させるための車輪、物をつかむ、離す等の動作を行うアームや、これらを駆動させるためのアクチュエータ等により構成されている。
【0023】
記憶部140は、各種制御処理や制御部150内の各機能を実行するためのプログラム、入力データ等を記憶するものであり、RAM(Random Access Memory)、ROM(Read Only Memory)等から構成される。また、記憶部140は、検知結果DB141、評価結果DB142、及び制御情報DB143を記憶する。さらに、記憶部140は、他の端末100と通信を行ったデータや、後述する各処理にて生成されたデータを一時的に記憶する。
【0024】
検知結果DB141には、検知部120による検知結果のデータが格納される。例えば検知部120が赤外線センサで構成されている場合、赤外線センサが反応した位置、方向及び日時等のデータが、CCDイメージセンサやカメラで構成されている場合、CCDイメージセンサやカメラにより撮影された画像データ及び日時データ等が、集音器で構成されている場合、音声データが格納される。
【0025】
評価結果DB142には、後述する制御部150内の評価部153による評価結果と、通信部110により受信された、他の端末100の評価部153による評価結果が格納される。
【0026】
制御情報DB143には、端末100の動作部130の動作を制御する制御情報、例えばアクチュエータの速度や回転数等の情報が格納される。この制御情報は、当初は初期設定された制御情報が格納され、後述する制御部150内の学習部156による強化学習によってアップデートされる。
【0027】
制御部150は、記憶部140に記憶されているプログラムを実行することにより、端末100の全体の動作を制御するものであり、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等から構成される。制御部150の機能として、デバイス制御部151と、動作制御部152と、評価部153と、評価結果受付部154と、比較部155と、学習部156とを備えている。このデバイス制御部151、動作制御部152、評価部153、評価結果受付部154、比較部155、及び学習部156は、記憶部140に記憶されているプログラムにより起動されてコンピュータが内蔵されている端末100により実行される。
【0028】
デバイス制御部151は、通信部110、検知部120、及び記憶部140の動作制御を行う。具体的には、例えば、通信部110に対して、所定のタイミングでデータの送受信を行わせる。検知部120に対して、センシング方向を変更させたり、画像データのピント合わせを行わせたり、検知のタイミングを変更させたりする。記憶部140に対して、各種データを記憶させ、記憶領域の配置決め等を行わせる。このような制御を行うため、デバイス制御部151は、通信部110、検知部120、及び記憶部140に対して制御信号の送受信を行うことで制御する。
【0029】
動作制御部152は、動作部130の動作を制御する、制御情報DB143に格納されている制御情報を読み取り、動作部130の動作制御を行う。具体的には、例えば、車輪やアームに対して移動や物をつかむ等の所定の動作を行わせるため、アクチュエータに対する制御信号を生成して送信することで制御する。
【0030】
評価部153は、検知部120によって検知された端末100の周囲の環境に基づき、動作制御部152によって制御された動作部130の動作による、端末100の動作を評価する。この動作の評価は、例えば、端末100の所定の目的を達するためのジョブの進捗度により数値化して評価を行う。
【0031】
具体的には、例えば、端末100が掃除ロボットである場合は、端末100が行う掃除の進捗度(各端末100に割り当てられた掃除をする領域に対する進捗度)や、複数の端末100が掃除を行う領域に対する各端末100の寄与度、端末100が産業用ロボットである場合は、端末100が行う製造物の製造に係る各端末100の寄与度が、端末100ごとに評価される。評価部153による評価結果は、評価結果DB142に格納される。
【0032】
評価結果受付部154は、通信部110が受信した、他の端末100の評価部153による評価結果を受け付け、評価結果DB142に格納する。
【0033】
比較部155は、評価結果DB142に格納されている、自己の端末100の評価部153による評価結果と、他の端末100の評価部153による評価結果とを比較する。具体的には、前述の例のように、端末100が掃除ロボットである場合の掃除の進捗度(各端末100に割り当てられた掃除をする領域に対する進捗度)や、複数の端末100が掃除を行う領域に対する各端末100の寄与度、端末100が産業用ロボットである場合の製造物の製造に係る各端末100の寄与度を比較する。
【0034】
学習部156は、評価結果DB142に格納されている自己の評価結果から、比較部155による比較結果に基づいて機械学習を行う機能を有している。この学習部156は、端末100の動作を制御する制御情報を生成して制御情報DB143に格納し、制御情報を更新(アップデート)する。すなわち、評価結果DB142に格納されている自己の評価結果だけではなく、他の端末100の評価結果との比較結果に基づいて強化学習が行われることにより、複数の端末100の強化学習の結果により自律制御が行われ、機械学習システム1の全体で最適化を行っている。
【0035】
ここで、学習部156にて行われる機械学習について説明する。学習部156では、例えば、人工知能によって行われる機械学習の一類型である強化学習が行われる。
【0036】
強化学習は、試行錯誤を通じて価値(報酬)を最大化する行動を学習するものであり、環境に行動が与える相互作用を踏まえて適切な行動、すなわち将来的に得られる報酬を最大化するために学習を行う手法である。強化学習は、行動が引き起こす結果を知らない状態から開始することが可能な点で有利である。
【0037】
学習部156は、端末100の所定の目的に応じた報酬を設定し、評価結果DB142に格納されている自己の端末100の評価結果に基づいて強化学習を行う。この評価結果は、自己の端末100の評価部153による評価結果であり、例えば、端末100の所定の目的を達するためのジョブの進捗度等である。
【0038】
さらに、学習部156では、比較部155による比較結果に基づいて報酬を更新することで強化学習を変化させ、生成する制御情報を変化させることにより個々の端末100の動作制御を行い、機械学習システム1の全体で最適化を行っている。これにより、個々の端末100の状況に応じた動作制御を行い、機械学習システム1の全体で最適化を行うことを可能にしている。
【0039】
また、学習部156は、端末100が選択して担当している所定の役割を変更することにより、機械学習システム1の全体で最適化を行っている。あるいは、複数の端末100においてそれぞれの端末100に割り振られて担当している役割を変更することにより、機械学習システム1の全体で最適化を行っている。
【0040】
機械学習システム1の全体で最適化を行うため、端末100が担当する役割について説明する。
図3は、
図2の端末100が環境E内に複数配置されている状態の例を示す模式図であり、
図4は、
図2の端末100の役割の例の一覧を示す模式図である。
【0041】
図3に示すように、機械学習システム1を構成する複数の端末100は、環境E内に配置されている。環境Eは、機械学習システム1が所定の目的を達するための環境であり、例えば掃除ロボットにより掃除を行う所定の範囲や、産業用ロボットにより組み立てを行う製造物が搬送されるベルトコンベアである。
図3では7個の端末100が配置されているが、機械学習システム1の所定の目的や環境Eの範囲、所定の目的を達するために与えられた時間(期間)によって異なる個数の端末100が配置され、環境Eにおける端末100の配置位置も異なる。
【0042】
複数の端末100は、機械学習システム1の所定の目的を達するために、例えば複数の階層に振り分けられた役割が端末100ごとに選択され、あるいは割り振られて担当する。
図4に示すように、端末100には、例えば3つの役割として、コンダクタ(第1階層)、チューナ(第2階層)、及びプレイヤ(第3階層)が設けられる。なお、以下に説明するコンダクタ、チューナ、及びプレイヤの具体的な役割は、端末100の役割の例であり、これらに限られない。
【0043】
プレイヤは、機械学習システム1の所定の目的のため、所定の範囲の各種動作を行う役割を有している。この所定の範囲は、例えば端末100が掃除ロボットである場合における各端末100が行う掃除の範囲(面積)や、端末100が産業用ロボットである場合における製造物の製造工程の範囲である。
【0044】
チューナは、プレイヤの動作を取りまとめてコンダクタに報告する役割を有しており、複数のプレイヤの上位階層として1または複数の端末100がこの役割を担当している。
【0045】
コンダクタは、チューナからの報告を取りまとめ、ジョブに対する機械学習システム1全体の進捗度を、図示しない機械学習システム1の外部装置(外部)に報告する役割を有しており、複数のチューナの上位階層として1または複数の端末100がこの役割を担当している。機械学習システム1の初期稼働時には、この役割を任意の端末100が選択して、あるいは割り振られて担当しても良く、全ての端末100の役割がプレイヤであっても良い。また、複数の役割の階層は3つに限られず、2つまたは4つ以上でも良い。
【0046】
ここで、コンダクタ及びチューナの役割を担当している端末100と、下位階層の端末100との関係の例について説明する。プレイヤは、機械学習システム1の所定の目的のため、所定の範囲の各種動作を行う役割を有している。チューナは、自己の下位階層に配置されているプレイヤの動作を取りまとめてコンダクタに報告する役割を有している。
【0047】
また、コンダクタは、自己の下位階層に配置されているチューナからの報告を取りまとめ、ジョブに対する機械学習システム1全体の進捗度を、図示しない機械学習システム1の外部装置(外部)に報告する役割を有している。このように、役割を複数の階層に振り分けているのは、上位階層の端末100が下位階層の端末100の役割を補完することにより、端末100の特徴に応じた動作制御を行い、機械学習システム1の全体で最適化を行うことを可能にしている。
【0048】
次に、端末100が選択して担当する役割を、変更または交代する場合について説明する。
図5は、
図4の端末100の役割が変更される例を示す模式図であり、
図6は、
図4の端末100の役割が交代される例を示す模式図である。
【0049】
図5に示すように、例えばプレイヤの役割を担当する端末100Aの評価結果が、他のプレイヤの役割を選択して担当する端末100B,100Cの評価結果よりも低い場合、例えば、端末100A自身の選択により端末100Aの抽象度が上げられ、役割をチューナに変更、すなわち昇格する。このときの評価結果の比較は比較部155により行われるが、評価結果の高低の比較は、評価結果DB142に自己及び他の端末100の評価結果が格納されていることにより可能であり、複数の端末100の評価結果のうち、自己の評価結果が最も低い場合に昇格することを選択しても良く、自己の評価結果が所定の値より低い場合に昇格することを選択してチューナに昇格しても良い。
【0050】
また、チューナの場合も同様であり、例えばチューナの役割を担当する端末100の評価結果が、他のチューナの役割を選択して担当する端末100の評価結果よりも低い場合、例えば、端末100自身の選択により端末100の抽象度が上げられ、役割を最上位の階層であるコンダクタに変更、すなわち昇格する。このように役割を変更するのは、現在の役割における評価結果が高い端末100をそのままの役割とし、評価結果が低い端末100が昇格することにより、適材適所の配置にするためである。
【0051】
また、
図6に示すように、例えばプレイヤの役割を担当する端末100Aの評価結果が、チューナの役割を選択して担当する端末100Bがプレイヤの役割であったときの評価結果よりも低い場合、端末100Aの役割と、端末100Bの役割とを交代する。
【0052】
さらに、チューナの場合も同様であり、例えばチューナの役割を担当する端末100の評価結果が、コンダクタの役割を選択して担当する端末100がチューナの役割であったときの評価結果よりも低い場合、それぞれ役割を交代する。このように役割を交代するのは、コンダクタ、チューナ、及びプレイヤの端末数を維持しつつ、端末100の適材適所の配置を可能にするためである。
【0053】
<処理の流れ>
図7を参照しながら、機械学習システム1が実行する機械学習方法の一例の処理の流れについて説明する。
図7は、
図2の端末100の動作を示すフローチャートである。
【0054】
端末100が、例えば
図3に示すような環境E内に配置されて稼働が開始されると、ステップS101の処理として、検知部120では、デバイス制御部151の制御により環境E内における端末100の周囲の環境が検知される。検知された検知結果データは、記憶部140内の検知結果DB141に格納される。
【0055】
ステップS102の処理として、動作制御部152では、制御情報DB143に格納されている動作部130の動作を制御する制御情報が読み取られる。このとき読み取られる制御情報は、初期状態の場合は制御情報DB143に初期設定されたものであり、学習部156による強化学習の後は、強化学習によりアップデートされたものである。
【0056】
ステップS103の処理として、動作制御部152では、ステップS102で読み取られた制御情報に基づき、動作部130が動作制御され、機械学習システム1の目的を達するための動作部130の所定の動作が行われる。
【0057】
ステップS104の処理として、検知部120では、ステップS101と同様に、デバイス制御部151の制御により環境E内における端末100の周囲の環境が検知される。検知された検知結果データは、記憶部140内の検知結果DB141に格納される。
【0058】
ステップS105の処理として、評価部153では、ステップS104で検知された端末100の周囲の環境に基づき、動作部130の動作による端末100の動作が評価される。評価部153による評価は、例えば、端末100の所定の目的を達するためのジョブの進捗度により数値化されて評価される。この評価結果は、評価結果DB142に格納される。
【0059】
ステップS106の処理として、評価結果受付部154では、通信部110を介して受信した、他の端末100の評価部153による評価結果が受け付けられ、評価結果DB142に格納される。
【0060】
ステップS107の処理として、比較部155では、評価結果DB142に格納されている、ステップS105で評価された自己の端末100の評価結果と、ステップS106で評価された他の端末100の評価結果とが比較される。
【0061】
ステップS108の処理として、学習部156では、評価結果DB142に格納されている、ステップS105で評価された自己の端末100の評価結果から、ステップS107で比較された比較結果に基づき、強化学習が行われ、機械学習システム1の全体で最適化される。
【0062】
また、ステップS108では、端末100の役割として、例えばコンダクタ、チューナ、またはプレイヤのいずれかを選択あるいは割り振られて担当し、その後、この役割を変更または交代し、強化学習が行われる。
【0063】
ステップS109の処理として、評価部153では、動作部130の動作による端末100の所定の目的を達するためのジョブの進捗度が100%であるか否か、すなわち端末100が行う作業が完了しているか否かが判定される。ジョブの進捗度が100%でない場合(ステップS109で「N」の場合。)、後続処理としてステップS102の処理を行い、ジョブの進捗度が100%である場合(ステップS109で「Y」の場合。)、処理が終了される。
【0064】
<効果>
以上のように、本実施形態に係る機械学習システムは、検知部により端末の周囲の環境が検知され、評価部により、動作制御部によって制御された端末の動作が検知結果に基づいて評価される。比較部により、自己の端末の評価結果と他の端末から受信した評価結果とが比較され、学習部により、比較結果に基づいて強化学習が行われ、制御情報が更新されて端末の動作制御が行われる。これにより、人工知能のプログラムが組み込まれた複数の端末のみで自律制御することが可能であり、サーバ装置による制御が不要になる。
【0065】
また、学習部にて行われる強化学習では、端末の所定の目的に応じた報酬が設定され、比較結果に基づいて報酬が更新される。これにより、複数の端末から構成される機械学習システムにおいて、個々の端末の状況に応じた強化学習を行い、機械学習システム全体で最適化を行うことが可能になる。
【0066】
さらに、学習部にて行われる強化学習では、複数の役割のうちの1つを端末ごとに選択あるいは割り振られて担当し、端末の評価結果が他の端末の評価結果よりも低い場合や、所定の値より低い場合、その端末の抽象度が上げられ、役割を変更し、または他の役割の端末と役割を交代する。これにより、複数の端末から構成される機械学習システムにおいて、個々の端末の特徴に応じた強化学習を行い、機械学習システム全体で最適化を行うことが可能になる。
【0067】
(実施形態2)
図8は、本開示の実施形態2に係る機械学習システム1の適用例である、複数の掃除ロボット200A〜200Gが環境E内に配置されている状態の例を示す模式図である。この掃除ロボット200A〜200Gは、実施形態1に係る端末100を、具体的な適用例として掃除ロボットに適用したものであり、それぞれ端末100と同様の構成を備えている。なお、掃除ロボット200A〜200Gは、それぞれ同様の構成を備えるものであり、掃除ロボット200A〜200Gの構成を説明する際、代表して掃除ロボット200と表記する。
【0068】
図2に示す検知部120は、本実施形態では、掃除ロボット200の底面側の床面やその周囲を検知するための赤外線センサや超音波センサ、自己の向きや位置情報を取得するためのジャイロセンサ等により構成されている。これらのセンサにより取得された画像データや、方向及び位置情報データは、検知結果のデータとして検知結果DB141に格納される。
【0069】
動作部130は、本実施形態では、掃除ロボット200の動作を行う車輪やそれを駆動させるためのモータ、埃や塵を収集する集塵箇所に設けられたローラやそれを駆動させるためのアクチュエータ等により構成されている。また、制御部150の動作制御部152は、制御情報DB143に格納されている制御情報を読み取り、これらの装置の動作制御を行う。
【0070】
制御部150の評価部153は、掃除ロボット200によって行われた掃除の動作後の検知結果のデータを取得し、掃除の結果を評価する。このとき、強化学習のための報酬は自己の掃除範囲の掃除が完了した状態であり、掃除が完了した状態に対するジョブの進捗度が評価され、例えば、評価部153では、掃除ロボット200に割り当てられた掃除をする領域に対する進捗度や、掃除をすべき領域に対する当該掃除ロボットの寄与度により評価される。この評価による評価結果は、評価結果DB142に格納される。
【0071】
比較部155は、掃除ロボット200に割り当てられた掃除をする領域に対する進捗度や、掃除をすべき領域に対する当該掃除ロボットの寄与度からの評価結果に基づいて自己の端末100の評価結果と他の端末100の評価結果とを比較する。学習部156は、比較部155の比較結果に基づいて強化学習を行い、掃除ロボット200の制御情報を生成する。比較結果に基づいて報酬を変更することで強化学習を変化させ、生成する制御情報を変化させることにより個々の掃除ロボット200の動作制御を行い、機械学習システム1の全体で最適化を行っている。これにより、個々の掃除ロボット200の状況に応じた動作制御を行い、機械学習システム1の全体で最適化を行うことを可能にしている。
【0072】
また、学習部156では、強化学習の結果、例えば、実施形態1と同様に、掃除ロボット200それぞれの役割が変更される。
【0073】
図9は、
図8の掃除ロボット200の役割が変更される例を示す模式図である。例えば、
図8に示すように本実施形態の初期状態では、掃除ロボット200A〜200Gの全てが一律に、
図4に示すプレイヤの役割を選択する。
【0074】
その後、掃除ロボット200A〜200Gそれぞれが稼働してその過程で強化学習を行い、例えば掃除ロボット200C,200F,200Gの評価結果が低いと判定された場合、これらの掃除ロボットの抽象度が上げられ、
図9に示すようにチューナに昇格する。さらに、例えば掃除ロボット200Gの評価結果が低いと判定された場合、この掃除ロボットの抽象度が上げられ、
図9に示すようにコンダクタに昇格する。
【0075】
図10は、
図8の掃除ロボット200A〜200Gの役割が交代される例を示す模式図である。
図9に示す状態の後、掃除ロボット200A〜200Gそれぞれが稼働し、さらに強化学習を行い、例えば役割がプレイヤである掃除ロボット200Bの評価結果が低く,役割がチューナである掃除ロボット200Cの評価結果が高いと判定された場合、掃除ロボット200Bの役割と掃除ロボット200Cの役割とを交代する。これにより、個々の掃除ロボット200A〜200Gの特徴に応じた動作制御を行い、機械学習システム1の全体で最適化を行うことを可能にしている。
【0076】
本実施形態によれば、上記実施形態1の効果に加え、機械学習システムの適用例として掃除ロボットに適用することが出来る。これにより、個々の掃除ロボットの状況や特徴に応じた強化学習を行い、機械学習システム全体で最適化を行うことが可能になる。
【0077】
(実施形態3(プログラム))
図11は、コンピュータ(電子計算機)300の構成の例を示す機能ブロック構成図である。コンピュータ300は、CPU301、主記憶装置302、補助記憶装置303、インタフェース304を備える。
【0078】
ここで、実施形態1または2に係るデバイス制御部151、動作制御部152、評価部153、評価結果受付部154、比較部155、及び学習部156を構成する各機能を実現するための制御プログラムの詳細について説明する。これらの機能ブロックは、コンピュータ300に実装される。そして、これらの各構成要素の動作は、プログラムの形式で補助記憶装置303に記憶されている。CPU301は、プログラムを補助記憶装置303から読み出して主記憶装置302に展開し、当該プログラムに従って上記処理を実行する。また、CPU301は、プログラムに従って、上述した記憶部に対応する記憶領域を主記憶装置302に確保する。
【0079】
当該プログラムは、具体的には、コンピュータ300において、端末の周囲の環境を検知する検知ステップと、端末の周囲の環境に対して動作を行わせる動作制御ステップと、検知ステップにおける検知結果に基づき、動作制御ステップにおける動作の評価を行う評価ステップと、他の端末と相互に通信を行い、他の端末との間で、評価ステップにおける評価結果の送受信を行う通信ステップと、自己の評価結果と、他の端末の評価結果とを比較する比較ステップと、比較ステップにおける比較結果に基づき機械学習を行い、動作制御ステップの制御情報を更新する学習ステップと、をコンピュータによって実現する制御プログラムである。
【0080】
なお、補助記憶装置303は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース304を介して接続される磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等が挙げられる。また、このプログラムがネットワークを介してコンピュータ300に配信される場合、配信を受けたコンピュータ300が当該プログラムを主記憶装置302に展開し、上記処理を実行してもよい。
【0081】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能を補助記憶装置303に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0082】
以上、開示に係る実施形態について説明したが、これらはその他の様々な形態で実施することが可能であり、種々の省略、置換および変更を行なって実施することが出来る。これらの実施形態および変形例ならびに省略、置換および変更を行なったものは、特許請求の範囲の技術的範囲とその均等の範囲に含まれる。
【解決手段】機械学習システム1の端末100は、他の端末100と評価結果の送受信を行う通信部110と、端末100の周囲の環境を検知する検知部120とを備え、その機能として、デバイス制御部151と、端末100の動作を行う動作部130の動作制御を行う動作制御部152と、検知された端末100の周囲の環境に基づいて動作部130による端末100の動作を評価する評価部153と、他の端末100の評価結果を受け付ける評価結果受付部154と、自己及び他の端末100の評価結果を比較する比較部155と、比較結果に基づいて機械学習を行う学習部156と、を備える。