[問題] 如何在Python中訓練好autoencoder?
大家好,
我最近在做論文相關的研究,需要在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之間
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.65.118 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1722780742.A.734.html
→
08/04 23:15,
4月前
, 1F
08/04 23:15, 1F
好的 感謝!
推
08/04 23:26,
4月前
, 2F
08/04 23:26, 2F
我設定0.01
推
08/05 01:01,
4月前
, 3F
08/05 01:01, 3F
因為要把原始高維數據降維 再來做後續的工作
→
08/05 01:02,
4月前
, 4F
08/05 01:02, 4F
原始資料是100*21
→
08/05 01:07,
4月前
, 5F
08/05 01:07, 5F
但是轉換完的數據過於集中 不是代表模型沒有訓練好嗎
→
08/05 01:07,
4月前
, 6F
08/05 01:07, 6F
→
08/05 01:07,
4月前
, 7F
08/05 01:07, 7F
他說如果我都是照著流程做的話 那他也不知道問題出在哪了…
→
08/05 01:07,
4月前
, 8F
08/05 01:07, 8F
※ 編輯: hannxnn (114.27.65.118 臺灣), 08/07/2024 21:43:06
※ 編輯: hannxnn (114.27.65.118 臺灣), 08/07/2024 21:43:45
※ 編輯: hannxnn (114.27.65.118 臺灣), 08/07/2024 21:44:06
※ 編輯: hannxnn (114.27.65.118 臺灣), 08/07/2024 21:44:16
※ 編輯: hannxnn (114.27.65.118 臺灣), 08/07/2024 21:45:13
※ 編輯: hannxnn (114.27.65.118 臺灣), 08/07/2024 21:45:49
→
08/07 21:53,
4月前
, 9F
08/07 21:53, 9F
訓練完自編碼器會再訓練深度前饋網絡跟高斯過程模型 然後用高斯過程模型來預測均值 用指標函數來做可靠度估計
→
08/07 21:57,
4月前
, 10F
08/07 21:57, 10F
→
08/07 22:00,
4月前
, 11F
08/07 22:00, 11F
→
08/07 22:02,
4月前
, 12F
08/07 22:02, 12F
→
08/07 22:05,
4月前
, 13F
08/07 22:05, 13F
好的 我再試試看這個 感謝!
→
08/08 12:02,
4月前
, 14F
08/08 12:02, 14F
我也是這樣想 但就原作者的範例中他是做得出來的 感覺是有漏掉些什麼 或是作者沒有提出來的
→
08/08 12:04,
4月前
, 15F
08/08 12:04, 15F
→
08/08 12:04,
4月前
, 16F
08/08 12:04, 16F
→
08/08 12:05,
4月前
, 17F
08/08 12:05, 17F
請問一下資料上下限值是什麼意思
→
08/08 12:05,
4月前
, 18F
08/08 12:05, 18F
→
08/08 12:06,
4月前
, 19F
08/08 12:06, 19F
解碼器部分是 2/32/64/128/256/512/1024 輸出形狀是21 這樣
→
08/08 12:06,
4月前
, 20F
08/08 12:06, 20F
→
08/08 12:55,
4月前
, 21F
08/08 12:55, 21F
好的 我試試看 謝謝~
※ 編輯: hannxnn (42.77.41.104 臺灣), 08/08/2024 16:07:42
※ 編輯: hannxnn (42.77.41.104 臺灣), 08/08/2024 16:09:55
※ 編輯: hannxnn (42.77.41.104 臺灣), 08/08/2024 16:10:21
※ 編輯: hannxnn (42.77.41.104 臺灣), 08/08/2024 16:11:27
※ 編輯: hannxnn (42.77.41.104 臺灣), 08/08/2024 16:13:33
※ 編輯: hannxnn (42.77.41.104 臺灣), 08/08/2024 16:15:02
→
08/08 16:58,
4月前
, 22F
08/08 16:58, 22F
目前就是照教授説 跟著paper的內容實作看看~
※ 編輯: hannxnn (114.27.65.118 臺灣), 08/09/2024 07:18:54
推
08/09 07:47,
4月前
, 23F
08/09 07:47, 23F
了解 原來如此
→
08/09 07:47,
4月前
, 24F
08/09 07:47, 24F
→
08/09 13:55,
4月前
, 25F
08/09 13:55, 25F
:(((
※ 編輯: hannxnn (114.27.65.118 臺灣), 08/09/2024 15:09:57
※ 編輯: hannxnn (114.27.65.118 臺灣), 08/09/2024 15:19:37
推
08/12 09:48,
4月前
, 26F
08/12 09:48, 26F
是 " Deep learning for high-dimensional reliability analysis"
→
08/12 11:51,
4月前
, 27F
08/12 11:51, 27F
→
08/12 11:51,
4月前
, 28F
08/12 11:51, 28F
了解
→
08/12 11:53,
4月前
, 29F
08/12 11:53, 29F
我的資料是一組常態分佈 mean是3.41 standard deviation是0.2 20維 然後有100個初始樣本
→
08/12 11:58,
4月前
, 30F
08/12 11:58, 30F
→
08/12 11:58,
4月前
, 31F
08/12 11:58, 31F
→
08/12 11:58,
4月前
, 32F
08/12 11:58, 32F
感謝
好的 我試試看
※ 編輯: hannxnn (36.236.209.27 臺灣), 08/14/2024 00:16:35
※ 編輯: hannxnn (36.236.209.27 臺灣), 08/14/2024 00:17:18
※ 編輯: hannxnn (36.236.209.27 臺灣), 08/14/2024 00:19:53
※ 編輯: hannxnn (36.236.209.27 臺灣), 08/14/2024 00:20:26
※ 編輯: hannxnn (36.236.209.27 臺灣), 08/14/2024 00:20:43
推
08/14 02:00,
4月前
, 33F
08/14 02:00, 33F
有的 但10萬筆的MCS也是在訓練完自編碼器才會用到
→
08/14 02:00,
4月前
, 34F
08/14 02:00, 34F
→
08/14 02:00,
4月前
, 35F
08/14 02:00, 35F
然後我目前是在做4.1 case study I 20D那個例子 感謝
所以我的編碼器部分是用4層20,20,20,2這樣子嗎 謝謝
※ 編輯: hannxnn (36.236.209.27 臺灣), 08/14/2024 09:39:43
※ 編輯: hannxnn (36.236.209.27 臺灣), 08/14/2024 09:40:24
※ 編輯: hannxnn (36.236.209.27 臺灣), 08/14/2024 09:47:08
推
08/14 23:43,
4月前
, 36F
08/14 23:43, 36F
好的謝謝 我目前有跟著這樣做了
※ 編輯: hannxnn (36.236.187.141 臺灣), 08/16/2024 01:01:02
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章