卷积神经网络(CNN:Convolutional Neural Network)
1、感知器(perceptron)
感知器是卷积神经网络的基本单元,下图展示了其工作原理,为了方便理解,图中只显示了3个输入。
向量w为输入向量x的权重,b为偏差,最后对x的线性组合()的值进行判断,
如果值大于0,输出1.
如果值小于0,输出0.
感知器的不同组合产生不同神经网络
增加层次
增加深度
为什么感知器可以运用于图像处理领域?
图像滤波通过图像的卷积运算来实现,其公式如下:
其实卷积运算也是像素值的线性组合,权重为滤波器对应像素位置的值。
图像的卷积运算也可以通过感知机来表示。
下面的内容先介绍是什么,然后讲如何理解,最后说为什么。
2、卷积神经网络(CNN)
卷积神经网络中常见的一种架构如下图所示。
图中的每一stage可以视为图像的特征提取,图中只显示了3个stage的特征提取。
如果希望提取到更多的细节,可以增加 stage。
每一个stage由3小步骤组成,
第一为卷积层,提取特征;
第二为LCN(Local Contrast Normalization,局部对比度归一化),归一化局部图像的对比度。
第三为Pooling,池化,缩小图片大小。
2.1 卷积层(convolutional layer)
假设一张图像32*32*3(3为RGB颜色通道),滤波器为5*5*3,卷积后得到特征图像(28*28*1),这里默认stride 为1。
如果使用6个不同的滤波器进行卷积后,将会得到6个不同的特征图像
如果步长(stride)为1,滤波器每隔一个像素点移动(向右移动,或向下移动)。
如果步长为2,滤波器每隔两个像素点移动,如下图所示。
若原图大小为N*N,滤波器大小为F*F,步长为S,则卷积后的图像大小为:
2.2 局部对比度归一化(LCN)
图像归一化公式
其中
N(x,y) 表示将图像中的像素值建模成为的正态分布。
m为均值,为标准差。
2.3 池化(Pooling)
池化的主要功能是缩小图片,减少计算量。
池化有两种一种是最大值池化,一种是均值池化,较常用的为最大值池化。
其公式如下:
如果公式很难看懂,可以如下图方式理解最大值池化;
一张4*4的图像,每2*2个像素组成一个小方格,
取小方格中四个像素中最大的那个值,然后扔掉其它值,
这样就形成一个新的2*2的图像,图片变小了。
2.4 全连接层
全连接层的第一步需要flattening图像,
如下3*3图像,可视为二维矩阵
flattening后成为1*9的向量:
然后进行全连接,关于全连接的原理,需要另外用一章来说,涉及很多知识。
3 关于卷积神经网络的直观理解
这一小结的内容发现大牛‘沉迷学习的糕糕’发表在其知乎的个人专栏了,非常详细,整个内容分为两个部分:
卷积神经网络CNN完全指南终极版(一)
卷积神经网络CNN完全指南终极版(二)
4 关于卷积神经网络的一些问题
4.1 为什么要使用LCN(local contrast normaliz)
对于两张图片(仅仅只是对比度不同),如下图所示。
在提取特征过程中,希望眼睛这个部位的特征不受对比度影响,所以使局部对比度归一化
4.2 为什么使用最大值池化
对于滤波后的图片,无论是求边缘或是实现其它功能,最有用的是哪些高亮度值的像素点,
非极大值抑制也是利用亮度值最高的像素。
卷积神经网络(CNN:Convolutional Neural Network)相关推荐
- 卷积神经网络(Convolutional Neural Network,CNN)
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现. 它包括卷积层(con ...
- 卷积神经网络CNN(Convolutional Neural Networks)没有原理只有实现
零.说明: 本文的所有代码均可在 DML 找到,欢迎点星星. 注.CNN的这份代码非常慢,基本上没有实际使用的可能,所以我只是发出来,代表我还是实践过而已 一.引入: CNN这个模型实在是有些年份了, ...
- “卷积神经网络(Convolutional Neural Network,CNN)”之问
目录 Q1:CNN 中的全连接层为什么可以看作是使用卷积核遍历整个输入区域的卷积操作? Q2:1×1 的卷积核(filter)怎么理解? Q3:什么是感受野(Receptive field)?
- 从CNN视角看在自然语言处理上的应用 原创 2017年10月24日 00:00:00 1339 作者 | 卞书青 卷积神经网络(Convolutional Neural Network)最早是应用在
从CNN视角看在自然语言处理上的应用 原创 2017年10月24日 00:00:00 标签: 1339
- CNN(Convolutional Neural Network) 的基础
卷积神经网络(Convolutional Neural Network,简称CNN),是一种前馈神经网络,人工神经元可以响应周围单元,可以进行大型图像处理.卷积神经网络包括卷积层和池化层. 卷积神经网 ...
- 【卷积神经网络】卷积神经网络(Convolutional Neural Networks, CNN)基础
卷积神经网络(Convolutional Neural Networks, CNN),是一种 针对图像 的特殊的 神经网络. 卷积神经网络概述 Why not DNN? 图像数据的维数很高,比如 1, ...
- 第四门课 卷积神经网络(Convolutional Neural Networks)
第四门课 卷积神经网络(Convolutional Neural Networks) 第一周 卷积神经网络(Foundations of Convolutional Neural Networks) ...
- 吴恩达深度学习笔记——卷积神经网络(Convolutional Neural Networks)
深度学习笔记导航 前言 传送门 卷积神经网络(Convolutional Neural Networks) 卷积神经网络基础(Foundations of Convolutional Neural N ...
- 一步一步分析讲解深度神经网络基础-Convolutional Neural Network
Convolutional Neural Network 参考http://cs231n.github.io/convolutional-networks/ history Convolutional ...
- 大数据分析和计算机视觉笔记 (8) - 卷积神经网络图像分析(Convolution Neural Network Image Analytic)
深度学习 - 卷积神经网络 图片分析步骤 视觉词袋法流程 (Bag-of-Visual-Word) 深度学习 (Deep Learning) 神经网络知识背景 其他名词 损失函数(loss funct ...
最新文章
- 深度学习在高德的探索与实践
- x99芯片组服务器版叫什么,Intel X99主板、Z97主板以及H97主板的区别是什么?
- python【Matlibplot绘图库】-绘制三维图像
- ei eo eq什么意思_EI源刊是什么意思
- 字符串(string)的常用语法和常用函数
- 《Head First设计模式》第四章笔记 工厂模式
- h5页 点击返回时关闭_在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口...
- 正则表达式中的开头和结尾
- [转载] Java内存管理-你真的理解Java中的数据类型吗(十)
- 人工智能时代!Python跃升编程语言第一名!
- 44.Linux/Unix 系统编程手册(下) -- 管道和 FIFO
- OpenWrt network 启动过程
- ftp文件服务器怎么迁移,ftp文件服务器迁移
- bsb 网络验证系统 安装教程 免费的易语言网络验证系统 真正免费 不收钱
- vs2019个性化配置
- 实话谈扶贫第一篇——教育扶贫
- AutoSAR开发的三种方法:自上而下式、自下而上式、混合式
- python晋江爬虫_python爬虫之小说爬取
- LockSupport 以及 park、unpark 方法
- 微信公众号获取用户当前地址经纬度