[ゼロ]バックプロパゲーションニューラルネットワークの基礎を理解します

I.前文

  重みwを最適化するためのバックプロパゲーションニューラルネットワークと閾値b、ニューラルネットワークの最適化のコアアルゴリズム。勉強した後、数日後には、最終的には逆伝播の原理は、経験を書いてここに記録していることを理解しています。

  この記事では、最初の基本的な数学的計算を導入し、パラメータ最適化由来の逆伝播法「損失計算式」に従いました。

第二に、基本的な数学的な原則

  導出、連鎖ルール:B法が伝播バックと呼ばれる、wはニューラルネットワークの最適化パラメータ、カウンタ伝搬法は「勾配降下」と呼ばれる特定の実施形態では、勾配降下は、2つの基本的な数学を含みます。

  1)導出

  次の式を考えてみましょう:

  

  式Xの誘導体:

  

 

   例:

  

 

   2)鎖ルール

  

 

   例えば、xおよびy誘導体のyの導関数の導出へのz X zに連鎖ルールことを意味します。

  

 

   

 

  Zの誘導体、Yを見つけます。

   

 

   与えられました:

  

 

  そう:

  

 

  意味の3)数学的な導出

  

 

  上記のように、Xに対するYの誘導体は、本質的X0における傾きを決定し、X0は、△Xの少し場合に増加され、y軸はΔyだけの数を増加させることによって得ることができます。

  ΔY=量Δx*(X0における勾配)

  yの値が最小になる傾向がある私たちがしたい場合は、YマイナスΔyだけを使用することができます。

  Y = Y0-Δyの= *(X0における勾配)Y0-量Δx

  Y0は、ΔX、X0における傾きが知られており、我々は徐々に最小y値に近づけることができます。なお、Δyの唯一y軸、実際のない増加量の近似値が、我々はこの方法による「アプローチ」Yの最小値を続けることができます。

第三に、損失計算

  シンプルな伝播関数を考えてみましょう。

  Y = WX + B

  wは重量であり、Bは閾値であり、xは、yは予測された出力入力されている、我々出力することができ、実際の損失を引いた予測出力(差予測と実際):

 

   実際には、我々は派生回帰簡単に乗の差として、2乗誤差。ただ、操作の難しさを減らすために、二乗誤差またはエラーの使用は、本質的には違い損失を測定していません。

 

  実際に使用する場合、Yが導入される実際定数(ラベル値)が伝播関数(Yプライム)= WX + B

  コスト=(WX + B - Y)^ 2

 

第四に、勾配降下

  それは、Y = X ^ 2のように簡略化することができ、それが放物線であることがわかります、式の上の損失を参照してください。

 

  予測が実際の結果になりがち作り、本質的には、それがゼロに傾向があるyの上の図である最小限のコストを、見つけることです。もう一つ注意すべきは、その式であります:

  コスト=(WX + B - Y)^ 2

  我们期望的是找到一个最佳的w和b来求得最小的Cost,其中x和Y其实都是已知的。所以我们是对w和b求导求得Δw和Δb。为便于计算,我们可以做以下变化:

  Cost = (Error)^2

  Error = wx+b-Y

  

 

   

 

   根据链式法则,我们就可以得到:

  

 

  所以Δw = 2*error*x

  类似地可以推导出Δb=2*error

  在实际使用时,error值、x值都是已知的所以我们可以求得Δw和Δb

 

   上述反向传播的实现代码中,img即是x,Y-label即是error,除以m是因为实际操作时是一次对m个图片进行处理,这里求dw、db时需要取平均值所以除以m。其次实际代码中我们把Δw = 2*error*x的常数2忽略了,对实际操作没有影响。

五、总结

  最后在优化参数时,我们会用Δw和Δb乘以一个非常小的浮点数如0.001称为步幅(learning rate),再用w-Δw、b-Δb。所以本质上来说Δw和Δb只是指明了梯度下降的方向,比如在下面的函数图形中,在x轴左侧应当增大x值,在x轴右侧则应该减小x值,我们通过斜率就可以知道具体应该减少还是增大了。

请关注公众号“零基础爱学习”一起AI学习。

 

おすすめ

転載: www.cnblogs.com/cation/p/11664741.html