(57)【要約】【課題】ラベリング対象データの通信量とラベリングに要するコストとを削減すること。【解決手段】サーバ装置と通信ネットワークを介して接続されるセンサノードであって、前記センサノードが備えるセンサからセンサデータを取得する取得手段と、前記センサデータと、前記サーバ装置で予め作成された識別モデルとに基づいて、前記センサデータを複数のクラスに分類して所定のイベントの発生を識別する識別手段と、前記識別の結果に基づいて、前記識別の結果の不確かさを表す指標値として、前記センサデータの確度を算出する確度算出手段と、前記センサデータと該センサデータの確度とが対応付けて格納されている送信バッファの中から、前記確度が最小のセンサデータを選択し、該選択したセンサデータを前記サーバ装置に送信する送信手段と、を有することを特徴とする。【選択図】図４
2020119238.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と通信ネットワークを介して接続されるセンサノードであって、
前記センサノードが備えるセンサからセンサデータを取得する取得手段と、
前記センサデータと、前記サーバ装置で予め作成された識別モデルとに基づいて、前記センサデータを複数のクラスに分類して所定のイベントの発生を識別する識別手段と、
前記識別の結果に基づいて、前記識別の結果の不確かさを表す指標値として、前記センサデータの確度を算出する確度算出手段と、
前記センサデータと該センサデータの確度とが対応付けて格納されている送信バッファの中から、前記確度が最小のセンサデータを選択し、該選択したセンサデータを前記サーバ装置に送信する送信手段と、
を有することを特徴とするセンサノード。
【請求項２】
前記確度算出手段は、
前記送信バッファに格納されているセンサデータの確度のうちの最大確度と、算出した確度とを比較し、算出した確度が前記最大確度よりも小さい場合、前記最大確度に対応付けられているセンサデータを前記送信バッファから削除し、
算出した確度と、前記取得手段により取得されたセンサデータとを対応付けて前記送信バッファに格納する、ことを特徴とする請求項１に記載のセンサノード。
【請求項３】
１以上のセンサノードと通信ネットワークを介して接続されるサーバ装置であって、
前記センサノードでセンシングされたセンサデータと、前記センサノードで識別モデルによって前記センサデータを複数のクラスに分類して所定のイベントの発生を識別した際の指標値とを受信する受信手段と、
前記指標値の昇順又は降順で前記センサデータをランキングして記憶部に格納する格納手段と、
前記ランキングされたセンサデータを、ラベリング対象としてユーザに提示する提示手段と、
前記ユーザによってラベリングされたセンサデータを用いて、前記センサノードで前記イベントの発生を識別するための識別モデルの追加学習を行う追加学習手段と、
前記追加学習された識別モデルを、前記センサノードが保持している識別モデルの更新用の識別モデルとして前記センサノードに送信する送信手段と、
を有することを特徴とするサーバ装置。
【請求項４】
サーバ装置と、該サーバ装置と通信ネットワークを介して接続される１以上のセンサノードとが含まれる識別システムあって、
前記センサノードは、
前記センサノードが備えるセンサからセンサデータを取得する取得手段と、
前記センサデータと、前記サーバ装置で予め作成された識別モデルとに基づいて、前記センサデータを複数のクラスに分類して所定のイベントの発生を識別する識別手段と、
前記識別の結果に基づいて、前記識別の結果の不確かさを表す指標値として、前記センサデータの確度を算出する確度算出手段と、
前記センサデータと該センサデータの確度とが対応付けて格納されている送信バッファの中から、前記確度が最小のセンサデータを選択し、該選択したセンサデータと該センサデータの確度とを前記サーバ装置に送信する送信手段と、を有し、
前記サーバ装置は、
前記センサデータと、該センサデータの確度とを前記センサノードから受信する受信手段と、
前記確度の昇順又は降順で前記センサデータをランキングして記憶部に格納する格納手段と、
前記ランキングされたセンサデータを、ラベリング対象としてユーザに提示する提示手段と、
前記ユーザによってラベリングされたセンサデータを用いて、前記センサノードで前記識別モデルの追加学習を行う追加学習手段と、
前記追加学習された識別モデルを、前記センサノードが保持している識別モデルの更新用の識別モデルとして前記センサノードに送信する送信手段と、
を有することを特徴とする識別システム。
【請求項５】
サーバ装置と通信ネットワークを介して接続されるセンサノードが、
前記センサノードが備えるセンサからセンサデータを取得する取得手順と、
前記センサデータと、前記サーバ装置で予め作成された識別モデルとに基づいて、前記センサデータを複数のクラスに分類して所定のイベントの発生を識別する識別手順と、
前記識別の結果に基づいて、前記識別の結果の不確かさを表す指標値として、前記センサデータの確度を算出する確度算出手順と、
前記センサデータと該センサデータの確度とが対応付けて格納されている送信バッファの中から、前記確度が最小のセンサデータを選択し、該選択したセンサデータを前記サーバ装置に送信する送信手順と、
を実行することを特徴とする方法。
【請求項６】
１以上のセンサノードと通信ネットワークを介して接続されるサーバ装置が、
前記センサノードでセンシングされたセンサデータと、前記センサノードで識別モデルによって前記センサデータを複数のクラスに分類して所定のイベントの発生を識別した際の指標値とを受信する受信手順と、
前記指標値の昇順又は降順で前記センサデータをランキングして記憶部に格納する格納手順と、
前記ランキングされたセンサデータを、ラベリング対象としてユーザに提示する提示手順と、
前記ユーザによってラベリングされたセンサデータを用いて、前記センサノードで前記イベントの発生を識別するための識別モデルの追加学習を行う追加学習手順と、
前記追加学習された識別モデルを、前記センサノードが保持している識別モデルの更新用の識別モデルとして前記センサノードに送信する送信手順と、
を実行することを特徴とする方法。
【請求項７】
サーバ装置と、該サーバ装置と通信ネットワークを介して接続される１以上のセンサノードとが含まれる識別システムに用いられる方法であって、
前記センサノードが、
前記センサノードが備えるセンサからセンサデータを取得する取得手順と、
前記センサデータと、前記サーバ装置で予め作成された識別モデルとに基づいて、前記センサデータを複数のクラスに分類して所定のイベントの発生を識別する識別手順と、
前記識別の結果に基づいて、前記識別の結果の不確かさを表す指標値として、前記センサデータの確度を算出する確度算出手順と、
前記センサデータと該センサデータの確度とが対応付けて格納されている送信バッファの中から、前記確度が最小のセンサデータを選択し、該選択したセンサデータと該センサデータの確度とを前記サーバ装置に送信する送信手順と、を実行し、
前記サーバ装置が、
前記センサデータと、該センサデータの確度とを前記センサノードから受信する受信手順と、
前記確度の昇順又は降順で前記センサデータをランキングして記憶部に格納する格納手順と、
前記ランキングされたセンサデータを、ラベリング対象としてユーザに提示する提示手順と、
前記ユーザによってラベリングされたセンサデータを用いて、前記センサノードで前記識別モデルの追加学習を行う追加学習手順と、
前記追加学習された識別モデルを、前記センサノードが保持している識別モデルの更新用の識別モデルとして前記センサノードに送信する送信手順と、
を実行することを特徴とする方法。
【請求項８】
コンピュータを、請求項１若しくは２に記載のセンサノードにおける各手段、又は、請求項３に記載のサーバ装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサノード、サーバ装置、識別システム、方法及びプログラムに関する。
【背景技術】
【０００２】
様々な環境にセンサノードを設置した上で、このセンサノードから得られるセンサデータを用いて、その環境の状況やその環境で起きているイベント等を識別する環境センシングと呼ばれる技術が知られている。例えば、ゴミ清掃車に搭載されたモーションセンサから得られたセンサデータを用いて、ゴミ収集区間を識別する技術が知られている（特許文献１）。これ以外にも、例えば、センサデータを用いて人の行動を識別したり、対象物の異常有無を識別したりする技術等も知られている。
【０００３】
環境センシングの実運用では、電池駆動の無線通信モジュールを備えるセンサノードが用いられる場合が一般的である。このようなセンサノードでは、電力消費や通信量を抑えるため、イベント等を識別するための識別モデルをメモリ等に保持しておき、この識別モデルを用いた識別結果のみをサーバ等に送信することが多い。なお、識別モデルは、センサデータをラベリング（アノテーション）した学習データを用いて、教師あり学習の手法により作成される。
【０００４】
他方で、例えば、センサノードが設置された環境の変化やセンサノードの劣化、センサノードの位置ずれ、センサノードが搭載されている車両の運転手の交代等、様々な要因によって識別精度が低下する場合があることが知られている。このため、これらの要因の発生に応じて、新たに識別モデルを作成した上で、センサノードが保持している識別モデルを更新する必要がある。
【０００５】
ここで、教師あり学習に用いられるデータをラベリングして学習データを作成する際に、学習効果が高いデータを選択する、能動学習（Active Learning）と呼ばれる手法が知られている（非特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１８−１９３１９３号公報
【非特許文献】
【０００７】
【非特許文献１】Burr Settles, "Active Learning Literature Survey", Computer Sciences Technical Report 1648, University of Wisconsin-Madison (2010).
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、識別モデルの作成は比較的計算資源が豊富なサーバ等で行われるのが一般的であるが、センサノードの電力消費量や通信帯域等を考慮すると、ラベリング対象のセンサデータをサーバ等に送信する際の通信量はできるだけ抑えることが好ましい。また、センサデータへのラベリングは一般的に人手で行われるため、ラベリング対象のセンサデータが多い場合には多大な人的コストが掛かる。
【０００９】
これに対して、上記の能動学習（Active Learning）の手法を用いて、識別モデルを作成する際の学習効果が高いセンサデータを選択し、選択されたセンサデータをラベリング対象としてサーバ等に送信するようにすることで、識別モデルの識別精度は維持しつつ、通信量とラベリングに要する人的コストとを抑えることが可能になると考えられる。
【００１０】
本発明は、上記の点に鑑みてなされたもので、ラベリング対象データの通信量とラベリングに要するコストとを削減することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の実施の形態におけるセンサノードは、サーバ装置と通信ネットワークを介して接続されるセンサノードであって、前記センサノードが備えるセンサからセンサデータを取得する取得手段と、前記センサデータと、前記サーバ装置で予め作成された識別モデルとに基づいて、前記センサデータを複数のクラスに分類して所定のイベントの発生を識別する識別手段と、前記識別の結果に基づいて、前記識別の結果の不確かさを表す指標値として、前記センサデータの確度を算出する確度算出手段と、前記センサデータと該センサデータの確度とが対応付けて格納されている送信バッファの中から、前記確度が最小のセンサデータを選択し、該選択したセンサデータを前記サーバ装置に送信する送信手段と、を有することを特徴とする。
【００１２】
また、本発明の実施の形態におけるサーバ装置は、１以上のセンサノードと通信ネットワークを介して接続されるサーバ装置であって、前記センサノードでセンシングされたセンサデータと、前記センサノードで識別モデルによって前記センサデータを複数のクラスに分類して所定のイベントの発生を識別した際の指標値とを受信する受信手段と、前記指標値の昇順又は降順で前記センサデータをランキングして記憶部に格納する格納手段と、前記ランキングされたセンサデータを、ラベリング対象としてユーザに提示する提示手段と、前記ユーザによってラベリングされたセンサデータを用いて、前記センサノードで前記イベントの発生を識別するための識別モデルの追加学習を行う追加学習手段と、前記追加学習された識別モデルを、前記センサノードが保持している識別モデルの更新用の識別モデルとして前記センサノードに送信する送信手段と、を有することを特徴とする。
【００１３】
また、本発明の実施の形態における識別システムは、サーバ装置と、該サーバ装置と通信ネットワークを介して接続される１以上のセンサノードとが含まれる識別システムあって、前記センサノードは、前記センサノードが備えるセンサからセンサデータを取得する取得手段と、前記センサデータと、前記サーバ装置で予め作成された識別モデルとに基づいて、前記センサデータを複数のクラスに分類して所定のイベントの発生を識別する識別手段と、前記識別の結果に基づいて、前記識別の結果の不確かさを表す指標値として、前記センサデータの確度を算出する確度算出手段と、前記センサデータと該センサデータの確度とが対応付けて格納されている送信バッファの中から、前記確度が最小のセンサデータを選択し、該選択したセンサデータと該センサデータの確度とを前記サーバ装置に送信する送信手段と、を有し、前記サーバ装置は、前記センサデータと、該センサデータの確度とを前記センサノードから受信する受信手段と、前記確度の昇順又は降順で前記センサデータをランキングして記憶部に格納する格納手段と、前記ランキングされたセンサデータを、ラベリング対象としてユーザに提示する提示手段と、前記ユーザによってラベリングされたセンサデータを用いて、前記センサノードで前記識別モデルの追加学習を行う追加学習手段と、前記追加学習された識別モデルを、前記センサノードが保持している識別モデルの更新用の識別モデルとして前記センサノードに送信する送信手段と、を有することを特徴とする。
【発明の効果】
【００１４】
ラベリング対象データの通信量とラベリングに要するコストとを削減することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態における識別システムの全体構成の一例を示す図である。
【図２】本発明の実施の形態におけるセンサノードのハードウェア構成の一例を示す図である。
【図３】本発明の実施の形態におけるサーバ装置及びクライアント装置のハードウェア構成の一例を示す図である。
【図４】識別モデルによるイベント識別及び識別モデルの更新の一例を説明するための図である。
【図５】本発明の実施の形態における識別システムの機能構成の一例を示す図である。
【図６】識別モデルによるイベント識別からラベリング対象のセンサデータの送信までの手順の一例を示す図である。
【図７】ラベリング対象のセンサデータの受信から格納までの手順の一例を示す図である。
【図８】センサデータのラベリングから識別モデルの更新までの手順の一例を示す図である。
【図９】ディープニューラルネットワークで実現された識別モデルの一例を示す図である。
【図１０Ａ】本発明の効果の一例を説明するための図である。
【図１０Ｂ】本発明の効果の一例を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。本発明の実施の形態では、能動学習の手法を用いて、識別モデルを作成する際のセンサデータを選択することで、更新後の識別モデルの識別精度は維持しつつ、ラベリング対象のセンサデータの通信量とラベリングに要する人的コストとを抑えることが可能な識別システム１について説明する。
【００１７】
ここで、環境センシングでは、センサデータが複数のクラスのうちのいずれのクラスに分類されるかを判定（又は、各クラスに分類される確率等を算出）することで、所定の対象で起きているイベントや状況、状態、行動等を識別する。以降の本発明の実施の形態では、これらのイベント、状態、行動等をまとめて「イベント」と表すこととする。
【００１８】
具体的には、例えば、対象を何等かの機械として、その故障発生の有無を識別する場合、故障発生有りと、故障発生無しとがそれぞれイベントに該当する。また、例えば、対象を車両として、車両の状況が「走行中」、「停車中」、「ドア開閉中」、「その他」のいずれであるかを識別する場合、走行中と、停車中と、ドア開閉中と、その他とがそれぞれイベントに該当する。
【００１９】
なお、ラベリングとは、センサデータに対して、このセンサデータがいずれのクラスに属するかを示すラベル（つまり、正解データ又は教師データ）を付与することである。センサデータに対してラベルが付与されることで、識別モデルの作成に用いられる学習データが得られる。
【００２０】
また、識別モデルとしては、例えば、識別対象とするイベント等に応じて、適宜、任意の機械学習モデルが用いられる。一例として、識別モデルとして、ＤＮＮ（ディープニューラルネットワーク）やＳＶＭ（サポートベクターマシン）等を用いることが可能である。
【００２１】
＜全体構成＞
まず、本発明の実施の形態における識別システム１について、図１を参照しながら説明する。図１は、本発明の実施の形態における識別システム１の全体構成の一例を示す図である。
【００２２】
図１に示すように、本発明の実施の形態における識別システム１には、１以上のセンサノード１０と、サーバ装置２０と、クライアント装置３０とが含まれる。各センサノード１０とサーバ装置２０とは、例えば無線通信によって通信可能に接続される。また、サーバ装置２０とクライアント装置３０とは、例えば無線通信若しくは有線通信又はその両方によって通信可能に接続される。なお、センサノード１０とサーバ装置２０とは、例えば有線通信によって通信可能に接続されてもよいし、無線通信及び有線通信の両方によって通信可能に接続されてもよい。
【００２３】
センサノード１０は、センサによって所定の対象をセンシングした上で、センシングにより得られたセンサデータと識別モデルとを用いてイベントを識別し、その識別結果をサーバ装置２０に送信する。また、センサノード１０は、能動学習の手法を用いてラベリング対象とするセンサデータを選択した上で、選択したセンサデータをサーバ装置２０に送信する。ここで、ラベリング対象とするセンサデータの選択には、当該センサデータの確度を用いるものとする。確度とはセンサデータを識別した際の識別精度を表す指標値のことであり、確度が低いセンサデータほど識別モデルを作成する際の学習効果が高いことが期待できる。言い換えれば、確度とはセンサデータを識別した際の識別結果の不確かさを表す指標値のことである。確度の具体例については後述する。
【００２４】
なお、センサノード１０がどのようなセンサを有するかはセンシング対象や識別対象とするイベント等によって異なるが、センサノード１０は、センシング対象や識別対象とするイベント等に応じて、所定のセンサを所定の個数有しているものとする。
【００２５】
サーバ装置２０は、センサノード１０から識別結果やラベリング対象のセンサデータを受信する。また、サーバ装置２０は、ラベリング対象のセンサデータを確度が低い順（つまり、学習効果が高い順）にランキングした上で、ランキングされたセンサデータをクライアント装置３０に送信する。
【００２６】
また、サーバ装置２０は、学習データ（つまり、ラベル付けされたセンサデータ）を用いて識別モデルを作成し、当該識別モデルをセンサノード１０に送信する。これにより、センサノード１０が保持する識別モデルが更新される。なお、以降では、センサノード１０が保持する識別モデルの更新に用いられる識別モデルを「更新モデル」とも表す。
【００２７】
クライアント装置３０は、ユーザが操作する端末装置であり、当該ユーザの操作に応じてセンサデータに対してラベリングを行う。これにより、更新モデルを作成するための学習データが得られる。クライアント装置３０としては、例えば、ＰＣ（パーソナルコンピュータ）、スマートフォン、タブレット端末等を用いることが可能である。
【００２８】
なお、図１に示す識別システム１の構成は一例であって、他の構成であってもよい。例えば、サーバ装置２０とクライアント装置３０とが一体で構成されていてもよい。この場合、ユーザは、サーバ装置２０とクライアント装置３０とが一体で構成された装置を操作して、センサデータをラベリングすればよい。
【００２９】
＜ハードウェア構成＞
次に、本発明の実施の形態における識別システム１に含まれるセンサノード１０、サーバ装置２０及びクライアント装置３０のハードウェア構成について説明する。
【００３０】
≪センサノード１０≫
本発明の実施の形態におけるセンサノード１０は、例えば図２に示すハードウェア構成を有する。図２は、本発明の実施の形態におけるセンサノード１０のハードウェア構成の一例を示す図である。
【００３１】
図２に示すように、本発明の実施の形態におけるセンサノード１０は、ハードウェアとして、センサ１１と、プロセッサ１２と、メモリ１３と、無線通信モジュール１４とを有する。
【００３２】
センサ１１は、センサノード１０のセンシング対象や識別対象とするイベント等に応じたセンサである。センサ１１としては任意のセンサを用いることが可能である。なお、代表的なセンサとしては、例えば、モーションセンサ、加速度センサ、気圧センサ、温度センサ、超音波センサ、画像センサ、音声センサ等が挙げられる。
【００３３】
プロセッサ１２は、例えばＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）等であり、メモリ１３からプログラムやデータを読み出して処理を実行する演算装置である。メモリ１３は、各種のプログラムやデータを記憶したり、プロセッサ１２のワークエリアとして用いられたりする記憶装置である。
【００３４】
無線通信モジュール１４は、他の装置（例えば、サーバ装置２０等）との間で無線によりデータ通信を行うためのインタフェースである。
【００３５】
本発明の実施の形態におけるセンサノード１０は、図２に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
【００３６】
≪サーバ装置２０、クライアント装置３０≫
本発明の実施の形態におけるサーバ装置２０及びクライアント装置３０は、例えば図３に示すハードウェア構成を有する。図３は、本発明の実施の形態におけるサーバ装置２０及びクライアント装置３０のハードウェア構成の一例を示す図である。なお、サーバ装置２０及びクライアント装置３０は同様のハードウェア構成で実現可能であるため、以降では、主に、サーバ装置２０のハードウェア構成について説明する。
【００３７】
図３に示すように、本発明の実施の形態におけるサーバ装置２０は、ハードウェアとして、入力装置２１と、表示装置２２と、外部Ｉ／Ｆ２３と、ＲＡＭ（Random Access Memory）２４と、ＲＯＭ（Read Only Memory）２５と、プロセッサ２６と、通信装置２７と、補助記憶装置２８とを有する。
【００３８】
入力装置２１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種の操作を入力するのに用いられる。表示装置２２は、例えばディスプレイ等であり、各種の処理結果等を表示する。なお、サーバ装置２０は、入力装置２１及び表示装置２２の少なくとも一方を有していなくてもよい。
【００３９】
外部Ｉ／Ｆ２３は、外部装置とのインタフェースである。外部装置には、記録媒体２３ａ等がある。サーバ装置２０は、外部Ｉ／Ｆ２３を介して、記録媒体２３ａの読み取りや書き込み等を行うことができる。記録媒体２３ａとしては、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００４０】
ＲＡＭ２４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ２５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ２５には、例えば、ＯＳ（Operating System）に関する設定情報や通信に関する設定情報等が格納されている。
【００４１】
プロセッサ２６は、例えばＣＰＵ等であり、ＲＯＭ２５や補助記憶装置２８等からプログラムやデータをＲＡＭ２４上に読み出して処理を実行する演算装置である。通信装置２７は、他の装置との間でデータ通信を行うためのインタフェース装置である。
【００４２】
補助記憶装置２８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置２８に格納されているプログラムやデータには、例えば、ＯＳ、当該ＯＳ上で各種機能を実現するアプリケーションプログラム等がある。
【００４３】
本発明の実施の形態におけるサーバ装置２０及びクライアント装置３０は、図３に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図３に示す例では、本発明の実施の形態におけるサーバ装置２０及びクライアント装置３０がそれぞれ１台の装置（コンピュータ）で実現されている場合を示したが、これに限られない。本発明の実施の形態におけるサーバ装置２０及びクライアント装置３０の少なくとも一方が、複数台の装置（コンピュータ）で実現されていてもよい。また、１台の装置（コンピュータ）には、複数のプロセッサ２６や複数の記憶装置（ＲＡＭ２４やＲＯＭ２５、補助記憶装置２８等）が含まれていてもよい。
【００４４】
＜イベント識別及び識別モデルの更新の概略＞
ここで、道路を対象として、路面の損傷有無のイベントを識別する場合におけるイベント識別及び識別モデルの更新について、図４を参照しながら説明する。図４は、識別モデルによるイベント識別及び識別モデルの更新の一例を説明するための図である。図４に示す例では、車両がセンサノード１０であり、このセンサノード１０に搭載されているセンサが車両の振動等をセンシングするものとする。
【００４５】
図４（ａ）に示すように、センサノード１０は、センサからセンサデータを取得し、このセンサデータと、予め作成された識別モデルとを用いて、イベント識別（つまり、路面の損傷有無の識別）を行う。そして、センサノード１０は、この識別結果が路面損傷を示すものである場合、当該識別結果が含まれるイベントデータをサーバ装置２０に送信する。ここで、イベントデータには、上記の識別結果（つまり、路面が損傷していることを示す情報）の他、例えば、損傷箇所の緯度及び経度を示す情報や損傷の大きさを算出した数値等が含まれてもよい。これにより、サーバ装置２０は、路面が損傷している箇所の各種情報を効率良く収集することができる。
【００４６】
ここで、例えば、運転手の交代やタイヤの交換、センサの劣化、センサの設置場所のずれ等の環境変化が発生した場合、センサデータのセンサ値に変動が生じる。このため、上述したように、上記の識別モデル（図４（ａ）でイベント識別に用いた識別モデル）での識別精度が低下する（つまり、イベント識別に用いたセンサデータの確度が低くなる）場合がある。
【００４７】
このような場合、図４（ｂ）に示すように、センサノード１０は、確度が低いセンサデータをラベリング対象としてサーバ装置２０に送信する。そして、ユーザは、クライアント装置３０を用いて、サーバ装置２０で保持されているセンサデータに対してラベリング行って学習データを作成する。
【００４８】
その後、サーバ装置２０は、学習データを用いて更新モデルを作成した上で、この更新モデルをセンサノード１０に送信する。これにより、センサノード１０が保持する識別モデルが更新モデルにより更新され、環境変化にも対応したイベント識別が可能となる。
【００４９】
以降では、図４（ｃ）に示すように、センサノード１０は、センサから取得したセンサデータと、図４（ｃ）で更新された識別モデルとを用いて、イベント識別を行う。これにより、環境変化後であっても、高い識別精度でイベント識別を行うことができる。しかも、本発明の実施の形態では、上記の図４（ｂ）で、能動学習の手法によって確度の低いセンサデータを選択した上で、選択したセンサデータをラベリング対象としてセンサノード１０からサーバ装置２０に送信する。このため、全てのセンサデータをラベリング対象としてサーバ装置２０に送信する場合と比較してセンサノード１０の通信量を抑えることが可能となると共に、少ない数の学習データ（ラベルが付与されたセンサデータ）でも高い識別精度を達成可能な識別モデルの作成が可能となる。また、ラベリング対象のセンサデータの数も少なくなるため、ラベリングの人的コストも削減することが可能となる。
【００５０】
＜ラベリング対象のセンサデータの選択方法＞
ここで、上述したように、確度が低いセンサデータの選択には能動学習と呼ばれる手法を用いる。能動学習とは、教師あり学習に用いられるデータをラベリングして学習データを作成する際に、学習効果が高いデータを優先的に選択することで、少ないコストで識別精度が高い識別モデルを作成可能とする手法である。
【００５１】
本発明の実施の形態では、能動学習のクエリ戦略（つまり、どのようなデータを選択（サンプリング）するかの戦略）として、Uncertainly Samplingと呼ばれる手法を利用する。Uncertainly Samplingは、最も不確かなデータにラベルを付与して学習データとすることで、この学習データによって作成される識別モデルの識別精度が上がるだろうとの考えに基づくクエリ戦略である。本発明の実施の形態では、この不確かさを表す指標値を確度とする。確度が低いほどラベリングの候補となる一方で、確度が高ければラベリングの必要はないとする。
【００５２】
確度の計算方法には様々なものが考えられるが、例えば、Margin Samplingと呼ばれる手法を用いることができる。Margin Samplingでは、xをデータ（つまり、センサデータ）として、xの確度をP(y1|x)-P(y2|x)で計算する。ここで、y1はxが分類される確率が最も高いクラスのラベル、y2はxが分類される確率が最も高いクラスのラベルである。すなわち、xが分類される確率が最も高いクラスの事後確率P(y1|x)から、次に確率が高いクラスの事後確率P(y2|x)を引いた値を確度とする。そして、Margin Samplingでは、以下の式（１）によりデータ（つまり、ラベリング対象のセンサデータ）x*を選択する。
【００５３】
【数１】
2020119238.tif 000003
これにより、確度が低いほど（つまり、P(y1|x)とP(y2|x)との差が小さいほど（これは、識別結果が不確かであることを意味する。））、xがラベリング対象として選択される。
【００５４】
なお、Margin Samplingの代わりに、例えば、「確率最大のラベル」の確率が最小のデータを選択するLeast Confidentや、エントロピーが最大のデータを選択するEntropy-based Approach等が用いられてもよい。
【００５５】
＜機能構成＞
次に、本発明の実施の形態における識別システム１の機能構成について、図５を参照しながら説明する。図５は、本発明の実施の形態における識別システム１の機能構成の一例を示す図である。
【００５６】
≪センサノード１０≫
図５に示すように、本発明の実施の形態におけるセンサノード１０は、機能部として、センサデータ取得部１０１と、特徴量抽出部１０２と、識別部１０３と、確度算出部１０４と、データ送信部１０５と、更新モデル受信部１０６と、識別モデル更新部１０７とを有する。これら各機能部は、例えば、センサノード１０にインストールされたプログラムがプロセッサ１２に実行させる処理により実現される。
【００５７】
また、本発明の実施の形態におけるセンサノード１０は、記憶部として、送信バッファ１１０を有する。当該記憶部は、例えば、メモリ１３を用いて実現可能である。
【００５８】
センサデータ取得部１０１は、センサ１１からセンサデータを取得する。なお、センサデータはセンサ１１が所定の対象をセンシングすることで作成され、例えば、所定の時間区間内のセンサ値の時系列で表される。
【００５９】
特徴量抽出部１０２は、センサデータ取得部１０１により取得されたセンサデータから所定の特徴量を抽出する。ここで、センサデータからどのような特徴量を抽出するかは、例えば、識別対象とするイベントや識別モデルの種類等によって異なる。
【００６０】
識別部１０３は、特徴量抽出部１０２により抽出された特徴量と、予め作成された識別モデル１０００とを用いて、当該特徴量に対応するセンサデータのイベント識別を行う。すなわち、識別部１０３は、例えば、識別モデル１０００によって当該特徴量が分類されるクラスの確率を算出することで、当該特徴量に対応するセンサデータのイベント識別を行う。なお、識別モデル１０００は、例えば、メモリ１３等に格納されている。
【００６１】
確度算出部１０４は、特徴量抽出部１０２により抽出された特徴量に対応するセンサデータ（つまり、センサデータ取得部１０１により取得されたセンサデータ）の確度を算出する。そして、確度算出部１０４は、算出した確度が、送信バッファ１１０に格納されているセンサデータの最大確度よりも小さい場合、当該最大確度のセンサデータを送信バッファ１１０から削除すると共に、当該算出した確度に対応するセンサデータを送信バッファ１１０に格納する。
【００６２】
データ送信部１０５は、識別部１０３によるイベント識別の識別結果に応じて、例えば、この識別結果を含むイベントデータをサーバ装置２０に送信する。
【００６３】
また、データ送信部１０５は、例えば通信帯域に空きがある場合に、送信バッファ１１０に格納されているセンサデータのうち、最小確度のセンサデータをサーバ装置２０に送信する。このとき、データ送信部１０５は、当該センサデータと共に、このセンサデータの確度もサーバ装置２０に送信する。これにより、確度が低いセンサデータがラベリング対象としてサーバ装置２０に送信される。
【００６４】
更新モデル受信部１０６は、サーバ装置２０から送信された更新モデルを受信する。識別モデル更新部１０７は、更新モデル受信部１０６により更新モデルが受信された場合、当該更新モデルで識別モデル１１００を更新する。
【００６５】
送信バッファ１１０は、サーバ装置２０への送信候補となるセンサデータを格納する。送信バッファ１１０には、例えば、確度算出部１０４で算出された確度と対応付けられてセンサデータが格納されている。
【００６６】
≪サーバ装置２０≫
図５に示すように、本発明の実施の形態におけるサーバ装置２０は、機能部として、データ受信部２０１と、ランキング部２０２と、データ送信部２０３と、ラベリング結果受信部２０４と、特徴量抽出部２０５と、追加学習部２０６と、更新モデル送信部２０７とを有する。これら各機能部は、例えば、サーバ装置２０にインストールされた１以上のプログラムがプロセッサ２６に実行させる処理により実現される。
【００６７】
また、本発明の実施の形態におけるサーバ装置２０は、記憶部として、低確度センサデータ記憶部２１０を有する。当該記憶部は、例えば、補助記憶装置２８を用いて実現可能である。
【００６８】
データ受信部２０１は、センサノード１０から送信されたセンサデータ（及びこのセンサデータの確度）を受信する。
【００６９】
ランキング部２０２は、データ受信部２０１によりセンサデータ（及びこのセンサデータの確度）が受信された場合、確度が低い順となるように当該センサデータを低確度センサデータ記憶部２１０に格納する。すなわち、ランキング部２０２は、当該センサデータを低確度センサデータ記憶部２１０に格納した上で、低確度センサデータ記憶部２１０に格納されているセンサデータを確度が低い順にランキングする（つまり、センサデータを確度が低い順に並び替える。）。
【００７０】
データ送信部２０３は、低確度センサデータ記憶部２１０に記憶されているセンサデータをクライアント装置３０に送信する。このとき、データ送信部２０３は、確度のランキングを維持したまま、センサデータをクライアント装置３０に送信する。なお、データ送信部２０３は、例えば、クライアント装置３０からの要求に応じて、センサデータを当該クライアント装置３０に送信する。
【００７１】
ラベリング結果受信部２０４は、クライアント装置３０から送信されたラベリング結果（つまり、学習データ（ラベルが付与されたセンサデータ）の集合）を受信する。
【００７２】
特徴量抽出部２０５は、ラベリング結果受信部２０４によりラベリング結果が受信された場合、これらのラベリング結果（つまり、学習データ）に含まれるセンサデータから所定の特徴量を抽出する。
【００７３】
追加学習部２０６は、特徴量抽出部２０５により抽出された特徴量と、この特徴量に対応するセンサデータに付与されたラベルとを用いて、識別モデル１０００の追加学習を行って更新モデルを作成する。すなわち、追加学習部２０６は、特徴量を入力、この特徴量に対応するセンサデータに付与されたラベルを正解データとして、教師あり学習の手法により、識別モデルの追加学習を行って更新モデルを作成する。
【００７４】
更新モデル送信部２０７は、追加学習部２０６により作成された更新モデルをセンサノード１０に送信する。
【００７５】
低確度センサデータ記憶部２１０は、ラベリング対象となるセンサデータを格納する。低確度センサデータ記憶部２１０には、上述したように、確度が低い順にランキング形式で（例えば、確度の降順で）センサデータが格納されている。
【００７６】
≪クライアント装置３０≫
図５に示すように、本発明の実施の形態におけるクライアント装置３０は、機能部として、データ受信部３０１と、ラベリング部３０２と、ラベリング結果送信部３０３とを有する。これら各機能部は、例えば、クライアント装置３０にインストールされた１以上のプログラムがプロセッサ２６に実行させる処理により実現される。
【００７７】
データ受信部３０１は、サーバ装置２０から送信されたセンサデータ（つまり、確度が低い順にランキングされたセンサデータ）を受信する。
【００７８】
ラベリング部３０２は、データ受信部３０１によりセンサデータが受信された場合に、例えば、ユーザの操作に応じて、これらのセンサデータをラベリングする。ここで、ラベリング部３０２は、例えば、データ受信部３０１により受信されたセンサデータをランキング形式でＵＩ（ユーザインタフェース）上に表示する。そして、ラベリング部３０２は、当該ＵＩ上でのユーザのラベリング操作に応じて、各センサデータをラベリングする。このとき、ラベリング対象のセンサデータは確度が小さい順にランキング形式でＵＩ上に表示されるため、ユーザは、より確度の小さいセンサデータ（つまり、より学習効果が高いセンサデータ）を優先的にラベリングすることができる。これにより、センサデータに対してラベルが付与された学習データが作成される。なお、ユーザは、ＵＩ上に表示された全てのセンサデータをラベリングする必要はなく、一部のセンサデータのみをラベリングしてもよい。例えば、ユーザは、自身がラベリング可能な範囲（例えば、ラベルが分かる範囲やコスト的に対応可能な範囲等）のセンサデータのみをラベリングしてもよい。
【００７９】
ラベリング結果送信部３０３は、ラベリング部３０２によりセンサデータのラベリングが行われた場合、これらラベリング結果（つまり、ラベルが付与されたセンサデータである学習データの集合）をサーバ装置２０に送信する。これにより、上述したように、これらの学習データを用いて、識別モデル１０００の追加学習が行われ、更新モデルが作成される。なお、ＵＩ上に表示された全てのセンサデータのうちの一部のセンサデータのみがラベリングされた場合、これら一部のセンサデータのラベリング結果を用いて、識別モデル１０００の追加学習が行われ、更新モデルが作成される。このような一部のセンサデータのラベリング結果が用いられた場合であっても、追加学習によって、識別モデル１０００の識別精度を向上させた更新モデルを作成することが可能となる。
【００８０】
＜処理の詳細＞
次に、本発明の実施の形態における識別システム１が実行する処理の詳細について説明する。
【００８１】
≪識別モデルによるイベント識別からラベリング対象のセンサデータの送信まで≫
以降では、センサノード１０で識別モデル１０００によりイベント識別を行って、ラベリング対象のセンサデータをサーバ装置２０に送信する場合の手順について、図６を参照しながら説明する。図６は、識別モデルによるイベント識別からラベリング対象のセンサデータの送信までの手順の一例を示す図である。なお、以降の各手順はセンサノード１０によって実行される。
【００８２】
センサデータ取得部１０１は、センサ１１からセンサデータを取得する（ステップＳ１０１）。なお、センサデータ取得部１０１は、所定の時間毎に、センサ１１からセンサデータを取得する。このとき、センサデータ取得部１０１は、例えば、或る程度のまとまりのセンサデータ（例えば、所定の件数分のセンサデータや所定の時間幅の間のセンサデータ等）を取得してもよい。ステップＳ１０２以降の処理は、センサデータ取得部１０１によりセンサデータが取得される度に実行される。
【００８３】
次に、特徴量抽出部１０２は、上記のステップＳ１０１で取得されたセンサデータから所定の特徴量を抽出する（ステップＳ１０２）。
【００８４】
次に、識別部１０３は、上記のステップＳ１０２で抽出された特徴量と、予め作成された識別モデル１０００とを用いて、当該特徴量に対応するセンサデータのイベント識別を行う（ステップＳ１０３）。
【００８５】
次に、データ送信部１０５は、例えば、上記のステップＳ１０３で識別されたイベントが所定のイベントである場合、当該識別結果を含むイベントデータをサーバ装置２０に送信する（ステップＳ１０４）。なお、データ送信部１０５は、例えば、上記のステップＳ１０３で識別されたイベントがどのようなイベントであるかに関わらず、当該識別結果を含むイベントデータをサーバ装置２０に送信してもよい。
【００８６】
次に、確度算出部１０４は、上記のステップＳ１０２で抽出された特徴量に対応するセンサデータの確度を算出する（ステップＳ１０５）。すなわち、確度算出部１０４は、例えば、センサデータをxとして、上記のステップＳ１０３での識別結果に含まれる確率P(y1|x)及びP(y2|x)を用いて、センサデータxの確度をP(y1|x)-P(y2|x)により算出する。
【００８７】
次に、確度算出部１０４は、上記のステップＳ１０５で算出した確度が、送信バッファ１１０に格納されているセンサデータの最大確度よりも小さいか否かを判定する（ステップＳ１０６）。そして、上記のステップＳ１０５で算出した確度が当該最大確度よりも小さい場合（ステップＳ１０６でＹＥＳ）、確度算出部１０４は、当該最大確度のセンサデータを送信バッファ１１０から削除すると共に、上記のステップＳ１０１で取得されたセンサデータを上記のステップＳ１０５で算出した確度と対応付けて送信バッファ１１０に格納する（ステップＳ１０７）。なお、ステップＳ１０６でＮＯの場合、ステップＳ１０７の処理は実行されない。
【００８８】
次に、データ送信部１０５は、通信帯域に空きがあるか否かを判定する（ステップＳ１０８）。すなわち、データ送信部１０５は、センサデータ（及びその確度）をサーバ装置２０に送信するだけの通信帯域の余裕があるか否かを判定する。そして、通信帯域に余裕がある場合（ステップＳ１０８でＹＥＳ）、データ送信部１０５は、送信バッファ１１０に格納されているセンサデータのうち、最小確度のセンサデータ（及びその確度）をサーバ装置２０に送信する（ステップＳ１０９）。これは、送信バッファ１１０に格納されているセンサデータの中から、上記の式（１）によってラベリング対象のセンサデータを選択していることを意味する。なお、ステップＳ１０８でＮＯの場合、ステップＳ１０１に戻る。
【００８９】
ステップＳ１０９に続いて、データ送信部１０５は、上記のステップＳ１０９での送信が成功したか否かを判定する（ステップＳ１１０）。そして、上記のステップＳ１０９での送信が成功した場合（ステップＳ１１０でＹＥＳ）、データ送信部１０５は、送信済みのセンサデータを送信バッファ１１０から削除する（ステップＳ１１１）。なお、ステップＳ１１０でＮＯの場合、ステップＳ１０１に戻る。
【００９０】
なお、本発明の実施の形態では、上記のステップＳ１０９で１件のセンサデータを送信した後、上記のステップＳ１１１で当該１件のセンサデータを削除する場合について説明したが、これに限られず、センサデータの送信及び削除は或る程度のまとまりで行われてもよい。例えば、上記のステップＳ１０９で所定の件数分のセンサデータを送信した後、上記のステップＳ１１１でこれらのセンサデータを削除してもよいし、上記のステップＳ１０９で所定の時間幅の間のセンサデータを送信した後、上記のステップＳ１１１でこれらのセンサデータを削除してもよい。
【００９１】
以上のように、本発明の実施の形態におけるセンサノード１０は、送信バッファ１１０に格納されているセンサデータの中から、確度が最も低いセンサデータを選択し、この選択したセンサデータをサーバ装置２０に送信する。これより、本発明の実施の形態におけるセンサノード１０は、学習効果が高いセンサデータのみをラベリング対象としてサーバ装置２０に送信することができ、その結果としてサーバ装置２０との通信量も削減することができる。
【００９２】
なお、上記の図６に示す手順では、センサデータを取得（ステップＳ１０１）する都度、オンライン的に、ラベリング対象を選択及び送信するための処理（ステップＳ１０５〜ステップＳ１１１）を行っているが、これに限られず、例えば、バッチ的に、ラベリング対象を選択及び送信するための処理を行ってもよい。又は、例えば、ステップＳ１０３で或る特定のイベントが識別された場合にのみ、ラベリング対象を選択及び送信するための処理を行ってもよい。
【００９３】
≪ラベリング対象のセンサデータの受信から格納までの手順≫
以降では、サーバ装置２０でセンサデータ（及びその確度）を受信して、低確度センサデータ記憶部２１０に格納する場合の手順について、図７を参照しながら説明する。図７は、ラベリング対象のセンサデータの受信から格納までの手順の一例を示す図である。なお、以降の各手順はサーバ装置２０によって実行される。
【００９４】
データ受信部２０１は、センサノード１０から送信されたセンサデータ（及びこのセンサデータの確度）を受信する（ステップＳ２０１）。
【００９５】
次に、ランキング部２０２は、上記のステップＳ２０１で受信されたセンサデータを、確度が低い順となるように、低確度センサデータ記憶部２１０に格納する（ステップＳ２０２）。すなわち、ランキング部２０２は、当該センサデータを低確度センサデータ記憶部２１０に格納した上で、低確度センサデータ記憶部２１０に格納されているセンサデータを確度が低い順にランキングする。
【００９６】
なお、確度が低い順にランキングすることは一例であって、ランキング部２０２は、確度が低い順以外にも、例えば、確度以外の任意の指標値を用いて、この指標値の昇順若しくは降順（又は、任意の順序）にランキングしてもよい。
【００９７】
以上のように、本発明の実施の形態におけるサーバ装置２０は、ラベリング対象のセンサデータをセンサノード１０から受信した場合、このセンサデータを確度の低い順に低確度センサデータ記憶部２１０に格納する。これにより、低確度センサデータ記憶部２１０には、確度の低い順にランキング形式でセンサデータが格納される。
【００９８】
なお、上記のステップＳ２０２で必ずしもランキングされる必要はない。例えば、クライアント装置３０でセンサデータを表示する際に、このクライアント装置３０がセンサデータを確度の低い順にランキングしてもよい。
【００９９】
≪センサデータのラベリングから識別モデルの更新まで≫
以降では、クライアント装置３０でセンサデータをラベリングして学習データを作成してから、センサノード１０で識別モデルを更新するまでの手順について、図８を参照しながら説明する。図８は、センサデータのラベリングから識別モデルの更新までの手順の一例を示す図である。
【０１００】
サーバ装置２０のデータ送信部２０３は、低確度センサデータ記憶部２１０に記憶されているセンサデータをクライアント装置３０に送信する（ステップＳ３０１）。このとき、データ送信部２０３は、確度のランキングを維持したまま、センサデータをクライアント装置３０に送信する。
【０１０１】
クライアント装置３０のデータ受信部３０１は、サーバ装置２０から送信されたセンサデータを受信する（ステップＳ３０２）。
【０１０２】
次に、クライアント装置３０のラベリング部３０２は、上記のステップＳ３０２で受信されたセンサデータをユーザの操作に応じてラベリングする（ステップＳ３０３）。ここで、ラベリング部３０２は、例えば、上記のステップＳ３０２で受信されたセンサデータを、確度の小さい順にランキング形式でＵＩ上に表示する。そして、ラベリング部３０２は、当該ＵＩ上でのユーザのラベリング操作に応じて、各センサデータをラベリングする。これにより、ユーザは、より確度の小さいセンサデータ（つまり、より学習効果が高いセンサデータ）を優先的にラベリングすることができる。
【０１０３】
なお、上述したように、確度が低い順にランキングされたセンサデータがＵＩ上に表示される場合以外にも、任意の指標値の昇順若しくは降順（又は、任意の順序）にランキングされたセンサデータがＵＩ上に表示されてもよい。
【０１０４】
次に、クライアント装置３０のラベリング結果送信部３０３は、例えば、ユーザのラベリング完了操作に応じて、上記のステップＳ３０３におけるラベリング結果（つまり、ラベルが付与されたセンサデータである学習データの集合）をサーバ装置２０に送信する（ステップＳ３０４）。
【０１０５】
サーバ装置２０のラベリング結果受信部２０４は、クライアント装置３０から送信されたラベリング結果（つまり、学習データの集合）を受信する（ステップＳ３０５）。
【０１０６】
次に、サーバ装置２０の特徴量抽出部２０５は、上記のステップＳ３０５で受信されたラベリング結果（つまり、学習データ）に含まれる各センサデータから所定の特徴量を抽出する（ステップＳ３０６）。
【０１０７】
次に、サーバ装置２０の追加学習部２０６は、上記のステップＳ３０６で抽出された各特徴量と、当該特徴量に対応するセンサデータに付与されたラベルとを用いて、識別モデル１０００の追加学習を行って更新モデルを作成する（ステップＳ３０７）。
【０１０８】
次に、サーバ装置２０の更新モデル送信部２０７は、上記のステップＳ３０７で作成された更新モデルをセンサノード１０に送信する（ステップＳ３０８）。
【０１０９】
センサノード１０の更新モデル受信部１０６は、サーバ装置２０から送信された更新モデルを受信する（ステップＳ３０９）。
【０１１０】
次に、センサノード１０の識別モデル更新部１０７は、上記のステップＳ３０９で受信された更新モデルで識別モデル１１００を更新する（ステップＳ３１０）。
【０１１１】
以上のように、本発明の実施の形態における識別システム１では、クライアント装置３０で確度の低い順にランキングされたセンサデータが表示され、ユーザは、これら表示されたセンサデータに対してラベリングを行うことができる。このため、ユーザは、確度の低いセンサデータ（つまり、学習効果の高いセンサデータ）を優先的にラベリングすることができる。したがって、ラベリング対象のセンサデータが少ない場合であっても、学習に効果的なラベリングが可能となり、少ない労力で効率的に更新モデルを作成することが可能となる。
【０１１２】
＜実施例＞
次に、本発明の実施の形態の実施例について説明する。本実施例では、業務車両をセンサノード１０として、この業務車両にモーションセンサ（加速度センサ及びジャイロセンサ）を取り付けた。そして、モーションセンサのセンサデータから、ＰＴＯ（パワーテイクオフ）による作業機の駆動有無を識別するものとする。なお、本発明の実施の形態で本来想定しているのは、業務車両を長時間使用することによる環境の変化であるが、本実施例では、同型の車両複数台分のセンサデータを用いた。
【０１１３】
本実施例では、識別モデルとして、図９に示すＤＮＮ（ディープニューラルネットワーク）を用いた。本実施例では、加速度センサのセンサデータと、モーションセンサのセンサデータとを１００Ｈｚで取得し、３軸それぞれにＬＰＣケプストラムに変換する。各軸３０次のケプストラムを求めるため、図９に示す識別モデルへの入力データは、合計で１８０個のケプストラムになる。なお、本実施例では識別モデルへの入力としてケプストラム、識別モデルとしてＤＮＮを用いたが、例えばスペクトログラムや移動平均等の任意の特徴量を入力してもよいし、上述したように、ＳＶＭ等の任意の機械学習モデルが識別モデルとして用いられてもよい。
【０１１４】
図９に示す識別モデルは、１層のＬＳＴＭ（Long short-term memory）と、３層の全結合層と、活性化関数をSoftmax関数とした出力層とで構成される。このSoftmax関数は、入力データが４つのクラス（「車両走行中」、「作業機駆動中」、「ドア」、「その他」）のそれぞれに分類される確率を算出する。なお、クラス「ドア」は、例えば、業務車両がドア開閉中であることを表すクラスである。また、クラス「その他」は、例えば、業務車両が停止中やアイドリング中であることを表すクラスである。
【０１１５】
このとき、予め５台分の業務車両のセンサデータを用意した上で、４台分のセンサデータを用いて識別モデルの学習を行い、５台目のセンサデータでイベント識別を行う際に、単純に走行時間の中央から順にセンサデータを追加した場合（単純手法）と、能動学習のMargin Samplingによって選択された順にセンサデータを追加した場合とで識別精度を比較した。この比較結果を図１０Ａ及び図１０Ｂに示す。
【０１１６】
図１０Ａ及び図１０Ｂに示すように、単純手法とMargin Samplingとの間で最終的な識別精度の向上に大きな差はないものの、特に作業機駆動中の識別精度において、単純手法では識別精度の向上がゆっくりであるのに対して、Margin Samplingでは少ないラベリング量であっても（つまり、学習データの割合が少ない場合であっても）識別精度が向上していることがわかる。このように、少ないデータ量でも識別精度が向上できるため、センサノード１０からサーバ装置２０へのデータ送信量が少なくても、環境変化に対して対応可能となる。
【０１１７】
なお、本発明の実施の形態は、本実施例以外にも、例えば、以下のような実施例にも適用可能である。
【０１１８】
・屋外や屋内で音による異常識別を行っている際に、マイクカバーの劣化により、音の特性が変化した場合
・屋外で自然環境のモニタリングを鳥の鳴き声等の音を用いて行っているが、台風が通過し、マイクの向きや周囲の樹木の状況が変化した場合
・車に搭載した慣性センサで路面の損傷を識別しているが、タイヤの空気圧の変化や、運転手の交代等により、振動パターンが変化した場合
・牧場の動物に慣性センサを取り付け、異常行動がないか否かを監視しているが、慣性センサに位置ずれが生じた場合
ただし、これらの実施例は一例であって、これら以外にも、様々な環境をセンサによりセンシングして何等かのイベントを識別している際に、環境変化が生じる任意の実施例にも適用可能である。
【０１１９】
＜まとめ＞
以上のように、本発明の実施の形態における識別システム１は、能動学習の手法を用いて、識別モデル更新のための更新モデルを作成する際のセンサデータ（つまり、ラベリング対象のセンサデータ）を選択する。これにより、センサノード１０がセンサデータ（及びその確度）をサーバ装置２０に送信する際のデータ量を抑えつつ、環境変化に対応可能な更新モデル（つまり、環境変化後でも識別精度が高い識別モデル）を作成することが可能となる。また、ラベリング対象のセンサデータの数の削減することができるため、ユーザがセンサデータをラベリングする際の人的コストを削減することができる。
【０１２０】
このように、本発明の実施の形態における識別システム１では、センサノード１０の限られた電力やユーザの限られた人的コストの下でも、効果的に識別モデルを更新することが可能となるため、長期間にわたって安定的な環境センシングが可能となる。
【０１２１】
なお、本発明の実施の形態では、ユーザによってラベリングされたセンサデータを学習データとして、この学習データを用いて更新モデルを作成する場合について説明したが、例えば、ラベルが無くても更新モデルが作成可能である場合には、センサノード１０から送信されたセンサデータを用いてサーバ装置２０で自動的に更新モデルが作成されてもよい。
【０１２２】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１２３】
１        識別システム
１０      センサノード
２０      サーバ装置
３０      クライアント装置
１０１    センサデータ取得部
１０２    特徴量抽出部
１０３    識別部
１０４    確度算出部
１０５    データ送信部
１０６    更新モデル受信部
１０７    識別モデル更新部
１１０    送信バッファ
２０１    データ受信部
２０２    ランキング部
２０３    データ送信部
２０４    ラベリング結果受信部
２０５    特徴量抽出部
２０６    追加学習部
２０７    更新モデル送信部
２１０    低確度センサデータ記憶部
３０１    データ受信部
３０２    ラベリング部
３０３    ラベリング結果送信部
１０００  識別モデル
【図１】
2020119238.tif 000004
【図２】
2020119238.tif 000005
【図３】
2020119238.tif 000006
【図４】
2020119238.tif 000007
【図５】
2020119238.tif 000008
【図６】
2020119238.tif 000009
【図７】
2020119238.tif 000010
【図８】
2020119238.tif 000011
【図９】
2020119238.tif 000012
【図１０Ａ】
2020119238.tif 000013
【図１０Ｂ】
2020119238.tif 000014