【机器学习】卷积神经网络 CNN (Convolutional Neural Network)

卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网络,卷积神经网络需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。

以上内容来自维基百科。

卷积神经网络在我们生活中的应用很常见,例如:身份照相识别系统、无人驾驶系统、图像识别系统。它的性质是层级网络,那么它其实是和传统神经网络的区别只是在于层的功能和形式发生变化,那么也就是在原有基础上加以改进的产物。它层级为三层,分别为输入层;隐含层;输出层。

  1. 输入层(input layer):其主要功能是接收原始数据,对原始的图像数据进行预处理,一维卷积神经网络输入层通常接收一维或二维数组,而二维卷积神经网络可接收二维或者三维数组。卷积神经网络通常在计算机视觉领域内应用较广,所以通常设定数据为三维数组,即二维像素*RGB通道。

  2. 隐含层:这一层级常见的构造为三类,卷积层、池化层、全连接层。需要注意的一点是,在常见构筑中,卷积层和池化层都是卷积神经网络独有,而卷积核中包括权重系数,而池化层没有。因此在文献中通常池化层不被认为是独立层级。

  3. 卷积层(convolution layer):卷积的计算过程如下图:
    卷积计算过程
    几个术语参数:
    1.depth
    2.stride
    3.padding:根据所取的stride,如果不够的情况下做填充
    4.filter

    padding

Example:
input volume:32×32×3
receptive fields:5×5,stride 3
number of neurons:5
output volume:(32-5)/3+1=10
so 10×10×5

4.激励层(activation layer):主要是对卷积结果进行非线性映射,CNN中采用的是ReLU(The Rectified Linear Unit),它的特点是收敛快,求的梯度简单,但是比较脆弱。
5. 池化层(pooling layer):它是夹在许多连续的卷积之间,对卷积结果进行优化,减少过拟合的情况,在保留有价值信息基础之上,减少数据量。如果输入者是图像,那么他的作用就是压缩图片。
常见的池化方法两种:mean、max。
mean-pooling:对所选区域值处理后取平均值作为池化值。
max-pooling:所选区域的最大值作为池化值。
在这里插入图片描述

  1. 全连接层(fully-connected layer):它让所有神经元都有权重连接,而连接方法和传统神经网络的连接方法是一样的,一般出现在卷积神经网络尾部。在这里插入图片描述
  2. 输出层(output layer):直接输出分类结果。

常用框架:tensorflow
一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief。在这里插入图片描述

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值