Monday, November 27, 2017

Review Udacity Artificial Intelligence Nanodegree

I cannot recommend this nanodegree despite that the video lecture quality improved tremendously. The price tag of this series of nanodegrees is very pricey and will definitely not help you get jobs unless you are quite familiar with AI already. Most of the concepts covered in lecture, can be found on the internet in much cheaper and digestable forms. I wish I can get a refund in this course.

This is the first nanodegree I regret purchasing. I had positive experience with machine learning engineer nanodegree and digital marketing nanodegree. The first iteration of ML Nanodegree was not very cohesive but it was a really good overview as well as hands on experience for ML. I am surprised that the artificial intelligence one seems to have much higher quality course content but terrible result.

I thought I'd be getting started with AI playing with basic, fun, but informative projects. Nope just puzzles just printing out lines and lines of game board. While an important foundation of AI, there's no need to pay Udacity price tag. Udacity projects are supposed to be fun, real world, practical, and a new style of education. For puzzles, printing out game boards using dashes and dots, I can go to Coursera and many college courses to find that, better explained

Video quality has improved across the board

Professors and assistants from Georgia Tech is spearheading the teaching with a little bit of Luis Serrano here and there. Overall the lecture videos and animations are professional. They are updated, and professional, becoming more suitable for the price tag. The lectures by  the professor at Georgia is quite pleasant and well designed. They are great at explaining high level intuitions and concepts of AI. One minus is that the lectures don't translate to problem solving. They will not successfully prepare students for the problem sets and projects.

Projects are very dry and hard to get through

As explained below, the first installment is quite dry. Projects are difficult to go through. Without building a solid foundation, you are hit with a Sudoku puzzle right away. Sample codes are filled with cryptic python list comprehensions with poorly chosen variable names. Painful, purely painful. 

This nanodegree is an expensive rip-off

This nanodegree, like the SmartCar series are chopped into several semesters. Due to the difficulty level of the material, it is hard to obtain the full-set of skills in a single semester. It also means that you have to invest north of $1800 to complete the actual nanodegree. It's a deal breaker for me. Udacity is turning greedy for sure. It basically thinks it can charge you anything below a college degree or a graduate degree. It's important to realize that traditional academic expenses cover many resources, activities and experiences in addition to lectures.

The first installment of the nanodegree only scratches the surface of artificial intelligence

The first installment touches a little more than solving puzzles like Sudoku and basic games, while learning constraints problems, building a basic agent. While an important foundation, it is quite dry. I think it is quite tough for independent learners to go through this dry material. 

Again materials are stitched together

Udacity likes to patch materials together. While there's nothing wrong with recycling, the lectures are not always cohesive, and can be quite frustrating for students.

Career prospect is dismal

Career prospect of this nanodegree will be dismal unless you finish the entire series, which is quite expensive. The first installment just touches constraint resolution, backtracking, and advanced technical interviews, but does not give you enough toolset to solve it. I recommend getting tutorials online and studying technical interview problems related to puzzle, solving instead. The sample code in this nanodegree will not be appropriate for interview use. 

Overall, I do not recommend this course. Google for better education in natural language processing, artificial intelligence and more.

Sunday, November 12, 2017

What is Tensorflow? - Tensorflow for Dummies Google Tensorflow 101

What is Tensorflow

Tensorflow is a deep learning framework, and deep learning is a hot field of machine learning. It's like like rails is a framework for web applications and bootstrap is a framework for front end development.

More generally, Tensorflow is built for large scale numerical computation. Deep learning is one of its capabilities.

You can scale your machine learning code, with Google in the cloud by employing more than one core. Even use GPU and parallel processing.

Tensorflow computes gradients, a non trivial calculation, fast.

TF provides a library of machine learning APIs, models, scoring metrics, optimizer for machine learning. It also provide mathematical computation libraries and functions that support high dimension matrix calculation, manipulation for linear algebra.

Get a taste of Tensorflow for beginners here:
Get a taste of Tensorflow for experts here:
Google Cloud app engine will soon offer Cloud ML

Matrix Vector Representation of an Image - Image Classification for Machine Learning

Each pixel intensity can be represented with RGB values - red green blue. See this Coursera Deep Learning MOOC by Andrew Ng. The RGB data of an image is known as the three 3 channels. Each is a matrix. We vectorize the RGB data into feature matrix X. Dimension length of X is = width_pixel  multiply by height_pixel multiply by number of channels 3. E.g. the digits in LSMNT  are 28 by 28 by 1 because they are black and white, so instead of 3 channels, it only has one channel.

Coursera Deep Learning MOOC by Andrew Ng Convolutional Neural Net

Udacity Offers Free Preview of its Deep Learning Nanodegree

"What will you create?" with Deep Learning? Previously the deep learning foundation is taught by Youtube star Sraj Raval, quite a personality, look him up! Luis Serrano head of Machine Learning at Udacity is revamping the series with a course developer - Matt. Luis is a machine learning specialist PhD who has taught, done research and worked as a Google Engineer. Matt has used datas science and python for his PhD work. They just offered a free preview of this Nanodegree. Here are some reviews, observations and commentaries.

Luis, Matt
will guide you through this Udacity
Deep Learning Nanodegree process

You can meet the instructors. Learn about Neural Networks including:

  • Convolutional Networks
  • Recurrent Neural Networks
  • Generative Adversarial Networks
  • Deep Reinforcement Learning. 

Real world projects of this nanodegree:

  • Create original art like Picasso, Hokusai (Japanese wood print painting), using deep learning transfer learning (though you can do this right now. Google Developer demo shows you how)
  • Teach a car to navigate in simulated traffic (Deep Reinforcement Learning)
  • Train a gaming agent to play Flappy Bird
There will also be stories about Sebastian Thrun's work at Stanford skin cancer detection by Alexis Cook. Understand how Sebastian's team devised this new life saving algorithm. Technically after learning Convolutional Neural Network (CNN) you can analyze medical MRI, X-rays and more. 

Exposure to technologies:

  • Keras
  • Tensorflow
Exposure to experts:
  • Sebastian Thrun
  • Google AI, Google Brain
Information covered in this nanodegree: CNN, RNN, GAN, Reinforcement learning, projects. See the infograph below

Deep Learning Nanodegree has 5 parts:


Create art with transfer learning
Linear regression, machine learning

Neural Networks

Build simple neural networks from scratch using python 
Gradient Descent, backpropagation
Project 1, predict bike ridership using a NN
Model evaluation, validation, 
Guest instructor Andrew Trask author of Grokking Deep Learning
Predict text and predicting sentiment

Convolutional Networks

Computer vision
Build Convolutinal networks in Tensorflow
Project 2 use CNN to classify dog breeds
Build autoencoder with CNN
A network architecture for Image compression and denoising
Use pretrained neural network VGGnet to classify images of flowers the network has not seen, using transfer learning

Recurrent Neural Networks (RNN)

Transform sequences like text, music, time series data,
Build a RNN generate new text character by character
Natural language processing, Word embedding, Word2Vec model, Semantic relationship between words, 
Combine embedding and RNN to predict sentiment of movie reviews
Project 3: generate tv scripts from episodes of the simpsons

Generative Adversarial Networks (GANs)

Great for real-world data.
Generating image as in the CycleGAN project
Guest instructor Ian Goodfellow from CycleGAN implementation
semi supervised learning
training classifier with data with mostly missing abels. 
semi-supervised learning, a technique for training classifiers with data mostly missing labels.
project 4 use deep covolutional GAN to generate human faces.


Use Kindle Unlimited to Read Coding Interview Prep Books for Free!

Deep Reinforcement Learning

Artificial intelligence
AlphaGo by DeepMind, Video gaming agent, robotics
Design agents that can learn to take actions in a simulated environment
Project 5 Deep Reinforcement Learning agent to control several quadcopter flying tasks, including take-off, hover, and landing.

Learning Resources and support: there will be community forum, a slack channel and a waffle board.

Wednesday, November 1, 2017

Computer Science Tutorials for MBAs and Business Leaders

Amazing Computer Science tutorials for MBAs and Business Leaders by CS on Youtube
Link to the playlist

Easy to understand, world class quality. Brought to you by the Harvard team that made the massively popular CS50 Series.

Behind the scene

Firebase Tutorial - Cool things you can do with Firebase 2020

Introduction to Firebase You control your Firebase using the Firebase console. The console manage one or many projects.  Each dat...