(57)【要約】【課題】データ転送エラーの原因を識別できる情報処理装置を提供する。【解決手段】デバイスとのデータ通信におけるデータ転送エラーの発生原因を識別する情報処理装置１は、データ転送エラーの発生を検知するエラー検知部１０１と、単位時間ごとに、データ転送エラーの検知回数を記録する記録部１０２と、単位時間あたりのデータ転送エラーの検知回数の傾向に基づいて、データ転送エラーの発生原因がノイズの影響又はハードウェアの故障のいずれであるかを識別する識別部１０３を有する。【選択図】図３
2019164762.tif 000002
【特許請求の範囲】
【請求項１】
デバイスとのデータ通信におけるデータ転送エラーの発生原因を識別する情報処理装置であって、
前記データ転送エラーの発生を検知するエラー検知部と、
単位時間ごとに、前記データ転送エラーの検知回数を記録する記録部と、
前記単位時間あたりの前記データ転送エラーの検知回数の傾向に基づいて、前記データ転送エラーの発生原因がノイズの影響又はハードウェアの故障のいずれであるかを識別する識別部を有する
情報処理装置。
【請求項２】
前記識別部は、前記単位時間あたりの前記データ転送エラーの検知回数が規則的である場合に、前記データ転送エラーの発生原因はハードウェアの故障であると判断する
請求項１記載の情報処理装置。
【請求項３】
前記識別部は、前記単位時間あたりの前記データ転送エラーの検知回数が規則的であって、かつ前記単位時間あたりの前記デバイスへのアクセス回数に対する前記単位時間あたりの前記データ転送エラーの検知回数の割合が所定のしきい値を超える場合に、前記データ転送エラーの発生原因はハードウェアの故障であると判断する
請求項１記載の情報処理装置。
【請求項４】
前記デバイスの動作状況を取得する動作取得部をさらに有し、
前記記録部は、前記単位時間あたりの前記データ転送エラーの検知回数と、前記デバイスの動作状況と、を時間により対応付けられる形で記録し、
前記識別部は、前記データ転送エラーの発生原因はノイズの影響であると判断される場合に、前記単位時間あたりの前記データ転送エラーの検知回数と、前記動作状況と、を時間により対応付けて表示する
請求項１記載の情報処理装置。
【請求項５】
前記識別部に代えて、前記単位時間あたりの前記データ転送エラーの検知回数に対応する前記データ転送エラーの発生原因を学習する機械学習装置を備え、
前記機械学習装置は、
前記単位時間あたりの前記データ転送エラーの検知回数を、環境の現在状態を表す状態変数として観測する状態観測部と、
前記データ転送エラーの発生原因を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記単位時間あたりの前記データ転送エラーの検知回数と前記データ転送エラーの発生原因とを関連付けて学習する学習部と、を有する
請求項１記載の情報処理装置。
【請求項６】
デバイスとのデータ通信における単位時間あたりのデータ転送エラーの検知回数に対応する前記データ転送エラーの発生原因を学習する機械学習装置であって、
前記単位時間あたりの前記データ転送エラーの検知回数を、環境の現在状態を表す状態変数として観測する状態観測部と、
前記データ転送エラーの発生原因を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記単位時間あたりの前記データ転送エラーの検知回数と前記データ転送エラーの発生原因とを関連付けて学習する学習部と、を有する
機械学習装置。
【請求項７】
複数の装置がネットワークを介して相互に接続されたシステムであって、
前記複数の装置は、少なくとも請求項５に記載された第１の情報処理装置を含む
システム。
【請求項８】
前記複数の装置は、機械学習装置を備えたコンピュータを含み、
前記コンピュータは、前記第１の情報処理装置の前記学習部における学習により生成された少なくとも１つの学習済みモデルを取得し、
前記コンピュータが備える機械学習装置は、取得した前記学習済みモデルに基づく最適化乃至効率化を行う、
請求項７に記載のシステム。
【請求項９】
前記複数の装置は、前記第１の情報処理装置とは異なる第２の情報処理装置を含み、
前記第１の情報処理装置が備える学習部による学習結果は、前記第２の情報処理装置と共有される、
請求項７に記載のシステム。
【請求項１０】
前記複数の装置は、前記第１の情報処理装置とは異なる第２の情報処理装置を含み、
前記第２の情報処理装置において観測されたデータは、前記ネットワークを介して前記第１の情報処理装置が備える学習部による学習に利用可能である、
請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置に関し、特にデータ転送エラーの原因を識別できる情報処理装置，機械学習装置及びシステムに関する。
【背景技術】
【０００２】
デバイス間のデータ通信（電気機器等で使用されるプリント基板内における通信、通信ネットワークで接続された情報処理装置間の通信、数値制御装置とサーボ駆動装置やＩ／Ｏ機器等の外部ユニットとの通信等を含む）においては、様々な要因によりデータが正常に転送されないことがある。このようなデータ転送エラーを検出する手段として、例えばパリティ、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ：誤り訂正符号）等がある。
【０００３】
いずれの手法によっても、データ転送エラーを検出し、検出回数を記録しておくことが可能である。しかしながら、上記手法それ自体では、データ転送エラーが発生した原因までは解析できない。
【０００４】
特許文献１には、外来ノイズによる通信障害の原因追求を容易にするため、リトライや誤り訂正等の発生状況を可視化する数値制御装置が記載されている。特許文献２には、通信エラー発生時の制御装置の状態等を画面表示し、通信エラーの発生原因の特定を容易にする制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０８−３２０７１３号公報
【特許文献２】特開平１０−１８７２３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
動作が安定し予期しない機能不全を含まない完成した回路において、転送したデータに何らかの異常が発生し期待値と異なった値が受信される原因は、一般にノイズの影響又はハードウェアの故障である。データ転送エラーへの対策を行うためには、データ転送エラーの発生原因がノイズの影響又はハードウェアの故障のいずれであるかを切り分けることが必要である。しかしながら、特許文献１及び特許文献２記載の手法では、データ転送エラーの発生原因がデータ転送エラーの発生原因がノイズの影響又はハードウェアの故障のいずれによるものであるかを切り分けることができない。
【０００７】
そこで、このような問題点を解決するために、データ転送エラー時の原因を識別できる情報処理装置，機械学習装置及びシステムが望まれている。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る情報処理装置は、デバイスとのデータ通信におけるデータ転送エラーの発生原因を識別する情報処理装置であって、前記データ転送エラーの発生を検知するエラー検知部と、単位時間ごとに、前記データ転送エラーの検知回数を記録する記録部と、前記単位時間あたりの前記データ転送エラーの検知回数の傾向に基づいて、前記データ転送エラーの発生原因がノイズの影響又はハードウェアの故障のいずれであるかを識別する識別部を有する。
本発明の他の態様に係る機械学習装置は、デバイスとのデータ通信における単位時間あたりのデータ転送エラーの検知回数に対応する前記データ転送エラーの発生原因を学習する機械学習装置であって、前記単位時間あたりの前記データ転送エラーの検知回数を、環境の現在状態を表す状態変数として観測する状態観測部と、前記データ転送エラーの発生原因を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記単位時間あたりの前記データ転送エラーの検知回数と前記データ転送エラーの発生原因とを関連付けて学習する学習部と、を有する。
本発明の他の態様に係るシステムは、複数の装置がネットワークを介して相互に接続されたシステムであって、前記複数の装置は、少なくとも機械学習装置を有する第１の情報処理装置を含む。
【発明の効果】
【０００９】
本発明の一態様によれば、データ転送エラーの原因を識別できる情報処理装置を提供することが可能である。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置１のハードウェア構成図である。
【図２】実施例１及び２における情報処理装置１の機能構成を示すブロック図である。
【図３】実施例１における情報処理装置１の動作例を示す図である。
【図４】実施例２における情報処理装置１の動作例を示す図である。
【図５】実施例３における情報処理装置１の機能構成を示すブロック図である。
【図６】実施例３における情報処理装置１の動作例を示す図である。
【図７】実施例３における情報処理装置１の動作例を示す図である。
【図８】実施例４における情報処理装置１の機能構成を示すブロック図である。
【図９】実施例４における情報処理装置１の機能構成を示すブロック図である。
【図１０Ａ】ニューロンのモデルを模式的に示す図である。
【図１０Ｂ】ニューロンのモデルを模式的に示す図である。
【図１１】クラウドサーバ、フォグコンピュータ、エッジコンピュータを含む３階層構造のシステムの例を示す図である。
【図１２】情報処理装置１を組み込んだシステムの一形態を示す概略的な機能ブロック図である。
【図１３】情報処理装置１を組み込んだシステムの他の形態を示す概略的な機能ブロック図である。
【図１４】情報処理装置１を組み込んだシステムの他の形態を示す概略的な機能ブロック図である。
【発明を実施するための形態】
【００１１】
本発明の実施の形態にかかる情報処理装置１の構成について説明する。
図１は、本発明の実施の形態にかかる情報処理装置１の要部の概略的なハードウェア構成図である。
【００１２】
情報処理装置１は、典型的にはサーバコンピュータ、パーソナルコンピュータ、マイクロコンピュータ及びロボットや工作機械等の制御装置（例えば数値制御装置）等である。情報処理装置１は、ＣＰＵ１１、揮発性メモリ１３、不揮発性メモリ１４、インタフェース１５、インタフェース１６、インタフェース１７、バス２０、入出力装置７０を有する。情報処理装置１には、１以上のデバイス８０が接続される。
【００１３】
ＣＰＵ１１は、情報処理装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、不揮発性メモリ１４に格納されたシステム・プログラムを読み出し、システム・プログラムに従って情報処理装置１全体を制御する。
【００１４】
揮発性メモリ１３は、一時的な計算データ、表示データ等を一時的に格納する。
【００１５】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされており、情報処理装置１の電源が遮断されても記憶状態を保持する。不揮発性メモリ１４は、システム・プログラム、アプリケーションプログラム、入出力装置７０から入力されるデータ、デバイス８０から受信したデータ等を格納する。不揮発性メモリ１４に記憶されたプログラムやデータは、実行時及び利用時には揮発性メモリ１３に展開されても良い。
【００１６】
入出力装置７０は、例えばディスプレイ等の表示装置、キーボード等のデータ入力装置である。入出力装置７０は、インタフェース１５を介してＣＰＵ１１から受けた情報をディスプレイに表示する。入出力装置７０は、キーボード等から入力されたデータをインタフェース１５を介してＣＰＵ１１に渡す。
【００１７】
デバイス８０は、情報処理装置１との間でデータ通信を行う外部の装置であり、例えば他の情報処理装置、又はサーボ駆動装置やＩ／Ｏ機器等の外部ユニット等である。デバイス８０は、インタフェース１６を介してＣＰＵ１１との間でデータを送受信する。
【００１８】
図２は、本発明の実施の形態の情報処理装置１の概略的な機能構成を示すブロック図である。情報処理装置１は、典型的にはコンピュータ上で動作するソフトウェアの一機能として実現される。情報処理装置１は、エラー検知部１０１、記録部１０２、識別部１０３を有する。
【００１９】
エラー検知部１０１は、情報処理装置１とデバイス８０との間の通信において発生したデータ転送エラーを検知する。エラー検知部１０１は、典型的には上述のパリティ、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ：誤り訂正符号）等を用いて通信データの誤りを検出することにより、データ転送エラーの発生を検出することができる。
【００２０】
記録部１０２は、エラー検知部１０１が検知したデータ転送エラーの、単位時間あたりの回数を記録、蓄積する。例えば記録部１０２は、１０ｓおきに、データ転送エラーの検知回数の累計、累計回数の保存、累計回数のリセットを繰り返す。又は記録部１０２は、データ転送エラーの検知時刻を逐一記録しておき、後刻バッチ処理等により単位時間あたりのエラー検知回数を求めても良い。単位時間は、例えばユーザが入出力装置７０に入力する値に従って任意に設定可能であって良い。
【００２１】
好ましくは、記録部１０２は、情報処理装置１とデバイス８０との間の単位時間あたりの通信回数（アクセス回数）を記録、蓄積する。これは、例えば数値制御装置が備える機能により、バス２０やインタフェース１６を介したデータ転送の回数をカウントすることで実現可能である。
【００２２】
識別部１０３は、記録部１０２を参照して、単位時間あたりのエラー検知回数の傾向を分析することにより、データ転送エラーの発生原因を識別する。具体的な識別方法については、以下の実施例において説明する。
【００２３】
＜実施例１＞
実施例１として、データ転送エラーの定期性に着目して、データ転送エラーの発生原因を識別する方法について説明する。
【００２４】
発明者は、ノイズの影響によりデータ転送エラーが発生する場合、データ転送エラーの発生頻度がランダムであるか、又はある時間に集中する傾向があることを発見した。一方、ハードウェアの故障によりデータ転送エラーが発生する場合は、データ転送エラーがある程度の定期性又は規則性をもって発生する傾向がある。典型的には、一定の回数のデータ転送エラーが連続して観察される。
【００２５】
図３は、実施例１における情報処理装置１の動作例を示す図である。上図は、エラー検知部１０１が、所定の期間（５０ｓ）内に１６０回のエラーを検知した場合の例である。１６０回のデータ転送エラーは、記録部１０２により、単位時間（１０ｓ）ごとの検知回数として整理されている。すなわち時系列に従うと、１０ｓごとに１００回、５０回、０回、１０回、０回のデータ転送エラーが発生している。この場合、データ転送エラーの発生頻度（単位時間あたりの発生回数）はランダムであるから、識別部１０３は、データ転送エラーの発生原因はノイズの影響であると判断する。
【００２６】
図３下図は、エラー検知部１０１が、所定の期間（５０ｓ）内に５００回のエラーを検知した場合の例である。５００回のデータ転送エラーは、記録部１０２により、単位時間（１０ｓ）ごとの検知回数として整理されている。すなわち時系列に従うと、１０ｓごとに１００回、１００回、１００回、１００回、１００回のデータ転送エラーが発生している。定期的（１０ｓごと）に一定回数（１００回）のデータ転送エラーが発生していることから、データ転送エラーの発生頻度（単位時間あたりの発生回数）には規則性があるといえる。この場合、識別部１０３は、データ転送エラーの発生原因はハードウェアの故障であると判断する。
【００２７】
識別部１０３は、例えば単位時間あたりのデータ転送エラーの発生回数が一定の範囲に収まっている場合に、データ転送エラーが規則的に発生していると判断できる。例えば単位時間（１０ｓ）あたりのデータ転送エラーの発生回数がいつも８０−１２０の間に収まっている場合、データ転送エラーが規則的に発生していると判断する。又は、例えば単位時間あたりのデータ転送エラーの発生回数の分散が所定のしきい値以内に収まっている場合に、データ転送エラーが規則的に発生していると判断できる。識別部１０３は、データ転送エラーが規則的であると判断できない場合は、不規則であると判断する。
【００２８】
識別部１０３が上記判断において用いる、単位時間あたりのデータ転送エラーの発生回数の範囲の上下限又は分散の上限等は、例えばユーザが入出力装置７０に入力する値に従って任意に設定可能であって良い。
【００２９】
実施例１によれば、データ転送エラーの発生原因を容易に識別することができる。
【００３０】
＜実施例２＞
実施例２として、アクセス回数に対するデータ転送エラーの検知回数の割合に着目して、データ転送エラーの発生原因をより高精度に識別する方法について説明する。
【００３１】
発明者は、ハードウェアの故障によりデータ転送エラーが発生する場合、単位時間あたりのアクセス回数に対する単位時間あたりのデータ転送エラーの検知回数の割合が一定以上となる傾向があることを発見した。ハードウェア故障で一般的なモードは例えば地絡、短絡又はバッファの故障である。これらの故障により、例えばあるデータ線が「０」に固定されたとすると、データパターンが平均的にランダムであれば、理論的にはアクセス回数に対して５０％程度のデータ転送エラーが発生する。経験的には、アクセス回数に対するデータ転送エラーの検知回数が３０％を超えるとハードウェア故障の可能性が高い。一方、ノイズの影響によりデータ転送エラーが発生する場合は、アクセス回数とデータ転送エラーの検知回数との相関は少ない。
【００３２】
図４は、実施例２における情報処理装置１の動作例を示す図である。この例では単位時間（１０ｓ）あたりのアクセス回数は常に２０，０００回であったものとする。上図は、エラー検知部１０１が、所定の期間（５０ｓ）内に１０回のエラーを検知した場合の例である。１０回のデータ転送エラーは、記録部１０２により、単位時間（１０ｓ）ごとの検知回数として整理されている。すなわち時系列に従うと、１０ｓごとに２回、２回、２回、２回、２回のデータ転送エラーが発生している。この場合、データ転送エラーの発生頻度には規則性があるので、実施例１ではデータ転送エラーの発生原因はハードウェアの故障と判断されるところである。しかし実施例２では、識別部１０３はさらに、アクセス回数に対するデータ転送エラーの検知回数の割合を計算する。割合は１／１０，０００であり、予め定められたしきい値（３０／１００とする）以下である。よって識別部１０３は、データ転送エラーの発生原因はハードウェアの故障ではなく、ノイズの影響であると判断する。
【００３３】
図４下図は、エラー検知部１０１が、所定の期間（５０ｓ）内に５０，０００回のエラーを検知した場合の例である。５０，０００回のデータ転送エラーは、記録部１０２により、単位時間（１０ｓ）ごとの検知回数として整理されている。すなわち時系列に従うと、１０ｓごとに１０，０００回、１０，０００回、１０，０００回、１０，０００回、１０，０００回のデータ転送エラーが発生している。この場合、データ転送エラーの発生頻度には規則性があるので、実施例１ではデータ転送エラーの発生原因はハードウェアの故障と判断される。実施例２では、識別部１０３はさらに、アクセス回数に対するデータ転送エラーの検知回数の割合を計算する。割合は１／２であり、予め定められたしきい値（３０／１００とする）よりも大きい。よって識別部１０３は、データ転送エラーの発生原因はハードウェアの故障であると判断する。
【００３４】
このように識別部１０３は、データ転送エラーが規則的に発生しており、かつ、例えば単位時間あたりのアクセス回数に対する単位時間あたりのデータ転送エラーの検知回数の割合が所定のしきい値以上である場合に、データ転送エラーの発生原因はハードウェアの故障であると判断できる。例えばデータ転送エラーが規則的に発生しており、かつ、その区間において上記割合が３０％を超える場合、データ転送エラーの発生原因はハードウェアの故障であると判断する。
【００３５】
識別部１０３が上記判断において用いる、単位時間あたりのアクセス回数に対する単位時間あたりのデータ転送エラーの検知回数の割合のしきい値は、例えばユーザが入出力装置７０に入力する値に従って任意に設定可能であって良い。
【００３６】
実施例２によれば、データ転送エラーの発生原因をより高精度に識別することが可能である。
【００３７】
＜実施例３＞
実施例３として、データ転送エラーの発生原因がノイズの影響である場合に、ノイズの発生原因を追及するための手がかりをユーザに提示する方法について説明する。
【００３８】
図５に示すように、実施例３の情報処理装置１は、付加的な構成要素として動作取得部１０４をさらに有する。動作取得部１０４は、好ましくは上記単位時間と同じ周期で、デバイス８０や情報処理装置１の各所の動作状況を取得する。例えば情報処理装置１が数値制御装置であれば、外部信号を取り込むＩ／Ｏインタフェースを介して、外部機器すなわちデバイス８０のＯＮ／ＯＦＦの状況を取得できる。同様に、例えばモータの駆動状況を取得することもできる。
【００３９】
記録部１０２は、動作取得部１０４が上記周期ごとに取得した動作状況を記録、蓄積する。好ましくは、記録部１０２は動作状況や上述のデータ転送エラーの検知回数を、取得又は検知時刻とともに記録する。なお、デバイス８０の動作状況を記録する際には信号の伝搬遅延を考慮することができる。例えば、ユーザが入出力装置７０に入力する値に従って、遅延時間を任意に設定可能とする。そして実際に動作状況が取得された時刻から遅延時間だけ遡った時刻を、当該動作状況が発生した時刻として記録する。
【００４０】
識別部１０３は、データ転送エラーの発生原因がノイズの影響であると判断した場合、データ転送エラーの検知時刻又はその近傍時刻における動作状況をユーザに提示する。例えば図６及び図７に示すように、単位時間あたりのデータ転送エラーの検知回数を一覧表示し、これに並べて、当該検知回数が検知されたのとほぼ同時刻に取得された動作状況を入出力装置７０のディスプレイに表示する。なお図６は実施例１で示した事例において、データ転送エラーの発生原因がノイズの影響であると判断した場合の表示例である。図７は実施例２で示した事例において、データ転送エラーの発生原因がノイズの影響であると判断した場合の表示例である。
【００４１】
識別部１０３は、ある動作状況が複数回、データ転送エラーが検知されたのとほぼ同時刻に取得されている場合は、当該動作状況を強調表示することができる。これにより、ノイズの発生原因である蓋然性が高い動作状況を的確にユーザに提示することができる。
【００４２】
実施例３によれば、ノイズの発生原因を追及するための手がかりをユーザに提示する事が可能である。
【００４３】
＜実施例４＞
実施例４として、データ転送エラーの発生原因を機械学習により学習及び識別する方法について説明する。
【００４４】
図８は、実施例４の情報処理装置１の概略的な機能ブロック図である。情報処理装置１は、エラー検知部１０１、記録部１０２に加え、データ転送エラーの検知回数と、データ転送エラーの発生原因と、の相関関係を、いわゆる機械学習により自ら学習する機械学習装置２を備える。機械学習装置２は、実施例１乃至３における識別部１０３を代替するものである。
【００４５】
図８に機能ブロックで示すように、情報処理装置１が備える機械学習装置２は、状態観測部２０１、判定データ取得部２０２、学習部２０３を有する。
【００４６】
状態観測部２０１は、単位時間あたりのデータ転送エラーの検知回数のセットを、環境の現在状態を表す状態変数Ｓとして観測する。判定データ取得部２０２は、データ転送エラーの発生原因を示す判定データＤを取得する。学習部２０３は、状態変数Ｓと判定データＤとの相関関係を学習する。
【００４７】
状態観測部２０１が観測する状態変数Ｓ、すなわち単位時間あたりのデータ転送エラーの検知回数のセットとしては、記録部１０２に保存されたデータを用いることができる。例えば、単位時間あたりのデータ転送エラーの検知回数を、時系列順に所定数だけまとめたデータセットを状態変数Ｓとすることができる。具体的には、５０ｓの間に検出された１６０回のエラーを、単位時間（１０ｓ）ごとに区切って時系列順に整序してなるデータセット「１００，５０，０，１０，０」を状態変数Ｓとすることができる。
【００４８】
判定データ取得部２０２が取得する判定データＤ、すなわちデータ転送エラーの発生原因は、例えば状態変数Ｓのようなデータ転送エラーが発生したときに熟練の技術者が原因追求を行って判明した、データ転送エラーの発生原因を示す情報を用いることができる。例えば、データ転送エラーの発生原因がノイズの影響である場合は「１」、ハードウェア故障である場合は「２」を判定データＤとすることができる。
【００４９】
学習部２０３は、機械学習と総称される任意の学習アルゴリズムに従い、単位時間あたりのデータ転送エラーの検知回数のセットに対応するデータ転送エラーの発生原因を学習する。学習部２０３は、多数の状態変数Ｓと判定データＤとのデータセットを含むデータ集合に基づく学習を反復実行する。このような学習を繰り返すことにより、学習部２０３は、単位時間あたりのデータ転送エラーの検知回数のセットと、データ転送エラーの発生原因と、の相関関係を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時には、単位時間あたりのデータ転送エラーの検知回数のセットと、データ転送エラーの発生原因と、の相関関係は実質的に未知であるが、学習部２０３は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。単位時間あたりのデータ転送エラーの検知回数のセットと、データ転送エラーの発生原因と、の相関関係がある程度信頼できる水準まで解釈されると、学習部２０３が反復出力する学習結果は、現在状態（つまり単位時間あたりのデータ転送エラーの検知回数のセット）に対してデータ転送エラーの発生原因をどのように判断するべきかと言う行動の選択（つまり意思決定）を行うために使用できるものとなる。つまり学習部２０３は、学習アルゴリズムの進行に伴い、単位時間あたりのデータ転送エラーの検知回数のセットと、データ転送エラーの発生原因と、の相関関係を最適解に徐々に近づけることができる。
【００５０】
状態変数Ｓは外乱の影響を受け難いデータで構成され、また判定データＤはユーザにより入力されるデータで一義的に決定される。したがって、機械学習装置２によれば、学習部２０３の学習結果を用いることで、単位時間あたりのデータ転送エラーの検知回数のセットに対応するデータ転送エラーの発生原因を、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。これにより、単位時間あたりのデータ転送エラーの検知回数のセットを取得するだけで、データ転送エラーの発生原因を迅速に決定することができる。したがって、データ転送エラーの発生原因の追及に係る時間を短縮することができる。
【００５１】
機械学習装置２の変形例として、学習部２０３は、同一の構成を有する情報処理装置１から得られた状態変数Ｓ及び判定データＤを用いて学習を行うことができる。この構成によれば、一定時間で得られる状態変数Ｓと判定データＤとを含むデータ集合の量を増加できるので、より多様なデータ集合を入力として、学習の速度や信頼性を向上させることができる。
【００５２】
機械学習装置２では、学習部２０３が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図９は、図８に示す情報処理装置１の一形態であって、学習アルゴリズムとして教師あり学習を実行する学習部２０３を備えた構成を示す。教師あり学習は、入力とそれに対応する出力との既知のデータセット（教師データと称する）が予め大量に与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデルを学習する手法である。
【００５３】
図９に示す機械学習装置２において、学習部２０３は、状態変数Ｓ及び判定データＤから単位時間あたりのデータ転送エラーの検知回数のセットに対応するデータ転送エラーの発生原因を導く相関性モデルＭと、予め用意された教師データＴから識別される相関性特徴と、の誤差Ｅを計算する誤差計算部３２と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部３４と、を備える。学習部２０３は、モデル更新部３４が相関性モデルＭの更新を繰り返すことによって、単位時間あたりのデータ転送エラーの検知回数のセットに対応するデータ転送エラーの発生原因を学習する。
【００５４】
相関性モデルＭの初期値は、例えば、単位時間あたりのデータ転送エラーの検知回数のセットと、データ転送エラーの発生原因と、の相関関係を単純化して（例えば一次関数で）表現したものであり、教師あり学習の開始前に学習部２０３に与えられる。教師データＴは、例えば、熟練の技術者による過去のデータ転送エラーの原因追求作業において蓄積された経験値（単位時間あたりのデータ転送エラーの検知回数のセットと、データ転送エラーの発生原因との既知のデータセット）によって構成でき、教師あり学習の開始前に学習部２０３に与えられる。誤差計算部３２は、学習部２０３に与えられた大量の教師データＴから、単位時間あたりのデータ転送エラーの検知回数のセットと、データ転送エラーの発生原因と、の相関関係を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓ及び判定データＤに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部３４は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００５５】
このようにして、未知であった環境の現在状態とそれに対する行動との相関性が徐々に明らかになる。つまり単位時間あたりのデータ転送エラーの検知回数のセットと、データ転送エラーの発生原因と、の相関関係が、最適解に徐々に近づけられる。
【００５６】
教師あり学習を進める際に、ニューラルネットワークを用いることができる。図１０Ａにニューロンのモデルを模式的に示す。図１０Ｂは、図１０Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００５７】
図１０Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数１式により表現される出力ｙを出力する。なお、数１式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００５８】
【数１】
2019164762.tif 000003
【００５９】
図１０Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してＷ１で表す）が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００６０】
図１０Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してＷ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みＷ１と重みＷ２との間の特徴を表す。
【００６１】
図１０Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してＷ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みＷ２と重みＷ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
【００６２】
機械学習装置２においては、状態変数Ｓと判定データＤとを入力ｘとして、学習部２０３が上記ニューラルネットワークに従う多層構造の演算を行うことで、単位時間あたりのデータ転送エラーの検知回数のセットに対応するデータ転送エラーの発生原因（結果ｙ）を出力することができる。なおニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みＷを学習し、学習した重みＷを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００６３】
上記した情報処理装置１の構成は、コンピュータのＣＰＵが実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、単位時間あたりのデータ転送エラーの検知回数のセットに対応するデータ転送エラーの発生原因を学習する機械学習方法であって、コンピュータのＣＰＵが、単位時間あたりのデータ転送エラーの検知回数のセットを環境の現在状態を表す状態変数Ｓとして観測するステップと、データ転送エラーの発生原因を示す判定データＤを取得するステップと、状態変数Ｓと判定データＤとを用いて、単位時間あたりのデータ転送エラーの検知回数のセットとデータ転送エラーの発生原因とを関連付けて学習するステップとを有する。
【００６４】
実施例４によれば、実施例１乃至３では経験等に基づいて適宜設定していた各種のしきい値や範囲等を設定する必要がなく、単位時間あたりのデータ転送エラーの検知回数のセットに対応するデータ転送エラーの発生原因を、演算や目算によらずに自動的に、しかも正確に出力することができる。また実施例４によれば、実施例１乃至３に示されていない、すなわち未だ把握されていないような、単位時間あたりのデータ転送エラーの検知回数のセットと、データ転送エラーの発生原因と、の相関関係を機械学習によりモデル化することができるので、より高精度な判断ができる可能性がある。
【００６５】
機械学習装置２の学習部２０３により学習されて得られた学習済みのモデル（以下、学習済みモデルとする）は機械学習に係るソフトウェアの一部であるプログラムモジュールとしての利用することが可能である。本発明の学習済みモデルは、ＣＰＵやＧＰＵ等のプロセッサとメモリを備えるコンピュータにて用いることができる。より具体的には、コンピュータのプロセッサが、メモリに記憶された学習済みモデルからの指令に従って、単位時間あたりのデータ転送エラーの検知回数のセットを入力として演算を行い、演算結果に基づいてデータ転送エラーの発生原因の推定結果を出力するように動作する。本発明の学習済みモデルは、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
【００６６】
また、本発明の学習済みモデルを他のコンピュータに対して複製して新しい環境で利用する際に、当該環境で得られた新たな状態変数や判定データに基づいて当該学習済みモデルに対して更なる学習を行わせることもできる。このようにした場合、当該環境による学習済みモデルから派生した学習済みモデル（以下、派生モデルとする）を得ることが可能である。本発明の派生モデルは、単位時間あたりのデータ転送エラーの検知回数のセットからデータ転送エラーの発生原因の推定結果を出力するという点では元の学習済みモデルと同じだが、元の学習済みモデルよりも新しい環境に適合した結果を出力するという点で異なる。この派生モデルもまた、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
【００６７】
更に、本発明の学習済みモデルを組み込んだ機械学習装置に対する入力に対して得られる出力を用いて、他の機械学習装置において１から学習を行うことで得られる学習済みモデル（以下、蒸留モデルとする）を作成し、これを利用することも可能である（このような学習工程を蒸留と言う）。蒸留において、元の学習済みモデルを教師モデル、新たに作成する蒸留モデルを生徒モデルとも言う。一般に、蒸留モデルは元の学習済みモデルよりもサイズが小さく、それでいて元の学習済みモデルと同等の正確度を出せるため、外部記憶媒体やネットワーク等を介した他のコンピュータに対する配布により適している。
【００６８】
以下の実施例５〜７では、実施例４による情報処理装置１が、クラウドサーバやホストコンピュータ、フォグコンピュータ、エッジコンピュータ（ロボットコントローラ、制御装置等）を含む複数の装置と有線／無線のネットワークを介して相互に接続したシステムの実施例について説明する。図１１に例示されるように、以下の実施例５〜７では、複数の装置のそれぞれがネットワークに接続された状態でクラウドサーバ６等を含む層、フォグコンピュータ７等を含む層、エッジコンピュータ８（セル９に含まれるロボットコントローラ、制御装置等）等を含む層の、３つの階層に論理的に分けて構成されているシステムを想定する。この様なシステムに於いて、本発明による一態様による情報処理装置１は、クラウドサーバ６、フォグコンピュータ７、エッジコンピュータ８のいずれの上にも実装することが可能であり、それぞれの複数の装置との間でネットワークを介して相互に機械学習に係る処理で用いるデータを共有して分散学習をしたり、生成した学習済みモデルをフォグコンピュータ７やクラウドサーバ６に収集して大規模な解析を行ったり、更に、生成した学習済みモデルの相互再利用等をしたりすることができる。図１１に例示されるシステムにおいて、セル９は各地の工場にそれぞれ複数設けられ、それぞれのセル９を所定の単位（工場単位、同じ製造業者の複数の工場単位等）で上位層のフォグコンピュータ７が管理する。そして、これらフォグコンピュータ７が収集、解析したデータを、更に上位層のクラウドサーバ６で収集、解析等を行い、その結果として得られた情報を各々のエッジコンピュータ８における制御等に活用することができる。
【００６９】
＜実施例５＞
実施例５として、情報処理装置１を備えたシステムについて説明する。
図１２は、情報処理装置１を備えた実施例５のシステムの概略的な構成図である。システム３は、複数の情報処理装置１、１’と、それら情報処理装置１、１’を互いに接続するネットワーク３１とを備える。このうち情報処理装置１が機械学習装置２を備える。一方、情報処理装置１’は機械学習装置２を備えない。この内、機械学習装置２を備える情報処理装置１は、例えばクラウドサーバ、ホストコンピュータ、フォグコンピュータ等のコンピュータとして実装しても良い。
【００７０】
システム３では、複数の情報処理装置１、１’のうちで機械学習装置２を備える情報処理装置１が、学習部２０３の学習結果を用いて、単位時間あたりのデータ転送エラーの検知回数のセットに対応するデータ転送エラーの発生原因を、目算等によらずに自動的に、しかも正確に求めることができる。また、少なくとも１つの情報処理装置１が、他の複数の情報処理装置１、１’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての情報処理装置１、１’に共通する単位時間あたりのデータ転送エラーの検知回数のセットに対応するデータ転送エラーの発生原因を学習し、その学習結果を全ての情報処理装置１、１’が共有するように構成できる。したがってシステム３によれば、より多様なデータ集合（状態変数Ｓ及び判定データＤを含む）を入力として、学習の速度や信頼性を向上させることができる。
【００７１】
＜実施例６＞
実施例６として、機械学習装置２と情報処理装置１とを異なる装置上に実装したシステムについて説明する。
図１３は、機械学習装置２と情報処理装置１とを異なる装置上に実装した実施例６のシステムの概略的な構成図である。システム３’は、クラウドサーバ、ホストコンピュータ、フォグコンピュータ等のコンピュータ５の一部として実装された少なくとも１台の機械学習装置２と、複数の情報処理装置１’と、それら情報処理装置１’とコンピュータ５とを互いに接続するネットワーク３１とを備える。なお、コンピュータ５のハードウェア構成は、図１に示した情報処理装置１の概略的なハードウェア構成と同様に、ＣＰＵ１１、揮発性メモリ１３，不揮発性メモリ１４等の一般的なコンピュータが備えるハードウェアがバス２０を介して接続して構成される。
【００７２】
上記構成を有するシステム３’は、機械学習装置２が、複数の情報処理装置１’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての情報処理装置１’に共通する単位時間あたりのデータ転送エラーの検知回数のセットに対応するデータ転送エラーの発生原因を学習し、その学習結果を用いて、単位時間あたりのデータ転送エラーの検知回数のセットに対応するデータ転送エラーの発生原因を、演算や目算によらずに自動的に、しかも正確に求めることができる。システム３’の構成によれば、複数の情報処理装置１’のそれぞれが存在する場所や時期に関わらず、必要なときに必要な数の情報処理装置１’を機械学習装置２に接続することができる。
【００７３】
＜実施例７＞
実施例７として、機械学習装置２’と情報処理装置１とを備えたシステムについて説明する。
図１４は、機械学習装置２’と情報処理装置１とを備えた実施例７によるシステム３”の概略的な構成図である。システム３”は、エッジコンピュータやフォグコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータ５の上に実装された少なくとも１台の機械学習装置２’と、複数の情報処理装置１と、それら情報処理装置１とコンピュータ５とを互いに接続する有線／無線のネットワーク３１とを備える。
【００７４】
上記構成を有するシステム３”では、機械学習装置２’を備えるコンピュータ５が、各々の情報処理装置１から、該情報処理装置１が備える機械学習装置２による機械学習の結果として得られた学習済みモデルを取得する。そして、コンピュータ５が備える機械学習装置２’は、これら複数の学習済みモデルに基づく知識の最適化や効率化の処理を行うことで、新たに最適化乃至効率化された学習済みモデルを生成し、生成した学習済みモデルを各々の情報処理装置１に対して配布する。
【００７５】
機械学習装置２’が行う学習済みモデルの最適化乃至効率化の例としては、各情報処理装置１から取得した複数の学習済みモデルに基づいた蒸留モデルの生成が挙げられる。この場合、本実施例による機械学習装置２’は、学習済みモデルに対して入力する入力データを作成し、該入力データを各々の学習モデルに対して入力した結果として得られる出力を用いて、１から学習を行うことで新たに学習済みモデル（蒸留モデル）を生成する。このようにして生成された蒸留モデルは、上記でも説明したように、外部記憶媒体やネットワーク３１を介して情報処理装置１や他のコンピュータに対して配布して活用される。
【００７６】
機械学習装置２’が行う学習済みモデルの最適化乃至効率化の他の例としては、各情報処理装置１から取得した複数の学習済みモデルに対して蒸留を行う過程において、入力データに対する各学習済みモデルの出力データの分布を一般的な統計的手法で解析し、入力データと出力データの組の外れ値を抽出し、該外れ値を除外した入力データと出力データの組を用いて蒸留を行うことも考えられる。このような過程を経ることで、それぞれの学習済みモデルから得られる入力データと出力データの組から例外的な推定結果を除外し、例外的な推定結果を除外した入力データと出力データの組を用いて蒸留モデルを生成することができる。このようにして生成された蒸留モデルは、複数の情報処理装置１で生成された学習済みモデルと比べてより汎用的な学習済みモデルとして活用することが可能となる。
なお、他の一般的な学習済みモデルの最適化乃至効率化の手法（各学習済みモデルを解析し、その解析結果に基づいて学習済みモデルのハイパーパラメータを最適化する等）も適宜導入することが可能である。
【００７７】
本実施例によるシステム３”では、例えばエッジコンピュータとしての複数の情報処理装置１に対して設置されたフォグコンピュータとしてのコンピュータ５の上に機械学習装置２’を配置し、各々の情報処理装置１で生成された学習済みモデルをフォグコンピュータ上に集約して記憶しておき、記憶した複数の学習済みモデルに基づいた最適化乃至効率化を行った上で、最適化乃至効率化された学習済みモデルを必要に応じて各情報処理装置１に対して再配布するという運用を行うことができる。
【００７８】
また、本実施例によるシステム３”では、例えばフォグコンピュータとしてのコンピュータ５の上に集約して記憶された学習済みモデルや、フォグコンピュータ上で最適化乃至効率化された学習済みモデルを、更に上位のホストコンピュータやクラウドサーバ上に集め、これら学習済みモデルを用いて工場や情報処理装置１のメーカでの知的作業への応用（上位サーバでの更なる汎用的な学習済みモデルの構築及び再配布、学習済みモデルの解析結果に基づく保守作業の支援、各々の情報処理装置１の性能等の分析、新しい機械の開発への応用等）を行うことができる。
【００７９】
本発明によれば、データ転送エラーの原因を迅速に切り分けることが可能である。データ転送エラーに対する対策は原因によって全く異なので、原因を早期に切り分けることは、ダウンタイムの短縮、早期復旧の観点から非常に重要である。
【００８０】
なお、本発明は上述の形態に限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００８１】
１，１’  情報処理装置
５  コンピュータ
６  クラウドサーバ
７  フォグコンピュータ
８  エッジコンピュータ
９  セル
１１  ＣＰＵ
１３  揮発性メモリ
１４  不揮発性メモリ
１５，１６，１７  インタフェース
２０  バス
７０  入出力装置
８０  デバイス
１０１  エラー検知部
１０２  記録部
１０３  識別部
１０４  動作取得部
２，２’  機械学習装置
２０１  状態観測部
２０２  判定データ取得部
２０３  学習部
３，３’，３”  システム
３１  ネットワーク
【図１】
2019164762.tif 000004
【図２】
2019164762.tif 000005
【図３】
2019164762.tif 000006
【図４】
2019164762.tif 000007
【図５】
2019164762.tif 000008
【図６】
2019164762.tif 000009
【図７】
2019164762.tif 000010
【図８】
2019164762.tif 000011
【図９】
2019164762.tif 000012
【図１０Ａ】
2019164762.tif 000013
【図１０Ｂ】
2019164762.tif 000014
【図１１】
2019164762.tif 000015
【図１２】
2019164762.tif 000016
【図１３】
2019164762.tif 000017
【図１４】
2019164762.tif 000018