Skip to content

AdalbertoCq/Deep-Learning-Nanodegree-Udacity

Repository files navigation

Deep Learning Nanodegree Udacity

This is the repository for my implementations on mayor projects of the Deep Learning Nanodegree from Udacity.

Syllabus

Neural Networks.

  • Mathematical demonstrations:

  • Weight Initilization review:

    • Implemented using TensorFlow.
    • Implication of different initializations over Cost function and Gradient descent.
    • Reviewed:
      • Ones initializatialization.
      • Uniform distribution, saled uniform.
      • Normal distribution, truncated distribution.
      • Comparison to Xavier initialization.
  • Batch Normalization:

    • Implemented on TensorFlow.
    • Used in fully connected and convolutional layers.
    • Two levels of implementation:
      • Higher level of abstraction, tf.layers.batch_normalization: TensorFlow takes care of the normalization for training and inference, control dependencies through tf.control_dependencies() and tf.GraphKeys.UPDATE_OPS.
      • Lower level, tf.nn.batch_normalization: Explicit implementation instanciating gamma, beta, and calculating the batch/population mean, variance. Control training and inference through tf.cond().
  • Sentiment Analysis using MLPs:

    • Implemented on Numpy/Python.
    • Predict Positive/Negative sentiment over movie reviews.
    • Preprocess data:
      • Create vocabulary, word frequency.
      • Analyze word-freq/sentiment review ratio.
      • Bit encoding per word.
    • Built the neural network.
    • Reviewed limitations with word freq instead of word-sentiment relationship. 10% Validation accuracy improvement.
  • Bike Sharing Project:

    • Implemented on Numpy/Python.
    • Load & prepare the data:
      • Normalize features.
      • Created training, validation and test data.
    • Implement forward and backward propagation.
    • Trained and tested accuracy.

Convolutional Neural Networks.

  • CNN Autoencoder:

    • Implemented using Keras.
    • Usage of CNNs for encoding-decoding.
    • Denoising images.
  • Data Augmentation & Transfer Learning:

    • Implemented using Keras.
    • Explored data augmentation of CIFAR-10 with ImageDataGenerator from Keras, and impact of it over training.
    • Reviewed transfer learning on VGG-16, bottleneck feature extraccion and new FC layers over them.
  • Dog Breed Prediction Project:

    • Implemented using Keras.
    • Created CNN model from scratch and achieved at least 5% test accuracy in the first 5 epochs using data augmentation.
    • Used transfer learning of Xception model, and data augmentation to achieve 83% test accuracy.
    • Xception paper: Xception: Deep Learning with Depthwise Separable Convolutions

Recurrent Neural Networks.

Generative Adversarial Neural Networks.

Deep Reinforcement Learning.

About

Deep Learning Nanodegree by Udacity.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published