第二章:卷积神经网络结构

1.卷积层

卷积层旨在学习输入的特征表示。
卷积神经网络有两种方式降低参数数目。

  1. 局部感知
    也称稀疏连接。在处理图像这样的高纬度输入时,让每个神经元与前一层的所有神经元进行全连接是不现实的。相反,每个神经元只与输入数据的局部区域进行连接。该连接的空间大小叫作神经元的感知野。然后在更高层将局部的信息综合起来就得到了全局的信息。
    如有一副1000×1000像素的图像和1000个隐藏层神经元,如果全连接,就有1000×1000×1000个连接,也就是10e9个权值参数。那么通过局部感知,每个隐含层神经元只与前一层10×10个像素相连那么去权值参数为1000×100=10e5,减少了原来的万分之一。
    而那10×10个像素对应的10×10个参数,其实就是相当于卷积操作

  2. 权值共享
    生成特征图的卷积核是相同的。权值共享模式可以减少模型的复杂度,使网络更容易训练。
    上述参数依然很多,在上面局部连接中每个神经元对应100个参数,而有1000个神经元。如果这1000个神经元,每个神经元对应的100个参数是相等的,那么参数数目就变成100了,换少了全连接的千万分之一。

  3. 卷积过程
    卷积核W覆盖在原图X的一个局部的面上,W对应位置的权值乘以X对应神经元的输出,对各项乘积求和并赋值到矩阵Y(输出图)的对应位置。

卷积层代码

tf.nn.conv2d(
	intput,
	filter,
	strides,
	padding,
	use_cudnn_on_gpu=None,
	data_format=None,
	name=None
)

第一个参数input:指需要做卷积的输入图像,它要求是一个张量(Tensor),具有[batch, in_height, in_width, channels]这样的形状,具体含义是“训练一批图片,图片高度,图片宽度,图像通道数”

第二个参数filter:是CNN中的卷积核,他要求是一个张量,具有[filter_height, filter_width,in_channels, out_channels]这样的形状,具体含义是“ 卷积核高度,卷积核宽度,图像通道数,卷积核个数 ”,
其中第三维就是input的第四维

结果返回一个张量,这个输出就是特征图。

2.池化层

理论是讲,卷积后,就可以用所有的提取到的特征去训练分类器了,例如softmax分类器。但这样做的面临计算量的问题。例如:对于100×100像素的图像,假设已经学习得到了100个定义在5×5输入上的特征(即:有100个卷积核),每一个特征和图像都会得到一个(100-5+1)×(100-5+1)=9216维(展开为一维向量)的卷积特征。由于有100个特征,所以每个样例就有921600维的卷积特征向量。这还容易出现过拟合。

所以就需要用到池化,即对图像不同位置的特征进行进行聚合统计。例如可以计算图像一个区域上的某个特定特征的平局值或最大值,这些概要统计特征不仅具有更少的维度,而且会改善结果,不容易过拟合。

池化层旨在通过特征图的分辨率来实现空间不变性和减少训练参数。

池化层代码

tf.nn.max_pool(
	value,
	ksize,
	strides.
	padding,
	data_format='NHWC',
	name=None)

第一个参数value:需要池化的输入,一般池化层接在卷积层后面,所以输入通常是特征图(Feature Map),依然是[batch, height, width, channels]这样的形状.
这里的第四维就是卷积层的卷积核个数------同时这也说明了“ 每个池化层的特征图和它相应的前一卷积层的特征图相连,因此他们的特征数量相同,空间不变性”。

第二个参数ksize:池化窗口的大小,取一个四维向量,一般是[1,height,wudth,1]。因为不是在batch和channel上池化,所以这两个维度设为1.

3.全连接层

旨在执行对原始图像的高级抽象。在全连接层不保存空间信息。最后全连接层的输出传递到输出层。对于分类任务,softmax回归由于可以生成输出的概率分布而被普遍使用。

softmax函数:

tf.nn.softmax(logits,name=None)

参数logits为输入数据,输出为概率分布。

4.Dropout层

随机失活神经元,防止过拟合现象。

Dropout函数

tf.nn.dropout(x,
	keep_prob,
	noise_shape=None,
	seed=None,
	name=None)

第一个参数”x“:输入张量,即输入数据。
第二个参数keep_prob:float型,每个元素被保留下来的概率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Strive_LiJiaLe

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

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

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

打赏作者

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

抵扣说明:

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

余额充值