<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

傅里葉變換如何用于深度學習領域

新機器視覺 ? 來源:新機器視覺 ? 2023-06-14 10:01 ? 次閱讀

機器學習深度學習中的模型都是遵循數學函數的方式創建的。從數據分析到預測建模,一般情況下都會有數學原理的支撐,比如:歐幾里得距離用于檢測聚類中的聚類。

傅里葉變換是一種眾所周知的將函數從一個域轉換到另一個域的數學方法,它也可以應用于深度學習。

本文將討論傅里葉變換,以及如何將其用于深度學習領域。

什么是傅里葉變換?

在數學中,變換技術用于將函數映射到與其原始函數空間不同的函數空間。傅里葉變換時也是一種變換技術,它可以將函數從時域空間轉換到頻域空間。例如以音頻波為例,傅里葉變換可以根據其音符的音量和頻率來表示它。

我們可以說,任何函數的傅里葉變換所執行的變換都是頻率的函數。其中結果函數的大小是原始函數所包含的頻率的表示。

我們舉一個信號的例子,它的時域函數如下所示:

c7442144-0a44-11ee-962d-dac502259ad0.png

在同一時間范圍內獲取另一個信號的一部分:

c74c3f14-0a44-11ee-962d-dac502259ad0.png

將這兩個信號的稱為和,其中 n 是時域。因此,如果我們添加這些信號,信號的結構將如下所示:

c75aaad6-0a44-11ee-962d-dac502259ad0.png

可以看到,函數的信號相加是將兩個信號進行了加的操作,如果我們試圖從這個相加信號 C 中提取信號 A 或 B,我們會遇到一個問題,因為 這些信號只是功率相加,和時間沒有關系。也就是說相加的操作是同一時間上的功率的相加。

c76590ea-0a44-11ee-962d-dac502259ad0.png

可以在上圖中看到,頻域可以很容易地突出信號之間的差異。如果希望將這些信號轉換回時域,我們可以使用傅里葉逆變換。

傅立葉變數學原理

正弦序列可用于表示時域中的信號,這是傅立葉變換的基礎。所以如果函數是一個連續信號,函數f可以用來表示為:

可以看到該函數是由無限正弦曲線相加組成的,我們可以將其視為函數信號的表示,并且該函數具有定義輸出信號結構所需的兩個系數。

求解傅里葉變換積分(本質上是頻率的函數)會產生這些系數。傅里葉變換的結果可以被認為是一組系數。它可以用數學表示如下:

而這個函數的倒數可以看作是我們用來將頻域函數轉換為時域函數的時間函數,也就是傅里葉逆變換。

求解上面的這些積分可以得到a和b的值,這里討論的是信號是連續信號的情況。但是在現實生活中,大多數問題都是從離散采樣的信號中產生的,為了找出這種信號變換的系數,我們需要執行離散傅里葉變換 (DFT)。

使用DFT我們可以得到一個相同長度等間隔的樣本序列,這個函數是由一組等間隔的樣本序列組成的。上面給出的函數的系數可以由下面的函數得到。

和的值將是:

在函數中使用項和,就可以找到頻域中的信號。

使用 Python 進行傅里葉變換

Python 的 scipy 模塊提供了數學中所需的所有轉換技術,所以可以直接使用它

import numpy as np 
import matplotlib.pyplot as plt 
from scipy.fft import fft, fftfreq

制作正弦波

#  sample points 
N = 1200 
 
# sample spacing 
T = 1.0 / 1600.0 
 
x = np.linspace(0.0, N*T, N, endpoint=False) 
sum = np.sin(50.0 * 2.0*np.pi*x) + 0.5*np.sin(80.0 * 2.0*np.pi*x) 
 
plt.plot(sum) 
plt.title('Sine wave') 
plt.xlabel('Time') 
plt.ylabel('Amplitude') 
plt.grid(True, which='both') 
plt.show()
c76f5e9a-0a44-11ee-962d-dac502259ad0.png

上面的輸出中,可以看到使用 NumPy 生成的正弦波,現在可以使用 scipy 庫的 FFT 模塊對其進行轉換。

sumf = fft(sum) 
xf = fftfreq(N, T)[:N//2] 
plt.ylabel('frequency') 
plt.xlabel('sample') 
plt.title("FFT of sum of two sines") 
plt.plot(xf, 2.0/N * np.abs(sumf[0:N//2])) 
plt.show()
c779b16a-0a44-11ee-962d-dac502259ad0.png

現在可以清楚地看到各種波的頻率是多少,作為時域的函數形成的時這些并不明顯,只有在頻域表示時才能清楚的看到這些區別。

通過上面的介紹已經了解了傅立葉變換的基本內容,但它現在與神經網絡有什么關系呢?傅里葉變換是一種逼近其他頻域函數的工具,而神經網絡也可以逼近任意函數。我們將在本文的下一部分中介紹神經網絡和傅里葉變換之間的關系。

神經網絡和傅里葉變換之間有什么關系?

可以將傅里葉變換視為一種有助于逼近其他函數的函數,并且我們還知道神經網絡可以被認為是一種函數逼近技術或通用函數逼近技術。

c78302e2-0a44-11ee-962d-dac502259ad0.jpg

上圖描繪了一個采用傅里葉變換方法的神經網絡。一個相對基本的神經網絡的目標是希望在特定時間逼近一個未知函數及其值。大多數神經網絡的任務是學習整個函數或算法或數據中指定的值點處的函數,傅里葉網絡也是一樣通過迭代技術找到逼近函數的參數。

卷積神經網絡中的傅立葉變換

卷積神經網絡中卷積層是主要基礎組曾,在網絡中,任何卷積層的主要工作是將濾波器(卷積核)應用于輸入數據或特征圖,對前一層的輸出進行卷積。該層的任務是學習過濾器的權重。在一個復雜的卷積神經網絡中看到,層數很多,每層的過濾器也很多,這使得計算成本非常高。

使用傅里葉變換可以將層計算轉換為頻域中的元素乘積,網絡的任務將是相同的,但是可以通過使用傅里葉變換來節省計算器的能量。

綜上所述,我們可以說卷積層或卷積層的過程與傅里葉變換有關。大多數時域中的卷積層可以被認為是頻域中的乘法。我們可以很容易地通過多項式乘法來理解卷積。

假設我們必須對任意值的和進行函數處理,如下所示:

而這些函數的多項式乘法可以寫成函數h

綜上所述,我們可以說卷積層過程可以定義為上述給定函數的乘積。函數的向量形式可以寫成:

向量形式的向量乘法為:

其中:

乘法中的符號“.”表示乘法,是卷積的。

和分別是傅里葉變換和傅里葉逆變換。

“”和“”分別是時域和頻域。

綜上所述,我們可以看到如果函數與時域相關,卷積層最終意味著傅里葉變換及其在乘法中的逆。

如何在深度學習中使用傅立葉變換?

在上一節中,我們已經看到時域中的卷積過程可以簡單地認為是頻域中的乘法。這證明它可以用于各種深度學習算法,即使它可以用于各種靜態預測建模算法。

我們來看一個類似的卷積神經網絡示例,這樣我們就不會偏離本文的主題。

卷積數學操作是在時域中執行乘法,而傅里葉變換背后的數學是在頻域中進行乘法。

c78c2e12-0a44-11ee-962d-dac502259ad0.jpg

為了在任何卷積神經網絡中應用傅里葉變換,我們可以對輸入和濾波器進行一些更改。

如果 CNN 中的輸入矩陣和濾波器矩陣可以轉換為頻域進行乘法運算,并且頻域乘法的結果矩陣可以轉換為時域矩陣,則不會對算法的準確性造成任何影響。矩陣從時域到頻域的轉換可以通過傅里葉變換或快速傅里葉變換來完成,而從頻域到時域的轉換可以通過傅里葉逆變換或快速傅里葉逆變換來完成。

下圖展示了我們如何使用快速傅里葉變換代替卷積。

c795de3a-0a44-11ee-962d-dac502259ad0.png

正如我們所討論的,在任何復雜的網絡中濾波器和層的數量都是非常高的,由于這些數量的增加,使用卷積的計算過程變得非常緩慢。而利用傅里葉變換可以減少這種計算的復雜性,使模型運行速度更快。

如果你對這篇文章的思路有興趣可以自行嘗試,并歡迎討論。

責任編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4114

    瀏覽量

    61426
  • 傅里葉變換
    +關注

    關注

    5

    文章

    419

    瀏覽量

    42307
  • 深度學習
    +關注

    關注

    73

    文章

    5256

    瀏覽量

    120049

原文標題:神經網絡與傅立葉變換到底有沒有關系?

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    何用LABVIEW做一個關于離散傅里葉變換

    各位如何用LABVIEW做一個關于離散傅里葉變換???。?!
    發表于 04-08 21:59

    學習傅里葉變換意義和方法

    學習傅里葉變換需要面對大量的數學公式,數學功底較差的同學聽到傅里葉變換就頭疼。事實上,許多數學功底好的數字信號處理專業的同學也不一定理解傅里葉變換的真實含義,不能做到學以致用!事實上,
    發表于 06-28 07:31

    DSP變換運算-傅里葉變換

    第24章 DSP變換運算-傅里葉變換本章節開始進入此教程最重要的知識點之一傅里葉變換。關于傅里葉變換,本章主要是把傅里葉相關的基礎知識進行必要的介紹,沒有這些基礎知識的話,后面
    發表于 08-03 06:14

    深入淺出的學習傅里葉變換

    見過的介紹傅里葉變換的很好的文章,通俗易懂,轉發的,學習。
    發表于 04-29 14:12 ?10次下載

    深入淺出的學習傅里葉變換

    學習傅里葉變換需要面對大量的數學公式,數學功底較差的同學聽到傅里葉變換就頭疼
    的頭像 發表于 07-07 14:15 ?470次閱讀
    深入淺出的<b class='flag-5'>學習</b><b class='flag-5'>傅里葉變換</b>

    傅里葉變換十大公式 傅里葉變換的十大性質

    傅里葉變換十大公式 傅里葉變換的十大性質? 傅里葉變換是一種重要的數學工具,在許多領域中都有廣泛的應用。傅里葉變換可以將一個時域信號轉化為頻
    的頭像 發表于 09-07 16:14 ?1.8w次閱讀

    傅里葉變換基本性質 傅里葉變換本質 傅里葉變換的應用

    傅里葉變換基本性質 傅里葉變換本質 傅里葉變換的應用 傅里葉變換是現代數學、物理學、工程學等領域中非常重要的一種數學工具和基本理論。在信號處
    的頭像 發表于 09-07 16:18 ?5993次閱讀

    傅氏變換傅里葉變換的區別聯系

    傅氏變換傅里葉變換的區別聯系 傅氏變換傅里葉變換是信號處理中常用的兩種變換方法,它們有著不同的作用和特點。傅氏
    的頭像 發表于 09-07 16:35 ?1133次閱讀

    傅里葉變換和傅里葉逆變換的關系

    傅里葉變換和傅里葉逆變換的關系? 傅里葉變換和傅里葉逆變換是信號處理領域中極具重要性的數學工具,它們被廣泛應
    的頭像 發表于 09-07 16:43 ?5047次閱讀

    傅里葉變換和反變換公式

    傅里葉變換和反變換公式? 傅里葉變換和反變換在信號處理領域中被廣泛應用。傅里葉變換是將一個時域信
    的頭像 發表于 09-07 16:53 ?1.1w次閱讀

    如何由傅里葉變換推出傅里葉反變換

    如何由傅里葉變換推出傅里葉反變換? 傅里葉變換和傅里葉反變換是信號處理和通信領域中的兩個重要概念,是數字信號和連續信號的重要數學分析方法之一
    的頭像 發表于 09-07 17:04 ?1603次閱讀

    傅里葉變換和離散傅里葉變換的關系

    Fourier Transform,簡稱DFT)則是適用于離散信號的傅里葉變換方法。 傅里葉變換的基本原理是將一個連續的信號,分解成一系列簡單的正弦波或者余弦波。而這些正弦波和余弦波,都有一個共同的周期,因此可以通過求取它們的
    的頭像 發表于 09-07 17:04 ?1801次閱讀

    傅里葉變換的定義 傅里葉變換的意義

    傅里葉變換的定義 傅里葉變換的意義? 傅里葉變換,表示能將滿足一定條件的某個函數表示成三角函數(正弦和/或余弦函數)或者它們的積分的線性組合。 在不同的研究領域,
    的頭像 發表于 11-30 15:32 ?1142次閱讀

    什么是傅里葉變換和逆變換?為什么要用傅里葉變換?

    傅里葉變換和逆變換是一對數學變換,用于分析信號和數據的頻域特征。傅里葉變換將一個信號或函數從時間域轉換到頻域,而逆
    的頭像 發表于 01-11 17:19 ?1253次閱讀

    傅里葉變換基本原理及在機器學習應用

    連續傅里葉變換(CFT)和離散傅里葉變換(DFT)是兩個常見的變體。CFT用于連續信號,而DFT應用于離散信號,使其與數字數據和機器學習任務
    發表于 03-20 11:15 ?330次閱讀
    <b class='flag-5'>傅里葉變換</b>基本原理及在機器<b class='flag-5'>學習</b>應用
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>