精华内容
下载资源
问答
  • DCS的最多网络级有四级,它们分别是I/O总线、现场总线、控制总线和DCS网络。下面一起来学习一下
  • 这是一个基于IP的扁平网络体系结构,又称为EPC(EvolvedPacketCore)。实际上4G时代的网络可以理解为LTE+SAE+IMS架构。LTE是空口的长期演进,SAE则为系统架构演进,IMS则主要解决将语音等多媒体业务承载到4G网络。3...
  • 网络架构

    2018-12-29 13:03:32
    组织架构图及其说明 - 公司组织系统 架构 目录 一、组织架构示意图 二、各职能部门说明 一、 组织架构示意图 (图 1) 公司整体架构图 总经理 副总经理 .......
  • 网络架构visio PPT图标

    2019-04-18 14:46:46
    网络图标大全,绘制网络图标必备,1000种各种网络元素,3D 2D图标
  • draw.io 是一款超级强大的免费的图表编辑工具, 可以用来编辑工作流, BPM, org charts, UML, ER图, 网络拓朴图等。支持流程图,架构图,原型图等图标。支持Github,Google Drive, One drive等网盘同步,并且永久免费...
  • 3G网络结构拓扑图.pdf

    2020-06-23 22:24:50
    3G网络结构拓扑图.pdf
  • 该文档是4G-LTE网络架构学习资料,详细讲解了LTE的网络架构和优化方法,是入门进阶必备。
  • 智能工厂网络架构

    2018-05-27 08:41:08
    智能工业实现远程数据通信智能工业实现远程数据通信智能工业实现远程数据通信
  • 无线Mesh网络架构与协议(中文版),有需要的可以下载看看
  • 网络游戏-MVB总线网络架构方法及网络结构.zip
  • TensorFlow增强学习神经网络架构搜索手把手指南
  • 近日,思科公司与中欧国际工商学院展开合作,借助思科无边界网络架构,为中欧国际工商学院部署校园网络解决方案。据悉,该校园网络建成后,将能智能地判断访问者的不同身份,并提供对应的网络访问资源。无边界网络...
  • 该项目是对论文《参数共享的高效神经网络结构搜索(Efficient Neural Architecture Search (ENAS) via Parameters Sharing)》的实现。ENAS 做什么?高效神经网络结构搜索,即 ENAS 减少了计算需求,将 NAS 的 GPU ...
  • 5g网络架构、网元及接口 第1 章 5G 网络总体架构 第2 章 无线接入网架构 第3 章 5GC 架构和网元 介绍
  • 该文件对LTE网络结构中所有的网元进行详细的解读,网元部署的位置分布图
  • 详细介绍电信和联通骨干网络拓扑结构,中国电信163/CN网络,中国联通169网络,对网络结构和个运营商内部及互联互通访问流程做详细介绍。
  • 卷积神经网络架构

    万次阅读 多人点赞 2018-11-20 17:14:48
    卷积神经网络(conv)架构 卷积神经网络在图像分类数据集上有非常突出的表现,由于一般正常的图像信息过大,如果使用全连接神经网络,需要设置大量的权值w和basic值,这样会导致运算效率较低,还容易导致过分拟合的...

    卷积神经网络(conv)架构

    卷积神经网络在图像分类数据集上有非常突出的表现,由于一般正常的图像信息过大,如果使用全连接神经网络,需要设置大量的权值w和basic值,这样会导致运算效率较低,还容易导致过分拟合的问题。

    1.全连接神经网络和卷积神经网络的区别

    全连接神经网络:
    在这里插入图片描述
    卷积神经网络图:
    在这里插入图片描述
    共同点: 图中每一个节点都代表一个神经元,没相邻两层之间的节点都有边相;输入输出的流程基本一致。
    不同点: 卷积神经网络相邻两层之间只有部分的节点相连,所以一般会将每一层的卷积层组织成一个三维矩阵。
    卷积神经网络的优点: 在图像处理方面,对于MNIST数据,每一张图片的大小是28281,其中28*28为图片的大小,1表示只有一个彩色通道,并且这里的图像的颜色为黑白。假设第一层隐藏层的节点数位500个,那么一个全连接层的神经网络将有28 * 28 * 500+500=392500个参数。其中**+500**表示的是basic值。而当图片更大的时候,通道数增加的的时候,所需要的参数的数量会更大,会达到百万级,甚至千万级。随着参数的增多,计算速度会随之减慢,还容易导致过度拟合问题。

    2.卷积神经网络

    卷积神经网络构架图:
    在这里插入图片描述

    1.输入层

    在处理图像的卷积神经网络中,它一般代表了一张图片的像素矩阵。通常为(length * width *channel)。 三维矩阵的深度代表了图像的彩色通道(channel)。比如黑白图片的深度为1,而在RGB色彩模式下,图像的深度为3。从输入层开始,卷积神经网络通过不同的神经网络结构将上一层的三维矩阵转化为下一层的三维矩阵,直到最后的全连接层。

    2.卷积层

    是卷积网络中最为重要的部分。和传统全连接层不同,卷积层中每一个节点的输入只是上一层神经网络的一小块,这个小快常用的大小有3 * 3或者5 * 5,卷积层会增加原始节点的深度。通常卷积层这部分被称为过滤器(filetr) 或者 内核(kernel)
    过滤器: 将当前的神经网络上的一个子节点矩阵转化为下一层神经网络上的一个单位节点矩阵,但深度不限的节点矩阵。
    过滤器示意图:
    在这里插入图片描述
    过滤器的尺寸: 过滤器的所处理的节点矩阵的长和宽就是这个过滤器的长和宽的尺寸。而过滤器的深度则是有需要人工指定设置和处理的。
    卷积层例子: 过滤器将一个 2 * 2 * 3 的节点矩阵变化为一个1 * 1 * 5的单位节点矩阵。那么该卷积层的需要**2 * 2 * 2 3 5 + 5 = 65 个参数。其中最后的+5为偏置项的个数。假设用wi来表示第i个权重,bi表示偏置项的参数。上述所示的公式为:
    在这里插入图片描述
    传播的过程: 卷积层的前向传播过程是将一个过滤器从神经网络当前层的 左上角移动到右下角,并且在移动过程中计算每一个对应的单位矩阵。移动的例图 (步长为1)在这里插入图片描述
    全0填充(zero-padding)–改变结果矩阵的大小(1): 为了 避免尺寸的变化,可以在当前层矩阵的边界加入全0填充。这样可以使得卷积层前向传播结果的矩阵大小和当前层矩阵保持一致。示意图:
    在这里插入图片描述
    **改变移动步长–改变结果矩阵的大小(2):**当改变过滤器的移动步长,可以改变结果矩阵的尺寸大小,示意图:
    在这里插入图片描述
    计算结果矩阵的大小的尺寸:
    1.使用全0填充时:
    在这里插入图片描述
    2.不使用全0填充:
    在这里插入图片描述
    in_length:输入节点的长度,in_width:输入节点的宽度,side_length:移动的步长,filter_length过滤器的长度,filter_width表示过滤器的宽度。

    3.池化层(Pooling)

    池化层神经网络不会改变三维矩阵的深度,但是它可以缩小矩阵的大小。池化操作可以认为是将一张分辨率较高的图片转化为分辨率较低的图片。通过池化层,可以进一步缩小最后全连接层中节点的个数,从而达到减少整个神经网络中的参数的目的。
    效果: 使用池化层既可以加快计算速度也可以防止过度拟合
    使用: 同样类似卷积层,但是并不是计算节点的加权和,而是采用更加简单的最大值或者平均值运算最大池化层(max pooling) 使用最大值操作,是被使用得最多的池化层结构。平均池化层(average pooling) 使用平均值操作。注意: 池化层不仅需要在长和宽的维度上移动,它还需要在深度的维度上移动,且每次的过滤器可能是 不同的 。如图:
    在这里插入图片描述

    4.全连接层

    在经过几轮的卷积层和池化层的处理之后,可以认为图像中的信息已经被抽象成了信息含量更高的特征。我们可以将卷积层和池化层看成自动图像特征提出的过程。在此之后,我们仍需使用全连接层来完成分类任务。

    5.Softmax层。

    Softmax层主要用于分类问题,我们可以得到当前样例属于不同种类的概率分布情况。

    以上所有内容均为小编在看书后做的一些笔记总结。

    展开全文
  • 网络架构安全设计.pdf

    2020-06-09 22:02:08
    网络架构安全设计 知识域网络架构安全 知识子域网络架构安全基础 理解网络架构安全的含义及主要工作 理解网络安全域划分应考虑的主要因素 理解IP地址分配的方法 理解VLAN划分的作用与策略 理解路由交换设备安全配置...
  • 三层网络架构

    千次阅读 2020-08-06 07:34:26
    数据中心网络是连接数据中心大规模服务器进行大型分布式计算的桥梁。 传统数据中心网络普遍采用树型拓扑方案. 典型的拓扑由三层交换机互联构成,分别是接入层交换机、汇聚层交换机和核心层交换机。Cisco称之为:...

    三层网络架构

    数据中心网络是连接数据中心大规模服务器进行大型分布式计算的桥梁。
    传统数据中心网络普遍采用树型拓扑方案. 典型的拓扑由三层交换机互联构成,分别是接入层交换机、汇聚层交换机和核心层交换机。Cisco称之为:分级的互连网络模型(hierarchical inter-networking model)。这个模型包含了以下三层:
    Access Layer(接入层):(将工作站接入网络)

    有时也称为Edge Layer。接入交换机通常位于机架顶部,所以它们也被称为ToR(Top of Rack)交换机,它们物理连接服务器。
    接入层是直接面向用户连接的部分,向本地网段提供工作站接入,主要解决了相邻用户之间的互访需求。所以接入层可以选择不支持 VLAN 和三层交换技术的普通交换机,接入层交换机具有低成本、高端口密度且即插即用的特性。接入层还应当适当负责一些用户管理功能(如:地址认证、用户认证、计费管理等),以及用户信息收集工作(如:用户的 IP 地址、MAC 地址、访问日志等)。

    Aggregation Layer(汇聚层):(提供基于策略的连接)

    有时候也称为Distribution Layer。汇聚交换机连接Access交换机,同时提供其他的服务,例如防火墙,SSL offload,入侵检测,网络分析等。
    汇聚层是网络接入层和核心层的 “中介(中间层)”,就是在 Server 接入核心层前先做汇聚,以减轻核心层设备的负荷。汇聚层具有实施策略、安全、工作组接入、虚拟局域网(VLAN)之间的路由、源地址或目的地址过滤等多种功能。在汇聚层中,应该选用支持三层交换技术和 VLAN 的交换机,以达到网络隔离和分段的目的。

    Core Layer(核心层):(网络的高速交换主干)

    核心交换机为进出数据中心的包提供高速的转发,为多个汇聚层提供连接性,核心交换机为通常为整个网络提供一个弹性的L3路由网络。
    核心层是网络的高速交换主干,对整个网络的连通起到至关重要的作用。核心层应该具有如下几个特性:可靠性、高效性、冗余性、容错性、可管理性、适应性、低延时性等。在核心层中,应该采用高带宽的千兆以上交换机,因为核心层是网络的枢纽中心,重要性突出。核心层设备采用双机冗余热备份是非常必要的,也可以使用负载均衡功能,来改善网络性能。网络的控制策略最好尽量少在核心层上实施。核心层一直被认为是所有外部网络流量的最终承受者,所以对核心层的设计以及网络设备的要求十分严格。核心层设备将占投资的主要部分。

    为了方便管理、提高网络性能,大中型网络应按照标准的三层结构设计。但是,对于网络规模小,联网距离较短的环境,可以采用 “收缩核心” 设计,忽略汇聚层。核心层设备可以直接连接接入层,这样一定程度上可以省去部分汇聚层费用,还可以减轻维护负担,更容易监控网络状况。
    一个三层网络架构示意图如下所示:
    在这里插入图片描述
    在这里插入图片描述

    三层网络架构的设计原则

    • 层次化设计:每个层可以看作为是一个具有特定角色和功能的、结构定义良好的模块,层次化的设计结构,易于扩展和维护,降低了设计的复杂度和难度。三层网络架构可以更好地控制网络规模和网络质量,同时也方便网络管理和维护。
    • 模块化设计:每个模块对应一个部门、功能或业务区域,可根据网络规模灵活扩展,部门或区域内部调整涉及范围小,容易进行问题定位。
    • 冗余设计:双节点冗余性设计可以保证设备级可靠,适当的冗余提高可靠性,但过度的冗余也不便于运行维护。如果无法做好双节点冗余设计,对框式的核心交换机或者出口路由器,可以考虑单板级的冗余,如双主控板,双交换网板。另外,关键链路可以采用 Eth-Trunk 链路实现链路级可靠性。
    • 对称性设计:网络的对称性便于业务部署,拓扑直观,便于协议设计和分析。
      在这里插入图片描述
      在这里插入图片描述

    三层网络架构的特点

    通常情况下,汇聚交换机是 L2 和 L3 网络的分界点,汇聚交换机以下的是 L2 网络,以上是 L3 网络。每组汇聚交换机管理一个 POD(Point Of Delivery),每个 POD 内都是独立的 VLAN 网络。服务器在 POD 内移动不必修改 IP 地址和默认网关,因为一个 POD 对应一个 L2 广播域。
    在这里插入图片描述
    汇聚交换机和接入交换机之间通常使用STP(Spanning Tree Protocol)。STP使得对于一个VLAN网络只有一个汇聚层交换机可用,其他的汇聚层交换机在出现故障时才被使用(上图中的虚线)。也就是说汇聚层是一个active-passive的HA模式。这样在汇聚层,做不到水平扩展,因为就算加入多个汇聚层交换机,仍然只有一个在工作。一些私有的协议,例如Cisco的vPC(Virtual Port Channel)可以提升汇聚层交换机的利用率,但是一方面,这是私有协议,另一方面,vPC也不能真正做到完全的水平扩展。下图是一个汇聚层作为L2/L3分界线,且采用vPC的网络架构。
    在这里插入图片描述
    在这里插入图片描述
    随着云计算的发展,计算资源被池化,为了使得计算资源可以任意分配,需要一个大二层的网络架构。即整个数据中心网络都是一个L2广播域,这样,服务器可以在任意地点创建,迁移,而不需要对IP地址或者默认网关做修改。大二层网络架构,L2/L3分界在核心交换机,核心交换机以下,也就是整个数据中心,是L2网络(当然,可以包含多个VLAN,VLAN之间通过核心交换机做路由进行连通)。大二层的网络架构如下图所示:

    在这里插入图片描述
    大二层网络架构虽然使得虚机网络能够灵活创建,但是带来的问题也是明显的。共享的L2广播域带来的BUM(Broadcast·,Unknown Unicast,Multicast)风暴随着网络规模的增加而明显增加,最终将影响正常的网络流量。
    传统三层网络架构已经存在几十年,并且现在有些数据中心中仍然使用这种架构。这种架构提出的最初原因是什么?一方面是因为早期L3路由设备比L2桥接设备贵得多。即使是现在,核心交换机也比汇聚接入层设备贵不少。采用这种架构,使用一组核心交换机可以连接多个汇聚层POD,例如上面的图中,一对核心交换机连接了多个汇聚层POD。另一方面,早期的数据中心,大部分流量是南北向流量。例如,一个服务器上部署了WEB应用,供数据中心之外的客户端使用。使用这种架构可以在核心交换机统一控制数据的流入流出,添加负载均衡器,为数据流量做负载均衡等。

    三层网络架构面临的问题

    STP 协议既是良方又是毒药

    生成树协议(Spanning Tree Protocol,STP),是一种工作在 OSI 网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路,用于确保以太网中无环路的逻辑拓扑结构,从而避免了广播风暴大量占用交换机的资源。
    传统的数据中心网络技术,STP 是二层网络中非常重要的一种协议。但是,在二层网络中使用 STP 协议有一个相当矛盾的点,那就是 可靠性 和 安全性 的矛盾。

    • 可靠性是指构建二层网络时,一般会采用会采用设备冗余和链路冗余的方式。
    • 安全性是指二层交换机同处于一个广播域,广播报文在环路中会反复持续传送,可能会形成广播风暴,所以必须防止形成环路。要想两种同时达到,可以采用 STP(生成树协议)自动控制,即冗余设备和冗余链路成备份,在正常情况下被阻塞掉,当出现链路故障时冗余的设备端口和链路才会被打开。

    为什么二层交换网络会产生物理环路?

    • 链路冗余:交换机之间为了冗余、带宽提升、或错误连接难免会产生一个封闭的物理环路,而以太网的转发机制又决定了不能有物理环路,一有环路,那些发给所有主机的 Broadcast 、Unknown Unicast Frame 就会肆无忌惮在环路上永不停歇地绕圈圈。这些 Frame 永远无法到达目的地,对交换机 CPU 是一个致命的打击,如果有环路的发生,你可能无法本地、或远程登录你的交换机,只有重启或拔线了。
    • 二层交换机的转发机制:交换机对于从一个 Port N 上 incoming 的 frame,学习其 Source MAC X,生成 MAC Address Table(MAC X: Port N)。这样它就会生成 MAC 地址和 Port 的映射表,如果收到一个 Frame,就会通过 Frame 的 Destination MAC 与 MAC Address Table 进行匹配,继而得出这个 Frame 应该从哪一个 Port 发送出去。如果没有匹配到,就认为是 unknown Unicast 或 broadcast,只好将它从所有 Port( 除了 incoming 口)发送出去,让 Frame 到了其他的交换机上尝试处理,于是这个 Frame 就有可能会一直在封闭的环路里无限的循环。
    STP 协议的设计思路

    人类的很多智慧来自于大自然,同学们仔细观察一棵树,会发现一棵树,有根,树干,树杈,树枝,叶子,水分通过根,源源不断地输送到主干,树杈,然后到达叶子。水分在从根扩散到叶子的过程中,一直是单向的;而叶子因为光合作用产生的能量,再沿着叶子到达树枝,树杈,树干,一直到根。水分和能量是相反方向的流量,如果定义根为上游,叶子为下游,则水是从上游流向下游;而能量则是由下游流向上游。无论是哪个方向的流量,都没有在原地打转的情况发生,那是因为树的物理结构是发散的,没有树干、树杈、树枝的物理交织,自然不会发生环路。
    网络科学家发现了这个规律,有一个大胆设想,既然二层网络里有物理环路,那用一种逻辑的方法将物理的环路斩断,斩成一个发散的树状架构,是不是Frame就不会无限循环下去了?
    答案是肯定的,也是这么做的。如果把树的拓扑结构用于二层交换网络,在二层网络里选择一个根(Root Bridge),其它交换机当作树的树杈,每个树杈自然有一个根末梢(Root Port),这个就是交换机的上游接口,除了根末梢,其它的接口都是下游接口,至于下游接口是畅通的、还是阻断的,取决于到根的路径成本(Cost),谁更接近根,谁就畅通(Forwarding) ,即常说的 Designated Port;谁远离根,谁就需要被阻断(Blocked),即常说的 Non Designated Port。通过这种仿生的机制,可以有效地避免网络环路。

    STP 协议的工作原理

    任意一个交换机中如果到达根网桥有两条或者两条以上的链路,生成树协议都根据算法把其中一条切断,仅保留一条,从而保证任意两个交换机之间只有一条单一的活动链路。因为这种生成的这种拓扑结构,很像是以根交换机为树干的树形结构,故为生成树协议。

    STP 的工作过程

    首先进行根网桥的选举,其依据是网桥优先级(Bridge Priority)和 MAC 地址组合生成的桥 ID,桥 ID 最小的网桥将成为网络中的根桥(Root Bridge)。在此基础上,计算每个节点到根桥的距离,并由这些路径得到各冗余链路的代价,选择最小的成为通信路径(相应的端口状态变为 Forwarding),其它的就成为备份路径(相应的端口状态变为 Blocking)。STP 生成过程中的通信任务由 BPDU 完成,这种数据包又分为包含配置信息的配置 BPDU(其大小不超过 35B)和包含拓扑变化信息的通知 BPDU(其长度不超过 4B)。
    由于 STP 协议造成的逐层收敛的性能问题,一般情况下 STP 的网络规模不会超过 100 台交换机。STP 的这种机制导致了二层链路利用率不足,尤其是在网络设备具有全连接拓扑关系时,这种缺陷尤为突出。如下图所示,当采用全网 STP 二层设计时,STP 将阻塞大多数链路,使接入到汇聚间带宽降至 1/4,汇聚至核心间带宽降至 1/8。这种缺陷造成越接近树根的交换机,端口拥塞越严重,造成的带宽资源浪费就越可观。
    在这里插入图片描述

    云计算推动纵向流量向横向流量的转变

    早期数据中心的流量有 80% 为横向(east-west,南北)流量,随着云计算、分布式架构的发展,现在已经转变为 70% 为纵向(north-south,东西)流量。所谓纵向流量指的是从数据中心外部到内部服务器之间交互的流量;横向流量指的是数据中心内部服务器之间交互的流量。
    随着云计算的到来,越来越丰富的业务对数据中心的流量模型产生了巨大的冲击,如搜索、并行计算等业务,需要大量的服务器组成集群系统,协同完成工作,这导致服务器之间的流量变得非常大。比如搜索,用户只是发出一个搜索指令,服务器集群就在海量数据面前进行搜索与计算,这个过程是非常复杂的,而只是将结果传递给用户。早期数据中心主要满足外部对数据中心的访问,所以流量就以 “南北” 为主。这种流量模型受到了出口带宽的限制,一般的数据中心访问都会存在收敛比,即网络接入带宽比较大,而出口带宽比较小,访问的速度无法提升,在业务高峰期时,用户访问数据中心的体验感下降,这种网络模型已经不适应现今数据中心的发展需要。

    服务器虚拟化带来的虚拟机迁移问题

    但随着数据量的增长,数据中心运营者发现的服务器不够了,当时最早做出反应是服务器层面,服务器虚拟化趋势越来越强,“提高服务器利用率”,“充分发挥计算资源效能”,成了当时最常听到的声音。随之而来的就是服务器与网络之间的关系改变了,原来网络和操作系统紧耦合的关系被打破,变成了松耦合的关系,网络不再能直接感知到操作系统了。而这种对应关系上的变化又带来了两个层面的矛盾:

    • 性能层面:单台物理机上的应用多了,或者说是虚拟机多了,单个网口上承载的数据流量大了,原来的链路不够了;
    • 功能层面:物理服务器不是真正的业务所在了,真正的业务在虚拟机上,但是虚拟机要在服务器上漂移,不能够被固定在原先一个区域当中了;

    在三层网络架构中,通常会将二层网络的范围限制在网络接入层以下,避免出现大范围的二层广播域。这就导致了服务器不能随便在不同二层域之间移动,一旦服务器迁移到其他二层域,就需要变更 IP 地址,伴随着生产业务中断。在具有网络关联性的服务器集群中甚至会牵一发而动全身,相关的服务器也要跟着变更相应的配置,影响巨大。
    由于这般限制,传统数据中心的三层网络架构设计根本无法满足服务器虚拟化中更灵活的、可自定义的虚拟机迁移策略。服务器虚拟化从根本上改变了数据中心网络架构的需求,需求数据中心、甚至是跨数据中的网络可以支持大范围的二层域,二层网络规模有多大,虚拟机才能调度、迁移有多远。

    参考文献
    https://www.cisco.com/c/zh_cn/solutions/small-business/products/routers-switches/routing-switching-primer.html
    https://baike.baidu.com/item/三层网络结构
    https://baike.baidu.com/item/交换技术/6335745
    https://baike.baidu.com/item/路由技术
    https://zh.wikipedia.org/wiki/生成树协议
    https://juejin.im/post/5c723943f265da2d943f69c1
    https://www.zhihu.com/question/21327750
    https://www.cnblogs.com/jmilkfan-fanguiju/p/10589744.html#_691

    转载请注明作者:JmilkFan 范桂飓

    https://zhuanlan.zhihu.com/p/29881248
    https://www.cnblogs.com/jmilkfan-fanguiju/p/11825044.html

    展开全文
  • 中国电信运营商骨干网络架构中国电信运营商骨干网络架构
  • 移动网络架构简介

    2018-07-09 21:21:47
    本文是针对移动网络架构的浅析,带你了解移动通信是怎么实现的
  • 5G网络架构

    万次阅读 多人点赞 2019-09-30 17:26:52
    本文以发展演变的眼光来看5G架构,会涉及到很多与LTE甚至3G的对比分析。 一、5G 3大应用场景 eMBB 增强移动宽带 URLLC 超低时延高可靠通信 mMTC 海量机器通信 二、概念 2.1、专有名词 RAN --- 无线接入网 。...

    本文以发展演变的眼光来看5G架构,会涉及到很多与LTE甚至3G的对比分析。

    一、5G 3大应用场景

    • eMBB 增强移动宽带
    • URLLC 超低时延高可靠通信
    • mMTC 海量机器通信


    二、概念

    2.1、专有名词

    RAN --- 无线接入网 。

    D-RAN ---分布式无线接入网 。

    C-RANCentralized RAN ---  集中化无线接入网C不仅代表集中化,还代表云化,协作,清洁。

    RRU Remote Radio Unit--- 远端射频模块 。

    BBU Building Baseband Unit ---室内基带处理单元 。

    CU Centralized Unit---集中单元,原BBU的非实时部分将分割出来,重新定义为CU,负责处理非实时协议和服务。

    DU Distribute Unit---分布单元,BBU的剩余功能重新定义为DU,负责处理物理层协议和实时服务。

    AAU Active Antenna Unit---有源天线单元BBU的部分物理层处理功能与原RRU及无源天线合并为AAU。

    MEC Mobile Edge Computing --- 移动边缘计算 。

    NFV Network Function Virtualization---网络功能虚拟化就是将网络中的专用电信设备的软硬件功能(比如核心网中的MME, S/P-GW和PCRF,无线接入网中的数字单元DU等)转移到虚拟机(VMs,Virtual Machines)上,在通用的商用服务器上通过软件来实现网元功能。

    SDN Software Defined Network ---软件定义网络。5G网络通过SDN连接边缘云和核心云里的VMs(虚拟机),SDN控制器执行映射,建立核心云与边缘云之间的连接。网络切片也由SDN集中控制。

    EPC Evolved Packet Core---分组核心网。EPC具备如下特点: 1 核心网趋同化,交换功能路由化; 2 业务平面与控制平面完全分离; 3 网元数目最小化,协议层次最优化;4 网络扁平化,全IP化。

    CoMP Coordinated Multiple Points Transmission/Reception---多点协作传输是指地理位置上分离的多个传输点,协同参与为一个终端的数据(PDSCH)传输或者联合接收一个终端发送的数据(PUSCH)。

    CDN Content Delivery Network---内容分发网络。在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络

    eMB BEnhanced Mobile Broadband ---增强移动宽带 。在现有移动宽带业务场景的基础上,提升用户体验。Polar Code(极化码)方案是 5G控制信道eMBB场景编码最终方案。

    uRLLC Ultra Reliable Low Latency Communication---高可靠低时延通信。高可靠、低时延、极高的可用性。它包括以下各类场景及应用:工业应用和控制、交通安全和控制、远程制造、远程培训、远程手术等。

    mMTC massive Machine-Type of Communication---海量机器类通信(大规模物联网)。mMTC和eMTC则是物联网的应用场景,但各自侧重点不同:mMTC主要是人与物之间的信息交互,eMTC主要体现物与物之间的通信需求。

    eMTC enhanced Machine-Type Communication---增强机器类通信。是物联网的应用场景,超可靠低时延,侧重点主要体现物与物之间的通信需求。

     

    2.2、接入网、承载网、核心网、空口

    接入网是“窗口”,负责把数据收上来;承载网是“卡车”,负责把数据送来送去;核心网呢,就是“管理中枢”,负责管理这些数据,对数据进行分拣,然后告诉它,该去何方。


    三、5G架构

    3.1、接入网(RAN)变化

    3.1.1、BBU+RRU+天线

           传统基站,通常包括BBU(主要负责信号调制)、RRU(主要负责射频处理),馈线(连接RRU和天线),天线(主要负责线缆上导行波和空气中空间波之间的转换)。最初基站一体化,BBU和RRU被放在一个机房或者一个柜子,后来RRU被和BBU分开,有时候挂墙,大部分放到机柜里。再后来,RRU被放到天线身边,所谓RRU拉远。也就是分布式基站。

     

     

    3.1.2、D-RAN

    于是,RAN就变成了D-RAN(Distributed RAN),接入网 分布式了。

    好处:大大缩短了RRU和天线之间馈线的长度,可以减少信号损耗,也可以降低馈线的成本。可以让网络规划更加灵活。毕竟RRU加天线比较小,想怎么放,就怎么放。

    缺点:给运营商造成了成本的压力。在D-RAN的架构下,运营商为了摆放BBU和相关的配套设备(电源、空调等)需要租赁和建设很多的室内机房。

     

    3.1.3、C-RAN

    于是有了C-RAN,Centralized RAN集中化无线接入网。除此之外,C还有其他含义。

    除了把RRU拉远,还把BBU集中起来,BBU变成BBU基带池。分散的BBU变成BBU基带池之后,更强大了,可以统一管理和调度,资源调配更加灵活!

    另外,拉远之后的RRU搭配天线,可以安装在离用户更近距离的位置。发射功率就可以降低了。低的发射功率意味着用户终端电池寿命的延长和无线接入网络功耗的降低。

    3.1.4、虚拟基站

           C-RAN下,实体基站没有了,变成了虚拟基站。所有的虚拟基站在BBU基带池中共享用户的数据收发、信道质量等信息。强化的协作关系,使得联合调度得以实现。小区之间的干扰,就变成了小区之间的协作(CoMP),大幅提高频谱使用效率,也提升了用户感知。      

           此外,BBU基带池既然都在CO(中心机房),那么,就可以对它们进行虚拟化了!

    虚拟化,就是网元功能虚拟化(NFV)。简单来说,以前BBU是专门的硬件设备,非常昂贵,现在,找个x86服务器,装个虚拟机(VM,Virtual Machines),运行具备BBU功能的软件,然后就能当BBU用啦!

     

    3.1.5、5G的接入网

           5G可以适应于不同场景,不同场景的性能需求其实很不同,有的追求网速、有的追求时延、有的追求连接数、能耗等,为了更灵活地应对场景需求,5G的解决方案是拆分BBU/RRU、核心网下沉和网络切片。

    3.1.5.1、BBU、RRU重构

           在5G网络中,接入网不再是由BBU、RRU、天线组成,而是被重构为CU+DU+AAU

    CU:Centralized Unit,集中单元。原BBU的非实时部分将分割出来,重新定义为CU,负责处理非实时协议和服务。

    DU:Distribute Unit,分布单元。BBU的剩余功能重新定义为DU,负责处理物理层协议和实时服务。

    AAU:Active Antenna Unit,有源天线单元。BBU的部分物理层处理功能与原RRU及无源天线合并为AAU。

           简而言之,CU和DU,以处理内容的实时性进行区分。AAU就是RRU+天线。

           拆分重构后,CU、DU、AAU可以采取分离或合设的方式,出现多种网络部署形态。这些部署方式的选择,需要同时综合考虑多种因素,包括业务的传输需求(如带宽,时延等因素)、建设成本投入、维护难度等。

    ① 与传统4G宏站一致,CU与DU共硬件部署,构成BBU单元。

    ② DU部署在4G BBU机房,CU集中部署。

    ③ DU集中部署,CU更高层次集中。

    ④ CU与DU共站集中部署,类似4G的C-RAN方式。

      

    3.1.5.2、下沉

    EPC(就是4G核心网)被分为New Core(5GC,5G核心网)和MEC(移动网络边界计算平台)两部分。MEC移动到和CU一起,就是所谓的“下沉”(离基站更近)。

     


    3.1.5.3、网络切片

    切片,简单来说,就是把一张物理上的网络,按应用场景划分为N张逻辑网络。不同的逻辑网络,服务于不同场景。

    不同的切片,用于不同的场景,网络切片,可以优化网络资源分配,实现最大成本效率,满足多元化要求。

    3.2、承载网变化

            承载网是基础资源,必须先于无线网部署到位。5G想要满足以上应用场景的要求,承载网是必须要进行升级改造的。

    在5G网络中,之所以要功能划分、网元下沉,根本原因,就是为了满足不同场景的需要。前面在谈接入网的时候,我们提到了前传、回传等概念说的就是承载网。因为承载网的作用就是把网元的数据传到另外一个网元上。

    这里我们再来具体看看,对于前、中、回传,到底怎么个承载法。

    3.2.1、前传(AAU--DU) 

    3.2.1.1 光纤直连

            每个AAU与DU全部采用光纤点到点直连组网。实现起来很简单,但最大的问题是光纤资源占用很多。随着5G基站、载频数量的急剧增加,对光纤的使用量也是激增。所以,光纤资源比较丰富的区域,可以采用此方案。

    3.2.1.2 无源WDM方式

            将彩光模块安装到AAU和DU上,通过无源设备完成WDM功能,利用一对或者一根光纤提供多个AAU到DU的连接。采用无源WDM方式,虽然节约了光纤资源,但是也存在着运维困难,不易管理,故障定位较难等问题。

    PS、彩光模块:光复用传输链路中的光电转换器,也称为WDM波分光模块。不同中心波长的光信号在同一根光纤中传输是不会互相干扰的,所以彩光模块实现将不同波长的光信号合成一路传输,大大减少了链路成本。

     

    3.2.1.3 有源WDM/OTN方式

            在AAU站点和DU机房中配置相应的WDM/OTN设备,多个前传信号通过WDM技术共享光纤资源。相比无源WDM方案,组网更加灵活(支持点对点和组环网),同时光纤资源消耗并没有增加。

    PS、OTN(光传送网,Optical Transport Network):是以波分复用技术为基础,在光层面组织网络的传送网,是下一代的骨干传送网。

    3.2.2、中传(DU--CU)和回传(CU--核心网)

            由于中传与回传对于承载网在带宽、组网灵活性、网络切片等方面需求是基本一致的,所以可以使用统一的承载方案。主要介绍一下两种方案,承载网中采用的FlexE分片技术、减低时延的技术、SDN架构等,还需进一步了解。

    1 、利用分组增强型OTN设备组建中传网络,回传部分继续使用现有IPRAN架构。

    IPRAN:是针对IP化基站回传应用场景进行优化定制的路由器/交换机整体解决方案。

    2 、中传与回传网络全部使用分组增强型OTN设备进行组网。


    3.3、核心网变化

            2G组网非常简单,MSC就是核心网的最主要设备。HLR、EIR和用户身份有关,用于鉴权。

    之所以图上面写的是“MSC/VLR”,是因为VLR是一个功能实体,但是物理上,VLR和MSC是同一个硬件设备。相当于一个设备实现了两个角色,所以画在一起。HLR/AUC也是如此,HLR和AUC物理合一。

            2.5G(GPRS)在之前2G只能打电话发短信的基础上,有了GPRS,就开始有了数据(上网)业务。于是,核心网有了大变化,开始有了PS核心网。PS,Packet Switch,分组交换、包交换。

    GSN:Server GPRS Support Node,服务GPRS支持节点。

    GGSN:Gateway GPRS Support Node,网关GPRS支持节点。

    SGSN和GGSN都是为了实现GPRS数据业务。

    /*红色部分为PS交换*/

            2.5G到了3G,网络结构变成了下图,3G基站,由RNC和NodeB组成。3G除了硬件变化和网元变化之外,还有两个很重要的思路变化。其中之一,就是IP化。网线、光纤开始大量投入使用,设备的外部接口和内部通讯,都开始围绕IP地址和端口号进行。第二个思路变化,就是分离。具体来说,就是网元设备的功能开始细化,不再是一个设备集成多个功能,而是拆分开,各司其职。

     

            在3G阶段,分离的第一步叫做承载和控制分离。在通信系统里面,说白了,就两个(平)面,用户面和控制面。

    用户面,就是用户的实际业务数据,就是你的语音数据,视频流数据之类的。

    而控制面,是为了管理数据走向的信令、命令。这两个面,在通信设备内部,就相当于两个不同的系统。

    接着,SGSN变成MME,GGSN变成SGW/PGW,也就演进成了4G核心网

    基站里面的RNC没有了,为了实现扁平化,功能一部分给了核心网,一部分给了eNodeB。

    MME:Mobility Management Entity,移动管理实体。

    SGW:Serving Gateway,服务网关。

    PGW:PDN Gateway,PDN网关。

    在3G到4G的过程中,IMS出现了,取代传统CS(也就是MSC那些),提供更强大的多媒体服务(语音、图片短信、视频电话等)。

            到了5G,网络逻辑结构彻底改变了。5G核心网,采用的是SBA架构(Service Based Architecture,即基于服务的架构)。SBA架构,基于云原生构架设计,借鉴了IT领域的“微服务”理念。把原来具有多个功能的整体,分拆为多个具有独自功能的个体。每个个体,实现自己的微服务。

    有一个明显的外部表现,就是网元大量增加了。除了UPF之外,都是控制面。

    /*红色虚线内为5G核心网*/

            网元看上去很多,实际上,硬件都是在虚拟化平台里面虚拟出来的。这样一来,非常容易扩容、缩容,也非常容易升级、割接,相互之间不会造成太大影响(核心网工程师的福音)。

    简而言之,5G核心网就是模块化、软件化。就是为了“切片”,为了满足不同场景的需求。

    比如,在低时延的场景中(例如自动驾驶),核心网的部分功能,就要更靠近用户,放在基站那边,这就是“下沉”。下沉不仅可以保证“低时延”,更能够节约成本,所以,是5G的一个杀手锏。


    3.4、MEC(mobile edge coumputing)移动边缘计算

            随着移动端新业务需求的不断增加,传统网络架构已经无法满足需求。于是有了基于NFV和SDN技术的云化核心解决方案,云计算成为核心网络架构的演进方向,将所有计算放在云端处理,终端只做输入和输出。

            然而随着5G的到来,终端数量增多、要求更高的带宽、更低的延迟、更高的密度。于是提出了MEC(mobile edge coumputing)移动边缘计算的概念,在无线侧提供用户所需的服务和云端计算功能的网络架构。用于加速网络中各项应用的下载,让用户享有不间断的高质量网络体验,具备超低时延、超高宽带、实时性强等特性。

    MEC主要优势,省时、省力、省流量、简单细致高效。会应用在各个领域。

     

    比如中兴的5G MEC解决方案,把UPF下沉到无线侧,和CU、移动边缘应用(ME APP,如视频集成内容cache、VR视频渲染APP)一起部署在运营商MEC平台中,就近提供前端服务。

    比如,直播现场,部署MEC平台,可以调取全景摄像头拍摄视频进行清晰的实时回放。低时延、高带宽。

    比如,视频监控,视频回传数据量比较大,但大部分画面是静止不动,没有价值的。部署MEC平台,可以提前对内容进行分析处理,提取有价值的画面和片段进行上传,价值不高的数据就保存在MEC平台的存储器中,极大的节省了传输资源。


    3.5、雾计算

            与云计算相比,雾计算所采用的架构更呈分布式,更接近网络边缘。雾计算将数据、数据处理和应用程序集中在网络边缘的设备中,而不像云计算那样将它们几乎全部保存在云中。数据的存储及处理更依赖本地设备,而非服务器。所以,云计算是新一代的集中式计算,而雾计算是新一代的分布式计算,符合互联网的"去中心化"特征。

            雾计算不像云计算那样,要求使用者连上远端的大型数据中心才能存取服务。除了架构上的差异,云计算所能提供的应用,雾计算基本上都能提供,只是雾计算所采用的计算平台效能可能不如大型数据中心。

            雾计算是以个人云,私有云,企业云等小型云为主,它有几个明显特征:低延时和位置感知,更为广泛的地理分布,适应移动性的应用,支持更多的边缘节点。这些特征使得移动业务部署更加方便,满足更广泛的节点接入。

            "云计算"可以简单地理解为网络计算,因为云的概念即是指网络。而"雾计算"则可以简单地理解为局域网计算,雾的概念可以代指分布式的局域网络。云计算与雾计算各有优缺点,可以相辅相成,同时又有竞争。

            一般而言,雾计算和边缘计算的区别在于,雾计算更具有层次性和平坦的架构,其中几个层次形成网络,而边缘计算依赖于不构成网络的单独节点。雾计算在节点之间具有广泛的对等互连能力,边缘计算在孤岛中运行其节点,需要通过云实现对等流量传输。

    云计算和雾计算

     


    3.6、5G中的NFV和SDN

            未来5G网络将是基于SDN、NFV和云计算技术的更加灵活、智能、高效和开放的网络系统。5G网络架构包括接入云、控制云、转发云3个域。接入云支持多种无线制式的接入,融合集中式、分布式两种无线接入网架构,适应各种类型的回传链路,实现灵活的组网部署和更高效的无线资源管理。

            5G网络支持网络分片功能,为不同业务场景、用户,虚拟专用的网络资源。各网络系统的虚拟化、分层化演进,将使网络信息传送能力的统一控制得到实现。

    NFV(Network Function Virtualization,网络功能虚拟化)/SDN(Software Defined Network,软件定义网络)架构引入,控制承载进一步分离,各系统同平台部署,系统互通和协同工作更为方便。

    SDN是一种新兴的、控制与转发分离并直接可编程的网络架构,其核心是将传统网络设备紧耦合的网络架构解耦成应用、控制、转发三层分离的架构,并通过标准实现网络的集中管控和网络应用的可变成性。

    目前SDN主要部署在数据中心之间,针对移动无线网络部署方案及架构还在讨论中。

    SDN基础架构

    NFV是一种通过硬件最小化来减少依赖的硬件的更灵活和简单的网络发展模式。其实质是将网络功能从专用硬件设备中剥离出来。实现软件和硬件解耦后的各自独立,基于通用的计算、存储、网络设备并根据需要实现网络功能及其动态灵活的部署。

    NFV高层架构

    5G网络架构的三朵云。蓝色的无线接入云,支持控制和承载分离、接入资源的的协同管理,满足未来多种的部署场景。

    红色的控制云,实现网络控制功能集中,网元功能具备虚拟化、软件及其重构性,支持第三方网络能力开放。

    绿色的转发云,将控制功能剥离,转发功能靠近各个基站,将不同的业务能力与转发能力融合。

    其中,网络控制功能会根据物理区域进行划分,具体分为本地、区域和全局集中3种,一般来说控制功能会部署在数据中心,并通过北向接口来实现移动性管理、会话管理、资源控制和路由寻址等功能。

    5G的网络架构

            总体来看,SDN是连接控制云和转发云的关键;NFV将转发云设备和多个控制云中的网元用通用设备来替代,从而节省成本。3朵云中的资源调度、弹性扩展和自动化管理都是依赖云计算平台。

            NFV负责虚拟网元,形成“点”,SDN负责网络连接,形成“线”,而所有这些网络连接,都是部署在虚拟化的云平台中,云计算形成了“面”。

            NFV主要负责网络功能的软件和虚拟化,并保持功能不变。软件化是基于云计算平台的基础设施,虚拟化是充分利用IT设备资源的低成本和灵活性,但并非所有网络功能都需要被虚拟化。

            SVN技术追求的是网络控制和承载的分离,将传统分布式路由计算转变为集中式、流标下发的方式,在网络抽象层面上,将基于分组的转发颗粒度转为基于流的转发颗粒度,同时根据策略进行业务流处理。


    3.7、NAS、RRC、PDCP

    NAS(Non-Access Stratum,非接入层)和AS(Access Stratum,接入层)

    NAS协议处理UE和CN之间信息的传输,传输的内容可以是用户信息或控制信息(如业务的建立、释放或者移动性管理信息)。NAS消息一定程度上独立于下面的AS协议结构,与采样什么样的无线接入网无关(可以是GSM、GPRS、WCDMA)。控制平面的NAS消息有CM、MM、SM以及GMM等。用户平面的网络层NAS协议是IP(分组交换),电路交换业务不需要。NAS消息的传输要基于底层的AS协议。AS是无线接入网采用的协议。

    AS协议包括:无线接口协议,Iub协议以及Iu协议。其中的无线接口协议是UE与UTRAN间的协议,协议的高层(包括MAC、RLC、RRC等)位于UE和RNC之间,而底层(PHY)位于UE和NodeB之间。

    图、NAS和AS

            RRC(Radio Resource Control)无线资源控制协议,RRC是处理UE(User Equipment)和eNodeB(Evolved Node-B)之间控制平面的第三层信息。层一为物理层(PHY),层二为媒体接入控制子层(MAC)、无线链路控制子层(RLC)和分组数据会聚协议子层(PDCP),层三为无线资源控制层(RRC)。其中物理层是无线接入系统最底层,它以传输信道为接口,向上层提供服务。RRC对无线资源进行分配并发送相关信令,UE和UTRAN之间控制信令的主要部分是RRC消息,RRC消息承载了建立、修改和释放层2和物理层协议实体所需的全部参数,同时也携带了NAS(非接入层)的一些信令,如MM、CM、SM等。

    LTE中RRC只有两个状态:RRC_CONNECTED状态和RRC_IDLE状态。当已经建立了RRC连接,则UE处在RRC_CONNECTED状态。如果没有建立RRC连接,即UE处在RRC_IDLE状态。在RRC不同状态下的操作如下。

    ●RRC_IDLE:

    (1)PLMN选择。

    (2)接收高层配置DRX。

    (3)获取系统信息广播。

    (4)监控寻呼信道,检测到达的寻呼。

    (5)进行邻区测量和小区选择和重选。

    (6)UE获取唯一标识其跟踪区的ID。

    ●RRC_CONNECTED:

    (1)E-UTRAN可以传输给UE或从UE接收单播数据。

    (2)eNodeB可以控制UE的DRX配置。

    (3)网络控制的移动性,即切换和具有网络协助(NACC)到GERAN的小区变更命令。

    (4)UE可以进行以下过程:

    a.监控一个寻呼信道和SIB1(System  Information Block Type1)的内容,来检测系统信息改变,具有ETWS能力的UE检测ETWS通知。

    b.监控相关的控制信道,确定是否有给自己的数据调度。

    c.提供信道质量和反馈信息。

    d.进行邻区测量和测量上报。

    e.获取系统信息。

    PDCP(Packet Data Convergence Protocol)

            分组数据汇聚协议 。PDCP位于RLC子层之上,是L2的最上面的一个子层,负责发送或接收对等PDCP实体的分组数据。该子层主要的功能:IP包头压缩与解压缩、数据与信令的加密,以及信令的完整性保护。

    PDCP向上层提供的业务包括:用户平面数据的传输、控制平面数据的传输、头压缩、加密、完整性保护等。

    PDCP向下层提供的业务包括:透明数据传输业务、确认的数据传输业务(包括对PDCP PDU传输成功的指示)、非确认的数据传输业务(按序传输、包复制或丢弃处理)等。

    具体来讲,PDCP层的用户平面包括如下功能:

    ● 头压缩与解压缩,只支持一种压缩算法,即ROHC算法。

    ● 用户平面的数据传输,即从NAS子层接收PDCP SDU数据转发给RLC层,反之亦然。

    ● RLC AM的PDCP重建立流程时对上层PDU的顺序递交。

    ● RLC AM的PDCP重建立流程时对下层SDU的重复检测。

    ● RLC AM切换时对PDCP SDU的重传。

    ● 数据加密。

    ● 上行基于定时器的SDU丢弃。

    PDCP层控制平面包括的具体功能如下:

    ● 加密与完整性保护。

    ● 控制平面的数据传输,即从RRC层接收PDCP SDU数据,并转发给RLC层,反之亦然。

     

    PDCP实体

            PDCP实体位于PDCP层。对于一个UE,可以定义多个PDCP实体。每个用于携带用户平面数据的PDCP实体可以配置使用头压缩技术,每个PDCP实体携带一个无线承载的数据。每个PDCP实体最多只能用一个ROHC实例。

     

    展开全文
  • 神经网络架构搜索(Neural Architecture Search)杂谈

    万次阅读 多人点赞 2018-12-02 13:24:26
    搜索空间中的网络架构可以表示为描述结构的字符串或向量。 二、搜索策略 网络结构的搜索策略有很多。像随机搜索就是比较简单,但相对低效的做法,通常用作baseline。其它研究得比较多的有几类: 基于强化...

    一、背景

    机器学习从业者被戏称为“调参工”已经不是一天两天了。我们知道,机器学习算法的效果好坏不仅取决于参数,而且很大程度上取决于各种超参数。有些paper的结果很难重现原因之一就是获得最优超参值往往需要花很大的力气。超参数的自动搜索优化是一个古老的话题了。深度学习兴起前它主要针对传统机器学习算法中的模型超参数,比较经典的方法有随机搜索(Random search), 网格搜索(Grid search),贝叶斯优化(Bayesian optimization),强化学习(Reinforcement learning), 进化算法(Evolutionary Algorithm)等,统称为Hyperparameter optimization(HO)。像Auto-sklearn和Auto-WEKA都是比较有名的HO框架。对于深度学习说,超参数主要可为两类:一类是训练参数(如learning rate,batch size,weight decay等);另一类是定义网络结构的参数(比如有几层,每层是啥算子,卷积中的filter size等),它具有维度高,离散且相互依赖等特点。前者的自动调优仍是HO的范畴,而后者的自动调优一般称为网络架构搜索(Neural Architecture Search,NAS)。这些年来大热的深度神经网络,虽然将以前很另人头疼的特征提取自动化了,但网络结构的设计很大程度上还是需要人肉,且依赖经验。每年各AI顶会上一大批论文就是在提出各种新的更优的网络子结构。一个自然的诉求就是这个工作能否交给机器来做。

    本质上网络架构搜索,和围棋类似,是个高维空间的最优参数搜索问题。既然围棋上AlphaGo可以战胜人类,那在网络架构搜索上机器最后也很有可能可以取代人类。我们知道,AlphaGo主要是基于强化学习。2016年,MIT和Google的学者们差不多在同一时间发表论文,将强化学习引入到深度神经网络结构的搜索中,取得了不俗的成果。在几个小型的经典数据集上击败同时代同级别的手工设计网络。但这个方法有个缺点是消耗计算资源巨大,基本就不是一般人玩得起的。这个坑也是后面一大波工作改进的重点。尔后,Google发布AutoML平台,将之带入公众视野。现在这块领域无论是在学界还是在工业界,都成为香饽饽的热点。本文主要杂聊NAS中的搜索策略,加速方法,以及变体与扩展。涉及点及举例如图所示。
    在这里插入图片描述

    NAS的套路大多是这样的:先定义搜索空间,然后通过搜索策略找出候选网络结构,对它们进行评估,根据反馈进行下一轮的搜索。

    首先定义搜索空间。搜索空间定义基本是和DNN的发展相应。可以看到,早期的CNN大都是链式结构,因此初期的NAS工作中搜索空间也主要考虑该结构,只需考虑共几层,每层分别是什么类型,以及该类型对应的超参数。再后面,随着像ResNet,DenseNet,Skip connection这样的多叉结构的出现,NAS中也开始考虑多叉结构,这样就增大了组合的自由度可以组合出更多样的结构。另外,很多DNN结构开始包含重复的子结构(如Inception,DenseNet,ResNet等),称为cell或block。于是NAS也开始考虑这样的结构,提出基于cell的搜索。即只对cell结构进行结构搜索,总体网络对这些cell进行重叠拼接而成。当然如何拼接本身也可以通过NAS来学习。这样相当于减少自由度来达到减少搜索空间的目的,同样也可以使搜索到的结构具有更好的数据集间迁移能力。为了让搜索模型可以处理网络结构,需要对其编码。搜索空间中的网络架构可以表示为描述结构的字符串或向量。

    二、搜索策略

    网络结构的搜索策略有很多。像随机搜索就是比较简单,但相对低效的做法,通常用作baseline。其它研究得比较多的有几类:

    • 基于强化学习(Reinforcement learning):如上面提到的,开创性的工作主要是2016年由MIT发表的《Designing Neural Network Architectures using Reinforcement Learning》和Google发表的《Neural Architecture Search with Reinforcement Learning》两篇文章。前者提出MetaQNN,它将网络架构搜索建模成马尔可夫决策过程,使用RL方法(具体地,Q-learning算法)来产生CNN架构。对于CNN的每一层,学习体会选取层的类型和相应参数。生成网络结构后训练后得到的评估精度作为回报。这个回报用以参于Q-learning训练。作者在SVHN、CIFAR-10和MNIST三个数据集上进行了实验。用了10个GPU花费8-10天时间,基本可以击败同『重量级』的网络。后者采用RNN网络作为控制器来采样生成描述网络结构的字符串,该结构会用于训练并得到评估的准确率,然后使用了REINFORCE算法(早期的RL方法,在他们后面的工作中又使用了比较新的更加sample efficient的PPO算法)学习控制器的参数,使之能产生更高准确率的网络结构。它动用了800个GPU,最终在CIFAR-10数据集上击败了具有类似网络架构的人工设计模型,在PTB数据集上达到了新的SOTA水平,并且还找到了比广泛使用的LSTM更优的结构。
    • 基于进化算法(Evolutionary algorithm):在Google的论文《Large-Scale Evolution of Image Classifiers》中,进化算法被引入来解决NAS问题,并被证明在CIFAR-10和CIFAR-100两个数据集上能从一个简单的初始条件开始达到高的精度。首先,网络结构会进行编码,称为DNA。演进过程中会维扩护网络模型的集合,这些网络模型的fitness通过它们在验证集上的准确率给出。在进行过程中,会随机选取两个模型 ,差的那个直接被干掉(淘汰),好的那个会成为父节点(这种方式为tournament selection)。子节点经过变异(就是在一些预定的网络结构变更操作中随机选取)形成子结点。子结点经过训练和验证过放入集合。该作者在后续论文《Regularized Evolution for Image Classifier Architecture Search》中,提出了tournament selection的变体aging evolution,让进化中的选择倾向于比较『年轻』的模型,它可以帮助更好地进行探索。经搜索出的最优网络结构称为AmoebaNet(源码链接)。另外作者对强化学习,进化算法和随机搜索作了比较,发现强化学习和进化算法从准确率上来说表现很好。与强化学习相比进化算法搜索得更快(尤其是早期),且能得到更小的模型。随机搜索在学习到的网络准确率上会次于前面两者,但差距不是那么大(尤其是小数据集上)。
    • 基于梯度的方法(Gradient-based method):这是比较新的一类方法。前面提到的基于强化学习和进化算法的方法本质上都还是在离散空间中搜索,它们将目标函数看作黑盒。我们知道,如果搜索空间连续,目标函数可微,那基于梯度信息可以更有效地搜索。CMU和Google的学者在《DARTS: Differentiable Architecture Search》一文中提出DARTS方法。一个要搜索最优结构的cell,可以看作是包含N个有序结点的有向无环图。结点代表隐式表征(例如特征图),连接结点的的有向边代表算子操作。DARTS方法中最关键的trick是将候选操作使用softmax函数进行混合。这样就将搜索空间变成了连续空间,目标函数成为了可微函数。这样就可以用基于梯度的优化方法找寻最优结构了。搜索结束后,这些混合的操作会被权重最大的操作替代,形成最终的结果网络。另外,中科大和微软发表的论文《Neural Architecture Optimization》中提出另一种基于梯度的方法。它的做法是先将网络结构做嵌入(embedding)到一个连续的空间,这个空间中的每一个点对应一个网络结构。在这个空间上可以定义准确率的预测函数。以它为目标函数进行基于梯度的优化,找到更优网络结构的嵌入表征。优化完成后,再将这个嵌入表征映射回网络结构。这类方法的优点之一就是搜索效率高,对于CIFAR-10和PTB,结合一些像权重共享这样的加速手段,消耗可以少于1 GPU/天。

    其它还有如基于Boosting、MCTS、BO,Hill Climbing Algorithm等的方法,如论文《Adaptive structural learning of artificial neural networks》,《Deeparchitect: Automatically designing and training deep architectures》,《Neural architecture search with bayesian optimisation and optimal transport》,《Simple And Efficient Architecture Search for Convolutional Neural Networks》。这些方法相关讨论相对少些,就不详细展开了。

    三、加速

    上面提到,由于NAS中涉及的搜索空间巨大,而且其性能评估往往得涉及模型的训练,导致消耗的资源很大。像前面提到的基于强化学习和进化算法的方法,对于CIFAR这样不算大的数据集,基本都是用了上千GPU/天,家里没矿的或是小公司可能连研究的门槛都没到,可以说基本还没法平民化。因此,后面的一大批论文就是和这个问题作斗争。其中比较典型的加速方法有几类:

    • 层次化表示(Hierarchical Representation):如果要对一整个神经网络结构进行搜索,搜索空间是非常大的。Google的论文《Learning Transferable Architectures for Scalable Image Recognition》提出NASNet(源码链接),它假设整体网络是由cell重复构建的,那搜索空间就缩小到对两类cell(normal cell和reduction cell)结构的搜索上,从而大大减小了搜索空间。在CIFAR数据集上达到了比同期SOTA网络更高的精度,同时这样的分解也有助于知识的迁移,学习到的cell结构可以帮助在更大的图片分类数据集以及在物体检测数据集上得到SOTA的结果。注意在这个方法中,虽然cell结构是学习得到的,但如何重复和组合这些cell的元网络结构是预定义的。更拓展地,CMU和Google发表的论文《Hierarchical Representations for Efficient Architecture Search》中定义了一种层次化的网络结构:最底层为像卷积和池化等基本组件;中间层为这些组件所构成的图;最高层就是由这些图层叠而成的整体网络。
    • 权重共享(Weight sharing):在NAS过程中,最为耗时的其实就是对于候选模型的训练。而初版的NAS因为对每个候选模型都是从头训练的,因此会相当耗时。一个直观的想法是有没有办法让训练好的网络尽可能重用。上海交大和伦敦大学学院的论文《Reinforcement Learning for Architecture Search by Network Transformation》中将Network morphisms(网络态射)与神经网络搜索结合。所谓网络态射就是将网络进行变形,同时保持其功能不变。这样带来的好处是变形后可以重用之前训练好的权重,而不用重头开始训练。论文《Simple And Efficient Architecture Search for Convolutional Neural Networks》也使用了网络态射来达到共享权重的目的,只是它了爬山算法为搜索策略。经典的网络态射一般是从小网络开始,然后做『加法』(也有论文讨论让它支持做『减法的』);另一种思路就是从大网络开始做减法,如One-Shot Architecture Search方法,就是在一个大而全的网络上做减法。Google的论文《Efficient Neural Architecture Search via Parameter Sharing》提出了ENAS,其核心思想也是让搜索中所有的子模型重用权重。它将NAS的过程看作是在一张大图中找子图,图中的边代表算子操作。基本方法和《Neural Architecture Search with Reinforcement Learning》中的类似,使用基于LSTM的控制器产生候选网络结构,只是这里是决定大图中的哪些边激活,以及使用什么样的操作。这个LSTM控制器的参数和模型参数交替优化。由于权重共享,使用Nvidia GTX 1080Ti可以在一天内完成搜索,实现了1000x的提速。Auto-Keras就是基于ENAS的思想加以改造实现的。还有一个比较特别的思路,论文《SMASH: One-Shot Model Architecture Search through HyperNetworks》中对于候选模型,使用HyperNet来给出其权重,从而避免重头训练。最近,中科院的论文《You Only Search Once: Single Shot Neural Architecture Search via Direct Sparse Optimization》中提出了DSO-NAS方法,如其名称其特点是只搜一次。它始于一个完全连接的块,然后在操作间引入缩放因子,同时添加稀疏正则化来去除无用的连接,也就是去除不重要的操作,得到最优结构。文中提出可以在一个优化问题中同时学习网络结构和参数。
    • 表现预测(Performance prediction):我们知道,NAS中最费时的是候选模型的训练,而训练的目的是为了评估该结构的精度。为了得到某个网络模型的精度又不花费太多时间训练,通常会找一些代理测度作为估计量。比如在少量数据集上、或是低分辨率上训练的模型精度,或是训练少量epoch后的模型精度。尽管这会普遍低估精度,但我们要的其实不是其绝对精度估计,而是不同网络间的相对值。换言之,只要能体现不同网络间的优劣关系,是不是绝对精准没啥关系。从另一个角度思考,有没有可能基于模型结构直接预测其准确率呢。论文《Progressive Neural Architecture Search》中的关键点之一是使用了一个代理模型来指导网络结构的搜索。具体来说,这个代理模型是个LSTM模型,输入为网络结构的变长字符串描述,输出预测的验证精度。也正是有个这个利器,使得它里边提出方法即使用看起来并不复杂的启发式搜索,也能达到很好的效果。还有一个思路就是基于学习曲线来预测,这基于一个直观认识,就是我们在训练时基本训练一段时间看各种指标曲线就能大体判断这个模型是否靠谱。学习曲线预测,一种直观的想法就是外插值,如论文《Speeding up Automatic Hyperparameter Optimization of Deep Neural Networks by Extrapolation of Learning Curves》中所讨论的。之后论文《Learning Curve Prediction with Bayesian Neural Networks》中使用Bayesian neural network对学习曲线进行建模与预测。当然实际的预测中,可以不局限于单一的特征,如在论文《Accelerating Neural Architecture Search using Performance Prediction》中,结合了网络结构信息,超参数信息和时序上的验证精度信息来进行预测,从而提高预测准确性。总得来说,表现预测由于其高效性,在NAS中起到越来越关键的作用。很多的前沿方法也采用这类方法,如前面提到的《Neural Architecture Optimization》中就有预测器来基于网络表示预测其准确率。

    四、变体及扩展

    以上主要针对NAS本身的改进,且主要实验限于图像分类任务和自然语言处理,且大多只关注模型准确率。很自然的,大家就将NAS往其它的任务上应用,或者将更多因素纳入目标考虑。比如下面两项工作:

    • 语义分割:Google论文《Searching for Efficient Multi-Scale Architectures for Dense Image Prediction》将NAS拓展到主义分割领域(源码链接)。语义分割任务与图片分类相比,输入的尺寸更大。经典的语义分割网络需要特殊的结构,如空洞卷积、ASPP等来提取多尺度上下文信息。这给NAS带来了更大的挑战。这篇文章主要focus在两点:搜索空间的设计与代理任务的设计。对于搜索空间,文中提出了适合语义分割任务的DPC(Dense Prediction Cell)。对于评估精度的代理任务,由于语义分割任务与图片分类不同,往往依赖大分辨率,因此,代理任务的设计上,一方面采用小的网络backbone;另一方面将在训练集上得到的feature map cache起来重用。实验表明,机器搜到的网络在如Cityscapes、PASCAL-Person-Part和PASCAL VOC2012上能得到SOTA结果。
    • 多目标:随着各种AI场景在手机等端设备上应用需求的涌现,一些适用于资源受限环境的轻量级网络,如MobileNet,ShuffleNet开始出现并被广泛研究。自然地,NAS也开始从只考虑精度的单目标演进到多目标,如同时考虑精度、计算量、功耗等。多任务优化问题的一个挑战是往往没法找到单一解让所有子目标同时最优,所以我们找的一般是帕累托最优解。而具体到实际应用中,就涉及到多目标间tradeoff的问题。Google的论文《MnasNet: Platform-Aware Neural Architecture Search for Mobile》提出的MnasNet就是比较典型的例子。搜索方法上还是延续之前经典的RNN控制器+强化学习方法,在一个层次化搜索空间中搜索。它一方面提出带参数的优化目标,通过调节参数可以在精度和延时之间做权衡(如将延时作为硬要求或者软要求);另一方面在实现中将实际设备运行得到的推理延迟作为评估。尽管我们有模型大小、计算量和compute intensity等作为侧面的延时估计,但现实中由于延时会被很多因素影响,很难精确估计,还不如直接拿个设备来跑。。。从实验来看,能比前沿的轻量级模型找到更优的网络结构(如在ImageNet分类任务中,差不多精度下比MobileNet v2快50%)。其它比如论文《Resource-Efficient Neural Architect》中提出的RENA(Resource-Efficient Neural Architect),《PPP-Net: Platform-aware Progressive Search for Pareto-optimal Neural Architectures》中提出的PPP-Net(Platform-aware Progressive search for Pareto-optimal Net),《Efficient Multi-objective Neural Architecture Search via Lamarckian Evolution》中提出的LEMONADE(Lamarckian Evolutionary algorithm for Multi-Objective Neural Architecture DEsign),《NSGA-NET: A Multi-Objective Genetic Algorithm for Neural Architecture Search》中的NSGA-NET,都是对多目标NAS的探讨。

    NAS已在一些基本任务及数据集上证明能超越人类手工设计,那在其它深度学习相关的超参数上是否也能使用类似的思想让机器自动学习,从而得到比人工设计更好的参数,并免除人肉调参的痛苦呢。下面列举了几个这方面比较有趣的尝试。

    • 优化器:相对网络结构来说,优化器的迭代可以说是比较慢的,但每次重要的演进又很容易引人关注,因为这个太通用了。从最基本的SGD到Adagrad, Adadelta, RMSProp,Adam等更加精巧的更新方式,很多其实是加入了一些启发(如物理中的momentum概念),还是属于手工打造,实验证明。论文《Neural Optimizer Search with Reinforcement Learning》将使用在NAS上的方法拓展到了优化器(更准确地,更新公式)的优化上。与其它类似工作相比其优点之一是它输出的是更新公式,因此在不同模型和任务间具有更好的迁移能力。首先将更新规则用字符串描述,其描述了该更新公式中所使用的操作数(像梯度及其幂,和它们的指数滑动平均、噪声、Adam/RMSProp或一些常数等),应用在其上的unary函数(取负、自然底数、绝对值取对数、clip等),以及操作数之间的binary函数(加减乘除等)。然后采用NAS中类似的基于RNN的控制器,之后用验证集精度为回报来采用强化学习训练控制器。作者实验中找到了两个新的优化器 - PowerSign和AddSign,并被证明在实验数据集上强于现在常见的优化器。
    • 模型压缩:这几年,模型压缩可谓是深度学习中最为火热的分支之一。该方向对于落地到移动端上尤其重要。在AutoML的浪潮下,这项工作也有了新的拓展。MIT,西安交大和Google的论文《AMC: AutoML for Model Compression and Acceleration on Mobile Devices》主要针对模型压缩中的重要方法之一 - 剪枝(Pruning)。业界普遍认为虽然模型训练时需要复杂的结构,但训练好的模型一般有比较高的冗余度,因此可以进行裁剪,且只降低很少精度,甚至可能提高精度(由于剪枝能起到正则化效果,从而提高模型的泛化能力)。但是,剪枝策略中的参数选择是件很tricky的事。拿稀疏率来说,由于每层可能都有不同的冗余程度,因此有各自不同的最优稀疏率。虽然有不少启发式的策略,但还是需要人肉试验看效果。这篇文章提出AMC(AutoML for Model Compression)方法,引入强化学习(具体地,DDPG算法)来学习最优的参数,并且通过设计不同的回报函数可以让最后得到的模型满足不同需要(如高压缩率,或是保证精度)。实验表明,在ImageNet数据集VGG-16模型上,在计算量减少到1/4的情况下准确率比人工调参下高2.7%;另外MobileNet模型可以在准确率只掉0.1%的前提下在Android手机和Titan XP GPU上分别达到1.81和1.43倍的加速。
    • 数据增强:AutoML的意义在于把之前启发式人工设计的东西用机器搜索来替代。而深度学习尤其是视觉任务中,有一项容易被忽视但又对结果至关重要的就是数据增强,它被认为可以很大程度上在已有数据集条件下增强模型的泛化能力。另外,数据增强方法的挑战之一是它不是完全通用的,如某一特定数据集上最优的数据增强方法可能并不适用于另一数据集。这就意味着对于特定任务,我们需要找到最适合的数据增强手段。论文《AutoAugment: Learning Augmentation Policies from Data》正是做了这方面的探索,首先定义搜索空间:一个数据增强策略包含五个子策略,每个子策略包含两个图像操作,每个图像操作包含两个超参数:一个是应用该操作的概念,另一个是操作相关应用程度。考虑的操作包含shear, translate, rotate等16种。这样就把该问题很好地转化为最优参数搜索问题了。然后基本可以沿用NAS中的方法,使用一个基于RNN的控制器来给出数据增强策略,然后将应用该数据增强策略下的模型精度作为回报,使用强化学习(具体地,PPO算法)训练该控制器。作者实验表明,该方法可以在CIFAR-10, CIFAR-100, SVHN和ImageNet数据集上达到了SOTA水平。

    可以看出,要将NAS中的超参数自动调优的方法应用到其它领域,最关键的其实是搜索空间的定义和编码,而这个往往是领域相关的。其它的基本都可以沿用。可以预见,将来可能会被拓展到更多目前需要人工设计的部分。以后可能只要提供数据,从数据增强、到优化器、到网络结构,再到训练参数,都能全自动完成了。

    展开全文
  • yolov5代码解读-网络架构

    千次阅读 2021-10-03 12:06:46
    目录前言网络架构可视化可视化工具(1)netron(2)onnx配置文件解读网络层网络架构代码yolo.pymodelparse_modelcommon.pyConvfocusBottleneckCSPSPPUpsample 前言 之前解读了yolov5的数据处理模块:yolov5代码解读-...
  • 4G网络架构

    万次阅读 多人点赞 2016-05-21 20:00:15
    网络架构的变化 1 )实现了控制与承载的分离, MME 负责移动性管理、信令处理等功能, S-GW 负责媒体流处理及转发等功能。 2 )核心网取消了 CS (电路域),全 IP 的 EPC ( Evolved Packet Core ,移动...
  • 轻量级神经网络架构综述

    千次阅读 2020-10-07 10:09:55
    轻量级神经网络架构综述 深度神经网络已经被证明可以有效的解决图像、自然语言等不同领域的问题.同时伴随着移动互联网技术的不断发展,便携式设备得到了迅速的普及,用户提出了越来越多的需求.因此,如何设计高效、高...
  • 通俗易懂:图解10大CNN网络架构

    万次阅读 多人点赞 2019-08-04 18:05:50
    作者 | Raimi Karim译者 | Major编辑 | 赵雪出品 | AI科技大本营(ID: rgznai100)导语:近年来,许多卷积神经网络( CNN )跃入眼...
  • 智能网络架构及实现包括了一系列的pdf文档,教你从零开始入门智能网络架构设计,你值得拥有!
  • 神经网络架构搜索——可微分搜索(DARTS)背景算法核心思想搜索空间Cell的组成优化策略生成最终Cell结构normal cell searchreduce cell search网络结构堆叠结果CIFAR-10ImageNet参考 背景 神经网络架构搜索之前主流...
  • 【论文】FBNet: Hardware-Aware Efficient ConvNet Design via Differentiable Neural Architecture Search ...然后证明交叉熵项和延时项对于网络基本结构的选择是可微分的,然后通过梯度下降方法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,992,409
精华内容 796,963
关键字:

网络架构