深度学习之卷积神经网络详解及代码演示

本文详细介绍了卷积神经网络(CNN)的原理,包括卷积层、ReLU层、池化层、全连接层,并讨论了CNN的优缺点。通过实例解释了如何使用TensorFlow构建CNN模型,同时提到了正则化和Dropout技术来防止过拟合。
摘要由CSDN通过智能技术生成

一、卷积神经网络介绍
卷积神经网络广泛应用于计算机视觉领域。就处理图像数据来说,由于一幅图像有许多像素点和通道数,人工神经网络需要很多的权重值w,这样会大大损耗计算资源,也很容易造成过拟合现象。因此,产生了卷积神经网络,仅需很少的神经元就可以对图像进行很好地训练。

卷积神经网络主要有以下层次:
1、数据输入层/ input layer
2、卷积计算层/ conv layer
3、ReLU激励层/ ReLU layer
4、池化层/ Pooling layer
5、全连接层/ FC layer
6、Batch Normalization层(一般没有)

各层之间连接顺序如下图所示:

在这里插入图片描述
该图演示了卷积神经网络识别汽车图片的过程,经过几层卷积和池化后,输出的为预测的概率大小。

下面详细讲解下每一层次的结构内容:

1、数据输入层:

该层要做的处理主要是对原始图像数据进行预处理,其中包括:
  • 去均值:把输入数据各个维度都中心化为0,如下图所示,其目的就是把样本的中心拉回到坐标系原点上。(每个数据都减去该维度数据的平均值
  • 归一化:幅度归一化到同样的范围,如下所示,即减少各维度数据取值范围的差异而带来的干扰,比如,我们有两个维度的特征A和B,A范围是0到10,而B范围是0到10000,如果直接使用这两个特征是有问题的,好的做法就是归一化,即A和B的数据都变为0到1的范围。
  • PCA/白化:用PCA降维;白化是对数据各个特征轴上的幅度归一化

去均值与归一化效果图:
在这里插入图片描述
PCA和白化效果图:
在这里插入图片描述
2、卷积计算层

这一层就是卷积神经网络最重要的一个层次,也是“卷积神经网络”的名字来源。
在这个卷积层,有两个关键操作:
  • 局部关联。每个神经元看做一个滤波器(filter)
  • 窗口(receptive field)滑动, filter对局部数据计算

先介绍卷积层遇到的几个名词:
  • 深度/depth(解释见下图)
  • 步长/stride (窗口一次滑动的长度)
  • 填充值/zero-padding

卷积层深度/depth与神经元的个数相等,如下图中有五个神经元ABCDE,卷积层的深度就是5,即有5组不同的窗口分别对图像进行卷积计算,得到的特征图像的通道数也是5。
在这里插入图片描述
填充值是什么呢?以下图为例子,比如有这么一个55的图片(一个格子一个像素),我们滑动窗口取22,步长取2,那么我们发现还剩下1个像素没法滑完,那怎么办呢?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值