深度网络现代实践 - 深度前馈网络之结构设计篇

序言

深度网络结构设计作为人工智能领域的基石,正引领着技术创新的浪潮。通过模拟人脑神经元间的复杂连接,深度神经网络展现了卓越的特征学习与模式识别能力。随着大数据与计算能力的提升,设计高效、精准且泛化能力强的深度网络结构成为研究热点。

结构设计

  • 结构(architecture)
    • 神经网络设计的另一个关键点是确定它的结构。结构(architecture)一词是指网络的整体结构:它应该具有多个单元,以及这些单元应该如何连接。
  • 结构描述
    • 大多数神经网络被组织成称为层的单元组。大多数神经网路结构将这些层布置成链式结构,其中每一层都是前一层的函数。
    • 在这种结构中,第一层由下式给出: h ( 1 ) = g ( 1 ) ( W ( 1 ) ⊤ x + b ( 1 ) ) \boldsymbol{h}^{(1)}=g^{(1)}(\boldsymbol{W}^{(1)\top}\boldsymbol{x}+\boldsymbol{b}^{(1)}) h(1)=g(1)(W(1)x+b(1))
    • 第二层由: h ( 2 ) = g ( 2 ) ( W ( 2 ) ⊤ h ( 1 ) + b ( 2 ) ) \boldsymbol{h}^{(2)}=g^{(2)}(\boldsymbol{W}^{(2)\top}\boldsymbol{h}^{(1)}+\boldsymbol{b}^{(2)}) h(2)=g(2)(W(2)h(1)+b(2)),给出,以此类推。
    • 在这些链式结构中,主要的结构考虑是选择网络的深度和每一层的宽度。
      • 我们将会看到,即使只有一个隐藏层的网络也足够适应训练集。
      • 更深层的网络通常能够对每一层使用更少的单元数和更少的参数,并且经常推广到测试集,但是通常也更难以优化。
      • 对于一个具体的任务,理想的网络结构必须通过实验,观测在验证集上的错误来找到。

通用近似性质和深度

  • 线性模型,通过矩阵乘法将特征映射到输出,顾名思义,仅能表示线性函数。它具有易于训练的优点,因为当使用线性模型时,许多损失函数会导出凸优化问题。不幸的是,我们经常想要学习非线性函数。

  • 通用近似定理(universal approximation theorem)

    • 咋一看,我们可能认为学习非线性函数需要为我们想要学习的那种非线性专门设计一类模型族。幸运的是,具有隐藏层的前馈网络提供了一种通用近似框架。

    • 具体来说,通用近似定理(universal approximation theorem)表明,一个前馈神经网络如果具有线性输出层和至少一层具有任何一种“挤压”性质的激活函数(例如logistic sigmoid激活函数)的隐藏层,只要给与网络足够数量的隐藏单元,它可以以任意的精度来近似任何从一个有限维空间到另一个有限维空间的Borel可测函数

    • 前馈网络的导数也可以任意好地来近似函数的导数。对于我们想要实现的目标,只需要知道定义在 R n \mathbb{R}^n Rn的有界闭集上的任意连续函数是Borel可测的,因此可以用神经网络来近似。

    • 神经网络也可以近似从任何有限维离散空间映射到另一个的任意函数。虽然原始定理最初以具有特殊激活函数的单元的形式来描述,这个激活函数当变量取绝对值非常大的正值和负值时都会饱和,通用近似定理也已经被证明对于更广泛类别的激活函数也是适用的,其中就包括现在常用的整流线性单元。

    • 通用近似定理意味着无论我们试图学习什么函数,我们知道一个大的MLP 一定能够表示这个函数。然而,我们不能保证训练算法能够学得这个函数。即使 MLP能够表示该函数,学习也可能因两个不同的原因而失败。首先,用于训练的优化算法可能找不到用于期望函数的参数值。其次,训练算法可能由于过拟合选择了错误的函数。“没有免费的午餐” 定理说明了没有普遍优越的机器学习算法。 前馈网络提供了表示函数的通用系统,在这种意义上,给定一个函数,存在一个前馈网络能够近似该函数。不存在通用的过程既能够验证训练集上的特殊样例,又能够选择一个函数来扩展到训练集上没有的点。

    • 通用近似定理说明了存在一个足够大的网络能欧达到我们所希望的任意精度,但是定理并没有说这个网络有多大。Barron (1993) 提供了单层网络近似一大类函数所需大小的一些界。不幸的是,在最坏情况下,可能需要指数数量的隐藏单元(可能一个隐藏单元对应着一个需要区分的输入配置)。这在二进制情况下很容易看到:向量 v ∈ { 0 , 1 } n \boldsymbol{v}\in\{0,1\}^n v{0,1}n上的可能二进制的数量是 2 2 n 2^{2^n} 22n并且选择一个这样的函数需要 2 n 2^{n} 2n位,这通常需要 O ( 2 n ) \Omicron(2^n) O(2n)的自由度。

    • 总之,具有单层的前馈网络足以表示任何函数,但是网络层可能不可实现得大并且可能无法正确地学习和泛化。在很多情况下,使用更深的模型能够减少表示期望函数所需的单元的数量,并且可以减少泛化误差。

    • 存在一些函数族能够在网络的深度大于某个值 d d d时被高效地近似,而当深度被限制到小于或等于 d d d时需要一个远远大于之前的模型。在很多情况下,浅层模型所需的隐藏单元的数量是 n n n的指数级。这个结果最初被证明是在那些不与连续可微的神经网络类似的机器学习模型中出现,但现在已经扩展到了这些模型。第一个结果是关于逻辑门电路的 (Håstad, 1986)。后来的工作将这些结果扩展到了具有非负权重的线性阈值单元 (Håstad and Goldmann, 1991; Hajnal et al., 1993),然后扩展到了具有连续值激活的网络 (Maass, 1992; Maass et al., 1994)。

    • 许多现代神经网络使用整流线性单元。 Leshno et al. (1993) 证明带有一大类非多项式激活函数族的浅层网络,包括整流线性单元,具有通用的近似性质,但是这些结果并没有强调深度或效率的问题——它们仅指出足够宽的整流网络能够表示任意函数。 Montufar et al.(2014) 指出一些用深度整流网络表示的函数可能需要浅层网络(一个隐藏层)指数级的隐藏单元才能表示。更确切的说,他们说明分段线性网络(可以通过整流非线性或maxout 单元获得)可以表示区域的数量是网络深度的指数级的函数。图例1解释了带有绝对值整流的网络是如何创建函数的镜像图像的,这些函数在某些隐藏单元的顶部计算,作用于隐藏单元的输入。每个隐藏单元指定在哪里折叠输入空间,来创造镜像响应(在绝对值非线性的两侧)。通过组合这些折叠操作,我们获得指数级的分段线性区域,他们可以概括所有种类的规则模式(例如,重复)。
      图例1:关于更深的整流网络具有指数优势的一个直观的几何解释,来自来自Montufar et al. (2014)
      在这里插入图片描述

    • 图例1说明

      • 左边:
        • 绝对值整流单元对其输入中的每对镜像点有相同的输出。
        • 镜像的对称轴由单元的权重和偏置定义的超平面给出。
        • 在该单元顶部计算的函数(绿色决策面)将是横跨该对称轴的更简单模式的一个镜像。
      • 中间:
        • 该函数可以通过折叠对称轴周围的空间来得到。
      • 右边:
        • 另一个重复模式可以在第一个的顶部折叠(由另一个下游单元)以获得另外的对称性(现在重复四次,使用了两个隐藏层)。图重置得到了Montufar et al. (2014) 的许可。
    • 更确切的说, Montufar et al. (2014) 的主要定理指出,具有 d d d个输入,深度为 l l l,每个隐藏层有 n n n个单元的深度整流网络可以描述的线性区域的数量是: O ( ( n d ) d ( l − 1 ) n d ) \Omicron\left((\begin{matrix}n\\d\end{matrix})^{d(l-1)} n^d\right) O((nd)d(l1)nd)

    • 这意味着,是深度 l l l的指数级。在每个单元具有 k k k个过滤器的maxout网络中,线性区域的数量是: O ( k ( l − 1 ) + d ) \Omicron(k^{(l-1)+d}) O(k(l1)+d)

    • 当然,我们不能保证在机器学习(特别是AI)的应用中我们想要学得的函数类型享有这样的属性。

    • 我们还可能出于统计原因来选择深度模型。任何时候,当我们选择一个特定的机器学习算法时,我们隐含地陈述了一些先验,这些先验是关于算法应该学得什么样的函数的。选择深度模型默许了一个非常普遍的信念,那就是我们想要学得的函数应该涉及几个更加简单的函数的组合。这可以从表示学习的观点来解释,我们相信学习的问题包含发现一组潜在的变化因素,它们可以根据其他更简单的潜在的变化因素来描述。或者,我们可以将深度结构的使用解释为另一种信念,那就是我们想要学得的函数是包含多个步骤的计算机程序,其中每个步骤使用前一步骤的输出。这些中间输出不一定是变化的因素,而是可以类似于网络用来组织其内部处理的计数器或指针。根据经验,更深的模型似乎确实会更适用于广泛的任务。

    • 使用深层结构在模型学习的函数空间上表示了一个有用的先验,如下图例所示:
      图例2:深度的影响
      在这里插入图片描述

    图例2说明:实验结果表明,当从地址照片转录多位数字时,更深层的网络能够更好地泛化。数据来自Goodfellow et al. (2014d)。测试集上的准确率随着深度的增加而不断增加。图例3给出了一个对照实验,它说明了对模型尺寸其他方面的增加并不能产生相同的效果。
    图例3:参数数量的影响
    在这里插入图片描述

    图例3说明:更深的模型往往表现更好。这不仅仅是因为模型更大。 Goodfellow et al.
    (2014d) 的这项实验表明,增加卷积网络层中参数的数量,但是不增加它们的深度,在提升测试集性能方面几乎没有效果,如此图所示。图例标明了用于画出每条曲线的网络深度,以及曲线表示的是卷积层还是全连接层的大小变化。我们可以观察到,在这种情况下,浅层模型在参数数量达到2000万时就过拟合,而深层模型在参数数量超过6000万时仍然表现良好。这表明,使用深层模型表达出了对模型可以学习的函数空间的有用偏好。具体来说,它表达了一种信念,即该函数应该由许多更简单的函数复合在一起而得到。这可能导致学习由更简单的表示所组成的表示(例如,由边所定义的角)或者学习具有顺序依赖步骤的程序(例如,首先定位一组对象,然后分割它们,之后识别它们)。

    • 一般的,层不需要连接在链中,尽管这是最常见的做法。许多结构构建了一个主链,但随后又添加了额外的结构属性,例如从层 i i i到层 i + 2 i + 2 i+2或者更高层的跳动连接。这些跳动连接使得梯度更容易从输出层流向更接近输入的层。
    • 结构设计考虑的另外一个关键点是如何将层与层之间连接起来。默认的神经网络层采用矩阵 W W W描述的线性变换,每个输入单元连接到每个输出单元。在之后章节中的许多专用网络具有较少的连接,使得输入层中的每个单元仅连接到输出层单元的一个小子集。这些用于减少连接数量的策略减少了参数的数量以及用于评估网络的计算量,但通常高度依赖于问题。例如,后续篇章:卷积神经网络描述的卷积神经网络使用对于计算机视觉问题非常有效的稀疏连接的专用模式。本篇章中,很难对通用神经网络的结构给出更多具体的建议。随后的章节研发了一些特殊的结构策略,可以在不同的领域工作良好。

总结

综上所述,深度网络结构设计作为人工智能领域的核心课题,其发展与创新是推动技术进步的关键。从经典的网络模型到复杂多变的网络架构,每一次突破都极大地拓宽了深度学习的应用范围与性能边界。未来,随着算法优化、硬件加速及跨学科融合的加速推进,我们有望见证更加智能化、高效化、可解释性强的深度网络结构的诞生,进一步推动人工智能技术的普及与应用,为人类社会带来前所未有的变革与福祉。因此,持续探索与创新深度网络结构设计,将是每一位科研工作者与工程师不懈追求的目标。

往期内容回顾

应用数学与机器学习基础 - 容量、过拟合和欠拟合篇:没有免费的午餐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/766553.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度探索“目录名称无效“:原因、解决方案与最佳实践

目录名称无效:现象背后的秘密 在日常使用电脑或移动设备时,我们时常会遇到“目录名称无效”的错误提示,这一提示仿佛是一道无形的屏障,阻断了我们与重要数据的联系。从本质上讲,“目录名称无效”意味着系统无法识别或…

基于正点原子FreeRTOS学习笔记——时间片调度实验

目录 一、时间片调度介绍 二、实验演示 1、宏修改 1.1、滴答定时器宏 1.2、调度器宏 2、实验程序 2.1.1、任务1,任务2不加临界区程序 2.1.2 实验现象 2.2.1、任务1,任务2加临界区程序 2.2.2 实验现象 一、时间片调度介绍 时间片:同…

Golang中defer和return顺序

在Golang中,defer 和 return 的执行顺序是一个重要的特性,它们的执行顺序如下: return语句不是一条单独的语句,实际上,它是由赋值和返回两部分组成的。赋值步骤会先执行,这一步会计算return语句中的表达式…

【后端面试题】【中间件】【NoSQL】MongoDB的配置服务器、复制机制、写入语义和面试准备

MongoDB的配置服务器 引入了分片机制之后,MongoDB启用了配置服务器(config server) 来存储元数据,这些元数据包括分片信息、权限控制信息,用来控制分布式锁。其中分片信息还会被负责执行查询mongos使用。 MongoDB的配置服务器有一个很大的优…

【C语言】const 关键字

在C语言中,const关键字用于定义常量,使得变量的值在其声明之后无法被修改。这可以帮助防止意外修改数据,提高代码的安全性和可读性。以下是有关const关键字的一些详细说明: 基本用法 const int max_value 100;在这个例子中&…

Zynq系列FPGA实现SDI视频编解码+图像缩放,基于GTX高速接口,提供4套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本博已有的FPGA图像缩放方案本方案的无缩放应用本方案在Xilinx--Kintex系列FPGA上的应用 3、详细设计方案设计原理框图SDI 输入设备Gv8601a 均衡器GTX 解串与串化SMPTE SD/HD/3G SDI IP核BT1120转RGB纯V…

FastApi中的常见请求类型

FastApi中的常见请求类型 后端开发语言中,我钟情于node,高效的异步处理真是让我眼前一亮,同时,简单易懂的语法也让我非常倾心 但是但是,因为考虑要写一个深度学习算法的后端接口,所以不得不选用python作为…

容器安全:等保合规性的基石

随着云计算和微服务架构的蓬勃发展,容器技术已经成为现代IT基础设施不可或缺的一部分。在网络安全等级保护制度(等保)的框架下,容器安全的要求日益凸显,成为等保合规性的基石。本文将深入探讨容器安全在等保中的重要性…

nginx的配置文件

nginx.conf 1、全局模块 worker_processes 1; 工作进程数,设置成服务器内核数的2倍(一般不超过8个,超过8个反正会降低性能,4个 1-2个 ) 处理进程的过程必然涉及配置文件和展示页面,也就是涉及打开文件的…

让围绕数据库构建大模型应用更简单方便--DB-GPT

DB-GPT的目的是构建大模型领域的基础设施,通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单,更方便。 1 处理流程 DB-GPT系…

问题集锦1

01.inner中使用JwtTokenUtil.getUserCode() 前端调用上传(java),上传使用加购 Overridepublic Boolean insertShoppingCart(InsertShoppingCartParamsDto dto) {// 通过userCode,itemCode和supplierCode来判断当前加购人添加到购物车的商品是…

美术馆预约小程序的设计

管理员账户功能包括:系统首页,个人中心,展品信息管理,管理员管理,用户管理,美术馆管理,基础数据管理,论坛管理 微信端账号功能包括:系统首页,美术馆&#xff…

工业路由器与家用路由器的区别

在现代网络环境中,路由器扮演着至关重要的角色。无论是在家庭网络还是在工业网络,选择合适的路由器都至关重要。本文将从多个角度,对工业路由器与家用路由器进行详细比较,帮助您更好地理解二者的区别。 1、安全性 工业路由器&…

API接口测试/Swgger-ui未授权访问

目录 API接口 接口文档 接口测试的方法 单流程 多流程 Swgger-ui未授权访问 在之间的一次面试中面试官问到了API接口测试,我回答的不好,因为自己确实不太会,后面才下去学习了,这里复习和练习一下 API接口 API(…

背景图的动效,非常的炫酷,非一般的感觉。

我们都知道在一些展示型项目中,背景图加上动效后,可以立马让整个设计档次提升了,这次带来了一批背景图的动效图,大家看一下。

震惊!张宇强化36讲1200页,暑期强化高效利用指南!

特别喜欢张宇老师的讲课风格 如果你打算跟张宇老师,那么基础——>强化——>冲刺,你应该这么买书! 张宇老师25版课程大改版,其中,36讲的变动是最大的,张宇老师25版课程把以往的强化课程前移&#xff0…

基于多视点编码光场的全景三维重建方法

欢迎关注GZH《光场视觉》 摘要:在基于光场的一系列应用中,目标的三维重建是基础且关键的任务。普通光场只能重建单一视角而无法重建全景,并且在纹理特征匮乏的区域也无法生成准确的三维信息。针对以上问题,提出一种基于多视点编码…

视频字幕提取在线工具有哪些?总结5个字幕提取工具

平时在沉浸式追剧的时候,我们常常都会被影视剧中的各种金句爆梗而逗得开怀大笑~而真正要用到时候却总是一片头脑空白。其实要记住它们最好的办法便是将其提取留档下来,每次有需要的时候打开就能一下子回顾到~ 今天就来带大家盘一盘视频字幕提取的软件好…

泰雷茲具有首个通过FIPS 140-3 三级认证的HSMs

泰雷兹LunaHsm是业界首款通过FIPS140-33级认证的解决方案,安策引进泰雷兹HSM产品可以帮助您满足您的数据安全合规性需求,阻力企业提高竞争力。 安策提供泰雷茲ThalesLunaHSMs成为首个通过FIPS140-3三级认证的硬件安全模块图 我们很高兴地宣布&#xff0c…

端口聚合基础知识

一、什么是端口聚合 端口聚合是将多个物理端口捆绑在一起,形成一个逻辑链路,以实现带宽增加、提高冗余和负载均衡的技术。端口聚合,也称为以太通道(Ethernet Channel),主要用于交换机之间的连接。在具有多…