大家好,
我最近在做論文相關的研究,需要在Python中訓練一個autoencoder(自編碼器)。目前
遇到了一些困難,希望能得到大家的幫助。
以下是我目前的工作進展和遇到的問題:
主要是想把一個21維的問題降維成2維
1. 我使用了TensorFlow和Keras來搭建autoencoder模型。模型結構如下:
- 使用GlorotUniform進行初始化。
- 編碼器包含多個層,每個層使用Sigmoid激活函數和L2正則化,並在每層後面加入
Dropout層。具體結構如下:
- 第一層:1024個神經元,輸入形狀為21
- 第二層:512個神經元
- 第三層:256個神經元
- 第四層:128個神經元
- 第五層:64個神經元
- 第六層:32個神經元
- 最後一層:2個神經元
- 解碼器結構對稱於編碼器,輸入形狀為2
2. 我使用了SGD優化器和均方誤差(MSE)作為損失函數
3. 訓練過程中,發現模型的重建誤差一直無法降低,訓練結果的資料點很集中,不像論文中在0-1之間