1.9 归一化输入-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
| 1.8 其他正則化方法 | 回到目錄 | 1.10 梯度消失與梯度爆炸 |
歸一化輸入
訓練神經網絡,其中一個加速訓練的方法就是歸一化輸入。假設一個訓練集有兩個特征,輸入特征為2維,歸一化需要兩個步驟:
零均值
歸一化方差;
我們希望無論是訓練集和測試集都是通過相同的 μ\muμ 和 σ2\sigma^2σ2 定義的數據轉換,這兩個是由訓練集得出來的。
第一步是零均值化, μ=1m∑i=1mx(i)\mu=\frac1m\sum_{i=1}^mx^{(i)}μ=m1?∑i=1m?x(i) ,它是一個向量, xxx 等于每個訓練數據 xxx 減去 μ\muμ ,意思是移動訓練集,直到它完成零均值化。
第二步是歸一化方差,注意特征 x1x_1x1? 的方差比特征 x2x_2x2? 的方差要大得多,我們要做的是給 σ\sigmaσ 賦值, σ2=1m∑i=1m(x(i))2\sigma^2=\frac1m\sum_{i=1}^m(x^{(i)})^2σ2=m1?∑i=1m?(x(i))2 ,這是節點 yyy 的平方, σ2\sigma^2σ2 是一個向量,它的每個特征都有方差,注意,我們已經完成零值均化, (x(i))2(x^{(i)})^2(x(i))2 元素 y2y^2y2 就是方差,我們把所有數據除以向量 σ2\sigma^2σ2 ,最后變成上圖形式。
x1x_1x1? 和 x2x_2x2? 的方差都等于1。提示一下,如果你用它來調整訓練數據,那么用相同的 μ\muμ 和 σ2\sigma^2σ2 來歸一化測試集。尤其是,你不希望訓練集和測試集的歸一化有所不同,不論 μ\muμ 的值是什么,也不論 σ2\sigma^2σ2 的值是什么,這兩個公式中都會用到它們。所以你要用同樣的方法調整測試集,而不是在訓練集和測試集上分別預估 μ\muμ 和 σ2\sigma^2σ2 。因為我們希望不論是訓練數據還是測試數據,都是通過相同 μμμ 和 σ2\sigma^2σ2 定義的相同數據轉換,其中 μ\muμ 和 σ2\sigma^2σ2 是由訓練集數據計算得來的。
我們為什么要這么做呢?為什么我們想要歸一化輸入特征,回想一下右上角所定義的代價函數。
J(w,b)=1m∑i=1mL(y^(i),y(i))J(w,b)=\frac1m\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})J(w,b)=m1?i=1∑m?L(y^?(i),y(i))
如果你使用非歸一化的輸入特征,代價函數會像這樣:
這是一個非常細長狹窄的代價函數,你要找的最小值應該在這里。但如果特征值在不同范圍,假如 x1x_1x1? 取值范圍從1到1000,特征 x2x_2x2? 的取值范圍從0到1,結果是參數 x1x_1x1? 和 x2x_2x2? 值的范圍或比率將會非常不同,這些數據軸應該是 w1w_1w1? 和 w2w_2w2? ,但直觀理解,我標記為 www 和 bbb ,代價函數就有點像狹長的碗一樣,如果你能畫出該函數的部分輪廓,它會是這樣一個狹長的函數。
然而如果你歸一化特征,代價函數平均起來看更對稱,如果你在上圖這樣的代價函數上運行梯度下降法,你必須使用一個非常小的學習率。因為如果是在這個位置,梯度下降法可能需要多次迭代過程,直到最后找到最小值。但如果函數是一個更圓的球形輪廓,那么不論從哪個位置開始,梯度下降法都能夠更直接地找到最小值,你可以在梯度下降法中使用較大步長,而不需要像在左圖中那樣反復執行。
當然,實際上 www 是一個高維向量,因此用二維繪制 www 并不能正確地傳達并直觀理解,但總地直觀理解是代價函數會更圓一些,而且更容易優化,前提是特征都在相似范圍內,而不是從1到1000,0到1的范圍,而是在-1到1范圍內或相似偏差,這使得代價函數 JJJ 優化起來更簡單快速。
實際上如果假設特征 x1x_1x1? 范圍在0-1之間, x2x_2x2? 的范圍在-1到1之間, x3x_3x3? 范圍在1-2之間,它們是相似范圍,所以會表現得很好。
當它們在非常不同的取值范圍內,如其中一個從1到1000,另一個從0到1,這對優化算法非常不利。但是僅將它們設置為均化零值,假設方差為1,就像上一張幻燈片里設定的那樣,確保所有特征都在相似范圍內,通常可以幫助學習算法運行得更快。
所以如果輸入特征處于不同范圍內,可能有些特征值從0到1,有些從1到1000,那么歸一化特征值就非常重要了。如果特征值處于相似范圍內,那么歸一化就不是很重要了。執行這類歸一化并不會產生什么危害,我通常會做歸一化處理,雖然我不確定它能否提高訓練或算法速度。
這就是歸一化特征輸入,下節課我們將繼續討論提升神經網絡訓練速度的方法。
課程PPT
| 1.8 其他正則化方法 | 回到目錄 | 1.10 梯度消失與梯度爆炸 |
總結
以上是生活随笔為你收集整理的1.9 归一化输入-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.8 其他正则化方法-深度学习第二课《
- 下一篇: 1.10 梯度消失与梯度爆炸-深度学习第