爱加猫
首页/资讯中心/资讯详情/

人工神经网络(NN)和卷积神经网络(CNN)

人工神经网络

简称神经网络(NN),是目前各种神经网络的基础,其构造是仿造生物神经网络,将神经元看成一个逻辑单元,其功能是用于对函数进行估计和近似,是一种自适应系统,通俗的讲就是具备学习能力。
其作用,目前为止就了解到分类。其目的就是在圈和叉之间画出一条分界线,使得接下来我们可以根据其位置来预测其属于哪个分类。这个图只有两种分类,实际上可以有非常多种,但其网络结构也会变得复杂,可以说一层网络可以画一条线,多层网络就可以画多条线。
16581297771.jpg_20220718153649
其内部最主要的构造就是神经元,如下图所示
16581298271.jpg_20220718153711
这张图有五个部分组成

  • 输入向量
  • 权重
  • 求和
  • 激励函数
  • 输出

可以把权重,求和,激励函数合并在一起,统称为隐藏层,输入的向量可以成为输入层,输出的向量可以称为输出层。
因此神经网络的基础结构便是三层结构

  • 输入层
  • 隐藏层
  • 输出层

输入层

一般有输入向量有多少维,输入层就会有多少个输入单元,每个单元代表一维向量,相当于该事物的特征,其与隐藏层的结点呈现为全连接状态。即1-N的关系。

隐藏层

隐藏层可以有许多层,层数越多神经网络的处理能力就越强,但相对的性能也会下降,每一层隐藏层可以针对某一种特征进行处理,例如一层隐藏层处理图像的斜线,一层隐藏层处理图像的灰度等等。
连接到隐藏层的每一条边都有一个权重w ww,这个其实代表的某特征的权重。
16581298781.jpg_20220718153814
我把s u m sumsum和f ff合并起来当做一个隐藏层的神经单元,那么该单元的数学表达形式便是
16581299191.jpg_20220718153851
其中f ff是激励函数,1 ∗ b 1*b1∗b为前面层的偏置单元。
其结果A AA就被传递到输出单元。

输出层

结果A AA被传递到输出单元,到这一步为止,可以被称作为前向传播。然后将其结果与训练集中的期望结果进行比对,用损失函数,得出损失值,通俗的讲就是与正确结果的差距,损失函数如下所示
16581299591.jpg_20220718153929
接下来的目标就是让J ( θ ) J(\theta)J(θ)变小,就需要计算偏导∂ J ( θ ) ∂ θ \frac{\partial J(\theta)}{\partial\theta}
∂θ
∂J(θ)

,使其取到极值,其所使用的算法被称为反向传播算法(Backpropagation,简称BP)。

反向传播

其证明原理十分复杂,暂时还未弄懂。简要的过程便是,其会根据训练集( x , y ) (x,y)(x,y)中,x xx在神经网络中跑出来的结果h hh与y yy进行比对,然后根据比对结果反向更新每一层的权重w ww,这里必须是反向一层一层的更新,逐层传递,从而使得J ( θ ) J(\theta)J(θ)变小,即最小化损失函数。
从而便达到了神经网络的学习效果,其能根据训练集来反向更新权重,使得下一次的输出结果h hh和y yy之间的差距变小,从而达到更优。

激励函数

激励函数也叫点火规则,这使它与人脑的工作联系起来。当一个神经元的输入足够大时,就会点火,也就是从它的轴突(输出连接)发送电信号。同样,在人工神经网络中,只要输入超过一定标准时才会产生输出,这就是点火规则的思想。当只处理二值输出时,输出要么为0要么为1,取决于神经元是否应该点火。

例如激励函数f ( z ) = 1 1 + e − z f(z) = \frac{1}{1+e^{-z}}f(z)=
1+e
−z

1

,其作用便是当非常大的正数,其输出结果便是1,非常小的负数输出结果便是0.
16581300201.jpg_20220718154031

卷积神经网络(CNN)

目前只了解到卷积神经网络用于图像处理的方面。
其与神经网络(NN)不同之处再于多了几层结构,相当于对输入做了预处理。
卷积神经网络的结构:
输入层
卷积层
池化层
全连接层
输出层
其中全连接层就相当于神经网络当中的隐藏层。对于一张图像来说,在计算机当中其是一个三维结构,有着长,宽,高三个特征,其中长和宽组成一个矩阵,高(channel)代表多个矩阵,例如RGB三种颜色则有三个矩阵,这张图片高度为3.

卷积层

使用多个filter在图像上面做内积,得出多个特征,卷积的过程就是拿一个矩阵在原图矩阵上面边移动,边做内积,最后得出一个比原图小一点的矩阵。如图所示,一个9*9的矩阵被filter后变成了-8。
16581300791.jpg_20220718154128
而这个filter的作用其实在视觉上的效果便是提取图片的某些特征,例如颜色的深浅与轮廓。
16581301021.jpg_20220718154211

池化层

池化层的作用目前还未完全弄明白,似乎好像只是缩小数据,例如对于卷积出来的矩阵,对于每2 * 2个小矩阵,提取其中最大的值代表这个2 * 2矩阵的值,使得原矩阵再次缩小。即取区域平均最大值。
16581301581.jpg_20220718154248
当一个灰度图片矩阵做完卷积和最大池化后,结果如下
16581301821.jpg_20220718154314

为何要用CNN呢?

在图像分类当中,当我们要识别这张图片是不是鸟时,我们会分几个特征来识别,是否有翅膀,是否有喙,是否有尾巴,这些特征一般只是图片的一小部分,如果用NN来做的话,判断每个特征都会输入整张图片,那样利用率太低了而且参数太多,而对于CNN来说,它会通过卷积层,以及池化层来压缩输入数据的大小,即将数据分割成许多分小数据。
即卷积神经网络不在针对于图片上一个点做处理,而是对一块区域做处理。
从而使得神经网络当中的神经元输入数目减少,即用了较少的参数。

如图所示,原本对于一个神经元,原本要连接36个输入单元,现在只需连接9个输入单元即可。将输入的参入减小,而且还能让两个神经元公用一些weight。
16581302181.jpg_20220718154349
一张1层28x28的图片矩阵经过两次卷积和池化后变成50层5x5的图片矩阵
16581302431.jpg_20220718154413
整个卷积神经网络的过程
16581302681.jpg_20220718154437

————————————————
版权声明:本文为CSDN博主「Link_Ray」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Link_Ray/article/details/98889468

最新算法

  • 摔倒识别
    摔倒识别
  • 条烟识别
    条烟识别
  • 盒烟识别
    盒烟识别
  • 聚众识别
    聚众识别
  • 打架斗殴识别
    打架斗殴识别

最新场景

  • 智慧烟草
    智慧烟草
  • 智慧园区
    智慧园区
  • 智慧社区
    智慧社区
  • 智慧金融
    智慧金融
  • 智慧化工
    智慧化工

最新芯片

  • 英伟达(NVIDIA)
    英伟达(NVIDIA)
  • 瑞芯微(Rock Chips)
    瑞芯微(Rock Chips)
  • 海思(HISILICON)
    海思(HISILICON)
  • 华为昇腾(Ascend)
    华为昇腾(Ascend)
  • 寒武纪(Cambricon)
    寒武纪(Cambricon)

最新硬件

  • AI智能摄像头
    AI智能摄像头
  • AI边缘设备终端
    AI边缘设备终端
  • AI服务器
    AI服务器

最新软件

  • AI算法云端管理平台
    AI算法云端管理平台
  • AI算法端侧管理平台
    AI算法端侧管理平台