Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

TOC 調査の背景 <- The Privacy Sandbox Federated Learning of Cohort Discussion

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

TOC 調査の背景 The Privacy Sandbox <- Federated Learning of Cohort Discussion

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

TOC 調査の背景 The Privacy Sandbox Federated Learning of Cohort <- Discussion

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

ユーザーベクトルの⽣成 (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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

TOC 調査の背景 The Privacy Sandbox Federated Learning of Cohort Discussion <-

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

FLoC のパフォーマンスについて 出展はBuilding a privacy-first future for web advertisingなものの、 95%の根拠がはっきりしない Googleがテストを⾏ったところ、FLoCを使ったターゲティングは、 Cookieベースの広告の最低95%のパフォーマンスを達成することがで きたとのこと。 “ “ from Googleが提案するサードパーティーCookieなしの新しい広告の仕組み「FLoC」とは? - GIGAZINE

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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