作者AzureDay (麥)
看板C_and_CPP
標題[問題] Deep learning net參數調整
時間Mon Mar 21 11:03:49 2016
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux, Tensorflow
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
OpenCV
問題(Question):
目前做了一些實驗,放了VOC2007的Data set下去做學習
只訓練了分類問題,並把圖片類別調整只剩為單一類別
去做softmax的分類學習
network為 5層conv 與 3層fc
再來接到softmax_with_loss
最佳化使用GradientDescentOptimizer
learning rate = 0.005
而初始weigth and biases 的參數為random_normal
其設定參數stddev=0.1
實驗一 只考慮兩張圖(故意訓練到overfitting)
做了兩個部分的weight and biases value的init不同
會導致一個loss很高下不去,另一個則是會loss會降到很接近零
stddev=0.1 stddev=0.01
這種情況期其實想不通,麻煩各位大大指點
實驗二
10張圖 batch size 10的情況下(想訓練到overfitting)
拿了兩張圖片可以訓練到loss很小的參數來用
但是會撞到調整到某一次迭代後loss會變成超大
然後在下一次輸出的值就變成nan
但經由調整參數後又可以降到loss很小(並且可以對訓練資料預測正確)
實驗三
拿了整個VOC2007的訓練資料集做訓練
batch size一樣為10 訓練參數一樣 image就是整個訓練資料集
其解果同實驗二也會有一樣的情形
net的參數需要重新調整
想詢問的點是在於
這樣做實驗是否有問題?
如果image、batch size的數量不同,
初始參數也要跟著調整這樣真的合理嗎?
餵入的資料(Input):
VOC2007訓練資料結果
預期的正確結果(Expected Output):
預測voc2007圖片正確的分類
錯誤結果(Wrong Output):
學習無效 or 輸出結果突然變成nan
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.66.243.96
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1458529436.A.48B.html
推 schizophrena: deep learning\n的參數現在會調的人也只有發明者 03/21 12:56
→ schizophrena: 他自己也承認他有時也是猜的 03/21 12:57
→ AzureDay: 雖然當初在做測試已知參數調教可能都是猜的... 03/21 14:29
→ AzureDay: 可是猜總要有方向去猜吧OTZ 03/21 14:29
推 CaptainH: nn結構?初始值?優化方式? 03/21 15:04
→ CaptainH: 你都不講 誰會知道 03/21 15:05
→ AzureDay: 感謝大大提醒,我漏了馬上補上 03/21 15:43
C大已修正內文,如果有遺漏再麻煩您指點一下
※ 編輯: AzureDay (114.136.4.102), 03/21/2016 15:55:25
※ 編輯: AzureDay (114.136.4.102), 03/21/2016 15:56:05