卷积神经网络(CNN)基础

目录

卷积神经网络介绍

卷积神经网络原理

卷积层:通过在原始图片上平移来提取特征

激活层:增加非线性分割能力

池化层polling(下采样层):减少学习参数,去掉不重要的样本,降低网络的复杂度


卷积神经网络介绍

卷积神经网络与传统多层神经网络对比

传统多层神经网络只是输入层、隐藏层、输出层,其中隐藏层的层数根据需要而定,没有明确理论推导说明到底多少层合适

卷积神经网络,在原来多层的基础上加入更加有效的特征学习部分,具体就是在全连接层之前加上卷积层和池化层。

卷积神经网络原理

结构:卷积层  激活层  池化层  全连接层

卷积层:通过在原始图片上平移来提取特征

1、卷积神经网络中每层卷积层由若干卷积单元(卷积核)组成,每个卷积单元的参数都是通过反向

传播算法最佳化得到的。卷积运算的目的是特征提取,第一层卷积层可能只能提取一些低级的特征

如边缘、线条和角等层级,更多层的网络能从低级特征中选代提取更复杂的特征。

2、 卷积核

卷积核 - filter -过滤器 -模型参数

卷积如何计算?带着若干权重和偏置,进行特征加权运算            

卷积核常用大小:1*1  3*3  5*5

                个数:多个卷积核进行卷积,得到多个结果  不同卷积核带的权重和偏置不一样

                 步长:每次平移步长

                 零填充大小:在图片像素外围填充一圈值为0的像素(根据需求定大小)

输出大小计算:

例:输出图像32*32*1,50个Filter,大小5*5,移动步长1,零填充大小1,求出输出大小?

H1 = 32      D1 = 1      K = 50    F = 5   S = 1   P = 1

H2 = (32-5+2) / 1 + 1 = 30

D2 = 50

输出为(30,30,50)

3、卷积网络API

tf.nn.conv2d(input, filter, strides=, padding=, name=None)     

               计算给定4-D input和filter张量的2维卷积    

               input:输入图像,形状具有[batch,heigth,width,channel],类型为float32,64
       
              filter:指定过滤器的权重数量,[filter_height,filter_width,in_channels,out_channels]

             strides:strides=[1,stride,stride,1],步长

             padding:“SAME”,“VALID”
           
              SAME(使用更多):越过边缘取样,取样的面积和输入图像的像素宽度一致。

              VALID:不越过边缘取样,取样的面积小于输入人的图像的像素宽度。不填充

不能保证每次都完全在取的范围内,增加零填充就不会存在超出边缘

激活层:增加非线性分割能力

之前使用的sigmold计算量大,反向传播可能会出现梯度消失

1、ReLU

ReLU = max(0,x)  

         计算速度非常快

         解决了梯度消失

         图像没有负的像素值

2、激活函数API

tf.nn.relu(feature,name = None)

            ferture:卷积后加上偏置的结果

            return:结果

池化层polling(下采样层):减少学习参数,去掉不重要的样本,降低网络的复杂度

   max_polling:取池化窗口的最大值

   avg_polling:取池化窗口的平均值

  池化层计算与卷积层一样

池化层API

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

             输入上执行最大池数
         
             value: 4-D Tensor形状batch, height, width, channels]

              channel:并不是原始图片的通道数,而是多少filter观察

               ksize:池化窗口大小,[1,ksize,ksize,1]

               strides:步长大小,[1,strides,stride,1]

               padding:“SAME”,“VALID”,使用的填充算法的类型,默认使用“SAME”

使用max_polling进行池化

           

  • 15
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值