PR

 「連合学習」は、学習用データを1つの拠点やサーバーに集約することなく機械学習モデルを開発する手法。2017年に米Google(グーグル)が提唱した。個人情報に関わるデータや機密性の高いデータなど外部と共有できないデータを扱うモデルを、プライバシーを確保しながら開発する際に有用だ。

[画像のクリックで拡大表示]

 機械学習によってモデルを開発するには、大量のデータを使ってモデルをトレーニングする必要がある。多くの場合は、複数のサーバーや拠点などに分かれているデータを1カ所にまとめてデータセットを作成し、モデルの開発に使う。

 一方で連合学習は、トレーニングや評価などに使うデータはやり取りせず、トレーニングによって得られたモデルの変更点のみをやり取りする点が特徴だ。複数の病院が個別に保有する臨床データ、消費者のパソコンやスマートフォン内のデータなど、一定の形式のデータが多数の場所に散在する環境でモデル開発する場合に向く。

 連合学習を活用してモデルを開発するシステムは、大きくセンター側の統合環境とデータを保有するクライアント側に分けられる。統合環境は1つだが、クライアント側は複数の拠点やサーバー、デバイスなどからなる。クライアントを構成する拠点やサーバー、構成ノードの数などがトレーニングの途中で変わっても問題ない。

 連合学習の流れは次の通りだ。まず統合環境でモデルの中身である関数のフォーマットを作成し、データを持つクライアントに配布する。クライアントはそれぞれの環境で参照できるデータのみを使ってモデルをトレーニングして関数のパラメーターを計算し、変更内容だけを統合環境に送り返す。

 統合環境はそれぞれのクライアントから結果を受け取り、得られた変更を平均化してモデルに反映する。その後できあがったモデルを再度クライアントに配布してトレーニングし、統合環境に戻す。この作業を繰り返すことで、モデルを徐々にアップデートしていく。