IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

特許7380567情報処理装置、情報処理方法及び情報処理プログラム
<>
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図1
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図2
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図3
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図4
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図5
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図6
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図7
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図8
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図9
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図10
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図11
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図12
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図13
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図14
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図15
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図16
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図17
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図18
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図19
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
   G06F 16/532 20190101AFI20231108BHJP
   G06N 20/00 20190101ALI20231108BHJP
【FI】
G06F16/532
G06N20/00
【請求項の数】 15
(21)【出願番号】P 2020534106
(86)(22)【出願日】2019-06-21
(86)【国際出願番号】 JP2019024835
(87)【国際公開番号】W WO2020026643
(87)【国際公開日】2020-02-06
【審査請求日】2022-05-17
(31)【優先権主張番号】P 2018147178
(32)【優先日】2018-08-03
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】木村 友哉
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2002-207755(JP,A)
【文献】特開2000-122989(JP,A)
【文献】特開2002-149697(JP,A)
【文献】特開2001-142868(JP,A)
【文献】特開2006-309485(JP,A)
【文献】特開2018-045320(JP,A)
【文献】特開2018-045531(JP,A)
【文献】特開2017-004260(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
入力データに対して出力データを得る所定の処理において、第1の出力データを得た際に入力された第1の入力データを取得する取得部と、
前記取得部によって取得された第1の入力データと、前記所定の処理が過去に実行された際の入力データの履歴である入力履歴データの各々との類似度に基づいて、当該入力履歴データから当該第1の入力データと関連する第2の入力データを抽出する抽出部と、
前記抽出部によって抽出された前記第2の入力データを呈示する呈示部と、
を備え
前記抽出部は、
前記第1の出力データと類似する出力結果を得た入力履歴データと、当該第1の出力データと非類似の出力結果を得た入力履歴データとの複数のデータを、前記第2の入力データとして抽出する
情報処理装置。
【請求項2】
前記抽出部は、
前記第1の出力データと類似する出力結果を得た入力履歴データを前記第2の入力データとして抽出する
請求項1に記載の情報処理装置。
【請求項3】
前記抽出部は、
前記入力履歴データのうち、前記第1の入力データとの類似度が高いデータから優先的に前記第2の入力データとして抽出する
請求項1に記載の情報処理装置。
【請求項4】
前記取得部は、
前記第1の出力データを得た際の前記所定の処理における環境情報を含む前記第1の入力データを取得し、
前記抽出部は、
前記環境情報を含む前記第2の入力データを抽出し、
前記呈示部は、
前記環境情報とともに前記第2の入力データを呈示する
請求項1に記載の情報処理装置。
【請求項5】
前記取得部は、
前記環境情報として温度又は湿度を取得し、
前記呈示部は、
前記第2の入力データとともに、前記第2の入力データに対して前記所定の処理が実行された場合の温度又は湿度を呈示する
請求項に記載の情報処理装置。
【請求項6】
前記取得部は、
前記所定の処理における結果を示したラベルが付与された前記第1の入力データを取得し、
前記抽出部は、
前記第1の入力データに付与されたラベルが予め指定された所定の結果である場合に、当該第1の入力データと関連する第2の入力データを抽出する
請求項1に記載の情報処理装置。
【請求項7】
前記取得部は、
前記所定の処理における結果を示したラベルが付与された前記第1の入力データを取得し、
前記抽出部は、
前記第1の入力データと、前記ラベルが付与された入力履歴データとの類似度に基づいて、当該ラベルが付与された前記第2の入力データを抽出し、
前記呈示部は、
前記第2の入力データとともに、当該第2の入力データに付与されたラベルを呈示する
請求項1に記載の情報処理装置。
【請求項8】
前記呈示部は、
前記抽出部によって抽出された前記ラベルが付与された前記第2の入力データに基づいて、前記ラベルと、当該第2の入力データが含む変数との相関性に関する情報を呈示する
請求項に記載の情報処理装置。
【請求項9】
前記取得部は、
所定の学習モデルから前記第1の出力データを得た際に入力された前記第1の入力データを取得し、
前記抽出部は、
前記第1の入力データと、前記学習モデルの生成に用いられた学習データとの類似度に基づいて、当該学習データから前記第2の入力データを抽出する
請求項1に記載の情報処理装置。
【請求項10】
前記呈示部は、
前記抽出部によって抽出された前記第2の入力データとともに、当該第2の入力データが前記学習モデルの学習に与える影響を示す指標値を呈示する
請求項に記載の情報処理装置。
【請求項11】
前記取得部は、
前記所定の処理における結果を示したラベルが付与された前記第1の入力データを取得し、
前記抽出部は、
前記第1の入力データと、前記ラベルが付与された学習データとの類似度に基づいて、当該ラベルが付与された前記第2の入力データを抽出する
請求項に記載の情報処理装置。
【請求項12】
前記抽出部によって抽出された前記第2の入力データのうち、前記第1の入力データと反するラベルが付与されたデータを学習データから削除し、削除後の学習データを用いて前記学習モデルを更新する更新部
をさらに備えた請求項11に記載の情報処理装置。
【請求項13】
前記抽出部は、
複数の前記第2の入力データに対応付けられた変数に基づいて、当該複数の第2の入力データを統計的に分類し、
前記呈示部は、
前記抽出部によって分類された複数の前記第2の入力データを呈示する
請求項1に記載の情報処理装置。
【請求項14】
コンピュータが、
入力データに対して出力データを得る所定の処理において、第1の出力データを得た際に入力された第1の入力データを取得し、
取得された第1の入力データと、前記所定の処理が過去に実行された際の入力データの履歴である入力履歴データの各々との類似度に基づいて、当該入力履歴データから当該第1の入力データと関連する第2の入力データを抽出し、
抽出された前記第2の入力データを呈示し、
前記第1の出力データと類似する出力結果を得た入力履歴データと、当該第1の出力データと非類似の出力結果を得た入力履歴データとの複数のデータを、前記第2の入力データとして抽出する
情報処理方法。
【請求項15】
コンピュータを、
入力データに対して出力データを得る所定の処理において、第1の出力データを得た際に入力された第1の入力データを取得する取得部と、
前記取得部によって取得された第1の入力データと、前記所定の処理が過去に実行された際の入力データの履歴である入力履歴データの各々との類似度に基づいて、当該入力履歴データから当該第1の入力データと関連する第2の入力データを抽出する抽出部と、
前記抽出部によって抽出された前記第2の入力データを呈示する呈示部と、
として機能させ、
前記抽出部は、
前記第1の出力データと類似する出力結果を得た入力履歴データと、当該第1の出力データと非類似の出力結果を得た入力履歴データとの複数のデータを、前記第2の入力データとして抽出する
ための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法及び情報処理プログラムに関する。詳しくは、機械学習における学習性能を向上させるための情報処理に関する。
【背景技術】
【0002】
様々な技術分野において、情報処理装置自らが最適な出力を行うための学習を行う、いわゆる機械学習が利用されている。また、機械学習の精度を向上させたり、効率の良い学習を行わせたりするための技術が提案されている。
【0003】
例えば、画像の特徴量に基づいて、基板等の検査対象物を撮像して収集された複数の欠陥画像の中から典型的な欠陥を持つ画像を抽出し、抽出した画像を教師データとして学習を行う技術が知られている。また、過去の機械学習に用いられた画像に対して類似度が低い画像を抽出し、抽出した画像を優先的に学習する技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-6613号公報
【文献】特開2017-224184号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来技術によれば、画像の特徴量を探索することで画像同士の類似度を算出し、算出した類似度に基づいて学習データを抽出してから学習を行うことで、学習の効率を高めることができる。
【0006】
しかしながら、従来技術は、画像の類似度を用いて特定の画像をユーザに呈示するに過ぎず、例えば、学習済みモデルを用いた際の実行結果に不備があった場合にその原因を呈示するなど、種々の状況に対応した情報を呈示することができるとは限らない。
【0007】
そこで、本開示では、ユーザにとって有用な情報を呈示することができる情報処理装置、情報処理方法及び情報処理プログラムを提案する。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本開示に係る一形態の情報処理装置は、入力データに対して出力データを得る所定の処理において、第1の出力データを得た際に入力された第1の入力データを取得する取得部と、前記取得部によって取得された第1の入力データと、前記所定の処理が過去に実行された際の入力データの履歴である入力履歴データの各々との類似度に基づいて、当該入力履歴データから当該第1の入力データと関連する第2の入力データを抽出する抽出部と、前記抽出部によって抽出された前記第2の入力データを呈示する呈示部と、を備え、前記抽出部は、前記第1の出力データと類似する出力結果を得た入力履歴データと、当該第1の出力データと非類似の出力結果を得た入力履歴データとの複数のデータを、前記第2の入力データとして抽出する
【発明の効果】
【0009】
本開示に係る情報処理装置、情報処理方法及び情報処理プログラムによれば、ユーザにとって有用な情報を呈示することができる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【0010】
図1】本開示の第1の実施形態に係る情報処理システムを示す図である。
図2】本開示においてユーザに呈示される情報の一例を示す図(1)である。
図3】本開示においてユーザに呈示される情報の一例を示す図(2)である。
図4】本開示においてユーザに呈示される情報の一例を示す図(3)である。
図5】本開示においてユーザに呈示される情報の一例を示す図(4)である。
図6】本開示においてユーザに呈示される情報の一例を示す図(5)である。
図7】本開示の第1の実施形態に係る情報処理装置の構成例を示す図である。
図8】本開示の第1の実施形態に係る学習データ記憶部の一例を示す図である。
図9】本開示の第1の実施形態に係る実行結果記憶部の一例を示す図である。
図10】本開示の第1の実施形態に係る情報処理の概要を示す図である。
図11】本開示の第1の実施形態に係る解析処理の概要を示す図である。
図12】本開示の第1の実施形態に係る再解析処理を示す図(1)である。
図13】本開示の第1の実施形態に係る再解析処理を示す図(2)である。
図14】本開示の第1の実施形態に係る再解析処理を示す図(3)である。
図15】本開示の第1の実施形態に係る情報処理の流れを示すシーケンス図である。
図16】第1の実施形態の変形例に係る情報処理の一例を示す図(1)である。
図17】第1の実施形態の変形例に係る情報処理の一例を示す図(2)である。
図18】本開示の第2の実施形態に係る情報処理の概要を示す図(1)である。
図19】本開示の第2の実施形態に係る情報処理の概要を示す図(2)である。
図20】情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0011】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【0012】
(1.第1の実施形態)
[1-1.本開示に係る情報処理の適用例について]
様々な技術分野において、装置自らが最適な出力を行うための学習を行う、いわゆる機械学習が利用されている。機械学習を利用することにより、所定のハードウェア(例えばロボット)は、予め定められた動作のみならず、新たに学習した動作を柔軟に実行することができる。
【0013】
例えば、工場等において、物体を把持するための把持ロボットに機械学習を適用する例では、把持ロボット自らが物体の形状等をセンシングし、把持する点や把持の結果を取得し、取得した情報に基づいて学習を行う。これにより、把持ロボットは、把持する物体の情報を人為的に逐一入力されなくても、現場での把持作業を繰り返すことで、適切な把持の手法を学習することができる。また、把持ロボットは、未知の物体に対しても、既に学習した物体における把持点等の情報を応用することにより、適切な位置を把持することができる。
【0014】
このように、ハードウェアに対して、予め学習されたモデルを組み込むのではなく、ハードウェア自らが現場での処理に基づいて機械学習を行い、適切な処理をハードウェアが学ぶことで、様々な状況に柔軟に対応した処理を行うことができる。このような、現場でアクティブに学習を行う手法はアクティブラーニング等と称され、工場等の様々な現場で広く利用される。
【0015】
ところで、機械学習には様々な手法が存在するが、学習の過程がブラックボックス化することも多く、例えば、機械学習を行うハードウェアが適切な処理を行えなくなった場合に、どのような対応をしてよいか現場の人間が判断できない事態も想定される。すなわち、現場の人間は、ハードウェアが処理に失敗した場合等に、どのような原因で処理が失敗したか、あるいは、どのように学習が行われているかといった情報を参照することが難しい場合がある。
【0016】
そこで、本開示に係る情報処理は、アクティブラーニング等の機械学習に関して、種々の情報の呈示処理を行うことにより、ハードウェアを管理する人間(以下、「ユーザ」と称する)に情報を提供する。具体的には、本開示に係る情報処理によれば、ユーザは、ハードウェアが所定の処理を実行した場合に、なぜその処理が実行されたのかといった原因の究明につながる情報を得ることができる。これにより、ユーザは、ハードウェアの機械学習を適切に修正できるため、学習効率を高めたり、所定の処理の成功率を向上させたりすることができる。なお、本開示に係る情報処理は、必ずしもアクティブラーニング等の機械学習の処理に利用されるのみならず、処理に関するログが得られる事象であれば、機械学習以外にも適用可能である。以下、本開示に係る情報処理について、具体的な実施例を挙げて説明する。
【0017】
[1-2.第1の実施形態に係る情報処理の概要]
図1は、本開示の第1の実施形態に係る情報処理の概要を示す図である。本開示の第1の実施形態に係る情報処理は、図1に示す情報処理システム1によって実現される。情報処理システム1は、情報処理装置100と、把持ロボット2と、ユーザ端末10とを含む。
【0018】
情報処理装置100は、本開示に係る情報処理装置の一例であり、本開示に係る情報処理を実行する。また、情報処理装置100は、ハードウェアに関する機械学習を実行することで学習済みモデル(以下、単に「モデル」と称する)を生成し、生成したモデルをハードウェアに組み込むことで、ハードウェアの動作性能を向上させる。
【0019】
把持ロボット2は、本開示に係るハードウェアの一例であり、情報処理装置100と協働して、所定の処理に関する機械学習を行う装置である。第1の実施形態において、把持ロボット2は、所定の処理として、人為的な操作を受けることなく、自動的に物体を把持(ピッキング)し、把持した物体を所定の位置に移動させる処理を行う。例えば、把持ロボット2は、把持する物体の形状を示す画像データを入力とし、当該物体のどの位置を把持するかを示した把持点を示す画像上の座標データを出力とする学習データに基づいて学習されたモデルを用いて、上記の把持処理を実行する。
【0020】
ユーザ端末10は、本開示に係る端末装置の一例であり、情報処理装置100及び把持ロボット2を管理するユーザによって操作される。ユーザ端末10は、ディスプレイを有し、情報処理装置100から呈示される情報を表示する。
【0021】
以下、図1を用いて、本開示の情報処理の概要を流れに沿って説明する。なお、図1の例では、把持ロボット2は、所定量の学習データに基づいて学習されたモデルが既に組み込まれており、当該モデルに基づいて処理を実行するものとする。
【0022】
まず、把持ロボット2は、種々の物体が置かれた領域の中から、把持すべき物体(例えば、取り除くべき物体)を特定する。例えば、把持ロボット2は、アームに取り付けられたセンサ(例えばカメラ等)を用いて種々の物体をセンシングし、種々の物体の形状の特徴量と、学習した物体の特徴量との類似度に基づいて、把持すべき物体を特定する。
【0023】
図1の例では、把持ロボット2は、物体21を把持すべき物体として特定したものとする。この場合、把持ロボット2は、アームを用いて、物体21を把持し、物体21を取り除く処理を実行する(ステップS1)。
【0024】
このとき、把持ロボット2は、物体21を把持する際にセンシングした画像データと、把持する際に掴んだ点(把持点)に関する情報を情報処理装置100に送信する(ステップS2)。
【0025】
情報処理装置100は、把持ロボット2から送信された情報を取得し、取得した情報と、把持ロボット2が実行した把持処理が過去に実行された際の入力データの履歴である入力履歴データの各々との類似度を算出する。図1の例では、入力履歴データとは、例えば、把持処理のモデルの生成において用いられた学習データの入力データ(図1の例では、物体の形状を示した画像データ)である。あるいは、入力履歴データは、例えば、把持ロボット2が実行した過去の把持処理における入力データ(把持しようとする物体を撮像した画像データ)であってもよい。
【0026】
なお、類似度とは、例えば、機械学習における入力データ(この例では画像データ)の特徴量と、ステップS1において把持処理が実行された際に取得された入力データ(把持ロボット2が撮像した画像データ)の特徴量との類似性を示した指標値である。詳細は後述するが、本開示における類似度は、機械学習における入力データの特徴量の類似性を0から1までの値で数値化したものである。
【0027】
そして、情報処理装置100は、算出した類似度に基づいて、入力履歴データから、ステップS2において取得した入力データと関連する入力データを抽出する(ステップS3)。具体的には、情報処理装置100は、保持する入力履歴データのうち、類似度が所定の閾値を超える入力データを抽出する。例えば、情報処理装置100は、保持する入力履歴データのうち、類似度が最も高い入力データを一つのみ抽出してもよい。
【0028】
続けて、情報処理装置100は、抽出した入力データと、ステップS2において把持ロボット2から取得したデータとをユーザ端末10に送信する(ステップS4)。
【0029】
ユーザ端末10は、受信したデータをディスプレイに表示する(ステップS5)。これにより、ユーザは、情報処理装置100がユーザに呈示する情報を閲覧することができる。
【0030】
図1に、ユーザ端末10に表示される情報の一例を示す。実行データ20は、ステップS1において把持ロボット2が所定の処理を実行した際に取得した入力データ及び出力データを含む画像データである。具体的には、実行データ20は、把持ロボット2が把持処理を実行した際に撮像した物体21の画像データを入力データとして含む。また、実行データ20は、把持ロボット2が把持処理を実行した際に、物体21を把持した位置を示す座標(図1に示す把持点22及び把持点23)を物体21に重畳させた画像データを出力データとして含む。また、実行データ20は、把持ロボット2が把持処理を実行した際の結果をラベル付けした情報(以下、単に「ラベル」と称する)を含んでもよい。把持処理におけるラベルとは、例えば、把持ロボット2が把持に成功したか(物体21を掴み、移動させることに成功したか)否かを示す情報である。なお、ラベルは、把持ロボット2によって自動的に付与されてもよいし、ユーザが入力してもよい。例えば、図1の例では、実行データ29には「把持失敗」というラベルが付与されている。このことは、把持ロボット2が物体21に対して把持点22及び把持点23で把持した場合に、把持に失敗したことを示している。
【0031】
図1に示すように、ユーザ端末10には、実行データ20とともに、実行データ20に基づいて情報処理装置100に抽出された学習データ25が表示される。学習データ25は、ステップS1において把持ロボット2が所定の処理を実行した際に取得した入力データに類似する入力データを有する学習データの一例である。
【0032】
学習データ25は、把持ロボット2の把持処理に係るモデルを学習する際に用いられたデータの一つであり、把持しようとする物体26の画像データを入力データとして含む。また、学習データ25は、把持ロボット2が把持処理を実行した際に、物体26を把持した位置を示す座標(図1に示す把持点27及び把持点28)を物体26に重畳させた画像データを出力データとして含む。
【0033】
例えば、学習データ25の入力データである物体26は、実行データ20の入力データである物体21との類似度が「0.92」である。この数値は、物体26と物体21とが極めて類似する形状を有する物体であることを示す。また、学習データ25の出力データである把持点27と把持点28とは、実行データ20の出力データである把持点22と把持点23との類似度が「0.90」である。この数値は、把持点27及び把持点28と、把持点22及び把持点23とが、物体21又は物体26に対応する位置として、極めて類似する関係性を有することを示す。
【0034】
また、学習データ25は、把持ロボット2が把持処理を実行した際のラベルを含んでもよい。例えば、図1の例では、学習データ25には「把持成功」というラベルが付与されている。このことは、把持ロボット2が物体26に対して把持点27及び把持点28で把持した場合に、把持に成功したことを示している。
【0035】
このように、ユーザは、ユーザ端末10を介して、把持ロボット2による把持処理が実行されたのち、当該処理における実行データ20と類似する学習データ25を確認することができる。例えば、ユーザは、把持ロボット2が把持に失敗したことを契機として、情報処理装置100に抽出処理を要求し、類似した入力履歴データを要求してもよい。あるいは、情報処理装置100は、把持ロボット2が把持に失敗したことを自動的に検知し、所定のアラートとともに、類似した入力履歴データをユーザ端末10に送信してもよい。
【0036】
ユーザは、学習データ25を閲覧することで、ステップS1において、「物体26と類似する形状を有する物体21に対して、物体26において把持に成功した把持点27及び把持点28と類似した把持点22及び把持点23を把持する」と把持ロボット2が判断したことを推測することができる。また、ユーザは、学習データ25を閲覧することで、出力データを視認することができるため、把持点27や把持点28が、物体26のような形状に対して適切でないと知得することができる。また、ユーザは、学習データ25のラベルが「把持成功」となっているために、人為的にはあまり適切でないと判断される「把持点22及び把持点23」を把持ロボット2が把持したのではないか、と推測することができる。
【0037】
そして、ユーザは、上記の状況に鑑みて、学習データ25を学習データ群から削除する(あるいは、学習における学習データ25の重要度を下げる)という判断をとりうる。すなわち、ユーザは、把持ロボット2の学習の過程において、学習データ25において「偶然に把持が成功した」ために、学習データ25がモデルに悪影響を与えていると判断する。そして、ユーザは、学習データ25を除いた学習データ群で把持処理を再学習させる(すなわち、モデルを更新する)ことにより、適切な学習を行わせることができる。
【0038】
このように、情報処理装置100は、ある処理がハードウェアに実行された場合に、実行における入力データと類似するデータを抽出してユーザに呈示することにより、学習における問題点をユーザに気付かせることができる。これにより、ユーザは、機械学習が適切に行われているか否かを判断したり、あるいは、適切な処理結果が得られていない場合の問題点(具体的には、問題のある学習データ)を効率よく発見したりすることができる。
【0039】
情報処理装置100は、図1で示した以外にも、種々の情報をユーザに呈示してもよい。以下、図2乃至図6を用いて、情報処理装置100が呈示する情報のバリエーションについて説明する。
【0040】
図2は、本開示においてユーザに呈示される情報の一例を示す図(1)である。図2の例では、情報処理装置100は、実行データ20に対して、「入力データが類似し、出力データが非類似である」学習データ30や、学習データ35を呈示する。
【0041】
例えば、学習データ30の入力データである物体31は、実行データ20の入力データである物体21との類似度が「0.90」である。この数値は、物体31と物体21とが極めて類似する形状を有する物体であることを示す。また、学習データ30の出力データである把持点32と把持点33とは、実行データ20の出力データである把持点22と把持点23との類似度が「0.30」である。この数値は、把持点32及び把持点33と、把持点22及び把持点23とが、物体21又は物体31に対応する位置として、非類似な関係であることを示す。また、図2の例では、学習データ30には、「把持失敗」というラベルが付与されていることを示す。
【0042】
ユーザは、学習データ30を閲覧することで出力データを視認することができるため、把持点32や把持点33が、物体31のような形状に対して適切であると知得することができる。ところが、把持ロボット2は、実行データ20において、学習データ30とは異なる把持点22及び把持点23を選択している。
【0043】
このような状況下において、学習データ30を呈示されたユーザは、学習データ30が「把持失敗」であることから、ステップS1において、学習データ30とは異なる出力となるよう把持ロボット2が判断したのではないか、と推測することができる。すなわち、ユーザは、「物体31と類似する形状を有する物体21に対して、(把持に失敗した)学習データ30とは異なる把持点である把持点22及び把持点23を把持すべきである」と、把持ロボット2が判断したのではないかと推測することができる。
【0044】
そして、ユーザは、上記の状況に鑑みて、学習データ30を学習データ群から削除する(あるいは、学習における学習データ30の重要度を下げる)という判断をとりうる。すなわち、ユーザは、把持ロボット2の学習の過程において、学習データ30に示す入力データ及び出力データの関係において「偶然に把持が失敗した」ために、学習データ30がモデルに悪影響を与えていると判断する。そして、ユーザは、学習データ30を除いた学習データ群で把持処理を再学習させる(すなわち、モデルを更新する)ことにより、適切な学習を行わせることができる。
【0045】
また、ユーザは、学習データ30において「把持失敗」のラベルが付与されていることから、把持点以外の問題点についても推察することができる。すなわち、ユーザは、把持ロボット2における問題点は、把持点の座標だけではないのではないかと推察することができる。具体的には、ユーザは、把持ロボット2のアームの摩擦力や把持する圧力、アームに取り付けられた吸盤の吸着力など、他の改善点があるのではないか、と推察することができる。
【0046】
また、情報処理装置100は、学習データ30の入力データにおける類似度と同じ類似度を有する学習データ35を同時に呈示してもよい。例えば、学習データ35の入力データである物体36は、実行データ20の入力データである物体21との類似度が「0.90」である。この数値は、物体36と物体21とが極めて類似する形状を有する物体であることを示す。また、学習データ30の出力データである把持点37と把持点38とは、実行データ20の出力データである把持点22と把持点23との類似度が「0.30」である。この数値は、把持点37及び把持点38と、把持点22及び把持点23とが、物体21又は物体36に対応する位置として、非類似な関係であることを示す。また、図2の例では、学習データ30には、「把持成功」というラベルが付与されていることを示す。
【0047】
ユーザは、学習データ35を閲覧することで出力データを視認することができるため、把持点37や把持点38が、物体31のような形状に対して適切であると知得することができる。ところが、把持ロボット2は、実行データ20において、学習データ35とは異なる把持点22及び把持点23を選択している。
【0048】
このような状況下において、学習データ35を呈示されたユーザは、学習データ35よりも大きな影響を与える学習データによって、把持ロボット2が間違った学習を行っている可能性を推察することができる。これにより、ユーザは、例えば、実行データ20の出力データと類似度が高い学習データを情報処理装置100にあらためて抽出させる対応を採りえる。あるいは、ユーザは、学習データ35の学習における重要度を高めたり、学習データ35に類似する学習データを増加させて再学習させたりといった、種々の対応を検討することができる。
【0049】
図2で示したように、情報処理装置100は、実行データ20と類似する出力結果を得た入力履歴データを抽出してもよいし、実行データ20と非類似の出力結果を得た入力履歴データを抽出してもよい。このように、情報処理装置100は、多様な情報をユーザにフィードバックすることで、学習に関する様々な情報をユーザに与えることができる。
【0050】
続いて、図3を用いて、ユーザに呈示される情報の他の例を説明する。図3は、本開示においてユーザに呈示される情報の一例を示す図(2)である。
【0051】
図3には、実行データ40に対して、学習データ45が抽出され、ユーザに呈示された例を示す。実行データ40は、入力データとして物体41に関する画像データを含む。また、実行データ40は、出力データとして把持点42及び把持点43を含む。また、実行データ40は、「把持失敗」のラベルが付与される。
【0052】
学習データ45は、入力データとして物体46に関する画像データを含む。また、学習データ45は、出力データとして把持点47及び把持点48を含む。また、学習データ45は、「把持成功」のラベルが付与される。また、実行データ40に対する学習データ45の入力データの類似度は「0.98」であり、出力データの類似度は「0.90」である。これは、情報処理装置100が、実行データ40の入力データ及び出力データと、学習データ45の入力データ及び出力データとの各々が極めて類似すると判定したことを示す。
【0053】
ユーザは、呈示された実行データ40を閲覧することで、把持点42が物体41の突起部にあたるため、適切な把持点ではないと判断可能である。また、ユーザは、把持ロボット2が「物体41と物体46とが極めて類似することから、類似した点で把持することにより把持が成功する」と判断した、と推察する。すなわち、図3の例では、類似する形状を有する物体同士であるものの、突起部の形状が異なることにより、把持の結果が異なる2つの例が呈示されている。この場合、ユーザは、物体41を把持するという事象の学習において、学習データ45が適切でない(あるいは、学習データ45のみでは不十分である)と判断することができる。このため、ユーザは、物体41と類似する形状を有する物体に関する学習データをさらに収集したり、学習データ45を学習データから削除したりする等の対応を採りうる。
【0054】
続いて、図4を用いて、ユーザに呈示される情報の他の例を説明する。図4は、本開示においてユーザに呈示される情報の一例を示す図(3)である。
【0055】
図4には、実行データ50に対して、学習データ55が抽出され、ユーザに呈示された例を示す。実行データ50は、入力データとして物体51に関する画像データを含む。また、実行データ50は、出力データとして把持点52及び把持点53を含む。また、実行データ50は、「把持失敗」のラベルが付与される。
【0056】
学習データ55は、入力データとして物体56に関する画像データを含む。また、学習データ55は、出力データとして把持点57及び把持点58を含む。また、学習データ55は、「把持成功」のラベルが付与される。また、実行データ50に対する学習データ55の入力データの類似度は「0.35」であり、出力データの類似度は「0.80」である。これは、例えば、情報処理装置100が実行データ50と類似する入力履歴データを探索したところ、類似度が「0.35」の学習データ55しか探索されなかった状況を示す。
【0057】
ユーザは、呈示された実行データ50を閲覧することで、把持点52及び把持点53が物体51を把持するには適切な位置でないと判断可能である。また、ユーザは、把持ロボット2が「物体51と類似する形状を探索したが、類似する形状がなかったため、最も類似する形状を有する物体56における出力データと類似する位置で把持を行った」と推察する。すなわち、図4の例では、そもそも学習データ群に物体51と類似する入力データを有する学習データが存在しないため、物体51の把持に失敗したと推察される例が呈示されている。この場合、ユーザは、物体51を把持するという事象の学習において、学習データがそもそも不足していると判断することができる。このため、ユーザは、物体51と類似する形状を有する物体に関する学習データを収集する等の対応を採りうる。
【0058】
続いて、図5を用いて、ユーザに呈示される情報の他の例を説明する。図5は、本開示においてユーザに呈示される情報の一例を示す図(4)である。
【0059】
図5には、図4で示した実行データ50に対して、類似した学習データや、過去の実行データが多く存在する場合の例を示す。また、図5では、学習データとともに、情報処理装置100が生成した呈示情報が呈示される場合の例を示す。呈示情報とは、情報処理装置100による実行データの解析結果に基づき、所定の処理の実行結果において想定される要因が示された情報である。情報処理装置100は、例えば、エージェント200を呈示情報とともに呈示することで、あたかも情報処理装置100がユーザにアドバイスを行っているかのような情報の提供を行うことができる。
【0060】
図6に示す実行結果データ61、実行結果データ62及び実行結果データ63は、所定の処理が行われた際の温度や湿度等の環境情報が異なる状況における実行結果を含む。なお、実行結果データ61、実行結果データ62及び実行結果データ63における入力データ及び出力データは、実行データ50と極めて類似するものとする。また、図5では、情報処理装置100が3つの実行結果データを呈示する例を示しているが、実際には、情報処理装置100は、3つよりも多くの実行結果データと、実行データ50との比較検証を行っているものとする。
【0061】
図5に示す例では、情報処理装置100は、実行結果(ラベル)と、所定の処理における環境情報との相関性を検証したものとする。そして、情報処理装置100は、温度とラベルとの間に有意な相関がみられたと判定する。この場合、情報処理装置100は、ラベルに与える要因が「温度」であると判定し、その旨を示すメッセージ64を生成する。例えば、情報処理装置100は、「温度と把持成功率の相関性が高いです。ハードウェアの変更またはモデルへの温度入力追加をお勧めします。」といった、ユーザへのアドバイスを含むメッセージ64を生成し、ユーザに呈示する。これにより、ユーザは、自身で要因を検討せずとも、所定の処理の実行結果に影響を与える要因を知得することができる。
【0062】
続いて、図6を用いて、ユーザに呈示される情報の他の例を説明する。図6は、本開示においてユーザに呈示される情報の一例を示す図(5)である。
【0063】
図6では、図5で示したメッセージ64に対して、エージェント200が、グラフ65やグラフ66を呈示する例を示す。例えば、情報処理装置100は、過去の実行結果の履歴に基づいて、温度と実行結果との関係を一次元にプロットしたグラフ65を生成し、ユーザに呈示する。また、情報処理装置100は、過去の実行結果の履歴に基づいて、温度と出力類似度(把持点)と実行結果との関係を二次元にプロットしたグラフ66を生成し、ユーザに呈示してもよい。このように、情報処理装置100は、文章やグラフなど、種々の態様でユーザに情報を呈示してもよい。これにより、ユーザは、処理の実行結果に与える要因を一目で理解することができる。
【0064】
以上、図1乃至図6を用いて説明したように、情報処理装置100は、所定の処理が実行された際に入力されたデータと、履歴データ(学習データや実行結果データ)との類似度を算出し、類似度に基づいて一部の履歴データを抽出する。また、情報処理装置100は、抽出した履歴データが含む環境情報やラベルの相関性に基づいて、呈示情報を生成してもよい。これにより、情報処理装置100は、把持ロボット2等のハードウェアが実行する処理の失敗原因や、機械学習に悪影響を与える要因となった学習データ等をユーザにわかりやすく呈示することができる。
【0065】
[1-3.第1の実施形態に係る情報処理装置の構成]
次に、第1の実施形態に係る情報処理を実行する情報処理装置100の構成について説明する。図7は、本開示の第1の実施形態に係る情報処理装置100の構成例を示す図である。
【0066】
図7に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100を管理する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0067】
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、ネットワークN(インターネット等)と有線又は無線で接続され、ネットワークNを介して、把持ロボット2やユーザ端末10等との間で情報の送受信を行う。
【0068】
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、学習データ記憶部121と、実行結果記憶部122と、呈示情報記憶部123とを有する。以下、各記憶部について順に説明する。
【0069】
学習データ記憶部121は、モデル生成に用いられる学習データ群を記憶する。例えば、学習データは、物体の把持に関する学習においては、把持する物体の画像データと、当該画像データにおける正解データとなる把持点の座標とのデータセットから構成される。なお、学習データは、情報処理装置100が保持せずに、外部サーバ等から、適宜取得してもよい。
【0070】
図8に、第1の実施形態に係る学習データ記憶部121の一例を示す。図8は、本開示の第1の実施形態に係る学習データ記憶部121の一例を示す図である。図8に示した例では、学習データ記憶部121は、「学習モデル種別」、「学習データID」、「入力データ」、「出力データ」、「環境情報」、「ラベル」、「LOSS」といった項目を有する。
【0071】
「学習モデル種別」は、モデルによって実行される事象(ハードウェアが実行する処理)の種別を示す。「学習データID」は、学習データを識別する識別情報である。
【0072】
「入力データ」は、学習データにおける入力データを示す。「出力データ」は、学習データにおける出力データを示す。なお、図8では、入力データや出力データ、その他の項目のデータ等を、「A01」や「B01」といった概念で示しているが、実際には、各項目には、各項目に対応する具体的な情報が記憶される。例えば、入力データの項目には、物体の形状を示す画像データが記憶される。また、出力データには、物体を把持すべき座標を示すデータが記憶される。
【0073】
「環境情報」は、所定の処理が実行された際の環境に関する情報を示す。環境情報は、例えば、把持ロボット2や、情報処理装置100が備えるセンサ等によって測定される。環境情報は、「日付」、「温度」、「湿度」、「稼働時間」、「個体ID」といった小項目を有する。
【0074】
「日付」は、所定の処理が実行された日付を示す。「温度」は、所定の処理が実行された際の温度を示す。「湿度」は、所定の処理が実行された際の湿度を示す。「稼働時間」は、所定の処理が実行された際に、当該ハードウェアが稼働していた時間を示す。「個体ID」は、所定の処理を実行したハードウェアを識別する識別情報を示す。
【0075】
「ラベル」は、所定の処理の結果に対して付与される任意の情報を示す。例えば、ラベルは、実行結果が望ましい結果であったか否かを示す「成功」や「失敗」といった情報である。なお、学習の種別によっては、ラベルは付与されなくてもよい。
【0076】
「LOSS」は、機械学習における損失を示す値である。例えば、機械学習では、LOSS(損失)を最小化するような学習が行われる。LOSSは、個別の学習データごとに算出される値であり、例えば、モデルの出力と正解出力の誤差とによって求められる。LOSSが大きいほどモデルのパラメータの修正量が大きいことになるため、LOSSが大きい学習データほど、モデルに与える影響が大きいといえる。
【0077】
すなわち、図8に示した例では、学習モデル種別が「物体の把持」である場合の学習データの一例は、学習データID「A01」によって識別される学習データであることを示している。また、学習データID「A01」は、入力データが「B01」であり、出力データが「C01」であり、その処理が行われた日付は「D01」であり、その際の温度が「E01」であり、湿度が「F01」であり、稼働時間が「G01」であり、処理が行われたハードウェアの個別IDが「H01」であることを示している。また、学習データID「A01」は、ラベルが「成功」であり、LOSSが「J01」であることを示している。
【0078】
次に、実行結果記憶部122について説明する。実行結果記憶部122は、ハードウェアによって実行された所定の処理の結果を記憶する。
【0079】
図9に、第1の実施形態に係る実行結果記憶部122の一例を示す。図9は、本開示の第1の実施形態に係る実行結果記憶部122の一例を示す図である。図9に示した例では、実行結果記憶部122は、「実行結果ID」、「実行結果」、「抽出データ」といった項目を有する。
【0080】
「実行結果ID」は、所定の処理が行われた結果を識別する識別情報を示す。「実行結果」は、所定の処理が行われた結果の具体的な情報を示す。「入力データ」、「出力データ」、「ラベル」、「環境情報」は、各々、図8に示した同様の項目に対応した情報が記憶される。
【0081】
「抽出データ」は、実行結果に基づいて、情報処理装置100によって抽出されたデータを示す。抽出データは、例えば、ユーザの要求や、所定の処理が失敗した際に、実行結果と学習データや他の実行結果データとの入力データの類似度等に基づいて抽出されるデータである。なお、抽出データは、一つのデータに限らず、複数のデータであってもよい。
【0082】
すなわち、図9に示した例では、実行結果ID「K01」によって識別される実行結果は、入力データが「B11」であり、出力データが「C11」であり、ラベルが「成功」であり、環境情報が「L01」であることを示している。また、実行結果ID「K01」によって識別される実行結果に基づいて抽出されたデータは、「M01」であることを示している。
【0083】
次に、呈示情報記憶部123について説明する。呈示情報記憶部123は、情報処理装置100が呈示情報を生成する際に利用される情報を記憶する。例えば、呈示情報記憶部123は、文章データベース124と、グラフデータベース125を有する。
【0084】
文章データベース124は、呈示情報の一例であるメッセージを生成するための基礎となる文章と、各文章に挿入される変数に関する情報が記憶される。変数は、例えば、実行結果と相関性を有する要因等である。
【0085】
グラフデータベース125は、呈示情報の一例であるグラフを生成するための基礎となるグラフ等の画像データ(例えば、棒グラフや折れ線グラフを表示するために用いられる画像データ等)と、各グラフを生成するために用いられる変数に関する情報が記憶される。変数は、例えば、実行結果と相関性を有する要因等である。
【0086】
図7に戻り、説明を続ける。制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部に記憶されたプログラム(例えば、本開示に係る情報処理プログラム)がRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0087】
図7に示すように、制御部130は、学習部131と、取得部132と、解析部133と、抽出部134と、呈示部135と、更新部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図7に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0088】
学習部131は、学習データ記憶部121に記憶された学習データに基づいて、学習モデルを生成するための学習を行う。なお、学習部131が実行する学習処理の種別は、何らかの種別に特定されない。例えば、学習部131は、ニューラルネットワーク、サポートベクターマシン(Support Vector Machine)、クラスタリング、強化学習等の各種学習アルゴリズムを用いてモデルを生成してもよい。
【0089】
取得部132は、各種情報を取得する。例えば、取得部132は、入力データに対して出力データを得る所定の処理において、任意の出力データ(以下、区別のため「第1の出力データ」と称する)を得た際に入力された入力データ(以下、区別のため「第1の入力データ」と称する)を取得する。すなわち、取得部132は、モデルが組み込まれたハードウェアによって所定の処理が実行された場合の入力データを取得する。言い換えれば、取得部132は、所定の学習モデルから第1の出力データを得た際に入力された第1の入力データを取得する。
【0090】
また、取得部132は、第1の出力データを得た際の所定の処理における環境情報を含む第1の入力データを取得してもよい。
【0091】
例えば、取得部132は、ハードウェアに設置されたセンサ等を介して、所定の処理が実行された際の温度や湿度等を取得する。また、取得部132は、所定の処理が実行された際の日付や、ハードウェアの個体IDや、ハードウェアの稼働時間等を取得してもよい。
【0092】
また、取得部132は、所定の処理における結果を示したラベルが付与された第1の入力データを取得してもよい。例えば、取得部132は、所定の処理が実行されたのちに、人為的に付与されたラベルや、実行結果に基づいて自動的に判定されたラベル等が付与された第1の入力データを取得する。
【0093】
解析部133は、取得部132によって取得された第1の入力データに対する各種解析を実行する。例えば、解析部133は、第1の入力データと、所定の処理が過去に実行された際の入力データの履歴である入力履歴データの各々との類似度を算出する。この場合、入力履歴データとは、学習データ及び過去の実行結果データを含む。
【0094】
例えば、解析部133は、第1の入力データがモデルに入力された場合に導出される特徴量と、他の入力データがモデルに入力された場合に導出される特徴量とに基づいて、第1の入力データと各々の入力データとの類似度を算出する。この場合、解析部133は、特徴量として、例えばニューラルネットワークの中間層における特徴量を利用すること等により、計算量を削減することができる。また、解析部133は、主成分分析やオートエンコーダなどの次元圧縮器を利用し、入力データの情報量を削減した情報を特徴量として用いてもよい。また、解析部133は、その他、入力データの特徴量を算出する既知の技術を適宜利用して、類似度を算出してもよい。
【0095】
また、解析部133は、所定の処理の結果と、所定の処理の結果に影響を与えたと推定される要因との相関性を算出してもよい。かかる処理についての詳細は後述する。
【0096】
抽出部134は、取得部132によって取得された第1の入力データと、所定の処理が過去に実行された際の入力データの履歴である入力履歴データの各々との類似度に基づいて、入力履歴データから第1の入力データと関連する第2の入力データを抽出する。ここで、第2の入力データとは、例えば、図1において実行データ20とともにユーザに呈示された学習データ25(より具体的には、入力データである物体26の画像データ)等、実行結果と比較対照されるデータのことをいう。
【0097】
例えば、抽出部134は、第2の入力データとして、第1の出力データと類似する出力結果を得た入力履歴データを第2の入力データとして抽出してもよい。すなわち、抽出部134は、第1の入力データと、入力データ及び出力データがともに類似する第2の入力データを抽出する。かかるデータが抽出され呈示されることで、ユーザは、処理の実行において強い影響を受けたと想定される学習データがどのようなデータであったか等を認識することができる。
【0098】
また、抽出部134は、第1の出力データと類似する出力結果を得た入力履歴データと、第1の出力データと非類似の出力結果を得た入力履歴データとの複数のデータを、第2の入力データとして抽出してもよい。かかるデータが抽出され呈示されることで、ユーザは、入力データが類似しているにもかかわらず、異なる出力データである複数のデータを比較することができるため、学習の問題点や、モデルの更新のために適するデータ等を容易に把握することができる。
【0099】
また、抽出部134は、入力履歴データのうち、第1の入力データとの類似度が高いデータから優先的に第2の入力データとして抽出してもよい。例えば、抽出部134は、最も類似度が高いデータのみを抽出してもよいし、類似度が高いデータから優先的に所定数のデータを抽出してもよい。
【0100】
また、抽出部134は、環境情報を含む第2の入力データを抽出してもよい。具体的には、抽出部134は、環境情報として、温度や湿度等を含む第2の入力データを抽出する。かかるデータが抽出され呈示されることで、ユーザは、所定の処理の実行時における環境情報も含めた検証を行うことができる。
【0101】
また、抽出部134は、第1の入力データに付与されたラベルが予め指定された所定の結果である場合に、第1の入力データと関連する第2の入力データを抽出する処理を実行してもよい。例えば、抽出部134は、所定の処理が「物体の把持」である場合、「物体の把持に失敗」したというラベルが付与された第1の入力データを取得した場合に、当該第1の入力データに関連する第2の入力データを自動的に抽出してもよい。これにより、ユーザは、わざわざ抽出の要求を行わずとも、処理が失敗したことを契機として、失敗要因となりうる学習データの呈示を受けることができるので、迅速に検証を行うことができる。
【0102】
また、抽出部134は、第1の入力データと、ラベルが付与された入力履歴データとの類似度に基づいて、ラベルが付与された第2の入力データを抽出してもよい。すなわち、抽出部134は、同一のラベルが付与された学習データや、あるいは、入力データが類似するにもかかわらず異なるラベルが付与された学習データ等を抽出する。これにより、ユーザは、所定の処理の実行結果に関して、多様な観点から検証を行うことができる。
【0103】
また、抽出部134は、複数の第2の入力データに対応付けられた変数に基づいて、複数の第2の入力データを統計的に分類する処理を行ってもよい。例えば、抽出部134は、図6に示したように、類似する複数の実行結果データを得た場合に、それらのデータを統計的手法(クラスタリング等)に基づき分類する。そして、抽出部134は、分類した結果を呈示部135に渡す。これにより、ユーザは、例えば、図6に示すグラフ65やグラフ66に示されるような、所定の変数(図6の例では温度)と、入力データとの相関性を容易に把握することができる。
【0104】
呈示部135は、抽出部134によって抽出された第2の入力データを呈示する。なお、呈示部135は、自装置がディスプレイ等の表示部を有する場合、表示部へ第2の入力データを呈示する。また、呈示部135は、自装置がディスプレイ等の表示部を有しない場合、外部装置(例えば、ユーザ端末10)へ第2の入力データに関する情報を送信することにより、抽出部134によって抽出された情報をユーザに呈示する。
【0105】
呈示部135は、所定の処理の結果に与えた要因等、ユーザにとって有用な情報を呈示する。例えば、呈示部135は、図5に示したように、抽出部134によって抽出された第2の入力データとともに、温度等の環境情報を呈示する。
【0106】
より具体的には、呈示部135は、第2の入力データとともに、第2の入力データに対して所定の処理が実行された場合の温度又は湿度等を呈示する。これにより、ユーザは、過去にモデルに入力されたデータ(第2の入力データ)に対して所定の処理が実行された際の温度や湿度を、現時点の実行データ(第1の入力データ)と比較することができるため、処理の失敗原因等に関する有用な情報を得ることができる。
【0107】
また、呈示部135は、第2の入力データとともに、第2の入力データに付与されたラベルを呈示してもよい。例えば、呈示部135は、過去に第2の入力データが入力された際の実行結果をユーザに呈示する。
【0108】
さらに、呈示部135は、抽出部134によって抽出されたラベルが付与された第2の入力データに基づいて、ラベルと、当該第2の入力データが含む変数との相関性に関する情報を呈示してもよい。例えば、呈示部135は、図5に示すように、温度と把持成功率など、ラベルと、ラベルの要因となりうる変数(図5の例では温度)を呈示する。これにより、ユーザは、実行結果の要因を容易に特定することができる。
【0109】
また、呈示部135は、抽出部134によって抽出された第2の入力データとともに、第2の入力データが学習モデルの学習に与える影響を示す指標値を呈示してもよい。具体的には、呈示部135は、抽出された第2の入力データにおけるLOSSの値を呈示する。これにより、ユーザは、抽出された第2の入力データが、モデルにどのくらいの影響力があるデータであるかといった情報を把握することができる。
【0110】
また、呈示部135は、抽出部134によって複数の第2の入力データが統計的に分類された場合、抽出部134によって分類された複数の第2の入力データを呈示してもよい。
【0111】
更新部136は、モデルの更新処理を実行する。例えば、更新部136は、ユーザ端末10を介して、特定の学習データの削除の要求や、学習における重要度を下げる要求を受け付ける。そして、更新部136は、受け付けた要求に基づいて学習データを更新し、更新した学習データに基づいて、モデルを再学習する。
【0112】
なお、更新部136は、ユーザから要求を受け付けずに、自動的にモデルを最適化する更新処理を行ってもよい。例えば、更新部136は、抽出部134によって抽出された第2の入力データのうち、第1の入力データと反するラベルが付与されたデータを学習データから削除し、削除後の学習データを用いて学習モデルを更新してもよい。
【0113】
例えば、図1に示したような、実行データ20と入力も出力も類似するにも関わらず反するラベルが付与された学習データ25は、所定の処理の実行(すなわちモデル)に悪影響を与える可能性が高い。このため、更新部136は、第1の入力データと反するラベルが付与されたデータを自動的に学習データから削除し、削除後の学習データを用いて学習モデルを更新することで、ユーザからの要求を受け付けずとも、モデルを最適化することができる。
【0114】
[1-4.第1の実施形態に係る情報処理の手順]
次に、図10乃至図15を用いて、第1の実施形態に係る情報処理の手順について説明する。まず、図10を用いて、本開示の第1の実施形態に係る情報処理の流れの概要について説明する。図10は、本開示の第1の実施形態に係る情報処理の概要を示す図である。
【0115】
図10では、情報処理装置100が実行する情報処理の流れや、情報処理装置100と、ユーザ端末10や把持ロボット2との関係を模式的に示す。図10に示すように、情報処理装置100は、主に4つの機構(機能)に基づいて情報処理を実行する。なお、例えば、図7に示した学習部131は、図10に示す学習データ管理機構に対応する。また、図7に示した取得部132は、図10に示す学習モデル実行機構に対応する。また、図7に示した解析部133、抽出部134及び呈示部135は、図10に示す統計・解析機構に対応する。また、図7に示した更新部136は、図10に示す学習データ・モデル修正機構に対応する。
【0116】
図10に示すように、情報処理装置100は、学習データとそれに伴う環境情報とを学習データ管理機構で管理する(ステップS11及びステップS12)。また、情報処理装置100は、学習モデル実行機構において、学習モデルを用いて学習モデルの実行を制御し(ステップS13)、実行結果を得る。
【0117】
情報処理装置100は、実行結果を統計・解析機構において統計及び解析処理を行う(ステップS14)。この際、情報処理装置100は、モデル生成に用いられた学習データを取得し(ステップS15)、モデルの実行において入力されたデータ(第1の入力データ)と類似する学習データ等を抽出する。そして、情報処理装置100は、抽出した情報をユーザ端末10に送信し、ユーザに情報を呈示する(ステップS16)。
【0118】
ユーザは、呈示された情報に基づいて、さらに詳細な情報を得るための再解析を要求したり(ステップS17)、抽出された学習データを削除するための要求を送信したりする(ステップS18)。
【0119】
情報処理装置100は、学習データ・モデル修正機構において、学習データを更新する(ステップS19)。そして、情報処理装置100は、更新された学習データに基づいて、学習モデルを更新する(ステップS20)。また、ユーザは、更新された学習モデルをハードウェア(把持ロボット2)に組み込む要求や命令を実行する(ステップS210)。
【0120】
次に、図11を用いて、図10に示した統計・解析機構が実行する処理の詳細について説明する。図11は、本開示の第1の実施形態に係る解析処理の概要を示す図である。
【0121】
図11に示すように、情報処理装置100は、第1の入力データに基づいて実行された処理の失敗成功判定(例えば、処理が失敗であったこと等)や、ユーザからの解析要求を契機として(ステップS21)、解析処理を開始する(ステップS22)。
【0122】
情報処理装置100は、学習データ群や、実行時の入力データ(第1の入力データ)や、実行結果(出力データ等)や、成功失敗判定(ラベル)等、解析に要するデータを取得する(ステップS23)。そして、情報処理装置100は、学習データを検索し、類似する学習データを抽出し、ユーザ端末10に情報を呈示する(ステップS24)。
【0123】
また、情報処理装置100は、検索結果を統計解析し(ステップS25)、学習データとして不適切なデータであるか否か等の判定を行う(ステップS26)。情報処理装置100は、学習データとして不適切なデータについては、学習データ・修正機構に送り、学習データ群から削除する等の対応を行う(ステップS27)。
【0124】
また、情報処理装置100は、統計した情報に基づいて、呈示情報の生成処理を行う(ステップS28)。例えば、情報処理装置100は、実行結果と温度との相関性等に基づいて、ユーザに呈示するメッセージやグラフの生成処理を行う。なお、かかる処理は、ユーザからの要求を契機として行われてもよい。
【0125】
情報処理装置100は、生成した呈示情報をユーザ端末10に送信する(ステップS29)。そして、情報処理装置100は、呈示情報を閲覧したユーザから、さらに情報の解析を行う旨の要求を受け付けた場合(ステップS30)、情報の再解析を行う。
【0126】
ここで、図12乃至図14を用いて、情報の再解析に関して説明する。図12は、本開示の第1の実施形態に係る再解析処理を示す図(1)である。図12では、実行データ50に対して、実行結果データ71、実行結果データ72及び実行結果データ73が抽出され、ユーザに呈示された例を示す。
【0127】
図12に示す実行結果データ71、実行結果データ72及び実行結果データ73における入力データ及び出力データは、実行データ50と極めて類似するものとする。また、図12では、情報処理装置100が3つの実行結果データを呈示する例を示しているが、実際には、情報処理装置100は、3つよりも多くの実行結果データと、実行データ50との比較検証を行っているものとする。
【0128】
図12に示す例では、情報処理装置100は、実行結果(ラベル)と、所定の処理における環境情報との相関性を検証したものとする。そして、情報処理装置100は、日付とラベルとの間に有意な相関がみられたと判定する。この場合、情報処理装置100は、ラベルに与える要因が「日付」であると判定し、その旨を示すメッセージ74を生成する。例えば、情報処理装置100は、「日付と把持成功率の相関性が高いです。ハードウェア破損の可能性があるため、メンテナンスをお勧めします。」といった、ユーザへのアドバイスを含むメッセージ74を生成し、ユーザに呈示する。
【0129】
ここで、情報処理装置100は、実行結果に関する要因と、要因に関する再解析を行う提案をユーザに呈示してもよい。例えば、情報処理装置100は、要因と、要因と対応付けられた再解析の定義情報等を参照し、ユーザに所定の提案を行う。一例として、情報処理装置100は、「日付」が把持成功率に影響を与える要因と判定された場合に、ハードウェアにおける「経年劣化」に関する再解析をユーザに提案する。
【0130】
例えば、情報処理装置100は、日付が実行結果に影響を与える要因であることを示す呈示情報(例えばメッセージ74)とともに、再解析を受け付けるボタン75を表示する。ボタン75は、例えば、「「経年劣化」に着目した再解析」を行うことを要求することを示すボタンである。ユーザは、再解析を要求する場合、ボタン75を選択する。
【0131】
ユーザから要求された際の再解析の処理について、図13を用いて説明する。図13は、本開示の第1の実施形態に係る再解析処理を示す図(2)である。図13では、情報処理装置100が経年劣化に関する再解析を行った際に、ユーザに呈示される情報の一例を示す。
【0132】
例えば、情報処理装置100は、経年劣化に関する再解析を要求された場合、実行結果データ71等に示される物体の把持結果や他の物体の把持結果と、日付に関するデータとの相関性を算出する。そして、情報処理装置100は、種々の物体と、物体の把持結果と日付の相関性とを示す情報76をユーザに呈示する。本開示では、把持結果と任意のデータとの相関性を示す指標値をαという変数で示す。相関値αは、例えば、0から1までの数値であり、1に近付くほど相関性が高いことを示す。
【0133】
また、情報処理装置100は、ハードウェアの動作結果から得られた数値と、算出した相関性との関係を示したグラフ77等をユーザに呈示してもよい。図13の例では、情報処理装置100は、ハードウェアの動作(アクション)のうち指の開き具合と、把持結果を示す相関性との関係を示したグラフ77を呈示する。これにより、ユーザは、経年劣化の傾向(例えば、稼働時間が長いほど把持に失敗する傾向にある等)や、経年の利用によってどのような部位に支障が出ているかといった、種々の情報を知得することができる。
【0134】
また、情報処理装置100は、上記のような再解析の結果に関する呈示情報を生成してもよい。例えば、情報処理装置100は、「指の開き具合によって経年劣化の傾向があるようです。指の開閉を行うモータのチェックをお勧めします。」といった、ユーザにチェック項目を呈示するメッセージ78を生成する。
【0135】
次に、図14を用いて、情報処理装置100が実行する再解析処理の詳細について説明する。図14は、本開示の第1の実施形態に係る再解析処理を示す図(3)である。図14では、情報処理装置100が再解析を行い、さらに、再解析に基づいた呈示情報を生成する処理の流れについて説明する。
【0136】
図14に示すように、情報処理装置100は、学習データ群を参照し、所定の処理の結果と、各学習データが含むデータとの相関性を算出する(ステップS41)。そして、情報処理装置100は、所定の処理の結果と、各学習データが含むデータとの相関性(相関値α)との関係を示す表80を生成する。
【0137】
なお、相関値αは、例えば所定のAPI(Application Programming Interface)を組み込み、APIを実行することにより算出される。例えば、情報処理装置100は、APIを実行し、学習データ群(及び実行結果データ群)を入力の特徴量に基づいてクラスタリングする。すなわち、情報処理装置100は、類似度の高い入力データ(図14の例では物体の形状)をまとめる。そして、情報処理装置100は、クラスタリングされた類似物体ごとに統計処理を行うことにより、環境情報等の個々のデータと、付与されたラベルとの相関性を示す相関値αを算出する。
【0138】
そして、情報処理装置100は、相関値αが所定の閾値を超える場合(例えば、α>0.5など)、当該データが処理結果に与える影響が大きいと判定して、ユーザにその旨を呈示するための情報を生成する。
【0139】
例えば、図14に示した例では、気温や湿度等の情報のうち、個体IDと成功率との相関値αが閾値を超える。このため、情報処理装置100は、個体IDが処理結果に与える影響が大きいと判定し、個体IDに関する呈示情報を生成することを決定する(ステップS42)。
【0140】
例えば、情報処理装置100は、複数のルールが規定された文章データベース124やグラフデータベース125に対して、所定の変数を入力することにより、ユーザに呈示する呈示情報を生成する。
【0141】
図14の例では、情報処理装置100は、変数「相関対象」が「個体ID」であるとか、変数「相関対象数」が「1」であるといった種々の情報を文章データベース124に入力する(ステップS43)。例えば、文章データベース124内には、メッセージ81のように、いくつかの変数の入力箇所(図14では「相関対象」や「失敗個体ID」等)が空欄であるメッセージが保持される。情報処理装置100は、これらの入力箇所に変数の値を入力することにより、ユーザに呈示することが可能なメッセージを取得する(ステップS44)。
【0142】
同様に、情報処理装置100は、変数の値をグラフデータベース125に入力する(ステップS45)。これにより、情報処理装置100は、変数の値に基づいて生成されたグラフ82等を取得する(ステップS46)。かかる処理により、情報処理装置100は、呈示情報を生成する(ステップS47)。
【0143】
このように、情報処理装置100は、蓄積された学習データ群に対して再解析を行うことにより、処理結果の失敗要因と相関性のあるデータや、ユーザが採りうる対応等を適切に提示することができる。ユーザは、呈示された情報に基づいて、学習データを修正したり、ハードウェアのチェックを行ったりすることができる。
【0144】
次に、図15を用いて、情報処理システム1全体における情報処理の流れを説明する。図15は、本開示の第1の実施形態に係る情報処理の流れを示すシーケンス図である。
【0145】
まず、把持ロボット2は、学習モデルに基づき所定の処理を実行する(ステップS101)。そして、把持ロボット2は、処理の実行結果や、実行時の環境情報等の種々の情報を情報処理装置100に送信する(ステップS102)。
【0146】
情報処理装置100は、実行時の入力データ等に類似するデータを抽出する(ステップS103)。続けて、情報処理装置100は、抽出したデータをユーザ端末10に呈示(送信)する(ステップS104)。
【0147】
ユーザ端末10は、呈示された情報を表示する(ステップS105)。また、ユーザ端末10は、表示された情報を閲覧したユーザから、再解析の要求を受け付ける(ステップS106)。ユーザ端末10は、ユーザから受け付けた要求に従い、情報の再解析を情報処理装置100に要求する(ステップS107)。
【0148】
情報処理装置100は、要求に応じた再解析を実行する(ステップS108)。そして、情報処理装置100は、再解析した情報をユーザ端末10に呈示する(ステップS109)。
【0149】
ユーザ端末10は、再解析の情報を閲覧したユーザから、学習データの更新(削除)の要求等を受け付ける(ステップS110)。ユーザ端末10は、ユーザから受け付けた要求に従い、学習データの更新等の要求を情報処理装置100に送信する(ステップS111)。
【0150】
情報処理装置100は、学習データを更新したのち、更新後の学習データでの再学習を行い、学習モデルを更新する(ステップS112)。そして、情報処理装置100は、更新された学習モデルに基づいて、ハードウェアを更新する(ステップS113)。
【0151】
なお、上記の処理の流れは一例を示したものであり、情報処理システム1による処理は、必ずしも図15の流れに沿って行われるのではなく、種々に変更されてもよい。例えば、ユーザは、ステップS105ののちに学習データの更新を要求してもよいし、ハードウェアの更新についてユーザ端末10を介して行ってもよい。
【0152】
[1-5.第1の実施形態の変形例]
上述した第1の実施形態に係る処理は、種々の異なる形態(変形例)にて実施されてよい。
【0153】
例えば、情報処理装置100は、入力データとして、1枚の画像データを呈示するのではなく、複数の入力データを呈示してもよい。この点について、図16を用いて説明する。図16は、第1の実施形態の変形例に係る情報処理の一例を示す図(1)である。
【0154】
図16では、情報処理装置100が、入力データとして、物体の画像の正面及び横向きの画像をユーザに呈示する例を示す。図16に示すように、ユーザは、物体の正面から撮像された画像85に加えて、物体の横向きから撮像された画像86を閲覧することができる。これにより、ユーザは、把持ロボット2が把持した点を多角的な視点から確認することができる。なお、図16での図示は省略しているが、情報処理装置100は、画像85及び画像86とともに、画像85及び画像86と類似する入力データを有する学習データを呈示してもよい。
【0155】
また、図16では、情報処理装置100が、入力データとして、物体の画像のRGB画像及び硬度画像をユーザに呈示する例を示す。図16に示すように、ユーザは、通常の色調で物体が撮像された画像85に加えて、物体の硬度を測るセンサを介して取得された画像87を閲覧することができる。これにより、ユーザは、把持ロボット2が把持した点を確認するとともに、物体がどのような硬度を有するか、あるいは、どのような硬度を有する箇所を把持することが適切であったか、といった分析を行うことができる。なお、図16での図示は省略しているが、情報処理装置100は、画像85及び画像87とともに、画像85及び画像87と類似する入力データを有する学習データを呈示してもよい。この場合、画像87に類似する入力データとは、物体を構成する要素の硬度が類似する物体であってもよい。なお、情報処理装置100は、硬度を示す画像等に限らず、物体の深度画像等を取得してもよい。
【0156】
また、情報処理装置100は、出力データとして、把持点のみを呈示するのではなく、把持の方向や動作履歴等を呈示してもよい。この点について、図17を用いて説明する。図17は、第1の実施形態の変形例に係る情報処理の一例を示す図(2)である。
【0157】
図17では、情報処理装置100が、把持ロボット2が物体を把持した軌跡を出力データとして有する実行データ88をユーザに呈示する例を示す。また、情報処理装置100は、把持ロボット2が物体を把持する動作履歴を時系列で記憶したデータを出力データとして有する実行データ89をユーザに呈示してもよい。
【0158】
このように、情報処理装置100は、出力データとして、ある瞬間の出力値のみを呈示するのみならず、ハードウェアの動作に基づき得られる出力データを時系列で捉えたデータをユーザに呈示してもよい。これにより、ユーザは、ハードウェアがどのような動作を行ったかをより的確に把握することができる。なお、情報処理装置100は、出力データとして、2次元の動作履歴のみならず、3次元の動作履歴等を取得してもよい。
【0159】
また、第1の実施形態では、把持ロボット2に取り付けられたカメラ等のセンサに基づいて入力データが生成される例を示した。しかし、入力データは、種々の手法によって生成されてもよい。
【0160】
例えば、入力データは、ユーザ自らが把持ロボット2の動作を撮像して生成してもよい。また、入力データは、把持ロボット2とは異なるロボットが自動的に収集したデータに基づいて生成されてもよい。
【0161】
また、第1の実施形態では、情報処理装置100が環境情報として温度や湿度等のデータを取得する例を示した。しかし、情報処理装置100は、環境情報として、光度(明るさの度合い)や、動作が実行された時間帯や、処理が実行された際の高度等、種々のデータを取得してもよい。また、情報処理装置100は、取得した種々のデータと処理結果との相関性を解析してもよい。
【0162】
(2.第2の実施形態)
次に、第2の実施形態について説明する。第1の実施形態では、情報処理装置100が把持ロボット2の把持処理における入力データと、学習データ等に含まれる入力データとの類似度を算出する例を示した。しかし、情報処理装置100は、把持処理に限らず、種々の処理において、上記のような類似度を算出する処理を行ってもよい。この点について、図18及び図19を用いて説明する。
【0163】
図18は、本開示の第2の実施形態に係る情報処理の概要を示す図(1)である。図18では、情報処理装置100が、音声の自動応答に関するモデルを生成し、かかるモデルに入力された音声に対する応答を行う例を示す。なお、図18での図示は省略するが、第2の実施形態に係るハードウェアは、例えば、音声の自動応答を行う、いわゆるスマートスピーカー等である。
【0164】
図18に示す例では、ユーザがハードウェアに対して「ちばくん、げんき?」といった音声90を入力し、入力した音声90に対して、「明日の関東の天気は・・・」といった応答が行われたことを示す。この場合、ユーザは、ユーザ端末10を介して、所望する応答が得られなかった旨を情報処理装置100に送信する。情報処理装置100は、かかる情報を受信し、第1の入力データ(図18の例では、「ちばくん、げんき?」という音声波形を有する音声90)に類似する学習データを抽出する。
【0165】
例えば、情報処理装置100は、第1の実施形態と同様、各学習データが含む入力データの特徴量と、第1の入力データの特徴量との類似度を算出する。そして、情報処理装置100は、例えば算出された類似度の高い入力データを含む学習データを抽出する。
【0166】
図18の例では、情報処理装置100は、第1の入力データと類似する(例えば類似度が0.80以上の)複数の学習データを含んだ学習データ群91を抽出し、ユーザに呈示するものとする。ユーザは、呈示された学習データ群91の各入力データを参照することで、例えば、「ちばくん」という発話が「千葉県」と誤って認識されていたことや、「げんき?」という発話が「天気」と誤って認識されていたこと等を推測することができる。
【0167】
また、情報処理装置100は、過去の実行データや学習データのラベルやその他の環境情報とともに類似するデータを呈示することで、より有用な情報をユーザに提供することもできる。この点について、図19を用いて説明する。
【0168】
図19は、本開示の第2の実施形態に係る情報処理の概要を示す図(2)である。図19では、情報処理装置100が、ユーザの「よこはまのてんきは?」という音声92に対して、類似する学習データ群93を抽出した例を示す。
【0169】
ユーザは、「よこはまのてんきは?」という音声92に対して、「明日の広島の天気は・・・」という応答がハードウェアから得られた場合に、その応答が失敗であるとして、ラベル「応答失敗」を付与する。情報処理装置100は、ラベル「応答失敗」が付与されたことを契機として、第1の入力データに類似する入力データを抽出する処理を開始する。
【0170】
図19の例では、情報処理装置100は、学習データ群93を抽出し、ユーザに呈示するものとする。図19に示すように、学習データ群93が含む各データは、ラベルや、発話者の属性情報(性別や年齢等)を有する。
【0171】
ユーザは、呈示された学習データ群93を参照することで、例えば、「よこはま」という発話が「ひろしま」や「かごしま」と誤って認識されていたこと等を推測することができる。
【0172】
また、情報処理装置100は、第1の実施形態と同様、ラベルと環境情報との相関性を算出し、算出した情報に基づいて呈示情報を生成してもよい。例えば、情報処理装置100は、所定の統計処理により、学習データ群93の各データに付与されたラベルと、各データの環境情報との相関性を算出する。図19の例では、情報処理装置100は、第1の入力データと類似するデータ群(学習データ群93)において、ラベル(応答の成功率)と、発話者の性別に有意な相関があると判定したものとする。
【0173】
この場合、情報処理装置100は、「発話者の性別と成功率の相関が強いです。男性発話者の場合に失敗の傾向が見られます。」といった、ラベルと性別との相関性を伝達するメッセージ94を生成し、ユーザに呈示する。あるいは、情報処理装置100は、ラベルと性別との相関性を示すグラフ95を生成し、ユーザに呈示してもよい。
【0174】
以上のように、情報処理装置100は、所定の処理においてログを有する事象について、第1の実施形態と同様、類似する入力データを抽出して呈示する処理を実行することができる。すなわち、情報処理装置100は、把持処理に限らず、音声応答処理等、機械学習が利用される様々な分野において、ユーザに有用な情報を呈示することができる。
【0175】
なお、第2の実施形態において、情報処理装置100は、ユーザの性別や年齢等に限らず、発話が行われた場所や、発話者の出身地域や、発話者とハードウェアとの距離や、発話者の顔の向きや、特徴量やLOSSなど、種々のデータを用いて呈示情報を生成してもよい。
【0176】
(3.その他の実施形態)
上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態にて実施されてよい。
【0177】
例えば、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0178】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0179】
また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0180】
また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
【0181】
(4.ハードウェア構成)
上述してきた各実施形態に係る情報処理装置100、把持ロボット2、ユーザ端末10等の情報機器は、例えば図20に示すような構成のコンピュータ1000によって実現される。以下、第1の実施形態に係る情報処理装置100を例に挙げて説明する。図20は、情報処理装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
【0182】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
【0183】
ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0184】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
【0185】
通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
【0186】
入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0187】
例えば、コンピュータ1000が第1の実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた情報処理プログラムを実行することにより、制御部130等の機能を実現する。また、HDD1400には、本開示に係る情報処理プログラムや、記憶部120内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
【0188】
なお、本技術は以下のような構成も取ることができる。
(1)
入力データに対して出力データを得る所定の処理において、第1の出力データを得た際に入力された第1の入力データを取得する取得部と、
前記取得部によって取得された第1の入力データと、前記所定の処理が過去に実行された際の入力データの履歴である入力履歴データの各々との類似度に基づいて、当該入力履歴データから当該第1の入力データと関連する第2の入力データを抽出する抽出部と、
前記抽出部によって抽出された前記第2の入力データを呈示する呈示部と、
を備えた情報処理装置。
(2)
前記抽出部は、
前記第1の出力データと類似する出力結果を得た入力履歴データを前記第2の入力データとして抽出する
前記(1)に記載の情報処理装置。
(3)
前記抽出部は、
前記第1の出力データと類似する出力結果を得た入力履歴データと、当該第1の出力データと非類似の出力結果を得た入力履歴データとの複数のデータを、前記第2の入力データとして抽出する
前記(1)又は(2)に記載の情報処理装置。
(4)
前記抽出部は、
前記入力履歴データのうち、前記第1の入力データとの類似度が高いデータから優先的に前記第2の入力データとして抽出する
前記(1)~(3)のいずれかに記載の情報処理装置。
(5)
前記取得部は、
前記第1の出力データを得た際の前記所定の処理における環境情報を含む前記第1の入力データを取得し、
前記抽出部は、
前記環境情報を含む前記第2の入力データを抽出し、
前記呈示部は、
前記環境情報とともに前記第2の入力データを呈示する
前記(1)~(4)のいずれかに記載の情報処理装置。
(6)
前記取得部は、
前記環境情報として温度又は湿度を取得し、
前記呈示部は、
前記第2の入力データとともに、前記第2の入力データに対して前記所定の処理が実行された場合の温度又は湿度を呈示する
前記(5)に記載の情報処理装置。
(7)
前記取得部は、
前記所定の処理における結果を示したラベルが付与された前記第1の入力データを取得し、
前記抽出部は、
前記第1の入力データに付与されたラベルが予め指定された所定の結果である場合に、当該第1の入力データと関連する第2の入力データを抽出する
前記(1)~(6)のいずれかに記載の情報処理装置。
(8)
前記取得部は、
前記所定の処理における結果を示したラベルが付与された前記第1の入力データを取得し、
前記抽出部は、
前記第1の入力データと、前記ラベルが付与された入力履歴データとの類似度に基づいて、当該ラベルが付与された前記第2の入力データを抽出し、
前記呈示部は、
前記第2の入力データとともに、当該第2の入力データに付与されたラベルを呈示する
前記(1)~(7)のいずれかに記載の情報処理装置。
(9)
前記呈示部は、
前記抽出部によって抽出された前記ラベルが付与された前記第2の入力データに基づいて、前記ラベルと、当該第2の入力データが含む変数との相関性に関する情報を呈示する
前記(8)に記載の情報処理装置。
(10)
前記取得部は、
所定の学習モデルから前記第1の出力データを得た際に入力された前記第1の入力データを取得し、
前記抽出部は、
前記第1の入力データと、前記学習モデルの生成に用いられた学習データとの類似度に基づいて、当該学習データから前記第2の入力データを抽出する
前記(1)~(9)のいずれかに記載の情報処理装置。
(11)
前記呈示部は、
前記抽出部によって抽出された前記第2の入力データとともに、当該第2の入力データが前記学習モデルの学習に与える影響を示す指標値を呈示する
前記(10)に記載の情報処理装置。
(12)
前記取得部は、
前記所定の処理における結果を示したラベルが付与された前記第1の入力データを取得し、
前記抽出部は、
前記第1の入力データと、前記ラベルが付与された学習データとの類似度に基づいて、当該ラベルが付与された前記第2の入力データを抽出する
前記(10)又は(11)に記載の情報処理装置。
(13)
前記抽出部によって抽出された前記第2の入力データのうち、前記第1の入力データと反するラベルが付与されたデータを学習データから削除し、削除後の学習データを用いて前記学習モデルを更新する更新部
をさらに備えた前記(12)に記載の情報処理装置。
(14)
前記抽出部は、
複数の前記第2の入力データに対応付けられた変数に基づいて、当該複数の第2の入力データを統計的に分類し、
前記呈示部は、
前記抽出部によって分類された複数の前記第2の入力データを呈示する
前記(1)~(13)のいずれかに記載の情報処理装置。
(15)
コンピュータが、
入力データに対して出力データを得る所定の処理において、第1の出力データを得た際に入力された第1の入力データを取得し、
取得された第1の入力データと、前記所定の処理が過去に実行された際の入力データの履歴である入力履歴データの各々との類似度に基づいて、当該入力履歴データから当該第1の入力データと関連する第2の入力データを抽出し、
抽出された前記第2の入力データを呈示する
情報処理方法。
(16)
コンピュータを、
入力データに対して出力データを得る所定の処理において、第1の出力データを得た際に入力された第1の入力データを取得する取得部と、
前記取得部によって取得された第1の入力データと、前記所定の処理が過去に実行された際の入力データの履歴である入力履歴データの各々との類似度に基づいて、当該入力履歴データから当該第1の入力データと関連する第2の入力データを抽出する抽出部と、
前記抽出部によって抽出された前記第2の入力データを呈示する呈示部と、
として機能させるための情報処理プログラム。
【符号の説明】
【0189】
1 情報処理システム
2 把持ロボット
10 ユーザ端末
100 情報処理装置
110 通信部
120 記憶部
121 学習データ記憶部
122 実行結果記憶部
123 呈示情報記憶部
124 文章データベース
125 グラフデータベース
130 制御部
131 学習部
132 取得部
133 解析部
134 抽出部
135 呈示部
136 更新部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20