日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

详解tf.nn.dropout

發(fā)布時間:2025/3/21 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解tf.nn.dropout 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

tensoflow中有兩個dropout函數(shù)容易混淆

  • tf.nn.dropout 中參數(shù) keep_prob :每一個元素被保存下的概率。
  • tf.layer.dropout 中參數(shù) rate :每一個元素丟棄的概率。keep_prob = 1 - rate
  • tf.layers.drop函數(shù)定義如下:

    tf.layers.dropout(inputs,rate=0.5,noise_shape=None,seed=None,training=False,name=None)

    在 tf.layer.dropout 中有一個 training 參數(shù):在training=True時,返回應(yīng)用dropout后的輸出;在training=False時,正常返回輸出(沒有dropout)。一般在training過程training=true,即啟動dropout,在每次迭代都rate比例的神經(jīng)元。

    tf.nn.dropout是tensorflow常用的函數(shù),它的作用是為了減輕過擬合帶來的問題而使用的函數(shù),它一般用在每個連接層的輸出。
    Dropout就是在不同的訓(xùn)練過程中,按照一定概率使得某些神經(jīng)元停止工作。也就是讓每個神經(jīng)元按照一定的概率停止工作,這次訓(xùn)練過程中不更新權(quán)值,也不參加神經(jīng)網(wǎng)絡(luò)的計算。但是它的權(quán)重依然存在,下次更新時可能會使用到它。
    神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中,可以無限逼近一段非線性連續(xù)函數(shù),但是如果模型網(wǎng)絡(luò)層數(shù)過多或設(shè)置的足夠復(fù)雜,在訓(xùn)練時會出現(xiàn)過擬合(overfitting),就像下圖這樣。

    圖中藍色的線,為了可以涉及到每個點,呈現(xiàn)出了過擬合現(xiàn)象。
    盡管它很好的擬合了每一個點的位置,但是曲線是歪歪曲曲,這個的曲線不具有良好的魯棒性,不是我們想要的結(jié)果,在實際工程實驗中,我們更希望得到如黑色線一樣的曲線。

    tf.nn.dropout函數(shù)介紹

    def dropout(x, keep_prob, noise_shape=None, seed=None, name=None)

    **x:**上一層傳下載的tensor。(一般用于全連接層后面)
    keep_prob:保留keep_prob的神經(jīng)元繼續(xù)工作,其余的停止工作與更新。(在這里并不是真正被丟掉,而是在這一輪的訓(xùn)練中不更新這個神經(jīng)元的權(quán)值,權(quán)值在這一輪訓(xùn)練被保留,下一輪訓(xùn)練可能又會被更新。)
    **seed:**整形變量,隨機數(shù)種子。
    **name:**指定dropout操作的名字
    注意:

  • dropout必須設(shè)置概率keep_prob,keep_prob應(yīng)初始化為占位符placeholder。定義如下:
  • keep_prob = tf.placeholder(tf.float32) h_drop = tf.nn.dropout(encoded, keep_prob)
  • train的時候才是dropout起作用的時候,test的時候不應(yīng)該讓dropout起作用。
  • 總結(jié)

    以上是生活随笔為你收集整理的详解tf.nn.dropout的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。