第二部:《深度學習》16/100 批次訓練與迷你批次策略 📦 批次訓練讓模型更有效率!

更新於 發佈於 閱讀時間約 6 分鐘

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

16/100 第二週:多層感知器 MLP

16.批次訓練與迷你批次策略 📦 批次訓練讓模型更有效率!

________________________________________

✅ 核心概念:

神經網路訓練的本質是透過反覆讀資料 → 調整參數,而一次要餵多少筆資料給模型處理,會直接影響訓練速度、準確性與穩定性。

📌 批次訓練策略 = 決定「梯度下降時」處理多少資料量。

________________________________________

🧠 三種常見訓練方式比較:

三種常見的訓練方式各有優劣,主要差異在於每次更新所處理的資料量。

Batch Gradient Descent 一次使用全部訓練資料進行參數更新,雖然收斂穩定但資源消耗大,適合資料量小的情況;

Stochastic Gradient Descent (SGD) 每次只用一筆資料進行更新,計算快速但波動大,具有隨機性,適合線上學習或動態資料;

Mini-Batch Gradient Descent 則是折衷方案,一次處理少量樣本(如32或64筆),兼顧速度與穩定性,是目前實務中最常用的訓練策略。選擇合適的方法能有效提升訓練效率與模型表現。

________________________________________

📦 迷你批次(Mini-Batch)優勢

✅ GPU 加速訓練最適配

✅ 記憶體使用效率高

✅ 訓練收斂穩定,能快速迭代

✅ 支援並行運算與 Batch Normalization

________________________________________

🔁 搭配 Epoch 訓練說明:

Epoch:所有資料都看過一次

Batch size:每次訓練用幾筆資料

Steps per epoch:= 總樣本數 / 批次大小

📌 例如:

總資料量:60,000 筆

批次大小(batch size):64

則每個 epoch 要跑約 937 次 mini-batch 更新

________________________________________

⚙️ TensorFlow 實作範例:

python

model.fit(x_train, y_train,

epochs=10,

batch_size=64, # 迷你批次大小

validation_split=0.2)

可選擇:

batch_size=1 → 相當於 SGD

batch_size=全體資料量 → 等同於 Batch GD

batch_size=32 / 64 / 128 → Mini-batch(最推薦)

這段程式碼中 model.fit() 用來訓練模型,batch_size=64 表示採用 Mini-Batch Gradient Descent,每次更新使用 64 筆資料,是實務中兼顧效率與穩定性的主流做法。若設定 batch_size=1,則變成 Stochastic Gradient Descent(SGD),每筆資料即時更新參數,速度快但震盪大;若設為整體訓練資料數(如 batch_size=len(x_train)),則為 Batch Gradient Descent,雖然穩定但效能低且記憶體需求大。Mini-batch(如 32、64、128)則在訓練效率與收斂穩定性間取得最佳平衡,是大多數深度學習應用中最推薦的選擇。

________________________________________

📊 迷你批次策略的效能影響:

批次大小(batch size)對模型訓練影響深遠。若設為 1(SGD),雖然更新速度快,但因隨機性高,導致訓練過程極不穩定,準確率波動大,適合即時學習或線上更新場景;設為全部資料(Batch GD)則最穩定,但訓練速度極慢、效率低,僅適合小型資料集;最常見的做法是選擇 32~128 之間的 mini-batch,能兼顧訓練速度、穩定性與模型準確率,因此成為深度學習實務中的最佳策略。

________________________________________

💡 小提醒:大批次 ≠ 一定更好!

若使用過大批次(如 >1024),可能會造成:

訓練泛化能力下降(容易記住、難以抽象)

GPU 記憶體超載

過快收斂到局部最佳解

________________________________________

🎯 小結與啟示:

✅ 迷你批次訓練 = 訓練效率與泛化能力的平衡點

✅ 批次大小是重要超參數,需根據資料集大小與設備性能調整

✅ 搭配 Batch Normalization 與適當學習率策略,效果更顯著!



留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
8會員
137內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/04
損失函數是模型學習的方向指引。分類任務用交叉熵,能精準衡量機率差異並加速收斂;迴歸任務用均方誤差,適合連續數值預測但對離群值敏感。若誤用 MSE 做分類,會導致收斂慢且準確率差。選對損失函數才能提升模型效能。
2025/09/04
損失函數是模型學習的方向指引。分類任務用交叉熵,能精準衡量機率差異並加速收斂;迴歸任務用均方誤差,適合連續數值預測但對離群值敏感。若誤用 MSE 做分類,會導致收斂慢且準確率差。選對損失函數才能提升模型效能。
2025/08/29
學習率決定模型每次更新權重的步伐大小,是訓練中最關鍵的超參數之一。若學習率太大,模型會震盪不收斂;太小則收斂太慢。透過梯度下降法與適當的學習率調整技巧(如 Adam、Decay、Momentum、Warm-up)可加速並穩定模型訓練。選對學習率,能讓模型快速且準確地學到最佳解。
2025/08/29
學習率決定模型每次更新權重的步伐大小,是訓練中最關鍵的超參數之一。若學習率太大,模型會震盪不收斂;太小則收斂太慢。透過梯度下降法與適當的學習率調整技巧(如 Adam、Decay、Momentum、Warm-up)可加速並穩定模型訓練。選對學習率,能讓模型快速且準確地學到最佳解。
2025/08/29
激活函數是神經網路能學習非線性特徵的關鍵,沒有它,無論堆疊多少層都只是線性模型。常見激活函數如 ReLU、Sigmoid、Tanh、Leaky ReLU、Softmax 各有用途,其中 ReLU 最常用,具高效與快速收斂優點。選擇合適的激活函數能讓模型具備更強的表達力與判斷力,是深度學習的核心之一。
2025/08/29
激活函數是神經網路能學習非線性特徵的關鍵,沒有它,無論堆疊多少層都只是線性模型。常見激活函數如 ReLU、Sigmoid、Tanh、Leaky ReLU、Softmax 各有用途,其中 ReLU 最常用,具高效與快速收斂優點。選擇合適的激活函數能讓模型具備更強的表達力與判斷力,是深度學習的核心之一。
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
呈上篇介紹如何訓練模型,此篇就主要介紹如何利用訓練好的模型來生成圖片 [深度學習][Python]DCGAN訓練生成手寫阿拉伯數字_生成篇 生成的結果 生成的圖片大小會根據,當初設置的生成器輸出大小來決定,當你使用生成對抗網絡(GAN)生成圖像時,生成器模型的最後一層通常會決定生成圖
Thumbnail
呈上篇介紹如何訓練模型,此篇就主要介紹如何利用訓練好的模型來生成圖片 [深度學習][Python]DCGAN訓練生成手寫阿拉伯數字_生成篇 生成的結果 生成的圖片大小會根據,當初設置的生成器輸出大小來決定,當你使用生成對抗網絡(GAN)生成圖像時,生成器模型的最後一層通常會決定生成圖
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
本文主要介紹,如何利用GAN生成對抗網路來訓練生成圖片。 利用tensorflow,中的keras來建立生成器及鑑別器互相競爭訓練,最後利用訓練好的生成器來生成圖片。 GAN生成對抗網路的介紹 它由生成網路(Generator Network)和鑑別網路(Discriminator Netwo
Thumbnail
本文主要介紹,如何利用GAN生成對抗網路來訓練生成圖片。 利用tensorflow,中的keras來建立生成器及鑑別器互相競爭訓練,最後利用訓練好的生成器來生成圖片。 GAN生成對抗網路的介紹 它由生成網路(Generator Network)和鑑別網路(Discriminator Netwo
Thumbnail
本文將延續上一篇文章,經由訓練好的VAE模型其中的解碼器,來生成圖片。 [深度學習]訓練VAE模型用於生成圖片_訓練篇 輸入產生的隨機雜訊,輸入VAE的解碼器後,生成的圖片
Thumbnail
本文將延續上一篇文章,經由訓練好的VAE模型其中的解碼器,來生成圖片。 [深度學習]訓練VAE模型用於生成圖片_訓練篇 輸入產生的隨機雜訊,輸入VAE的解碼器後,生成的圖片
Thumbnail
本文介紹了AI助手在數據收集和訓練過程中的工作原理和不斷進步的過程。關注的內容包括從公開的網絡資源、書籍、文章等渠道收集數據,數據的清洗和結構化處理,知識庫的增量更新以及訓練算法和模型的優化。如果大家對AI助手的發展還有任何其他感興趣的話題或建議,歡迎隨時告訴我們,讓我們共同探索,攜手進步。
Thumbnail
本文介紹了AI助手在數據收集和訓練過程中的工作原理和不斷進步的過程。關注的內容包括從公開的網絡資源、書籍、文章等渠道收集數據,數據的清洗和結構化處理,知識庫的增量更新以及訓練算法和模型的優化。如果大家對AI助手的發展還有任何其他感興趣的話題或建議,歡迎隨時告訴我們,讓我們共同探索,攜手進步。
Thumbnail
本文將展示使用不同激活函數(ReLU 和 Sigmoid)的效果。 一個簡單的多層感知器(MLP)模型來對 Fashion-MNIST 資料集進行分類。 函數定義 Sigmoid 函數 Sigmoid 函數將輸入壓縮到 0到 1 之間: 特性: 輸出範圍是 (0,1)(0, 1)(0,1
Thumbnail
本文將展示使用不同激活函數(ReLU 和 Sigmoid)的效果。 一個簡單的多層感知器(MLP)模型來對 Fashion-MNIST 資料集進行分類。 函數定義 Sigmoid 函數 Sigmoid 函數將輸入壓縮到 0到 1 之間: 特性: 輸出範圍是 (0,1)(0, 1)(0,1
Thumbnail
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。
Thumbnail
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News