資料增強是一種通過減少過拟合的簡單技術。在資料增強(data augmentation)中,假設我們處理的資料集有限,而深度學習需要更多的資料,那麼我們可以通過資料增強來生成資料。
例如,如果我們有一張照片,使用Keras圖像生成器(image generator)可以建立一張新照片。這一過程被稱為資料增強,有助于減少過拟合。
資料增強通過使用現有資料建立修改後的資料集副本來人工增加訓練集。
增強資料 vs. 合成資料
- 增強資料來自原始資料,進行了些許修改。
- 合成資料是在不使用原始資料集的情況下人工生成的。它通常使用深度神經網絡(DNNs)和生成對抗網絡(GANs)來生成合成資料。
何時使用資料增強?
防止模型過拟合。
初始訓練集太小。
提高模型準确性。
降低标注和清理原始資料集的操作成本。
資料增強的局限性
原始資料集中的偏差會在增強資料中保留。
資料增強的品質保證成本高昂。
需要研究和開發(RnD)來建構具有進階應用的系統。例如,使用GANs生成高分辨率圖像可能具有挑戰性。
資料增強的應用
- 醫療
- 自動駕駛汽車
- 自然語言處理
- 自動語音識别
Tensorflow和Keras提供的圖像增強功能非常友善。
隻需添加一個增強層,tf.image或ImageDataGenerator來執行增強。
資料增強在涉及文本或圖像分類的機器學習模型中更為常用,因為在這些領域中收集新資料可能很困難。
.flow_from_directory(directory)這些生成器可以與Keras模型方法一起使用,這些方法接受資料生成器作為輸入,例如fit_generator、evaluate_generator和predict_generator。