tensorflow - CIFAR10 上是否有任何 Capsnet 实现比普通 CNN 获得更好的准确性?
问题描述
我根据 Sara Sabour 和 Hinton 的文章通过 EM-Routing 实现 Capsule Network,它在 MNIST 数据集和其他一些与 MNIST 相同的灰度数据集(如 Hoda(波斯语/阿拉伯数字))上效果很好,但是当我尝试使用 CIFAR10 时,准确度是难以置信的低。
解决方案
是的,这就是 Capsule Networks 目前的问题。由于数据集的简单性,它适用于 MNIST。您只需要检测一些边缘和斑点,以便对每个数据进行分类。对于更复杂的数据集,天真地堆叠胶囊并希望它表现良好是行不通的。然而,目前正在进行工作以调整当前的 CapsNet 架构,使其性能比现在更好。当年CNN开发的时候,也有同样的问题。CNN 花了很多年才成为现在的样子。
想了解 CapsNet 在不同数据集上的表现可以参考这篇论文:https ://arxiv.org/abs/1712.03480
之前我提到有一些工作正在改进 CapsNet。但是,到目前为止已经完成了一些工作。你可以参考这些:
http://proceedings.mlr.press/v97/jeong19b/jeong19b.pdf
请记住,训练 CapsNet 所需的时间远高于 CNN。因此,测试这些架构并不容易。
推荐阅读
- python - NOT NULL 约束失败:shop_review.item_id
- react-native - 如何在 React Native 中通过 SMS User Consent API 使用自动填充 otp,如谷歌的一键式 SMS 验证
- c++ - 迭代 C++ 可变参数模板类型列表
- angular - 错误类型错误:无法读取 null Angular 8 的属性“无效”
- kubernetes - 如何在 Kubernetes Dashboard 的自签名证书中添加更多节点
- ag-grid - 使用最后一行内联添加记录
- javascript - 在 Chrome 和 Safari 中不带参数的 toLocaleTimeString() 行为
- python - 有没有一种优雅的方法来检查数组中的哪些元素在另一个容器中?
- mongodb - 我正在更新一个嵌套数组,它更新了错误的元素
- python - 解决两体问题的跳蛙算法