(57)【要約】  本開示は、ロボットを制御する方法、装置、システム及びプログラム、並びに記憶媒体に関する。前記方法は、外部メモリに接続されたニューラルネットワークを使用してロボットの制御を行い、学習されたニューラルネットワークに入力データを入力して出力データを取得し、ここで入力データが対象に関する画像を含み、出力データがロボットに関する制御データを含むことと、演算中にニューラルネットワークによって生成された情報の一部又は全部と、入力データ及び／又は出力データとの間の関連を確立し、ここで情報の一部又は全部が制御データに関連する対象の特徴を表すことと、を含む。これにより、ユーザはニューラルネットワークの演算過程を把握することができる。【選択図】  図２
2021515705.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを制御する方法であって、外部メモリに接続されたニューラルネットワークを使用して前記ロボットの制御を行い、前記方法は、
学習されたニューラルネットワークに入力データを入力して、前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは対象に関する画像を含み、前記出力データは前記ロボットに関する制御データを含み、前記ロボットは前記制御データに基づいて前記対象を制御することと、
前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記情報の一部又は全部を前記外部メモリに記録し、前記情報の一部又は全部は、前記制御データに関連する前記対象の特徴を表すことと
を含むことを特徴とする方法。
【請求項２】
前記情報の一部又は全部と、前記入力データ及び／又は前記出力データとの間の関連を確立することは、
各入力データとそれらに対応する情報との間の関連を確立することと、
各入力データのクラスとその入力データのクラスに対応する情報との間の関連を確立することと、
各情報のクラスと、その情報のクラスに対応する入力データとの間の関連を確立することと、
の少なくとも１つを含む請求項１に記載の方法。
【請求項３】
前記外部メモリに前記情報の一部又は全部を記録することは、
特定のデータ構造に基づいて前記入力データと前記情報の両方を保存することと、
前記情報と前記関連を保存することと、
前記情報を処理及び保存することと、
を含む請求項１に記載の方法。
【請求項４】
前記情報の一部又は全部と前記入力データとの相関を演算することと、
第１方式で、第１相関を有する情報及び／又は前記第１相関を有する情報との関連を有する入力データを表すことによって、並びに第２方式で、第２相関を有する情報及び／又は前記第２相関を有する情報との関連を有する前記入力データを表すことによって関連を視覚化することと、
を更に含み、前記第１方式は前記第２方式とは異なり、前記第１相関は前記第２相関とは異なる請求項１に記載の方法。
【請求項５】
前記情報の一部又は全部の使用頻度に基づいて前記情報の一部又は全部の重要度を演算することと、
第１重要度を有する前記情報及び／又は前記第１重要度を有する前記情報との関連を有する前記入力データを第１方式で表すことにより、並びに第２重要度を有する前記情報及び／又は前記第２重要度を有する前記情報との関連を有する前記入力データを第２方式で表すことにより、関連を視覚化することと、を更に含み、前記第１方式は、前記第２方式と異なり、前記第１重要度は、前記第２重要度と異なる請求項１に記載の方法。
【請求項６】
前記第１方式で表された前記情報及び前記第２方式で表された前記情報のうちの少なくとも１つをユーザに通知することを更に含む、請求項４又は５に記載の方法。
【請求項７】
前記第１方式で表された前記情報及び前記第２方式で表された前記情報のうちの１つを削除又は無効化することと、
前記第１方式で表された前記情報及び前記第２方式で表された前記情報のうちの１つを所定のデータで上書きすることと、
前記外部メモリに、前記第１方式で表された前記情報及び前記第２方式で表された前記情報の少なくとも１つと異なる情報を保存することと、
を更に含む請求項４又は５に記載の方法。
【請求項８】
前記ニューラルネットワークに再学習させることを更に含む請求項７に記載の方法。
【請求項９】
外部メモリに接続されたニューラルネットワークを使用して画像認識を行う画像認識方法であって、前記方法は、
入力データを学習されたニューラルネットワークに入力して前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは、対象に関する画像を含み、前記出力データは、前記対象の属性を表すことと、
前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記情報の一部又は全部を前記外部メモリに記録し、前記情報の一部又は全部は、前記属性に関連する前記対象の特徴を表すことを含むことを特徴とする方法。
【請求項１０】
入力データを学習されたニューラルネットワークに入力して、前記ニューラルネットワークによる演算を通じて出力データを取得することと、
前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記ニューラルネットワークに接続された外部メモリに前記情報の一部又は全部を記録することと、
を含むことを特徴とする情報処理方法。
【請求項１１】
ロボットを制御する装置であって、
外部メモリと、
ニューラルネットワークであり、前記外部メモリに接続され、入力データが学習されたニューラルネットワークに入力され、前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは対象に関する画像を含み、前記出力データは前記ロボットに関する制御データを含み、前記ロボットは、前記制御データに基づいて前記対象を制御するニューラルネットワークと、
前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記情報の一部又は全部を前記外部メモリに記録し、前記情報の一部又は全部は、前記制御データに関連する前記対象の特徴を表す関連付け部と、
を含むことを特徴とする装置。
【請求項１２】
前記情報の一部又は全部と前記入力データとの相関を演算する演算部と、
第１方式で、第１相関を有する情報及び／又は前記第１相関を有する情報との関連を有する入力データを表すことによって、並びに第２方式で、第２相関を有する情報及び／又は前記第２相関を有する情報との関連を有する前記入力データを表すことによって関連を視覚化する可視化部と、
を更に含み、前記第１方式は前記第２方式と異なり、前記第１相関は前記第２相関と異なる、請求項１１に記載の装置。
【請求項１３】
前記情報の一部又は全部の使用頻度に基づいて前記情報の一部又は全部の重要度を演算する演算部と、
第１重要度を有する前記情報及び／又は前記第１重要度を有する前記情報との関連を有する前記入力データを第１方式で表すことにより、並びに第２重要度を有する前記情報及び／又は前記第２重要度を有する前記情報との関連を有する前記入力データを第２方式で表すことにより、関連を視覚化する可視化部と、を更に含み、前記第１方式は、前記第２方式と異なり、前記第１重要度は、前記第２重要度と異なる、請求項１１に記載の装置。
【請求項１４】
画像認識のための装置であって、
外部メモリと、
ニューラルネットワークであり、前記外部メモリに接続され、入力データが学習されたニューラルネットワークに入力され、前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは対象に関する画像を含み、前記出力データは対象の属性を表すニューラルネットワークと、
前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記情報の一部又は全部を前記外部メモリに記録し、前記情報の一部又は全部は、前記属性に関連する前記対象の特徴を表す関連付け部と、
を含むことを特徴とする装置。
【請求項１５】
情報処理のための装置であって、
外部メモリと、
ニューラルネットワークであり、前記外部メモリに接続され、入力データが学習されたニューラルネットワークに入力され、前記ニューラルネットワークによる演算を通じて出力データを取得するニューラルネットワークと、
前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記情報の一部又は全部を前記外部メモリに記録する関連付け部と、
を含むことを特徴とする装置。
【請求項１６】
請求項１〜８のいずれか一項に記載の方法を実行する処理ユニットを備えることを特徴とする、ロボットを制御するシステム。
【請求項１７】
実行されると、請求項１〜８のいずれか一項に記載の方法を実行することを特徴とする、ロボットを制御するプログラム
【請求項１８】
実行されると、請求項１〜１０のいずれか一項に記載の方法を実行するプログラムが記憶されていることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボットを制御する方法、装置、システム及びプログラム、並びに記憶媒体に関する。
【背景技術】
【０００２】
生産工学に基づいてロボットを制御するには、ニューラルネットワーク等を利用した人工知能技術を使用してロボットの制御を行うことが考えられる。所望の制御を実現するために、ニューラルネットワークは学習データに基づいて学習を行い、学習されたニューラルネットワークは対象の画像等の入力データに基づいて制御データを出力し、ロボットを制御して対象に所望の動作を行わせる。
【０００３】
また、製造工程での対象の属性、例えば、対象が良品か不良品かを示す属性を判定する必要があり、そのような判定は、ニューラルネットワーク等を利用して対象の画像認識を行う人工知能技術を用いて実現され得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、ロボットが意図しない動作を行った場合、学習されたニューラルネットワークが如何にしてそのような予期せぬ制御データを出力したかが、ユーザには不明である。ニューラルネットワークの演算過程はユーザに知られていないため、ロボットの制御を改善することができない。
【０００５】
本開示は、上述の問題の少なくともいくつかを解決するためになされた。
【課題を解決するための手段】
【０００６】
本開示の実施形態の一態様によれば、ロボットを制御する方法であって、外部メモリに接続されたニューラルネットワークを使用して前記ロボットの制御を行い、前記方法は、学習されたニューラルネットワークに入力データを入力して、前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは対象に関する画像を含み、前記出力データは前記ロボットに関する制御データを含み、前記ロボットは前記制御データに基づいて前記対象を制御することと、前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記情報の一部又は全部を前記外部メモリに記録し、前記情報の一部又は全部は、前記制御データに関連する前記対象の特徴を表すこととを含むことを特徴とする方法が提供される。
【０００７】
前記情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立することにより、中間層（中間データ）のデータと対応する入力データ及び／又は前記出力データとの間の対応関係を知ることができ、更なる操作のために、ユーザがニューラルネットワークの中間層の情報を把握し、如何にしてニューラルネットワークがロボットを制御するのかを把握することができる。
【０００８】
ここで、前記情報の一部又は全部と、前記入力データ及び／又は前記出力データとの間の関連を確立することは、各入力データとそれらに対応する情報との間の関連を確立することと、各入力データのクラスとその入力データのクラスに対応する情報との間の関連を確立することと、各情報のクラスと、その情報のクラスに対応する入力データとの間の関連を確立することと、の少なくとも１つを含む。このように、同じ入力データのクラスの一般的情報又は同じ情報のクラスを知ることができ、それにより、同じ入力データのクラス又は同じ情報のクラスに対して操作を実行することができる。
【０００９】
ここで、前記外部メモリに前記情報の一部又は全部を記録することは、特定のデータ構造に基づいて前記入力データと前記情報の両方を保存することと、前記情報と前記関連を保存することと、前記情報を処理及び保存することと、を含む。
【００１０】
前記方法は、前記情報の一部又は全部と前記入力データとの相関を演算することと、第１方式で、第１相関を有する情報及び／又は前記第１相関を有する情報との関連を有する入力データを表すことによって、並びに第２方式で、第２相関を有する情報及び／又は前記第２相関を有する情報との関連を有する前記入力データを表すことによって関連を視覚化することと、を更に含むことができ、前記第１方式は前記第２方式とは異なり、前記第１相関は前記第２相関とは異なる。
【００１１】
前記方法は、前記情報の一部又は全部の使用頻度に基づいて前記情報の一部又は全部の重要度を演算することと、第１重要度を有する前記情報及び／又は前記第１重要度を有する前記情報との関連を有する前記入力データを第１方式で表すことにより、並びに第２重要度を有する前記情報及び／又は前記第２重要度を有する前記情報との関連を有する前記入力データを第２方式で表すことにより、関連を視覚化することと、を更に含むことができ、前記第１方式は、前記第２方式と異なり、前記第１重要度は、前記第２重要度と異なる。
【００１２】
このように、ユーザは、入力データ及び中間データ（前記情報の一部又は全部を含む）を、例えば、どの入力データから、予期しない中間データが引き起こされるかを直感的に知ることができる。結果として、ユーザは、可視結果に基づき、入力データ又は中間データを操作し、例えば、予期しない中間データを削除又は置換して、より良い出力結果を得ることができる。
【００１３】
前記方法は、前記第１方式で表された前記情報及び前記第２方式で表された前記情報のうちの少なくとも１つをユーザに通知することを更に含むことができる。
【００１４】
前記方法は、前記第１方式で表された前記情報及び前記第２方式で表された前記情報のうちの１つを削除又は無効化することと、前記第１方式で表された前記情報及び前記第２方式で表された前記情報のうちの１つを所定のデータで上書きすることと、前記外部メモリに、前記第１方式で表された前記情報及び前記第２方式で表された前記情報の少なくとも１つと異なる情報を保存することと、を更に含むことができる。
【００１５】
以上の操作により、ユーザは、内部メモリの内容を人為的に変更し、且つそれによりニューラルネットワークのメモリを変更し、予期する出力結果を得ることができる。
【００１６】
更に、前記方法は、前記ニューラルネットワークに再学習させることを更に含むことができる。
【００１７】
本開示の実施形態の一態様によれば、外部メモリに接続されたニューラルネットワークを使用して画像認識を行う画像認識方法であって、前記方法は、入力データを学習されたニューラルネットワークに入力して前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは、対象に関する画像を含み、前記出力データは、前記対象の属性を表すことと、前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記情報の一部又は全部を前記外部メモリに記録し、前記情報の一部又は全部は、前記属性に関連する前記対象の特徴を表すことを含むことを特徴とする方法が提供される。
【００１８】
このように、生産プロセスで対象の属性を判別する必要がある場合（例えば、属性が、対象が良品か不良品かを示す場合）、そのような判別は、ニューラルネットワーク等を利用して対象の画像認識を行った人工知能技術を使用して実現することもできる。
【００１９】
前記情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立することにより、中間層（中間データ）のデータと対応する入力データ及び／又は前記出力データとの間の対応関係を知ることができ、更なる操作のために、ユーザがニューラルネットワークの中間層の情報を把握し、如何にしてニューラルネットワークが対象を認識するのかを把握することができる。
【００２０】
本開示の実施形態の一態様によれば、入力データを学習されたニューラルネットワークに入力して、前記ニューラルネットワークによる演算を通じて出力データを取得することと、前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記ニューラルネットワークに接続された外部メモリに前記情報の一部又は全部を記録することと、を含むことを特徴とする情報処理方法が提供される。
【００２１】
前記情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立することにより、中間層のデータと対応する入力データ及び／又は前記出力データとの間の対応関係を知ることができ、更なる操作のために、ユーザがニューラルネットワークの中間層の情報を把握し、学習後のニューラルネットワークの操作状況を把握することができる。例えば、外部メモリに保存されている中間データを変更する、即ち、ニューラルネットワークのメモリを変更することで、ニューラルネットワークの出力データを変更することができる。
【００２２】
本開示の実施形態の更に別の態様によれば、上記の方法を実現するための装置が更に提供される。 
【００２３】
本開示の実施形態の更に別の態様によれば、ロボットを制御するシステムが更に提供される。前記システムは、上記の方法を実行する処理ユニットを含むことができる。
【００２４】
本開示の実施形態の更に別の態様によれば、実行されると、上記の方法を実行するロボットを制御するプログラムが更に提供される。
【００２５】
本開示の実施形態の更に別の態様によれば、実行されると、上記の方法を実行するプログラムが保存された記憶媒体が更に提供される。
【発明の効果】
【００２６】
本開示の実施形態による方法、装置、ロボットを制御するシステム及びプログラム、画像認識のための方法、並びに記憶媒体により、更なる操作のために、ユーザは、中間層の情報を把握し、ニューラルネットワークの操作状況を把握することができる。例えば、ニューラルネットワークの予期しない出力データを訂正することができる。
【００２７】
また、外部メモリの内容を視覚化して明確にすることができる。別の例として、外部メモリの内容を操作して、学習状況を改善、又は出力結果を訂正することができる。
【図面の簡単な説明】
【００２８】
ここで説明される図面は、本開示の更なる理解を提供し、本開示の一部を構成するために使用される。本開示の概略的な実施形態及びその説明は、本開示を説明するために使用されるものであって、本開示に対する不適切な制限を構成するものではない。
【００２９】
【図１Ａ】本開示の実施形態によるロボットを制御するシステムのハードウェア構成を示すモード図である。
【図１Ｂ】本開示の実施形態によるロボットを制御するシステムのブロック図である。
【図２】ニューラルネットワークの学習フェーズで使用される本開示の実施形態による方法のフローチャートである。
【図３】ニューラルネットワークの学習フェーズで使用される本開示の実施形態による方法の結果を示す図である。
【図４】ニューラルネットワークの作業フェーズで使用される本開示の実施形態による方法のフローチャートである。
【図５】ニューラルネットワークの作業フェーズで使用される本開示の実施形態による方法の結果を示す図である。
【図６】本開示の別の実施形態によるロボットを制御するシステムのブロック図である。
【図７】本開示の別の実施形態によるロボットを制御するシステムのブロック図である。
【図８】本開示の実施形態による方法の一例のフローチャートである。
【図９】本開示の実施形態による方法の別の例のフローチャートである。
【図１０】本開示の実施形態による画像認識のための装置を示す概略図である。
【発明を実施するための形態】
【００３０】
当業者が本開示をよりよく理解できるようにするために、本開示の実施形態を以下で添付の図面を参照して明確かつ完全に説明する。当然、説明される実施形態は、本開示の実施形態の一部に過ぎず、実施形態の全てではない。本開示の実施形態に基づいて、如何なる創造的努力もなく当業者が得ることができる他の全ての実施形態は、本開示の保護範囲内に含まれるものとする。
【００３１】
近年、ニューラルネットワークのような機械学習モデルを用いた画像認識技術は、急速に開発が進められ、様々な技術分野で広く利用されている。機械学習モデルの動作モードを深く理解するために、本開示は、画像認識中の機械学習モデルの演算プロセスを検討する。本開示では、機械学習モデルの学習フェーズにおいて、学習プロセスで生成された学習データに対応する中間データを確認して、ニューラルネットワークの学習データ及びメモリ状況を知ることにより、学習データを処理することができ、例えば、より効率的な学習データを入力するか、非効率的な学習データを削除することができる。学習されたニューラルネットワークの作業フェーズでは、作業プロセスで生成された入力データや出力データに対応する中間データを確認して、ニューラルネットワークの作業状況を知り、中間データを修正することによって不適切な出力結果を訂正することもできる。
【００３２】
上記の中間データは、人間が便利に確認できるように処理及び視覚化されることができるため、機械学習技術と人間の判断の利点を組み合わせることができる。処理と視覚化には多くの方法があり、例えば、中間データをフィルタリングして分類することができ、中間データの異なるカテゴリを異なる色、異なる形、又は人々が注目できる他の様々な方式で表現することができ、従って、人々は、中間データの特定のクラスに注意を払うことができる。
【００３３】
本開示では、人々は、関心のある中間データを直接操作、例えば削除、上書き、無効化等して、ニューラルネットワークの学習又は作業プロセスを変更することができ、そのパフォーマンスを効率的に向上させ、望ましい学習又は作業結果を取得することができる。
【００３４】
先ず、本開示の一実施形態によるロボットを制御するシステム１００のハードウェア構造について説明する。
【００３５】
図１Ａは、本開示の一実施形態によるロボットを制御するシステム１００のハードウェア構造を示すモード図である。図１Ａに示すように、例えば、ロボットを制御するシステム１００は、汎用コンピュータアーキテクチャを備えた汎用コンピュータによって実装されることができる。ロボットを制御するシステム１００は、プロセッサ１１０、メインメモリ１１２、ストレージ１１４、入力インタフェース１１６、ディスプレイインタフェース１１８、及び通信インタフェース１２０を含む。これらのコンポーネントは、例えば内部バス１２２を介して相互に通信することができる。
【００３６】
プロセッサ１１０は、ストレージ１１４に保存されたプログラムをメインメモリ１１２上で展開して実行することで、後述する機能や処理を実現する。メインメモリ１１２は、揮発性メモリによって形成されることができ、プログラムを実行するためにプロセッサ１１０が必要とするワークメモリとして機能する。
【００３７】
入力インタフェース１１６は、マウスやキーボード等の入力部と接続されることができ、操作入力部を介してユーザから入力された指示を受け取る。
【００３８】
ディスプレイインタフェース１１８は、ディスプレイに接続されることができ、プログラムの実行時にプロセッサ１１０が生成した様々な処理結果をディスプレイに出力することができる。
【００３９】
通信インタフェース１２０は、ネットワーク２００を介してＰＬＣやデータベース装置等と通信するためのものである。
【００４０】
ストレージ１１４は、ロボットを制御するためのプログラム、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等のプログラムを保存することができ、それは、コンピュータを、ロボットを制御するシステム１００として用いることができる。
【００４１】
ストレージ１１４に保存されたロボットを制御するプログラムは、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）等の光記録媒体又はＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）メモリ等の半導体記録媒体によってロボットを制御するシステム１００に実装されることができる。或いは、ネットワーク上でサーバ装置等からダウンロードしてもよい。
【００４２】
本実施形態によるロボットを制御するプログラムは、他のプログラムと組み合わせて提供されてもよい。この場合、ロボットを制御するプログラム自体は、上記のように組み合わされた他のプログラムに含まれるモジュールを含まないが、他のプログラムと連携する。このように、本実施形態によるロボットを制御するプログラムは、他のプログラムと組み合わせることもできる。
【００４３】
図１Ａは、ロボットを制御するシステム１００を実現するために汎用コンピュータを使用する例を示すが、本開示は、これに限定するものではなく、その機能の全部又は一部は、ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）又はＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）等の専用回路によって実現されることができる。また、ロボットを制御するシステム１００の処理の一部は、ネットワークに接続された外部装置上で行われてもよい。
【００４４】
図１Ｂは、本開示の実施形態によるロボットを制御するシステムのブロック図である。図１Ｂに示すように、ロボットを制御するシステム１は、ニューラルネットワーク１０、メモリ部１６、及びメモリ処理部２０を含むことができる。ニューラルネットワーク１０は、機械学習モデルの生成に使用され、入力部１１、入力処理部１２、学習部１３、出力処理部１４及び出力部１５を含むことができる。メモリ部１６はニューラルネットワーク１０に電気的に接続される。或いは、メモリ部１６はニューラルネットワーク１０の一部であってもよい。ここで、メモリ部１６は、本開示における「外部メモリ」の一例である。メモリ処理部２０はメモリ部１６のメモリを処理するために使用され、関連付け部２１を含むことができる。
【００４５】
入力部１１は、学習データ又はニューラルネットワーク１０が作業フェーズ中に入力する入力データ等の生データの入力に使用される。学習データは、学習部１３の学習のために入力される。作業フェーズでは、学習した学習部１３による演算によって所望の出力データを取得するために入力データが入力される。学習データ及び入力データの例としては、例えば、生産ラインにおけるワークの画像データ等が挙げられる。学習データはラベルデータと統合することができ、ラベルデータはワークの属性、例えばワークが良品であるかどうかを表すことができる。一例として、出力データは、例えばロボットの制御データであることができ、ロボットは、ワークをつかむ又は置く等の制御データに基づいてワークを処理することができる。
【００４６】
入力処理部１２は、入力部１１から入力された生データを前処理するために使用される。例えば、生データをｎ次元のベクトル又は行列に変換することができる。変換の方法は特に限定せず、生データが学習部１３で処理可能なフォーマットに変換される限り、従来技術の様々な方式を適用することができる。
【００４７】
学習部１３は、入力処理部１２から受信した前処理済みの生データに基づいて学習し、学習された機械学習モデルを生成する。本開示では、ニューラルネットワークを例として説明を行ったが、学習部１３は他の機械学習方式で学習してもよい。
【００４８】
出力処理部１４は学習部１３の学習結果を最終的な出力の形に変換することができる。例えば、ロボットの制御の学習中に、出力処理部１４は学習部１３の学習結果をロボットコントローラが理解可能な制御命令に変換する。出力部１５は、出力処理部１４で処理された出力データを出力することに使用される。
【００４９】
メモリ部１６は、学習フェーズ及び／又は作業フェーズ中に学習部１３によって生成された中間データを保存するために使用され、従って、ニューラルネットワーク１０はメモリ機能を有することができる。言い換えれば、メモリ部１６の情報の一部又は全部は、学習部１３による学習又は操作によって生成される。中間データは、例えば、ニューラルネットワークの中間層の演算結果を含んでもよいし、学習データ又は入力データに対応するデータ（データは中間層の演算結果に基づいて生成されることができる）を含んでもよい。一例として、例えば、画像におけるワークのクラスの判定の学習中に、学習データ又は入力データが画像データである場合、学習データ又は入力データに対応するデータは、ワークの特徴データであることができる。例えば、特徴データは、「長方形」、「円」等を表すことができる。これらの特徴は、ロボットによる予期される制御のタイプに関連し、例えば、異なる形状のワークに対して異なる操作が実行される。
【００５０】
メモリ部１６は、関連が確立された後、情報の一部又は全部を保存することに使用することができる。例えば、図３を参照して以下に示される関連では、メモリ部１６は、学習データＬｉ及び中間データＭｉ（「ｉ」は、異なるメモリ空間を示す自然数である）の両方をリスト単位のデータ構造に保存することができる。エントリＥ３０、Ｅ３１はリストのエントリである。当然、メモリ部１６は、他の様々な既知のデータ構造に従って保存することもできる。各中間データＭｉを保存するために、メモリ部１６に複数のメモリスロットが存在することができる。例えば、メモリ部１６は、コンテントアドレッサブル又はインデックスアドレッサブルであることができる。
【００５１】
或いは、保存されるデータの量を減らすために、メモリ部１６は、中間データＭｉ及び中間データＭｉとそれに対応する学習データＬｉとの間の関連のみを保存することができる。関連は、リスト、ポインタ等で表すことができる。
【００５２】
或いは、メモリ部１６に保存されている中間データＭｉは、処理された中間データであることができる。例えば、Ｍｉを所定の規則に従って分類し、同じクラスのＭｉの値を同じ値に変更して保存することにより、ストレージ容量を更に削減し、その後の分析を簡略化する。
【００５３】
メモリ処理部２０は入力部１１から生データを受信するか、入力処理部１２から処理された生データを受信する。或いは、メモリ処理部２０は出力部１５から出力データを受信することができる。関連付け部２１は、生データ、処理された生データ、又は出力データと、メモリ部１６に記憶された情報の一部又は全部との間の関連を確立することができる。
【００５４】
関連付け部２１によって実行される操作を、図２を参照して以下で詳細に説明する。図２は、ニューラルネットワークの学習フェーズで使用される本開示の実施形態による方法のフローチャートである。 
【００５５】
図２に示すように、ステップＳ２０では、ニューラルネットワーク１０は学習データで学習される。このような学習は、様々な既知の機械学習方式で実行できる。また、ニューラルネットワーク１０は学習データとメモリ部１６に保存されたコンテンツの両方で学習することができる。
【００５６】
例えば、ロボットの制御の学習中に、学習データはワークの画像データを含むことができる。そして、各画像データに対して、例えば、「つかむ」、「置く」等のロボットの制御データを含むことができる対応したラベルデータがあり得る。また、ラベルデータは、ワークのクラス、ワークが不良品であるか否か等に関する情報を更に含むことができる。例えば、上記の学習用のニューラルネットワーク１０として、畳み込みニューラルネットワーク（ＣＮＮ）を用いることができ、損失関数を最適化することで畳み込みニューラルネットワークの出力データとラベルデータとの差を最小限にすることができる。
【００５７】
ステップＳ２２では、学習部１３による演算によって生成された情報の一部又は全部がメモリ部１６に記録される。情報の一部又は全部は、学習プロセス中に学習部１３によって生成されるメモリと同等である。メモリは、学習をスピードアップするために、後続の学習に使用することができる。更に、メモリを使用して、作業フェーズで推論、演繹、その他の操作を実行できるため、ニューラルネットワーク１０は分析機能だけでなく推論機能も有する。
【００５８】
ステップＳ２４では、関連付け部２１は、情報の一部又は全部と学習データの間の関連を確立する。
【００５９】
図３は、ニューラルネットワークの学習フェーズで使用される本開示の実施形態による方法の結果を示す図であり、関連の一例を示すものである。図３に示すように、Ｍｉ（ｉは自然数）は、情報の一部又は全部のエントリであり、中間データのエントリと見なすこともでき、ここでは、「中間データ」と総称する。
【００６０】
畳み込みニューラルネットワークの場合、Ｍｉは、例えば、特定の中間層によって出力された、輪郭や色等の特徴を反映するための特徴の３次元行列であり、後述するように、３次元行列は輪郭や色等の対応する特徴を反映するようにパターン化又はデジタル化されることができる。例えば、ニューラルネットワーク１０の特定の中間層の出力をメモリ部１６に直接保存するか、ワークの特徴を直接反映するデータに処理してから、メモリ部１６に保存することができる。
【００６１】
図３に示す関連では、リスト３０に示すように、各学習データＬ１、Ｌ２、Ｌ３、．．．と、それに対応する中間データＭ１、Ｍ２、Ｍ３、．．．の間に関連が確立される。このように、学習部１３の学習過程を把握するための様々な分析を簡便に行うことができる。 
【００６２】
別の例として、例えば、パイプライン上のロボットの学習中に、中間データＭ１、Ｍ２、Ｍ３、．．．が、例えば、ワークの形状特徴を表すことができる。ここで、良品であるワークの形状を円とすると、中間データＭ１は「楕円」に対応し、中間データＭ２は「円」に対応し、中間データＭ３は「楕円」に対応する等となる。従って、各学習データとそれに対応する中間データとの対応関係が適切であるか否かを人の目視により確認することができる。
【００６３】
具体的には、学習データＬ１に対応するラベルデータが「不良品」及び「ロボットがワークをつかんで不良品の箱に落とす」を含み、中間データＭ１が「円」ではなく「楕円」である場合、エントリＥ３０は望ましい結果である。別の例として、学習データＬ３に対応するラベルデータが「輸送経路から逸脱」及び「ロボットがワークをつかんで正しい輸送経路に置く」を含む場合、対応する中間データＭ３は「楕円」であるが、実際には輸送ルートからの逸脱するため、学習データＬ３に含まれる画像内のワークは半円のみを示し、従って、エントリＥ３１は望ましくない結果である。このような分析により、学習部１３がどのように学習し、学習データが学習に適しているかを詳細に知ることができる。
【００６４】
或いは、別の例として、学習データの各クラスと学習データのそのクラスに対応する情報との間の関連が確立されることもできる。具体的には、学習データを予め複数のカテゴリに分けることができる。例えば、学習中にワークの品質を検出する場合、学習データは、良品に対応する学習データの第１クラスと、不良品に対応する学習データの第２クラスに事前に分類されることができる。この時点で、中間データは「スクラッチ」、「色違い」等を表すことができる。このように、学習データの第１クラスに関して、対応する中間データの分布を知ることができ、それによって学習データの有効性を相応に向上させる。
【００６５】
或いは、中間データは、フィルタリングされ且つ分類されることもでき、中間データの各クラスと中間データのそのクラスに対応する学習データとの間の関連が確立されることもできる。このようにして、対応する学習データの分布を知ることができ、それによって学習データの有効性を相応に向上させる。
【００６６】
ニューラルネットワークの学習フェーズで使用される本開示の実施形態による方法の例を図２及び図３を参照して上で説明した。ニューラルネットワークの作業フェーズで使用される本開示の実施形態による方法の例を、図４を参照して以下に説明する。
【００６７】
図４は、ニューラルネットワークの作業フェーズで使用される本開示の実施形態による方法のフローチャートである。図４に示すように、ステップＳ４０では、学習されたニューラルネットワーク１０に入力データが入力され、ニューラルネットワーク１０による演算によって出力データが得られる。作業プロセスは、様々な既知の機械学習方式で実行することができる。
【００６８】
ステップＳ４２では、学習した学習部１３による演算によって生成された情報の一部又は全部がメモリ部１６に記録される。前記情報の一部又は全部は、入力データに基づいて、作業フェーズ中に学習部１３によって生成された中間データであることができる。
【００６９】
ステップＳ４４では、関連付け部２１は、情報の一部又は全部と、入力データ及び／又は出力データとの間の関連を確立する。図５は、ニューラルネットワークの作業フェーズで使用される本開示の実施形態による方法の結果を示す図であり、関連の例を示すものである。図５に示すように、例えば、リスト５０のエントリＥ５０で示すように、入力データＩｉ、中間データＭｉ及び出力データＯｉの間に１対１の関連が確立される。或いは、入力データＩｉと中間データＭｉとの間のみで関連を確立すること、又は中間データＭｉと出力データＯｉとの間のみで関連を確立することも可能である。或いは、１対１の関連を確立しないことも可能であるが、前述のように、入力データＩｉと中間データＭｉの各クラスとの間の関連、又は中間データＭｉの各クラスと出力データＯｉとの間の関連は、確立されることができる。
【００７０】
このような関連を確立することにより、ニューラルネットワーク１０の動作プロセスを知ることができる。作業プロセスに異常があった場合、中間の演算プロセスをたどり、簡便に訂正することができる。
【００７１】
例えば、良品／不良品の操作を行うパイプライン上のロボットの作業フェーズでは、学習されたニューラルネットワーク１０がワークの入力画像に応じた制御データを生成し、ロボットが制御データに基づいてワークを制御する。例えば、監視しているカメラが不良品の画像を撮像すると、ロボットはワークをつかんで不良品の箱に置き、輸送ルートから外れたワークを撮像すると、ロボットはワークをつかんで正しい輸送ルートに置く。この処理では、ニューラルネットワーク１０に入力されたワークの画像、ニューラルネットワーク１０の演算で生成された中間データ、ニューラルネットワーク１０で生成された制御データがメモリ部１６に保存される。
【００７２】
ワークに関する特定の回数の判定が実行された後、ニューラルネットワーク１０はすでにメモリ（メモリ部１６に保存されたコンテンツ）を有する。新しい画像を受信すると、ニューラルネットワーク１０は、新しい画像に対して演算を実行して新しい中間データを取得し、メモリ部１６から新しい中間データに対して最も高い評価を有する中間データを抽出し、最も高い評価を有するメモリ部１６に保存されている中間データに対応する出力データ（制御データ）に基づく新しい画像に関する制御データを生成する。例えば、記載された評価は、新しい中間データとの相関、及びメモリ部１６に保存された中間データの使用頻度等に基づいて決定されることができる。
【００７３】
従って、ニューラルネットワーク１０は分析機能を備えているだけでなく、既存のメモリに基づいて推論することもできる。
【００７４】
図６は、本開示の別の実施形態によるロボットを制御するシステムのブロック図である。図６に示すロボットを制御するシステム２は、メモリ処理部６０及びインタフェース部７０において、図１Ｂに示すロボットを制御するシステム１と異なる。図６では、図１Ｂの部材と同じ部材は同じ参照符号で示され、その詳細はここでは再び説明しない。
【００７５】
図６に示すように、メモリ処理部６０は関連付け部６１、演算部６２及び可視化部６３を含むことができる。関連付け部６１は、上述の関連付け部２１と同じ構成を有することができ、その詳細はここでは再度説明しない。
【００７６】
演算部６２は中間データＭｉに基づいて様々な演算を実行することができる。可視化部６３は、ユーザの参照用に演算部６２の演算結果に基づいて視覚化結果を生成することができる。尚、ここでいう「可視化」とは、テキスト、画像、アニメーション等、人間の目で認識可能な内容に限らず、プロンプト音等、人間の感覚で認識可能なものであってもよい。
【００７７】
一例として、演算部６２は、中間データＭｉとそれに対応する入力データＬｉとの相関を演算することができる。或いは、中間データＭｉと出力データＯｉとの相関も演算することができる。例えば、学習されたニューラルネットワークを使用してロボットに制御データを発行し、良好なワークと不良なワークを選択する時、中間データＭｉは「スクラッチ」、「色違い」、「スクラッチなし」、「色違いなし」等を表すことができる。この場合、「スクラッチ」（不良なワーク）を表す中間データＭｉと対応する出力データＯｉの「非良品の箱にそれをつかんで置く」の相関が大きいのに対し、「スクラッチなし」を表す中間データＭｉと対応する出力データＯｉの「不良品の箱にそれをつかんで置く」の相関が小さい。相関を演算する具体的方法として、例えば、Ｍｉが３次元行列である場合、出力データＯｉを表す行列とＭｉとの積に基づいて相関を演算することができる。
【００７８】
可視化部６３は、演算部６２で演算された相関データに基づいて、異なる相関を有する中間データＭｉを異なる方式で表すことができる。例えば、第１閾値未満の相関を有する中間データＭｉは、ディスプレイ上で赤色として表示されることができ、第２閾値を超える相関を有する中間データＭｉは、ディスプレイ上で緑色として表示されることができる。ここで、第２閾値は第１閾値よりも大きい。これにより、ユーザはニューラルネットワーク１０の操作を直感的に知ることができる。可視化部６３が、異なる相関を有する中間データＭｉを表す方式は、異なる相関の度合いを有する中間データＭｉをユーザが知ることができる限り、特に限定するものではない。
【００７９】
別の例として、演算部６２は、中間データＭｉの使用頻度に基づいて中間データＭｉの重要度を演算することができる。例えば、学習されたニューラルネットワーク１０を使用してロボットに制御データを発行し、良好なワークと不良なワークを選択する時、中間データＭｉは「スクラッチ」、「色違い」、「スクラッチなし」、「色違いなし」等を表すことができる。上述したように、ニューラルネットワーク１０は、メモリ部１６に保存されたこれらの中間データＭｉを使用して、新しい画像に関する出力データを出力する。使用頻度の低い中間データＭｉはディスプレイに赤色で表示され、使用頻度の高い中間データＭｉはディスプレイに緑色で表示される。このようにして、ユーザは中間データＭｉの使用状況を直感的に知ることができ、不良品が有する問題（例えば、サイズの割に多くのスクラッチがある問題）について知ることができる。
【００８０】
インタフェース部７０は、ユーザの注意を引くために様々な方法で表された中間データＭｉの少なくとも１つをユーザに通知することに使用される。図６では、インタフェース部７０はメモリ処理部６０とは別の個別の部品として示されているが、インタフェース部７０をメモリ処理部６０に含めることもできる。インタフェース部の一例としては、ディスプレイやスピーカー等であることができる。
【００８１】
図７は、本開示の更に別の実施形態によるロボットを制御するシステムのブロック図である。図７に示すロボットを制御するシステム３は、メモリ処理部６０、インタフェース部７０、及び操作部８０において図１Ｂに示すロボットを制御するシステム１と異なる。図７では、図１Ｂ及び図６と同じ部分は同じ参照符号で示され、それらの詳細はここでは再び説明しない。
【００８２】
図７に示すように、メモリ処理部６０は操作部８０に接続される。操作部８０は、メモリ処理部６０によってメモリ部１６内の中間データに対して追加、削除、無効化等の操作を実行するために使用される。図７では、操作部８０はメモリ処理部６０とは別の個別の部品として示されるが、操作部８０をメモリ処理部６０に含めることもできる。
【００８３】
操作部８０によって実行される操作の例として、インタフェース部７０によって出力された視覚化されたコンテンツに基づいて操作部８０を介して、ユーザは、メモリ部１６に保存され、特定方式で表される中間データを削除又は無効化することができ、又は所定のデータでメモリ部１６に保存され、特定方式で表された中間データを上書きするか、所定のデータをメモリ部１６に書き込むことができ、所定のデータは、特定方式で表される中間と異なる。このようにメモリ部１６のメモリ内容を直接変更し、メモリ部１６のメモリ内容をニューラルネットワーク１０の動作に使用することにより、ニューラルネットワーク１０の動作プロセスは、人為的に影響を与えられてより良い動作結果（又は出力データ）を得ることができる。
【００８４】
操作部８０によって実行される操作の例を、図８及び図９を参照して以下に説明する。図８は、本開示の実施形態による方法の一例のフローチャートであり、メモリ部１６内のコンテンツを削除する時、操作部８０によって実行される操作を示す。図９は、本開示の実施形態による方法の別の例のフローチャートであり、コンテンツをメモリ部１６に追加する時、操作部８０によって実行される動作を示す。
【００８５】
図８に示すように、ステップＳ８０では、ユーザは、インタフェース部７０によって出力された視覚化されたコンテンツに基づいて、削除したいメモリ部１６のストレージエントリを選択する。例えば、ワークを選択する場合、小さい相関を有する中間データＭｉに対応するストレージエントリが選択される。
【００８６】
ステップＳ８２では、ニューラルネットワーク１０は、削除したいストレージエントリと学習データ以外のメモリ部１６のコンテンツを使用して学習し、アルゴリズムパラメータを最適化する。例えば、学習データのラベルデータとの差異を最小限にする操作パラメータが判定されることができる。このステップはオプションであり、必須ではない。このステップは、ステップＳ８４の後に実行することもできる。
【００８７】
ステップＳ８４では、操作部８０は、例えばコンテンツアドレス又はインデックスアドレスでメモリ部１６にアクセスし、ユーザに選択された削除が望まれるストレージアイテムを削除する。
【００８８】
ステップＳ８６では、ニューラルネットワーク１０が演算を実行して、削除されたストレージエントリに対応する新しい中間データを生成し、中間データもメモリ部１６に保存される。更に、ニューラルネットワーク１０は新しい中間データに対応する新しい出力データを生成し、それをメモリ部１６に保存することもできる。プロセスは終了する。
【００８９】
図９に示すように、ステップＳ９０では、ユーザが、インタフェース部７０によって出力された視覚化されたコンテンツに基づいて、メモリ部１６に追加したいストレージエントリを入力し、例えば、稀に発生する画像に対応する出力データを追加したいストレージエントリとして用い（出力データを画像に対応するラベルデータとして使用することもできる）、稀に発生する状況を処理するためのニューラルネットワーク１０の機能を向上させることができる。
【００９０】
ステップＳ９２では、ニューラルネットワーク１０は、追加したいストレージエントリ、メモリ部１６のコンテンツ及び学習データを使用することで学習し、アルゴリズムパラメータを最適化する。例えば、学習データのラベルデータでのエラーを最小限にする操作パラメータが判定されることができる。このステップはオプションであり、必須ではない。このステップは、ステップＳ９４の後に実行することもできる。
【００９１】
ステップＳ９４では、操作部８０がメモリ部１６を操作し、追加したいストレージアイテムをメモリ部１６に保存する。
【００９２】
ステップＳ９６では、ニューラルネットワーク１０は新しく追加されたストレージエントリに基づいて、対応する中間データを演算する。中間データもメモリ部１６に保存されることができる。プロセスは終了する。
【００９３】
図８及び図９を参照して上で説明したように、メモリ処理部６０は操作部８０によってメモリ部１６の内容を操作して、その作業プロセス中に特定の入力データに対応する出力データを変更するためにニューラルネットワーク１０のメモリを変更することができる。
【００９４】
図１０は、本開示の実施形態による画像認識のための装置を示す概略図である。図１０に示すように、キャリア部１０２０上のワークＯＢＪは、カメラＡ、カメラＢ、及びカメラＣを使用して撮像され、画像データを取得する。画像認識装置１１００は、画像データと学習結果に基づいてワークＯＢＪの品質を判定する。
【００９５】
この応用例では、画像認識装置１１００は、ニューラルネットワークの学習に学習データを使用し、学習されたニューラルネットワークを使用してワークＯＢＪの品質（例えば、ワークＯＢＪの属性）を判定する。学習データは、例えば、カメラＡ、カメラＢ、カメラＣで撮影されたワークＯＢＪの画像であり、ワークＯＢＪが良品か不良品かを示すラベルデータを有する。ニューラルネットワークの学習及び操作中に生成された中間データは、例えば外部メモリに記録されることができ、中間データは、直接又は変換後に、ワークＯＢＪの特性、例えば、色、サイズ、スクラッチの有無等を表すか、又はこれらの特徴に対応する確率を表すことができる。画像認識のための装置１１００は、中間データと対応する学習データとの間の関連を確立し、その関連を関連付けられたデータグループとして保存することができる。
【００９６】
この関連付けられたデータグループをテキスト形式でユーザに表示することで、ユーザはワークＯＢＪの画像内のどの特徴が、良品であるか、不良品であるかを判定することができるか、どの特徴がワークＯＢＪの利点及び欠点を判定するのに役に立つかを知ることができる。また、誤判定されやすい学習データに対して、学習データの特徴の学習を的確に追加して、ニューラルネットワークの判定能力を向上させることができる。
【００９７】
ロボットを制御するためのメモリ処理部１０、６０、システム１、２、３、及び画像認識のための画像認識装置１１００の全部又は一部は、ソフトウェア機能的ユニットの形で実現することができる。独立した製品として販売又は使用する場合、ソフトウェア機能的ユニットは、コンピュータ可読記憶媒体に保存されることができる。この理解に基づいて、本質的に本開示の技術的解決策、又は先行技術に寄与する部分、又は技術的解決策の全部又は一部は、１つのコンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワークデバイス等）に、本開示の各事例による方法のステップの全部又は一部を実行させるいくつかの命令を含む記憶媒体に保存されたソフトウェア製品の形で実装されることができる。前述の記憶媒体は、ＵＳＢディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、モバイルハードディスク、磁気ディスク、又は光ディスク等のプログラムコードを保存可能な様々な媒体を含むことができ、サーバ又はクラウドからダウンロード可能なデータストリームも含むことができる。
【００９８】
上記は、本開示の好ましい実施形態にすぎず、当業者は、本開示の原理から逸脱することなく、いくつかの改善及び修正を行うことができることに留意されたい。これらの改善及び修正は、本開示の保護の範囲内にあると見なされるべきである。
【符号の説明】
【００９９】
１、２、３、１００  ロボットを制御するためのシステム
１０  ニューラルネットワーク
１１  入力部
１２  入力処理部
１３  学習部
１４  出力処理部
１５  出力部
１６  メモリ部
２０、６０  メモリ処理部
２１、６１  関連付け部
３０、５０  リスト
６２  演算部
６３  可視化部
７０  インタフェース部
８０  操作部
１０２０  キャリア部
１１００  画像認識装置
【図１Ａ】
2021515705.tif 000003
【図１Ｂ】
2021515705.tif 000004
【図２】
2021515705.tif 000005
【図３】
2021515705.tif 000006
【図４】
2021515705.tif 000007
【図５】
2021515705.tif 000008
【図６】
2021515705.tif 000009
【図７】
2021515705.tif 000010
【図８】
2021515705.tif 000011
【図９】
2021515705.tif 000012
【図１０】
2021515705.tif 000013
【手続補正書】
【提出日】令和2年1月7日(2020.1.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロボットを制御する方法であって、外部メモリに接続されたニューラルネットワークを使用して前記ロボットの制御を行い、前記方法は、
学習されたニューラルネットワークに入力データを入力して、前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは対象に関する画像を含み、前記出力データは前記ロボットに関する制御データを含み、前記ロボットは前記制御データに基づいて前記対象を制御することと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記中間データの一部又は全部を前記外部メモリに記録し、前記中間データの一部又は全部は、前記制御データに関連する前記対象の特徴を表すことと
を含むことを特徴とする方法。
【請求項２】
前記中間データの一部又は全部と、前記入力データ及び／又は前記出力データとの間の関連を確立することは、
各入力データとそれらに対応する中間データとの間の関連を確立することと、
各入力データのクラスとその入力データのクラスに対応する中間データとの間の関連を確立することと、
各中間データのクラスと、その中間データのクラスに対応する入力データとの間の関連を確立することと、
の少なくとも１つを含む請求項１に記載の方法。
【請求項３】
前記外部メモリに前記中間データの一部又は全部を記録することは、
特定のデータ構造に基づいて前記入力データと前記中間データの両方を保存することと、
前記中間データと前記関連を保存することと、
前記中間データを処理及び保存することと、
を含む請求項１に記載の方法。
【請求項４】
前記中間データの一部又は全部と前記入力データとの相関を演算することと、
第１方式で、第１相関を有する中間データ及び／又は前記第１相関を有する中間データとの関連を有する入力データを表すことによって、並びに第２方式で、第２相関を有する中間データ及び／又は前記第２相関を有する中間データとの関連を有する前記入力データを表すことによって関連を視覚化することと、
を更に含み、前記第１方式は前記第２方式とは異なり、前記第１相関は前記第２相関とは異なる請求項１に記載の方法。
【請求項５】
前記中間データの一部又は全部の使用頻度に基づいて前記中間データの一部又は全部の重要度を演算することと、
第１重要度を有する前記中間データ及び／又は前記第１重要度を有する前記中間データとの関連を有する前記入力データを第１方式で表すことにより、並びに第２重要度を有する前記中間データ及び／又は前記第２重要度を有する前記中間データとの関連を有する前記入力データを第２方式で表すことにより、関連を視覚化することと、を更に含み、前記第１方式は、前記第２方式と異なり、前記第１重要度は、前記第２重要度と異なる請求項１に記載の方法。
【請求項６】
前記第１方式で表された前記中間データ及び前記第２方式で表された前記中間データのうちの少なくとも１つをユーザに通知することを更に含む、請求項４又は５に記載の方法。
【請求項７】
前記第１方式で表された前記中間データ及び前記第２方式で表された前記中間データのうちの１つを削除又は無効化することと、
前記第１方式で表された前記中間データ及び前記第２方式で表された前記中間データのうちの１つを所定のデータで上書きすることと、
前記外部メモリに、前記第１方式で表された前記中間データ及び前記第２方式で表された前記中間データの少なくとも１つと異なる中間データを保存することと、
を更に含む請求項４又は５に記載の方法。
【請求項８】
前記ニューラルネットワークに再学習させることを更に含む請求項７に記載の方法。
【請求項９】
外部メモリに接続されたニューラルネットワークを使用して画像認識を行う画像認識方法であって、前記方法は、
入力データを学習されたニューラルネットワークに入力して前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは、対象に関する画像を含み、前記出力データは、前記対象の属性を表すことと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記中間データの一部又は全部を前記外部メモリに記録し、前記中間データの一部又は全部は、前記属性に関連する前記対象の特徴を表すことを含むことを特徴とする方法。
【請求項１０】
入力データを学習されたニューラルネットワークに入力して、前記ニューラルネットワークによる演算を通じて出力データを取得することと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記ニューラルネットワークに接続された外部メモリに前記中間データの一部又は全部を記録することと、
を含むことを特徴とする情報処理方法。
【請求項１１】
ロボットを制御する装置であって、
外部メモリと、
ニューラルネットワークであり、前記外部メモリに接続され、入力データが学習されたニューラルネットワークに入力され、前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは対象に関する画像を含み、前記出力データは前記ロボットに関する制御データを含み、前記ロボットは、前記制御データに基づいて前記対象を制御するニューラルネットワークと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記中間データの一部又は全部を前記外部メモリに記録し、前記中間データの一部又は全部は、前記制御データに関連する前記対象の特徴を表す関連付け部と、
を含むことを特徴とする装置。
【請求項１２】
前記中間データの一部又は全部と前記入力データとの相関を演算する演算部と、
第１方式で、第１相関を有する中間データ及び／又は前記第１相関を有する中間データとの関連を有する入力データを表すことによって、並びに第２方式で、第２相関を有する中間データ及び／又は前記第２相関を有する中間データとの関連を有する前記入力データを表すことによって関連を視覚化する可視化部と、
を更に含み、前記第１方式は前記第２方式と異なり、前記第１相関は前記第２相関と異なる、請求項１１に記載の装置。
【請求項１３】
前記中間データの一部又は全部の使用頻度に基づいて前記中間データの一部又は全部の重要度を演算する演算部と、
第１重要度を有する前記中間データ及び／又は前記第１重要度を有する前記中間データとの関連を有する前記入力データを第１方式で表すことにより、並びに第２重要度を有する前記中間データ及び／又は前記第２重要度を有する前記中間データとの関連を有する前記入力データを第２方式で表すことにより、関連を視覚化する可視化部と、を更に含み、前記第１方式は、前記第２方式と異なり、前記第１重要度は、前記第２重要度と異なる、請求項１１に記載の装置。
【請求項１４】
画像認識のための装置であって、
外部メモリと、
ニューラルネットワークであり、前記外部メモリに接続され、入力データが学習されたニューラルネットワークに入力され、前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは対象に関する画像を含み、前記出力データは対象の属性を表すニューラルネットワークと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記中間データの一部又は全部を前記外部メモリに記録し、前記中間データの一部又は全部は、前記属性に関連する前記対象の特徴を表す関連付け部と、
を含むことを特徴とする装置。
【請求項１５】
情報処理のための装置であって、
外部メモリと、
ニューラルネットワークであり、前記外部メモリに接続され、入力データが学習されたニューラルネットワークに入力され、前記ニューラルネットワークによる演算を通じて出力データを取得するニューラルネットワークと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記中間データの一部又は全部を前記外部メモリに記録する関連付け部と、
を含むことを特徴とする装置。
【請求項１６】
請求項１〜８のいずれか一項に記載の方法を実行する処理ユニットを備えることを特徴とする、ロボットを制御するシステム。
【請求項１７】
実行されると、請求項１〜８のいずれか一項に記載の方法を実行することを特徴とする、ロボットを制御するプログラム
【請求項１８】
実行されると、請求項１〜１０のいずれか一項に記載の方法を実行するプログラムが記憶されていることを特徴とする記憶媒体。
【手続補正書】
【提出日】令和2年11月4日(2020.11.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボットを制御する方法、装置、システム及びプログラム、並びに記憶媒体に関する。
【背景技術】
【０００２】
生産工学に基づいてロボットを制御するには、ニューラルネットワーク等を利用した人工知能技術を使用してロボットの制御を行うことが考えられる。所望の制御を実現するために、ニューラルネットワークは学習データに基づいて学習を行い、学習されたニューラルネットワークは対象の画像等の入力データに基づいて制御データを出力し、ロボットを制御して対象に所望の動作を行わせる。
【０００３】
また、製造工程での対象の属性、例えば、対象が良品か不良品かを示す属性を判定する必要があり、そのような判定は、ニューラルネットワーク等を利用して対象の画像認識を行う人工知能技術を用いて実現され得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、ロボットが意図しない動作を行った場合、学習されたニューラルネットワークが如何にしてそのような予期せぬ制御データを出力したかが、ユーザには不明である。ニューラルネットワークの演算過程はユーザに知られていないため、ロボットの制御を改善することができない。
【０００５】
本開示は、上述の問題の少なくともいくつかを解決するためになされた。
【課題を解決するための手段】
【０００６】
本開示の実施形態の一態様によれば、ロボットを制御する方法であって、外部メモリに接続されたニューラルネットワークを使用して前記ロボットの制御を行い、前記方法は、学習されたニューラルネットワークに入力データを入力して、前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは対象に関する画像を含み、前記出力データは前記ロボットに関する制御データを含み、前記ロボットは前記制御データに基づいて前記対象を制御することと、前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記情報の一部又は全部を前記外部メモリに記録し、前記情報の一部又は全部は、前記制御データに関連する前記対象の特徴を表すこととを含むことを特徴とする
方法が提供される。
【０００７】
前記情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立することにより、中間層（中間データ）のデータと対応する入力データ及び／又は前記出力データとの間の対応関係を知ることができ、更なる操作のために、ユーザがニューラルネットワークの中間層の情報を把握し、如何にしてニューラルネットワークがロボットを制御するのかを把握することができる。
【０００８】
ここで、前記情報の一部又は全部と、前記入力データ及び／又は前記出力データとの間の関連を確立することは、各入力データとそれらに対応する情報との間の関連を確立することと、各入力データのクラスとその入力データのクラスに対応する情報との間の関連を確立することと、各情報のクラスと、その情報のクラスに対応する入力データとの間の関連を確立することと、の少なくとも１つを含む。このように、同じ入力データのクラスの一般的情報又は同じ情報のクラスを知ることができ、それにより、同じ入力データのクラス又は同じ情報のクラスに対して操作を実行することができる。
【０００９】
ここで、前記外部メモリに前記情報の一部又は全部を記録することは、特定のデータ構造に基づいて前記入力データと前記情報の両方を保存することと、前記情報と前記関連を保存することと、前記情報を処理及び保存することと、を含む。
【００１０】
前記方法は、前記情報の一部又は全部と前記入力データとの相関を演算することと、第１方式で、第１相関を有する情報及び／又は前記第１相関を有する情報との関連を有する入力データを表すことによって、並びに第２方式で、第２相関を有する情報及び／又は前記第２相関を有する情報との関連を有する前記入力データを表すことによって関連を視覚化することと、を更に含むことができ、前記第１方式は前記第２方式とは異なり、前記第１相関は前記第２相関とは異なる。
【００１１】
前記方法は、前記情報の一部又は全部の使用頻度に基づいて前記情報の一部又は全部の重要度を演算することと、第１重要度を有する前記情報及び／又は前記第１重要度を有する前記情報との関連を有する前記入力データを第１方式で表すことにより、並びに第２重要度を有する前記情報及び／又は前記第２重要度を有する前記情報との関連を有する前記入力データを第２方式で表すことにより、関連を視覚化することと、を更に含むことができ、前記第１方式は、前記第２方式と異なり、前記第１重要度は、前記第２重要度と異なる。
【００１２】
このように、ユーザは、入力データ及び中間データ（前記情報の一部又は全部を含む）を、例えば、どの入力データから、予期しない中間データが引き起こされるかを直感的に知ることができる。結果として、ユーザは、可視結果に基づき、入力データ又は中間データを操作し、例えば、予期しない中間データを削除又は置換して、より良い出力結果を得ることができる。
【００１３】
前記方法は、前記第１方式で表された前記情報及び前記第２方式で表された前記情報のうちの少なくとも１つをユーザに通知することを更に含むことができる。
【００１４】
前記方法は、前記第１方式で表された前記情報及び前記第２方式で表された前記情報のうちの１つを削除又は無効化することと、前記第１方式で表された前記情報及び前記第２方式で表された前記情報のうちの１つを所定のデータで上書きすることと、前記外部メモリに、前記第１方式で表された前記情報及び前記第２方式で表された前記情報の少なくとも１つと異なる情報を保存することと、を更に含むことができる。
【００１５】
以上の操作により、ユーザは、内部メモリの内容を人為的に変更し、且つそれによりニューラルネットワークのメモリを変更し、予期する出力結果を得ることができる。  
【００１６】
更に、前記方法は、前記ニューラルネットワークに再学習させることを更に含むことができる。
【００１７】
本開示の実施形態の一態様によれば、外部メモリに接続されたニューラルネットワークを使用して画像認識を行う画像認識方法であって、前記方法は、入力データを学習されたニューラルネットワークに入力して前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは、対象に関する画像を含み、前記出力データは、前記対象の属性を表すことと、前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記情報の一部又は全部を前記外部メモリに記録し、前記情報の一部又は全部は、前記属性に関連する前記対象の特徴を表すことを含むことを特徴とする方法が提供される。
【００１８】
このように、生産プロセスで対象の属性を判別する必要がある場合（例えば、属性が、対象が良品か不良品かを示す場合）、そのような判別は、ニューラルネットワーク等を利用して対象の画像認識を行った人工知能技術を使用して実現することもできる。
【００１９】
前記情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立することにより、中間層（中間データ）のデータと対応する入力データ及び／又は前記出力データとの間の対応関係を知ることができ、更なる操作のために、ユーザがニューラルネットワークの中間層の情報を把握し、如何にしてニューラルネットワークが対象を認識するのかを把握することができる。
【００２０】
本開示の実施形態の一態様によれば、入力データを学習されたニューラルネットワークに入力して、前記ニューラルネットワークによる演算を通じて出力データを取得することと、前記演算中に前記ニューラルネットワークによって生成された情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記ニューラルネットワークに接続された外部メモリに前記情報の一部又は全部を記録することと、を含むことを特徴とする情報処理方法が提供される。
【００２１】
前記情報の一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立することにより、中間層のデータと対応する入力データ及び／又は前記出力データとの間の対応関係を知ることができ、更なる操作のために、ユーザがニューラルネットワークの中間層の情報を把握し、学習後のニューラルネットワークの操作状況を把握することができる。例えば、外部メモリに保存されている中間データを変更する、即ち、ニューラルネットワークのメモリを変更することで、ニューラルネットワークの出力データを変更することができる。
【００２２】
本開示の実施形態の更に別の態様によれば、上記の方法を実現するための装置が更に提供される。 
【００２３】
本開示の実施形態の更に別の態様によれば、ロボットを制御するシステムが更に提供される。前記システムは、上記の方法を実行する処理ユニットを含むことができる。
【００２４】
本開示の実施形態の更に別の態様によれば、実行されると、上記の方法を実行するロボットを制御するプログラムが更に提供される。
【００２５】
本開示の実施形態の更に別の態様によれば、実行されると、上記の方法を実行するプログラムが保存された記憶媒体が更に提供される。
【発明の効果】
【００２６】
本開示の実施形態による方法、装置、ロボットを制御するシステム及びプログラム、画像認識のための方法、並びに記憶媒体により、更なる操作のために、ユーザは、中間層の情報を把握し、ニューラルネットワークの操作状況を把握することができる。例えば、ニューラルネットワークの予期しない出力データを訂正することができる。
【００２７】
また、外部メモリの内容を視覚化して明確にすることができる。別の例として、外部メモリの内容を操作して、学習状況を改善、又は出力結果を訂正することができる。
【図面の簡単な説明】
【００２８】
ここで説明される図面は、本開示の更なる理解を提供し、本開示の一部を構成するために使用される。本開示の概略的な実施形態及びその説明は、本開示を説明するために使用されるものであって、本開示に対する不適切な制限を構成するものではない。
【００２９】
【図１Ａ】本開示の実施形態によるロボットを制御するシステムのハードウェア構成を示すモード図である。
【図１Ｂ】本開示の実施形態によるロボットを制御するシステムのブロック図である。
【図２】ニューラルネットワークの学習フェーズで使用される本開示の実施形態による方法のフローチャートである。
【図３】ニューラルネットワークの学習フェーズで使用される本開示の実施形態による方法の結果を示す図である。
【図４】ニューラルネットワークの作業フェーズで使用される本開示の実施形態による方法のフローチャートである。
【図５】ニューラルネットワークの作業フェーズで使用される本開示の実施形態による方法の結果を示す図である。
【図６】本開示の別の実施形態によるロボットを制御するシステムのブロック図である。
【図７】本開示の別の実施形態によるロボットを制御するシステムのブロック図である。
【図８】本開示の実施形態による方法の一例のフローチャートである。
【図９】本開示の実施形態による方法の別の例のフローチャートである。
【図１０】本開示の実施形態による画像認識のための装置を示す概略図である。
【発明を実施するための形態】
【００３０】
当業者が本開示をよりよく理解できるようにするために、本開示の実施形態を以下で添付の図面を参照して明確かつ完全に説明する。当然、説明される実施形態は、本開示の実施形態の一部に過ぎず、実施形態の全てではない。本開示の実施形態に基づいて、如何なる創造的努力もなく当業者が得ることができる他の全ての実施形態は、本開示の保護範囲内に含まれるものとする。
【００３１】
近年、ニューラルネットワークのような機械学習モデルを用いた画像認識技術は、急速に開発が進められ、様々な技術分野で広く利用されている。機械学習モデルの動作モードを深く理解するために、本開示は、画像認識中の機械学習モデルの演算プロセスを検討する。本開示では、機械学習モデルの学習フェーズにおいて、学習プロセスで生成された学習データに対応する中間データを確認して、ニューラルネットワークの学習データ及びメモリ状況を知ることにより、学習データを処理することができ、例えば、より効率的な学習データを入力するか、非効率的な学習データを削除することができる。学習されたニューラルネットワークの作業フェーズでは、作業プロセスで生成された入力データや出力データに対応する中間データを確認して、ニューラルネットワークの作業状況を知り、中間データを修正することによって不適切な出力結果を訂正することもできる。
【００３２】
上記の中間データは、人間が便利に確認できるように処理及び視覚化されることができるため、機械学習技術と人間の判断の利点を組み合わせることができる。処理と視覚化には多くの方法があり、例えば、中間データをフィルタリングして分類することができ、中間データの異なるカテゴリを異なる色、異なる形、又は人々が注目できる他の様々な方式で表現することができ、従って、人々は、中間データの特定のクラスに注意を払うことができる。
【００３３】
本開示では、人々は、関心のある中間データを直接操作、例えば削除、上書き、無効化等して、ニューラルネットワークの学習又は作業プロセスを変更することができ、そのパフォーマンスを効率的に向上させ、望ましい学習又は作業結果を取得することができる。
【００３４】
先ず、本開示の一実施形態によるロボットを制御するシステム１００のハードウェア構造について説明する。
【００３５】
図１Ａは、本開示の一実施形態によるロボットを制御するシステム１００のハードウェア構造を示すモード図である。図１Ａに示すように、例えば、ロボットを制御するシステム１００は、汎用コンピュータアーキテクチャを備えた汎用コンピュータによって実装されることができる。ロボットを制御するシステム１００は、プロセッサ１１０、メインストレージ１１２、ストレージ１１４、入力インタフェース１１６、ディスプレイインタフェース１１８、及び通信インタフェース１２０を含む。これらのコンポーネントは、例えば内部バス１２２を介して相互に通信することができる。
【００３６】
プロセッサ１１０は、ストレージ１１４に保存されたプログラムをメインストレージ１１２上で展開して実行することで、後述する機能や処理を実現する。メインストレージ１１２は、揮発性メモリによって形成されることができ、プログラムを実行するためにプロセッサ１１０が必要とするワークメモリとして機能する。
【００３７】
入力インタフェース１１６は、マウスやキーボード等の入力部と接続されることができ、操作入力部を介してユーザから入力された指示を受け取る。  
【００３８】
ディスプレイインタフェース１１８は、ディスプレイに接続されることができ、プログラムの実行時にプロセッサ１１０が生成した様々な処理結果をディスプレイに出力することができる。
【００３９】
通信インタフェース１２０は、ネットワーク２００を介してＰＬＣやデータベース装置等と通信するためのものである。
【００４０】
ストレージ１１４は、ロボットを制御するためのプログラム、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等のプログラムを保存することができ、それは、コンピュータを、ロボットを制御するシステム１００として用いることができる。
【００４１】
ストレージ１１４に保存されたロボットを制御するプログラムは、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）等の光記録媒体又はＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）メモリ等の半導体記録媒体によってロボットを制御するシステム１００に実装されることができる。或いは、ネットワーク上でサーバ装置等からダウンロードしてもよい。
【００４２】
本実施形態によるロボットを制御するプログラムは、他のプログラムと組み合わせて提供されてもよい。この場合、ロボットを制御するプログラム自体は、上記のように組み合わされた他のプログラムに含まれるモジュールを含まないが、他のプログラムと連携する。このように、本実施形態によるロボットを制御するプログラムは、他のプログラムと組み合わせることもできる。
【００４３】
図１Ａは、ロボットを制御するシステム１００を実現するために汎用コンピュータを使用する例を示すが、本開示は、これに限定するものではなく、その機能の全部又は一部は、ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）又はＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）等の専用回路によって実現されることができる。また、ロボットを制御するシステム１００の処理の一部は、ネットワークに接続された外部装置上で行われてもよい。
【００４４】
図１Ｂは、本開示の実施形態によるロボットを制御するシステムのブロック図である。図１Ｂに示すように、ロボットを制御するシステム１は、ニューラルネットワーク１０、メモリ部１６、及びメモリ処理部２０を含むことができる。ニューラルネットワーク１０は、機械学習モデルの生成に使用され、入力部１１、入力処理部１２、学習部１３、出力処理部１４及び出力部１５を含むことができる。メモリ部１６はニューラルネットワーク１０に電気的に接続される。或いは、メモリ部１６はニューラルネットワーク１０の一部であってもよい。ここで、メモリ部１６は、本開示における「外部メモリ」の一例である。メモリ処理部２０はメモリ部１６のメモリを処理するために使用され、関連付け部２１を含むことができる。
【００４５】
入力部１１は、学習データ又はニューラルネットワーク１０が作業フェーズ中に入力する入力データ等の生データの入力に使用される。学習データは、学習部１３の学習のために入力される。作業フェーズでは、学習した学習部１３による演算によって所望の出力データを取得するために入力データが入力される。学習データ及び入力データの例としては、例えば、生産ラインにおけるワークの画像データ等が挙げられる。学習データはラベルデータと統合することができ、ラベルデータはワークの属性、例えばワークが良品であるかどうかを表すことができる。一例として、出力データは、例えばロボットの制御データであることができ、ロボットは、ワークをつかむ又は置く等の制御データに基づいてワークを処理することができる。
【００４６】
入力処理部１２は、入力部１１から入力された生データを前処理するために使用される。例えば、生データをｎ次元のベクトル又は行列に変換することができる。変換の方法は特に限定せず、生データが学習部１３で処理可能なフォーマットに変換される限り、従来技術の様々な方式を適用することができる。
【００４７】
学習部１３は、入力処理部１２から受信した前処理済みの生データに基づいて学習し、学習された機械学習モデルを生成する。本開示では、ニューラルネットワークを例として説明を行ったが、学習部１３は他の機械学習方式で学習してもよい。
【００４８】
出力処理部１４は学習部１３の学習結果を最終的な出力の形に変換することができる。例えば、ロボットの制御の学習中に、出力処理部１４は学習部１３の学習結果をロボットコントローラが理解可能な制御命令に変換する。出力部１５は、出力処理部１４で処理された出力データを出力することに使用される。
【００４９】
メモリ部１６は、学習フェーズ及び／又は作業フェーズ中に学習部１３によって生成された中間データを保存するために使用され、従って、ニューラルネットワーク１０はメモリ機能を有することができる。言い換えれば、メモリ部１６の情報の一部又は全部は、学習部１３による学習又は操作によって生成される。中間データは、例えば、ニューラルネットワークの中間層の演算結果を含んでもよいし、学習データ又は入力データに対応するデータ（データは中間層の演算結果に基づいて生成されることができる）を含んでもよい。一例として、例えば、画像におけるワークのクラスの判定の学習中に、学習データ又は入力データが画像データである場合、学習データ又は入力データに対応するデータは、ワークの特徴データであることができる。例えば、特徴データは、「長方形」、「円」等を表すことができる。これらの特徴は、ロボットによる予期される制御のタイプに関連し、例えば、異なる形状のワークに対して異なる操作が実行される。
【００５０】
メモリ部１６は、関連が確立された後、情報の一部又は全部を保存することに使用することができる。例えば、図３を参照して以下に示される関連では、メモリ部１６は、学習データＬｉ及び中間データＭｉ（「ｉ」は、異なるメモリ空間を示す自然数である）の両方をリスト単位のデータ構造に保存することができる。エントリＥ３０、Ｅ３１はリストのエントリである。当然、メモリ部１６は、他の様々な既知のデータ構造に従って保存することもできる。各中間データＭｉを保存するために、メモリ部１６に複数のメモリスロットが存在することができる。例えば、メモリ部１６は、コンテントアドレッサブル又はインデックスアドレッサブルであることができる。
【００５１】
或いは、保存されるデータの量を減らすために、メモリ部１６は、中間データＭｉ及び中間データＭｉとそれに対応する学習データＬｉとの間の関連のみを保存することができる。関連は、リスト、ポインタ等で表すことができる。
【００５２】
或いは、メモリ部１６に保存されている中間データＭｉは、処理された中間データであることができる。例えば、Ｍｉを所定の規則に従って分類し、同じクラスのＭｉの値を同じ値に変更して保存することにより、ストレージ容量を更に削減し、その後の分析を簡略化する。
【００５３】
メモリ処理部２０は入力部１１から生データを受信するか、入力処理部１２から処理された生データを受信する。或いは、メモリ処理部２０は出力部１５から出力データを受信することができる。関連付け部２１は、生データ、処理された生データ、又は出力データと、メモリ部１６に記憶された情報の一部又は全部との間の関連を確立することができる。
【００５４】
関連付け部２１によって実行される操作を、図２を参照して以下で詳細に説明する。図２は、ニューラルネットワークの学習フェーズで使用される本開示の実施形態による方法のフローチャートである。
【００５５】
図２に示すように、ステップＳ２０では、ニューラルネットワーク１０は学習データで学習される。このような学習は、様々な既知の機械学習方式で実行できる。また、ニューラルネットワーク１０は学習データとメモリ部１６に保存されたコンテンツの両方で学習することができる。
【００５６】
例えば、ロボットの制御の学習中に、学習データはワークの画像データを含むことができる。そして、各画像データに対して、例えば、「つかむ」、「置く」等のロボットの制御データを含むことができる対応したラベルデータがあり得る。また、ラベルデータは、ワークのクラス、ワークが不良品であるか否か等に関する情報を更に含むことができる。例えば、上記の学習用のニューラルネットワーク１０として、畳み込みニューラルネットワーク（ＣＮＮ）を用いることができ、損失関数を最適化することで畳み込みニューラルネットワークの出力データとラベルデータとの差を最小限にすることができる。
【００５７】
ステップＳ２２では、学習部１３による演算によって生成された情報の一部又は全部がメモリ部１６に記録される。情報の一部又は全部は、学習プロセス中に学習部１３によって生成されるメモリと同等である。メモリは、学習をスピードアップするために、後続の学習に使用することができる。更に、メモリを使用して、作業フェーズで推論、演繹、その他の操作を実行できるため、ニューラルネットワーク１０は分析機能だけでなく推論機能も有する。
【００５８】
ステップＳ２４では、関連付け部２１は、情報の一部又は全部と学習データの間の関連を確立する。
【００５９】
図３は、ニューラルネットワークの学習フェーズで使用される本開示の実施形態による方法の結果を示す図であり、関連の一例を示すものである。図３に示すように、Ｍｉ（ｉは自然数）は、情報の一部又は全部のエントリであり、中間データのエントリと見なすこともでき、ここでは、「中間データ」と総称する。
【００６０】
畳み込みニューラルネットワークの場合、Ｍｉは、例えば、特定の中間層によって出力された、輪郭や色等の特徴を反映するための特徴の３次元行列であり、後述するように、３次元行列は輪郭や色等の対応する特徴を反映するようにパターン化又はデジタル化されることができる。例えば、ニューラルネットワーク１０の特定の中間層の出力をメモリ部１６に直接保存するか、ワークの特徴を直接反映するデータに処理してから、メモリ部１６に保存することができる。
【００６１】
図３に示す関連では、リスト３０に示すように、各学習データＬ１、Ｌ２、Ｌ３、．．．と、それに対応する中間データＭ１、Ｍ２、Ｍ３、．．．の間に関連が確立される。このように、学習部１３の学習過程を把握するための様々な分析を簡便に行うことができる。
【００６２】
別の例として、例えば、パイプライン上のロボットの学習中に、中間データＭ１、Ｍ２、Ｍ３、．．．が、例えば、ワークの形状特徴を表すことができる。ここで、良品であるワークの形状を円とすると、中間データＭ１は「楕円」に対応し、中間データＭ２は「円」に対応し、中間データＭ３は「楕円」に対応する等となる。従って、各学習データとそれに対応する中間データとの対応関係が適切であるか否かを人の目視により確認することができる。
【００６３】
具体的には、学習データＬ１に対応するラベルデータが「不良品」及び「ロボットがワークをつかんで不良品の箱に落とす」を含み、中間データＭ１が「円」ではなく「楕円」である場合、エントリＥ３０は望ましい結果である。別の例として、学習データＬ３に対応するラベルデータが「輸送経路から逸脱」及び「ロボットがワークをつかんで正しい輸送経路に置く」を含む場合、対応する中間データＭ３は「楕円」であるが、実際には輸送ルートからの逸脱するため、学習データＬ３に含まれる画像内のワークは半円のみを示し、従って、エントリＥ３１は望ましくない結果である。このような分析により、学習部１３がどのように学習し、学習データが学習に適しているかを詳細に知ることができる。
【００６４】
或いは、別の例として、学習データの各クラスと学習データのそのクラスに対応する情報との間の関連が確立されることもできる。具体的には、学習データを予め複数のカテゴリに分けることができる。例えば、学習中にワークの品質を検出する場合、学習データは、良品に対応する学習データの第１クラスと、不良品に対応する学習データの第２クラスに事前に分類されることができる。この時点で、中間データは「スクラッチ」、「色違い」等を表すことができる。このように、学習データの第１クラスに関して、対応する中間データの分布を知ることができ、それによって学習データの有効性を相応に向上させる。
【００６５】
或いは、中間データは、フィルタリングされ且つ分類されることもでき、中間データの各クラスと中間データのそのクラスに対応する学習データとの間の関連が確立されることもできる。このようにして、対応する学習データの分布を知ることができ、それによって学習データの有効性を相応に向上させる。
【００６６】
ニューラルネットワークの学習フェーズで使用される本開示の実施形態による方法の例を図２及び図３を参照して上で説明した。ニューラルネットワークの作業フェーズで使用される本開示の実施形態による方法の例を、図４を参照して以下に説明する。
【００６７】
図４は、ニューラルネットワークの作業フェーズで使用される本開示の実施形態による方法のフローチャートである。図４に示すように、ステップＳ４０では、学習されたニューラルネットワーク１０に入力データが入力され、ニューラルネットワーク１０による演算によって出力データが得られる。作業プロセスは、様々な既知の機械学習方式で実行することができる。
【００６８】
ステップＳ４２では、学習した学習部１３による演算によって生成された情報の一部又は全部がメモリ部１６に記録される。前記情報の一部又は全部は、入力データに基づいて、作業フェーズ中に学習部１３によって生成された中間データであることができる。
【００６９】
ステップＳ４４では、関連付け部２１は、情報の一部又は全部と、入力データ及び／又は出力データとの間の関連を確立する。図５は、ニューラルネットワークの作業フェーズで使用される本開示の実施形態による方法の結果を示す図であり、関連の例を示すものである。図５に示すように、例えば、リスト５０のエントリＥ５０で示すように、入力データＩｉ、中間データＭｉ及び出力データＯｉの間に１対１の関連が確立される。或いは、入力データＩｉと中間データＭｉとの間のみで関連を確立すること、又は中間データＭｉと出力データＯｉとの間のみで関連を確立することも可能である。或いは、１対１の関連を確立しないことも可能であるが、前述のように、入力データＩｉと中間データＭｉの各クラスとの間の関連、又は中間データＭｉの各クラスと出力データＯｉとの間の関連は、確立されることができる。
【００７０】
このような関連を確立することにより、ニューラルネットワーク１０の動作プロセスを知ることができる。作業プロセスに異常があった場合、中間の演算プロセスをたどり、簡便に訂正することができる。
【００７１】
例えば、良品／不良品の操作を行うパイプライン上のロボットの作業フェーズでは、学習されたニューラルネットワーク１０がワークの入力画像に応じた制御データを生成し、ロボットが制御データに基づいてワークを制御する。例えば、監視しているカメラが不良品の画像を撮像すると、ロボットはワークをつかんで不良品の箱に置き、輸送ルートから外れたワークを撮像すると、ロボットはワークをつかんで正しい輸送ルートに置く。この処理では、ニューラルネットワーク１０に入力されたワークの画像、ニューラルネットワーク１０の演算で生成された中間データ、ニューラルネットワーク１０で生成された制御データがメモリ部１６に保存される。
【００７２】
ワークに関する特定の回数の判定が実行された後、ニューラルネットワーク１０はすでにメモリ（メモリ部１６に保存されたコンテンツ）を有する。新しい画像を受信すると、ニューラルネットワーク１０は、新しい画像に対して演算を実行して新しい中間データを取得し、メモリ部１６から新しい中間データに対して最も高い評価を有する中間データを抽出し、最も高い評価を有するメモリ部１６に保存されている中間データに対応する出力データ（制御データ）に基づく新しい画像に関する制御データを生成する。例えば、記載された評価は、新しい中間データとの相関、及びメモリ部１６に保存された中間データの使用頻度等に基づいて決定されることができる。
【００７３】
従って、ニューラルネットワーク１０は分析機能を備えているだけでなく、既存のメモリに基づいて推論することもできる。
【００７４】
図６は、本開示の別の実施形態によるロボットを制御するシステムのブロック図である。図６に示すロボットを制御するシステム２は、メモリ処理部６０及びインタフェース部７０において、図１Ｂに示すロボットを制御するシステム１と異なる。図６では、図１Ｂの部材と同じ部材は同じ参照符号で示され、その詳細はここでは再び説明しない。
【００７５】
図６に示すように、メモリ処理部６０は関連付け部６１、ストレージ部６２、演算部６３及び可視化部６４を含むことができる。関連付け部６１は、上述の関連付け部２１と同じ構成を有することができ、その詳細はここでは再度説明しない。
【００７６】
演算部６３は中間データＭｉに基づいて様々な演算を実行することができる。可視化部６４は、ユーザの参照用に演算部６３の演算結果に基づいて視覚化結果を生成することができる。尚、ここでいう「可視化」とは、テキスト、画像、アニメーション等、人間の目で認識可能な内容に限らず、プロンプト音等、人間の感覚で認識可能なものであってもよい。
【００７７】
一例として、演算部６３は、中間データＭｉとそれに対応する入力データＬｉとの相関を演算することができる。或いは、中間データＭｉと出力データＯｉとの相関も演算することができる。例えば、学習されたニューラルネットワークを使用してロボットに制御データを発行し、良好なワークと不良なワークを選択する時、中間データＭｉは「スクラッチ」、「色違い」、「スクラッチなし」、「色違いなし」等を表すことができる。この場合、「スクラッチ」（不良なワーク）を表す中間データＭｉと対応する出力データＯｉの「非良品の箱にそれをつかんで置く」の相関が大きいのに対し、「スクラッチなし」を表す中間データＭｉと対応する出力データＯｉの「不良品の箱にそれをつかんで置く」の相関が小さい。相関を演算する具体的方法として、例えば、Ｍｉが３次元行列である場合、出力データＯｉを表す行列とＭｉとの積に基づいて相関を演算することができる。
【００７８】
可視化部６４は、演算部６３で演算された相関データに基づいて、異なる相関を有する中間データＭｉを異なる方式で表すことができる。例えば、第１閾値未満の相関を有する中間データＭｉは、ディスプレイ上で赤色として表示されることができ、第２閾値を超える相関を有する中間データＭｉは、ディスプレイ上で緑色として表示されることができる。ここで、第２閾値は第１閾値よりも大きい。これにより、ユーザはニューラルネットワーク１０の操作を直感的に知ることができる。可視化部６４が、異なる相関を有する中間データＭｉを表す方式は、異なる相関の度合いを有する中間データＭｉをユーザが知ることができる限り、特に限定するものではない。
【００７９】
別の例として、演算部６３は、中間データＭｉの使用頻度に基づいて中間データＭｉの重要度を演算することができる。例えば、学習されたニューラルネットワーク１０を使用してロボットに制御データを発行し、良好なワークと不良なワークを選択する時、中間データＭｉは「スクラッチ」、「色違い」、「スクラッチなし」、「色違いなし」等を表すことができる。上述したように、ニューラルネットワーク１０は、メモリ部１６に保存されたこれらの中間データＭｉを使用して、新しい画像に関する出力データを出力する。使用頻度の低い中間データＭｉはディスプレイに赤色で表示され、使用頻度の高い中間データＭｉはディスプレイに緑色で表示される。このようにして、ユーザは中間データＭｉの使用状況を直感的に知ることができ、不良品が有する問題（例えば、サイズの割に多くのスクラッチがある問題）について知ることができる。
【００８０】
インタフェース部７０は、ユーザの注意を引くために様々な方法で表された中間データＭｉの少なくとも１つをユーザに通知することに使用される。図６では、インタフェース部７０はメモリ処理部６０とは別の個別の部品として示されているが、インタフェース部７０をメモリ処理部６０に含めることもできる。インタフェース部の一例としては、ディスプレイやスピーカー等であることができる。
【００８１】
図７は、本開示の更に別の実施形態によるロボットを制御するシステムのブロック図である。図７に示すロボットを制御するシステム３は、メモリ処理部６０、インタフェース部７０、及び操作部８０において図１Ｂに示すロボットを制御するシステム１と異なる。図７では、図１Ｂ及び図６と同じ部分は同じ参照符号で示され、それらの詳細はここでは再び説明しない。
【００８２】
図７に示すように、メモリ処理部６０は操作部８０に接続される。操作部８０は、メモリ処理部６０によってメモリ部１６内の中間データに対して追加、削除、無効化等の操作を実行するために使用される。図７では、操作部８０はメモリ処理部６０とは別の個別の部品として示されるが、操作部８０をメモリ処理部６０に含めることもできる。
【００８３】
操作部８０によって実行される操作の例として、インタフェース部７０によって出力された視覚化されたコンテンツに基づいて操作部８０を介して、ユーザは、メモリ部１６に保存され、特定方式で表される中間データを削除又は無効化することができ、又は所定のデータでメモリ部１６に保存され、特定方式で表された中間データを上書きするか、所定のデータをメモリ部１６に書き込むことができ、所定のデータは、特定方式で表される中間と異なる。このようにメモリ部１６のメモリ内容を直接変更し、メモリ部１６のメモリ内容をニューラルネットワーク１０の動作に使用することにより、ニューラルネットワーク１０の動作プロセスは、人為的に影響を与えられてより良い動作結果（又は出力データ）を得ることができる。
【００８４】
操作部８０によって実行される操作の例を、図８及び図９を参照して以下に説明する。図８は、本開示の実施形態による方法の一例のフローチャートであり、メモリ部１６内のコンテンツを削除する時、操作部８０によって実行される操作を示す。図９は、本開示の実施形態による方法の別の例のフローチャートであり、コンテンツをメモリ部１６に追加する時、操作部８０によって実行される動作を示す。
【００８５】
図８に示すように、ステップＳ８０では、ユーザは、インタフェース部７０によって出力された視覚化されたコンテンツに基づいて、削除したいメモリ部１６のストレージエントリを選択する。例えば、ワークを選択する場合、小さい相関を有する中間データＭｉに対応するストレージエントリが選択される。
【００８６】
ステップＳ８２では、ニューラルネットワーク１０は、削除したいストレージエントリと学習データ以外のメモリ部１６のコンテンツを使用して学習し、アルゴリズムパラメータを最適化する。例えば、学習データのラベルデータとの差異を最小限にする操作パラメータが判定されることができる。このステップはオプションであり、必須ではない。このステップは、ステップＳ８４の後に実行することもできる。
【００８７】
ステップＳ８４では、操作部８０は、例えばコンテンツアドレス又はインデックスアドレスでメモリ部１６にアクセスし、ユーザに選択された削除が望まれるストレージアイテムを削除する。
【００８８】
ステップＳ８６では、ニューラルネットワーク１０が演算を実行して、削除されたストレージエントリに対応する新しい中間データを生成し、中間データもメモリ部１６に保存される。更に、ニューラルネットワーク１０は新しい中間データに対応する新しい出力データを生成し、それをメモリ部１６に保存することもできる。プロセスは終了する。
【００８９】
図９に示すように、ステップＳ９０では、ユーザが、インタフェース部７０によって出力された視覚化されたコンテンツに基づいて、メモリ部１６に追加したいストレージエントリを入力し、例えば、稀に発生する画像に対応する出力データを追加したいストレージエントリとして用い（出力データを画像に対応するラベルデータとして使用することもできる）、稀に発生する状況を処理するためのニューラルネットワーク１０の機能を向上させることができる。
【００９０】
ステップＳ９２では、ニューラルネットワーク１０は、追加したいストレージエントリ、メモリ部１６のコンテンツ及び学習データを使用することで学習し、アルゴリズムパラメータを最適化する。例えば、学習データのラベルデータでのエラーを最小限にする操作パラメータが判定されることができる。このステップはオプションであり、必須ではない。このステップは、ステップＳ９４の後に実行することもできる。
【００９１】
ステップＳ９４では、操作部８０がメモリ部１６を操作し、追加したいストレージアイテムをメモリ部１６に保存する。
【００９２】
ステップＳ９６では、ニューラルネットワーク１０は新しく追加されたストレージエントリに基づいて、対応する中間データを演算する。中間データもメモリ部１６に保存されることができる。プロセスは終了する。
【００９３】
図８及び図９を参照して上で説明したように、メモリ処理部６０は操作部８０によってメモリ部１６の内容を操作して、その作業プロセス中に特定の入力データに対応する出力データを変更するためにニューラルネットワーク１０のメモリを変更することができる。
【００９４】
図１０は、本開示の実施形態による画像認識のための装置を示す概略図である。図１０に示すように、キャリア部１０２０上のワークＯＢＪは、カメラＡ、カメラＢ、及びカメラＣを使用して撮像され、画像データを取得する。画像認識装置１１００は、画像データと学習結果に基づいてワークＯＢＪの品質を判定する。
【００９５】
この応用例では、画像認識装置１１００は、ニューラルネットワークの学習に学習データを使用し、学習されたニューラルネットワークを使用してワークＯＢＪの品質（例えば、ワークＯＢＪの属性）を判定する。学習データは、例えば、カメラＡ、カメラＢ、カメラＣで撮影されたワークＯＢＪの画像であり、ワークＯＢＪが良品か不良品かを示すラベルデータを有する。ニューラルネットワークの学習及び操作中に生成された中間データは、例えば外部メモリに記録されることができ、中間データは、直接又は変換後に、ワークＯＢＪの特性、例えば、色、サイズ、スクラッチの有無等を表すか、又はこれらの特徴に対応する確率を表すことができる。画像認識のための装置１１００は、中間データと対応する学習データとの間の関連を確立し、その関連を関連付けられたデータグループとして保存することができる。
【００９６】
この関連付けられたデータグループをテキスト形式でユーザに表示することで、ユーザはワークＯＢＪの画像内のどの特徴が、良品であるか、不良品であるかを判定することができるか、どの特徴がワークＯＢＪの利点及び欠点を判定するのに役に立つかを知ることができる。また、誤判定されやすい学習データに対して、学習データの特徴の学習を的確に追加して、ニューラルネットワークの判定能力を向上させることができる。
【００９７】
ロボットを制御するためのメモリ処理部１０、６０、システム１、２、３、及び画像認識のための画像認識装置１１００の全部又は一部は、ソフトウェア機能的ユニットの形で実現することができる。独立した製品として販売又は使用する場合、ソフトウェア機能的ユニットは、コンピュータ可読記憶媒体に保存されることができる。この理解に基づいて、本質的に本開示の技術的解決策、又は先行技術に寄与する部分、又は技術的解決策の全部又は一部は、１つのコンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワークデバイス等）に、本開示の各事例による方法のステップの全部又は一部を実行させるいくつかの命令を含む記憶媒体に保存されたソフトウェア製品の形で実装されることができる。前述の記憶媒体は、ＵＳＢディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、モバイルハードディスク、磁気ディスク、又は光ディスク等のプログラムコードを保存可能な様々な媒体を含むことができ、サーバ又はクラウドからダウンロード可能なデータストリームも含むことができる。
【００９８】
上記は、本開示の好ましい実施形態にすぎず、当業者は、本開示の原理から逸脱することなく、いくつかの改善及び修正を行うことができることに留意されたい。これらの改善及び修正は、本開示の保護の範囲内にあると見なされるべきである。
【符号の説明】
【００９９】
１、２、３、１００  ロボットを制御するためのシステム
１０  ニューラルネットワーク
１１  入力部
１２  入力処理部
１３  学習部
１４  出力処理部
１５  出力部
１６  メモリ部
２０、６０  メモリ処理部
２１、６１  関連付け部
３０、５０  リスト
６３  演算部
６４  可視化部
７０  インタフェース部
８０  操作部
１０２０  キャリア部
１１００  画像認識装置
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロボットを制御する方法であって、外部メモリに接続されたニューラルネットワークを使用して前記ロボットの制御を行い、前記方法は、
学習されたニューラルネットワークに入力データを入力して、前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは対象に関する画像を含み、前記出力データは前記ロボットに関する制御データを含み、前記ロボットは前記制御データに基づいて前記対象を制御することと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記中間データの一部又は全部を前記外部メモリに記録し、前記中間データの一部又は全部は、前記制御データに関連する前記対象の特徴を表すことと
を含むことを特徴とする方法。
【請求項２】
前記中間データの一部又は全部と、前記入力データ及び／又は前記出力データとの間の関連を確立することは、
各入力データとそれらに対応する中間データとの間の関連を確立することと、
各入力データのクラスとその入力データのクラスに対応する中間データとの間の関連を確立することと、
各中間データのクラスと、その中間データのクラスに対応する入力データとの間の関連を確立することと、
の少なくとも１つを含む請求項１に記載のロボットを制御する方法。
【請求項３】
前記外部メモリに前記中間データの一部又は全部を記録することは、
特定のデータ構造に基づいて前記入力データと前記中間データの両方を保存することと、
前記中間データと前記関連を保存することと、
前記中間データを処理及び保存することと、
を含む請求項１に記載のロボットを制御する方法。
【請求項４】
前記中間データの一部又は全部と前記入力データとの相関を演算することと、
第１方式で、第１相関を有する中間データ及び／又は前記第１相関を有する中間データとの関連を有する入力データを表すことによって、並びに第２方式で、第２相関を有する中間データ及び／又は前記第２相関を有する中間データとの関連を有する前記入力データを表すことによって関連を視覚化することと、
を更に含み、前記第１方式は前記第２方式とは異なり、前記第１相関は前記第２相関とは異なる請求項１に記載のロボットを制御する方法。
【請求項５】
前記中間データの一部又は全部の使用頻度に基づいて前記中間データの一部又は全部の重要度を演算することと、
第１重要度を有する前記中間データ及び／又は前記第１重要度を有する前記中間データとの関連を有する前記入力データを第１方式で表すことにより、並びに第２重要度を有する前記中間データ及び／又は前記第２重要度を有する前記中間データとの関連を有する前記入力データを第２方式で表すことにより、関連を視覚化することと、を更に含み、前記第１方式は、前記第２方式と異なり、前記第１重要度は、前記第２重要度と異なる請求項１に記載のロボットを制御する方法。
【請求項６】
前記第１方式で表された前記中間データ及び前記第２方式で表された前記中間データのうちの少なくとも１つをユーザに通知することを更に含む、請求項４又は５に記載のロボットを制御する方法。
【請求項７】
前記第１方式で表された前記中間データ及び前記第２方式で表された前記中間データのうちの１つを削除又は無効化することと、
前記第１方式で表された前記中間データ及び前記第２方式で表された前記中間データのうちの１つを所定のデータで上書きすることと、
前記外部メモリに、前記第１方式で表された前記中間データ及び前記第２方式で表された前記中間データの少なくとも１つと異なる中間データを保存することと、
を更に含む請求項４又は５に記載のロボットを制御する方法。
【請求項８】
前記ニューラルネットワークに再学習させることを更に含む請求項７に記載のロボットを制御する方法。
【請求項９】
外部メモリに接続されたニューラルネットワークを使用して画像認識を行う画像認識方法であって、前記方法は、
入力データを学習されたニューラルネットワークに入力して前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは、対象に関する画像を含み、前記出力データは、前記対象の属性を表すことと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記中間データの一部又は全部を前記外部メモリに記録し、前記中間データの一部又は全部は、前記属性に関連する前記対象の特徴を表すことを含むことを特徴とする方法。
【請求項１０】
入力データを学習されたニューラルネットワークに入力して、前記ニューラルネットワークによる演算を通じて出力データを取得することと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記ニューラルネットワークに接続された外部メモリに前記中間データの一部又は全部を記録することと、
を含むことを特徴とする情報処理方法。
【請求項１１】
ロボットを制御する装置であって、
外部メモリと、
ニューラルネットワークであり、前記外部メモリに接続され、入力データが学習されたニューラルネットワークに入力され、前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは対象に関する画像を含み、前記出力データは前記ロボットに関する制御データを含み、前記ロボットは、前記制御データに基づいて前記対象を制御するニューラルネットワークと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記中間データの一部又は全部を前記外部メモリに記録し、前記中間データの一部又は全部は、前記制御データに関連する前記対象の特徴を表す関連付け部と、
を含むことを特徴とする装置。
【請求項１２】
前記中間データの一部又は全部と前記入力データとの相関を演算する演算部と、
第１方式で、第１相関を有する中間データ及び／又は前記第１相関を有する中間データとの関連を有する入力データを表すことによって、並びに第２方式で、第２相関を有する中間データ及び／又は前記第２相関を有する中間データとの関連を有する前記入力データを表すことによって関連を視覚化する可視化部と、
を更に含み、前記第１方式は前記第２方式と異なり、前記第１相関は前記第２相関と異なる、請求項１１に記載のロボットを制御する装置。
【請求項１３】
前記中間データの一部又は全部の使用頻度に基づいて前記中間データの一部又は全部の重要度を演算する演算部と、
第１重要度を有する前記中間データ及び／又は前記第１重要度を有する前記中間データとの関連を有する前記入力データを第１方式で表すことにより、並びに第２重要度を有する前記中間データ及び／又は前記第２重要度を有する前記中間データとの関連を有する前記入力データを第２方式で表すことにより、関連を視覚化する可視化部と、を更に含み、前記第１方式は、前記第２方式と異なり、前記第１重要度は、前記第２重要度と異なる、請求項１１に記載のロボットを制御する装置。
【請求項１４】
画像認識のための装置であって、
外部メモリと、
ニューラルネットワークであり、前記外部メモリに接続され、入力データが学習されたニューラルネットワークに入力され、前記ニューラルネットワークによる演算を通じて出力データを取得し、前記入力データは対象に関する画像を含み、前記出力データは対象の属性を表すニューラルネットワークと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記中間データの一部又は全部を前記外部メモリに記録し、前記中間データの一部又は全部は、前記属性に関連する前記対象の特徴を表す関連付け部と、
を含むことを特徴とする装置。
【請求項１５】
情報処理のための装置であって、
外部メモリと、
ニューラルネットワークであり、前記外部メモリに接続され、入力データが学習されたニューラルネットワークに入力され、前記ニューラルネットワークによる演算を通じて出力データを取得するニューラルネットワークと、
前記演算中に前記ニューラルネットワークによって生成された中間データの一部又は全部と前記入力データ及び／又は前記出力データとの間の関連を確立し、前記中間データの一部又は全部を前記外部メモリに記録する関連付け部と、
を含むことを特徴とする装置。
【請求項１６】
請求項１〜８のいずれか一項に記載の方法を実行する処理ユニットを備えることを特徴とする、ロボットを制御するシステム。
【請求項１７】
実行されると、請求項１〜８のいずれか一項に記載の方法を実行することを特徴とする、ロボットを制御するプログラム
【請求項１８】
実行されると、請求項１〜１０のいずれか一項に記載の方法を実行するプログラムが記憶されていることを特徴とする記憶媒体。
【国際調査報告】
2021515705.tif 000014
2021515705.tif 000015