2022年春浙江工业大学算法设计与分析习题分享——FFT以及CNN加速

零.写在前面  

        上学期在《复变函数与积分变化》中接触到了傅里叶变换,当时仅仅是会进行一些运算,对于其背后的意义和实际的用处一无所知。这个学期在《自动控制原理》中使用拉式变换将时域上的问题转化到频域上,使用伯德图和奈奎斯特图进行频率分析;在《数字图像处理》的频率域图像滤波中使用离散傅里叶变换进行低通滤波、高通滤波等;在《算法设计与分析》的分治算法中提到了FFT,这也是本文的起因。


目录

一.背景介绍:从傅里叶变换到离散傅里叶变换 

二.从分治角度看FFT:

三.从傅里叶变换的角度看FFT: 

四.FFT对于CNN的加速:

五.WinoGrad加速CNN:


一.背景介绍:从傅里叶变换到离散傅里叶变换 

        一般的傅里叶变换对于采集、存储离散值的计算机而言并不好处理,一般要将其做一些离散化的变换。

        首先,在时间(t域)上离散地采样,对应的傅里叶变换(FT)也变为离散时间傅里叶变换(DTFT)

        然后,对于得到的DTFT在频率(w域)上离散地采样,得到DFT。其形式如下:

其中W项为 e^{-2\pi iw/N}以此将在x域上的e^{-iwx}在一个周期(2\pi i)内离散化到n域上(n=0~N-1)。

至此将傅里叶变换(FT)最终转化为离散傅里叶变换(DFT)

二.从分治角度看FFT:

函数的点值法表示: 

        在背景介绍中曾提到计算机中习惯以离散值存储。对于多项式函数一般采用点值表示法来替代系数表示法,对于一个n-1次多项式可以通过n个不同点唯一表示。

        其优势不仅体现在存储上,在计算方面点值表示法也有其优势。对于函数间相乘系数表示法需要O(n^2)而点值表示仅需要O(n)。

        听起来非常好,那么对于系数表示多项式我们的目标就是将其化为点值表示。由此引出了问题——如何转化?

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值