c语言sscanf函数的用法是什么
328
2022-11-21
详细讲解谷歌的AutoML
不久之后,AutoML就会发现他们将面临和强化学习一样的问题:人们会用非常具体的(有缺陷的)方法来解决许多宽泛的问题。
谷歌AI的负责人Jeff Dean表示,100倍的计算力可能会替代机器学习专家,对计算有大量需求的神经架构搜索是他唯一举出的例子。
这就引出了一系列问题:开发者们需要“设计不同功能的神经网络”吗?神经网络是否能用有效的方法解决类似的问题呢?巨大的计算力真的可以替代机器学习专家吗?
在评价谷歌的言论之前,我们要知道谷歌之所以一直强调高效使用深度学习的关键是更多的计算力,是因为这与它的利益相关,因为在计算力这个方面,谷歌足以吊打其他人。如果这是真的,那我们可能都需要购买谷歌的产品了。就其本身而言,这并不意味着谷歌的说法是错误的,但是我们最好意识到他们言论之下的经济动机。
在我们之前的文章中,我们介绍了AutoML的历史,解释了什么是神经架构搜索,并且指出对许多机器学习项目来说,设计或选择一种架构并非耗时、最痛苦的部分。在今天的文章中,我要详细讲解谷歌的AutoML,该产品受到了许多媒体的关注。大致内容如下:
什么是谷歌AutoML?
什么是迁移学习?
神经架构搜索 vs 迁移学习:两种相反的方法
需要更多证据
媒体为什么对谷歌AutoML大加赞赏
我们如何能解决机器学习专家短缺的问题?
什么是谷歌AutoML
虽然AutoML领域已经发展了好几年,在2017年5月,谷歌在它的神经架构搜索中加入了AutoML这个术语。在谷歌开发者大会上,Sundar Pichai表示:“这就是我们为什么创造AutoML这一工具,它证明了让神经网络设计神经网络是可能的。”同时,谷歌AI的研究者Barret Zoph和Quoc Le也表示:“我们的方法(AutoML)中,一个控制器神经网络可以生成一个子模型架构……”
2018年1月,谷歌云宣布将AutoML最为机器学习产品的一部分。目前,AutoML中有一个公开可用的产品——AutoML Vision,这是一款可识别或者对图中目标物体进行分类的API。根据该产品的详情页面,我们得知Cloud AutoML Vision依靠两种核心技术:迁移学习和神经架构搜索。由于在上一篇文章中我们已经解释过神经架构搜索,现在我们重点关注迁移学习,看看它是如何和神经架构搜索联系在一起的。
什么是迁移学习?
迁移学习利用预训练模型,可以让人们用少量数据集或者较少的计算力得到顶尖的结果,是一种非常强大的技术。预训练模型此前会在相似的、更大的数据集上进行训练。由于模型无需从零开始学习,它可以比那些用更少数据和计算时间的模型得到更精确的结果。
神经架构搜索 vs 迁移学习:两种不同的方法
迁移学习之下的基础理念是,神经网络结构会对相同种类的问题进行泛化:例如,很多图片都有基础特征(比如角度、圆圈、狗狗的脸、车轮等等),这些特征构成了图片的多样性。相反,提升神经架构搜索的效率是因为,每个数据集都是独一无二的,它的结构非常个性化。
当神经架构搜索发现了一种新结构,你必须从零开始学习该结构的权重。但是有了迁移学习,你可以从预训练模型上已有的权重开始训练。这也意味着你无法在同一个问题上同时使用迁移学习和神经架构搜索:如果你要学习一种新的结构,你可能需要为此训练一个新权重;但如果你用迁移学习,可能无需对结构进行实质性改变。
当然,你可以将迁移学习运用到一个经过神经架构搜索的结构上(我觉得这是个不错的想法)。这只需要几个研究者用神经架构搜索和开源的模型即可。如果可以用迁移学习,并不是所有机器学习从业者都要在问题上使用神经架构搜索,然而,Jeff Dean、Sundar Pichai以及谷歌和媒体的报道都表示:每个人都应该直接用神经架构搜索。
神经架构搜索的好处是什么?
神经架构搜索很适合用来寻找新的结构!谷歌的AmoebaNet就是通过神经架构搜索学习来的,另外fast.ai很多技术进步也都得益于神经架构搜索。
AmoebaNet不是根据奖励函数设计的,不具备缩放的能力,所以他不如ResNet那样可以根据多种机器进行调整。但是一个可以缩放的神经网络可以在未来学习并优化。
需要更多证据
为什么还要吹捧谷歌AutoML呢?
有了上述那么多种限制,为什么还要还有很多人在宣传谷歌AutoML的有用性呢?我认为有以下几种解释:
1.谷歌的AutoML真实反映了一些学术研究机构掺杂了盈利机构之后的危机。很多科学家都想创建有关热门学术研究领域的产品,但并不评估它能否满足实际需求。这也是很多AI创企的现状,我的建议是不要试图将博士论文变成产品,并且尽量不要雇佣纯学术研究人员。
谷歌造成的新闻误导其中一个案例是谷歌AI研究人员宣布“他们创建了一种深度学习技术,能够重建人类基因组”,并且他们还将这项技术与诺贝尔获胜者做了对比,Wired对此进行了报道。在这之后,约翰霍普金斯大学生物统计学家、生物工程教授Steven Salzberg就批判了谷歌的这篇文章。Salzberg指出,这项研究实际上并没有重建人类基因组,而且“在现有软件上仅有微小提升,甚至还不如现有软件”。其他很多基因研究者对Salzberg的说法表示了赞同。
谷歌确实有很多伟大的成果,但是我们在欣赏的同时也要注意鉴别。
3. 谷歌因为利益相关,说服我们高效利用深度学习的关键是更强的计算力,因为谷歌在计算力方面非常有优势。AutoML通常需要大量计算,例如为了学习AmoebaNet需要用450个K40 GPU训练7天。
如何解决机器学习专家短缺的问题?
为了解决全球机器学习从业者短缺的问题,我们可以采取的有以下几种方法:
让深度学习更易使用
给深度学习去神秘化
让资金不够充足的人也能用到云GPU
让深度学习更易使用
为了让深度学习更易使用,很多研究已经使其能够更快、更轻易地训练更好的网络。典型的案例有:
Dropout能让模型在更小的数据集上训练,并且不存在过度拟合
批归一化使训练速度更快
线性整流函数(ReLU)避免了梯度爆炸
其他提高使用简易程度的研究包括:
学习速率探测器使训练过程更稳定
Super convergence加速了训练时间,并且需要更少的计算资源
给深度学习去神秘化
提供更多资源:谷歌Colab Notebooks
虽然云GPU的花费普通人还能负担得起(每小时大约50美分,约合人民币3.4元),但是很多学生表示确实有点贵。在某些国家因为规定,他们无法使用像AWS这样的服务,现在谷歌Colab Notebook可以解决这个问题,它提供了Jupyter notebook环境,无需设置即可使用,在云上运行并给用户使用免费的GPU。谷歌Colab Notebook将会为深度学习做出更多努力,也许这也是谷歌在机器学习未来发展的一个更好的目标。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~