进化计算与深度学习1

进化计算与深度学习1

进化计算与深度学习(机器学习)结合的两个方向:

  • 将深度学习(大多是机器学习)的方法应用于进化计算中,要么替换进化计算的某些算子,要么加速优化的过程。最常用的例子是使用一些机器学习方法作为代理模型,以节省算法的真实评价次数。另外,机器学习方法还可用于种群映射。

  • 将进化计算应用于深度学习模型,用于优化模型的结构或者参数,这类方法被称为Evolutionary Deep Learning

Learning Method Assisted Evolutionary Computation

  • Autoencoding Evolutionary Search With Learning Across Heterogeneous Problems

    作者:Liang Feng, Yew-Soon Ong, Siwei Jiang, and Abhishek Gupta

    期刊: IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION

    发表时间: 2017

    解决的问题: 种群之间的映射

    工作动机:

    现在的优化问题大多都是从头开始求解,但是有些优化问题之间具有一定的相关性,如何将已解决优化问题的最优解映射到当前优化过程中,从而加速算法收敛是需要解决的问题。

    主要内容:

  1. 自编码器和降噪自编码器
  • 自编码器(Autoencoder,AE)是一种利用反向传播算法使得输出值X’等于输入值X’的神经网络,它先将输入压缩成潜在空间表征,然后通过这种表征来重构输出。自编码器也是一种有损压缩,可以通过使得损失函数最小,来实现X’ 近似于X的值。简单的自编码器是一种三层的神经网络模型,包含数据输入层、隐藏层、输出层。
    自编码器由两部分组成:
    1)编码器(encoder):这部分能将输入压缩成潜在空间表征,可以用编码函数h=f(x)表示。
    2)解码器(decoder):这部分重构来自潜在空间表征的输入,可以用解码函数r=g(h)表示。

    进化计算与深度学习1_第1张图片

    • 降噪自编码器(Denoising Autoencoder, DAE),在训练过程中,输入的数据有一部分是“损坏”的,其核心思想是一个能够从中恢复出原始信号的神经网络表达未必是最好的,能够对“损坏”的原始数据编码、解码,然后还能恢复真正的原始数据,这样的特征才是好的。
      进化计算与深度学习1_第2张图片
  1. 基于种群映射的进化计算

    • 将相关问题的种群作为作为DAE的输入,将当前种群作为DAE的输出,学习到两个种群之间的映射关系M
      在这里插入图片描述
      t i t_i ti表示之前种群中的个体, s i s_i si表示当前种群中的个体, M M M表示映射关系,上式可以简写成矩阵的形式

      t r ( ) tr() tr()表示矩阵的迹, P t P_t Pt表示已解决问题的种群, P s P_s Ps表示当前问题的种群,其解为

      M M M即所求的映射关系,由上式可知,根据两个问题的种群即可计算出映射关系。需要注意的是,映射关系 M M M只是用到了降噪自编码器的原理,并没有训练实际的网络结构。
    • 在进化过程中每隔G代计算一次映射关系M,将已求得问题的最优解经过映射后添加到当前种群中,用于指导当前种群的进化。
      进化计算与深度学习1_第3张图片
  • Multisource Selective Transfer Framework in Multiobjective Optimization Problems

    作者:Jun Zhang , Weien Zhou, Xianqi Chen, Wen Yao, Lu Cao

    期刊:IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION

    发表时间: 2020

    解决的问题: 如何选择合适的问题进行迁移学习

    工作动机:当种两个种群是一对一的映射关系时比较好解决,但是当已解决的问题有多个时,如何从这些问题中选择出合适的问题进行映射

    主要内容:
    进化计算与深度学习1_第4张图片
    文章主要解决的问题是如何从多个历史已求解的问题中找到和当前问题最相近的一个或者几个问题。采样的方法是量化种群在决策空间中的分布,使用了分布性评估算法(Estimation of Distribution Algorithms ),用于评价种群在决策空间中的分布特征。本文作者认为,两个种群在决策空间中的分布越相似,其相关性越大。

    1. 个体表示

      一个 n n n维的种群在决策空间中的分布可以使用分布中心表示。
      进化计算与深度学习1_第5张图片进化计算与深度学习1_第6张图片

    2. 相似性评估
      使用种群中心的WD距离表示两个种群的相似性
      在这里插入图片描述

    3. 选择策略

      如何在多个种群中选择出合适的一个或者多个种群,三种策略:最近邻、权重和、Top-K。

Evolutionary Deep Learning

  • Surrogate-Assisted Evolutionary Deep Learning Using an End-to-End Random Forest-Based Performance Predictor
    作者:Yanan Sun, Handing Wang , Bing Xue , Yaochu Jin
    期刊: IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION
    发表时间: 2020
    解决的问题: 如何使用进化计算获得最优的网络结构
    工作动机:某些特定的卷积神经网络结构有时只适用于某些特定的数据集,当数据集发生改变时,需要重新设计网络的结构。但是一个网络的训练过程往往时非常耗时的,如何在较短的时间内获得准确率比较高的网络结构。
    主要内容:
    1. 将一个网络的训练过程看作是一次比较耗时的函数评价过程,使用代理模型替换掉昂贵的真实评价。
      进化计算与深度学习1_第7张图片
    2. 个体的表达
      种群中的一个个体表示一个网络结构,该结构包含3个部分: DenseNet Blocks (DBs), ResNet Blocks (RBs), Pooling Blocks . DB或者RB使用三元组[type, out, amount] 表示,type表示是DB还是RB,out表示输出,amount表示层数。 Pooling Blocks使用[pooling type, layer position] 表示。
      个体的适应度值是该模型的准确率。
    3. 代理模型的训练
      代理模型是用随机森林,随机森林更适用于离散问题和训练数据比较少的情况。

实验结果:
进化计算与深度学习1_第8张图片
通过进化计算得到的网络模型在数据集CIFAR100上的准确率比较高,在数据集CIFAR100上的准确率一般。

文章中比较关键的部分是代理模型的训练,需要具体采样多少条数据文章中也没有给出。若需要的训练数据较多则耗费的时间比较长,若训练数据比较少代理模型的准确率又会很低。

你可能感兴趣的:(Evolutionary,Deep,Learning)