class9--tensorflow:卷积神经网络

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

参数个数:(前层×后层+后层)的和


问题:

待优化的参数过多容易导致模型过拟合。


实际应用:

会先对原始图像进行特征提取再把提取到的特征喂给全连接网络。


卷积(convolutional):卷积可认为是一种有效提取图像特征的方法。

一般会用正方形卷积核,遍历图片上的每个点。图片区域内,相对应的每一个像素值,乘以卷积核内相对应点的权重,求和,再加上偏置。


没有池化:输出图片边长=(输入图片的边长-卷积核长+1)/步长   (向上取整)

池化(padding)(在图片周围进行全零填充):输入 图片边长/步长 (向上取整)


在tensorflow框架中,用参数padding='SAME'或padding='VALID'表示


tensorflow计算卷积:

tf.nn.conv2d(输入描述,eg.[batch_size,5,5,1]

卷积核描述,eg.[3,3,1,16]

核滑动步长,[1,1(行步长),1(列步长),1]

padding='VALID')


三通道(每个通道的卷积值相加,输出是1个通道):




池化(pooling):池化用于减少特征数量,最大值池化可提取图片的纹理,均值池化可保留背景特征。



tensorflow计算池化:

pool = tf.nn.max_pool/tf.nn.avg_pool(输入描述,eg.[batch,28,28,6]

池化核描述(仅大小),eg.[1,2,2,1]

池化核滑动步长,eg.[1,2,2,1]

padding='SAME')


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


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

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


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

CNN模型的主要模块:卷积(convolution)-激活(activation)-池化(pooling)-全连接(fc)

cnn模型的发展历史:lenet-5 ---AlexNet---VGGNet---GoogleNet---ResNet---.....



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值