高速フーリエ変換で畳み込みを高速化する 1. 離散フーリエ変換入門
2018.7.24
Topics
こんにちは。データサイエンスチームのtmtkです。
この記事では、離散フーリエ変換の紹介をします。
離散フーリエ変換とは
離散フーリエ変換は、要素数がの有限集合を定義域にもつ関数を、
の形の関数の和で書き表す手続きのことをいいます。別の言い方をすれば、線形空間上で基底変換をしていると考えることもできます。
離散フーリエ変換は、高速フーリエ変換というアルゴリズムで高速化できます。
離散フーリエ変換の応用として、多倍長整数演算や、畳み込み処理の高速化などがあるようです。
この記事では、離散フーリエ変換の定義とその意味について紹介します。続く記事では、高速フーリエ変換やその応用として畳み込み処理の高速化を紹介します。
離散フーリエ変換の定義
はじめに、自然数を固定します。
関数が周期
をもつとします。すなわち、任意の整数
に対して、
が成り立っているとします。このとき、
は
から決まるので、
は有限集合
上の関数
や
と同一視することができます。以後、
のみについて考えますが、周期関数や有限集合上の関数とも考えられることに注意してください。
さて、
を
で定義します。これが離散フーリエ変換の定義です。
離散フーリエ変換の意味
この離散フーリエ変換の定義はどのように出てきたものなのでしょうか。これから説明します。
周期関数
を考えることができます。これと同一視できる
を
となるので、正規直交基底になっていることが確認できました。
そこで、標準基底
と書けることから、
となります。これは
つまり、離散フーリエ変換は線形空間
逆離散フーリエ変換
離散フーリエ変換の逆の操作で、逆離散フーリエ変換というものがあります。これは離散フーリエ変換の逆の基底変換です。具体的に書き表すと以下のようになります。
次元ベクトル空間
の元
に対して、その逆離散フーリエ変換
で定義します。離散フーリエ変換の場合と指数関数
実際に互いに逆変換になっていることは、以下のように直接の計算で確かめられます。まず、最初に
より、
まとめ
この記事では、離散フーリエ変換の定義を紹介しました。離散フーリエ変換はベクトル空間の基底変換と考えることができます。離散フーリエ変換の逆変換を逆離散フーリエ変換と呼びます。
参考文献
- Ian Goodfellow『深層学習』
- 離散フーリエ変換を用いた多倍長乗算の話
- 山下幸彦他『工学のためのフーリエ解析』
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitter
tmtk
データ分析と機械学習とソフトウェア開発をしています。 アルゴリズムとデータ構造が好きです。
Recommends
こちらもおすすめ
-
画像分類の機械学習モデルを作成する(1)ゼロからCNN
2018.4.17
-
データサイエンス関連参加イベントまとめ(2017年)【後半】
2017.12.2
-
純粋数学専攻がデータサイエンティストに転身してからの半年間を振り返る
2017.12.19
Special Topics
注目記事はこちら

データ分析入門
これから始めるBigQuery基礎知識
2024.02.28

AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16