1
私は高速道路でTFを研究するために、私はこの部分をunderstant傾ける必要があります。テンソルフローチュートリアルlogloss実装
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
これはこれで説明しています:まず、tf.logは、yの各要素の対数を計算します。次に、y_の各要素にtf.log(y)の対応する要素を掛けます。 次に、reduction_indices = [1]パラメータのため、tf.reduce_sumはyの2番目の次元に要素を追加します。最後に、tf.reduce_meanはバッチ内のすべての例の平均を計算します。
なぜこの操作は太字で表示されますか?なぜ別の次元を必要としているのでしょうか?ありがとう
このチュートリアルでは、yは[n、10]行列、yは[10]ベクトルです。したがって、 'y_ * tf.log(y)'は[n]ベクトルでなければなりません。 'reduction_indices = [1]'は二次次元がないので重複しているようです。または、別の方法で考えると、2次元には1つの要素しかありません。削減は常に1要素を返します。 – neurite