分散環境におけるFederated Learningを用いた統合AIモデル生成


SCSK株式会社 R&Dセンター AI技術部
齋藤 滉生 Kouki Saitou

IoTや自動運転、VRなどの分野で利用されているエッジコンピューティングでは、デバイス内で処理が行われるためセキュリティのリスクが高まります。エッジデバイスには気密性の高いデータが含まれることがあるため、ユーザーのプライバシーや企業の機密情報を保護するためのセキュリティ対策が求められています。
当社はこれまで、複数のエッジデバイスにデータが分散している場合にデータではなくモデルの重みをやりとりすることで分散された知識を統合しながら学習をするFederated Learningについて精度検証を行い、本稿にまとめました。

データ集約型AIモデル生成の課題とFederated Learningへの期待

世間のプライバシーへの関心の高まりにより、従来のディープラーニングの学習方法として一般的である、データを1か所に集約して学習を行う方法は大きなリスクを伴うようになりました。
この課題に対し『Federated Learning』は、データの代わりにモデルの重みをやりとりすることで分散された知識を活用するため、データ管理のリスクからモデル作成者を解放することが期待されています。
今回の検証は様々な条件のもとでFederated Learningの精度検証を行い、実用性と課題を明らかにすることを目的とします。

AIにおけるプライバシー保護への関心の高まり

EUのGDPR(一般データ保護規則)を始めとし、世界ではプライバシーへの関心が高まっています。GDPRに違反した場合、厳しい罰則があるだけではなく株価暴落の原因となるなど企業へ多大な影響を及ぼします。2018年に起きた有名なデータ漏洩事故であるFacebook-Cambridge Analytica data scandal(※1)ではFacebookの時価総額は約7兆円下落し、株主である一般市民のプライバシーに対する関心の高さを表すには十分な値でした。またGDPRは海外に拠点を持っていない場合であってもEU圏内のユーザーがアクセスするWebサイトなどにも適用されるため、多くの日本企業にも影響を与えています。

日本においては内閣府が「人間中心のAI社会原則」(※2)を公開しています。その中のプライバシー確保の原則には「パーソナルデータは、その重要性・要配慮性に応じて適切な保護がなされなければならない。」と記されており、AIにおけるプライバシー保護について注意喚起がなされています。

※1 Wikipedia 「Facebook-Cambridge Analytica data scandal」 https://en.wikipedia.org/wiki/Facebook%E2%80%93Cambridge_Analytica_data_scandal
※2 内閣府 「人間中心のAI社会原則」 https://www8.cao.go.jp/cstp/aigensoku.pdf 2019年3月29日

データ集約型のAI学習方法が持つプライバシーリスク

それぞれのデータ提供者からデータを収集し1つのサーバに集約した統合データを元に学習を行い学習モデルを作成することを表した図図1. データ集約型の概要図ディープラーニングでは、一般的に膨大な量の学習データを必要としますが、多くの場合学習データはスマートフォンやエッジ端末、各営業所、各企業など、少量ずつ孤立した形で存在しています。この場合、従来は図1のように学習を行うためのサーバに学習データを集約して学習を行っていたため、モデル作成者は膨大な量のデータを管理する必要がありました。

このデータがプライバシーに関わる機微なデータである場合に非常に大きな漏洩リスクとなります。また機微なデータであるためデータをモデル作成者に送付することができない場合もあります。そのような場合、上記の仕組みでAIを活用することはできません。

AIのFederated Learning(連合学習)とは何か

Federated Learningの概要

各個人のスマートフォンで学習した重みを各スマートフォンに適応するGoogle社の「Android端末でキーボードの予測変換をするAI」の仕組みを表した図図2. Federated Learning概要図(※3)前述の通り、Federated Learningでは学習データの代わりに個々の環境で学習したモデルの重みを集約します。
Google社の「Android端末でキーボードの予測変換をするAI」を例にFederated Learningを解説します。

※3 Andrew Hard, Kanishka Rao, Rajiv Mathews, Swaroop Ramaswamy, Franc¸oise Beaufays, Sean Augenstein, Hubert Eichner, Chloe Kiddon, Daniel Ramage, “FEDERATED LEARNING FOR MOBILE KEYBOARD PREDICTION”, https://arxiv.org/pdf/1811.03604.pdf 2018年11月8日

Google社「Android端末でキーボードの予測変換をするAI」の仕組み

  1. 個々のスマートフォンで提案した予測変換が選択されたか(正解だったか)、選択されなかったか(不正解だったか)を記録し、それを元に小規模な学習を行う
  2. 複数のスマートフォンのモデルの重みを集約
  3. Bの重み情報を元に共有モデルを更新し、個々のスマートフォンへと配布する

Federated Learningでは、以上のA~Cを繰り返し行うことで1つの高精度な共有モデルを作成します。これにより機微なデータを個々のスマートフォンから外部へ送信する必要がなくなり、プライバシーを保護したままデータ集約型と同等精度のモデルを作成することができます。
この例ではFederated Learningの端末はスマートフォンですが、他にも監視カメラなどのエッジ端末間、銀行や病院などの企業間など、様々なシーンを想定することができます。

Federated Learningの利用イメージ

Federated Learningの利用イメージとして、大きく2つのケースを紹介します。

学習データの統合

Googleの例と同様に複数の端末に学習データが少量ずつしか存在していない場合、Federated Learningを適用することで集約型学習と同じ効果を得られます。これを水平Federated Learning(※4)と呼びます。

画像が、ラベルの偏りなく全ての端末に存在しているが、個々の端末では十分な学習データが確保できない場合を表した図図3. 学習データの統合 同種データ分散図3のように、1~9の画像がラベルの偏りなく全ての端末に存在していますが、個々の端末では十分な学習データが確保できない場合、Federated Learningを用いることで全データで学習したモデルと同等精度の共有モデルを作成できます。このようにデータが分散している場合を「同種のデータが分散している」と呼びます。

また端末ごとにラベルの偏りがある場合でも、Federated Learningを用いて全体の知識を利用することで1つの汎用的な共有モデルを作成することも可能です。

各端末に同じ形式ですが異なる数字の画像しか存在していない場合を表した図図4. 学習データの統合 異種データ分散図4のように、各端末に同じ形式ですが異なる数字の画像しか存在していない場合、全ての数字の画像を扱うことができる共有モデルを作成できます。このようにデータが分散している場合を「異種のデータが分散している」と呼びます。

※4 QIANG YANG, YANG LIU, TIANJIAN CHEN, YONGXIN TONG, “Federated Machine Learning: Concept and Applications”, https://arxiv.org/pdf/1902.04885.pdf 2019年2月13日

特徴の統合

複数の端末で同じユーザーに対する異なる特徴のデータが存在している場合でもFederated Learningを適用することができます。これは垂直Federated Learning(※4)と呼ばれます。

銀行の預金情報など他企業と連携した、より高精度なユーザの購入予測器を表した図図5. 特徴の統合ECサイトでユーザーの購入予測をするモデルを例にすると、従来は購買履歴などECサイトで取得できるデータをもとに購入予測を行っていました。それに対しFederated Learningでは、図5のように銀行の預金情報など他企業と連携してより高精度なユーザーの購入予測が可能となります。

今回の検証は、水平Federated Learningを対象にしています。

Federated Learningにおける課題

Federated Learningが成立する前提として、個々の端末で正しいデータで学習が行われる必要があります。しかし学習データは個々の端末内にしか存在しないためデータの正しさを検証することは困難です。そのため誤った正解ラベルで学習を行ったモデルが存在する場合、その間違った情報を共有モデルに取り込む恐れがあるという大きな課題が存在します。

またデータ集約型と比較すると端末の処理増加や通信回数増加など違いがあるため、消費電力や通信量に関しても考慮が必要な場合もあります。

Federated Learningの検証結果

今回は3つの方法を比較しました。1つ目は、『水平Federated Learning』。2つ目は、個々の環境で作成した学習済みモデルの重みの平均を取って共有モデルとした『重みの統合』。3つ目は、個々の環境で作成した学習済みモデルの結果で重み付き多数決を取る『アンサンブル』です。

データの分散パターンは「学習データの統合」で記述した「同種のデータが分散している場合」と「異種のデータが分散している場合」の2つを想定し、それぞれのケースにおいてデータ総量を一定にして分散させる数(ノード数)を変化させることで、個々の端末のデータ量の変化による全体の精度変化を確認しました。
またベースラインの精度として、従来のデータを1か所に集約して学習したモデルの精度『データ集約時』と、個々の端末でモデルを作成して個々のモデルのテストデータに対する平均精度『個々のモデルの平均』の2つを設定しました。

また、Federated Learningの課題である誤データが共有モデルへどの程度の悪影響を及ぼすかを確認するため、誤データ率に対する精度を確認しました。(ここでいう「誤データ」とは、誤ったラベルが付与されたデータのことを指します。)

同種のデータが分散している場合

ノード数が10, 50, 100の場合で精度を確認しました。
データの種類やノード数に関わらず、Federated Learningはデータ集約時の精度からの劣化はごくわずかでした。それに対し重みの統合とアンサンブルはノード数が増え、個々のモデルの平均精度が下がるにつれ全体の精度も低下しました。
CIFAR10での検証においては、重みの統合は個々のモデルの平均精度よりも低くなりました。

同種データ分散(MNIST)の検証結果グラフ図6. 同種データ分散 MNIST
※注意※ このグラフのみ、縦軸の精度の下限が90

同種データ分散(CIFAR10)の検証結果グラフ図7. 同種データ分散 CIFAR10

異種のデータが分散している場合

MNISTもCIFAR10も正解ラベル数が10個しかないため、ノード数が3, 5の場合で精度を確認しました。
同種のデータが分散している場合と同じく、Federated Learningはデータ集約時よりわずかに精度が劣化しました。重みの統合については、MNISTの場合は個々のモデルの平均精度から向上しましたが、CIFAR10においては個々のモデルの平均精度と同等でした。アンサンブルは、MNISTの場合でもCIFAR10の場合でも個々のモデルの平均精度と同等でした。

異種データ分散(MNIST)の検証結果グラフ図8. 異種データ分散 MNIST

異種データ分散(CIFAR10)の検証結果グラフ図9. 異種データ分散 CIFAR10

誤データが含まれている場合

データの誤り方のパターンとして2つのケースを比較しました。1つ目は、全ノードで誤り方が同じ場合。2つ目は、各ノードで誤り方が異なる場合。例えばラベル1に誤ったラベルをつけるとき、前者の場合はどのノードでもラベル2を付与し、後者の場合はノードごとにラベル2やラベル3など異なるラベルを付与されます。また今回は誤作業による誤ラベル付与ではなく、悪意を持った攻撃者がわざと誤ったラベルつけて学習させることを想定し、各ノードは全て正しいラベルで学習しているか、全て誤ったラベルで学習しているかの2つにします。

今回は全学習データにおける誤データの割合が1割、2割、5割、8割の場合で精度を確認しました。本稿ではこの数値を学習データの誤り率と称します。

どの場合でも、全ノードで誤り方が同じ場合に比べて各ノードで誤り方が異なる場合の方が精度劣化は少なかったです。また学習データの誤り率が増えるとその差は大きく開きました。

学習データの誤り率と精度の関係(CIAR10 ノード数10)を表すグラフ図10. 学習データの誤り率と精度の関係

考察・結論

ノード数が増えるにつれて精度が低下したことから、学習済みモデルの知識を活用する重みの統合とアンサンブルでは、個々の学習済みモデルがある程度正しい学習がされている必要があると判断できます。そのため、個々の環境のデータが非常に少ない場合や異種のデータが分散している場合では全体精度は向上しづらいです。それに対しFederated Learningは各ノードとやりとりをしながら学習を進めていくため、データの分散パターンには精度が左右されず、安定してデータ集約時と同等の精度が出ました。ただし今回は比較項目として設定していませんでしたが、Federated Learningは学習時間が長くなるなどのデメリットもあります。そのため時間をかけても精度が良いものを作りたい場合や、個々の環境ではまともに学習するだけのデータが集まらない場合においてのみ、Federated Learning活用を検討するとよいでしょう。

また誤データが与える影響については、同じ誤り方のデータが多いほど全体への影響が大きくなることが分かりました。仮に悪意のある攻撃者がいたとしても複数のノードをまたがって攻撃することはできないため、全体の誤り率は同じであってもノード数を増やすことで精度劣化を抑制することができると予測します。またより精度劣化を防ぐ方法として共有モデルを複数作成するなどの方法もありますが「学習時間が長くなる」「通信量が増える」などのデメリットがあるため、課題に合わせて適用するか判断する必要があります。

今回Federated Learningは精度の面ではデータ集約時と変わらない精度が出ると分かりました。しかし現段階では学習速度や通信量など様々な課題をクリアしていく必要があり、利用シーンに合わせた細かな工夫を加える必要があります。そのためどんな場合でもFederated Learningを使うことが最良の選択であるとはいえません。また個々の環境で学習ができない場合はFederated Learningの仕組みを適用することができないため、データ管理のリスクを負ってデータを1か所に集めるという選択をすべきケースもあります。

結論としてFederated Learningはどんな時でも使える技術とはいえませんが、その登場により今まで当たり前であった「1か所に集めたデータで学習する」ことが必須でなくなりました。その結果AIの活用の幅が広がったことは明らかであり、今後も動向を注視していく必要があります。

Right Menu Icon