Python 深度学习入门之CNN

CNN

  • 前言
  • 一、CNN简介
    • 1、简介
    • 2、结构
  • 二、CNN简介
    • 1、输出层
    • 2、卷积层
    • 3、池化层
    • 4、全连接层
    • 5、输出层

前言

1024快乐!1024快乐!今天开新坑,学点深度学习相关的,说下比较火的CNN。
Python 深度学习入门之CNN_第1张图片

一、CNN简介

1、简介

CNN的全称是Convolutional Neural Networks(卷积神经网络)。而神经网络是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)结构和功能的数学模型或计算模型。

2、结构

Python 深度学习入门之CNN_第2张图片

  1. 输入层 - 图片的像素矩阵
  2. 卷积层 - 提取特征
  3. 池化层 - 下采样,不会损坏识别结果
  4. 全连接层 - 分类
  5. 输出层 - 输出层通常包括SoftMax层,用于将网络的输出转化为类别概率分布,以进行多类别分类

二、CNN简介

1、输出层

Python 深度学习入门之CNN_第3张图片Python 深度学习入门之CNN_第4张图片

2、卷积层

卷积就是2个函数的叠加,应用在图像上,则可以理解为拿一个滤镜放在图像上,找出图像中的某些特征,如下图所示。
Python 深度学习入门之CNN_第5张图片

从左上角开始依次遍历,从左到右,从上到下,每次移动的步长是1,依次移动到矩阵末尾之后结束,每次都把Filter和矩阵对应的区域做乘法,得出一个新的矩阵。

3、池化层

通过池化层,可以进一步缩小最后全连接层中节点的个数,从而达到减少整个神经网络参数的目的。使用池化层既可以加快计算速度也可以防止过拟合。
池化层filter的计算不是节点的加权和,而是采用最大值或者平均值计算;
使用最大值操作的池化层被称之为最大池化层(max pooling);
使用平均值操作的池化层被称之为平均池化层(mean pooling)。
Python 深度学习入门之CNN_第6张图片
Python 深度学习入门之CNN_第7张图片

4、全连接层

全连接层的作用主要是进行分类。前面通过多层卷积层和池化层得出的特征,在全连接层对这些总结好的特征做分类。全连接层就是一个完全连接的神经网络,根据权重每个神经元反馈的比重不一样,最后通过调整权重和网络得到分类的结果。

5、输出层

SoftMax层在CNN中的需求取决于网络的任务。如果任务是多类别分类,那么SoftMax层通常是合适的。但对于其他任务,可以根据具体需求选择适当的输出层结构。

你可能感兴趣的:(深度学习,1024程序员节)