টেনসরফ্লো দ্বারা আমি কেবল একটি লুকানো স্তর সহ একটি সাধারণ নিউরাল নেটওয়ার্কের সাথে খেলছিলাম, এবং তারপরে আমি গোপন স্তরের জন্য বিভিন্ন সক্রিয়করণ চেষ্টা করেছিলাম:
- Relu
- সিগমা
- সফটম্যাক্স (ভাল, সাধারণত সফটম্যাক্স সর্বশেষ স্তরে ব্যবহৃত হয় ..)
রেলু সেরা ট্রেনের নির্ভুলতা এবং বৈধতা যথার্থতা দেয়। আমি কীভাবে এটি ব্যাখ্যা করব তা নিশ্চিত নই।
আমরা জানি যে রেলুর খুব ভাল গুণ রয়েছে যেমন স্পারসিটি, যেমন নন-গ্রেডিয়েন্ট-বিলুপ্তকরণ ইত্যাদি, তবে
প্রশ্ন: সিগময়েড / সফটম্যাক্স নিউরনের চেয়ে সাধারণভাবে কি রেলু নিউরন ভাল? আমাদের প্রায় সবসময় এনএন (বা এমনকি সিএনএন) এর মধ্যে রেলু নিউরনগুলি ব্যবহার করা উচিত? আমি ভেবেছিলাম আরও জটিল নিউরন আরও ভাল ফলাফলের পরিচয় দেবে, যদি আমরা ওভারফিটিংয়ের বিষয়ে চিন্তা করি তবে কমপক্ষে ট্রেনের নির্ভুলতা।
ধন্যবাদ পিএস: কোডটি মূলত "উদাসিটি-মেশিন লার্নিং-এসাইনমেন্ট 2" এর, যা সাধারণ 1-লুকানো-স্তর-এনএন ব্যবহার করে নোট এমএনআইএসটির স্বীকৃতি।
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 * image_size, hidden_nodes]) )
hidden_biases = tf.Variable( tf.zeros([hidden_nodes]))
hidden_layer = **tf.nn.relu**( tf.matmul( tf_train_dataset, hidden_weights) + hidden_biases)
# Variables.
weights = tf.Variable( tf.truncated_normal([hidden_nodes, num_labels]))
biases = tf.Variable(tf.zeros([num_labels]))
# Training computation.
logits = tf.matmul(hidden_layer, weights) + biases
loss = tf.reduce_mean( tf.nn.softmax_cross_entropy_with_logits(logits, tf_train_labels) )
# Optimizer.
optimizer = tf.train.GradientDescentOptimizer(0.5).minimize(loss)
# Predictions for the training, validation, and test data.
train_prediction = tf.nn.softmax(logits)
valid_relu = **tf.nn.relu**( tf.matmul(tf_valid_dataset, hidden_weights) + hidden_biases)
valid_prediction = tf.nn.softmax( tf.matmul(valid_relu, weights) + biases)
test_relu = **tf.nn.relu**( tf.matmul( tf_test_dataset, hidden_weights) + hidden_biases)
test_prediction = tf.nn.softmax(tf.matmul(test_relu, weights) + biases)