昨天 Hacker News 上一条关于 deepfake 开源项目的帖子(https://news.ycombinator.com/item?id=19182956)引发了众多开发者的激烈讨论,事出为何?我们不妨看看。

按照帖子的提示,笔者尝试在隐身模式下以未登录的方式访问 deepfake 的 GitHub 仓库,结果如下图所示:


▲未登录 GitHub 帐号状态下访问 deepfake 的代码仓库(https://github.com/deepfakes/faceswap)

可以看到,未登录 GitHub 帐号的状态下,将无法访问 deepfake 这个开源项目的代码仓库,并且会跳转到 GitHub 的登录界面。但 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。

纵观整个帖子,大家主要是围绕技术被滥用的问题而争论,以及技术与道德之间的冲突。当然,还有很多声讨 GitHub 的留言,他们认为这是 GitHub 一贯以来的做法,因为在被微软收购前也曾有过类似这样的行为。

最后我想以帖子中一位用户的评论结尾 ——“我可能不同意你所说的话,但我誓死捍卫你制造名人虚假裸体的权利”(“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.”)。

GitHub 被指审查内容,著名“换脸”开源项目 deepfake 遭限制访问的更多相关文章

  1. GitHub上最受欢迎的Android开源项目TOP20

    以下这些开源项目都是从GitHub上筛选的,我强烈推荐android程序源代码有时间的时候自己在上面淘淘,或许能发现自己须要的开源程序. 了解开源项目有两个优点: 1.借鉴代码,一般来说.火爆的开源项 ...

  2. GitHub上最受欢迎的iOS开源项目TOP20

    AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是GitH ...

  3. 40个GitHub上最受欢迎的iOS开源项目

    40个GitHub上最受欢迎的iOS开源项目(一) http://www.weste.net/2013/8-1/92975.html 40个GitHub上最受欢迎的iOS开源项目(二) http:// ...

  4. GitHub上有很多不错的iOS开源项目

    GitHub上有很多不错的iOS开源项目,个人认为不错的,有这么几个:1. ReactiveCocoa:ReactiveCocoa/ReactiveCocoa · GitHub:GitHub自家的函数 ...

  5. 推荐大家在GitHub 上值得关注学习的 iOS 开源项目

    GitHub上有很多不错的iOS开源项目,和大家特别推荐以下几个项目: 1. ReactiveCocoa GitHub链接:ReactiveCocoa/ReactiveCocoa GitHub自家的函 ...

  6. 硬核! Github上 ,star超高的Java 开源项目分享给你!

    Awsome JavaGreat Java project on Github(Github 上非常棒的 Java 开源项目). English Version 大家都知道 Github 是一个程序员 ...

  7. 2016年GitHub排名前20的Python机器学习开源项目(转)

    当今时代,开源是创新和技术快速发展的核心.本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们 ...

  8. GitHub上易于高效开发的Android开源项目TOP20--适合新手

    1. android-async-http android-async-http是Android上的一个异步.基于回调的HTTP客户端开发包,建立在Apache的HttpClient库上. 2. an ...

  9. Hello!GitHub 好用好玩值得收藏的开源项目集合~

    这是我许久以来从各处发现的极佳开源项目,希望分享给大家~ 如果帮到你了,给我个赞好嘛 编程语言类 ️learn-go-with-tests(通过单元测试学Go) GitHub地址:https://gi ...

随机推荐

  1. 1089 Insert or Merge (25分)

    According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and gr ...

  2. 分治与递归-Starssen矩阵乘法

    代码实现: /** * 矩阵乘法求解 * @author Administrator * */ public class Strassen { public static final int NUMB ...

  3. VMwareWorkstation如何设置共享文件夹

    首先需要安装VMware Tools 这个嘛,应该是需要安装的,之前没有安装好像就没有设置成功. 没有安装的参考如何安装VMware Tools 然后在虚拟机设置里面设置共享路径 右键虚拟机名称,打开 ...

  4. ubuntu上安装redis和配置远程访问

    ubuntu上安装redis和配置远程访问 安装redis: 下载安装包: wget http://download.redis.io/releases/redis-4.0.1.tar.gz 解压: ...

  5. (js描述的)数据结构[树结构1.2](12)

    1.先序遍历 2.中序遍历 3.后序遍历 4.递归调用栈详解: 详细见: https://zhuanlan.zhihu.com/p/24291978 5.删除节点操作分析: 5.代码封装 //封装二叉 ...

  6. 28 api的使用2

    本文将讲解如下api的使用: Object.System.Date.DateFormat.Calendar.Integer-- int的包装类等 1. 类 Object 是类层次结构的根类.每个类都使 ...

  7. HAproxy shell脚本安装

    #!/bin/bash #需要lua-..tar.gz在家目录下 # 编译安装lua #安装编译环境需要的包 yum -y install gcc openssl-devel pcre-devel s ...

  8. matplotlib TransformNode类

    TransformNode 是所有参与变换的类和所有需要无效自己或祖先的类的基类 方法: __init__(shorthand_name=None): 参数 [shorthand_name]: 别名 ...

  9. ln -s 软链接命令

    所有对软链接link_name的操作都是对目录或文件dir_file的操作 ln -s [dir_file] [link_name]

  10. 数组的增加与删除(push、pop、unshift、shift)

    1.    数组增删和换位置(原数组将被修改) push()  //在数组最后面插入项,返回数组的长度 数组1改后的长度  =  数组1.push(元素1); pop()    //取出数组中的最后一 ...