我讀到了關於Keras實現的輟學,它似乎在使用它的反輟學版本,即使它說失落。與TensorFlow後端使用Keras時的輟學
這是我讀Keras和Tensorflow文件我已經明白:
當我指定Dropout(0.4)
0.4意味着,在該層每個節點都有被丟棄其中有40%的機率意味着0.4是丟棄概率。因此,通過反向丟失的概念,由於保持概率爲0.6,所以其餘神經元的輸出被縮放1/0.6的因子。
(請指出,如果我的解釋是不正確。我的整個懷疑是基於這種解釋。)
在另一方面在TensorFlow它只是詢問我是否指定0.4的值保持概率直接意義每個節點有60%的機會被丟棄。
那麼當我在Keras的後端使用TensorFlow時會發生什麼?保持或下降概率是否需要0.4?
(使用Python 3.6與最新版本的所有所需的庫)在Keras層
我清楚地明白,正如你在問題中看到的,我已經指定了與你指定的完全相同的東西。但這不是我所要求的。 TensorFlow實現了反向丟失,但要求保持概率,所以如果我說在張量流中丟失(0.4),它將有60%的丟棄概率。我的問題:如果我在Keras的後端使用TensorFlow並指定退出(0.4)那麼該節點是否有40%的機率被丟棄或40%的機會被保留? –
感謝您的評論。我想我正確地理解了你。我認爲Keras是一種API,可以抽象出很多後端,以便提供統一的界面,而不管你的後端。所以在幾乎所有方面你都不會注意到Keras模型在你使用的後端方面有什麼不同。但無論如何:一個簡單的方法來檢查你自己將設置退出非常高,說.99甚至1.0。你會看到這個數量的神經元被丟棄(不保留)。 – petezurich