PyTorch中如何实现傅里叶卷积的示例代码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2750个文字,预计阅读时间需要11分钟。
卷积+卷积在数据分析中无处不在。几十年来,它一直被用于信号和图像处理。最近,它成为现代神经网络的重要组成。如果你处理数据,可能会遇到复杂的问题。
卷积
卷积在数据分析中无处不在。几十年来,它们一直被用于信号和图像处理。最近,它们成为现代神经网络的重要组成部分。如果你处理数据的话,你可能会遇到错综复杂的问题。
数学上,卷积表示为:
尽管离散卷积在计算应用程序中更为常见,但在本文的大部分内容中我将使用连续形式,因为使用连续变量来证明卷积定理(下面讨论)要容易得多。之后,我们将回到离散情况,并使用傅立叶变换在 PyTorch 中实现它。离散卷积可以看作是连续卷积的近似,其中连续函数离散在规则网格上。因此,我们不会为这个离散的案例重新证明卷积定理。
卷积定理
从数学上来说,卷积定理可以这样描述:
其中的连续傅里叶变换是(达到正常化常数) :
换句话说,位置空间中的卷积等价于频率空间中的直乘。这个想法是相当不直观的,但是对于连续的情况来说,证明卷积定理是惊人的容易。要做到这一点,首先要写出等式的左边。
现在切换积分的顺序,替换变量(x = y + z) ,并分离两个被积函数。
我们为什么要关心这一切?
因为快速傅里叶变换的算法复杂度低于卷积。
本文共计2750个文字,预计阅读时间需要11分钟。
卷积+卷积在数据分析中无处不在。几十年来,它一直被用于信号和图像处理。最近,它成为现代神经网络的重要组成。如果你处理数据,可能会遇到复杂的问题。
卷积
卷积在数据分析中无处不在。几十年来,它们一直被用于信号和图像处理。最近,它们成为现代神经网络的重要组成部分。如果你处理数据的话,你可能会遇到错综复杂的问题。
数学上,卷积表示为:
尽管离散卷积在计算应用程序中更为常见,但在本文的大部分内容中我将使用连续形式,因为使用连续变量来证明卷积定理(下面讨论)要容易得多。之后,我们将回到离散情况,并使用傅立叶变换在 PyTorch 中实现它。离散卷积可以看作是连续卷积的近似,其中连续函数离散在规则网格上。因此,我们不会为这个离散的案例重新证明卷积定理。
卷积定理
从数学上来说,卷积定理可以这样描述:
其中的连续傅里叶变换是(达到正常化常数) :
换句话说,位置空间中的卷积等价于频率空间中的直乘。这个想法是相当不直观的,但是对于连续的情况来说,证明卷积定理是惊人的容易。要做到这一点,首先要写出等式的左边。
现在切换积分的顺序,替换变量(x = y + z) ,并分离两个被积函数。
我们为什么要关心这一切?
因为快速傅里叶变换的算法复杂度低于卷积。

