IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

グーグルのクラウドを支えるテクノロジー

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第69回 Federated Learning:モバイルデバイスを用いた分散学習技術(パート3) (中井悦司) 2019年10月

はじめに

 前回に引き続き、2019年に公開された論文「Applied Federated Learning: Improving Google Keyboard Query Suggestions」を元にして、モバイルデバイスを用いた分散学習技術である「Federated Learning」の適用事例を紹介します。今回は、実際の学習状況や予測精度を示すデータについて説明します。

学習に使用するデバイスの選択

 Federated Learningの処理の流れについては、第67回(パート1)の記事で簡単に説明しました。学習ジョブを管理するサーバーは、一定の条件を満たすデバイスに学習処理を依頼した後に、それぞれの学習結果をサーバー側で集約します。学習に使用するデータはそれぞれのデバイス上で収集されたものですので、学習処理を依頼するデバイスの選択は、当然ながら、学習結果に影響を及ぼします。冒頭の論文には、次のようなデバイスの選択条件が示されています。

・WiFiネットワークに接続されており、充電中でスリープ状態になっている
・2GB以上のメモリーを搭載していて、Android SDK level 21以上がインストールされている
・言語設定がen-US、もしくは、en-CAになっている

 最後の言語設定は、実験対象の言語を限定するためのものです。理屈の上では、北米地域のユーザーが主な対象になりそうですが、実際には、それ以外の地域のユーザーも含まれる可能性があります。たとえば、インドでは、デフォルトの英語設定のままで使用するユーザーが多く、実際の学習処理では、北米ユーザーに次いで、インドのユーザーのデバイスが多く利用されたそうです。また、上述のように、「充電中でスリープ状態」という条件が付いていますので、主に夜間のデバイスが学習に使用されると想像できますが、地域によって夜間のタイミングは異なります。このような状況を示すのが、図1のデータです。

fig01

図1 学習状況の時系列変化(論文より抜粋)

 まず、左側のグラフは、学習処理の実行数の増減を時系列で示したもので、北米の夜間(12AM)は実行数が増加しています。ここから、学習に使用されるデバイスの数としては、北米のデバイスが大多数を占めるものと想像ができます。一方、北米の昼間(12PM)には、北米以外の地域のデバイスが学習に使用されていると想像されます。あるいは、北米地域であっても、昼間にも充電が必要な古いデバイスのデータが混在している可能性もあります。そして、これらの結果は、右側のグラフに現れています。このグラフの実線は、テストデータに対する予測誤差(Loss)の値を示すもので、北米の昼間は誤差が増加しています。これは、時間帯によって、学習に使用されるデータの傾向が異なることを示しています。

モデルの性能評価

 続いて、Federated Learningで得られたモデルの性能評価の結果を紹介します。第67回(パート1)の記事で説明したように、この仕組みでは、「Baseline Model」によって得られた候補に対して、「Triggering Model」で表示対象の絞り込みを行います。この際、絞り込みのしきい値を設定することで、絞り込みの範囲を調整することができます。より強く絞り込みを行なって表示数を減らせば、(実際にはクリックされない)無駄な表示を減らして、全体的なCTR(Click Through Rate:表示した候補のクリック率)を上げることができます。ただし、本来クリックされるはずの候補があやまって除外されると、逆効果になります。図2は、このような関係を示したデータになります。

fig02

図2 初期モデルのテスト結果(論文より抜粋)

 まず、左側の「Training Metrics From Federated Training」は、実験の初期段階において、テスト用のデータで検証した結果です。3種類のしきい値について、表示する候補を絞り込む割合(Retained impressions)と、本来クリックされるはずの候補がきちんと残っている割合(Retained clicks)、そして、この絞り込みによるCTRの向上率(ΔCTR)が示されています。たとえば、一番下の行を見ると、表示する候補を28.45%まで削減することで、CTRは42.19%向上しています。ただし、本来クリックされる候補がきちんと残っている割合は40.45%になっており、この点には改善の余地が残されています。
 論文の説明によると、この後、モデルのチューニングを繰り返していき、実環境において、図3の結果が得られたそうです。最終的に、Retained clicksは82.01%に改善しており、CTRについては、51.49%の向上が得られています。

fig03

図3 改善後のモデルの性能(論文より抜粋)

 なお、さきほどの図2の右側には、左側と同じモデルについて、実環境での性能を評価した結果が示されています。テスト用のデータに比べて性能が悪化していますが、これは、学習に用いるデータと実環境のデータの差異が原因と考えらます。学習処理を実施するデバイスは、冒頭で示した特定の条件を満たすものに限られるため、実環境に存在するすべてのユーザーの行動を反映したものにはなり得ません。このような「学習データの偏り」は、一般的な機械学習においても注意を払う必要があります。

次回予告

 今回は、2019年に公開された論文「Applied Federated Learning: Improving Google Keyboard Query Suggestions」を元にして、Federated Learningを実環境に適用した結果を示すデータを紹介しました。本文の最後にも触れたように、Federated Learningには、学習に使用するデータの偏りが発生しやすいという注意点があります。次回は、このような「学習データの品質を保つ仕組み」に関する論文を紹介したいと思います。

Disclaimer:この記事は個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には関係はありません。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes