高二學生:Kaggle Whale 鯨尾識別分類銀牌解決方案

https://zhuanlan.zhihu.com/p/58081812git

筆者介紹
楊樂涵,成都實驗外國語學校高二學生,華中科技大學機器學習實習研究生,師從何琨教授,主要研究興趣爲計算機視覺。創新工場DeeCamp2018成員,Kaggle Expert(top 1.21%),兩枚銀牌,目前計算機視覺方向論文一篇。歡迎各位國內外的導師幫助我保送國內本科。github

Team leader Khoi已經在kaggle discussion上發表了部分的工做app

https://www.kaggle.com/c/humpback-whale-identification/discussion/82393機器學習

參賽人員:Khoi Nguyen、Iafoss、Hans Yang、Oceanide

排名:31/2131(top 2% silver medal)學習

高二學生:Kaggle Whale 鯨尾識別分類銀牌解決方案

致謝
Martin,感謝martin在上一次kaggle whale playground比賽中的第一名代碼和解決方案。測試

Alex Liao @AlexL,感謝Alex在比賽期間回答了咱們不少問題,而且透露了必定的trickui

Lu Yang,感謝西北工業大學的Lu Yang學長在比賽期間與咱們分享他的test方法,是咱們在public LB上能boost 0.02左右的分數blog

何琨,感謝何教授在比賽前期提供了一些關於one-shot的思路資源

interneuron,感謝interneuron在discussion提出的Images with text OCR方法,使咱們在LB上獲得了更優的方法

Guosheng Hu @Guosheng Hu,感謝胡博士在比賽前期給咱們了專業的指導

代碼&解決方案
代碼:https://github.com/suicao/Siamese-Whale-Identification

模型結構:Siamese(cnn部分使用DenseNet12一、DenseNet16九、ResNet50、NasNetMobile)、ResNeXt50、SE-ResNeXt10一、SE-ResNeXt152

1.使用ImageNet預訓練模型,Iafoss的單模型分數最高的是DenseNet121(0.938LB)

2.咱們嘗試在前大約100個epochs使用384384的小尺寸圖像,再使用512512尺寸的圖像訓練50 epochs,受限於計算資源,咱們沒有更大的顯存或使用半精度來訓練更大尺寸的圖像,通過試驗驗證,使用大尺寸圖像來訓練會有更高的LB分數。

3.在使用TTA以後LB有所下降,因此咱們最後沒有使用TTA

4.我也曾經嘗試過在siamese中使用nasnetmobile,不過nasnetmobile的訓練速度實在太慢,以致於沒能跑到100epoch以上

5.SE-ResNeXt101 152在訓練過程當中出現了一些小bug,在10 epoch左右的時候loss再也不降低,嘗試使用Adam和SGD都有一樣的問題,最終由於時間問題並未解決該bug

6.ResNet50 正常分類訓練,測試的時候不輸出類的標籤,直接提取特徵向量(度量歐式距離最近的幾個),new_whale不參與訓練,僅參與測試。

7.最後經過多模型的融合達到了Private LB 0.94417

Additional:使用RGB而非Gray,咱們最高的Gray單模型僅僅達到了0.89x

Happy Kaggle, Happy academic.

相關文章
相關標籤/搜索