我目前正在使用TensorFlow在RNN LM上工作。我從TensorFlow教程開始(tuto; sources),並自定義腳本(https://github.com/pltrdy/tf_rnnlm/)。什麼時候NCE是比softmax更好的選擇(訓練RNN LM)
我似乎普遍認爲噪聲對比估計(NCE)運行速度更快。所以我運行了4個配置的基準測試,使用4個丟失函數(我特別想測試softmax vs NCE)。結果顯示爲here。
速度(每秒字數)的差異不足以得出任何結論。
我不知道該怎麼想:NCE是非常強大的嗎?我錯過了什麼嗎?
請告訴我,如果您有任何線索, THX
pltrdy
編輯:?取樣SOFTMAX]
也tensorflow refers到this paper (sec. 3)其中指出「隨着該方法,計算訓練的複雜性變爲常數相對於目標詞彙的大小「
在我們的基準測試中,這不是(完全)情況。