色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【連載】深度學習筆記5:正則化與dropout

人工智能實訓營 ? 2018-08-20 12:47 ? 次閱讀

在筆記 4 中,詳細闡述了機器學習中利用正則化防止過擬合的基本方法,對 L1 和 L2 范數進行了通俗的解釋。為了防止深度神經網絡出現過擬合,除了給損失函數加上 L2 正則化項之外,還有一個很著名的方法——dropout.

廢話少說,咱們單刀直入正題。究竟啥是 dropout ? dropout 是指在神經網絡訓練的過程中,對所有神經元按照一定的概率進行消除的處理方式。在訓練深度神經網絡時,dropout 能夠在很大程度上簡化神經網絡結構,防止神經網絡過擬合。所以,從本質上而言,dropout 也是一種神經網絡的正則化方法。

假設我們要訓練了一個 4 層(3個隱層)的神經網絡,該神經網絡存在著過擬合。于是我們決定使用 dropout 方法來處理,dropout 為該網絡每一層的神經元設定一個失活(drop)概率,在神經網絡訓練過程中,我們會丟棄一些神經元節點,在網絡圖上則表示為該神經元節點的進出連線被刪除。最后我們會得到一個神經元更少、模型相對簡單的神經網絡,這樣一來原先的過擬合情況就會大大的得到緩解。這樣說似乎并沒有將 dropout 正則化原理解釋清楚,我們繼續深究一下:為什么 dropout 可以可以通過正則化發揮防止過擬合的功能?

因為 dropout 可以隨時隨機的丟棄任何一個神經元,神經網絡的訓練結果不會依賴于任何一個輸入特征,每一個神經元都以這種方式進行傳播,并為神經元的所有輸入增加一點權重,dropout 通過傳播所有權重產生類似于 L2 正則化收縮權重的平方范數的效果,這樣的權重壓縮類似于 L2 正則化的權值衰減,這種外層的正則化起到了防止過擬合的作用。

所以說,總體而言,dropout 的功能類似于 L2 正則化,但又有所區別。另外需要注意的一點是,對于一個多層的神經網絡,我們的 dropout 某層神經元的概率并不是一刀切的。對于不同神經元個數的神經網絡層,我們可以設置不同的失活或者保留概率,對于含有較多權值的層,我們可以選擇設置較大的失活概率(即較小的保留概率)。所以,總結來說就是如果你擔心某些層所含神經元較多或者比其他層更容易發生過擬合,我們可以將該層的失活概率設置的更高一些。

說了這么多,總算大致把 dropout 說明白了。那 dropout 這種操作在實際的 python 編程中該如何實現呢?以一個三層的神經網絡為例,首先我們需要定義一個 3 層的 dropout 向量,然后將其與保留概率 keep-prob 進行比較生成一個布爾值向量,再將其與該層的神經元激活輸出值進行乘積運算,最后擴展上一步的計算結果,將其除以 keep-prob 即可。但在實際編程中就沒說的這么容易了,我們需要對整個神經網絡的計算過程進行重新定義,包括前向傳播和反向傳播的計算定義。

含 dropout 的前向計算定義如下:

def forward_propagation_with_dropout(X, parameters, keep_prob = 0.5):
  np.random.seed(1)  # retrieve parameters
  W1 = parameters["W1"]
  b1 = parameters["b1"]
  W2 = parameters["W2"]
  b2 = parameters["b2"]
  W3 = parameters["W3"]
  b3 = parameters["b3"]  # LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID
  Z1 = np.dot(W1, X) + b1
  A1 = relu(Z1)

  D1 = np.random.rand(A1.shape[0], A1.shape[1])  
  D1 = D1 < keep_prob ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
 ? ?A1 = np.multiply(D1, A1) ? ? ? ? ? ? ? ? ? ? ? ? 
 ? ?A1 = A1 / keep_prob ? ? ? ? ? ? ? ? ? ? ? ? ? ? 

 ? ?Z2 = np.dot(W2, A1) + b2
 ? ?A2 = relu(Z2)

 ? ?D2 = np.random.rand(A2.shape[0], A2.shape[1])   
  D2 = D2 < keep_prob ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
 ? ?A2 = np.multiply(D2, A2) ? ? ? ? ? ? ? ? ? ? ? 
 ? ?A2 = A2 / keep_prob ? ? ? ? ? ? ? ? ? ? ? ? ? 
 ? ?Z3 = np.dot(W3, A2) + b3
 ? ?A3 = sigmoid(Z3)

 ? ?cache = (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3) ? ?
return A3, cache

以上代碼基本體現了 dropout 的實現的四步流程。

含 dropout 的反向傳播計算定義如下:

def backward_propagation_with_dropout(X, Y, cache, keep_prob):

  m = X.shape[1]
  (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3) = cache

  dZ3 = A3 - Y
  dW3 = 1./m * np.dot(dZ3, A2.T)
  db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)
  dA2 = np.dot(W3.T, dZ3)

  dA2 = np.multiply(dA2, D2)  
  dA2 = dA2 / keep_prob    

  dZ2 = np.multiply(dA2, np.int64(A2 > 0))
  dW2 = 1./m * np.dot(dZ2, A1.T)
  db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)

  dA1 = np.dot(W2.T, dZ2)

  dA1 = np.multiply(dA1, D1)  
  dA1 = dA1 / keep_prob      

  dZ1 = np.multiply(dA1, np.int64(A1 > 0))
  dW1 = 1./m * np.dot(dZ1, X.T)
  db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)

  gradients = {"dZ3": dZ3, "dW3": dW3, "db3": db3,"dA2": dA2,         "dZ2": dZ2, "dW2": dW2, "db2": db2, "dA1": dA1, 
         "dZ1": dZ1, "dW1": dW1, "db1": db1}  
return gradients

在定義反向傳播計算函數時,我們必須丟棄和執行前向傳播時一樣的神經元。
最后帶有 dropout 的分類效果如下所示:


所以,總結而言,dropout 就是在正常的神經網絡基礎上給每一層的每一個神經元加了一道概率流程來隨機丟棄某些神經元以達到防止過擬合的目的。

本文來自《自興動腦人工智能》項目部:凱文。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1791

    文章

    47350

    瀏覽量

    238759
  • 機器學習
    +關注

    關注

    66

    文章

    8422

    瀏覽量

    132714
  • 深度學習
    +關注

    關注

    73

    文章

    5504

    瀏覽量

    121222
收藏 人收藏

    評論

    相關推薦

    NPU在深度學習中的應用

    隨著人工智能技術的飛速發展,深度學習作為其核心驅動力之一,已經在眾多領域展現出了巨大的潛力和價值。NPU(Neural Processing Unit,神經網絡處理單元)是專門為深度學習
    的頭像 發表于 11-14 15:17 ?637次閱讀

    GPU深度學習應用案例

    GPU在深度學習中的應用廣泛且重要,以下是一些GPU深度學習應用案例: 一、圖像識別 圖像識別是深度學習
    的頭像 發表于 10-27 11:13 ?404次閱讀

    FPGA加速深度學習模型的案例

    :DE5Net_Conv_Accelerator 應用場景 :面向深度學習的開源項目,實現了AlexNet的第一層卷積運算加速。 技術特點 : 采用了Verilog語言進行編程,與PCIe接口相集成,可以直接插入到
    的頭像 發表于 10-25 09:22 ?240次閱讀

    AI大模型與深度學習的關系

    人類的學習過程,實現對復雜數據的學習和識別。AI大模型則是指模型的參數數量巨大,需要龐大的計算資源來進行訓練和推理。深度學習算法為AI大模型提供了核心的技術支撐,使得大模型能夠更好地擬
    的頭像 發表于 10-23 15:25 ?841次閱讀

    FPGA做深度學習能走多遠?

    的發展前景較為廣闊,但也面臨一些挑戰。以下是一些關于 FPGA 在深度學習中應用前景的觀點,僅供參考: ? 優勢方面: ? 高度定制的計算架構:FPGA 可以根據深度
    發表于 09-27 20:53

    深度學習模型中的過擬合與正則

    測試數據或新數據上表現不佳的現象。為了解決這個問題,正則(Regularization)技術應運而生,成為深度學習中不可或缺的一部分。本文將從過擬合的原因、表現、
    的頭像 發表于 07-09 15:56 ?984次閱讀

    深度學習中的時間序列分類方法

    時間序列分類(Time Series Classification, TSC)是機器學習深度學習領域的重要任務之一,廣泛應用于人體活動識別、系統監測、金融預測、醫療診斷等多個領域。隨著深度
    的頭像 發表于 07-09 15:54 ?985次閱讀

    深度學習與nlp的區別在哪

    深度學習和自然語言處理(NLP)是計算機科學領域中兩個非常重要的研究方向。它們之間既有聯系,也有區別。本文將介紹深度學習與NLP的區別。 深度
    的頭像 發表于 07-05 09:47 ?953次閱讀

    深度神經網絡的設計方法

    的構建,還包括激活函數的選擇、優化算法的應用、正則技術的引入等多個方面。本文將從網絡結構設計、關鍵組件選擇、優化與正則策略、以及未來發展趨勢四個方面詳細探討
    的頭像 發表于 07-04 13:13 ?476次閱讀

    深度學習的模型優化與調試方法

    深度學習模型在訓練過程中,往往會遇到各種問題和挑戰,如過擬合、欠擬合、梯度消失或爆炸等。因此,對深度學習模型進行優化與調試是確保其性能優越的關鍵步驟。本文將從數據預處理、模型設計、超參
    的頭像 發表于 07-01 11:41 ?851次閱讀

    深度學習與傳統機器學習的對比

    在人工智能的浪潮中,機器學習深度學習無疑是兩大核心驅動力。它們各自以其獨特的方式推動著技術的進步,為眾多領域帶來了革命性的變化。然而,盡管它們都屬于機器學習的范疇,但
    的頭像 發表于 07-01 11:40 ?1413次閱讀

    深度解析深度學習下的語義SLAM

    隨著深度學習技術的興起,計算機視覺的許多傳統領域都取得了突破性進展,例如目標的檢測、識別和分類等領域。近年來,研究人員開始在視覺SLAM算法中引入深度學習技術,使得
    發表于 04-23 17:18 ?1305次閱讀
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>學習</b>下的語義SLAM

    為什么深度學習的效果更好?

    導讀深度學習是機器學習的一個子集,已成為人工智能領域的一項變革性技術,在從計算機視覺、自然語言處理到自動駕駛汽車等廣泛的應用中取得了顯著的成功。深度
    的頭像 發表于 03-09 08:26 ?633次閱讀
    為什么<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的效果更好?

    allegro學習筆記

    電子發燒友網站提供《allegro學習筆記.zip》資料免費下載
    發表于 02-29 09:14 ?1次下載

    什么是深度學習?機器學習深度學習的主要差異

    2016年AlphaGo 擊敗韓國圍棋冠軍李世石,在媒體報道中,曾多次提及“深度學習”這個概念。
    的頭像 發表于 01-15 10:31 ?1093次閱讀
    什么是<b class='flag-5'>深度</b><b class='flag-5'>學習</b>?機器<b class='flag-5'>學習</b>和<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的主要差異
    主站蜘蛛池模板: 纯肉宠文高h一对一| 国产日韩精品一区二区在线观看| 国产精品一久久香蕉国产线看 | 狠狠综合久久综合88亚洲| 亚洲精品综合在线影院| 久久伊人精品青青草原2021| 99九九精品视频| 色中色最新地址登陆| 亚洲福利天堂网福利在线观看| 99青草青草久热精品视频| 日本高清天码一区在线播放| 99久久精品国产国产毛片| 日日碰狠狠添天天爽| WRITEAS检查身体| 内地同志男16china16| 成人毛片免费在线观看| 青青草原直播| 国产色综合色产在线视频| 同时被两个男人轮流舔| 高清无码色大片中文| 日本动漫henta videos| 国产精品亚欧美一区二区三区| 浴室里强摁做开腿呻吟的漫画| 九九99热久久精品在线6| 亚洲国产在线视频中文字| 国产精品夜夜春夜夜爽久久小| 一区二区三区高清视频| 欧美另类jizzhd| 激情丛林电影完整在线| 成人国内精品久久久久影| 夜蒲团之5阳性之教| 精品网站一区二区三区网站 | yellow视频免费观看| 亚洲三级黄色| 视频一区亚洲视频无码| 两个吃奶一个添下面视频| 67194con免费福和视频| 无人视频在线观看免费播放影院| 国产亚洲欧美在线观看三区| 亚洲精品白色在线发布| 精品无人区一区二区三区|