機器之心發布
機器之心編輯部
近日,支付寶天筭安全實驗室在 CVPR FGVC(細粒度視覺分類)workshop 舉辦的植物病理學挑戰賽(Plant Pathology Challenge)中奪冠。本文介紹了冠軍隊伍及其解決方案。
CVPR(國際計算機視覺與模式識別會議)是由 IEEE 主辦的一年一度的世界頂級計算機視覺學術性會議。大會包含多個 workshop,以及對應的許多計算機視覺算法競賽。
其中 FGVC(細粒度視覺分類)workshop 也舉辦了多項競賽,如 Plant Pathology Challenge。該競賽的任務是:根據蘋果樹葉子圖片區分不同種類的疾病,提高疾病分類的準確率,從而減少化學藥品的濫用,及其導致的耐藥病原體菌株出現的問題。其帶來的效果是顯性地減少種植成本投入、錯誤疾病診斷帶來的經濟損失,以及不必要的環境汙染。
本次競賽共有 1317 支隊伍參加,支付寶天筭安全實驗室獲得冠軍,並與其他隊伍拉開較大差距。
本文將為大家介紹此次競賽冠軍團隊的解決方案。
Plant Pathology 競賽簡介
賽題數據集
本次競賽數據集包含 1821 張訓練圖像和 1821 張測試圖像,每張圖像有四種可能的標籤(健康、銹病、痂病、同時擁有兩種疾病),這四種類型的比例為 6:6:6:1,存在數據不平衡問題,且數據集中有一部分不準確標籤。
因此如何解決數據量少和標籤不準確問題,對所有參賽團隊都是個挑戰。
評價指標
賽題採用 mean column-wise ROC AUC 作為評價指標來衡量模型的性能,該指標的具體計算方式為各類標籤 ROC AUC 值的平均。
冠軍解決方案
如前所述,該競賽數據集存在數據量少以及標籤不準確的問題。為此,支付寶天筭安全團隊採用了數據增強和知識蒸餾技術。
數據增強
由於競賽數據集相對較小,直接使用原始數據進行訓練會導致模型存在過擬合的風險。為了更好地增加模型魯棒性,天筭安全團隊對數據集進行了如下一系列數據增強操作。
1. 隨機光照增強
2. 隨機對比度增強
3. 上下翻轉增強
4. 左右翻轉增強
5. 隨機旋轉縮放增強
此外,該團隊還使用了一些高斯模糊等肉眼不容易區分的增強操作,這些操作極大地豐富了訓練數據集,讓模型儘可能地學習更多的特徵,以增強其泛化程度。
from albumentations import ( Compose, Resize, OneOf, RandomBrightness, RandomContrast, MotionBlur, MedianBlur, GaussianBlur, VerticalFlip, HorizontalFlip, ShiftScaleRotate, Normalize,) train_transform = Compose( [ Resize(height=image_size[0], width=image_size[1]), OneOf([RandomBrightness(limit=0.1, p=1), RandomContrast(limit=0.1, p=1)]), OneOf([MotionBlur(blur_limit=3),MedianBlur(blur_limit=3), GaussianBlur(blur_limit=3),], p=0.5,), VerticalFlip(p=0.5), HorizontalFlip(p=0.5), ShiftScaleRotate( shift_limit=0.2, scale_limit=0.2, rotate_limit=20, interpolation=cv2.INTER_LINEAR, border_mode=cv2.BORDER_REFLECT_101, p=1, ), Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225), max_pixel_value=255.0, p=1.0), ])
模型選型
該團隊採用 seresnext50 作為訓練的模型框架,其中前綴 se 表示 squeeze and excitation 過程。該過程的原理是:通過控制 scale 的大小,把重要的特徵增強、不重要的特徵減弱,原理和注意力機制相同。其目的是讓提取的特徵指向性更強,從而更好地對 FGVC 任務中的精細特徵做識別。
訓練策略
該團隊採用 adam + cycle learning rate 的學習策略進行模型訓練。
這種學習策略的優勢是:通常不會產生太多過擬合,也不需要仔細調參。
誤差分析
誤差分析是提升深度學習模型性能中十分重要的一環。當模型訓練完成後,如何對模型性能進行改進才是提分的關鍵點。
該團隊通過熱力圖的方式將模型對圖片關鍵識別部位提取出來,這樣就能很清晰地了解模型看到了哪些部位才將圖片識別為對應的類別。把識別錯誤的圖片進行分析後,就可以知道模型訓練的整體環節中有哪些可以被改進。
自蒸餾
由於有些疾病較難區分,導致標籤存在一些不準確的情況,這給訓練增加了一定的難度,模型很可能被不準確的標籤誤導。
為了應對這種情況,支付寶團隊採用了自蒸餾的方式來解決該問題:訓練五折模型,然後將五折的驗證集組成 out-of-fold 文件,最後將 out-of-fold 的結果和 ground truth label 按 3:7 混合作為訓練新模型的標籤。簡單來說,就是給每個軟化前的標籤賦予一定的概率,從而降低模型訓練的難度 。
模型預測
在最後提交成績的階段,該團隊採用了 TTA(Test Time Augmentation)策略,對預測樣本都執行了一定的數據增強,然後對這些增強的預測值做平均加權,這也為模型結果起到了一定的提升作用。
小結
細粒度圖像分類是計算機視覺領域中極具挑戰的方向,但這一方向在實際應用中對於提升交易風險辨識度有很大的幫助。支付寶天筭安全團隊在此次競賽中所使用的原創模型,為用戶交易糾紛舉證、網站內容風險識別等場景的技術優化帶來了新思路。
冠軍團隊介紹
該技術研究團隊來自支付寶天筭安全實驗室,隸屬於支付寶安全實驗室。研究方向重點圍繞智能風控和反欺詐技術,探索安全領域的機器學習等前沿問題。此次該團隊不僅在 Kaggle 挑戰賽登頂,在全球僅 180 位 Kaggle Grandmaster 中,天筭安全實驗室佔了 4 位。該團隊還在 2019 年 AI 數據挖掘領域的「世界盃」KDD 比賽中奪冠,在 1600 餘支參賽隊伍中,碾壓了包括谷歌、微軟、Facebook 在內的全球強隊。
安全科技是支付寶的重要科技實力之一,該實驗室是支付寶「你敢付我敢賠」承諾的重要技術力量。