我想強制分類不拿出相同的結果,所有的時間(無監督,所以我沒有目標):分類收斂到只有一個類 - 增加多樣性
max_indices = tf.argmax(result, 1)
cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(result, max_indices, name="cross_entropy_per_example")
cross_entropy_mean = tf.reduce_mean(cross_entropy, name="cross_entropy")
其中:
- 結果是logits從推理返回
- max_indices因此跨越所有批次(大小= MATC預測類HSIZE)
- cross_entropy這裏實施的措施多麼強烈的預測結果,其實是在預測(好像測量簡單的信心)
我然後優化,以儘量減少損失。基本上我希望網絡儘可能強烈地預測一個班級。
很明顯,這會收斂到一些隨機類,然後將該類中的所有內容進行分類。
所以我想要添加一個懲罰來防止批處理中的所有預測都是相同的。我檢查了數學,並提出了Shannon Diversity作爲一個很好的措施,但我無法在tensorflow中實現這一點。任何想法如何做到這一點,無論是多元化的措施或任何替代?
THX
這看起來像一個非常有前途的想法。將嘗試tonite或明天並報告:-) Thx到目前爲止 – friesel
做到了這一招。多謝。雖然改爲tf.reduce_mean(sm,0) – friesel