圖片鑑黃答辯之圖像分類調參

隨着互聯網的發展,內容安全成爲互聯網不得不面臨的嚴峻挑戰。互動社區的崛起,網友素質的參差不齊,由於“涉黃”被勒令關閉的網站多如牛毛,因此“鑑黃”也顯得尤爲重要。雖然各個互聯網企業都有專門的人員來做內容審覈,但是無法跟上內容發展的速度,人工審覈容易出現審覈不及時、高成本、主觀判斷影響結果等問題。

因此通過深度學習的人工智能技術來進行圖片鑑黃也是迫在眉睫。在本數據集一共包括5種圖片類別,每個類別至少有1000張圖像,其中訓練集、驗證集和測試集劃分比例爲6:2:2. 

分析:賽題爲圖像5分類問題,初步選用resnet50 , vgg19 ,densenet 進行測試得分,使用預訓練權重,改變softmax輸出層的輸出特徵維度爲5。

 

核心思路(解決方法的重點和亮點。包括但不限於數據預處理、數據增強、模型選擇、模型優化、模型集成等)

進一步嘗試後,採用了resnext網絡,使用開源權重(from github)調參明細如下: 

  • 選用網絡resnext101_32x16和pretrained weights :,引用pytorch相關庫實現,
  • 圖像變換 : 0.5概率的水平翻轉。 
  • 凍結網絡層 : 前5層(此賽題效果最佳)。引用前人調參經驗如下:場景:數據集小,數據相似度不高  在這種情況下,我們可以凍結預訓練模型中的前k個層中的權重,然後重新訓練後面的n-k個層,當然最後一層也需要根據相應的輸出格式來進行修改。  
  • 因爲數據的相似度不高,重新訓練的過程就變得非常關鍵。而新數據集大小的不足,則是通過凍結預訓練模型的前k層進行彌補。 
  • 圖像size :2245. 衰減的學習率 : 餘弦退火策略 - torch.optim.lr_scheduler.CosineAnnealingLR()

 

心得收穫(競賽收穫,上分經驗,比賽技巧) 

  • 就圖像分類finetuning而言,模型和權重的選擇至關重要。合適的網絡類型有助於高的準確率,而預訓練模型決定了網絡的起步ACC 和 收斂速度,快速收斂到全局最優。 
  • 圖像大小的話,一般情況224差不多,太大的話顯存不夠用,就要降低batch_size了,可能影響ACC。
  • 學習率由大到小衰減,策略選用.CosineAnnealing。 相關方法已經封裝在pytorch裏了。
  • 圖像變換的話,簡單高效選定一兩樣即可。 比如 中心裁剪,水平、垂直翻轉,仿射變換,繞中心旋轉,像素擦除。最後的話,在賽末階段,提升0.幾分都得靠運氣,儘量多提交幾次。 可以在torchvison這個包中找到相應方法。

本文爲作者在FlyAI平臺發佈的原創內容,採用知識共享署名-非商業性使用-禁止演繹 4.0 國際許可協議進行許可,轉載請附上原文出處鏈接和本聲明。
本文鏈接地址(視頻講解直達):https://www.flyai.com/n/97740

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章