[問題] 如何在python中訓練好autoencoder?
ctrl + y 可以刪除一整行,請將不需要的內容刪除
文章分類提示:
- 問題: 當你想要問問題時,請使用這個類別。
- 討論: 當你自己已經有答案,但是也想聽聽版友意見時。
- 情報: 當你看到消息時,請使用這個類別。
根據板規規定,做適當的轉換,以及摘錄重要文意。
- 心得: 當你自己想要分享經驗時,請使用這個類別。
(回答並非義務,所以當有人回答時,哪怕句謝謝也好,多多回應,大E可編輯文章)
可以試著把程式碼用網站貼出來唷 https://pastebin.com/
(如果用不到以下框架,如觀念問題請自行視情況刪除作業系統,使用工具等項目)
作業系統:(ex:mac,win10,win8,win7,linux,etc...)
問題類別:(ex:ML,SVM,RL,DL,RNN,CNN,NLP,BD,Vis,etc...)
使用工具:(ex:python,Java,C++,tensorflow,keras,MATLAB,etc...)
問題內容:
大家好,
我最近在做論文相關的研究,需要在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. 訓練過程中,發現模型的重建誤差一直無法降低,訓練結果得到的潛在變量非常集中
,不像論文中的範例是分散在X軸和Y軸都在0~1之間
我主要的困惑是:
- 是否有更好的網絡結構建議?
- 是否有一些經驗可以分享,以提高模型的性能?
非常感謝大家的幫助 謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.65.118 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1722856345.A.883.html
→
08/06 05:02,
3月前
, 1F
08/06 05:02, 1F
我會回覆了 馬上 抱歉
※ 編輯: hannxnn (114.27.65.118 臺灣), 08/07/2024 21:35:47
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
DataScience 近期熱門文章
PTT數位生活區 即時熱門文章