[论文笔记]Large-Scale Evolution of Image Classifiers

深层网络在图片分类问题上表现优异,但网络结构的设计上并没有统一的指导。进化是构建深度网络架构的一种方式。利用本文的自动化方法得出的深度网络结构,已经能在CIFAR-10上取得可以跟人工设计的网络相媲美的结果。

Methods

Evolution Algorithm

整个算法的核心是如下的tournament selection:

tournament

  • population: 供筛选的群体
  • individual: 个体,带有指标fitness,特别地,指在CV集上的损失
  • worker: 筛选者,上帝
  1. population 中的 individual 均已在训练集上训练完毕,带有指标 fitness
  2. worker 随机选择一对 individual,比较 fitness,较差的 individual 被舍弃
  3. 表现较好的 individual 成为parent,对其施加 mutation (变异),得到 child
  4. 训练 child 并在CV集上得到其 fitness,归还到 population

Encoding and Mutation

个体的网络结构和部分参数被编码为DNA。

能够施加的变异有:

  • 改变学习率
  • 恒等(不变)
  • 重设参数
  • 加入卷积层
  • 移除卷积层
  • 更改卷积层的stride参数
  • 更改卷积层的Channel参数
  • 更改卷积核大小
  • 加入skip连接(类似ResNet)
  • 移除skip连接

Computation

计算方面采用了并行、异步、无锁的策略。

comp

建立约为 population 数1/4的 worker,分别运行于不同的机器上,之间独立异步。population 共享,若两个 worker 在一个 individual 上产生冲突,则后一个 worker 停止并等待再次尝试。

Weight Inheritance

除了架构之外,子模型还会继承父母模型未经变异影响的隐藏层参数(不仅是DNA中的),这样使子模型的训练时间大幅减小。

Experiments and Results

文章的主要结果如下图:

results

最右边的结构是在CIFAR-10上发现的最好(CV集准确度最高)的结构,左边两个是它的祖先。其中白色块相当于简单的线性层,彩色块则带有非线性激活,可以看到,不同于人工设计的网络,某一线性层之后可能包含多个非线性层。

另外,利用本文的模型,也在CIFAR-100上做了实验,可以达到76.3%的准确率,一定程度上说明了算法的扩展性。

Analysis

popu

上图说明随着 population 规模和训练步数的增加,模型的整体水平在变好。

mutation

在模型陷入局部最优值时,提高变异率和重设参数会使群体继续进化。这是由于变异中包含恒等映射等不改变模型架构的变异类型,再加上weight Inheritance,一些子模型只是训练次数比其他模型多很多的“活化石”。

小结

Google I/O时就提到了自动筛选最优网络结构,但没有公布论文。但将网络结构自动化,必定是未来的方向。个人认为,ResNet就相当于自动化网络深度(一些层实际上被跳过了),而Inception单元似乎包含了太多的先验,而且也没有逻辑上的证据说明这样的结构更有效。网络结构本身就是先验信息,而要达到通用的人工智能,这些先验也必须由模型自行发觉。

强化学习本身也是一个进化过程,应该也有相关的工作将强化学习的框架应用于网络结构的学习上。

更进一步地,若数据是一阶信息,深度网络的隐藏层学到的表示是二阶信息,深度网络的结构则是三阶信息,从一阶到二阶的框架是不是都可以移植到二阶到三阶上来?关键之处在于我们还没有描述好深度网络的结构空间,但就现在的发展看,深度网络的一些基本结构(conv, BN)等,已经被作为基本单元(离散的)来进行构建和筛选了,也就是说,所有深度网络构成的空间之性质如何,还有大量的工作可以做。

论文链接:Large-Scale Evolution of Image, Classifiers

[论文笔记]On the Effects and Weight Normalization in GAN [论文笔记]An Analysis of Deep Neural Network Models for Practical Applications
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×