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来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...
随机推荐
- Drf06 /drf总结
Drf06 /drf总结 目录 Drf06 /drf总结 1. restful规范 2. drf组件认证的实现过程? 3. drf组件中权限的实现过程? 4. drf组件中节流的实现方式? 5. 什么 ...
- Burp Suite Target Module - 目标模块
模块目的之一:获取网站分析 1.从Proxy - HTTP history界面选中需要加入Target Scope的Host 地址,右击,选中Add to Scope. 2.打开Target - Sc ...
- Ethical Hacking - GAINING ACCESS(20)
CLIENT SIDE ATTACKS - Spoofing backdoor extension Change the extension of the trojan from exe to a s ...
- js 或Jquery操作定位元素
属性过滤常用javascript后去DOM对象 id是定位到的是单个element元素对象,其它的都是elements返回的是list对象 1.通过id获取 document.getElementBy ...
- ref和动态组件
ref--------指引 另一种获取表单值的方法 是Vue环境中一个内置的属性.它可以使用this.$refs可以快速拿到DOM对象.
- 04 . Filebeat简介原理及配置文件和一些案例
简介 Beats轻量型数据采集器 Beats 平台集合了多种单一用途数据采集器.它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据. Beats系列 全 ...
- 下载spring的路径的文章,已经试用没问题
文章:https://blog.csdn.net/ethan__xu/article/details/80273249 spring jar下载路径 http://repo.spring.io/rel ...
- Kafka入门(2):消费与位移
摘要 在这篇文章中,我将从消息在Kafka中的物理存储方式讲起,介绍分区-日志段-日志的各个层次. 然后我将接着上一篇文章的内容,把消费者的内容展开讲一讲,区分消费者与消费者组,以及这么设计有什么用. ...
- JPA第三天
学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"springdata"获取视频和教程资料! b站在线视 ...
- JavaScript高级程序设计(第三版) 6/25
第六章面向对象的程序设计 1.定义只有在内部才用的特性(attribute)时,描述了属性(property)的各种特征.这些特性是为了实现JavaScript引擎用的,因此在JavaScript中不 ...