参考内容

1、网易云课堂微专业——深度学习—04第一周:http://mooc.study.163.com/smartSpec/detail/1001319001.htm

2、CNN基础介绍:http://blog.csdn.net/fengbingchun/article/details/50529500



卷积神经网络(Convolutional Neural Networks,CNN)

1、基本计算原理

  

  动态过程:

  滤波器(过滤器:filter)的权值是根据你要检测的特征来决定的,在深度学习中,也即是要经过训练得到。检测的特征不同,权值就不一样。

  如上单层的图像一般表示的是灰白图,既是没有颜色的,有颜色的RGB图像,会包含三个相同大小的图层,这时对应的滤波器也要变成三层,滤波器的层数(通道数)必须时刻与图像层数保持一致。。。

  

  注意输出的是一个单层图

  

  因为当一个三通道的过滤器与图像进行卷积时,是直接对27个数去加权计算它们的和得到一个结果,而不是分层计算。

2、卷积输出的大小计算

  如上两个例子,5*5的图像经过3*3的滤波器得到一个3*3的结果,6*6*3d的图像经过3*3*3d的滤波器得到一个4*4*1d的结果,从单层的例子我们大概已经知道了是怎么计算的了,那么接下来转换成公式来表示一下。

  

  由计算可知,每次卷积图像都会变小,以上还只是步长为1的情况(也即是每次只移动一个),有两个缺点:

    1、每次卷积之后图像都会缩小,多次卷积之后呢, 可能会变得很小很小

    2、会丢掉角落边缘像素的重要信息,看下面图像

  

    在上面的边缘,从左到右像素检测的次数分别为1、2、3、2、1,可见角落边缘只被检测了一次,而中间可以被检测多次,这就会导致边角信息丢失。解决的办法是加入Padding。

3、加入Padding以及之后的计算

  加入Padding的意思是在卷积之前,在原图像边缘上加入一层像素(也可以多层),一般也叫做补零(因为大多数时候我们添加的元素都是0)。

  

  由上图可知,如果卷积之后要得到与原图像相同大小的图像,那么加入的Padding层数应该是(f - 1) / 2,也由此可见,我们用的过滤器 f 一般也是奇数的,这样才能整除计算,获得对称填充,还有一个原因是奇数的滤波器会有一个中心点,有时候在计算机视觉计算时,有个中心点会方便很多。

  附:

    Padding = 0的卷积被称为Valid Convolution

    为了得到与原图像大小相同图像而加入Padding的卷积称为Same Convolution

3、加入卷积步长(Stride)

  以上运算都是基于步长为1的情况,下面看看步长为2的情况:

  

  在卷积运算时,如果滤波器超出了图像框,一般的操作是不进行运算。

4、三维卷积

  (1)原始RGB三维图

    

    

  (2)多个滤波器(卷积核)

    以上操作都是基于单个滤波器的,无论是单层还是多层,一个滤波器只能检测一种特征,要检测多个特征,我们需要多个滤波器。

    

5、汇总

  

CNN之间的计算的更多相关文章

  1. Python datetime time 等时间 日期 之间的计算和相互转化

    from datetime import datetime, date, timedelta, timezone from time import time, ctime, localtime, st ...

  2. c# 数字之间的计算

    1.c# 65*1.0F/102=0.637254901960784 2.mysql TRUNCATE(65/102,9)  9代表的是保留几位小数 3.多张表关联,修改某张表的字段 UPDATE s ...

  3. CNN笔记:通俗理解卷积神经网络【转】

    本文转载自:https://blog.csdn.net/v_july_v/article/details/51812459 通俗理解卷积神经网络(cs231n与5月dl班课程笔记) 1 前言 2012 ...

  4. CNN笔记:通俗理解卷积神经网络

    CNN笔记:通俗理解卷积神经网络 2016年07月02日 22:14:50 v_JULY_v 阅读数 250368更多 分类专栏: 30.Machine L & Deep Learning 机 ...

  5. F2工作流引擎参与者类型成员的交、并、互拆计算规则

          计算描述:计算规则指的是和其它“参与者类型成员”的之间的计算,必须求解处理人不为空的情况下才进行规则计算,各个“参与者类型成员”按序号顺序执行. 计算算法:并集(权重最低),交集(权重中) ...

  6. 你好,C++(18) 到底要不要买这个西瓜?4.1.6 操作符之间的优先顺序

    4.1.6 操作符之间的优先顺序 在表达一些比较复杂的条件判断时,在同一个表达式中,有时可能会存在多个操作符.比如,我们在判断要不要买某个西瓜时,不仅要判断它的总价(单价8.2元/斤,一共10.3斤) ...

  7. Java 原始数据类型的计算:运算符重载(Operator Overload)和类型转换(Type Conversion)

    原文阅读:<算法(第四版)>第一章 第一节:基础编程模型 有没有在面试的时候被问到:下面这几行代码的执行结果是什么?依据是什么? System.out.println (5/3); Sys ...

  8. 深度学习:Keras入门(二)之卷积神经网络(CNN)

    说明:这篇文章需要有一些相关的基础知识,否则看起来可能比较吃力. 1.卷积与神经元 1.1 什么是卷积? 简单来说,卷积(或内积)就是一种先把对应位置相乘然后再把结果相加的运算.(具体含义或者数学公式 ...

  9. Activex、OLE、COM、OCX、DLL之间区别、联系[转]

    转自:http://baike.baidu.com/view/393671.htm 创建COM:http://blog.csdn.net/henry000/article/details/700839 ...

随机推荐

  1. Nginx(haproxy)+keepalived+Tomcat双主高可用负载均衡

    周末的时候一个正在学Linux的朋友问我,高可用怎么玩?我和他微信了将近三个小时,把Nginx和haproxy双主高可用教给他了,今天突然想把这个给写进博客里,供给那些正在学习Linux系统的朋友们, ...

  2. PHP 使用GD库合成带二维码的海报步骤以及源码实现

    PHP 使用GD库合成带二维码的海报步骤以及源码实现 在做微信项目开发过程中,经常会遇到图片合成的问题,比如将用户的二维码合成到宣传海报中,那么,遇到这种情况,利用PHP的GD库也是很容易实现的,实现 ...

  3. 使用TryParse()来执行数值转换

    static void Main() { var ageText = "25"; if (int.TryParse(ageText,out int age)) { Console. ...

  4. centos7环境下ELK部署之elasticsearch

    es部署:es只能用普通用户启动 博客园首发,转载请注明出处:https://www.cnblogs.com/tzxxh/p/9435318.html 一.环境准备: 安装jdk1.8.创建普通用户 ...

  5. Python 爬虫 (二)

    cookiejar模块: 管理储存cookie,将传出的http请求添加cookie cookie存储在内存中,CookieJar示例回收后cookie将自动消失 实例:用cookjar访问人人网主页 ...

  6. verilog中参数传递与参数定义中#的作用(二)

    一.module内部有效的定义 用parameter来定义一个标志符代表一个常量,称作符号常量,他可以提高程序的可读性和可维护性.parameter是参数型数据的关键字,在每一个赋值语句的右边都必须是 ...

  7. 我和Python的Py交易》》》》》》函数

    一 函数是什么?  是数学中的函数? Python中 函数是指将一组语句的集合通过一个名字(函数名)封装起来的一段代码.(所以这里的函数是subroutine子程序) 那要函数干嘛.不都是代码吗?只不 ...

  8. 20145209刘一阳《网络对抗》Exp6信息搜集与漏洞扫描

    20145209刘一阳<网络对抗>Exp6信息搜集与漏洞扫描 实践内容 信息搜集和漏洞扫描 信息搜集 whois查询 用whois查询博客园网站的域名注册信息可以得到注册人的名字.城市等信 ...

  9. hdu 2031 进制转换(栈思想的使用)

    进制转换 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  10. NetWork——关于TCP协议的三次握手和四次挥手

    分钟. (2)服务器B存在一个保活状态,即如果A突然故障死机了,那B那边的连接资源什么时候能释放呢? 就是保活时间到了后,B会发送探测信息,以决定是否释放连接. (3)为什么连接的时候是三次握手,关闭 ...