Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Federated Learning of Cohorts (FLoC) に関する調査結果

Asei Sugiyama
February 04, 2021

Federated Learning of Cohorts (FLoC) に関する調査結果

Federated Learning of Cohorts (FLoC) について Repro 社内で調査を行った際の資料です。Reference は次の通り。

### Blog Posts

Building a privacy-first future for web advertising https://www.blog.google/products/ads-commerce/2021-01-privacy-sandbox/
Chromium Blog: Privacy Sandbox in 2021: Testing a more private web https://blog.chromium.org/2021/01/privacy-sandbox-in-2021.html
Progress update on the Privacy Sandbox initiative - Chrome Developers https://developer.chrome.com/blog/privacy-sandbox-update-2021-jan/

### The Privacy Sandbox

The Privacy Sandbox - The Chromium Projects https://www.chromium.org/Home/chromium-privacy/privacy-sandbox
牧歌的 Cookie の終焉 | blog.jxck.io https://blog.jxck.io/entries/2020-02-25/end-of-idyllic-cookie.html
Privacy Sandboxで一体何が起こる?ポストcookieアドテク考察 | 株式会社プリンシプル https://www.principle-c.com/column/marketing/privacy-sandbox-post-cookie/#__2073162343.1612180902

### FLoC

WICG/floc: FLoC https://github.com/WICG/floc
ads-privacy/FLOC-Whitepaper-Google.pdf at master · google/ads-privacy https://github.com/google/ads-privacy/blob/master/proposals/FLoC/FLOC-Whitepaper-Google.pdf

### TURTLEDOVE, Conversion Measurement API

turtledove/FLEDGE.md at master · WICG/turtledove https://github.com/WICG/turtledove/blob/master/FLEDGE.md
WICG/conversion-measurement-api: Conversion Measurement API https://github.com/WICG/conversion-measurement-api

### SimHash

SimHash - Wikipedia https://en.wikipedia.org/wiki/SimHash

### Federated Learning

[1902.01046] Towards Federated Learning at Scale: System Design https://arxiv.org/abs/1902.01046)

Asei Sugiyama

February 04, 2021
Tweet

More Decks by Asei Sugiyama

Other Decks in Technology

Transcript

  1. Federated Learning of Cohorts (FLoC)
    に関する調査結果
    Asei Sugiyama

    View Slide

  2. ⽬的
    興味関⼼ターゲティングに関する新技術である Federated Learning of
    Cohorts について調査した結果を記します

    View Slide

  3. 要旨
    3rd party cookie の撤廃の流れに伴い、広告に必要な API をブラウザに
    実装する Privacy Sandbox という取り組みがある
    FLoC は Privacy Sandbox で検討されているブラウザ内でクラスタリン
    グを⾏うための技術
    FLoC はまだ PoC が⾏われ、ある程度の有効性が⾒込まれた
    ブラウザへの標準的な実装に向けて、課題もまだまだ残っている

    View Slide

  4. TOC
    調査の背景 The Privacy Sandbox
    Federated Learning of Cohort
    Discussion

    View Slide

  5. 調査の背景
    Google が新しい広告の仕組み「FLoC」を提唱しているという報道がな
    された
    ⼀⽅、記事を読んでもそれが何なのかいまいちはっきりしない

    View Slide

  6. Google、脱「クッキー」加速 4⽉から広告主と
    試験運⽤: ⽇本経済新聞
    具体的には、ブラウザーに⼈⼯知能(AI)を活⽤したソフトを組み込
    み、利⽤者の閲覧履歴を分析する。この分析に基づいて好みや関⼼が
    似た数千⼈の利⽤者を「コホート(群)」としてくくり、広告主が配
    信先を選ぶのに使えるようにする。閲覧履歴を外部に持ち出すことを
    防ぎ、さらに数千⼈をくくって個⼈を特定できなくしてプライバシー
    に配慮するという。


    from Google、脱「クッキー」加速 4⽉から広告主と試験運⽤: ⽇本経済新聞

    View Slide

  7. Googleが提案するサードパーティーCookieなしの新しい
    広告の仕組み「FLoC」とは? - GIGAZINE
    FloCはFederated Learning of Cohorts(連合学習のコホート)の略語で
    あり、機械学習アルゴリズムを使⽤してウェブサイトを訪れたユーザ
    ーのデータを分析し、何千⼈ものユーザーからなるコホートを作成す
    るというもの。APIはChromeの拡張機能として使⽤され、収集された
    個⼈データについては共有されず、ターゲティングは分析データであ
    るコホートを元に⾏われます。Googleがテストを⾏ったところ、
    FLoCを使ったターゲティングは、Cookieベースの広告の最低95%の
    パフォーマンスを達成することができたとのこと。


    from Googleが提案するサードパーティーCookieなしの新しい広告の仕組み「FLoC」とは? - GIGAZINE

    View Slide

  8. Repro で似たことができる?
    Repro の SDK でもできる気がする
    Repro の CV 予測とやっていることは近い気がした (近くなかった)
    どのような仕組みで実現しているのか明らかにするため調査を開始した

    View Slide

  9. TOC
    調査の背景
    The Privacy Sandbox Federated Learning of Cohort
    Discussion

    View Slide

  10. 3rd party cookie の撤廃に向けた流れ
    Safari, Firefox ではデフォルトでオフ
    Chrome でも2020年1⽉から2カ年計画で廃⽌する計画を発表
    経緯は 牧歌的 Cookie の終焉 | blog.jxck.io が詳しい

    View Slide

  11. 3rd party cookie の撤廃が広告に与える影響
    3rd party cookie に頼ったユーザーの追跡ができないため⾊々困難
    CVの集計やユーザーの⾏動分析
    remarketing (リターゲッティング)
    興味関⼼ターゲティング

    View Slide

  12. The Privacy Sandbox
    それぞれのユースケースに適した API を
    ブラウザに実装する取り組み
    CV の集計: Conversion Management
    API
    remarketing: TURTLEDOVE
    興味関⼼ターゲティング: Federated
    Learning of Cohort (FLoC)
    from The Privacy Sandbox - The Chromium Projects

    View Slide

  13. TOC
    調査の背景
    The Privacy Sandbox
    Federated Learning of Cohort Discussion

    View Slide

  14. FLoC の解説の前に
    SimHash というアルゴリズム
    がコア
    Machine Learning は忘れて
    良い
    from SimHash - Wikipedia

    View Slide

  15. Federated Learning of Cohort
    ads-privacy/FLOC-Whitepaper-Google.pdf から抜粋して以下を解説
    FLoC の⽬標
    Federated Learning
    SimHash
    ユーザーベクトルの⽣成
    k匿名性
    実験

    View Slide

  16. FLoC の⽬標 (1/2)
    同じような興味を持っている
    と思われるユーザーを、⾏動
    履歴に基づき、同⼀のコホー
    ト (ユーザーセグメント) にク
    ラスタリングすること
    右の図ではAよりもBの⽅が望
    ましい
    from ads-privacy/FLOC-Whitepaper-Google.pdf at

    View Slide

  17. FLoC の⽬標 (1/2)
    ユーザー単位の⾏動分析ではなく、コホート単位の⾏動分析をプライバ
    シーを保ったまま可能にすることを⽬指す
    どのコホートがどういう特性を持っているかは気にしない
    24 番⽬のコホートがどんな特性を持っているかはわからない
    同じような特性を持ったユーザーは同⼀のコホートに属すことを⽬指す
    24 番⽬のコホートに属するユーザーがオムツを買ったならばそのコホ
    ートのユーザーはオムツを買う傾向にあるユーザー

    View Slide

  18. Federated
    Learning
    (1/2)
    クライアントで
    ⾏う機械学習
    サーバーにデー
    タを集約しない
    クライアント間
    で直接データを
    共有しない
    image by Jeromemetronome from

    View Slide

  19. Federated Learning (2/2)
    from 1902.01046 Towards Federated Learning at Scale: System Design

    View Slide

  20. SimHash
    ユーザーの⾏動履歴を表すベクトル (ベクトルの作り⽅は後述) に対し
    て、ハッシュ値を割り振るアルゴリズム
    ハッシュ値で利⽤したいビットの数だけベクトルを⼀様乱数から⽣成
    i 番⽬のビットに割り当てたベクトルと、ユーザーの⾏動履歴を表すベク
    トルが同じ向きを向いている (内積の値が0以上) のときはそのビットは
    1、それ以外は0
    ⾏動履歴が似ているユーザーはベクトルが同じような⽅向を向くため、
    内積の結果も似た結果になる

    View Slide

  21. from ads-privacy/FLOC-Whitepaper-Google.pdf at master google/ads-privacy

    View Slide

  22. ユーザーベクト
    ルの⽣成 (1/3)
    ユーザーの⾏動履歴
    を表すベクトルの⽣
    成には過去にユーザ
    ーが訪れたサイトの
    履歴を⽤いる
    ⾃然⾔語処理で⾏わ
    れている One hot
    encoding を⽤いる
    from ⾒て試してわかる機械学習アルゴリズ

    View Slide

  23. ユーザーベクトルの⽣成 (2/3)
    表の数値は各ユーザーが各列のサイトを訪れた回数
    user_a
    のユーザーベクトルは [0, 1, 0, 2, 0]
    User ID foo.com baa.com baz.com foo.org baa.org
    user_a 0 1 0 2 0
    user_b 1 0 0 0 0
    user_c 0 0 0 1 1

    View Slide

  24. ユーザーベクトルの⽣成 (3/3)
    ユーザーが訪れたサイトのドメインを1つの単語とみなし、One-hot-
    encoding して Bag of words を作り、ユーザーベクトルとする (前スラ
    イドの処理のこと)
    実験では tf-idf の利⽤や、サイトの属性 (アート/パフォーマンス/劇場 の
    ような⼊れ⼦構造) を Google Cloud の API を⽤いて取得することも⾏
    った

    View Slide

  25. k匿名性 (1/2)
    SimHash で作成したハッシュ値をコホートの ID とするのはNG
    1つのハッシュ値に割り当てられたユーザーが1⼈しかいない場合、それ
    はユーザーIDとみなせてしまうため

    View Slide

  26. k匿名性 (2/2)
    ⽣成されたハッシュ
    値をサーバーに集約
    し、辞書順にソート
    してk個のハッシュ値
    をまとめて1つのコホ
    ートとする
    1つのハッシュ値にユ
    ーザーは少なくとも1
    ⼈存在するため、k匿
    名性が確保できる
    from ads-privacy/FLOC-Whitepaper-

    View Slide

  27. 実験 (1/2)
    それぞれのコホートについて、ユーザーがウェブサイトを閲覧した回数
    をカテゴリごとに集計
    コホートごとに興味のあるカテゴリtop10を作成
    翌7⽇間で、そのカテゴリのサイトを実際に訪れるかどうかを評価

    View Slide

  28. 実験 (2/2)
    ランダムに興味
    のあるカテゴリ
    top10 を作成す
    るのと⽐較
    3.5倍程度良い再
    現率 (recall) を得
    られた
    from ads-privacy/FLOC-

    View Slide

  29. TOC
    調査の背景
    The Privacy Sandbox
    Federated Learning of Cohort
    Discussion

    View Slide

  30. Discussion
    ホワイトペーパーを読んだ際に疑問に思った点について記します。
    FLoC のパフォーマンスについて
    前処理が困難
    性能向上のための⼿法がプライバシーと反しかねない

    View Slide

  31. FLoC のパフォーマンスについて
    出展はBuilding a privacy-first future for web advertisingなものの、
    95%の根拠がはっきりしない
    Googleがテストを⾏ったところ、FLoCを使ったターゲティングは、
    Cookieベースの広告の最低95%のパフォーマンスを達成することがで
    きたとのこと。


    from Googleが提案するサードパーティーCookieなしの新しい広告の仕組み「FLoC」とは? - GIGAZINE

    View Slide

  32. 前処理が困難
    One hot encoding では「全サイト」のリストをユーザーと共有し、ユ
    ーザーは⾃分の訪れたサイトがその中のどのサイトに相当するか照合す
    る必要がある
    SimHash アルゴリズムが正常に動作するためには、すべてのブラウザで
    「全サイト」のリストが同⼀に保たれる必要がある
    広告の対象になる全ブラウザを考えると、すべての Android 端末にも
    「全サイト」のリストの配布と更新が必要
    データ量を絞るため「全サイト」を「今⽉アクティブなサイト」に変更
    すると、ブラウザに「今⽉アクティブなサイト」のリストを配布し、更
    新する仕組みが必要

    View Slide

  33. 性能向上のための⼿法がプライバシーと反しかねない
    性能向上のために⾏った⼿法では、ユーザーが訪れたすべてのサイトに
    ついて、Google CLoud の API にユーザーが訪問したサイトをすべて送
    信し、カテゴリを取得する必要がある
    この⼿法をブラウザに実装した場合、ユーザーが訪問したサイトはすべ
    て Google に送信される
    サイトが属するカテゴリの判定をクライアントサイドで⾏うことも考え
    られるが、「全サイトとそのカテゴリのデータベース」を更新し、配布
    し続ける必要がある

    View Slide

  34. まとめ
    3rd party cookie の撤廃の流れに伴い、広告に必要な API をブラウザに
    実装する Privacy Sandbox という取り組みがある
    FLoC は Privacy Sandbox で検討されているブラウザ内でクラスタリン
    グを⾏うための技術
    FLoC はまだ PoC が⾏われ、ある程度の有効性が⾒込まれた
    ブラウザへの標準的な実装に向けて、課題もまだまだ残っている

    View Slide

  35. Reference
    Blog Posts
    Building a privacy-first future for web advertising
    Chromium Blog: Privacy Sandbox in 2021: Testing a more private
    web
    Progress update on the Privacy Sandbox initiative - Chrome
    Developers

    View Slide

  36. The Privacy Sandbox
    The Privacy Sandbox - The Chromium Projects
    牧歌的 Cookie の終焉 | blog.jxck.io
    Privacy Sandboxで⼀体何が起こる?ポストcookieアドテク考察 | 株式
    会社プリンシプル
    FLoC
    WICG/floc: FLoC
    ads-privacy/FLOC-Whitepaper-Google.pdf at master google/ads-
    privacy

    View Slide

  37. TURTLEDOVE, Conversion Measurement API
    turtledove/FLEDGE.md at master WICG/turtledove
    WICG/conversion-measurement-api: Conversion Measurement API
    SimHash
    SimHash - Wikipedia
    Federated Learning
    1902.01046 Towards Federated Learning at Scale: System Design

    View Slide