看板 DataScience 關於我們 聯絡資訊
各位資料科學的先進好,我目前正在學校裡面學習深度學習相關的知識 目前是想自己寫出一個簡單的MLP來檢驗自己的學習 運用的架構是一層input layer,一層的hidden layer 最後一層是只有一個node的output layer hidden layer的activation function是relu output lyayer的activation function是sigmoid 除了output layer之外都有bias 跑起來程式上沒有問題,我的問題在於error收斂的很慢 error雖然一直往0在下降,但是幅度低的讓人難以接受 就我所知learning rate大概就是0.1 ~ 0.3這樣的值 因為這只是簡單的實踐,所以沒有使用learning rate decay的技巧 我已經將learning rate設為0.5了,error下降的速度還是很難讓人接受 想請問我的寫法是不是有哪邊錯了才導致這樣的結果呢? 這是我的code,最下面附上100個epoch訓練的error結果 https://pastebin.com/CTz4AkN5 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 108.12.49.245 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1541822859.A.5BF.html
st1009: 學習率過大容易超過的說,我都設0.00001之類的,epoch 2w 11/10 12:26
EGsux: 能說一下你的lable 跟dataset嗎? 11/10 12:29
Kazimir: 你需要調整權重的初始值 一般會用N(0,0.01) 11/10 13:57
Kazimir: 如果還是有問題在調整LR到0.01 11/10 13:57
yoyololicon: learning rate太大+1 11/10 13:58
yoyololicon: 別用vectorize, numpy好好的broadcasting特性為何不 11/10 14:03
yoyololicon: 用(扶額 11/10 14:03
yoyololicon: 然後hidden layer的activation換別的看看(非relu類 11/10 14:06
yoyololicon: 的),這麼淺用relu可能會GG 11/10 14:06
bessgaga: 一層隱藏層的效能本來就不好了吧,我覺得很快收斂是意 11/10 15:29
bessgaga: 料之中耶 11/10 15:29
EGsux: e/master/01_mysteries_of_neural_networks/03_numpy_neu 11/10 15:51
EGsux: ral_net 11/10 15:51
yiefaung: 把每一層output印出來看看符不符合你的預期 11/10 17:34
yiefaung: 通常印出來就知道問題出在哪 不用亂試 11/10 17:34
Sfly: 你對learning rate的認知是錯的 11/18 14:52