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]))
と書いてあるが試していない。