更新時(shí)間:2023-11-20 來源:黑馬程序員 瀏覽量:
SGD代表隨機(jī)梯度下降(Stochastic Gradient Descent)。這是一種優(yōu)化算法,用于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中的模型訓(xùn)練過程。
在傳統(tǒng)的梯度下降算法中,每次更新模型參數(shù)都是基于整個(gè)訓(xùn)練數(shù)據(jù)集計(jì)算的損失函數(shù)梯度。但在大規(guī)模數(shù)據(jù)集情況下,這種方法計(jì)算梯度非常耗時(shí)。SGD是針對(duì)這個(gè)問題的一種優(yōu)化方法。
SGD的"S"表示隨機(jī),它與傳統(tǒng)梯度下降的區(qū)別在于每次更新模型參數(shù)時(shí),并不是使用整個(gè)數(shù)據(jù)集的梯度,而是隨機(jī)選擇一個(gè)樣本或者一小部分樣本來計(jì)算損失函數(shù)的梯度。具體步驟如下:
從整個(gè)訓(xùn)練數(shù)據(jù)集中隨機(jī)選擇一個(gè)樣本或者一個(gè)小的批次(mini-batch)的樣本。
對(duì)于選定的樣本或批次,計(jì)算其對(duì)應(yīng)的損失函數(shù)關(guān)于模型參數(shù)的梯度。
使用計(jì)算得到的梯度來更新模型的參數(shù)。更新公式通常為:新參數(shù) = 舊參數(shù) - 學(xué)習(xí)率 * 梯度。學(xué)習(xí)率是控制參數(shù)更新步長(zhǎng)的超參數(shù)。
重復(fù)以上步驟,直到達(dá)到一定的迭代次數(shù)或者損失函數(shù)收斂到某個(gè)閾值。
SGD的優(yōu)點(diǎn)是由于每次只用一個(gè)樣本或小批次樣本來計(jì)算梯度,計(jì)算速度更快,尤其對(duì)于大規(guī)模數(shù)據(jù)集訓(xùn)練效果明顯。然而,由于隨機(jī)選擇樣本會(huì)引入一些噪聲,因此 SGD 的收斂過程可能更加不穩(wěn)定。為了解決這個(gè)問題,還有一些SGD的變體,比如帶動(dòng)量的SGD、AdaGrad、RMSProp和Adam等,它們?cè)诓煌瑘?chǎng)景下有不同的表現(xiàn)和優(yōu)化效果。
【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營(yíng)】深圳跨境電商運(yùn)營(yíng)畢業(yè)22個(gè)工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個(gè)工作日,班級(jí)93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個(gè)工作日,就業(yè)率已達(dá)到94.55%,班均薪資20763元
2025-09-19【AI智能應(yīng)用開發(fā)-Java】畢業(yè)當(dāng)天offer率91%,薪資1W+占比54.2%,班級(jí)均薪12k+
2025-09-19