← 回首頁
差分隱私 Randomized Response(隨機化回答)
想像你要調查「這個群體裡有多少人做過某件難以啟齒的事」——例如逃漏稅、用過禁藥、得過某種疾病。你直接問,
大家會說謊,因為答案一旦被記錄就有風險。1965 年 Warner 提出的 Randomized Response(隨機化回答)
給了一個漂亮的解法:讓每個人回答前先擲一枚硬幣——正面(機率 p)就照實答,反面(機率 1−p)就隨機
亂答一個。這樣一來,收集端看到的任何一個「是」,都可能只是硬幣的結果,無法回推你的真實答案,你有了
可否認性(plausible deniability)。神奇的是:因為雜訊的結構已知,把大量回報彙總後,可以用一條
去偏(debias)公式把隱私雜訊「扣掉」,還原出母體的真實比例。
本頁用一個固定的 16 人小群體(真實答案事先固定,其中 10 人真的是「是」→ 真實比例 π = 62.5%)逐人示範:
每個人先擲 coin1 決定照實或隨機,隨機時再擲 coin2 決定答是/否;我們累計「回報為是」的比例 obs,
最後套去偏公式 est = (obs − (1−p)/2) / p 反解 π。三根長條分別是真實 π(粉紅,對照基準)、
觀測 obs(藍,含隱私雜訊、被拉向 0.5)、去偏 est(綠,還原值)。你會看到:單一小樣本的去偏估計
雜訊很大、可能明顯偏離 π——這是誠實的、預期中的;但把同一群體用很多不同硬幣序列重跑取平均,估計就
收斂回 π。這正是差分隱私的核心承諾:個人不可辨識,群體統計仍可回收。
為什麼 AI 時代重要
當代 AI 的資料多半來自「不完全信任收集端」的裝置與使用者:手機遙測、鍵盤輸入統計、聯邦學習(federated
learning)的本地更新。Local Differential Privacy(本地差分隱私)就是讓每台裝置在把資料送出去之前
先自行加雜訊,收集者(即使是 Apple、Google)也拿不到任何人的原始值,卻仍能彙總出可用的統計——Apple 的
emoji / 輸入法統計、Chrome 的 RAPPOR 都是 Randomized Response 的直接後裔。理解這頁,就理解了「為什麼可以
一邊保護每個人的隱私、一邊訓練出有用的模型」,以及隱私預算 ε 背後「p 愈接近 0.5 → 隱私愈強、
但要更多樣本才估得準」的取捨。
它是隨機化演算法與取樣家族的延伸
「刻意注入隨機性以換取某種保證」是一整個演算法家族的共同母題。
隨機化演算法(QuickSelect 等,見雜項頁)用亂數換
期望效能
(打亂輸入避開最壞情況);本頁的 Randomized Response 則用亂數換
個人隱私——差別在於雜訊的
結構已知,
所以可以去偏還原。另一條血緣連到
取樣演算法 Reservoir / Alias:兩者用的是
同一顆決定性 LCG
(next(x) = (1664525·x + 1013904223) mod 2^32、burn-in 3 步、取值用高 16 位)——取樣用它決定「抽哪一個」,
RR 用它為每個人「擲硬幣」,同屬「用偽隨機性做機率決策」的取樣家族。
隨機化回答流程(設定 → 逐人擲硬幣 → 去偏還原 → 估計 vs 真實)
固定 16 人母體、照實機率 p = 0.75(即 25% 的人會隨機答)。流程分四段:先宣告機制並算出獨立暴力真值
π(直接數真實答案,不經任何隨機化,作為最後對照);再逐人擲硬幣得到 privatized 回報、累計觀測比例
obs(藍條被雜訊拉向 0.5);接著套去偏公式 est = (obs − (1−p)/2) / p 讓綠條「跳出」還原;最後對照
單次 est 與 π(誠實揭露小樣本雜訊),並用多種子(2000 次獨立重跑)取平均展示估計收斂回 π。
硬幣隨機源與 Reservoir / Alias 為同一顆 LCG。
固定母體 16 人(真實答案:是,否,是,是,否,是,否,是,是,否,是,是,否,是,是,否;10 個「是」→ π=62.5%);
照實機率 p=0.75;單次示範 seed=42;多種子平均枚舉 seed=0..1999(共 2000 次)。
已執行步數(steps):0
階段:setup
觀測 obs:—
去偏 est:—
三根長條 = 三個比例(皆 < 1,渲染以 1.0 為滿高,長條高度即絕對比例):左=真實 π(粉紅 pivot,
對照基準,恆為 62.5%)、中=觀測 obs(藍 checking,收集中的 privatized 訊號,含隱私雜訊)、
右=去偏 est(綠 sorted,還原值)。收集階段 est 尚未揭露(長條高度 0),去偏幀才「跳出」;最後
多種子幀綠條跳到「2000 次平均」貼近 π。
誠實揭露:單次抽樣是決定性教學簡化(固定 seed → 固定回報序列),真實部署每人用不同亂源;
本教學 n=16 很小,單筆答案不可信、單次去偏估計波動大(此 seed=42 剛好偏低,est≈41.7% vs π=62.5%),
這是預期而非 bug;多種子平均是有限次數(2000)統計量,收斂到 π 附近但非精確相等,仍有殘餘波動;
p、母體大小皆為教學縮尺,真實部署 n 動輒百萬。
逐人擲硬幣軌跡(真實 / coin1·coin2 / 照實? / 回報)
母體真實答案(暴力真值,綠底 = 是,外框 = 當前受訪者)