对于卷积神经网络(CNN)的初步认识

来源:互联网 发布:一起阅读软件下载 编辑:程序博客网 时间:2024/05/20 07:16

机器学习之卷积神经网络(CNN)
机器学习是一种通过利用数据,训练出模型,然后使用模型预测的方法。
神经网络是机器学习中的一种模型,结构如下:

这里写图片描述

神经网络的每个神经元/单元如下
这里写图片描述
类似wx + b的形式,其中
a1~an为输入向量,当然,也常用x1~xn表示输入
w1~wn为权重
b为偏置
f 为激活函数
t 为输出
将这种单个神经元组织在一起,便形成了神经网络。下图便是一个三层神经网络结构
这里写图片描述

卷积神经网络(CNN),在原来多层神经网络的基础上,加入了特征学习部分,这部分是模仿人脑对信号处理上的分级的。具体操作就是在原来的全连接的层前面加入了部分连接的卷积层与降维层。
卷曲神经网络将图片通过一系列的卷积、激活、池化、全连接层,然后得到一个输出。输出是一个类或者一个图像类别的可能性概率。该神经网络的优点是可以直接输入原始图像,避免了对图像的复杂前期预处理。结构如下:
这里写图片描述

CONV:卷积计算层,线性乘积 求和。
RELU:激活层,ReLU是激活函数的一种。
POOL:池化层,简言之,即取区域平均或最大。
FC:全连接层

第一层:卷积层
输入的是一个32×32的图片,选择5×5的过滤器,然后用过滤器在原图上进行卷积,如下
这里写图片描述

过滤器每移动1个单位,都会产生一个数字。当过滤器滑动完所有位置的,你会发现剩下的是一个28×28的系列数字,我们称之为激活图或者特征图。
这里写图片描述
7×7的过滤器 对应的曲线
这里写图片描述

使用图像中的原始像素值在过滤器中进行乘积

这里写图片描述
卷积结果=50*30+20*30+50*30+50*30+50*30=6600

这里写图片描述

卷积结果=0
基本上在输入图像中,如果有一个形状是类似于这种滤波器的代表曲线,那么所有的乘积累加在一起会导致较大的值。没有任何东西在输入使过滤器激活,在我们的激活图右上方的值将是0。过滤器越多,激活图越深,我们从于输入中获取的信息也就越多。
如果想提取图像的不同特征,则用不同的滤波器filter,提取想要的关于图像的特定信息:轮廓或颜色深浅。
这里写图片描述

第二层 激活层
激活函数 sigmoid的表达式如下
这里写图片描述
其中z是一个线性组合,比如z可以等于:w0 + w1*x1 + w2*x2。通过代入很大的正数或很小的负数到函数中可知,g(z)结果趋近于0或1。
因此,sigmoid函数的图形表示如下:
这里写图片描述
也就是说,sigmoid函数的功能是相当于把一个实数压缩至0到1之间。输入非常大的正数时,输出结果会接近1,而输入非常大的负数时,则会得到接近0的结果。用处是这样一来变可以把激活函数看作一种“分类的概率”,比如激活函数的输出为0.9的话便可以解释为90%的概率为正样本。

激活函数:ReLU,其图形表示如下
这里写图片描述
ReLU的优点是收敛快,求梯度简单。

第三层:池化层
池化,简言之,即取区域平均或最大,如下图所示
这里写图片描述

全连接层
全连接层一般用于最后计算类别得分。这个全连接层的工作方式是,它着眼于前一层的输出(代表高阶特征的激活图),并确定哪些功能是最相关特定的类。例如如果该程序预测,一些图像是一只狗,它在激活图中会有高的值,代表高阶特征如一个爪子或4条腿等。类似地,如果该程序是预测一些图像是鸟的功能,它在激活图中会有高阶值,代表高阶特征如翅膀或喙等。

这里写图片描述

参考地址:
卷积神经网络(CNN)新手指南
http://blog.csdn.net/tealex/article/details/52075338?locationNum=16

CNN笔记:通俗理解卷积神经网络
http://blog.csdn.net/v_july_v/article/details/51812459

技术向:一文读懂卷积神经网络
http://www.36dsj.com/archives/24006

0 0
原创粉丝点击