我注意到有兩個關於張量流中負抽樣以計算損失的函數(sampled_softmax_loss和nce_loss)。這兩個函數的參數是相似的,但我真的想知道兩者之間的區別是什麼?tensorflow中sampled_softmax_loss和nce_loss之間的區別是什麼?
5
A
回答
1
採樣的softmax嘗試對輸出中的所有樣本進行歸一化。有一個非正態分佈(對數標籤),這不是一個最佳的損失函數。請注意,雖然它們具有相同的參數,但它們使用函數的方式不同。看看文檔在這裏:https://github.com/calebchoo/Tensorflow/blob/master/tensorflow/g3doc/api_docs/python/functions_and_classes/shard4/tf.nn.nce_loss.md並讀取此行:採樣
默認情況下,這個使用日誌統一(Zipfian)分佈,所以你的標籤必須按順序進行排序降低頻率,以達到良好的效果。有關更多詳細信息,請參閱log_uniform_candidate_sampler。
看看本文,他們解釋他們爲什麼使用它的嵌入字:http://papers.nips.cc/paper/5165-learning-word-embeddings-efficiently-with-noise-contrastive-estimation.pdf
希望這有助於!
2
Softmax示例全部是關於選擇給定數量的樣本並嘗試獲得softmax損失。這裏的主要目標是使採樣的softmax的結果等於我們的真正的softmax。所以算法基本上集中在從給定分佈中選擇那些樣本。另一方面,NCE損失更多的是選擇噪聲樣本,並試圖模仿真正的softmax。它只需要一個真正的類和一個K噪聲類。
相關問題
- 1. Tensorflow中Variable和ResourceVariable之間的區別是什麼
- 2. tensorflow中optimizer.compute_gradient()和tf.gradients()之間的區別是什麼?
- 3. Tensorflow - 形狀(8,1)和(8,)之間的區別是什麼
- 4. $(())和expr之間的區別是什麼?
- 5. $和$ .fn之間的區別是什麼?
- 6. ++和:haskell之間的區別是什麼?
- 7. $(「」)和$ .find(「」)之間的區別是什麼?
- 8. 「\」和「\。」之間的區別是什麼?
- 9. 「$ | ++」和「$ | = 1」之間的區別是什麼
- 10. $(...)和`...`之間的區別是什麼
- 11. .equals()和==之間的區別是什麼?
- 12. [undefined]和[,]之間的區別是什麼?
- 13. tensorflow中variable_ops_scope和variable_scope之間的區別?
- 14. TensorFlow中tf.estimator.Estimator和tf.contrib.learn.Estimator之間的區別
- 15. 在Tensorflow中,變量和張量之間有什麼區別?
- 16. 什麼之間的區別〜^和Git中
- 17. 區別:%% a和%variable%變量之間的區別是什麼?
- 18. 什麼是爲PrintWriter和DataOutputStream之間的區別是什麼?
- 19. 使用Tensorflow sampled_softmax_loss
- 20. 「;」和「;」之間的區別是什麼?和T-SQL中的「GO」?
- 21. 「。」和「。」之間的區別是什麼?和[System.ENVIRONMENT] :: PowerShell中的CurrentDirectory?
- 22. MVC和MVVM之間的區別和相似之處是什麼?
- 23. TVF/UDF之間的區別是什麼
- 24. [EmailPasswordAuthProvider,EmailAuthProvider]之間的區別是什麼
- 25. System.Linq.Enumerable.WhereListIterator&System.Linq.Enumerable.WhereSelectListIterator之間的區別是什麼?
- 26. 什麼@android之間的區別:和android:
- 27. C#和MVC中System.Environment.Username和User.Identity.Name之間的區別是什麼?
- 28. 在Android中,MotionEvent中getAction()和getActionMasked()之間的區別是什麼?
- 29. Ext JS中的grid.columns和grid.getColumnManager()。getColumns()之間的區別是什麼?
- 30. Selenium中的定位符和Webelement之間的區別是什麼?
第一鏈路斷開時,使用:https://github.com/calebchoo/Tensorflow/blob/master/tensorflow/g3doc/api_docs/python/functions_and_classes/shard4/tf.nn.nce_loss.md –
謝謝!修復了鏈接 – rmeertens