一文读懂卷积神经网络CNN(学习笔记)

简介:

首先文章的提纲为:

CNN栗子镇楼
What is CNN

什么是卷积

什么是池化

Why CNN
对CNN的其他一些理解
CNN实现(接口)

1、CNN栗子(A Beginning Glimpse of CNN)


  1. Modern CNN since Yann LeCun

0b0e1deb4b4028c34dc542a5dc115cd1471214e2

2.

170a34a35df84d21cbbe4e09679bf192f1c6b71f

上面是最经典和开始的两篇CNN的结构图


2、What is CNN?

神经网络?卷积?

2.1 什么是卷积?

卷积的定义

  • 其连续的定义为:
219bcb394827c7bcdca1a2feb9309845ac72ad4c
  • 特点:

6a93df5c62f3127ef512cdf6dfbbe3ed76d979c1

2.2 离散卷积的栗子:


丢骰子时加起来要等于4的概率是多少?
d85500a0e7b3ab12b9c9d7070d8a10dab3b7b127
  • 二维离散的卷积
459edf71ea8b8980ca7d3f05783f7a924755981b
  • 计算的动图如下
24b43a92e2b3cd8bf530de4f71c4b83c4564cdfd

2.3 用到二维图像上:

关于卷积中常用到的一些概念:神经网络的卷积是对应位相乘,现在是信号相乘。

1df6957c96fc050f435c68b4c39d1fb4e77619a5
c7f9595539e179e48e5057056e0cefb8bc27c9f2

上面移动的小矩阵有两种叫法,一种叫做滤波器filter,一种加法叫做卷积核Kernel,是相同的东西只是不同的叫法。

986380df09d4fbc32791c8077bfcb15aaef23bd5

2.4、用到神经网络中

a488dccda3c0f464377afa7abcd56333b84c6c92

我们其实需要学习的就是里面的线上面对应的权值,比如上面绿色的代表3*1的卷积核大小,只是这里用神经网络的结构表示出来了。

2.5、卷积的细节

  • filter/Kernel size,number
  • 假设神经网络的输入是6*6的image,
8caaf2ec933a4b1f20f0bfc0405398804e6f14e1

其中每一个卷积核代表提取不同的特征,多个卷积核提取的特征然后进行组合(这样更强大),一同送入到后续的结构。

  • 下面来一个更通俗的解释:

143e7fceeeb9738e40a808124f66974a1a2e4ce3

每个人代表一个卷积核来进行提取不同的特征,一个人是弱小的,但是一组人就强大了,他们有着不同的知识(权重),这样类比来理解,就会好理解很多。

Stride

The step size you take the filter to sweep the image

4a97f455f389a1d59a2c308d46381d1d41e51008

Zero-padding
A way not to ignore pattern on border
New image is smaller than the original image
7049c83b73d2712c8f2d70ccf2fbdac1a2aea2e4
  • Channel

fd76e46bcde76a05b07092eade983b4433b2781f

2.6 池化(pooling)

8597da5784d47a489d06f8c79f767baf525853c6
  • Max pooling 例子:

738803ca97398be6ad126e95bceda5fc85f6a80b

  • Pooling is unsensitive to local translation.(局部不变性)
  • "If we translation the input by a small amount ,the values of mosts of the pooled outputs do not change."
  • 图像往左或者往右移动,pooling 的结果是不变的
dd012bd705f90cb398ec99ee5b38a488dd6ea05e

2.7 flatten

7bc8b1ee5e654c693d7db490747ccd1f7f49152b

2. 8 Convolution v.s. Fuly Connected

9d62282257d7b86f20ec6d1ab7b16299714ebea3
7ebf2f902da3ef6ec5c366d233edcc40db3622ef

32140222a722c718e955dcadba86cd406180b160

2.9 The whole CNN

ef0391d96e45effa4ed87f6665bfc38a50c912e7
  • So as the whole,CNN is conposed of
  • Convolution
  • Nonlinearity:e.g.ReLU
  • Pooling
  • FC Layers
ee0fc9eab37c6304fa838fc0227bb6de339f0936

3. Why CNN

Some patterns are much smaller whole image.
84739d2b24fafd45ca76b26ab1811b53a35bce6a
The same patterns appear in different regions
9a7f0ab32cd10ae7d9e5705d47a85a56b942b0b0
Subsampling the pixels will not change the object
72196c3c7235a9c4a59ce51996a19c25f6f2006a

4. 对CNN的其他一些理解

4.1 关于接受域(receptive field)

  • 称在底层中影响上层输出单元s的单元合集为s的接受域(receptive field)。
0774e88dc5d0eb4495a4c250254000b75b9809e8
  • 处于卷积网络更深的层中的单元,它们的接受域要比处在浅层的单元的接受的域更大。如果网络还包含类似步幅卷积或者池化之类的结构特征,这种效应会加强。这意味着在卷积网络中尽管直接连接都是很稀疏的,但处在更深的层中的单元可以间接地链接到全部或者大部分输入图像。(表现性能)
f2d9774ccf0a84946fcaa572d3bdfdc0b1582300

4.2 卷积与池化作为一种无限强的先验

首先,弱先验具有较高的熵值,因此自由性较强,强先验具有较低的熵值,这样的先验在决定参数最终取值时可以起着非常积极的作用。

把卷积网络类比成全连接网络,但对于网络的权重具有无限强的先验。

  • 所有隐藏单元的权重是共享的。
  • 除了一些连续的小单元的权重外,其他的权重都是0.
  • 池化也是一个无限强的先验:每个单元都具有对少量平移的不变性。

卷积和池化可能导致欠拟合!任何其他先验类似,卷积和池化只有当先验的夹着合理且正确时才有用。如果一项任务依赖于保存精确的空间信息,那么在所有的特征上使用池化将会增大训练误差。

根据实际需求选取先验

5. CNN in Pytorch

  • pytorch的相关接口
968cb9053b6a0902ea0487b22a8c8114ca6c549f
LeNet in PyTorch

f8b74146adf654efbc6c491873a30f80ff308c80 原文发布时间为:2017-12-29本文来自云栖社区合作伙伴“ 数据派THU”,了解相关信息可以关注“ 数据派THU”微信公众号
相关文章
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
43 7
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
|
15天前
|
机器学习/深度学习 人工智能 网络架构
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
34 1
|
17天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)入门
【10月更文挑战第41天】在人工智能的璀璨星空下,卷积神经网络(CNN)如一颗耀眼的新星,照亮了图像处理和视觉识别的路径。本文将深入浅出地介绍CNN的基本概念、核心结构和工作原理,同时提供代码示例,带领初学者轻松步入这一神秘而又充满无限可能的领域。
|
18天前
|
机器学习/深度学习 人工智能 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
24 1
|
22天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
17天前
|
机器学习/深度学习 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
38 0
|
23天前
|
机器学习/深度学习 人工智能 自动驾驶
深入解析深度学习中的卷积神经网络(CNN)
深入解析深度学习中的卷积神经网络(CNN)
40 0
|
2月前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第7天】本文将深入探讨卷积神经网络(CNN)的基本原理,以及它如何在图像识别领域中大放异彩。我们将从CNN的核心组件出发,逐步解析其工作原理,并通过一个实际的代码示例,展示如何利用Python和深度学习框架实现一个简单的图像分类模型。文章旨在为初学者提供一个清晰的入门路径,同时为有经验的开发者提供一些深入理解的视角。
|
23天前
|
机器学习/深度学习 计算机视觉 网络架构
为什么卷积现在不火了:CNN研究热度降温的深层原因分析
纵观近年的顶会论文和研究热点,我们不得不承认一个现实:CNN相关的研究论文正在减少,曾经的"主角"似乎正逐渐淡出研究者的视野。
62 11
为什么卷积现在不火了:CNN研究热度降温的深层原因分析