卷积神经网络中的filter是怎么工作的
首先,写这个文档的原因是因为我转载了一篇文章,不会编辑。擦。。。。
1. 首先收输入层是毛东西?
就是输入的图像,有可能是三通道的有可能是单通道的。
比如28*28*1或者28*28*3 分别代表的是大小为28*28,通道数分别为单通道和三通道的图片
2. 其次,什么是filter呢
filter的最大的特点是其深度与输入层的深度是一致的。输入层是单通道,filter也是单通道。 输入层是三通道,filter也是三通道!!!
3. 最后输出层又是什么呢?
输出层的就是filter遍历输入层后的的计算结果。
如下图所示:
4. 那么具体的计算过程是怎么样的呢?
见上一篇博客!!!
这里只是想说,输出层的深度是滤波器的个数!每一个filter遍历输入层会产生一个深度的输出层,那么n个输出层就会产生n个深度的输出层(也就是输出层的深度啦)。
这里再说一下,输出层每一个深度的计算过程。比如,输入层是28*28*3的图像,filter为3*3*3的滤波器。那么3个通道的filter会相应的每一个通道相互独立计算,然后再将3个通道的值相加在一起。
这就是每一个filter的计提的计算过程。现在就是CNN卷积的处理过程。
终结大笨狗!!!
5. tensorflow中的conv2d中是怎么处理卷积的过程的呢?
其中,在conv2d中,
假设inpute的四个维度是[batch, in_height, in_width, in_channels]
,
filter的四个维度是[filter_height, filter_width, in_channels,out_channels]
。
这样是不是就很清楚了。filter的输入输出就已经写的很清楚啦。filter的通道数与输入层的通道数是一致的,就是in_channels
!!!
filter的四个维度中中哪个参数有体现了filter的数量呢?
对,就是 out_channels,有多少输出通道,就有多少个filter!!!