谷歌正式开源 Hinton 胶囊理论代码,即刻用 TensorFlow 实现吧

综合技术 2018-03-07

简介:雷锋网

隶属于深圳英鹏信息技术有限公司,专注于移动互联网与智能硬件的未来,在新媒体业务上为读者提供关于移动互联网、硬件创业以及软硬件结合开发的第一手资讯与行业深度解读。雷锋网的“PR+IR+BD”服务模式为互联网公司、传统消费电子企业以及新兴的软硬件创业者提供了营销传播以及资源对接的服务支持,推动软硬件创业者成为中国主流的创新力量。

欢迎原链接转发,付费转载请前往 雷锋网 的主页获取信息,盗版必究。

敬请关注和扩散本专栏及同名公众号,会邀请 全球知名学者 陆续发布运筹学、人工智能中优化理论等相关干货、知乎Live及行业动态:

『运筹OR帷幄』大数据人工智能时代的运筹学

转载自雷锋网AI研习社

雷锋网(公众号:雷锋网) AI 研习社消息,相信大家对于「深度学习教父」Geoffery Hinton 在去年年底发表的胶囊网络还记忆犹新,在论文 Dynamic Routing between Capsules 中,Hinton 团队提出了一种全新的网络结构。为了避免网络结构的杂乱无章,他们提出把关注同一个类别或者同一个属性的神经元打包集合在一起,好像胶囊一样。在神经网络工作时,这些胶囊间的通路形成稀疏激活的树状结构(整个树中只有部分路径上的胶囊被激活)。这样一来,Capsule 也就具有更好的解释性。

在实验结果上,CapsNet 在数字识别和健壮性上都取得了不错的效果。

日前,该论文的第一作者 Sara Sabour 在 GitHub 上公布了论文代码,大家可以马上动手实践起来。雷锋网 AI 研习社将教程编译整理如下: 终于盼来了Hinton的Capsule新论文,它能开启深度神经网络的新时代吗?

所需配置:

执行 test 程序,来验证安装是否正确,诸如:

python layers_test.py

快速 MNIST 测试:

下载并提取 MNIST tfrecord 到 $DATA_DIR/ 下:

https:// storage.googleapis.com/ capsule_toronto/mnist_data.tar.gz

下载并提取 MNIST 模型 checkpoint 到 $CKPT_DIR 下:

https:// storage.googleapis.com/ capsule_toronto/mnist_checkpoints.tar.gz

python experiment.py --data_dir=$DATA_DIR/mnist_data/ --train=false

快速 CIFAR10 ensemble 测试:

下载并提取 cifar10 二进制文件到 $DATA_DIR/ 下:

https://www. cs.toronto.edu/~kriz/ci far.html

下载并提取 cifar10 模型 checkpoint 到 $CKPT_DIR 下:

https:// storage.googleapis.com/ capsule_toronto/cifar_checkpoints.tar.gz

将目录($DATA_DIR)作为 data_dir 来传递:

python experiment.py --data_dir=$DATA_DIR --train=false --dataset=cifar10

--hparams_override=num_prime_capsules=64,padding=SAME,leaky=true,remake=false

--summary_dir=/tmp/ --checkpoint=$CKPT_DIR/cifar/cifar{}/model.ckpt-600000

--num_trials=7

CIFAR10 训练指令:

python experiment.py --data_dir=$DATA_DIR --dataset=cifar10 --max_steps=600000

--hparams_override=num_prime_capsules=64,padding=SAME,leaky=true,remake=false

--summary_dir=/tmp/

MNIST full 训练指令:

  • 也可以执行--validate=true as well 在训练-测试集上训练
  • 执行 --num_gpus=NUM_GPUS 在多块GPU上训练

python experiment.py --data_dir=$DATA_DIR/mnist_data/ --max_steps=300000

MNIST baseline 训练指令:

python experiment.py --data_dir=$DATA_DIR/mnist_data/ --max_steps=300000

To test on validation during training of the above model:

训练如上模型时,在验证集上进行测试(记住,在训练过程中会持续执行指令):

  • 在训练时执行 --validate=true 也一样
  • 可能需要两块 GPU,一块用于训练集,一块用于验证集
  • 如果所有的测试都在一台机器上,你需要对训练集、验证集的测试中限制 RAM 消耗。如果不这样,TensorFlow 会在一开始占用所有的 RAM,这样就不能执行其他工作了

python experiment.py --data_dir=$DATA_DIR/mnist_data/ --max_steps=300000

大家可以通过 --num_targets=2 和 --data_dir=$DATA_DIR/multitest_6shifted_mnist.tfrecords@10 在 MultiMNIST 上进行测试或训练,生成 multiMNIST/MNIST 记录的代码在 input_data/mnist/mnist_shift.py 目录下。

multiMNIST 测试代码:

python mnist_shift.py --data_dir=$DATA_DIR/mnist_data/ --split=test --shift=6

可以通过 --shift=6 --pad=6 来构造 affNIST expanded_mnist

论文地址: https:// arxiv.org/pdf/1710.0982 9.pdf

GitHub 地址: https:// github.com/Sarasra/mode ls/tree/master/research/capsules

雷锋网 AI 研习社编译整理。

附重塑AI的胶囊网络论文解读:

腾讯视频

如果你是运筹学/人工智能硕博或在读,请在下图的公众号后台留言: “加微信群” 。系统会自动辨认你的关键字,并提示您进一步的加群要求和步骤,邀请您进全球运筹或AI学者群(群内学界、业界大佬云集)。

运筹学|控制论|优化理论爱好者,欢迎加qq群:686387574

人工智能爱好者,欢迎加qq群: 685839321

数据科学|分析爱好者,欢迎加qq群:130414574

最后敬请 关注和扩散 本专栏及同名公众号,会陆续发布运筹学、人工智能中优化理论相关干货及行业动态:『运筹OR帷幄』 大数据和人工智能时代下的运筹学 - 知乎专栏


您可能感兴趣的

基于hi-nginx的web开发(python篇)——起步... hi-nginx不仅让python web 应用跑得飞快,而且让相关开发变得简单敏捷。 关于hi-nginx的安装,请参考: https://www.cnblogs.com/hi-nginx/p/8622561.html 人们常说 flask 框架又快又好。但是更hi-nginx比起来...
Github-2016年开源项目 Github公布了2016年的开源项目观察, 具体的报告地址: https://octoverse.github.com . 有兴趣的可以进入原网址阅读, 有一些比较有意思的项目. 受到关注的开源项目 整理几个最火的并且有可能和自己相关的开源项目: ...
Numba: High-Performance Python with CUDA Accelerat... Python is a high-productivity dynamic programming language that is widely used in science, engineering, and data analytics applications. There a...
Tengine开源新特性:如何让HTTPS处理能力轻松翻倍?... 背景介绍 虽然全站HTTPS已经是一个老生常谈的话题,但是国内为何能做到的网站却还是屈指可数?原因简单总结来说有两点,首先使用HTTPS后使得网站访问速度变“慢” ,其次导致服务器CPU消耗变高、使得机器成本变“贵”。虽然HTTPS软件优化方案也各式其样,如Session复用、OCSP Stap...
Open Source made me the man I am I used to be a (sad) freelance PHP developer with some front-end skill working for tiny to small local companies. The best gig I had at the time was f...