前九天的部分已經先介紹了前置工具以及簡單的神經網路架構,而今天將正式進入我們的主題—Autoencoder了,那我們廢話不多說,正文開始!
自編碼器(autoencoder)也稱自動編碼器,是一種神經網絡架構,用於學習無標籤數據的有效編碼;屬於一種無監督學習。在機器學習和深度學習領域中具有重要的應用。
圖源:深度學習
Autoencoder的架構分為兩個部分,分別是Encoder(編碼器)和Decoder(解碼器)
編碼器的功能是將高維度數據轉為低維度的處理,簡單來說就是用來壓縮輸入的數據,以下是編碼器的功能:
而解碼器的功能與編碼器剛好倒過來,他的主要作用是將編碼器產生的低維轉回原始高維輸入數據的形式,也就是重建原始輸入數據,以便比較其與原始數據之間的相似性。以下是解碼器的功能:
以下是整個Autoencoder的構造
Autoencoder 的損失函數通常是用來衡量重建後的數據和原始輸入之間的差異。最常見的損失函數是均方差(MSE),但根據具體的任務和變體,也可以使用其他損失函數,如變分自編碼器(VAE)使用的損失函數為重建損失和KL 散度作為正則化損失。以下是幾種常見的 Autoencoder 損失函數:
詳細的數學公式則會在明天深入探討~
為了應付其他任務,Autoencoder也變換出了許多結構,以下是常見的Autoencoder類型
其他還有卷積自動編碼器、序列自動編碼器、生成對抗自動編碼器等其他類型,十分的多樣化
以上就是小弟我今天分享有關於Autoencoder的小知識,明天將會進一步討論Autoencoder的數學原理,那我們明天見!