4.9 内容代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
| 4.8 代價函數 | 回到目錄 | 4.10 風格代價函數 |
內容代價函數 (Content cost function)
風格遷移網絡的代價函數有一個內容代價部分,還有一個風格代價部分。
J(G)=αJcontent(C,G)+βJstyle(S,G)J(G)=\alpha J_{content}(C,G)+\beta J_{style}(S,G)J(G)=αJcontent?(C,G)+βJstyle?(S,G)
我們先定義內容代價部分,不要忘了這就是我們整個風格遷移網絡的代價函數,我們看看內容代價函數應該是什么。
假如說,你用隱含層 lll 來計算內容代價,如果 lll 是個很小的數,比如用隱含層1,這個代價函數就會使你的生成圖片像素上非常接近你的內容圖片。然而如果你用很深的層,那么那就會問,內容圖片里是否有狗,然后它就會確保生成圖片里有一個狗。所以在實際中,這個層 lll 在網絡中既不會選的太淺也不會選的太深。因為你要自己做這周結束的編程練習,我會讓你獲得一些直覺,在編程練習中的具體例子里通常 lll 會選擇在網絡的中間層,既不太淺也不很深,然后用一個預訓練的卷積模型,可以是VGG網絡或者其他的網絡也可以。
現在你需要衡量假如有一個內容圖片和一個生成圖片他們在內容上的相似度,我們令這個 a[l][C]a^{[l][C]}a[l][C] 和 a[l][G]a^{[l][G]}a[l][G] ,代表這兩個圖片 CCC 和 GGG 的 lll 層的激活函數值。如果這兩個激活值相似,那么就意味著兩個圖片的內容相似。
我們定義這個
Jcontent(C,G)=12∣∣a[l][C]?a[l][G]∣∣2J_{content}(C,G)=\frac12||a^{[l][C]}-a^{[l][G]}||^2Jcontent?(C,G)=21?∣∣a[l][C]?a[l][G]∣∣2
為兩個激活值不同或者相似的程度,我們取 lll 層的隱含單元的激活值,按元素相減,內容圖片的激活值與生成圖片相比較,然后取平方,也可以在前面加上歸一化或者不加,比如 12\frac1221? 或者其他的,都影響不大,因為這都可以由這個超參數 α\alphaα 來調整( J(G)=αJcontent(C,G)+βJstyle(S,G)J(G)=\alpha J_{content}(C,G)+\beta J_{style}(S,G)J(G)=αJcontent?(C,G)+βJstyle?(S,G) )。
要清楚我這里用的符號都是展成向量形式的,這個就變成了這一項( a[l][C]a^{[l][C]}a[l][C] )減這一項( a[l][C]a^{[l][C]}a[l][C] )的 L2L2L2 范數的平方,在把他們展成向量后。這就是兩個激活值間的差值平方和,這就是兩個圖片之間 lll 層激活值差值的平方和。后面如果對 J(G)J(G)J(G) 做梯度下降來找 GGG 的值時,整個代價函數會激勵這個算法來找到圖像 GGG ,使得隱含層的激活值和你內容圖像的相似。
這就是如何定義風格遷移網絡的內容代價函數,接下來讓我們學習風格代價函數。
課程板書
| 4.8 代價函數 | 回到目錄 | 4.10 風格代價函數 |
總結
以上是生活随笔為你收集整理的4.9 内容代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.8 代价函数-深度学习第四课《卷积神
- 下一篇: 4.10 风格代价函数-深度学习第四课《