卷积神经网络基本原理及手写数字识别Pytorch实现

卷积神经网络属于前馈网络的一种,同全连接前馈网络一样可以视为一个函数。与后者最大的区别是:卷积神经网络多了卷积层与池化层,因此卷积神经网络也具有提取局部特征的优越性。

1 卷积

作为一个通信工程的学生,对于卷积定是不会陌生。总的来说,卷积可以用一句话总结:系统当前的输出不仅与当前的输入有关,还与过去的输入有关

1.1 一维卷积

  • 为时刻的系统输出
  • 为滤波器,也称为卷积核
  • 滤波器的长度为

1.2 二维卷积

由于卷积神经网络也常用于图像处理,而图像至少为二维矩阵,故扩展到了二维矩阵

表达式如下

  • 给定输入图像
  • 滤波器

直观例图

图源自《神经网络与深度学习》——邱锡鹏


2 卷积层

卷积层的作用是提取局部的特征,不同的滤波器(卷积核)相当于不同的特征提取器。下面我们通过一张直观的图来体会卷积层的结构

图源自《Deep Learning from Scratch》

从上图我们了解到:所有的滤波器组合为四维张量,其中每一个三维张量为一种滤波器,不同的滤波器提取输入的不同的特征


3 池化层

池化层的作用是进行特征选择,降低特征数量,从而减少网络参数数量。注意池化层的操作对每个通道的单独处理,也就是说经过池化层输入通道与输出通道的数量一致

直观图示(以最大池化为例)

图源自《神经网络与深度学习》——邱锡鹏

最大池化

取一个区域内元素的最大值

平均池化

一般是取区域内所有元素的平均值。


4 手写数字识别(基于Pytorch)

你可能感兴趣的:(卷积神经网络基本原理及手写数字识别Pytorch实现)