Artificial Intelligence Nanodegree and Specializations
Udacity is a for-profit educational organization founded by Sebastian Thrun, David Stavens, and Mike Sokolsky offering massive open online courses (MOOCs). This specialization was offered by Udacity as two three-month semester program, covering topics in Artificial Intelligence and Machine Learning, as well as a Specialization in either Computer Vision, Natural Langugae Processing or Voice User Interfaces. I completed the nanodegree by completing 7 required projects with a capstone project in Voice User Interfaces. This is a collection of all my work towards the degree.
This was an introductory project to build a Sudoku Solver using contraint propogation. Template code was provided with python functions that needed to be completed. Students were also expected to answer questions about Constraint Propogation. The project was completed using Python 3, in an Anaconda environment.
This was the second project in the nanodegree and we were required to build an adverserial game playing agent for the game - Isolation. Isolation is a deterministic, two-player game of perfect information in which the players alternate turns moving a single piece from one cell to another on a board. Whenever either player occupies a cell, that cell becomes blocked for the remainder of the game. The first player with no remaining legal moves loses, and the opponent is declared the winner. The template code for the game was provided and we had to implement the following -
- MinimaxPlayer: Agent using Minimax search
- AlphaBetaPlayer: Agent using mplement minimax search with alpha-beta pruning
- AlphaBeta with Iterative Deepening: Alpha Beta Agent using Iterative Deeping
- 3 different heuristics for position evaluation
Students were also required to summarize a research paper on Game Playing Agents and provide a report analyzing different heuristics for game board evaluation.
Search & Planning
The next project was to implement heuristic and non-heuristic planning searches for a airplane cargo problem. The algorithms implemented were -
- breadth first search
- depth first search
- A* star search
- A* with level sum search
- depth limited search
- uniform cost search
Students were also required to write a paper summarizing historical developments in AI and provide a report analyzing different search algorithms performance.
Sign Language Reconition System
This project was the final project of Semester 1. Extracted structured data of the coordinates of the hand positions from videos of people communicating in sign language, was provided.
This was the first project in Semester 2. I used Convolutional Neural Networks using Keras, to create a dog recognizer. The model could take an input image and predict if it was a human or a dog, and the resemblance of either to a dog breed. Major concepts covered were data augmentation, transfer learning, haarcascades, object detection and regonition.
Recurrent Neural Networks: Time Series Prediction & Text Generation
The project concentrated on Recurrent Neural Networks. The first part of the project used Apple Stock Prices as time series data and created a model to predict future prices using RNNs with Keras. The second part of the project processed text from a novel and created an RNN model to generate more text by performing multiclass classification.
Voice User Interfaces: Speech Recognition [Capstone]
This was the final capstone project for the nanodegree. The project was to build a deep neural network that functions as part of an end-to-end automatic speech recognition (ASR) pipeline! Five models were explored using various layers and configurations like RNNs (GRU, LSTM), Bidirectional RNNs, CNN + RNNs, RNN + Time Distributed Dense, Dropout, Batch Normalization, etc. Students were also required to analyze and study the performance of each of the models and come up with a model of their own.