1. 程式人生 > >吳恩達《深度學習》第四課第四周

吳恩達《深度學習》第四課第四周

卷積神經網路——人臉識別與神經風格轉換

4.1什麼是人臉識別? 

1.人臉驗證與人臉識別

驗證:輸入為影象、名字、ID等,輸出為輸入的影象與其宣告的是否是同一人;

識別:輸入為影象,輸出為該影象是否為資料庫中的影象之一,如果是給出ID。

2.人臉識別較人臉驗證更困難,在之後課程中先建立一個人臉驗證模型,如果準確率優化到一定程度再逐步應用到人臉識別中

4.2 One-shot 學習

1.在人臉識別任務中最需解決的問題是“一次學習問題”,該問題是指通過資料庫中保持的一張圖片就能在此識別出統一個人的其他影象。

2.similarity 函式

d(image1, image2) = degree of difference  between images,非明顯如果輸入為同一人的兩張照片,輸出值會非常小;如果是差異很大的兩個人的照片,輸出值會非常大。如果d(image1, image2) < Tau(閾值)則輸出人為二者為同一人;反之,不同。由此可以解決人臉驗證問題。 如果要解決人臉識別,就是要講輸入image與系統中所有的資料進行對比,看那個d值最小,則為該人;若每次對比輸出值都較大,則該人不在資料庫。

4.3 Siamese網路架構

1.構建CNN對輸入影象進行編碼,即使用CNN某一全連線層給出的特徵值作為輸入影象的編碼(f(x_i))

2.計算d函式值,根據該值判斷是否是同一人

 

4.4 Triplet 損失

1.三元組損失函式:當檢測的影象A(anchor)與相近的影象P(positive)對比時返回的距離近,而與差異大影象N(negative)對比返回的距離遠,該函式可處理三種影象,因而成為三元組函式。

為了防止式子得出無用的結果(比如全是0),我們增加一個超引數:間隔(margin)alpha(比如:0.2)

 也就是說d(A, P)要比d(A, N)大很多才可以,如上圖所示,如果d(A, P)=0.5,d(A, N)=0.51,d(A, P)雖然小於d(A, N),但相差只有2%,這顯然不如以證明P,N的差距,因此我們在設定間隔引數時至少令alpha = 0.2

因此三元組損失函式定義如下:

如果這個損失函式返回的是一個正直,那麼將繼續優化,直到輸出為0或一個負值,那麼整個網路進行梯度下降的損失函式為:

 注意在訓練時A和P需要成對出現,因此,如果我們要識別的人有1K個,那麼資料需要10K個。

2.選擇Triplet的A,P,N

如果在保證A和P成對選擇(即同一人的不同照片)而N隨機選擇,那麼很容易滿足Triplet公式,這樣不利於訓練和應用模型,因此我們要選擇d(A, P)和d(A, N)比較接近的P和N這樣演算法才會竭盡全力的訓練來滿足Triplet損失函式。 

4.5 臉部驗證與二分類

 1. Triplet是學習人臉識別網路引數的有效方法,當然還有其他的學習引數的方法,即將這個問題轉化成二分類問題:

這種方法就是可替換Triplet的思路,對於f(x_i) 和f(x_j)都輸入到邏輯迴歸中進行處理,如果相同則Y_hat = 1, 如果不同則 Y_hat = 0。邏輯迴歸處理的公式如下:

也就是說在這種方法中是成對的選擇影象進行模型引數訓練,如下圖

4.6 什麼是神經風格遷移

1. 示例

4.7 深度卷積網路在學習什麼?

1.CNN網路的從淺層到深層所學到的特徵呈先簡單後複雜,先粗糙後細化的規律,如果視覺化各層學習到的特徵,我們會得到各層的特徵如下:

Layer1:對邊緣特徵進行學習;

Layer2:對複雜的形狀或者模式進行學習;

Layer3:對特定的影象進行學習;

Layer4:對特定的物體進行學習;

Layer5:對特定種類進行學習; 

4.8 代價函式 

1. 神經遷移的代價函式:通過指定代價函式可以獲取不同層次的特徵。 首先我們需要定義一個關於G(Generated image)的代價函式J來評判生成的影象G的好壞,使用梯度下降法來最小化J(G)以便生成這個影象。

2.找到G的步驟

(1)隨機初始化, G: 100x100x3(白噪聲)

(2)使用梯度下降最小化J(G)

4.9 內容代價函式:J_content(C, G)

1. J_content公式

tips:l選擇如果是比較淺的層,那麼生成的影象更接近於content影象,如果太深則更接近style影象,因此我們需要選擇較中間的隱藏層。

4.10 風格代價函式:J_style(S, G) 

 1.影象風格的概念

影象風格就是在網路的l層中,不同通道之間啟用項的相關性。比如在卷積網路的某一層中,通道1檢測的條紋,通道2檢測顏色,如果輸入影象中有棕色的條紋,那麼通道1 和 通道2之間就是強關聯性,而各層通道之間的關係總和就構成了影象的風格。

2.相關係數矩陣G[l]

相關係數是評估不同通道間啟用項的相關性,其計算公式如下:

3.J_style(S, G)計算公式

 

如果將關聯性計算應用到各層中,會讓結果變得更好,需要給各層的J(S, G)設定權重

 4. 代價函式

4.11 將卷積擴充套件到1D、3D 

1.一維資料處理的例項:心電圖(EKG)

 

2. 三維資料處理的例項:CT

 

3D卷積也可以用於電影檢測方面,如果將電影的每一幀作為一個切片,輸入到CNN中用以運動檢測等專案。