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

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

3天内不再提示

DENSER是一种用进化算法自动设计人工神经网络(ANNs)的新方法

zhKF_jqr_AI 2018-01-10 15:49 次阅读

深度进化网络结构表示(DENSER)是一种用进化算法自动设计人工神经网络(ANNs)的新方法。该算法不仅能搜索最佳网络拓扑结构,还能调整超参数(比如学习或数据增强超参数)。为了实现自动设计,该模型分为两个不同的层级:其中外层编码网络的总体结构,内层编码每层的相关参数。图层和超参数的数值范围是通过人类可读、与上下文无关的语法来定义的。

本文的主要成果有:

DENSER:一种基于进化原理的通用框架,可以自动搜索适合具有不同图层类型或目标的大规模深度网络的结构和参数;

可自动生成的卷积神经网络(CNN),在没有任何先验知识的情况下可以有效对CIFAR-10数据集进行分类,平均准确率为94.27%;

用DENSER生成的ANNs表现得很好。具体来说,在CIFAR-100数据集上的平均准确率为78.75%,这是通过一个由CIFAR-10数据集生成的网络获得的。就我们所知,这是自动设计CNN方法在CIFAR-100数据集上得出的最佳结果。

DENSER

为了改进人工神经网络的结构和参数,我们提出了“深度进化网络结构表示”(DENSER),它集合了遗传算法(GAs)和动态结构化语法进化(DSGE)的基本思想。

表征

每个解决方案通过前馈层的有序序列及其各自的参数对ANN进行编码;学习和其他任何超参数也可以单独编码。候选解决方案的表征在两个不同层次上完成:

遗传算法:编码网络的宏观结构,并且负责表示图层的次序,之后用作语法开始符号的标志。它要求定义网络允许的结构,即图层的有效顺序。

DSGE:编码与图层有关联的参数,参数及其允许的值或范围被编码在必须由用户定义的语法中。

交叉

这一过程中提出了两种交叉算子,他们基于不同的基因型水平。在当前工作的背景下,一个模块并不代表能复制多次的层组,而是属于同一个遗传算法结构指数的层。

考虑到每个算子都有相同的模块(可能层数不同),第一个交叉算子是单点交叉,它在同一个模块内改变两个个体之间的层。

第二个交叉算子是一个统一的交叉,它改变了两个个体之间的整个模块。

变异

为了促进人工神经网络的进化,我们开发了一套变异算子。在遗传算法水平上,变异算子旨在操纵网络结构:

添加图层:根据要放置图层的模块的起始符号可能性生成新图层;

复制图层:随机选择一个图层,并将其复制到模块的另一个有效位置。这种复制是相连的,如果图层中参数改变,那么所有复制层也将改变;

删除图层:从给定的模块中选择并删除一个图层。

上述变异算子只是网络中的一般结构;要改变层的参数,需要使用以下DSGE变异:

语法变异:一种扩展可能性(expansion possibility)被另一个替代;

整数变异:在允许范围内产生一个新的整数值;

浮点变异:对给定的浮点值进行高斯摄动。

实验结果

为了进行测试,我们在CIFAR-10数据集上进行CNN生成实验。CIFAR-10中有60000个样本,每个都是32×32的RGB彩色图像,这些图像一共被分成10类。DENSER提出的解决方案将被映射到Keras模型,从而检测它们的性能。任务的目标是测量模型识别对象的准确性最大是多少。

为了分析网络的泛化和扩展能力,我们采用了最佳的CNN拓扑结构,并对CIFAR-100数据集进行分类测试。

CIFAR-10上的CNN进化

在生成的CNN上,我们进行了10次CIFAR-10数据集的分类测试。对于生成的网络,我们分析它们的拟合度(fitness,即分类任务的准确性)和隐藏层的数量。

DENSER是一种用进化算法自动设计人工神经网络(ANNs)的新方法

图1

图1描述了在迭代中最佳CNN的平均拟合度和层数的演变。结果表明,进化正在发生,解决方案往往出现在第80次迭代处。从进化开始到大约第60次,性能的提升都伴随着层数的减少;从第60次往后,性能的提升会导致最佳网络的隐藏层数量增加。这一分析表明,第一代随机生成的解决方案有很多层,其参数也是随机设置的。

DENSER是一种用进化算法自动设计人工神经网络(ANNs)的新方法

图2

进化过程中最佳网络已在图2中表示出来(根据准确度判断)。进化网络最让人不解的特点是在拓扑结构结尾使用密集层的重要性和数量。据我们所知,如此大量的密集层的使用顺序是前所未有的。甚至可以说,人类永远不会想出这样的结构,所以这个进化结果非常有意义。

一旦进化过程完成,每次生成的最佳网络将被重新训练五次。首先,我们用相同的学习速率训练网络(lr=0.01),不过这次不止测试10次了,而是400次。之后我们将获得88.41%的平均分类精度。为了进一步提高网络的准确度,我们对测试集中的每个样本进行增强,生成100张增强图像,并且预测这100张图像上的平均最大置信度值。最终,最佳进化网络的平均准确度提高到89.93%。

为了研究是否有可能提高最佳网络的性能,我们使用CGP-CNN,用相同的策略训练它们:最初的学习速率为0.01,随机变化;第五次时增加到0.1;第250次是又减少到0.01;最终在第375次时减少到0.001.根据之前的训练策略,网络的平均准确度提升到93.38%。如果增强数据集中的数据,那么平均准确度为94.13%,即平均误差为5.87%。

DENSER是一种用进化算法自动设计人工神经网络(ANNs)的新方法

CIFAR-10结果对比

上表是DENSER与其他方法生成的最佳结果的对比,可见DENSER的准确度最高。另外,在我们的方法中,可训练参数的数量要高得多,因为我们允许在进化的CNN中放置完全连接的层。另外,在进化过程中,没有用到先验知识。

CIFAR-100上的泛化能力

为了测试进化网络的泛化和可扩展性,我们将在CIFAR-10上生成的最佳网络应用于CIFAR-100上。为了能使网络正常工作,我们只将softmax层的输出神经元从10个改为100个。

每个网络的训练是随机的;由于数据增加,初始条件的不同,所以训练它们要使用不同的样本。因此,为了进一步改进结果,我们研究了Graham提出的测试一部分最大池的性能是够能提高我们网络的性能。简而言之,我们不再使用单独的网络,而是使用一个集合,其中的每个网络都是独立训练的结果。利用这种方法,训练五次的同一个单一网络的准确度为77.51%;含有10个网络的集合的准确度为77.89%;12个网络的集合的准确度为78.14%。这些结果均优于使用标准数据增强的CNN方法。

此外,组成集合的也并不是同样结构的网络,而是选用DENSER构建的两个最好的网络拓扑结构。按照这种方法,我们得到的模型准确度提高至78.75%。

DENSER是一种用进化算法自动设计人工神经网络(ANNs)的新方法

CIFAR-100结果

上表表示DENSER在CIFAR-100数据集上的结果与其他方法的比较。

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

    关注

    1

    文章

    119

    浏览量

    14598
  • denser
    +关注

    关注

    0

    文章

    1

    浏览量

    1952

原文标题:DENSER:用进化算法自动设计神经网络

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

收藏 人收藏

    评论

    相关推荐

    人工神经网络原理及下载

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

    一种标定陀螺仪的新方法

    一种标定陀螺仪的新方法
    发表于 08-17 12:17

    一种基于经优化算法优化过的神经网络设计FIR滤波器的方法介绍

    定程度上改善了传统方法的局限性,但这些方法自身也存在着些不足。之后,曾喆昭等人提出了一种基于余弦基
    发表于 07-08 07:16

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

    人工神经网络(Artificial Neural Network,ANN)是一种类似生物神经网络的信息处理结构,它的提出是为了解决些非线性
    发表于 08-01 08:06

    一种基于高效采样算法的时序图神经网络系统介绍

    成为了非常重要的问题。 基于以上问题,本文提出了一种基于高效采样算法的时序图神经网络系统 。首先我们介绍用于时序图神经网络采样的高效采样方法
    发表于 09-28 10:34

    基于差分进化的BP神经网络学习算法

    提出了一种基于改进差分进化算法和 BP神经网络 的计算机网络流量预测方法。利用差分
    发表于 08-10 16:13 31次下载
    基于差分<b class='flag-5'>进化</b>的BP<b class='flag-5'>神经网络</b>学习<b class='flag-5'>算法</b>

    人工神经网络电子课件

    人工神经网络(ArtificialNeuralNetworks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(ConnectionistModel),它是
    发表于 08-16 17:12 0次下载
    <b class='flag-5'>人工</b><b class='flag-5'>神经网络</b>电子课件

    基于GA优化T_S模糊神经网络的小电流接地故障选线新方法_王磊

    基于GA优化T_S模糊神经网络的小电流接地故障选线新方法_王磊
    发表于 12-31 14:45 0次下载

    人工神经网络简单算法的原理

    人工神经网络,简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或者计算模型。其实是一种
    发表于 11-15 12:54 3.4w次阅读
    <b class='flag-5'>人工</b><b class='flag-5'>神经网络</b>简单<b class='flag-5'>算法</b>的原理

    什么是人工神经网络?有什么特点和应用?

    人工神经网络(Artificial Neural Networks,ANNs),也简称为神经网络(NNs),是模拟生物神经网络进行信息处理的
    发表于 07-13 09:24 2.2w次阅读

    一种基于深度神经网络的迭代6D姿态匹配的新方法

    在本文工作中,作者提出了DeepIM——一种基于深度神经网络的迭代6D姿态匹配的新方法。给定测试图像中目标的初始6D姿态估计,DeepIM能够给出相对SE(3)变换符合目标渲染视图与观测图像之间
    的头像 发表于 09-28 10:23 3787次阅读

    人工神经网络的含义和用途是

    人工神经网络(Artificial Neural Networks,简称ANNs)是一种受生物神经网络启发而构建的数学模型,它通过模拟人脑
    的头像 发表于 07-02 10:07 671次阅读

    人工神经网络模型是一种什么模型

    人工神经网络(Artificial Neural Networks,简称ANNs)是一种受生物神经网络启发而产生的数学模型,用于模拟人脑处理
    的头像 发表于 07-04 16:57 753次阅读

    人工神经网络模型的分类有哪些

    人工神经网络(Artificial Neural Networks, ANNs)是一种模拟人脑神经元网络的计算模型,它在许多领域,如图像识别
    的头像 发表于 07-05 09:13 932次阅读

    BP神经网络人工神经网络的区别

    BP神经网络人工神经网络(Artificial Neural Networks,简称ANNs)之间的关系与区别,是神经网络领域中
    的头像 发表于 07-10 15:20 809次阅读