文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
9.8 高效的卷积算法
现代卷积网络的应用通常需要包含超过百万个单元的网络。利用并行计算资源的强大实现是很关键的,如第12.1节中所描述的。然而,在很多情况下,也可以通过选择适当的卷积算法来加速卷积。
卷积等效于使用傅里叶变换将输入与核都转换到频域、执行两个信号的逐点相乘,再使用傅里叶逆变换转换回时域。对于某些问题的规模,这种算法可能比离散卷积的朴素实现更快。
当一个d维的核可以表示成d个向量(每一维一个向量)的外积时,该核被称为可分离的(separable)。当核可分离时,朴素的卷积是低效的。它等价于组合d个一维卷积,每个卷积使用这些向量中的一个。组合方法显著快于使用它们的外积来执行一个d维的卷积,并且核也只要更少的参数来表示成向量。如果核在每一维都是w个元素宽,那么朴素的多维卷积需要O(wd)的运行时间和参数存储空间,而可分离卷积只需要O(w×d)的运行时间和参数存储空间。当然,并不是每个卷积都可以表示成这种形式。
设计更快的执行卷积或近似卷积,而不损害模型准确性的方法,是一个活跃的研究领域。甚至仅提高前向传播效率的技术也是有用的,因为在商业环境中,通常部署网络比训练网络还要耗资源。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论