zoukankan      html  css  js  c++  java
  • 神经网络

    深度神经网络(DNN)

    神经网络是一些被称作感知机的单元的集合,感知机是二元线性分类器

    如上图所示,输入 x1 和 x2 分别和各自的权重 w1 和 w2 相乘、求和,所以函数 f=x1*w1+x2*w2+b(偏置项,可以选择性地添加)。

    函数 f 可以是任意的运算,但是对于感知机而言通常是求和。函数 f 随后会通过一个激活函数来评估,该激活函数能够实现期望分类Sigmoid 函数是用于二元分类的最常见的激活函数。

    如果我们把单维度的感知机以各种组合算法聚合到一起,这就形成了网络似的全连接感知机,这些网络感知机(中间产物即隐层)的输出成为最后一个单元的输入,再通过函数 f 和激活函数得到最终的分类。

    上面提到的神经网络也被称为前馈神经网络(FFNN),因为信息流是单向无环的。我们可以想象,数百个输入连接到数个这样的隐藏层会形成一个复杂的神经网络,通常被称为深度神经网络或者深度前馈神经网络(DFFNN)。

    卷积神经网络(CNN)

    其他的变体,如 RNN、LSTM、GRU 等,基于和 CNN 类似的结构,不过架构存在一些差异。

    CNN 由三种不同的层组成,即卷积层池化层密集层或全连接层。深度神经网络是典型的全连接层神经网络。

    卷积层:通过滤波器提取多个特征(滤波器是卷积)

    假设一张图像有 5*5 个像素,1 代表白,0 代表黑,这幅图像被视为 5*5 的单色图像。现在用一个由随机地 0 和 1 组成的 3*3 矩阵去和图像中的子区域做乘法,每次迭代移动一个像素,这样该乘法会得到一个新的 3*3 的矩阵。

     

    上述的 3*3 的矩阵被称作滤波器,它的任务是提取图像特征,它使用优化算法来决定 3*3 矩阵中具体的 0 和 1。

    在神经网络的卷积层中使用好几个这样的滤波器来提取多个特征3*3 矩阵的每一个单个步骤被称作步幅(stride)。

    池化层:这个层主要使用不同的函数为输入降维

    最大池化层(max-pooling layer)出现在卷积层之后。池化层使用 2*2 的矩阵,以卷积层相同的方式处理图像,不过它是给图像本身降维。

    池化层会损失信息通常的做法是在卷机层中使用一个较大的步幅

    下面分别是使用「最大池化」和「平均池化」的示例。

    全连接层:这个层是位于之前一层和激活函数之间的全连接层。

    它和深度神经网络是类似的。

  • 相关阅读:
    redhat 6安装详解
    使用pidstat查看进程资源使用情况
    (转)调优 DB2 UDB v8.1 及其数据库的最佳实践
    (转)LVS安装使用详解
    (转)[小工具] Linux下列格式化工具
    (转)zabbix3.4使用percona-monitoring-plugins监控mysql
    (转)zabbix之生产案例
    (转)CentOS7 LVM添加硬盘及扩容
    (转)计算机网络基础知识总结
    (转)网络基础之网络协议篇
  • 原文地址:https://www.cnblogs.com/wade-luffy/p/8478541.html
Copyright © 2011-2022 走看看