最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

基于MNIST數(shù)據(jù)集上在Pytorch中去噪自動編碼器的應(yīng)用

2021-08-30 19:30 作者:深度之眼官方賬號  | 我要投稿

使用Pytorch構(gòu)建深度學(xué)習模型系列有多少人跟著學(xué)姐跟下來的?今天的這篇Denoising Autoencoder已經(jīng)是倒數(shù)第二篇了,前面沒有看的同學(xué)趕緊補習一下功課。



系列往期傳送門:


1.Pytorch初學(xué)者教程

2.了解深度學(xué)習模型中的張量維度

3.CNN和特征可視化

4.使用Optuna 調(diào)整超參數(shù)

5.K折交叉驗證

6.卷積自編碼器


寫干貨的時候?qū)W姐的廢話是最少的,所以你們也一定要像我一樣認真!


01??去噪自編碼器(Denoising Autoencoder)


名詞解釋:降噪自編碼器是自編碼器的擴展。

就像一個標準的自動編碼器一樣,它由一個編碼器組成,將數(shù)據(jù)壓縮為潛在代碼,提取最相關(guān)的特征,以及一個解碼器,對數(shù)據(jù)進行解壓縮并重建原始輸入。

不同的一點就是:去噪自動編碼器將噪聲圖像作為輸入,輸出層的目標是沒有噪聲的原始輸入。


這樣的編碼器很有用:


第一,它降低了過度擬合的風險并防止自動編碼器學(xué)習簡單的恒等函數(shù)。

第二, 自編碼器的編碼空間包含更強大的信息,可以重建圖像。換言之就是,添加到輸入中的噪聲充當正則化器。?

在本教程案例中,被認為破壞圖像的技術(shù)被稱為高斯噪聲。


02 用Pytorch實現(xiàn)步驟


去噪自動編碼器應(yīng)用于MNIST數(shù)據(jù)集,本系列之前的大部分文章都是這樣。


導(dǎo)入庫和數(shù)據(jù)集

現(xiàn)在定義編碼器和解碼器類,它們各自包含3個卷積層和2個全連接層。

之后初始化編碼器和解碼器對象、損失、優(yōu)化器和設(shè)備,用于在深度學(xué)習模型中使用CUDA。



最終展示最基本的部分,將噪聲圖像傳遞給模型。在訓(xùn)練之前,定義了一個函數(shù)來將噪聲添加到圖像中。



轉(zhuǎn)換圖像有兩個步驟:


torch.randn_like?來創(chuàng)建一個與輸入量大小相同的噪聲張量。

torch.clip(min=0.,max=1.)?將范圍限制在 0 和 1 之間。


定義兩個不同的函數(shù)來訓(xùn)練和評估模型:


如果還想看看去噪自編碼器是如何學(xué)習在每個epoch中重建圖像的。通過可視化原始輸入、噪聲輸入和重建圖像,是可以實現(xiàn)的。



現(xiàn)在就使用之前定義的函數(shù)訓(xùn)練和評估自動編碼器:



在30個epoch之后,去噪自編碼器似乎重建了與輸入中觀察到的圖像相似的圖像。


不過仍然存在一些缺陷,但相對于第一個 epoch 來說仍然是一個改進,在第一個epoch中,自編碼器仍然沒有捕獲最相關(guān)的信息來構(gòu)建重建。


另一種評估去噪自編碼器性能的方法是通過潛在代碼生成新圖像:



有些重構(gòu)有意義,比如對應(yīng)于0、5、6的那些,其他的就沒有意義了,比如位置(-1,-1)的重構(gòu)。可能是因為潛在空間是不規(guī)則的,這意味著潛在代碼中的接近點可以在可見單元上產(chǎn)生非常不同且毫無意義的模式。


下面我們將去噪自動編碼器學(xué)習到的潛在代碼可視化,通過十位數(shù)的類別進行著色:



我們可以使用plotly.express庫獲得編碼空間的著色后的可視化效果:



應(yīng)用t-SNE可以獲得更好的表示,這是一種將高維輸入轉(zhuǎn)換為二維或三維數(shù)據(jù)的降維方法。在這種情況下,將分量數(shù)固定為2,接下來只需要做一個二維圖:



這樣我們可以為每個數(shù)字可視化不同的集群,除了一些屬于錯誤類別的點。


03?總結(jié)


看完這篇想必大家已經(jīng)學(xué)會了使用卷積層實現(xiàn)去噪自動編碼器。你掌握了標準的自動編碼器時,應(yīng)用它時候就非常容易。還有許多其他版本的自動編碼器可以嘗試,例如變分自動編碼器和生成加法網(wǎng)絡(luò)。后面學(xué)姐都會慢慢講到!所以一定要關(guān)注學(xué)姐哦!

有什么錯誤評論區(qū)指出我們交流一下


代碼:

https://github.com/eugeniaring/Pytorch-tutorial/blob/main/denAE.ipynb

參考文檔:

https://ai.plainenglish.io/denoising-autoencoder-in-pytorch-on-mnist-dataset-a76b8824e57e



每天18:30分更新

關(guān)注+星標+在看

不迷路看好文



基于MNIST數(shù)據(jù)集上在Pytorch中去噪自動編碼器的應(yīng)用的評論 (共 條)

分享到微博請遵守國家法律
武宣县| 灵川县| 渝中区| 遂平县| 南部县| 淮北市| 图木舒克市| 扎兰屯市| 社旗县| 嘉定区| 神农架林区| 关岭| 桓台县| 原阳县| 丹江口市| 上高县| 金坛市| 清苑县| 长白| 通城县| 旅游| 上犹县| 武川县| 大冶市| 高邮市| 宾川县| 太保市| 武冈市| 庆云县| 呼玛县| 银川市| 罗江县| 蒲江县| 新泰市| 三穗县| 泉州市| 中西区| 建湖县| 柳河县| 隆回县| 荆门市|