卷积神经网络CNN-学习1网络
十年磨一剑,霜刃不曾试。架构
简介:卷积神经网络CNN学习。ide
CNN中文视频学习连接:卷积神经网络工做原理视频-中文版函数
CNN英语原文学习连接:卷积神经网络工做原理视频-英文版学习
1、定义spa
2、CNN灵感来源?3d
对于不一样的物体,人类视觉也是经过这样逐层分级,来进行以下认知的。视频
人类视觉识别示例blog
在最底层特征基本上是相似的,就是各类边缘,越往上,越能提取出此类物体的一些特征(轮子、眼睛、躯干等),到最上层,不一样的高级特征最终组合成相应的图像,从而可以让人类准确的区分不一样的物体。因而便模仿人类大脑的这个特色,构造多层的神经网络,较低层的识别初级的图像特征,若干底层特征组成更上一层特征,最终经过多个层级的组合,最终在顶层作出分类。图片
3、卷积神经网络解决了什么?
归纳来讲就是保留图像特征,参数降维,复杂参数简单化。
图像像素RGB
众所周知,图像是由像素构成的,每一个像素又是由颜色构成的。如今随随便便一张图片都是 1000×1000 像素以上的, 每一个像素都有RGB 3个参数来表示颜色信息。
假如咱们处理一张 1000×1000 像素的图片,咱们就须要处理3百万个参数!1000×1000×3=3,000,000
这么大量的数据处理起来是很是消耗资源的,卷积神经网络 – CNN 解决的第一个问题就是「将复杂问题简化」,把大量参数降维成少许参数,再作处理。
更重要的是:咱们在大部分场景下,降维并不会影响结果。好比1000像素的图片缩小成200像素,并不影响肉眼认出来图片中是一只猫仍是一只狗,机器也是如此。
图片数字化的传统方式
图像简单数字化没法保留图像特征,如上图假若有圆形是1,没有圆形是0,那么圆形的位置不一样就会产生彻底不一样的数据表达。可是从视觉的角度来看,图像的内容(本质)并无发生变化,只是位置发生了变化。因此当咱们移动图像中的物体,用传统的方式的得出来的参数会差别很大!这是不符合图像处理的要求的。而 CNN 解决了这个问题,他用相似视觉的方式【模仿人类大脑视觉原理,构造多层的神经网络,较低层的识别初级的图像特征,若干底层特征组成更上一层特征,最终经过多个层级的组合,最终在顶层作出分类】保留了图像的特征,当图像作翻转,旋转或者变换位置时,它也能有效的识别出来是相似的图像。
4、卷积神经网络的架构
典型的 CNN 由卷积层、池化层、全链接层3个部分构成:
典型CNN组成部分
5、数据输入层
去相关与白化效果图
6、卷积计算层
卷积层有两个重要的操做,一个是局部关联,每一个神经元看作一个滤波器filter;另外一个是窗口滑动,filter对局部数据计算。
卷积层的运算过程以下图,用一个卷积核扫完整张图片:
卷积层动态运算图
卷积层的运算过程,能够当作使用一个过滤器(卷积核)来过滤图像的各个小区域,从而获得这些小区域的特征值,即卷积层经过卷积核的过滤提取出图片中局部的特征。
卷积层运算图
卷积层计算过程动图
7、激励层
激励层是把卷积层输出结果作非线性映射。CNN采用的激励函数通常为ReLU(The Rectified Linear Unit/修正线性单元)。
8、池化层
池化层在连续的卷积层中间,其用于压缩数据和参数的量,减小过拟合。最重要的做用就是保持特性不变,压缩图像,下降数据维度。
池化层用的方法有Max pooling 和 average pooling,而实际用的较多的是Max pooling。Max pooling思想:对于每一个2 * 2的窗口选出最大的数做为输出矩阵的相应元素的值,好比输入矩阵第一个2 * 2窗口中最大的数是6,那么输出矩阵的第一个元素就是6,如此类推,保持特征不变地下降维度。
Max pooling图
动态池化图
咱们能够看到动态池化图中,原始图片是20×20的,咱们对其进行下采样,采样窗口为10×10,最终将其下采样成为一个2×2大小的特征图。
9、全链接层
10、CNN实际应用场景
图像分类/检索、目标定位检测、目标分割、人脸识别、骨骼识别等。
CNN人脸识别
CNN中文视频学习连接:卷积神经网络工做原理视频-中文版
CNN英语原文学习连接:卷积神经网络工做原理视频-英文版
十年磨一剑
霜刃不曾试