CNN复习

个人的对于CNN总结的一些知识点

对于每一个卷积层来说,其out_channel就是卷积核的个数:

对每个输入的图片(就是每一个(C,H,W)的矩阵,一共有batch_size个),卷积核从第0到第in_channel个通道上,进行从[0,0]到[H+2*pad-HH,W+2*pad-WW]的卷积(没有padding的情况下,HH,WW是卷积核的高和宽)(卷积的实际意思:用卷积核W * 像素矩阵中与W相同size的区域),把C个通道卷积的结果相加,最后再加上偏置,就得到了一层output,假如有F个卷积核,那么就会得到F层结果,F也就是Out_channel。

input:(N,C,H,W)

output:(N,F,H',W')

在反向传播中,同一感受野的所有像素更新同样大小的梯度(感受野就是卷积核的大小),x的更新以感受野为单位

out[n,f,i//stride,j//stride]=np.sum(x[n,:,i+HH,j+WW]*Wf)+bf

池化和卷积的不同之处:

池化核(并没有这个核,池化只是有一个框架,但我称之为池化核)没有参数。池化核(或许可以称之为池化窗口)在每个通道分别滑动,以池化核的size为单位进行Max或者mean的操作实现降采样,产生out_channel=in_channel的结果,池化只是改变了Input的H和W。池化主要用来实现下采样。

反卷积ConvTranspose是实现上采样,扩增数据,生成分辨率更高的数据的。

下采样:减少数据采样率或分辨率

池化的作用:

①相当于图片的resize,去掉一些不重要的信息,留下具有尺度不变性的信息

②减少特征图的维度,去除冗杂信息

你可能感兴趣的:(CS231N,cnn,人工智能,神经网络)