阅读卷积神经网络算法相关文献时,有时内容会提到池化层的效果之一是特征不变性。我们可以理解特征不变性就是指张量经过池化,其中蕴含的高级语义没有丢失。let us通过《带珍珠耳环的少女》来生动地展示一下这种效果。
首先使用以下代码对少女进行不同步长的等间隔采样:
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
img = mpimg.imread('ShaoNv.jpg')
row, col, cha = img.shape
print("The image is of size (%d, %d) with %d color channels."\
%(row, col, cha))
stride = [2**i for i in range(1, 5)]
def down_sampling(deluta):
img_ = img[0:row:deluta, 0:col:deluta, :]
plt.imsave('Shaonv_%d.png'%deluta, img_)
for stride_len in stride:
down_sampling(stride_len)
经过2、4、8、16等间隔采样的少女图像分别如下所示。虽然少女被越裁越小,但是即便是最小的图片,也能够依稀辨认出少女的轮廓。维米尔赋予这幅画的语义经过16间隔采样仍旧可以辨认,这就是特征不变性。(虽然还不知道数学上如何描述它,但是这已经够浪漫了儿)
???
?
|