(57)【特許請求の範囲】
【請求項１】
複数センサーの出力情報に対応した複数の仮想情報を生成する情報生成部と、
前記情報生成部が生成した前記複数の仮想情報を用いて、人工知能装置を学習させる学習支援部と、
前記複数の仮想情報を用いて、該学習後の人工知能装置の動作の検証を行う検証支援部と
を備え、
前記複数の仮想情報のうちの一つである触覚情報は、前記学習後の人工知能装置の操作対象となる物体の仮想空間における位置および姿勢を示す物体位置情報と、該人工知能装置の可動部の前記仮想空間における位置および姿勢を示す可動部位置情報と、に基づいて生成される
ことを特徴とする機械学習支援装置。
【請求項２】
請求項１に記載の機械学習支援装置において、
前記検証支援部が行う前記検証時に前記学習後の人工知能装置を更に強化学習させる強化学習部
を備えたことを特徴とする機械学習支援装置。
【請求項３】
請求項１または請求項２に記載の機械学習支援装置において、
前記情報生成部は、
既知の情報に基づき前記学習後の人工知能装置の操作対象となる物体を含む仮想空間の画像を生成すると共に、前記既知の情報に基づき前記物体の前記仮想空間における位置および姿勢を示す前記物体位置情報を生成する視覚情報生成部と、
前記物体位置情報と、予め想定される、前記学習後の人工知能装置から出力されるべき該人工知能装置の可動部の前記仮想空間における位置および姿勢を示す前記可動部位置情報とに基づいて前記触覚情報を生成する触覚情報生成部と
を備え、
前記学習支援部が、前記仮想空間の画像と前記物体位置情報とを入力に用いて前記人工知能装置の視覚機能を学習させ、また、前記触覚情報を入力に用いて前記人工知能装置の触覚機能を学習させる
ことを特徴とする機械学習支援装置。
【請求項４】
請求項１または請求項２に記載の機械学習支援装置において、
前記情報生成部は、
既知の情報に基づき前記学習後の人工知能装置の操作対象となる物体を含む仮想空間の画像を生成する視覚情報生成部と、
前記学習後の人工知能装置から出力される前記物体の前記仮想空間における位置および姿勢を示す第１の物体位置情報と、前記学習後の人工知能装置から出力される該人工知能装置の可動部の前記仮想空間における位置および姿勢を示す前記可動部位置情報とに基づき前記触覚情報を生成する触覚情報生成部と
を備え、
前記視覚情報生成部は、前記第１の物体位置情報と前記可動部位置情報とに基づいて前記仮想空間における前記物体の位置および姿勢を更新し、
前記検証支援部は、前記仮想空間の画像を入力として与えることにより、前記学習後の人工知能装置のニューラルネットワークに第２の物体位置情報を出力させ、また、前記触覚情報を入力として与えることにより、前記学習後の人工知能装置のニューラルネットワークに前記物体に対する操作が適切であるか否かを示す触覚判定情報を出力させて、該第２の物体位置情報と該触覚判定情報とに基づき前記学習後の人工知能装置の可動部の動作を検証すると共に、前記触覚情報生成部に前記触覚情報を生成させるように、また、前記視覚情報生成部に前記更新を行わせるように、前記学習後の人工知能装置に前記第１の物体位置情報と前記可動部位置情報とを出力させる
ことを特徴とする機械学習支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習支援装置に関し、特に、人工知能装置の機械学習および動作の検証を支援する機械学習支援装置に関する。
【背景技術】
【０００２】
近年、映像や画像中の被写体（人物など）を認識するためにニューラルネットワークを用いた画像認識システムの開発が進められている。
【０００３】
このシステムでは、事前に、認識対象の被写体を含む画像データを入力に用いてニューラルネットワークを学習させるだけで、ニューラルネットワークがその被写体を認識できるようになる。そのため、従来専門家が人手で行っていた被写体の特徴抽出の作業を必要としない。
【０００４】
しかし、その事前学習には、数万から数十万、場合によっては数百万枚以上という多量の画像が必要であり、それを用意するにも、またそれを教師画像として予め分類（タグ付け）するにも、膨大な労力と時間を要する。
【０００５】
そこで、その問題を解消するため、例えば、特許文献１では、被写体が写った元画像を取得し、その元画像に画像処理を施しながら複数枚の教師画像を作成する。そして。その画像処理の内容がそれぞれ異なる複数枚の教師画像の画像データを入力に用いてニューラルネットワークを学習させるという技術を開示している。
【０００６】
また、例えば、特許文献２では、現実空間で認識対象の被写体（人物）を撮影し、それにより取得した元画像から被写体（人物）の人体モデル（３次元形状データ）を作成するとともに、その３次元形状データに基づき、仮想空間上に人物を生成して表示する。次に、該仮想空間上で、ユーザが人物の姿勢や動作や体格などについての変化を（マウスなどによって）指定すると、指定内容に応じた画像処理を人体モデル（３次元形状データ）に加え、その処理後の３次元形状データを基に、姿勢や動作や体格などが変化した人物（被写体）を含む教師画像を作成する。そして、上記手順により、人物（被写体）の姿勢や動作や体格などを様々に変化させながら教師画像を複数枚作成し、それらの教師画像の画像データを入力に用いてニューラルネットワークを学習させるという技術を開示している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−２２１８４０号公報
【特許文献２】特開２０１０−２３８１３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、最近では、環境の変化に応じて適切な処置動作が行えるように、各種の感覚を付加して適応能力を高めた知能ロボットが開発されている。
【０００９】
このような知能ロボットでは、外界を認識するための感覚機能として、視覚と触覚との機能を備えることが重要になる。視覚は物体（ロボットの持ち上げなどの操作の対象）を含む環境全体の認識を行うため、また触覚は物体との接触状態における動作制御のために必要である。
【００１０】
知能ロボットでは、これらの感覚機能のために、画像センサーと触覚センサー（力覚センサーを含む）とを備えるのが一般的である。それゆえ、画像情報と触覚情報（力覚情報を含む）との２つの感覚情報（外界認識情報）を処理する必要があり、知能ロボットでは、その外界認識情報の処理のためにニューラルネットワークを用いるものが多く出現してきている。
【００１１】
ところが、従来技術は、既述のとおり、外界認識情報のうち、画像情報の学習には対応しているものの、触覚情報（力覚情報を含む）の学習については対応していない。
【００１２】
また、話は変わるが、医薬品や食料品の分野では、薬や食物についての画像（画像センサーから出力されるセンサー情報）による瑕疵の検査に加えて、赤外分光分析による有機化合物の検出や蛍光Ｘ線分析による元素の検出など、画像だけでは分からない不純物等の検査が併せて行われ、最終的な検査判定は、それらの情報を統合して行われる。
【００１３】
この分光分析にはマルチスペクトルカメラ（センサー）から出力される蛍光スペクトル情報（センサー情報）が用いられる。そのため、そのセンサー情報の様々なパターンをニューラルネットワークに学習させれば、知能ロボットを含む人口知能装置が自ら検査判定を行えるとともに、検査対象の薬や食物の中から、不純物等が混入した不合格品を選別して取り除けるようになる。
【００１４】
また、医療の分野では、癌などの病気の診断において、その癌などの自家蛍光を検出するためにマルチスペクトルカメラ（センサー）から出力される蛍光スペクトル情報（センサー情報）が用いられる。さらに手術においては、内視鏡カメラや術野カメラ（センサー）から出力される画像（センサー情報）や、手術中に各種測定器（センサー）から出力される脈拍・心拍・血圧・血流といった測定情報（センサー情報）を取得するとともに、それらの情報を統合して手術遂行の支援が行われている。
【００１５】
そこで、これら複数のセンサーから得られるセンサー情報の様々なパターンをニューラルネットワークに学習させれば、人口知能装置が病気の診断や手術の遂行の支援を行えるようになる。すなわち、知能ロボットを含む人口知能装置を高度化させるには、各種のセンサーから得られるセンサー情報（マルチセンサー情報）の様々なパターンをニューラルネットワークに学習させる必要がある。
【００１６】
しかし、従来技術は、既述のとおり、外界認識情報を含むマルチセンサー情報のうち、画像情報の学習には対応しているものの、それ以外の情報の学習については対応していない。また、学習後の人工知能装置の動作が、想定したものであるかどうかを検証する必要もある。
【００１７】
本発明の目的は、マルチセンサー情報について、人工知能装置の機械学習および動作の検証を支援することのできる機械学習支援装置を提供することにある。
【課題を解決するための手段】
【００１８】
本発明に係る第１の機械学習支援装置は、上記目的を達成するために、複数センサーの出力情報に対応した複数の仮想情報を生成する情報生成部と、前記情報生成部が生成した前記複数の仮想情報を用いて、人工知能装置を学習させる学習支援部と、前記複数の仮想情報を用いて、該学習後の人工知能装置の動作の検証を行う検証支援部とを備え、前記複数の仮想情報のうちの一つである触覚情報は、前記学習後の人工知能装置の操作対象となる物体の仮想空間における位置および姿勢を示す物体位置情報と、該人工知能装置の可動部の前記仮想空間における位置および姿勢を示す可動部位置情報と、に基づいて生成される。
【００１９】
本発明に係る第２の機械学習支援装置は、上記目的の人工知能装置の機械学習の支援を達成するために、前記第１の機械学習支援装置において、前記検証支援部が行う前記検証時に前記学習後の人工知能装置を更に強化学習させる強化学習部を備えている。
【００２０】
本発明に係る第３の機械学習支援装置は、上記目的の人工知能装置の機械学習の支援を達成するために、前記第１または第２の機械学習支援装置において、前記情報生成部は、既知の情報に基づき前記学習後の人工知能装置の操作対象となる物体を含む仮想空間の画像を生成すると共に、前記既知の情報に基づき前記物体の前記仮想空間における位置および姿勢を示す前記物体位置情報を生成する視覚情報生成部と、前記物体位置情報と、予め想定される、前記学習後の人工知能装置から出力されるべき該人工知能装置の可動部の前記仮想空間における位置および姿勢を示す前記可動部位置情報とに基づいて前記触覚情報を生成する触覚情報生成部とを備えている。そして、前記学習支援部が、前記仮想空間の画像と前記物体位置情報とを入力に用いて前記人工知能装置の視覚機能を学習させ、また、前記触覚情報を入力に用いて前記人工知能装置の触覚機能を学習させる。
【００２１】
本発明に係る第４の機械学習支援装置は、上記目的の人工知能装置の動作の検証の支援を達成するために、前記第１または第２の機械学習支援装置において、前記情報生成部は、既知の情報に基づき前記学習後の人工知能装置の操作対象となる物体を含む仮想空間の画像を生成する視覚情報生成部と、前記学習後の人工知能装置から出力される前記物体の前記仮想空間における位置および姿勢を示す第１の物体位置情報と、前記学習後の人工知能装置から出力される該人工知能装置の可動部の前記仮想空間における位置および姿勢を示す前記可動部位置情報とに基づき前記触覚情報を生成する触覚情報生成部とを備えている。前記視覚情報生成部は、前記第１の物体位置情報と前記可動部位置情報とに基づいて前記仮想空間における前記物体の位置および姿勢を更新する。そして、前記検証支援部は、前記仮想空間の画像を入力として与えることにより、前記学習後の人工知能装置のニューラルネットワークに第２の物体位置情報を出力させ、また、前記触覚情報を入力として与えることにより、前記学習後の人工知能装置のニューラルネットワークに前記物体に対する操作が適切であるか否かを示す触覚判定情報を出力させて、該第２の物体位置情報と該触覚判定情報とに基づき前記学習後の人工知能装置の可動部の動作を検証すると共に、前記触覚情報生成部に前記触覚情報を生成させるように、また、前記視覚情報生成部に前記更新を行わせるように、前記学習後の人工知能装置に前記第１の物体位置情報と前記可動部位置情報とを出力させる。
【発明の効果】
【００２２】
本発明の機械学習支援装置では、情報生成部が、複数センサーの出力情報（マルチセンサー情報）に対応した複数の仮想情報を生成する。そして、学習支援部が、その情報生成部の生成した複数の仮想情報を用いて人工知能装置を機械学習させる。また、検証支援部が、情報生成部の生成した複数の仮想情報を用いて機械学習後の人工知能装置の動作の検証を行う。
【００２３】
従って、本発明の機械学習支援装置によれば、マルチセンサー情報について、人工知能装置の機械学習を支援することができる。また、本発明の機械学習支援装置によれば、機械学習後の人工知能装置の動作が想定したものであるかどうかの検証を支援することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態である機械学習支援装置の構成図である。
【図２】山積みされた部品を含む仮想空間の画像の例である。
【図３】本発明の実施形態の変形例である機械学習支援装置の構成図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態を図面に基づいて説明する。なお、ここでは、人工知能装置の一種である知能ロボットを対象に機械学習と動作の検証を行う例を説明する。そのため、マルチセンサー情報としては、知能ロボットにとって重要な外界認識情報である画像情報と触覚情報（力覚情報を含む）との２つの感覚情報を用いる。
【００２６】
図１は、本発明の実施形態である機械学習支援装置の構成図である。同図に示すとおり、機械学習支援装置１００は、仮想空間発生装置１０と仮想知能ロボット装置２０とシステム制御装置３０とを有している。
【００２７】
仮想空間発生装置１０は、ＣＧ部１１と力覚発生部１２とを有している。
【００２８】
ＣＧ部１１は、ＣＧ（Computer Graphics）やＶＲ（Virtual Reality）やＭＲ（Mixed Reality）などの従来技術により、現実の空間に対応させた３次元直交座標系の仮想空間を生成すると共に、その仮想空間の情報を管理する。さらに、ＣＧ部１１は、その仮想空間に、知能ロボットの動作環境に存在すべき物体や、知能ロボットの持ち上げなどの操作の対象となる物体を生成して出現させると共に、その物体に対応する３Ｄモデル情報を管理する。
【００２９】
また、ＣＧ部１１は、出現させた物体を含む仮想空間の画像を生成して、その画像情報を出力する。さらに、ＣＧ部１１は、その生成した画像中の物体について、該物体の仮想空間における位置と姿勢を示す６次元位置情報Ｊ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を生成して出力する。なお、ｘ，ｙ，ｚは３次元直交座標系における３軸上での物体の座標位置を、θｘ，θｙ，θｚは該物体の回転角度を表す。
【００３０】
力覚発生部１２は、知能ロボットの指や手首や腕などに備えられる触覚センサー（力覚センサーを含む）の出力に対応した触覚情報（力覚情報を含む）を、演算によって生成して出力する。具体的には、知能ロボットの触覚センサーが、例えば、６軸力覚センサーであれば、力覚発生部１２は、該センサーが検出すべき６軸力成分（ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ）の情報を演算により生成し、その情報を仮想６軸力覚情報として出力する。なお、この場合、ｆｘ，ｆｙ，ｆｚは３軸の力成分を、ｍｘ，ｍｙ，ｍｚは３軸のモーメント成分を表す。
【００３１】
次に、仮想知能ロボット装置２０は、ニューラルネットワーク２１と、ニューラルネットワーク２２と、ロボット制御部２３と、画像処理部２４とを有している。
【００３２】
ここで、ニューラルネットワークについて簡単に説明する。ニューラルネットワークは、脳神経系をモデル化した情報処理システムであり、ニューロンと呼ばれる入出力素子を、シナプスと呼ばれる結合強度（結合係数）が可変な素子により複数結合して構成される。なお、各ニューロンは、入力が閾値より大きければ「１（真）」、小さければ「０（偽）」を出力する機能を持つものであり、シグモイド関数やハイパボリックタンジェント（tanh）関数等の伝達関数を用いて実現される。
【００３３】
ニューラルネットワークの学習は、ニューラルネットワークの出力を目標値に近づけるように、ニューロン間のシナプス結合係数（重み係数）や各ニューロンの閾値を調整することによって行う。なお、教師付き学習の場合、誤差逆伝播法（バックプロパゲーション）を用いるようにすればニューラルネットワークの学習が早く収束する。
【００３４】
本実施形態では、複数のニューロンから構成される層が、入力層から中間層を介して出力層へ向かう方向に結合される多層フィードフォワード型のニューラルネットワークを用いている。
【００３５】
ニューラルネットワーク２１は、ＣＧ部１１が出力した画像情報を入力として、その仮想空間の画像中の物体（知能ロボットの操作対象となる物体を含む）を認識すると共に、認識した物体の６次元位置情報Ｊ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を出力する。なお、このような出力を得るには、認識対象の物体を含む仮想空間の画像情報と、その物体の仮想空間における位置と姿勢を示す６次元位置情報Ｊとの対応を、予めニューラルネットワーク２１に学習させておく必要がある。
【００３６】
このような画像認識のためのニューラルネットワーク２１には、その認識率の高さから、畳み込みニューラルネットワーク（ＣＮＮ）を用いるのが好適である。
【００３７】
ニューラルネットワーク２２は、力覚発生部１２が出力した、力覚センサーの出力に対応した力覚情報である仮想６軸力覚情報（ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ）を入力として、物体に対する知能ロボットの持ち上げなどの操作が適切であるか否かを示す力覚判定情報を出力する。具体的には、ニューラルネットワーク２２は、入力の仮想６軸力覚情報が、適切な操作である場合の力覚情報のパターンの範囲内に入っているかどうかを判定して、入っていれば合格を示す情報、そうでなければ不合格を示す情報を力覚判定情報として出力する。なお、このような出力を得るには、適切な操作（合格）となる仮想６軸力覚情報の全てのパターンを、予めニューラルネットワーク２２に学習させておく必要がある。
【００３８】
ロボット制御部２３は、ニューラルネットワーク２１から出力された物体の仮想空間における位置と姿勢を示す６次元位置情報Ｊに基づき物体に対する知能ロボットの持ち上げなどの操作を決定すると共に、その決定した操作の内容に応じて知能ロボットの腕や手首や指などの動作（動き）を制御する。
【００３９】
また、ロボット制御部２３は、ニューラルネットワーク２２から出力された知能ロボットの持ち上げなどの操作が適切であるか否かを示す力覚判定情報に基づき、その操作を終えて次の動作に移るか、又は知能ロボットの腕や手首や指などの動作（動き）を修正してその操作を継続するかを判定する。
【００４０】
ロボット制御部２３は、知能ロボットの腕や手首や指などの動作（動き）を制御すると、その制御後の指の仮想空間における位置と姿勢を示すロボットの指の６次元位置情報Ｒ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を出力する。また、このとき、ロボット制御部２３は、そのロボットの指の６次元位置情報Ｒと合わせて、持ち上げなどの操作の対象となった物体につき、その制御後の仮想空間における位置と姿勢を示す６次元位置情報Ｋ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）も出力する。なお、ロボットの指の６次元位置情報Ｒは、例えば、ロボットが５本の指を有し、各指に触覚センサー（力覚センサーを含む）が備えられているとすれば、各指に対応した「ロボットの指の６次元位置情報Ｒ１」〜「ロボットの指の６次元位置情報Ｒ５」の５つの情報が出力される。また、６次元位置情報Ｋは、ニューラルネットワーク２１から出力された物体の位置と姿勢を示す６次元位置情報Ｊと、ロボットの指の６次元位置情報Ｒとに基づいて演算を行うことにより取得することができる。
【００４１】
ロボット制御部２３から出力されたロボットの指の６次元位置情報Ｒと操作対象の物体の６次元位置情報Ｋとは、ＣＧ部１１及び力覚発生部１２に入力される。ＣＧ部１１は、入力されたそれらの情報に基づき、該ＣＧ部１１の管理する仮想空間に出現させた部品などの物体の６次元位置の変化を検出し、その検出した変化を仮想空間に反映する。また、力覚発生部１２は、入力されたそれらの情報に基づき、６軸力覚情報（ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ）を演算によって生成すると共に、その生成した６軸力覚情報を仮想６軸力覚情報として出力する。
【００４２】
画像処理部２４は、ＣＧ部１１から出力された画像をそのままニューラルネットワーク２１の入力として与える。但し、ＣＧ部１１から参照画像および距離画像が出力された場合は、そのうちの参照画像（知能ロボットのカメラで撮影したのと同等の画像）をそのままニューラルネットワーク２１の入力として与えると共に、もう一枚の距離画像（視差画像）を基に物体の距離を検出して、その検出した距離情報をロボット制御部２３に与える。
【００４３】
そして、システム制御装置３０は、仮想空間発生装置１０および仮想知能ロボット装置２０を統括制御して、知能ロボットの機械学習および動作の検証を実行する。
【００４４】
なお、システム制御装置３０は、ワークステーション等の情報処理装置によって実現される。また、仮想空間発生装置１０についても、システム制御装置３０と共に、ワークステーション等で実現してもよい。特に、そのグラフィクス処理には、ＧＰＵコンピューティングを行える画像処理プロセッサを用いるとよい。
【００４５】
また、特に検証時においては、システム制御装置３０の指示による切り換えにより、仮想空間発生装置１０のＣＧ部１１および力覚発生部１２の出力の代わりに、実際の画像センサー（カメラ）および力覚センサーの出力を使用することができる。
【００４６】
（ニューラルネットワークの学習）
以下、知能ロボットに、外界認識情報である画像情報と触覚情報（力覚情報を含む）との２つの感覚情報を機械学習（教師付き学習）させる例を説明する。
【００４７】
知能ロボットが作業を行うには、２つの外界認識機能が必要となる。その一つは人の視覚に相当する機能で、もう一つは手の指の触覚（力覚を含む）に相当する機能である。
【００４８】
（画像情報の学習／視覚機能）
知能ロボットに必要な視覚機能とは、カメラで撮影した画像から物体を認識し、その物体の位置と姿勢を示す６次元位置情報Ｊ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を検出する機能である。
【００４９】
知能ロボットが作業手順に沿って作業を進める中では、物体（操作対象の物体など）の６次元位置を検出しなくてはならない場面が多く出てくる。
【００５０】
そこで、本実施形態の機械学習支援装置は、その物体を、あたかも知能ロボットのカメラで撮影したかのように、現実の空間に対応させた３次元直交座標系の仮想空間に演算によって生成して出現させる。そして、本実施形態の機械学習支援装置は、その物体を含む仮想空間の画像と、それに対応した物体の仮想空間における位置と姿勢を示す６次元位置情報Ｊ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）とを生成させ、それらを教師情報としてニューラルネットワークに予め学習させる。
【００５１】
これにより、知能ロボットは、作業の中で物体を認識し、その物体の６次元位置を検出できるようになる。
【００５２】
なお、ここで言う物体とは、部品、山積みの部品、組立て途中の半製品、先端冶具、ロボットの腕（アーム）、セット台など、作業手順に沿って作業空間（＝仮想空間）に出現する全ての物体のことである。
【００５３】
ところで、作業空間に出現する物体や作業空間自体の環境は全て既知であり、また出現する物体の３次元寸法や表面画像はＣＡＤ情報から取得することができる。そして、作業空間における照明の情報（照明の照度、方向、波長帯域などの情報）やカメラの情報（カメラの位置と方向、画角、レンズのズーム倍率、レンズの歪、画素数、ＳＮ比などの情報）についても、それらの内容の変化を含めて事前に取得することができる。
【００５４】
つまり、これらのこと、すなわち既知の情報に基づけば、実際の作業において知能ロボットの作業空間に存在すべき全ての物体について、現実と同一のものを仮想空間（＝作業空間）に出現させることができる。また、その場合、出現する物体の６次元位置についても既知となる。
【００５５】
そこで、仮想空間発生装置１０のＣＧ部１１は、システム制御装置３０からの指示により、その既知の情報に基づき、知能ロボットの作業空間に存在すべき全ての物体について、各物体を被写体として含む仮想空間の画像を被写体毎に生成する。
【００５６】
また、ＣＧ部１１は、システム制御装置３０からの指示により、既知の情報に基づき、その各被写体（物体）の仮想空間の画像に対応した、該被写体（物体）の仮想空間における位置と姿勢を示す６次元位置情報Ｊ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を生成する。
【００５７】
そして、システム制御装置３０は、ＣＧ部１１が生成して出力した各物体の仮想空間の画像と、それに対応した６次元位置情報Ｊとを教師情報として仮想知能ロボット装置２０のニューラルネットワーク２１に学習させる。
【００５８】
なお、学習用の画像セットには、知能ロボットのワーク誤差（カメラの精度による位置検出誤差、ロボットのブレなど）を考慮して、各物体の６次元位置を少しずつ変化させた画像を用意する。つまり、各物体をワーク誤差のぶん少しずつ、移動、回転、拡大、縮小させた画像をＣＧ部１１によって生成させ、それを学習用の画像セットとする。
【００５９】
この場合、６次元位置の変化量は、ニューラルネットワークのパターン認識の冗長性に応じた粗さ（刻み幅）としてよい。
【００６０】
学習用の画像セットには、想定される範囲内における照明の変化や照明方向のばらつきに対応した画像も加えるようにする。
【００６１】
また、作業手順や動作のステップにおいて明らかに存在し得ないと考えられる６次元位置の画像は、学習時間の短縮のために学習セットから省くとよい。
【００６２】
ニューラルネットワーク２１において、学習によって得られたニューロン間のシナプス結合係数（重み係数）や各ニューロンの閾値等は、システム制御装置３０により、作業手順や動作のステップ毎に、図１には不図示の記憶装置に記録される。なお、この記憶装置が記憶する結合係数（重み係数）やニューロンの閾値等は、それに対応した作業手順や動作ステップを知能ロボットが実行するにあたり、ロボット制御部２３により事前に記憶装置から読み出され、ニューラルネットワーク２１にロードされて使用される。これにより、ニューラルネットワークの過学習による局所解（ローカルミニマム）を抑えることができ、認識の精度を高めることができる。
【００６３】
（触覚情報の学習／触覚・力覚機能）
知能ロボットに必要なもう一つの外界認識機能である触覚機能とは、知能ロボットの指や手首や腕などに備えた複数の触覚センサー（力覚センサーを含む）から出力される触覚（力覚を含む）情報が、知能ロボットが適切な操作又は動作をしたときの触覚（力覚を含む）情報のパターンの範囲内に入っているかどうかを検出する機能である。
【００６４】
そこで、本実施形態の機械学習支援装置は、知能ロボットの操作又は動作毎に、あたかも知能ロボットの触覚センサー（力覚センサーを含む）が検出したかのように、演算によって触覚（力覚を含む）情報を生成させる。具体的には、機械学習支援装置は、仮想空間における物体の６次元位置の情報と、予め想定される、仮想空間における知能ロボットの指や手首や腕などの位置と姿勢を示す６次元位置の情報（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）とに基づいて演算を行うことにより触覚（力覚を含む）情報を生成させる。そして、本実施形態の機械学習支援装置は、知能ロボットが操作対象の物体に対して適切な操作をしたときに検出される触覚（力覚を含む）情報のパターン（合格パターン）を全て生成させ、それを教師情報としてニューラルネットワークに予め学習させる。
【００６５】
これにより、知能ロボットは、作業の中で、操作対象の物体に対する操作又は動作が適切であるか否かを判断できるようになる。
【００６６】
よって、システム制御装置３０からの指示により、仮想空間発生装置１０のＣＧ部１１が、操作の対象となる部品などの物体について、上記の既知の情報に基づき、該ＣＧ部１１の管理する仮想空間における物体の６次元位置情報Ｊ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を生成する。
【００６７】
次に、力覚発生部１２が、システム制御装置３０からの指示により、上記の既知の情報に基づき、ＣＧ部１１の生成した物体の６次元位置情報Ｊと、予め想定される、仮想空間における知能ロボットの指や手首や腕などの位置と姿勢を示す６次元位置の情報とに基づいて演算を行うことにより触覚（力覚を含む）情報を生成する。知能ロボットの触覚センサーが、例えば、６軸力覚センサーであれば、６軸力覚情報（ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ）が演算によって生成される。このとき、力覚発生部１２は、知能ロボットが操作対象の物体に対して適切な操作をしたときに検出される力覚情報のパターン（力覚センサーがｎ個あるとすれば、６軸×ｎ個＝６ｎパターン）を全て生成する。
【００６８】
そして、システム制御装置３０は、力覚発生部１２が生成した力覚情報のパターン（合格パターン）を教師情報として仮想知能ロボット装置２０のニューラルネットワーク２２に学習させる。
【００６９】
なお、合格となる力覚情報のパターンは、知能ロボットのワーク誤差（カメラの精度による位置検出誤差、ロボットのブレなど）によりその値が或る範囲内でバラついてしまう。そのため、そのバラつきの量に対応した力覚情報のパターンについても力覚発生部１２に生成させて、その生成されたパターンも含めて合格パターンのセットとする。
【００７０】
この場合、ワーク誤差によるバラつきの量は、ニューラルネットワークのパターン認識の冗長性に応じた粗さ（刻み幅）としてよい。そうすれば学習時間が短縮される。
【００７１】
ニューラルネットワーク２２において、学習によって得られたニューロン間のシナプス結合係数（重み係数）や各ニューロンの閾値等は、システム制御装置３０により、作業手順や動作のステップ毎に、図１には不図示の記憶装置に記録される。なお、この記憶装置が記憶する結合係数（重み係数）やニューロンの閾値等は、それに対応した作業手順や動作ステップを知能ロボットが実行するにあたり、ロボット制御部２３により事前に記憶装置から読み出され、ニューラルネットワーク２２にロードされて使用される。
【００７２】
（知能ロボットの動作の検証の例）
以下、学習済みのニューラルネットワークを含む知能ロボットの動作を検証する例について、図１および図２を参照して説明する。
【００７３】
なお、ここでは、知能ロボットが行う「部品のランダムピッキング」の動作を例として説明する。ランダムピッキングとは、知能ロボットが、山積みされた部品の中から操作対象となる部品を認識して、その認識した部品を掴み出す作業であるが、以下では、部品を掴む（把持する）ところまでを説明する。
【００７４】
（視覚機能によるランダムピッキング）
部品の３次元構造と表面画像との情報は、既知の情報であるＣＡＤ情報から得ることができるため、先ず、図１に示す仮想空間発生装置１０のＣＧ部１１は、システム制御装置３０からの指示により、その既知の情報に基づいて仮想空間に部品を出現させる。このときＣＧ部１１は、部品の仮想空間における位置と姿勢、つまり仮想空間における６次元位置（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）をランダムに変えながら、仮想空間に複数の部品を積み上げて出現させる。そして、ＣＧ部１１は、システム制御装置３０からの指示により、その山積みされた部品を含む仮想空間の画像を生成する。この画像の例を図２に示す。図２の例では、５個の部品（Ａ、Ｂ、Ｃ、Ｄ、Ｅ）が山積みされている。なお、この画像は、検証用の画像として使用される。
【００７５】
ランダムピッキングでは、知能ロボットが、自分の指が部品の把持部位を掴みやすいかどうか判定を行うために、部品の把持部位とその周辺に存在する物体（山積みの他の部品など）との距離を検出する必要がある。そのため、本実施形態の機械学習支援装置では、例えば、距離画像カメラから出力される参照画像および距離画像のうちの距離画像を使用して、その距離画像を基に距離を検出することとする。但し、検証においては、ＣＧ部１１が参照画像および距離画像を生成して出力する。なお、距離の検出の精度をさらに上げるために、特殊なパターンを、特殊な照明（赤外線など）によって部品などの物体の表面に投影した画像を距離画像として使用するようにしてもよい。
【００７６】
次に、システム制御装置３０からの指示により、ＣＧ部１１は、先に生成した上記の検証用の画像を参照画像とし、その参照画像を基に、各部品（例えば、図２ではＡ、Ｂ、Ｃ、Ｄ、Ｅ）の６次元位置情報Ｊ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を演算することで距離画像を生成すると共に、その参照画像と距離画像とを出力する。なお、このＣＧ部１１の処理は、既知の情報の一つである作業手順に基づいて行われる。
【００７７】
その参照画像および距離画像が入力されると、仮想知能ロボット装置２０の画像処理部２４は、そのうちの参照画像をそのまま、仮想知能ロボット装置２０の学習済みとなっているニューラルネットワーク２１に入力として与える。なお、その入力の前には、作業手順や動作のステップに対応した重み係数やニューロンの閾値等が、ロボット制御部２３により、必要に応じて記憶装置から読み出されてニューラルネットワーク２１にロードされる。
【００７８】
この入力により、ニューラルネットワーク２１は、山積みされた部品の参照画像から像の全体が写った部品を認識すると共に、認識した部品、例えば、図２では、部品Ａ、Ｂ（Ｃ、Ｄ、Ｅは、いずれも像の一部がＡまたはＢに隠れている）の６次元位置情報Ｊ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を出力する。この出力はロボット制御部２３への入力となる。
【００７９】
また、画像処理部２４は、もう一枚の距離画像を基に各部品の距離を検出して、その検出した距離情報をロボット制御部２３に与える。
【００８０】
ロボット制御部２３は、入力された、部品の仮想空間における位置と姿勢を示す６次元位置情報Ｊと、部品の距離情報とを基に、知能ロボットの指が部品の把持部位を囲むために、他の部品などの物体と接触することなくその指を把持対象となる部品の位置まで移動することができるかどうかの判定を行う。なお、部品の把持部位は、掴んだときの重量バランスや、掴んだときに部品が傷つかないかなどの観点からピッキング対象となる部品ごとに予め決定されている。
【００８１】
そして、ロボット制御部２３は、操作対象となる部品（例えば、図２では、部品Ａ、Ｂ）から掴みやすい部品を選定する。図２の例では、部品Ｂの把持部位（ｇ、ｇ’）は、ｇ側の面が部品Ａと近接していて把持部位を囲むための把持動作を行えない。一方、部品Ａの把持部位（ｇ、ｇ’）は、その面に近接する物体がないので把持動作を行うことができる。この場合、部品Ａが、ロボット制御部２３により操作対象として選定される。
【００８２】
なお、これらのロボット制御部２３の処理は、既知の情報の一つである作業手順に基づいて行われる。
【００８３】
次に、ロボット制御部２３は、選定した部品の６次元位置情報Ｊに基づいて、知能ロボットの指をその部品の把持部位を囲む位置に向けて移動させるべく、知能ロボットの腕や手首や指などの動作（動き）を制御する。なお、このロボット制御部２３の処理は、既知の情報の一つである作業手順に基づいて行われる。また、知能ロボット自体についても仮想空間でシミュレートする場合には、この動作は情報処理のみで行われるため省略される。
【００８４】
ロボット制御部２３は、その動作（動き）の制御により知能ロボットの指が操作対象の部品の把持部位を囲む位置に到達したら、その制御後の指の仮想空間における位置と姿勢を示すロボットの指の６次元位置情報Ｒ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を出力する。また、このとき、ロボット制御部２３は、そのロボットの指の６次元位置情報Ｒと合わせて、操作対象の部品につき、その制御後の仮想空間における位置と姿勢を示す６次元位置情報Ｋ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）も出力する。この６次元位置情報Ｒおよび６次元位置情報Ｋは、知能ロボットのワーク誤差（カメラの精度による位置検出誤差、ロボットのブレなど）を加味したものとなっている。
【００８５】
そのロボットの指の６次元位置情報Ｒ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）と操作対象の部品の６次元位置情報Ｋ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）とが入力されると、仮想空間発生装置１０のＣＧ部１１は、これらの情報に基づいて、該ＣＧ部１１の管理する仮想空間に出現させた部品などの物体の６次元位置の変化を検出する。そして、ＣＧ部１１は、変化を検出した場合には、その変化を、管理する仮想空間に反映するため、該変化のあった部品などの物体の仮想空間における位置と姿勢の情報を更新する。なお、ここではまだ、知能ロボットの指が操作対象の部品の把持部位を囲む位置に到達した状態でしかなく、部品の位置と姿勢（６次元位置）には変化がないので更新（反映）は行われない。このＣＧ部１１の処理は、既知の情報の一つである作業手順に基づいて行われる。
【００８６】
（力覚機能によるランダムピッキング）
また、仮想空間発生装置１０の力覚発生部１２は、ロボットの指の６次元位置情報Ｒ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）と操作対象の部品の６次元位置情報Ｋ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）とが入力されると、これらの情報に基づいて、６軸力覚情報（ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ）を演算によって生成する。例えば、力覚センサーがｎ個あるとすれば、「６軸力覚情報１」〜「６軸力覚情報ｎ」が演算によって生成される。そして、力覚発生部１２は、生成した６軸力覚情報を仮想６軸力覚情報として出力する。なお、この力覚発生部１２の処理は、既知の情報の一つである作業手順に基づいて行われる。また、この出力の仮想６軸力覚情報は、仮想知能ロボット装置２０の学習済みとなっているニューラルネットワーク２２に入力として与えられる。また、その入力の前には、作業手順や動作のステップに対応した重み係数やニューロンの閾値等が、ロボット制御部２３により、必要に応じて記憶装置から読み出されてニューラルネットワーク２２にロードされる。
【００８７】
次に、ニューラルネットワーク２２は、入力された仮想６軸力覚情報（ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ）を基に、操作対象の部品などの物体に対する操作又は動作が適切であるか否かを判断して、合格または不合格を示す力覚判定情報を出力する。この出力はロボット制御部２３への入力となる。
【００８８】
ロボット制御部２３は、ニューラルネットワーク２２から出力された力覚判定情報に基づき、その操作を終えて次の動作に移るか、又は知能ロボットの指の動作（動き）を修正してその操作を継続するかを判定する。なお、ここではまだ、知能ロボットの指が操作対象の部品の把持部位を囲む位置に到達した状態でしかなく、知能ロボットの指は部品に触れていない。そのため、部品を把持するための次のステップの動作（操作）に移る必要があるので、この場合、ニューラルネットワーク２２からは合格を示す力覚判定情報が出力される。このロボット制御部２３の処理は、既知の情報の一つである作業手順に基づいて行われる。
【００８９】
ニューラルネットワーク２２から合格を示す力覚判定情報が出力されると、ロボット制御部２３は、既知の情報の一つである作業手順に基づき、次のステップの部品を把持する動作（操作）に移る。
【００９０】
なお、知能ロボットの指が部品を把持する動作（操作）についての検証は、次のような処理の流れによって行われる。
【００９１】
（処理１）
ロボット制御部２３は、部品の把持を開始するように知能ロボットの指の動作（動き）を制御すると、その制御後の指の仮想空間における位置と姿勢を示すロボットの指の６次元位置情報Ｒ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を出力する。また、このとき、ロボット制御部２３は、そのロボットの指の６次元位置情報Ｒと合わせて、操作対象の部品につき、その制御後の仮想空間における位置と姿勢を示す６次元位置情報Ｋ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）も出力する。この６次元位置情報Ｒおよび６次元位置情報Ｋは、既述のとおり、知能ロボットのワーク誤差（カメラの精度による位置検出誤差、ロボットのブレなど）を加味したものとなっている。
【００９２】
（処理２）
そのロボットの指の６次元位置情報Ｒ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）と操作対象の部品の６次元位置情報Ｋ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）とが入力されると、仮想空間発生装置１０のＣＧ部１１は、これらの情報に基づいて、該ＣＧ部１１の管理する仮想空間に出現させた部品などの物体の６次元位置の変化を検出する。そして、ＣＧ部１１は、変化を検出した場合には、その変化を、管理する仮想空間に反映するため、該変化のあった部品などの物体の仮想空間における位置と姿勢の情報を更新する。なお、このＣＧ部１１の処理は、既知の情報の一つである作業手順に基づいて行われる。
【００９３】
（処理３）
また、仮想空間発生装置１０の力覚発生部１２は、ロボットの指の６次元位置情報Ｒ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）と操作対象の部品の６次元位置情報Ｋ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）とが入力されると、これらの情報に基づいて、６軸力覚情報（ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ）を演算によって生成する。そして、力覚発生部１２は、生成した６軸力覚情報を仮想６軸力覚情報として出力する。なお、この力覚発生部１２の処理は、既知の情報の一つである作業手順に基づいて行われる。また、この出力の仮想６軸力覚情報は、仮想知能ロボット装置２０の学習済みとなっているニューラルネットワーク２２に入力として与えられる。また、その入力の前には、作業手順や動作のステップに対応した重み係数やニューロンの閾値等が、ロボット制御部２３により、必要に応じて記憶装置から読み出されてニューラルネットワーク２２にロードされる。
【００９４】
（処理４）
次に、ニューラルネットワーク２２は、入力された仮想６軸力覚情報（ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ）を基に、操作対象の部品などの物体に対する操作又は動作が適切であるか否かを判断して、合格または不合格を示す力覚判定情報を出力する。この出力はロボット制御部２３への入力となる。
【００９５】
（処理５）
ロボット制御部２３は、ニューラルネットワーク２２から出力された力覚判定情報に基づき、その操作を終えて次の動作に移るか、又は知能ロボットの指の動作（動き）を修正してその操作を継続するかを判定する。なお、このロボット制御部２３の処理は、既知の情報の一つである作業手順に基づいて行われる。
【００９６】
（処理６）
ここで、ロボット制御部２３は、力覚判定情報が合格を示す場合には既述のとおり次のステップの動作（操作）に移るが、不合格を示す場合には、知能ロボットの指の動作（動き）を修正してその操作を継続するようにする。具体的には、ロボット制御部２３は、知能ロボットの指の動作（動き）を、所謂サーボ制御によって制御することで対象の部品を掴むようにする。このとき、知能ロボットの指は、そのサーボ制御によって部品を掴むように少しずつ動かされるので、ロボット制御部２３は、サーボ制御のフィードバックを行う毎に、その指の動きの変化に応じた知能ロボットの指の仮想空間における位置と姿勢の情報と、その指によって操作された部品の仮想空間における位置と姿勢の情報とを出力する。そのため、本実施形態の機械学習支援装置では、知能ロボットの指による部品の把持が適切に行われるまで、サーボ制御のフィードバックが行われる毎に、上記（処理１）の制御後の処理から上記（処理５）の判定処理までが繰り返し実行される。
【００９７】
このように、本実施形態の機械学習支援装置では、力覚情報については精密な制御が必要となるため、ロボット制御部２３が、ロボットの指の６次元位置情報Ｒおよび操作対象の部品（物体）の６次元位置情報Ｋを力覚発生部１２へフィードバックするようにしてクローズドループ制御を行っている。この場合、ニューラルネットワーク２２は、検出された力覚情報が適正範囲に入っているかどうかを判定する、所謂ウィンドウコンパレータと同じ役目をしている。
【００９８】
ここで、部品の把持動作について、知能ロボットの指のサーボ制御の一例を述べる。
【００９９】
先ず、部品の把持部位を知能ロボットの指で囲んで把持動作に入り、部品の把持部位に触れたことを示す力覚情報のパターンが検知された指から動きを一旦止める。
【０１００】
次に、力覚情報のパターンに基づき、全ての指が把持部位に触れたことが検知された時点で、一斉に各指の把持動作を再開する。
【０１０１】
そして、これらの把持動作を、部品の把持に適切な力覚情報のパターンが得られるまで繰り返し行う。
【０１０２】
このようにすれば、対象の部品の６次元位置の検出誤差（ワーク誤差）を吸収しながら、部品の把持動作が行えるようになる。
【０１０３】
（実施形態の変形例）
以下、上記実施形態の変形例である機械学習支援装置について説明する。この変形例の機械学習支援装置は、上記実施形態の機械学習支援装置の構成に、強化学習を行うための要素を追加したものである。そのため、以下では、その追加の要素についてのみ説明するものとして、上記実施形態と共通する構成要素については同じ符号を付して重複となる説明を省略する。
【０１０４】
この変形例と上記実施形態との相違点は、図３に示すとおり、強化学習評価部４０が追加されたところにある。
【０１０５】
なお、この変形例の機械学習支援装置においても、上記実施形態の機械学習支援装置と同じく、力覚情報について、ロボット制御部２３が、ロボットの指の６次元位置情報Ｒおよび操作対象の部品（物体）の６次元位置情報Ｋを力覚発生部１２へフィードバックするようにしてクローズドループ制御を行っている。このクローズドループは、検証だけでなく、強化学習の制御ループとしても使用することができる。
【０１０６】
ところで、知能ロボットにとって重要となる外界認識機能のうちの視覚機能については、操作対象の部品などの物体を含む環境全体の認識を行うものであり、またカメラによる検出の精度の曖昧さもあり、精密な制御は必要としない。しかし、触覚（力覚を含む）機能については、物体との接触状態において動作の制御を行う必要があることから、精密な制御が必要になる。
【０１０７】
そのため、ニューラルネットワークの学習に必要となる画像や触覚（力覚を含む）などの情報を教師情報として予め用意する教師付き学習では、その緻密な制御のための学習を行うことに大変な困難を伴う。
【０１０８】
そこで、触覚（力覚を含む）情報については、強化学習によってニューラルネットワークに学習させることで、その困難を解消できる。
【０１０９】
したがって、この変形例の機械学習支援装置では、触覚（力覚を含む）情報についてのニューラルネットワークの強化学習を、以下のようにして行う。
【０１１０】
先ず、強化学習が効率良く行われるようにニューラルネットワーク２２に対し事前学習として必要程度の教師付き学習をさせておき、その後、知能ロボットの動作の検証を繰り返す中でワーク誤差を与えながら強化学習を行うようにする。
【０１１１】
具体的には、先ず、ニューラルネットワーク２２に、事前学習を施す。事前学習には様々な方法があるが、ここでは、理想に近い力覚情報のパターンを１つ、教師情報として学習させておくこととする。
【０１１２】
即ち、システム制御装置３０からの指示により、仮想空間発生装置１０のＣＧ部１１が、操作の対象となる部品などの物体について、上述した既知の情報に基づき、該ＣＧ部１１の管理する仮想空間における物体の６次元位置情報Ｊ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を生成する。
【０１１３】
このとき、その生成と合わせて、ＣＧ部１１は、その部品などの物体を仮想空間に出現させて、それに対応する３Ｄモデル情報を管理し、また、その部品などの物体を含む仮想空間の画像を検証用の画像として生成する。
【０１１４】
次に、力覚発生部１２が、システム制御装置３０からの指示により、上記の既知の情報に基づき、ＣＧ部１１の生成した物体の６次元位置情報Ｊと、予め想定される、仮想空間における知能ロボットの指や手首や腕などの位置と姿勢を示す６次元位置の情報とに基づいて演算を行うことにより６軸力覚情報（ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ）を生成する。
【０１１５】
そして、システム制御装置３０は、力覚発生部１２が生成した６軸力覚情報のパターン、この場合「ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ」を、教師情報として仮想知能ロボット装置２０のニューラルネットワーク２２に学習させる。
【０１１６】
このようにニューラルネットワークに教師付きの事前学習をさせた後、上述したランダムピッキングと同様の検証の処理を行うようにする。
【０１１７】
即ち、システム制御装置３０からの指示により、ＣＧ部１１は、先に生成した検証用の画像を出力する。この画像は、仮想知能ロボット装置２０の画像処理部２４への入力となる。
【０１１８】
画像処理部２４は、入力されたその検証用の画像をそのまま、仮想知能ロボット装置２０の学習済みとなっているニューラルネットワーク２１に入力として与える。ここで、ニューラルネットワーク２１は、上記の知能ロボットに必要な視覚機能の部分で述べた学習方法により、事前に、この画像に含まれる操作対象の部品などの物体を学習している。
【０１１９】
この入力により、ニューラルネットワーク２１は、検証用の画像から部品などの物体を認識すると共に、認識した部品などの物体の６次元位置情報Ｊ（ｘ，ｙ，ｚ，θｘ，θｙ，θｚ）を出力する。この出力はロボット制御部２３への入力となる。
【０１２０】
ロボット制御部２３は、入力の部品などの物体の６次元位置情報Ｊに基づいて、知能ロボットの指をその部品の把持部位を囲む位置に向けて移動させるべく、知能ロボットの腕や手首や指などの動作（動き）を制御する。
【０１２１】
この後の検証の処理は、上記のランダムピッキングの部分で述べた処理と同じであるため重複説明を省略する。但し、上述した知能ロボットの指が部品などの物体を把持する動作（操作）については、上記の（処理３）の処理が行われた後に、以下の（処理３−１）および（処理３−２）の処理が追加実行される。
【０１２２】
（処理３−１）
強化学習評価部４０は、力覚発生部１２から出力された仮想６軸力覚情報（ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ）を入力として、その仮想６軸力覚情報を、予め設定したルールに基づいて評価すると共に、その評価結果に基づき、ニューラルネットワーク２２に対する学習指示信号の出力／非出力を制御する。この学習指示信号には報酬情報が含まれている。なお、予め設定したルールとは、予め決定しておくべき評価用の力覚情報のパターンの合格範囲である。
【０１２３】
（処理３−２）
ニューラルネットワーク２２は、強化学習部評価部４０から学習指示信号が出力されると、強化学習評価部４０への入力と並行してニューラルネットワーク２２に入力される力覚発生部１２から出力された仮想６軸力覚情報（ｆｘ，ｆｙ，ｆｚ，ｍｘ，ｍｙ，ｍｚ）を合格の力覚情報のパターンとして学習する。この学習においては、学習指示信号に含まれる報酬情報の値が以前の学習時よりも大きい（報酬が多い）場合にのみ、入力の仮想６軸力覚情報を合格の力覚情報のパターンとして学習するようにする。
【０１２４】
なお、上記では、ニューラルネットワークの事前学習として、理想に近い力覚情報のパターン（理想力覚情報パターン）を１つ、教師情報として学習させておくこととした。そのため、力覚情報のパターンの合格範囲としては、理想力覚情報パターンを、例えば、中央値として、その中央値から所定の分だけ大きい値と、所定の分だけ小さい値とによって示される範囲が合格範囲となる。この場合、報酬は、中央値に近づくほど多くなり、中央値から離れるほど少なくなる。
【０１２５】
従って、この変形例の機械学習支援装置では、力覚情報の強化学習において、ロボット制御部２３が、より多くの報酬を得られるように、つまり仮想６軸力覚情報のパターンが中央値の側に向かうように、知能ロボットの指の動きを修正しながらクローズドループ制御を行う。これにより、ニューラルネットワーク２２の認識の精度が高められるので、知能ロボットは適切な力覚情報を認識することができるようになる。
【０１２６】
なお、ニューラルネットワーク２２において、強化学習によって得られたニューロン間のシナプス結合係数（重み係数）や各ニューロンの閾値等は、システム制御装置３０により、ある一連の動作ステップ毎に、図３には不図示の記憶装置に記録される。なお、この記憶装置が記憶する結合係数（重み係数）やニューロンの閾値等は、それに対応した作業手順や動作ステップを知能ロボットが実行するにあたり、ロボット制御部２３により事前に記憶装置から読み出され、ニューラルネットワーク２２にロードされて使用される。
【０１２７】
（他のセンサー情報の使用）
上記では、マルチセンサー情報として、画像情報と触覚情報（力覚情報を含む）との２つの感覚情報を用いる例を説明した。しかし、センサー情報はその２つに限定されない。
【０１２８】
例えば、聴覚センサー（マイクロホンなど）から出力される聴覚情報を使用する例を説明すると、知能ロボットのアーム（腕）から発せられる異常音のパターンを仮想空間発生装置１０により生成して、その生成したパターンをニューラルネットワーク２１又は２２に予め学習させる。
【０１２９】
次に、知能ロボットの動作中に、あたかも知能ロボットに備えられた聴覚センサーから出力されるように仮想空間発生装置１０から異常音を示す仮想聴覚情報が出力されると、その仮想聴覚情報が入力されたニューラルネットワーク２１又は２２は、パターン認識により異常音の発生を認識して、異常音が発生したことを示す障害情報を出力する。
【０１３０】
そして、その障害情報が入力されたロボット制御部２３は、知能ロボットのアーム（腕）を緊急停止するように知能ロボットの腕の動作を制御する。
【０１３１】
以上、上記の機械学習支援装置では、知能ロボットなどの人工知能装置の外界認識に必要な画像や触覚（力覚を含む）等の外界認識情報を、あたかも外界認識センサーで検出したかのように仮想空間に演算によって発生させ、その情報を用いて知能ロボットなどの人工知能装置の動作の検証（シミュレーション）を行う。従って、上記の機械学習支援装置によれば、知能ロボットなどの人工知能装置を高速に学習させることができるので、知能ロボットなどの人工知能装置の立ち上げに掛かる手間と時間を大幅に削減することができる。
【０１３２】
また、上記の機械学習支援装置によれば、マルチセンサー情報について、知能ロボットなどの人工知能装置の機械学習を支援することができる。
【０１３３】
また、上記の機械学習支援装置によれば、機械学習後の知能ロボットなどの人工知能装置の動作が想定したものであるかどうかの検証を支援することができる。
【０１３４】
また、上記の機械学習支援装置によれば、触覚（力覚を含む）などの精密な制御が必要になる機能についても、上記の強化学習により、知能ロボットなどの人工知能装置の学習を容易に行うことができる。
【０１３５】
また、上記の機械学習支援装置によれば、上記の強化学習により、知能ロボットなどの人工知能装置に対し、プログラムしにくい動作を短時間に学習させることができる。また、作業工程の変更や追加に対応した新しい動作についても、知能ロボットなどの人工知能装置に対し、容易に学習させることができる。
【０１３６】
上記の学習および／または検証の作業が完了すると、知能ロボットなどの人工知能装置を完成させるために、ニューラルネットワーク２１および２２の重み係数やニューロンの閾値等またはニューラルネットワーク２１および２２自体、また、ロボット制御部２３の機能の一部または全部が知能ロボットなどの人工知能装置に移植される。
【０１３７】
なお、上記では、知能ロボットなどの人工知能装置を実機として説明したが、知能ロボットなどの人工知能装置は、実機ではなくシミュレーション上の仮想装置であってもよい。
【０１３８】
また、上記の機械学習支援装置では、知能ロボットを外部装置としたが、知能ロボットなどの人工知能装置の中に仮想空間を発生させる機能を含めてもよい。そうすれば、人工知能装置の本来の処理に加えて、上記の学習と検証、またそれに伴う仮想空間の画像情報や力覚情報などの生成をＧＰＵ（Graphics Processing Unit）などの演算装置によって一括に処理することができてシステムの効率化が図れる。
【０１３９】
また、上記の機械学習支援装置を、コンピューター統合生産システムＣＩＭ（Computer Integrated Manufacturing）の一つの機能としてＣＡＤ（Computer Aided Design）システム等と組み合わせるようにしてもよい。そうすれば、製品の設計と同時に組立てのシミュレーションを行うことができるので製品設計を最適化することができるようになる。
【０１４０】
（検査装置への適用の例）
医薬品、食料品、材料などの検査では、画像による瑕疵の検査に加えて、赤外分光分析による有機化合物の検出や、蛍光Ｘ線分析による元素の検出など、画像では分からない不純物等の検査が併せて行われ、最終的な検査判定は、それらの情報を統合して行われる。
【０１４１】
これらの分光（スペクトル）データは指紋領域と呼ばれ、そのスペクトルのパターン化が概になされているため、これを基に人工知能装置を学習させるための仮想データを作成することができる。
【０１４２】
この場合、上記の機械学習支援装置では、例えば、分光データの特徴スペクトル部分を保持したまま、その他の波形部分をランダムに変化させるなどして学習用の仮想データセットを作成する。
【０１４３】
次に、上記の機械学習支援装置は、その学習用の仮想データセットを使用して人工知能装置を予め学習させる。
【０１４４】
そして、上記の機械学習支援装置は、様々な瑕疵を持つ検査対象の物体を仮想空間に出現させて検査工程の検証を行う。
【０１４５】
また、上記の機械学習支援装置は、その検証の中で強化学習（教師なし学習）を実施することによって人工知能装置の検査能力を向上させる。
【０１４６】
（ＭＥカメラへの適用の例）
内視鏡カメラや術野カメラにおいては、画像の観察や記録という目的の他に、手術の遂行を支援する機能が必要となる。例えば、癌の手術では、該カメラによって、癌独自の血管構造の画像に強調処理を加えたり、癌の自家蛍光を検出したり（蛍光色素や試薬を利用して行う）、血管を造影することで、手術の遂行における癌の病変部の術中診断を支援する。
【０１４７】
ところで、癌は、その旺盛な増殖性から独自の血管構造を持ち、癌の発生部位によってその血管構造が異なる。つまり、癌は発生部位によって血管構造に独自のパターンを持つことから、診断のためのパターン化が既になされており、これを基に人工知能装置を学習させるための仮想データを作成することができる。
【０１４８】
また、自家蛍光は、通常の撮影用のカメラとは別のマルチスペクトルカメラなどによって蛍光スペクトルを検出しているが、その自家蛍光スペクトルも癌組織によって独自のパターンを持つため、これに基づいて人工知能装置の学習のための仮想データを作成することができる。
【０１４９】
また、手術中には、測定器により脈拍・心拍・血圧・血流などの測定が行われており、それらを統合した手術遂行の支援が通常行われている。これらの測定データも概にパターン化がなされているので、これを基に人工知能装置の学習のための仮想データを作成することができる。
【０１５０】
よって、上記の機械学習支援装置では、例えば、上記の血管構造パターンや自家蛍光スペクトルパターンや測定データパターンを、実際の手術において想定される所定の範囲内で様々に変化させて学習用の仮想データセットを作成する。
【０１５１】
次に、上記の機械学習支援装置は、その学習用の仮想データセットを使用して人工知能装置を予め学習させる。
【０１５２】
そして、上記の機械学習支援装置は、癌の病変部を含む人体内部モデルを仮想空間に出現させて手術の遂行における術中診断の検証を行う。また、上記の機械学習支援装置は、その検証の中で強化学習（教師なし学習）を実施することによって人工知能装置の診断能力を向上させる。
【０１５３】
（その他）
医療分野では、内視鏡やロボットサージェリーなどのシミュレーションのために人体内部のモデル化がなされている。そのため、そのモデル化した情報を使用して、上記の機械学習支援装置における仮想空間で、そのモデルのレベルやバリエーションを増やすようにすれば人工知能装置の学習を仮想空間で短時間に行うことができるようになる。これにより、内視鏡の安全挿入の支援や手術の支援、医療過誤回避の支援が可能となる。
【０１５４】
また、人体のモデル化も進んでいるため、そのモデル化した情報を使用すれば、様々な検体モデルを上記の機械学習支援装置における仮想空間に出現させて、手術遂行の支援の検証や学習を行うことができる。
【０１５５】
さらに、その人体内部や人体のモデル化した情報を使用すれば、上記の機械学習支援装置における仮想空間での確定診断の検証の支援に加え、手術での切除部をより少なくするための支援、動脈などの傷つけると危険な箇所を避けて手術するなどの安全確保の支援にも適用することができる。
【０１５６】
また、自動車の分野では、道路などをモデル化した情報が既にナビゲーションシステムなどにあるので、そのモデル化した情報を使用すれば、上記の機械学習支援装置における仮想空間での自動車の自動運転の学習に適用することができる。
【符号の説明】
【０１５７】
１０    仮想空間発生装置
１１    ＣＧ部
１２    力覚発生部
２０    仮想知能ロボット装置
２１    ニューラルネットワーク
２２    ニューラルネットワーク
２３    ロボット制御部
２４    画像処理部
２５    強化学習指示部
３０    システム制御装置
４０    強化学習評価部
１００  機械学習支援装置
【図１】
0006604832.tif 000002
【図２】
0006604832.tif 000003
【図３】
0006604832.tif 000004