深度學習中的自動編碼器是什麼?
介紹
資料編碼是使用稱為自動編碼器的卷積神經網路進行無監督學習的。
自動編碼器學習高維資料的低維形式(編碼),以學習低維形式的高維資料,通常用於降維。
自動編碼器
自動編碼器在無監督機器學習領域非常有用。它們可以用來減少資料大小並對其進行壓縮。
主成分分析 (PCA) 尋找資料可以以最小方差外推的方向,而自動編碼器則從其壓縮版本重建我們的原始輸入,兩者之間存在差異。
如有必要,可以使用自動編碼器使用壓縮資料恢復原始資料。
架構
自動編碼器是一種神經網路的形式,可以使用其壓縮版本學習重建影像、文字和其他型別的輸入。
通常,自動編碼器具有三層:
編碼器
編碼
解碼器
編碼器層將輸入影像轉換為潛在空間表示。它從提供的影像生成具有降低維度的壓縮影像。
原始影像已以壓縮形式變形。
編碼層將壓縮輸入表示到解碼器層。
解碼影像後,解碼器層將其恢復到原始維度。可以使用潛在空間表示重建解碼影像,而原始影像則可以使用潛在空間表示進行有損重建。
開發自動編碼器時,應考慮以下因素:
程式碼或瓶頸的大小是配置自動編碼器的第一個也是最重要的超引數。它選擇需要壓縮多少資料。它也可以用作正則化短語。
其次,請記住,層數對於微調自動編碼器很重要。較淺的深度更容易處理,而較深的深度會使模型複雜化。
第三,我們需要考慮每一層可以支援多少個節點。隨著輸入到每一層的降低,自動編碼器中的節點數量在各層之間減少。
自動編碼器的型別
完全在自動編碼器下執行的無監督神經網路可用於壓縮輸入資料。
重要的是要獲取輸入影像並嘗試預測相同的影像作為輸出,以從其壓縮瓶頸區域重建影像。
這些自動編碼器通常用於生成潛在空間或瓶頸,它充當輸入資料的壓縮版本,並在需要時藉助網路快速輕鬆地解壓縮。
稀疏自動編碼器
要控制稀疏自動編碼器,可以更改每一隱藏層中的節點數量。
由於構建在隱藏層中具有可自定義節點數量的神經網路具有挑戰性,因此稀疏自動編碼器的工作原理是抑制這些層中某些神經元的活動。
這表明對損失函式施加與活動神經元數量成反比的懲罰。
由於稀疏函式,其他神經元無法啟用。
正則化器有兩種型別
L1損失方法可用作通用正則化方法來提高模型幅度。
與僅將所有樣本上的啟用相加的L1損失方法相比,KL散度方法同時考慮所有啟用。在這個組中,我們為每個神經元的平均強度設定了上限和下限。
收縮自動編碼器
在解碼器中重建輸入之前,收縮自動編碼器會將其透過瓶頸。瓶頸函式正在用於在影像處理過程中學習影像的影像表示。
收縮自動編碼器還具有正則化項,以防止網路找出恆等函式並將輸入轉換為輸出。
為了訓練滿足此要求的模型,我們必須確保隱藏層啟用導數相對於輸入最小。
降噪自動編碼器
您是否曾經想從影像中去除背景噪聲,但不知道從哪裡開始?如果是這樣,降噪自動編碼器就是您的答案!
降噪自動編碼器與傳統自動編碼器的功能類似,它們接受輸入並輸出。但它們彼此不同之處在於它們不接受輸入影像作為絕對真理。相反,它們使用更響亮的版本。
這是因為處理照片時去除影像噪聲很困難。
為了將嘈雜的概念轉換為低維頻譜,在那裡噪聲過濾更容易調節,我們可以改用降噪自動編碼器。
這些網路使用的標準損失函式是L2或L1損失。
變分自動編碼器
變分自動編碼器 (VAE) 是為解決傳統自動編碼器的一個特定問題而建立的模型。自動編碼器學習僅在所謂的潛在空間或瓶頸中表示輸入。訓練後的潛在空間不一定是連續的,這使得插值具有挑戰性。
專注於此主題的變分自動編碼器將其潛在特徵表示為機率分佈,從而產生易於取樣和擴充套件的連續潛在空間。
用例
自動編碼器具有多種應用,例如:
使用懲罰模型複雜度的損失函式的自動編碼器可以發現數據異常。這可能有助於金融市場的異常檢測,您可以在其中使用它來發現異常行為並預測市場波動。
音訊和影片資料的降噪 − 自動編碼器可以幫助降噪音訊或影片檔案。它們還可以應用於音訊和影片記錄以減少環境噪聲。
自動編碼器已被用於填充影像中的空白,方法是學習根據周圍畫素恢復丟失的畫素。
例如,如果我們試圖修復一張右側缺失一部分的舊照片,自動編碼器可以根據其先前對影像其餘部分的瞭解來確定如何填充缺失的部分。
資訊檢索:自動編碼器可作為基於內容的影像檢索系統,使使用者能夠根據其內容查詢影像。
結論
自動編碼器是用於資料壓縮和分析的有用工具。它們可以用來發現資料中的隱藏模式,然後可以使用這些模式生成原始資料的壓縮版本。在處理太大的資料集難以輕鬆處理或想要研究資料中不同類別如何分佈時,這可能會有所幫助。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP