在 Day01 的時候我們有提到過資料可能會有雜訊、噪音,因此所使用的模型架構可以分為兩個階段:除噪以及辨識。在除噪階段,使用乾淨的訓練資料和含有噪音的訓練資料來訓練資料來訓練除噪模型,訓練完成後再將含有噪音的訓練資料和測試資料輸入到除噪模型進行除噪。得到降噪後的含有噪音的訓練資料和測試資料,即完成第一階段。
除噪模型的部分我們會用除噪自動編碼器(De-noising Auto-encoder, DAE)
等等,那什麼是除噪自動編碼器 ????
除噪自動編碼器 (DAE) 是從類神經網路中的自動編碼器變化
而來的。自動編碼器的主要目的是要學習重構出輸入資料,透過編碼器(encoder)提
取輸入資料的特徵,我們稱做code,再經由解碼器(decoder)來還原輸入資料,如
圖 1。一般來說編碼器的輸出小於輸入資料,因此自動編碼器可應用在資料壓
縮(data compression)或是訊息檢索(information retrieval)的任務上。
圖1: 自動編碼器架構,Encoder為編碼器,code為編碼器的輸出,Decoder為解碼器
除噪自動編碼器並非是單純學習一個重構的能力,而是讓隱藏層學習強健性的特
徵,可參考以下論文
https://www.cs.toronto.edu/~larocheh/publications/icml-2008-denoising-autoencoders.pdf
讓被破壞過的輸入資料也能透過 DAE 還原出原始的狀態。除噪自動編碼器的
架構圖可參考圖 2。DAE 會由以下步驟從 x 以及 \hat{x} 去學習最小化重構誤差:
圖 2: 除噪自動編碼器架構,\tilde{x} 是對輸入添加噪音後的資料,\hat{x} 是DAE重構出來的資料
在實際訓練中我們會將乾淨無噪音的資料作為 ,有噪音的資料作為
實際實作上,我們會使用全連接類神經網路來實作全連接除噪自動編碼器(fully connected denoising
autoencoder, FCDAE),詳細的模型架構圖與參數設定讓我們留到明天吧~