隠れ層ニューロンとしてのRelu vs Sigmoid vs Softmax
Tensorflowを使用して、1つの隠れ層のみを持つ単純なニューラルネットワークで遊んでいた後、隠れ層に対して異なるアクティベーションを試みました。 レルー シグモイド ソフトマックス(まあ、通常ソフトマックスは最後のレイヤーで使用されます。.) Reluは、最高の列車精度と検証精度を提供します。これを説明する方法がわかりません。 Reluには、勾配のない消失などのスパース性などの優れた特性があることがわかっていますが、 Q:Reluニューロンはシグモイド/ソフトマックスニューロンよりも一般的に優れていますか?ほとんど常にNN(またはCNNでも)Reluニューロンを使用する必要がありますか? 複雑すぎるニューロンはより良い結果をもたらすだろうと考えました。少なくともオーバーフィットを心配する場合は、精度を訓練します。 PS:コードは基本的に「Udacity-Machine learning -assignment2」からのものです。これは、単純な1-hidden-layer-NNを使用したnotMNISTの認識です。 batch_size = 128 graph = tf.Graph() with graph.as_default(): # Input data. tf_train_dataset = tf.placeholder(tf.float32, shape=(batch_size, image_size * image_size)) tf_train_labels = tf.placeholder(tf.float32, shape=(batch_size, num_labels)) tf_valid_dataset = tf.constant(valid_dataset) tf_test_dataset = tf.constant(test_dataset) # hidden layer hidden_nodes = 1024 hidden_weights = tf.Variable( tf.truncated_normal([image_size …