深度學習中的Data Augmentation方法(轉)
阿新 • • 發佈:2019-01-04
在深度學習中,當資料量不夠大時候,常常採用下面4中方法:
1. 人工增加訓練集的大小. 通過平移, 翻轉, 加噪聲等方法從已有資料中創造出一批"新"的資料.也就是Data Augmentation
2. Regularization. 資料量比較小會導致模型過擬合, 使得訓練誤差很小而測試誤差特別大. 通過在Loss Function 後面加上正則項可以抑制過擬合的產生. 缺點是引入了一個需要手動調整的hyper-parameter. 詳見https://www.wikiwand.com/en/Regularization_(mathematics)
3. Dropout. 這也是一種正則化手段. 不過跟以上不同的是它通過隨機將部分神經元的輸出置零來實現. 詳見
4. Unsupervised Pre-training. 用Auto-Encoder或者RBM的卷積形式一層一層地做無監督預訓練, 最後加上分類層做有監督的Fine-Tuning. 參考http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.207.1102&rep=rep1&type=pdf 下面我們來討論Data Augmentation:
不同的任務背景下, 我們可以通過影象的幾何變換, 使用以下一種或多種組合資料增強變換來增加輸入資料的量. 這裡具體的方法都來自數字影象處理的內容, 相關的知識點介紹, 網上都有, 就不一一介紹了.
- 旋轉 | 反射變換(Rotation/reflection): 隨機旋轉影象一定角度; 改變影象內容的朝向;
- 翻轉變換(flip): 沿著水平或者垂直方向翻轉影象;
- 縮放變換(zoom): 按照一定的比例放大或者縮小影象;
- 平移變換(shift): 在影象平面上對影象以一定方式進行平移;
可以採用隨機或人為定義的方式指定平移範圍和平移步長, 沿水平或豎直方向進行平移. 改變影象內容的位置; - 尺度變換(scale): 對影象按照指定的尺度因子, 進行放大或縮小; 或者參照SIFT特徵提取思想, 利用指定的尺度因子對影象濾波構造尺度空間. 改變影象內容的大小或模糊程度;
- 對比度變換(contrast): 在影象的HSV顏色空間,改變飽和度S和V亮度分量,保持色調H不變. 對每個畫素的S和V分量進行指數運算(指數因子在0.25到4之間), 增加光照變化;
- 噪聲擾動(noise): 對影象的每個畫素RGB進行隨機擾動, 常用的噪聲模式是椒鹽噪聲和高斯噪聲;
- 顏色變換(color): 在訓練集畫素值的RGB顏色空間進行PCA, 得到RGB空間的3個主方向向量,3個特徵值, p1, p2, p3, λ1, λ2, λ3. 對每幅影象的每個畫素Ixy=[IRxy,IGxy,IBxy]T進行加上如下的變化:
[p1,p2,p3][α1λ1,α2λ2,α3λ3]T
其中:αi是滿足均值為0,方差為0.1的隨機變數.
載自 http://www.cnblogs.com/love6tao/p/5841648.html