類神經網路訓練 批次標準化 (Batch Normalization)

更新 發佈閱讀 2 分鐘

Q: 通常我們在找參數的過程中會發現,我們有沒有辦法改善error surface,讓他看起來不那麼複雜?!

A: 我們可以通過Batch Normalization解決這個問題。


在調整兩個參數的error surface中,w1與w2的斜率差異過大,才會造成error surface的圖形太過複雜。所以我們可以想想,怎麼樣讓w1與w2產生變化時,loss的變化不會很大,這樣就可以將error surface簡單化?


假設有一個function: y = w1x1+w2x2,如果x1的值很小(像是x1 = 1, 2),x2的值很大(像是x2 = 1000, 2000),則每當w1變化時,y的變化也會很小,但x2變化時,y的變化就會變大,這樣就會造成error surface很複雜。

-> 所以如果我們可以讓x1與x2的變化同步,就能讓error surface簡單化。

-> Feature normalization就可以解決這樣的問題。


Feature Normalization

首先,我們根據不同的dimension,求出每個dimension的平均值mean, 標準差standard deviation。

之後,將該dimension的所有值,放入normalization的公式,得到新的值:

i = xi - m / σi,再放回原本的feature內。

透過這樣的方法,loss在計算時,收斂的速度就會快很多,訓練也會順利很多。


但這有個問題,就是在機器學習中,通常都是非常大量的數據在訓練,這會太過龐大。

所以我們通常會以一個batch作為基準去計算normalization。

-> 這就是Batch Normalization。


除此之外,我們也要注意的是,在normalization之後,還是會通過與參數W的計算或是sigmoid的計算,得到新的值,這樣的值有可能造成原本侷限在0~1的值被放大到差異化加大。所以適時也要為計算完的數值再次做normalization。


Testing normalization value

但我們在訓練完進到testing環節,很多時候沒辦法等一個batch size的資料量都完整後才進行normalization,所以通常pytorch在進行normalization時,會計算moving average,透過已經算出來的batch average,評估出目前的平均值應該是多少。

計算方法: u = pu + (1-p)ut

u: 到目前為止算出來的平均

ut:第t個batch的平均

p: 由我們自己設定的hyperparameter(pytorch設定為0.1)

透過這樣的方式,我們能得到moving average的平均值u, 與標準差σ

可以直接透過這樣的方式計算出batch normalization。



留言
avatar-img
留言分享你的想法!
avatar-img
dab戴伯的沙龍
1會員
37內容數
dab戴伯的沙龍的其他內容
2024/09/03
*本文章為參考李弘毅2021年機器學習課程後的筆記。 在訓練模型的時候,常常會遇到訓練上的問題,像是Loss值太大,或是Test出來的結果不如預期,但我們又不知道模型中到底發生了甚麼事,就跟黑盒子一樣。 因此,感謝李弘毅教授傳授了一套SOP來幫助我們判斷模型是哪裡出了問題,應該要怎麼解決!!
Thumbnail
2024/09/03
*本文章為參考李弘毅2021年機器學習課程後的筆記。 在訓練模型的時候,常常會遇到訓練上的問題,像是Loss值太大,或是Test出來的結果不如預期,但我們又不知道模型中到底發生了甚麼事,就跟黑盒子一樣。 因此,感謝李弘毅教授傳授了一套SOP來幫助我們判斷模型是哪裡出了問題,應該要怎麼解決!!
Thumbnail
2024/05/16
本文介紹自我監督學習的概念和訓練方式,以BERT和GPT為例,深入探討Masking Input及Fine-Tune的實際操作和可應用性。
Thumbnail
2024/05/16
本文介紹自我監督學習的概念和訓練方式,以BERT和GPT為例,深入探討Masking Input及Fine-Tune的實際操作和可應用性。
Thumbnail
2024/05/15
這篇文章探討了生成式對抗網路中機率分佈的使用與相關的訓練方式,包括Generator不同的點、Distriminator的訓練過程、生成圖片的條件設定等。此外,也提到了GAN訓練的困難與解決方式以及不同的learning方式。文章內容豐富且詳細,涵蓋了GAN的各個相關面向。
Thumbnail
2024/05/15
這篇文章探討了生成式對抗網路中機率分佈的使用與相關的訓練方式,包括Generator不同的點、Distriminator的訓練過程、生成圖片的條件設定等。此外,也提到了GAN訓練的困難與解決方式以及不同的learning方式。文章內容豐富且詳細,涵蓋了GAN的各個相關面向。
Thumbnail
看更多
你可能也想看
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
高中數學主題練習—配方法
Thumbnail
高中數學主題練習—配方法
Thumbnail
資料前處理(Data Preprocessing)中的重要角色-缺失值處理。從檢查、刪除到填充缺失值,以及插值法和機器學習算法的應用方法。Pandas 缺失值處理基礎方法、進階填充缺失值、鐵達尼號存活預測資料集的示例和機器學習算法填補缺失值方法的介紹與使用。
Thumbnail
資料前處理(Data Preprocessing)中的重要角色-缺失值處理。從檢查、刪除到填充缺失值,以及插值法和機器學習算法的應用方法。Pandas 缺失值處理基礎方法、進階填充缺失值、鐵達尼號存活預測資料集的示例和機器學習算法填補缺失值方法的介紹與使用。
Thumbnail
中學數學基礎練習—整數減法練習
Thumbnail
中學數學基礎練習—整數減法練習
Thumbnail
高中數學主題練習—根式化簡
Thumbnail
高中數學主題練習—根式化簡
Thumbnail
高中數學主題練習—根式化簡
Thumbnail
高中數學主題練習—根式化簡
Thumbnail
高中數學主題練習—標準化計算
Thumbnail
高中數學主題練習—標準化計算
Thumbnail
演算法映射化簡的核心觀念 在面對新題目的時候,除了重頭想一個新的演算法之外; 還有另一個方法,想看看有沒有核心觀念彼此相同的問題與演算法, 如果有,就可以把新的題目映射化簡到已知解法的問題,用已知的演算法去解開。 接著,我們會介紹幾個範例,並且使用映射化簡的技巧來解題,透過化
Thumbnail
演算法映射化簡的核心觀念 在面對新題目的時候,除了重頭想一個新的演算法之外; 還有另一個方法,想看看有沒有核心觀念彼此相同的問題與演算法, 如果有,就可以把新的題目映射化簡到已知解法的問題,用已知的演算法去解開。 接著,我們會介紹幾個範例,並且使用映射化簡的技巧來解題,透過化
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News