CapsNet - 深度学习系统


Apache
跨平台
Python

软件简介

酝酿许久,深度学习之父Geoffrey Hinton终于发表了备受瞩目的Capsule Networks(CapsNet)。
Hinton本次挟CapsNet而来,大有要用它取代CNN的气势。那么,
CapsNet相比CNN到底有哪些优势?它又是否能为AI界带来革命性转折呢?

首先,这位被誉为深度学习之父Geoffrey
Hinto究竟是何许人也呢?在上世界50年代,深度神经网络的概念就已出现,从理论上来讲可以解决众多问题,但是一直以来却没有人知道该如何训练它,渐渐的也就被放弃。直至1986年,Hinton想到了通过反向传播来训练深度网络,标志了深度学习发展的一大转机。然而,受限于当时的计算机运算能力,直到2012年,Hinton的发明才得以一显神通。这一突破也为近年来人工智能的发展奠定了基础。

Capsule
Networks在以下数据集上也获得了更高的识别准确度。这个数据集经过了精心设计,是一个纯粹的形状识别任务,即从不同的角度来看也能识别物体。CapsNet在该数据集上打败了最先进的CNN,将错误数量减少了45%。

要想使用胶囊网络,首先你得训练它——于是,我根据Hinton 的论文建立了一个Repo(非常感谢naturomics).

以下指南将为你提供在MNIST数据集上训练的模型。(MNIST是手写数字的数据集,很适合用作测试机器学习算法的基准线)

1. 复制Repo:

git clone https://github.com/bourdakos1/capsule-networks.git

2. 安装 requirements文件:

pip install -r requirements.txt

3. 开始训练!

python main.py

MNIST数据集包含6万个训练图像。默认情况下,该模型每次批处理的大小是128个,训练50次。每一次训练都是数据集的一次完整运行过程。由于每次批量大小是128,所以每次训练大约有468个批处理(60,000
/ 128 ≈468)。