【Pytorch神经网络理论篇】 22 自编码神经网络:概述+变分+条件变分自编码神经网络
1 無監督學習模型的概述
在監督訓練中,模型能根據預測結果與標簽差值來計算損失,并向損失最小的方向進行收斂。
在無監督訓練中,無法通過樣本標簽為模型權重指定收斂方向,這就要求模型必須有自我監督的功能。
1.1 典型的兩個神經網絡模型
比較典型的兩個神經網絡是自編碼神經網絡和對抗神經網絡:
①自編碼神經網絡:把數據當作標簽來指定收斂方向。
②對抗神經網絡:一般會使用兩個或多個子模型同時進行訓練,利用多個模型之間的關系來達到互相監督的效果。
2 自編碼神經網絡
自編碼是一種以重構輸入信號為目標的神經網絡。無監督學習領域中的一種,可以自動從無標注的數據中學習特征。
2.1 自編碼神經網絡的結構
自編碼由3個神經網絡層組成:輸入層、隱意層和輸出民,其中,輸入層的樣本也會充當輸出層的標簽角色,即這個神經網絡就是個盡可能復現輸入信號的神經網絡。
- 從輸入層高維特征樣本到低維特征的過程稱為編碼,經網絡稱為編碼器;
- 從隱藏層低維特征到高維特征樣本的過程稱為解碼,實現這部分功能的速稱為解碼器。
2.2 自編碼神經網絡的計算過程
自編碼神經網路本質上是一種輸出和輸入相等的模型。簡單的自編碼神經網絡結構可以用一個3層的全連接神經網絡表示。
2.2.1 簡單闡述自編碼神經網絡的計算
在上圖中,輸入層與輸出層的維度相同,中間層是編碼器的輸出結果,輸出層也可以理解成解碼器的輸出結果。編碼器負責將編入的原始數據編碼轉換至中間的低維數據,解碼器負責將低維度數據解碼回原始輸入,實現加密解密的過程。
在訓練過程中,用真始的輸入數據與重構的解碼數據一起執行MSE計算,將該計算結果作為損失值來指導模型的收斂方向
自編碼神經網絡要求輸出盡可能等于輸入,并且它的隱藏層必須滿足一定的稀疏性,通過將隱藏層中后一層比前一層神經元數量少的方式來實現稀疏效果。這相當于的隱藏層對輸入進行壓縮,并在輸出層中解壓縮,在整個過程會去失信息,但訓練能夠使丟失的信息盡量少,最大化地保留其主要特征。
2.3 自編碼神經網絡的作用與意義
輸入的數據在網絡模型中會經過一系列特征變換,在輸出時還會與輸入時一樣。雖然這種模型對單個祥本沒有意義,但對整體樣本集卻很有價值。可以很好地學習到該數據集中樣本的分布情況,既能將數據集進行壓縮,實現提取數據主成分的功熊,又能與數據集的特征擬擬合,實現生成模擬數據的功能。
經過變換過程的中間狀態可以輸出比原始數據更好的特征描述,這使得自編碼有較強的特征學習能力,因此常利用其中間狀態的處理結果來進行AI任務的擬合。
2.3.1 自編碼與PCA算法
在無監督學習中,常見形式是訓練一個編碼器將原始數據集編碼為一個固定長度的向量,這個向量要保留原始數據盡可能多的重要信息。它通過訓練所形成的自動編碼器可以捕捉代表輸入數據的最主要因素,找到可以代表原信息的主要成分。(如果自編碼中的激活函數使用了線性函數,就是PCA模型了。)
2.3.2 自編碼與深度學習
編碼器的概念在深度學習模型中應用非常廣泛,例如,目標識別、語義分割中的骨干網模型,可以理解為一個編碼器模型。在分類任務中,輸出層之前的網絡結構可以理解為一個獨立的編碼器模型。
2.3.3 自編碼神經網絡的種類
在基本的自編碼之上,又衍生出了一些性能更好的自編碼神經網絡,例如變分自編碼神經網絡、條件變分自編碼神經網絡等。它們的輸入和輸出不再單純地著眼于單個樣本,而是針對整個樣本的分布進行自編碼擬合,具有更好的泛化能力。
3 變分自編碼神經網絡
變分自編碼神經網絡學習的是樣本的規律,該神經網絡不但具有重構樣本的功能,而且具有仿照樣本的功能。
3.1?變分自編碼神經網絡的解碼與編碼過程
變分自編碼神經網絡,在編碼過程中改變了樣本的分布(變分可理解為改變分布),學習樣本的規律就是學習樣本的分布。假設我們知道樣本的分布函數,就可以從這個函數中隨便取出一個樣本,然后進行網絡解碼層前向傳導,生成一個新的樣本。
3.2?變分自編碼神經網絡的奧秘
為了得到樣本的分布函數,模型的訓練目的將是通過增加一個約束項將編碼器生成為服從高斯分布的數據集,按照高斯分布均值與方差規則任意取相關的數據,并將該數據輸入解碼器還原成樣本。
4 條件變分自編碼神經網絡
4.1?變分自編碼神經網絡的問題
變分自編碼神經網絡雖然可以生成一個樣本,但是只能輸出與輸入圖片相同類別的樣本。確切地說,我們并不知道生成的樣本屬于哪個類別。
4.2?條件變分自編碼神經網絡的作用
條件變分自編碼神經網絳在變分自編碼神經網絡的基礎上進行了優化,可以讓模型按照指定的類別生成樣本。
4.3?條件變分自編碼神經網絡的實現
條件變分自編碼神經網絡在變分自編碼神經網絡的基礎上只進行了一處改動:在訓練測試時,加入一個標簽向量((one-hot類型)。
4.4?條件變分自編碼神經網絡的原理
給變分自編碼神經網絡加了一個條件,讓網絡學習圖片分布時加入了標簽因素,這樣可以按照標簽的數值來生成指定的圖片。
總結
以上是生活随笔為你收集整理的【Pytorch神经网络理论篇】 22 自编码神经网络:概述+变分+条件变分自编码神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爬虫实战学习笔记_4 网络请求urlli
- 下一篇: 【Pytorch神经网络理论篇】 31