如果你是一位攝影愛好者,也許接觸過濾鏡。它能改變**的顏色樣式,從而使風景照更加銳利或者令人像更加美白。但乙個濾鏡通常只能改變**的某個方面。如果要**達到理想中的樣式,經常需要嘗試大量不同的組合,其複雜程度不亞於模型調參。
在本節中,我們將介紹如何使用卷積神經網路自動將某影象中的樣式應用在另一影象之上,即樣式遷移(style transfer)[1]。這裡我們需要兩張輸入影象,一張是內容影象,另一張是樣式影象,我們將使用神經網路修改內容影象使其在樣式上接近樣式影象。圖9.12中的內容影象為本書作者在西雅圖郊區的雷尼爾山國家公園(mount rainier national park)拍攝的風景照,而樣式影象則是一副主題為秋天橡樹的油畫。最終輸出的合成影象在保留了內容影象中物體主體形狀的情況下應用了樣式影象的油畫筆觸,同時也讓整體顏色更加鮮豔。
方法圖9.13用乙個例子來闡述基於卷積神經網路的樣式遷移方法。首先,我們初始化合成影象,例如將其初始化成內容影象。該合成影象是樣式遷移過程中唯一需要更新的變數,即樣式遷移所需迭代的模型引數。然後,我們選擇乙個預訓練的卷積神經網路來抽取影象的特徵,其中的模型引數在訓練中無須更新。深度卷積神經網路憑藉多個層逐級抽取影象的特徵。我們可以選擇其中某些層的輸出作為內容特徵或樣式特徵。以圖9.13為例,這裡選取的預訓練的神經網路含有3個卷積層,其中第二層輸出影象的內容特徵,而第一層和第三層的輸出被作為影象的樣式特徵。接下來,我們通過正向傳播(實線箭頭方向)計算樣式遷移的損失函式,並通過反向傳播(虛線箭頭方向)迭代模型引數,即不斷更新合成影象。樣式遷移常用的損失函式由3部分組成:內容損失(content loss)使合成影象與內容影象在內容特徵上接近,樣式損失(style loss)令合成影象與樣式影象在樣式特徵上接近,而總變差損失(total variation loss)則有助於減少合成影象中的噪點。最後,當模型訓練結束時,我們輸出樣式遷移的模型引數,即得到最終的合成影象。
Pytorch 動手學深度學習(二)
學習安排如下 task03 過擬合 欠擬合及其解決方案 梯度消失 梯度 迴圈神經網路高階 1天 task04 機器翻譯及相關技術 注意力機制與seq2seq模型 transformer 1天 task05 卷積神經網路基礎 lenet 卷積神經網路高階 1天 梯度消失部分,主要是協變數偏移 標籤偏移...
RNN 《動手學深度學習pytorch》
rnn存在的問題 梯度較容易出現衰減或 bptt 改進 gru 控迴圈神經 絡 捕捉時間序列中時間步距離較 的依賴關係 長短期記憶long short term memory 遺忘門 控制上一時間步的記憶細胞 輸入門 控制當前時間步的輸入 輸出門 控制從記憶細胞到隱藏狀態 記憶細胞 種特殊的隱藏狀態...
凸優化 《動手學深度學習pytorch》
指定義在凸集中的凸函式最優化的問題 儘管優化方法可以最小化深度學習中的損失函式值,但本質上優化方法達到的目標與深度學習的目標並不相同。優化方法目標 訓練集損失函式值 深度學習目標 測試集損失函式值 泛化性 1.區域性最小值 2.鞍點 鞍點是對所有自變數一階偏導數都為0,且hessian矩陣特徵值有正...