iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0

前言

前九天的部分已經先介紹了前置工具以及簡單的神經網路架構,而今天將正式進入我們的主題—Autoencoder了,那我們廢話不多說,正文開始!

正文

什麼是Autoencoder?

自編碼器(autoencoder)也稱自動編碼器,是一種神經網絡架構,用於學習無標籤數據的有效編碼;屬於一種無監督學習。在機器學習和深度學習領域中具有重要的應用。

https://ithelp.ithome.com.tw/upload/images/20230919/20161913XxOtrtTMRC.png

圖源:深度學習

Autoencoder的架構

Autoencoder的架構分為兩個部分,分別是Encoder(編碼器)Decoder(解碼器)

編碼器的功能是將高維度數據轉為低維度的處理,簡單來說就是用來壓縮輸入的數據,以下是編碼器的功能:

  1. 特徵提取:編碼器學習如何捕獲輸入數據中的重要特徵,將這些特徵儲存在較低維度的表示中。這可以幫助降低數據的維度,同時保留最重要的資訊,從而提高數據的壓縮性能。
  2. 數據壓縮:編碼器將輸入數據壓縮到比原始數據維度更低。
  3. 特徵學習:編碼器可以作為一種特徵學習器。這些學到的特徵可以用於後續機器學習任務。

而解碼器的功能與編碼器剛好倒過來,他的主要作用是將編碼器產生的低維轉回原始高維輸入數據的形式,也就是重建原始輸入數據,以便比較其與原始數據之間的相似性。以下是解碼器的功能:

  1. 重建原始數據:解碼器通過接受編碼器產生的低維表示(通常是一個向量)來生成一個與原始輸入數據相似的輸出。這個輸出被視為 Autoencoder 的重建或恢復輸出。
  2. 應對信息損失:由於編碼過程引入了訊息壓縮,解碼器的任務是在可能的情況下最大程度地還原原始數據,以減少訊息損失。這有助於 Autoencoder 學習如何保留最重要的特徵。
  3. 評估性能:解碼器的輸出用於評估 Autoencoder 的性能。通過比較解碼器的輸出與原始輸入,可以計算 Autoencoder 的重建誤差,並用它來指導優化過程,以確保生成的低維表示能夠有效地還原輸入。

以下是整個Autoencoder的構造

https://ithelp.ithome.com.tw/upload/images/20230919/20161913KouSTJrTm8.png

圖源:AutoEncoder (一)-認識與理解

損失函數

Autoencoder 的損失函數通常是用來衡量重建後的數據和原始輸入之間的差異。最常見的損失函數是均方差(MSE),但根據具體的任務和變體,也可以使用其他損失函數,如變分自編碼器(VAE)使用的損失函數為重建損失和KL 散度作為正則化損失。以下是幾種常見的 Autoencoder 損失函數:

  1. 均方差(MSE)損失
    MSE 是最常見的 Autoencoder 損失函數,計算重建數據與原始輸入之間每個特徵的平方誤差,然後取平均值。
  2. 二元交叉熵(Binary Cross-Entropy)損失
    如果 Autoencoder 的輸入數據是二值化的(如二進制像素值),則可以使用二元交叉熵作為損失函數。這種損失函數通常用於二進制 Autoencoder(例如,用於圖像二值化)。

詳細的數學公式則會在明天深入探討~

Autoencoder的變體

為了應付其他任務,Autoencoder也變換出了許多結構,以下是常見的Autoencoder類型

  1. 變分自動編碼器(Variational Autoencoder,VAE):VAE 引入了機率建模的思想,將編碼器產生的潛在空間表示視為機率分佈。它允許在潛在空間中進行隨機採樣,從而可以生成多樣性的輸出。常用於生成性建模任務。
  2. 去噪自動編碼器(Denoising Autoencoder,DAE):DAE在訓練時對輸入數據添加噪聲,然後嘗試還原乾淨的數據。這有助於自動編碼器學習數據中的有用特徵,從而增強了其去噪和特徵學習能力。
  3. 稀疏自動編碼器(Sparse Autoencoder):稀疏自動編碼器在損失函數中引入了稀疏性懲罰項,以鼓勵編碼器學習具有更少非零激活的特徵,減少非必要的數據。這有助於特徵選擇和降維。

其他還有卷積自動編碼器、序列自動編碼器、生成對抗自動編碼器等其他類型,十分的多樣化

https://ithelp.ithome.com.tw/upload/images/20230919/201619137cZUCO7r3t.png

圖源:AutoEncoder (一)-認識與理解

總結

以上就是小弟我今天分享有關於Autoencoder的小知識,明天將會進一步討論Autoencoder的數學原理,那我們明天見!


上一篇
[DAY09] TensorFlow基礎2-鳶尾花分類
下一篇
[DAY11] Autoencoder的數學基礎
系列文
Autoencoder與GAN:生成與重建的完美結合30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言