24 深度卷积神经网络 AlexNet【动手学深度学习v2】

关于神经网络的发展。
为什么是MLP,再是核函数,最后到了现在的深度学习呢?
在我看来,是这样的。因为最初的MLP,他只能解决一些独立的特征,就像我们所熟知的鸢尾花数据集(iris dataset)一样。如果是对于图像特征,尽管他能够将图像通过reshape进行降维,但是降维的同时,也会丢失一些空间信息。但随着核函数的到来,也便解决了空间信息丢失这一问题。因为核函数能够很好的处理无论是线性问题,还是非线性问题(下文简单论述一番)。最后结合了核函数,就变成了我们如今的深度学习框架。
关于平均池化的一点看法。
其实从理论上讲,我认为,平均池化应该视为可以与一些简单的核函数相等价的。因为实际上,例如对于一个3*3的核函数,其实际的核即为:
1/9 * [[1, 1, 1], [1, 1, 1], [1, 1, 1]]
实际上,我也去进行简单的测试了,尽管只是在LeNet上。
首先是最原始的带有平均池化的效果,在测试集上的准确率达到了85%。

而将net的平均池化换为一层卷积层之后,发现,精度有所提高。

我认为,这是层数增加所带来的,而非卷积层带来的影响。尽管2层卷积层确实是可以等效为一层卷积层。
所以我进一步修改了网络架构,这次倒是神奇的发现,效果与平均池化带来的,出奇的相似。但是,我仍认为,这也是不好的。

总之,我认为平均池化用于池化层,是不理想的。因为其是线性处理方式,而应该换用非线性的MaxPooling或MinPooling。其他的话,等以后有能力再做进一步测试吧。