2021-05-20

研究揭示Twitter的图片裁剪算法存在偏见,更倾向于显示白人和女性的脸部,而非黑人男性。该算法在2018年上线前曾被认为无偏见。最新分析基于大量样本,揭示了不同群体间的显示偏好差异。

Twitter的图片裁剪算法更偏爱白人和女性?

去年秋天,加拿大学生科林·马德兰(Colin Madland)注意到,Twitter的自动裁剪算法不断地从两人的照片中选择他的脸来显示在Twitter上,而不是他肤色较深的同学的脸。这一事件引发了对偏见的指责,大批Twitter用户发布了拉长的照片,以观察人工智能是会选择白人的脸还是黑人的脸,是会关注女性的胸部还是脸部。

当时,Twitter一位发言人称,在2018年该算法上线之前,对该算法的评估没有发现种族或性别偏见的证据。现在,迄今为止最大规模的人工智能分析却发现了相反的结果:Twitter的算法偏向白人而非黑人。这项评估还发现,预测照片中相比较于女性的面部,最有趣部分是人工智能更关注女性的身体。

Twitter和研究人员Vinay Prabhu之前的测试涉及几百张或更少的图片。Twitter研究科学家周三发布的这项分析是基于10000对来自不同人口群体的人的图片,以测试该算法对谁有利。

研究人员发现,当算法显示两组人群的照片时,会出现偏差。最终,该算法选择一个人的脸会出现在Twitter的时间线中,一些群体在平台上的表现比其他群体更好。当研究人员将一张黑人男子和一名白人女子的照片输入系统时,算法选择在64%的时间里显示白人女子,在36%的时间里显示黑人男子,这是所有被纳入分析的人口统计学组中最大的差距。对于一个白人女性和一个白人男性的图像,该算法显示女性62%的时间。对于白人女性和黑人女性的图像,该算法显示白人女性57%的时间。

5月5日,Twitter取消了使用Twitter智能手机应用程序发布的单张照片的图像裁剪,这是Twitter首席设计官Dantley Davis自去年秋天算法争议爆发以来所青睐的方法。这一变化导致人们纷纷发布高大的照片,并标志着“开放惊喜”微博的终结。

这种所谓的显著性算法目前仍在Twitter.com上使用,也可以用来裁剪多张图片的tweet和创建图片缩略图。Twitter的一位发言人说,过高或过宽的照片现在被中间裁剪,公司计划在Twitter网站上停止使用这种算法。显著性算法是通过跟踪人们在看图像时看到的东西来训练的。

其他网站,包括Facebook和Instagram,都使用了基于人工智能的自动裁剪。Facebook没有回应置评请求。

不幸的是,对计算机视觉系统中的性别和种族偏见的指责相当普遍。谷歌最近详细介绍了Android摄像头如何为皮肤黝黑的人工作。上周,group Algorithm Watch发现,iPhone上使用的图像标签AI将深色皮肤的人标记为“动物”。苹果发言人拒绝置评。

不管公平性测量的结果如何,Twitter的研究人员说,算法决策可以剥夺用户的选择权,并产生深远的影响,特别是对边缘化群体的影响。

在最新发布的研究中,Twitter的研究人员表示,他们没有发现证据表明照片裁剪算法更倾向于女性的身体而不是面部。为了确定这一点,他们给算法输入了100张随机选择的女性图像,结果发现只有三个身体集中在脸上。研究人员认为,这是因为胸前有徽章或球衣号码。为了进行这项研究,研究人员使用了来自维基百科数据集的照片;照片中人物的身份特征来自维基数据。

高质量人脸数据库需求可联系contact@surfingtech.cn

### 出现空值的原因 - **分区首行**:在使用窗口函数 `max(edt) over(partition by id order by stt rows between UNBOUNDED PRECEDING and 1 PRECEDING)` 时,对于每个 `id` 分区内的第一行数据,`rows between UNBOUNDED PRECEDING and 1 PRECEDING` 表示从分区的起始行到当前行的前一行。由于第一行没有前一行,所以 `max(edt)` 在此情况下没有可比较的行,因此会返回空值。 - **数据本身为空**:如果在分区内除了当前行之外,其他行的 `edt` 字段值都为 `NULL`,那么 `max()` 函数在计算时会将这些 `NULL` 值排除,由于没有有效的非空值可供比较,也会返回 `NULL`。 ### 某行出现更大日期值的原因 - **数据顺序**:窗口函数是按照 `order by stt` 对分区内的数据进行排序的。如果在分区内,后面行的 `edt` 值本身就比前面行的 `edt` 值大,那么随着窗口的移动,`max(edt)` 会不断更新为更大的日期值。例如,在同一个 `id` 分区内,前面行的 `edt` 是较早的日期,而后面行的 `edt` 是较晚的日期,当窗口移动到后面行时,`max(edt)` 就会更新为这个较晚的日期。 - **数据异常**:可能是数据录入错误或者系统异常导致某行的 `edt` 值出现了不合理的大日期。例如,可能在录入促销结束日期时,输入了一个错误的未来日期。 示例代码如下,模拟了该查询过程: ```sql -- 创建示例表 CREATE TABLE test4 ( id INT, stt DATE, edt DATE ); -- 插入示例数据 INSERT INTO test4 (id, stt, edt) VALUES (1, '2023-01-01', '2023-01-10'), (1, '2023-01-15', '2023-01-20'), (2, '2023-02-01', '2023-02-10'), (2, '2023-02-15', '2023-02-20'); -- 执行查询 SELECT id, stt, edt, MAX(edt) OVER (PARTITION BY id ORDER BY stt ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) AS maxEdt FROM test4; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值