开发 | 手工搭建神经网络太费劲?来试试精确度高达94.1%的进化算法

AI科技评论按:阳春三月,辽阔的南美洲大草原上,两只体格强健的雄性美洲豹正在为争夺一只拥有美丽花纹的雌豹,进行着一场血腥而又激烈的较量。它们心里很清楚,成者为王,败则寇,只有赢得这场战斗,才有机会把自己的基因保留下来流传给后代。

这个方法残酷,但有效。在生物学中,人们将它称之为:进化论。

而当研究机器学习的科学家遇到生物学中的进化论,会有什么新的灵感产生?

答案是:进化算法。

近日,来自谷歌的研究人员Sherry Moore和Esteban Real等人就用进化算法为数据集CIFAR-10和CIFAR-100自动寻找神经网络。实验证明,该方法有效提高了匹配合适神经网络的效率和精确度。

上周,研究人员把实验的论文成果《Large-Scale Evolution of Image Classifiers》发布在了arXiv上,他们在论文中表示,在CIFAR-10的典型实验结果中,其准确度的期望值达到94.1%,标准差达到0.4%,其中最高精确度可达94.6%;而对CIFAR-100的单次实验精确度可达76.3%。

该算法可以为两个常见、但相当有难度的图像分类基准器(image classification benchmarks;)构建大型、精确的神经网络;而且此实验数据高于目前我们所知道的其他所有研究成果。 目前,该神经网络的工作效果完全可以和人类手工构建的神经网络相媲美。

| 进化算法的工作原理是什么?

为了达到自动寻找高性能的神经网络结构的目的,研究人员需要进化一个模型簇(population)。

每一个模型,也就是个体(individual),都是一个训练过的结构。模型在单个校验数据集(validation dataset)上的准确度就是度量个体质量或适应性的指标。AI科技评论从论文中总结出,每个进化过程都会经历一下几个步骤:

  1. 会有一个计算机,也就是工作者(worker),随机从模型簇中选出两个模型;
  2. 工作者比较两者孰优孰劣,根据优胜劣汰对模型进行识别;
  3. 不合适的模型会立刻从模型簇中被剔除,即代表该模型在此次进化中的消亡; 而更优的模型则成为母体(parent),进行繁殖;
  4. 通过这一过程,工作者实际上是创造了一个母体的副本,并让该副本随机发生变异,据此变异修改母本(这一点下面会讲到)。研究人员把这一修改过的副本称为子代(child);
  5. 子代创造出来后,就要接受工作者的训练,并在校验集上对它进行评估;
  6. 完成之后,把子代放回到模型簇中。此时,该子代则成为母体继续进行上述几个步的进化。

简言之,该进化算法就是在随机选出的两个个体中择其优,因此该方法也属于联赛选择算法(tournament selection)的一种

另外,如无其他说明,模型簇一般能容纳1000个个体,工作者的数量一般是个体数量的1/4,而消亡个体的目录会被删除,以保证整个算法能长时间在有限空间中运行。

| 变异类型有哪些?

由于子代相较于母体而言发生了变异,因此两者不是完全相同的。在每一代繁殖过程中,工作者都会从预先准备好的变异集合中随机选取变异。

可选的变异共有11中,以下为部分变异类型:

  • ALTER-LEARNING-RATE(抽样详情见下文)。
  • IDENTITY(意思是“继续培训”)。
  • RESET-WEIGHTS重置权重
  • INSERT-CONVOLUTION(在“卷积主干”随机插入卷积)
  • REMOVE-CONVOLUTION(移除卷积)

| 为什么要设立简陋的初始条件?

研究人员在论文中强调,实验的初始条件一定要非常简单。

个体一开始都只是基本的线性回归模型,不包含卷积,并且其学习速率仅为0.1。设置这样的条件就是为了保证进化能完全靠自己找到最合适的那个神经模型。

| 较此前研究有何突破?

事实上,很早以前就已经有科学家用神经发现法(neuro-discovery,神经进化的一种)自动匹配神经网络了(AI科技评论注:参见Miller等人于1989年发表的论文《Designing neural networks using genetic algorithms》)。虽然神经发现法的实验结果表现出很大的发展空间,但由于这一过程通常会涉及到大量的计算,因此,在当时的条件下,该方法在匹配精确度上仍无法和人工设计的模型相提并论。

而Esteban Real和他的团队则解决了这一问题。他们的解决办法是:

开发一种大规模并行且无锁的基础结构,使工作者们在不同的电脑上能够异步运行。它们不会直接与对方通信,而是共用一个存有模型簇的共享文档系统。 文档系统中的目录代表个体;对每个个体所进行的操作,如使之从模型簇中消亡,则表示为目录中的原子重命名(atomic rename)。

但如果遇到一个工作者去修改另一个正在被其他工作者操作着的个体的情况,该怎么解决呢?

研究人员在论文中表示,在这种情况下,受到影响的工作者会放弃操作,寻找其他个体。

附论文地址:https://arxiv.org/pdf/1703.01041.pdf

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-03-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

当你的深度学习模型走进死胡同,问问自己这5个问题

来源:量子位 编译:安妮 本文长度为2509字,建议阅读4分钟 本文为你介绍深度学习中应该思考的5个问题。 深度学习是一项庞大又复杂的工程,在建立深度学习模型时...

1739
来自专栏人工智能头条

一文读懂AlphaGo背后的强化学习

1203
来自专栏大数据挖掘DT机器学习

拍拍贷风控预测模型

拍拍贷“魔镜风控系统”从平均400个数据维度评估用户当前的信用状态,给每个借款人打出当前状态的信用分,在此基础上,再结合新发标的信息,打出对于每个标的6个...

4187
来自专栏达观数据

技术干货 | 如何选择上班路线最省时间?从A/B测试数学原理说起

当面对众多选择时,如何选才能最大化收益(或者说最小化我们的开销)?比如,怎么选择最优的上班的路线才能使途中花费的时间最少?假设每天上下班路线是确定的,我们便可以...

3777
来自专栏专知

Richard S. Sutton经典图书:《强化学习导论》第二版(附PDF下载)

【导读】Richard S. Sutton就职于iCORE大学计算机科学系,是强化学习领域的专家,其在强化学习领域的著作“Reinforcement Learn...

4289
来自专栏AI科技评论

百度ICML论文:如何用一种算法同时解决中英两种语言的语音识别需求

论文作者:Dario Amodei , Rishita Anubhai , Eric Battenberg , Carl Case , Jared Casper...

33212
来自专栏alexqdjay

信息熵

2624
来自专栏新智元

实用:用深度学习方法修复医学图像数据集

1533
来自专栏美团技术团队

美团技术团队博客:推荐算法实践

前言 推荐系统并不是新鲜的事物,在很久之前就存在,但是推荐系统真正进入人们的视野,并且作为一个重要的模块存在于各个互联网公司,还是近几年的事情。 随着互联网的深...

37611
来自专栏智能算法

深度学习漫游指南:强化学习概览

本文是NVIDIA博客上Tim Dettmers所写的《Deep Learning in a Nutshell》系列文章的第四篇。据介绍,该系列文章的目的是「提...

3105

扫描关注云+社区