1. 程式人生 > >【深度學習】深度學習權重初始化

【深度學習】深度學習權重初始化

本文對CS231中的Training Neural Networks的權重更新部分進行記錄

權重的初始化在深度神經網路中起著比較大的重要,算是一個trick,但在實際應用上確是個大殺器。

1. 如果一開始把網路中的權重初始化為0,會發生什麼?

因為權重初始為0, 由於網路中的神經元的更新機制完全相同,由於網路的對稱性,會產生各個layer中產生相同的梯度更新,導致所有的權重最後值相同,收斂會出現問題。
所以在初始化引數的時候,一個重要的設定原則就是破壞不同單元的對稱性質。

2. 一個簡單的方法,初始化一個比較小的值

高斯初始化,給權重較小的值。這種更新方式在小網路中很常見,然而當網路deep的時候

,會出現梯度彌散的情況
這裡寫圖片描述
這裡寫圖片描述
從圖上可以發現,第一層的output分佈正常,之後的layer中逐漸趨於0。這很好理解(0.9^30 = 0.04), 在前向網路中,W*X,會導致神經元不被啟用。

但是如果把權重初始成一個比較大的值,如
這裡寫圖片描述
則會造成前向傳播時,神經元要麼被抑制,要麼被飽和
梯度更新時,也會出現梯度彌散

3. Xaiver更新方法

這裡寫圖片描述
這個方法在以tanh為啟用函式中,很work
這裡寫圖片描述
每一層的輸出基本滿足高斯分佈,梯度更新時,收斂速度較好

然而這種方法沒有考慮以relu為啟用函式的情況
這裡寫圖片描述

4. He更新方法

由於Relu啟用函式的特性,他在x的負半軸中是不啟用的,所以應該在方差中考慮僅取一半,He et.al 2015指出以下初始方式:
這裡寫圖片描述


僅僅在分母增加了 1/2。
此時,在每個layer中還是能看清楚輸出分佈的:
這裡寫圖片描述

事實上,如果權值初始化有問題的話,可以在啟用函式前加入Batch Normalization Layer。

由於我也是初學,有錯誤歡迎各位指正
以上

相關推薦

cocos2d-x建構函式與初始

出自圖書《製作自己的捕魚達人》 在cocos2d-x中建立物件的方法與C++開發者的習慣不同,在C++中,我們只需要呼叫類的建構函式即可建立一個物件,即可直接建立一個棧上的值物件,        也可以使用new操作符建立一個指標,指向堆上的物件,而在cocos2d-

深度學習權重初始

為什麼要初始化?暴力初始化效果如何? 神經網路,或者深度學習演算法的引數初始化是一個很重要的方面,傳統的初始化方法從高斯分佈中隨機初始化引數。甚至直接全初始化為1或者0。這樣的方法暴力直接,但是往往效果一般。本篇文章的敘述來源於一個國外的討論帖子[1],下面就自己的理解闡述一下。 首先我們來思考

深度學習深度學習權重初始

本文對CS231中的Training Neural Networks的權重更新部分進行記錄 權重的初始化在深度神經網路中起著比較大的重要,算是一個trick,但在實際應用上確是個大殺器。 1. 如果一開始把網路中的權重初始化為0,會發生什麼? 因為權重初始

深度學習訓練技巧---權重初始

常量 反向傳播 ive str 防止 自己 對稱性 就是 導致 全零初始化   全零初始化即所有的變量均被初始化為0,這應該是最笨、最省事的隨機化方法了。然而這種偷懶的初始化方法非常不適合深度學習,因為這種初始化方法沒有打破神經元之間的對稱性,將導致收斂速度很慢甚至訓練失敗

深度學習Pytorch 學習筆記

chang www. ans 如何 ret == 筆記 etc finished 目錄 Pytorch Leture 05: Linear Rregression in the Pytorch Way Logistic Regression 邏輯回歸 - 二分類 Lect

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

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

電腦科學2016.09深度學習的不確定性

本文為英國劍橋大學(作者:YarinGal)的博士論文,共174頁。 深度學習已經吸引了資訊工程各個領域的研究人員,如人工智慧、計算機視覺和語言處理等,也吸引了諸如物理、生物學和生產製造等傳統科學的極大關注。神經網路、卷積神經網路等影象處理工具、遞迴神經網路等序列處理模型、以及dr

深度學習CNN模型的視覺-1

CNN模型學到的東西很適合視覺化,這裡介紹三種方法: 視覺化CNN模型的中間輸出(中間啟用):幫助我們理解CNN是如何對輸入進行變換,以及CNN每個卷積核的含義 視覺化CNN的卷積核:幫助我們理解卷積核容易接受的視覺模式或概念 客戶刷影象中類啟用的熱力圖:影象中哪

深度學習深度學習分類與模型評估

內容大綱 分類和迴歸之外的機器學習形式 評估機器學習模型的規範流程 為深度學習準備資料 特徵工程 解決過擬合問題 處理機器學習問題的通用流程 監督學習的主要種類及其變種 主要包括兩大類問題: 分類 迴歸

深度學習深度學習的四大元件

這四大元件就是: 層 輸入資料和標籤 損失函式 優化器 這四者的關係描述如下: 多層組合在一起形成了網路,網路的目的是將輸入資料對映為預測值,通過損失函式將預測值和目標值比較,得出損失值,用來衡量網路的效能,而優化器的職責是迭代優化損失值

論文閱讀深度學習與多種機器學習方法在不同的藥物發現數據集進行對比

論文來源: Comparison of Deep Learning With Multiple Machine Learning Methods and Metrics Using Diverse Drug Discovery Data Sets 機器學習方法在醫藥研究

DL--03深度學習基本概念—張量

張量 TensorFlow中的中心資料單位是張量。張量由一組成形為任意數量的陣列的原始值組成。張量的等級是其維數。以下是張量的一些例子: 3 # a rank 0 tensor; this is a scalar with shape [] [1. ,2

深度學習Deep Learning(04):權重初始問題2_ReLu激勵函式

三、權重初始化問題2_ReLu激勵函式 1、說明 2、ReLu/PReLu激勵函式 目前ReLu啟用函式使用比較多,而上面一篇論文沒有討論,如果還是使用同樣初始化權重的方法(

科普文 深度學習:使用PowerVR實現計算機視覺

嵌入式視覺產品的市場需求量大,且呈不斷髮展壯大之勢,其範圍包括消費產品如手機、膝上型電腦、電視、可穿戴裝置、汽車安全、安全與資料分析等。來自ABI、Gartner和TSR的最新資料表明,智慧相機產品的總市場(TAM)量在2019年時將超過30億臺。 計算機視覺的使用者案例包括計算攝影、擴增實

神經網路與深度學習C/C++ZLIB學習

zlib(http://zlib.NET/)提供了簡潔高效的In-Memory資料壓縮和解壓縮系列API函式,很多應用都會用到這個庫,其中compress和uncompress函式是最基本也是最常用的。不過很奇怪的是,compress和uncompress函式儘管已經非常

深度學習深度學習中IU、IoU(Intersection over Union)的概念理解以及python程式實現

IoU(Intersection over Union) Intersection over Union是一種測量在特定資料集中檢測相應物體準確度的一個標準。我們可以在很多物體檢測挑戰中,例如PASCAL VOC challenge中看多很多使用該標準的做法。 通常我們

深度學習增強學習

文中的圖片來自莫煩python視訊。視訊內容真心很贊,一天就可以看完,有興趣的朋友可以點選下邊的連結哦https://space.bilibili.com/243821484/#/channel/detail?cid=26359come on, babies! 讓我們一起來聊

備忘深度學習實戰決勝AI-強化學習實戰系列視訊課程

第1章強化學習基本原理1小時42分鐘10節; 1-1強化學習簡介09:34 1-2強化學習基本概念 09:55 1-3馬爾科夫決策過程 09:061-4Bellman方程 12:221-5值迭代求解 08:12 1-6程式碼實戰求解過程 11:141-7QLearning基

Deep Learning深度學習影象標註工具VGG Image Annotator (VIA)使用教程

VGG Image Annotator (VIA)是一款開源的影象標註工具,由Visual Geometry Group開發。可以線上和離線使用,可標註矩形、圓、橢圓、多邊形、點和線。標註完成後,可以匯出為csv和json檔案格式。 一、新增圖片 點選via.ht

備忘深度學習實戰專案-利用RNN與LSTM網路原理進行唐詩生成視訊課程

第1章遞迴神經網路原理(RNN)34分鐘4節1-1課程簡介[免費觀看]01:211-2遞迴神經網路(RNN)08:391-3RNN網路細節11:541-4LSTM網路架構12:36第2章RNN手寫字型識別32分鐘3節2-1處理Mnist資料集11:502-2RNN網路模型1