近期,雅虎刚刚开源了他们自己构建的一套深度学习神经网络,它专门用于自动检测图片是否含有色情内容。
NSFW(Not Suitable For Work)用于标记不适合上班时间浏览的网络内容,它的界定其实是很主观的,有的人反感的东西可能其他人并不觉得如何。雅虎的这个深度学习神经网络的定位是专注于 NSFW 中的色情图片。所以,该模型不适用于处理素描、文字、动画、暴力图片等内容。
对色情图片的鉴定并不容易,所以除了技术手段之外往往都离不开人工,于是就催生了鉴黄师这样的岗位。因为对于机器来说,图片都是些 RGB 的像素罢了,不论是花草树木,还是香车美女,摆在无欲无求的机器面前并无差异。而人,却对它有天生识别能力。美国前大法官波特·斯图尔特就有这样一句名言:“ 我看到它,才知道它是不是”。因此,机器是得向人来学习如何判定色情图片的。
该神经网络使用了 CaffeOnSpark ,这是一个基于 Hadoop/Spark 的分布式深度学习框架。雅虎已经基于已有的数据对模型进行了训练,这些数据既包括 NSFW 的,也包括 SFW(suitable for work,适合上班时间浏览)的,每张图片已明确标记好。在通过学习之后,它会为每张待鉴定的图片打出一个 NSFW 得分,表示属于 NSFW 的可能性。该值范围从 0 至 1,小于 0.2 表示很有可能是安全的,大于 0.8 表示有很大可能是 NSFW 的。如下图所示,花丛中的少女衣着保守,得分 0.001,而运动中的女孩和海边的男子虽暴露了部分肢体,但得分也仅为 0.116 和 0.074,都未达到 NSFW 的标准。想了解该模型生成和训练的更多详情,请戳这里。
雅虎建议大家在使用时选择自己的阈值,因为应用场景和对 NSFW 标准的理解可能会有差异,所以开发人员最好根据自己应用对 NSFW 的定义来设定评估值。
在 Reddit 上,大家就该模型对评估的有效性展开了讨论。有人认为:
“不知道它的评估是否准确,如果能允许大家上传图片,它打出分来让大家评价一下效果就好了”
而有人就此回应说:
“我不知道你会怎么看,但我肯定不会让人把最 NSFW 的图片上传到我的服务器上的”
出于某些原因,在公共网络上放置各类 NSFW 图片的确不太合适。好在雅虎已经将此模型开源,如果各位感兴趣的话,可以自己动手实践一下,看它给出的评估是否符合你的标准。你可以通过 雅虎的文章 了解更多详细内容,模型可以在 GitHub 上下载。如果你想要搭建自己的色情图片识别系统,必须要自己提供数据,这可能对大家来说不算什么难事。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论