一:卷积层
1. 卷积层的作用是降低数据量级,如果说一个图像的像素是1000*1000,全部放到神经网络里面,数据量是非常大的。所以引入了卷积核,相当于一个过滤器。例如:5*5的图像,用3*3的卷积核,就变成了3*3的卷积结果。具体应用中,往往有多个卷积核。
2. 池化的目的是降低数据维度。原因在于即使经过了卷积,但是图像仍然很大,所以为了降低数据维度,就对其进行了采样的操作,分为最大值下采样(Max-Pooling),和平均值下采样(Mean-Pooling).
3. 注意,用不同特征得到的底层组合,可以得到进一步的高级特征。
4. 卷积的输入通道取决于图片类型,比如RGB就是三通道;卷积操作完成后输出通道,取决于卷积核的数量。此时的输出也会作为下一次卷积的输入。
问题:他的通道到底是如何变化的?
5. 卷积层与全连接层的转换:
全连接层需要把输入拉成一个列项向量, 比如你的输入的feature map是2X2,那么就需要把这个feature map 拉成4X1的列向量,如果你的feature map 的channels是3,也就是你的输入是3X2X2,也就是相当于有了12个像素点,你就需要把feature map 拉成12X1的列向量,这时候,再乘一个权重,这个权重要把12个像素点都包含进去,所以这个权重的矩阵形式应该是1X12,所以经过一个全连接层后的输出就是1X12X12X1=1X1,这时候需要看你的需要多少个1X1的神经元了,如果是3个的话,那么输出就是3X(1X12X12X1)=3X(1X1)
6. 卷积神经网络的三大特性:局部性,相同性,不变性。
7. 可以在网络的forward这个方法里面加上x.data.size()来查看经过卷几层之后的图像信息。