看板 Python 關於我們 聯絡資訊
各位前輩大大們好<(_ _)> 我使用Google提供的tensorflow, 並且修改網路上提供的範例, 進行類神經網路深度學習的製作, 其實...我只有實驗2層時,算是成功的,但是想要進入深度學習的領域, 增加隱藏層時,出了問題QAQ 使用relu計算隱藏層,sigmoid計算最後結果, 我的數值不知道為甚麼,沒有乖乖的修正,全部都變成1了... 我也有試著全用sigmoid計算,但結果是全部為0, 就算把每層節點數增加到300個,好像也沒有幫助 我試著觀察權重,發現權重好像都沒有更新... 聽說...別人可以做到146層(? 人家怎麼10層就進行不下去了啦TAT 以下是我的程式碼 https://pastebin.com/JZryY82w 貴求各位先進提點我出了甚麼問題,我該如何修正m(_ _)m -- 往昔所造諸罪業 皆由無始貪瞋癡 身語意之所生... 一切,我今皆懺悔! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.157.60 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1505925975.A.AE1.html
f496328mm: 幫你推 我是用 Keras 用 TF 是不是比較厲害? 09/21 01:15
應該還好吧(////▽////) 主要是在FB上面看到就用了>///<
tsoahans: 一般網路不能疊那麼多層吧 resnet之類的特殊架構才能疊 09/21 01:22
tsoahans: 到一百多層 09/21 01:22
tsoahans: 你可以查看看 dying relu problem 09/21 01:26
有查過,我再多查查
KyotoAnime: 試試看add layer不要用函數包? 直接寫 09/21 03:25
KyotoAnime: 10層會不會要跑很久啊.. 09/21 03:26
我用1050Ti執行GPU運算,10層10w迴圈大約也在3min內,感覺還好
johnny78615: 用leakyrelu試試?解決 relu死掉的現象 09/21 05:53
有試過,但...沒有效果
ebullient: 把loss改成logistic跟lr改成decay跑100000epoch可以練 09/21 09:36
ebullient: 起來 09/21 09:36
不是很清楚怎改...我會研究看看! 請問您所說的lr是學習率?不是很清楚如何把我的loss改成logistic... 您說的logistic是指x - x * z + log(1 + exp(-x))嗎?
ebullient: goo.gl/t1L7Q3這個loss function,lr是學習率 09/21 10:48
好的,非常感謝您 <3
brightwish: initialize_all_variable 怎麼做的 有用random嗎 09/21 13:09
這是tf給予的函式,好像沒有random,但程式的其他地應該有對變數進行沒錯
brightwish: sigmoid 就是 logistic 09/21 13:12
謝謝您!
joeyccc1: xavier initializer 09/21 14:04
joeyccc1: or batch normalization 09/21 14:05
好的,謝謝您!我會再添加相關設定!
vfgce: hidden layer用relu, output layer用softmax.... 09/21 19:24
之前因為沒發現sigmoid跟softmax明顯差距,所以就用sigmoid了,之後會改用softmax, 謝謝您的建議!
pipidog: 不確定其他的問題,但看到幾點問題: 1.有人會output用 09/22 02:00
pipidog: sigmoid嗎? 如果你是做分類問題,應該用softmax,這兩者功 09/22 02:00
pipidog: 用完全不同 09/22 02:01
之所以會用是因為一開始學習時都是看到sigmoid,也真的有部份教學用sigmoid, 所以不小心就誤用了>"< 謝謝提醒<(_ _)>
pipidog: 2.如果是新版TF,initialize_all_variabel已經09/22 02:01
pipidog: 不支援了,最好也改掉. 09/22 02:01
當時找到這個範例最方便套用, 試用也沒有問題,一時沒想到會有版本新舊問題,感謝您!
pipidog: 3.看起來你對神經網路還很陌生,我 09/22 02:01
pipidog: 建議你可以先用Keras實作,而不要一開始就碰TF,你會比較懂 09/22 02:02
pipidog: 神經網路的模型,然後你再去搞懂TF,因為看起來你對於怎麼 09/22 02:02
pipidog: 搭建神經網路都還不太熟,就被困在TF的語法裡面了. 09/22 02:03
pipidog: 最後一提,一般對於多層感知器(就是你在做的事情),增加層 09/22 02:05
pipidog: 數到這麼多意義不大,一般一兩層就可以了,但節點可以多一 09/22 02:05
pipidog: 些.用太多層,會導致後向傳播時要處理的參數幾何式增長,計 09/22 02:07
我以前聽教學說雖然沒有一定,但節點數通常為輸入的1.5倍,我實驗原本輸入是8筆 所以就沒想到調節點數了>"< 非常感謝您無私的教導 m(_ _)m
kaneson: 10層dnn任一條x->y的路徑相當於乘了10次weight, 你的inpu 09/22 02:38
kaneson: t在0.7附近, 初始weights用random normal預設也在 0 附 09/22 02:38
kaneson: 近(-1,1), 這樣後面output應該都是0,所以我覺得train不 09/22 02:38
kaneson: 出東西來 09/22 02:38
kaneson: 所謂疊幾十上百層的是CNN,架構有其原理與作用,也有很多 09/22 02:52
kaneson: 不同技巧解決梯度消失的問題。其實最尾巴接上的full-conn 09/22 02:52
kaneson: ected layer與softmax組成的分類器也很少會超過二,三層 09/22 02:52
kaneson: 。 09/22 02:52
kaneson: 還有像樓上所說的剛開始建議先玩Keras, 一方面比較方便 09/22 03:00
kaneson: 拼接出不同典型model來比較看看,而且TF本身api很亂寫起 09/22 03:00
kaneson: 來也較不直覺。 09/22 03:00
我原本以為...BP會把一切問題都解決的...輸出結果錯誤,所以就把權重修正到合理範圍 ,但沒想到...原來BP好像有個修正的極限(? 其實其實我窩窩當初是想要做成CNN的,但研究一段時間不知道怎寫出來, 而且我要研究資料好像也不合適用CNN,所以才放棄的>////< 因為我當時剛接觸時,手邊資料很亂...我基本上要再3天內實做出基本能跑的DL... 所以工具看到了就用...沒想到有名的Google出的工具這底層, 其實我也是現在才接觸到Keras的,或許我當初早點接觸到,就不會用TF了 >"<
jack529: 感覺是層數太深,資料太少,導致gradient沒有變化,可以 09/22 18:19
jack529: 看看Loss有沒有降低~ 09/22 18:19
似乎...沒有降低...我正在研究把Loss改成怎樣好 有位大大幫我做了一些修正,現在問題已解決,謝謝大家的幫助與支持, 接下來我會慢慢吸收這段時間大家提供給我的資訊, 感謝大家m(_ _)m
jack529: 期待後續xd 推薦看看Coursera,Andrew大大開的Deep Learn 09/23 15:57
jack529: ing,看完會更有感覺! 09/23 15:57
嗯,我英文苦手QAQQQ 不過還是感謝大大給我這個學習的機會 <3 後續嘛~原則上希望不要再有問題了 :P
Kazimir: 好像太晚看到了XD 我猜大概是lr和sdv太高把relu弄死了 09/25 02:07
是說其實我到現在還不是很清楚lr設多少比較好,要如何判斷... 可用的lr比我逾期的低了100倍以上...
f496328mm: lr 你設多少? 可以從 1e-5 開始往前走 09/25 16:23
很想知道設這數值的原因...我目前也是差不多設這數值再修 但以前看教學,0.9都有人設了...說學比較快 我真正參考的範例是0.1,完全無法想像1e-5
Kazimir: 如果你使用標準的微分法 那lr就只能試了 理論上來說 09/25 18:58
Kazimir: 先大後小比較好 一般我都是從0.01開始 不過牽涉很多因素 09/25 18:59
Kazimir: 所以用adam比較方便.. 常常也比手動調整好一點 09/25 19:00
我目前就是使用AdamOptimizer,我也聽說先大後小比較好,但relu一直死掉... 經過版上大大改過,才知道要小到1e-5.... 目前不知道要怎求出學習率, 我只找出一個小規律,就是如果學習率*訓練次數大於1好像會死....
joeyccc1: 其實我第一個發現的地方是你沒有觀察cost所以只能猜或 09/26 04:18
joeyccc1: 者找不到錯誤在哪,但是我自己做ml也是慢慢試LR 09/26 04:18
嗯,謝謝大大提醒! 所以層數,節點數,訓練次數也是自己慢慢試囉Q m(_ _)m
Kazimir: 對於層數 某大牛(好像是Bengio)有說過 你就一直加深 09/27 01:33
Kazimir: 直到結果不再改善為止XD 所以基本上只能試了 09/27 01:34
好的,謝謝您!總之就是慢慢觀察結果進行微調了,謝謝 <(_ _)> ※ 編輯: st1009 (1.164.93.71), 09/27/2017 19:51:52