深度學習中的Batch與Momentum

更新於 2024/04/30閱讀時間約 2 分鐘

Batch是甚麼?

  1. batch的目的是幫助我們將訓練的資料"分組",假如有120筆資料,我們想平均分成12個batch,那每一組batch就會有10筆資料(batch size = 10)。
  2. 接著,我們在更新gradient與參數θ時,就會根據每一組batch更新一次。以上面的例子,我們有12組batch,所以會更新12次

*shuffle: 每一次epoch之後,重新分配一次batch。


為甚麼需要使用Batch?

  1. batch size = N(full batch),也就是每組batch的資料量與我們的資料量一樣多的狀況 -> 比較耗時,但穩定度高。(因為每更新一次,就要將一個batch中20筆資料的loss算完加總。)
  2. batch size =1,每組batch中只有一筆資料的情況 -> 比較省時,但不穩定。


Example:

假設有我們有20筆資料要做更新,有兩種batch size: N=10 or 1

Batch size = 10的情況中,每更新一次,就必須將10筆資料的Loss加總。

而batch size =1的情況中,每次更新,都只要計算1筆資料的Loss。


但事實上,batch size比較大的情況,不一定會比batch size小的情況耗時。

-> 因為實際在運算時,可以藉由我們GPU的硬體加乘,讓多筆data可以平行運算。

-> 但有趣的是,我們會發現batch size越小,training的精準度會越好,這也可以被稱為Noisy Update。而大的batch size會得到比較不好的結果 -> optimization fail




Momentum 動量

動量的創造是為了解決卡在local minima與saddle point的情況。可以想像有一顆球在曲線上滾動,只要他遇到還有更低點,那球自然會繼續滾動,我們就是要模擬這樣的狀況。

那要如何模擬呢?

movement mi可以假設是上一步運動的方向。

所以具體的算法就會變成:

θ1 = θ0 - learning rate * g

=> θ1 = θ0 + m1, m1 = λm0 - (learning rate * g), λ由我們自己調整。

可以想像成動量守恆,必須加上原本運動的方向。

raw-image



avatar-img
1會員
37內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
dab戴伯的沙龍 的其他內容
之前有提到有時我們在微分之後會得到gradient = 0的值,就以為我們已經找到最小值,但其實它只是local minima。 那這一節主要想跟大家分享我們要怎麼區分是不是Local Minima。
這篇文章介紹瞭如何使用sigmoid函數來解決函數過於簡單導致的模型偏差問題,並透過尋找函數和參數來逼近precise linear curve。另外,也講述瞭如何尋找讓損失函數最小的參數以及使用batch和反覆進行Sigmoid的方法。
機器學習是什麼? 簡單來說,機器學習就是訓練機器尋找Function的一段過程,而這個Function可以幫助我們解決我們遇到的問題,或是幫助我們
static 關鍵字主要用於管理記憶體,可用在variables, methods, blocks, nested classed。加上static關鍵字的物件,會在啟動程式當下就會賦予記憶體位置給此物件,後續無論實例化多少次,記憶體的位置都相同。 以class舉例,static class 與
在Android 編譯成功後,在out/target/product/generic會產生與系統對應的映像檔,分別是ramdisk.img關於root文件系統, system.img關於主要的包及庫, userdata.img關於用戶數據,分別對應的目錄為root, system, data映像檔簡
主要在使用這兩種類型時常常會忘記,所以簡單整理一下內容 Stack Stack<Character> stack = new stack<>(); 屬於LIFO的特性,也就是先進後出的概念,因此所有動作通常是發生在top,可以想像成放球的瓶子,只有頂端一個開口可以拿最上面的那顆球。 可以使用
之前有提到有時我們在微分之後會得到gradient = 0的值,就以為我們已經找到最小值,但其實它只是local minima。 那這一節主要想跟大家分享我們要怎麼區分是不是Local Minima。
這篇文章介紹瞭如何使用sigmoid函數來解決函數過於簡單導致的模型偏差問題,並透過尋找函數和參數來逼近precise linear curve。另外,也講述瞭如何尋找讓損失函數最小的參數以及使用batch和反覆進行Sigmoid的方法。
機器學習是什麼? 簡單來說,機器學習就是訓練機器尋找Function的一段過程,而這個Function可以幫助我們解決我們遇到的問題,或是幫助我們
static 關鍵字主要用於管理記憶體,可用在variables, methods, blocks, nested classed。加上static關鍵字的物件,會在啟動程式當下就會賦予記憶體位置給此物件,後續無論實例化多少次,記憶體的位置都相同。 以class舉例,static class 與
在Android 編譯成功後,在out/target/product/generic會產生與系統對應的映像檔,分別是ramdisk.img關於root文件系統, system.img關於主要的包及庫, userdata.img關於用戶數據,分別對應的目錄為root, system, data映像檔簡
主要在使用這兩種類型時常常會忘記,所以簡單整理一下內容 Stack Stack<Character> stack = new stack<>(); 屬於LIFO的特性,也就是先進後出的概念,因此所有動作通常是發生在top,可以想像成放球的瓶子,只有頂端一個開口可以拿最上面的那顆球。 可以使用
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
這本書訪談了大學學生,並且歸納出幾點建議,書中也提到不必每條條都嚴格遵守,而是選擇一組吸引你的規則,並在大學生活中履行。 我自己在看這本書的時候,結合自己的大學經歷,選取幾點我比較有感觸的部分,分為以下幾點,後面則會提到一些關於書中內容反思
Thumbnail
學術論文的段落比網路文章更為複雜。 利用筆記卡片的方式來解析學術論文能夠提煉出更具價值的知識。 此外,卡片化的學習方法可能對學術研究特別有用。
Thumbnail
英文學習貴在能學以致用。自學好(中)高階時事(商用)英文過程中,關鍵在於是否有足夠詞彙量?及是否能自行理解字裡行間複雜的文法結構?每日例行閱讀一篇國際知名新聞摘要,是自我提升英文很有效的方法,雖然花時間,但工整的複習筆記,就是建構自己知識庫很重要的學習資源。
Thumbnail
我因為老高關於講運氣的影片,看到某位觀眾留言4think的文章,文筆通順好閱讀、案例有趣好吸收,不看還看一看成粉絲,在這邊也推薦該網站給大家。 本書我推薦給對於閱讀、思考領域有興趣的讀者
Thumbnail
在資訊繁複的環境中,你是否經常感到學習過於分散、無法深入,或是難以理解自己的內心世界? 在這個瞬息萬變的世界裡,我們都渴望抓住並善用所獲得的知識,並深入理解自己的內在世界。你是否曾經苦惱過如何有效地管理學習,讓思考更有深度,或者如何更好地理解自己的情感和想法?這篇文章會為你揭示三個能有效解答這些問題
Thumbnail
記得2001年的時候,曾經上映一步電影,叫作「A.I.人工智慧」,格式是在描述一個機械小男孩,想要成為人類的故事。記得2001年的時候,曾經上映一步電影,叫作「A.I.人工智慧」,格式是在描述一個機械小男孩,想要成為人類的故事。 當時在看這部電影的時候,除了對於小男孩的執著印象深刻外,另外也在思考,
Thumbnail
快速精通專業的學習能力與在品質和速度達到高水準的生產能力,是在快速變化的數位時代中,取得不可取代性與競爭力的兩種關鍵能力,而這兩種關鍵能力與深度工作力息息相關:你是否能長時間專注在單一工作上。
Thumbnail
在一個波光粼粼的人造河邊,我想著怎麼樣的人,最後能走上創作這條路?作家這等人的本質是什麼? 從學術的世界出走,開始進入藝術的世界後,發現科學跟藝術,本質上是相似的-都需要面對一個人的孤獨。
Thumbnail
現代流圍棋五原則能擊敗(干擾)「ZenGo 九段」與「Katrain 9段」電腦圍棋,其意義類似當今時髦的愚弄人工智慧的「干擾遊戲」。也同時證明了,人類的圍棋智慧卻是「由上而下」(Top-Down)的「知識策略」,最終可能戰勝有史以來最強的AI人工智慧電腦圍棋─ AlphaGo Zero。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
這本書訪談了大學學生,並且歸納出幾點建議,書中也提到不必每條條都嚴格遵守,而是選擇一組吸引你的規則,並在大學生活中履行。 我自己在看這本書的時候,結合自己的大學經歷,選取幾點我比較有感觸的部分,分為以下幾點,後面則會提到一些關於書中內容反思
Thumbnail
學術論文的段落比網路文章更為複雜。 利用筆記卡片的方式來解析學術論文能夠提煉出更具價值的知識。 此外,卡片化的學習方法可能對學術研究特別有用。
Thumbnail
英文學習貴在能學以致用。自學好(中)高階時事(商用)英文過程中,關鍵在於是否有足夠詞彙量?及是否能自行理解字裡行間複雜的文法結構?每日例行閱讀一篇國際知名新聞摘要,是自我提升英文很有效的方法,雖然花時間,但工整的複習筆記,就是建構自己知識庫很重要的學習資源。
Thumbnail
我因為老高關於講運氣的影片,看到某位觀眾留言4think的文章,文筆通順好閱讀、案例有趣好吸收,不看還看一看成粉絲,在這邊也推薦該網站給大家。 本書我推薦給對於閱讀、思考領域有興趣的讀者
Thumbnail
在資訊繁複的環境中,你是否經常感到學習過於分散、無法深入,或是難以理解自己的內心世界? 在這個瞬息萬變的世界裡,我們都渴望抓住並善用所獲得的知識,並深入理解自己的內在世界。你是否曾經苦惱過如何有效地管理學習,讓思考更有深度,或者如何更好地理解自己的情感和想法?這篇文章會為你揭示三個能有效解答這些問題
Thumbnail
記得2001年的時候,曾經上映一步電影,叫作「A.I.人工智慧」,格式是在描述一個機械小男孩,想要成為人類的故事。記得2001年的時候,曾經上映一步電影,叫作「A.I.人工智慧」,格式是在描述一個機械小男孩,想要成為人類的故事。 當時在看這部電影的時候,除了對於小男孩的執著印象深刻外,另外也在思考,
Thumbnail
快速精通專業的學習能力與在品質和速度達到高水準的生產能力,是在快速變化的數位時代中,取得不可取代性與競爭力的兩種關鍵能力,而這兩種關鍵能力與深度工作力息息相關:你是否能長時間專注在單一工作上。
Thumbnail
在一個波光粼粼的人造河邊,我想著怎麼樣的人,最後能走上創作這條路?作家這等人的本質是什麼? 從學術的世界出走,開始進入藝術的世界後,發現科學跟藝術,本質上是相似的-都需要面對一個人的孤獨。
Thumbnail
現代流圍棋五原則能擊敗(干擾)「ZenGo 九段」與「Katrain 9段」電腦圍棋,其意義類似當今時髦的愚弄人工智慧的「干擾遊戲」。也同時證明了,人類的圍棋智慧卻是「由上而下」(Top-Down)的「知識策略」,最終可能戰勝有史以來最強的AI人工智慧電腦圍棋─ AlphaGo Zero。