看板 DataScience 關於我們 聯絡資訊
問題類別: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://www.ptt.cc/bbs/DataScience/M.1592742903.A.B2E.html
email81227: 圖片那個有可能是模型太淺?請問後面是怎個不理想呢? 06/21 21:48
andy086: 你的圖片顏色都長一樣嗎?這樣用NN模型應該很難train吧, 06/21 22:26
andy086: cnn跑完的特徵矩陣會太過接近,這種感覺可以用opencv處理 06/21 22:26
andy086: 看看 06/21 22:26
andy086: 用色階方式處理在判斷圖形之類的 06/21 22:27
andy086: 驗證會這麼動盪感覺就是模型自己也不是很確定所以兩邊在 06/21 22:29
andy086: 猜,要馬就猜對很高不然就一起猜錯 06/21 22:29
s1010257: 目前不確定是不是模型太淺的關係,之前有試過比較深的cn 06/21 23:04
s1010257: n,但結果訓練集很快就收斂,最後測試集的混淆矩陣可以 06/21 23:04
s1010257: 看到沒有像訓練集的準確一樣高,結果就像下面這張圖 06/21 23:04
s1010257: https://i.imgur.com/VXlW37B.jpg 06/21 23:04
s1010257: 有可能喔,圖像擴增其實圖片背景顏色都差不多,我再嘗 06/21 23:08
s1010257: 試做一點其他顏色的圖片來訓練,謝謝你的建議,我再來 06/21 23:08
s1010257: 嘗試看看 06/21 23:08
s1010257: opencv影像處理這類的問題我想應該沒問題,但這個研究 06/21 23:11
s1010257: 的內容得用AI的元素QAQ 06/21 23:11
chang1248w: 為啥輸出是二維? 06/22 01:23
chang1248w: 輸出一維然後loss用BCE試試 06/22 01:26
chang1248w: 沒事 06/22 01:27
sxy67230: 很有可能最後的flattern出來的特徵太過相似,其實你的 06/22 19:19
sxy67230: 模型根本沒學到真正細部的特徵,用opencv同階色化 crop 06/22 19:19
sxy67230: 到你想要的部份在去train,或是直接轉換任務為相似度比 06/22 19:19
sxy67230: 對問題,在去做訓練。 06/22 19:19
s1010257: 用2D的卷積層,輸出張量是3D的應該沒錯(高、寬、channe 06/22 21:17
s1010257: l) 06/22 21:17
s1010257: 好,謝謝您的建議,我先去了解一下關於您的建議再去做 06/22 21:22
s1010257: 嘗試,謝謝 06/22 21:22
Sfly: 我覺得你需要來個1x1 conv 06/24 16:23
s1010257: 好,會嘗試看看 謝謝你! 06/24 23:59
email81227: 我注意到你給的圖片上loss不是binary_crossentropy 06/25 19:52
email81227: 有用過binary的試試看嗎? 06/25 19:53
s1010257: 最ㄧ開始我也有用過binary後來才改用categorical狀況好 06/26 01:26
s1010257: 像也沒改善,之後再測測看 06/26 01:26
p193202: 機械手臂擺放晶圓 wafer 的異常偏移偵測? 06/29 14:00
qwe84518: 把BN拿掉看看 06/30 16:19
s1010257: p大 不是,是類似判斷孔洞鑽孔是否正常的瑕疵檢測 06/30 21:29
s1010257: q大 有試著拿掉看看,但如果網路太深發現訓練結果都會 06/30 21:33
s1010257: 集中在pass,也有試過比較淺的,只是準確率也差不多在50 06/30 21:33
s1010257: 左右,目前在嘗試研究透過opencv對圖像做些處理再進行訓 06/30 21:33
s1010257: 練,之前都是丟原圖直接下去做模型訓練 06/30 21:33