第二部:《深度學習》29/100 圖像增強與資料擴充 📸 模擬多樣環境提升泛化力!

更新 發佈閱讀 7 分鐘

AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》

29/100 第三週:📌 卷積神經網路 CNN

29.圖像增強與資料擴充 📸 模擬多樣環境提升泛化力!

________________________________________

✅ 為什麼要圖像增強?

神經網路天生容易過擬合。如果只讓模型看過乾淨且單一角度的圖像,它無法應對現實世界的「雜訊、多樣性與變形」。

📌 解法:資料擴充(Data Augmentation) 透過「改變影像但不改變標籤」的方式,產生更多樣化訓練樣本。

________________________________________

📸 圖像增強的常見手法

  • 旋轉(Rotation):模擬物體出現不同角度,提升模型角度適應力
  • 平移(Translation):模擬物體在畫面中位置變化,提升位置不變性
  • 縮放(Zoom):模擬距離與解析度差異,增強尺度彈性
  • 翻轉(Flip):水平或垂直反射,如狗頭從左變右,增強視角多樣性
  • 亮度調整:模擬不同光照條件(如日夜、陰天)
  • 雜訊加入(Noise):模擬干擾,提升模型對雜訊的魯棒性
  • 剪裁(Crop):模擬只拍到部分目標,訓練局部特徵辨識________________________________________

🧠 類比理解:

資料擴充就像是給 AI 一場「軍事訓練」:不只學知識,更學應對突發環境。

________________________________________

⚙️ TensorFlow / Keras 圖像增強實作:

python

from tensorflow.keras.preprocessing.image import ImageDataGenerator

datagen = ImageDataGenerator(

rotation_range=20,

width_shift_range=0.1,

height_shift_range=0.1,

zoom_range=0.2,

horizontal_flip=True,

brightness_range=[0.8, 1.2]

)

# 假設 X_train 是圖片資料

datagen.fit(X_train)

model.fit(datagen.flow(X_train, y_train, batch_size=32),

epochs=30, validation_data=(X_val, y_val))

這段程式碼透過 ImageDataGenerator 實作即時資料增強,對訓練影像進行隨機旋轉、平移、縮放、亮度調整與水平翻轉等變化,有效提升資料多樣性與模型的泛化能力。接著使用 .flow() 動態產生經過增強的批次資料,搭配原模型進行訓練,使模型在面對各種圖像變異時更具魯棒性,並透過驗證資料評估訓練成效,是圖像分類任務中常見且實用的強化手段。

________________________________________

📦 TensorFlow 2.x 更推薦方式(tf.keras.layers 方式):

python

from tensorflow.keras import layers

data_augmentation = tf.keras.Sequential([

layers.RandomFlip("horizontal"),

layers.RandomRotation(0.1),

layers.RandomZoom(0.1),

layers.RandomTranslation(0.1, 0.1),

])

model = tf.keras.Sequential([

data_augmentation,

layers.Conv2D(32, (3, 3), activation='relu', input_shape=(128, 128, 3)),

...

])

這段程式碼展示了如何在 TensorFlow 中將 資料增強(Data Augmentation)流程作為模型的一部分。透過 tf.keras.Sequential 定義的 data_augmentation 模組,訓練時對輸入影像進行隨機水平翻轉、旋轉、縮放和平移,強化模型對圖像變化的適應能力。接著,這個增強模組被作為模型的第一層,與後續的卷積層(如 Conv2D)串接起來,組成整體模型架構。這種做法可實現端到端訓練,並在每個 epoch 中即時生成多樣化影像,提升模型泛化能力與魯棒性,特別適合用於影像分類等任務。

________________________________________

📊 圖像增強的效益

效益類型 說明

✅ 降低過擬合 模型不會只記住固定圖像,而能「理解概念」

✅ 提升泛化力 增強模型在測試集、實際應用中的表現

✅ 擴充資料量 對於樣本數不足的資料集效果尤其明顯

✅ 模擬真實情境 光線、角度、視角多樣化,貼近現實世界

________________________________________


💡 增強 VS 合成?

方法 差異說明

資料擴充 原始圖像修改,不改變標籤

合成資料 過 GAN 或人工繪圖製造新樣本

兩者可配合使用,但擴充技術更穩定且無需人工標記。

________________________________________

🎯 小結與啟示:

✅ 資料擴充 = 用更少的資料,模擬更多的學習環境

✅ 幾乎所有 CNN 訓練專案都應該加入 Augmentation 策略

✅ 是提升效能與實用性最「經濟有效」的訓練方式!



留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
8會員
156內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/04
Flatten 將 CNN 提取的多維特徵圖攤平成一維向量,供全連接層(Dense)進行分類決策。Dense 層可整合所有特徵,搭配激活函數如 ReLU 與 Softmax 完成輸出,是 CNN 模型邁向分類的關鍵步驟。
2025/09/04
Flatten 將 CNN 提取的多維特徵圖攤平成一維向量,供全連接層(Dense)進行分類決策。Dense 層可整合所有特徵,搭配激活函數如 ReLU 與 Softmax 完成輸出,是 CNN 模型邁向分類的關鍵步驟。
2025/09/04
批次正規化(Batch Norm)可穩定激活分布、加速收斂並提升泛化能力,常用於卷積或全連接層後、ReLU 前。透過標準化與可學參數調整輸入分布,是 ResNet、Transformer 等架構的關鍵技術。小 batch 時可改用 Layer Norm 或 Group Norm。
2025/09/04
批次正規化(Batch Norm)可穩定激活分布、加速收斂並提升泛化能力,常用於卷積或全連接層後、ReLU 前。透過標準化與可學參數調整輸入分布,是 ResNet、Transformer 等架構的關鍵技術。小 batch 時可改用 Layer Norm 或 Group Norm。
2025/09/04
LeNet-5(1998)首次將 CNN 成功應用於手寫數字辨識;AlexNet(2012)結合 ReLU、Dropout 與 GPU 加速;ResNet(2015)提出殘差連接,解決深層網路退化問題。三者分別象徵深度學習的啟蒙、突破與深化,成為電腦視覺發展的重要里程碑。
2025/09/04
LeNet-5(1998)首次將 CNN 成功應用於手寫數字辨識;AlexNet(2012)結合 ReLU、Dropout 與 GPU 加速;ResNet(2015)提出殘差連接,解決深層網路退化問題。三者分別象徵深度學習的啟蒙、突破與深化,成為電腦視覺發展的重要里程碑。
看更多
你可能也想看
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
數據分析與解讀 隨著數據的爆炸式增長,能夠分析、解讀和應用數據的能力變得至關重要。這包括熟悉數據分析工具和技術,如統計學、數據挖掘、機器學習等。然而,僅靠短時間的數據分析並不足以提供深入見解。 要熟悉數據分析工具和技術,如統計學、數據挖掘和機器學習,可以從以下幾個方面入手: 基礎知識的學習
Thumbnail
數據分析與解讀 隨著數據的爆炸式增長,能夠分析、解讀和應用數據的能力變得至關重要。這包括熟悉數據分析工具和技術,如統計學、數據挖掘、機器學習等。然而,僅靠短時間的數據分析並不足以提供深入見解。 要熟悉數據分析工具和技術,如統計學、數據挖掘和機器學習,可以從以下幾個方面入手: 基礎知識的學習
Thumbnail
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
本文將延續上一篇文章,經由訓練好的GAN模型中的生成器來生成圖片 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 [深度學習][Python]訓練CNN的GAN模型來生成圖片_訓練篇 相較之下CNN的GAN生成的效果比較好,但模型也相對比較複雜,訓練時間花的也比較
Thumbnail
本文將延續上一篇文章,經由訓練好的GAN模型中的生成器來生成圖片 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 [深度學習][Python]訓練CNN的GAN模型來生成圖片_訓練篇 相較之下CNN的GAN生成的效果比較好,但模型也相對比較複雜,訓練時間花的也比較
Thumbnail
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
Thumbnail
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
Thumbnail
本文將延續上一篇文章,經由訓練好的VAE模型其中的解碼器,來生成圖片。 [深度學習]訓練VAE模型用於生成圖片_訓練篇 輸入產生的隨機雜訊,輸入VAE的解碼器後,生成的圖片
Thumbnail
本文將延續上一篇文章,經由訓練好的VAE模型其中的解碼器,來生成圖片。 [深度學習]訓練VAE模型用於生成圖片_訓練篇 輸入產生的隨機雜訊,輸入VAE的解碼器後,生成的圖片
Thumbnail
本文主要介紹,如何利用VAE變分自編碼器來訓練生成圖片。 訓練集資料將採用TF影像資料庫中的fashion_mnist VAE變分自編碼器簡單介紹 •VAE(Variational Auto-Encoder)中文名稱變分自編碼器,主要是一種將原始資料編碼到潛在向量空間,再編碼回來的神經網路。
Thumbnail
本文主要介紹,如何利用VAE變分自編碼器來訓練生成圖片。 訓練集資料將採用TF影像資料庫中的fashion_mnist VAE變分自編碼器簡單介紹 •VAE(Variational Auto-Encoder)中文名稱變分自編碼器,主要是一種將原始資料編碼到潛在向量空間,再編碼回來的神經網路。
Thumbnail
GNN發展背景 傳統的深度學習模型如在計算機視覺(CV)和自然語言處理(NLP)領域中極為成功,主要是處理結構化數據如影像和文本。這些數據類型通常具有固定且規律的結構,例如影像是由有序的像素點組成。然而,在真實世界中,許多數據是非結構化的,如化合物結構(原子和分子)。這些數據雖然具有一定的規則性,
Thumbnail
GNN發展背景 傳統的深度學習模型如在計算機視覺(CV)和自然語言處理(NLP)領域中極為成功,主要是處理結構化數據如影像和文本。這些數據類型通常具有固定且規律的結構,例如影像是由有序的像素點組成。然而,在真實世界中,許多數據是非結構化的,如化合物結構(原子和分子)。這些數據雖然具有一定的規則性,
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News