故事︰國王的信使與誤差反向傳播
在古老的王國里,國王希望自己的弓箭手訓練營能夠培養出最強的射手。他設立了一場射箭比賽,要求所有弓箭手向目標射箭,並根據他們的成績給予獎勵或懲罰。
然而,比賽結果並不理想——大部分弓箭手射偏了。國王想知道︰箭射歪了,到底是哪個環節出了問題?
于是,他召集了首席教官、弓匠和箭匠,希望找到問題的根源,並逐步改進訓練方法。
第一步︰發現誤差計算損失)
比賽結束後,國王檢查靶子,發現箭矢偏離目標的情況十分嚴重。有的射到了外環,有的甚至沒射中靶。
國王皺著眉頭說︰“我們需要一個標準來衡量弓箭手的表現。”
于是,他決定︰
? 目標中心是 完美的射擊點理想輸出)
? 每支箭的落點表示 實際輸出
? 偏差越大,意味著誤差越大損失函數 )
國王命令數學師計算每個射手的誤差,誤差越大,說明問題越嚴重。
第二步︰誤差如何產生?誤差的傳播)
國王想知道,是誰的責任導致了偏差?
他把弓箭訓練分解成多個環節︰
1. 弓箭手的瞄準神經網絡的最後一層)
2. 弓的質量隱藏層)
3. 箭的質量隱藏層)
4. 訓練方法輸入層)
如果箭偏離目標,可能是︰
? 弓箭手沒瞄準好類似于神經網絡的輸出層計算錯誤)
? 弓有缺陷類似于隱藏層的權重設置不當)
? 箭頭不夠穩定類似于特征提取不準確)
? 訓練方法不對類似于輸入數據有誤)
誤差反向傳播的核心問題就是要找出這些因素對最終誤差的貢獻,並逐步調整它們。
第三步︰誤差如何回溯?反向傳播計算梯度)
國王決定,不能只懲罰弓箭手,因為問題可能出現在更深層次的環節。他讓信使從終點箭靶)向前傳遞信息,逐步追查問題的來源。
信使的任務是︰
1. 先從箭靶出發,檢查弓箭手的瞄準情況。
? 如果射手的手抖了,誤差可能主要來自瞄準類似于反向傳播計算損失對輸出層的影響)。
2. 再檢查弓是否有問題。
? 如果弓的張力不夠,導致射偏,那就要調整弓的設計類似于計算誤差對隱藏層的影響)。
3. 最後檢查箭的質量。
? 如果箭本身重量不均勻,可能是箭匠制作的問題類似于輸入權重需要調整)。
這個過程就是誤差從輸出層向輸入層反向傳播,每一層都接收來自下一層的反饋,計算自己對誤差的貢獻,並調整自身。
第四步︰調整各層參數梯度下降)
找到了問題後,國王開始命令大家調整︰
? 讓弓箭手加強瞄準訓練調整最後一層的參數)。
? 讓弓匠改進弓的材料,使其更穩定調整隱藏層權重)。
? 讓箭匠改進箭的工藝,使其更平衡調整輸入層的參數)。
他們采用的原則是逐步調整,而不是一次性大改︰
這類似于梯度下降算法gradient descent),每次調整一點點,慢慢減少誤差,讓射箭成績越來越好。
最終結果︰誤差越來越小
隨著訓練的不斷優化,射箭誤差越來越小,弓箭手的命中率也越來越高。
國王滿意地說︰“我們終于找到了讓射手變強的方法!從結果出發,逐步找到問題並調整,就是讓軍隊變得更強的秘訣。”
數學師笑著說︰“陛下,這正是誤差反向傳播法backpropagation)的精髓——從最終誤差出發,逐步回溯並優化各個環節,最終讓整個系統越來越精準。”
故事寓意
1. 誤差反向傳播法backpropagation) 通過逐層回溯,計算每一層對誤差的貢獻,並調整參數,使得神經網絡的輸出越來越準確。
2. 損失函數衡量誤差,就像國王測量射箭的準確度。
3. 梯度計算決定調整方向,就像信使從終點向前追查問題來源。
4. 梯度下降法gradient descent) 通過小幅調整優化神經網絡,就像逐步改進弓、箭和射手的訓練。
最終,神經網絡就像弓箭訓練營一樣,經過不斷優化,變得越來越精準!
喜歡職場小聰明請大家收藏︰()職場小聰明書更新速度全網最快。