1. MLP CNN RNN的区别
2. CNN
上图是一个用于图像分类任务的卷积神经网络架构图,主要由5种结构组成:
输入层、卷积层、池化层、全连接层、Softmax层。
输入层:输入层是整个神经网络的输入,在处理图像的卷积神经网络中,它一般代表了一张图片的像素矩阵。
卷积层:卷积层是一个卷积神经网络中最重要的部分。和传统全连接层络不同,卷积层中每一个节点的输入只是上一层神经网络的一小块,这一小块常用的大小有3×3或者5×5。
卷积层试图将神经网络中的每一小块进行更加深入地分析从而得到抽象程度更高的特征。一般来说,通过卷积层处理过的节点矩阵会变得更深,所以在上图中可以看到,经过卷积层之后的节点矩阵的深度会增加。
池化层:池化层神经网络不会改变三维矩阵的深度,但是它可以缩小矩阵的大小。池化操作可以认为是将一张分辨率较高的图片转化为分辨率较低的图片。通过池化层,可以进一步缩小最后全连接层中节点的个数,从而达到减少整个神经网络中参数的目的。
全连接层:经过多轮卷积层和池化层的处理之后,在卷积神经网络的最后一般会是有1到2个全连接层来给出最后的分类结果。在特征提取完成之后,仍然需要使用全连接层来完成分类任务。
Softmax层:Softmax层主要用于分类问题,通过Softmax层,可以得到当前样例属于不同种类的概率分布情况。
3. 实现CNN
输入层、卷积层、池化层、全连接层、Softmax层。
input(1,28*28)=>(零填充) =>卷积层conv(1,3,3),包括前向传播和反向传播 => 池化层pooling => flatten(打平层) => fc(64) => relu => fc(10)