《Scikit-Learn與TensorFlow機器學習實用指南》第15章 自編碼器
2018-04-29 06:59 作者:絕不原創(chuàng)的飛龍 | 我要投稿

來源:ApacheCN《Sklearn 與 TensorFlow 機器學習實用指南》翻譯項目
譯者:@akonwang
校對:@飛龍
自編碼器是能夠在無監(jiān)督的情況下學習輸入數(shù)據(jù)(叫做編碼)的人工神經網絡(即,訓練集是未標記)。這些編碼通常具有比輸入數(shù)據(jù)低得多的維度,使得自編碼器對降維有用(參見第 8 章)。更重要的是,自編碼器可以作為強大的特征檢測器,它們可以用于無監(jiān)督的深度神經網絡預訓練(正如我們在第 11 章中討論過的)。最后,他們能夠隨機生成與訓練數(shù)據(jù)非常相似的新數(shù)據(jù);這被稱為生成模型。例如,您可以在臉部圖片上訓練自編碼器,然后可以生成新臉部。
令人驚訝的是,自編碼器只需學習將輸入復制到其輸出即可工作。 這聽起來像是一件小事,但我們會看到以各種方式約束網絡可能會讓它變得相當困難。例如,您可以限制內部表示的大小,或者可以向輸入添加噪聲并訓練網絡以恢復原始輸入。這些約束防止自編碼器將輸入直接復制到輸出,這迫使它學習表示數(shù)據(jù)的有效方法。 簡言之,編碼是自編碼器在某些限制條件下嘗試學習恒等函數(shù)的副產品。
在本章中,我們將更深入地解釋自編碼器如何工作,可以施加什么類型的約束以及如何使用 TensorFlow 實現(xiàn)它們,無論是降維,特征提取,無監(jiān)督預訓練還是生成模型。
閱讀全文:http://t.cn/RuoEmeK
標簽: