亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Keras 中的分割網絡在訓練期間收斂到單個類

Keras 中的分割網絡在訓練期間收斂到單個類

慕雪6442864 2022-01-05 19:18:59
我正在嘗試使用 Tensorflow 后端在 Keras 中實現 RefineNet。我正在使用來自https://gist.github.com/flyyufelix/65018873f8cb2bbe95f429c474aa1294的 ResNet-101 前端和預訓練權重。模型編譯成功,但在訓練期間不收斂:它總是在 1 到 5 個訓練步驟后收斂到單個類。我嘗試過的東西清單/雖然:輸入數據是one-hot編碼輸入圖像具有正確的對應掩碼損失函數是分類交叉熵預訓練的權重正確,前端正確分類輸入圖像(例如貓)凍結/解凍前端層似乎沒有什么區別不同的優化器(Adam,SGD),不同的學習率(0.01 - 0.000001)網絡甚至不會收斂到/過擬合單個訓練樣本類不平衡:我嘗試使用加權損失,沒有幫助。此外,網絡并不總是收斂到最大的類。檢查網絡圖并將它們與 RefineNet 論文中的架構進行比較??赡苁悄撤N初始化問題,但 Keras 的默認初始化是內核的 glorot_uniform 和偏差的零,想不出比這更好的了。ReLU 可能已經全部消亡,但僅在幾個訓練步驟后就不應該發生這種情況,對嗎?我試過 LeakyRelU,沒有幫助。嘗試了不同的輸入大小、批量大小、隨機裁剪、縱橫比(此時有點絕望)。嘗試輸入隨機噪聲,行為相同。最后一點讓我認為架構只是無視輸入,但我不知道在哪里,如何以及為什么。訓練期間的示例輸出:Training:Step 0, loss 15.566238403320312, acc 0.012790679931640625Step 1, loss 9.91278076171875, acc 0.36734771728515625Step 2, loss 10.994621276855469, acc 0.27989959716796875Step 3, loss 10.00101375579834, acc 0.3611602783203125Step 4, loss 11.439224243164062, acc 0.2010345458984375Step 5, loss 11.397968292236328, acc 0.229278564453125Step 6, loss 9.844161987304688, acc 0.3711433410644531Step 7, loss 9.981706619262695, acc 0.36286163330078125Step 8, loss 11.335559844970703, acc 0.21475982666015625Step 9, loss 9.997631072998047, acc 0.3608970642089844...完整代碼可以在以下 Google Colab notebook 中找到:https ://colab.research.google.com/drive/1OlujuKZYhRaTm9h7rHAPEi9gkiYmQLR_我已嘗試盡可能輕松地重現該問題。任何幫助/想法將不勝感激!
查看完整描述

1 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

在 conv 層解決問題之后添加 Batch Normalization 層。


查看完整回答
反對 回復 2022-01-05
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號