IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-173559分析装置、分析方法、および分析プログラム
<>
  • 特開-分析装置、分析方法、および分析プログラム 図1
  • 特開-分析装置、分析方法、および分析プログラム 図2
  • 特開-分析装置、分析方法、および分析プログラム 図3
  • 特開-分析装置、分析方法、および分析プログラム 図4
  • 特開-分析装置、分析方法、および分析プログラム 図5
  • 特開-分析装置、分析方法、および分析プログラム 図6
  • 特開-分析装置、分析方法、および分析プログラム 図7
  • 特開-分析装置、分析方法、および分析プログラム 図8
  • 特開-分析装置、分析方法、および分析プログラム 図9
  • 特開-分析装置、分析方法、および分析プログラム 図10
  • 特開-分析装置、分析方法、および分析プログラム 図11
  • 特開-分析装置、分析方法、および分析プログラム 図12
  • 特開-分析装置、分析方法、および分析プログラム 図13
  • 特開-分析装置、分析方法、および分析プログラム 図14
  • 特開-分析装置、分析方法、および分析プログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023173559
(43)【公開日】2023-12-07
(54)【発明の名称】分析装置、分析方法、および分析プログラム
(51)【国際特許分類】
   G06N 20/20 20190101AFI20231130BHJP
   G06N 3/08 20230101ALI20231130BHJP
【FI】
G06N20/20
G06N3/08
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022085893
(22)【出願日】2022-05-26
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】鈴木 麻由美
(72)【発明者】
【氏名】垂水 信二
(57)【要約】
【課題】複数の拠点にあるデータを拠点外に移動させることなく、各拠点に適切な予測モデルの生成を実現可能にすること。
【解決手段】
複数の学習装置と通信可能な分析装置は、前記複数の学習装置の各々の学習装置が有する学習データに含まれる特徴量を所定のルールで変換した変換特徴量を受信する受信部と、前記受信部によって受信された前記学習装置ごとの前記変換特徴量に基づいて、前記複数の学習装置の複数の前記特徴量の分布を解析する分布解析部と、前記分布解析部によって解析された分布解析結果を出力する出力部と、を有する。
【選択図】図3
【特許請求の範囲】
【請求項1】
複数の学習装置と通信可能な分析装置であって、
前記複数の学習装置の各々の学習装置が有する学習データに含まれる特徴量を所定のルールで変換した変換特徴量を受信する受信部と、
前記受信部によって受信された前記学習装置ごとの前記変換特徴量に基づいて、前記複数の学習装置の複数の前記特徴量の分布を解析する分布解析部と、
前記分布解析部によって解析された分布解析結果を出力する出力部と、
を有することを特徴とする分析装置。
【請求項2】
請求項1に記載の分析装置であって、
前記出力部は、前記分布解析結果として、前記学習装置間の前記特徴量の類似性に関する情報を出力する、
ことを特徴とする分析装置。
【請求項3】
請求項1に記載の分析装置であって、
前記学習装置間の前記特徴量の類似性に関する情報は、前記複数の学習装置のうち2つの前記学習装置の組み合わせごとに、当該組み合わせ間の特徴量の類似性を示すマップ情報である、
ことを特徴とする分析装置。
【請求項4】
請求項1に記載の分析装置であって、
前記学習装置間の前記特徴量の類似性に関する情報は、前記複数の学習装置間の前記特徴量の類似性を示すデンドログラムである、
ことを特徴とする分析装置。
【請求項5】
請求項1に記載の分析装置であって、
前記分布解析部は、前記分布解析結果に基づいて、前記複数の学習装置の各々に適用する学習方法を、前記学習装置が有する前記学習データを用いて予測モデルを生成する第1学習方法、他の学習装置との間で連合学習により統合した1つの予測モデルを生成する第2学習方法、および、前記学習装置の前記特徴量と類似する他の学習装置との間で連合学習により統合した1つ以上の予測モデルを生成する第3学習方法のうちいずれかの学習方法に決定し、
前記出力部は、前記複数の学習装置の各々の学習装置に、前記分布解析部によって前記複数の学習装置の各々について決定された学習方法を送信する、
ことを特徴とする分析装置。
【請求項6】
請求項5に記載の分析装置であって、
前記分布解析部は、前記複数の学習装置の各々に適用する学習方法を、前記分布解析結果に基づいて、前記第1学習方法、前記第2学習方法、および前記第3学習方法のうちいずれかの学習方法に決定する、
ことを特徴とする分析装置。
【請求項7】
請求項6に記載の分析装置であって、
前記分布解析部は、前記複数の学習装置の各々に適用する学習方法を、前記複数の学習装置の前記変換特徴量間の距離に基づいて、前記第1学習方法、前記第2学習方法、および前記第3学習方法のうちいずれかの学習方法に決定する、
ことを特徴とする分析装置。
【請求項8】
請求項6に記載の分析装置であって、
前記分布解析部は、前記複数の学習装置の各々に適用する学習方法を、前記変換特徴量としきい値とに基づいて、前記第1学習方法、前記第2学習方法、および前記第3学習方法のうちいずれかの学習方法に決定する、
ことを特徴とする分析装置。
【請求項9】
請求項8に記載の分析装置であって、
前記分布解析部は、前記複数の学習装置の各々に適用する学習方法を、前記変換特徴量としきい値と制約条件とに基づいて、前記第1学習方法、前記第2学習方法、および前記第3学習方法のうちいずれかの学習方法に決定する、
ことを特徴とする分析装置。
【請求項10】
請求項9に記載の分析装置であって、
前記制約条件は、前記特徴量が類似しあう前記学習装置の数である、
ことを特徴とする分析装置。
【請求項11】
請求項9に記載の分析装置であって、
前記制約条件は、前記特徴量が類似しあう前記学習装置の集合の数である、
ことを特徴とする分析装置。
【請求項12】
請求項1に記載の分析装置であって、
前記受信部は、前記複数の学習装置の各々が有する前記学習データを学習させることで生成した前記学習装置を識別する識別器のモデルパラメータを受信し、
前記分布解析部は、前記受信部によって受信された前記学習装置の識別器のモデルパラメータに基づいて、前記学習装置の識別器を統合して、統合識別器を生成し、
前記送信部は、前記生成部によって生成された統合識別器のモデルパラメータを前記複数の学習装置の各々に送信し、
前記受信部は、前記統合識別器による識別結果を前記複数の学習装置の各々から受信し、
前記分布解析部は、前記受信部によって受信された前記学習装置の各々からの前記識別結果に基づいて、前記複数の学習装置の各々に適用する学習方法を、前記学習装置が有する前記学習データを用いて予測モデルを生成する第1学習方法、前記学習装置の前記特徴量と類似する他の学習装置との間で連合学習により統合した1つの予測モデルを生成する連合学習方法、および、前記学習装置の前記特徴量と類似する他の学習装置との間で連合学習により統合した1以上の予測モデルを生成する第3学習方法のうちいずれかの学習方法に決定し、
前記出力部は、前記複数の学習装置の各々の学習装置に、前記分布解析部によって前記複数の学習装置の各々について決定された学習方法を送信する、
ことを特徴とする分析装置。
【請求項13】
請求項5に記載の分析装置であって、
前記受信部は、前記分布解析部によって決定された学習方法に基づいて前記学習装置が生成した予測モデルのモデルパラメータを前記学習装置から受信し、
前記受信部によって受信された前記学習装置からの前記モデルパラメータに基づいて、予測モデルを生成する生成部と、
を有することを特徴とする分析装置。
【請求項14】
複数の学習装置と通信可能な分析装置による分析方法であって、
前記分析装置は、
前記複数の学習装置の各々の学習装置が有する学習データに含まれる特徴量を所定のルールで変換した変換特徴量を受信する受信処理と、
前記受信処理によって受信された前記学習装置ごとの前記変換特徴量に基づいて、前記複数の学習装置の複数の前記特徴量の分布を解析する分布解析処理と、
前記分布解析処理によって解析された分布解析結果を出力する出力処理と、
を実行することを特徴とする分析方法。
【請求項15】
複数の学習装置と通信可能な分析装置のプロセッサに、
前記複数の学習装置の各々の学習装置が有する学習データに含まれる特徴量を所定のルールで変換した変換特徴量を受信する受信処理と、
前記受信処理によって受信された前記学習装置ごとの前記変換特徴量に基づいて、前記複数の学習装置の複数の前記特徴量の分布を解析する分布解析処理と、
前記分布解析処理によって解析された分布解析結果を出力する出力処理と、
を実行させることを特徴とする分析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを分析する分析装置、分析方法、および分析プログラムに関する。
【背景技術】
【0002】
機械学習は、AI(Artificial Intelligence)を実現する技術の1つである。機械学習技術は、学習のプロセスと予測のプロセスにより構成される。まず、学習のプロセスは、入力となる特徴量ベクトルから得られた予測値と実際の値(真値)との誤差が最小となるように、学習パラメータを計算する。続いで、予測のプロセスは、学習に用いなかったデータ(以降、テストデータと呼ぶ)から新しい予測値を計算する。
【0003】
これまで、予測値の予測精度が最大となるような学習パラメータの算出方法や演算方法が考案されてきた。たとえば、パーセプトロンと呼ばれる手法は、入力となる特徴量ベクトルと、重みベクトルの線形結合の演算結果と、により予測値を出力する。ニューラルネットワークは、別名、マルチパーセプトロンとも呼ばれ、複数のパーセプトロンを多層的に重ねることで、線形分離不可能問題を解く能力をもつ。deep learningは、ニューラルネットワークにドロップアウト等の新しい技術を導入した手法であり、高い予測精度を達成できる手法として、脚光を浴びた。このように、これまで、予測精度を向上させることを目的として機械学習技術の開発が行われ、その予測精度は人間以上の能力を示しつつある。
【0004】
機械学習技術を社会実装する際、予測精度以外にも課題がある。たとえば、セキュリティや納品後のモデルの更新方法、メモリ等の有限な資源の利用制限などである。
【0005】
セキュリティに関する課題として、データの秘匿性が挙げられる。医療分野や金融分野など、個人情報を含むデータを用いて予測モデルを作成する場合、データの秘匿性の高さから、データを保管している拠点外へのデータの移動が難しいことがある。一般的に、機械学習では、学習に大量のデータを用いることで、高い予測精度を達成可能である。
【0006】
1つの拠点で取得されたデータのみを用いて学習を行う場合、データのサンプル数の少なさや、データが採取された地域の特徴などにより、非常に局所的な範囲でのみ活用可能なモデルとなりうる。つまり、拠点からデータを持ち出すことなく、各拠点のバリエーション豊かなデータにおいて高い予測を実現する予測モデルの作成を可能とする機械学習技術が必要である。
【0007】
下記特許文献1は、ヘルスケアアプリケーションのための連合学習モデルを備えた方法およびシステムを開示する。この連合学習システムは、エンドユーザの複数のエッジデバイス、1つ以上の連合学習者更新リポジトリ、および1つ以上のクラウドで構成される。各エッジデバイスは、テンソルを連合学習者更新リポジトリに送信するように構成されたフェデレーション学習者モデルを有する。クラウドは、テンソルをフェデレーション学習者更新リポジトリに送信するように構成されたフェデレーション学習者モデルを有する。連合学習者更新リポジトリは、エッジデバイスとクラウドにモデル更新を送信するように構成されたバックエンド構成を有する。
【0008】
下記特許文献2は、フェデレーテッドラーニングを実行する機械学習システムを開示する。この機械学習システムは、複数のクライアント端末のそれぞれが学習を開始する前に、各クライアント端末側の学習モデルと統合サーバのマスターモデルとを同期させる。各クライアント端末は医療機関に保存されているデータを用いて学習モデルの機械学習を実行し、学習結果を統合サーバに送信する。統合サーバは複数のクライアント端末を複数のクライアントクラスタに分けてクライアントクラスタごとに学習結果を統合してマスターモデル候補を作成する。統合サーバは各マスターモデル候補の推論精度を評価し、精度閾値を下回っているマスターモデル候補を検出したら、そのマスターモデル候補の作成に用いたクライアントクラスタの中から精度悪化要因となっているクライアント端末を抽出する。
【0009】
非特許文献1は、反復モデル平均化に基づくディープネットワークの連合学習の実用的な方法を開示する。この連合学習は、1つの共通のモデルを初期値として、各拠点の各データで学習を行い、予測モデルを生成する。生成した予測モデルのモデルパラメータ情報はサーバに送信される。サーバで学習したデータの量に応じた係数を用いて、予測モデルのモデルパラメータ情報からグローバル予測モデルを生成する処理が繰り返し実行される。最終的に、すべての拠点のデータに対して高い予測精度を達成するグローバル予測モデルが生成される。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国特許公開2020/0293887号
【特許文献2】国際公開第2021/059607号
【非特許文献】
【0011】
【非特許文献1】H. Brendan McMahan, Eider Moore, Daniel Ramage, Seth Hampson and Blaise Aguera y Arcas, “Communication-efficient learning of deep networks from decentralized data”, In Artificial Intelligence and Statistics, pp. 1273-1282, 2017.
【発明の概要】
【発明が解決しようとする課題】
【0012】
特許文献1の方法およびシステムは、エンドユーザ毎の集団的バイアスを平滑化するため、エンドユーザ毎の特性を鑑み、予測モデルを生成することは考慮されていない。
【0013】
特許文献2の機械学習システムは、所望の予測精度を達成できない拠点を特定し、その拠点を除いた拠点で再度連合学習を実行するが、連合学習を繰り返し実行することは、1度学習したデータを何度も学習し直すことを意味し、冗長である。
【0014】
非特許文献1のような連合学習技術では、各拠点におけるデータのサンプル数の少なさや、データが採取された地域の特徴などデータの特徴のばらつきによっては、どの拠点のデータに対しても予測性能が劣化したグローバル予測モデルが生成され得る。
【0015】
本発明は、複数の拠点にあるデータを拠点外に移動させることなく、各拠点に適切な予測モデルの生成を実現可能にすることを目的とする。
【課題を解決するための手段】
【0016】
本願において開示される発明の一側面となる分析装置は、複数の学習装置と通信可能な分析装置であって、前記複数の学習装置の各々の学習装置が有する学習データに含まれる特徴量を所定のルールで変換した変換特徴量を受信する受信部と、前記受信部によって受信された前記学習装置ごとの前記変換特徴量に基づいて、前記複数の学習装置の複数の前記特徴量の分布を解析する分布解析部と、前記分布解析部によって解析された分布解析結果を出力する出力部と、を有することを特徴とする。
【発明の効果】
【0017】
本発明の代表的な実施の形態によれば、複数の拠点にあるデータを拠点外に移動させることなく、各拠点に適切な予測モデルの生成を実現可能にする。前述した以外の課題、構成および効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0018】
図1図1は、連合学習の一例を示す説明図である。
図2図2は、コンピュータのハードウェア構成例を示すブロック図である。
図3図3は、実施例1にかかるサーバの機能的構成例を示すブロック図である。
図4図4は、実施例1にかかる拠点の機能的構成例を示すブロック図である。
図5図5は、分布解析部による変換特徴量の類似性解析例1を示す説明図である。
図6図6は、分布解析部による変換特徴量の類似性解析例2を示す説明図である。
図7図7は、サーバと拠点とによる学習例1を示す説明図である。
図8図8は、サーバと拠点とによる学習例2を示す説明図である。
図9図9は、サーバによる統合学習前処理手順例を示すフローチャートである。
図10図10は、拠点による学習前処理手順例を示すフローチャートである。
図11図11は、表示画面の表示例1を示す説明図である。
図12図12は、表示画面の表示例2を示す説明図である。
図13図13は、学習データを拠点外に出すことができない複数の拠点で、各拠点に適切な学習を実現する連合学習方法1を示す説明図である。
図14図14は、学習データを拠点外に出すことができない複数の拠点で、各拠点に適切な学習を実現する連合学習方法2を示す説明図である。
図15図15は、計算機の機能的構成例を示すブロック図である。
【発明を実施するための形態】
【0019】
分析装置は、複数の拠点にあるデータを拠点外に移動させることなく、各拠点のデータ特性を変換し、拠点外へ移動させ、各拠点のデータの特性の解析を実行する。これにより、分析装置は、各拠点に適切なモデル構築方法やグルーピングの提示過程のうち、
(A)各拠点の学習データに含まれる特徴量を変換した変換特徴量間の距離を用いたクラスタリング結果の表示を実行したり、
(B)連合学習を用いたスコア算出によりクラスタリング結果の表示を実行したりする。
【0020】
(A)については、実施例1で説明し、(B)については、実施例2で説明する。
【実施例0021】
<連合学習>
図1は、連合学習の一例を示す説明図である。学習装置である複数の拠点(図1では、例として、10個の拠点S1~S10)の各々は、それぞれ学習データD1~D10(これらを区別しない場合は、単に学習データDとする)を保持し、拠点S1~S10外に学習データD1~D10を出すことが禁止されているものとする。
【0022】
サーバ100は、拠点S1~S10(これらを区別しない場合は、単に拠点Sとする)で生成された予測モデルM1~M10(これらを区別しない場合は、単に予測モデルMとする)を統合する分析装置である。サーバ100は、ベースとなる予測モデル(以下、ベース予測モデル)M0を有する。ベース予測モデルM0は、未学習のニューラルネットワークでもよく、重みやバイアスといったモデルパラメータが設定された学習済みのニューラルネットワークでもよい。
【0023】
拠点S1~S10は、学習データD1~D10を有し、学習データD1~D10で予測モデルM1~M10を生成するコンピュータである。学習データD1~D10はそれぞれ、入力となる教師データと正解データとの組み合わせである。
【0024】
まず、サーバ100は、ベース予測モデルM0を拠点S1~拠点S10に送信する。拠点S1~拠点S10はそれぞれ、ベース予測モデルM0とそれぞれの学習データD1~D10とを用いて学習し、予測モデルM1~M10を生成する。
【0025】
拠点S1~拠点S10はそれぞれ、予測モデルM1~M10の重みやバイアスといったモデルパラメータθ1~θ10(これらを区別しない場合は、単にモデルパラメータθとする)をサーバ100に送信する。サーバ100は、受信したモデルパラメータθ1~θ10の統合処理を実行し、統合予測モデルM100を生成する。
【0026】
サーバ100は、生成した統合予測モデルM100が所望の予測精度を達成するまで統合予測モデルM100の更新プロセスを繰り返す。なお、拠点S1~拠点S10は、予測モデルM1~M10のモデルパラメータθ1~θ10の勾配をサーバ100に送信してもよい。拠点S1~拠点S10はそれぞれ、予測モデルM1~M10の重みやバイアスといったモデルパラメータθ1~θ10をサーバ100に送信する。
【0027】
統合処理とは、モデルパラメータθ1~θ10の平均値を算出する処理である。学習データD1~D10のサンプル数が異なる場合は、学習データD1~D10のサンプル数に基づいて重み付け平均を算出してもよい。また、統合処理では、モデルパラメータθ1~θ10の代わりに各拠点S1~S10から送信された、モデルパラメータθ1~θ10の各勾配の平均値を算出する処理であってもよい。
【0028】
統合予測モデルM100の更新プロセスとは、サーバ100が統合予測モデルM100を拠点S1~拠点S10に送信し、拠点S1~拠点S10がそれぞれ統合予測モデルM100に学習データD1~D10を入力して学習を行い、再生成した予測モデルM1~M10のモデルパラメータθ1~θ10をサーバ100に送信し、サーバ100が統合予測モデルM100を再生成する、というプロセスである。生成した統合予測モデルM100が所望の予測精度を達成した場合、連合学習は終了となる。また、所望の予測精度ではなく、所定の更新回数としてもよい。
【0029】
<非独立同一分布>
一般的に、機械学習で与えるデータは独立同分布(independently and identically distributed:iid)であることが前提とされている。独立同分布とは、たとえば、1~6までのサイコロを投げた時にある目が出る確率は同一であり、このサイコロを複数回投げた際に、何回目にどの目が出たかに関わらず独立に結果が得られることを意味する。この定義が崩れた状態が非独立同分布(non-iid)である。
【0030】
non-iid条件下のデータは、データシフトやデータスキューが発生しているデータまたはnon-iidデータと呼ばれている。たとえば、日本にある病院のデータと米国にある病院のデータでは、保険制度の違いから来る受診者の身体状態や人種、収入などの分布が大きく異なることが予想される。このようなデータはnon-iidデータであると言える。
【0031】
このような特性のばらつきがあるnon-iidデータは、そのばらつき方に応じて主に4種類に分類される。共変量シフト(covariate shiftやfeature distribution skew)、concept shift(same featuresやdifferent featuresなど)、label shift(target shiftやlabel distribution skew、prior probability shiftなど)、concept drift(same labelやdifferent labelなど)である。
【0032】
これらは、特徴量の分布の違い、目的変数の分布の違い、これら2つの条件付確率の違いなどで定義されている。non-iidデータの種類は統計的に定義づけられてはいるものの、実際のデータでは複数種類が発生していることもあり、どの種類がどれほどの強度で発生しているかを評価することは難しい。
【0033】
1つの拠点において、学習とテスト用のデータがnon-iidデータとなるよう分けられている場合、学習した際に高精度な予測を達成可能な予測モデルを、検証用データに適用しても分布が異なるので、同様に高精度な予測結果とならず、予測モデルの精度検証を適切に実施できなくなる。そのため、学習と検証用のデータを共通のデータからランダムにサンプリングすることで設定するなどの手法が行われてきた。
【0034】
1つの拠点内ではiidデータであっても、各拠点のデータは互いにnon-iidデータとなっている可能性が高い。各拠点のデータがnon-iidデータである場合、各拠点における適切な予測モデルM1~M10のモデルパラメータθ1~θ10が大きく異なることが予想される。つまり、統合処理における更新を複数回行っても、統合予測モデルM100のモデルパラメータが適切な値に収束しない可能性が高くなる。
【0035】
non-iidデータかどうかの判別方法は、たとえば、データ分布を特徴量ひとつずつ比較することが考えられる。また、拠点S1の学習データD1を用いて生成した予測モデルM1を、拠点S2の学習データD2に適用した際に、予測モデルM1の生成時より明らかに予測精度が低下すれば、拠点S1の学習データD1と拠点2の学習データD2の分布は異なることを確認することも可能である。また、拠点S1、S2の学習データD1、D2であるかどうかを判断する予測モデルを生成した際に、予測精度が高いほど学習データD1、D2のデータ分布は異なると推定することも可能である。
【0036】
しかし、連合学習の環境下では、拠点Sの外に学習データDを出すことができない。そのため、拠点S間のデータ分布を直接比較することはできない。そのため、連合学習後に、特許文献2で示したような所望の予測精度を達成できない拠点を特定し、その拠点を除いた拠点で再度連合学習をする方法などが考えられているものの、連合学習を繰り返し実施することは、1度学習したデータを何度も学習し直すことを意味し、冗長である。以下、連合学習前に、各拠点Sの学習データDの特性に応じて、適切な予測モデルを生成する生成方法について具体的に説明する。
【0037】
<コンピュータ(サーバ100、拠点S)のハードウェア構成例>
図2は、コンピュータのハードウェア構成例を示すブロック図である。コンピュータ200は、プロセッサ201と、記憶デバイス202と、入力デバイス203と、出力デバイス204と、通信インタフェース(通信IF)205と、を有する。プロセッサ201、記憶デバイス202、入力デバイス203、出力デバイス204、および通信IF205は、バス206により接続される。プロセッサ201は、コンピュータ200を制御する。記憶デバイス202は、プロセッサ201の作業エリアとなる。また、記憶デバイス202は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス202としては、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリがある。入力デバイス203は、データを入力する。入力デバイス203としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス204は、データを出力する。出力デバイス204としては、たとえば、ディスプレイ、プリンタがある。通信IF205は、ネットワークと接続し、データを送受信する。
【0038】
<コンピュータ200の機能的構成例>
図3は、実施例1にかかるサーバ100の機能的構成例を示すブロック図である。サーバ100は、受信部301と、分布解析部302と、生成部303と、出力部304(送信部341および表示部342)と、を有する。受信部301、分布解析部302、生成部303、および出力部304は、具体的には、たとえば、図2に示した記憶デバイスに記憶されたプログラムをプロセッサ201に実行させることにより、または、通信IF205により、その機能を実現する。
【0039】
受信部301は、通信IF205により、拠点S1~S10の変換特徴量TF1~TF10(これらを区別しない場合は、単に変換特徴量TFとする)と、拠点S1~S10が学習したモデルパラメータθ1~θ10と、統合予測モデルM100の精度検証結果と、を受信する。変換特徴量TFとは、学習データDに含まれる訓練データである複数の特徴量を、あらかじめ設定されたルールに従って変換した変換後のデータである。
【0040】
分布解析部302は、受信部301によって受信された変換特徴量TF1~TF10を用いて、学習データDの類似性の解析を実行する。図1の例では、10個の拠点S1~S10が存在するため、分布解析部302は、2個ずつ45通りの拠点Sの組み合わせごとに、学習データDの類似性の計算を実行する。
【0041】
学習データDの類似性の計算方法としては、たとえば、変換特徴量TF間のユークリッド距離やコサイン距離、Jensen-shannon divergenceなどによる分布の違いを表す指標、t-SNEやPCAなどの次元圧縮を行いベクトルを3次元以下に変換する手法、ウォード法などの階層クラスタリング手法、K-Means法などの非階層クラスタリング手法などが適用可能である。
【0042】
生成部303は、1以上の拠点Sから送信された予測モデルMのモデルパラメータθに基づいて、1以上の予測モデルを生成する。具体的には、たとえば、生成部303は、1つの拠点Sのみを含むクラスタについては、そのモデルパラメータθに基づいて予測モデルMを生成する(ローカル学習方法)。または、サーバ100に送付せず、拠点Sのみで予測モデルMを運用する。また、生成部303は、複数の拠点Sを含むクラスタについては、それらのモデルパラメータθに基づいて1または複数の統合予測モデルを生成する統合処理を実行する。
【0043】
出力部304は、送信部341と表示部342とを有する。
【0044】
送信部341は、単一の拠点Sの学習データDで1つの予測モデルMを生成するローカル学習方法、複数の拠点Sの学習データDで1つの統合予測モデルM100を生成する連合学習方法、および、複数の拠点Sの学習データDで1以上の統合予測モデルを生成する個別化連合学習方法の中から選択された学習方法の実行通知と、ベース予測モデルM0と、を拠点S1~S10に送信する。
【0045】
なお、個別化連合学習(Personalized Federated Learning)には様々な学習方法がある。たとえば、複数の拠点Sの複数の学習データD間の統計的不均一性を平滑化して統合予測モデルの収束を改善することに重点を置き、複数の学習データDに基づいて、1つの統合予測モデルを生成する学習方法がある。また、各拠点Sやクラスタリングした拠点Sなどいずれかのレベルの下で、統合予測モデルのパフォーマンスを向上させることに重点を置き、複数の予測モデルに基づいて、複数の統合予測モデルを生成する学習方法がある。
【0046】
なお、個別化連合学習は連合学習に含まれる学習方法であるため、連合学習のうち、個別化連合学習ではない連合学習を、「非個別化連合学習」と称し、連合学習方法のうち、個別化連合学習の方法ではない連合学習方法を、「非個別化連合学習方法」と称す。
【0047】
また、送信部341は、生成部303によって生成された統合予測モデルM100を、統合予測モデルの生成に使用された予測モデルMを生成した拠点Sに送信する。また、送信部341は、各拠点Sで実行された精度検証結果に基づいて、連合学習の繰り返しを継続するか、終了とするかを示す継続指示を各拠点Sに送信する。
【0048】
表示部342は、出力デバイス204の一例であるディスプレイにデータを表示する。たとえば、表示部342は、分布解析部302による分布解析結果を表示する。
【0049】
図4は、実施例1にかかる拠点Sの機能的構成例を示すブロック図である。拠点Sは、受信部401と、学習部402と、分布変換部403と、送信部404と、を有する。受信部401、学習部402、分布変換部403、および送信部404は、具体的には、たとえば、図2に示した記憶デバイスに記憶されたプログラムをプロセッサ201に実行させることにより、または、通信IF205により、その機能を実現する。
【0050】
受信部401は、単一の拠点Sで1つの予測モデルMを生成するローカル学習方法、複数の拠点Sで1つの統合予測モデルM100を生成する連合学習方法、複数の拠点Sで複数の統合予測モデルを生成する個別化連合学習方法から選択された学習方法の実行通知と、ベース予測モデルM0と、を受信する。
【0051】
また、受信部401は、予測モデルMの生成後においては、連合学習時において、生成部303によって生成された統合予測モデルを受信する。また、受信部401は、連合学習の繰り返しを継続するか、終了とするかを示す継続指示をサーバ100から受信する。
【0052】
学習部402は、ランダムな初期値により決定したパラメータから構成される予測モデルまたはベース予測モデルM0に学習データDを与えて、予測モデルMを生成する。具体的には、たとえば、学習部402は、サーバ100からベース予測モデルM0を取得して、ベース予測モデルM0に学習データDを与える。学習部402は、学習データD1は、教師データと正解データとの組み合わせである。したがって、教師データをベース予測モデルM0に入力した結果出力される予測データと正解データとに基づいて、2乗和誤差または交差エントロピー誤差が最小となるように損失関数を計算することで、モデルパラメータθおよび予測モデルMを生成する。
【0053】
学習データD内の教師データである特徴量ベクトルxを学習した予測モデルMは、下記式(1)に示すように予測データである出力y、モデルパラメータθ、および関数hにより表現される。また、下記式(1)によりベース予測モデルM0を作成することも可能である。
【0054】
【数1】
【0055】
分布変換部403は、拠点Sの学習データDを変換し、拠点S外へ移動しても問題がない状態までデータを変質させる変換処理を実行し、変換特徴量TFを生成する。たとえば、学習データD内の教師データが5個の特徴量を有する100個のサンプルである場合、分布変換部403は、サンプル方向に平均を取り、5個の特徴量ごとの平均値からなる特徴量ベクトルに変換し、変換特徴量TFとする。平均値だけでなく、最大値や最小値、分散などの統計量でもよい。
【0056】
また、教師データが画像データである場合、分布変換部403は、画像データを、あらかじめ定義づけておいた変換ルールで複数の特徴量を数値化することで、画像データを特徴量ベクトルに変換してもよい。あらかじめ定義づけておいた複数の特徴量とは、たとえば、画像データが動物の画像データであれば、その動物の耳の数、手足の数、目の数である。このような変換ルールは、共通のルールとしてサーバ100および拠点Sに保持される。
【0057】
送信部404は、分布変換部403により生成された変換特徴量TFと、モデルパラメータθと、統合予測モデルの精度検証結果と、を、サーバ100に送信する。
【0058】
なお、受信部301,401、送信部341、404で送受信されるデータは、セキュリティの観点から暗号化等により変換され保護される。これにより、予測モデルMから学習に使用されたデータの解析を困難にする。
【0059】
<分布解析部302による変換特徴量TFの類似性解析>
図5は、分布解析部302による変換特徴量TFの類似性解析例1を示す説明図である。図5は、サーバ100が、拠点Sから受信した変換特徴量TF間のユークリッド距離により、拠点S1~S10の類似度を解析する例である。ユークリッド距離のヒートマップ500では、色が濃いほど距離が近い、つまり、変換特徴量TFの分布の類似性が高いことを示す。
【0060】
本例では、拠点S1、拠点S3、拠点S5、および拠点S9についての変換特徴量TFの分布が類似していることが読み取れる。また、拠点S4および拠点S10についての変換特徴量TFの分布も類似していると読み取れる。また、拠点S6および拠点S8についての変換特徴量TFの分布も類似していることが読み取れる。この変換特徴量TFの分布の類似性により、サーバ100は、たとえば、拠点S1、拠点S3、拠点S5、および拠点S9を、変換特徴量TFの分布が類似するクラスタに決定し、拠点S6および拠点S8を、変換特徴量TFの分布が類似するクラスタに決定する。
【0061】
なお、図5では、ヒートマップ500で表現、すなわち距離を色の濃淡としたが、距離を数値で表現してもよい。これらのマップ情報は、拠点S間の特徴量の類似性に関する情報の一例である。
【0062】
図6は、分布解析部302による変換特徴量TFの類似性解析例2を示す説明図である。図6は、サーバ100が、拠点Sから受信した変換特徴量TFの階層クラスタリングにより、拠点S1~S10の類似度を解析する例である。
【0063】
デンドログラム600は、変換特徴量TFの階層クラスタリングにより作成される。デンドログラム600の横軸は、階層クラスタリングに応じた拠点Sの配列であり、縦軸は、変換特徴量TFから算出された距離である。距離の算出方法は階層クラスタリングにおけるクラスタ間の距離測定方法により異なる。デンドログラム600も、拠点S間の特徴量の類似性に関する情報の一例である。
【0064】
デンドログラム600によれば、拠点S1、拠点S3、拠点S5および拠点S9は、早い段階で同じクラスタに所属する(クラスタC1)。拠点S4および拠点S10も早い段階で同じクラスタに所属する(クラスタC2)。拠点S6および拠点S8も早い段階で同じクラスタに所属する。
【0065】
また、デンドログラム600は、ヒートマップ500からではわかりにくい拠点S6、拠点S7、および拠点S8についての学習データDの分布の類似性をクラスタC3として、拠点S1、拠点S3、拠点S4、拠点S5、拠点S9、および拠点S10についての学習データDの分布の類似性をクラスタC12として把握できる。なお、拠点S2のみのクラスタをクラスタC4とする。
【0066】
ここで、学習データDの分布の類似性の閾値を1.0とすると、10個の拠点S1~S10を3つのクラスタC12、C3、C4に分けることができる。3つのクラスタC12、C3、C4のうち、1つの拠点S2のみ含むクラスタC4は、学習データDの分布の類似性から、連合学習により生成した統合予測モデルM100と比較して、単独で予測モデルM2を作成した予測モデルM2の精度がよくなると考えられる。2以上の拠点Sを含むクラスタC12、C3では、連合学習の適用が適切であると考えられる。
【0067】
ただし、そのうち、学習データDの類似性に応じて、適切な連合学習方法があると考えられる。拠点S6~S8では、閾値1.0に余裕をもって0.8程度でひとつのクラスタを形成していることから、連合学習により精度のよい予測モデルMを生成できると考えられる。また、拠点S1、拠点S3~S5,拠点S9、拠点S10の6つは、1つのクラスタC12になっているものの、拠点S1、拠点S3、拠点S5,拠点S9を含むクラスタC2と、拠点S4および拠点S10を含むクラスタC1と、に分けられる。このように、学習データDの分布の違いが大きい場合、連合学習のなかでも、個別化連合学習を適用することも考えられる。
【0068】
分布解析部302は、ユークリッド距離や階層クラスタリングの結果から、単一の拠点Sで1つの予測モデルMを生成するローカル学習方法、複数の拠点Sで1つの統合予測モデルM100を生成する非個別化連合学習方法、複数の拠点Sで複数の統合予測モデルを生成する個別化連合学習方法のうちいずれかを選択する。
【0069】
この選択方法は、たとえば、サーバ100のユーザが、画面表示されたヒートマップ500やデンドログラム600を参照したうえで、選択する方法でもよいし、サーバ100のユーザが事前にしきい値を設定しておき、分布解析部302がしきい値に基づいて、ローカル学習方法、非個別化連合学習方法、および個別化連合学習方法のいずれかを選択してもよい。
【0070】
たとえば、図6において、しきい値が1.0に設定された場合、拠点S1~S10は、クラスタC12、C3、C4に分類される。この場合、クラスタC4は1つの拠点S2しか所属していないため、分布解析部302は、クラスタC4内の拠点S2における学習方法をローカル学習方法に決定する。
【0071】
また、クラスタC3は、複数の拠点S6~S8を含み、かつ、閾値1.0に余裕をもって0.8程度でひとつのクラスタを形成している。したがって、分布解析部302は、クラスタC3内の拠点S6~S8における学習方法を非個別化連合学習方法に決定する。
【0072】
また、クラスタC12は、複数の拠点S1、S3、S4、S5、S9、およびS10を含み、かつ、クラスタC12内において複数の拠点を含むクラスタが複数存在する(クラスタC1,C2)。クラスタC1とC2は、閾値1.0付近で1つのクラスタとなっているため学習データDの分布の違いが大きいといえる。したがって、分布解析部302は、クラスタC12内の拠点S1、S3、S4、S5、S9、およびS10における学習方法を個別化連合学習方法に決定する。
【0073】
また、分布解析部302は、しきい値以外にも制約条件を設定して、学習方法を選択してもよい。たとえば、分布解析部302は、しきい値を変動させ、あらかじめ設定されたクラスタ数やクラスタ内の所属拠点数に到達した場合に、しきい値の変動を終了し、その時点でのクラスタについて学習方法を決定してもよい。
【0074】
たとえば、分布解析部302は、デンドログラム600において、しきい値の初期値を最大値(たとえば、2.0)に設定し、最大値から所定量(たとえば、0.1)減少させていく。設定クラスタ数が「3」という制約条件であれば、しきい値が1.4に到達した時点でのクラスタは、クラスタC4と、拠点S1、S3~S10からなるクラスタの2つであり、クラスタ数は「2」である。したがって、しきい値の減少が継続される。しきい値が1.2に到達した時点でのクラスタは、クラスタC12、C3、C4となる。クラスタ数が「3」に到達したため、しきい値の減少は終了し、分布解析部302は、この時点でのクラスタC12、C3、C4の各々について、学習方法を決定する。
【0075】
また、1クラスタ内の拠点数が「4以下」という制約条件であれば、しきい値が1.4に到達した時点でのクラスタは、クラスタC4と、拠点S1、S3~S10からなるクラスタの2つであり、後者のクラスタの拠点数は「9」となる。しきい値の減少が継続される。しきい値が1.2に到達した時点でのクラスタは、クラスタC3、C4、C12となる。
【0076】
クラスタC3、C4、C12の後者の所属拠点数は「6」となる。しきい値の減少が継続される。しきい値が0.9に到達した時点でのクラスタは、クラスタC1、C2、C3、C4となる。クラスタC1の所属クラスタ数は「4」であるため、しきい値の減少は終了し、分布解析部302は、この時点でのクラスタC1、C2、C3、C4の各々について、学習方法を決定する。
【0077】
なお、上記の例は、一例であり、設定クラスタ数は、「n」(nは1以上の整数)、「n以上」、「nより多い」、「n以下」、「nよりも少ない」など各種設定可能である。また、1クラスタ内の拠点数についても、「m」(mは1以上の整数)、「m以上」、「mより多い」、「m以下」、「mよりも少ない」など各種設定可能である。
【0078】
また、上述した例では、設定クラスタ数についての例と、1クラスタ内の拠点数の例とに分けて説明したが、たとえば、設定クラスタ数は「n」でかつ1クラスタ内の拠点数は「m」のように、設定クラスタ数および1クラスタ内の拠点数の両方を制約条件として設定してもよい。また、上述した例では、分布解析部302は、しきい値を最大値から減少させたが、しきい値を最小値(たとえば、0.0)から所定量増加させてもよい。
【0079】
<学習例>
図7は、サーバ100と拠点Sとによる学習例1を示す説明図である。図7では、クラスタC12が学習方法の決定対象クラスタである場合に、拠点S1、S3、S5、およびS9からなるクラスタC1と、拠点S4および拠点S10からなるクラスタC2との学習データD1、D3~D5、D9、D10を用いて、1つの統合予測モデルM700を生成する個別化連合学習を実行する例を示す。
【0080】
拠点S1、S3~S5、S9およびS10の各々は、受信部401により、個別化連合学習が選択されたことを示す通知をサーバ100から受信する。拠点S1、S3~S5、S9およびS10の各々は、学習部402により、それぞれの学習データD1、D3~D5、D9およびD10を用いて、予測モデルM1、M3~M5、M9、M10を生成する。その後、拠点S1、S3~S5、S9およびS10の各々は、生成した予測モデルM1、M3~M5、M9、M10のモデルパラメータθ1、θ3~θ5、θ9およびθ10を送信部404からサーバ100へ送信する。
【0081】
サーバ100は、受信部301により、モデルパラメータθ1、θ3~θ5、θ9およびθ10を受信する。サーバ100は、生成部303により、モデルパラメータθ1、θ3~θ5、θ9およびθ10を用いて、統合処理を実行し、統合予測モデルM700を生成する。サーバ100は、生成した統合予測モデルM700が所望の予測精度を達成するまで統合予測モデルM700の更新プロセスを繰り返す。
【0082】
なお、図7では、クラスタC12が学習方法の決定対象クラスタである場合に、クラスタC1、C2の学習データD1、D3~D5、D9、D10を用いて1つの統合予測モデルM700を生成する個別化連合学習を実行する例を示したが、クラスタC1の学習データD1、D3、D5、D9を用いて1つの統合予測モデルを生成し、クラスタC2の学習データD4、D10を用いて1つの統合予測モデルを生成するという個別化連合学習を実行してもよい。
【0083】
図8は、サーバ100と拠点Sとによる学習例2を示す説明図である。図8では、クラスタC3が学習方法の決定対象クラスタである場合に、拠点S6~S8からなるクラスタC3の学習データD3を用いて1つの統合予測モデルを生成する非個別化連合学習を実行する例を示す。
【0084】
拠点S6~S8の各々は、受信部401により、非個別化連合学習が選択されたことを示す通知をサーバ100から受信する。拠点S6~S8の各々は、学習部402により、それぞれの学習データD6~D8を用いて、予測モデルM6~M8を生成する。その後、拠点S6~S8の各々は、送信部404により、生成した予測モデルM6~M8をサーバ100に送信する。
【0085】
サーバ100は、受信部301により、予測モデルM6~M8のモデルパラメータθ6~θ8を受信する。サーバ100は、生成部303により、モデルパラメータθ6~θ8を用いて統合処理を実行し、統合予測モデルM800を生成する。サーバ100は、生成した統合予測モデルM800が所望の予測精度を達成するまで統合予測モデルM800の更新プロセスを繰り返す。
【0086】
なお、図7および図8では、サーバ100がデンドログラム600を参照して学習方法を決定し、予測モデルMまたは統合予測モデルを生成する例について説明したが、サーバ100は、ヒートマップ500を参照して複数の拠点Sをクラスタ化して学習方法を決定し、予測モデルMまたは統合予測モデルを生成してもよい。
【0087】
<予測モデルMの統合処理>
つぎに、生成部303による予測モデルMの統合処理について具体的に説明する。予測モデルMの統合処理では、K個(Kは1以上の整数)の拠点Sにおける学習で、ベース予測モデルM0にモデルパラメータθ(tは統合予測モデルM100の更新回数)を適用した統合予測モデルM100を初期値として、K個の拠点Sの各々が、各々の学習データDで学習する。
【0088】
そして、生成部303は、K個の拠点Sの各々が、それぞれ生成したK個の予測モデルMのモデルパラメータθに関する勾配gを取得し、勾配gの平均の和を用いて、下記式(2)に示すように、t+1回目の更新となる統合予測モデルM100のモデルパラメータθt+1を生成する。NはK個の拠点Sで学習に用いた全学習データDの総サンプル数、Nは拠点kにおける学習データDのサンプル数である。
【0089】
【数2】
【0090】
ここで、上記式(2)では、モデルパラメータθに関する勾配gを使用したが、これはモデルパラメータθから学習データDを解析できないようにセキュリティに配慮した方法であり、モデルパラメータθや符号化、暗号化などを使用してもよい。また、生成部303は、全結合層や畳み込み層など予測モデルの構造に応じて、上記式(2)とは異なる方法で予測モデルM1~M10を統合してもよい。
【0091】
たとえば、下記式(3)に示すように、各モデルパラメータθの学習に用いた学習データDのサンプル数で正規化した平均値としてもよいし、予測モデルMの学習過程におけるバッチ単位やエポック単位でのモデルパラメータθやその勾配gを用いてもよい。
【0092】
【数3】
【0093】
<サーバ100による統合学習前処理>
図9は、サーバ100による統合学習前処理手順例を示すフローチャートである。サーバ100は、連合学習に参加希望の拠点Sとの通信が可能になっているものとする。サーバ100は、受信部301により、変換特徴量TFを各拠点Sか受信する(ステップS901)。つぎに、サーバ100は、分布解析部302により、受信した変換特徴量TFを用いて、学習データDの類似性の解析を実行する(ステップS902)。
【0094】
そして、サーバ100は、分布解析部302により、図5および図6に示したように、学習データDの分布の類似性に基づいて、拠点Sごとに、学習方法を決定する(ステップS903)。このあと、サーバ100は、出力部304により、分布解析部302による分布解析結果を出力する(ステップS904)。
【0095】
具体的には、たとえば、サーバ100は、表示部342により、分布解析結果として、ヒートマップ500、デンドログラム600、ステップS903で決定した連合予測モデルMの学習方法、つまり統合予測モデルM100の生成方法および予測モデルMの学習方法を表示する。また、サーバ100は、送信部341により、ステップS903で決定した学習方法を各拠点Sに通知する。これにより、統合学習前処理が終了する。
【0096】
<拠点Sによる学習前処理>
図10は、拠点Sによる学習前処理手順例を示すフローチャートである。拠点Sは、学習データD内の教師データである特徴量の変換方法やツールをサーバ100から取得済みとする。
【0097】
拠点Sは、特徴量の変換方法およびツールを用いて、学習データD内の教師データである特徴量を変換し、変換特徴量TFを生成する(ステップS1001)。つぎに、拠点Sは、変換特徴量TFをサーバ100に送信する(ステップS1002)。このあと、拠点Sは、ステップS904の通知をサーバ100から送信する(ステップS1003)。これにより、学習前処理が終了する。
【0098】
このように、上述したデータ分析処理システムによれば、複数の拠点S1~S10にある学習データD1~D10を拠点S外に移動させることなく、各拠点Sのバリエーション豊かな学習データD1~D10に対して、各拠点Sに適切な予測モデルMの学習方法を決定可能となり、拠点Sごとに適切な予測モデルMまたは統合予測モデルM100,M700、M800を生成することができる。
【0099】
<表示画面例>
つぎに、コンピュータ200の出力デバイス204の一例であるディスプレイに表示される表示画面例について説明する。
【0100】
図11は、表示画面の表示例1を示す説明図である。表示画面1100は、たとえば、サーバ100のディスプレイに表示される。表示画面1100は、View clientsボタン1101と、View resultsボタン1102と、mode欄1103と、拠点リスト1111と、拠点分析結果1112と、拠点分類開始ボタン1113と、拠点分類結果確認ボタン1114と、を含む。
【0101】
サーバ100は、ユーザの操作により、mode欄1103で「Analysis」の選択を受け付け、View clientsボタン1101の押下を受け付ける。これにより、サーバ100は、拠点リスト1111に、連合学習参加希望の拠点リスト1111を表示する。サーバ100は、ユーザの操作により、拠点分類開始ボタン1113の押下を受け付けると、サーバ100は、変換特徴量の生成に必要な方法やツールを各拠点Sに送信する。
【0102】
各拠点Sで変換特徴量が生成されるとサーバ100に送信され、サーバ100は、分布変換部403により、受信した変換特徴量の解析を実行する。このあと、サーバ100は、ユーザの操作により、View resultsボタン1102の押下を受け付けると、サーバ100は、拠点分析結果1112を表示する。そのとき、同時に、各拠点Sにどの学習方法の割り当てが拠点リスト1111にも反映される。
【0103】
ユーザが拠点リスト1111および拠点分析結果1112を確認し、サーバ100が、拠点分類結果確認ボタン1114の押下を受け付けると、各拠点Sに割り当てられた学習方法の通知を送信する。ここで、拠点リスト1111の各拠点Sの学習方法を、ユーザの操作により、個別に直接編集可能であってもよい。
【0104】
図12は、表示画面の表示例2を示す説明図である。表示画面1200は、たとえば、サーバ100のディスプレイに表示される。表示画面1200は、View clientsボタン1101と、View resultsボタン1102と、mode欄1103と、拠点リスト1111と、グループ選択欄1211と、連合学習結果1212と、連合学習結果確認ボタン1213と、を含む。
【0105】
サーバ100は、ユーザの操作により、mode欄1103でFeserationの選択を受け付け、View resultsボタン1102の押下を受け付けることで、連合学習結果1212を表示する。また、サーバ100は、ユーザの操作により、グループ選択欄1211において学習グループの選択を受け付けることで、拠点リスト1111に表示されている学習グループに属する拠点Sの連合学習結果1212を表示する。連合学習における繰り返し処理が規定回数または、所望の予測精度を達成したことで終了している場合、サーバ100は、ユーザの操作により、連合学習結果確認ボタン1213を押下することで、連合学習処理が終了する。連合学習結果を受けて、拠点の選定のやり直しや学習のやり直しを行いたい場合は、mode欄1103を「Analysis」に変更し、表示画面1100に戻って、変換特徴量TFの生成、学習方法の決定、連合学習を再度実施することも可能である。
【0106】
このように、実施例1によれば、複数の拠点Sにある学習データDを拠点S外に移動させることなく、各拠点Sのバリエーション豊かな学習データDに対して、各拠点Sに適切な統合予測モデルM100を生成することができる。また、実施例1では、拠点数を10としたが、2以上であれば、9以下でも11以上としてもよい。
【実施例0107】
実施例2について説明する。実施例1では、各拠点Sの変換特徴量を用いて解析することで、各拠点Sに適切な学習方法を決定した。実施例2は、分布解析部302により、各拠点Sに適切な学習方法を、連合学習を用いて決定する例である。なお、実施例2で説明する統合予測モデルは、実施例1の生成部303が生成する統合予測モデルではなく、学習方法を決定するための統合予測モデルである。実施例2では、実施例1との相違点を中心に説明するため、実施例1との共通点については説明を省略する。
【0108】
たとえば、各拠点Sの学習データDが、各病院におけるがん患者のステージ分類である場合、最終的に生成する統合予測モデルの出力は、同様にステージ分類となる。実施例2において、各拠点Sに適切な学習方法を連合学習により決定する場合、最終的に生成する統合予測モデルの出力は、どの拠点Sの学習データDであるか(すなわち、学習データDが所属する拠点S)とする。
【0109】
図13は、学習データDを拠点S外に出すことができない複数の拠点Sで、各拠点Sに適切な学習を実現する連合学習方法1を示す説明図である。複数の拠点Sが拠点S1、S2のみである場合、拠点S1は、ベース予測モデルM0と学習データD1とを用いて予測モデルM1である識別器を生成し、この識別器のモデルパラメータθ1をサーバ100に送信する。同様に、拠点S2は、ベース予測モデルM0と学習データD2とを用いて予測モデルM2である識別器を生成し、この識別器のモデルパラメータθ2をサーバ100に送信する。サーバ100は、学習データDが拠点S1であるクラスを0、学習データDが拠点S2であるクラスを1として生成された予測モデルM1、M2のモデルパラメータθ1、θ2に基づいて、統合予測モデルM100である2クラス分類識別器(以下、統合識別器)を、連合学習により生成する。
【0110】
拠点S1、S2は、生成された統合識別器(2クラス分類識別器である統合予測モデルM100)をサーバ100から受信して適用し、予測確率を算出する。拠点S1、S2は、算出した予測確率、または、予測確率を傾向スコア(Propencity Score)に変換した値を、変換特徴量としてサーバ100に送信する。図13では、傾向スコアとしている。
【0111】
サーバ100は、図13のグラフ1300に示すように、拠点S1の傾向スコアの箱ひげ図1301と、拠点S2の傾向スコアの箱ひげ図1302と、を比較する。たとえば、拠点S1において、拠点S1である確率が高く、拠点S2において、拠点S1である確率が低い場合、2つの拠点S1、S2の学習データD1、D2は区別がつきやすい、つまりデータ分布の類似性が低いことを意味する。この場合、箱ひげ図1301、1302の重複範囲1312は狭くなる、または含まれるサンプル数が少なくなる。
【0112】
逆に、拠点S1において、拠点S1である確率と拠点S2において、拠点S1である確率が同程度である場合、2つの拠点S1、S2の学習データD1、D2は区別がつきにくい、つまりデータ分布の類似性が高いことを意味する。この場合、箱ひげ図1301、1302の重複範囲1312は広くなる、または含まれるサンプル数が多くなる。サーバ100が、拠点S1、S2における拠点分類用統合予測モデルを適用した際の予測確率の分布を比較することで、両拠点S1、S2の学習データD1、D2の類似性を評価することが可能となる。
【0113】
ここで、傾向スコアとは、無作為割付が難しく様々な交絡が生じやすい観察研究において、共変量を調整して因果効果を推定するために用いられるバランス調整の統計手法または統計手法によって得られた値である。実施例2において、各拠点Sの学習データDの特性解析において、予測確率をそのまま用いてもよいし、傾向スコアを用いた重み付け手法であるIPW(Inverse Probability Weighting)推定量、2重ロバスト推定量などを用いてもよい。
【0114】
図13に示した例では、サーバ100は、箱ひげ図1301、1302の重複範囲1312の大きさにより、学習データD1、D2の類似性を判断する。たとえば、サーバ100は、重複範囲1312がしきい値以上であれば、学習データD1、D2はデータ分布が類似すると判断する。類似すると判断された場合、サーバ100は、拠点S1,S2を同一クラスタに所属させる。また、類似性の判断は重複範囲1302の大きさ以外にも、重複範囲1302に含まれるサンプル数などを用いて学習データD1、D2の類似性を判断してもよい。
【0115】
また、図13では、拠点数が2の場合を例に示したが、拠点数が少ないほど、サーバ100は、統合予測モデルのモデルパラメータから、他の拠点Sの学習データDを推定しやすくなる。このため、拠点Sには参加している拠点数を知らせない、使用を参加する拠点数が一定数以上の場合に限定する、Differential Privacy Stochastic Gradient Descent SGD(DPSGD)やPrivate Aggregation of Teacher Ensembles(PATE)などのプライバシー保護手法を使用する、といった対応をすればよい。
【0116】
図14は、学習データDを拠点S外に出すことができない複数の拠点Sで、各拠点Sに適切な学習を実現する連合学習方法2を示す説明図である。図14は、特に、拠点数が3以上の場合のグラフ1400である。複数の拠点Sが拠点S1、S2、S3である場合、拠点S1は、ベース予測モデルM0と学習データD1とを用いて予測モデルM1である識別器を生成し、この識別器のモデルパラメータθ1をサーバ100に送信する。同様に、拠点S2は、ベース予測モデルM0と学習データD2とを用いて予測モデルM2である識別器を生成し、この識別器のモデルパラメータθ2をサーバ100に送信する。同様に、拠点S3は、ベース予測モデルM0と学習データD3とを用いて予測モデルM3である識別器を生成し、この識別器のモデルパラメータθ3をサーバ100に送信する。
【0117】
サーバ100は、学習データDが拠点S1であるクラスを0、学習データDが拠点S2であるクラスを1、学習データDが拠点S3であるクラスを2として生成された予測モデルM1~M3のモデルパラメータθ1~θ3に基づいて、統合予測モデルM100である3クラス分類識別器(統合分類器)を連合学習により生成する。一般的に、傾向スコアは2群に分けられている場合に使用される手法であり、群が3以上の場合、一般化傾向スコア(Generalized Propencity Score)が使用される。
【0118】
一般化傾向スコアは、下記式(4)に示すように、K個の拠点SにおいてK個の異なる学習データDに対して、K個の拠点S内のk番目の拠点Sである拠点kにおける傾向スコアPS(k|x)を用いて表すことができる。下記式(4)では、K個の一般化傾向スコアを足すと、1となるように設計されている。
【0119】
【数4】
【0120】
図14に示した例では、サーバ100は、箱ひげ図1401、1402の重複範囲1412の大きさにより、学習データD1、D2の類似性を判断し、箱ひげ図1402、1403の重複範囲1423の大きさにより、学習データD2、D3の類似性を判断し、箱ひげ図1401、1403の重複範囲1313の大きさにより、学習データD1、D3の類似性を判断する。
【0121】
たとえば、サーバ100は、重複範囲1412がしきい値以上であれば、学習データD1、D2はデータ分布が類似すると判断する。類似すると判断された場合、サーバ100は、拠点S1,S2を同一クラスタに所属させる。他の重複範囲1423,1413についても同様に判断される。連合学習方法1と同様に、類似性の判断は重複範囲1412,1423、1413の大きさ以外にも、重複範囲1412,1423、1413に含まれるサンプル数などを用いて学習データD1~D3の類似性を判断してもよい。
【0122】
本実施例では、あらかじめ連合学習により生成した2クラスおよび3クラス分類識別器を用いて算出した傾向スコアを用いた。2クラスおよび3クラス分類識別器を連合学習で生成する際、各拠点Sは、予測モデルMを学習データDを用いて生成する。拠点Sは自分の学習データDのみを用いて予測モデルMを生成するため、予測モデルMは局所解に陥りやすい。サーバ100において、学習データDのみを予測可能な予測モデルMのモデルパラメータθに対して、統合処理を行うと、連合学習に参加した拠点Sが有する学習データDに対して発散する方向に統合予測モデルのモデルパラメータが変移する。つまり、低い予測精度の統合予測モデルを生成することとなる。
【0123】
これを回避するために、まず、最終的に生成する統合予測モデルの出力(たとえば、がんのステージ)として、サーバ100は、連合学習における統合予測モデル生成プロセスを実行する。ただし、更新回数は不十分な状態でもよい。続いて、生成した統合予測モデルの中間層のモデルパラメータθを不変とし、ベース予測モデルM0の出力を拠点Sの個数として、サーバ100は、クラス分類識別器を連合学習を用いて生成する。このような転移学習を基本とした連合学習を行うことで、各拠点Sの学習データDの特徴を抽出可能な中間層の出力を使用することが可能となり、各拠点Sにおいて予測モデルMを生成する際に1つの拠点Sの学習データDのみが含まれることにより局所解に陥ることを回避できる。
【0124】
このように、実施例2によれば、算出された一般化傾向スコアの分布を比較することで、拠点Sの学習データDの類似性を評価することが可能となる。
【実施例0125】
実施例3について説明する。実施例3は、実施例1および実施例2において、サーバ100および拠点Sの装置構成を共通化した例である。実施例3では、実施例1および実施例2との相違点を中心に説明するため、実施例1および実施例2との共通点については説明を省略する。
【0126】
図15は、サーバ100または拠点Sの少なくとも一方を担当する計算機1500の機能的構成例を示すブロック図である。サーバ100または拠点Sの少なくとも一方を担当する計算機1500は、受信部1501と、分布解析部302と、生成部303と、学習部402と、分布変換部403と、出力部1504と、を有する。受信部1501は、受信部301、401として機能する。出力部1504は、送信部1541と表示部342とを含む。送信部1541は、送信部341、404として機能する。
【0127】
計算機1500がサーバ100であっても、計算機1500内の学習データDを用いて、1拠点として連合学習に参加してもよい。また、たとえば、拠点S6~S8で行う連合学習では、拠点S6が統合学習モデル生成時においてサーバ100の役割を果たすとしてもよい。
【0128】
以上説明したように、学習データDがnon-iidデータであったとしても、拠点S外に出せない学習データDがnon-iidデータであるか否かを判別することなく、変換特徴量TF間の類似関係を用いて、各拠点Sで適切な予測モデルMの生成を実現可能にし、連合学習により、サーバ100は適切な統合予測モデルを生成することが可能になる。
【0129】
また、学習データDがnon-iidデータであるか否かの判別が不要であるため、サーバ100は、学習データDを拠点S外に出せないという要求を満たした統合予測モデルを拠点Sに提供することができる。
【0130】
また、学習データDがnon-iidデータであるか否かの判別が不要であるが、学習データDがiidデータであったとしても、non-iidデータの場合と同様に、サーバ100は適切な統合予測モデルを生成することが可能になる。
【0131】
また、上述した実施例1および実施例2にかかるサーバ100である分析装置は、下記(1)~(13)のように構成することもできる。
【0132】
(1)複数の拠点Sである学習装置と通信可能な分析装置は、前記複数の学習装置の各々の学習装置が有する学習データDに含まれる特徴量(教師データ)を所定のルールで変換した変換特徴量TFを受信する受信部301と、前記受信部301によって受信された前記学習装置ごとの前記変換特徴量TFに基づいて、前記複数の学習装置の複数の前記特徴量の分布を解析する分布解析部302と、前記分布解析部302によって解析された分布解析結果を出力する出力部304と、を有する。
【0133】
(2)上記(1)の分析装置において、前記出力部304は、前記分布解析結果として、前記学習装置間の前記特徴量の類似性に関する情報を出力する。
【0134】
(3)上記(1)の分析装置において、前記学習装置間の前記特徴量の類似性に関する情報は、前記複数の学習装置のうち2つの前記学習装置の組み合わせごとに、当該組み合わせ間の特徴量の類似性を示すマップ情報である。
【0135】
(4)上記(1)の分析装置において、前記学習装置間の前記特徴量の類似性に関する情報は、前記複数の学習装置間の前記特徴量の類似性を示すデンドログラム600である。
【0136】
(5)上記(1)の分析装置において、前記分布解析部302は、前記分布解析結果に基づいて、前記複数の学習装置の各々に適用する学習方法を、前記学習装置が有する前記学習データを用いて予測モデルMを生成する第1学習方法(ローカル学習方法)、他の学習装置との間(クラスタC3)で連合学習により1つの統合予測モデルM100を生成する連合学習方法(非個別化連合学習方法)、および、前記学習装置の前記特徴量と類似する他の学習装置との間で連合学習により統合した1以上の予測モデルを生成する第3学習方法(個別化連合学習方法)のうちいずれかの学習方法に決定し、前記出力部304は、前記複数の学習装置の各々の学習装置に、前記分布解析部302によって前記複数の学習装置の各々について決定された学習方法を送信する。
【0137】
(6)上記(5)の分析装置において、前記分布解析部302は、前記複数の学習装置の各々に適用する学習方法を、前記分布解析結果に基づいて、前記第1学習方法、前記第2学習方法、および前記第3学習方法のうちいずれかの学習方法に決定する。
【0138】
(7)上記(6)の分析装置において、前記分布解析部302は、前記複数の学習装置の各々に適用する学習方法を、前記複数の学習装置の前記変換特徴量TF間の距離に基づいて、前記第1学習方法、前記第2学習方法、および前記第3学習方法のうちいずれかの学習方法に決定する。
【0139】
(8)上記(6)の分析装置において、前記分布解析部302は、前記複数の学習装置の各々に適用する学習方法を、前記変換特徴量TFとしきい値とに基づいて、前記第1学習方法、前記第2学習方法、および前記第3学習方法のうちいずれかの学習方法に決定する。
【0140】
(9)上記(8)の分析装置において、前記分布解析部302は、前記複数の学習装置の各々に適用する学習方法を、前記変換特徴量TFとしきい値と制約条件とに基づいて、前記第1学習方法、前記第2学習方法、および前記第3学習方法のうちいずれかの学習方法に決定する。
【0141】
(10)上記(9)の分析装置において、前記制約条件は、前記特徴量が類似しあう前記学習装置の数である。
【0142】
(11)上記(9)の分析装置において、前記制約条件は、前記特徴量が類似しあう前記学習装置の集合の数である。
【0143】
(12)上記(1)の分析装置において、前記受信部301は、前記複数の学習装置の各々が有する前記学習データを学習させることで生成した前記学習装置を識別する識別器のモデルパラメータを受信し、前記分布解析部は、前記受信部によって受信された前記学習装置の識別器のモデルパラメータに基づいて、前記学習装置の識別器を統合して、統合識別器を生成し、前記送信部は、前記生成部によって生成された統合識別器のモデルパラメータを前記複数の学習装置の各々に送信し、前記受信部は、前記統合識別器による識別結果を前記複数の学習装置の各々から受信し、前記分布解析部302は、前記受信部301によって受信された前記学習装置の各々からの前記識別結果に基づいて、前記複数の学習装置の各々に適用する学習方法を、前記学習装置が有する前記学習データを用いて予測モデルMを生成する第1学習方法(ローカル学習方法)、前記学習装置の前記特徴量と類似する他の学習装置との間(クラスタC3)で連合学習により1つの統合予測モデルM100を生成する連合学習方法(非個別化連合学習方法)、および、前記学習装置の前記特徴量と類似する他の学習装置とからなる複数のグループの連合学習により統合した1以上の予測モデルを生成する第3学習方法(個別化連合学習方法)のうちいずれかの学習方法に決定し、前記出力部304は、前記複数の学習装置の各々の学習装置に、前記分布解析部302によって前記複数の学習装置の各々について決定された学習方法を送信する。
【0144】
(13)上記(5)の分析装置において、前記受信部301は、前記分布解析部302によって決定された学習方法に基づいて前記学習装置が生成した予測モデルMのモデルパラメータθを前記学習装置から受信し、前記受信部301によって受信された前記学習装置からの前記モデルパラメータに基づいて、予測モデルを生成する生成部303を有する。
【0145】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【0146】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、たとえば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【0147】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
【0148】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【0149】
100 サーバ
200 コンピュータ
301 受信部
302 分布解析部
303 生成部
304 出力部
313 分布変換部
341 送信部
342 表示部
401 受信部
402 学習部
403 分布変換部
404 送信部
500 ヒートマップ
600 デンドログラム
1500 計算機
1501 受信部
1504 出力部
1541 送信部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15