(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-27
(45)【発行日】2024-04-04
(54)【発明の名称】分散機械学習装置、分散機械学習方法、分散機械学習プログラム及びデータ処理システム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240328BHJP
【FI】
G06N20/00
(21)【出願番号】P 2020047232
(22)【出願日】2020-03-18
【審査請求日】2023-02-28
【新規性喪失の例外の表示】特許法第30条第2項適用 2019年10月21日にComputer Security Symposium 2019 予稿集 第1497頁~第1503頁において、セコム株式会社が、香川椋平及び西村拓真が発明した「分散機械学習装置、分散機械学習方法、分散機械学習プログラム及びデータ処理システム」について公開した。
(73)【特許権者】
【識別番号】000108085
【氏名又は名称】セコム株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】香川 椋平
(72)【発明者】
【氏名】西村 拓真
【審査官】石坂 知樹
(56)【参考文献】
【文献】特開2020-038699(JP,A)
【文献】特許第6573269(JP,B1)
【文献】特表2019-526851(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/098
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
入力データに対して所定のデータ処理タスクを行うための学習モデルである共通モデルを備えた複数の端末装置と通信し、前記端末装置において前記共通モデルに対して学習データを用いて機械学習させることによって生成された端末モデルを受信し、受信した複数の前記端末モデルを平均化処理して前記共通モデルを生成し、前記端末装置に送信する分散機械学習装置であって、
受信した前記端末モデル間における類似度を求める類似度算出手段と、
前記類似度に基づいて類似する前記端末モデルの数である類似端末モデル数が多い前記端末モデルほど前記共通モデルに反映され難くなるよう前記平均化処理を実行するモデル生成手段と、
を備える分散機械学習装置。
【請求項2】
前記モデル生成手段は、全ての前記端末モデルの中から前記類似端末モデル数の多い前記端末モデルほど選択され難くいよう前記端末モデルを選択し、該選択された前記端末モデルを用いて前記平均化処理を実行する請求項1に記載の分散機械学習装置。
【請求項3】
前記モデル生成手段は、前記類似端末モデル数の少ない前記端末モデルほど前記平均化処理において前記共通モデルに反映され易くなるように重み値を設定し、前記端末モデル毎との前記重み値及び当該端末モデルを用いて前記平均化処理を実行する請求項1又は2に記載の分散機械学習装置。
【請求項4】
前記モデル生成手段は、前記機械学習するのに利用された学習データ数が大きいほど、前記平均化処理において前記共通モデルに反映され易くなるように前記重み値を設定する請求項3に記載の分散機械学習装置。
【請求項5】
前記学習データは、前記端末装置が対象とするユーザの活動を示す活動データであり、
前記共通モデルは、前記活動データの特徴を示す特徴ベクトルを出力する機械学習モデルであることを特徴とする請求項1~4のいずれか1項に記載の分散機械学習装置。
【請求項6】
入力データに対して所定のデータ処理タスクを行うための学習モデルである共通モデルを備えた複数の端末装置と、複数の前記端末装置と通信して当該端末装置の前記共通モデルを生成する分散機械学習装置と、からなるデータ処理システムであって、
前記複数の端末装置の各々は、前記共通モデルに対して所定の学習データを機械学習することによって端末モデルを生成して前記分散機械学習装置に送信し、
前記分散機械学習装置は、
前記端末装置から受信した前記端末モデル間における類似度を求める類似度算出手段と、
前記類似度に基づいて類似する前記端末モデルの数である類似端末モデル数が多い前記端末モデルほど前記共通モデルに反映され難くなるよう平均化処理を行うことで前記共通モデルを生成するモデル生成手段と、
を備えることを特徴とするデータ処理システム。
【請求項7】
入力データに対して所定のデータ処理タスクを行うための学習モデルである共通モデルを備えた複数の端末装置と通信し、前記端末装置において前記共通モデルに対して学習データを用いて機械学習させることによって生成された端末モデルを受信し、受信した複数の前記端末モデルを平均化処理して前記共通モデルを生成し、前記端末装置に送信する分散機械学習方法であって、
受信した前記端末モデル間における類似度を求める類似度算出ステップと、
前記類似度に基づいて類似する前記端末モデルの数である類似端末モデル数が多い前記端末モデルほど前記共通モデルに反映され難くなるよう前記平均化処理を実行するモデル生成ステップと、
を備える分散機械学習方法。
【請求項8】
コンピュータを、入力データに対して所定のデータ処理タスクを行うための学習モデルである共通モデルを備えた複数の端末装置と通信し、前記端末装置において前記共通モデルに対して学習データを用いて機械学習させることによって生成された端末モデルを受信し、受信した複数の前記端末モデルを平均化処理して前記共通モデルを生成し、前記端末装置に送信する分散機械学習装置として機能させる分散機械学習プログラムであって、
前記コンピュータを、
受信した前記端末モデル間における類似度を求める類似度算出手段と、
前記類似度に基づいて類似する前記端末モデルの数である類似端末モデル数が多い前記端末モデルほど前記共通モデルに反映され難くなるよう前記平均化処理を実行するモデル生成手段と、
として機能させる分散機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散機械学習装置、分散機械学習方法、分散機械学習プログラム及びデータ処理システムに関する。
【背景技術】
【0002】
利用者の生活に伴う活動データ(電力使用量データ等)をサービス提供者のサーバ等に集約し、機械学習によって利用者の多様な生活パターンの変化を高精度に検知することができる学習モデルを生成する技術が知られている。しかしながら、生活パターンを示す生の活動データをサーバ等に収集することはプライバシーの観点からユーザに抵抗感を与えるおそれがある。
【0003】
そこで、近年、ユーザ端末において学習モデル(端末モデル)を学習させ、学習された端末モデルをサーバによって収集し、収集された端末モデルの中からランダムに選択した端末モデルを平均化処理して学習モデル(共通モデル)を生成する分散機械学習が注目されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】McMahan, H. Brendan, et al. "Communication-efficient learning of deep networks from decentralized data." arXiv preprint arXiv:1602.05629 (2016).
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、各ユーザの生活パターンの分布には偏りがある。例えば、「夜間活動する」パターンのユーザよりも、「昼間活動する」パターンのユーザの方が多数派である。この場合、各端末から収集される端末モデルも、多数派パターンのモデルが多くなり、少数派パターンのモデルが少なくなる。したがって、従来技術においては、共通モデルには少数派パターンの端末モデルが反映されにくく、少数派パターンに属するユーザの活動パターンの特徴がうまく抽出できない共通モデルとなるおそれがあった。本発明は上記問題を鑑みてなされたものであり、プライバシーに配慮しつつ少数派の特徴を反映した処理タスクを行うことが可能な共通モデルを学習できる分散機械学習装置、分散機械学習方法、分散機械学習プログラム及びデータ処理システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の1つの態様は、入力データに対して所定のデータ処理タスクを行うための学習モデルである共通モデルを備えた複数の端末装置と通信し、前記端末装置において前記共通モデルに対して学習データを用いて機械学習させることによって生成された端末モデルを受信し、受信した複数の前記端末モデルを平均化処理して前記共通モデルを生成し、前記端末装置に送信する分散機械学習装置であって、受信した前記端末モデル間における類似度を求める類似度算出手段と、前記類似度に基づいて類似する前記端末モデルの数である類似端末モデル数が多い前記端末モデルほど前記共通モデルに反映され難くなるよう前記平均化処理を実行するモデル生成手段と、を備える分散機械学習装置である。
【0007】
本発明の別の態様は、入力データに対して所定のデータ処理タスクを行うための学習モデルである共通モデルを備えた複数の端末装置と通信し、前記端末装置において前記共通モデルに対して学習データを用いて機械学習させることによって生成された端末モデルを受信し、受信した複数の前記端末モデルを平均化処理して前記共通モデルを生成し、前記端末装置に送信する分散機械学習方法であって、受信した前記端末モデル間における類似度を求める類似度算出ステップと、前記類似度に基づいて類似する前記端末モデルの数である類似端末モデル数が多い前記端末モデルほど前記共通モデルに反映され難くなるよう前記平均化処理を実行するモデル生成ステップと、を備える分散機械学習方法である。
【0008】
本発明の別の態様は、コンピュータを、入力データに対して所定のデータ処理タスクを行うための学習モデルである共通モデルを備えた複数の端末装置と通信し、前記端末装置において前記共通モデルに対して学習データを用いて機械学習させることによって生成された端末モデルを受信し、受信した複数の前記端末モデルを平均化処理して前記共通モデルを生成し、前記端末装置に送信する分散機械学習装置として機能させる分散機械学習プログラムであって、前記コンピュータを、受信した前記端末モデル間における類似度を求める類似度算出手段と、前記類似度に基づいて類似する前記端末モデルの数である類似端末モデル数が多い前記端末モデルほど前記共通モデルに反映され難くなるよう前記平均化処理を実行するモデル生成手段と、として機能させる分散機械学習プログラムである。
【0009】
本発明の別の態様は、入力データに対して所定のデータ処理タスクを行うための学習モデルである共通モデルを備えた複数の端末装置と、複数の前記端末装置と通信して当該端末装置の前記共通モデルを生成する分散機械学習装置と、からなるデータ処理システムであって、前記複数の端末装置の各々は、前記共通モデルに対して所定の学習データを機械学習することによって端末モデルを生成して前記分散機械学習装置に送信し、前記分散機械学習装置は、前記端末装置から受信した前記端末モデル間における類似度を求める類似度算出手段と、前記類似度に基づいて類似する前記端末モデルの数である類似端末モデル数が多い前記端末モデルほど前記共通モデルに反映され難くなるよう平均化処理を行うことで前記共通モデルを生成するモデル生成手段と、を備えることを特徴とするデータ処理システムである。
【0010】
ここで、前記モデル生成手段は、全ての前記端末モデルの中から前記類似端末モデル数の多い前記端末モデルほど選択され難くいよう前記端末モデルを選択し、該選択された前記端末モデルを用いて前記平均化処理を実行することが好適である。
【0011】
また、前記モデル生成手段は、前記類似端末モデル数の少ない前記端末モデルほど前記平均化処理において前記共通モデルに反映され易くなるように重み値を設定し、前記端末モデル毎との前記重み値及び当該端末モデルを用いて前記平均化処理を実行することが好適である。
【0012】
また、前記モデル生成手段は、前記機械学習するのに利用された学習データ数が大きいほど、前記平均化処理において前記共通モデルに反映され易くなるように前記重み値を設定することが好適である。
【0013】
また、前記学習データは、前記端末装置が対象とするユーザの活動を示す活動データであり、前記共通モデルは、前記活動データの特徴を示す特徴ベクトルを出力する機械学習モデルであることが好適である。
【発明の効果】
【0014】
本発明によれば、プライバシーに配慮しつつ少数派の特徴を反映した処理タスクを行うことが可能な共通モデルを学習できる分散機械学習装置、分散機械学習方法、分散機械学習プログラム及びデータ処理システムを提供することができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の実施の形態におけるデータ処理システムの構成概略図である。
【
図2】本発明の実施の形態における端末装置の構成ブロック図である。
【
図3】本発明の実施の形態におけるオートエンコーダの構成例を示す図である。
【
図4】本発明の実施の形態におけるニューロンモデルを説明する図である。
【
図5】本発明の実施の形態におけるサーバ装置の構成ブロック図である。
【
図6】本発明の実施の形態における特徴量データベースの例を示す図である。
【
図7】本発明の実施の形態における類似度データベースの例を示す図である。
【
図8】本発明の実施の形態における学習フェーズの処理を示すフローチャートである。
【
図9】本発明の実施の形態における学習フェーズにおけるサーバ装置での処理を示すフローチャートである。
【
図10】本発明の実施の形態における検知フェーズの処理を示すフローチャートである。
【
図11】本発明の実施の形態における検知フェーズにおけるサーバ装置での処理を示すフローチャートである。
【発明を実施するための形態】
【0016】
本実施の形態におけるデータ処理システム100は、
図1に示すように、端末装置102、センサ104及びサーバ装置106を含んで構成される。端末装置102は、各種のセンサ104に接続され、設置場所における利用者(ユーザ)の生活に伴う活動データを取得する。また、端末装置102の各々は、インターネット等の情報通信網108を介してサーバ装置106と情報伝達可能に接続される。サーバ装置106は、利用者の生活の活動パターンの変化を検知して通知等を行うサービスを提供する。サーバ装置106は、例えば、当該サービスの提供者の施設に設置される。
【0017】
端末装置102は、店舗、オフィス、マンション、倉庫、家屋等の利用者が活動する物件に設置された警備装置などのコンピュータである。
【0018】
端末装置102は、データ処理システム100において共通に用いられる機械学習モデルである共通モデルをサーバ装置106から受信する。端末装置102は、複数のセンサ104で検知された各種のデータを用いて、当該共通モデルに基づいてさらに機械学習させた学習モデルである端末モデルを生成する。本実施の形態では、共通モデル及び端末モデルは、センサ104から取得したデータを入力として、利用者の活動パターンの特徴を示す特徴量を生成するエンコーダを含む学習モデルとする。すなわち、共通モデル及び端末モデルを適用することによって、複数のセンサ104から得られたデータの性質を保持したまま、より低次元の特徴量空間における特徴量で表現できる次元圧縮を行うことが可能になる。
【0019】
端末装置102は、
図2に示すように、制御部10、記憶部12、センサ通信部14及び通信部16を含んで構成される。
【0020】
制御部10は、端末モデル生成手段10a及び特徴量抽出手段10bを含んで構成される。
【0021】
端末モデル生成手段10aは、センサ104から取得したセンサデータ12cを用いてサーバ装置106から受信した共通モデル12bをさらに機械学習させることによって端末モデル12aを生成する端末モデル生成処理を行う。端末モデル生成処理は、後述する「学習フェーズ」において実施される。
【0022】
本実施の形態では、端末モデル生成処理において利用される学習アルゴリズムとして、オートエンコーダを適用することができる。オートエンコーダは、
図3に示すように、ニューラルネットワークを用いた次元圧縮のための学習アルゴリズムである。オートエンコーダは、高次元のセンサデータ12cを低次元の特徴量へ圧縮するエンコーダと、低次元の特徴量を高次元のセンサデータ12cへ復元するデコーダに分けられる。エンコーダ及びデコーダは、ともに
図4に示すようなニューロンモデルを単層又は多層に複数組み合わせたニューラルネットワークによって構成される。ニューロンモデルは、数式(1)に示すように、複数の入力信号x
iに対してそれぞれ重み係数w
iを乗算して得られる乗算値にバイアスbを加算した値を足し合わせて活性化関数fを適用した演算値yを出力する。オートエンコーダの学習では教師データを利用せず、入力データであるセンサデータ12cをエンコーダにて圧縮処理した特徴量をデコーダにて復元したデータが元のセンサデータ12cと同じになるようにエンコーダ及びデコーダのニューラルネットワークのモデルパラメータ(重み係数w
iとバイアスb)を学習する。すなわち、本実施形態における学習モデル(共通モデル12b及び端末モデル12a)は、学習前にあらかじめ設定され学習によって変更されないエンコーダ及びデコーダのニューラルネットワークのネットワーク構造(モデル構造)と、学習によって変更される重み係数w
iとバイアスbなどのモデルパラメータとからなる。端末装置102は、後述する「学習フェーズ」における一連の学習によって得られた共通モデル12bのエンコーダを利用することで、高次元データのセンサデータ12cを、低次元データの潜在変数である特徴量に次元圧縮する。
【数1】
【0023】
なお、本実施の形態では、共通モデル12b及び端末モデル12aのエンコーダとデコーダが連結されたモデルでモデル化したが、これに限定されるものではなく、他のモデルを適用してもよい。例えば、センサデータ12cを入力とし当該センサデータ12cに対応する利用者の状態(異常行動として検知する活動パターン、利用者の病歴等)を出力とする畳み込みニューラルネットワークでモデル化してもよい。
【0024】
特徴量抽出手段10bは、センサデータ12cから利用者の活動パターンを表す特徴量を抽出する特徴量抽出処理を行う。特徴量抽出手段10bは、いわゆる特徴量抽出器である。特徴量抽出処理は、後述する「検知フェーズ」において実施される。
【0025】
本実施形態の特徴量抽出手段10bは、共通モデル12bのエンコーダにセンサデータ12cを入力して、高次元のセンサデータ12cを低次元の特徴量に圧縮する。そして、求められた低次元の特徴量を端末装置102の識別子に対応付けてサーバ装置106に送信する。なお、特徴量の次元は、上記オートエンコーダの潜在変数の次元数となる。例えば、潜在変数空間が2次元の場合、特徴量も2次元となる。
【0026】
記憶部12は、半導体メモリ、磁気ディスク(HDD)、又はCD-ROM、DVD-RAMなどの光ディスクドライブ及びその記録媒体で構成される記憶手段である。記憶部12は、端末モデル12a、共通モデル12b、センサデータ12c及び学習データ数12dを記憶する。
【0027】
端末モデル12aは、端末モデル生成手段10aによって生成された学習モデルである。記憶部12には、端末モデル12aとしてエンコーダ及びデコーダのモデル構造と、モデルパラメータが記憶される。
【0028】
共通モデル12bは、サーバ装置106から受信した学習モデルである。記憶部12には、共通モデル12bとしてエンコーダ及びデコーダのモデル構造と、サーバ装置106から受信したモデルパラメータが記憶される。
【0029】
センサデータ12cは、センサ104から取得したデータを時系列に記録した情報である。センサデータ12cは、センサ104の各々を特定するセンサID、センサ104からデータを取得した検知日時及びセンサ値が関連付けて記憶される。学習データ数12dは、「学習フェーズ」において学習に利用したセンサデータ12cのデータ数である。すなわち、本実施形態では、データ数が大きいほど長期間に渡って記録したセンサデータ12cであることを意味する。
【0030】
センサ通信部14は、センサ104の各々において検知されたデータを取得するためのインターフェースである。センサ通信部14を介して取得されたデータは、記憶部12にセンサデータ12cとして記憶される。
【0031】
なお、センサ104には、例えば、電気使用量を取得できるスマートメータ、ドアの開閉を検知するセンサ、居住者の存否を検知する赤外線センサなどの、利用者の行動を把 握できるセンサとすることができる。また、端末装置102が警備装置である場合、利用者の在室状況を把握するために、当該警備装置の警備情報(セット/解除情報)をセンサデータ12cとして検知するセンサ104としてもよい。
【0032】
通信部16は、外部装置と情報を送受信するためのインターフェースである。通信部16は、情報通信網108を介してサーバ装置106と情報伝達可能に接続される。通信部16を介して、端末装置102からサーバ装置106へ送信されるデータは、機械学習によって更新された端末モデル12aの重み係数wiとバイアスb、機械学習に用いられた学習データ数12d、共通モデル12bを用いて生成された特徴量等である。通信部16を介して、サーバ装置106から受信するデータは、サーバ装置106で生成された共通モデル12bの重み係数wiとバイアスbや「検知フェーズ」で検知された結果の情報等である。
【0033】
サーバ装置106は、サービス提供者の施設等に設置されるコンピュータである。
【0034】
サーバ装置106は、各端末装置102から端末モデル12aを受信する。サーバ装置106は、各端末装置102における学習により得られた端末モデル12aを用いて、当該共通モデル22bを生成する。すなわち、サーバ装置106は、各端末装置102から端末モデル12aを受信して共通モデル22bを更新する分散機械学習装置として機能する。また、サーバ装置106は、各端末装置102で取得されたセンサデータ12cを共通モデル22bに入力して得られた特徴量を受信し、当該特徴量に基づいて端末装置102の利用者の生活に伴う活動パターンの変化を検知する。
【0035】
サーバ装置106は、
図5に示すように、制御部20、記憶部22、入力部24、出力部26及び通信部28を含んで構成される。
【0036】
まず、記憶部22について説明する。記憶部22は、端末モデルデータベース(端末モデルDB)22a、共通モデル22b、特徴量データベース(特徴量DB)22c、類似度データベース(類似度DB)22d及び変化検知結果22eを記憶する。
【0037】
端末モデルDB22aは、各端末装置102から受信した端末モデル12aに関する情報を記憶するデータベースである。端末モデルDB22aには、端末装置102に固有に割り当てられた端末IDに、各端末装置102から受信した端末モデル12aのモデルパラメータ、機械学習に用いられた学習データ数12dが関連付けて記憶される。
【0038】
共通モデル22bは、後述する共通モデル生成手段20cによって、複数の端末装置102から受信した端末モデル12aを統合して生成された共通モデル22bに関する情報を示す。共通モデル22bとして、エンコーダ及びデコーダのモデル構造とモデルパラメータが記憶される。
【0039】
特徴量DB22cは、各端末装置102から受信した特徴量に関する情報を記憶するデータベースである。特徴量DB22cには、
図6に示すように、端末IDに対して、当該端末IDで特定される端末装置102から受信した特徴量、当該特徴量を抽出した日時が関連付けて記憶される。
【0040】
類似度DB22dは、後述する類似度算出手段20aで算出された類似度に関する情報を記憶するデータベースである。類似度は、異なる端末装置102で生成された端末モデル12aの間の類似性を示す値である。類似度DB22dには、
図7に示すように、端末装置102の端末IDの組み合わせ毎にそれらの端末装置102で生成された端末モデル12aの類似度を関連付けて記憶される。本実施の形態では、類似度は、0~1の範囲において、1に近いほど端末モデル12aが類似していることを示す。類似度の初期値は0とする。
【0041】
変化検知結果22eは、後述する変化検知手段20dにおいて検知された検知結果である。本実施の形態では、検知結果は、各端末装置102から受信した特徴量に基づいて端末装置102を利用する利用者の活動パターンの変化の度合いを示す変化検知スコアとする。変化検知結果22eは、端末IDに対して、変化の検知を行った日時及び変化検知スコアが関連付けて記憶される。
【0042】
制御部20は、類似度算出手段20a、選択手段20b、共通モデル生成手段20c及び変化検知手段20dを含んで構成される。
【0043】
類似度算出手段20aは、各端末装置102から受信した端末モデル12aのモデルパラメータについて各端末装置102の端末モデル12aの間の類似度を計算する。本実施形態では、数式(2)に基づいて、コサイン類似度を用いて類似度を計算する。計算された端末装置102の端末モデル12aの類似度は類似度DB22dに記録される。ここで、s
jkは、端末IDがjの端末装置102の端末モデルと端末IDがkの端末装置102の端末モデル12aとの間の類似度(端末モデル類似度)である。w
ijは、端末IDがjの端末装置102の端末モデル12aのi番目のモデルパラメータ(端末モデル12aにおけるニューロンモデルの重み係数)である。w
ikは、端末IDがkの端末装置102の端末モデル12aのi番目のモデルパラメータ(端末モデル12aにおけるニューロンモデルの重み係数)である。
【数2】
【0044】
選択手段20bは、類似度DB22dを参照し、共通モデル22bの生成に利用する端末モデル12aを選択する選択処理を実行する。選択手段20bは、まず、数式(3)に基づいて、すべての端末装置102の中から端末選択割合Cに応じて共通モデル22bの生成に利用する端末モデル12aの数Mを算出する。ここで、Kは端末装置102から受信した端末モデル数、Cは端末選択割合である。端末選択割合Cは、0~1の値をとり、0の場合には1つの端末モデル12aのみが選択され、1の場合にはすべての端末モデル12aが選択される。
【数3】
【0045】
次に、端末モデル数Mに応じて端末装置の端末モデルを選択する。以下、選択手段20bによって選択された端末装置102を「選択端末」、選択端末の端末モデルを「選択モデル」と称する。この際、端末装置の端末モデル間の類似度が高い端末モデルが多いほど、その端末モデルが選択されにくいように選択処理を行う。
【0046】
具体的には、類似度DBに記録されている類似度のうち、端末iの端末モデルが関係する類似度が所定の基準値を超える端末モデルの総数を類似端末モデル数Siとして求める。そして、端末iの端末モデルの重みを1/Siとして、非復元抽出による重み付き選択を用いて端末モデル数Mに該当する数の端末モデルを選択する。
【0047】
ここで、非復元抽出とは、選択したものを戻さずに次の選択を行う方法である。非復元抽出による重み付き選択は、重みが大きいものほど選択される可能性を高くして非復元抽出を行う方法である。この非復元抽出による重み付き選択法は、例えば、参考文献Wong, C. K. and M. C. Easton. An Efficient Method for Weighted Sampling Without Replacement. SIAM Journal of Computing 9(1), pp. 111-113, 1980に記載されている。
【0048】
例えば、Si=30の端末iとSj=10の端末jを考える。端末iの重みは1/30であり、端末jの重みは1/10となる。この場合、端末iは端末jに比べて選択され易さが1/3となる。このように、高類似度の端末モデルの数が多いほど選択のための重みは小さくされ、共通モデルの学習に使用される端末モデルとして選択され難くなる。
【0049】
したがって、各端末装置において機械学習された端末モデルにおいて多数派の集合と少数派の集合があった場合であっても、多数派と少数派に対して大きな偏りなく端末モデルを選択することが可能となる。
【0050】
また、上記の非復元抽出による重み付き選択法を適用することなく、他の選択方法を適用してもよい。例えば、端末モデル間の類似度に応じて階層型クラスタリングを適用して、類似端末モデル数が多い端末モデルほど選択され難いように選択端末を選択してもよい。例えば、類似度に基づく階層型クラスタリングによって端末モデルをM個のクラスタ(類似端末モデルの集まり)に分けて、各クラスタから1つずつ選択することによっても、多数派と少数派に対して大きな偏りなく端末モデルを選択できる。
【0051】
また、端末装置102の各々において端末モデルの学習に用いられた学習データの数をサーバ装置106における端末モデルの選択に適用してもよい。例えば、類似端末数が等しい端末モデルが複数存在する場合、学習データの数が多かった端末モデルを優先的に選択するようにしてもよい。また、学習データの数に応じて端末装置102の端末モデルの各々に対して算出される上記重みを補正するようにしてもよい。すなわち、学習データの数が多いほど、各端末モデルに対する重みの値が大きくなるように補正をし、当該補正された重みを用いて端末モデルを選択するようにしてもよい。
【0052】
共通モデル生成手段20cは、選択手段20bで選択された端末モデルを統合して共通モデル22bを生成する処理を行う。共通モデル生成処理は、「学習フェーズ」において各端末装置102からの端末モデルの受信を完了する度に実行され、「学習フェーズ」の終了条件が満たされるまで繰り返し実行されるようにすればよい。
【0053】
本実施の形態では、数式(4)及び数式(5)を用いて、選択モデルの各モデルパラメータを各端末モデルの更新に用いられた学習データ数に基づいて定めた重み値Rを用いて重み付平均する平均化処理によって共通モデル22bの各モデルパラメータを算出する。すなわち、共通モデル22bの各モデルパラメータは、選択モデルのうち学習データ数が多い端末モデルであるほど当該端末モデルのモデルパラメータが共通モデル22bに反映され易くなるようにして算出される。これによって、学習データ数の多い端末モデルを重視して共通モデル22bを生成することができる。
【数4】
【数5】
W
i:共通モデル22bのモデルパラメータのi番目
w
ij:端末jの端末モデル12aのモデルパラメータのi番目
M:共通モデル22bの学習に用いられる端末モデル12aの数
n
j:端末jの端末モデル12aの学習に用いられた学習データの数
N:端末モデル12aの学習に用いられた学習データの数の平均値
R
j:端末jの端末モデル12aに対する重み値
【0054】
なお、上記の重み付き平均を適用せず、数式(6)に示す単純平均を適用してもよい。ただし、学習データ数12dを考慮しないため、共通モデル22bの学習精度が低下する虞がある。
【数6】
【0055】
また、端末装置102の全数が少ない場合、選択手段20bにおいて選択モデルを選択せず、すべての端末装置102の端末モデル12aを使って共通モデル22bを生成してもよい。すなわち、C=1としてもよい。
【0056】
この場合、端末モデル類似度Sjkによる重み付き平均により共通モデル22bを生成する。すなわち、数式(7)に示すように、重み付き平均において用いる学習端末jの重みとして、端末モデルの更新に用いられた学習データ数から算出された重みと、他の端末装置102の端末モデルとの類似度から算出された重みとを掛け合わせた値を適用する。これによって、少数派の端末モデルを重視した共通モデル22bを構築することが可能となる。
【0057】
このとき、他の端末装置102の端末モデルとの類似度から算出された重みは、端末jの関係する類似度の合計とすべての端末装置102間における類似度の合計値との比を用いることが好適である。これにより、他端末のモデルと違いが大きいモデルは重みが大きくなるため、少数派を重視して学習を行うことができる。
【数7】
S
jk:類似度DB22dに記録されている端末jと端末kの端末モデル12aの類似度
S
lk:類似度DB22dに記録されている端末lと端末jの端末モデル12aの類似度
【0058】
変化検知手段20dは、各端末装置102から受信した特徴量に基づいて各端末装置102が設置された物件における利用者の活動パターンの変化を検知する変化検知処理を実行する。
【0059】
変化検知処理では、端末装置102から新たに受信した特徴量と、特徴量DB22cに記憶されている過去に受信した特徴量との比較に基づき変化検知スコアを算出する。具体的には、直近から遡って一定期間に受信した特徴量とそれ以前の所定期間の特徴量の分布から確率密度を推定し、それらの比の値を変化検知スコアとして算出する。変化検知スコアが閾値以上となった場合に、利用者の活動パターンに変化が生じたととみなす。
【0060】
なお、利用者の活動パターンの変化の検出方法、当該密度比推定方法に限定されず、学習データの性質によって以下に記す他の手法により変化を検知してもよい。例えば、受信した最新の特徴量と過去に受信した特徴量との距離計算を行い、当該距離を変化検知スコアとする。また、例えば、one class SVMによって、過去に受信した特徴量の領域推定を行う。そして、新たに受信した特徴量とその領域の距離計算を行い、当該距離を変化検知スコアとする。また、例えば、複数の端末装置102の特徴量をクラスタリングし、変化検知の対象とした端末装置102の特徴量が過去に属したクラスタから移動した場合に活動パターンに変化が生じたとみなす。この際の変化検知スコアは、クラスタからの移動なしの場合には偽値(例えば0)、移動した場合には真値(例えば1)とすればよい。
【0061】
入力部24は、サーバ装置106に対して情報や指示を入力するための入力手段である。入力部24は、例えば、キーボード等の文字入力手段、マウス等のポインティングデバイス等とすることができる。出力部26は、サーバ装置106で用いられる情報を利用者に呈示するための出力手段である。出力部26は、例えば、ディスプレイ等の情報表示装置、プリンタ等の印刷装置とすることができる。また、出力部26は、変化検知手段20dで利用者の活動パターンに変化が検知された場合にサービス提供を行う会社のスタッフに報知するようにしてもよい。
【0062】
通信部28は、外部装置と情報を送受信するためのインターフェースである。通信部28は、情報通信網108を介して端末装置102の各々と情報伝達可能に接続される。通信部28を介して、サーバ装置106から端末装置102へ送信されるデータは、サーバ装置106で生成された共通モデル22bのモデルパラメータや変化検知処理で検知された結果の情報等である。また、通信部28を介して、端末装置102からサーバ装置106が受信するデータは、端末装置102の各々において機械学習によって更新された端末モデル12aのモデルパラメータ、学習データ数12d、特徴量等である。
【0063】
また、通信部28は、端末装置102の利用者の家族等の関係者が使用する情報端末に情報伝達可能に接続できるようにしてもよい。これによって、変化検知処理で検知された結果の情報を当該関係者に通知することができる。
【0064】
以下、本実施の形態における「学習フェーズ」及び「検知フェーズ」について説明する。まず、
図8及び
図9を参照して「学習フェーズ」について説明する。
【0065】
図8に示すように、学習フェーズでは、端末装置102の各々における端末モデル12aの学習とサーバ装置106における共通モデルの学習とが繰り返し行われる。まず、ステップS10にて、サーバ装置106から初期状態の共通モデルの情報が端末装置102の各々に送信される。ステップS12では、サーバ装置106から受信された共通モデルに基づいて、端末装置102の各々において取得されたセンサデータ12cを用いて端末モデル12aの学習が行われる。ステップS14では、端末装置102の各々からサーバ装置106へ端末モデル12aの情報が送信される。ステップS16では、サーバ装置106が受信した端末モデル12aに基づいて、共通モデルの生成処理が行われる。ステップS18では、サーバ装置106から生成された共通モデルの情報が端末装置102の各々に送信される。このように、端末装置102における端末モデル12aの学習とサーバ装置106における共通モデルの生成とを繰り返す。
【0066】
図9は、学習フェーズにおけるサーバ装置106での処理を示す。学習フェーズでは、サーバ装置106において、共通モデルの生成が行われ、当該共通モデルを端末装置102へ送信する処理が行われる。
【0067】
最初に、初期状態の共通モデルの生成が行われる(ステップS20)。共通モデルのモデル構造が決定され、モデルパラメータが設定される。モデルパラメータの初期値は、乱数を用いた初期化処理やサーバ装置106に予め設定されたテストデータセットを用いた事前学習によって設定することができる。テストデータセットは、実験環境等で収集されたデータであり、端末装置102において取得されるセンサデータ12cと同じデータ構造をもつことが好適である。また、テストデータの値も端末装置102において取得されるセンサデータ12cに近いことが好適である。
【0068】
次に、生成された初期状態の共通モデルの情報を端末装置102の各々に送信する(ステップS22)。端末装置102の各々では、センサデータ12cを用いて共通モデルに基づいた端末モデル12aの学習が行われる。サーバ装置106は、端末装置102の各々から端末モデル12aの情報を受信する(ステップS24)。サーバ装置106は、ステップS22又は後述するステップS34において共通モデルを送信した端末装置102から端末モデル12aを受信し終えるまで待機する。
【0069】
端末装置102から端末モデル12aの情報を受信すると、複数の端末装置102の端末モデル12aの間の類似度を算出する類似度算出処理を行う(ステップS26)。算出された類似度は、端末装置102の端末IDの組み合わせに関連付けて類似度DB22dに記憶される。この際、前回の選択処理において選択されなかった端末モデル12aに対応する端末装置102に関する類似度は算出せず、類似度DB22dの値も更新しないものとする。
【0070】
類似度の算出処理が終了すると、類似度DB22dを参照して、選択モデルを選択する選択処理を行う(ステップS28)。そして、選択モデルのモデルパラメータを用いて共通モデルの生成処理を行う(ステップS30)。共通モデルの生成を終了する条件が満たされればステップS36に処理を移行させ、条件が満たされなければステップS34に処理を移行させる(ステップS32)。
【0071】
ステップS34に処理を移行させた場合、ステップS28の選択モデルに対応する端末装置102へ生成された共通モデルを送信する(ステップS34)。なお、すべての端末装置102へ共通モデルを送信してもよい。この場合、ステップS24において、すべての端末装置102から端末モデル12aを受信し、当該受信した端末モデル12aに基づいてステップS26の類似度算出処理にて類似度DB22dを更新する。
【0072】
ステップS36に処理を移行させた場合、各端末装置102へ共通モデルのモデルパラメータの送信が行われる(ステップS36)。そして、各端末装置102に対して「学習フェーズ」から「検知フェーズ」への切り換えを行う指示を通知する(ステップS38)。
【0073】
次ぎに、
図10及び
図11を参照して「検知フェーズ」について説明する。
【0074】
図10に示すように、検知フェーズでは、センサデータ12cに基づく端末装置102における特徴量の抽出処理と、特徴量に基づくサーバ装置106における変化検知処理とが行われる。まず、ステップS40にて、端末装置102の各々において、サーバ装置106から受信したモデルパラメータを適用した共通モデルに対してセンサ104から取得したセンサデータ12cを入力して、当該センサデータ12cに対応する特徴量を抽出する。ステップS42では、端末装置102で抽出された特徴量がサーバ装置106へ送信される。ステップS44では、端末装置102から受信された特徴量に基づいて利用者の活動パターンに変化が生じたか否かの変化検知処理が行われる。そして、ステップS46では、検知結果が出力される。
【0075】
図10は、サーバ装置106における特徴量に基づく活動パターンの変化の検知処理を示す。検知処理では、端末装置102の各々において抽出された特徴量から利用者の活動パターンの変化が検知される。
【0076】
まず、サーバ装置106は、端末装置102の各々から特徴量を受信する(ステップS50)。サーバ装置106は、すべての端末装置102から特徴量を受信するまで待機するようにしてもよい。例えば、端末装置102は、所定期間分(例えば1週間分)のセンサデータ12cを共通モデルに入力して、当該期間における利用者の活動パターンを示す特徴量を抽出して、当該特徴量をサーバ装置106へ送信する。
【0077】
サーバ装置106は、受信した特徴量に基づいて利用者の活動パターンの変化検知処理を行う(ステップS52)。端末装置102の各々から受信した特徴量と、特徴量DB22cに記憶されている過去に受信した特徴量とを比較して変化検知スコアを算出して変化検知結果22eとして記録する。
【0078】
変化検知結果22eが所定の閾値以上である場合(ステップS54にて「はい」の場合)には、活動パターンに変化が生じたことを示す通知を出力する(ステップS56)。変化検知結果22eが所定の閾値未満である場合(ステップS54にて「いいえ」の場合)には、活動パターンに変化が生じたことを示す通知を出力しない(ステップS58へ移行)。
【0079】
変化検知処理を終了する条件が満たされた場合には処理を終了し、条件が満たされていない場合にはステップS50から処理を繰り返す(ステップS58)。変化検知処理を終了する条件は、特に限定されるものではないが、例えば入力部24から処理を終了する指示が入力された場合や変化検知処理を開始してから所定の時間が経過した場合等とすることができる。
【0080】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
【符号の説明】
【0081】
10 制御部、10a 端末モデル生成手段、10b 特徴量抽出手段、12 記憶部、12a 端末モデル、12b 共通モデル、12c センサデータ、12d 学習データ数、14 センサ通信部、16 通信部、20 制御部、20a 類似度算出手段、20b 選択手段、20c 共通モデル生成手段、20d 変化検知手段、22 記憶部、22a 端末モデルデータベース、22b 共通モデル、22c 特徴量データベース、22d 類似度データベース、22e 変化検知結果、24 入力部、26 出力部、28 通信部、100 データ処理システム、102 端末装置、104 センサ、106 サーバ装置、108 情報通信網。