當前位置:
首頁 > 知識 > 深度學習的幾何觀點(1)-流形分布定律

深度學習的幾何觀點(1)-流形分布定律

作者:顧險峰

(最近,哈佛大學丘成桐先生領導的團隊,大連理工大學羅鍾鉉教授、雷娜教授領導的團隊應用幾何方法研究深度學習。老顧受邀在一些大學和科研機構做了題為「深度學習的幾何觀點」的報告,彙報了這方面的進展情況。這裡是報告的簡要記錄,具體內容見【1】。)

深度學習技術正在深刻地改變著人類的歷史進程,它在圖像識別、語音識別、自然語言處理、文本翻譯等幾乎所有信息科學領域,都帶來了翻天覆地的革命。我們這個時代所面臨的最為根本的問題之一就是為深度學習的有效性給出一個合理的答案。

縱觀人類歷史的歷次技術革命,火的使用,青銅器的製作工藝,農業的大規模普及,機械的應用,內燃機的發明,電力電氣工業的成熟,電子計算機技術的推廣,信息工業的蓬勃發展等等,無一不是建築在深刻的自然科學原理之上的。雖然當時人類可能主觀上並沒有真正意識到,但是在客觀上都是順應了自然,可能是物理、化學、或者生物方面的基本定律。那麼深度學習的巨大成功究竟歸功於哪一條自然定律?

我們認為,和歷史上的歷次技術革命不同,深度學習的成功是基於兩條:數據本身的內在規律,深度學習技術能夠揭示並利用這些規律。數據科學(或者信息科學)中的基本定律(或者更為保守的,基本假設)可以歸結為:

1. 流形分布定律:自然界中同一類別的高維數據,往往集中在某個低維流形附近。

2. 聚類分布定律:這一類別中不同的子類對應著流形上的不同概率分布,這些分布之間的距離大到足夠將這些子類區分。

圖1. 流形的定義。

深度學習的主要目的和功能之一就是從數據中學習隱藏的流形結構和流形上的概率分布。

關於聚類分布定律,目前有相對完善的理論基礎-最優傳輸理論,和較為實用的演算法,例如基於凸幾何的蒙日-安培方程解法【2】,這些方法可以測量概率分布之間的距離,實現概率分布之間的變換【3】。關於流形分布定律,目前理論發展不太完備,很多時候學習效果嚴重依賴於調參。但是很多實際應用問題,都可以用流形的框架來建模,從而用幾何的語言來描述、梳理,用幾何理論工具來加以解決,進而有望從含混模糊的經驗性試錯,進化到思路清晰的定量研究。

流形結構

流形是拓撲和微分幾何中最為基本的概念,本質上就是很多歐氏空間粘貼在一起構成的空間。如圖1所示,一個流形(manifold)是一個拓撲空間,被一族開集所覆蓋,對於每個開集存在一個同胚映射,被稱為是坐標映射,被稱為是參數域。構成一個局部坐標卡(local chart),所有局部坐標卡構成流形的圖冊(atlas),。在交集上,每個點可以有多個局部坐標,在局部坐標間存在變換。從流形到坐標域的變換被稱為是參數化,其逆變換,從局部坐標到流形的變換被稱為是流形的局部參數表示。如果流形嵌入到歐氏空間中,則歐氏空間被稱為是背景空間。

例一:我們試舉一例,嵌在三維歐氏空間中的單位球面是最為簡單的二維流形,其局部參數表示為,

這裡球面是流形,三維歐氏空間是背景空間,是局部坐標。參數化映射可以寫成

在深度學習中,有關流形的這些基本概念都有相應的術語,我們稍作翻譯:流形上的一個點被稱為是一個樣本;參數域被稱為是隱空間或者特徵空間;參數化映射被稱為是編碼映射;流形的局部參數表示被稱為是解碼映射;點的局部坐標被稱為是樣本的編碼或者特徵。深度學習的主要目的和功能之一就是學習編碼映射和解碼映射。

圖2. 流形和參數化映射。

例二:如圖2所示,米勒佛曲面是三維空間中的二維流形,參數化映射將曲面映射到平面圓盤。這一映射的逆映射給出了曲面的參數化表示。這裡,所有的映射都是用分片線性映射來逼近的。注意,這裡參數化映射並不唯一,這會帶來隱空間概率密度的變化,後面我們會對此進行詳細討論。

圖3. 所有人臉圖像符合流形分布定律。

例三:我們考察所有的rgb彩色圖像所構成的空間,記為背景空間。背景空間中的任意一個點是一張rgb圖像。空間中所有人臉的圖像所構成的子集記為,我們來分析一下人臉圖像集合是否符合流形分布定律。一張人臉照片主要取決於如下條件:人臉的幾何形狀,皮膚的紋理特徵和施加的化妝品,動態表情,光照條件,相機的內外參數等,人臉幾何形狀由幾十條基因所決定。這些因素漸變時,人臉照片也是漸變。由此,我們有理由認為所有人臉圖像分布在某個低維流形附近。當然,由於隨機噪音的存在,我們只能說所有人臉圖像分布在附近,而非精確地落在上。我們的實驗表明,人臉圖像流形的隱空間大概有100維左右。

那麼在現實中,我們如何學習人臉圖像構成的流形呢?這裡所謂的「學習」意味著什麼?答案是用人臉圖片的樣本集來訓練深度神經網路,我們可以得到人臉圖像流形的參數化映射(編碼)和局部參數表示(解碼)。

編碼、解碼器

圖4. 自動編碼解碼器。

自動編碼器(autoencoder)是非常基本的深度學習模型,用來學習流形結構。如圖3所示,自動編碼器是一個前饋網路,輸入和輸出維數相等,輸入輸出都是背景空間。中間有一個瓶頸層,瓶頸層的輸出空間為特徵空間。網路關於瓶頸層對稱,左側網路用於表示編碼映射,記為;右側網路用於表示解碼映射,記為。損失函數等於輸入、輸出圖像的範數。我們在流形上稠密採樣,得到訓練樣本集,訓練網路,

.

由此,我們得到了編碼映射和解碼映射,解碼映射就是流形的一個參數表示。我們用重建的流形來逼近數據流形。

一旦我們掌握了流形在手,我們可以完成很多傳統方法無法想像的應用,也可以革新很多傳統方法所涉獵的經典應用。下面我們通過幾個實例來彰顯流形思維框架的威力。

生成模型(Generative Model)

圖5. 生成模型。

生成模型是深度學習的一個典型應用,如圖5所示,輸入一張低維的白噪音,輸出一張逼真的人臉圖像。這在傳統框架下是匪夷所思的:我們妙手空空,平白無故地變出一張人臉!但在流形框架下非常簡單。

我們已經訓練好了網路,得到了流形的參數表示,一張白雜訊圖像就是一個局部參數(編碼),其解碼後的像在人臉圖像的重建模型上,因而是一張人臉圖像。我們並非妙手空空,而是擁有了豐富的先驗知識:所有人臉圖像構成的流形,這一流形被其參數化映射所表示,而這一映射被神經網路的權重所編碼。

當然,生成圖像的質量由很多因素所決定,最為重要的有兩個:重建流形對數據流形的逼近精度;白雜訊圖像是否在參數域中,即是否在編碼映射的像集內。後面,我們會對這兩個問題進行深入探討。

圖像去噪(denoising)

圖像去噪是圖像處理的經典問題。基於資訊理論,我們將帶有噪音的圖像進行傅里葉變換,在頻域濾波,去除高頻分量,然後再進行傅里葉逆變換,得到去噪圖像。因為雜訊往往分布在高頻部分,因此這一方法比較奏效。這種經典方法比較普適,和圖像內容無關。

圖6. 圖像去噪的流形解釋。

那麼用流形框架如何解釋圖像去噪呢?如圖6所示,假設所有清晰人臉圖像構成了一個流形。一張帶有雜訊的人臉圖片不在清晰人臉圖像流形上,但是在其附近。我們將向流形投影,垂足為,即清晰人臉圖像流形距離最近的點。那麼,我們將作為去除雜訊後的結果。換言之,我們將圖像去噪理解成幾何投影。

圖7. Autoencoder圖像去噪結果。

圖7顯示了基於幾何投影思路的圖像去噪效果。給定一張帶有噪音的人臉圖像,其編碼為,然後再解碼,得到重建流形上的一點,即為去噪後的圖像。

圖8. 左幀,輸入流形和雜訊點;右幀,雜訊點被投影到重建的流形上。投影由Autoencoder實現。

這種方法不問雜訊的形成機制,適用於各種雜訊。但是這種方法嚴重依賴於圖片內容。這裡我們進行人臉圖像去噪,因此需要清晰人臉圖像流形。如果,我們將帶雜訊的人臉圖像向清晰貓臉圖像流形投影,所得結果不再具有任何實際意義。

這顯示了用深度學習方法去噪的某種局限性,首先我們必須擁有相應的流形,其次不同類型的圖像,需要不同的流形。貓臉流形無法應用於人臉圖像,反之亦然。這種局限詮釋了深度學習仍屬於弱人工智慧範疇。

年齡變換

圖9. 基於深度學習的年齡變換(黃迪教授)。

如圖9所示,給定一張人臉圖像,生成這張臉二十年後的圖像,或者倒推這張臉二十年前的圖像,這種變換我們稱之為人臉圖像年齡變換。對於傳統方法而言,人臉圖像年齡變換是難以完成的任務。用深度學習的流形框架,我們可以給出清晰的解決方案。

首先我們學習所有二十歲的人臉圖像流形,然後再學習所有四十歲的人臉圖像流形,表示成各自的編碼、解碼映射:

,

同時我們學習兩個流形之間的映射:

這裡隱空間之間的映射可以用一個深度神經網路來表示,每一個訓練樣本由同一個人二十歲和四十歲的一對照片所組成。在實際使用中,輸入一張青年人的照片,輸出,作為同一個人中年時期的照片。

手寫體數字識別

圖10. 手寫體數字流形。

如圖10所示,我們考察所有手寫體數字二值圖像構成的流形,左幀是真實數據,右幀是生成數據。0到9這十個數字在此流形上定義了十個不同的概率分布。我們用編碼映射將流形映射到隱空間,編碼映射將這十個分布「推前」到隱空間上。為了可視化,我們將隱空間定義為二維平面,如此得到十個概率分布。

圖11. 手寫體數字在隱空間的概率分布。

圖11顯示了不同數字在隱空間的概率分布,這種流形+概率分布可以對知識進行更加詳盡的表述,從而用於識別分類等問題。

深度學習有效性的幾何解釋

流形結構根據數據科學的流形分布定律,自然數據背後隱藏著流形結構,深度學習方法可提取這些流形結構,並用神經網路來表達流形間的映射,給出流形本身的參數化和參數表示。這些流形結構和其上的特定概率分布是整體先驗知識的有效表示,正是因為具備這些先驗知識,很多視覺和機器學習的問題能夠被有效解決。流形能夠表達一類數據的整體先驗知識,傳統方法只能利用局部較少的先驗知識。

方法論的靈活性傳統方法依賴於嚴格的因果關係,往往用偏微分方程來表達自然規律。很多相關性可以用概率分布來表述,用深度學習可以習得。傳統方法需要自變數和因變數之間精確的數學關係,流形框架下的深度學習只需要猜測流形的存在性和大致維數就可以學出流形結構。

非線性擬合能力我們可以看到很多計算機視覺、機器學習高層次(high level)的問題可以用流形、流形間的映射來描述。後面我們可以看到,概率分布之間的變換可以歸結為流形間的映射。流形的局部參數表示,流形的參數化,流形間的局部映射都歸結為歐氏空間之間的非線性映射。深度學習的成功也依賴於深度神經網路擬合這種非線性映射的能力。

學習能力的觀察

那麼,深度神經網路學習流形的能力究竟如何?我們考察一個低維流形的簡單例子,見微知著,從中可以觀察到一些富有啟發的現象。

圖 12. 彌勒佛曲面,輸入流形。

圖13. 隱空間表示和胞腔分解。

圖14. 重建流形。

我們假設背景空間是三維歐氏空間,流形是米勒佛曲面,如圖12所示。我們在彌勒佛表面上稠密採樣,然後訓練一個自動編碼器,得到編碼映射和解碼映射。編碼映射將曲面映射到隱空間即二維歐氏空間,如圖13所示;解碼映射將隱空間表示映射回背景空間,得到重建流形,如圖14所示。我們採用ReLU作為激活函數,編碼解碼映射為分片線性映射。編碼映射將背景空間分解為很多胞腔,在每個胞腔內編碼映射為線性映射,圖13右幀畫出了背景空間的胞腔分解。我們從圖中可以看到重建流形比較精確地逼近了原始的輸入流形,幾乎保留了所有的幾何細節。為了達到這一理想效果,艱苦的調參不可避免。而這正是深度學習的困難所在:缺乏理論指導的實驗性調節超參數。

仔細觀察這個編碼、解碼過程,我們看到重建曲面在很大程度上較好地逼近了輸入曲面,保持了細微的幾何特徵,參數化映射建立了整體同胚。由此,引發了下面的問題:

如何從幾何上刻畫一個深度神經網路的學習能力?是否可以定義一個指標來明確表示神經網路學習能力的上限?

如何從幾何上刻畫一個流形被學習的難度?是否可以定義一個指標來明確表示這一難度?

對於任意一個深度神經網路,如何構造一個它無法學習的流形?

在下一講中,我們對這些問題進行深入討論。

小結

我們認為,深度學習的成功應該歸功於數據自身具有內在的規律:高維數據分布在低維流形附近,流形上具有特定概率分布,同時歸功於深度學習網路強大的逼近非線性映射的能力。深度學習技術可以從一類數據中提取流形結構,將整體先驗知識用流形來表達,具體而言就是編碼解碼映射,隱含在神經元的權重之中。

深度學習的強大能力來源於某類知識的整體表達,而傳統演算法只能利用同一類別的局部有限知識。同時深度學習囿於底層流形的選擇,很多演算法移植性依賴於底層流形的替換。

深度學習的流形框架有助於模塊化編程。我們可以想像,在未來深度的商品化硬體或軟體模塊將是各個類別的流形,和流形之間的映射,以及流形上概率密度之間的變換。底層的流形模塊已經被AI公司訓練完善,大規模產品化,用戶只需要搭建這些模塊就可以實現各種功能。

References

Na Lei, Zhongxuan Luo, Shing-Tung Yau and David Xianfeng Gu. "Geometric Understanding of Deep Learning".arXiv:1805.10451?.

https://arxiv.org/abs/1805.10451

Xianfeng Gu, Feng Luo, Jian Sun, and Shing-Tung Yau. "Variational principles for minkowski type problems, discrete optimal transport", and discrete monge-ampere equations. Asian Journal of Mathematics (AJM), 20(2):383-398, 2016.

Na Lei,Kehua Su,Li Cui,Shing-Tung Yau,David Xianfeng Gu, "A Geometric View of Optimal Transportation and Generative Model", arXiv:1710.05488. https://arxiv.org/abs/1710.05488

- 加入AI學院學習 -


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI講堂 的精彩文章:

多倫多大學反人臉識別,身份欺騙成功率達99.5%
押注機器翻譯,阿里達摩院力壓微軟等巨頭,獲WMT大賽5項冠軍

TAG:AI講堂 |