KYOTO UNIVERSITY

連合学習(Federated Learning)
鹿島久嗣
京都大学

DEPARTMENT OF INTELLIGENCE SCIENCEAND TECHNOLOGY

1KYOTO UNIVERSITY

目次:連合学習 連合学習とは何か:– 連合学習の問題設定– 連合学習で何ができるか– 連合学習の歴史
 教師付き学習の復習:最適化フレームワークと勾配法による学
習 連合学習の方法:– 連合学習の問題設定– 連合学習の解法
2

KYOTO UNIVERSITY

連合学習とは何か

3

KYOTO UNIVERSITY

連合学習とはなにか:
連合学習は分散機械学習のアプローチ
 連合学習は:– 大きな計算能力・記憶能力をもつ1台のサーバと– データ収集能力とそこそこの計算資源をもつ多数のクライアントが– 狭い帯域の回線を使って通信しながら協力して効率的に学習をする枠組み
 クライアントは、センサと計算能力をもったモバイルデバイスをイメージ

超多い4

KYOTO UNIVERSITY

連合学習には何ができるか:できるモデルは通常の（分散しない）機械学習と同じ
 最終的な成果物は通常の機械学習と同じだと思ってよい 全てのデータを一箇所（サーバ）に集めて機械学習モデルを学習するのと、同じことができる– ただし、さらにこれを各クライアントに個別適応したモデルを各クライアントにおいて作ることも可能
 各クライアントで収集されたデータは、クライアントを出ない– 低通信負荷で学習を実現できる

5

KYOTO UNIVERSITY

連合学習の歴史:
本質的には10年前の技術の深層学習版
 分散環境での機械学習（2000年代前半～）:– Google, Microsoft, Yahoo!などの企業を中心に研究がすすむ– 大規模なユーザデータを対象として、現実的な時間内で、大規模学習と個別化を行うという実用的な要請から発展– 応用:Gmailの優先トレイへの振り分けなど
 連合学習（2015～）:– 上記の深層学習版として再登場– 応用:Gboard（キーボード）の予測入力– ほか、ヘルスケア応用など
6

KYOTO UNIVERSITY

教師付き学習の復習

7

KYOTO UNIVERSITY

教師付き学習:
入出力関係を再現する予測モデルをデータから推定
 教師付き学習の予測モデル:入出力の関係– 入力は 次元実数値ベクトル、出力 は1次元

• 例:２値分類問題では
 教師付き学習:入出力ペアが与えられて、これから:–顧客の行動履歴8を推定個の入出力ペアある商品を買うか?

KYOTO UNIVERSITY

教師付き学習のモデル:
モデルパラメータによって決定される入出力関係
 予測モデル（入出力の関係）
いろいろの具体的な形は用途に合わせ– 線形モデル:
パラメータ と入力 の線形関数で出力が決まる– ニューラルネットワーク:
線形関数＋非線形変換を積み上げて表現力を上げたモデル
パラメータ と入力 の関係が非線形
 モデルの詳細はともかく、パラメータ が決まればモデル が決まる
9

KYOTO UNIVERSITY

教師付き学習の定式化の基本:
損失関数（と正則化項）の最小化
 学習問題を最適化問題として定式化:
 モデルとデータの乖離度を損失関数として測る–損失関数

は 番目のデータに対する乖離度• 例えば、損失関数を2乗誤差にすると:
 訓練データ全体に対する損失関数の平均を目的関数として最小化するパラメータ を求める
※しばしば、訓練データへの過剰な適合を防ぐための正則化項を入れるが、今回は省略する
10

KYOTO UNIVERSITY

教師付き学習の解法:
勾配法による最適化 パラメータの最適化は勾配法によって行われる:–各データ に対するパラメータの勾配
メータ更新可能が計算できればパラ 確率的勾配法:–データひとつで勾配を近似
11KYOTO UNIVERSITY

連合学習の方法

12

KYOTO UNIVERSITY

連合学習の問題設定:
データが分散している状況で、データを移さずに学習したい データが（簡単のため）２つに分割されている状況で学習する 前半の 個をクライアント が、後半の 個をクライアント が担当

クライアントクライアント

 ルール:データはクライアントから出せない
13

KYOTO UNIVERSITY

勾配法の適用:
各クライアントで分散計算可能
 全体の勾配は、それぞれのクライアントの持つデータの勾配を足して計算できるクライアント の勾配
クライアント の勾配
 ルール:データをクライアントから出さなくても勾配計算できる
14

KYOTO UNIVERSITY

勾配法の適用における問題点:
更新のたびに集めるのはコストが高い 全体モデルのパラメータ更新式:

 パラメータ更新のたびにクライアントから勾配を集めるのはコストが高い
 各クライアントで学習し終わってから集めて平均をとればよい?
→ これは、全体モデルの最適解ではない…

15

KYOTO UNIVERSITY

連合学習のアプローチ:
サーバとクライアントがモデルをやり取りしながら学習を進める
 基本戦略:各クライアントで別々に学習を進め、時々持ち寄って同期をとる
 学習は以下のステップを繰り返すことで行われる:
1. サーバは、現在のモデルパラメータをクライアントに配る
2. 各クライアントは、自身のデータでモデルを更新する
3. 各クライアントは、モデルの更新差分をサーバに送信する
4. サーバは、集まった差分を、データ量で重みつき平均をとり、全体モデルを更新する
5. ステップ1にもどる
16

KYOTO UNIVERSITY

連合学習のアプローチ（ステップ１）:
サーバは、現在のモデルパラメータをクライアントに配る
現在のモデルパラメータ

サーバ
各クライアントに配るクライアント17

クライアントKYOTO UNIVERSITY

連合学習のアプローチ（ステップ２）:
各クライアントは、自身のデータでモデルを更新する

サーバ

クライアント18

クライアント

各クライアントでモデル更新

KYOTO UNIVERSITY

連合学習のアプローチ（ステップ３）:
各クライアントは、モデルの更新差分をサーバに送信する

サーバ
差分をサーバに集めるଵクライアント19ଶ

クライアントKYOTO UNIVERSITY

連合学習のアプローチ（ステップ４）:
サーバは、集まった差分で、全体モデルを更新する
全体モデルの更新

サーバ

クライアントクライアント⇒ ステップ1にもどる
20

KYOTO UNIVERSITY

連合学習のポイント:
サーバとクライアントはデータを送信しない 学習は以下のステップを繰り返すことで行われる:
1. サーバは、現在のモデルパラメータをクライアントに配る
2. 各クライアントは、自身のデータでモデルを更新する
3. 各クライアントは、モデルの更新差分をサーバに送信する
4. サーバは、集まった差分を、データ量で重みつき平均をとり、全体モデルを更新する
 いずれのステップにおいてもモデルパラメータが送信される–データサイズ モデルパラメータ なので通信料がはるかに小さい–データを送信しないので、プライバシーが守られやすい
21

KYOTO UNIVERSITY

まとめ

22

KYOTO UNIVERSITY

結局、連合学習には何ができるか:
分散環境で集まるデータから、低通信コストで学習連合学習が想定される状況:– データ収集が各モバイルデバイスレベルで分散して行われる状況•もともとのデータはエッジ側にある– 全部サーバにデータを集めて学習をすると通信料が大きすぎる
プライバシの問題は副次的か– スマホのようなエッジでの学習がある程度可能な状況••


エッジの計算能力も活用したい

できること:– 全データをサーバに集めることなく、集めた場合と同じモデルを、低通信コストで作ることができる– 各クライアントに個別適応したモデルも得られる

23

KYOTO UNIVERSITY

まとめ:
連合学習
 連合学習とは何か:– 連合学習の問題設定:分散データ収集環境での分散学習– 連合学習で何ができるか:低通信コストでの学習– 連合学習の歴史:かつての分散学習の深層学習バージョン
 教師付き学習の復習:最適化フレームワークと勾配法による学習
 連合学習の方法:– 連合学習の問題設定:勾配法の分散適用– 連合学習の解法:勾配の分散計算と同期
24

KYOTO UNIVERSITY