當您建置反向傳播時 您會發現有一種測試稱為 梯度檢查可以 真的幫助您確認 您的反向傳播建置 是正確的 因為有時候您寫了所有這些 方程式您並不能 100% 確定 您是否弄對所有細節 當您建置反向傳播時 為了要建立梯度檢查 讓我們先來談如何用 數值趨近來計算梯度 在下一段影片 我們會談到如何建置 梯度檢查來確定 反向傳播的建置是正確的 讓我們拿一個函數 f 這裡重新畫一次, 記得這個 f of θ 等於 θ 三次方, 讓我們開始一些 θ 的值 假設 θ 等於 1 現在與其將 θ 往右微調 加上 ε 我們要同時往右微調跟 往左微調得到 θ 減 ε 跟 θ 加 ε 所以這是 1, 這是 1.01, 這是 0.99 ε 跟之前一樣 0.01 實際上與其用這個小三角形來 計算高度除以寬度 您可以得到更加的梯度估計 如果您在這一點 f of θ - ε 跟這一點 您取而代之計算這個高度 除以這個大三角形的寬度 為了技術上的原因, 我不去深入談到 這個高度除以這個 大的綠色三角形的寬度會給您 比較好的在 θ 的導數估計 您自己也可以看到 用右上角的這個三角形 就像您有兩個三角形 一個在右上 一個在左下 而您有點像將兩個同時考慮 用這個大一點的三角形 所以與其用一邊的差異 您用了雙邊的差異 所以讓我們來做一些數學 這一點是 f(θ + ε) 這一點是 f(θ - ε) 所以這裡大綠色三角形的高是 f(θ + ε) 減去 f(θ - ε) 而寬度,這裡是一個 ε, 這是兩個 ε 所以這個大綠色三角形個寬是 2ε 所以高度除以寬度是 首先是高度 也就是 f(θ + ε) 減去 f(θ - ε) 除以寬度 也就是 2ε 我們寫在這裡 這希望靠近於 g of θ 所以代入這個值 記得 f of θ 是 θ 三次方 所以這個是 θ + ε 是 1.01 所以我取它的三次方減去 0.99的三次方 除以 2 乘 0.01 歡迎暫停影片 用計算機練習算一下 您應該會得到 3.0001 而從前面的投影片中 我們看到了 g of θ 是 3 θ 平方 而 θ 等於 1 這兩個數字實際上 非常接近 近似誤差是 0.0001 而在前面的投影片中 我們取單邊 的差異為 θ 跟 θ + ε, 我們得到 3.0301 近似誤差為 0.03 而不是 0.0001 所以這種雙邊差異的方式 來近似您要找的導數 是非常接近 3 所以這給您比較多的信心 來確定 g of θ 或許是正確的建置 f 的導數 當您使用這種方式來作 梯度檢查跟反向傳播 這實際上會跑得兩倍慢 相對於您只使用單邊差異 實際上在實作中我覺得 用這種方式是值得的因為 這比較精確 再來一點可以選讀的理論 如果您比較熟悉微積分 實際上 如果您不懂我將要說的也沒關係 但實際上導數的正規定義是 對於很小的 ε 是 f(θ + ε) 減去 f(θ- ε) 除以 2ε 而正規的導數定義是在這個 右邊公式的極限值當 ε 趨近於 0 而極限的定義 是您學過的如果您 上過微積分課 我不會在這裡談到 而實際上對於一個 非 0 的 ε 值 您可以證明這個 趨近值的誤差是在 ε 平方等級的 記得 ε 是非常小的數 所以如果 ε 是 0.01 那這裡 ε 平方會是 0.0001 這個大 O 的意思是 誤差實際上是一個常數乘上這個項目 但這的確正是我們個近似誤差 所以這個大 O 常數剛好為 1 而相對的如果 我們使用這個公式, 另一個公式 那誤差會是 ε 等級 再次, 當 ε 是小於 1 的數字時, 那 ε 確實 比ε 平方大多了 這是為什麼這裡確實 比較不像左邊這個公式 那麼精確 這也是為什麼當作梯度檢查時 我們會使用雙邊差異 當您計算 f(θ + ε) 減去 f(θ - ε) 然後 除以 2ε, 而不用一邊的差異 因為他比較不精確 如果您不懂我最後這些意見, 這裡的東西 不用擔心 這是對於那些比較熟悉微積分 跟數值近似的人談的 但重點是雙邊差異公式 是比較精確的 這也是我們將在梯度檢查時 使用的公式, 在下一段影片中 所以您看到如何使用雙邊差異 您可以數值驗證是否 有人給您的一個函數 g, g of θ 是正確的 f 函數的導數 讓我們看如何使用這個來驗證 是否您的反向傳播建置是正確或者 也許有錯誤您需要去挑出來