深度學習筆記 理論與推導之DNN(三)

2021-08-03 21:52:47 字數 1982 閱讀 1659

##dnn##目錄

###激勵函式:###

sigmoid的問題(梯度消失問題):

sigmoid function的微分函式是藍色的線,我們可以發現,藍線上的所有值都處於(0,1)之間,而最大值出現在x = 0的位置,值為1/4。這會導致在backward pass中,因為每通過乙個layer,error signal就要乘以乙個scalar(這個scalar就是sigmoid function的導數),導致error signal會不斷被減弱,最終會導致gradient越來越小。這會導致在neural network中越靠近input的gradient都比較小,這時,如果你選用的是乙個constant learning rate,你就會發現靠近input的weight就會都比較小,也就會導致靠近input的weight值的變化會很小,也就是它learn的速度會比較慢。

那麼relu是如何解決梯度消失的問題呢?

這是由於relu的導數非0即1,因此不會削弱error signal的值。

###成本函式:###

直接輸出cost function可能存在乙個問題:

雖然上面的y的cost function的值可能更小,但就我們對nerual network的理解,應該是下面的y更準確,因為值越大代表越重要。

解決方法:softmax,將softmax layer作為output layer。

softmax就是將所有的輸出值的和變為1。

如果我們用softmax layer作為output,那我們應該使用怎麼樣的cost function呢?

如何確定learning rate:

adagrad:將每個引數的學習率除以它前面一系列偏導數的平均平方根。

下面是adagrad的步驟:

什麼是最好的步伐呢(即learning rate)?

然而你如果算二次微分的速度很慢的話,這樣計算learning rate就沒有意義。因為如果你的learning rate設定很小,那麼理論上說是可以達到乙個比較好的結果的。這時候adagrad就起到作用了,因為雖然這裡adagrad只做了一次微分,但是它的分母對二次微分做了估算。

遇到local minima 和saddle point 怎麼辦?

###一般化###

early stop(早點停下不迭代到指定的次數,不容易做到)

dropout:

深度學習 目標檢測理論筆記

主要內容來自於對 專知深度學習 高君宇 教學資料的梳理筆記 和 來自網際網路知識的輔助理解,感謝。目標檢測就是在一張中找到所有的物體並且給出其類別和邊框 bounding box 如圖。早期的目標檢測有很多模型,典型的有基於部件的模型 dpm pedro f在2010年提出來的利用hog對多精度下的...

機器學習入門學習筆記 (2 1)線性回歸理論推導

理論推導 機器學習所針對的問題有兩種 一種是回歸,一種是分類。回歸是解決連續資料的 問題,而分類是解決離散資料的 問題。線性回歸是乙個典型的回歸問題。其實我們在中學時期就接觸過,叫最小二乘法。很明顯,公式中的引數m,b,w都與i無關,簡化時可以直接提出來。另這兩個偏導等於0 求解方程組,解得 這樣根...

深度學習筆記3 手動搭建深度神經網路DNN

初始化引數,layer dims為各層維度 layer dims 5,4,4,3.definitialize parameters layer dims l len layer dims params for i in range 1 l params w str i np.random.randn...