JP2021181124A - 制御装置、制御方法、およびプログラム - Google Patents
制御装置、制御方法、およびプログラム Download PDFInfo
- Publication number
- JP2021181124A JP2021181124A JP2018135556A JP2018135556A JP2021181124A JP 2021181124 A JP2021181124 A JP 2021181124A JP 2018135556 A JP2018135556 A JP 2018135556A JP 2018135556 A JP2018135556 A JP 2018135556A JP 2021181124 A JP2021181124 A JP 2021181124A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- parameter
- model
- learning
- learning data
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
【課題】ロボットのモデルパラメータを環境に迅速に適応させることができるようにする。【解決手段】本技術の一側面の制御装置は、第1のロボットにより学習が行われることによって生成された、第1のロボットのモデルを構成する第1のパラメータを取得するパラメータ取得部と、第2のロボットのモデルを構成する第2のパラメータを置き換えた第1のパラメータを、第2のロボットが存在する環境に応じて学習する学習部とを備える。本技術は、ロボットに適用することができる。【選択図】図2
Description
本技術は、制御装置、制御方法、およびプログラムに関し、特に、ロボットのモデルパラメータを環境に迅速に適応させることができるようにした制御装置、制御方法、およびプログラムに関する。
家庭内のサービスロボット、産業用のロボットといったように、ロボットが各種の用途で使われ始めている。
所定の役務をロボットに行わせる場合、ロボットが保持するモデルパラメータを、そのロボットが導入された環境に適応させる必要がある。モデルパラメータは、ロボットの行動などを規定するモデルのパラメータである。モデルパラメータの学習の積み重ねによって、ロボットが環境に適応していくことになる。
導入時のモデルパラメータとしては、通常、デフォルトのモデルパラメータである初期パラメータが用いられる。この場合、導入された環境に適応させるためには多くの学習が必要となり、コストが掛かる。
本技術はこのような状況に鑑みてなされたものであり、ロボットのモデルパラメータを環境に迅速に適応させることができるようにするものである。
本技術の一側面の制御装置は、第1のロボットにより学習が行われることによって生成された、前記第1のロボットのモデルを構成する第1のパラメータを取得するパラメータ取得部と、第2のロボットのモデルを構成する第2のパラメータを置き換えた前記第1のパラメータを、前記第2のロボットが存在する環境に応じて学習する学習部とを備える。
本技術の一側面においては、第1のロボットにより学習が行われることによって生成された、第1のロボットのモデルを構成する第1のパラメータが取得され、第2のロボットのモデルを構成する第2のパラメータを置き換えた第1のパラメータが、第2のロボットが存在する環境に応じて学習される。
本技術によれば、ロボットのモデルパラメータを環境に迅速に適応させることができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
1.情報処理システムについて
2.各装置の構成
3.適応元個体の処理
4.適応先個体の処理
5.適応先個体の処理(変形例)
6.適応先個体が可動体である場合
7.適応先個体においてモデルパラメータのリセットができる場合
8.適応先個体のモデルと他のモデルとの重み付けを行う例
9.学習用データの管理の例
10.共有クラウドサーバ以外を利用する場合
11.その他の例
1.情報処理システムについて
2.各装置の構成
3.適応元個体の処理
4.適応先個体の処理
5.適応先個体の処理(変形例)
6.適応先個体が可動体である場合
7.適応先個体においてモデルパラメータのリセットができる場合
8.適応先個体のモデルと他のモデルとの重み付けを行う例
9.学習用データの管理の例
10.共有クラウドサーバ以外を利用する場合
11.その他の例
<1.情報処理システムについて>
図1は、本技術の一実施形態に係る情報処理システムの構成例を示す図である。
図1は、本技術の一実施形態に係る情報処理システムの構成例を示す図である。
図1に示す情報処理システムは、ある部屋に存在するロボットと共有クラウドサーバ1が、インターネットなどのネットワーク11を介して接続されることによって構成される。ロボットと共有クラウドサーバ1は相互に通信を行うことが可能とされる。
図1の例においては、四足歩行が可能な犬型のロボットであるロボットAとロボットBが室内に存在する。ロボットAとロボットBは、例えば、室内に設置されたルータなどを介してネットワーク11に接続される。
この例においては四足歩行が可能なロボットが用いられているが、二足歩行が可能なロボット、産業用途などに用いられるアーム型のロボットなどの他の形状のロボットが用いられるようにしてもよい。
また、図1の例においては2台のロボットが存在するものとされているが、同じ部屋にさらに多くのロボットが用意されるようにしてもよい。ある1つの部屋が示されているが、ネットワーク11には、他の部屋、工場などの建物の屋内の空間、屋外の空間などのさらに多くの環境に存在するロボットが接続される。
ロボットAとロボットBは、内蔵するコンピュータによって所定のプログラムを実行し、頭、腕、足などの各部位を駆動させることによってそれぞれ自律的な行動をとる。
ロボットAとロボットBの行動などの各種の処理は、それぞれが有するモデルによって規定される。モデルは、例えば、カメラやマイクなどの各種のセンサにより検出された周囲の環境を入力として、入力に応じた行動を出力する。
ロボットAとロボットBにおいては、それぞれのモデルを構成するモデルパラメータが、周囲の環境に基づいて繰り返し学習される。
図2は、モデルパラメータの学習の例を示す図である。
図2の上段に示すように、ある環境に導入された直後(時刻0)のロボットAのモデルは、デフォルトのモデルパラメータにより構成される初期モデルとなる。
ロボットAにおいては、学習用データを用いた学習が行われることによりモデルパラメータが更新され、矢印#1の先に示すように、更新されたモデルパラメータにより構成されるモデルが生成される。例えば、カメラやマイクなどの各種のセンサによってロボットAにより取得された情報を学習用データとして、モデルパラメータの学習が行われる。
また、時刻1におけるモデルを構成するモデルパラメータの学習が同様にして行われることにより、矢印#2の先に示すように、さらに更新されたモデルパラメータにより構成されるモデルが生成される。
このようなモデルパラメータの学習が繰り返されることにより、ロボットAのモデルパラメータは、ロボットAが導入された環境に自動的に適応していくことになる。環境に適応したモデルパラメータに基づく行動は、モデルパラメータの学習が行われていない、すなわち、環境に適応していないモデルパラメータに基づく行動と比べて、仕事効率が高い。
ロボットBにおいても、同様にしてモデルパラメータの学習が行われる。
図1の共有クラウドサーバ1は、ある個体のロボットからアップロードされた学習済みのモデルパラメータを受信し、内部のデータベースに記憶させて管理するサーバである。
このように、共有クラウドサーバ1は、学習済みのモデルパラメータを管理する管理装置として機能する。共有クラウドサーバ1の機能が、1台のサーバによって実現されるようにしてもよいし、複数台のサーバによって実現されるようにしてもよい。
また、共有クラウドサーバ1は、管理しているモデルパラメータを別の個体のロボットに提供する(ダウンロードさせる)。例えば、ダウンロード先となるロボットと同じ環境に存在するロボットからアップロードされた学習済みのモデルパラメータが提供される。
モデルパラメータの提供を受けたロボットは、自分から見て別のロボットにより学習された学習済みのモデルパラメータにより構成されるモデルに従って行動する。また、モデルパラメータの提供を受けたロボットは、自身が取得した学習用データを用いて、モデルパラメータの学習を行う。
モデルパラメータの提供を受けたロボットは、別のロボットにより学習されたモデルパラメータをベースとして、自身が存在する環境に応じた学習を行い、自身のモデルパラメータを環境に適応させていくことになる。
以下、学習済みのモデルパラメータを共有クラウドサーバ1にアップロードするロボットを、適応元のロボットという。適応元のロボットは、モデルパラメータの学習を繰り返すことにより、環境に既に適応しているロボットである。
また、学習済みのモデルパラメータを共有クラウドサーバ1からダウンロードするロボットを、適応先のロボットという。ダウンロード前の適応先のロボットは、モデルパラメータの学習を繰り返していないため、環境にまだ適応していないロボットである。
適応元のロボットがロボットAであり、適応先のロボットがロボットBであるものとして説明する。
時刻tにおける、ロボットAのモデルパラメータをM(At)、ロボットBのモデルパラメータをM(Bt)とする。また、時刻tにおいてM(At)の学習に用いられた学習用データをD(At)とする。学習用データD(At)には、時刻t-1までの学習用データは含まれないものとする。
図3は、モデルパラメータの送受信の例を示す図である。
図3の左上に示すように、適応元のロボットであるロボットAにおいては、モデルパラメータM(A0)の学習が適応後も行われ、矢印#11に示すように、モデルパラメータM(At)が生成される。
モデルパラメータM(At)は、矢印#12に示すように共有クラウドサーバ1にアップロードされ、共有クラウドサーバ1において管理される。
モデルパラメータM(At)のアップロード後、ロボットAにおいては、モデルパラメータM(At)をベースにした学習が行われる。モデルパラメータM(At)をベースにした学習が行われることにより、矢印#13に示すように、アップロード後のロボットAの環境にさらに適応したモデルパラメータであるモデルパラメータM(AT)が生成される。
一方、図3の右上に示すように、適応先のロボットであるロボットBのモデルが初期モデルであるものとする。ロボットBは、例えば、ロボットAが存在する環境に後から導入されたロボットである。
ロボットBにおいては、矢印#21,#22の先に示すように、ロボットAによりアップロードされ、共有クラウドサーバ1において管理されていたモデルパラメータM(At)がダウンロードされる。モデルパラメータM(At)により構成されるモデルによって、ロボットBの初期モデルが置き換えられる。
モデルの置き換え後、ロボットBにおいては、モデルパラメータM(At)をベースにした学習が行われる。学習に用いられる学習用データは、ロボットBにより取得されたデータである。
モデルパラメータM(At)をベースにした学習が行われることにより、矢印#23に示すように、ダウンロード後のロボットBの環境に適応したモデルパラメータであるモデルパラメータM(BT)が生成される。
このように、ロボットBは、別の個体のロボットであるロボットAにより生成されたモデルパラメータM(At)により構成されるモデルによって初期モデルを置き換え、それ以降、自身の環境に応じてモデルパラメータの学習を進めることになる。ロボットBは、初期モデルを置き換えずにモデルパラメータの学習を進める場合に比べて、自身の環境に、より迅速に適応することができる。
また、モデルパラメータのアップロードとダウンロードがユーザの操作によらずに自動的に行われるため、ユーザは、そのようなモデルパラメータを送受信するための操作を行う必要がない。
例えば、ロボットAによるモデルパラメータM(At)のアップロードは、ユーザの操作によらずに所定の周期で自動的に行われる。また、ロボットBによるモデルパラメータM(At)のダウンロードは、ユーザの操作によらずに、導入後の所定のタイミングで自動的に行われる。
以上のようにしてモデルパラメータの送受信を行うロボットの動作についてはフローチャートを参照して後述する。
<2.各装置の構成>
・ロボットの構成例
図4は、ロボット2のハードウェア構成例を示すブロック図である。
・ロボットの構成例
図4は、ロボット2のハードウェア構成例を示すブロック図である。
図4に示すロボット2の構成と同様の構成を、図1のロボットA,Bが有している。適宜、図4に示すロボット2の構成を、ロボットA,Bの構成として引用して説明する。
図4に示すように、ロボット2は、制御部31に対して、入出力部32、駆動部33、無線通信部34、および電源部35が接続されることによって構成される。
制御部31は、CPU(Central Processing Unit)、ROM(Read Only Memory),RAM(Random Access Memory)、フラッシュメモリなどを有するコンピュータにより構成される。制御部31は、CPUにより所定のプログラムを実行し、ロボット2の全体の動作を制御する。制御部31を構成するコンピュータは、ロボット2の動作を制御する制御装置として機能する。
例えば、制御部31は、入出力部32のカメラ41から供給された撮影画像に基づいて周囲の環境を認識する。制御部31は、周囲の環境に応じた行動をモデルに従って決定し、決定した行動をとるように、駆動部33の各部を制御する。
また、制御部31は、カメラ41から供給された撮影画像などを学習用データとして用いることによって、モデルパラメータの学習を行う。
入出力部32は、カメラ41、マイク(マイクロフォン)42、スピーカ43、タッチセンサ44、およびLED45により構成される。
カメラ41は、ロボット2の目に相当し、周囲の環境を順次撮影する。カメラ41は、撮影によって得られた静止画像または動画像である撮影画像のデータを制御部31に出力する。
マイク42は、ロボット2の耳に相当し、環境音を検出する。マイク42は、環境音のデータを制御部31に出力する。
スピーカ43は、ロボット2の口に相当し、発話音声、効果音、BGMなどの所定の音を出力する。
タッチセンサ44は、頭部や背中などの所定の部位に設けられる。タッチセンサ44は、ユーザが触れたことを検出し、ユーザによる接触の内容を表す情報を制御部31に出力する。
LED45は、目の位置などのロボット2の各部に設けられる。LED45は、制御部31による制御に従って発光し、ユーザに情報を提示する。LED45に代えて、LCD、有機ELディスプレイなどの小型のディスプレイが設けられるようにしてもよい。目の位置に設けられたディスプレイに各種の目の画像が表示され、それにより、各種の表情が表現されるようにしてもよい。
入出力部32には、周囲にある物体までの距離を測定する測距センサ、GPSなどの測位センサなどの各種のモジュールが設けられる。
駆動部33は、制御部31による制御に従って駆動し、ロボット2の行動を実現する。駆動部33は、ロール、ピッチ、ヨーなどの関節軸毎に設けられた複数の駆動ユニットにより構成される。
各駆動ユニットは、例えばロボット2のそれぞれの関節に設けられる。各駆動ユニットは、軸回りの回転動作を行うモータ、モータの回転位置を検出するエンコーダ、および、エンコーダの出力に基づいてモータの回転位置や回転速度を適応的に制御するドライバの組み合わせによって構成される。駆動ユニットの数、駆動ユニットの位置などによって、ロボット2のハードウェア構成が定まる。
図4の例においては、駆動ユニット51−1乃至51−nが設けられる。例えば駆動ユニット51−1は、モータ61−1、エンコーダ62−1、ドライバ63−1により構成される。駆動ユニット51−2乃至51−nも、駆動ユニット51−1と同様の構成を有する。
無線通信部34は、無線LANモジュール、LTE(Long Term Evolution)に対応した携帯通信モジュールなどの無線通信モジュールである。無線通信部34は、室内のネットワークに接続された機器や、インターネット上の共有クラウドサーバ1などの外部の装置との間で通信を行う。無線通信部34は、制御部31から供給されたデータを外部の装置に送信し、外部の装置から送信されてきたデータを受信する。
電源部35は、ロボット2内の各部に対して給電を行う。電源部35は、充電バッテリ71と、充電バッテリ71の充放電状態を管理する充放電制御部72とで構成される。
図5は、制御部31の機能構成例を示すブロック図である。
図5に示すように、制御部31は、学習用データ取得部101、学習部102、モデルパラメータ記憶部103、行動決定部104、アップロード管理部105、およびモデルパラメータ取得部106から構成される。図5に示す機能部のうちの少なくとも一部は、制御部31を構成するCPUにより所定のプログラムが実行されることにより実現される。
学習用データ取得部101は、モデルパラメータの学習に用いる学習用データを取得する。学習用データ取得部101は、例えば、カメラ41により撮影された撮影画像、マイク42により検出された音などを解析することによって学習用データを生成し、取得する。
また、学習用データ取得部101は、無線通信部34を制御して共有クラウドサーバ1と通信を行い、学習用データを共有クラウドサーバ1から取得する。後述するように、適応先のロボットにおいては、共有クラウドサーバ1からダウンロードすることによって取得した学習用データを用いた学習が行われる。
学習用データ取得部101により取得された学習用データは、学習部102とアップロード管理部105に供給される。
学習部102は、学習用データ取得部101から供給された学習用データに基づいて、モデルパラメータ記憶部103に記憶されているモデルパラメータの学習を行う。モデルパラメータの学習は、例えばDeep Learningなどの機械学習により行われる。
モデルパラメータ記憶部103は、学習部102による学習によって生成されたモデルパラメータを記憶する。モデルパラメータ記憶部103に記憶されているモデルパラメータは、適宜、学習部102、行動決定部104、アップロード管理部105、モデルパラメータ取得部106により読み出される。
行動決定部104は、モデルパラメータ記憶部103に記憶されているモデルパラメータにより構成されるモデルに従って行動を決定する。行動決定部104は、決定した行動をとるように駆動部33を制御する。
アップロード管理部105は、適応元のロボットとして動作する場合、モデルパラメータ記憶部103に記憶されているモデルパラメータを無線通信部34を制御することによって共有クラウドサーバ1に送信し、アップロードする。また、アップロード管理部105は、適宜、学習用データ取得部101から供給された学習用データを共有クラウドサーバ1に送信し、アップロードする。
モデルパラメータ取得部106は、適応先のロボットとして動作する場合、無線通信部34を制御することによって共有クラウドサーバ1と通信を行い、モデルパラメータをダウンロードする。モデルパラメータ取得部106は、ダウンロードしたモデルパラメータをモデルパラメータ記憶部103に記憶させ、モデルの置き換えを行う。
・共有クラウドサーバの構成例
図6は、共有クラウドサーバ1のハードウェア構成例を示すブロック図である。
図6は、共有クラウドサーバ1のハードウェア構成例を示すブロック図である。
CPU201、ROM202、RAM203は、バス204により相互に接続される。CPU201においては、所定のプログラムが実行されることにより情報管理部201Aが実現される。
情報管理部201Aは、モデルパラメータ、学習用データなどの各種のデータを管理する。情報管理部201Aは、通信部209を制御し、ロボット2との間で通信を行う。
バス204には、さらに、入出力インタフェース205が接続される。入出力インタフェース205には、キーボード、マウスなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続される。
また、入出力インタフェース205には、ハードディスクや不揮発性のメモリなどよりなる記憶部208、ネットワークインタフェースなどよりなる通信部209、リムーバブルメディア211を駆動するドライブ210が接続される。
図7は、共有クラウドサーバ1に構築されるデータベースの例を示す図である。
図7に示すように、記憶部208には、モデルパラメータのデータベースであるモデルパラメータDB231と、学習用データのデータベースである学習用データDB232が構築される。
図8は、モデルパラメータDB231に記憶されたモデルパラメータの例を示す図である。
図8に示すように、モデルパラメータDB231には、各時刻において適応元のロボットからアップロードされたモデルパラメータが、適応元のロボットのIDなどの情報と紐付けて記憶される。
図8の例においては、適応元のロボットである個体Aから時刻0にアップロードされたモデルパラメータM(A0)、時刻1にアップロードされたモデルパラメータM(A1)、・・・、時刻tにアップロードされたモデルパラメータM(At)が記憶されている。
個体BからアップロードされたモデルパラメータM(B1)、M(Bt)、個体CからアップロードされたモデルパラメータM(C1)、M(Ct)についても、同様にしてモデルパラメータDB231に記憶される。モデルパラメータM(B1),M(C1)は、時刻1のタイミングにおいてアップロードされたモデルパラメータであり、モデルパラメータM(Bt),M(Ct)は、時刻tのタイミングにおいてアップロードされたモデルパラメータである。
このように、モデルパラメータは、過去のモデルパラメータを参照できるように、アップロード元の個体、および、アップロードの時刻と紐付けて管理される。
図9は、学習用データDB232に記憶された学習用データの例を示す図である。
図9に示すように、学習用データDB232には、各時刻において適応元のロボットからアップロードされた学習用データが、適応元のロボットのIDなどの情報と紐付けて記憶される。
図9の例においては、適応元のロボットである個体Aから時刻0にアップロードされた学習用データD(A0)、時刻1にアップロードされた学習用データD(A1)、・・・、時刻tにアップロードされた学習用データD(At)が記憶されている。
個体Bからアップロードされた学習用データD(B1)、D(Bt)、個体Cからアップロードされた学習用データD(C1)、D(Ct)についても、同様にして学習用データDB232に記憶される。学習用データD(B1),D(C1)は、時刻1のタイミングにおいてアップロードされた学習用データであり、学習用データD(Bt),D(Ct)は、時刻tのタイミングにおいてアップロードされた学習用データである。
このように、学習用データも、過去の学習用データを参照できるように、アップロード元の個体、および、アップロードの時刻と紐付けて管理される。
<3.適応元個体の処理>
ここで、図10のフローチャートを参照して、適応元の個体であるロボットAの適応処理について説明する。
ここで、図10のフローチャートを参照して、適応元の個体であるロボットAの適応処理について説明する。
ステップS1において、ロボットAの学習用データ取得部101は、周囲の環境に適合した学習用データを共有クラウドサーバ1から取得する。
ロボットAと同じ環境に存在するロボットからアップロードされた学習用データなどのように、ロボットAが存在する環境用として用意された学習用データが、周囲の環境に適合した学習用データとなる。
このように、ロボットAの適応処理は、ロボットAの周囲の環境に適合した学習用データと、その教師データがある場合に行われる。
学習用データは、主に、音声、静止画像、動画像などのメディアデータや、センサによって取得されたセンサデータの時系列データにより構成される。音声は、マイクの特性や周囲の雑音によって動的に変化し、画像は、カメラの特性や周囲の光量などによって動的に変化する。共有クラウドサーバ1から取得された学習用データは、個体の特有のデータとして学習に用いられる。
教師データは、学習用データに対して作成された正解ラベルである。学習用データが静止画像などの静的なデータである場合、識別ラベルが正解ラベルとして用意される。学習用データが音声、動画像などの時系列データである場合、ラベル系列が正解ラベルとして用意される。学習用データとは異なり、基本的には、正解ラベルは個体によって変化しない。
モデルパラメータの学習が、教師データがある形で行われるようにしてもよいし、教師データがない形で行われるようにしてもよい。
共有クラウドサーバ1から取得された学習用データを用いて学習を行うのではなく、ロボットA自身により取得された学習用データを用いて学習が行われるようにしてもよい。この場合、学習用データ取得部101は、カメラ41により撮影された撮影画像、マイク42により検出された音などを解析することによって学習用データを生成し、取得する。
ステップS2において、学習部102は、学習用データ取得部101により取得された学習用データを用いてモデルパラメータの学習を行う。学習によって得られた学習済みのモデルパラメータはモデルパラメータ記憶部103に記憶される。
ステップS3において、アップロード管理部105は、アップロードのタイミングか否かを判定する。モデルパラメータのアップロードは、1日おきといったように所定の間隔で行われる。
前回のアップロードから所定の時間が経過したことから、アップロードのタイミングであるとステップS3において判定した場合、ステップS4において、アップロード管理部105は、学習済みのモデルパラメータをアップロードする。
ステップS5において、アップロード管理部105は、モデルパラメータの学習に用いた学習用データをアップロードする。このように、学習済みのモデルパラメータとともに、学習に用いられた学習用データがアップロードされるようにしてもよい。学習用データに対して圧縮処理が施され、圧縮後の学習用データがアップロードされるようにしてもよい。
学習用データがアップロードされた場合、または、アップロードのタイミングではないとステップS3において判定された場合、ステップS1に戻り、同様の処理が繰り返される。
ロボットAのID、ロボットAが有しているセンサの型番、学習用データが取得された時刻、GPSやSLAMにより検出された位置情報などの各種の情報がアップロードされるようにしてもよい。また、音声や画像による話者認証が可能であれば、認証された話者の情報がアップロードされるようにしてもよい。
音声や顔画像がアップロードされる場合、プライバシー保護の観点から、音声の特徴量や画像の特徴量といったように、一次変換後のデータがアップロードされるようにしてもよい。一次変換後のデータについても、圧縮処理が施された後にアップロードされるようにしてもよい。
後述するように、複数のユーザが共有して使用するサーバにアップロードするのではなく、プライベートなサーバにアップロードするようにしてデータのアップロードが行われるようにしてもよい。
<4.適応先個体の処理>
次に、図11のフローチャートを参照して、適応先の個体であるロボットBの適応処理について説明する。
次に、図11のフローチャートを参照して、適応先の個体であるロボットBの適応処理について説明する。
ステップS11において、ロボットBのモデルパラメータ取得部106は、ロボットBの近傍に、適応済みのモデルパラメータを有するロボットAが存在するか否かを判定する。
例えば、ロボットBは、環境への導入時、通信可能な個体の探索を行う。ロボットBは、探索により見つかった個体から、モデルパラメータの学習の回数を表す情報を取得する。適応済みのモデルパラメータを有するロボットAが存在するか否かの判定は、このような探索によって取得された情報に基づいて行われる。
ロボットBの近傍にロボットAが存在するとステップS11において判定した場合、ステップS12において、モデルパラメータ取得部106は、ロボットAのモデルパラメータが共有クラウドサーバ1にあるか否かを判定する。
ロボットAのモデルパラメータが共有クラウドサーバ1にあるとステップS12において判定した場合、ステップS13において、モデルパラメータ取得部106は、ロボットBのモデルが初期モデルであるか否かを判定する。
ロボットBのモデルが初期モデルではないとステップS13において判定した場合、ステップS14において、モデルパラメータ取得部106は、ロボットAのモデルパラメータの信頼性が高いか否かを判定する。
例えば、モデルパラメータの信頼性は、ロボットAにおける学習の回数、ロボットAからアップロードされた学習用データの量、学習時のスコアにより表される。例えばロボットAにおける学習の回数が多いほど、ロボットAによりアップロードされたモデルパラメータは信頼性が高いといえる。
ロボットAにおける学習の回数が閾値の回数より多い場合、ロボットAからアップロードされた学習用データの量が閾値の量より多い場合、または、学習時のスコアが閾値のスコアより高い場合、信頼性が高いと判定される。
ロボットAのモデルパラメータの信頼性が高いとステップS14において判定した場合、ステップS15において、モデルパラメータ取得部106は、ロボットAのモデルパラメータを共有クラウドサーバ1からダウンロードする。
モデルパラメータ取得部106は、モデルパラメータ記憶部103に記憶されているモデルパラメータに代えてダウンロードしたモデルパラメータを記憶させることによって、モデルの置き換えを行う。
ロボットBのモデルが初期モデルであるとステップS13において判定された場合も同様に、ステップS15においてロボットAのモデルパラメータのダウンロードが行われる。
ロボットAのモデルパラメータのダウンロードが行われた後、ステップS16において、ダウンロードされたモデルパラメータをベースとした適応処理が行われる。
ステップS16において行われる適応処理は、図10を参照して説明した処理と同様の処理である。
すなわち、ロボットBの周囲の環境に適合した学習用データなどを用いて、ダウンロードされたロボットAのモデルパラメータの学習が行われる。また、学習によって得られたモデルパラメータが、ロボットBの学習済みのモデルパラメータとして共有クラウドサーバ1にアップロードされる。
ステップS11においてロボットBの近傍にロボットAが存在しないと判定された場合、または、ステップS12においてロボットAのモデルパラメータが共有クラウドサーバ1にないと判定された場合、ステップS16において適応処理が行われる。ステップS14において、ロボットAのモデルパラメータの信頼性が低いと判定された場合も同様に、ステップS16において適応処理が行われる。ロボットAのモデルパラメータのダウンロードが行われていないから、ここで行われる適応処理は、ロボットBの元のモデルパラメータをベースとして行われる。
ステップS16において適応処理が行われた後、ステップS11に戻り、以上の処理が繰り返される。
ロボットBのモデルが初期モデルである場合、ロボットBの仕事効率を向上させるためには、ロボットBのモデルパラメータを周囲の環境に適応させる必要がある。
以上のように、ロボットBの初期モデルを学習済みのモデルパラメータにより構成されるモデルによって置き換え、それをベースにして学習を進めることにより、ロボットBのモデルパラメータを、周囲の環境により迅速に適応させることが可能となる。
<5.適応先個体の処理(変形例)>
図12のフローチャートを参照して、適応先の個体であるロボットBの他の適応処理について説明する。
図12のフローチャートを参照して、適応先の個体であるロボットBの他の適応処理について説明する。
上述した説明と重複する説明については適宜省略する。図14以降のフローチャートの説明についても同様である。
図12に示す処理は、ダウンロードの対象となるデータが学習済みのモデルパラメータではなく、学習用データである点で、図11を参照して説明した処理と異なる。ダウンロードされた学習用データを用いた学習が、適応先の個体であるロボットBにおいて行われることになる。
図12のステップS21乃至S24の処理は、図11のステップS11乃至S14の処理と同様の処理である。すなわち、ロボットBのモデルが初期モデルであるとステップS23において判定された場合、ステップS25において、学習用データ取得部101は、ロボットAの学習用データを共有クラウドサーバ1からダウンロードする。
ロボットAのモデルパラメータの信頼性が高いとステップS24において判定された場合も同様に、ステップS25においてロボットAの学習用データのダウンロードが行われる。
ステップS26において、学習部102は、ダウンロードされた学習用データに基づいて、モデルパラメータ記憶部103に記憶されているモデルパラメータの学習を行う。
ダウンロードされた学習用データに基づいてモデルパラメータの学習が行われた後、ステップS27において適応処理が行われる。適応処理により、ダウンロードされた学習用データに基づく学習後のモデルパラメータをベースにした学習が進められることになる。
このように、ダウンロードした学習用データに基づいて学習が行われるようにすることによっても、ロボットBのモデルパラメータを、周囲の環境により迅速に適応させることが可能となる。ロボットBは、学習用データを自ら収集する負担を軽減することが可能となる。
ダウンロードした学習用データを用いた学習に時間がかかる場合、深夜の時間帯など、ユーザからのリクエストが少ない時間帯に学習が行われるようにしてもよい。
<6.適応先個体が可動体である場合>
図13は、ロボットが行動する環境の例を示す図である。
図13は、ロボットが行動する環境の例を示す図である。
図13の例においては、ロボットA,Bの他に、ロボットA,Bと同様の構成を有するロボットCが同じ部屋に存在する。ロボットA乃至Cは可動体(移動が可能な個体)である。例えばロボットCは、ロボットAの近傍の位置にも、ロボットBの近傍の位置にも移動することができる。
ここで、ロボットAとロボットBのモデルパラメータは環境に適応済みであり、それらのモデルパラメータが共有クラウドサーバ1にアップロードされているものとする。
また、ロボットCのモデルが初期モデルであるものとする。ロボットCは、例えば、ロボットA,Bが存在する環境に新たに導入されたロボットである。
適応先のロボットとしてのロボットCは、自身の可動エリアにおいて行動しながら、最近傍に存在するロボットの探索を所定の間隔で行う。ロボットCは、探索により見つかったロボットによりアップロードされたモデルパラメータをダウンロードして学習を行う。ロボットAまたはロボットBが、適応元のロボットとなる。
図14のフローチャートを参照して、適応先の個体であるロボットCの適応処理について説明する。
ステップS31において、ロボットCのモデルパラメータ取得部106は、ロボットCの近傍に、適応済みのモデルパラメータを有するロボットであるロボットXが存在するか否かを判定する。ロボットAまたはロボットBが、予め設定された距離より近い位置に存在する場合、適応済みのモデルパラメータを有するロボットXが存在するものとして判定される。
適応済みのモデルパラメータを有するロボットXが存在するとステップS31において判定した場合、ステップS32において、モデルパラメータ取得部106は、ロボットXのモデルパラメータが共有クラウドサーバ1にあるか否かを判定する。
ロボットXのモデルパラメータが共有クラウドサーバ1にあるとステップS32において判定した場合、ステップS33において、モデルパラメータ取得部106は、ロボットCのモデルが初期モデルであるか否かを判定する。
ロボットCのモデルが初期モデルではないとステップS33において判定した場合、ステップS34において、モデルパラメータ取得部106は、ロボットXのモデルパラメータの信頼性が高いか否かを判定する。例えば、ロボットXにおける学習の回数が多いほど、ロボットXのモデルパラメータの信頼性が高いものとして判定される。
ロボットXのモデルパラメータの信頼性が高いとステップS34において判定した場合、ステップS35において、モデルパラメータ取得部106は、ロボットXのモデルパラメータを共有クラウドサーバ1からダウンロードする。
モデルパラメータ取得部106は、モデルパラメータ記憶部103に記憶されているモデルパラメータに代えてダウンロードしたモデルパラメータを記憶させることによって、モデルの置き換えを行う。
ロボットCのモデルが初期モデルであるとステップS33において判定された場合も同様に、ステップS35においてロボットXのモデルパラメータのダウンロードが行われる。
ロボットXのモデルパラメータのダウンロードが行われた後、ステップS36において、ダウンロードされたモデルパラメータをベースとした適応処理が行われる。
ステップS31においてロボットCの近傍にロボットXが存在しないと判定された場合も同様に、ステップS36において適応処理が行われる。ロボットXのモデルパラメータのダウンロードが行われていないから、ここで行われる適応処理は、ロボットCの元のモデルパラメータをベースとして行われる。
ステップS36において適応処理が行われた後、ステップS31に戻り、以上の処理が繰り返される。ロボットCが移動したことによって、最近傍の個体が例えばロボットAからロボットBに変わった場合、ロボットBをロボットXとして、同様の処理が繰り返される。
すなわち、ロボットBのモデルパラメータが共有クラウドサーバ1にあり、ロボットCのモデルパラメータよりロボットBのモデルパラメータの方が信頼性が高い場合、ロボットBのモデルパラメータのダウンロードが行われる。ロボットCにおいて用いられていたモデルパラメータは、ダウンロードされたモデルパラメータに置き換えられ、ダウンロードされたモデルパラメータをベースにして、学習が進められる(適応処理が行われる)。
ステップS32においてロボットXのモデルパラメータが共有クラウドサーバ1にないと判定された場合、または、ステップS34においてロボットXのモデルパラメータの信頼性が低いと判定された場合、ステップS31に戻り、以上の処理が繰り返される。
以上のように、最近傍に存在するロボットの探索を行い、探索により見つかったロボットのモデルパラメータをダウンロードすることを繰り返すことによっても、ロボットCのモデルパラメータを、周囲の環境により迅速に適応させることが可能となる。
<7.適応先個体においてモデルパラメータのリセットができる場合>
図15のフローチャートを参照して、適応先の個体であるロボットBの適応処理について説明する。
図15のフローチャートを参照して、適応先の個体であるロボットBの適応処理について説明する。
この例においては、適応元のロボットがロボットAであり、適応先のロボットがロボットBであるものとする。
適応先のロボットBにおいては、ダウンロードしたモデルパラメータによってモデルパラメータの置き換えを行った後、置き換えたモデルパラメータの性能が低い場合には、元のモデルパラメータに戻すことができるようになされている。
図15のステップS41乃至S45の処理は、図11のステップS11乃至S15の処理と同様の処理である。ステップS45において、ロボットAのモデルパラメータのダウンロードが行われ、モデルパラメータ記憶部103に記憶されているモデルパラメータの置き換えが行われる。
ステップS46において、モデルパラメータ取得部106は、ダウンロードしたモデルパラメータを用いた方が、ロボットBの性能が向上するか否かを判定する。ここでは、置き換え前のモデルパラメータの性能と、ダウンロードされ、新たに置き換えられたモデルパラメータの性能とが評価される。
モデルパラメータの性能は、例えば、共有クラウドサーバ1に用意されている評価用データと正解ラベルとを用いて評価される。
モデルパラメータ取得部106は、評価用データと正解ラベルとを共有クラウドサーバ1からダウンロードする。モデルパラメータ取得部106は、それぞれのモデルパラメータから構成されるモデルに評価用データを入力し、その出力と正解ラベルとを比べることによって、それぞれのモデルパラメータの性能を評価する。
ダウンロードしたモデルパラメータを用いた場合にはロボットBの性能が向上しない、すなわち、ダウンロードしたモデルパラメータの方が、置き換え前のモデルパラメータより性能が劣るとステップS46において判定された場合、処理はステップS47に進む。
ステップS47において、モデルパラメータ取得部106は、元のモデルパラメータであるロボットBのモデルパラメータをモデルパラメータ記憶部103に記憶させることによって、モデルパラメータの置き換えを行う。ダウンロードされ、モデルパラメータ記憶部103に記憶されたモデルパラメータに代えて、置き換え前のロボットBのモデルパラメータが記憶されることになる。
ステップS48において、モデルパラメータ取得部106は、共有クラウドサーバ1にあるロボットAのモデルパラメータに不良フラグを設定する。不良フラグは、性能が劣るモデルパラメータであることを表す。
ロボットAから共有クラウドサーバ1にアップロードされたデータにエラーがある可能性があるため、ロボットAのモデルパラメータ、または、学習用データに不良フラグが設定される。これにより、不良フラグがモデルパラメータまたは学習用データに紐付けられ、ダウンロードするデータを選択する際の指標として利用することが可能となる。
ロボットAのモデルパラメータに不良フラグが設定された後、ステップS49において適応処理が行われる。
ステップS41において適応済みのモデルパラメータを有するロボットAが存在しないと判定された場合、または、ステップS42においてロボットAのモデルパラメータが共有クラウドサーバ1にないと判定された場合も同様に、ステップS49において適応処理が行われる。ステップS44においてロボットAのモデルパラメータの信頼性が低いと判定された場合、または、ステップS46において、ダウンロードしたモデルパラメータを用いた方がロボットBの性能が向上すると判定された場合、ステップS49において適応処理が行われる。
ステップS49において適応処理が行われた後、ステップS41に戻り、以上の処理が繰り返される。
ロボットBの初期モデルを、ダウンロードした学習済みのモデルパラメータにより構成されるモデルによって置き換えたものの、結果的に、ロボットBの性能が劣ることになってしまうことがある。この場合、ロボットBの元のモデルパラメータをベースにして学習を進めることにより、ロボットBのモデルパラメータを、周囲の環境により迅速に適応させることが可能となる。
<8.適応先個体のモデルと他のモデルとの重み付けを行う例>
図16のフローチャートを参照して、適応先の個体であるロボットBの適応処理について説明する。
図16のフローチャートを参照して、適応先の個体であるロボットBの適応処理について説明する。
この例においても、適応元のロボットがロボットAであり、適応先のロボットがロボットBであるものとする。
適応先のロボットBにおいては、自身のモデルパラメータと、ダウンロードしたモデルパラメータに対して重み付けが行われ、重み付け後のモデルパラメータを足し合わせることによって新たなモデルパラメータが生成される。重み付けは、例えば、モデルパラメータの信頼度に応じて行われる。新たに生成されたモデルパラメータによって、モデルパラメータの置き換えが行われ、学習が進められる。
図16のステップS61,S62の処理は、図11のステップS11,S12の処理と同様の処理である。ステップS62においてロボットAのモデルパラメータが共有クラウドサーバ1にあると判定された場合、ステップS63において、モデルパラメータ取得部106は、ロボットAのモデルパラメータの信頼性が高いか否かを判定する。
ロボットAのモデルパラメータの信頼性が高いとステップS63において判定した場合、ステップS64において、モデルパラメータ取得部106は、ロボットAのモデルパラメータを共有クラウドサーバ1からダウンロードする。
ステップS65において、モデルパラメータ取得部106は、ダウンロードしたロボットAのモデルパラメータと、ロボットBのモデルパラメータに対して、信頼度に応じた重み付けを行う。例えば、ロボットAのモデルパラメータに評価用データを入力した場合のスコアと、ロボットBのモデルパラメータに評価用データを入力した場合のスコアがそれぞれ算出される。
スコアにより表される信頼度に応じた重み付け後のロボットAのモデルパラメータと、重み付け後のロボットBのモデルパラメータとを足し合わせることによって、新たなモデルパラメータが生成される。生成された新たなモデルパラメータによって、モデルパラメータ記憶部103に記憶されているモデルパラメータの置き換えが行われる。
ステップS66において、モデルパラメータ取得部106は、重み付けによって生成したモデルパラメータを用いた方が、ロボットBの性能が向上するか否かを判定する。ここでは、置き換え前のモデルパラメータの性能と、重み付けによって新たに生成されたモデルパラメータの性能とが評価される。
新たに生成されたモデルパラメータを用いた場合にはロボットBの性能が向上しないとステップS66において判定した場合、ステップS67において、モデルパラメータ取得部106は、ロボットAのモデルパラメータの信頼度を下げる。例えば、信頼度を下げることに応じて、ロボットAのモデルパラメータの重みも更新され、新たなモデルパラメータが生成される。
ロボットAのモデルパラメータの信頼度が下げられた後、ステップS68において適応処理が行われる。
ステップS61においてロボットBの近傍にロボットAが存在しないと判定された場合、または、ステップS62においてロボットAのモデルパラメータが共有クラウドサーバ1にないと判定された場合も同様に、ステップS68において適応処理が行われる。ステップS63においてロボットAのモデルパラメータの信頼性が低いと判定された場合、または、ステップS66において、新たに生成したモデルパラメータを用いた方がロボットBの性能が向上すると判定された場合、ステップS68において適応処理が行われる。
ステップS68において適応処理が行われた後、ステップS61に戻り、以上の処理が繰り返される。
以上のように、複数のモデルパラメータに重み付けを行うことによって得られたモデルによって初期モデルを置き換え、それをベースにして学習を進めることにより、ロボットBのモデルパラメータを、周囲の環境により迅速に適応させることが可能となる。
なお、重み付けによって新たなモデルパラメータの生成に用いるモデルパラメータの数は2つに限定されるものではない。例えば、ロボットBの最近傍にロボットAが存在し、やや離れたところにロボットC、ロボットDが存在する場合、4つのロボットのモデルパラメータを用いて1つのモデルパラメータが生成されるようにしてもよい。
<9.学習用データの管理の例>
図17は、ロボットが行動する環境の他の例を示す図である。
図17は、ロボットが行動する環境の他の例を示す図である。
図17の例においては、ロボットA,Bと同様の構成を有するロボット2の他に、ロボット301とロボット302が同じ部屋に存在する。
ロボット301は、移動することができないロボットであり、ロボット302は、二足歩行によって移動することが可能なロボットである。ロボット301とロボット302も、基本的には、図4、図5を参照して説明した構成と同じ構成を有する。
このように、同じ環境に、種類が異なるロボットが存在することもある。構成が異なることにより、ある種類のロボットにより取得された学習用データを、他の種類のロボットの学習に用いることができないことがある。
上述したように、共有クラウドサーバ1においては、各ロボットからアップロードされた学習用データが管理される。学習用データは、どの種類のロボットでも学習に用いることができる汎用データと、種類に依存し、同じ種類のロボットであれば学習に用いることができる固有データに分類される。
図18は、学習用データの管理の例を示す図である。
図18に示すように、適応元のロボットである個体Aから時刻0にアップロードされた学習用データは、汎用データDg(A0)と固有データDi(A0)に分類して管理される。
また、個体Aから時刻1にアップロードされた学習用データは、汎用データDg(A1)と固有データDi(A1)に分類して管理される。個体Aから時刻tにアップロードされた学習用データは、汎用データDg(At)と固有データDi(At)に分類して管理される。
例えば、汎用のマイクで収録した音のデータに基づく学習用データ、汎用のカメラで撮影して得られた動画像に基づく学習用データは、汎用データとして管理される。
また、特性が特殊なマイクで収録した音のデータに基づく学習用データ、個体特有の信号処理を適用した音のデータに基づく学習用データは、固有データとして管理される。周辺部の歪みが大きいレンズを有するカメラで撮影して得られた動画像に基づく学習用データなども同様に、固有データとして管理される。
個体Bと個体Cからアップロードされた学習用データも同様に、汎用データと固有データに分類して管理される。汎用データと固有データからなる学習用データについても、適宜、圧縮された状態でアップロードされ、共有クラウドサーバ1において解凍された後に管理される。
このように、学習用データが汎用データと固有データに分類して管理されるようにしてもよい。各ロボットは、例えば、他の個体によりアップロードされた汎用データのみをダウンロードして学習に用いることになる。
これにより、ある種類のロボットに依存する固有のデータに基づいてモデルパラメータの学習が行われるのを防ぐことができる。
適応先の個体の種類に応じて、ダウンロードする学習用データが切り替えられるようにしてもよい。
例えば、ある個体Dが個体Aの学習用データをダウンロードする場合、個体Dと個体Aが同じ種類のロボットであるときには、個体Dは、個体Aの汎用データと固有データをダウンロードし、学習に用いる。また、個体Dと個体Aが異なる種類のロボットであるときには、個体Dは、個体Aの汎用データのみをダウンロードし、学習に用いる。
これにより、適応先の個体は、自身の種類に応じた適切な学習用データを用いて学習を行うことが可能となる。
<10.共有クラウドサーバ以外を利用する場合>
図19は、サーバにおけるデータ管理の例を示す図である。
図19は、サーバにおけるデータ管理の例を示す図である。
モデルパラメータや学習用データを管理するサーバが、複数のユーザが共有して使用する共有クラウドサーバ1であるものとしたが、プライベートクラウドサーバが用いられるようにしてもよい。
この場合、それぞれのユーザは、自身に割り当てられたプライベートクラウドサーバを上述したようなモデルパラメータと学習用データの管理に使用する。
図19の下段は、プライベートクラウドサーバを用いた場合のデータ管理の例を示している。プライベートクラウドサーバ1乃至3は、それぞれ、ユーザ1乃至3に割り当てられたサーバである。
図19の例においては、ユーザ1によって用いられる個体Aの学習用データD1(At)、個体Bの学習用データD1(Bt)、および個体Cの学習用データD1(Ct)は、プライベートクラウドサーバ1にアップロードされ、管理される。
また、ユーザ2によって用いられる個体Aの学習用データD2(At)、個体Bの学習用データD2(Bt)、および個体Cの学習用データD2(Ct)は、プライベートクラウドサーバ2にアップロードされ、管理されている。
ユーザ3によって用いられる個体Aの学習用データD3(At)、個体Bの学習用データD3(Bt)、および個体Cの学習用データD3(Ct)は、プライベートクラウドサーバ3にアップロードされる。
プライベートクラウドサーバ1乃至3においては、同様にしてモデルパラメータも管理される。共有クラウドサーバを用いた場合、図19の上段に示すように、全てのユーザのデータが混在して管理されることになる。
なお、顔画像や音声データなどに代表される、個人を特定できるメディアデータについては、共有クラウドサーバを用いずに、プライベートクラウドサーバにアップロードされるようにしてもよい。
プライベートクラウドサーバとは、当該製品を保有している全ユーザで共有されるパブリックなクラウドではなく、個人、もしくは各家庭といったような、狭い範囲で利用されるサーバのことを意味する。
GPSにより測定された位置情報やSLAMの地図情報などを、プライバシーに配慮しながら有効活用するためには、このようなプライベートクラウドサーバを利用することが望ましい。
<11.その他の例>
・制御システムの例
ロボットの行動が、ロボットが内蔵するコンピュータである制御部31により制御されるものとしたが、外部の装置により制御されるようにしてもよい。この場合、ロボットのモデルパラメータも外部の装置において管理される。
・制御システムの例
ロボットの行動が、ロボットが内蔵するコンピュータである制御部31により制御されるものとしたが、外部の装置により制御されるようにしてもよい。この場合、ロボットのモデルパラメータも外部の装置において管理される。
図20は、制御システムの構成例を示す図である。
図20の制御システムは、ロボット2と制御サーバ311がインターネットなどのネットワーク312を介して接続されることによって構成される。ロボット2と制御サーバ311は、ネットワーク312を介して通信を行う。
制御サーバ311は、ロボット2の環境に適合した学習用データを取得し、上述したようにしてモデルパラメータの学習を行う。また、制御サーバ311は、学習を行うことによって得られたモデルパラメータから構成されるモデルを用いてロボット2の行動を決定し、行動の内容を表す情報をロボット2に対して送信する。
ロボット2においては、制御サーバ311から供給された情報に基づいて各部が駆動され、これにより、各種の行動が実現される。
このように、制御サーバ311は、ロボット2のモデルパラメータを管理し、ロボット2の行動を制御する制御装置として機能する。制御サーバ311は、図6を参照して説明した、共有クラウドサーバ1の構成と同じハードウェア構成を有する。制御サーバ311においては、所定のプログラムが実行されることにより、図5の各機能部が実現される。
・コンピュータの構成例
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、汎用のパーソナルコンピュータなどにインストールされる。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、汎用のパーソナルコンピュータなどにインストールされる。
インストールされるプログラムは、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)や半導体メモリなどよりなる図6に示されるリムーバブルメディア211に記録して提供される。また、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供されるようにしてもよい。プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
・構成の組み合わせ例
本技術は、以下のような構成をとることもできる。
本技術は、以下のような構成をとることもできる。
(1)
第1のロボットにより学習が行われることによって生成された、前記第1のロボットのモデルを構成する第1のパラメータを取得するパラメータ取得部と、
第2のロボットのモデルを構成する第2のパラメータを置き換えた前記第1のパラメータを、前記第2のロボットが存在する環境に応じて学習する学習部と
を備える制御装置。
(2)
前記パラメータ取得部は、前記第2のロボットが存在する環境と同じ環境において学習が行われることによって生成された前記第1のパラメータを取得する
前記(1)に記載の制御装置。
(3)
前記パラメータ取得部は、前記第1のロボットからアップロードされた前記第1のパラメータを管理する管理サーバから、前記第1のパラメータをダウンロードして取得する
前記(1)または(2)に記載の制御装置。
(4)
前記第1のパラメータの学習に用いられた学習用データを取得する学習用データ取得部をさらに備え、
前記学習部は、前記学習用データ取得部により取得された前記学習用データに基づいて前記第1のパラメータの学習を行う
前記(1)に記載の制御装置。
(5)
前記学習用データ取得部は、前記第1のロボットからアップロードされた前記学習用データを管理する管理サーバから、前記学習用データをダウンロードして取得する
前記(4)に記載の制御装置。
(6)
前記第2のロボットが移動可能なロボットである場合、
前記パラメータ取得部は、複数の前記第1のロボットのうち、前記第2のロボットに最も近い前記第1のロボットのモデルを構成する前記第1のパラメータを取得する
前記(1)乃至(3)のいずれかに記載の制御装置。
(7)
前記パラメータ取得部は、前記第1のパラメータにより構成されるモデルより、前記第1のパラメータによる置き換え前の、前記第2のパラメータにより構成されるモデルの方が性能が高い場合、前記第1のパラメータを、置き換え前の前記第2のパラメータに置き換える
前記(1)乃至(3)のいずれかに記載の制御装置。
(8)
前記パラメータ取得部は、前記第1のパラメータと前記第2のパラメータに対して重み付けを行うことによって第3のパラメータを生成し、
前記学習部は、前記第3のパラメータの学習を行う
前記(1)乃至(3)のいずれかに記載の制御装置。
(9)
前記パラメータ取得部は、それぞれの信頼度に基づいて、前記第1のパラメータと前記第2のパラメータに対して重み付けを行う
前記(8)に記載の制御装置。
(10)
学習によって更新された前記第1のパラメータを前記管理サーバにアップロードするアップロード管理部をさらに備える
前記(1)乃至(9)のいずれかに記載の制御装置。
(11)
前記アップロード管理部は、前記第1のパラメータの学習に用いられた学習用データを前記管理サーバにアップロードする
前記(10)に記載の制御装置。
(12)
前記第2のロボットを制御する装置として前記第2のロボットの筐体に設けられる
前記(1)乃至(11)のいずれかに記載の制御装置。
(13)
制御装置が、
第1のロボットにより学習が行われることによって生成された、前記第1のロボットのモデルを構成する第1のパラメータを取得し、
第2のロボットのモデルを構成する第2のパラメータを置き換えた前記第1のパラメータを、前記第2のロボットが存在する環境に応じて学習する
制御方法。
(14)
コンピュータに、
第1のロボットにより学習が行われることによって生成された、前記第1のロボットのモデルを構成する第1のパラメータを取得し、
第2のロボットのモデルを構成する第2のパラメータを置き換えた前記第1のパラメータを、前記第2のロボットが存在する環境に応じて学習する
処理を実行させるためのプログラム。
第1のロボットにより学習が行われることによって生成された、前記第1のロボットのモデルを構成する第1のパラメータを取得するパラメータ取得部と、
第2のロボットのモデルを構成する第2のパラメータを置き換えた前記第1のパラメータを、前記第2のロボットが存在する環境に応じて学習する学習部と
を備える制御装置。
(2)
前記パラメータ取得部は、前記第2のロボットが存在する環境と同じ環境において学習が行われることによって生成された前記第1のパラメータを取得する
前記(1)に記載の制御装置。
(3)
前記パラメータ取得部は、前記第1のロボットからアップロードされた前記第1のパラメータを管理する管理サーバから、前記第1のパラメータをダウンロードして取得する
前記(1)または(2)に記載の制御装置。
(4)
前記第1のパラメータの学習に用いられた学習用データを取得する学習用データ取得部をさらに備え、
前記学習部は、前記学習用データ取得部により取得された前記学習用データに基づいて前記第1のパラメータの学習を行う
前記(1)に記載の制御装置。
(5)
前記学習用データ取得部は、前記第1のロボットからアップロードされた前記学習用データを管理する管理サーバから、前記学習用データをダウンロードして取得する
前記(4)に記載の制御装置。
(6)
前記第2のロボットが移動可能なロボットである場合、
前記パラメータ取得部は、複数の前記第1のロボットのうち、前記第2のロボットに最も近い前記第1のロボットのモデルを構成する前記第1のパラメータを取得する
前記(1)乃至(3)のいずれかに記載の制御装置。
(7)
前記パラメータ取得部は、前記第1のパラメータにより構成されるモデルより、前記第1のパラメータによる置き換え前の、前記第2のパラメータにより構成されるモデルの方が性能が高い場合、前記第1のパラメータを、置き換え前の前記第2のパラメータに置き換える
前記(1)乃至(3)のいずれかに記載の制御装置。
(8)
前記パラメータ取得部は、前記第1のパラメータと前記第2のパラメータに対して重み付けを行うことによって第3のパラメータを生成し、
前記学習部は、前記第3のパラメータの学習を行う
前記(1)乃至(3)のいずれかに記載の制御装置。
(9)
前記パラメータ取得部は、それぞれの信頼度に基づいて、前記第1のパラメータと前記第2のパラメータに対して重み付けを行う
前記(8)に記載の制御装置。
(10)
学習によって更新された前記第1のパラメータを前記管理サーバにアップロードするアップロード管理部をさらに備える
前記(1)乃至(9)のいずれかに記載の制御装置。
(11)
前記アップロード管理部は、前記第1のパラメータの学習に用いられた学習用データを前記管理サーバにアップロードする
前記(10)に記載の制御装置。
(12)
前記第2のロボットを制御する装置として前記第2のロボットの筐体に設けられる
前記(1)乃至(11)のいずれかに記載の制御装置。
(13)
制御装置が、
第1のロボットにより学習が行われることによって生成された、前記第1のロボットのモデルを構成する第1のパラメータを取得し、
第2のロボットのモデルを構成する第2のパラメータを置き換えた前記第1のパラメータを、前記第2のロボットが存在する環境に応じて学習する
制御方法。
(14)
コンピュータに、
第1のロボットにより学習が行われることによって生成された、前記第1のロボットのモデルを構成する第1のパラメータを取得し、
第2のロボットのモデルを構成する第2のパラメータを置き換えた前記第1のパラメータを、前記第2のロボットが存在する環境に応じて学習する
処理を実行させるためのプログラム。
1 共有クラウドサーバ, 2 ロボット, 11 ネットワーク, 31 制御部, 33 駆動部, 34 無線通信部, 101 学習用データ取得部, 102 学習部, 103 モデルパラメータ記憶部, 104 行動決定部, 105 アップロード管理部, 106 モデルパラメータ取得部, 201A 情報管理部, 208 記憶部, 231 モデルパラメータDB, 232 学習用データDB, 311 制御サーバ
Claims (14)
- 第1のロボットにより学習が行われることによって生成された、前記第1のロボットのモデルを構成する第1のパラメータを取得するパラメータ取得部と、
第2のロボットのモデルを構成する第2のパラメータを置き換えた前記第1のパラメータを、前記第2のロボットが存在する環境に応じて学習する学習部と
を備える制御装置。 - 前記パラメータ取得部は、前記第2のロボットが存在する環境と同じ環境において学習が行われることによって生成された前記第1のパラメータを取得する
請求項1に記載の制御装置。 - 前記パラメータ取得部は、前記第1のロボットからアップロードされた前記第1のパラメータを管理する管理サーバから、前記第1のパラメータをダウンロードして取得する
請求項1に記載の制御装置。 - 前記第1のパラメータの学習に用いられた学習用データを取得する学習用データ取得部をさらに備え、
前記学習部は、前記学習用データ取得部により取得された前記学習用データに基づいて前記第1のパラメータの学習を行う
請求項1に記載の制御装置。 - 前記学習用データ取得部は、前記第1のロボットからアップロードされた前記学習用データを管理する管理サーバから、前記学習用データをダウンロードして取得する
請求項4に記載の制御装置。 - 前記第2のロボットが移動可能なロボットである場合、
前記パラメータ取得部は、複数の前記第1のロボットのうち、前記第2のロボットに最も近い前記第1のロボットのモデルを構成する前記第1のパラメータを取得する
請求項1に記載の制御装置。 - 前記パラメータ取得部は、前記第1のパラメータにより構成されるモデルより、前記第1のパラメータによる置き換え前の、前記第2のパラメータにより構成されるモデルの方が性能が高い場合、前記第1のパラメータを、置き換え前の前記第2のパラメータに置き換える
請求項1に記載の制御装置。 - 前記パラメータ取得部は、前記第1のパラメータと前記第2のパラメータに対して重み付けを行うことによって第3のパラメータを生成し、
前記学習部は、前記第3のパラメータの学習を行う
請求項1に記載の制御装置。 - 前記パラメータ取得部は、それぞれの信頼度に基づいて、前記第1のパラメータと前記第2のパラメータに対して重み付けを行う
請求項8に記載の制御装置。 - 学習によって更新された前記第1のパラメータを前記管理サーバにアップロードするアップロード管理部をさらに備える
請求項3に記載の制御装置。 - 前記アップロード管理部は、前記第1のパラメータの学習に用いられた学習用データを前記管理サーバにアップロードする
請求項10に記載の制御装置。 - 前記第2のロボットを制御する装置として前記第2のロボットの筐体に設けられる
請求項1に記載の制御装置。 - 制御装置が、
第1のロボットにより学習が行われることによって生成された、前記第1のロボットのモデルを構成する第1のパラメータを取得し、
第2のロボットのモデルを構成する第2のパラメータを置き換えた前記第1のパラメータを、前記第2のロボットが存在する環境に応じて学習する
制御方法。 - コンピュータに、
第1のロボットにより学習が行われることによって生成された、前記第1のロボットのモデルを構成する第1のパラメータを取得し、
第2のロボットのモデルを構成する第2のパラメータを置き換えた前記第1のパラメータを、前記第2のロボットが存在する環境に応じて学習する
処理を実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018135556A JP2021181124A (ja) | 2018-07-19 | 2018-07-19 | 制御装置、制御方法、およびプログラム |
PCT/JP2019/026789 WO2020017357A1 (ja) | 2018-07-19 | 2019-07-05 | 制御装置、制御方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018135556A JP2021181124A (ja) | 2018-07-19 | 2018-07-19 | 制御装置、制御方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021181124A true JP2021181124A (ja) | 2021-11-25 |
Family
ID=69164447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018135556A Pending JP2021181124A (ja) | 2018-07-19 | 2018-07-19 | 制御装置、制御方法、およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2021181124A (ja) |
WO (1) | WO2020017357A1 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6230987B2 (ja) * | 2014-12-01 | 2017-11-15 | 日本電信電話株式会社 | 言語モデル作成装置、言語モデル作成方法、プログラム、および記録媒体 |
JP6561004B2 (ja) * | 2016-03-25 | 2019-08-14 | 株式会社デンソーアイティーラボラトリ | ニューラルネットワークシステム、端末装置、管理装置およびニューラルネットワークにおける重みパラメータの学習方法 |
JP6712642B2 (ja) * | 2016-09-16 | 2020-06-24 | 日本電信電話株式会社 | モデル学習装置、その方法、及びプログラム |
WO2018131311A1 (ja) * | 2017-01-10 | 2018-07-19 | 日本電気株式会社 | センシングシステム、センサノード装置、センサ測定値処理方法及びプログラム |
-
2018
- 2018-07-19 JP JP2018135556A patent/JP2021181124A/ja active Pending
-
2019
- 2019-07-05 WO PCT/JP2019/026789 patent/WO2020017357A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2020017357A1 (ja) | 2020-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102648234B1 (ko) | 데이터 학습 서버 및 이의 학습 모델 생성 및 이용 방법 | |
KR102044665B1 (ko) | 로봇 시스템이 작업을 수행하기 위한 명령어를 생성하기 위한 방법 및 시스템 | |
CN106873773B (zh) | 机器人交互控制方法、服务器和机器人 | |
JP6648352B2 (ja) | 汎用学習済モデルの生成方法 | |
US10726335B2 (en) | Generating compressed representation neural networks having high degree of accuracy | |
US11755882B2 (en) | Method, apparatus and system for recommending location of robot charging station | |
US10409291B2 (en) | Teaming in swarm intelligent robot sets | |
US11170266B2 (en) | Apparatus and method for identifying object | |
TW201915665A (zh) | 機器人互動方法和設備 | |
US11458624B2 (en) | Control server and method for controlling robot using artificial neural network, and robot implementing the same | |
US20210323166A1 (en) | Infinite robot personalities | |
CN106325065A (zh) | 机器人交互行为的控制方法、装置及机器人 | |
WO2019097784A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN111869226A (zh) | 显示装置及其控制方法 | |
JP2021181124A (ja) | 制御装置、制御方法、およびプログラム | |
CN115437269A (zh) | 机器人的控制方法及系统、电子设备 | |
CN108960200A (zh) | 一种基于智能交互的数据处理方法及电子设备 | |
Tegelund et al. | A task-oriented service personalization scheme for smart environments using reinforcement learning | |
Vircikova et al. | Design of verbal and non-verbal human-robot interactive system | |
CN113158027A (zh) | 一种智能设备推荐方法、系统及智能终端 | |
KR101666488B1 (ko) | 로봇의 자율 이동을 위한 행동블록 운영 시스템 및 그 방법 | |
WO2023058433A1 (ja) | 学習装置、学習方法、センシングデバイス及びデータ収集方法 | |
US20240096077A1 (en) | Training autoencoders for generating latent representations | |
US20240144009A1 (en) | Machine Learning | |
CN113419700A (zh) | 一种基于课堂教学的半投屏系统及方法 |