0. 滤波器的大小选择

  • 大部分卷积神经网络都会采用逐层递增(1⇒ 3 ⇒ 5 ⇒ 7)的方式。
  • 每经过一次池化层,卷积层过滤器的深度都会乘以 2;

1. 权值共享:减轻过拟合 & 降低计算量

一个卷积层(Wx+b ⇒ ReLU ⇒ maxpooling)可以有多个不同的卷积核,而每一个卷积核都对应一个滤波后映射出的新图像,同一个新图像中的每一个像素都来自完全相同的卷积核,这就是卷积核的权值共享。

那么为什么要共享卷积核的权值参数呢?

  • 降低模型复杂度以减轻过拟合;
  • 降低计算量;

2. 待求参数数目的量化分析

考虑 103×103 的输入图像:

  • 全连接,隐层神经元的数目为 106 时,则每一个输入像素与每一个隐层神经元之间都是待学习的参数,

    • 数目为 106×106=1012
  • 卷积,卷积核的大小为 10×10 时,
    • 步长为 10,103×10310×10×(10×10),103×10310×10表示的是输入图像可划分的块数,也即经卷机作用后的输出图像;
    • 步长为 1,(103−10+1)×(103−10+1)⋅(10×10)
    • 在不考虑步长的前提下,可近似将待学习的参数的数目视为 (103×103)⋅(10×10)

3. CNN 的卷积与信号与系统中的卷积

CNN 的卷积并没有执行“翻转”操作,而是与输入图像做滑动窗口“相关”计算;

如果 K 个输入通道(Xk,0≤k<K)的输入经若干卷积核的作用之后得到 L 个通道的输出(Yℓ,0≤ℓ<L),需要的卷积核的数目为 L×K:

Yℓ(m,n)==Xk(m,n)⋆Hkℓ(m,n)∑k=0K−1∑i=0I−1∑j=0J−1Xk(m+i,n+j)Hkℓ(i,j)

Hkℓ(i,j) 表示的是第 ℓ 列,第 k 行二维卷积核,卷积核的大小为 I⋅J。

4. 时间复杂度

  • N×N 大小的图像,F 个 K×K 的 filters ⇒ 计算复杂度 O(N2×K2×F)

    • 要知道 F 的值一般是很大的,比如 256;

卷积神经网络(CNN)的细节问题(滤波器的大小选择)的更多相关文章

  1. 【深度学习系列】手写数字识别卷积神经--卷积神经网络CNN原理详解(一)

    上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...

  2. 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理

    上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...

  3. TensorFlow 2.0 深度学习实战 —— 浅谈卷积神经网络 CNN

    前言 上一章为大家介绍过深度学习的基础和多层感知机 MLP 的应用,本章开始将深入讲解卷积神经网络的实用场景.卷积神经网络 CNN(Convolutional Neural Networks,Conv ...

  4. 卷积神经网络CNN总结

    从神经网络到卷积神经网络(CNN)我们知道神经网络的结构是这样的: 那卷积神经网络跟它是什么关系呢?其实卷积神经网络依旧是层级网络,只是层的功能和形式做了变化,可以说是传统神经网络的一个改进.比如下图 ...

  5. 卷积神经网络(CNN)学习笔记1:基础入门

    卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01   |   In Machine Learning  |   9 Comments  |   14935  Vie ...

  6. 深度学习之卷积神经网络CNN及tensorflow代码实例

    深度学习之卷积神经网络CNN及tensorflow代码实例 什么是卷积? 卷积的定义 从数学上讲,卷积就是一种运算,是我们学习高等数学之后,新接触的一种运算,因为涉及到积分.级数,所以看起来觉得很复杂 ...

  7. 卷积神经网络(CNN,ConvNet)

    卷积神经网络(CNN,ConvNet) 卷积神经网络(CNN,有时被称为 ConvNet)是很吸引人的.在短时间内,变成了一种颠覆性的技术,打破了从文本.视频到语音等多个领域所有最先进的算法,远远超出 ...

  8. 卷积神经网络(CNN)前向传播算法

    在卷积神经网络(CNN)模型结构中,我们对CNN的模型结构做了总结,这里我们就在CNN的模型基础上,看看CNN的前向传播算法是什么样子的.重点会和传统的DNN比较讨论. 1. 回顾CNN的结构 在上一 ...

  9. 卷积神经网络(CNN)反向传播算法

    在卷积神经网络(CNN)前向传播算法中,我们对CNN的前向传播算法做了总结,基于CNN前向传播算法的基础,我们下面就对CNN的反向传播算法做一个总结.在阅读本文前,建议先研究DNN的反向传播算法:深度 ...

随机推荐

  1. JS中的发布订阅模式

    一. 你是如何理解发布订阅模式的 JS中的设计模式: 单例模式:处理业务逻辑 构造原型模式:封装类库,组件,框架,插件等 类库:jQuery 只是提供了一些常用的方法,可以应用到任何的项目中,不具备业 ...

  2. 3.Docker安装【Docker每天5分钟】

    原文:3.Docker安装[Docker每天5分钟] Docker给PaaS世界带来的“降维打击”,其实是提供了一种非常便利的打包机制.该机制打包了应用运行所需要的整个操作系统,从而保证了本地环境和云 ...

  3. [Javascript] Safer property access with Lodash's 'get' method

    Property access in Javascript can be problematic - especially when dealing with nested Objects and A ...

  4. js课程 4-12 js中正则表达式如何使用

    js课程 4-12 js中正则表达式如何使用 一.总结 一句话总结: 1.js正则表达式手册取哪里找? w3cschool或者菜鸟教程->找到js正则表达式->完整的RegExp参考手册这 ...

  5. 【Codeforces Round #435 (Div. 2) C】Mahmoud and Ehab and the xor

    [链接]h在这里写链接 [题意] 让你组成一个n个数的集合,使得这n个数的异或和为x; x<=1e5 每个数最大1e6; [题解] 1e5<=2^17<=2^18<=1e6的 ...

  6. C語言 rand函数 进阶探讨与实现

    C语言中随机函数应用        可能大家都知道C语言中的随机函数random,但是random函数并非ANSI C标准,所以说.random函数不能在gcc,vc等编译器下编译通过. 那么怎么实现 ...

  7. item.imageInsets =

    直接上代码: item.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);//设置图片居中 阅读全文 本文已收录于下面专栏: wanglixin1999 +关注 ...

  8. Linux有问必答:Linux上如何查看某个进程的线程

    原创:LCTT https://linux.cn/article-5633-1.html 译者: GOLinux本文地址:https://linux.cn/article-5633-1.html201 ...

  9. 【15.07%】【codeforces 625A】Guest From the Past

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  10. js进阶 11-18 jquery中操作选择器的方法有哪些

    js进阶 11-18 jquery中操作选择器的方法有哪些 一.总结 一句话总结:add().addBack().end() 1.add()方法是干嘛的,举一例? 将add()方法后选择器选择的jqu ...