第15章 自編碼器
來源:ApacheCN《Sklearn 與 TensorFlow 機(jī)器學(xué)習(xí)實(shí)用指南》翻譯項(xiàng)目
譯者:@akonwang
校對:@飛龍
自編碼器是能夠在無監(jiān)督的情況下學(xué)習(xí)輸入數(shù)據(jù)(叫做編碼)的人工神經(jīng)網(wǎng)絡(luò)(即叨叙,訓(xùn)練集是未標(biāo)記)啄巧。這些編碼通常具有比輸入數(shù)據(jù)低得多的維度稠氮,使得自編碼器對降維有用(參見第 8 章)思灰。更重要的是康愤,自編碼器可以作為強(qiáng)大的特征檢測器儡循,它們可以用于無監(jiān)督的深度神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練(正如我們在第 11 章中討論過的)。最后征冷,他們能夠隨機(jī)生成與訓(xùn)練數(shù)據(jù)非常相似的新數(shù)據(jù)择膝;這被稱為生成模型。例如资盅,您可以在臉部圖片上訓(xùn)練自編碼器调榄,然后可以生成新臉部。
令人驚訝的是呵扛,自編碼器只需學(xué)習(xí)將輸入復(fù)制到其輸出即可工作每庆。 這聽起來像是一件小事,但我們會看到以各種方式約束網(wǎng)絡(luò)可能會讓它變得相當(dāng)困難今穿。例如缤灵,您可以限制內(nèi)部表示的大小,或者可以向輸入添加噪聲并訓(xùn)練網(wǎng)絡(luò)以恢復(fù)原始輸入蓝晒。這些約束防止自編碼器將輸入直接復(fù)制到輸出腮出,這迫使它學(xué)習(xí)表示數(shù)據(jù)的有效方法。 簡言之芝薇,編碼是自編碼器在某些限制條件下嘗試學(xué)習(xí)恒等函數(shù)的副產(chǎn)品胚嘲。
在本章中,我們將更深入地解釋自編碼器如何工作洛二,可以施加什么類型的約束以及如何使用 TensorFlow 實(shí)現(xiàn)它們馋劈,無論是降維攻锰,特征提取,無監(jiān)督預(yù)訓(xùn)練還是生成模型妓雾。