GoogleがCookie(クッキー)の代替技術として検証を進める「FLoC(Federated Learning of Cohorts)フェデレーテッド・ラーニング・オブ・コホート」とは?

今回はサードパティ―Cookieのサポートを2022年までに廃止すると発表しているGoogleがその代替技術として挙げられている「FloC」のご紹介です。

FloCとは

FloCとは、Federated Learning of Cohorts(連合学習のコホート)の略で、ウェブサイトを訪れたユーザーのブラウザ履歴などの行動データを監視別の数千人単位のグループに振り分けた後、機械学習を使って分析するので個人を特定することなく数千人単位のグループ、つまりコホート(類似オーディエンスの集団)の行動を学習する為にユーザーのプライバシーを侵害することなく、ユーザーの関心に近い広告を表示できるCookieベースの広告に近いパフォーマンスを達成することができるという技術です。

コホートとは

コホート(英:cohort)とは、共通の因子を持つ観察対象となる集団のこと。コーホートトモと言います。国税調査などで人口がどのように増減し変化していったの表す変更率を推定する際に使われている方法です。

一関市が公開している「高齢者数等の将来推計(外部リンク)」の61 ページに”人口推定はコーホートセンサス変化率法により・・・”と書いてあり、コーホートは”同じ年又は同じ時期に生まれた人々の集団”とあります。非常にわかりやすいご説明有難うございます。

「参考 人口推計はコーホートセンサス変化率法により推定しています。 コーホートとは、同じ年又は同じ時期に生まれた人々の集団のことです。 コーホートセンサス変化率法とは、各コーホートにについて、センサス(人口調査・国勢調査)の数値を使用し、例えば5歳から9歳までのコーホートは5年後には10歳から14歳に達しますが、その間の増減を変化率として捉え人口推計を行う方法です。」

一関市「高齢者数等の将来推計」より引用

高齢者数と後期高齢者数の人口が非常に多いことがよくわかる資料です。

Federated Learning of Cohorts(連合学習のコホート)の連合学習とは?

今年の2021年2月25日にGoogle Japan Blogで公開された記事に「あなたにとって快適なGmailの設定を ~スマート機能とパーソナライズの設定について」という記事の中に「インタレストベース広告」を紹介する内容があるのですが、そこでFederated Learning of Cohortsの日本語役として、”FloC-協調学習により生成されたコーホート”といった訳され方で書かれています。

Googleさんが開発して、Googleさんが訳しているので、協調学習でいいのだと思いますが、一応、元の英単語が”Federated”ですので、このブログでは「連合(学習)」としておきます。手元に辞書ないのでわかりませんが、辞書で”Federated”と引くと”協調”といった訳がでてくるのでしょうか?

分散して学習

機械学習と言えば、ひとつの場所に収集したデータを元データとして機械学習を行うのがこれまでの機械学習の基本でした。ある程度の量のデータが集まってきたら、必要に応じてアノテーションを行い~といった感じでデータをつくりつつ、機械学習をバン!と行うといったのが一般的でした。

当然、計算するのに時間がかかるので、計算が終わるまでの待ち時間が勿体ないので機械を複数台欲しい!といった要望がでてくるので、その稟議をせっせと機械学習の意味もわからない経営陣に通すというのが私の仕事でしたが、、、

さて、そんなことはどうでもいいのですが、とにかく一つの場所にデータを集めて機械学習を行うのが一般的であり、今も多くの機械学習エンジニアは同手法にて機械学習を続けています。1か所に集められるデータの学習を行う方法には、データがひとつにあるので加工しやすかったり、学習に取り掛かるまでの時間が短くで済むなどのメリットがある一方で、大量のデータの取り扱いに苦労したり、計算するためのGPU・メモリ等のリソース、データを集める為の通信コスト、また、計算に長時間の時間がかかるなどの問題がありました。

これらの問題を解決する為に、データを生み出すデバイスで直接機械学習を行い、必要とされるデータのみを送信する(プライバシーに関する情報をサニタイズするような処理を行ってから送信する)”連合学習”がでてきました。

機械学習に必要なデータのみを送信するので、通信コストも少なくて済みますし、機械学習を行う側もリソースの消費が抑えられるメリットがある機械学習方法というこです。但し、ユーザーにとって本当にメリットかどうかはわかりません。プライバシーについては個々を特定されることなく企業が求めるデータ収集が行われるのでプラスとなるでしょうが、個別に所有するデバイスリソースにで機械学習を行うであれば、負担を企業側から個人へ移動させたことになりますので、中には疑問に思う人々もでてくるかもしれません。

何れにせよ、プライバシーの保護の問題は、最重要課題ですので、今後のGoogleさんのFloC(Federated Learning of Cohorts(連合学習のコホート))の取り組みについては注目していきたいと思います。

今日も一日頑張りましょう!