机器之心编辑部报道

万万没想到,谷歌给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/


产业专利Dropout谷歌
1
相关数据
微软机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

Dropout技术

神经网络训练中防止过拟合的一种技术

剪枝技术

剪枝顾名思义,就是删去一些不重要的节点,来减小计算或搜索的复杂度。剪枝在很多算法中都有很好的应用,如:决策树,神经网络,搜索算法,数据库的设计等。在决策树和神经网络中,剪枝可以有效缓解过拟合问题并减小计算复杂度;在搜索算法中,可以减小搜索范围,提高搜索效率。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

集成方法技术

在统计学和机器学习中,集成方法使用多种学习算法来获得比单独使用任何组成学习算法更好的预测性能。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

word2vec技术

Word2vec,为一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。 训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系。该向量为神经网络之隐藏层。 Word2vec依赖skip-grams或连续词袋(CBOW)来建立神经词嵌入。Word2vec为托马斯·米科洛夫(Tomas Mikolov)在Google带领的研究团队创造。该算法渐渐被其他人所分析和解释。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
这个专利申请在一定程度上会对开源精神起到一定的负面影响