1. 程式人生 > >深度學習剖根問底:權值初始化xavier

深度學習剖根問底:權值初始化xavier

權值初始化的方法主要有:常量初始化(constant)、高斯分佈初始化(gaussian)、positive_unitball初始化、均勻分佈初始化(uniform)、xavier初始化、msra初始化、雙線性初始化(bilinear)常量初始化(constant)       把權值或者偏置初始化為一個常數,具體是什麼常數,可以自己定義高斯分佈初始化(gaussian)       需要給定高斯函式的均值與標準差 positive_unitball初始化       讓每一個神經元的輸入的權值和為 1,例如:一個神經元有100個輸入,讓這100個輸入的權值和為1.  首先給這100個權值賦值為在(0,1)之間的均勻分佈,然後,每一個權值再除以它們的和就可以啦。這麼做,可以有助於防止權值初始化過大,從而防止啟用函式(sigmoid函式)進入飽和區。所以,它應該比較適合simgmoid形的啟用函式均勻分佈初始化(uniform)       將權值與偏置進行均勻分佈的初始化,用min 與 max 來控制它們的的上下限,預設為(0,1)xavier初始化
       對於權值的分佈:均值為0,方差為(1 / 輸入的個數) 的 均勻分佈。如果我們更注重前向傳播的話,我們可以選擇 fan_in,即正向傳播的輸入個數;如果更注重後向傳播的話,我們選擇 fan_out, 因為在反向傳播的時候,fan_out就是神經元的輸入個數;如果兩者都考慮的話,就選  average = (fan_in + fan_out) /2。對於ReLU啟用函式來說,XavierFiller初始化也是很適合。關於該初始化方法,具體可以參考文章1、文章2,該方法假定啟用函式是線性的。msra初始化       對於權值的分佈:基於均值為0,方差為( 2/輸入的個數)的高斯分佈;它特別適合 ReLU啟用函式,該方法主要是基於Relu函式提出的,推導過程類似於xavier,可以參考部落格。雙線性初始化(bilinear)
      常用在反捲積神經網路裡的權值初始化

相關推薦

深度學習:初始xavier

權值初始化的方法主要有:常量初始化(constant)、高斯分佈初始化(gaussian)、positive_unitball初始化、均勻分佈初始化(uniform)、xavier初始化、msra初始化、雙線性初始化(bilinear)常量初始化(constant)     

深度學習: Adam優化演算法的由來

在調整模型更新權重和偏差引數的方式時,你是否考慮過哪種優化演算法能使模型產生更好且更快的效果?應該用梯度下降,隨機梯度下降,還是Adam方法?這篇文章介紹了不同優化演算法之間的主要區別,以及如何選擇最佳的優化方法。什麼是優化演算法?優化演算法的功能,是通過改善訓練方式,來最小

深度學習: Adam優化演算法理解

Momentum是為了對衝mini-batch帶來的抖動。RMSprop是為了對hyper-parameter進行歸一,均方根反向傳播(RMSProp)。這兩個加起來就是Adam看原始的RMSProp演

深度學習:Logistic迴歸和Softmax迴歸

1.簡介邏輯迴歸和Softmax迴歸是兩個基礎的分類模型,雖然聽名字以為是迴歸模型,但實際我覺得他們也有一定的關係。邏輯迴歸,Softmax迴歸以及線性迴歸都是基於線性模型,它們固定的非線性的基函式(basis function) 的線性組合,形式如下:2.邏輯迴歸談談邏輯迴

深度學習:各種Loss大總結

1. 指數損失函式(Adaboost) 學過Adaboost演算法的人都知道,它是前向分步加法演算法的特例,是一個加和模型,損失函式就是指數函式。在Adaboost中,經過m此迭代之後,可以得到fm(x): Adaboost每次迭代時的目的是為了找到最小化下列式子時的

初始 - Xavier和MSRA方法

設計好神經網路結構以及loss function 後,訓練神經網路的步驟如下: 初始化權值引數 選擇一個合適的梯度下降演算法(例如:Adam,RMSprop等) 重複下面的迭代過程: 輸入的正向傳播 計算loss function 的值 反向傳播,計算loss function 相對於權值引數的梯度值 根

深度學習問題:梯度消失/爆炸

一、梯度消失/梯度爆炸的問題首先來說說梯度消失問題產生的原因吧,雖然是已經被各大牛說爛的東西。不如先看一個簡單的網路結構, 可以看到,如果輸出層的值僅是輸入層的值與權值矩陣W的線性組合,那麼最終網路最終的輸出會變成輸入資料的線性組合。這樣很明顯沒有辦法模擬出非線性的情況。記得

神經網絡中初始的方法

網絡 mac tro 推導 6.4 linear diff ati soft from:http://blog.csdn.net/u013989576/article/details/76215989 權值初始化的方法主要有:常量初始化(constant)、高斯分布初始化(

深度學習基礎系列(六)| 權重初始的選擇

初始化 附近 ace back width variable 目的 backend 概率分布   深層網絡需要一個優良的權重初始化方案,目的是降低發生梯度爆炸和梯度消失的風險。先解釋下梯度爆炸和梯度消失的原因,假設我們有如下前向傳播路徑:   a1 = w1x + b1  

初始方法之Xavier與MSRA

首先介紹一下Xavier等初始化方法比直接用高斯分佈進行初始化W的優勢所在:  一般的神經網路在前向傳播時神經元輸出值的方差會不斷增大,而使用Xavier等方法理論上可以保證每層神經元輸入輸出方差一致。  這裡先介紹一個方差相乘的公式,以便理解Xavier: Xavie

感知器 初始

>>> import numpy as np >>> a = np.zeros(3) >>> b = np.random.random(3) >>> a array([0., 0., 0.]) >>> b ar

卷積神經網路(三):初始方法之Xavier與MSRA

基礎知識 首先介紹一下Xavier等初始化方法比直接用高斯分佈進行初始化W的優勢所在: 一般的神經網路在前向傳播時神經元輸出值的方差會不斷增大,而使用Xavier等方法理論上可以保證每層神經元輸入輸出方差一致。 這裡先介紹一個方差相乘的公式,以便理解Xav

對 caffe 中Xavier, msra 初始方式的解釋

If you work through the Caffe MNIST tutorial, you’ll come across this curious line weight_filler { type: "xavier" } and the acc

前饋神經網路的初始方法

前饋神經網路(Feedforward Neural Networks, FNNs)在眾多學習問題,例如特徵選擇、函式逼近、以及多標籤學習中有著不錯的應用。 針對訓練前饋網路的學習演算法,目前已經有不少研究者提出了新穎的研究結果,但是其它相關問題的研究卻不多,例

深層神經網路的初始問題

        在上篇文章深層神經網路的搭建中,我們提到關於超引數權值的初始化至關重要。今天我們就來談談其重要性以及如何選擇恰當的數值來初始化這一引數。1. 權值初始化的意義     一個好的權值初始值,有以下優點:加快梯度下降的收斂速度增加梯度下降到最小訓練誤差的機率2.

深度學習框架Caffe-視覺[重啟]

配置 ubuntu16.04 Matlab2018b gcc6.3 (安裝教程): 安裝ubuntu16.04所遇到的問題 https://blog.csdn.net/baidu_40840693/article/details/85061079 安裝方面和下面的部落格一樣:

深度學習--說一說卷積和池

hang .com image .html 特性 3*3 方法 pool 維度 卷積是神經網絡的基礎,算是大廈的地基,卷積實際上來說就是兩個數列之間的相互處理。池化的作用我感覺主要就是減小圖像或者說矩陣的大小,並且不同的池化方法選取不同的信息作為保存信息。 轉載:htt

深度學習,opencv讀取圖片,歸一,顯示,多張圖片顯示

import numpy as np import cv2 def cv_norm_proc(img): # cv_norm_proc函式將圖片歸一化 [-1,1] img_rgb = (img / 255. - 0.5) * 2 return img_rgb def cv_in

吳恩達深度學習筆記(21)-神經網路的權重初始化為什麼要隨機初始

隨機初始化(Random+Initialization) 當你訓練神經網路時,權重隨機初始化是很重要的。 對於邏輯迴歸,把權重初始化為0當然也是可以的。 但是對於一個神經網路,如果你把權重或者引數都初始化為0,那麼梯度下降將不會起作用。 讓我們看看這是為什麼? 有兩個輸入

吳恩達深度學習2-Week1課後作業2-正則

一、deeplearning-assignment 這一節作業的重點是理解各個正則化方法的原理,以及它們的優缺點,而不是去注重演算法實現的具體末節。 問題陳述:希望你通過一個數據集訓練一個合適的模型,從而幫助推薦法國守門員應該踢球的位置,這樣法國隊的球員可以用頭打。法國過