(57)【要約】      （修正有）【課題】機械学習装置に入力する複数のセンサデータの寄与度を評価し、センサ構成を最適化することが可能な情報処理装置を提供する。【解決手段】情報処理装置１００は、異なる複数のセンサデータを入力して機械学習を行う機械学習装置３００と、１以上のセンサデータの組合せを作成するための選択規則を設定する入力データ制御部１４０と、選択規則にしたがってセンサデータの組合せを複数作成し、センサデータの組合せを機械学習装置３００に入力して、センサデータの組合せそれぞれに対応する認識器を生成する入力データ選択部１１０と、認識器に求められる期待性能を設定する期待性能設定部１２０と、期待性能にしたがって認識器の性能を評価し、期待性能を満足する認識器に対応するセンサデータの組合せを出力する性能評価部１３０と、を有する。【選択図】図２
2019028515.tif 000002
【特許請求の範囲】
【請求項１】
異なる複数のセンサデータを入力して機械学習を行う機械学習装置を有する情報処理装置において、
１以上の前記センサデータの組合せを作成するための選択規則を設定する入力データ制御部と、
前記選択規則にしたがって前記センサデータの組合せを複数作成し、前記センサデータの組合せを前記機械学習装置に入力して、前記センサデータの組合せそれぞれに対応する認識器を生成する入力データ選択部と、
前記認識器に求められる期待性能を設定する期待性能設定部と、
前記期待性能にしたがって前記認識器の性能を評価し、前記期待性能を満足する前記認識器に対応する前記センサデータの組合せを出力する性能評価部と、を有する
情報処理装置。
【請求項２】
前記期待性能は、前記センサデータの取得コストによって定義され、
前記センサデータの取得コストは、前記センサデータを取得するセンサの価格、前記センサの設置の難易度、あるいは前記センサデータの取得又は処理に要する費用、時間又は処理負荷に基づいて計算される
請求項１記載の情報処理装置。
【請求項３】
前記期待性能は、前記認識器の正答率、適合率、再現率又はＦ値によって定義される
請求項１記載の情報処理装置。
【請求項４】
前記センサデータは、温度、変位、圧力、電流、速度、加速度、画像、照度、音声、匂い、長さに関するものである
請求項１記載の情報処理装置。
【請求項５】
前記性能評価部は、前記期待性能を満足する前記センサデータの組合せを複数提示し、ユーザに所望の前記センサデータの組合せを選択させるインタフェースを有する
請求項１記載の情報処理装置。
【請求項６】
前記認識器はニューラルネットワークにより構成される
請求項１記載の情報処理装置。
【請求項７】
前記入力データ制御部は、前記ニューラルネットワークの中間層の構成の設定規則をさらに設定する
請求項６記載の情報処理装置。
【請求項８】
前記入力データ制御部は、前記ニューラルネットワークにおいて入力層から中間層への結合係数が小さい前記センサデータを削除する前記選択規則を有する
請求項６記載の情報処理装置。
【請求項９】
前記入力データ制御部は、前記ニューラルネットワークにおいて認識時の中間層の発火への寄与率が小さい前記センサデータを削除する前記選択規則を有する
請求項６記載の情報処理装置。
【請求項１０】
前記センサデータは、通信ネットワークを介して１以上のセンサから収集される
請求項１記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置に関し、特に機械学習装置に入力する複数のセンサデータの寄与度を評価し、センサ構成を最適化することが可能な情報処理装置に関する。
【背景技術】
【０００２】
工作機械等の制御やその周辺において、機械学習装置が広く用いられるようになっている。機械学習装置によれば、例えばワークを複数のカメラで撮像して得た画像データを入力して、傷の有無を判定することが可能である。また、マイク、電流の外乱値、加速度センサ等の出力値を機械学習装置に入力して、モータの異常検知を行うことも可能である。
【０００３】
センサ等から取得される複数の入力データを、分類、回帰、クラスタリング等の機械学習手法を用いて認識する機械学習装置がある。このように複数のセンサデータを組み合わせて機械学習を行う技術をセンサフュージョンという。センサフュージョンを実現する機械学習装置には、センサ等が直接出力するデータ（以下、生データと称する）から抽出されたＳＩＦＴ、ＳＵＲＦ等に代表される特徴量を入力して機械学習を行うもののほか、生データを直接入力して深層学習により機械学習を行うもの等がある。
【０００４】
例えば特許文献１には、センサフュージョン技術の一例として、複数のガスセンサの出力信号をニューラルネットワークに取り込み、予めニューラルネットワークに学習されている識別パターンに基づいてガス種を識別する装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３１３０６７９号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
センサフュージョンによれば、様々なセンサデータを組み合わせて入力することで、高精度な学習、認識又は推定等の処理を実現できる。しかしながら、複数のセンサデータのうち、学習、認識又は推定結果への寄与度の大きい又は小さいセンサデータを体系的に特定し、要求性能を満足するようにセンサ構成を最適化する手法は現在のところ提供されていない。例えば、結果への寄与度が小さいセンサデータを特定できれば、センサ本体やセンサデータ取得に要する金銭コスト等を削減できるだけでなく、データの計測、取得及び処理にかかる時間や負荷等を抑制し、高速に結果を出力することが可能になる。
【０００７】
本発明はこのような問題を解決するためになされたものであって、機械学習装置に入力する複数のセンサデータの寄与度を評価し、センサ構成を最適化することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施の形態にかかる情報処理装置は、異なる複数のセンサデータを入力して機械学習を行う機械学習装置を有する情報処理装置において、１以上の前記センサデータの組合せを作成するための選択規則を設定する入力データ制御部と、前記選択規則にしたがって前記センサデータの組合せを複数作成し、前記センサデータの組合せを前記機械学習装置に入力して、前記センサデータの組合せそれぞれに対応する認識器を生成する入力データ選択部と、前記認識器に求められる期待性能を設定する期待性能設定部と、前記期待性能にしたがって前記認識器の性能を評価し、前記期待性能を満足する前記認識器に対応する前記センサデータの組合せを出力する性能評価部と、を有する。
【０００９】
本発明の一実施の形態にかかる情報処理装置は、前記期待性能は、前記センサデータの取得コストによって定義され、前記センサデータの取得コストは、前記センサデータを取得するセンサの価格、前記センサの設置の難易度、あるいは前記センサデータの取得又は処理に要する費用、時間又は処理負荷に基づいて計算される。
【００１０】
本発明の一実施の形態にかかる情報処理装置は、前記期待性能は、前記認識器の正答率、適合率、再現率又はＦ値によって定義される。
【００１１】
本発明の一実施の形態にかかる情報処理装置は、前記センサデータは、温度、変位、圧力、電流、速度、加速度、画像、照度、音声、匂い、長さに関するものである。
【００１２】
本発明の一実施の形態にかかる情報処理装置は、前記性能評価部は、前記期待性能を満足する前記センサデータの組合せを複数提示し、ユーザに所望の前記センサデータの組合せを選択させるインタフェースを有する。
【００１３】
本発明の一実施の形態にかかる情報処理装置は、前記認識器はニューラルネットワークにより構成される。
【００１４】
本発明の一実施の形態にかかる情報処理装置は、前記入力データ制御部は、前記ニューラルネットワークの中間層の構成の設定規則をさらに設定する。
【００１５】
本発明の一実施の形態にかかる情報処理装置は、前記入力データ制御部は、前記ニューラルネットワークにおいて入力層から中間層への結合係数が小さい前記センサデータを削除する前記選択規則を有する。
【００１６】
本発明の一実施の形態にかかる情報処理装置は、前記入力データ制御部は、前記ニューラルネットワークにおいて認識時の中間層の発火への寄与率が小さい前記センサデータを削除する前記選択規則を有する。
【００１７】
本発明の一実施の形態にかかる情報処理装置は、前記センサデータは、通信ネットワークを介して１以上のセンサから収集される。
【発明の効果】
【００１８】
本発明によれば、機械学習装置に入力する複数のセンサデータの寄与度を評価し、センサ構成を最適化することが可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】情報処理装置１００の構成を示すブロック図である。
【図２】情報処理装置１００の構成を示すブロック図である。
【図３】機械学習装置３００の構成を示すブロック図である。
【図４Ａ】ニューロンを説明する図である。
【図４Ｂ】ニューラルネットワークを説明する図である。
【図５】情報処理装置１００の動作を示すフローチャートである。
【図６】実施例１の概要を示す図である。
【図７】実施例２の概要を示す図である。
【図８】情報処理装置１００の動作を示すフローチャートである。
【発明を実施するための形態】
【００２０】
本発明の実施の形態について、図面を用いて説明する。
＜実施の形態１＞
図１は、本発明の実施の形態１にかかる情報処理装置１００のハードウェア構成を示すブロック図である。ＣＰＵ１１は、情報処理装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って情報処理装置１００全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び外部から入力された各種データ等が一時的に格納される。
【００２１】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、情報処理装置１００の電源がオフされても記憶状態が保持されるメモリとして構成される。図示しないインタフェースを介して入力された各種プログラムやデータが記憶されている。不揮発性メモリ１４に記憶されたプログラムやデータは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、各種のシステム・プログラムがあらかじめ書き込まれている。
【００２２】
センサデータ６０は、センサが環境の様々な状態を測定して出力する測定値（センサデータ）である。例えば、温度センサ、変位センサ、圧力センサ、電流センサ、速度センサ、加速度センサ、カメラ、照度センサ、マイク、匂いセンサ、長さ測定器等がセンサデータ６０を出力する。本実施の形態では、センサは複数存在し、複数のセンサがそれぞれ異なるセンサデータを出力するものとする。例えばセンサデータ６０は、マイクが出力する音声データ、加速度センサが出力する加速度データ、ワーク上面の画像を撮像するカメラが出力する画像データ、ワーク側面の画像を撮像するカメラが出力する画像データの組み合わせであり得る。情報処理装置１００は、インタフェース１８を介してセンサデータ６０を受信し、ＣＰＵ１１に引き渡す。
【００２３】
判定データ７０は、機械学習においてセンサデータ６０と関連付けられて学習されるデータである。例えばセンサデータ６０を使用してモータの異常検知を行う機械学習モデルを生成する場合、センサデータ６０がインタフェース１８に入力されるとき、判定データ７０としてモータの正常又は異常を示すデータがインタフェース１９に入力される。例えば、作業員がモータの正常又は異常を認識した結果をキーボードに入力する場合、情報処理装置１００は、インタフェース１９を介してキーボードからの出力データを判定データ７０として受信し、ＣＰＵ１１に引き渡す。
【００２４】
インタフェース２１は、情報処理装置１００と機械学習装置３００とを接続するためのインタフェースである。機械学習装置３００は、機械学習装置３００全体を統御するプロセッサ３０１と、システム・プログラム等を記憶したＲＯＭ３０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ３０３、及び学習モデル等の記憶に用いられる不揮発性メモリ３０４を備える。機械学習装置３００は、インタフェース２１を介して情報処理装置１００で取得可能な様々なセンサデータを観測することができる。なお、機械学習装置３００のプロセッサやＲＯＭは情報処理装置１００と同じものでも良い。さらに、プロセッサがＧＰＵやＦＰＧＡを保持しており、処理の高速化が行われる構成になっていても良い。
【００２５】
図２は、情報処理装置１００の概略的な機能ブロック図である。情報処理装置１００は、機械学習装置３００、入力データ選択部１１０、期待性能設定部１２０、性能評価部１３０、入力データ制御部１４０を有する。
【００２６】
機械学習装置３００は、センサデータ６０と判定データ７０との相関関係を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ３０１等）を含む。情報処理装置１００が備える機械学習装置３００が学習するものは、センサデータ６０と判定データ７０との相関性を表すモデル構造に相当する。
【００２７】
情報処理装置１００が備える機械学習装置３００は、センサデータ６０を環境の現在状態を表す状態変数Ｓとして観測する状態観測部３０６と、判定データ７０を判定データＤとして取得する判定データ取得部３０８と、状態変数Ｓと判定データＤとを用いて、センサデータ６０と判定データ７０とを関連付けて学習する学習部３１０とを備える。
【００２８】
状態観測部３０６は、例えばプロセッサ３０１の一機能として構成できる。或いは状態観測部３０６は、例えばプロセッサ３０１を機能させるためのＲＯＭ３０２に記憶されたソフトウェアとして構成できる。また判定データ取得部３０８は、例えばプロセッサ３０１の一機能として構成できる。或いは判定データ取得部３０８は、例えばプロセッサ３０１を機能させるためのＲＯＭ３０２に記憶されたソフトウェアとして構成できる。
【００２９】
学習部３１０は、例えばプロセッサ３０１の一機能として構成できる。或いは学習部３１０は、例えばプロセッサ３０１を機能させるためのＲＯＭ３０２に記憶されたソフトウェアとして構成できる。学習部３１０は、機械学習と総称される任意の学習アルゴリズムに従い、センサデータ６０と判定データ７０との相関関係を学習する。学習部３１０は、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。
【００３０】
このような学習サイクルを繰り返すことにより、学習部３１０はセンサデータ６０と判定データ７０との相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時にはセンサデータ６０と判定データ７０との相関性は実質的に未知であるが、学習部３１０は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。センサデータ６０と判定データ７０との相関性が、ある程度信頼できる水準まで解釈されると、学習部３１０が反復出力する学習結果は、現在状態（センサデータ６０）に対して、判定データ７０がどのようなものとなるべきかという推定を行うために使用できるものとなる。つまり学習部３１０は、学習アルゴリズムの進行に伴い、センサデータ６０と判定データ７０との相関性を最適解に徐々に近づけることができる。
【００３１】
上記したように、情報処理装置１００が備える機械学習装置３００は、状態観測部３０６が観測した状態変数Ｓと判定データ取得部３０８が取得した判定データＤとを用いて、学習部３１０が機械学習アルゴリズムに従い、センサデータ６０と判定データ７０との相関関係を学習するものである。状態変数Ｓは外乱の影響を受け難いデータで構成され、また判定データＤは一義的に求められる。したがって、情報処理装置１００が備える機械学習装置３００によれば、学習部３１０の学習結果を用いることで、センサデータ６０に対応する判定データ７０を、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。
【００３２】
上記構成を有する機械学習装置３００では、学習部３１０が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図３は、図２に示す情報処理装置１００の一形態であって、学習アルゴリズムの一例として教師あり学習を実行する学習部３１０を備えた構成を示す。教師あり学習は、入力とそれに対応する出力との既知のデータセット（教師データと称する）が予め大量に与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力（センサデータ６０に対応する判定データ７０）を推定するための相関性モデルを学習する手法である。
【００３３】
図３に示す機械学習装置３００において、学習部３１０は、状態変数Ｓから判定データ７０を導く相関性モデルＭと予め用意された教師データＴから識別される相関性特徴との誤差Ｅを計算する誤差計算部３１１と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部３１２とを備える。学習部３１０は、モデル更新部３１２が相関性モデルＭの更新を繰り返すことによってセンサデータ６０と判定データ７０との相関関係を学習する。
【００３４】
相関性モデルＭは、回帰分析、強化学習、深層学習などで構築することができる。相関性モデルＭの初期値は、例えば、状態変数Ｓと判定データＤとの相関性を単純化して表現したものとして、教師あり学習の開始前に学習部３１０に与えられる。教師データＴは、例えば、過去のセンサデータ６０と判定データ７０との対応関係を記録することで蓄積された経験値（センサデータ６０と判定データ７０との既知のデータセット）によって構成でき、教師あり学習の開始前に学習部３１０に与えられる。誤差計算部３１１は、学習部３１０に与えられた大量の教師データＴからセンサデータ６０と判定データ７０との相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部３１２は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００３５】
次の学習サイクルでは、誤差計算部３１１は、更新後の相関性モデルＭに従って工作機械等を動作させるなどにより得られた状態変数Ｓ及び判定データＤを用いて、それら状態変数Ｓ及び判定データＤに対応する相関性モデルＭに関し誤差Ｅを求め、モデル更新部３１２が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態（センサデータ６０）とそれに対応する状態（判定データ７０）との相関性が徐々に明らかになる。つまり相関性モデルＭの更新により、センサデータ６０と判定データ７０との関係が、最適解に徐々に近づけられる。
【００３６】
前述した教師あり学習を進める際に、例えばニューラルネットワークを用いることができる。図４Ａは、ニューロンのモデルを模式的に示す。図４Ｂは、図４Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００３７】
図４Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数１式により表現される出力ｙを出力する。なお、数２式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００３８】
【数１】
2019028515.tif 000003
【００３９】
図４Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す）が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００４０】
図４Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴を表す。
【００４１】
図４Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
【００４２】
機械学習装置３００は、状態変数Ｓを入力ｘとして、学習部３１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、判定データ７０を推定値（結果ｙ）として出力することができる。なおニューラルネットワークの動作モードには、学習モードと判定モードとがあり、例えば学習モードで学習データセットを用いて重みｗを学習し、学習した重みｗを用いて判定モードで形状データの判定を行うことができる。なお判定モードでは、検出、分類、推論等を行うこともできる。
【００４３】
再び図２を用いて、情報処理装置１００の他の構成要素について説明する。入力データ選択部１１０、期待性能設定部１２０、性能評価部１３０、入力データ制御部１４０は、本発明に特有の構成要素であって、複数のセンサデータそれぞれの寄与度を評価するための処理を行う。
【００４４】
期待性能設定部１２０は、機械学習装置３００に求められる期待性能の設定を保持する。期待性能設定部１２０は、ユーザが期待性能の設定を入力するためのユーザインタフェースと、設定内容を保持するための記憶領域とを備えていても良い。期待性能は、客観的に評価可能な様々な指標等を用いて設定され得る。典型的な期待性能として、正答率、再現率、適合率、Ｆ値がある。正答率は、実際の事象がＡであるか否かについて、機械学習装置３００が正しく判定した事例の割合をいう。再現率は、実際の事象がＡである事例の数に対する、機械学習装置３００がＡという回答を出力した事例の数の割合をいう。適合率は、機械学習装置３００がＡという回答を出力した事例の数に対する、実際の事象がＡである事例の数の割合をいう。Ｆ値は、適合率と再現率の調和平均をいう。例えば再現率が９９．９９％以上であること、適合率が９９％以上であることを期待性能として設定することができる。
【００４５】
期待性能は、他の様々な指標でも定義できる。例えばセンサ構成を実現するためのコストも重要な性能指標である。コストには、金銭的コストのほかセンサデータ取得の手間や時間なども含まれる。例えばセンサ本体の価格、センサ設置の難易度、センサデータの取得にかかる計測時間等もコストの構成要素である。これらの構成要素を用いて、例えば、再現率及び適合率が所定のしきい値以上であることに加え、センサ本体のコストや画像の取得コスト等を勘案した総コストが最も小さいことを期待性能として設定しても良い。この場合、まず総コストを評価するための評価式を定義する。例えば総コストが小さくなるほど高評価とみなされる評価値を出力するような評価式である。そして、評価値が所定のしきい値以上であることを期待性能として設定できる。あるいは評価値が他のセンサ構成との比較において最高であることを期待性能として設定しても良い。例えば高解像度カメラ（センサ本体の価格が比較的高く、画像処理に要する時間や負荷が大きい）が出力するセンサデータを使用した場合は＋２０、低解像度カメラ（センサ本体の価格が比較的低く、画像処理に要する時間や負荷も小さい）が出力するセンサデータを使用した場合は＋１０、１枚撮像する（画像処理の時間や負荷が発生する）毎に＋１の重みを累積加算値を評価値とし、この評価値が最も小さいことを期待性能として設定することができる。
【００４６】
入力データ制御部１４０は、機械学習装置３００に入力するセンサデータの選択規則を決定し、決定した選択規則を入力データ選択部１１０に与える。入力データ制御部１４０は、予め幾つかの代表的な選択規則を保持し、ユーザがその中から所望の選択規則を採用するためのユーザインタフェースを備えていても良い。選択規則とは、情報処理装置１００に入力されるｎ種類のセンサデータ６０からｍ（ｍ≦ｎ）種類のセンサデータを選択して、複数の異なる組み合わせを作成する際の規則をいう。最も単純な選択規則は、ランダムにセンサデータの組合せを決定することである。この際、後述する性能評価の結果を基に、遺伝的アルゴリズムを用いて、組合わせ最適化を行っても良い。また、機械学習装置３００の学習部３１０がニューラルネットワークで構成される場合、例えば一度全てのセンサデータを使用して学習を行った後に、入力層から次の中間層への結合係数を評価し、その結合係数の和が小さい入力データを優先的に除外して、センサデータの組合せを作成しても良い。また、同様に一度全てのセンサデータを使用して学習を行った後に、テスト用のセンサデータを使用してニューラルネットワークによる認識を試行し、その際の中間層の発火への寄与率が小さい入力データを優先的に除外して、センサデータの組合せを作成しても良い。
【００４７】
入力データ選択部１１０は、入力データ制御部１４０が決定した選択規則にしたがってセンサデータの組合せを決定し、組合せごとに機械学習を実行する。例えば選択規則がランダムであれば、入力データ選択部１１０は、情報処理装置１００に入力してくるｎ種類のセンサデータ６０を基に、ｍ（ｍ≦ｎ）種類のセンサデータからなるユニークな組み合わせを複数定義する。入力データ選択部１１０は、情報処理装置１００に入力してくるセンサデータ６０のなかから、定義された組合せにしたがってセンサデータを抽出し、機械学習装置３００に入力していく。機械学習装置３００は、入力されたセンサデータを状態変数Ｓとして用いて学習を行い、学習モデルを構築する。入力データ選択部１１０は、定義した複数の組合せ全てについて順次この学習プロセスを実行し、それぞれの組合せに対応する学習モデルを構築する。入力データ選択部１１０がセンサデータの組み合わせをｐ個定義したならば、ｐ個の学習結果が得られる。
【００４８】
性能評価部１３０は、入力データ選択部１１０が定義したセンサデータの組合せに応じて得られた学習結果をそれぞれ評価する。評価は、期待性能設定部１２０において設定された期待性能が達成されたか否かを内容とする。具体的には、学習器としての機械学習装置３００が十分な数の学習データを得て学習プロセスを完了したならば、性能評価部１３０は認識器としての機械学習装置３００にテストデータ（テスト用のセンサデータ）を入力する。性能評価部１３０は、機械学習装置３００が出力する認識結果を、上記期待性能に照らして評価する。例えば期待性能設定部１２０において期待性能が正答率９９％以上と定義されており、性能評価部１３０が機械学習装置３００に１００個のテストデータを入力した場合、性能評価部１３０は９９個以上のテストデータについて正答が得られているか否かを判定する。得られていれば期待性能を満たしている。性能評価部１３０は、入力データ選択部１１０が定義したセンサデータの組合せ全てについて、このような性能評価を行う。センサデータの組み合わせをｐ個定義したならば、ｐ個の学習結果全てについてそれぞれ性能評価が行われる。
【００４９】
性能評価部１３０は、性能評価の結果を出力する。例えば、期待性能を満足したセンサデータの組合せのうち、最も評価が優れていたものを自動的に選択して出力しても良い。期待性能を満足したセンサデータの組合せが複数ある場合、それらをユーザに提示して任意の１つを選択させるユーザインタフェースを備えても良い。
【００５０】
図５のフローチャートを用いて、情報処理装置１００の動作について説明する。
Ｓ１：期待性能設定部１２０が機械学習装置３００に求められる期待性能を設定する。
Ｓ２：入力データ制御部１４０がセンサデータの選択規則を設定する。
Ｓ３：入力データ選択部１１０が、Ｓ２で設定された選択規則にしたがってセンサデータの組合せを決定し、機械学習装置３００に入力する。機械学習装置３００が、入力されたセンサデータの組合せを用いて学習を行う。
なお、選択規則に適合するセンサデータの組合せが複数存在する場合は、全ての組合せについて順にＳ３にかかる学習を実行する。
Ｓ４：性能評価部１３０が、テストデータを使用し、Ｓ１で設定された期待性能に基づいて、Ｓ３で学習を行った機械学習装置３００の性能評価を行う。
なお、Ｓ３においてセンサデータの組合せを複数用いて学習を行った場合は、当該センサデータの組合せに対応する学習モデル全てについて順にＳ４にかかる性能評価を実行する。
性能評価部１３０は、性能評価の結果、期待性能に適合すると判定されたセンサデータの組合せを出力する。
【００５１】
本実施の形態によれば、入力データ制御部１４０が設定した選択規則にしたがって、入力データ選択部１１０がセンサデータの組合せを複数定義し、組合せごとに機械学習装置３００による機械学習を試行する。性能評価部１３０は、センサデータの組合せごとに得られた学習結果のうち、期待性能設定部１２０が設定した期待性能を満たす組合せを出力する。性能評価部１３０が出力するセンサデータの組合せは、当初情報処理装置１００に入力されていたセンサデータの種類数よりも少ないセンサデータの種類数で構成されている。したがって、今後工作機械等の制御やその周辺において機械学習装置３００を使用する場合は、性能評価部１３０が出力するセンサデータの組合せを入力するようにすれば、センサ本体やセンサデータ取得に要する金銭コスト等を削減できるだけでなく、データの計測、取得及び処理にかかる時間や負荷等を抑制し、高速に結果を出力することが可能となる。
【００５２】
（実施例１）
情報処理装置１００をワークのキズ検査に適用した例を示す。図６は、本検査の概要を示す模式図である。情報処理装置１００としてのロボット制御装置が、ロボット、カメラ（高解像度カメラ及び低解像度カメラ）、照明を制御する。ロボットはハンドによりワークを把持し、様々な方向にワークを回転させる。ロボット制御装置の指令に応じて高解像度カメラ又は低解像度カメラが選択され、様々な方向からワークを撮像する。照明は撮像時、ロボット制御装置の指令に応じてワークを照明する。本実施例では、カメラは高解像度カメラ及び低解像度カメラの２種類、照明は有りと無しの２種類、カメラに対するワークの把持姿勢は１００候補あるものとする。
【００５３】
本実施例における機械学習装置３００は、カメラが撮像した画像データをセンサデータ６０として使用し、傷の有無を示すデータを判定データ７０として使用して教師あり学習を行う。学習過程では、予め傷の有無が分かっているワークを様々な撮像条件で撮像した様々な枚数の画像の組合せを与えるものとする。
【００５４】
まず期待性能設定部１２０において期待性能を設定する。本実施例では、再現率が９９．９９％以上であること、適合率が９９％以上であること、及びコスト性能を評価するための独自の評価式において評価値が最も優れていることを期待性能として設定する。この期待性能によれば、再現率および適合率が要件を満たし、かつコスト性能が最も優れた撮像条件の組合せを得ることができる。コスト性能を評価するための評価式は、高解像度カメラを用いて撮像した場合＋２０、低解像度カメラを用いて撮像した場合＋１０、撮像枚数１枚毎に＋１の重みの和を計算するものとする。この評価式は、計算値（重みの総和）が小さいほどコスト性能が優れていることを示す。
【００５５】
次に入力データ制御部１４０においてセンサデータの組合せの選択規則を設定する。本実施例では、撮像条件の組合せ（カメラの解像度の高低、照明の有無、ワークの把持姿勢の種類と数）をランダムに選択するものとする。
【００５６】
続いて入力データ選択部１１０が、撮像条件の組合せ（カメラの解像度の高低、照明の有無、ワークの把持姿勢の種類と数）をランダムに決定する。入力データ選択部１１０は、決定した撮像条件の組合せで様々なワークの画像を撮像し、画像データを状態変数Ｓ、当該ワークの傷の有無を判定データＤとして、学習器としての機械学習装置３００に多数入力していく。これにより、当該撮像条件の組合せにおいて、画像データに基づいて傷の有無を推定することができる学習モデルが生成される。
【００５７】
入力データ選択部１１０は、ランダムに作成される撮像条件の組合せの全てについて同様に学習を行う。これにより、ランダムに作成される撮像条件の組合せの数だけ学習モデルが生成されることになる。なおこの際、撮像条件の組合せごとに個別に学習モデルを生成するのではなく、状態変数Ｓに撮像条件の組合せの識別子を加えることなどして撮像条件の組合せの数だけ次元数が増加するような学習モデルを１つ生成することも可能である。いずれの手法をとるかは任意であるが、本実施例では前者の手法をとったものとして説明を行う。また、学習および性能評価に使用する画像データは事前に全て撮像しておき、撮像条件の組合せに応じて全画像データの中から使用する画像データを選別するようにしても良い。
【００５８】
最後に性能評価部１３０が、生成された全ての学習モデルの性能評価を行う。すなわち全ての学習モデルに対して、それぞれ、学習時に与えたものと同じ撮像条件の組合せで撮像されたテスト画像を多数入力し、認識結果（すなわち傷の有無の推定結果）を出力させる。性能評価部１３０はこの認識結果と正解（傷の有無）とを照合して、再現率、適合率及びコスト性能（上述の評価式の計算値）を計算する。性能評価部１３０は全ての学習モデルの再現率、適合率及びコスト性能（上述の評価式の計算値）を計算し終えたならば、再現率が９９．９９％以上であり、適合率が９９％以上であり、かつコスト性能の評価式の計算値が最小である学習モデルを特定する。性能評価部１３０は、こうして特定された学習モデルにおける撮像条件の組合せを、最も優れた性能を有する撮像条件の組合せとして出力する。例えば、低解像度カメラで、照明有り、所定の５０の把持姿勢で撮像すること、といった撮像条件を出力できる。
【００５９】
仮に従来、高解像度カメラで、照明有り及び無し、１００の把持姿勢で撮像した２００枚の画像を使用して傷の有無を認識していたとする。そして本実施例により、低解像度カメラで、照明有り、所定の５０の把持姿勢で撮像することで所定の認識精度を達成できることが分かったものとする。この場合、カメラを高解像から低解像度に切り替えることで金銭コストを節減しつつ、同等の認識精度を維持できることになる。また、撮像や画像処理に要する時間や処理負荷も大幅に削減される。
【００６０】
（実施例２）
情報処理装置１００をモータの異常検知に適用した例を示す。図７は、本検査の概要を示す模式図である。情報処理装置１００としてのロボット制御装置が、ロボットを制御する。このとき、指向性マイクにより音声データが、加速度センサにより加速度データが取得され、情報処理装置１００に入力される。このほか、情報処理装置１００は図示しないセンサにより電流の外乱値を入力できる。情報処理装置１００はこれら３つのセンサを用いて、機械学習によるモータの異常検知を行うものとする。
【００６１】
センサとしてマイクを使用するのは、モータに異常があると異音が発生することが期待できるためである。但しマイクは設置位置などに課題が多く、取付コスト（設置の手間や時間、難易度）が高い。加速度センサは、ロボットのアーム先端に取り付ける。ロボットのアームを動かすモータに異常がある場合、振動が発生したり、加速度の発生傾向に変化が生じることが期待できる。加速度センサも、一定の取付コストが生じる。電流の外乱値は、モータに異常がある場合に上昇することが期待できる。電流の外乱値については、計測するためのコストはほぼ無い。
【００６２】
機械学習装置３００は、オートエンコーダを使った異常値検知を行う。異常発生時のデータは、正常時のデータに比べて取得できる件数が圧倒的に少ない。そのため実施例１のような２値分類モデルは適用が困難である。そこで本実施例では、学習段階においては正常時のデータのみを与えてオートエンコーダにより学習モデルを生成する。オートエンコーダは教師なし学習を行う多層ニューラルネットワークであり、入力を再現するような出力を得ることが可能である。オートエンコーダは、入力層と出力層は同じ次元数であるが、中間層において入力が圧縮されて次元数が削減される構成を持つ。オートエンコーダは学習が進むにつれて、入力層と出力層の誤差ができるだけ小さくなるようなニューロンの重みを決定していく。正常データのみを用いて学習を行ったオートエンコーダに異常データを入力すると、オートエンコーダは入力をうまく再現して出力することができない。すなわち、入力と出力との誤差が大きくなる。このようなオートエンコーダの性質を利用することで、正常時のデータのみを用いて学習を行ったオートエンコーダに入力を与え、入力と出力との誤差が所定のしきい値を超えたときに、入力を異常データと判定することができる。
【００６３】
本実施の形態の機械学習装置３００は、正常時に指向性マイクにより取得された音声データ、加速度センサにより取得された加速度データ、図示しないセンサにより取得された電流の外乱値の３つのセンサデータのうち、１以上のセンサデータの組合せを入力し、学習モデルを生成するものとする。この際、センサが出力する生データに対し、高速フーリエ変換などの前処理を適宜実施することができる。
【００６４】
期待性能設定部１２０において期待性能を設定する。本実施例では、再現率が９９．９９％以上であること、適合率が９９％以上であること、及びコスト性能を評価するための独自の評価式において評価値が最も優れていることを期待性能として設定する。この期待性能によれば、再現率および適合率が要件を満たし、かつコスト性能が最も優れた撮像条件の組合せを得ることができる。コスト性能を評価するための評価式は、指向性マイクを用いた場合＋２０、加速度センサを使用した場合＋１０、電流の外乱値を用いた場合＋０の重みの和を計算するものとする。この評価式は、計算値（重みの総和）が小さいほどコスト性能が優れていることを示す。
【００６５】
次に入力データ制御部１４０においてセンサデータの組合せの選択規則を設定する。本実施例では、センサ（指向性マイク、加速度センサ、電流の外乱値）の組合せをランダムに選択するものとする。
【００６６】
続いて入力データ選択部１１０が、センサ（指向性マイク、加速度センサ、電流の外乱値）の組合せをランダムに決定する。入力データ選択部１１０は、決定したセンサの組合せでセンサデータを多数取得し、学習器としての機械学習装置３００に入力していく。これにより、当該センサデータの組合せによって異常検知を行うための学習モデルが生成される。入力データ選択部１１０は、ランダムに作成されるセンサの組合せの全てについて同様に学習を行う。
【００６７】
最後に性能評価部１３０が、生成された全ての学習モデルの性能評価を行う。すなわち全ての学習モデルに対して、それぞれ、学習時に与えたものと同じセンサの組合せで取得されるテストデータを多数入力し、認識結果（すなわち異常検知の有無）を出力させる。性能評価部１３０はこの認識結果と正解（異常データか否か）とを照合して、再現率、適合率及びコスト性能（上述の評価式の計算値）を計算する。性能評価部１３０は全ての学習モデルの再現率、適合率及びコスト性能（上述の評価式の計算値）を計算し終えたならば、再現率が９９．９９％以上であり、適合率が９９％以上であり、かつコスト性能の評価式の計算値が最小である学習モデルを特定する。性能評価部１３０は、こうして特定された学習モデルにおけるセンサの組合せを、最も優れた性能を有する撮像条件の組合せとして出力する。
【００６８】
本実施例によれば、例えばラインシステム導入前に、異常検知のために必要なセンサを特定できるので、実際のラインシステムを安価かつ安定した状態で構築することが可能となる。
【００６９】
＜実施の形態２＞
実施の形態１では、入力データ制御部１４０が設定した選択規則にしたがって、入力データ選択部１１０がセンサデータの組合せを複数定義し、それぞれの組合せについて機械学習装置３００による機械学習を行った。
【００７０】
実施の形態２では、入力データ制御部１４０はさらに、ニューラルネットワークの中間層の構成も変化させる。すなわち、ニューラルネットワークのハイパーパラメータを変化させることができる。入力データ制御部１４０はニューラルネットワークのハイパーパラメータの設定規則について、予め複数の候補を保持する。そして入力データ制御部１４０は、使用すべきニューラルネットワークのハイパーパラメータの設定規則を入力データ選択部１１０に対して指定する。
【００７１】
入力データ選択部１１０は、指定されたハイパーパラメータの設定規則に従って、機械学習装置３００のハイパーパラメータを変更する。その後、実施の形態１に示した学習プロセスを実行する。
【００７２】
最も典型的なハイパーパラメータの設定規則は、ハイパーパラメータをランダムに設定することである。実施の形態１においてセンサデータの組合せに対して行ったように、遺伝的アルゴリズムを用いて、組合わせ最適化を行っても良い。この場合、図８に示すように、入力データ選択部１１０は、ランダムに選択されたニューラルネットワークのハイパーパラメータで構成される学習器それぞれについて、順次、実施の形態１に示した学習プロセスを実行する。性能評価部１３０もまた、当該ハイパーパラメータで構成される認識器それぞれについて、順次、実施の形態１に示した性能評価プロセスを実行する。
【００７３】
本実施の形態によれば、最適なセンサデータの組合せだけでなく、最適なニューラルネットワークのハイパーパラメータも特定することができる。これにより、センサデータの組合せをより最適化することができる。本来必要なセンサデータを全部与えていても、ニューラルネットワークの設計が悪いために十分な認識結果が得られない場合がある。このような場合であっても、本実施の形態によりニューラルネットワークの構造も網羅的に変化させるならば、探索空間が広がり、最適なセンサデータの組合せを発見することが可能となる。
【００７４】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００７５】
例えば上述の実施の形態では、情報処理装置１００が、ロボット制御装置などの１つの装置として実現され、ロボットなど１つの制御対象からセンサデータを取得する例を主に説明した。しかしながら、本発明はこれに限定されるものではない。例えば情報処理装置１００は、汎用の通信ネットワークや工場内ネットワーク等の専用通信ネットワーク上に設置され、当該通信ネットワークを介して制御対象からセンサデータを取得しても良い。情報処理装置１００は１台のコンピュータであっても良い、複数のコンピュータが分散的に処理を行うことにより実現されても良い。学習又はテスト用のセンサデータは、１つの制御対象から取得しても良く、同種の複数の制御対象から取得しても良い。学習又はテスト用のセンサデータは、リアルタイムに収集されたものを使用しても良く、収集されたデータを所定の記憶領域に蓄積したものを使用しても良い。
【００７６】
また上述の実施の形態では、情報処理装置１００において、入力データ選択部１１０が全てのセンサデータの組み合わせについて学習プロセスを実行し、その後、性能評価部１３０が得られた全ての学習モデルの性能評価プロセスを実行する例を示した。しかしながら、例えば入力データ選択部１１０が１つのセンサデータの組合せについて学習プロセスを実行したならば、その後、性能評価部１３０がその学習モデルの性能評価プロセスを実行することとしても良い。すなわち、入力データ選択部１１０による学習と、それに続く性能評価部１３０による性能評価と、からなる処理プロセスが、センサデータの組合せの数だけ反復される。この場合、例えば性能評価部１３０において良好な性能を発揮する選択規則が発見されたならば、その時点で反復処理を中断しても良い。
【符号の説明】
【００７７】
１００  情報処理装置
１１０  入力データ選択部
１２０  期待性能設定部
１３０  性能評価部
１４０  入力データ制御部
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１８，１９，２１  インタフェース
２０  バス
６０  センサデータ
７０  判定データ
３００  機械学習装置
３０１  プロセッサ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  不揮発性メモリ
３０６  状態観測部
３０８  判定データ取得部
３１０  学習部
３１１  誤差計算部
３１２  モデル更新部
３２０  判定出力部
３３０  データ取得部
【図１】
2019028515.tif 000004
【図２】
2019028515.tif 000005
【図３】
2019028515.tif 000006
【図４Ａ】
2019028515.tif 000007
【図４Ｂ】
2019028515.tif 000008
【図５】
2019028515.tif 000009
【図６】
2019028515.tif 000010
【図７】
2019028515.tif 000011
【図８】
2019028515.tif 000012