卷积神经网络是一种前馈网络,它由若干卷积层和池化层组成,在图像处理方面表现十分出色。可应用于图像分类, 目标识别, 目标检测, 语义分割等等。 一、认识卷积神经网络基本结构 首先准备一个1(通道)x28(宽)x28(高)的张量,通过一个5x5的卷积层得到特征图C1,至于卷积的过程我们待会再看。之后进行2x2的下采样(池化层)得到一个通道为4,12x12的特征图。之后以S1为起点,重复上次步骤,最后得到了S2,即8x4x4的特征图。之后再进行全连接层,得到我们需要的向量。 问题1:为什么要进行卷积? 因为我们的输入input和输出output维度不一致,需要进行卷积来得到我们的目标维度的张量。 问题2:为什么要进行下采样? 减少数据量,以至于降低运算的需求
二、卷积的运算过程  如图,我们输入一个1x5x5(单通道)的张量进行卷积操作,卷积核是3x3的。红色区域是卷积核在做卷积时的初始位置,这里我们设步长stride=1。就是那个红色方格每次向右移动一格,移动三次后再从初始位置向下移动一格,然后再向右进行。每次卷积对应相乘,加到一起,如上图。这样我们一次遍历会得到一个3x3的矩阵。如下图 


如果多个通道同时进行,分别进行卷积之后再加到一起,如图,很清晰。  
分析  如图,刚开始是通道为n,高和宽都为5,经过3x3的卷积,通道不变,宽和高变为3x3,因为前面说了,这一个红色区域最后卷积成一个数值,左右移动,最后形成一个3x3的张量。然后n个通道在进行卷积相加,通道就变为了1。
三 、下采样 下采样就是池化层,分为平均池化和最大池化(未完)
|