[問題] imagenet pretrained model accuracy

看板DataScience作者 (stella)時間4年前 (2020/07/02 12:05), 4年前編輯推噓6(609)
留言15則, 5人參與, 4年前最新討論串1/1
作業系統:win10+colab 問題類別:ML, DL 使用工具:keras 問題內容: 大家好,最近在做圖像分類,約有100k張圖像,問題是一直遇到val_acc上不去的問題, 想詢問有什麼解決辦法,謝謝! 我是使用resnet50的pretrained model,且套用imagenet的weight,因此在最後一層換成 自己的分類器,並只訓練最後一層。 圖像處理部分使用imagedatagenerator,resize至224*224,並加上翻轉、縮放等增強, 以及將pixel scale成0-1之間。 validation則不做增強,只做scale到0-1。 訓練時training accuracy會隨epoch上升至0.5多,但validation永遠只有0.02...。 想到的可能改善方法是 1.換個模型 2.不確定是否一定要用preprocess_input,看了圖像格式和generator是一樣的,應該沒 影響? 是不是我有哪邊少做漏掉了才造成validation這麼低呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.242.15.153 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1593662706.A.D6D.html

07/02 14:14, 4年前 , 1F
validation set 怎麼切出來的 ?有沒有imbalance 的問題
07/02 14:14, 1F

07/02 14:15, 4年前 , 2F
另外,您的資料集部分利用現在的 augmentation 設定是否合理
07/02 14:15, 2F

07/02 14:16, 4年前 , 3F
val acc 不動,那 loss 有變動嗎 ?
07/02 14:16, 3F

07/02 14:17, 4年前 , 4F
我覺得 train acc 這樣其實蠻低,有可能是分類器結構的問題
07/02 14:17, 4F
我是按各類別比例切的,的確是有一類約較少,約500,其他類皆有1500-2500左右,共40 多類,可能算是有一點不平衡,但不確定會不會是最主要的因素。 加入augmentation後的準確率有上升,但我沒有思考過各個augmentation的設定,所以這 也會是一個問題嗎 val loss算是有動,不過變化不大,大概每個epoch會降0.1,但acc幾乎不動,如果是分 類器問題的話,是應該要選再深一點的模型嗎?謝謝!! ※ 編輯: stellawang18 (27.242.15.153 臺灣), 07/02/2020 18:38:32

07/02 20:39, 4年前 , 5F
先用兩類試試吧 如果data沒問題 通常是loss寫錯或超參
07/02 20:39, 5F

07/02 20:39, 4年前 , 6F
數不對
07/02 20:39, 6F
我用兩類試了,training acc約0.9,validation acc有到0.5,但後來降到0.48 data算是有些noise,但主要是不曉得為何training和validation結果差很多

07/02 23:59, 4年前 , 7F
這資料量不要用pretrain了
07/02 23:59, 7F
是因為資料量太多嗎,我一開始也沒有用pretrain,是有人推薦我用的,雖然training結 果變好,但反而validation變很差 ※ 編輯: stellawang18 (27.242.15.153 臺灣), 07/03/2020 00:21:58 ※ 編輯: stellawang18 (27.242.15.153 臺灣), 07/03/2020 00:23:36 ※ 編輯: stellawang18 (27.242.15.153 臺灣), 07/03/2020 00:25:29

07/03 06:48, 4年前 , 8F
你要pretrain試試看Adam lr調大資料分布不太一樣,lr 太
07/03 06:48, 8F

07/03 06:48, 4年前 , 9F
小影響不大,我是建議不要load pretrain啦
07/03 06:48, 9F
了解!我再試試不用pretrain,謝謝你!!

07/03 08:02, 4年前 , 10F
碰到過類似的問題,當時是因為BN的moving mean/var還
07/03 08:02, 10F

07/03 08:02, 4年前 , 11F
沒有收斂,特別是當BN的momentum較大的時候
07/03 08:02, 11F

07/03 08:04, 4年前 , 12F
把BN的momentum調小試試,或是多train幾個epoch讓其
07/03 08:04, 12F

07/03 08:04, 4年前 , 13F
收斂
07/03 08:04, 13F
是指調pretrain內的BN嗎? ※ 編輯: stellawang18 (39.11.129.250 臺灣), 07/04/2020 00:25:47

07/04 03:26, 4年前 , 14F
是的
07/04 03:26, 14F
原來!沒有想到調BN!找到方向了,我再研究看看,非常謝謝你! ※ 編輯: stellawang18 (39.11.129.250 臺灣), 07/04/2020 12:35:02

07/06 11:06, 4年前 , 15F
如果你是在弄蝦皮那個 我推薦effiectnet / xception
07/06 11:06, 15F
對~!雖然結束了但會再試試你推薦的方法,真是實作才知道自己能力多不足,謝謝你! ! ※ 編輯: stellawang18 (39.11.129.250 臺灣), 07/06/2020 21:39:16 ※ 編輯: stellawang18 (39.11.129.250 臺灣), 07/06/2020 21:39:40
文章代碼(AID): #1U_Lporj (DataScience)
文章代碼(AID): #1U_Lporj (DataScience)