[note] 深度学习 tensorflow 笔记(3) cnn 卷积神经网络

2023-11-13


假设我们想要辨识一张图片里面是不是有猫咪的存在。

这只猫咪可以在图片的任何位置。

什么办法才能辨别这个图片里面有没有猫呢?

一个很简单的想法就是:将图片分成一些子图片的集合,逐个辨别子图片里面有没有猫咪。

的确,卷积神经网络就是这样做的。

但是,分割好后如何辨别子图片有没有猫咪呢?

这就要看卷积的作用了,图片是二维数组(这里指的是灰度图像),即二维离散变量。

卷积能将其中的特征提取出来,这样子图片的特征又组成新图片。

只不过这个新图片的维度减小了。

经过几次这样的过程,剩下来的便是主要特征了。

这时我们可以利用神经网络进行训练。


图中输入为三维矩阵,输出同为三位矩阵。

正如两个长方体相互对应。


1.weight sharing 子图片共享权重矩阵


上文说道,一张图片化为多张子图片,每个子图片的权重矩阵什么呢?

每个子图片的权重矩阵是相同的。这样大大减少了存储空间和计算量。


2. 子图片分割方法

子图片分割方法分为两种:valid 和 same

比如我们想要获得px*py大小的子图片。

进行valid分割时,每个子图片必须在原图片内,不允许出原图片边界。

如下图左侧为valid分割,其绿色边框不允许出原图片的边界,最多重合。

而same分割方法中,same表达的意思是使子图片的分布与原图片的维度相同。

比如,原来28*28的图片进行same分割,要求每个子图片的维度为5*5,这样每次x方向或y方向移动1个像素。

那么,得到的应该是28*28个5*5的子图片。

这么多的子图片,肯定有些子图片越界,如下图右侧。

这些多出来的像素可以置零,也可以有其他方案,比如插值。



下面列出了几种不同方案对应的分割后的维度。




3.卷积神经网络的处理过程

一般图想输入后经过多层卷积提取特征成为深度神经网络的输入层。

注意,这里的逐层提取特征是串联的。

也就是说可以并联,作为神经网络分类器的输入层。(这个后面会提)


上图很好的总结了这一过程。

但是,实际计算中,我们不可能一张张来计算。

这样输入为图片组,也就是四维矩阵了。

既然有深度神经网络分类器,dropout, decay learning rate, regularization都可以使用,这并不一定要求非得是fully connected。


4. Tips



(1)pooling

神经网络分类器间可以有dropout,卷积层间也可以有一些操作,pooling便是其中之一。

只不过dropout为了防止overfitting,而pooling是为了提取特征。

pooling有max_pooling和average_pool,分别对应在距离中心像素kernel_size范围内所以像素的最大值,平均值。


如图所示,比起直接增大stride后减少输出层维度,pooling能有有效利用信息,提高准确度。

但是,pooling增加了计算负荷,需要配置好参数。



(2)1*1 convolution

输入层的图像被增加深度形成(1,1,depth1)的卷积层,之后仍然只改变深度。

这样使计算大大简化,直接变成矩阵乘法。



(3) inception

前面提到卷积层是串联的。

还一种方式是类似于并联。

即采用不同分割方式,得到的卷积层最终化为同样的图像维度,其深度可以不同。

并联以后形成神经网络分类器的输入层。



5. leNet5 架构

著名的手写字体架构,在mnist数据上正确率在98%以上。

不知道在notMNIST上的效果如何。



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[note] 深度学习 tensorflow 笔记(3) cnn 卷积神经网络 的相关文章

随机推荐

  • 西门子SMART 存储区

    输入过程映像区 I区 Process image input register 范围 I0 0 to I31 7 输出 过程映像区 Q区 Process image output register 范围 Q0 0 to Q31 7 模拟量输
  • python小游戏毕设 滑雪小游戏设计与实现 (源码)

    文章目录 0 项目简介 1 游戏介绍 2 实现效果 3 开发工具 3 1 环境配置 3 2 Pygame介绍 4 具体实现 5 最后 0 项目简介 Hi 各位同学好呀 这里是L学长 今天向大家分享一个今年 2022 最新完成的毕业设计项目作
  • 关于多个 ELement UI Popover的处理

    处理 Element UI 中Popover组件会在页面中出现多个的情况 前言 今天有一个需求 一个列表中每一行都会有一个element ui的 popover 弹窗 使用click或者hover触发 但是 这个组件自身不会自动关闭 处理手
  • 多模型构建的多层级权限管控体系

    在阐述 CloudQuery 权限体系之前 想先跟大家分享下我们团队在客户侧收集到了的一些真实场景与诉求 对特定对象进行操作管控 SQL 命令 对某个字段实现精确动态脱敏 对某一条 SQL 语句进行精确提权 对高危命令进行拦截 实现用户登录
  • Flutter 实现文字向上/下滚动效果(八)

    实现原理 Flutter ListView 定时器 Timer 每隔一段时间通过控制器 scrollController 主动跳转 animateTo 下一条目 可以自定义动画 跳转时间 到达底部时从头开始 循环往复 import dart
  • 学习笔记之什么是持久化和对象关系映射ORM技术

    学习笔记之什么是持久化和对象关系映射ORM技术 by Naven at 2005 09 19 何谓 持久化 持久 Persistence 即把数据 如内存中的对象 保存到可永久保存的存储设备中 如磁盘 持久化的主要应用是将内存中的数据存储在
  • 你认为DAO是否可行?新年计划,卯足干劲,兔必No.1

    文章目录 课前小差 聚沙成塔 社会价值 DAO是什么 国产化 商业化回报 写在最后 课前小差 哈喽 大家好 我是几何心凉 这是一份全新的专栏 唯一得倒CSDN王总的授权 来对于我们每周四的绿萝时间 直达CSDN 直播内容进行总结概括 让大家
  • [mysql]游标和触发器

    目录 游标 或光标 定义 使用过程 示例 总结 触发器 应用场景 定义 使用 创建 查看 删除 示例 一个注意点 优缺点 拓展 MySQL 8 0的新特性 全局变量的持久化 游标 或光标 定义 游标是一种 能够对结果集中的每一条记录进行定位
  • Jetson nano之ROS入门 - - 机器人建模与仿真

    文章目录 前言 一 URDF建模 1 URDF语法详解 a robot b link c joint 2 URDF机器人建模实操 二 Xacro宏优化 1 Xacro宏语法详解 2 Xacro建模实操 三 Rviz与Gazebo仿真 1 G
  • 【人体姿态】Convolutional Pose Machines

    Wei Shih En et al Convolutional Pose Machines CVPR 2016 本论文将深度学习应用于人体姿态分析 同时用卷积图层表达纹理信息和空间信息 目前在2016年的MPII竞赛中名列前茅 作者在git
  • 51单片机之串口通讯应用实例(逻辑分析仪调试)

    硬件 STC89C52RC 开发工具 Keil uVision4 前言 8051是一款很经典的 历史悠久的单片机 作为一款入门级的单片机8051受到很多初学者的欢迎 89c52是8051系列的成员之一 拥有8K字节程序存储空间 512字节随
  • 基于Python Django Mysql数据库 的电商系统实现

    基于Python Django的电商系统实现 最近需要基于Django实现一个电商系统 目前已实现了基本功能 整个系统结构相对简单 没有进行前后端分离 使用的django的最简单的Template模板前后端交互模式 这个项目属于入门级项目
  • 环保行业如何开发废品回收微信小程序

    废品回收是近年来受到越来越多人关注的环保行动 为了推动废品回收的普及和方便 我们可以利用微信小程序进行制作 方便人们随时随地参与废品回收 首先 我们需要注册并登录乔拓云账号 并进入后台 乔拓云是一个提供微信小程序制作平台的服务商 非常适合我
  • php user.ini详解

    0x00 前言 本篇主要是讲解分析一下user ini相关的内容 因为这个知识点涉及到文件上传的绕过 0x01 正文 user ini 文件是PHP的配置文件 用于自定义PHP的配置选项 该文件通常位于PHP安装目录的根目录下 或者在特定的
  • 2. 依赖管理和自动配置

    文章目录 2 1 依赖管理 2 1 1 什么是依赖管理 2 1 2 修改自动仲裁 默认版本号 2 2 starter 场景启动器 2 2 1 starter 场景启动器基本介绍 2 2 2 官方提供的 starter 2 2 2 1 地址
  • PyTorch基础入门六:PyTorch搭建卷积神经网络实现MNIST手写数字识别

    1 卷积神经网络 CNN 简介 关于什么是卷积神经网络 CNN 请自行查阅资料进行学习 如果是初学者 这里推荐一下台湾的李宏毅的深度学习课程 链接就不给了 这些资料网站上随处可见 值得一提的是 CNN虽然在图像处理的领域具有不可阻挡的势头
  • ps2020无法显示最近打开

    首选项 常规 选择 自动显示主屏幕
  • 关于BeanUtils.copyProperties() 用法及区别

    这两个类在不同的包下面 而这两个类的copyProperties 方法里面传递的参数赋值是相反的 例如 a b为对象BeanUtils copyProperties a b BeanUtils是org springframework bea
  • FakeMsdMiner挖矿病毒分析报告

    近日 亚信安全截获新型挖矿病毒FakeMsdMiner 该病毒利用永恒之蓝 永恒浪漫等NSA漏洞进行攻击传播 该病毒具有远控功能 可以获取系统敏感信息 其通过修改HOST文件方式截获其他挖矿病毒的成果 由于该病毒的挖矿程序伪装成微软系统服务
  • [note] 深度学习 tensorflow 笔记(3) cnn 卷积神经网络

    假设我们想要辨识一张图片里面是不是有猫咪的存在 这只猫咪可以在图片的任何位置 什么办法才能辨别这个图片里面有没有猫呢 一个很简单的想法就是 将图片分成一些子图片的集合 逐个辨别子图片里面有没有猫咪 的确 卷积神经网络就是这样做的 但是 分割