(57)【要約】【課題】教師データとして用いることができる異常データの数が少ない場合であっても、抽出対象の異常データを精度良く抽出することを可能とする機械学習プログラム、機械学習方法及び機械学習システムを提供する。【解決手段】複数のセンサから出力される複数のセンサデータの深層教師なし学習を行うことによって、第１モデルを生成し、前記複数のセンサデータごとに、各センサデータと、各センサデータの入力に伴って前記第１モデルから出力される復元センサデータとの比較結果から、各センサデータに対応する特徴量を抽出し、抽出した前記特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報とを対応付けたデータの教師付き学習を行うことによって、第２モデルを生成する。【選択図】図１２
2020140279.tif 000002
【特許請求の範囲】
【請求項１】
複数のセンサから出力される複数のセンサデータの深層教師なし学習を行うことによって、第１モデルを生成し、
前記複数のセンサデータごとに、各センサデータと、各センサデータの入力に伴って前記第１モデルから出力される復元センサデータとの比較結果から、各センサデータに対応する特徴量を抽出し、
抽出した前記特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報とを対応付けたデータの教師付き学習を行うことによって、第２モデルを生成する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項２】
請求項１において、
前記第１モデルを生成する処理では、前記複数のセンサデータのうち、正常状態を示す前記状態情報に対応付けられたセンサデータの深層教師なし学習を行う、
ことを特徴とする機械学習プログラム。
【請求項３】
請求項１において、
前記特徴量を抽出する処理では、
前記複数のセンサデータごとに、各センサデータと各センサデータに対応する前記復元センサデータとの差分を示す差分センサデータを生成し、
生成した前記差分センサデータのそれぞれから、前記特徴量を抽出する、
ことを特徴とする機械学習プログラム。
【請求項４】
請求項３において、
前記複数のセンサデータのそれぞれは、前記複数のセンサのうちのいずれかから出力された情報の所定の時間帯における推移を示す情報であり、
前記特徴量を抽出する処理では、前記所定の時間帯に含まれる複数の時間帯ごとの前記差分センサデータのそれぞれから、前記特徴量を抽出する、
ことを特徴とする機械学習プログラム。
【請求項５】
請求項１において、
前記第２モデルを生成する処理では、
前記複数のセンサデータのそれぞれから他の特徴量を抽出し、
前記複数のセンサデータごとに、前記特徴量と前記他の特徴量とを結合することによって結合特徴量を生成し、
生成した前記結合特徴量ごとに、各結合特徴量と、各結合特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報とを対応付けた情報の教師付き学習を行う、
ことを特徴とする機械学習プログラム。
【請求項６】
請求項１において、さらに、
前記複数のセンサのうちのいずれかのセンサデータから新たなセンサデータが出力された場合、前記新たなセンサデータと、前記新たなセンサデータの入力に伴って前記第１モデルから出力されるセンサデータとの比較結果から、新たな特徴量を抽出し、
前記新たな特徴量の入力に伴って前記第２モデルから出力されるスコアを取得し、
取得した前記スコアを出力する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項７】
請求項６において、
前記第１モデルを生成する処理では、
前記複数のセンサデータのうちの少なくとも一部をそれぞれ含む複数のグループを生成し、
前記複数のグループごとに、前記第１モデルを生成し、
前記特徴量を抽出する処理では、生成した前記複数のグループごとに、各グループに含まれるセンサデータを用いることによって前記特徴量を抽出し、
前記第２モデルを生成する処理では、生成した前記複数のグループごとに、各グループに対応する前記特徴量を用いることによって前記第２モデルを生成し、さらに、
生成した前記第２モデルのうち、所定の条件を満たす前記第２モデルの生成に用いられた前記第１モデルを特定し、
特定した前記第１モデルを示す情報を出力する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項８】
請求項７において、
前記複数のグループのそれぞれに含まれるセンサデータは、前記複数のグループのうちの他のグループに含まれるセンサデータと少なくとも一部が異なる、
ことを特徴とする機械学習プログラム。
【請求項９】
請求項６において、
前記第１モデルを生成する処理では、
前記複数のセンサデータのうちの少なくとも一部をそれぞれ含む複数のグループを生成し、
前記複数のグループごとに、前記第１モデルを生成し、
前記特徴量を抽出する処理では、生成した前記第１モデルごとに、各モデルを用いることによって前記特徴量を抽出し、
前記第２モデルを生成する処理では、生成した前記第１モデルごとに、各モデルに対応する前記特徴量を用いることによって前記第２モデルを生成し、さらに、
生成した前記第２モデルのうち、所定の条件を満たす前記第２モデルの生成に用いられた前記第１モデルを特定し、
特定した前記第１モデルを示す情報を出力する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項１０】
複数のセンサから出力される複数のセンサデータの深層教師なし学習を行うことによって、第１モデルを生成し、
前記複数のセンサデータごとに、各センサデータと、各センサデータの入力に伴って前記第１モデルから出力される復元センサデータとの比較結果から、各センサデータに対応する特徴量を抽出し、
抽出した前記特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報とを対応付けたデータの教師付き学習を行うことによって、第２モデルを生成する、
処理をコンピュータに実行させることを特徴とする機械学習方法。
【請求項１１】
複数のセンサと、前記複数のセンサと接続する情報処理装置と、を有する機械学習システムにおいて、
前記複数のセンサのそれぞれは、検知したセンサデータを前記情報処理装置に送信し、
前記情報処理装置は、
前記複数のセンサから送信される複数のセンサデータの深層教師なし学習を行うことによって、第１モデルを生成し、
前記複数のセンサデータごとに、各センサデータと、各センサデータの入力に伴って前記第１モデルから出力される復元センサデータとの比較結果から、各センサデータに対応する特徴量を抽出し、
抽出した前記特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報とを対応付けたデータの教師付き学習を行うことによって、第２モデルを生成する、
ことを特徴とする機械学習システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習プログラム、機械学習方法及び機械学習システムに関する。
【背景技術】
【０００２】
例えば、利用者に対してサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、サービスの提供を行うために必要な処理を行う業務システムを稼働させる。具体的に、事業者は、例えば、多数のセンサから出力されたセンサデータの中から、異常状態の発生を示すセンサデータ（以下、異常データとも呼ぶ）を抽出する業務システムの構築を行う。
【０００３】
このような業務システムでは、例えば、センサから出力された新たなセンサデータを受信した場合、多数のセンサデータを予め学習した教師付き学習モデルに対して、受信した新たなセンサデータを入力する。そして、業務システムは、教師付き学習モデルから出力されたデータに基づいて、新たなセンサデータが異常データであるか否かの推定を行う。
【０００４】
ここで、上記のような学習モデルの生成を行う場合、事業者は、教師データとして用いる多数の異常データを予め用意する必要がある。そのため、例えば、各センサにおける異常データの出力頻度が低い場合、事業者は、必要な数の異常データを予め用意することができず、認識精度が高い教師付き学習モデルを生成することができない場合がある。
【０００５】
そこで、業務システムは、例えば、正常状態を示すセンサデータ（以下、正常データとも呼ぶ）のみを学習させることにより、深層教師なし学習モデルを生成する。そして、業務システムは、例えば、新たなセンサデータを受信した場合、受信したセンサデータを深層教師なし学習モデルに入力することによって、受信したセンサデータの復元を行う。その後、業務システムは、受信したセンサデータと、復元したセンサデータ（以下、復元センサデータとも呼ぶ）とを比較することにより、受信したセンサデータの異常状態の推定を行う。
【０００６】
これにより、事業者は、十分な数の異常データを用意することができない場合であっても、新たなセンサデータの異常状態の推定を行うことが可能になる（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｏ．Ｌｙｕｄｃｈｉｋ，“Ｏｕｔｌｉｅｒ  ｄｅｔｅｃｔｉｏｎ  ｕｓｉｎｇ  ａｕｔｏｅｎｃｏｄｅｒｓ”，  ２０１６
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の方法は、新たなセンサデータの特徴が学習済の正常データの特徴から確率的に外れている場合に、新たなセンサデータを異常データとして抽出するものである。そのため、上記の方法では、異常データとして抽出すべきでないセンサデータについても異常データとして抽出する場合がある。
【０００９】
そこで、一つの側面では、本発明は、教師データとして用いることができる異常データの数が少ない場合であっても、抽出対象の異常データを精度良く抽出することを可能とする機械学習プログラム、機械学習方法及び機械学習システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施の形態の一態様では、複数のセンサから出力される複数のセンサデータの深層教師なし学習を行うことによって、第１モデルを生成し、前記複数のセンサデータごとに、各センサデータと、各センサデータの入力に伴って前記第１モデルから出力される復元センサデータとの比較結果から、各センサデータに対応する特徴量を抽出し、抽出した前記特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報とを対応付けたデータの教師付き学習を行うことによって、第２モデルを生成する、処理をコンピュータに実行させる。
【発明の効果】
【００１１】
一つの側面によれば、教師データとして用いることができる異常データの数が少ない場合であっても、抽出対象の異常データを精度良く抽出することを可能とする。
【図面の簡単な説明】
【００１２】
【図１】図１は、情報処理システム１０の構成について説明する図である。
【図２】図２は、情報処理装置１のハードウエア構成を説明する図である。
【図３】図３は、情報処理装置１の機能のブロック図である。
【図４】図４は、第１の実施の形態における機械学習処理の概略を説明するフローチャート図である。
【図５】図５は、第１の実施の形態における機械学習処理の詳細を説明するフローチャート図である。
【図６】図６は、第１の実施の形態における機械学習処理の詳細を説明するフローチャート図である。
【図７】図７は、第１の実施の形態における機械学習処理の詳細を説明するフローチャート図である。
【図８】図８は、第１の実施の形態における機械学習処理の詳細を説明するフローチャート図である。
【図９】図９は、第１の実施の形態における機械学習処理の詳細を説明するフローチャート図である。
【図１０】図１０は、第１の実施の形態における機械学習処理の詳細を説明するフローチャート図である。
【図１１】図１１は、第１の実施の形態における機械学習処理の詳細を説明するフローチャート図である。
【図１２】図１２は、第１の実施の形態における機械学習処理の詳細を説明する図である。
【図１３】図１３は、第１の実施の形態における機械学習処理の詳細を説明する図である。
【図１４】図１４は、センサデータ１３１の具体例を説明する図である。
【図１５】図１５は、復元センサデータ１３１ａの具体例を説明する図である。
【図１６】図１６は、差分センサデータ１３１ｂの具体例を説明する図である。
【図１７】図１７は、差分センサデータ１３１ｂの具体例を説明する図である。
【図１８】図１８は、Ｓ４２の処理の具体例について説明する図である。
【図１９】図１９は、Ｓ４３の処理の具体例について説明する図である。
【図２０】図２０は、第２の実施の形態における機械学習処理及び異常推定処理を説明するフローチャート図である。
【図２１】図２１は、第２の実施の形態における機械学習処理及び異常推定処理を説明するフローチャート図である。
【図２２】図２２は、第２の実施の形態における機械学習処理及び異常推定処理を説明するフローチャート図である。
【図２３】図２３は、第２の実施の形態における機械学習処理及び異常推定処理を説明するフローチャート図である。
【図２４】図２４は、第２の実施の形態における機械学習処理及び異常推定処理を説明するフローチャート図である。
【図２５】図２５は、第２の実施の形態における機械学習処理を説明する図である。
【図２６】図２６は、第２の実施の形態における機械学習処理を説明する図である。
【発明を実施するための形態】
【００１３】
［情報処理システムの構成］
初めに、情報処理システム１０の構成について説明を行う。図１は、情報処理システム１０の構成について説明する図である。
【００１４】
図１に示すように、情報処理システム１０は、例えば、１台以上の物理マシンからなる情報処理装置１と、検知したセンサデータを情報処理装置１に対して送信する複数のセンサ５とを含む。
【００１５】
センサ５は、例えば、工場に勤務する作業者に装着されたウェアラブルセンサであり、ネットワークＮＷを介して情報処理装置１と接続する。そして、センサ５は、例えば、加速度データ、音圧データ、気圧データまたは照度データ等を検知した場合に、これらをセンサデータとして情報処理装置１に送信する。具体的に、センサ５は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）やＷｉｆｉ等による無線通信を行うことによって、各センサデータを情報処理装置１に送信する。
【００１６】
情報処理装置１は、例えば、複数のセンサ５からそれぞれ出力される複数のセンサデータの深層教師なし学習を行うことによって、深層教師なし学習モデルである第１モデルを生成する。そして、情報処理装置１は、複数のセンサデータごとに、各センサデータと、各センサデータの入力に伴って第１モデルから出力されるセンサデータ（以下、復元センサデータとも呼ぶ）との比較結果から、各センサデータに対応する特徴量を抽出する。具体的に、情報処理装置１は、センサデータと復元センサデータとの比較結果から、必要なドメイン知識を組み込むことが可能な方法で特徴量の抽出を行う。
【００１７】
その後、情報処理装置１は、抽出した特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報とを対応付けたデータの教師付き学習を行うことによって、教師付き学習モデルである第２モデルを生成する。
【００１８】
これにより、情報処理装置１は、ドメイン知識が組み込まれた特徴量を含む教師データから生成される学習モデルを用いることで、異常データとして抽出すべきでないセンサデータが異常データとして抽出されることの抑制が可能になる。そのため、情報処理装置１は、センサ５が出力したセンサデータが異常データであるか否かの判定を精度良く行うことが可能になる。
【００１９】
［情報処理システムのハードウエア構成］
次に、情報処理システム１０のハードウエア構成について説明する。図２は、情報処理装置１のハードウエア構成を説明する図である。
【００２０】
情報処理装置１は、図２に示すように、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２１】
記憶媒体１０４は、例えば、各学習モデルを生成する処理（以下、機械学習処理とも呼ぶ）を行うためのプログラム１１０を記憶するプログラム格納領域（図示しない）を有する。また、記憶媒体１０４は、例えば、機械学習処理を行う際に用いられる情報を記憶する記憶部１３０（以下、情報格納領域１３０とも呼ぶ）を有する。なお、記憶媒体１０４は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｋｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）であってよい。
【００２２】
ＣＰＵ１０１は、記憶媒体１０４からメモリ１０２にロードされたプログラム１１０を実行して機械学習処理を行う。
【００２３】
また、外部インターフェース１０３は、例えば、複数のセンサ５と通信を行う。
【００２４】
［情報処理システムの機能］
次に、情報処理システム１０の機能について説明を行う。図３は、情報処理装置１の機能のブロック図である。
【００２５】
情報処理装置１は、図３に示すように、例えば、ＣＰＵ１０１やメモリ１０２等のハードウエアとプログラム１１０とが有機的に協働することにより、情報受付部１１１と、情報管理部１１２と、第１モデル生成部１１３と、情報復元部１１４と、第１特徴抽出部１１５と、第２特徴抽出部１１６と、特徴結合部１１７と、第２モデル生成部１１８と、データ選択部１１９と、モデル選択部１２０と、出力情報生成部１２１と、情報出力部１２２とを含む各種機能を実現する。
【００２６】
また、情報処理装置１は、例えば、図３に示すように、センサデータ１３１と、教師データ１３２と、第１モデル１３３と、第２モデル１３４と、第１重み情報１３５と、第２重み情報１３６と、出力情報１３７と、モデル選択情報１３８とを情報格納領域１３０に記憶する。
【００２７】
初めに、第１モデル１３３及び第２モデル１３４の生成を行う際の各機能について説明を行う。
【００２８】
情報受付部１１１は、例えば、センサ５から送信されたセンサデータ１３１を受け付ける。ここでのセンサデータ１３１は、例えば、第１モデル１３３及び第２モデル１３４の生成に用いられるセンサデータ１３１である。
【００２９】
情報管理部１１２は、例えば、情報受付部１１１が受信したセンサデータ１３１を情報格納領域１３０に記憶する。
【００３０】
また、情報管理部１１２は、例えば、情報格納領域１３０に記憶されたセンサデータ１３１と、各センサデータ１３１が異常状態に対応するか否かを示す状態情報（以下、ラベルとも呼ぶ）とを対応付けた教師データ１３２を生成する。そして、情報管理部１１２は、例えば、生成した教師データ１３２を情報格納領域１３０に記憶する。なお、各センサデータ１３１に対応するラベルは、例えば、各センサデータ１３１が異常データであることを示すラベル、または、各センサデータ１３１が正常データであることを示すラベルである。また、各センサデータ１３１に対応するラベルは、例えば、各センサデータ１３１の内容を参照した運用者によって予め決定されるものである。
【００３１】
第１モデル生成部１１３は、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１を入力とする深層教師なし学習を行うことによって、第１モデル１３３を生成する。具体的に、第１モデル生成部１１３は、例えば、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１のうち、正常データにあることを示すラベルに対応付けられたセンサデータ１３１を入力とする深層教師なし学習を行うことによって、第１モデル１３３の生成を行う。そして、情報管理部１１２は、例えば、第１モデル生成部１１３が生成した第１モデル１３３に対応する第１重み情報１３５を情報格納領域１３０に記憶する。
【００３２】
情報復元部１１４は、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１のそれぞれを、第１モデル生成部１１３が生成した第１モデル１３３に入力する。そして、情報復元部１１４は、各センサデータ１３１の入力に伴って第１モデル１３３から出力されるセンサデータ１３１ａ（以下、復元センサデータ１３１ａとも呼ぶ）を取得する。
【００３３】
第１特徴抽出部１１５は、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１ごとに、各センサデータ１３１と、各センサデータ１３１に対応する復元センサデータ１３１ａとの比較結果から、各センサデータ１３１に対応する第１特徴量を抽出する。
【００３４】
第２特徴抽出部１１６は、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１ごとに、各センサデータ１３１から各センサデータ１３１に対応する第２特徴量（以下、他の特徴量とも呼ぶ）を抽出する。
【００３５】
特徴結合部１１７は、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１ごとに、第１特徴抽出部１１５が抽出した第１特徴量と、第２特徴抽出部１１６が抽出した第２特徴量とを結合して第３特徴量（以下、結合特徴量とも呼ぶ）を生成する。
【００３６】
第２モデル生成部１１８は、特徴結合部１１７が生成した第３特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータ１３１のラベルとを対応付けたデータを入力とする教師付き学習を行うことによって、第２モデル１３４を生成する。そして、情報管理部１１２は、例えば、第２モデル生成部１１８が生成した第２モデル１３４に対応する第２重み情報１３６を情報格納領域１３０に記憶する。
【００３７】
なお、第２モデル生成部１１８は、例えば、第１特徴抽出部１１５が抽出した第１特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータ１３１のラベルとを対応付けたデータを入力とする教師付き学習を行うことによって、第２モデル１３４を生成するものであってもよい。
【００３８】
データ選択部１１９は、複数の第１モデル１３３の生成を行う場合、情報格納領域１３０に記憶された教師データ１３２から、第１モデル１３３のそれぞれの生成に用いる教師データ１３２をそれぞれ選択する。
【００３９】
モデル選択部１２０は、複数の第１モデル１３３の生成が行われた場合、生成された複数の第１モデル１３３から、所定の条件を満たす第１モデル１３３を選択する。具体的に、モデル選択部１２０は、例えば、各センサデータ１３１が異常データであるか否かの判定を精度良く行うことができる第１モデル１３３の選択を行う。そして、情報管理部１１２は、例えば、モデル選択部１２０が選択した第１モデル１３３を示す情報であるモデル選択情報１３８を情報格納領域１３０に記憶する。
【００４０】
次に、第１モデル１３３及び第２モデル１３４の生成が行われた後の各機能（第１モデル１３３及び第２モデル１３４を用いる際の各機能）について説明を行う。
【００４１】
情報受付部１１１は、例えば、センサ５から送信された新たなセンサデータ１３１を受け付ける。ここでの新たなセンサデータ１３１は、例えば、異常データであるか否かの判定が行われるセンサデータ１３１である。
【００４２】
情報復元部１１４は、情報受付部１１１が受け付けた新たなセンサデータ１３１を、第１モデル生成部１１３が生成した第１モデル１３３に入力する。そして、情報復元部１１４は、新たなセンサデータ１３１の入力に伴って第１モデル１３３から出力される新たな復元センサデータ１３１ａを取得する。
【００４３】
第１特徴抽出部１１５は、情報受付部１１１が受け付けた新たなセンサデータ１３１と、情報復元部１１４が取得した新たな復元センサデータ１３１ａとを比較結果から、新たなセンサデータ１３１に対応する第１特徴量を抽出する。
【００４４】
第２特徴抽出部１１６は、情報受付部１１１が受け付けた新たなセンサデータ１３１から、新たなセンサデータ１３１に対応する第２特徴量を抽出する。
【００４５】
特徴結合部１１７は、第１特徴抽出部１１５が抽出した第１特徴量と、第２特徴抽出部１１６が抽出した第２特徴量とを結合して第３特徴量を生成する。
【００４６】
出力情報生成部１２１は、特徴結合部１１７が生成した第３特徴量を、第２モデル生成部１１８が生成した第２モデル１３４に入力する。そして、出力情報生成部１２１は、第３特徴量の入力に伴って第２モデル１３４から出力されるスコアを取得する。
【００４７】
なお、出力情報生成部１２１は、例えば、第１特徴抽出部１１５が抽出した第１特徴量を、第２モデル生成部１１８が生成した第２モデル１３４に入力することによってスコアを取得するものであってもよい。
【００４８】
情報出力部１２２は、出力情報生成部１２１が取得したスコアを出力情報１３７として出力する。具体的に、情報出力部１２２は、例えば、出力情報１３７を運用者の操作端末（図示しない）に出力する。
【００４９】
［第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図４は、第１の実施の形態における機械学習処理の概略を説明するフローチャート図である。
【００５０】
情報処理装置１は、図４に示すように、機械学習実行タイミングまで待機する（Ｓ１のＮＯ）。機械学習実行タイミングは、例えば、運用者が機械学習処理を開始する旨の情報を情報処理装置１に入力したタイミングであってよい。
【００５１】
そして、機械学習実行タイミングになった場合（Ｓ１のＹＥＳ）、情報処理装置１は、複数のセンサ５から出力される複数のセンサデータ１３１の深層教師なし学習を行うことによって、第１モデル１３３を生成する（Ｓ２）。
【００５２】
続いて、情報処理装置１は、複数のセンサデータ１３１ごとに、各センサデータ１３１と、各センサデータ１３１の入力に伴ってＳ２の処理で生成した第１モデル１３３から出力される復元センサデータ１３１ａとの比較結果から、各センサデータ１３１に対応する特徴量（例えば、第１特徴量）を抽出する（Ｓ３）。
【００５３】
その後、情報処理装置１は、Ｓ３の処理で抽出した特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報（ラベル）とを対応付けたデータの教師付き学習を行うことによって、第２モデル１３４を生成する（Ｓ４）。
【００５４】
すなわち、情報処理装置１は、センサデータ１３１と復元センサデータ１３１ａとの比較結果から、必要なドメイン知識を組み込むことが可能な方法で特徴量の抽出を行う。
【００５５】
これにより、情報処理装置１は、ドメイン知識が組み込まれた特徴量を含む教師データ１３２から生成される学習モデルを用いることで、異常データとして抽出すべきでないセンサデータ１３１が異常データとして抽出されることの抑制が可能になる。そのため、情報処理装置１は、センサ５が出力したセンサデータ１３１が異常データであるか否かの判定を精度良く行うことが可能になる。
【００５６】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図５から図１１は、第１の実施の形態における機械学習処理の詳細を説明するフローチャート図である。また、図１２から図１９は、第１の実施の形態における機械学習処理の詳細を説明する図である。
【００５７】
［データ蓄積処理］
初めに、センサデータ１３１の蓄積を行う処理（以下、データ蓄積処理とも呼ぶ）について説明を行う。図５は、データ蓄積処理を説明するフローチャート図である。
【００５８】
情報処理装置１の情報受付部１１１は、図５及び図１２に示すように、複数のセンサ５のいずれかからセンサデータ１３１を受け付けるまで待機する（Ｓ１１のＮＯ）。
【００５９】
そして、センサデータ１３１を受け付けた場合（Ｓ１１のＹＥＳ）、情報処理装置１の情報管理部１１２は、受け付けたセンサデータ１３１を情報格納領域１３０に記憶する。以下、センサデータ１３１の具体例について説明を行う。
【００６０】
［センサデータの具体例］
図１４は、センサデータ１３１の具体例を説明する図である。図１４に示すセンサデータ１３１は、所定の時間帯においてセンサ５が検知したＸ軸加速度の推移を示す波形データである。
【００６１】
具体的に、図１４に示すセンサデータ１３１における波形データのうち、前半の時間帯に対応するデータは、Ｘ軸加速度が時間の経過に伴って変化していたことを示している。一方、図１４に示すセンサデータ１３１における波形データのうち、後半の時間帯に対応するデータは、Ｘ軸加速度が変化していなかったことを示している。
【００６２】
［データ生成処理］
次に、センサデータ１３１から教師データ１３２の生成を行う処理（以下、データ生成処理とも呼ぶ）について説明を行う。図６は、データ生成処理を説明するフローチャート図である。
【００６３】
情報受付部１１１は、図６に示すように、情報格納領域１３０に記憶されたセンサデータ１３１に対応するラベルを受け付けるまで待機する（Ｓ２１のＮＯ）。
【００６４】
具体的に、情報受付部１１１は、例えば、情報格納領域１３０に記憶された１以上のセンサデータ１３１のそれぞれに対応するラベルを受け付けるまで待機する。なお、各センサデータ１３１に対応するラベルは、例えば、運用者によって情報処理装置１に入力されるものであってよい。
【００６５】
そして、ラベルを受け付けた場合（Ｓ２１のＹＥＳ）、情報管理部１１２は、図１２に示すように、情報格納領域１３０に記憶されたセンサデータ１３１と、Ｓ２１の処理で受け付けたラベルとを対応付けることによって教師データ１３２を生成する（Ｓ２２）。
【００６６】
具体的に、情報管理部１１２は、情報格納領域１３０に記憶されたセンサデータ１３１のうちの少なくとも一部を抽出する。そして、情報管理部１１２は、抽出したセンサデータ１３１ごとに、各センサデータ１３１と、各センサデータ１３１に対応するラベルとを対応付けることによって教師データ１３２を生成する。
【００６７】
その後、情報管理部１１２は、Ｓ２２の処理で生成した教師データ１３２を情報格納領域１３０に記憶する（Ｓ２３）。
【００６８】
［機械学習処理の詳細］
次に、機械学習処理の詳細について説明を行う。図７から図９は、機械学習処理の詳細を説明するフローチャート図である。
【００６９】
情報受付部１１１は、図７に示すように、機械学習実行タイミングまで待機する（Ｓ３１のＮＯ）。
【００７０】
そして、機械学習実行タイミングになった場合（Ｓ３１のＹＥＳ）、情報管理部１１２は、情報格納領域１３０に記憶された教師データ１３２のうち、正常データに対応するセンサデータ１３１を含む教師データ１３２を特定する（Ｓ３２）。すなわち、情報管理部１１２は、この場合、正常データに対応するラベルを含む教師データ１３２の特定を行う。
【００７１】
続いて、情報処理装置１の第１モデル生成部１１３は、図１２に示すように、Ｓ３２の処理で特定した教師データ１３２に含まれるセンサデータ１３１を入力とする深層教師なし学習を行うことにより、第１モデル１３３を生成する（Ｓ３３）。
【００７２】
具体的に、第１モデル生成部１１３は、例えば、オートエンコーダ法やＧＡＮ（Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋ）法等を用いることによって、深層教師なし学習モデルである第１モデル１３３を生成する。そして、第１モデル生成部１１３は、例えば、生成した第１モデル１３３に対応する第１重み情報１３５を出力する。
【００７３】
次に、情報処理装置１の情報復元部１１４は、図１２に示すように、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１のそれぞれを、Ｓ３３の処理で生成した第１モデル１３３に入力することによって復元センサデータ１３１ａを取得する（Ｓ３４）。以下、復元センサデータ１３１ａの具体例について説明を行う。
【００７４】
［復元センサデータの具体例］
図１５は、復元センサデータ１３１ａの具体例を説明する図である。図１５に示す復元センサデータ１３１ａは、図１４で説明したセンサデータ１３１を第１モデル１３３に入力したことに伴って出力された波形データである。
【００７５】
具体的に、図１５に示すセンサデータ１３１における波形データは、Ｘ軸加速度が時間の経過に伴って常に変化していたことを示している。
【００７６】
図８に戻り、情報処理装置１の第１特徴抽出部１１５は、図１２に示すように、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１ごとに、各センサデータ１３１とＳ３４の処理で取得した復元センサデータ１３１ａとの比較結果から、各センサデータ１３１に対応する第１特徴量を抽出する（Ｓ４１）。以下、Ｓ４１の処理の詳細について説明を行う。
【００７７】
［Ｓ４１の処理の詳細］
図９は、Ｓ４１の処理の詳細について説明するフローチャート図である。
【００７８】
第１特徴抽出部１１５は、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１ごとに、各センサデータ１３１と各センサデータ１３１に対応する復元センサデータ１３１ａとの差分を示す差分センサデータ１３１ｂを生成する（Ｓ２０１）。以下、差分センサデータ１３１ｂの具体例について説明を行う。
【００７９】
［差分センサデータの具体例］
図１６及び図１７は、差分センサデータ１３１ｂの具体例を説明する図である。図１６に示す差分センサデータ１３１ｂは、図１４で説明したセンサデータ１３１及び図１５で説明した復元センサデータ１３１ａの各時間におけるＸ軸加速度の差の推移を示す波形データである。
【００８０】
具体的に、図１４に示すセンサデータ１３１における波形データは、Ｘ軸加速度が前半の時間帯においてのみ変化していたことを示している。また、図１５に示す復元センサデータ１３１ａにおける波形データは、Ｘ軸加速度が全ての時間帯において変化していた場合に対応する波形データである。
【００８１】
そのため、第１特徴抽出部１１５は、この場合、図１６に示すように、後半の時間帯におけるＸ軸加速度の変化が前半の時間帯におけるＸ軸加速度の変化よりも大きいことを示す波形データを差分センサデータ１３１ｂとして生成する。
【００８２】
図９に戻り、第１特徴抽出部１１５は、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１ごとに、各センサデータ１３１に対応する時間帯に含まれる複数の時間帯ごとの差分センサデータ１３１ｂのそれぞれから、各センサデータ１３１に対応する第１特徴量の抽出を行う（Ｓ２０２）。
【００８３】
具体的に、第１特徴抽出部１１５は、例えば、図１６に示す差分センサデータ１３１ｂに対応する波形データのうち、時間ｔ１に対応する波形データ（以下、第１波形データとも呼ぶ）と時間ｔ２に対応する波形データ（以下、第２波形データとも呼ぶ）とのそれぞれから、第１特徴量の抽出を行う。
【００８４】
さらに具体的に、第１特徴抽出部１１５は、例えば、第１波形データにおける平均振幅（以下、第１平均振幅とも呼ぶ）と、第２波形データにおける平均振幅（以下、第２平均振幅とも呼ぶ）とをそれぞれ算出する。そして、第１特徴抽出部１１５は、例えば、第１平均振幅から第２平均振幅を減算した値と第２平均振幅から第１平均振幅を減算した値とを、第１特徴量として抽出する。
【００８５】
すなわち、図１６に示す差分センサデータ１３１ｂでは、第２平均振幅の方が第１平均振幅よりも大きい。そのため、例えば、図１３で説明したセンサデータ１３１を出力したセンサ５が工場勤務の作業者に装着されたウェアラブルセンサである場合、図１６に示す差分センサデータ１３１ｂから抽出される第１特徴量は、例えば、作業者の動作が突然停止したという情報が反映された特徴量になる。
【００８６】
一方、図１７に示す差分センサデータ１３１ｂでは、第１平均振幅の方が第２平均振幅よりも大きい。そのため、図１７に示す差分センサデータ１３１ｂから抽出される第１特徴量は、例えば、作業者の動作が突然開始されたという情報が反映された特徴量になる。
【００８７】
ここで、作業者が突然動作を停止した場合、一般的に、作業者に何らかの異常事態が発生した可能性があると判断できる。そのため、情報処理装置１は、後述するように、例えば、図１６に示す差分センサデータ１３１ｂから抽出された第１特徴量と、異常データに対応するラベルとを対応付けたデータを入力とする教師付き学習を行う。
【００８８】
一方、作業者が突然動作を開始することは、一般的に、作業者が行う通常の行動であると判断できる。そのため、情報処理装置１は、後述するように、例えば、図１７に示す差分センサデータ１３１ｂから抽出された第１特徴量と、正常データに対応するラベルとを対応付けたデータを入力とする教師付き学習を行う。
【００８９】
これにより、情報処理装置１は、教師データ１３２として用いることができる異常データの数が十分でない場合であっても、抽出対象の異常データを抽出する学習モデルを生成することが可能になる。また、情報処理装置１は、必要なドメイン知識が組み込まれたデータを入力として教師付き学習を行うことにより、正常データに対応する教師データ１３２のみから生成した深層教師なし学習モデルよりも、抽出対象の異常データの抽出を精度良く行うことができる学習モデルを生成することが可能になる。
【００９０】
なお、第１特徴抽出部１１５は、Ｓ４１の処理において、異なる種類の複数のセンサ５においてそれぞれ出力された複数のセンサデータ１３１から、第１特徴量の抽出を行うものであってもよい。
【００９１】
具体的に、第１特徴抽出部１１５は、例えば、図１６に示す差分センサデータ１３１ｂに対応する波形データにおける平均振幅と、音圧センサであるセンサ５から出力されたセンサデータ１３１における音強度の最大値にシグモイド関数を掛け合わせた値との積を、第１特徴量として抽出するものであってもよい。
【００９２】
これにより、第１特徴抽出部１１５は、例えば、作業者の動作が突然停止したか否かを示す情報だけでなく、作業者の動作が突然停止した際に大きな音がしたか否かを示す情報を第１特徴量に反映させることが可能になる。そのため、第１特徴抽出部１１５は、この場合、例えば、作業者がしゃがんだ場合と作業者が倒れた場合とを識別可能な状態の第１特徴量を抽出することが可能になる。
【００９３】
図８に戻り、情報処理装置１の第２特徴抽出部１１６は、図１２に示すように、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１ごとに、各センサデータ１３１に対応する第２特徴量を抽出する（Ｓ４２）。
【００９４】
具体的に、第２特徴抽出部１１６は、Ｓ４２の処理において、例えば、ＥＣＤＦ（Ｅｍｐｉｒｉｃａｌ  Ｃｕｍｕｌａｔｉｖｅ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｆｅａｔｕｒｅ）特徴量を第２特徴量として抽出するものであってよい。また、第２特徴抽出部１１６は、例えば、人手によって記述された特徴抽出アルゴリズムを用いるものであっても良いし、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）やＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ―Ｔｅｒｍ  Ｍｅｍｏｒｙ)のような深層ニューラルネットワークモデルを用いるものであってもよい。以下、Ｓ４２の処理の具体例について説明を行う。
【００９５】
［Ｓ４２の処理の具体例］
図１８は、Ｓ４２の処理の具体例について説明する図である。具体的に、図１８は、ＥＣＤＦ特徴量の抽出を行う場合を説明する図であり、図１３で説明したセンサデータ１３１に含まれるＸ軸加速度の値の累積分布を示す図である。
【００９６】
第２特徴抽出部１１６は、Ｓ４２の処理において、例えば、図１８に示す図を参照し、特定の累積分布の値（Ｙ軸に対応する値）に対応するＸ軸加速度センサの値（Ｘ軸に対応する値）を、第２特徴量として抽出する。具体的に、第２特徴抽出部１１６は、例えば、図１８に示すように、複数の累積分布の値（例えば、予め定められた複数の値）に対応するＸ軸加速度センサの値のそれぞれを、第２特徴量として抽出する。
【００９７】
図８に戻り、情報処理装置１の特徴結合部１１７は、図１２に示すように、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１ごとに、Ｓ４１の処理で抽出した第１特徴量と、Ｓ４２の処理で抽出した第２特徴量とを結合した第３特徴量を生成する（Ｓ４３）。以下、Ｓ４３の処理の具体例について説明を行う。
【００９８】
［Ｓ４３の処理の具体例］
図１９は、Ｓ４３の処理の具体例について説明する図である。具体的に、図１９（Ａ）は、Ｓ４１の処理で抽出した第１特徴量の具体例を説明する図であり、図１９（Ｂ）は、Ｓ４２の処理で抽出した第２特徴量の具体例を説明する図であり、図１９（Ｃ）は、Ｓ４３の処理で生成した第３特徴量の具体例を説明する図である。
【００９９】
図１９（Ａ）に示す第１特徴量は、要素として「０．０１」及び「−０．０３」を含む１×２型の行列であり、図１９（Ｂ）に示す第２特徴量は、要素として「５．０」、「１．０」、「０．０」、「０．０」及び「−１．０」を含む１×５型の行列である。
【０１００】
そのため、特徴結合部１１７は、Ｓ４３の処理において、例えば、図１９（Ａ）に示す行列と図１９（Ｂ）に示す行列とを結合することにより、第１特徴量に対応する行列に含まれる「０．０１」及び「−０．０３」と、第２特徴量に対応する行列に含まれる「５．０」、「１．０」、「０．０」、「０．０」及び「−１．０」とを要素として含む１×７型の行列を第３特徴量として生成する。
【０１０１】
図８に戻り、情報処理装置１の第２モデル生成部１１８は、図１２に示すように、Ｓ４３の処理で生成した第３特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータ１３１のラベルとを対応付けたデータの教師付き学習を行うことにより、第２モデル１３４を生成する（Ｓ４４）。
【０１０２】
具体的に、第２モデル生成部１１８は、例えば、サポートベクタ―マシン（ＳＶＭ）、ｋ−ＮＮ法または深層ニューラルネットワーク等を用いることによって、教師付き学習モデルである第２モデル１３４を生成する。そして、第２モデル生成部１１８は、生成した第２モデル１３４の特徴量重みである第２重み情報１３６を出力する。
【０１０３】
また、第２モデル生成部１１８は、例えば、内部に複数の機械学習モデル（弱学習器）を有するアンサンブル学習法等を用いることによって、第２重み情報１３６を出力するものであってもよい。この場合、第２モデル生成部１１８は、異常状態のパターンが複数にわたる場合であっても各々のパターンを自動的に分離して学習することが可能になり、異常状態の検出を精度良く行うことができる第２モデル１３４を生成することが可能になる。
【０１０４】
さらに、第２モデル生成部１１８は、アンサンブル学習法として、例えば、Ｒａｎｄｏｍ  Ｆｏｒｅｓｔ法、ブースティング法またはスタッキング法等を用いることが可能である。また、第２モデル生成部１１８は、ブースティング法として、例えば、ＡｄａＢｏｏｓｔ法、ＬＰＢｏｏｓｔ法、Ｇｒａｄｉｅｎｔ  Ｂｏｏｓｔｉｎｇ法、ＸＧＢｏｏｓｔ法、ＬｉｇｈｔＧＢＭ法またはＣａｔＢｏｏｓｔ法等を用いることが可能である。
【０１０５】
なお、ここでの教師付き学習モデルの特徴量重みは、例えば、ブースティング法において用いられる個々の弱学習器に対する重みや、ニューラルネットワークにおける各層のニューロンの重み等も含む概念である。
【０１０６】
図８に戻り、情報管理部１１２は、Ｓ３３の処理で生成した第１モデル１３３に対応する第１重み情報１３５と、Ｓ４４の処理で生成した第２モデル１３４に対応する第２重み情報１３６とを情報格納領域１３０に記憶する（Ｓ４５）。
【０１０７】
［異常抽出処理の詳細］
次に、センサ５から出力されたセンサデータ１３１が異常データであるか否かを判定する処理（以下、異常抽出処理）について説明を行う。図１０及び図１１は、異常抽出処理を説明するフローチャート図である。
【０１０８】
情報受付部１１１は、図１０に示すように、センサ５から出力されたセンサデータ１３１（新たなセンサデータ１３１）を受け付けるまで待機する（Ｓ５１のＮＯ）。
【０１０９】
そして、センサデータ１３１を受け付けた場合（Ｓ５１のＹＥＳ）、情報復元部１１４は、図１３に示すように、Ｓ５１の処理で受け付けたセンサデータ１３１を、Ｓ３３の処理で生成した第１モデル１３３に入力することによって復元センサデータ１３１ａを取得する（Ｓ５２）。
【０１１０】
続いて、第１特徴抽出部１１５は、図１３に示すように、Ｓ５１の処理で受け付けたセンサデータ１３１とＳ５２の処理で取得した復元センサデータ１３１ａとの比較結果から、Ｓ５１の処理で受け付けたセンサデータ１３１に対応する第１特徴量を抽出する（Ｓ５３）。
【０１１１】
また、第２特徴抽出部１１６は、図１３に示すように、Ｓ５１の処理で受け付けたセンサデータ１３１から、Ｓ５１の処理で受け付けたセンサデータ１３１に対応する第２特徴量を抽出する（Ｓ５４）。
【０１１２】
そして、特徴結合部１１７は、図１３に示すように、Ｓ５３の処理で抽出した第１特徴量と、Ｓ５４の処理で抽出した第２特徴量とを結合した第３特徴量を生成する（Ｓ５５）。
【０１１３】
その後、情報処理装置１の出力情報生成部１２１は、図１１及び図１３に示すように、Ｓ５５の処理で生成した第３特徴量を、Ｓ４３の処理で生成した第２モデル１３４に入力することによってスコアを取得する（Ｓ６１）。
【０１１４】
そして、情報処理装置１の情報出力部１２２は、図１３に示すように、Ｓ６１の処理で取得したスコアに応じた推定結果を含む出力情報１３７を出力する（Ｓ６２）。
【０１１５】
具体的に、情報出力部１２２は、例えば、Ｓ６１の処理で取得したスコアが所定の閾値よりも大きい場合、Ｓ３１の処理で受け付けたセンサデータ１３１が正常データであると推定する。また、情報出力部１２２は、例えば、Ｓ６１の処理で取得したスコアが所定の閾値よりも小さい場合、Ｓ３１の処理で受け付けたセンサデータ１３１が異常データであると推定する。そして、情報出力部１２２は、例えば、Ｓ６１の処理で取得したスコアに応じた推定結果を含む出力情報１３７を、運用者の操作端末（図示しない）に対して出力する。
【０１１６】
このように、本実施の形態における情報処理装置１は、複数のセンサ５からそれぞれ出力される複数のセンサデータ１３１の深層教師なし学習を行うことによって、第１モデル１３３を生成する。そして、情報処理装置１は、複数のセンサデータ１３１ごとに、各センサデータ１３１と、各センサデータ１３１の入力に伴って第１モデル１３３から出力される復元センサデータ１３１ａとの比較結果から、各センサデータ１３１に対応する特徴量を抽出する。その後、情報処理装置１は、抽出した特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータ１３１が異常状態に対応するか否かを示す状態情報とを対応付けたデータの教師付き学習を行うことによって、第２モデル１３４を生成する。
【０１１７】
すなわち、情報処理装置１は、センサデータ１３１と復元センサデータ１３１ａとの比較結果から、必要なドメイン知識を組み込むことが可能な方法で特徴量の抽出を行う。
【０１１８】
これにより、情報処理装置１は、ドメイン知識が組み込まれた特徴量を含む教師データ１３２から、学習モデル（教師付き学習モデル）を生成することが可能になる。そして、情報処理装置１は、生成した学習モデルを用いることで、異常データとして抽出すべきでないセンサデータ１３１が異常データとして抽出されることの抑制が可能になる。そのため、情報処理装置１は、センサ５が出力したセンサデータ１３１が異常データであるか否かの判定を精度良く行うことが可能になる。
【０１１９】
［第２の実施の形態］
次に、第２の実施の形態について説明する。図２０から図２４は、第２の実施の形態における機械学習処理及び異常推定処理を説明するフローチャート図である。また、図２５及び図２６は、第２の実施の形態における機械学習処理を説明する図である。
【０１２０】
なお、第２の実施の形態におけるデータ蓄積処理及びデータ生成処理は、第１の実施の形態におけるデータ蓄積処理及びデータ生成処理と同じ内容であるため説明を省略する。
【０１２１】
［第２の実施の形態における機械学習処理］
初めに、第２の実施の形態における機械学習処理について説明を行う。図２０から図２２は、第２の実施の形態における機械学習処理を説明するフローチャート図である。
【０１２２】
情報受付部１１１は、図２０に示すように、機械学習実行タイミングまで待機する（Ｓ７１のＮＯ）。
【０１２３】
そして、機械学習実行タイミングになった場合（Ｓ７１のＹＥＳ）、情報管理部１１２は、情報格納領域１３０に記憶された教師データ１３２のうち、正常データに対応するセンサデータ１３１を含む教師データ１３２を特定する（Ｓ７２）。
【０１２４】
続いて、情報処理装置１のデータ選択部１１９は、図２５に示すように、Ｓ７２の処理で特定した教師データ１３２から複数グループの教師データ１３２をそれぞれ選択する（Ｓ７３）。
【０１２５】
具体的に、データ選択部１１９は、例えば、各グループに含まれる教師データ１３２の少なくとも一部が、他のグループに含まれる教師データ１３２と異なるように、複数グループの教師データ１３２の選択を行う。また、データ選択部１１９は、例えば、各グループに含まれる教師データ１３２の数がそれぞれ異なるように、複数のグループの教師データ１３２の選択を行う。
【０１２６】
そして、第１モデル生成部１１３は、図２５に示すように、Ｓ７３の処理で選択した複数グループの教師データ１３２のうちの１つのグループを特定する（Ｓ７４）。
【０１２７】
続いて、第１モデル生成部１１３は、図２５に示すように、Ｓ７４の処理で特定したグループの教師データ１３２に含まれるセンサデータ１３１を入力とする深層教師なし学習を行うことにより、第１モデル１３３を生成する（Ｓ７５）。
【０１２８】
次に、情報復元部１１４は、図２１及び図２５に示すように、Ｓ７４の処理で特定したグループの教師データ１３２に含まれるセンサデータ１３１のそれぞれを、Ｓ７５の処理で生成した第１モデル１３３に入力することによって復元センサデータ１３１ａを取得する（Ｓ８１）。
【０１２９】
そして、第１特徴抽出部１１５は、図２５に示すように、Ｓ７４の処理で特定した教師データ１３２に含まれるセンサデータ１３１ごとに、各センサデータ１３１とＳ８１の処理で取得した復元センサデータ１３１ａとの比較結果から、各センサデータ１３１に対応する第１特徴量を抽出する（Ｓ８２）。
【０１３０】
また、第２特徴抽出部１１６は、図２５に示すように、Ｓ７４の処理で特定したグループの教師データ１３２に含まれるセンサデータ１３１ごとに、各センサデータ１３１から各センサデータ１３１に対応する第２特徴量を抽出する（Ｓ８３）。
【０１３１】
さらに、特徴結合部１１７は、図２５に示すように、Ｓ７４の処理で特定したグループの教師データ１３２に含まれるセンサデータ１３１ごとに、Ｓ８２の処理で抽出した第１特徴量と、Ｓ８３の処理で抽出した第２特徴量とを結合した第３特徴量を生成する（Ｓ８４）。
【０１３２】
その後、第２モデル生成部１１８は、図２５に示すように、Ｓ８４の処理で生成した第３特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータ１３１のラベルとを対応付けたデータの教師付き学習を行うことにより、第２モデル１３４を生成する（Ｓ８５）。
【０１３３】
なお、情報復元部１１４は、Ｓ８１の処理において、第１の実施の形態の場合と同様に、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１のそれぞれを、Ｓ７５の処理で生成した第１モデル１３３に入力することによって復元センサデータ１３１ａの取得を行うものであってもよい。
【０１３４】
また、第１特徴抽出部１１５は、この場合、Ｓ８２からＳ８４の処理において、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１ごとに、第１特徴量及び第２特徴量の抽出を行い、さらに、情報格納領域１３０に記憶された教師データ１３２に含まれるセンサデータ１３１ごとに、第３特徴量の生成を行うものであってもよい。
【０１３５】
図２１に戻り、情報処理装置１のモデル選択部１２０は、Ｓ７４の処理において全てのグループを特定しているか否かを判定する（Ｓ８６）。
【０１３６】
その結果、全てのグループを特定していないと判定した場合（Ｓ８６のＮＯ）、第１モデル生成部１１３は、Ｓ７４以降の処理を再度実行する。
【０１３７】
一方、全てのグループを特定していると判定した場合（Ｓ８６のＹＥＳ）、モデル選択部１２０は、図２２及び図２５に示すように、Ｓ８５の処理で生成した第２モデル１３４のうち、所定の条件に合致する第２モデル１３４を選択する（Ｓ９１）。
【０１３８】
具体的に、モデル選択部１２０は、例えば、Ｓ８５の処理で生成した第２モデル１３４のうち、最も高い認識性能を出した第２モデル１３４の選択を行う。ここでの認識性能は、教師付き学習の目的関数における認識の正解率（例えば、適合率、再現率、Ｆ１スコアまたはＡＵＣ値等）のみから算出する場合だけでなく、正則化項を含めて算出する場合も含む。
【０１３９】
なお、モデル選択部１２０は、例えば、選択可能な深層教師なし学習モデルの最大値を規定し、貪欲法等の離散最適化アルゴリズムを用いることによって、第２モデル１３４の選択を行うものであってよい。また、モデル選択部１２０は、例えば、選択される深層教師なし学習モデル数に対して正則化項としてペナルティを与えた目的関数を設計し、Ｇｒｏｕｐ  Ｌａｓｓｏ法等の連続最適化アルゴリズムを用いることによって、第２モデル１３４の選択を行うものであってもよい。
【０１４０】
さらに、モデル選択部１２０は、Ｓ９１の処理において、認識性能が最大となる複数の第２モデル１３４を選択するものであってもよい。また、モデル選択部１２０は、Ｓ９１の処理において、Ｓ８５の処理で生成した複数の第２モデル１３４を結び付けた学習モデルを選択するものであってもよい。
【０１４１】
図２２に戻り、モデル選択部１２０は、図２５に示すように、Ｓ７５の処理で生成した第１モデル１３３のうち、Ｓ９１の処理で選択した第２モデル１３４に対応する第１モデル１３３を特定する（Ｓ９２）。
【０１４２】
その後、情報管理部１１２は、Ｓ９２の処理で特定した第１モデル１３３に対応する第１重み情報１３５と、Ｓ９１の処理で選択した第２モデル１３４に対応する第２重み情報１３６と、Ｓ９２の処理で特定した第１モデル１３３を示すモデル選択情報１３８とを情報格納領域１３０に記憶する（Ｓ９３）。
【０１４３】
すなわち、第１モデル１３３及び第２モデル１３４の生成に用いられる教師データ１３２の内容に偏りがある場合、情報処理装置１は、抽出対象の異常データを精度良く抽出することが可能な学習モデルを生成することができない場合がある。
【０１４４】
具体的に、例えば、作業者が工場において作業を行っている間に出力されるセンサデータ１３１と、作業者が事務所において作業を行っている間に出力されるセンサデータ１３１との発生割合が時間帯によって大きく異なる場合、学習モデルの生成に用いられる教師データ１３２には、一方のセンサデータ１３１が必要以上に含まれる場合がある。そのため、情報処理装置１は、過学習の発生等により、抽出対象の異常データを精度良く抽出することができる学習モデルを生成することができなくなる場合がある。
【０１４５】
そこで、第２の実施の形態における機械学習処理では、互いに異なる教師データ１３２を用いることによって複数の第１モデル１３３を生成する。そして、情報処理装置１は、抽出対象の異常データを精度良く抽出することができると判定した第１モデル１３３を選択する。
【０１４６】
これにより、情報処理装置１は、抽出対象の異常データをより精度良く抽出することができる学習モデルを生成することが可能になる。
【０１４７】
なお、モデル選択部１２０は、Ｓ７４の処理において全てのグループが特定される前に、その時点までに生成されている第２モデル１３４に対し、Ｓ９１以降の処理を行うものであってもよい。そして、モデル選択部１２０は、例えば、所定数の第２モデル１３４が生成されるごとに、Ｓ９１以降の処理を繰り返し行うものであってもよい。
【０１４８】
これにより、モデル選択部１２０は、Ｓ９１の処理における第２モデル１３４の選択及びＳ９２の処理における第１モデル１３３の特定を迅速に行うことが可能になる。
【０１４９】
また、データ選択部１１９は、Ｓ７３の処理において、生成する第１モデル１３３ごとに、深層教師なし学習で用いられる教師データ１３２の数や内容を変更するだけでなく、例えば、深層教師なし学習で用いるハイパーパラメータの変更や、深層教師なし学習で用いるニューラルネットワークのネットワークアーキテクチャの変更を行うものであってよい。
【０１５０】
具体的に、データ選択部１１９は、ハイパーパラメータの変更として、例えば、確率的勾配降下法で用いる最適化アルゴリズムの変更、学習率の変更またはモーメンタム値の変更を行うものであってよい。また、データ選択部１１９は、ニューラルネットワークのネットワークアーキテクチャの変更として、例えば、入力層でのサンプルサイズまたはＣＮＮ層での畳み込みサイズの変更を行うものであってよい。
【０１５１】
さらに、データ選択部１１９は、Ｓ７３の処理において、深層教師なし学習で用いられる教師データ１３２の数や内容を変更する場合においても、例えば、情報格納領域１３０に記憶された教師データ１３２から複数回のサンプリングを行うことによって、複数グループの教師データ１３２を選択するものであってよい。ここでのサンプリングとしては、例えば、ランダムサンプリングを行うものであってもよいし、Ｂａｇｇｉｎｇ法によるサンプリングを行うものであってもよい。そして、データ選択部１１９は、複数グループの教師データ１３２を選択した後、選択した教師データ１３２のそれぞれに対して重みの付与を行うものであってもよい。
【０１５２】
［第２の実施の形態における異常抽出処理］
次に、第２の実施の形態における異常抽出処理について説明を行う。図２３及び図２４は、第２の実施の形態における異常抽出処理を説明するフローチャート図である。
【０１５３】
情報受付部１１１は、図２３に示すように、センサ５から出力されたセンサデータ１３１（新たなセンサデータ１３１）を受け付けるまで待機する（Ｓ１０１のＮＯ）。
【０１５４】
そして、センサデータ１３１を受け付けた場合（Ｓ１０１のＹＥＳ）、情報復元部１１４は、図２６に示すように、Ｓ１０１の処理で受け付けたセンサデータ１３１を、Ｓ９２の処理で特定した第１モデル１３３に入力することによって復元センサデータ１３１ａを取得する（Ｓ１０２）。
【０１５５】
続いて、第１特徴抽出部１１５は、図２６に示すように、Ｓ１０１の処理で受け付けたセンサデータ１３１とＳ１０２の処理で取得した復元センサデータ１３１ａとの比較結果から、Ｓ１０１の処理で受け付けたセンサデータ１３１に対応する第１特徴量を抽出する（Ｓ１０３）。
【０１５６】
また、第２特徴抽出部１１６は、図２６に示すように、Ｓ１０１の処理で受け付けたセンサデータ１３１から、Ｓ１０１の処理で受け付けたセンサデータ１３１に対応する第２特徴量を抽出する（Ｓ１０４）。
【０１５７】
そして、特徴結合部１１７は、図２６に示すように、Ｓ１０３の処理で抽出した第１特徴量と、Ｓ１０４の処理で抽出した第２特徴量とを結合した第３特徴量を生成する（Ｓ１０５）。
【０１５８】
その後、出力情報生成部１２１は、図２４及び図２６に示すように、Ｓ１０５の処理で生成した第３特徴量を、Ｓ９１の処理で選択した第２モデル１３４に入力することによってスコアを取得する（Ｓ１１１）。
【０１５９】
そして、情報出力部１２２は、図２６に示すように、Ｓ１１１の処理で取得したスコアに応じた推定結果を含む出力情報１３７を出力する（Ｓ１１２）。
【０１６０】
これにより、情報処理装置１は、抽出対象の異常データをより精度良く抽出することが可能になる。
【０１６１】
なお、上記の例では、センサ５が工場に勤務する作業者に装着されたウェアラブルセンサである場合について説明を行ったが、センサ５は、例えば、工場内の各機器に取り付けられるセンサであり、各センサが出力する画像情報によって各機器の稼働状況を監視するために用いられるものであってもよい。また、センサ５は、例えば、店舗内に取り付けられるセンサであり、店舗内における不審者や偽ブランド品等を検知するために用いられるものであってもよい。
【０１６２】
さらに、上記の例では、センサ５が複数存在する場合について説明を行ったが、情報処理システム１０は、単一のセンサ５のみを有するものであってもよい。また、上記の例では、学習に用いるセンサデータ１３１が複数存在する場合について説明を行ったが、情報処理装置１は、学習に用いるセンサデータ１３１として単一のセンサデータ１３１のみを用いるものであってもよい。
【０１６３】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１６４】
（付記１）
複数のセンサから出力される複数のセンサデータの深層教師なし学習を行うことによって、第１モデルを生成し、
前記複数のセンサデータごとに、各センサデータと、各センサデータの入力に伴って前記第１モデルから出力される復元センサデータとの比較結果から、各センサデータに対応する特徴量を抽出し、
抽出した前記特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報とを対応付けたデータの教師付き学習を行うことによって、第２モデルを生成する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【０１６５】
（付記２）
付記１において、
前記第１モデルを生成する処理では、前記複数のセンサデータのうち、正常状態を示す前記状態情報に対応付けられたセンサデータの深層教師なし学習を行う、
ことを特徴とする機械学習プログラム。
【０１６６】
（付記３）
付記１において、
前記特徴量を抽出する処理では、
前記複数のセンサデータごとに、各センサデータと各センサデータに対応する前記復元センサデータとの差分を示す差分センサデータを生成し、
生成した前記差分センサデータのそれぞれから、前記特徴量を抽出する、
ことを特徴とする機械学習プログラム。
【０１６７】
（付記４）
付記３において、
前記複数のセンサデータのそれぞれは、前記複数のセンサのうちのいずれかから出力された情報の所定の時間帯における推移を示す情報であり、
前記特徴量を抽出する処理では、前記所定の時間帯に含まれる複数の時間帯ごとの前記差分センサデータのそれぞれから、前記特徴量を抽出する、
ことを特徴とする機械学習プログラム。
【０１６８】
（付記５）
付記１において、
前記第２モデルを生成する処理では、
前記複数のセンサデータのそれぞれから他の特徴量を抽出し、
前記複数のセンサデータごとに、前記特徴量と前記他の特徴量とを結合することによって結合特徴量を生成し、
生成した前記結合特徴量ごとに、各結合特徴量と、各結合特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報とを対応付けた情報の教師付き学習を行う、
ことを特徴とする機械学習プログラム。
【０１６９】
（付記６）
付記１において、さらに、
前記複数のセンサのうちのいずれかのセンサデータから新たなセンサデータが出力された場合、前記新たなセンサデータと、前記新たなセンサデータの入力に伴って前記第１モデルから出力されるセンサデータとの比較結果から、新たな特徴量を抽出し、
前記新たな特徴量の入力に伴って前記第２モデルから出力されるスコアを取得し、
取得した前記スコアを出力する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【０１７０】
（付記７）
付記６において、
前記第１モデルを生成する処理では、
前記複数のセンサデータのうちの少なくとも一部をそれぞれ含む複数のグループを生成し、
前記複数のグループごとに、前記第１モデルを生成し、
前記特徴量を抽出する処理では、生成した前記複数のグループごとに、各グループに含まれるセンサデータを用いることによって前記特徴量を抽出し、
前記第２モデルを生成する処理では、生成した前記複数のグループごとに、各グループに対応する前記特徴量を用いることによって前記第２モデルを生成し、さらに、
生成した前記第２モデルのうち、所定の条件を満たす前記第２モデルの生成に用いられた前記第１モデルを特定し、
特定した前記第１モデルを示す情報を出力する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【０１７１】
（付記８）
付記７において、
前記複数のグループのそれぞれに含まれるセンサデータは、前記複数のグループのうちの他のグループに含まれるセンサデータと少なくとも一部が異なる、
ことを特徴とする機械学習プログラム。
【０１７２】
（付記９）
付記６において、
前記第１モデルを生成する処理では、
前記複数のセンサデータのうちの少なくとも一部をそれぞれ含む複数のグループを生成し、
前記複数のグループごとに、前記第１モデルを生成し、
前記特徴量を抽出する処理では、生成した前記第１モデルごとに、各モデルを用いることによって前記特徴量を抽出し、
前記第２モデルを生成する処理では、生成した前記第１モデルごとに、各モデルに対応する前記特徴量を用いることによって前記第２モデルを生成し、さらに、
生成した前記第２モデルのうち、所定の条件を満たす前記第２モデルの生成に用いられた前記第１モデルを特定し、
特定した前記第１モデルを示す情報を出力する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【０１７３】
（付記１０）
複数のセンサから出力される複数のセンサデータの深層教師なし学習を行うことによって、第１モデルを生成し、
前記複数のセンサデータごとに、各センサデータと、各センサデータの入力に伴って前記第１モデルから出力される復元センサデータとの比較結果から、各センサデータに対応する特徴量を抽出し、
抽出した前記特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報とを対応付けたデータの教師付き学習を行うことによって、第２モデルを生成する、
処理をコンピュータに実行させることを特徴とする機械学習方法。
【０１７４】
（付記１１）
付記１０において、
前記第１モデルを生成する処理では、前記複数のセンサデータのうち、正常状態を示す前記状態情報に対応付けられたセンサデータの深層教師なし学習を行う、
ことを特徴とする機械学習方法。
【０１７５】
（付記１２）
付記１０において、
前記特徴量を抽出する処理では、
前記複数のセンサデータごとに、各センサデータと各センサデータに対応する前記復元センサデータとの差分を示す差分センサデータを生成し、
生成した前記差分センサデータのそれぞれから、前記特徴量の抽出を行う、
ことを特徴とする機械学習方法。
【０１７６】
（付記１３）
付記１０において、さらに、
前記複数のセンサのうちのいずれかのセンサデータから新たなセンサデータが出力された場合、前記新たなセンサデータと、前記新たなセンサデータの入力に伴って前記第１モデルから出力されるセンサデータとの比較結果から、新たな特徴量を抽出し、
前記新たな特徴量の入力に伴って前記第２モデルから出力されるスコアを取得し、
取得した前記スコアを出力する、
処理をコンピュータに実行させることを特徴とする機械学習方法。
【０１７７】
（付記１４）
複数のセンサと、前記複数のセンサと接続する情報処理装置と、を有する機械学習システムにおいて、
前記複数のセンサのそれぞれは、検知したセンサデータを前記情報処理装置に送信し、
前記情報処理装置は、
前記複数のセンサから送信される複数のセンサデータの深層教師なし学習を行うことによって、第１モデルを生成し、
前記複数のセンサデータごとに、各センサデータと、各センサデータの入力に伴って前記第１モデルから出力される復元センサデータとの比較結果から、各センサデータに対応する特徴量を抽出し、
抽出した前記特徴量ごとに、各特徴量と、各特徴量に対応するセンサデータが異常状態に対応するか否かを示す状態情報とを対応付けたデータの教師付き学習を行うことによって、第２モデルを生成する、
ことを特徴とする機械学習システム。
【０１７８】
（付記１５）
付記１４において、
前記情報処理装置は、前記複数のセンサデータのうち、正常状態を示す前記状態情報に対応付けられたセンサデータの深層教師なし学習を行う、
ことを特徴とする機械学習システム。
【０１７９】
（付記１６）
付記１４において、
前記情報処理装置は、
前記複数のセンサデータごとに、各センサデータと各センサデータに対応する前記復元センサデータとの差分を示す差分センサデータを生成し、
生成した前記差分センサデータのそれぞれから、前記特徴量の抽出を行う、
ことを特徴とする機械学習システム。
【０１８０】
（付記１７）
付記１４において、さらに、
前記情報処理装置は、
前記複数のセンサのうちのいずれかのセンサデータから新たなセンサデータが出力された場合、前記新たなセンサデータと、前記新たなセンサデータの入力に伴って前記第１モデルから出力されるセンサデータとの比較結果から、新たな特徴量を抽出し、
前記新たな特徴量の入力に伴って前記第２モデルから出力されるスコアを取得し、
取得した前記スコアを出力する、
ことを特徴とする機械学習システム。
【符号の説明】
【０１８１】
１：情報処理装置              ５：操作端末
ＮＷ：ネットワーク            １０：情報処理システム
【図１】
2020140279.tif 000003
【図２】
2020140279.tif 000004
【図３】
2020140279.tif 000005
【図４】
2020140279.tif 000006
【図５】
2020140279.tif 000007
【図６】
2020140279.tif 000008
【図７】
2020140279.tif 000009
【図８】
2020140279.tif 000010
【図９】
2020140279.tif 000011
【図１０】
2020140279.tif 000012
【図１１】
2020140279.tif 000013
【図１２】
2020140279.tif 000014
【図１３】
2020140279.tif 000015
【図１４】
2020140279.tif 000016
【図１５】
2020140279.tif 000017
【図１６】
2020140279.tif 000018
【図１７】
2020140279.tif 000019
【図１８】
2020140279.tif 000020
【図１９】
2020140279.tif 000021
【図２０】
2020140279.tif 000022
【図２１】
2020140279.tif 000023
【図２２】
2020140279.tif 000024
【図２３】
2020140279.tif 000025
【図２４】
2020140279.tif 000026
【図２５】
2020140279.tif 000027
【図２６】
2020140279.tif 000028