1. 程式人生 > >深度學習演算法效果提升-資料

深度學習演算法效果提升-資料

       在初學機器學習的時候,常常看到一些博友提到,做機器學習80%以上的時間都用在了處理資料上,當初不以為然。現在工作也一年多了,在實際的專案中深深地體會到了這種說法的合理性。對於深度學習演算法而言,提升效果最明顯的方法就是資料了,改網路、損失函式、調參這些通常只能提升1~2個點,所以只適用於刷榜和最終的優化。在實際的專案過程中,前期都是通過做資料來顯著提升模型效果的。
       在做專案中,測試模型效果用的資料通常都是業務上的真實資料,而訓練資料有三種來源:(1) 無可用的訓練集,需要人力進行資料的採集和標定,這裡最關鍵的就是制定標定說明書了;(2) 有可用訓練集,但是其中存在噪聲,需要清洗後才能使用;(3) 有可用的公開資料集,可以直接拿來訓練模型。下面解釋跟資料相關的兩個方向。

1. 資料準備

       為了使模型在業務測試集上有比較好的表現,一定要保證自己的訓練集和測試集圖片分佈相似,最簡單的方法就是,在桌面並排展示訓練集和測試集兩個資料夾中的圖片,對比觀察它們的差異,比如手機上的相簿分類演算法,如果測試集中的人像類別多為亞洲人,那麼訓練集也應該爬取相應的圖片了,如果測試集中的動物類別只有貓狗,那麼在爬去訓練集中的動物類別素材時,爬取所有動物的圖片就毫無意義了,反而會降低模型在測試集上的效果。

2.資料增強

       資料增強在模型效果優化方面,算是“錦上添花”了。更多地,它應用於當前的訓練資料量很少,或者訓練資料量足夠但是圖片多樣性不夠的情況。總結來說,資料增強的方法有以下幾種,
       (1) 隨機翻轉,包括左右翻轉和上下翻轉;
       (2) 隨機旋轉,通常在45度以內;
       (3) 隨機裁剪。
值得注意的是,增廣後的影象要符合真實的場景。