見出し画像

Federated Learning (連合学習):エッジコンピューティングを支え、またブロックチェーンとシナジーする、分散型機械学習

本記事は、機械学習の応用の一つであり、プライバシーを守るトラステッドなIoTエッジコンピューティングを支える、「Federated Learning(連合学習)」に関する記事です。

今までのAI やIoTに関する記事の一覧は以下をご覧ください。


5Gからエッジコンピューティング

来たる 5G において、そのポテンシャルを活かす本命は、ローカル5G と言われ、現実的なシステム・アーキテクチャについては、クラウド時代における最適化された次の構成たるエッジコンピューティングが提唱されています。ここにおいて、AIの応用としての エッジAIに関心が集まり、Federated Learning(連合学習) という機械学習の発展的手法が重要な鍵を握る技術として登場してきます。

Federated Learning(連合学習)

Federated Learning(連合学習)は、個々のデバイスやサーバのデータを共有することなく、それらデバイスやサーバにまたがってモデルを学習していく機械学習の手法です。通常の機械学習はデータを一箇所に集め、整理し、そこからトレーニングデータを作って学習していくことを行います。つまりは、データの観点から見ると中央集権的なアプローチと言えます。それに対して、連合学習は、データを共有しないという性質から、データプライバシー、データセキュリティ、データアクセス権、異種データの活用等、企業や社会が考慮すべき重要な問題に対処しつつ、機械学習・深層学習の恩恵をもたらすことができます。その応用分野は、個々人のプライバシーの担保から、個々の企業の手の内(データ)を隠した上での業界共通の学習モデルのトレーニング、社会基盤としてそのようなデータ保護が求められる金融、医療、製薬業界、軍事・防衛等、多くに広がっています。


連合学習の概要

連合学習は、データを明示的に交換することなく、共通のデータだけでなく、ローカルノード(ローカルデバイスやローカルサーバ)におけるデータを用いた機械学習モデルの差分トレーニングを可能にします。

一般的な実装としては、まずクラウド上で共通のトレーニングデータに基づき、共通の学習モデルを構築します。その後、学習済みモデルは各ノードに配布され、推論を行います。例えば、スマホやタブレット、AIスピーカー等のデバイス上で、音声認識を行ったり、画像認識、顔認証を行ったり、機械翻訳を行ったりします。その後、個々のデバイスでの利用状況やデータに応じて学習を行いたい(例えば、顔認証ではスマホの利用者の顔データを学習したい)わけですが、その際に、デバイス内での学習を行いつつ、クラウドには、差分のパラメーター(ディープニューラルネットワークの重みやバイアス等)や変更点の情報のみを送信します。送信情報は他のデバイスから送信された更新とともに平均化され、クラウド上の共有モデルが改善されます。個々のトレーニングデータ(顔認証ではユーザーの顔データ)は個々のデバイス内に留まるので、例えば個人のプライバシーを担保することが可能になります。


エッジコンピューティングを支える技術

連合学習は、プライバシーやデータ保護のみならず、デバイスに応じてカスタマイズを可能にし、またそれにより全体もアップグレードするよりスマートなモデル、高いレスポンス(低レイテンシ)、低消費電力をも実現します。上記の例では個々のデバイスはローカルで学習するので、学習結果をすぐにユーザーは利用することができます。いわゆるエッジコンピューティングを支える技術とも言えます。


Federated Averaging

やや技術的な解説になりますが、いわゆる深層学習におけるトレーニングにおいては、SGD (Stochastic Gradient Descent:確率的勾配降下法。関数の最小値を探索するアルゴリズムの一つ)のような最適化アルゴリズムを大量のデータセットに対して行います。これは何度も繰り返される反復アルゴリズムであり、それゆえ、大量の計算を実行できる、ストレージとGPUを含んだクラウドシステムが必要とされます。それに対して連合学習では、通信量をおさえるために、Federated Averaging という手法を用います。

Federated Averaging は、ローカルノードがローカルのデータに対して学習を行った後、学習結果としての勾配の情報ではなく更新されたパラメーターの重みを交換して、共通モデルの学習を可能にします。これは、すべてのローカルノードが同じ初期モデルの初期値から学習を開始する場合、勾配を平均化することと、パラメーターの重みを平均化することは等価であるということを利用しています。これにより、分散された状態でのSGDアルゴリズムの実行よりも全体として10~100分の1の通信量での学習を達成することになり、連合学習が実現されることになります。


完全分散型連合学習とブロックチェーン

ここまでの説明は、初期モデルとして、中央のクラウドによる共通モデルの構築をおいた連合学習の仕組みでしたが、完全な分散型(P2P型)を志向した連合学習もありえます。完全な分散型の連合学習では、各ノードが協調することで、ノード共通のモデルを獲得します。他のP2P型システムと同じように「中央」を持たなくなるので、SPOF(単一障害点)がなくなり、障害に対して強靭なシステムになります。ですが、学習モデルの伝播に関してはネットワーク・トポロジーに依存することになるという点はあります。

完全分散型連合学習は、その構成上、ブロックチェーンとの相性が極めてよい可能性があります。共通モデルのバージョン管理をブロックチェーンによって改竄不能な形で行う等です。以前、ブロックチェーンとAI の相互補完に関して述べましたが、これらに加えて、ブロックチェーンとAIの現実的なシナジーと言えます。


事例、応用

連合学習は、Google Blog の2017年の記事により、広く注目を集める手法となりました。以下の記事では、Googleキーボードでの活用について解説されています。

個々のユーザーはキーボードでどのような文字を入力したかというデータそのものは、共有したくありません。でも、文字入力は改善してほしいと思っています。そこで、Federated Learningを用いることで、ユーザーが文字入力のデータを共有せずとも、AIによる文字入力の精度向上の恩恵を受けることができます。


また、最近では、高いセキュリティを実現しながらも機械学習のベネフィットを享受するというところから、金融や医療での応用研究が進められています。例えば、中国のネット銀行、微衆銀行(ウィーバンク)は、テンセントと連携して連合学習の研究を進めています。顧客のデータをローカルなエッジサーバーで更新できるため、情報漏洩のリスクを抑えることを目的としています。

連合学習はエッジコンピューティングを支える技術と前述しましたが、加えて、連合学習は今後の第四次産業革命への進化の道を開く可能性があります。

第四次産業革命は、名付け親である世界経済フォーラムの創設者兼会長の Klaus Schwab 教授によって、Physical, Digital, Biological の境界をまたがり超越する技術革命と定義されています。その最大の課題は生体情報の取得活用によってさらに危機にさらされるプライバシーです。AI技術の進展によりデータ活用の便益は高まり続けます。いかにプライバシーを守りつつ、技術発展の恩恵を得るか。連合学習はそのための核たる技術になるかもしれません。


以上、Federated Learning (連合学習)を紹介しました。

このように、分散した多数の端末における学習を、情報保護を担保しながら全体のモデルにも反映させていく「Federated Learning(連合学習)」の手法は、今後の大量のデバイスがあふれる IoT時代の進展、ひいては第四次産業革命への進化を大きく後押ししていくものであり、エッジコンピューティングを構成する主要なコンポーネントの一つになるでしょう。今後、その展開を注目すべき技術と言えます。

この記事が気に入ったらサポートをしてみませんか?