版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
附錄圖像生成模型的構(gòu)建分析案例概述在進行圖像修復(fù)之前,首先必須做的是環(huán)境配置與圖像生成的模型構(gòu)建。開發(fā)環(huán)境本地環(huán)境配置百度搜索Anaconda,然后查找官網(wǎng),直接運行exe文件。Pip下載TensorFlow:activateAnaconda3pipinstalltensorflow-gpu安裝cuda:結(jié)合顯卡型號以及系統(tǒng)操作選擇匹配的CUDA版本運行JupyTerNotebook,然后直接輸入測試代碼:importtensorflowastf圖3.1本地成功配置tensorflow圖網(wǎng)絡(luò)環(huán)境配置方法1(無GPU電腦推薦)使用Colaboratory環(huán)境運行。圖3.2Colaboratory提供的GPU云的配置詳情圖網(wǎng)絡(luò)環(huán)境配置方法2(無GPU電腦推薦)使用kaggle環(huán)境運行。圖3.3Kaggle提供的GPU云的配置詳情圖深度卷積對抗網(wǎng)絡(luò)的激活函數(shù)激活函數(shù)函數(shù)圖像應(yīng)用Tanh適用輸出需要為-1到1的層Sigmoidsigmoid函數(shù)當輸出為0和1時曲線趨向平緩,所以適合二分類問題ReluRelu函數(shù)比sigmoid收斂的快,但是只適用輸出為正數(shù)的問題LeakyReLU修正版的Relu函數(shù),可以適用輸入含有負數(shù)的問題代價函數(shù)這里做出假設(shè),生成器生成的圖片記為G(Z),X代表著原圖,判斷結(jié)果記作D(X),轉(zhuǎn)化成符號語言就是G目標即1-D(G(Z))無限接近0,D目標就是讓D(G(Z))無限接近0,讓D(X)無限接近1,這樣就得到代價函數(shù)。表3.5代價函數(shù)D的代價函數(shù)G的代價函數(shù)訓(xùn)練步驟處理圖片數(shù)據(jù)集生成器:確定生成器包括至少兩層結(jié)構(gòu),然后對噪聲溫度加以確認,輸入以及輸出通道數(shù)。判別器:確定判別結(jié)構(gòu),卷積層層數(shù)以及所有層卷積核大小,輸入以及輸出通道數(shù)。代價函數(shù):通過交叉熵代價函數(shù)構(gòu)造代價函數(shù)。優(yōu)化器:確定Adam優(yōu)化器學(xué)習(xí)率(learning_rate)以及梯度加總衰減率(beta1)。創(chuàng)建tensorflow會話,確定epoch,然后開始運行各張量以及模型。通過測試集或樣本集運行模型,測試假圖片。根據(jù)假圖片優(yōu)化模型,調(diào)整參數(shù)等,直至假圖片效果達到預(yù)期。人臉數(shù)據(jù)集圖像生成模型初建cifar10數(shù)據(jù)模型在生成DCGAN網(wǎng)絡(luò)圖像之前具有良好的數(shù)據(jù)處理效果,然而,主要因為mnist數(shù)據(jù)集有著比較簡單的構(gòu)成,且分布了很多cifar10類別,但是采用DCGAN網(wǎng)絡(luò)并不能修復(fù)所有圖片,它的修復(fù)功能僅僅只是面對特定類別而已,所以,在實際應(yīng)用過程中,如果在部分缺失圖像的處理中運用DCGAN網(wǎng)絡(luò)進行修復(fù)訓(xùn)練,本文認為,效果并不能達到預(yù)期,因此,還應(yīng)該進一步做好修復(fù)訓(xùn)練Celeba圖像集的工作。人臉圖片數(shù)據(jù)集簡介在本文的研究中,裁剪和對齊所有臉部圖像是基于數(shù)據(jù)文件img_align_celeba.zip來作為整體的數(shù)據(jù)集文件。圖3.6Celeba數(shù)據(jù)集部分圖片展示基于人臉圖片數(shù)據(jù)集的圖像生成模型的構(gòu)建在構(gòu)建Celeba圖片生成模型的過程當中主要步驟如下。處理Celeba圖片數(shù)據(jù)裁剪Celeba圖片集時采取scipy的庫函數(shù)。提取數(shù)據(jù)集的樣本集。處理數(shù)據(jù)集。如表3.3所示為數(shù)據(jù)的具體處理步驟。表3.7數(shù)據(jù)處理步驟圖處理步驟處理方法對訓(xùn)練集進行剪切使用scipy的crop方法對每張圖像進行規(guī)范化,范圍在[-1,1]因為像素值在[0,255],所以對每個像素點除以255乘以2再減1把圖片打亂使用tf的shuffle方法把圖片組合為batchbatch_size=128設(shè)定循環(huán)變量,以batch_size為單位循環(huán)切割圖片構(gòu)建判別器對于Celeba判別器而言,四層卷積層組成了該模型的隱藏層,具體如圖3.5所示。為了進一步達到敘述的效果,以下通過單張圖片來進行模型解釋,基于過濾器和same方式填充四層卷積層,執(zhí)行上述操作的神經(jīng)層將圖像縮小2倍,并增加實際輸出圖像的通道數(shù)。建立一個鑒別器并實際執(zhí)行上述操作四次或更多次,以將圖像由64*64變?yōu)?*4,縮小16倍,輸出通道數(shù)從3逐步變?yōu)?12,不斷增大,然后把4*4*512拉成一維向量,也就是一次展平操作在輸出層先上使用,緊接著就在輸出為1*1的過程中基于sigmoid函數(shù)激活全連接層。圖3.8Celeba判別器構(gòu)造模型(輸入的64*64RGB三通道的圖片經(jīng)過四層卷積層輸出分類)(3)構(gòu)建生成器
如圖3.9所示,Celba發(fā)生器模型的隱藏層由四層組成,這些層轉(zhuǎn)置了卷積層。執(zhí)行上述動作的神經(jīng)層實際上輸出了兩倍的圖像并減少了通道數(shù)。圖3.9Celeba生成器構(gòu)造模型(輸入的100維噪聲經(jīng)過四層轉(zhuǎn)置卷積層生成64*64RGB三通道的假圖片)
(4)代價函數(shù)與優(yōu)化器的構(gòu)建表3.10詳細展示了圖像生成的代價函數(shù)與優(yōu)化器的創(chuàng)建的方法和代碼。表3.10圖像生成代價函數(shù)與優(yōu)化器的構(gòu)建判別器代價函數(shù)方法因為判別器想要輸入真圖片輸出1,想要輸入假圖片輸出0,所以需要兩個代價函數(shù),一個利用交叉熵函數(shù)判斷輸入真圖片輸出與1的差別,另一個利用交叉熵函數(shù)判斷輸入假圖片輸出與0的差別,但是為了防止判別效果太好,導(dǎo)致梯度消失,所以添加很小的參數(shù)smooth,輸入真圖片時判斷真圖片與1個略比1小的差別。當兩個差別過大,就懲罰判別器,以此得到好的判別效果。代碼#真圖片輸出與略比1小的標簽的差距
d_loss_real
=
tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_real,
labels=tf.ones_like(d_logits_real)
*
(1
-
smooth)))
#假圖片輸出與標簽0的差距
d_loss_fake
=
tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_fake,
labels=tf.zeros_like(d_model_fake)))
#兩個差距之和構(gòu)成判別器代價函數(shù)
d_loss
=
d_loss_real
+
d_loss_fake
生成器代價函數(shù)方法因為生成器想要自己構(gòu)造的假圖片讓判別器輸出1,所以生成器的構(gòu)造利用交叉熵函數(shù)判斷判別器輸入假圖片輸出與1的差別。代碼#假圖片輸出與標簽1的差距
g_loss
=
tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=d_logits_fake,
labels=tf.ones_like(d_model_fake))
判別器優(yōu)化器方法輸入學(xué)習(xí)率learning_rate,權(quán)重衰減參數(shù)beta1,使用Adam優(yōu)化器代碼#判別器優(yōu)化器
discriminator_optimizer
=
tf.train.AdamOptimizer(learning_rate=learning_rate,
beta1=beta1)
生成器優(yōu)化器方法輸入學(xué)習(xí)率learning_rate,權(quán)重衰減參數(shù)beta1,使用Adam優(yōu)化器代碼#生成器優(yōu)化器
generator_optimizer
=
tf.train.AdamOptimizer(learning_rate=learning_rate,
beta1=beta1)
(5)參數(shù)確定此參數(shù)表3.11是經(jīng)過不斷優(yōu)化實驗和參考文獻[10]所得。表3.11Celeba訓(xùn)練參數(shù)表參數(shù)參數(shù)值輸入噪聲維度(z_size)100學(xué)習(xí)率(learning_rate)0.0002權(quán)重衰減率(beta1)0.5增加對抗攻擊(smooth)0.1LeakyReLU的斜率(alpha)0.2訓(xùn)練的batch的大?。╞atch_size)128卷積核大?。╧size)5*5卷積步長(stride)2訓(xùn)練次數(shù)(epoch)10模型運行以及分析改進圖像生成模型的運行圖3.12圖像生成過程圖(不斷優(yōu)化生成器,輸入最左邊的隨機噪聲一步步優(yōu)化生成器得到不斷清晰的人臉生成圖像)
圖像生成模型的改進通過上文的研究發(fā)現(xiàn),采取一次判別器迭代就達到了圖像生成的效果,但是具體而言,在圖3.13中我們可以看到,判別器判別損失逐漸朝著0的方向緩慢下降,我們將其稱之為梯度消失。
圖3.13未優(yōu)化的損失變化圖(未優(yōu)化時出現(xiàn)了判別器損失接近0的現(xiàn)象)
那么為了有效減少出現(xiàn)梯度消失的可能性,在本文研究當中,重點改進了圖像生成模型,將一次生成器損失加原有基礎(chǔ)上,得到模型優(yōu)化,完成了一次判別器優(yōu)化迭代。根據(jù)圖3.14我們可以看出,這一損失變化圖是已經(jīng)優(yōu)化后所呈現(xiàn)出來的變化。我能觀察發(fā)現(xiàn),解決了梯度消失的問題。
圖3.14優(yōu)化后的損失變化圖(優(yōu)化后生成器損失與判別器損失的對抗達到新的平衡)?觀察圖3.15我們發(fā)現(xiàn)這是圖像生成過程優(yōu)化,那么基于此過程,達到了良好的圖像生成的迭代效果。
圖3.15優(yōu)化后的圖像生成過程圖(不斷優(yōu)化生成器,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年醫(yī)院免疫治療技術(shù)應(yīng)用研究合同
- 2026年品牌聯(lián)合營銷合同
- 兼并公司合同(標準版)
- 2026年藥品FDA突破性療法認定申請合同
- 2025年線上酒店預(yù)訂平臺建設(shè)可行性研究報告
- 2025年城市衛(wèi)生公共設(shè)施提高項目可行性研究報告
- 2025年疫情防控物資儲備中心建設(shè)項目可行性研究報告
- 2025年新能源電動滑板車項目可行性研究報告
- 2025年綠色生態(tài)農(nóng)業(yè)示范區(qū)項目可行性研究報告
- 中歐外貿(mào)協(xié)議書
- 2025西藏日喀則市薩嘎縣招聘公益性崗位考試筆試參考題庫及答案解析
- 2025-2026學(xué)年教科版小學(xué)科學(xué)新教材三年級上冊期末復(fù)習(xí)卷及答案
- 中投公司高級職位招聘面試技巧與求職策略
- 抵押車非本人協(xié)議書
- 四川大學(xué)研究生就業(yè)推薦表
- 醫(yī)學(xué)專題—-2軟骨和骨課件
- 閉合導(dǎo)線測量中邊長系統(tǒng)誤差分析
- 液氧中油酯含量的測定
- 烷烴的命名完整(課堂PPT)
- 地理課件第三節(jié)交通運輸業(yè)
- 家具制造企業(yè)安全檢查表
評論
0/150
提交評論