作者 | 局长
本文经授权转载自开源中国(ID:oschina2013)
近日, Hacker News 上一个关于 deepfake 开源项目的帖子(https://news.ycombinator.com/item?id=19182956)引起了众多开发者的激烈讨论,事出为何?我们不妨看看。
按照帖子的提示,笔者尝试在隐身模式下以未登录的方式访问 deepfake 的 GitHub 仓库,结果如下图示:
未登录 GitHub 帐号状态下访问 deepfake 的代码仓库(https://github.com/deepfakes/faceswap)
可以看到,未登录 GitHub 帐号的状态下,将无法访问 deepfake 这个开源项目的代码仓库。但 GitHub 一直以来的规则都是:无论用户是否处于登录状态,只要是公开的仓库,任何人都可以进行访问并下载源码。而 deepfake 一直都是一个公开仓库,而不是私有仓库,所以出现这样的情况比较反常。
由此可见,deepfake 在 GitHub 上遭遇了某种形式的「审查」。但这个行为是 GitHub 的主动意愿,抑或是迫于第三方压力,目前不得而知。
事实上,GitHub 对开源项目采用这种形式的限制访问并不常见。虽然 GitHub 也曾公开表示收到过来自政府的删除请求(https://github.com/github/gov-takedowns),但这是因为这些托管在 GitHub 上的仓库大多都包含敏感内容。
可为什么 deepfake 作为一个纯技术的开源项目也有了这种待遇?说到这,还是先简单介绍一下 deepfake 吧,不过相信在座的各位对它也不会感到陌生。
deepfake 在 GitHub 上的自我描述是:一种利用深度学习技术识别和交换图片、视频中人物脸部图像的工具,也就是俗称的“换脸神器”。但更多的使用者将 deepfake 当成了视频造假工具 —— 把一个人的脸庞转移到另一个的身上,让假视频、假新闻轻松传播到全网。
不信看看下面这些动图,你能辨认出真假?
该 GIF 来自一段电视新闻男主播说话的视频,是真的吗?
这位女主播,她讲话的这段视频也是真的吗?
这位男主播呢?
你们的十元呢……
这些动图看起来毫无违和感,但实际上全都是假的!动图上的这些人,从没做出过这些口型和表情。更重要的是,类似这样的假视频近两年在网络上大量涌现,而这些假视频基本都使用了 deepfake 的技术。
在 deepfake 诞生之前,视频换脸技术主要应用于电影拍摄中,而且它需要相对较高的技术和资金投入。但现在,deepfake 等深度学习技术的出现大大降低了换脸门槛,使用者不仅用它来捏造针对政要人士的假新闻,还用它来制造女明星的色情片。
这些假视频、假新闻的危害性之大这里就不赘述了。而且 deepfake 去年甚至惊动了美国五角大楼。他们通过美国国防部高级研究计划局(DARPA)委托全美各地的专家,想方设法检测各类视频的真实性。不久后,DARPA 就研发了一款能够自动监测处被换了脸的假视频的 AI 工具,根据假视频一般不会表现出眨眼、呼吸和眼球运动这些特征,能够以 99% 的准确率识别出假视频。
相关论文和数据集:https://arxiv.org/abs/1901.08971、https://github.com/ondyari/FaceForensics
HN 帖子底下的评论中有一位 ID 为 alexeldeib 的用户自称是微软的员工,并进行了这样的回复:“我认为这个行为是微软指示 GitHub 执行的操作,而不是 GitHub 的独立决定。如果这是一个自上而下的决策,而不是内部决定的结果,这将令人十分失望。”
还有用户表示,这正是 GitHub 被微软收购后的妥协举动。但立马就有其他用户回复说这个现象在收购之前就已存在(https://github.com/deepfakes/faceswap/issues/392)。
可以看到,在微软收购 GitHub 前,就已有用户在 deepfake 仓库中提交过需要登录 GitHub 帐号才能访问项目的 issue。
最后我想以帖子中一位用户的评论结尾 —— “我可能不同意你所说的话,但我誓死捍卫你制造名人虚假裸体的权利”(I may not agree with what you have to say, but I will defend to the death your right to create fake nudes of celebrities.)
声明:作者独立观点,不代表 CSDN 立场。
热 文 推 荐
极客头条
扎心!“我学了半年 Python,还是找不到工作”
☞ 让 AI 教机器自己玩俄罗斯方块
☞ 35 岁程序员,年后第一天被辞退
☞ 云漫圈 | 学Python还是Java, 8张漫画带你全面分析
☞ 一次性掌握机器学习基础知识脉络 | 公开课笔记
☞ 骗局翻新, 暗网活跃度倍增, 2018加密货币犯罪报告敢看吗?
☞ 程序员年后离职跳槽指南
print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"