CNN -卷积滤波和MaxPooling



我写了一个代码,它接受一个6x6 2d数组,将其与卷积滤波器相乘,并在没有激活函数或偏置且没有反向传播的情况下将其最大池化。

6x6的二维数组就是一个0和1的数组,看起来像这样:

[[0, 0, 1, 1, 0, 0],
[0, 1, 0, 0, 1, 0],
[1, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 1],
[0, 1, 0, 0, 1, 1],
[0 ,0 , 1, 1, 0, 0]]

当我maxpool这个大小为4的1D数组(从2x2到4重塑),每次我运行代码,我得到不同的值,我不应该得到相同的6x6数组相同的值?

下面是一个例子:

  • 首次运行:

[0.33306642 0.09141601 0.26856917 0.37411067]

  • 第二运行:

[0.38857161 0.21194122 0.17829732 0.49700163]

  • 第三运行:

[0.14906256 0.1589051 0.23767894 0.35767743]

是有什么问题,或者是正常的,每次得到不同的值,即使, 6x6数组没有改变

?

在我的例子中,它应该具有相同的值。我没有做反向传播,所以我没有更新卷积过滤器,它每次都得到随机值。

所以我通过硬编码卷积滤波器来解决它。

最新更新