輸出的具體過程
如 Luis 所說拟蜻,用梯度下降,我們通過多個(gè)小步驟來實(shí)現(xiàn)目標(biāo)枯饿。在這個(gè)例子中酝锅,我們希望一步一步改變權(quán)重來減小誤差。借用前面的比喻奢方,誤差就像是山搔扁,我們希望走到山下爸舒。下山最快的路應(yīng)該是最陡峭的那個(gè)方向,因此我們也應(yīng)該尋找能夠使誤差最小化的方向稿蹲。我們可以通過計(jì)算誤差平方的梯度來找到這個(gè)方向扭勉。
梯度是改變率或者斜度的另一個(gè)稱呼。如果你需要回顧這個(gè)概念场绿,可以看下可汗學(xué)院對這個(gè)問題的講解剖效。
要計(jì)算變化率,我們要轉(zhuǎn)向微積分焰盗,具體來說是導(dǎo)數(shù)璧尸。一個(gè)函數(shù) f(x) 的導(dǎo)函數(shù) f?′??(x) 給到你的是 f(x) 在 x 這一點(diǎn)的斜率。例如 x?2?? 熬拒,x?2?? 的導(dǎo)數(shù)是 f?′??(x)=2x爷光。所以,在 x=2 這個(gè)點(diǎn)斜率 f?′??(2)=4澎粟。畫出圖來就是:
梯度示例
梯度就是對多變量函數(shù)導(dǎo)數(shù)的泛化蛀序。我們可以用微積分來尋找誤差函數(shù)中任意一點(diǎn)的梯度,它與輸入權(quán)重有關(guān)活烙,下一節(jié)你可以看到如何推導(dǎo)梯度下降的步驟徐裸。
下面我畫了一個(gè)擁有兩個(gè)輸入的神經(jīng)網(wǎng)絡(luò)誤差示例,相應(yīng)的啸盏,它有兩個(gè)權(quán)重重贺。你可以將其看成一個(gè)地形圖,同一條線代表相同的誤差回懦,較深的線對應(yīng)較大的誤差气笙。
每一步,你計(jì)算誤差和梯度怯晕,然后用它們來決定如何改變權(quán)重潜圃。重復(fù)這個(gè)過程直到你最終找到接近誤差函數(shù)最小值的權(quán)重,即中間的黑點(diǎn)舟茶。
Gradient descent steps to the lowest error
注意事項(xiàng)
因?yàn)闄?quán)重會走向梯度帶它去的位置谭期,它們有可能停留在誤差小,但不是最小的地方吧凉。這個(gè)點(diǎn)被稱作局部最低點(diǎn)隧出。如果權(quán)重初始值有錯(cuò),梯度下降可能會使得權(quán)重陷入局部最優(yōu)客燕,例如下圖所示鸳劳。
梯度下降引向局部最低點(diǎn)
有方法可以避免這一點(diǎn)狰贯,被稱作 momentum.