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