卷积神经网络中的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!!!

作者:柒月
Q群 :2122210(嵌入式/机器学习)
原文地址:https://www.cnblogs.com/Ph-one/p/13870211.html