自編碼器
自編碼器本質上是一個前饋網路,可以使用與傳統前饋網路相同的損失函式和輸出單元。設計前饋網路的輸出單元和損失函式普遍策略是定義一個輸出分布 並最小化負對數似然 。在這種情況下, 是關於目標的向量(如類標)。
在自編碼器中, 既是輸入也是目標。然而,我們仍然可以使用與之前相同的架構。給定一個隱藏編碼 ,我們可以認為解碼器提供了一個條件分布 。接著我們根據最小化 來訓練自編碼器。 損失函式的具體形式視 的形式而定。
就傳統的前饋網路來說,如果 是實值的,那么我們通常使用線性輸出單元參數化高斯分布的均值。在這種情況下,負對數似然對應均方誤差準則。類似地,二值 對應於一個 Bernoulli 分布,其參數由 sigmoid 輸出單元確定的。而離散的 對應 softmax 分布,以此類推。在給定 的情況下,為了便於計算機率分布,輸出變數通常被視為是條件獨立的,但一些技術(如混合密度輸出)可以解決輸出相關的建模。
隨機編碼器結構
為了更徹底地與我們之前了解到的前饋網路相區別,我們也可以將編碼函式(encoding function) 的概念推廣為編碼分布 (encoding distribution) ,如圖 1中所示。
如圖1,為隨機自編碼器的結構。其中,編碼器和解碼器包括一些噪聲注入,而不是簡單的函式。這意味著可以將它們的輸出視為來自分布的採樣(對於編碼器是 ,對於解碼器是 。
任何潛變數模型 定義一個隨機編碼器
以及一個隨機解碼器
通常情況下, 編碼器和解碼器的分布沒有必要是與唯一一個聯合分布 相容的條件分布。在保證足夠的容量和樣本的情況下,將編碼器和解碼器作為去噪自編碼器訓練,能使它們漸近地相容。