Federated Analytics:データを一か所に収集せずにデータ分析を行う(1/2)

入門/解説

1.Federated Analytics:データを一か所に収集せずにデータ分析を行う(1/2)まとめ

・Federated learningはスマートフォン上のデータをプライバシーを考慮しながら機械学習で利用する仕組み
・Federated Analyticsはこの仕組みを学習だけではなく分析でも利用できるように拡張する仕組み
・PixelスマートフォンのNow Playingの実績では全体的な曲の認識精度を5%増加させる事ができた

2.Federated Analyticsとは?

以下、ai.googleblog.comより「Federated Analytics: Collaborative Data Science without Data Collection」の意訳です。元記事の投稿は2020年5月27日、Daniel RamageさんとStefano Mazzocchiさんによる投稿です。

機械学習と一言で言っても分野が広いので、アルゴリズム関係を主に対象にしている方にとってはFederated learningって単語はあまり馴染がないかなと思うのですが、システム構成的な観点からは実はそこそこ有名な単語です。

端的に言うと、個々のスマートフォン上に格納されているデータをプライバシーを考慮しながら機械学習で利用出来るようにする仕組みであり、今回のFederated Analyticsはこの仕組みを学習だけではなく分析でも利用できるように拡張するお話です。

Federalと聞くと、有名どころはFederal Bureau of Investigation、すなわちFBI(連邦捜査局)かなと思ったので、アイキャッチ画像はもうちょっと良い構図はなかったのかと思いつつも、Washington DcのFBI BuildingでクレジットはPhoto by Jack Young on Unsplash。FBIがスマートフォンを押収して捜査しようとしたけれども、Federated learningだったので特定が出来なかった!と連想するときっと覚えられます。

2017年に紹介されたFederated learning(統合学習)により、開発者はデータを一か所に集めなくとも、個々のデバイス上に存在するデータを使って機械学習(ML)モデルをトレーニングできます。

例えば、ユーザーの履歴データはユーザ自身のスマートフォン内にのみ存在する事を約束しつつ、Gboard for Androidで次の単語や表現を提案したり、Androidメッセージのスマートリプライの品質を向上させるなどのユーザ体験を強化するためにデータを使って学習する事が出来ます。

本日、ユーザーのデバイス内に保存されている生のデータをデータサイエンスの分析対象として分析する方法であるFederated analytics(統合分析)を紹介します。

Federated learningと同様に、各デバイスのデータに対してデバイス内で計算を実行し、各デバイスから収集した計算結果を集約し、集約したデータのみを生成します。これにより、データに直接触れるエンジニアであっても、どのデバイスから収集したデータであるのかわからないようにする事ができます。

ただし、Federated learningとは異なり、Federated Analyticsは基本的なデータサイエンスのニーズをサポートすることを目的としています。

本投稿では、Federated learningの追求する中で開発されたFederated Analyticsの基本的な方法論、それらの洞察を新しい領域にどのように拡張したか、および連携テクノロジーの最近の進歩により、データサイエンスの幅広いニーズに対応して精度とプライバシーを向上させる方法について説明します。

Federated Analyticsの起源
Federated Analyticsが最初に必要になったのは、Federated learningを支援するためでした。データセンターでデータが利用できない場合、エンジニアはどのようにして Federated learningによって開発されたモデルの品質を測定すれば良いのでしょうか?

この答えは、Federated learningの学習に関わらないインフラ部分を再利用することでした。

Federated learningでは、モデル定義に、最適化した損失関数だけでなく、モデルの予測品質を測定するコードも含めることができます。このコードを使用すると、スマートフォンのデータのモデル品質を直接評価できます。

例として、Gboardのエンジニアは、ユーザーのスマートフォンに保持されている生のタイピングデータを使って「次に入力される単語を予測するモデル」の全体的な品質を測定しました。

試験に参加しているスマートフォンがテストモデルをダウンロードし、モデルの予測が実際に入力された単語とどの程度一致するかについての指標を端末内で計算し、指標をそのままアップロードしました。モデルの重みを調整したり、Gboardの入力の仕組みを変更する事なしに、これが実現できるのです。

多くのスマートフォンがアップロードした指標を平均化することにより、エンジニアは集団レベルでモデルのパフォーマンスの概要を知る事ができました。この手法は、データセットサイズなどの基本的な統計情報を推定するためにも簡単に拡張できます。

楽曲認識の性能をFederated Analyticsで測定
モデルの評価に加えて、Federated Analyticsは、GoogleのPixelスマートフォンの「Now Playing」機能をサポートするために使用されます。Now Playingは、あなたの周辺で再生されている音楽の曲名を特定するツールです。

訳注:Now Playingは、Pixel 2で提供されていたアプリです。現在はほぼ同等の機能であるSound SearchをAndroid端末のGoogle Assistantを立ち上げて「この曲は何?」と聞く事で利用できます。

内部的には、Now Playingはスマートフォン上に保存した楽曲データベースを使用して識別を行っています。楽曲そのものではなく、楽曲の特徴を指紋のように記録したデータベースです。この仕組みにより、スマートフォンがネットワークに接続していなくとも、近くで再生されている音楽を識別する事ができます。

この構成はプライバシーを守りとユーザーの利便性を高めています。オフラインで高速に動作し、未加工の楽曲データや処理された楽曲データがスマートフォンから送信される事はありません。データベースは地域毎に異なるものが使われますが、地域内の各スマートフォンは同じデータベースを使用し、データベースに格納されている曲のみが識別対象となるため、データベースが適切な曲を保持している事が重要です。

各地域のデータベースの品質を測定して改善するために、エンジニアは基本的な質問に答える必要がありました。

「どの曲が最もよく認識を求められますか?」

Federated Analyticsは、どのスマートフォンでどの曲が聞こえていたのかを明らかにせずとも答えを提供できます。この仕組みは、スマートフォン関連の使用法および診断情報をGoogleに送信することに同意したユーザーに対して有効です。

「Now Playing」は曲を認識すると、曲名をスマートフォン上のNow Playing履歴に記録します。ユーザーは最近認識された曲を確認して、音楽アプリの再生リストに追加する事ができます。

その後、スマートフォンが電源とWiFiに接続された状態で使用されていない時、Googleのfederated learningサーバーやfederated analytics サーバーは、他の数百のスマートフォンとともに、そのスマートフォンを統合分析計算処理に参加するように招待する場合があります。

処理に参加した各スマートフォンは、Now Playing履歴中の楽曲の認識率を計算し、安全が確保された集約手順を使用して結果を暗号化します。暗号化された認識率は、個々のスマートフォンからfederated analyticsサーバーに送信されます。

federated analyticsサーバーは個々の暗号化データを個別に復号化する解除キーを持っていませんが、処理に参加している多数のスマートフォンから送信された暗号化データを組み合わせる事によって、最終的に全ての楽曲の最終的な集計情報(それ以外の情報は一切含まれません)を復号化できます。

その結果、Googleのエンジニアは、どのスマートフォンで聴かれた曲か明らかでなくとも、(例えば、データベースに本当に人気のある曲が含まれているか否かを確認することによって)楽曲データベースを改善できます。

これにより、世界中の全てのPixelスマートフォンでおこなった、最初の改善反復処理で、全体的な曲の認識精度が5%増加しました。

3.Federated Analytics:データを一か所に収集せずにデータ分析を行う(1/2)関連リンク

1)ai.googleblog.com
Federated Analytics: Collaborative Data Science without Data Collection

2)arxiv.org
Now Playing: Continuous low-power music recognition
Towards Federated Learning at Scale: System Design
Advances and Open Problems in Federated Learning
Federated Heavy Hitters Discovery with Differential Privacy

3)federated.withgoogle.com
Federated Learning

コメント

タイトルとURLをコピーしました