乐读窝

深度学习

乐读窝 > 文学理论 > 深度学习

9.8 高效的卷积算法

书籍名:《深度学习》    作者:伊恩.古德费洛



现代卷积网络的应用通常需要包含超过百万个单元的网络。利用并行计算资源的强大实现是很关键的,如第12.1节中所描述的。然而,在很多情况下,也可以通过选择适当的卷积算法来加速卷积。

卷积等效于使用傅里叶变换将输入与核都转换到频域、执行两个信号的逐点相乘,再使用傅里叶逆变换转换回时域。对于某些问题的规模,这种算法可能比离散卷积的朴素实现更快。

当一个d维的核可以表示成d个向量(每一维一个向量)的外积时,该核被称为可分离的(separable)。当核可分离时,朴素的卷积是低效的。它等价于组合d个一维卷积,每个卷积使用这些向量中的一个。组合方法显著快于使用它们的外积来执行一个d维的卷积,并且核也只要更少的参数来表示成向量。如果核在每一维都是w个元素宽,那么朴素的多维卷积需要O(wd)的运行时间和参数存储空间,而可分离卷积只需要O(w×d)的运行时间和参数存储空间。当然,并不是每个卷积都可以表示成这种形式。

设计更快的执行卷积或近似卷积,而不损害模型准确性的方法,是一个活跃的研究领域。甚至仅提高前向传播效率的技术也是有用的,因为在商业环境中,通常部署网络比训练网络还要耗资源。