溫江做網(wǎng)站seo在線短視頻發(fā)布頁
epoch:表示將訓(xùn)練數(shù)據(jù)集中的所有樣本都過一遍(且僅過一遍)的訓(xùn)練過程。在一個(gè)epoch中,訓(xùn)練算法會按照設(shè)定的順序?qū)⑺袠颖据斎肽P瓦M(jìn)行前向傳播、計(jì)算損失、反向傳播和參數(shù)更新。一個(gè)epoch通常包含多個(gè)step。
batch:一般翻譯為“批次”,表示一次性輸入模型的一組樣本。在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,訓(xùn)練數(shù)據(jù)往往是很多的,比如幾萬條甚至幾十萬條——如果我們一次性將這上萬條的數(shù)據(jù)全部放入模型,對計(jì)算機(jī)性能、神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)能力等的要求太高了;那么就可以將訓(xùn)練數(shù)據(jù)劃分為多個(gè)batch,并隨后分批將每個(gè)batch的樣本一起輸入到模型中進(jìn)行前向傳播、損失計(jì)算、反向傳播和參數(shù)更新。但要注意,一般batch這個(gè)詞用的不多,多數(shù)情況大家都是只關(guān)注batch size的。
batch size:一般翻譯為“批次大小”,表示訓(xùn)練過程中一次輸入模型的一組樣本的具體樣本數(shù)量。前面提到了,我們在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,往往需要將訓(xùn)練數(shù)據(jù)劃分為多個(gè)batch;而具體每一個(gè)batch有多少個(gè)樣本,那么就是batch size指定的了。
step:一般翻譯為“步驟”,表示在一個(gè)epoch中模型進(jìn)行一次參數(shù)更新的操作。通俗地說,在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,每次完成對一個(gè)batch數(shù)據(jù)的訓(xùn)練,就是完成了一個(gè)step。很多情況下,step和iteration表示的是同樣的含義。
iteration:一般翻譯為“迭代”,多數(shù)情況下就表示在訓(xùn)練過程中經(jīng)過一個(gè)step的操作。一個(gè)iteration包括了一個(gè)step中前向傳播、損失計(jì)算、反向傳播和參數(shù)更新的流程。當(dāng)然,在某些情況下,step和iteration可能會有細(xì)微的區(qū)別——有時(shí)候iteration是指完成一次前向傳播和反向傳播的過程,而step是指通過優(yōu)化算法對模型參數(shù)進(jìn)行一次更新的操作。但是絕大多數(shù)情況下,我們就認(rèn)為二者是一樣的即可。
訓(xùn)練模型的時(shí)候一般會以batch 的方式來訓(xùn)練,總共數(shù)據(jù)集會被分為n個(gè)batch,每訓(xùn)練一個(gè)batch 的話iter 累加一次