深度学习_Python_TensorFlow之卷积神经网络

本文准备以MNIST数据集为案例,使用Python语言和TensorFlow平台构建卷积神经网络模型。

一、准备工作

  • 具备一定的Python语言基础知识,安装任何可用的Python开发工具,安装TensorFlow库,使用pip库安装
pip install tensorflow

然后在解释器中导入tensorflow库(import tensorflow),看是否有错,没有,则安装成功。

二、卷积神经网络

深层的神经网络与最常见的单一隐藏层神经网络的区别在于深度。深度神经网络中,每一个节点层在前一层输出的基础上学习识别一组特定的特征,随着神经网络深度的增加,节点所能识别的特征也越来越复杂。

对于常见的全连接神经网络来说,存在以下几点不足:

  • 参数太多,在MNIST数据集中,只有28*28*1,就会有这么多权重,如果说更大的图片,比如200*200*3,就需要120000多个,这完全是浪费;
  • 没有利用像素之间位置信息,对于图像识别任务来说,每个像素与周围像素的联系都是比较紧密的;
  • 层数限制,准确度不会因为层数的增加而无上限的提高。

而卷积神经网络拥有着卷积层和池化层组合在一起的特征提取器,它权重共享的机制解决了权重爆炸的问题,这种特定结构的神经网络模型受到了大家的青睐。

下图是卷积神经网络的错误率、发展历史和方向:

神经网络(Neural Network)的基本组成包括输入层、隐藏层和输出层。而卷积神经网络的特点在于隐藏层分为卷积层(convolution layer)和池化层pooling layer,又叫下采样层)

网络中的数据变化如下所示,可以看出,卷积神经网络的数据的宽度和高度会不断减小,但深度会不断提高

卷积神经网络结构分析:

1.卷积层

  • 卷积层过滤器(卷积核):

个数;大小(一般为1*1、3*3、5*5);步长(一般为1);零填充(‘SAME’或‘VALID’)

卷积层的输出深度由过滤器个数决定,输出宽度和高度用如下公式进行计算

卷积层计算过程示意图如下:

上图是不填充0的

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值