從數(shù)學(xué)的角度,提供一個(gè)形象有趣的解釋。理解傅里葉變換的鑰匙是理解基♂,它能讓你重新認(rèn)識(shí)世界。
1. 什么是基?
假設(shè)一個(gè)科研所有四個(gè)所長(zhǎng)(一正三副),四個(gè)所長(zhǎng)各司其職,把整個(gè)科研所的事物管理得井井有條。這四個(gè)所長(zhǎng),少一個(gè),單位的工作無法順利展開,多一個(gè)礙手礙腳事倍功半,他們四人一道就組成了科研所的一個(gè)“基”。
一個(gè)單位的基可能不是唯一的,四個(gè)人換換位置工作也能展開,調(diào)走一個(gè)人再換一個(gè)人來頂替,單位亦可以正常運(yùn)轉(zhuǎn),但是4這個(gè)數(shù)是不能變化的(數(shù)學(xué)語言:空間的維數(shù)固定不變)。
總結(jié):一組基,就是足夠能描述、表達(dá)某類事物的最少的一小撮元素們。
2. 基只有一種形式嗎?
我們把科研所的日常事務(wù)換成感情,把四個(gè)所長(zhǎng)換成語言字典重新來敘述。
假設(shè)你愛上了一個(gè)人,需要向她表達(dá)感情。這時(shí)就需要一套表達(dá)感情的工具——語言。如果使用漢語,你可以說“我愛你”,如果使用英文,你可以說“I love you”。漢語的所有詞匯構(gòu)成了一個(gè)集合,英語的所有詞匯也構(gòu)成了一個(gè)集合,它們都可以描述感情、感覺、事物和知識(shí),它們是兩套不同的描述系統(tǒng),分別有自己的基。
總結(jié):描述事物的基可以有很多套。
3. 如何構(gòu)造一組基?
漢語的詞匯量很大,有很多重復(fù)意義的詞,比如我愛你就可以重新表述為:“俺愛你”,“我愛儂”,“我想和你困覺”等等。我們把漢語詞匯中所有同意的詞只保留一個(gè)(數(shù)學(xué)語言:使線性無關(guān)),留下來的詞匯量較少的詞典就是漢語的一個(gè)基,里面的每一個(gè)詞被稱作基函數(shù)。它的特點(diǎn)是:所有漢語能描述的思想都可以用從這個(gè)較小的詞匯本中挑出的一些詞匯(基函數(shù))經(jīng)過精心安排(加權(quán)相加)來描述,并且只有一種描述方式(數(shù)學(xué)語言:若基固定,則對(duì)應(yīng)系數(shù)/坐標(biāo)確定),因?yàn)槲覀円呀?jīng)去掉了所有冗余的、近似的詞匯,因此不存在一個(gè)事物在一個(gè)基下有兩種不同表示法存在。
總結(jié):一套基中的元素很多,足夠描述事物,只要從中挑出一些你需要的,按某種方式組合在一起即可,一套基中的元素很少,以至于這種描述事物的方法是唯一的。
4. 不同基之間有什么聯(lián)系?
給定兩個(gè)不同的語言,給出兩個(gè)不同語言的小字典(兩組基),我們都可以分別用唯一的方式表達(dá)同一思想(函數(shù)、點(diǎn)),這兩種表示法之間可以相互轉(zhuǎn)換(數(shù)學(xué)語言:坐標(biāo)變換)。“I love you”和“我愛你”可以相互轉(zhuǎn)化。
總結(jié):給定一個(gè)基,我們就可以用這組基表達(dá)事物,也可以用它來翻譯用其他基描述的事物,不同基下的表示可以相互轉(zhuǎn)換。
5. 什么是傅里葉變換?
大家還記得三角函數(shù)sin和cos嗎,就是那種波浪形狀的函數(shù),一個(gè)波浪的的寬度可以是不同的,既可以像跳大繩一樣寬,也可以像電爐絲一樣窄(數(shù)學(xué)語言:頻率不同)。把這些三角函數(shù)放到一起組成一個(gè)字典,就恰好是連續(xù)函數(shù)的一組基:任何一個(gè)連續(xù)函數(shù),都可以唯一表示成一群三角函數(shù)相疊加。然而每個(gè)三角函數(shù)的分量有輕有重,相加的時(shí)候有的要拉高點(diǎn),有的要壓低點(diǎn),有的干脆不用(數(shù)學(xué)語言:加權(quán)系數(shù)不同)。到底是哪些三角函數(shù)呢,各個(gè)三角函數(shù)的分量如何呢?找到它們的過程,被稱為傅里葉變換。
舉幾個(gè)例子:
下面兩個(gè)圖,左上角是某個(gè)函數(shù)(信號(hào))的樣子,它等于1000個(gè)震蕩的三角函數(shù)相加,中間一列從下往上是這1000個(gè)三角函數(shù)中第0、1、2、3個(gè),以及中間6、30、160、800個(gè)相加的樣子,注意好幾個(gè)三角函數(shù)加在一起就不再像是三角函數(shù)了。右邊一列從下往上是把這些三角函數(shù)疊加在一起,1000個(gè)加在一起和原函數(shù)完全一樣,但是前40個(gè)三角函數(shù)函數(shù)加在一起和原函數(shù)已經(jīng)很相似了。
從這幾個(gè)例子可以看出,把一系列震蕩的三角函數(shù)按照傅里葉系數(shù)(權(quán)值)進(jìn)行縮放再加起來,大概40個(gè)三角函數(shù)加到一起,就和原來的函數(shù)長(zhǎng)得差不多了,無論原來的那個(gè)函數(shù)長(zhǎng)的有多么奇特。因此我們說:螞蟻也能撼大樹,三角函數(shù)多了加到一起,多奇怪的連續(xù)函數(shù)我長(zhǎng)的都能和你是一個(gè)樣。
總結(jié):給你一個(gè)函數(shù),找到它的傅里葉變換,就是找到一堆系數(shù),每一個(gè)系數(shù)對(duì)應(yīng)一個(gè)不同頻率的三角函數(shù),這些三角函數(shù)分別按各自的系數(shù)改變振幅(數(shù)學(xué)語言:確定坐標(biāo)),然后疊加在一起,恰好就與原來那個(gè)函數(shù)相等。
因此,四個(gè)處長(zhǎng)是一組基,能維持一個(gè)單位的運(yùn)轉(zhuǎn),處理各種問題;
一套簡(jiǎn)化的漢語詞典是一組基,什么樣的情感它都能找到唯一的表達(dá)語句;
一堆三角函數(shù)是一組基,什么樣的連續(xù)函數(shù)都可以用一大堆三角函數(shù)疊加獲得,找到這種表示的過程叫做傅里葉變換。
6. 傅里葉變換有什么用?
擺弄一系列三角函數(shù),讓這個(gè)多點(diǎn)那個(gè)少點(diǎn),有一個(gè)酷炫的名字,叫“頻域處理”,
你去了美國(guó),不知道白宮怎么走,你問翻譯:白宮怎么走?
翻譯跑到街上問美國(guó)人:Where is the White House? 這叫傅里葉變換。
美國(guó)路人說:“go straight and turn right”。這叫頻域處理。
翻譯聽完給你說:直走,右拐就到了。這叫逆傅里葉變換。
總結(jié):傅里葉變換的作用,就是把一個(gè)函數(shù)或者信號(hào)在三角函數(shù)基下轉(zhuǎn)化為一堆系數(shù),擺弄這些系數(shù)、實(shí)現(xiàn)一定功能有時(shí)比直接擺弄原信號(hào)方便,最后再做個(gè)逆傅里葉變換,信號(hào)就得到了某種處理。
7. 傅里葉變換與壓縮、簡(jiǎn)化表示
從第5小節(jié)我們知道了基變換的一個(gè)用處:壓縮信號(hào)。原始信號(hào)需要用1000個(gè)點(diǎn)來表示,但是其實(shí)只需要40個(gè)三角函數(shù)系數(shù)就可以表示出大概。大家天天都會(huì)遇到的JPG圖片就是干這個(gè)事的,一張800*600的彩色照片,如果保存成非壓縮的BMP圖像格式,需要占據(jù)1.4M存儲(chǔ)空間,如果保存成JPG格式,大概50K就夠了。JPG能壓縮得這么厲害,訣竅就在于它用了一組特別的基(小波基),使用特別少的基函數(shù)就可以把原始圖像表示得八九不離十,在這里頻域處理就是把絕大多數(shù)基函數(shù)前面的系數(shù)直接置0。為什么能這么干呢?因?yàn)樾〔ɑ泻軓?qiáng)的表達(dá)能力,我們總能選取極少的幾個(gè)小波基函數(shù)就能拼出任意一個(gè)給定的圖像的大概,然后即使拋棄剩下那些大量邊角料,也不太會(huì)對(duì)視覺效果造成什么影響。
說到這里你肯定一頭霧水,咱們?cè)賮碜鰝€(gè)類比來說說基的壓縮能力。想象這樣一個(gè)故事:女主角出生在孤兒院,和男主角相遇但是被拋棄,生下一個(gè)女兒,她后來做了個(gè)變性手術(shù),穿越回到過去和還是女兒身的自己啪啪啪,帶著女兒再次穿越到自己被收養(yǎng)時(shí)的孤兒院把嬰兒拋棄在那。
如果你缺乏語言能力,比如你是一條狗,你怎樣讓另一條狗理解孤兒院、男、女、啪啪啪、拋棄、愛情這些真實(shí)世界中極度復(fù)雜的概念?你能做的最好的重述就是雇一男一女和一個(gè)時(shí)光機(jī),把故事演一遍,對(duì)方還不一定能懂。語言能夠在短短的一段話里就描述出這一個(gè)復(fù)雜的故事,因?yàn)樗鼟仐壛舜罅考?xì)節(jié),只保留最重要的信息:如果說真實(shí)世界每一個(gè)對(duì)象(物體、故事、情感)是一個(gè)函數(shù),那么語言就是一組新的基,在這組基下,每一個(gè)基函數(shù)(詞匯)都具有高強(qiáng)的描述能力,復(fù)雜的對(duì)象可以用聊聊幾筆進(jìn)行描述、壓縮、傳遞,讓人類能夠高效地交流,快速地學(xué)習(xí)。
一個(gè)海岸有多少粒沙子?多少滴海水?一幅800*600像素的圖像就能捕獲你在海邊嬉戲的靚影,只用了48萬個(gè)基函數(shù),如果你用JPG格式存儲(chǔ),調(diào)動(dòng)的基函數(shù)還會(huì)更少。普通非壓縮位圖數(shù)字圖像的基函數(shù)長(zhǎng)的都一樣:在一顆像素是白色(1),在其他所有像素都是黑色(0)——一個(gè)基就是一根孤零零的矩形棍子,其對(duì)應(yīng)的系數(shù)就是對(duì)應(yīng)像素的顏色值,真彩色的系數(shù)有約1600萬種。
傅里葉變換和這幅圖中的變換非常類似,只不過基函數(shù)不是一顆像素,而是震蕩的三角函數(shù)。所有三角函數(shù)Asin(ax+b)也可以由一個(gè)三角函數(shù) sin(x)通過改變頻率a,相位b和振幅A來獲得,這種情況很有意思:一組基中所有的基函數(shù)都是由一個(gè)基函數(shù)進(jìn)過簡(jiǎn)單地平移、拉伸或改變振幅獲得。它的實(shí)質(zhì)是另一種意義上的壓縮:我們用一個(gè)基函數(shù)(數(shù)學(xué)語言:母函數(shù))通過簡(jiǎn)單形變來生成其他基函數(shù),再用它們一起表示更復(fù)雜的元素。我們不需要拉來一頭牛一只羊來表示這里有一頭牛一只羊,我們只需要用許多個(gè)基本元素,每一個(gè)都差不多,就能近似表示復(fù)雜的場(chǎng)景。這一思想的一個(gè)有趣的應(yīng)用是游戲 Minecraft,在這里基函數(shù)是一些等大立方體塊,把它們拼在一起則組成了復(fù)雜世界的近似。
這個(gè)圖和上面用40個(gè)三角函數(shù)近似一維信號(hào)、一堆像素近似二維物體是完全類似的,這里是用立方體近似三維世界。同樣是對(duì)真實(shí)世界的近似描述,我們可以用一堆抽象詞匯、用像素、用立方體塊,也可以用三角函數(shù)形狀的“塊”,使用彼此近似但略微不同的基函數(shù),我們就可以對(duì)無比復(fù)雜的真實(shí)世界的對(duì)象進(jìn)行壓縮、近似。三角函數(shù)基唯一的奇怪之處在于它是震蕩的,看著不萌。
壓縮的缺點(diǎn)是無法反向恢復(fù),可以從一幅圖像變換到另一幅,但是不能從一幅圖像恢復(fù)真實(shí)世界。但是沒人想捧著真實(shí)世界,人們需要的恰恰是對(duì)真實(shí)世界的高度凝練地表示。
8. 頻域處理能干啥?
如果你不懂英文,一個(gè)妙齡少女對(duì)你說:Hi. I love you. Are you free tonight?你會(huì)回復(fù)她:姑娘你能不能不要說鳥語?滾回美帝玩泥巴吧。如果你懂英語,就會(huì)發(fā)現(xiàn)姑娘說的東西其實(shí)是有某種意義的,可以進(jìn)一步處理。
在某些領(lǐng)域,傅里葉變換后的系數(shù)非常有用,我們前面已經(jīng)舉了傅里葉變換能夠壓縮數(shù)據(jù)的例子,下面再舉幾個(gè)其他例子。為了顯示方便,舉一個(gè)二維的例子,見下圖:
原始圖像中含有噪聲,因?yàn)樵肼曂羌?xì)小的雪花點(diǎn),屬于圖像高頻分量,因此我們把圖像首先做傅里葉變換,然后把變換后的三角函數(shù)前的系數(shù)中屬于高頻的部分全部去掉(置0),然后再做逆傅里葉變換,我們發(fā)現(xiàn)圖像中的細(xì)節(jié)(噪聲點(diǎn))減少了。這就是頻率域去噪的基本原理。
在音頻處理中,不同人對(duì)于同一個(gè)音節(jié)發(fā)出的聲音,其傅里葉變換后的系數(shù)是不同的,并且可能每個(gè)人的模式是穩(wěn)定的,就像指紋一樣,那么傅里葉變換后的系數(shù)就可以來識(shí)別、合成某個(gè)人的聲音,把某個(gè)人的發(fā)音中的某些系數(shù)進(jìn)行調(diào)整,就變成了另一個(gè)人發(fā)音;所有人對(duì)于不同詞匯的發(fā)音的傅里葉變換系數(shù)也可能具有某些固定模式,利用這些模式可以發(fā)展聲音的理解技術(shù),比如Siri。現(xiàn)在政府監(jiān)督電話敏感詞,再也不是找接線員一個(gè)個(gè)聽了,而是用電腦自動(dòng)監(jiān)聽,如果發(fā)現(xiàn)某人的通訊中敏感詞頻率較高,再派專人處理。
9. 還有哪些基我們可能聽過,但是不曾認(rèn)識(shí)到?
多項(xiàng)式基:多項(xiàng)式多了,啥稀奇古怪的函數(shù)都能表示,不信你試試泰勒展開式有多好用就知道了。
小波基:傅里葉基(三角函數(shù))的改進(jìn),可以進(jìn)行局部控制。
B-樣條基:多項(xiàng)式基的改進(jìn),可以進(jìn)行局部控制,畫家畫畫用的就是這東西。
一幅800*600的圖像,我們既可以認(rèn)為它是一幅抽象的圖像,也可以認(rèn)為它是一個(gè)由800*600個(gè)基函數(shù)(一個(gè)基函數(shù)是某一顆像素值為1,其他所有像素值為0的圖像)進(jìn)行加權(quán)相加獲得的一個(gè)坐標(biāo)表示。
評(píng)論