摘要:迭代次,重復(fù)執(zhí)行三次重復(fù)計(jì)算了三次,使用相同的圖片,相同的卷積神經(jīng)網(wǎng)絡(luò)模型,相同的迭代次數(shù)次,卻得到了區(qū)別明顯的三張結(jié)果圖。推測(cè)原因由于卷積神經(jīng)網(wǎng)絡(luò)中的若干層,實(shí)際是對(duì)圖像進(jìn)行了均值處理,導(dǎo)致了邊緣細(xì)節(jié)的丟失。
作為一個(gè)脫離了低級(jí)趣味的碼農(nóng),春節(jié)假期閑來無事,決定做一些有意思的事情打發(fā)時(shí)間,碰巧看到這篇論文: A neural style of convolutional neural networks,譯作卷積神經(jīng)網(wǎng)絡(luò)風(fēng)格遷移。 這不是“暮光女”克里斯丁的研究方向嗎?!連好萊塢女星都開始搞人工智能發(fā)paper,真是熱的可見一斑!
這篇文章中講述了如何用深層卷積神經(jīng)網(wǎng)絡(luò)來將一張普通的照片轉(zhuǎn)化成一幅藝術(shù)風(fēng)格的畫作(比如梵高的星夜),可以看做是DL(deep learning)在NPR(非真實(shí)渲染non photography rendering)領(lǐng)域的一次革命(不難想象以后DL這種跨領(lǐng)域的革命會(huì)越來越多)。
論文地址:A Neural Algorithm of Artistic Style
項(xiàng)目地址:https://github.com/muyiguangda/neural-style
算法解析
(對(duì)算法不感興趣的童鞋,可以直接跳過這一部分,看最終實(shí)驗(yàn)結(jié)果)
【總流程】
如上,a有個(gè)別名是conv1_1,b是conv2_1,依次類推,c,d,e對(duì)應(yīng)conv3_1,conv4_1,conv5_1;輸入圖片有風(fēng)格圖片style image和內(nèi)容圖片content image,輸出的是就是合成圖片,然后用合成圖片為指導(dǎo)訓(xùn)練,但是訓(xùn)練的對(duì)象不像是普通的神經(jīng)網(wǎng)絡(luò)那樣訓(xùn)練權(quán)值w和偏置項(xiàng)b,而是訓(xùn)練合成圖片上的像素點(diǎn),以達(dá)到損失函數(shù)不斷減少的效果。論文使用的是隨機(jī)的噪聲像素圖為初始合成圖,但是使用原始圖片會(huì)快一點(diǎn)。
首先他定義了兩個(gè)loss,分別表示最終生成的圖x和style圖a的樣式上的loss,以及x和content圖p的內(nèi)容上的loss,α,β是調(diào)節(jié)兩者比例的參數(shù)。最終的loss function是兩者的加和。通過optimize總的loss求得最終的x。?
所用的CNN網(wǎng)絡(luò)是VGG-19,利用了它16個(gè)卷積層和5個(gè)pooling層來生成feature。實(shí)際指的是Conv+ReLU的復(fù)合體。
當(dāng)然,使用其他pre-trained的model也是完全可以的,比如GoogLet V2,ResNet,VGG16 都是可以的(作者這哪是以VGG19為例)。
【內(nèi)容損失函數(shù)】
l代表第l層的特征表示,p是原始圖片,x是生成圖片。
假設(shè)某一層得到的響應(yīng)是Fl∈RNl?Ml,其中Nl為l層filter的個(gè)數(shù),Ml為filter的大小。Flij表示的是第l層第i個(gè)filter在位置j的輸出。
公式的含義就是對(duì)于每一層,原始圖片生成特征圖和生成圖片的特征圖的一一對(duì)應(yīng)做平方差
求內(nèi)容損失函數(shù)梯度下降如下:
【風(fēng)格損失函數(shù)】
F是生成圖片的特征圖。上面式子的含義:Gram第i行,第j列的數(shù)值等于把生成圖在第l層的第i個(gè)特征圖與第j個(gè)特征圖分別拉成一維后相乘求和。
上面是風(fēng)格損失函數(shù),Nl是指生成圖的特征圖數(shù)量,Ml是圖片寬乘高。a是指風(fēng)格圖片,x是指生成圖片。G是生成圖的Gram矩陣,A是風(fēng)格圖的Gram矩陣,wl是權(quán)重。
【總損失】
實(shí)驗(yàn)結(jié)果
下面是內(nèi)容圖,風(fēng)格圖,以及迭代10次,100次,500次,1000次,10000次,10萬次的計(jì)算結(jié)果及分析:
【原圖】
原圖片如果尺寸過大,導(dǎo)致input層的batch size過大,會(huì)大大增加程序計(jì)算量(從而延長(zhǎng)計(jì)算時(shí)間),容易引起程序不穩(wěn)定,而對(duì)最終效果并沒有明顯提升,因此建議把圖片尺寸盡量縮?。ㄔ谙袼夭皇д娴那疤嵯拢?,推薦值:800 ppi x 600 ppi.
【風(fēng)格圖】
風(fēng)格圖不需要和內(nèi)容圖尺寸一致。可以適當(dāng)裁剪,保留風(fēng)格最突出的部分。
【迭代10次】
由于原始的輸入是一張白噪聲圖片,因此,在迭代次數(shù)較少時(shí),仍然沒有形成內(nèi)容圖的輪廓。
【迭代100次】
天安門的輪廓初現(xiàn)
【迭代500次】
已經(jīng)基本接近最終效果,既能看到天安門的形狀,又有梵高“星夜”的線條風(fēng)格和顏色搭配。
【迭代1000次】
500次到1000次,畫面構(gòu)成的變化已經(jīng)不劇烈,基本趨于平穩(wěn)。
【迭代500次,重復(fù)執(zhí)行三次】
重復(fù)計(jì)算了三次,使用相同的圖片,相同的卷積神經(jīng)網(wǎng)絡(luò)模型,相同的迭代次數(shù)(500次),卻得到了區(qū)別明顯的三張結(jié)果圖。這是非常有意思的地方!
(a) (b) (c)
最近看完一本書,叫《隨機(jī)漫步的傻瓜》,主要討論隨機(jī)性這個(gè)概念,隨機(jī)性中隱藏著不可預(yù)測(cè)的風(fēng)險(xiǎn),也蘊(yùn)含著無限的可能性。沒有隨機(jī)變異,生物進(jìn)化可能還處在單細(xì)胞階段。
如果計(jì)算機(jī)只是一個(gè)工具,讓它解一個(gè)方程組,如果已知數(shù)確定,計(jì)算條件確定,無論計(jì)算多少次,結(jié)果都是同一個(gè)。
這個(gè)例子中,結(jié)果出現(xiàn)了差異,說明這個(gè)系統(tǒng)中一定有隨機(jī)的成分存在。
機(jī)器學(xué)習(xí)中隨機(jī)性出現(xiàn)的部分通常如下:1. 訓(xùn)練樣本的亂序操作;2. 隨機(jī)梯度下降;3. 模型隨機(jī)賦初始值。
本例中還多一條:初始輸入的白噪聲圖像是隨機(jī)生成的。
【迭代10000次】
可以看到畫面右上部分,內(nèi)容漸漸丟失,呈現(xiàn)灰色化。
推測(cè)原因:由于卷積神經(jīng)網(wǎng)絡(luò)中的若干pooling層,實(shí)際是對(duì)圖像進(jìn)行了均值處理,導(dǎo)致了邊緣細(xì)節(jié)的丟失。
pooling層示意圖:
那么,迭代100000次是什么樣子的呢?
【迭代十萬次】
畫面朝著兩極化趨勢(shì)發(fā)展,灰色區(qū)域更加暗淡,彩色區(qū)域更加明亮,兩者之間的界限更加分明,失去了過渡。
End.
歡迎加入本站公開興趣群商業(yè)智能與數(shù)據(jù)分析群
興趣范圍包括各種讓數(shù)據(jù)產(chǎn)生價(jià)值的辦法,實(shí)際應(yīng)用案例分享與討論,分析工具,ETL工具,數(shù)據(jù)倉庫,數(shù)據(jù)挖掘工具,報(bào)表系統(tǒng)等全方位知識(shí)
QQ群:81035754
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/4440.html
摘要:這一新程序被稱為,是一個(gè)完整的深度學(xué)習(xí)系統(tǒng),它的架構(gòu)已經(jīng)嵌入手機(jī)中。因此,移動(dòng)設(shè)備環(huán)境對(duì)機(jī)器學(xué)習(xí)系統(tǒng)提出了機(jī)遇和挑戰(zhàn)。展望下一步,加上這樣的研究工具鏈,是的機(jī)器學(xué)習(xí)產(chǎn)品的核心。 風(fēng)格遷移一直是機(jī)器學(xué)習(xí)領(lǐng)域內(nèi)的一項(xiàng)重要任務(wù),很多研究機(jī)構(gòu)和研究者都在努力打造速度更快、計(jì)算成本更低的風(fēng)格遷移機(jī)器學(xué)習(xí)系統(tǒng),比如《怎么讓你的照片帶上藝術(shù)大師風(fēng)格?李飛飛團(tuán)隊(duì)開源快速神經(jīng)網(wǎng)絡(luò)風(fēng)格遷移代碼 》、《谷歌增強(qiáng)型...
早期成果卷積神經(jīng)網(wǎng)絡(luò)是各種深度神經(jīng)網(wǎng)絡(luò)中應(yīng)用最廣泛的一種,在機(jī)器視覺的很多問題上都取得了當(dāng)前較好的效果,另外它在自然語言處理,計(jì)算機(jī)圖形學(xué)等領(lǐng)域也有成功的應(yīng)用。第一個(gè)真正意義上的卷積神經(jīng)網(wǎng)絡(luò)由LeCun在1989年提出[1],后來進(jìn)行了改進(jìn),它被用于手寫字符的識(shí)別,是當(dāng)前各種深度卷積神經(jīng)網(wǎng)絡(luò)的鼻祖。接下來我們介紹LeCun在早期提出的3種卷積網(wǎng)絡(luò)結(jié)構(gòu)。?文獻(xiàn)[1]的網(wǎng)絡(luò)由卷積層和全連接層構(gòu)成,網(wǎng)絡(luò)...
摘要:誕生于年,是最早的卷積神經(jīng)網(wǎng)絡(luò)之一,并且推動(dòng)了深度學(xué)習(xí)領(lǐng)域的發(fā)展。間隔從年到年神經(jīng)網(wǎng)絡(luò)處于孵化階段。與來自谷歌的開始追求減少深度神經(jīng)網(wǎng)絡(luò)的計(jì)算開銷,并設(shè)計(jì)出第一個(gè)架構(gòu)參見。 LeNet5LeNet5 誕生于 1994 年,是最早的卷積神經(jīng)網(wǎng)絡(luò)之一,并且推動(dòng)了深度學(xué)習(xí)領(lǐng)域的發(fā)展。自從 1988 年開始,在許多次成功的迭代后,這項(xiàng)由 Yann LeCun 完成的開拓性成果被命名為 LeNet5(...
摘要:在計(jì)算機(jī)視覺領(lǐng)域,對(duì)卷積神經(jīng)網(wǎng)絡(luò)簡(jiǎn)稱為的研究和應(yīng)用都取得了顯著的成果。文章討論了在卷積神經(jīng)網(wǎng)絡(luò)中,該如何調(diào)整超參數(shù)以及可視化卷積層。卷積神經(jīng)網(wǎng)絡(luò)可以完成這項(xiàng)任務(wù)。 在深度學(xué)習(xí)中,有許多不同的深度網(wǎng)絡(luò)結(jié)構(gòu),包括卷積神經(jīng)網(wǎng)絡(luò)(CNN或convnet)、長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)和生成對(duì)抗網(wǎng)絡(luò)(GAN)等。在計(jì)算機(jī)視覺領(lǐng)域,對(duì)卷積神經(jīng)網(wǎng)絡(luò)(簡(jiǎn)稱為CNN)的研究和應(yīng)用都取得了顯著的成果。CNN網(wǎng)絡(luò)最...
摘要:結(jié)果,我們當(dāng)時(shí)非常抱以厚望的就是卷積神經(jīng)網(wǎng)絡(luò)模型,或者說是。單反相機(jī)可以讓攝影師調(diào)節(jié)透鏡類型和光圈大小,更好地控制把相片里的哪個(gè)部分作為焦點(diǎn)。更進(jìn)一步,單反相機(jī)的傳感器更大,對(duì)光線更敏感,即使在非?;璋档沫h(huán)境下也可以拍出非常漂亮的相片。 Yelp的數(shù)據(jù)庫中已經(jīng)存儲(chǔ)了幾千萬張相片,用戶們現(xiàn)在每天都會(huì)上傳大概十萬張,而且速度還在不斷加快。事實(shí)上,我們發(fā)現(xiàn)相片的上傳增長(zhǎng)率大于相片的查看率。這些相片...
閱讀 2260·2021-11-22 09:34
閱讀 2035·2021-09-22 15:22
閱讀 2032·2019-08-29 15:05
閱讀 2122·2019-08-26 10:43
閱讀 3419·2019-08-26 10:26
閱讀 901·2019-08-23 18:29
閱讀 3532·2019-08-23 16:42
閱讀 2007·2019-08-23 14:46