深度学习-卷积神经网络

卷积神经网络介绍

之前介绍了神经网络理论,这个理论在上个世纪50年代就提出来了,在上世纪80年代提出了BP神经网络,但是近期神经网络才得以很大程度发展,其得益于硬件水平的提升,以及数据量的增大。通过大量的训练数据逐渐使网络更加完善,可以为我们处理更多问题。(如果想对神经网络的功能进行更深的理解可以进入google 的tensorflow游乐场训练自己的网络将红蓝点分类 http://playground.tensorflow.org)


深度学习跟之前的神经网络学习有什么区别呢?神经网络基本结构不变,以BP神经网络为基础(误差反向传递),其“深”就“深”在分层提取数据特征。这样能增大训练准确度,并且减少未知参数矩阵维度。拿卷积神经网络图像识别来说。

这是一个分层提取面部特征的示意图,每一次提取一个特征,一次次逐渐递进,逐渐细化。


1.为什么要提出这个理论?

拿一张640*320像素的图片来说,用BP神经网络做训练根据上一节的理论介绍可以计算出每个神经元需要640*320个权重w+1个偏置b,如果有100万个神经元就需要 100万*(640*320+1),100张图片就是 100*100万*(640*320+1)计算量巨大。想要提高模型准确精度,又想减小计算量怎么办?这里就采用了权值共享,分层提取的思想。

2.卷积操作

概率论,信号与系统里面有学过卷积。看文献中卷积神经网络也用到了卷积核,具体这里的“卷积指的是什么呢?”在这里卷积核可以当成一种滤波器。下图绿色的为一个特殊的灰度像素图像,右边为一个3*3的卷积核,分别移动对所有的像素点进行矩阵乘积。最终生成取得特征图片。接下来有一个加入非线性因素(ReLU)的过程。



3.池化操作(下采样操作)

经过卷积操作会生成数个特征图片(每个卷积核对应一个特征图片),这部操作对每个生成的特征图片,取一个2*2的窗,对窗中选取的像素点取最大值或者平均值(本文示例为最大值)通过移动这个2*2的窗,直到所有的像素点都被过滤。这一步使得一个4*4的矩阵降为一个2*2的矩阵,使得维度大大减小,同时减少过拟合的情况。但是同样滤除的特征会影响结果,通过调整参数使得结果达到一个计算量适中,并且误差满意的结果。这一步过滤不会增加特征图片的数量。
上图即为一个特征图片池化后的图片。

通过卷积+池化操作不断提取更深层的图像特征。

4.全连接层

最终的任务目标是图片识别,属于一个分类问题。这一步回归传统的神经网络结构,每个神经元相互连接,最终与一个分类函数连接输出层,输出期望的输出维度。

通过比对标签将实际输出与期望输出误差反向传递更新权值直到误差满意为止。


上图为 Adam Harley做的一个卷积神经网络可视化网页,为MNIST手写系统的实现。网页为http://scs.ryerson.ca/~aharley/vis/conv/flat.html
输入手写图片8,经过第一个卷积层,有6个卷积核,分别对应生成6个特征图片。接下来经过池化层缩小维度,保持6个特征图片不变。最终输出最大可能性为“8”。
(本文图片及思想来自https://jizhi.im/blog/post/intuitive_explanation_cnn)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值