摘要: 本文对胶囊网络进行了非技术性的简要概括,分析了其两个重要属性,之后针对MNIST手写体数据集上验证多层感知机、卷积神经网络以及胶囊网络的性能。
神经网络于上世纪50年代提出,直到最近十年里才得以发展迅速,正改变着我们世界的方方面面。从图像分类到自然语言处理,研究人员正在对不同领域建立深层神经网络模型并取得相关的突破性成果。但是随着深度学习的进一步发展,又面临着新的瓶颈——只对成熟网络模型进行加深加宽操作。直到最近,Hinton老爷子提出了新的概念——胶囊网络(Capsule Networks),它提高了传统方法的有效性和可理解性。
本文将讲解胶囊网络受欢迎的原因以及通过实际代码来加强和巩固对该概念的理解。
为什么胶囊网络受到这么多的关注?
对于每种网络结构而言,一般用MINST手写体数据集验证其性能。对于识别数字手写体问题,即给定一个简单的灰度图,用户需要预测它所显示的数字。这是一个非结构化的数字图像识别问题,使用深度学习算法能够获得最佳性能。本文将以这个数据集测试三个深度学习模型,即:多层感知机(MLP)、卷积神经网络(CNN)以及胶囊网络(Capsule Networks)。
多层感知机(MLP)
使用Keras建立多层感知机模型,代码如下:
打印模型参数概要:
在经过15次迭代训练后,结果如下:
可以看到,该模型实在是简单!
卷积神经网络(CNN)
卷积神经网络在深度学习领域应用十分广泛,表现优异。下面构建卷积神经网络模型,代码如下:
打印模型参数概要:
从上图可以发现,CNN比MLP模型更加复杂,下面看看其性能:
可以发现,CNN训练耗费的时间比较长,但其性能优异。
胶囊网络(Capsule Network)
胶囊网络的结构比CNN网络更加复杂,