CNNで学習中の正答率が同じ値ばかりになったり、低い値のまま進まなかったりした。
その場合、cross_entropyを求めるreduce_sumを変えると正答率が向上するようになった。

cross_entropy = -tf.reduce_sum(labels*y_*tf.log(y))

cross_entropy = -tf.reduce_sum(labels*tf.log(tf.clip_by_value(logits,1e-10,1.0)))

に変更する。
また、層を増やしたらまた同じ現象になったが、その場合は1e-10のところで1e-13にしたりして
わずかな数値も拾ってやると直った。

ちな、ここには、

cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))

と書いてあるが試していない。

カテゴリー: tensorflow

okenji

IT屋なんだけど、周囲がITに全然興味がないし、自分もなんちゃってなので、話す人いなくてまじ孤独なので、ブログにメモを残すことにした。 特徴:メンヘラ、清水翔太、阿部真央、KG、メンパブ、サパー、白めがね 人を底辺っていじめるけど、実は自分が底辺。 多分アルの中。ko卒→最大手企業→くされ企業家。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です