J'ai implémenté un modèle CNN
pour la classification numérique. Mon modèle est trop surfait, Afin de surmonter le surapprentissage, j'essaie d'utiliser L2 Regularization
dans ma fonction de coût. J'ai une petite confusion comment puis-je sélectionner <weights>
pour mettre dans l'équation de coût (dernière ligne du code).Comment implémenter la fonction de coût régulé L2 pour le réseau de neurones convolutif
...
x = tf.placeholder(tf.float32, shape=[None, img_size, img_size, num_channels], name='x') # Input
y_true = tf.placeholder(tf.float32, shape=[None, num_classes], name='y_true') # Labels
<Convolution Layer 1>
<Convolution Layer 2>
<Convolution Layer 3>
<Fully Coonected 1>
<Fully Coonected 2> O/P = layer_fc2
# Loss Function
lambda = 0.01
cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits=layer_fc2, labels=y_true)
# cost = tf.reduce_mean(cross_entropy) # Nornmal Loss
cost = tf.reduce_mean(cross_entropy + lambda * tf.nn.l2_loss(<weights>)) # Regularized Loss
...