精华内容
下载资源
问答
  • 什么是深层神经网络、浅层神经网络——神经网络的数学基础原理(3)
    千次阅读
    2019-08-12 14:48:13

    一、什么是深度神经网络

    上一篇文章我们讲到了不含激活函数的线性神经网络,这种网络一般来说是浅层神经网络,知道了在线性结构中,由于线性模型自身的局限性,线性深层神经网络变得没有意义,因为多个线性隐含层最终可以合并成单层。任意层的全连接神经网络和单层神经网络模型的表达能力没有任何区别。

    本文介绍一下深层神经网络,也就深度神经网络或深度学习。区别于传统的浅层学习,深度学习的不同在于:

    (1)强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点。

    (2)明确了特征学习的重要性。也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据丰富的内在信息。

    通过设计建立适量的神经元计算节点和多层运算层次结构,选择合适的输人层和输出层,通过网络的学习和调优,建立起从输入到输出的函数关系,虽然不能100%找到输入与输出的函数关系,但是可以尽可能的逼近现实的关联关系。使用训练成功的网络模型,就可以实现我们对复杂事务处理的自动化要求。

    百度百科参考资料:https://baike.baidu.com/item/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/3729729?fr=aladdin

    二、深层神经网络与浅层神经网络特点及区别

    第一部分介绍了深度神经网络的概念以及深度神经网络和浅层神经网络的区别。简单说,深层神经网络和浅层神经网络的区别在于网络中隐含层的层数多少。

    上篇文章中讲过,神经网络层与层之间的数据传递算法,可以用线性代数中矩阵的乘法运算规则来表示。基于线性代数中矩阵的运算规则,推导出神经网络中,层数的多少取决于网络层是线性的还是非线性的。

    文章链接:全连接网络的算法原理——神经网络的数学基础原理(2)

    这里我们再来对比一下线性模型下的神经网络和非线性模型下的神经网络计算过程:

    1.线性模型:

    可以看到,在神经网络的线性层中,W(1)和W(2)是两个网络层的参数矩阵,根据矩阵乘法的结合律,W(1)和W(2)可以化简成W',即多个线性层最终可通过化简,用一个线性层来表示。所以线性层构成的网络往往是浅层神经网络。

    激活函数参考资料:激活函数和神经网络间的关系详解——神经网络的数学基础原理(1)

    2.非线性模型:

    可以看到,在神经网络的非线性层中,输入层 x 与隐含层W(1)进行矩阵的乘法运算后,计算结果还要再通过非线性函数(激活函数) f 进行一次转换,此时W(1)和W(2)不能再使用矩阵乘法的结合律进行化简,因此多层隐含层之间不能直接化简合并。

    此时多层神经网络中的每一层隐含层开始变得有自己的意义,每一层都有了可以独立携带数据的部分特征,因此网络能储存的信息量也变得更大了,可以解决更加复杂的数据问题。

     

    三、带有激活函数的神经网络计算过程

    下面我们从图示的角度,理解引入非线性函数后的多层神经网络计算过程,笔记中隐藏层ai中使用了一个激活函数 f = max,表示从0和x中取较大值即:

                                                                                 f(x) = max\left \{ 0,x \right \}

    数据在带有激活函数的网络中传递计算过程如下:

     

    四、总结

    1.深度学习其实本质上指的就是利用深层神经网络进行机器学习

    2.深层神经网络的重要特征就是网络的层数多,因此能携带更大的数据,可以实现更复杂的数据关系映射。

    3.而实现多层网络结构就要通过在网络中使用非线性激活函数,使得神经网络可以任意逼近任何非线性函数,从而对各种函数关系进行拟合。

    那是不是网络层数越多越好?网络结构越复杂越好?答案当然是否定的。后续我们来讨论一下,由于网络规模选择问题而导致的:过拟合、欠拟合、梯度消失、梯度爆炸等问题。

     

    五、附学习笔记如下

    更多相关内容
  • 使用深度神经网络的机器学习(“深度学习”)允许直接从原始输入数据学习复杂特征,完全消除了学习流程中手工“硬编码”的特征提取。这促使了计算机视觉,自然语言处理,强化学习和生成模型的相关任务性能的提升。
  • 基于深层神经网络的医学图像半自动绘画标注系统设计研究.pdf
  • 【吴恩达课后编程作业】Course 2 - 改善深层神经网络 - 第三周作业 - TensorFlow入门.zip
  • 包含测试程序用的Mnist数据库,以及可以直接用VS打开的工程文件,可根据自己的需要进行下载
  • 的蜂窝通信、多媒体和连接性DSP IP平台授权厂商CEVA公司宣布推出实时神经网络软件框架CEVA 深层神经网络(CEVA Deep Neural Network, CDNN),以简化低功耗嵌入式系统中的机器学习部署。通过利用CEVA-XM4 图像和...
  • 浅层/深层神经网络

    2021-07-03 21:25:30
    - 知道浅层/深层神经网络的前向和反向计算过程 - 掌握激活函数的使用以及选择 - 知道神经网络的参数和超参数 不用太纠结有几层的神经网络是浅层,有多少层的神经网络是深层,一般的,1、2层,3、4层,浅层没救够了。...


    目标:
    - 知道浅层/深层神经网络的前向和反向计算过程
    - 掌握激活函数的使用以及选择
    - 知道神经网络的参数和超参数
    不用太纠结有几层的神经网络是浅层,有多少层的神经网络是深层,一般的,1、2层,3、4层,浅层没救够了。

    神经网络的表达能力

    这段话我目前没有太理解,把原文放上:
    在这里插入图片描述
    如果有明白的朋友欢迎留言讨论!

    浅层神经网络的前向传播与反向传播

    浅层神经网络的表示

    假设有一下结构的神经网络:
    在这里插入图片描述
    这个网络有三层:输入层、隐藏层、输出层,对这个网络建立一个简单的图示:
    在这里插入图片描述
    其中,w[1]b[1]表示第一层的权重和偏置,w[2]b[2]表示第二层的权重和偏置,因为第三层是用于进行预测输出,所以第三层就没有权重和偏置;a_1[1],a_2[1],a_3[1],a_4[1]分别表示隐藏层中4个神经元的输出结果,a_1[2]表示结果输出;每一层都有激活函数这个神经网络的计算图如下所示:
    在这里插入图片描述
    处理过程:
    - 第一次初始化权重和偏置
    - 开始进行前向传播,得出a_1[2],并且计算损失
    - 进行反向传播,梯度下降算法更新w[2]b[2],w[1]b[1]
    - 重复上述内容
    每个神经元分解如下
    在这里插入图片描述
    在这里插入图片描述

    反向梯度下降

    由于网络存在俩层,所以需要从后往前得到导数结果。也就是要计算每一层的损失函数。(损失函数对最后一层权重w2b2求导,损失函数对隐藏层权重w1b1求导)
    在这里插入图片描述

    激活函数的选择

    非线性激活函数

    涉及到网络的优化时候,会有不同的激活函数选择。但是呢,有一个问题就是神经网络的隐藏层和输出单元用什么激活函数。之前用的激活函数是sigmoid函数,但有时候用其他函数的效果就会好很多,这些函数都是实践出来的,就当做工业界都比较认可的函数选择。
    可供选择的函数有:

    • tanh函数(the hyperbolic tangent function,双曲正切函数):
      在这里插入图片描述

    函数输出在[-1,1]之间。在神经网络中,我们将Z作为神经网络的输出,并且将A作为经过激活函数后的神经网络输出。
    tanh函数和sigmoid函数都将面临一个问题:当神经网络计算出来的结果非常大或者非常小的时候,它们的值就越逼近1或者-1,从而导数接近于0,也就是梯度下降会更新的特别慢(因为这个函数图的横坐标是x,也就是神经网络的输出,也可以写成WX+b,是关于W的函数(W权重,X为输入的特征,b是偏置))。

    线性激活函数

    • ReLU函数(the rectified linear unit,线性修正单元)
      在这里插入图片描述
      当Z>0时,导数永远是1,可以提高梯度算法的运算速度,收敛速度会快于sigmoid和tanh函数,而且当z<0时,经实践证明,该缺陷的影响不是很大。
    • Leaky ReLU(带泄露的ReLU)
      在这里插入图片描述
      从理论上来讲,Leaky ReLU要好于ReLU,但是实际中使用ReLU更常见。

    为什么需要非线性激活函数

    首先,如果没有激活函数,那么神经网络的输出就是输入的线性组合,与没有隐藏层的效果相当,就成为了最原始的感知器。
    举例:如果没有激活函数,那么上面的浅层神经网络就变成了:
    在这里插入图片描述
    如果加上线性激活函数,无非就是对输出的结果做一些线性变换,然后再进行线性运算而已。如果是非线性函数,那么对线性的结果进行非线性变化,那么效果会更好一些。

    激活函数对比

    Sigmoid函数和tanh函数,都存在:1、计算速度比较慢 2、导数容易接近于0,导致梯度下降特别慢。
    ReLU函数:1、计算速度快 2、ReLU函数单元比较脆弱,可能会“死掉”。比如当Z<0,那么输出一直为0,也就是梯度为0,那么在训练的过程中,ReLU将不可逆转的死亡(也就是说,A有一大部分都是为0的值),这个时候解决办法:降低学习率、Leaky ReLU。有论文提到可以将Z<0时的线性斜率作为参数进行学习而并没人为去设置。

    深层神经网络的前向传播与反向传播

    为什么使用深层网络

    1、深度网络和浅层网络都能得到最优。实践得出,深度要好于浅层
    2、对于人脸识别等应用,每一层的网络学习到的特征不一样,一层比一层要细致精确。层数越多,学习效果也就越好。

    什么是深层网络

    其实没有一个明确的定义,一般来说是隐藏层。不需要纠结浅层/深层神经网络。
    深度网络的前向传播和反向传播其实与浅层网络是一样的,只不过是多了些隐藏层而已,如果理解了浅层网络那么深层网络也很容易理解。
    在这里插入图片描述

    参数与超参数

    参数:网络能够学习到的参数(权重,偏置)
    超参数:学习率,迭代次数,隐藏层的层数,每一层神经元的个数,激活函数的选择
    在实际中,很难去预估哪一个是最优的,需要多去尝试。
    神经网络参数初始化:初始化是有选择的。W初始化要进行随机。W应该设置较小的值,因为此时得出来的值经过激活函数后,梯度不会非常小。除此之外也可以将特征变小。
    网络层数的选择在这里插入图片描述

    展开全文
  • 全球领先的蜂窝通信、多媒体和连接性DSP IP平台授权厂商CEVA公司宣布推出实时神经网络软件框架CEVA 深层神经网络(CEVA Deep Neural Network, CDNN),以简化低功耗嵌入式系统中的机器学习部署。通过利用CEVA-XM4 ...
  • 在Coursera上自己做的作业代码,有html格式方便查看(和网站上的作业格式一样),也有.py文件用以运行。
  • CEVA推出深层神经网络框架.pdf
  • Python2.7_TensorFlow1.3.0_深层神经网络和优化算法的小DEMO,具体的关于深层神经网络、损失函数、神经网络优化等内容的分析见博客https://blog.csdn.net/primetong/article/details/79853868
  • 基于深层神经网络的藏语识别.pdf
  • 深层神经网络中间层可见化建模.pdf
  • 基于深层神经网络的电力负荷预测.pdf
  • 深层神经网络语音识别自适应方法研究.pdf
  • 基于深层神经网络的雷达波形设计.pdf
  • 基于深层神经网络的猪声音分类.pdf
  • 基于深层神经网络压制多次波.pdf
  • 为了解决语音识别中深层神经网络的说话人与环境自适应问题,从语音信号中的说话人与环境因素的固有特点出发,提出了使用长时特征的自适应方案。基于高斯混合模型建立说话人—环境联合补偿模型,对说话人与环境参数...
  • 简单跳过连接深层神经网络(GAN),残差网络-皮肤黑素瘤分类 有任何疑问-+91 9994444414, josemebin @gmail.com, www.jitectechnologies.in
  • 利用词表示和深层神经网络抽取蛋白质关系.pdf
  • 深层神经网络在未来审计中应用场景展望.pdf
  • 深层神经网络在家畜反刍行为识别上的应用.pdf
  • 基于深层神经网络的多特征关联声学建模方法.pdf
  • 基于简单循环单元的深层神经网络机器翻译模型.pdf
  • 一种算法对于深层神经网络训练速度的提升.pdf
  • 基于改进深层神经网络的织物配方智能预测算法.pdf
  • 基于深层神经网络的道路交通标志检测识别方法研究.pdf
  • 基于压缩轻量化深层神经网络的车辆检测模型.pdf
  • 基于深层神经网络的英语口语发音错误捕捉方法研究.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,111
精华内容 14,444
关键字:

深层神经网络

友情链接: DAC8574.zip