CNN 小结
CNN 小结
目录
- CNN特征提取过程(卷积核描述的是特征信息, 此特征可能就是原图像中的某些像素, 但是卷积核并不找相似的地方在原始图像的哪里, 所以需要将卷积核不断地滑动, 得到的feature map中, 越大表示卷积核与原图该部分越符合, 越接近与负数表示卷积核与原图反方向越符合, 越接近于0表示不符合, 其实这与人眼工作的原理很相似, 人眼对特定形状敏感, 对应到卷积中就是值高)
- CNN中每个卷积核的作用(使用卷积核对图像进行卷积得到的一个feature map提取出的是一部分的特征, 可能是人眼, 另外一个卷积核提取出的feature map可能是鼻子, 以此类推, 加入我们使用了3个卷积核, 最后输出了3个feature map, 当前卷积还可以提取出方向信息, 相对位置信息, 颜色信息, 形状信息, 可以第一个map提取的是人眼特征, 第二个提取的是鼻子特征, 第三个提取的是嘴巴特征, 不断地卷积得到的信息越少, 但是信息越专一)
- 为什么卷积运算最后一步是加法? 对于RGB图片, 我们为每一个通道生成一个卷积核, 对应的卷积核去卷积对应的通道, 得到三个结果, 由于我们的目的是对RGB图像提取特征, 因此我们需要把所有提取到的特征都利用起来, 于是进行加法, 将效果叠加在一起
- CNN的卷积核特性(CNN是一个黑匣子, CNN确实可以自动提取特征, 但是不是按照我们指定的特征来提取, 具体提取到哪些特征是不确定的, 提取到哪些特征由卷积核决定, 我们不可能一开始就确定下来卷积核的值, 卷积核的值是通过反向传播提供的误差为引导更新卷积核的值)
- U-Net为什么有效? U-Net的亮点就是skip connection, 将浅层的feature map堆积到深层的feature map上, 就是全局与局部的结合, 保留了更多的信息
- 激活函数的作用(非线性的激活函数可以将数据从一个空间映射到另外一个空间, 增强了模型的非线性表达能力)
- BN作用? BN一般在conv之后, pool之前, 激活函数之后, BN会将值归一化到0附近, BN可以有效地防止梯度消失和加速算法, 就sigmoid函数而言, 它在0值附近的梯度大, 在0值附近更容易区分出特征, 所有如果通过BN将数据归一化到0附近在带入到激活函数中就可以加快特征的提取, 减少梯度消失
- 边缘检测与图像锐化(梯度化)傻傻分不清楚
- CNN的函数公式的理解参照小明使用卷积计算复利
- sigmoid, tanh和ReLU
- sigmoid现在神经网络中已经不常使用了, 因为他存在饱和问题, 在接近0和1的时候会出现梯度变化不明显的情况, 尤其是是在连乘的时候, 容易导致梯度消失
- tanh比sigmoid要好, 虽然他们图像差不多, 但是tanh的值域扩大了一倍
- pooling层是可以去掉的, 此时过了在ImageNet上去掉pooling效果是一样的, 但是使用了pooling减少了计算量
各种卷积
- 标准卷积
- 转置卷积(原图使用空分隔)
- 扩张卷积(卷积核使用空分隔)
- 3D卷积
Pytorch
- 动态图
feature map可视化
- 需要搭建一个类似于风格迁移的网络
- 一般都是对卷积核进行可视化, 因为卷积核描述的就是feature map中的特征, 并且卷积核可视化出来一般都是彩色的, 也会有一些特定的形状, 如羽毛, 链条, 猫的头像等, 可视化出来的时候可能会后多个猫的头像在一个图像上, 因为卷积核有好几个通道, 每一个通过提取的可能不同, 包含了位置与角度信息。
初始化
- 激活函数为ReLU, 一般采用正态分布初始化
- 激活函数为tanh, 一般采用xavier
CNN 小结的更多相关文章
- 基于pytorch的CNN、LSTM神经网络模型调参小结
(Demo) 这是最近两个月来的一个小总结,实现的demo已经上传github,里面包含了CNN.LSTM.BiLSTM.GRU以及CNN与LSTM.BiLSTM的结合还有多层多通道CNN.LSTM. ...
- 卷积神经网络(CNN)模型结构
在前面我们讲述了DNN的模型与前向反向传播算法.而在DNN大类中,卷积神经网络(Convolutional Neural Networks,以下简称CNN)是最为成功的DNN特例之一.CNN广泛的应用 ...
- 卷积神经网络(CNN)前向传播算法
在卷积神经网络(CNN)模型结构中,我们对CNN的模型结构做了总结,这里我们就在CNN的模型基础上,看看CNN的前向传播算法是什么样子的.重点会和传统的DNN比较讨论. 1. 回顾CNN的结构 在上一 ...
- 【深度学习系列】手写数字识别卷积神经--卷积神经网络CNN原理详解(一)
上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...
- [验证码识别技术]字符验证码杀手--CNN
字符验证码杀手--CNN 1 abstract 目前随着深度学习,越来越蓬勃的发展,在图像识别和语音识别中也表现出了强大的生产力.对于普通的深度学习爱好者来说,一上来就去跑那边公开的大型数据库,比如I ...
- PaddlePaddle︱开发文档中学习情感分类(CNN、LSTM、双向LSTM)、语义角色标注
PaddlePaddle出教程啦,教程一部分写的很详细,值得学习. 一期涉及新手入门.识别数字.图像分类.词向量.情感分析.语义角色标注.机器翻译.个性化推荐. 二期会有更多的图像内容. 随便,帮国产 ...
- 深度学习之卷积神经网络(CNN)详解与代码实现(一)
卷积神经网络(CNN)详解与代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/10430073.html 目 ...
- 【深度学习与TensorFlow 2.0】卷积神经网络(CNN)
注:在很长一段时间,MNIST数据集都是机器学习界很多分类算法的benchmark.初学深度学习,在这个数据集上训练一个有效的卷积神经网络就相当于学习编程的时候打印出一行“Hello World!”. ...
- 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理
上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...
随机推荐
- python 装饰器(三):装饰器实例(一)
示例 7-15 定义了一个装饰器,它会在每次调用被装饰的函数时计时,然后把经过的时间.传入的参数和调用的结果打印出来.示例 7-15 一个简单的装饰器,输出函数的运行时间 import time de ...
- The solution for apt-get update Err 404
最近在ubuntu 12.10上执行sudo apt-get update 命令后出现了如下错误: Ign http://extras.ubuntu.com natty/main Translatio ...
- 循序渐进VUE+Element 前端应用开发(16)--- 组织机构和角色管理模块的处理
在前面随笔<循序渐进VUE+Element 前端应用开发(15)--- 用户管理模块的处理>中介绍了用户管理模块的内容,包括用户列表的展示,各种查看.编辑.新增对话框的界面处理和后台数据处 ...
- python学习03-使用动态ua
在写爬虫的时候要使用到浏览器ua 分享一下今天学到的如何使用动态ua的进行爬取 1.简单的爬取网页信息 from urllib.request import urlopen #目标地址 url = & ...
- patelinux 安装
参考文档:https://china.xilinx.com/support/documentation/sw_manuals/xilinx2017_2/ug1144-petalinux-tools-r ...
- 集成Facebook SDK之Facebook登录
前言 这几天应公司需求,需要在项目中接入facebook的登录,现在闲下来后再次巩固一下! 准备工作 保证自己的网络已经翻墙,能够进入Facebook网页 准备一个FB的开发者账号,如果没有可以免费申 ...
- centos7中防火墙转为iptables
1.关闭firewall systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止fir ...
- 回文树(回文自动机)(PAM)
第一个能看懂的论文:国家集训队2017论文集 这是我第一个自己理解的自动机(AC自动机不懂KMP硬背,SAM看不懂一堆引理定理硬背) 参考文献:2017国家集训队论文集 回文树及其应用 翁文涛 参考博 ...
- django-celery 版本 常用命令
http://celery.github.io/django-celery/introduction.html #先启动服务器 python manage.py runserver #再启动worke ...
- Jarvisoj-web phpinfo
题目入口:http://web.jarvisoj.com:32784/ 一进来就看到源码 简单分析之后知道考点是反序列化,注意到了关键字session_start(),这个函数是用于创建会话.但具体如 ...