0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

现如今的人工神经网络能有多好的表现?

DPVg_AI_era 来源:未知 作者:李倩 2018-03-19 16:23 次阅读

谷歌官博发文,阐述了谷歌使用演化AutoML自动搜寻神经网络架构的成果。我们是否可以利用现有的计算资源大规模地通过编程的方式改进图像分类器?能否在极少专家参与的情况下得到解决方案?现如今的人工神经网络能有多好的表现?

大脑的进化进程持续已久,从5亿年前的非常简单的蠕虫大脑到现如今各种现代结构。例如,人类的大脑可以完成各种各样的活动,其中许多都是毫不费力的。再例如,分辨一个视觉场景中是否包含动物或建筑物对我们来说是微不足道的。

如果神经网要完成这项任务,则需要专家经过多年研究以后进行精心的设计,才能解决一项专门的任务,比如发现照片中存在的物体,发现基因变异,或者帮助诊断疾病。理想情况下,人们希望有一个自动化的方法可以为任何给定的任务生成正确的网络结构。

生成这些网络结构的方法之一是通过使用进化算法。传统的拓扑学研究已经为这个任务奠定了基础,使我们现如今能够大规模应用这些算法,许多科研团队正在研究这个课题,包括OpenAI、Uber实验室、Sentient验室和DeepMind。当然,谷歌大脑也一直在思考自动学习(AutoML)的工作。

除了基于学习的方法,例如强化学习,我们是否可以利用现有的计算资源大规模地通过编程的方式改进图像分类器?我们能在极少专家参与的情况下得到解决方案吗?现如今的人工神经网络能有多好的表现呢?我们通过两篇论文来回答这些问题。

在2017年ICML上发表的论文 “Large-Scale Evolution of Image Classifiers”中,我们通过简单的模块和初始条件构建了一个进化进程。这个想法简单的解释,就是“从头开始”,通过进化完成大规模地架构构建工作。从非常简单的网络开始,在进化的过程中获得了与人工设计的模型具有可比性的模型。在这个过程中,许多应用程序可能不需要人工参与,这令人备受鼓舞。

例如,一些使用者可能需要一个更好的模型,但却没有时间成为机器学习的专家。自然而然的,需要考虑下一个问题,人工设计的网络和进化网络的结合是否能获得比单独两种的方法更好的结果。因此,在2018年我们发表的一篇论文“Regularized Evolution for Image Classifier Architecture Search”,我们提供复杂的模块和良好的初始条件来构建进化进程。

此外,我们使用Google的新TPUv2芯片进行计算。在CIRAR-10和ImageNet两个流行的图像数据集上,通过对现代的硬件、专家知识和进化进行结合来获得最先进的模型。

一个简单的方法介绍第一篇论文:简单突变和选择过程不断改进网络

接下来将举一个简单的例子来解释第一篇论文。

在下面的图片中,每个点都是一个神经网络,这个网络在一个常用的图像分类数据集(CIRAR-10)上进行了训练。最初,整体由几千种相同的不包含隐藏层的简单种子模型组成。从简单的种子模型开始是很重要的,如果我们从一个拥有专业知识的高质量模型开始,那么最终得到一个高质量的模型会更容易。而用简单的模型作为种子,这个过程会逐步推进。

在每一步中,随机选择一对神经网络。具有较高准确率的网络被选择为父类,并通过进行复制和变异来生成子节点,加入到整体中,与此同时另一个神经网络会消失。在这个过程中,其他所有的网络会保持不变。随着循环这个步骤,整个网络就像人类的进化一样。

图1:进化实验示意图。每个点代表整体中的个体。这四个图是发现的结构的一个例子。这些都对应着最优秀的个体(即通过准确性验证进行选择获得的最右边的个体)和它的三个祖先。

我们的论文提到的突变是有目的的简化,例如随机删除一个卷积,在任意的层之间添加一个跳跃式传递,或者改变学习速率。这种方法在结果上显示出了进化算法的潜力,而不是搜索空间的质量。

例如,在一次进化中,如果我们使用了一个单一的突变将其中一个种子网络转换成一个Inception-ResNet分类器,那么我们就会错误认为算法获得了一个理想的结果。然而,在这种情况下,我们所做的只是通过操纵结果,对复杂突变的最终答案进行了硬编码。如果我们坚持简单的突变,这是不可能发生的,而进化正在做的也是这个工作。

在实验中,简单的突变和选择过程会导致网络在时间进程上不断改进,并达到很高的测试精度,即使面对寻览过程中从未出现过测试集。在这篇论文中,网络也可以继承父节点的权重。因此,除了进化的架构之外,在搜索空间探索初始条件和学习率时,整体系统也在训练它的网络。因此,这个过程获得了具有优化的超参数的完全训练模型。实验开始后,不需要任何专家输入。

尽管我们通过简单的初始架构和直观的突变来对研究人员的参与进行最小化处理,但大量的专家知识都融入了这些体系结构的模块之中。其中包括一些重要的发明,如卷积、ReLUs和批处理的归一化层。我们正在对一个由这些部分组成的体系结构进行进化。“体系结构”这个词不是偶然的,因为这个过程类似于用高质量的砖建造房子。

进化确实可以匹配或超越人工设计获得最先进的模型

在发表了第一篇论文之后,我们希望减少算法的选择范围来缩小搜索空间,使这个过程更易于管理。利用我们的架构推导,我们从搜索空间中去掉了所有可能导致大规模错误方法,类比于盖房子,我们去除了把墙放在屋顶上的可能性。

与神经网络结构的搜索相似,通过对网络结构的大致结构进行固定,可以帮助算法的实现。这要怎么做呢? Zoph等人在2017年的论文中引入了用于架构搜索的初始(inception-like)模块,已经证明这种方法是特别有效的。他们的想法是获得一大堆被称为细胞的重复单元。栈是固定的,但是单个模块的体系结构可以改变。

图2:在Zoph等人(2017)中提出的结构块。左边的图表是完整的神经网络的外部结构,它通过一堆重复的单元来对从底部到顶部的输入数据进行解析。右边的图表是一个细胞的内部结构。我们的目标是建立一个能够产生精确网络的细胞。

在我们的第二篇论文中,“Regularized Evolution for Image Classifier Architecture Search”,我们展示了将进化算法应用到上面描述的搜索空间的效果。这些突变通过随机地重新连接输入(在右侧的图中的箭头)或随机地进行替换操作来修改单元格,例如,它们可以使用最大值化操作任意地替换一个图中“max 3x3“的像素块。这些变异仍然相对简单,但是初始条件不尽相同,现在的整体已经可以用模型进行初始化,这些模型必须符合由专家设计的细胞结构。

尽管这些种子模型中的单元是随机的,我们不再从简单的模型开始,这样操作保证可以更加容易地得到高质量模型。如果进化算法的贡献是有意义的,那么在这个搜索空间,最终的网络应该比现有已构建的网络要好得多。我们的论文表明,进化确实可以匹配或超越人工设计获得最先进的模型。

控制变量比较法

尽管突变-选择的进化过程并不复杂,但也许一个更直接的方法也可以做同样的事情,如随机搜索。其他的选择方法虽然没有更简单,却也存在于文献中,如强化学习。正因为如此,我们第二篇论文的主要目的是在技术之间提供一个控制变量的对比。

图3:对进化、强化学习和为实现架构结构的随机搜索进行了比较。这些实验是在CIFAR-10数据集上进行的,并将搜索空间最初用于强化学习,这与Zoph等人在2017年实验的条件相同。

上面的数据对进化、强化学习和随机搜索进行了比较。左边的图片中,每条曲线代表了每个实验的进展,表明在搜索的早期阶段,进化比强化学习要快。这个结果特别重要,因为可用的计算能力较低,实验可能不得不提前停止。此外,进化对于数据集或搜索空间的变化非常具有鲁棒性。

总的来说,这个对照比较的目的是为科研团队提供一个高计算代价的实验的结果。在这个过程中,我们希望通过提供不同搜索算法之间关系的案例研究来促进对么一个研究人员提供架构搜索。例如,上面的结论表明,在使用较少的浮点操作的前提下,通过进化获得的模型可以达到非常高的精确度。

我们在第二篇论文中使用的进化算法的一个重要特征是正则化的形式的一种,即我们不让效果最差的神经网络死亡,而是移除最老的神经网络,不管它们有多好。这种方法提高了正在优化任务的健壮性,并保证最终会生成更加精确的网络。原因之一我们不允许继承权重,所有的网络都必须从头开始训练。因此,这种正则化的形式选择了在重新训练后仍然保持良好状态的网络。

换句话说,因为一个模型可能在偶然的情况下变得更加精确,训练过程中的噪音意味着即使是相同的体系结构也可能得到不同的精度值,只有经过几代后仍然能保持准确率的结构才能在长期内存活下来,导致效果优良的网络有被再次选择的机会。关于这个猜想的更多细节可以在论文中找到。

我们进化出的最先进的模型被称为“变形板(AmoebaNets)”,是我们的AutoML努力的最新成果之一。所有这些实验都通过使用几百个的GPU/TPU进行了大量的计算。就像一台现代的计算机可以胜过成千上万台几十年前的旧机器一样,我们希望在将来这些实验能够成进入千家万户。在这里我们的只是希望帮助大家对未来有一个简单的了解。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    6142

    浏览量

    105106
  • 神经网络
    +关注

    关注

    42

    文章

    4763

    浏览量

    100541

原文标题:谷歌演化AutoML自动发现神经网络新架构

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    人工神经网络原理及下载

    人工神经网络是根据人的认识过程而开发出的一种算法。假如我们现在只有一些输入和相应的输出,而对如何由输入得到输出的机理并不清楚,那么我们可以把输入与输出之间的未知过程看成是一个“网络”,通过不断地给
    发表于 06-19 14:40

    应用人工神经网络模拟污水生物处理

    应用人工神经网络模拟污水生物处理(1.浙江工业大学建筑工程学院, 杭州 310014; 2.镇江水工业公司排水管理处,镇江 212003)摘要:针对复杂的非线性污水生物处理过程,开发了径向基函数的人工
    发表于 08-08 09:56

    神经网络教程(李亚非)

      第1章 概述  1.1 人工神经网络研究与发展  1.2 生物神经元  1.3 人工神经网络的构成  第2章
    发表于 03-20 11:32

    人工神经网络课件

    人工神经网络课件
    发表于 06-19 10:15

    人工神经网络算法的学习方法与应用实例(pdf彩版)

    物体所作出的交互反应,是模拟人工智能的一条重要途径。人工神经网络与人脑相似性主要表现在:①神经网络获取的知识是从外界环境学习得来的;②各
    发表于 10-23 16:16

    【专辑精选】人工智能之神经网络教程与资料

    电子发烧友总结了以“神经网络”为主题的精选干货,今后每天一个主题为一期,希望对各位有所帮助!(点击标题即可进入页面下载相关资料)人工神经网络算法的学习方法与应用实例(pdf彩版)卷积神经网络
    发表于 05-07 19:18

    人工神经网络实现方法有哪些?

    人工神经网络(Artificial Neural Network,ANN)是一种类似生物神经网络的信息处理结构,它的提出是为了解决一些非线性,非平稳,复杂的实际问题。那有哪些办法能实现人工
    发表于 08-01 08:06

    【AI学习】第3篇--人工神经网络

    `本篇主要介绍:人工神经网络的起源、简单神经网络模型、更多神经网络模型、机器学习的步骤:训练与预测、训练的两阶段:正向推演与反向传播、以TensorFlow + Excel表达训练流程
    发表于 11-05 17:48

    怎么解决人工神经网络并行数据处理的问题

    本文提出了一个基于FPGA 的信息处理的实例:一个简单的人工神经网络应用Verilog 语言描述,该数据流采用模块化的程序设计,并考虑了模块间数据传输信号同 步的问题,有效地解决了人工神经网络
    发表于 05-06 07:22

    嵌入式中的人工神经网络的相关资料分享

    人工神经网络在AI中具有举足轻重的地位,除了找到最好的神经网络模型和训练数据集之外,人工神经网络的另一个挑战是如何在嵌入式设备上实现它,同时
    发表于 11-09 08:06

    基于FPGA的人工神经网络实现方法的研究

    基于FPGA的人工神经网络实现方法的研究 引 言    人工神经网络(Artificial Neural Network,ANN)是一种类似生物
    发表于 11-17 17:17 1216次阅读
    基于FPGA<b class='flag-5'>的人工</b><b class='flag-5'>神经网络</b>实现方法的研究

    基于FPGA的人工神经网络实现方法的研究

    基于FPGA的人工神经网络实现方法的研究 引言   人工神经网络(ArtificialNeuralNetwork,ANN)是一种类似生物神经网
    发表于 11-21 16:25 4790次阅读

    人工神经网络,人工神经网络是什么意思

    人工神经网络,人工神经网络是什么意思 神经网络是一门活跃的边缘性交叉学科.研究它的发展过程和前沿问题,具有重要的理论意义
    发表于 03-06 13:39 3401次阅读

    人工神经网络和bp神经网络的区别

    人工神经网络和bp神经网络的区别  人工神经网络(Artificial Neural Network, ANN)是一种模仿人脑
    的头像 发表于 08-22 16:45 4289次阅读

    不同的人工神经网络模型各有什么作用?

    人工神经网络(Artificial Neural Networks, ANNs)是一种受生物神经网络启发的计算模型,广泛应用于各种领域。本文将介绍不同类型的人工
    的头像 发表于 07-05 09:19 641次阅读