セッションをまたぐデバイスマッチングの数学
変化するシグナルをまたいでデバイスをマッチングする数学的な基盤——AIを活用した分析が、シグナルのドリフトにもかかわらず再訪者をどう再接続するのか。
デバイスフィンガープリンティングには根本的な難題があります。シグナルは変化するのです。ブラウザは更新され、ユーザーは設定を変え、フォントはインストールされたり削除されたりします。厳密な比較は、変化したすべてのシグナルを新しいデバイスとして扱い、識別の精度を破壊してしまいます。当社のセッションをまたぐマッチングシステムは、厳密な等しさを要求する代わりに類似度を定量化するAIを活用した技術を用いることで、これを解決します。
問題——シグナルのドリフト
昨日フィンガープリントを取得され、ブラウザの更新を経て今日戻ってくるデバイスを考えてみましょう。ユーザーエージェント文字列は変わっています。2つの新しいCSS機能が今はサポートされています。WebGL拡張が1つ追加されました。canvasのレンダリングは同一のままです(同じGPU、同じドライバー)。オーディオのフィンガープリントは同一です。WebGLのパラメータは、新しい拡張を除いて同一です。
厳密な一致では、このデバイスは認識されません——結合されたフィンガープリントが変わっているからです。しかし直感的には、これが同じデバイスだと分かります。ハードウェアのシグナルは同一で、ソフトウェアの変化はブラウザの更新と整合しています。当社のセッションをまたぐマッチングシステムは、この直感を形式化します。
特徴シグナルのための集合ベースの比較
多くのブラウザシグナルは、自然に集合として表されます。サポートされるCSS機能の集合、利用可能なフォントの集合、WebGL拡張の集合、といったように。これらのシグナルについて、当社は集合ベースの類似度指標を使って重なりを測ります。2つの集合AとBについて、共有される要素の総要素に対する比率を計算します。
昨日CSS機能が45で今日47(うち44が共通)のデバイスは、高い類似度スコアを持ちます。これはブラウザの更新を伴う同一デバイスを示すのに十分です。まったく別のデバイスなら、共有するCSS機能は30しかないかもしれず、はるかに低い類似度スコアになります。「同一デバイス」と「別デバイス」の境界となる閾値は、ラベル付きデータから学習されます。
効率的な候補生成
すべてのデバイスの組について類似度を計算するのは、大規模では法外に高コストです。当社の候補生成システムは、類似した項目を高い確率で同じ参照バケットに割り当てる高度なインデックス技術を用い、潜在的な一致を定数時間で見つけられるようにします。
このアプローチは候補生成フェーズで比較の99.9%を排除し、数十億のデバイスプロファイルでもシステムを効率的にします。
複雑なシグナルのためのAIを活用した分析
一部のシグナルは、集合にきれいに分解できません。canvasのフィンガープリント、オーディオ処理の出力、WebGLのパラメータベクトルは、単純な集合比較が当てはまらない複雑なデータです。これらのシグナルについて、当社はデバイスプロファイルを、類似したデバイスが互いに近くなる表現へと写像するAIを活用した分析を用います。
AIモデルはシグナル間の自明でない関係を捉えます。たとえば、WebGLレンダラー文字列があるGPUモデルから同じモデルのわずかにアップグレードされた版へ変わることは同一マシン上のGPUアップグレードを表し、一方でまったく別のGPUベンダーへの変化はまったく別のデバイスを表す、ということを学習します。
技術を組み合わせる
当社の本番システムは複数の技術をカスケードで用います。第一に、効率的な候補生成が潜在的な一致を特定します。第二に、集合ベースの比較が特徴ベースのシグナルの重なりを精密に測ります。第三に、AIを活用した分析がハードウェア依存のシグナルの類似度をスコアリングします。最終的な信頼度スコアは、すべての手法を重み付けして組み合わせたもので、重みはラベル付きデータでチューニングされます。
このカスケードアーキテクチャは、正確であると同時に効率的です。再訪者に対する総マッチング時間は、平均で5ms未満です。