Closed. 这个问题不符合堆栈溢出指南 /help/closed-questions 。目前不接受答案。
据我了解,所有 CNN 都非常相似。它们都有一个卷积层,后面是池化层和 relu 层。有些具有专门的层,例如 FlowNet 和 Segnet。我的疑问是我们应该如何决定使用多少层以及如何设置网络中每层的内核大小。我已经搜索过这个问题的答案,但找不到具体的答案。网络的设计是通过反复试验还是有一些我不知道的特定规则?如果您能澄清这一点,我将非常感谢您。
简短的回答:如果存在设计规则,我们还没有发现它们。
请注意,计算中也存在类似的问题。例如,请注意,只有少数基本电子逻辑单元,即驱动制造技术的门。所有计算设备都使用相同的布尔逻辑;有些还具有专门的附加功能,例如光电输入或机械输出。
您如何决定如何设计您的计算设备?
设计取决于 CNN 的目的。输入特征、准确性、训练速度、评分速度、适应性、计算资源……所有这些都会影响设计。即使对于给定的问题,也没有通用的解决方案(目前)。
例如,考虑 ImageNet 分类问题。请注意迄今为止获胜者和竞争者之间的结构差异:AlexNet、GoogleNet、ResNet、VGG 等。如果您更改输入(例如,更改为 MNIST),那么这些就太过分了。如果你改变范式,它们可能就没用了。 GoogleNet 可能是图像处理领域的王子,但在将法语口语翻译成英语书面语方面却很糟糕。如果您想在视频屏幕上实时跟踪冰球,请完全忘记这些实现。
到目前为止,我们正在以经验的方式来做这件事:很多人尝试很多不同的事情来看看什么有效。我们得到feelings 哪些因素可以提高准确性、训练时间或我们想要调整的任何因素。我们发现什么对总 CPU 时间效果最好,或者什么可以并行执行。我们改变算法以利用长度为 2 的幂的向量数学。我们稍微改变问题并看看学习如何适应其他地方。我们改变领域(例如,从图像处理到书面文本),然后从头开始——但一旦我们开始考虑某些类型的层,我们就会模糊地感觉到什么可能会调整特定的瓶颈。
请记住,CNN 真正流行的时间还不到 6 年。在大多数情况下,我们仍在努力了解重要的问题可能是什么。欢迎加入研究团队。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)