4.8 代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
| 4.7 什么是深度卷積網(wǎng)絡(luò)? | 回到目錄 | 4.9 內(nèi)容代價(jià)函數(shù) |
代價(jià)函數(shù) (Cost Function)
要構(gòu)建一個(gè)神經(jīng)風(fēng)格遷移系統(tǒng),讓我們?yōu)樯傻膱D像定義一個(gè)代價(jià)函數(shù),你接下看到的是,通過(guò)最小化代價(jià)函數(shù),你可以生成你想要的任何圖像。
記住我們的問(wèn)題,給你一個(gè)內(nèi)容圖像 CCC ,給定一個(gè)風(fēng)格圖片 SSS ,而你的目標(biāo)是生成一個(gè)新圖片 GGG 。為了實(shí)現(xiàn)神經(jīng)風(fēng)格遷移,你要做的是定義一個(gè)關(guān)于 GGG 的代價(jià)函數(shù) JJJ 用來(lái)評(píng)判某個(gè)生成圖像的好壞,我們將使用梯度下降法去最小化 J(G)J(G)J(G) ,以便于生成這個(gè)圖像。
怎么判斷生成圖像的好壞呢?我們把這個(gè)代價(jià)函數(shù)定義為兩個(gè)部分。
Jcontent(C,G)J_{content}(C,G)Jcontent?(C,G)
第一部分被稱(chēng)作內(nèi)容代價(jià),這是一個(gè)關(guān)于內(nèi)容圖片和生成圖片的函數(shù),它是用來(lái)度量生成圖片 GGG 的內(nèi)容與內(nèi)容圖片 CCC 的內(nèi)容有多相似。
Jstyle(S,G)J_{style}(S,G)Jstyle?(S,G)
然后我們會(huì)把結(jié)果加上一個(gè)風(fēng)格代價(jià)函數(shù),也就是關(guān)于 SSS 和 GGG 的函數(shù),用來(lái)度量圖片 GGG 的風(fēng)格和圖片 SSS 的風(fēng)格的相似度。
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)
最后我們用兩個(gè)超參數(shù) α\alphaα 和 β\betaβ 來(lái)來(lái)確定內(nèi)容代價(jià)和風(fēng)格代價(jià),兩者之間的權(quán)重用兩個(gè)超參數(shù)來(lái)確定。兩個(gè)代價(jià)的權(quán)重似乎是多余的,我覺(jué)得一個(gè)超參數(shù)似乎就夠了,但提出神經(jīng)風(fēng)格遷移的原始作者使用了兩個(gè)不同的超參數(shù),我準(zhǔn)備保持一致。
關(guān)于神經(jīng)風(fēng)格遷移算法我將在接下來(lái)幾段視頻中展示的,是基于Leon Gatys, Alexandra Ecker和Matthias Bethge的這篇論文。這篇論文并不是很難讀懂,如果你愿意,看完這些視頻,我也非常推薦你去看看他們的論文。
Leon A. Gatys, Alexander S. Ecker, Matthias Bethge, (2015). A Neural Algorithm of Artistic Style (https://arxiv.org/abs/1508.06576
)
算法的運(yùn)行是這樣的,對(duì)于代價(jià)函數(shù) J(G)J(G)J(G) ,為了生成一個(gè)新圖像,你接下來(lái)要做的是隨機(jī)初始化生成圖像 GGG ,它可能是100×100×3,可能是500×500×3,又或者是任何你想要的尺寸。
然后使用在之前的幻燈片上定義的代價(jià)函數(shù) J(G)J(G)J(G) ,你現(xiàn)在可以做的是使用梯度下降的方法將其最小化,更新 G:=G???GJ(G)G:=G-\frac{\partial}{\partial G}J(G)G:=G??G??J(G) 。在這個(gè)步驟中,你實(shí)際上更新的是圖像 GGG 的像素值,也就是100×100×3,比如RGB通道的圖片。
這里有個(gè)例子,假設(shè)你從這張內(nèi)容圖片(編號(hào)1)和風(fēng)格(編號(hào)2)圖片開(kāi)始,這是另一張公開(kāi)的畢加索畫(huà)作,當(dāng)你隨機(jī)初始化 GGG ,你隨機(jī)初始化的生成圖像就是這張隨機(jī)選取像素的白噪聲圖(編號(hào)3)。接下來(lái)運(yùn)行梯度下降算法,最小化代價(jià)函數(shù) J(G)J(G)J(G) ,逐步處理像素,這樣慢慢得到一個(gè)生成圖片(編號(hào)4、5、6),越來(lái)越像用風(fēng)格圖片的風(fēng)格畫(huà)出來(lái)的內(nèi)容圖片。
在這段視頻中你看到了神經(jīng)風(fēng)格遷移算法的概要,定義一個(gè)生成圖片 GGG 的代價(jià)函數(shù),并將其最小化。接下來(lái)我們需要了解怎么去定義內(nèi)容代價(jià)函數(shù)和風(fēng)格代價(jià)函數(shù),讓我們從下一個(gè)視頻開(kāi)始學(xué)習(xí)這部分內(nèi)容吧。
課程板書(shū)
| 4.7 什么是深度卷積網(wǎng)絡(luò)? | 回到目錄 | 4.9 內(nèi)容代價(jià)函數(shù) |
總結(jié)
以上是生活随笔為你收集整理的4.8 代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 4.7 CNN 特征可视化-深度学习第四
- 下一篇: 4.9 内容代价函数-深度学习第四课《卷