Tensorflow 卷积神经网络

卷积神经网络

全连接NN 

每个神经元与前后相邻层的每一个神经元都有连接关系,输入是特征,输出为预测的结果。

参数个数:\sum (Front*Back+Back)  前层*后层为权重w+后层偏置b

待优化参数过多容易导致模型过拟合,实际应用中会先对原始图像进行特征提取再吧提取到的特征喂给全连接神经网络

卷积 Convolution

  • 卷积可认为是一种有效提取图像特征的方法
  • 一般会用一个正方形卷积核,遍历图片上的每个点。图片区域内,相对应的每一个像素值,乘以卷积核内想对应点的权重,求和,再加上偏置。

输出图片变长=(输入图片边长-卷积核长+1)/步长

全零填充 Padding

在输入图片的周围添加一圈0,可以保证输出图片大小和输出图片大小相同

在Tensorflow框架中,使用参数padding='SAME'表示全零填充,padding=‘VAILD’为不使用全零填充

Tensorflow计算卷积

tf.nn.conv2d(
    [batch,5,5,1],    #输入描述 分辨率 与 通道数
    [3,3,1,16],        #卷积核描述 行列分辨率 通道数 核个数
    [1,1,1,1]           #核滑动步长  行步长 列步长 
    padding='VALID' 
)

池化  Pooling

  • 池化用于减少特征数量
  • 最大值池化可提取图片纹理,均值池化可保留背景特征

Tensorflow计算池化:

#最大值池化
tf.nn.max_pool(
    [batch,28,28,6],    #输入描述 分辨率 与 通道数
    [1,2,2,1],        #池化核描述 行列分辨率 通道数 核个数
    [1,2,2,1]           #池化核滑动步长  行步长 列步长 
    padding='SAME' )
#平均值池化
pool=tf.nn.avg_pool

舍弃 Dropout

在神经网络的训练过程中,将一部分神经元按照一定的概率从神经网络中短暂舍弃。使用时被舍弃的神经元回复链接。

tf.nn.dropout(上层输出,暂时舍弃的概率)

卷积NN:借助卷积核(kernel)提取特征后,送入全连接网络

 

lenet5

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值