万万没想到,谷歌给Dropout申请了专利,而且刚刚生效
机器之心报道
机器之心编辑部
机器学习模型训练中,过拟合现象实在令人头秃。而 2012 年 Geoffrey Hinton 提出的 Dropout 对防止过拟合有很好的效果。之后大量 Dropout 变体涌现,这项技术也成为机器学习研究者常用的训练 trick。
万万没想到的是,谷歌为该项技术申请了专利,而且这项专利昨日正式生效!
我们可以在 Google Patents 上看到这项技术的专利详情页面:https://patents.google.com/patent/US9406017B2/en
非常恰如其分,该专利详情页中对 Dropout 的总体定义是「解决神经网络过拟合的系统和方法」。该页面介绍了 Dropout 技术及其创造者——Geoffrey Hinton、Alexander Krizhevsky、Ilya Sutskever、Nitish Srivastva,专利申请情况,专利文本等。
从上图中我们可以看到该技术目前的专利权受让人(Current Assignee,即专利所有权人)是谷歌。
下图展示了 Dropout 专利申请的主要时间节点,我们可以看到最下方的两个日期——2019-06-26 专利生效,2034-09-03 专利到期。
在专利申请的文档主体中,谷歌提供了神经网络的结构图和训练流程图,并介绍了专利申请的背景,简要概括了专利,提供了专利分类,并描述了专利的实施原理。
什么是 Dropout?
在标准 Dropout 的每轮迭代中,网络中的每个神经元以 p 的概率被丢弃。当训练完成后,模型需要用全部神经元进行预测。每一层的 dropout 概率可能不尽相同,在论文《ImageNet Classification with Deep Convolutional Neural Networks》中,AlexNet 第一次使用了 Dropout,它建议输入层的 p=0.2,而隐藏层的 p=0.5。
其实 Dropout 可以天然理解为不同模型架构的集成方法,它提供了一种非常廉价的 Bagging 集成近似方法。如下图所示基本的两层全连接网络在每一次更新时都可能随机去除不同的单元,从而组成不同的架构。因为每次更新时关注的神经元都不相同,重点更新的权重也不相同,因此最后集成在一起就能达到正则化的效果。
选自:《Deep Learning》
Dropout 自 2012 年以来就产生了非常重要的影响,现在的神经网络训练基本上都会用一些 Dropout 作为正则化器。这主要是因为神经网络的拟合能力太强大了,稍不留神就会产生过拟合的情况,因此不论是循环还是卷积,根据过拟合调整丢弃概率还是非常好用的。
此前 Hinton 等研究者也尝试构建更强大的 Dropout,例如神似剪枝的 Targeted Dropout、大幅减少迭代数的Multi-Sample Dropout等。但最近谷歌为 Dropout 这一通用技术申请了专利,且专利现在已经生效了。就这么简单精炼的一个技术,用 NumPy 写前向和反向传播代码也就几行的功夫,专利真的会对我们有大影响吗?
谷歌为 Dropout 申请专利了,对你有影响吗?
谷歌专利一经生效,便引来大批吃瓜群众围观吐槽。
有相当乐观觉得没啥大不了的:
「不会有问题的...... 我相信谷歌绝对不会强制执行专利许可。他们的『使用深度神经网络处理图像』专利已经生效一段时间了,(但是没有强制执行专利许可)。」
有说 Dropout 不是 Hinton 等提出的:
「我打赌,这个专利不会被强制执行。Dropout 是 Stenphen Jose Hanson 在 1990 年发表的论文中提到的一种特殊情况。Hinton 他们没有引用这篇论文。链接:https://arxiv.org/abs/1808.03578」
还有「小嘴抹了蜜」的:
「Fxxx 这个专利。对数学方法申请专利违背了思想自由。传播有趣的点子是不需要收费的。」
还有挖出来谷歌旗下的 Deepmind 申请了其他类似专利的:
「年轻人还是图样。谷歌申请了包括 word2vec 在内的一大批专利!」
Word2vec 是由 Tomas Mikolov 领导的一支谷歌研究团队提出的一种对词的向量表示进行运算的方法。谷歌提供开源的 Word2vec 版本,以 Apache 2.0 许可证发布。Mikolov 于 2014 年离开谷歌,加入 Facebook,而谷歌在 2015 年 5 月获得了 Word2vec 方法的专利,该专利也于 2019 年 6 月 26 日生效。
图源:https://patents.google.com/patent/US9037464B1/en?inventor=Tomas+Mikolov&assignee=Google+LLC
此外,我们还发现了昨天生效的另一项专利——Training convolutional neural networks on graphics processing units,这项专利的受让人为微软。
图源:https://patents.google.com/patent/US7747070B2/en?q=G06N3%2f084
也有提出合理化建议的:
「基于你的情况,请对号入座:
- 如果你是初创公司,现在需要融资,在你的算法中使用谷歌的专利会是一个很大的负担,甚至可能影响融资。
- 如果你是个和谷歌有专利纠纷的组织,起诉前请三思,因为谷歌也有专利武器反诉你。
- 如果你是谷歌的专利律师,你是人生赢家。」
这个专利是否会产生实质性的影响,目前还不清楚,谷歌方面也未有回应。机器之心的读者们怎么看呢?
参考内容:https://www.reddit.com/r/MachineLearning/comments/c5mdm5/d_googles_patent_on_dropout_just_went_active_today/