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

更新於 2024/05/01閱讀時間約 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
1會員
37內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
dab戴伯的沙龍 的其他內容
瞭解如何透過Regression實作Classification,使用one-hot vector表示不同的類別,並透過乘上不同的Weight和加上不同的bias來得到三個數值形成向量。同時通過softmax的方式得到最終的y'值,並探討使用Cross-entropy來計算類別的loss。
瞭解梯度下降算法中的學習速率調整,包括為什麼需要動態的學習速率、Root Mean Square、RMSProp、最常用的optimization策略Adam,以及如何進行Learning rate Scheduling。
本文將介紹batch的定義與其在機器學習中的作用,以及不同batch size 的影響。同時也會講解Momentum動量在機器學習中的重要性。透過本文,您將清楚地瞭解batch、batch size和Momentum動量的概念以及其對機器學習的影響。
之前有提到有時我們在微分之後會得到gradient = 0的值,就以為我們已經找到最小值,但其實它只是local minima。 那這一節主要想跟大家分享我們要怎麼區分是不是Local Minima。
這篇文章介紹瞭如何使用sigmoid函數來解決函數過於簡單導致的模型偏差問題,並透過尋找函數和參數來逼近precise linear curve。另外,也講述瞭如何尋找讓損失函數最小的參數以及使用batch和反覆進行Sigmoid的方法。
機器學習是什麼? 簡單來說,機器學習就是訓練機器尋找Function的一段過程,而這個Function可以幫助我們解決我們遇到的問題,或是幫助我們
瞭解如何透過Regression實作Classification,使用one-hot vector表示不同的類別,並透過乘上不同的Weight和加上不同的bias來得到三個數值形成向量。同時通過softmax的方式得到最終的y'值,並探討使用Cross-entropy來計算類別的loss。
瞭解梯度下降算法中的學習速率調整,包括為什麼需要動態的學習速率、Root Mean Square、RMSProp、最常用的optimization策略Adam,以及如何進行Learning rate Scheduling。
本文將介紹batch的定義與其在機器學習中的作用,以及不同batch size 的影響。同時也會講解Momentum動量在機器學習中的重要性。透過本文,您將清楚地瞭解batch、batch size和Momentum動量的概念以及其對機器學習的影響。
之前有提到有時我們在微分之後會得到gradient = 0的值,就以為我們已經找到最小值,但其實它只是local minima。 那這一節主要想跟大家分享我們要怎麼區分是不是Local Minima。
這篇文章介紹瞭如何使用sigmoid函數來解決函數過於簡單導致的模型偏差問題,並透過尋找函數和參數來逼近precise linear curve。另外,也講述瞭如何尋找讓損失函數最小的參數以及使用batch和反覆進行Sigmoid的方法。
機器學習是什麼? 簡單來說,機器學習就是訓練機器尋找Function的一段過程,而這個Function可以幫助我們解決我們遇到的問題,或是幫助我們
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
今年金鐘獎入圍名單日前公布,其中戲劇類的範疇對向來自封「台劇大使」的我來說,更是全情投入在為喜歡的「角色」或演員集氣。但獎項名額就是那麼多,總是會有許多遺憾,這篇就來談談我心中的幾個遺珠,單純以一個觀眾的角度,並非專業劇評,如果你有其他想法也歡迎留言一起討論。 姚淳耀《我願意》:姚淳耀在《我願意》
精緻澱粉是什麼 精緻澱粉是現代人飲食中非常普遍的一種食物成分。然而,長期以來,關於精緻澱粉的食用對身體健康的影響一直存在爭議。本文旨在介紹精緻澱粉的形成、種類、影響以及與非精緻澱粉的比較,以幫助讀者更好地了解這一食物成分。 精緻澱粉的形成 精緻澱粉是由天然的澱粉經過加工而成的。在加工過程中,澱粉的結
Thumbnail
台積電是台灣的護國神山,更狂的是,它是全世界主要國家的國防戰略的爭取夥伴。美總統拜登出面,APPLE庫克出面,MSFT出面。Samsuang 與Intel 多麼怕它。
Thumbnail
這裡先整理一下前面所談的,關於一人公司常出現的幾個挑戰: 上述這些挑戰是實務面可能會遇到的情況,這篇則會談論另外一些面向與因素。這些因素可以概略地分成幾點: 通常來講,這幾種情況也是我們會特別容易在工作中感到疲累的情況。在這篇中,我會先試著談論前三種因素。 第三種是有別於上兩者的另一種陷阱。
Thumbnail
金錢觀是個很有趣的東西,有些人非常富有卻很小氣吝嗇,有些人雖然貧窮,卻很敢大把花錢,想更深入了解自己的金錢觀嗎?最近日網michill就有一則心理測驗,可以透過選擇喜歡的水果,探究你的金錢觀與價值觀,快來一起看看吧! Q:現在來到農場,你最想摘哪一種水果呢? A: 1.櫻桃 2.草莓 3.奇異果 4
Thumbnail
自從深度學習於2012年開始受到關注後,全世界有非常多的專家學者致力於改良它,也因此造就了許多的創新以及突破。今天我們就來談談深度學習近幾年來一個非常熱門的新主題”生成對抗網路”GAN(*),這是2014年由當時為蒙特婁大學博士生的Ian Goodfellow所提出之類神經網路。
Thumbnail
這篇文章從類神經網路的起源,也就是單神經元的感知器。簡單的感知器迭代演算法使單神經元可以學習,但卻無法學習超過非線性,如 XOR 的資料分布。另外,本文還介紹了 Logistic regression,藉由透過非線性轉換來使線性輸出近似於機率分佈。最後則以一場大師賭局結束(SVM vs NN)。
Thumbnail
本文提到如何以類神經網路為主的深度學習方法,來進行物體偵測。文中包括基礎的物體偵測簡介:如影像問題分類,影像處理和傳統非類神經網路為主的物體偵測方法。這些傳統方法,仍可以在類神經網路的方法中找到其應用。最後簡略敘述當前使用深度卷積網路作為物體偵測的主要研究方向,並對學術界常用的訓練資料集做分析介紹。
Thumbnail
寫文章寫小說,要下功夫,是真的,不努力不行的,但所謂努力究竟是哪一種努力呢? 許多許多年之後,那次經驗始終是我在理解各種形式的創作,遇到與人有理說不清的憤恨,或是反省自己時,重要的一次神諭之夜......
Thumbnail
在此篇文章終將會簡述機械學習的發展,簡介深度學習以 Sequence to Sequence 為架構,並在多場機械翻譯的學術年會,獲得成績斐然的結果。在本文中,會粗略介紹 Sequence to Sequence 架構並以 google 在 2017 對Seq2Seq 所進行的大規模參數。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
今年金鐘獎入圍名單日前公布,其中戲劇類的範疇對向來自封「台劇大使」的我來說,更是全情投入在為喜歡的「角色」或演員集氣。但獎項名額就是那麼多,總是會有許多遺憾,這篇就來談談我心中的幾個遺珠,單純以一個觀眾的角度,並非專業劇評,如果你有其他想法也歡迎留言一起討論。 姚淳耀《我願意》:姚淳耀在《我願意》
精緻澱粉是什麼 精緻澱粉是現代人飲食中非常普遍的一種食物成分。然而,長期以來,關於精緻澱粉的食用對身體健康的影響一直存在爭議。本文旨在介紹精緻澱粉的形成、種類、影響以及與非精緻澱粉的比較,以幫助讀者更好地了解這一食物成分。 精緻澱粉的形成 精緻澱粉是由天然的澱粉經過加工而成的。在加工過程中,澱粉的結
Thumbnail
台積電是台灣的護國神山,更狂的是,它是全世界主要國家的國防戰略的爭取夥伴。美總統拜登出面,APPLE庫克出面,MSFT出面。Samsuang 與Intel 多麼怕它。
Thumbnail
這裡先整理一下前面所談的,關於一人公司常出現的幾個挑戰: 上述這些挑戰是實務面可能會遇到的情況,這篇則會談論另外一些面向與因素。這些因素可以概略地分成幾點: 通常來講,這幾種情況也是我們會特別容易在工作中感到疲累的情況。在這篇中,我會先試著談論前三種因素。 第三種是有別於上兩者的另一種陷阱。
Thumbnail
金錢觀是個很有趣的東西,有些人非常富有卻很小氣吝嗇,有些人雖然貧窮,卻很敢大把花錢,想更深入了解自己的金錢觀嗎?最近日網michill就有一則心理測驗,可以透過選擇喜歡的水果,探究你的金錢觀與價值觀,快來一起看看吧! Q:現在來到農場,你最想摘哪一種水果呢? A: 1.櫻桃 2.草莓 3.奇異果 4
Thumbnail
自從深度學習於2012年開始受到關注後,全世界有非常多的專家學者致力於改良它,也因此造就了許多的創新以及突破。今天我們就來談談深度學習近幾年來一個非常熱門的新主題”生成對抗網路”GAN(*),這是2014年由當時為蒙特婁大學博士生的Ian Goodfellow所提出之類神經網路。
Thumbnail
這篇文章從類神經網路的起源,也就是單神經元的感知器。簡單的感知器迭代演算法使單神經元可以學習,但卻無法學習超過非線性,如 XOR 的資料分布。另外,本文還介紹了 Logistic regression,藉由透過非線性轉換來使線性輸出近似於機率分佈。最後則以一場大師賭局結束(SVM vs NN)。
Thumbnail
本文提到如何以類神經網路為主的深度學習方法,來進行物體偵測。文中包括基礎的物體偵測簡介:如影像問題分類,影像處理和傳統非類神經網路為主的物體偵測方法。這些傳統方法,仍可以在類神經網路的方法中找到其應用。最後簡略敘述當前使用深度卷積網路作為物體偵測的主要研究方向,並對學術界常用的訓練資料集做分析介紹。
Thumbnail
寫文章寫小說,要下功夫,是真的,不努力不行的,但所謂努力究竟是哪一種努力呢? 許多許多年之後,那次經驗始終是我在理解各種形式的創作,遇到與人有理說不清的憤恨,或是反省自己時,重要的一次神諭之夜......
Thumbnail
在此篇文章終將會簡述機械學習的發展,簡介深度學習以 Sequence to Sequence 為架構,並在多場機械翻譯的學術年會,獲得成績斐然的結果。在本文中,會粗略介紹 Sequence to Sequence 架構並以 google 在 2017 對Seq2Seq 所進行的大規模參數。