原文恕删
因为觉得儿童色情及用户隐私是相当重要的议题,但使用者对于其技术的误解容易造成议
题失焦,所以希望透过这篇回文抛砖引玉吸引更多人的讨论,也恳请各位大神对于我说错
的地方不吝指教QQ。
在讨论运作方式前,先来看看几个技术文件提到的大前提XD
1. 苹果不会知道任何 unmatched 照片的任何资讯。
2. 除非到达一定的阀值,苹果不会取得任何 matched 照片的 metadata 或视觉资讯。
3. 系统误判的机率非常的低(文件下方说误判帐号的机率是一兆分之一),且每个被点
名的嫌疑帐号都会被人工审核后才回报给 NCMEC。
首先,先从官方的技术文件来了解系统的大致的运作方式。苹果并不是单纯的用
AI 影像辨识的方式侦测,而是在先本机取得图片的 NeuralHash 值后跟数据库中已知
的杂凑值比对,且比对的动作是在本机执行。比对的结果也会经过加密后才上传到
iCloud,故在解密之前连苹果也不知道比对的结果与内容,要直到达到一定的阀值后苹果
才会将 matched 的照片解密并将帐户回报给 NCMEC。其步骤可以参考下方图片。
https://imgur.com/Cwn2828
那么,这个做法跟单纯的 AI 影像辨识究竟有何不同?有人会误以为苹果是运用大量的儿
童色情图片训练出一个分类模型来判断照片是否属于儿童色情。然而,苹果并不是用这样
的方式来判断图片“像不像”儿童色情,其技术中的神经网络只是用来提取图片的特征值
(描述符 descriptor),特征值经过杂凑后再与“已知的”非法图片进行比对,而匹配与
否是看有无与已知的图片“近乎相同”(nearly identical)。所以它的概念比较
类似以图搜图,而不是 google 相簿的场景/人物辨识。故重点在于已知的数据库内容
,理论上要明确被列入数据库的非法照片才有可能 match。
至于到底什么样的照片叫做“近乎相同”?根据苹果的技术文件,原始图片即使
经过轻度的裁切、变形、灰阶化、改变分辨率,甚至转档,都会被视为与原图近乎相同
,换句话说,修改后的图片会与原图产生相同或相似的杂凑值。下图即是技术文件内
的例子。
https://imgur.com/nRmh7z5
但是,即便两张图片视觉上看起来相同,它们依旧是不同的两张图片,怎么会产生相同或
相似的杂凑值?这有两个关键的地方,其一是提取图片描述符(descriptor)所使用的神经
网络。从文件可以得知,苹果使用自监督学习(self-supervised training)的方式来训练
模型。模型的 input data 非常简单,共有两种组合,第一种是由原图与稍微修改的原图
形成的组合(original/perturbed pair);第二种是由原图以及一张与原图不相同的图片
形成的组合(original/distractor pair)。而模型的目标是遇到相似的图片组合时产生相
似的描述符,反之在遇到不相似的图片组合时要产生不同的描述符。总之,这个神经网络
被训练成在遇到近乎相似的图片时会产生相似的描述符。
然而,有相似的描述符还不够,第二个关键是取得描述符后会使用 LSH (Locality-
sensitive hashing) 算法进行杂凑,这部分请参考此篇 #1X3huscy (MobileComm) ,
简单来说相似的输入值会有高机率被 hash 到相同的 bucket,这就是为什么近乎相同的
图片会产生相同的 NeuralHash。
以下是几个我觉得很有趣问题,也附上我的看法,如有说错请大大多多指教
Q1: 苹果要怎么判断照片是未成年的?如果自拍小 GG 会不会被误判?
A1: 如第一段所述,苹果并不是用 AI 来判断图片“像不像”未成年,所以图片看起来像
不像未成年并不重要,重要的是有无与数据库匹配。
Q2: 家长拍摄自家小孩的照片会不会被误判持有儿童色情?
A2: 其判断的重点在于已知的数据库内容,除非家长拍的照片被列入数据库,不然理论上
不会因此误判。
Q3: 那么二次元的部分呢?
A2: 如同Q2,除非哪天 NCMEC 把二次元视为儿童色情并将图片列入数据库中,不然不会
因此误判。
Q4: 废话这么多?所以苹果到底有没有扫描且看过我的相簿?
A4: Well..yes, but actually no。苹果确实在“本机”扫描了图片,但是扫描得到的描
述符、NeuralHash,与判断结果都会以加密的方式上传到 iCloud,所以除非是超过阀值
而被解密的照片,不然苹果不会知道任何 unmatched 图片的 metadata 或视觉上的讯,
也就是说,苹果并没有“看过”你的照片。
Q5: 这样看来苹果有解密照片的能力,那加密不就是唬烂的吗?
A5: 该加密技术是采用 PSI 加密协议(原理好复杂我也还没完全看懂XD),但就我的理
解,苹果解密图片需要两把钥匙,其中一把钥匙为服务器持有,而另一把在本机计算
NeuralHash 时产生,然而,本机所产生的钥匙只有在图片 matched 时才是有效的钥匙,
换句话说,图片在 unmatched 的情况下本机产生的钥匙是无效的,所以苹果没办法单方
面解密照片。
总结来说,我觉得苹果这个做法在保护未成年的部分是立意良善,也尽可能做到维护使用
者的隐私,但仍有几个需要探讨的点:
1. 苹果如何保证这个机制只会用来侦测儿童色情?这整个机制最重要的部分就是数据库
的内容,只要放入数据库的照片就能够被侦测到。也就是说,如果有政府单位或是其他组
织要求在数据库放入其他照片,那么这个机制便可能沦为政府内容审查的工具,苹果要如
何保证这点?
2. 继然被点名的帐户会经过苹果的人工审查,那么苹果是否会保证审查人员的心理健康
?且人工审核时审查人员是否知道照片与帐户持有人之间的关联?
3. 所有机制都会有误判的时候,那么遇到 false positive 时会如何处理?