学习OpenCL与卷积神经网络 Day3——对于卷积神经网络(CNN)的进一步理解

神经网络

单个的神经元模型又可以称为是Logistic回归模型:
在这里插入图片描述
其中x1、x2为输入向量,w1、w2为权,b(bias)为偏置值,g(z)为激活函数,a为输出值。
然后我们将每个神经元线性组合与加权,并给每个神经元加上非线性激活函数(比如ReLU函数)进行非线性变换[同一神经元之间是没有连接的]这样就形成了神经网络。
在这里插入图片描述
神经网络分为输入层、隐藏层与输出层。详见链接: link.

卷积神经网络的层级结构

在这里插入图片描述

数据输入层(Input Layer)

顾名思义,就是将数据进行一些处理并输入。常见的的处理有:
1.去均值:把输入数据各个维度都中心化到0。(这样可以避免数据过多偏差)
2.归一化:把所有幅度归一化到同样的范围。
3.PCA/白化:用PCA降维,白化是对数据每个特征轴上的幅度归一化。
一般情况下在CNN训练中我们会采取去均值法对数据进行处理。

卷积层(Convolution Layer)

将图片(Pic)与滤波器(Filter)进行内积的过程我们将其称作卷积。通俗的讲,就是对不同矩阵进行逐元素相乘并求和的一个过程(图像矩阵与滤波矩阵相乘并求和)
在这里插入图片描述
举个栗子,如上图
在以元素’3’为中心的一个6x6的图片矩阵上添加一个3x3大小的滤波矩阵。
卷积矩阵的第一个值等于:(-1x1)+(0x4)+(1x6)+(-2x5)+(0x3)+(2x8)+(-1x6)+(0x7)+(1x2)=7

局部感知

如果一张图片的元素十分之多,我们很难一次性去囊括所有有用的信息。而且一张图片每个部分有用的信息也会有所不同,那么我们所加的权重也会有所不同,这时会造成一个问题’权值参数过多’。比如下图
在这里插入图片描述
若我们要获取鱼头的信息,我们可以先将图片数据分割为很多小区域,每次滤波器都是针对某一区域的数据窗口进行卷积,这样我们所需要的的权值数据会大大减少(比如原图像素是100x100=10000,而隐藏层的数目与原像素相同也取10000,那么总的参数数据将会达到10000x10000=10^8 这么多。若我们将图片进行100等分,那么每个局部的数据为10x10=100,权值数据便缩小为10000x100=10^6[原数据的1%大小])。因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就可以获得全局的信息。所以局部感知的优点主要是能够尽可能地减少权值数据参数

参数共享

意思是我们在图片某一区域学习的特征也能用在另一区域上。更直观一些,当从如上图像中随机选取一小块,比如说 10x10作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个10x10样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。之后的工作便是用该探测器与整个原图像进行卷积,筛选出激活值较大的部分(即图像中符合条件的部分)
一般有多少个神经元,就制定多少组参数,过程中不会再改变

激励层(Excitation Layer)

激励层有一个激励函数,把卷积层输出结果做非线性映射。非线性的映射有:Sigmoid、Tanh、ReLU、Leaky ReLU、ELU、Maxout等,大多数用的是ReLU。ReLU收敛快(比sigmoid函数至少提高6倍),求梯度简单,但是较脆弱,它的图像如下:
在这里插入图片描述

ReLU函数

如果不用激励函数,在这种情况下每一层输出的都是上层输入的线性函数,激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。
ReLU函数能够使负值归零,使正值稳定,从而造成了稀疏激活性,这样做的目的是大大增加训练的速度。
ReLU函数:
当x<0时,y=0;
当x>0时,y=x.

池化层(Pooling Layer)

池化层的作用是通过去除一些冗余的值来压缩数据和参数的量,从而减少过拟合。

平均池化

在这里插入图片描述
将卷积过后的值通过nxn的方式取平均值

最大池化

在这里插入图片描述
将卷积过后的值在nxn滤波中取最大值

全连接层(FC Layer)

通常会放在整个卷积过程的尾端,起到一个连接的作用(末端信息量小也是一个原因)

参考与推荐阅读

1.ReLU函数简介 链接: link.
2.CNN与常用框架 链接: link.
3.卷积神经网络 链接: link.
4.CNN笔记:通俗理解卷积神经网络 链接: link.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ivan'yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值