1. 程式人生 > >NN模型設定--網路區域性模組設計

NN模型設定--網路區域性模組設計

1)批量歸一化和最近的SeLU非線性技術“解決”爆炸梯度問題的技術

2)ResNets具有明顯較低的梯度,因此可以規避爆炸的梯度問題,從而能夠對更深層的網路進行有效的訓練

3)BN之後Relu

  BN的兩個缺陷也很明顯,因為是對mini-batch求統計資訊,因此具有資料依賴性,資料的隨機性會導致訓練的不穩定,且batch=1時無法使用。而各種變體本質上就是在尋找Natural Gradient,在加速收斂的同時,保證模型的泛化能力。
  但一般開源框架中使用的是優化的BN。這樣的修正使得minibatch很小甚至為1時的仍能發揮其作用,且即使在minibatch中的資料是非獨立同分布的,也會因為這個修正而消除對訓練集合的過擬合。

4)語義分割網路的訓練

  使用FCN和dilate-conv。
  在我個人使用過程中,相對於FCN等帶skip connection結構的網路,我更喜歡類似於Dilated Net這種桶狀結構的網路,原因是帶skip connection的網路由於需要normalize不同layer之間的activation, 比較難訓練。
  Liu Wei有一篇專門分析這個layer之間normalization trick的論文(http://www.cs.unc.edu/~wliu/papers/parsenet.pdf)。

5)關於sigmoid

  sigmoid函式對於那些真實輸出在0~1之間的情況,很好;但若輸出接近飽和或急劇變化,這種收縮會有些不利影響。
  使用:最好不要用 sigmoid,你可以試試 tanh,不過可以預期它的效果會比不上 ReLU 和 Maxout。還有,通常來說,很少會把各種啟用函式串起來在一個網路中使用的。