学习笔记:Deep Learning(三)卷积神经网络

本文介绍了卷积神经网络(CNN)的概念,包括权重共享带来的平移不变性,以及CNN处理图片的过程。文章还探讨了改进CNN的三个方法:pooling、1×1 convolutions和inception模块。并提供了使用TensorFlow实现CNN的简要说明,特别是`tf.nn.conv2d`函数的作用。
摘要由CSDN通过智能技术生成

卷积神经网络CNN(Convlutional Network)

平移不变形*translate invariance,位置不同内容不变。权重共享*可以实现平移不变性,当两种输入可以获得同样的信息的时候,则应该共享权重,并利用这些输入共同训练权重。

评议不变形和权重共享的思想,使得我们可以用卷积神经网络研究图片,循环神经网络研究文本和序列。

概念

CNN是一种在空间上共享参数的神经网络,它对图片处理过程如下图描述:

卷积神经网络金字塔

原图片像素大小256*256,具有RGB三个通道,也就是[width=256,height=256,depth=3],第一个卷积后,生成[width=128,height=128,depth=16]大小的特征图,第二个卷积,第三个卷积……最后生成一个[width=1,height=1,depth=m]的向量,训练分类器。

卷积就是用一个patch块,以步长stride,按行按列扫描原图像,将原图像的特征映射到后一层的特征map。

  • patch 也叫kernel,一个局部切片,上图第一个卷积就是采用了2*2大小的patch。

  • stride 步长,每跨多少步抽取信息。

  • padding 步长不能整除图片大小时边距的处理方法,“SAME”表示超过边界用0填充,使得输出保持和输入相同的大小,“VALID”表示不超过边界,通常会丢失一些信息。

把上面的3个卷积叠加,然后连上一个全连接层Fully Connected Layer,就可以训练分类了。

训练时,链式公式在使用共现权重时事怎样呢?nothing,就是对每个patch的梯度进行叠加。

改进网络的三个方法

pooling

池化:使用small tride(=1)得到feature map,然后邻域内进行卷积,用某种方法(就是pooling)结合起来,得到后一层的特征。

pooling

例如,第一行是原来的方法,使用stride为2进行卷积,第二行pooling方法,首先使用stride=1进行卷积,得到与原图像大小相同的特征图,用pooling size=2,pooling stride=2参数进行pooling combine。

pooling有两种方法:
- max pooling : y=max(

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值