(57)【要約】【課題】遠隔地に配置された装置に新たな能力を追加するための仕組みを提供する。【解決手段】本発明の一側面に係る学習装置は、機械学習させる対象となる学習対象装置とは遠隔地に配置され、当該学習対象装置の指定、及び当該学習対象装置に当該機械学習により獲得させる能力の指定を学習依頼として受け付ける学習依頼受付部と、指定された前記能力に関連する動作を実行するように前記学習対象装置を遠隔操作する遠隔操作部と、前記学習対象装置の遠隔操作の結果に基づいて、指定された前記能力の機械学習のための学習データを収集する学習データ収集部と、収集した前記学習データを用いて、指定された前記能力を獲得させるように学習器の機械学習を行う学習処理部と、を備える。【選択図】図１
2018149669.tif 000002
【特許請求の範囲】
【請求項１】
遠隔地に配置され、機械学習される対象となる学習対象装置の指定、及び当該学習対象装置に当該機械学習により獲得させる能力の指定を学習依頼として受け付ける学習依頼受付部と、
制御データを前記学習対象装置に送信することで、指定された前記能力に関連する動作を実行するように前記学習対象装置を遠隔操作する遠隔操作部と、
前記学習対象装置の遠隔操作の結果に基づいて、指定された前記能力の機械学習のための学習データを収集する学習データ収集部と、
収集した前記学習データを用いて、指定された前記能力を獲得させるように学習器の機械学習を行う学習処理部と、
を備える、
学習装置。
【請求項２】
前記学習対象装置の可動範囲内で、前記学習対象装置の動作を許可する許可範囲を設定する許可範囲設定部と、
前記可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する状況取得部と、
を更に備え、
前記遠隔操作部は、取得した前記状況情報に基づいて、設定された前記許可範囲内で動作するように前記学習対象装置を遠隔操作する、
請求項１に記載の学習装置。
【請求項３】
前記監視装置は、前記学習対象装置の可動範囲を撮影するように配置された撮影装置であり、
前記状況情報は、前記撮影装置により撮影された撮影画像である、
請求項２に記載の学習装置。
【請求項４】
前記遠隔操作部は、設定した許可範囲内に侵入物が侵入した場合に、前記学習対象装置の遠隔操作を一時停止し、許可範囲から侵入物が退去した後に、前記学習対象装置の遠隔操作を再開する、
請求項２又は３に記載の学習装置。
【請求項５】
前記学習依頼受付部は、前記学習依頼として、前記学習対象装置において遠隔操作を許可するために設定されたパスワードの指定を更に受け付け、
前記遠隔操作部は、指定された前記パスワードによって前記学習対象装置において認証を受けた後に、前記学習対象装置を遠隔操作する、
請求項１から４のいずれか１項に記載の学習装置。
【請求項６】
前記学習依頼受付部は、前記学習依頼として、前記学習対象装置において遠隔操作を許可する学習期間の指定を更に受け付け、
前記遠隔操作部は、指定された前記学習期間内に前記学習対象装置を遠隔操作し、指定された前記学習期間の経過後に、前記学習対象装置の遠隔操作に利用した情報を削除する、
請求項１から５のいずれか１項に記載の学習装置。
【請求項７】
前記学習依頼の破棄を受け付ける破棄受付部と、
前記学習依頼の破棄を受け付けた場合に、当該学習依頼の破棄を受け付けるまでに収集した前記学習データ及び前記学習対象装置の遠隔操作に利用した情報を含む前記学習依頼に関する情報を削除するデータ削除部と、
を更に備える、
請求項１から６のいずれか１項に記載の学習装置。
【請求項８】
前記学習データ収集部は、
指定された前記能力に応じて、達成すべき作業目標を示す目標データを生成し、
前記遠隔操作の結果に基づいて、前記目標データにより示される前記作業目標を前記学習対象装置が達成したか否かを判定し、
前記作業目標を前記学習対象装置が達成した場合、前記目標データと前記制御データとを組にすることで、前記学習データを生成する、
請求項１から７のいずれか１項に記載の学習装置。
【請求項９】
前記学習対象装置よりもマシンパワーが高くなるように構成される、
請求項１から８のいずれか１項に記載の学習装置。
【請求項１０】
コンピュータが、
遠隔地に配置され、機械学習させる対象となる学習対象装置の指定、及び当該学習対象装置に当該機械学習により獲得させる能力の指定を学習依頼として受け付ける学習依頼受付ステップと
制御データを前記学習対象装置に送信することで、指定された前記能力に関連する動作を実行するように前記学習対象装置を遠隔操作する遠隔操作ステップと、
前記学習対象装置の遠隔操作の結果に基づいて、指定された前記能力の機械学習のための学習データを収集する収集ステップと、
収集した前記学習データを用いて、指定された前記能力を獲得させるように学習器の機械学習を行う機械学習ステップと、
を実行する、
学習方法。
【請求項１１】
前記コンピュータが、
前記学習対象装置の可動範囲内で、前記学習対象装置の動作を許可する許可範囲を設定する範囲設定ステップと、
前記可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する情報取得ステップと、
を更に実行し、
前記遠隔操作ステップでは、前記コンピュータは、取得した前記状況情報に基づいて、設定された前記許可範囲内で動作するように前記学習対象装置を遠隔操作する、
請求項１０に記載の学習方法。
【請求項１２】
前記監視装置は、前記学習対象装置の可動範囲を撮影するように配置された撮影装置であり、
前記状況情報は、前記撮影装置により撮影された撮影画像である、
請求項１１に記載の学習方法。
【請求項１３】
前記遠隔操作ステップでは、前記コンピュータは、設定した許可範囲内に侵入物が侵入した場合に、前記学習対象装置の遠隔操作を一時停止し、許可範囲から侵入物が退去した後に、前記学習対象装置の遠隔操作を再開する、
請求項１１又は１２に記載の学習方法。
【請求項１４】
前記学習依頼受付ステップでは、前記コンピュータは、前記学習依頼として、前記学習対象装置において遠隔操作を許可するために設定されたパスワードの指定を更に受け付け、
前記遠隔操作ステップでは、前記コンピュータは、指定された前記パスワードによって前記学習対象装置において認証を受けた後に、前記学習対象装置を遠隔操作する、
請求項１０から１３のいずれか１項に記載の学習方法。
【請求項１５】
前記学習依頼受付ステップでは、前記コンピュータは、前記学習依頼として、前記学習対象装置において遠隔操作を許可する学習期間の指定を更に受け付け、
前記コンピュータは、指定された前記学習期間内に前記遠隔操作ステップを実行し、指定された前記学習期間の経過後に、前記学習対象装置の遠隔操作に利用した情報を削除する、
請求項１０から１４のいずれか１項に記載の学習方法。
【請求項１６】
前記コンピュータが、
前記学習依頼の破棄を受け付ける破棄依頼受付ステップと、
前記学習依頼の破棄を受け付けた場合に、当該学習依頼の破棄を受け付けるまでに収集した前記学習データ及び前記学習対象装置の遠隔操作に利用した情報を含む前記学習依頼に関する情報を削除する削除ステップと、
を更に実行する、
請求項１０から１５のいずれか１項に記載の学習方法。
【請求項１７】
前記コンピュータは、
指定された前記能力に応じて、達成すべき作業目標を示す目標データを生成し、
前記遠隔操作の結果に基づいて、前記目標データにより示される前記作業目標を前記学習対象装置が達成したか否かを判定し、
前記作業目標を前記学習対象装置が達成した場合、前記目標データと前記制御データとを組にすることで、前記学習データを生成する、
請求項１０から１６のいずれか１項に記載の学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置及び学習方法に関する。
【背景技術】
【０００２】
コンピュータのＣＰＵ（Central Processing Unit）、記憶装置、及びネットワークの高度化により、システムで扱うことのできるデータ量が爆発的に増大している。このような膨大な量のデータは、ビッグデータと呼ばれている。更に、それぞれデータソース及び操作対象となる多数の装置が、ネットワークを介して互いに接続されており、これらを統合する仕組みとして、様々なＩｏＴ（Internet of Things）システムが開発されている。ビッグデータをＩｏＴシステムで取り扱うことにより、多様な情報処理を実施することができる。しかしながら、新たな情報処理を実施するためには、アプリケーションに新たな能力を付与することになる。近年、その開発量が大幅に増大しており、これによって、アプリケーション開発のリソースが足りない状況になってきている。深層学習（Deep Learning）をはじめとする新たなＡＩ（Artificial Intelligence）技術によって、アプリケーションに新たな能力を獲得させることができれば、このようなリソースの足りない事態を解決することができる。
【０００３】
以前から、ニューラルネットワークを含む人工知能に関する研究は幅広く行われてきた。例えば、画像に写る対象物の認識技術は、多くの改良が行われ、認識率が徐々に向上してきている。特に、深層学習の導入によって、対象物の認識率がここ数年で急速に向上している。深層学習の技術は、画像の認識だけではなく、音声認識、文章の要約、自動翻訳、自動運転、故障予測、センサデータの分析等の幅広い分野で利用されている。この深層学習等の機械学習を利用すれば、機械に新たな能力を獲得させることができる。
【０００４】
例えば、新たな能力を装置に実装する方法に関連する技術として、特許文献１及び２では、プリンタのファームウェアを書き換える技術が提案されている。また、特許文献３及び４では、機械学習に関連する技術が提案されており、特許文献５では、深層学習を利用した文字識別システムが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１３４４７４号公報
【特許文献２】特開２００７−１４０９５２号公報
【特許文献３】特開２０１４−２２８９７２号公報
【特許文献４】特許第５８１６７７１号公報
【特許文献５】特開２０１５−  ５３００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本件発明者らは、上記のような従来のＡＩ技術について次のような問題があることを見出した。すなわち、従来のＡＩ技術では、新たな能力を追加する対象となるロボット等の装置を手元に用意し、その対象の装置に機械学習の処理を実行させることで、当該対象の装置に新たな能力を獲得させていた。そのため、新たな能力を追加する対象となる装置が遠隔地に配置されている場合には、その装置に新たな能力を追加するのは困難であった。
【０００７】
そこで、本件発明者らは、上記の問題点を解決するため、遠隔操作により機械学習の処理を実行させることで、遠隔地に配置された装置に新たな能力を追加するシステムを構築することを検討した。しかしながら、本件発明者らは、このようなシステムでは、次のような問題点が生じ得ることを見出した。
【０００８】
すなわち、深層学習等の機械学習では、一般的に、学習に利用するデータの量が多く、かつ、繰り返し演算の回数も多いため、大規模なトレーニングシステムが用いられる。つまり、機械学習の処理を実施するためには、相応のマシンパワーが要求される。これに対して、遠隔地に配置された装置は、そのマシンパワーが制限されている場合がある。加えて、遠隔地に配置されているため、その装置のマシンパワーを容易に増設することができない。そのため、マシンパワーの不足により、遠隔地に配置された装置では、新たな能力を獲得するための機械学習の処理を実施することができないという問題点が生じ得ることを本件発明者らは見出した。
【０００９】
本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、遠隔地に配置された装置に新たな能力を適切に追加するための技術的な仕組みを提供することである。
【課題を解決するための手段】
【００１０】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【００１１】
すなわち、本発明の一側面に係る学習装置は、遠隔地に配置され、機械学習される対象となる学習対象装置の指定、及び当該学習対象装置に当該機械学習により獲得させる能力の指定を学習依頼として受け付ける学習依頼受付部と、制御データを前記学習対象装置に送信することで、指定された前記能力に関連する動作を実行するように前記学習対象装置を遠隔操作する遠隔操作部と、前記学習対象装置の遠隔操作の結果に基づいて、指定された前記能力の機械学習のための学習データを収集する学習データ収集部と、収集した前記学習データを用いて、指定された前記能力を獲得させるように学習器の機械学習を行う学習処理部と、を備える。
【００１２】
当該構成に係る学習装置は、依頼者からの学習依頼として、機械学習させる対象となる学習対象装置及び当該学習対象装置に獲得させる能力の指定を受け付ける。続いて、学習装置は、指定された学習対象装置を遠隔操作することにより、指定された能力の機械学習に利用するための学習データを収集する。そして、学習装置は、収集した学習データを利用することで、指定された能力を獲得させるように学習器の機械学習を実施する。これによって、指定された能力を学習対象装置に実施させるための学習器を構築することができる。また、当該構成では、遠隔地に配置された学習対象装置には、指定された能力に関連する動作を実行させるに過ぎず、当該能力の機械学習の処理は、学習装置に実行させる。そのため、遠隔地に配置された学習対象装置のマシンパワーが制限されていても、当該学習対象装置に獲得させる能力の機械学習の処理を実施することができる。したがって、当該構成によれば、遠隔地に配置された装置（学習対象装置）に新たな能力を適切に追加するための技術的な仕組みを提供することができる。
【００１３】
なお、「学習対象装置」は、コンピュータにより制御可能な装置であれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習対象装置は、製造ライン、手術等に利用されるロボットシステムであってよい。また、獲得させる対象となる「能力」は、学習対象装置に実装可能なあらゆる能力を含んでよく、例えば、学習対象装置が提供可能な機能、学習対象装置が実行可能な情報処理等である。能力を獲得することには、未実装の新たな機能又は情報処理を学習対象装置が実施可能になること、及び実装済みの機能又は情報処理を学習対象装置がより効率的に実施可能になることが含まれる。更に、「遠隔地に配置される」とは、学習装置と学習対象装置とが物理的に離れていることであり、例えば、壁で隔たれていたり、別々の建物内にそれぞれが配置されるなどして、学習装置の側にいる人から学習対象装置の側にいる人が見えなかったり、直接声が届かないような配置である。また、例えば、学習対象装置は学習の依頼者の工場内に設置され、学習装置は学習依頼を請け負った者の会社の建物内に設置され、それぞれが別々の会社の建物での配置である。学習装置と学習対象装置とが互いに異なる県に配置される等、学習装置を運営する会社所属の技術者が学習対象装置の配置されている場所を訪れるのに比較的に時間がかかるようなケースに本発明は特に効果を発揮する。また、学習装置は、学習対象装置よりもマシンパワーが高くなるように構成されるのが好ましい。マシンパワーは、ＣＰＵの処理速度、メモリの容量、メモリの読み出し速度等によって比較されてよい。
【００１４】
上記一側面に係る学習装置は、前記学習対象装置の可動範囲内で、前記学習対象装置の動作を許可する許可範囲を設定する許可範囲設定部と、前記可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する状況取得部と、を更に備えてよく、前記遠隔操作部は、取得した前記状況情報に基づいて、設定された前記許可範囲内で動作するように前記学習対象装置を遠隔操作してもよい。当該構成によれば、学習対象装置が動作する範囲を許可範囲内に限定することで、無駄な動作を削減し、機械学習の効率化を図ると共に、学習対象装置の周囲の安全性を確保することができる。
【００１５】
上記一側面に係る学習装置において、前記監視装置は、前記学習対象装置の可動範囲を撮影するように配置された撮影装置であってよく、前記状況情報は、前記撮影装置により撮影された撮影画像であってよい。当該構成によれば、学習対象装置の状況を監視する監視装置を安価に構築することができる。
【００１６】
上記一側面に係る学習装置において、前記遠隔操作部は、設定した許可範囲内に侵入物が侵入した場合に、前記学習対象装置の遠隔操作を一時停止してもよく、許可範囲から侵入物が退去した後に、前記学習対象装置の遠隔操作を再開してもよい。当該構成によれば、許可範囲内の安全性を確保することができる。
【００１７】
上記一側面に係る学習装置において、前記学習依頼受付部は、前記学習依頼として、前記学習対象装置において遠隔操作を許可するために設定されたパスワードの指定を更に受け付けてよく、前記遠隔操作部は、指定された前記パスワードによって前記学習対象装置において認証を受けた後に、前記学習対象装置を遠隔操作してもよい。当該構成によれば、学習対象装置を遠隔操作する際のセキュリティを高めることができる。
【００１８】
上記一側面に係る学習装置において、前記学習依頼受付部は、前記学習依頼として、前記学習対象装置において遠隔操作を許可する時間帯の指定を更に受け付けてよく、前記遠隔操作部は、指定された前記時間帯にのみ前記学習対象装置を遠隔操作してもよい。当該構成によれば、学習対象装置の遠隔操作を許可する時間帯を限定することができる。これにより、例えば、学習対象装置を利用しない夜間又は早朝の時間帯に、当該学習対象装置の機械学習に利用する学習データを収集するようにすることができる。そのため、学習対象装置の利用効率を高めることができる。
【００１９】
上記一側面に係る学習装置において、前記学習依頼受付部は、前記学習依頼として、前記学習対象装置において遠隔操作を許可する学習期間の指定を更に受け付けてよく、前記遠隔操作部は、指定された前記学習期間内に前記学習対象装置を遠隔操作し、指定された前記学習期間の経過後に、前記学習対象装置の遠隔操作に利用した情報を削除してもよい。当該構成によれば、学習期間を設定することができる。これによって、例えば、学習対象装置を利用しない１週間、２週間等の休業期間に、当該学習対象装置の機械学習に利用する学習データを収集するようにすることができる。
【００２０】
上記一側面に係る学習装置は、前記学習依頼の破棄を受け付ける破棄受付部と、前記学習依頼の破棄を受け付けた場合に、当該学習依頼の破棄を受け付けるまでに収集した前記学習データ及び前記学習対象装置の遠隔操作に利用した情報を含む前記学習依頼に関する情報を削除するデータ削除部と、を更に備えてもよい。当該構成によれば、不要になった機械学習の依頼を破棄することができ、これによって、学習装置のリソースの効率化を図ることができる。
【００２１】
上記一側面に係る学習装置は、前記機械学習が完了した学習済みの前記学習器を前記学習対象装置に装備させることで指定された前記能力を前記学習対象装置に付与するための能力付与データを生成する能力付与データ生成部を更に備えてもよい。当該構成によれば、学習依頼により指定された能力を学習対象装置に付与するための能力付与データを自動的に作成することができる。
【００２２】
なお、能力付与データの形式は、学習依頼で指定された能力を学習対象装置に付与可能な形式であれば特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習対象装置が所定の学習器を備えている場合には、能力付与データは、その学習器の構成、パラメータ等を示すデータであってよい。また、例えば、学習対象装置がＦＰＧＡ（field-programmable gate array）を備える場合には、能力付与データは、当該ＦＰＧＡ内で学習済みの学習器を実現するために当該ＦＰＧＡに書き込まれるデータであってよい。また、例えば、能力付与データは、学習対象装置で実行可能なプログラム、プログラムを修正するパッチデータ等であってよい。
【００２３】
上記一側面に係る学習装置は、生成された前記能力付与データを前記学習対象装置に配信する配信部を更に備えてもよい。当該構成によれば、学習依頼により指定された能力を学習対象装置に自動的に付与することができる。
【００２４】
上記一側面に係る学習装置において、前記学習器は、ニューラルネットワークにより構成されてよい。当該構成によれば、機械学習を実施する学習装置を比較的に簡易に実現することができる。
【００２５】
上記一側面に係る学習装置において、前記学習データ収集部は、指定された前記能力に応じて、達成すべき作業目標を示す目標データを生成してもよく、前記遠隔操作の結果に基づいて、前記目標データにより示される前記作業目標を前記学習対象装置が達成したか否かを判定してもよく、前記作業目標を前記学習対象装置が達成した場合、前記目標データと前記制御データとを組にすることで、前記学習データを生成してもよい。当該構成によれば、指定された能力の機械学習に適した学習データを適切に収集することができる。
【００２６】
また、本発明の一側面に係る学習方法は、コンピュータが、遠隔地に配置され、機械学習させる対象となる学習対象装置の指定、及び当該学習対象装置に当該機械学習により獲得させる能力の指定を学習依頼として受け付ける学習依頼受付ステップと、制御データを前記学習対象装置に送信することで、指定された前記能力に関連する動作を実行するように前記学習対象装置を遠隔操作する遠隔操作ステップと、前記学習対象装置の遠隔操作の結果に基づいて、指定された前記能力の機械学習のための学習データを収集する収集ステップと、収集した前記学習データを用いて、指定された前記能力を獲得させるように学習器の機械学習を行う機械学習ステップと、を実行する学習方法である。当該構成によれば、遠隔地に配置された装置に新たな能力を適切に追加するための技術的な仕組みを提供することができる。
【００２７】
上記一側面に係る学習方法において、前記コンピュータが、前記学習対象装置の可動範囲内で、前記学習対象装置の動作を許可する許可範囲を設定する範囲設定ステップと、前記可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する情報取得ステップと、を更に実行してもよく、前記遠隔操作ステップでは、前記コンピュータは、取得した前記状況情報に基づいて、設定された前記許可範囲内で動作するように前記学習対象装置を遠隔操作してもよい。当該構成によれば、学習対象装置が動作する範囲を許可範囲内に限定することで、無駄な動作を削減し、機械学習の効率化を図ると共に、学習対象装置の周囲の安全性を確保することができる。
【００２８】
上記一側面に係る学習方法において、前記監視装置は、前記学習対象装置の可動範囲を撮影するように配置された撮影装置であってよく、前記状況情報は、前記撮影装置により撮影された撮影画像であってよい。当該構成によれば、学習対象装置の状況を監視する監視装置を安価に構築することができる。
【００２９】
上記一側面に係る学習方法において、前記遠隔操作ステップでは、前記コンピュータは、設定した許可範囲内に侵入物が侵入した場合に、前記学習対象装置の遠隔操作を一時停止してもよく、許可範囲から侵入物が退去した後に、前記学習対象装置の遠隔操作を再開してもよい。当該構成によれば、許可範囲内の安全性を確保することができる。
【００３０】
上記一側面に係る学習方法において、前記学習依頼受付ステップでは、前記コンピュータは、前記学習依頼として、前記学習対象装置において遠隔操作を許可するために設定されたパスワードの指定を更に受け付けてよく、前記遠隔操作ステップでは、前記コンピュータは、指定された前記パスワードによって前記学習対象装置において認証を受けた後に、前記学習対象装置を遠隔操作してもよい。当該構成によれば、学習対象装置を遠隔操作する際のセキュリティを高めることができる。
【００３１】
上記一側面に係る学習方法において、前記学習依頼受付ステップでは、前記コンピュータは、前記学習依頼として、前記学習対象装置において遠隔操作を許可する時間帯の指定を更に受け付けてよく、前記コンピュータは、指定された前記時間帯にのみ前記遠隔操作ステップを実行してもよい。当該構成によれば、学習対象装置の遠隔操作を許可する時間帯を限定することができる。
【００３２】
上記一側面に係る学習方法において、前記学習依頼受付ステップでは、前記コンピュータは、前記学習依頼として、前記学習対象装置において遠隔操作を許可する学習期間の指定を更に受け付けてよく、前記コンピュータは、指定された前記学習期間内に前記遠隔操作ステップを実行し、指定された前記学習期間の経過後に、前記学習対象装置の遠隔操作に利用した情報を削除してもよい。当該構成によれば、学習期間を設定することができる。
【００３３】
上記一側面に係る学習方法において、前記コンピュータが、前記学習依頼の破棄を受け付ける破棄依頼受付ステップと、前記学習依頼の破棄を受け付けた場合に、当該学習依頼の破棄を受け付けるまでに収集した前記学習データ及び前記学習対象装置の遠隔操作に利用した情報を含む前記学習依頼に関する情報を削除する削除ステップと、を更に実行してもよい。当該構成によれば、不要になった機械学習の依頼を破棄することができ、これによって、機械学習を行うシステムのリソースの効率化を図ることができる。
【００３４】
上記一側面に係る学習方法において、前記コンピュータが、前記機械学習が完了した学習済みの前記学習器を前記学習対象装置に装備させることにで指定された前記能力を前記学習対象装置に付与するための能力付与データを生成する生成ステップを更に実行してもよい。当該構成によれば、学習依頼により指定された能力を学習対象装置に付与するための能力付与データを自動的に作成することができる。
【００３５】
上記一側面に係る学習方法において、前記コンピュータが、生成された前記能力付与データを前記学習対象装置に配信する配信ステップを更に備えてもよい。当該構成によれば、学習依頼により指定された能力を学習対象装置に自動的に付与することができる。
【００３６】
上記一側面に係る学習方法において、前記学習器は、ニューラルネットワークにより構成されてよい。当該構成によれば、機械学習を実施する学習装置を比較的に簡易に実現することができる。
【００３７】
上記一側面に係る学習方法において、前記コンピュータは、指定された前記能力に応じて、達成すべき作業目標を示す目標データを生成してもよく、前記遠隔操作の結果に基づいて、前記目標データにより示される前記作業目標を前記学習対象装置が達成したか否かを判定してもよく、前記作業目標を前記学習対象装置が達成した場合、前記目標データと前記制御データとを組にすることで、前記学習データを生成してもよい。当該構成によれば、指定された能力の機械学習に適した学習データを適切に収集することができる。
【発明の効果】
【００３８】
本発明によれば、遠隔地に配置された装置に新たな能力を追加するための技術的な仕組みを提供することができる。
【図面の簡単な説明】
【００３９】
【図１】図１は、本発明が適用される場面の一例を模式的に例示する。
【図２】図２は、実施の形態に係る学習装置のハードウェア構成の一例を模式的に例示する。
【図３】図３は、実施の形態に係るロボットアームシステムのハードウェア構成の一例を模式的に例示する。
【図４】図４は、実施の形態に係るロボットアームシステムの動作状態の一例を模式的に例示する。
【図５】図５は、実施の形態に係る学習装置のソフトウェア構成の一例を模式的に例示する。
【図６】図６は、実施の形態に係るロボットアームシステムのソフトウェア構成の一例を模式的に例示する。
【図７】図７は、実施の形態に係る学習装置の処理手順の一例を例示する。
【図８】図８は、実施の形態に係るロボットアームシステムの処理手順の一例を例示する。
【図９】図９は、変形例に係る学習装置の構成の一例を模式的に例示する。
【図１０】図１０は、変形例に係る学習装置の機械学習実施中における処理手順の一例を例示する。
【図１１】図１１は、変形例に係るロボットアームシステムの一例を模式的に例示する。
【発明を実施するための形態】
【００４０】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。例えば、以下の実施形態では、機械学習させる対象となる学習対象装置の一例として、工場内で所定の作業を行うロボットアームシステムを例示する。しかしながら、本発明の適用対象は、ロボットアームシステムに限定される訳ではなく、学習対象装置は、実施の形態に応じて適宜選択されてよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００４１】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本実施形態に係る学習装置及び学習対象装置の適用場面の一例を模式的に例示する。
【００４２】
図１に示されるとおり、本実施形態に係る学習装置１は、依頼者からの学習依頼に応じて、遠隔地に配置される学習対象装置に指定された新たな能力を獲得するための機械学習を行う情報処理装置である。具体的には、学習装置１は、遠隔地に配置され、機械学習させる対象となる学習対象装置の指定、及び学習対象装置に機械学習により獲得させる能力の指定を学習依頼として依頼者から受け付ける。依頼者は、ユーザ端末４を利用して、ネットワーク１０を介して、学習対象装置及び獲得させる能力の指定を行う。
【００４３】
本実施形態では、工場内で所定の作業を行うロボットアームシステム２が、学習装置１の機械学習により当該指定された能力を獲得させる対象となる学習対象装置として指定されたものとする。なお、獲得させる能力は、ロボットアームシステム２に実装可能なあらゆる能力から実施の形態に応じて適宜選択されてよく、例えば、新たな作業を実施する能力、運用中の作業をより効率的に実施する能力等であってよい。
【００４４】
学習装置１は、制御データを送信することで、学習依頼で指定された能力に関連する学習のための動作を実行するように、学習対象装置に指定されたロボットアームシステム２を遠隔操作する。次に、学習装置１は、ロボットアームシステム２の遠隔操作の結果に基づいて、指定された能力の機械学習のための学習データを収集する。そして、学習装置１は、収集した学習データを用いて、指定された能力を獲得させるように学習器（後述するニューラルネットワーク６）の機械学習を行う。これにより、学習装置１は、学習対象装置に指定されたロボットアームシステム２に、学習依頼で指定された能力を実施させるための学習済みの学習器を生成することができる。
【００４５】
また、本実施形態では、遠隔地に配置されたロボットアームシステム２には、指定された能力に関する動作を実行させるに過ぎず、指定された能力を獲得するための機械学習の処理は、学習装置１に実行させる。そのため、遠隔地に配置されたロボットアームシステム２のマシンパワーが制限されていても、当該ロボットアームシステム２に獲得させる能力の機械学習の処理を実施することができる。
【００４６】
したがって、本実施形態によれば、高度なスキルを有する要因及び機械学習に利用する複雑なシステムを持たない一般の企業（依頼者）から学習依頼を受け付け、受け付けた学習依頼に応じて機械学習の実施を行う技術的な仕組みを提供することができる。特に、ロボットアームシステム２のように遠隔地の工場、倉庫等に配置された装置に新たな能力を適切に追加するための技術的な仕組みを提供することができる。
【００４７】
なお、「遠隔地に配置される」とは、学習装置１と学習対象装置とが物理的に離れていることであり、例えば、壁で隔たれていたり、別々の建物内にそれぞれが配置されるなどして、学習装置の側にいる人から学習対象装置の側にいる人が見えなかったり、直接声が届かないような配置である。また、例えば、学習対象装置は学習の依頼者の工場内に設置され、学習装置１は学習依頼を請け負った者の会社の建物内に設置され、それぞれが別々の会社の建物での配置である。したがって、依頼者の利用するユーザ端末４の配置は、実施の形態に応じて適宜選択されてよい。例えば、ユーザ端末４は、学習装置１及びロボットアームシステム２と異なるローカルエリアネットワークに配置され、学習装置１及びロボットアームシステム２とインターネット等のネットワークを介して接続するように配置されてもよい。また、例えば、ユーザ端末４は、学習装置１と同じローカルエリアネットワークに配置されてもよいし、ロボットアームシステム２と同じローカルエリアネットワークに配置されてもよい。更に、学習装置１は、直接入力を受け付けることで、ユーザ端末４を介さず依頼者から学習依頼を受けてもよい。
【００４８】
一方、本実施形態に係るロボットアームシステム２は、依頼者からの学習依頼に応じて指定された能力を獲得するための機械学習を行う上記学習装置１に対して遠隔地に配置され、当該学習装置１の機械学習により指定された能力を獲得させる対象となる学習対象装置の一例である。本実施形態に係るロボットアームシステム２は、所定の作業を実施するロボットアーム３０、及びロボットアーム３０を制御するロボットコントローラ（ＲＣ）２０を備えている。また、ロボットコントローラはＰＬＣ（programmable logic controller）などでもよい。これにより、ロボットアームシステム２は、指定された能力に関連する動作の実施を指示する遠隔操作の指令を上記学習装置１から受け付け、受け付けた遠隔操作の指令に従って、指定された能力に関連する動作を実行するように構成される。すなわち、ロボットアームシステム２は、ＲＣ２０によって、学習装置１から指定された動作をロボットアーム３０に実行させるように構成される。
【００４９】
また、ロボットアームシステム２は、所定の表示を行うディスプレイ３２を備えている。ディスプレイ３２は、例えば、ロボットアーム３０の近傍等、ロボットアームシステム２の周囲に存在する工場内の作業者が視認可能な場所に配置される。このディスプレイ３２は、「表示部」の一例である。本実施形態に係るロボットアームシステム２は、遠隔操作の指令の指令に従って動作を実行している間、学習装置１の遠隔操作による動作中であることをディスプレイ３２に表示させるように構成される。
【００５０】
これによって、本実施形態では、ディスプレイ３２の表示を通じて、ロボットアームシステム２が学習装置１によって遠隔操作されている最中であることを工場内の作業者等に知らせることができる。したがって、本実施形態によれば、学習装置１による遠隔操作が実施されている間におけるロボットアームシステム２の周囲の安全を確保することができる。
【００５１】
なお、本実施形態では、ロボットアームシステム２は、ロボットアーム３０の可動範囲の状況を監視するカメラ３１を備えている。カメラ３１は、本発明の「監視装置（撮影装置）」の一例である。また、本実施形態では、工場内において、ロボットアームシステム２の他に、オペレータの操作により他律的に又は自律的に移動可能なロボット装置５が作業を行っている。
【００５２】
§２  構成例
［ハードウェア構成］
＜学習装置＞
次に、図２を用いて、本実施形態に係る学習装置１のハードウェア構成の一例について説明する。図２は、本実施形態に係る学習装置１のハードウェア構成の一例を模式的に例示する。
【００５３】
図２に示されるとおり、本実施形態に係る学習装置１は、制御部１１、記憶部１２、通信インタフェース、入力装置１４、出力装置１５、及びドライブ１６が電気的に接続されたコンピュータである。なお、図２では、通信インタフェースを「通信Ｉ／Ｆ」と記載している。
【００５４】
制御部１１は、ＣＰＵ、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部１２は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成され、制御部１１で実行される学習プログラム１２１、学習器の学習に利用する学習データ１２２、依頼者に指定された能力をロボットアームシステム２に付与するための能力付与データ１２３等を記憶する。
【００５５】
学習プログラム１２１は、学習装置１に後述する機械学習の処理（図７）を実行させるためのプログラムである。学習データ１２２は、依頼者により指定された能力の機械学習に利用されるデータであり、遠隔操作したロボットアームシステム２から収集される。能力付与データ１２３は、機械学習の結果により獲得した能力をロボットアームシステム２に付与するためのデータである。詳細は後述する。
【００５６】
通信インタフェース１３は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、ネットワーク１０を介した有線又は無線通信を行うためのインタフェースである。学習装置１は、この通信インタフェース１３により、ロボットアームシステム２及びユーザ端末４との間でネットワーク１０を介してデータ通信を行うことができる。なお、ネットワーク１０の種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【００５７】
入力装置１４は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置１５は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置１４及び出力装置１５を介して、学習装置１を操作することができる。
【００５８】
ドライブ１６は、例えば、ＣＤドライブ、ＤＶＤドライブ等であり、記憶媒体９１に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ１６の種類は、記憶媒体９１の種類に応じて適宜選択されてよい。上記学習プログラム１２１は、この記憶媒体９１に記憶されていてもよい。
【００５９】
記憶媒体９１は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。学習装置１は、この記憶媒体９１から、上記学習プログラム１２１を取得してもよい。
【００６０】
ここで、図２では、記憶媒体９１の一例として、ＣＤ、ＤＶＤ等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体９１の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【００６１】
なお、学習装置１の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部１１は、複数のプロセッサを含んでもよい。学習装置１は、複数台の情報処理装置で構成されてもよい。また、学習装置１は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、ＰＣ（Personal Computer）等であってもよい。後述する機械学習の処理を実行するため、学習装置１は、ロボットアームシステム２よりもマシンパワーが高くなるように構成されるのが好ましい。なお、マシンパワーは、ＣＰＵの処理速度、メモリの記憶容量、メモリの読み出し速度等によって特定されてよい。例えば、学習装置１は、ロボットアームシステム２のＲＣ２０よりも高速に動作するＣＰＵを有することで、ロボットアームシステム２よりもマシンパワーが高くなっていてもよい。また、学習装置１とＲＣ２０とのＣＰＵの処理速度が同じである場合、学習装置１のＲＡＭが、ＲＣ２０のＲＡＭよりも大容量又は高速であることで、学習装置１は、ロボットアームシステム２よりもマシンパワーが高くなっていてもよい。
【００６２】
＜ロボットアームシステム＞
次に、図３及び図４を更に用いて、本実施形態に係るロボットアームシステム２のハードウェア構成の一例について説明する。図３は、本実施形態に係るＲＣ２０のハードウェア構成の一例を模式的に例示する。図４は、本実施形態に係るロボットアーム３０の動作状態の一例を模式的に例示する。図１及び図３に示されるとおり、本実施形態に係るロボットアームシステム２は、ＲＣ２０、ロボットアーム３０、カメラ３１、及びディスプレイ３２を備える。以下、各構成要素について説明する。
【００６３】
（ＲＣ）
まず、ＲＣ２０について説明する。本実施形態に係るＲＣ２０は、制御部２１、記憶部２２、外部インタフェース２３、及び通信インタフェース２４が電気的に接続されたコンピュータである。これにより、ＲＣ２０は、ロボットアーム３０、カメラ３１、及びディスプレイ３２の動作を制御するように構成される。なお、図３では、外部インタフェース及び通信インタフェースを「外部Ｉ／Ｆ」及び「通信Ｉ／Ｆ」と記載している。
【００６４】
制御部２１は、ＣＰＵ、ＲＡＭ、ＲＯＭ等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部２２は、例えば、ＲＡＭ、ＲＯＭ等で構成され、制御プログラム２２１等を記憶する。制御プログラム２２１は、ＲＣ２０に後述するロボットアーム３０の制御処理（図８）を実行させるためのプログラムである。制御部２１は、この制御プログラム２２１を解釈及び実行することで、後述する各ステップの処理を実行するように構成される。
【００６５】
外部インタフェース２３は、外部装置と接続するためのインタフェースであり、接続する外部装置に応じて適宜構成される。本実施形態では、ＲＣ２０は、各外部インタフェース２３を介して、ロボットアーム３０、カメラ３１、及びディスプレイ３２に接続する。
【００６６】
通信インタフェース２４は、例えば、有線ＬＡＮ（Local Area Network）モジュール、無線ＬＡＮモジュール等であり、有線又は無線通信を行うためのインタフェースである。通信インタフェース２４は、他の装置と通信を行うように構成された通信部の一例である。ＲＣ２０は、通信インタフェース２４により、遠隔地に配置された学習装置１、及び工場内のロボットアームシステム２の周囲に配置される周辺装置（例えば、自走可能なロボット装置５）との間でデータ通信を行うことができる。
【００６７】
なお、ＲＣ２０の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。制御部２１は、複数のプロセッサを含んでもよい。制御部２１は、ＦＰＧＡにより構成されてもよい。記憶部２２は、制御部２１に含まれるＲＡＭ及びＲＯＭにより構成されてもよい。記憶部２２は、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置で構成されてもよい。また、ＲＣ２０は、提供されるサービス専用に設計された情報処理装置の他、制御する対象に応じて、汎用のデスクトップＰＣ、タブレットＰＣ等であってもよい。
【００６８】
（ロボットアーム）
次に、ロボットアーム３０について説明する。ロボットアーム３０は、所望の作業を実施可能に適宜構成されてよい。図４の例では、ロボットアーム３０は、起点となる基台部３０１、可動軸となる２つの関節部３０２、骨格を形成する２つのリンク部３０３、及び先端に取り付けられるエンドエフェクタ３０４を備えている。
【００６９】
各関節部３０２は、サーボモータ、ブラシレスモータ等の駆動モータを備えており、各リンク部３０３を旋回又は回転可能に構成されている。また、各関節部３０２には、ロータリエンコーダ等の角度を検出可能な角度センサが取り付けられている。これにより、ロボットアーム３０は、各関節部３０２の角度を特定可能に構成されている。
【００７０】
エンドエフェクタ３０４は、工場内で実施する作業に応じて適宜形成される。このエンドエフェクタ３０４には、エンドエフェクタ３０４に作用する力を検出するように構成された力センサが取り付けられていてもよい。これにより、ロボットアーム３０は、エンドエフェクタ３０４に作用する力を検出するように構成可能である。
【００７１】
ロボットアーム３０は、各関節部３０２、各リンク部３０３及びエンドエフェクタ３０４に応じて、可動範囲３０８を有している。すなわち、可動範囲３０８は、各関節部３０２を駆動して、エンドエフェクタ３０４が到達可能な範囲である。本実施形態では、この可動範囲３０８内に、ロボットアーム３０の動作を許可する許可範囲３０９が設定される。詳細は後述する。
【００７２】
なお、ロボットアーム３０の具体的な構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、関節部３０２及びリンク部３０３の数は、実施の形態に応じて適宜選択されてよい。また、各関節部３０２には、上記角度センサの他に、トルクセンサが取り付けられていてもよい。これにより、各関節部３０２をトルクにより制御することができる。
【００７３】
（ディスプレイ）
本実施形態では、ディスプレイ３２は、ロボットアームシステム２（ロボットアーム３０）のステータスを表示するのに利用される。そのため、ディスプレイ３２は、当該ステータスを表示可能であれば特に限定されなくてもよく、公知の液晶ディスプレイ、タッチパネルディスプレイ等が用いられてよい。
【００７４】
（カメラ）
本実施形態では、カメラ３１は、ロボットアームシステム２（ロボットアーム３０）の可動範囲３０８の状況を撮影するように配置される。これにより、カメラ３１により撮影された撮影画像には、可動範囲３０８の状況が映る。この撮影画像は、本発明の「状況情報」の一例である。なお、カメラ３１は、所定の場所に固定されてもよいし、モータ等により撮影方向（向き）を変更可能に構成されてもよい。カメラ３１には、一般のデジタルカメラ、ビデオカメラ、３６０度カメラ等が用いられてよいし、可視光撮影用でも赤外光撮影用カメラであってもよい。
【００７５】
＜ロボット装置＞
ロボット装置５は、例えば、ＣＰＵ等で構成される制御部、プログラムなどを記憶する記憶部、ＲＣ２０と通信を行う通信インタフェース、上記ロボットアーム３０と同様のロボットアーム、他律的又は自律的に移動するための車輪モジュール等を備える。これにより、ロボット装置５は、工場内を移動し、所定の作業を行うように適宜構成される。なお、ロボット装置５の種類は、特に限定されず、もちろん人型でなくてもよく、工場内で行う作業に応じて適宜選択されてよい。
【００７６】
＜ユーザ端末＞
ユーザ端末４は、例えば、ＣＰＵ等で構成される制御部、プログラム等を記憶する記憶部、ネットワークを介した通信を行うための通信インタフェース、及び入出力装置が電気的に接続されたコンピュータである。ユーザ端末４は、学習装置１を運用するサービス提供者に対して依頼者が機械学習の依頼（学習依頼）を行うのに利用される。ユーザ端末４には、例えば、ネットワークに接続可能なデスクトップＰＣ、タブレットＰＣ、スマートフォンを含む携帯電話等が用いられてよい。
【００７７】
［ソフトウェア構成］
＜学習装置＞
次に、図５を用いて、本実施形態に係る学習装置１のソフトウェア構成の一例を説明する。図５は、本実施形態に係る学習装置１のソフトウェア構成の一例を模式的に例示する。
【００７８】
学習装置１の制御部１１は、記憶部１２に記憶された学習プログラム１２１をＲＡＭに展開する。そして、制御部１１は、ＲＡＭに展開された学習プログラム１２１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図５に示されるとおり、本実施形態に係る学習装置１は、ソフトウェアモジュールとして、学習依頼受付部１１０、許可範囲設定部１１１、状況取得部１１２、遠隔操作部１１３、学習データ収集部１１４、学習処理部１１５、能力付与データ生成部１１６、及び配信部１１７を備えるコンピュータとして構成される。
【００７９】
学習依頼受付部１１０は、依頼者から、遠隔地に配置された学習対象装置の指定及び指定された学習対象装置に機械学習により獲得される能力の指定を学習依頼として受け付ける。本実施形態では、依頼者から、ロボットアームシステム２の機械学習の依頼を受け付けたものとする。
【００８０】
許可範囲設定部１１１は、学習対象装置の可動範囲内で、当該学習対象装置の動作を許可する許可範囲を設定する。本実施形態では、許可範囲設定部１１１は、上記ロボットアーム３０の可動範囲３０８内において許可範囲３０９の設定を行う。
【００８１】
状況取得部１１２は、学習対象装置の可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する。本実施形態では、状況取得部１１２は、可動範囲３０８を撮影するように配置されたカメラ３１から、当該カメラ３１により撮影された撮影画像を状況情報として取得する。
【００８２】
遠隔操作部１１３は、制御データを学習対象装置に送信することで、学習依頼で指定された能力に関連する動作を実行するように学習対象装置を遠隔操作する。学習データ収集部１１４は、遠隔操作の結果に基づいて、指定された能力の機械学習のための学習データを収集する。
【００８３】
本実施形態では、遠隔操作部１１３は、ネットワーク１０を介して、所定の動作を指令する制御データをＲＣ２０に送信することで、ロボットアームシステム２のロボットアーム３０を遠隔操作する。このとき、遠隔操作部１１３は、カメラ３１から取得した撮影画像に基づいて、指定された許可範囲３０９内で動作するようにロボットアームシステム２を遠隔操作する。そして、学習データ収集部１１４は、指定された能力に対して達成すべき作業目標を示す目標データ及び当該作業目標を達成するまでの動作過程において得られるセンサデータを入力データとし、当該作業目標を達成するまでの動作過程においてＲＣ２０に送信した制御データを教師データとする学習データ１２２を収集する。
【００８４】
学習処理部１１５は、収集した学習データを用いて、指定された能力を獲得させるように学習器の機械学習を行う。能力付与データ生成部１１６は、機械学習が完了した学習済みの学習器を学習対象装置に装備させることで指定された能力を学習対象装置に付与するための能力付与データを作成する。配信部１１７は、生成した能力付与データを学習対象装置に配信する。
【００８５】
本実施形態では、学習処理部１１５は、ロボットアームシステム２から収集した学習データ１２２を用いて、ニューラルネットワーク６の機械学習を行う。能力付与データ生成部１１６は、学習済みのニューラルネットワーク６をＲＣ２０に装備させるための能力付与データ１２３を生成する。配信部１１７は、ネットワーク１０を介して、生成した能力付与データ１２３をＲＣ２０に配信する。
【００８６】
（学習器）
次に、学習器について説明する。図５に示されるとおり、本実施形態に係る学習器は、ニューラルネットワーク６により構成される。ニューラルネットワーク６は、いわゆる深層学習に用いられる多層構造のニューラルネットワークであり、入力から順に、入力層６１、中間層（隠れ層）６２、及び出力層６３を備えている。
【００８７】
なお、図５の例では、ニューラルネットワーク６は、１層の中間層６２を備えており、入力層６１の出力が中間層６２の入力となり、中間層６２の出力が出力層６３の入力となっている。ただし、中間層６２の数は１層に限られなくてもよく、ニューラルネットワーク６は、中間層６２を２層以上備えてもよい。
【００８８】
各層６１〜６３は、１又は複数のニューロンを備えている。例えば、入力層６１のニューロンの数は、入力に利用する入力データに応じて設定することができる。中間層６２のニューロンの数は、実施の形態に応じて適宜設定することができる。また、出力層６３のニューロンの数は、出力する制御データに応じて設定することができる。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。
【００８９】
隣接する層のニューロン同士は適宜結合され、各結合には重み（結合荷重）が設定されている。図５の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
【００９０】
学習処理部１１５は、ニューラルネットワークの学習処理により、収集した学習データ１２２に含まれる目標データ及びセンサデータを入力すると、制御データを出力値として出力するようにニューラルネットワーク６を構築する。能力付与データ生成部１１６は、構築したニューラルネットワーク６の構成（例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数）、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報を含む能力付与データ１２３を生成する。
【００９１】
＜ロボットアームシステム＞
次に、図６を用いて、本実施形態に係るロボットアームシステム２のソフトウェア構成の一例を説明する。図６は、本実施形態に係るＲＣ２０を含むロボットアームシステム２のソフトウェア構成の一例を模式的に例示する。
【００９２】
ＲＣ２０の制御部２１は、記憶部２２に記憶された制御プログラム２２１をＲＡＭに展開する。そして、制御部２１は、ＲＡＭに展開された制御プログラム２２１をＣＰＵにより解釈及び実行して、各構成要素を制御する。これによって、図６に示されるとおり、本実施形態に係るＲＣ２０を含むロボットアームシステム２は、ソフトウェアモジュールとして、遠隔操作受付部２１１、動作処理部２１２、表示制御部２１３、及び通知部２１４を備えるコンピュータとして構成される。
【００９３】
遠隔操作受付部２１１は、指定された能力に関連する学習のための動作の実行を指示する遠隔操作の指令を学習装置１から受け付ける。動作処理部２１２は、受け付けた遠隔操作の指令に従って、指定された能力に関連する動作を実行する。表示制御部２１３は、遠隔操作の指令に従って動作を実行している間に、学習装置１の遠隔操作による動作中であることディスプレイ３２に表示させる。通知部２１４は、遠隔操作の指令に従って動作を実行している間に、周辺装置（例えば、ロボット装置５）に対して、学習装置１の遠隔操作による動作中であることを通知する。
【００９４】
＜その他＞
学習装置１及びロボットアームシステム２（ＲＣ２０）の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、学習装置１及びＲＣ２０の各ソフトウェアモジュールがいずれも汎用のＣＰＵによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、１又は複数の専用のプロセッサにより実現されてもよい。また、学習装置１及びＲＣ２０それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【００９５】
§３  動作例
［学習装置］
次に、図７を用いて、学習装置１の動作例を説明する。図７は、本実施形態に係る学習装置１の処理手順の一例を例示するフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【００９６】
（ステップＳ１０１）
ステップＳ１０１では、制御部１１は、学習依頼受付部１１０として動作し、依頼者から学習依頼を受け付ける。本ステップＳ１０１は、本発明の「学習依頼受付ステップ」の一例である。例えば、依頼者は、ユーザ端末４を操作して、遠隔地に配置され、機械学習させる対象となる学習対象装置の指定、及び学習対象装置に機械学習により獲得させる能力の指定を行う。この学習依頼の入力は、依頼者本人により行われるのではなく、依頼者から依頼内容を聞いた者により行われてもよい。すなわち、依頼内容の入力は、依頼者本人によって実施されなくてもよい。学習対象装置及び獲得対象の能力の指定が完了すると、制御部１１は、次のステップＳ１０２に処理を進める。
【００９７】
なお、本ステップＳ１０１では、学習装置１は、学習対象装置の指定を受け付けることにより、当該学習対象装置の遠隔操作に利用する情報を取得する。例えば、学習装置１は、ロボットアームシステム２が学習対象装置に指定されたことに応じて、ロボットアームシステム２の遠隔操作に利用する情報としてＲＣ２０のＩＰアドレス等を取得する。
【００９８】
また、学習装置１は、学習対象装置の種類に応じて、機械学習により獲得可能な能力の一覧を依頼者に提示することで、機械学習の対象となる能力の指定を受け付けてもよい。機械学習の対象となる能力の一覧は、学習対象装置毎にテンプレートとして予め用意されてもよい。
【００９９】
機械学習の対象となる能力は、学習対象装置に実装可能なあらゆる能力から適宜選択されてよい。例えば、ロボットアーム３０が部品の移動、取り付け、加工、バリ取り、はんだ付け、溶接等の作業に利用されている場合、新たな対象物に対して当該作業を実施する能力等が機械学習の対象に指定されてよい。また、それらの作業が既に運用されている場合には、その運用中の当該作業を効率的に実施する能力等が機械学習の対象に指定されてよい。
【０１００】
また、制御部１１は、本ステップＳ１０１において、機械学習により獲得させる能力の指定と共に、当該能力の達成条件の入力を受け付けてもよい。能力の達成条件とは、学習対象装置に獲得させる能力の付加的な条件であり、例えば、ある指定された作業を何秒以内で行うといった時間条件である。
【０１０１】
（ステップＳ１０２）
ステップＳ１０２では、制御部１１は、許可範囲設定部１１１として動作し、ステップＳ１０１で指定された学習対象装置の可動範囲内に、当該学習対象装置の動作を許可する許可範囲を設定する。本ステップＳ１０２は、本発明の「範囲設定ステップ」の一例である。本実施形態では、制御部１１は、ロボットアーム３０の可動範囲３０８内で、当該ロボットアーム３０の動作を許可する許可範囲３０９を設定する。許可範囲３０９の設定が完了すると、制御部１１は、次のステップＳ１０３に処理を進める。
【０１０２】
なお、許可範囲３０９の設定は適宜行われてよい。例えば、制御部１１は、オペレータから、許可範囲３０９の指定を受け付けてもよい。この場合、オペレータは、入力装置１４を操作することで、可動範囲３０８内に許可範囲３０９を設定する。この際、学習装置１は、可動範囲３０８の状況を撮影するカメラ３１から撮影画像を取得し、取得した撮影画像を出力装置１５に出力してもよい。これにより、オペレータは、出力される撮影画像内で、ステップＳ１０１で指定された能力に無関係な場所等を省いた上で、許可範囲３０９を指定することができる。また、カメラ３１から取得した撮影画像の画像処理結果に基づいて、許可範囲３０９をリアルタイムに変更してもよい。例えば、画像処理により可動範囲３０８内に人又は物体が存在すると判定した場合には、当該人又は物体が存在する部分を範囲から外し、その時点での許可範囲３０９を設定してもよい。
【０１０３】
また、例えば、制御部１１は、依頼者から、許可範囲３０９の指定を受け付けてもよい。この場合、制御部１１は、上記ステップＳ１０１において、学習依頼と共に、許可範囲３０９の指定を受け付けてもよい。これにより、制御部１１は、依頼者の入力に基づいて、可動範囲３０８内に許可範囲３０９を設定することができる。
【０１０４】
また、例えば、制御部１１は、ステップＳ１０１で指定された能力に基づいて、可動範囲３０８内に許可範囲３０９を自動的に設定してもよい。この場合、制御部１１は、ステップＳ１０１で指定された能力の実施に関連する領域を特定し、特定した領域を許可範囲３０９に設定してもよい。
【０１０５】
（ステップＳ１０３）
ステップＳ１０３では、制御部１１は、状況取得部１１２として動作し、ステップＳ１０１で指定された学習対象装置の可動範囲の状況を監視する監視装置から、当該可動範囲の状況を示す状況情報を取得する。本ステップＳ１０３は、本発明の「情報取得ステップ」の一例である。本実施形態では、制御部１１は、ステップＳ１０１で取得した情報を利用してＲＣ２０にアクセスして、ＲＣ２０に接続されたカメラ３１を利用して、可動範囲３０８の状況を撮影する。これにより、制御部１１は、可動範囲３０８の状況を映した撮影画像を状況情報として取得することができる。撮影画像を取得すると、制御部１１は、次のステップＳ１０４に処理を進める。
【０１０６】
（ステップＳ１０４）
ステップＳ１０４では、制御部１１は、遠隔操作部１１３として動作し、制御データを学習対象装置に送信することで、ステップＳ１０１で指定された能力に関連する動作を実行するように学習対象装置を遠隔操作する。本ステップＳ１０４は、本発明の「遠隔操作ステップ」の一例である。本実施形態では、制御部１１は、ネットワーク１０を介して、ステップＳ１０１で指定された能力に関連する所定の動作を指令する制御データをＲＣ２０に送信する。制御データは、例えば、各関節部３０２の駆動モータの駆動量を規定する。ＲＣ２０は、後述するとおり、受信した制御データに基づいて、ロボットアーム３０の各関節部３０２を駆動する。これにより、制御部１１は、ロボットアームシステム２を遠隔操作する。ロボットアームシステム２の遠隔操作を行った後、制御部１１は、次のステップＳ１０５に処理を進める。
【０１０７】
遠隔操作による動作の内容は、適宜決定されてよい。例えば、遠隔操作による動作の内容は、オペレータにより決定されてもよい。また、例えば、それぞれロボットアーム３０の異なる動作を規定する複数のテンプレートが用意されてもよい。この場合、制御部１１は、テンプレートをランダムに選択することで、遠隔操作による動作の内容を決定してもよい。また、制御部１１は、繰り返し遠隔操作する間に、動的計画法等の手法を用いて、ステップＳ１０１で指定された獲得対象の能力に適するように当該遠隔操作による動作の内容を決定してもよい。更に、制御部１１は、当該遠隔操作により、複数の工程を含む一連の動作をロボットアームシステム２に実行させてもよい。
【０１０８】
なお、本実施形態では、上記ステップＳ１０２では、可動範囲３０８内に許可範囲３０９が設定され、かつ、上記ステップＳ１０３により、制御部１１は、可動範囲３０８の状況を撮影した撮影画像をカメラ３１から取得している。そこで、本ステップＳ１０４では、制御部１１は、カメラ３１から取得した撮影画像に基づいて、設定された許可範囲３０９内でロボットアーム３０が動作するようにロボットアームシステム２を遠隔操作する。すなわち、制御部１１は、カメラ３１から取得した撮影画像を利用して、ロボットアーム３０が許可範囲３０９の外に出ていないかどうかを確認しながら、ロボットアームシステム２の遠隔操作を行う。
【０１０９】
また、制御部１１は、許可範囲３０９内に侵入物（例えば、人、物体等）が侵入したか否かを監視する。許可範囲３０９内に侵入物が侵入したか否かは、例えば、テンプレートマッチング等の公知の画像処理により判定可能である。制御部１１は、許可範囲３０９内に侵入物が侵入したと判定した場合に、ロボットアームシステム２に対する遠隔操作の指令の送信を一時停止（中断）する。このとき、制御部１１は、侵入した侵入物を許可範囲３０９外に出すためのアナウンス実施の指令をロボットアームシステム２に送信してもよい。そして、許可範囲３０９から侵入物が退出した後に、制御部１１は、ロボットアームシステム２に対する遠隔操作の指令の送信を再開する。これにより、許可範囲３０９内の安全性を確保することができる。
【０１１０】
（ステップＳ１０５）
ステップＳ１０５では、制御部１１は、学習データ収集部１１４として動作し、ステップＳ１０４による遠隔操作の結果に基づいて、指定された能力の機械学習のための学習データ１２２を収集する。本ステップＳ１０５は、本発明の「収集ステップ」の一例である。学習データ１２２を収集し終えると、制御部１１は、次のステップＳ１０６に処理を進める。
【０１１１】
なお、学習データ１２２の内容は、学習器の種類、学習対象装置の種類、獲得対象の能力等に応じて適宜決定されてよい。本実施形態では、ニューラルネットワーク６が学習器として用いられ、ロボットアームシステム２が学習対象装置に指定され、ロボットアーム３０が新たな作業を実施する又は運用中の作業をより効率的に実施する能力が獲得対象の能力として指定される。また、ＲＣ２０は、達成すべき目標及び各関節部３０２の角度センサのセンサデータに基づいて、ロボットアーム３０の動作を制御するとする。
【０１１２】
この場合、制御部１１は、ステップＳ１０１で指定された獲得対象の能力に応じて、達成すべき作業目標を示す目標データを作成する。目標データの内容は、実施の形態に応じて適宜決定されてよい。例えば、所定時間内に対象の作業を完遂することに応じて、目標データでは、ロボットアーム３０の位置、角度、移動速度等が指定されてよい。また、ロボットアーム３０の動作を改善する場合、制御部１１は、ロボットアーム３０の動作を撮影した撮影画像をカメラ３１から取得し、取得した撮影画像を画像解析することで、ロボットアーム３０の動作を改善するように、目標データの内容を決定してもよい。
【０１１３】
次に、制御部１１は、ステップＳ１０４の遠隔操作の結果に基づいて、目標データにより示される作業目標をロボットアームシステム２が達成したか否かを判定する。目標データの示す作業目標をロボットアームシステム２が達成した場合、制御部１１は、当該作業目標を達成するまでの動作過程において、ＲＣ２０に送信した制御データを取得する。更に、制御部１１は、当該作業目標を達成するまでの動作過程において、各関節部３０２の角度センサより検出したセンサデータをＲＣ２０から取得する。センサデータは、学習対象装置（ロボットアームシステム２）の状態を示す状態データの一例である。センサデータは、制御データにより示される指令によりロボットアーム３０を駆動する前に取得されてよい。
【０１１４】
そして、制御部１１は、制御データを教師データとし、教師データとした制御データによる動作を行う直前に得られたセンサデータ及び目標データを入力データとして、目標データ及びセンサデータと制御データとを紐付けて組にする。これにより、制御部１１は、目標データ及びセンサデータを入力データとして含み、かつ制御データを教師データとして含む学習データ１２２を収集する。すなわち、本ステップＳ１０５では、制御部１１は、作業目標を達成できなかったときの遠隔操作の結果は無視し、指定された能力を達成したときの遠隔操作の結果から、当該能力の機械学習に利用するための学習データを収集する。
【０１１５】
なお、作業目標を達成したか否かは適宜判定されてよい。例えば、制御部１１は、遠隔操作の結果の写る撮影画像をカメラ３１から取得し、取得した撮影画像を画像解析することで、作業目標を達成したか否かを判定してもよい。また、ロボットアームシステム２及びその周囲に設けられた各種センサ（角度センサ等）により、遠隔操作の結果を得るようにしてもよい。この場合、制御部１１は、ロボットアームシステム２及びその周囲に設けられた各種センサ（角度センサ等）の検出結果に基づいて、作業目標を達成したか否かを判定してもよい。また、上記ステップＳ１０１において、獲得対象となる能力の指定と共に、当該能力の達成条件の入力を受け付けている場合には、制御部１１は、その達成条件を達成したか否かを適宜判定してもよい。
【０１１６】
（ステップＳ１０６）
ステップＳ１０６では、制御部１１は、十分な件数の学習データ１２２を収集したか否かを判定する。十分な件数の学習データ１２２を収集したと判定した場合には、制御部１１は、次のステップＳ１０７に処理を進める。他方、十分な件数の学習データ１２２を収集していないと判定した場合には、制御部１１は、ステップＳ１０３〜Ｓ１０５の処理を繰り返す。
【０１１７】
なお、当該判定は、閾値を利用して行われてよい。すなわち、制御部１１は、収集した学習データ１２２の件数と閾値とを比較することで、十分な件数の学習データ１２２を収集したか否かを判定してもよい。このとき、閾値は、オペレータにより設定されてもよいし、機械学習の対象となる能力に応じて設定されてもよい。閾値の設定方法は、実施の形態に応じて適宜選択可能である。
【０１１８】
（ステップＳ１０７）
ステップＳ１０７では、制御部１１は、機械学習のための遠隔操作が完了したことを示す完了通知をロボットアームシステム２に送信する。完了通知の送信が完了すると、制御部１１は、次のステップＳ１０８に処理を進める。
【０１１９】
（ステップＳ１０８）
ステップＳ１０８では、制御部１１は、学習処理部１１５として動作し、ステップＳ１０５により収集した学習データ１２２を用いて、指定された能力を獲得させるようにニューラルネットワーク６の機械学習を行う。本ステップＳ１０８は、本発明の「機械学習ステップ」の一例である。
【０１２０】
具体的には、まず、制御部１１は、機械学習の処理対象となるニューラルネットワーク６を用意する。用意するニューラルネットワーク６の構成、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。再学習を行う場合には、制御部１１は、再学習を行う対象となるニューラルネットワークの構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す学習結果データに基づいて、ニューラルネットワーク６を用意してもよい。
【０１２１】
次に、制御部１１は、ステップＳ１０５で収集した学習データ１２２に含まれる目標データ及びセンサデータを入力データとし、制御データを教師データとして、ニューラルネットワーク６の学習を行う。このニューラルネットワーク６の学習には、勾配降下法、確率的勾配降下法等が用いられてよい。
【０１２２】
例えば、制御部１１は、学習データ１２２に含まれる目標データ及びセンサデータを入力層６１に入力して、ニューラルネットワーク６の順伝搬方向の演算処理を行う。これにより、制御部１１は、ニューラルネットワーク６の出力層６３から出力値を得る。次に、制御部１１は、出力層６３から出力された出力値と学習データ１２２に含まれる制御データとの誤差を算出する。続いて、制御部１１は、誤差逆伝搬法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。そして、制御部１１は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
【０１２３】
制御部１１は、各件の学習データ１２２について、出力層６３から出力される出力値が対応する制御データと一致するまでこの一連の処理を繰り返すことにより、ニューラルネットワーク６の機械学習を行う。これにより、目標データ及びセンサデータを入力すると、対応する制御データを出力する学習済みのニューラルネットワーク６を構築することができる。ニューラルネットワーク６の機械学習が完了すると、制御部１１は、次のステップＳ１０９に処理を進める。
【０１２４】
（ステップＳ１０９）
ステップＳ１０９では、制御部１１は、能力付与データ生成部１１６として動作し、機械学習が完了した学習済みのニューラルネットワーク６をロボットアームシステム２（ＲＣ２０）に装備させることで指定された能力をロボットアームシステム２に付与するための能力付与データ１２３を生成する。本ステップＳ１０９は、本発明の「生成ステップ」の一例である。能力付与データ１２３を生成した後、制御部１１は、次のステップＳ１１０に処理を進める。
【０１２５】
なお、能力付与データ１２３の形式は、実施の形態に応じて適宜決定されてよい。例えば、ＲＣ２０が、ニューラルネットワークを用いた演算処理を実施している場合には、制御部１１は、ステップＳ１０８で構築したニューラルネットワーク６の構成、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す学習結果データを能力付与データ１２３として生成してもよい。また、例えば、ＲＣ２０がＦＰＧＡを備える場合には、制御部１１は、ステップＳ１０８で構築したニューラルネットワーク６をＦＰＧＡ内で実現するために当該ＦＰＧＡに書き込むデータを能力付与データ１２３として生成してもよい。また、例えば、制御部１１は、ステップＳ１０８で構築したニューラルネットワーク６による演算処理をＲＣ２０に実行させるためのプログラム又はプログラムを修正するパッチデータを能力付与データ１２３として生成してもよい。各形式の能力付与データ１２３は、公知のプログラム自動生成手法等を用いて、自動的に生成されてよい。
【０１２６】
（ステップＳ１１０）
ステップＳ１１０では、配信部１１７として動作し、ネットワーク１０を介して、ステップＳ１０９で生成した能力付与データ１２３をロボットアームシステム２に配信する。本ステップＳ１１０は、本発明の「配信ステップ」の一例である。ＲＣ２０は、受信した能力付与データ１２３をインストールすることで、ステップＳ１０１で指定された能力を獲得することができる。能力付与データ１２３の配信が完了すると、制御部１１は、本動作例に係る処理を終了する。
【０１２７】
［ロボットアームシステム］
次に、図８を用いて、ロボットアームシステム２の動作例を説明する。図８は、本実施形態に係るロボットアームシステム２の処理手順の一例を例示するフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【０１２８】
（ステップＳ２０１）
ステップＳ２０１では、ＲＣ２０の制御部２１は、遠隔操作受付部２１１として動作し、指定された能力に関連する動作の実行を指示する遠隔操作の指令を学習装置１から受け付ける。具体的には、制御部２１は、上記ステップＳ１０４の制御データによる遠隔操作の指令を学習装置１から受け付ける。このとき、制御部２１は、複数の動作の実行を指示する複数件の制御データを受信してもよい。制御データを受信すると、制御部２１は、次のステップＳ２０２に処理を進める。
【０１２９】
（ステップＳ２０２）
ステップＳ２０２では、制御部２１は、動作処理部２１２として動作し、ステップＳ２０１で受け付けた遠隔操作の指令に従って、指定された能力に関連する動作を実行する。本実施形態では、制御部２１は、制御データに基づいて、各関節部３０２の駆動モータを駆動することにより、遠隔操作の指令に応じた動作をロボットアーム３０に実行させる。本ステップＳ２０２によって遠隔操作の指令に従って動作を実行している間に、制御部２１は、次のステップＳ２０３及びＳ２０４を実行する。
【０１３０】
なお、上記学習装置１は、許可範囲３０９内に侵入物が侵入したか否かを監視し、許可範囲３０９内に侵入物が侵入したと判定した場合に、遠隔操作の実施を一時停止する。この際、制御部２１は、侵入した侵入物を許可範囲３０９外に出すためのアナウンスをディスプレイ３２に表示させてもよい。また、ＲＣ２０がスピーカ（不図示）に接続している場合には、当該アナウンスをスピーカから出力してもよい。制御部２１は、学習装置１からの指令に応じて、このアナウンスを実施してもよい。
【０１３１】
（ステップＳ２０３）
ステップＳ２０３では、制御部２１は、表示制御部２１３として動作し、学習装置１の遠隔操作による動作中であることディスプレイ３２に表示させる。ディスプレイ３２の表示制御が完了すると、制御部２１は、次のステップＳ２０４に処理を進める。
【０１３２】
ここで、ディスプレイ３２に表示させる内容は、学習装置１の遠隔操作による動作中であることに関する内容であれば特に限定されなくてもよい。例えば、制御部２１は、「遠隔操作による動作中」又は「遠隔操作による学習中」とディスプレイ３２に表示してもよい。また、例えば、制御部２１は、制御データを参照することで、学習装置１の遠隔操作による動作の内容をディスプレイ３２に表示させてもよい。
【０１３３】
また、例えば、ステップＳ２０１において複数件の制御データを受信した場合、制御部２１は、ステップＳ２０２により実行中の動作の次に実行する動作の内容をディスプレイ３２に表示させてもよい。このとき、制御部２１は、次に実行する動作の内容と共に、実行中の動作の内容をディスプレイ３２に表示させてもよい。
【０１３４】
また、例えば、制御部２１は、ステップＳ２０２により実行中の動作が危険な動作又は通常よりも高速での動作である場合に、当該実行中の動作が危険な動作又は高速での動作であることをディスプレイ３２に表示させてもよい。実行中の動作が危険な動作であることを示す表示内容は、実施の形態に応じて適宜決定されてよい。例えば、制御部２１は、「只今実行中の動作は危険」又は「只今実行中の動作は高速での動作」とディスプレイ３２に表示させてもよい。また、例えば、制御部２１は、実行中の動作が危険な動作であることを示す表示内容として、ロボットアーム３０の周囲にいる者に注意喚起を促すメッセージをディスプレイ３２に表示させてもよい。
【０１３５】
なお、実行中の動作が危険な動作であるか否かを判定する方法は、実施の形態に応じて適宜選択されてよい。例えば、制御部２１は、危険な動作を規定した条件に基づいて、ステップＳ２０２により実行中の動作が危険な動作であるか否かを判定してもよい。また、例えば、対象の動作が危険であることを示す情報が制御データに含まれていてもよい。この場合、制御部２１は、ステップＳ２０１で受信した制御データを参照することで、ステップＳ２０２により実行中の動作が危険な動作であるか否かを判定することができる。
【０１３６】
（ステップＳ２０４）
ステップＳ２０４では、制御部２１は、通知部２１４として動作し、通信インタフェース２４を制御することで、学習装置１の遠隔操作による動作中であることを周辺装置（例えば、ロボット装置５）に通知する。当該通知が完了すると、制御部２１は、次のステップＳ２０５に処理を進める。
【０１３７】
なお、当該通知を受信した周辺装置は、ロボットアームシステム２が学習装置１により遠隔操作されていることを認識することができる。これにより、例えば、ロボットアーム３０の遠隔操作による動作を阻害しないようにするため、工場内を移動可能に構成されたロボット装置５が、当該通知を受信したことに応じて、ロボットアーム３０の近傍（特に、可動範囲３０８又は許可範囲３０９）に近付かないようにすることができる。すなわち、遠隔操作中であることに応じた移動制限を設定し、ロボット装置５が、ロボットアーム３０の近傍を避けて移動するようにすることができる。
【０１３８】
（ステップＳ２０５）
ステップＳ２０５では、制御部２１は、学習装置１からの遠隔操作が完了したか否かを判定する。本実施形態では、遠隔操作が完了した際に、上記ステップＳ１０７により、学習装置１から完了通知が送信される。そのため、制御部２１は、完了通知を受信したか否かによって、学習装置１による遠隔操作が完了したか否かを判定する。遠隔操作が完了したと判定した場合、換言すると、学習装置１からの遠隔操作が完了した後、制御部２１は、次のステップＳ２０６に処理を進める。他方、遠隔操作が完了していないと判定した場合には、制御部２１は、ステップＳ２０１〜Ｓ２０４の処理を繰り返す。
【０１３９】
（ステップＳ２０６）
ステップＳ２０６では、制御部２１は、表示制御部２１３として動作し、学習装置１の遠隔操作による動作が完了したことをディスプレイ３２に表示させる。ディスプレイ３２に表示させる内容は、学習装置１の遠隔操作による動作が完了したことに関する内容であれば特に限定されなくてもよい。例えば、制御部２１は、「遠隔操作終了」又は「遠隔操作による動作は完了しました」とディスプレイ３２に表示させてもよい。これにより、ロボットアームシステム２の周囲に存在する作業者に、学習装置１の遠隔操作による動作が完了し、突然動くことはないことを知らせることができる。当該完了表示が完了すると、制御部２１は、次のステップＳ２０７に処理を進める。
【０１４０】
（ステップＳ２０７）
ステップＳ２０７では、制御部２１は、通知部２１４として動作し、通信インタフェース２４を制御することで、学習装置１の遠隔操作による動作が完了したことを周辺装置（例えば、ロボット装置５）に通知する。当該通知が完了すると、制御部２１は、本動作例に係る処理を終了する。
【０１４１】
なお、当該通知を受信した周辺装置は、ロボットアームシステム２において学習装置１により遠隔操作が完了したことを認識することができる。これにより、例えば、工場内を移動可能に構成されたロボット装置５が、ロボットアーム３０の非動作中には近傍領域（特に、許可範囲３０９内）に近付いてもよいようにすることができる。すなわち、遠隔操作中であることに応じた移動制限を解除し、ロボット装置５が、ロボットアーム３０の近傍を通過してもよいようにすることができる。
【０１４２】
［作用・効果］
以上のように、本実施形態に係る学習装置１は、上記ステップＳ１０１により、依頼者からの学習依頼として、機械学習させる対象となる学習対象装置及び当該学習対象装置に獲得させる能力の指定を受け付ける。続いて、学習装置１は、上記ステップＳ１０４及びＳ１０５により、学習対象装置（ロボットアームシステム２）を遠隔操作することで、学習依頼で指定された能力の機械学習に利用するための学習データ１２２を収集する。そして、学習装置１は、上記ステップＳ１０８により、収集した学習データ１２２を利用して、学習依頼で指定された能力を獲得させるようにニューラルネットワーク６の機械学習を実施する。これによって、学習依頼で指定された能力を学習対象装置に実施させるための学習済みのニューラルネットワーク６を構築することができる。また、遠隔地に配置された学習対象装置（ロボットアームシステム２）には、ステップＳ２０１及びＳ２０２により、ステップＳ１０１で指定された能力に関連する動作を実行させるに過ぎず、ステップＳ１０８の機械学習の処理は、学習装置１に実行させる。そのため、遠隔地に配置された学習対象装置のマシンパワーが制限されていても、当該学習対象装置に獲得させる能力の機械学習の処理を実施することができる。したがって、本実施形態によれば、遠隔地に配置された装置に新たな能力を適切に追加するための技術的な仕組みを提供することができる。
【０１４３】
また、本実施形態に係る学習装置１は、上記ステップＳ１０２により、ロボットアーム３０の動作を許可する許可範囲３０９を可動範囲３０８内に設定する。また、学習装置１は、上記ステップＳ１０３により、可動範囲３０８の状況を映した撮影画像を取得する。そして、学習装置１は、上記ステップＳ１０４において、撮影画像に基づいて、設定した許可範囲３０９内でロボットアーム３０が動作するようにロボットアームシステム２を遠隔操作する。したがって、当該構成によれば、ロボットアーム３０が動作する範囲を許可範囲３０９内に限定することができ、これによって、機械学習に利用する学習データの収集に無駄な動作を削減すると共に、ロボットアームシステム２（ロボットアーム３０）の周囲の安全性を確保することができる。
【０１４４】
また、本実施形態に係る学習装置１は、上記ステップＳ１０９により、能力付与データ１２３を生成する。そして、学習装置１は、上記ステップＳ１１０により、生成した能力付与データ１２３を学習対象装置（ロボットアームシステム２）に配信する。これによって、学習依頼により指定された能力を学習対象装置に自動的に付与することができる。
【０１４５】
§４  変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【０１４６】
＜４．１＞
上記実施形態では、学習対象装置の一例として、ロボットアームシステム２を例示した。しかしながら、学習対象装置の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【０１４７】
例えば、学習対象装置は、ロボット装置５のような、倉庫内で移動して、荷物の運搬等の作業を行う作業ロボットであってもよい。この場合、学習依頼では、倉庫内で荷物を効率的に運搬する手順を獲得させる能力として指定することができる。また、作業ロボットの移動可能な範囲が可動範囲となり、許可範囲を設定することで、作業ロボットの移動する範囲を制限することができる。
【０１４８】
例えば、学習対象装置は、自動運転可能な車両であってもよい。この場合、学習依頼ではテストコースなどを用いて、依頼者は、道路上で自動運転すること自体を車両に獲得させる能力として指定することができるし、自動運転の動作中の一部の機能として自動駐車すること等を車両に獲得させる能力として指定することもできる。この場合、可動範囲を設定するために、車外を撮影するカメラ及び車外の物体を検出するレーザ等のいずれか又は両方の組合せを用いることができる。なお、遠隔操作に依る動作中であることを表示するディスプレイ等の表示部は、車両の外部に取り付けられていてもよいし、テストコースの所定の場所に配置されていてもよい。
【０１４９】
なお、学習対象装置には、一台の装置ではなく、複数台の装置が指定されてもよい。例えば、上記ロボットアームシステム２は、ロボットアーム３０を複数備えていてもよい。この場合、学習依頼では、複数台の装置が協働して行う作業を獲得させる能力として指定することができる。
【０１５０】
＜４．２＞
また、上記実施形態では、図５に示されるとおり、ニューラルネットワーク６として、多層構造を有する一般的な順伝播型ニューラルネットワークを用いている。しかしながら、ニューラルネットワーク６の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、入力データとして画像を用いる場合、ニューラルネットワーク６には、畳み込み層及びプーリング層を備える畳み込みニューラルネットワークを用いてもよい。また、例えば、入力データとして時系列データを用いる場合、ニューラルネットワーク６には、中間層から入力層等のように出力側から入力側に再帰する結合を有する再帰型ニューラルネットワークが用いられてもよい。なお、ニューラルネットワーク６の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、及び各ニューロンの伝達関数は、実施の形態に応じて適宜決定されてよい。
【０１５１】
＜４．３＞
また、上記実施形態では、学習器は、ニューラルネットワークにより構成されている。しかしながら、学習器の種類は、ニューラルネットワークに限られなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、学習器には、サポートベクターマシン、自己組織化マップ、強化学習により学習を行う学習器等が用いられてもよい。なお、強化学習の手法を用いて機械学習を行う場合には、上記ステップＳ１０４の遠隔操作を実施している間に、ステップＳ１０８の機械学習の処理を実施してもよい。
【０１５２】
＜４．４＞
また、上記実施形態では、可動範囲３０８の状況を監視する監視装置の一例として、カメラ３１が例示されている。しかしながら、監視装置の種類は、撮影装置に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、監視装置は、１又は複数の赤外線センサで構成された、学習対象装置の動作位置（上記実施形態では、ロボットアーム３０の位置）を検出する位置検出システムであってもよい。この場合、学習装置１は、上記ステップＳ１０３において、位置検出システムの検出結果を示す情報を状況情報として取得することができる。
【０１５３】
また、上記実施形態では、カメラ３１は、ＲＣ２０に接続されている。そのため、学習装置１は、ステップＳ１０１で指定された学習対象装置の遠隔操作に利用する情報（例えば、ＩＰアドレス）を利用して、ＲＣ２０を介してカメラ３１から撮影画像を取得することができる。しかしながら、学習装置１が状況情報を取得する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、カメラ３１がネットワーク１０に接続可能である場合、学習装置１は、上記ステップＳ１０１において、学習対象装置と同様に、カメラ３１へのアクセスに利用する情報（例えば、ＩＰアドレス）を取得してもよい。
【０１５４】
なお、ロボットアームシステム２の可動範囲３０８の監視が不要である場合には、上記学習装置１の処理手順において、上記ステップＳ１０２及びＳ１０３は省略されてもよい。加えて、学習装置１のソフトウェア構成において、許可範囲設定部１１１及び状況取得部１１２は省略されてもよい。また、許可範囲３０９内の監視が不要な場合、上記学習装置１の処理手順において、遠隔操作を一時停止してから再開するまでの一連の処理は省略されてもよい。
【０１５５】
＜４．５＞
また、上記実施形態に係る学習装置１は、上記ステップＳ１０９により、能力付与データ１２３を生成する。そして、学習装置１は、上記ステップＳ１１０により、学習対象装置であるロボットアームシステム２に能力付与データ１２３を配信する。しかしながら、能力付与データ１２３の生成方法及び配信方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
【０１５６】
例えば、能力付与データ１２３は、他の情報処理装置又はオペレータにより生成されてよい。この場合、上記学習装置１の処理手順において、ステップＳ１０９は省略されてもよい。加えて、学習装置１のソフトウェア構成において、能力付与データ生成部１１６は省略されてもよい。
【０１５７】
また、例えば、能力付与データ１２３は、ＣＤドライブ、ＤＶＤドライブ、フラッシュメモリ等の記憶媒体に格納されてもよい。そして、この能力付与データ１２３を格納した記憶媒体を依頼者に配布するようにしてもよい。この場合、上記学習装置１の処理手順において、ステップＳ１１０は省略されてもよい。加えて、学習装置１のソフトウェア構成において、配信部１１７は省略されてもよい。
【０１５８】
なお、このように記憶媒体により能力付与データ１２３を配布する場合、依頼者は、受け取った記憶媒体から能力付与データ１２３を適宜読み出して、ロボットアームシステム２のＲＣ２０に読み出した能力付与データ１２３をインストールする。これによって、能力付与データ１２３をロボットアームシステム２に適用することができる。
【０１５９】
＜４．６＞
また、上記実施形態では、学習装置１は、１台のコンピュータにより構成されている。しかしながら、学習装置１は、複数台のコンピュータにより構成されてもよい。この場合、学習装置１の一部のソフトウェアモジュールを各コンピュータに実装してもよい。例えば、学習データ収集部１１４のみを１台のコンピュータに実装してもよい。そして、機械学習の実施に際して、学習データ収集部１１４を実装したコンピュータを依頼者に貸し出してもよい。これにより、ステップＳ１０４における学習データ１２２の収集処理のリアルタイム性を高めることができる。
【０１６０】
＜４．７＞
また、上記ステップＳ１０１では、制御部１１は、学習依頼として、学習対象装置（ロボットアームシステム２）において遠隔操作を許可するために設定されたパスワードの指定を更に受け付けてもよい。この場合、上記ステップＳ１０４では、制御部１１は、指定されたパスワードによってロボットアームシステム２において認証を受けた後に、当該ロボットアームシステム２を遠隔操作するようにしてもよい。これにより、ロボットアームシステム２を遠隔操作する際のセキュリティを高めることができる。
【０１６１】
＜４．８＞
また、上記ステップＳ１０１では、制御部１１は、学習依頼として、学習対象装置（ロボットアームシステム２）において遠隔操作を許可する時間帯の指定を更に受け付けてもよい。この場合、制御部１１は、指定された時間帯にのみ上記ステップＳ１０４（ロボットアームシステム２の遠隔操作）を実行するようにしてもよい。これにより、例えば、ロボットアームシステム２を利用しない夜間又は早朝の時間帯に、当該ロボットアームシステム２の機械学習に利用する学習データ１２２を収集するようにすることができる。そのため、ロボットアームシステム２の利用効率を高めることができる。
【０１６２】
＜４．９＞
また、上記ステップＳ１０１では、制御部１１は、学習依頼として、学習対象装置（ロボットアームシステム２）において遠隔操作を許可する学習期間の指定を更に受け付けてもよい。この場合、制御部１１は、指定された学習期間内に上記ステップＳ１０４（ロボットアームシステム２の遠隔操作）を実行し、指定された学習期間の経過後に、ロボットアームシステム２の遠隔操作に利用した情報（例えば、ＩＰアドレス）を削除するようにしてもよい。
【０１６３】
＜４．１０＞
また、上記実施形態では、学習装置１は、上記ステップＳ１０１により学習依頼を受け付けた後、ステップＳ１０８において、受け付けた学習依頼で指定された能力を機械学習により獲得させたニューラルネットワーク６を構築するまで、一連の処理を実行する。しかしながら、学習装置１による学習依頼の処理態様は、このような例に限定されなくてもよい。例えば、学習装置１は、学習依頼の破棄を受け付け可能に構成されてもよい。
【０１６４】
図９は、本変形例に係る学習装置１Ａのソフトウェア構成の一例を模式的に例示する。図９に示されるとおり、本変形例に係る学習装置１Ａは、制御部１１により学習プログラム１２１を実行することで、学習依頼の破棄を受け付ける破棄受付部１１８、及び学習依頼を受け付けた場合に、学習依頼の破棄を受け付けるまでに収集した学習データ及び学習対象装置の遠隔操作に利用した情報を含む学習依頼に関する情報を削除するデータ削除部１１９を更に備えるコンピュータとして構成される。なお、学習装置１Ａは、この点を除き、上記学習装置１と同様に構成される。
【０１６５】
次に、図１０を用いて、本変形例に係る学習装置１Ａの処理手順の一例について説明する。図１０は、上記ステップＳ１０２〜Ｓ１０８までの処理を実行している間における学習依頼の破棄受付に係る処理手順の一例を例示する。学習装置１Ａの制御部１１は、上記ステップＳ１０１により学習依頼を受け付けた後、ステップＳ１０２の処理を開始すると共に、次のステップＳ３０１の処理を開始する。
【０１６６】
（ステップＳ３０１）
ステップＳ３０１では、制御部１１は、破棄受付部１１８として動作し、学習依頼の破棄を受け付ける。本ステップＳ３０１は、本発明の「破棄依頼受付ステップ」の一例である。学習依頼の破棄を所望する依頼者は、ユーザ端末４を操作して、ステップＳ１０１で行った学習依頼の破棄の要求を学習装置１に対して行う。上記ステップＳ１０８の処理を開始するまでに学習依頼の破棄を受け付けた場合には、制御部１１は、次のステップＳ３０２に処理を進める。他方、上記ステップＳ１０８の処理を開始するまでに学習依頼の破棄を受け付けなかった場合には、制御部１１は、次のステップＳ３０２の処理を省略し、学習依頼の破棄に係る処理を終了する。
【０１６７】
（ステップＳ３０２）
ステップＳ３０２では、制御部１１は、データ削除部１１９として動作し、学習依頼の破棄を受け付けるまでにステップＳ１０５により収集した学習データ１２２及びロボットアームシステム２の遠隔操作に利用した情報（例えば、ＩＰアドレス）を含む学習依頼の関する情報を削除する。本ステップＳ３０２は、本発明の「削除ステップ」の一例である。学習依頼に関する情報には、ロボットアームシステム２の遠隔操作に利用した情報の他、例えば、ステップＳ１０１で指定された学習依頼の内容を示す情報が含まれる。学習依頼に関連する情報の削除が完了すると、制御部１１は、当該学習依頼の破棄に係る処理を終了する。本変形例によれば、不要になった機械学習の依頼を破棄することができ、これによって、学習装置のリソースの効率化を図ることができる。
【０１６８】
＜４．１１＞
また、上記実施形態では、制御部２１は、ステップＳ２０６により、遠隔操作が完了したことをディスプレイ３２に表示している。しかしながら、上記ロボットアームシステム２の処理手順において、当該ステップＳ２０６の処理は省略されてもよい。
【０１６９】
また、上記実施形態では、制御部２１は、ステップＳ２０４及びＳ２０７により、ロボットアームシステム２のステータスを周辺装置に通知している。しかしながら、ロボットアームシステム２の処理手順において、当該ステップＳ２０４及びＳ２０７のうち少なくとも一方は省略されてもよい。ステップＳ２０４及びＳ２０７の両方を省略する場合には、ロボットアームシステム２のソフトウェア構成において、通知部２１４は省略されてもよい。
【０１７０】
なお、ステップＳ２０３とステップＳ２０４とは処理順序が入れ替わってもよい。同様に、ステップＳ２０６とステップＳ２０７とは処理順序が入れ替わってもよい。
【０１７１】
＜４．１２＞
また、上記実施形態では、ロボットアームシステム２のステータスを表示する表示部としてディスプレイ３２を利用している。しかしながら、表示部の種類は、ディスプレイに限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、図１１に示されるとおり、表示部には、表示灯が用いられてもよい。
【０１７２】
図１１は、本変形例に係るロボットアームシステム２Ｂの構成を模式的に例示する。ロボットアームシステム２Ｂでは、ＲＣ２０は、外部インタフェース２３を介して、表示灯３３に接続している。表示灯３３は、例えば、ＬＥＤ（light emitting diode）ランプ、ネオンランプ等であってよい。
【０１７３】
この場合、上記ステップＳ２０３では、制御部２１は、第１の表示態様で表示灯３３を発光させることで、学習装置１の遠隔操作による動作中であることを表示灯３３に表示させてもよい。そして、上記ステップＳ２０６では、第１の表示態様とは異なる第２の表示態様で表示灯３３を発光させることで、学習装置１の遠隔操作による動作が完了したことを表示灯３３に表示させてもよい。
【０１７４】
なお、表示態様は、色、点滅速度等の視る者の視覚に影響を与える要素により決定される。例えば、上記ステップＳ２０３では、制御部２１は、第１の表示形態として表示灯３３を赤色に発光させてもよい。そして、上記ステップＳ２０６では、制御部２１は、第２の表示形態として表示灯３３を青色に発光させてもよい。これにより、学習対象装置のステータスを表示する表示部を安価に構成することができる。
【０１７５】
＜４．１３＞
また、上記実施形態では、制御部１１は、ステップＳ１０５において、センサデータ及び目標データと制御データとを組にすることで、学習データ１２２を生成している。これらのうち、センサデータは、学習対象装置の状態を示す状態データの一例である。しかしながら、状態データの種類は、センサデータに限定されなくてもよく、実施の形態に応じて適宜選択されてよい。また、学習対象装置の動作を制御する際に、状態データが不要である場合、当該状態データは、学習データから省略されてもよい。上記実施形態では、制御部１１は、ステップＳ１０５において、目標データと制御データとを組にすることで、学習データ１２２を生成してもよい。
【符号の説明】
【０１７６】
１・１Ａ…学習装置、
１１…制御部、１２…記憶部、１３…通信インタフェース、
１４…入力装置、１５…出力装置、１６…ドライブ、
１１０…学習依頼受付部、１１１…許可範囲設定部、
１１２…状況取得部、１１３…遠隔操作部、
１１４…学習データ収集部、１１５…学習処理部、
１１６…能力付与データ生成部、１１７…配信部、
１１８…破棄受付部、１１９…データ削除部、
１２１…学習プログラム、１２２…学習データ、
１２３…能力付与データ、
２…ロボットアームシステム、
２０…ＲＣ、
２１…制御部、２２…記憶部、２３…外部インタフェース、
２４…通信インタフェース、
２１１…遠隔操作受付部、２１２…動作処理部、
２１３…表示制御部、２１４…通知部、
２２１…制御プログラム、
３０…ロボットアーム、
３０１…基台部、３０２…関節部、
３０３…リンク部、３０４…エンドエフェクタ、
３０８…可動範囲、３０９…許可範囲、
３１…カメラ、３２…ディスプレイ、
４…ユーザ端末、５…ロボット装置、
６…ニューラルネットワーク、
６１…入力層、６２…中間層（隠れ層）、６３…出力層
【図１】
2018149669.tif 000003
【図２】
2018149669.tif 000004
【図３】
2018149669.tif 000005
【図４】
2018149669.tif 000006
【図５】
2018149669.tif 000007
【図６】
2018149669.tif 000008
【図７】
2018149669.tif 000009
【図８】
2018149669.tif 000010
【図９】
2018149669.tif 000011
【図１０】
2018149669.tif 000012
【図１１】
2018149669.tif 000013