导航:首页 > 网络问题 > 网络结构如何改进

网络结构如何改进

发布时间:2022-10-22 20:26:31

‘壹’ 数据中心网络架构扁平化到两层的方式有何弊端

我是学信息管理与信息系统的。

首先说一下什么是数据中心网络架构。顾名思义,不论是在酒店的管理系统中掌握的顾客信息、学校的学生教务系统中掌握的成绩信息、还是医院的医疗系统中掌握的病人信息,在管理系统中都称之为数据。随着网络技术以及管理系统的不断演进和发展,利用网络平台管理信息数据的管理系统通常是以数据中心网络架构作为基础,从而一步一步实现的。

数据中心网络架构扁平化设置主要是基于数据传输效率和容错能力,存在不少缺点。默认的聚合设备导致端口号增多,对设备本身进行转发,计算处理能力,甚至对产品架构提出更高的要求,设备损耗很快。

‘贰’ 自然和医学图像的深度语义分割:网络结构

原文链接: https://www.yanxishe.com/blogDetail/18223?from=jianshu0312

一、写在前面:

网络架构的设计主要是基于 CNN 结构延伸出来的。主要的改进方式有两点:新神经架构的设计(不同深度,宽度,连接性或者拓扑结构)或设计新的组件(或者层)。下面我们逐个去分析了解。

本文涉及到的论文范围如下图:

二、网络架构的改进

2.1.1 FCN

传统的 CNN 分割,为了对一个像素分类,使用该像素周围的一个图像块作为 CNN 的输入用于训练和预测。缺点很多:比如存储开销大,计算效率低,像素块大小也限制了感知域的大小。基于存在的这些问题,由 Long 等人在 2015 年提出的 FCN 结构,第一个全卷积神经网络的语义分割模型。我们要了解到的是,FCN 是基于 VGG 和 AlexNet 网络上进行预训练,然后将最后两层全连接层改为的卷积层。

FCN 具体处理过程是怎么样的?从 pool1 开始,每个 pool 后图像都会变为上个池化后图像的 1/2。Pool1 为原图的 1/2,以此类推,pool5 后为原图的 1/2^5,conv6,和 conv7 之后的图像保持不变,进行 stride=32 的反卷积,得到 FCN-32s。也就是直接对 pool5 进行 32 倍上采样获得 32 upsampled feature,再对 32 upsampled feature 每个点做 softmax prediction,就可以获得 32*upsampled prediction(分割图)。

FCN 这三个创新点有哪些? 全卷积 :用于解决逐像素的预测问题。通过将基础网络最后面几个全连接层换成卷积层,可实现任意大小的图像输入,并且输入图像大小与输入相对应。 反卷积 :端到端的像素级语义分割需要输出大小和输入图像大小一致。但是传统的 conv+pooling 结构会缩小图片尺寸。基于此作者引入反卷积(deconvolution)操作,对缩小后的特征进行上采样,恢复原始图像大小。 跳跃结构 :语义分割包括语义识别和目标定位。卷积网络的高层特征图可以有效的反应语义信息,而低层特征图可以有效反应目标的位置信息。语义分割任务同时进行语义识别和目标定位。作者提出的跨层连接结构(skip architecture),将低层的目标位置信息和高层语义信息进行融合,以此来提升语义分割性能。在此基础上进行 2 倍采样,2 倍 upsample 之后与 pool4 的像素点相加,进行 stride=16 的 upsample,为此 FCN-16s,重复上面类似的步骤,得到 FCN-8s。

了解到以上信息,应该对 FCN 有个整体的认识了。还有一些细节部分,比如 FCN 采用的简单的 softmax 分类损失函数,采用双线性差值 + 反卷积进行上采样,在微调的时候没有采用类别平衡策略。分割结果来看,FCN-8s>FCN-16s>FCN-32s。也就是说使用多层特征融合有利于提高分割准确性。

2.1.2 SegNet

SegNet 主要动机是在场景理解 。它在设计的时候考虑的是预测期间保证内存和计算时间上的效率。其中,SegNet 和 FCN 有很多相似之处,编码网络使用 VGG16 的前 13 层卷积;移除全连接;解码器使用从相应的编码器的 max-pooling indices 进行 upsampling。

对比 SegNet 和 FCN 实现 Decoder 的过程。FCN 是利用双线性插值初始化的反卷积进行上采样。而 SegNet 则是在每次 pooling 时,都存下最大值的位置,在 upsample 时将 input 值直接赋给相应的位置,其他位置的值置零。

2.1.3 U-Net

接下来,我们需要了解的是 U-Net。U-net 网络架构,由收缩路径(contracting path)和扩展路径(expanding path)组成。每一层使用两个 3 乘 3 的 conv kernel,每次卷积都进行 Relu 和 stride=2 的 maxpooling 进行下采样。四次操作后输出结果称之为 feature map。

2 乘 2 的反卷积,上采样,通道数减半,并将左边对称位置的 feature map 到右边进行 concate 操作,来融合下采样的浅层位置信息和高层语义信息。合并后在进行 3*3 的卷积操作。最后 output 之前,通道数表示分类的类别产生 N 类分割结果,最后选择出概率值最大的分割结果,作为最后的分割图。

U-Net 中常常会问为什么适用于医学图像这个问题.。首先分析医学影像数据特点:图像语义较为简单,结构较为固定:都是一个固定的器官的成像。而且器官本身结构固定,语义信息没有特别丰富,所以高级语义信息和低级特征都非常重要。(U-net 的 skip connection 可以解决这个问题);数据量少:医学影像的数据较难获取,为了防止过拟合,设计的模型不宜过大;多模态:医学影像是具有多种模态的;可解释性:医生需要进一步指导病灶在哪一层,哪一层的哪个位置,分割结果能求体积么?而且 U-Net 在自然图像分割也取得了不错的效果。

需要注意的一点:Unet 融合浅层信息是 maxpooling 之前还是之后的结果?是 maxpooling 之前的结果。因为 Maxpooling 之后会丢失准确的位置信息。

2.1.4 V-Net

V-Net 也就是 3D 的 U-net 的一种版本,3D 卷积,引入残差模块和 U-Net 的框架。整个网络分为压缩路径和非压缩路径,也就是缩小和扩大 feature maps,每个 stage 将特征缩小一半,也就是 128-128-64-32-16-8,通道上为 1-16-32-64-128-256。每个 stage 加入残差学习以加速收敛。 图中的圆圈加交叉代表卷积核为 5 乘 5 乘 5,stride 为 1 的卷积,可知 padding 为 2 乘 2 乘 2 就可以保持特征大小不变。每个 stage 的末尾使用卷积核为 2 乘 2 乘 2,stride 为 2 的卷积,特征大小减小一半(把 2x2 max-pooling 替换成了 2x2 conv.)。整个网络都是使用 keiming 等人提出的 PReLU 非线性单元。网络末尾加一个 1 乘 1 乘 1 的卷积,处理成与输入一样大小的数据,然后接一个 softmax。

而且 V-Net 采用 Dice coefficient 损失函数,如下:

Pi 为预测的前景,Gi 为标记的前景,使用这个函数能有效避免类别不平衡的问题。

2.1.5 Dense-UNet

Dense U-net(原名:one-hundred layers Tiramisu Network)该架构是由密集连接块(dense block)构建的。该架构由向下过度的两个下采样路径和向上过度的两个上采样路径组成。且同样包含两个水平跳跃连接,下采样 Dense 模块的输出与同水平的上采样 Dense 模块输入的相应特征图拼接在一起。上采样路径和下采样路径的连接模式并不完全相同:下采样路径中,每个密集块外有一条跳跃性连接,从而导致 feature map 数量线性增长,上采样中没有此操作。

主要创新点是融合了 Dense-Net 和 U-Net 网络。

2.1.6 DeepLab 系列网络

DeepLabV1:首次把空洞卷积(dilated convolution) 引入图形分割领域, 融合卷积神经网络和概率图模型:CNN + CRF,提高了分割定位精度。

DeepLabV2:ASPP (扩张空间金字塔池化):CNN+CRF。

DeepLabV3:改进 ASPP,多了 1 乘 1 卷积和全局平均池化(global avg pool);对比了级联和并联空洞卷积的效果。

DeepLabV3+:加入编解码架构思想,添加一个解码器模块来扩展 DeepLabv3;将深度可分离卷积应用于 ASPP 和解码器模块;将改进的 Xception 作为 Backbone。

2.1.7 PSPNet

PSPNet 全名是 Pyramid Scene Parsing Network(金字塔场景解析网络)。提出了金字塔池化模块(pyramid pooling mole)能够聚合不同区域的上下文信息,从而提高获取全局信息的能力。

输入图像后,使用预训练的带空洞卷积 ResNet 提取特征图。最终的特征映射大小是输入图像的 1/8;在特征图上,我们使用 C 中的金字塔池化模块收集上下文信息。使用 4 层金字塔结构,池化内核覆盖了图像的全部、一半和小部分。他们被融合为全局先验信息;在 c 的最后部分将之前的金字塔特征映射与原始特征映射 concate 起来;在进行卷积,生成 d 中的最终预测图。

总结

基于深度学习的图像语义分割模型大多遵循编码器-解码器体系结构,如 U-Net。近几年的研究成果表明,膨胀卷积和特征金字塔池可以改善 U-Net 风格的网络性能。

参考文献:

Deep Semantic Segmentation of Natural and Medical Images: A Review

‘叁’ 从网络安全角度出发,谈谈对该局域网安全性改进的建议。

其实,安全域的合理划分也可以有效应对网络安全事件。从目前的拓扑来看,并没有安全域这个概念。比如,web服务这一部分的服务器,可以规划一个DMZ域,数据库服务器可以规划为数据库域,核心交换可以规划维网络交换域。各个部门之间规划成业务处理域。等等。。这样的话,安全域和安全域之间要有明确的边界,在边界处合理部署防火墙,通过防火墙进行有效限制。
为了预防黑客攻击,仅仅通过安全域和合理划分还是不够的。安全产品可以弥补漏洞和其他脆弱点带来的威胁。网站首页被篡改,可以在web服务前段部署WAF,开启网页防篡改功能,WAF产品还可以有效的对sql注入,跨站等owasp统计的十大威胁。当然部分厂商的waf是可以绕过的,只需要通过某些组合,因此在产品测试期间,一个良好的测试工程师是很有必要的。在一个就是数据库审计也很有必要,毕竟公司数据库服务器曾受过攻击。数据库审计可以有效的对数据库进行行为审计,及时发现可疑行为。关于ddos防护,可以采用黑洞产品。通过防火墙来进行防ddos,当流量过大是防火墙产不多就已经死掉了(亲自测试),所有黑洞产品一般部署在防火墙之前。在谈一下防病毒。防病毒可以再网络当中部署防毒墙。最好的建议就是在每一个客户端上安装symantec杀毒软件(企业版)或者趋势的杀毒软件。
上面都是从防来讲的,其实我们也可以主动出击,防患于未然。通过数据库漏洞扫描。主机漏洞扫描web漏洞扫描系统,结合渗透测试,对网络做出合理的评价。
从题目当中,可以知道这是锐捷的出的题目,最好就是能够运用上锐捷的产品。锐捷的下一代防护墙将前面的大部分的功能结合在一起,锐捷下一代防火墙,避开安全产品糖葫芦是部署方式,可以同时开启功能。考虑到网络延迟的问题,因此锐捷的下一代防火墙是最佳选择。再价格方面也具有一定的优势。要是成本不考虑的话对现有的网络进行改造,不建议采用锐捷下一代防火墙。毕竟锐捷是从网络产品起步,跟其他安全厂家,绿盟。启明,天融信。迪普。。等。。。还存在部分差距。总体上讲,锐捷产品还是不错的。
以上回答并没有完全回答完毕,要是完全回答完了,估计可以出本书了、、、只是捡了几条相对重点来讲的。望采纳

‘肆’ 深度卷积神经网络各种改进结构块汇总

这个网络主要源自于Resnet网络,其作用是:
将靠前若干层的某一层数据输出直接跳过多层引入到后面数据层的输入部分。
意味着后面的特征层的内容会有一部分由其前面的某一层线性贡献。
实验表明,残差网络更容易优化,并且能够通过增加相当的深度来提高准确率。

最终可以使得网络越来越深,Resnet152就是一个很深很深的网络。

残差网络的典型结构如下:

这个结构主要是在Inception网络结构中出现。
Inception网络采用不同大小的卷积核,使得存在不同大小的感受野,最后实现拼接达到不同尺度特征的融合。

不同大小卷积核并行卷积的典型结构如下:

这种结构主要利用在InceptionV3中。
利用1x7的卷积和7x1的卷积代替7x7的卷积,这样可以只使用约(1x7 + 7x1) / (7x7) = 28.6%的计算开销;利用1x3的卷积和3x1的卷积代替3x3的卷积,这样可以只使用约(1x3 + 3x1) / (3x3) = 67%的计算开销。
下图利用1x7的卷积和7x1的卷积代替7x7的卷积。

下图利用1x3的卷积和3x1的卷积代替3x3的卷积。

这个结构在Resnet里非常常见,其它网络也有用到。
所谓Bottleneck结构就是首先利用1x1卷积层进行特征压缩,再利用3x3卷积网络进行特征提取,再利用1x1卷积层进行特征扩张。

该结构相比于直接对输入进行3x3卷积减少了许多参数量。

当输入为26,26,512时,直接使用3x3、filter为512的卷积网络的参数量为512x3x3x512=2,359,296。

采用Bottleneck结构的话,假设其首先利用1x1、filter为128卷积层进行特征压缩,再利用3x3、filter为128的卷积网络进行特征提取,再利用1x1、filter为512的卷积层进行特征扩张,则参数量为 512×1×1×128 + 128×3×3×128 + 128×1×1×512 = 278,528。

深度可分离卷积主要在MobileNet模型上应用。
其特点是3x3的卷积核厚度只有一层,然后在输入张量上一层一层地滑动,每一次卷积完生成一个输出通道,当卷积完成后,在利用1x1的卷积调整厚度。

假设有一个3×3大小的卷积层,其输入通道为16、输出通道为32。具体为,32个3×3大小的卷积核会遍历16个通道中的每个数据,最后可得到所需的32个输出通道,所需参数为16×32×3×3=4608个。

应用深度可分离卷积,用16个3×3大小的卷积核分别遍历16通道的数据,得到了16个特征图谱。在融合操作之前,接着用32个1×1大小的卷积核遍历这16个特征图谱,所需参数为16×3×3+16×32×1×1=656个。

这种结构主要存在在Xception网络中。
改进版深度可分离卷积就是调换了一下深度可分离的顺序,先进行1x1卷积调整通道,再利用3x3卷积提取特征。
和普通的深度可分离卷积相比,参数量也会有一定的变化。

改进版深度可分离卷积加上残差网络的结构其实和它的名字是一样的,很好理解。
如下图所示:

在ResNet50里我们认识到一个结构,bottleneck design结构,在3x3网络结构前利用1x1卷积降维,在3x3网络结构后,利用1x1卷积升维,相比直接使用3x3网络卷积效果更好,参数更少,先进行压缩,再进行扩张。

而Inverted resials结构,在3x3网络结构前利用1x1卷积升维,在3x3网络结构后,利用1x1卷积降维,先进行扩张,再进行压缩。
这种结构主要用在MobilenetV2中。
其主要结构如下:

这个结构出现在Deeplabv3语义分割中。

其经过并行的空洞卷积,分别用不同rate的空洞卷积进行特征提取,再进行合并,再进行1x1卷积压缩特征。

空洞卷积可以在不损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息。如下就是空洞卷积的一个示意图,所谓空洞就是特征点提取的时候会跨像素。

原文链接: https://blog.csdn.net/weixin_44791964/article/details/103042733

‘伍’ 数据中心网络架构扁平化到两层的方式有何弊端

个人觉得从传统的三层到二层,其实不能说有什么弊端,只是说是还是有其缺点所在。

认真来说数据中心网络架构从传统的三层架构到二层扁平化架构演进,技术路径是正确的,在二层架构上带来了大量的性能和管理上的好处,这些内容估计您已经听够了。

当然,变更成本太高,也应该是它的一个弊端了。

最后说一下,现在的每一种架构,理论上来讲都是有前一种架构升级而来的,所以对方之前的都应该会是更有优势的,但在流行性方面还需要人们花时间去改变。

‘陆’ 怎样修改深度学习的网络结构

加入新型模块,调整网络层数

‘柒’ 网络架构搜索

        作为计算智能方法的代表,起源于上个世纪四十年代的人工神经网络经历了五六十年代的繁荣,七十年代的低潮,八十年代的再次复苏,到近十年的广泛关注,如今已经成为理论日趋完善,应用逐步发展的前沿方向。Hinton 等人2006 年在《Science》上发表的文章引发了深度神经网络研究的热潮。面对大数据的诸多挑战,以深度信念网络、卷积神经网络和递归神经网络为代表的深度神经网络模型在很多应用领域展示出明显的优势和潜力,特别是随着数据量和数据维数的增加,深度学习的优势愈加突出。例如,Google 借助深度学习开发的AlphaGo 能从海量的对弈中学习正确的决策,微软语音识别采用深度学习使识别错误率显着降低,网络基于深度学习开发的机器人“小度”在跨年龄人脸识别上超越了人类。

       经过多年的研究和发展,基于人工神经网络的识别方法也逐渐取代传统的模式识别方法。神经网络已成为当前比较先进的技术,用来解决许多具有挑战性的识别任务如文字识别、语音识别、指纹识别、遥感图像识别、人脸识别、手写体字符的识别等。其中主流的神经网络模型有卷积网络和递归神经网络,卷积神经网络由 Yann LeCun 在 1998 年提出,自从 AlexNe 在 2012 年的 ImageNet 比赛中使用了这一架构拔得头筹,卷积神经网络迅速流行起来并广泛应用到视觉任务。如今,最先进的卷积神经网络算法在进行图像识别时,甚至可以超过人类肉眼识别的准确率。递归神经网络网络提出于 1990 年,被视为循环神经网络的推广,递归神经网络可以引入门控机制以学习长距离依赖,适用于包含结构关系的机器学习任务,在序列识别方面有重要应用。

        深度神经网络和深度学习算法因为在科研工作与工程任务中都取得了显着的效果从而大受欢迎。它取代了传统的手动提取特征方法,够端到端地自动提取和学习特征。而其中取得显着成功的深度神经网络通常是由于它们成功的架构设计,研究的工作重心从提取特征转移到了寻找最优架构上。通常来说,模型的容量越大网络的性能就越好,能够拟合任意函数。因此为了提升网络性能,网络结构被设计的越来越复杂。例如,VGG-16 约有1.4亿浮点数参数,整个网络占用超过500兆存储空间,需要153亿次浮点操作来处理一个$224\times224$大小的图像。虽然更深的网络层次和复杂的拓扑结构能够更有效地学习特征,但是网络规模的增大意味着人工设计网络时需要花费更多时间来反复试验,即使是专家也需要大量的资源和时间来创建性能良好的模型。

        神经网络架构搜索(NAS)是一种自动化学习网络结构的新方法,用于减少繁重的网络设计成本。目前为止,NAS方法设计的网络在识别任务上的表现已经超过了人工设计的架构。NAS可以视作自动机器学习(AutoML)的子领域,与超参数优化和元学习有明显的重叠。不同的NAS方法的区别主要在于三个维度:搜索空间、搜索策略和性能评估,我们对此分别进行了调研。

        搜索空间:搜索空间定义了网络的所有可选结构和操作,通常指数级大,甚至无界。在设计搜索空间时结合先验知识,即参考现有的针对当前任务的先进结构设计知识,能够有效减小搜索空间并简化搜索。但这也会引入偏好,从而限制网络学习到超越当前人类知识的结构。

        搜索策略:定义搜索空间后,搜索策略引导寻找高性能的模型架构,其中的难点是保证探索和利用的平衡。一方面,希望快速找到性能良好的架构,另一方面,需要避免过早收敛到次优的架构。

        性能评估:NSA的目的是找到一个在未知数据上具有良好泛化性能的架构,一旦模型生成,就需要对其性能进行评估。直观的方法是在训练集上训练收敛,并在验证集上得到其性能,但是这种方法会耗费巨大的算力,从而限制了可探索的网络结构。一些先进的方法关注于减小性能评估时的计算代价,但会引入误差。因此,平衡评价的效率和效果是一个需要研究的问题。

       从计算的角度来看,神经网络代表了一个通过一系列操作将输入变量 x 转换为输出变量 y 的函数。基于计算图语言,神经网络可以表示为一个有向无环图(DAG),其中每个节点表示一个张量 z ,通过边连接其父节点 I(k),每条边表示从候选操作集O中选择的一个操作 o 。节点 k 的计算公式为:

        其中候选操作集合$O$主要包括卷积、池化、激活函数、跳跃连接、拼接、加法等基本操作。此外,为了进一步提高模型的性能,一些先进的人工设计模块也可以作为候选操作,如深度可分离卷积、膨胀卷积、组卷积。基于操作的类型可以选择不同的超参数,例如输入节点选取、卷积核数量、尺寸、步长等。不同的搜索空间设计,选择和组合操作的方法也不同所以参数化的形式也不一样。一般来说,一个好的搜索空间应该能够排除人类的偏见,并且足够灵活,能够覆盖更广泛的模型架构。

        全局搜索空间搜索一个完整的网络结构,具有很高的自由度。最简单的例子是链式搜索空间,见图1左。固定的数量的节点按顺序堆叠,只有前一个节点的输出提供给后一个节点作为输入,每个节点代表一个层,并具有指定的操作。右图引入更复杂的跳跃链接和多支路结构,此时当前节点可以结合前面所有节点的输出作为输入,使得搜索的自由度显着增大。许多网络都是多分支网络的特例,比如

1)链式网络: ;

2)残差网络: ;

3)DenseNets:

        虽然整体结构搜索很容易实现,但它也有一些缺点。首先,搜索空间的大小与网络深度是指数级关系,寻找泛化性能好的深度网络计算成本高。此外,生成的架构缺乏可迁移性和灵活性,在小型数据集上生成的模型可能不适合较大的数据集。有研究提出,初始架构的选择在搜索全局结构时十分重要。在适当的初始条件下,可以获得与单元搜索空间性能相当的架构,但是初始架构选择的指导原则仍然不明确。

        基于单元的搜索空间受启发于人工设计知识,许多有效的网络结构都会重复使用固定结构,例如在RNNs中重复LSTM块或堆叠残差模块。因此可以只搜索这样的重复单元(cells),整个神经结构的搜索问题被简化为在单元搜索空间中搜索最优的单元结构,从而极大的减小搜索空间。大多数研究对比了基于全局搜索空间和单元搜索空间的实验结果,证明在基于单元的搜索空间中可以获得良好的性能。单元搜索空间的另一个优势是能方便地在数据集和任务之间进行泛化,因为通过增减卷积核和单元的数量,架构的复杂性几乎可以任意改变。

        NASNet是最早提出的单元搜索空间之一,也是当前最热门的选择,之后的大部分改进只是在此基础上对操作选择和单元组合策略进行了少量修改。如图2所示,它由两种单元组成,分别为保持输入特征维度的标准单元(normal cell),和减小空间维度的简化单元(rection cell)。每个单元由b个块组成,每个块由它的两个输入和相应的操作定义。可选的输入包括前两个单元的输出和单元中先前定义的块的输出,所以它支持跨单元的跳跃连接。未使用的块被连接起来并作为单元格的输出,最终通过预定义好的规则级联这些单元。

        不同于上面将单元结构按照人工定义的宏结构进行连接,层次结构是将前一步骤生成的单元结构作为下一步单元结构的基本组成部件,通过迭代的思想得到最终的网络结构。Hier提出的层次搜索空间,通过合并低层单元生成高级单元实现单元级别和网络级别的同时优化。此方法具体分为3层。第一层包含一系列的基础操作;第二层通过有向无环图连接第一层的基础操作,构建不同的单元,图结构用邻接矩阵编码;第三层是网络级的编码,决定如何连接第二层的单元,组合成一个完整的网络。基于单元的搜索空间可以看作是这种层次搜索空间的一个特殊情况。

        强化学习方法(RL)能够有效建模一个顺序决策的过程,其中代理与环境相互作用,代理学会改善其行为从而使目标回报最大化。(图3)给出了一个基于强化的NAS算法的概述。代理通常是一个递归神经网络(RNN),它在每一步t执行一个动作 来从搜索空间采样一个新的样本,同时接收状态 的观察值和环境中的奖励 ,以更新代理的采样策略。这种方法非常适合于神经结构搜索,代理的行为是生成神经结构,行为空间是搜索空间,环境是指对代理生成的网络进行训练和评估,奖励是训练后的网络结构对未知数据的预测性能,在最后一个行为之后获得。

4.2进化算法

        进化算法(EA)是一种成熟的全局优化方法,具有较高的鲁棒性和广泛的适用性。许多研究使用进化算法来优化神经网络结构。进化算法演化了一组模型,即一组网络;在每个世代中,至少从这组模型中选择一个模型,作为亲本在突变后作为生成子代。在对子代进行训练之后,评估它们的适应度并将它们添加到种群中。

        典型的进化算法包括选择、交叉、变异和更新等步骤。选择时一般使用联赛选择算法对父类进行采样,其中适应性最好的一个作为亲本。Lemonade对适应度使用核密度估计,使网络被选择的概率与密度成反比。交叉方式因编码方案的不同而不同。突变针对的是亲本的部分操作,例如添加或移除层,改变层的超参数,添加跳跃连接,以及改变训练超参数。对于产生的后代,大多数方法随机初始化子网络权重,而Lemonade把父网络学习到的权重通过使用网络态射传递给其子网络。Real等人让后代继承其父母的所有不受突变影响的参数,虽然这种继承不是严格意义上的功能保留,它可以加速学习。生成新的网络的同时需要从种群中移除一些个体。Real等人从群体中移除最差的个体,AmoebaNet移除最老的个体。也有一些方法定期丢弃所有个体,或者完全不移除个体。EENA通过一个变量调节最坏模型和最老模型的删除概率。

        基于代理模型的优化方法(SMBO)用一个代理模型来近似目标函数。即不需要训练采样到的网络结构,只需要训练一个代理模型,使用代理模型预测网络的性能。通常在实践中只需要得到架构的性能排序,而不一定要计算出具体的损失值,因此代理模型只需要预测相对得分并选出有前途的候选架构。然后只对预测性能好的架构进行评估,用它们的验证精度更新代理模型,这样只需要完全训练少量候选架构,大大减少搜索时间。代理模型通常训练为最小化平方误差:

        贝叶斯优化(BO)是用于超参数优化的最流行的方法之一。最经典的是基于高斯过程的BO,生成的神经结构的验证结果可以建模为高斯过程,然而,基于高斯的BO方法在观察次数上的推理时间尺度是立方的,并且不擅长处理变长神经网络。有些工作使用基于树或者随机森林的方法来在非常高维的空间中高效的搜索,并且在很多问题上取得了优异的效果。Negrinho利用其搜索空间的树形结构,并使用蒙特卡洛树搜索。虽然没有完整的比较,但初步的证据表明这些方法可以超越进化算法。

        上面的搜索策略搜是从一个离散的搜索空间提取神经结构样本。DARTS提出搜索空间的连续松弛,在连续可微的搜索空间上搜索神经架构如图4所示,并使用如下softmax函数来松弛离散空间:

 

松弛后,架构搜索的任务转化为网络架构与神经权值的联合优化。这两类参数分别在训练集和验证集上交替优化,表示为一个双层优化问题。

        为了对搜索过程进行引导,必须对产生的神经网络性能进行评估。一种直观的方法是训练网络至收敛,然后评估其性能。但是,这种方法需要大量的时间和计算资源。因此提出了几种加速模型评估的方法。

        为了减少计算负担,可以用实际性能的低质近似来估测性能。实现方法包括: 缩短训练时间、选择数据集的子集、在低分辨率的图像上训练、每层使用更少的通道数、堆叠更少的单元结构。在低质条件下搜索到的最优网络或单元,构建出最终结构在数据集上重新训练,得到目标网络。虽然这些低精度的近似能够减少训练花费,但性能被低估的同时不可避免地引入了误差。最近的研究表明,当这种低质评价与完全评价之间的差异较大时,网络性能的相对排名可能变化很大,并强调这种误差会逐渐增加。

        早停技术最初用于防止过拟合。一些研究通过在训练初期预测网络性能,在验证集上预计表现不佳的模型被强制停止训练,以此来加速模型评估。一种在早期估计网络性能的方法是学习曲线外推法。Domhan 等提出训练初期对学习曲线进行插值,并终止那些预测性能不好的网络结构的训练。Swersky等在评估学习曲线的好坏时,把网络架构的超参数作为参考因素。另一种方法根据梯度的局部统计信息实现早期停止,它不再依赖验证集,允许优化器充分利用所有的训练数据。

        代理模型可以被训练用预测网络性能。PNAS提出训练一个代理网络(LSTM)来预测网络结构的性能,他不考虑学习曲线而是基于结构的特点来预测性能,并在训练时推断更大的网络结构。SemiNAS是一种半监督NAS方法,利用大量的未标记架构进一步提高搜索效率。不需要在对模型进行训练,只使用代理模型来预测模型精度。预测网络性能的主要难点是:为加快搜索过程,需要在对较大的搜索空间进行较少的评估的基础上进行良好的预测。当优化空间过大且难以量化,且对每个结构的评估成本极高时,基于代理的方法就不适用。

        代理模型还可以用来预测网络权重。超网络(Hypernetworks)是一种神经网络,被训练来为各种架构生成网络权值。超网络在搜索过程中节省了候选体系结构的训练时间,因为它们的权值是通过超网络的预测得到的。Zhang等人提出了一种计算图表示,并使用图超网络(GHN)比常规超网络(SMASH)更快更准确地预测所有可能架构的权值。

        权重继承是让新网络结构继承之前训练完成的其他网络结构的权值。其中一种方法是网络态射,一般的网络设计方法是首先设计出一个网络结构,然后训练它并在验证集上查看它的性能表现,如果表现较差,则重新设计一个网络。可以很明显地发现这种设计方法会做很多无用功,因此耗费大量时间。而基于网络态射结构方法能够在原有的网络结构基础上做修改,修改后的网络可以重用之前训练好的权重。其特殊的变换方式能够保证新的网络结构还原成原网络,因此子网络的表现至少不会差于原网络,并且能在较短的训练时间内继续成长为一个更健壮的网络。具体地,网络射态能够处理任意非线性激活函数,可以添加跳跃连接,并且支持添加层或通道得到更深或更宽的等效模型。经典的网络态射只能使网络变大,这可能导致网络过于复杂,之后提出的近似网络态射通过知识蒸馏允许网络结构减小。进化算法经常使用基于网络态射的变异,或者直接让孩子继承亲本的权重,再执行一般变异操作,这样产生的网络具有一个更好的初始值,而不用重头开始训练。

‘捌’ 网络体系结构为什么要采用分层次的结构

原因:为把在一个网络结构下开发的系统与在另一个网络结构下开发的系统互联起来,以实现更高一级的应用,使异种机之间的通信成为可能,便于网络结构标准化;

并且由于全球经济的发展使得处在不同网络体系结构的用户迫切要求能够互相交换信息;

为此,国际标准化组织ISO成立了专门的机构研究该问题,并于1977年提出了一个试图使各种计算机在世界范围内互联成网的标准框架,即着名的开放系统互连基本参考模型OSI/RM (Open System Interconnection Reference Model)。


1、网络体系结构(network architecture):是计算机之间相互通信的层次,以及各层中的协议和层次之间接口的集合。

2、网络协议:是计算机网络和分布系统中互相通信的对等实体间交换信息时所必须遵守的规则的集合。

3、语法(syntax):包括数据格式、编码及信号电平等。

4、语义(semantics):包括用于协议和差错处理的控制信息。

5、定时(timing):包括速度匹配和排序。

计算机网络是一个非常复杂的系统,需要解决的问题很多并且性质各不相同。所以,在ARPANET设计时,就提出了“分层”的思想,即将庞大而复杂的问题分为若干较小的易于处理的局部问题。

阅读全文

与网络结构如何改进相关的资料

热点内容
网络共享中心没有网卡 浏览:521
电脑无法检测到网络代理 浏览:1374
笔记本电脑一天会用多少流量 浏览:575
苹果电脑整机转移新机 浏览:1376
突然无法连接工作网络 浏览:1058
联通网络怎么设置才好 浏览:1224
小区网络电脑怎么连接路由器 浏览:1033
p1108打印机网络共享 浏览:1212
怎么调节台式电脑护眼 浏览:695
深圳天虹苹果电脑 浏览:932
网络总是异常断开 浏览:612
中级配置台式电脑 浏览:990
中国网络安全的战士 浏览:630
同志网站在哪里 浏览:1413
版观看完整完结免费手机在线 浏览:1459
怎样切换默认数据网络设置 浏览:1110
肯德基无线网无法访问网络 浏览:1286
光纤猫怎么连接不上网络 浏览:1473
神武3手游网络连接 浏览:965
局网打印机网络共享 浏览:1000