作者s1010257 (波)
看板DataScience
標題[問題] 驗證集資料評估
時間Sun Jun 21 20:35:01 2020
問題類別:CNN
使用工具:tensorflow,keras
問題內容:
最近在用CNN來判斷如下圖所示(示意圖)
如果紅圈壓到藍色區塊則辨識為NG,
反之則正常
https://i.imgur.com/M9xOoAi.jpg
分類輸出就兩類,一個NG,另一個OK
原始資料集圖片數量NG 30張,ok 10張
我透過圖像擴增的方式將圖片增加到6萬張(兩類數量各半)
然後拆分80%訓練集 10%驗證集 10%驗證集
CNN架構以下面acc及loss數據表
我只有搭一層卷積(filter=64)和池化層
接一個隱藏層(60個神經元)和輸出(2個)
在輸出成前面有加個BN層做正規化
跑出來的結果可以看到訓練集資料都蠻穩定成長
但驗證集的成長幅度很不穩定
https://i.imgur.com/NtU94Ui.jpg
之前也有嘗試使用VGG16之類的模型結構
也有自己嘗試搭2~3層的卷積層
可是效果也不太理想
去請教別別人是說可能模型太深
所以這次我用一層的卷積及池化作嘗試
但感覺還是不太理想
想請問大家遇到這種情況可能的原因是什麼?
好讓我有個方向嘗試改善,
最近種感覺就單純隨便在try參數及模型架構
但結果都很不理想,很茫然QAQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.165.106.190 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1592742903.A.B2E.html
1F:推 email81227: 圖片那個有可能是模型太淺?請問後面是怎個不理想呢? 06/21 21:48
2F:推 andy086: 你的圖片顏色都長一樣嗎?這樣用NN模型應該很難train吧, 06/21 22:26
3F:→ andy086: cnn跑完的特徵矩陣會太過接近,這種感覺可以用opencv處理 06/21 22:26
4F:→ andy086: 看看 06/21 22:26
5F:→ andy086: 用色階方式處理在判斷圖形之類的 06/21 22:27
6F:→ andy086: 驗證會這麼動盪感覺就是模型自己也不是很確定所以兩邊在 06/21 22:29
7F:→ andy086: 猜,要馬就猜對很高不然就一起猜錯 06/21 22:29
8F:→ s1010257: 目前不確定是不是模型太淺的關係,之前有試過比較深的cn 06/21 23:04
9F:→ s1010257: n,但結果訓練集很快就收斂,最後測試集的混淆矩陣可以 06/21 23:04
10F:→ s1010257: 看到沒有像訓練集的準確一樣高,結果就像下面這張圖 06/21 23:04
12F:→ s1010257: 有可能喔,圖像擴增其實圖片背景顏色都差不多,我再嘗 06/21 23:08
13F:→ s1010257: 試做一點其他顏色的圖片來訓練,謝謝你的建議,我再來 06/21 23:08
14F:→ s1010257: 嘗試看看 06/21 23:08
15F:→ s1010257: opencv影像處理這類的問題我想應該沒問題,但這個研究 06/21 23:11
16F:→ s1010257: 的內容得用AI的元素QAQ 06/21 23:11
17F:→ chang1248w: 為啥輸出是二維? 06/22 01:23
18F:→ chang1248w: 輸出一維然後loss用BCE試試 06/22 01:26
19F:→ chang1248w: 沒事 06/22 01:27
20F:推 sxy67230: 很有可能最後的flattern出來的特徵太過相似,其實你的 06/22 19:19
21F:→ sxy67230: 模型根本沒學到真正細部的特徵,用opencv同階色化 crop 06/22 19:19
22F:→ sxy67230: 到你想要的部份在去train,或是直接轉換任務為相似度比 06/22 19:19
23F:→ sxy67230: 對問題,在去做訓練。 06/22 19:19
24F:→ s1010257: 用2D的卷積層,輸出張量是3D的應該沒錯(高、寬、channe 06/22 21:17
25F:→ s1010257: l) 06/22 21:17
26F:→ s1010257: 好,謝謝您的建議,我先去了解一下關於您的建議再去做 06/22 21:22
27F:→ s1010257: 嘗試,謝謝 06/22 21:22
28F:推 Sfly: 我覺得你需要來個1x1 conv 06/24 16:23
29F:→ s1010257: 好,會嘗試看看 謝謝你! 06/24 23:59
30F:推 email81227: 我注意到你給的圖片上loss不是binary_crossentropy 06/25 19:52
31F:→ email81227: 有用過binary的試試看嗎? 06/25 19:53
32F:→ s1010257: 最ㄧ開始我也有用過binary後來才改用categorical狀況好 06/26 01:26
33F:→ s1010257: 像也沒改善,之後再測測看 06/26 01:26
34F:→ p193202: 機械手臂擺放晶圓 wafer 的異常偏移偵測? 06/29 14:00
35F:推 qwe84518: 把BN拿掉看看 06/30 16:19
36F:→ s1010257: p大 不是,是類似判斷孔洞鑽孔是否正常的瑕疵檢測 06/30 21:29
37F:→ s1010257: q大 有試著拿掉看看,但如果網路太深發現訓練結果都會 06/30 21:33
38F:→ s1010257: 集中在pass,也有試過比較淺的,只是準確率也差不多在50 06/30 21:33
39F:→ s1010257: 左右,目前在嘗試研究透過opencv對圖像做些處理再進行訓 06/30 21:33
40F:→ s1010257: 練,之前都是丟原圖直接下去做模型訓練 06/30 21:33