《Scikit-Learn與TensorFlow機器學習實用指南》第15章 自編碼器

第15章 自編碼器

來源:ApacheCN《Sklearn 與 TensorFlow 機器學習實用指南》翻譯項目

譯者:@akonwang

校對:@飛龍

自編碼器是能夠在無監督的情況下學習輸入數據(叫做編碼)的人工神經網絡(即,訓練集是未標記)。這些編碼通常具有比輸入數據低得多的維度,使得自編碼器對降維有用(參見第 8 章)。更重要的是,自編碼器可以作為強大的特征檢測器,它們可以用于無監督的深度神經網絡預訓練(正如我們在第 11 章中討論過的)。最后,他們能夠隨機生成與訓練數據非常相似的新數據;這被稱為生成模型。例如,您可以在臉部圖片上訓練自編碼器,然后可以生成新臉部。

令人驚訝的是,自編碼器只需學習將輸入復制到其輸出即可工作。 這聽起來像是一件小事,但我們會看到以各種方式約束網絡可能會讓它變得相當困難。例如,您可以限制內部表示的大小,或者可以向輸入添加噪聲并訓練網絡以恢復原始輸入。這些約束防止自編碼器將輸入直接復制到輸出,這迫使它學習表示數據的有效方法。 簡言之,編碼是自編碼器在某些限制條件下嘗試學習恒等函數的副產品。
在本章中,我們將更深入地解釋自編碼器如何工作,可以施加什么類型的約束以及如何使用 TensorFlow 實現它們,無論是降維,特征提取,無監督預訓練還是生成模型。

閱讀全文

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容