I’ve bet that A.I. is my future:Kiran Arun-TeensInAI Accelerator 2018

Machine Learning is a great skill to have and if you’re are intrigued I highly recommend you try learning it. The two things you can do are jump in as a developer and play with Tensorflow + Keras and build cool solutions, or deep dive into the maths and try and solve the world’s problems.

My Story

I started by using Tensorflow and watched Siraj Raval’s YouTube channel. I had also learnt the basics of Linear Algebra, which only really consisted of scalars, vectors, matrices, tensors and their basic operations. These are the fundamentals of how neural networks (NN’s) work (not including the learning bit). The first model I explored was a linear regression model which simply learnt the equation for a straight line. I found this model with every beginners guide like Tensorflow’s first tutorial. To understand how the weights multiplied with the inputs, I only had to know the basics of linear algebra. I didn’t properly understand the learning part, which used calculus and since it wasn’t a probabilistic model, I didn’t learn any probability theory. These three maths areas (linear algebra, calculus and probability theory) are the most useful to know if you want to have a good understanding of ML. I didn’t go in depth in any of these areas until later but instead focused on building and developing basic NN’s in Tensorflow.

I felt this time wasn’t used as productively as it could have been. I did what was needed to get a decent result, but it didn’t teach me anything about how NN’s worked. It was only when I took this free course edX csmm-102x, that I started to appreciate the way ML really works. It gave me a good overview of the basics of ML and was heavily based around the maths and concepts used rather than the coding. The assignments consisted of coding basic models without an ML library. Coding the models in Python without any ML library (just using Numpy), forces you to understand exactly what is happening to the data.

My Advice

There are lots of examples of ML models that are heavily discussed but I suggest training and running a simple model yourself. Then play around with it until you understand it (by researching and/or observing what’s happening with the model). The simplest examples are linear regression and classifying handwritten digits.

Siraj’s YouTube channel is a great resource for complete beginners up to the more experienced. He explains stuff very well although he doesn’t go deep into the maths, just explains the concepts. I like how he quickly dives into creating the models, then talks about the structure and concepts in a fast mannered but easy to understand way. I recommend this playlist as he goes through the fundamentals of deep learning so you understand what’s really happening.

I use Jupyter notebook for all my work as it’s very easy to visualise data and code in a more sequential way (also you don’t have to run the whole model each time). It works with Tensorflow very well and Tensorflow’s docker image comes with it. PyTorch (and Torch) are great for researching as you can create dynamic NN’s very easily as it builds the NN like you code it, rather than Tensorflow building it after you first specify the model. The annoying thing for me with Torch is that it uses Lua, a whole different language.

Be Prepared

Originally published at Acorn Aspirations.

Powering the Next Generation of Thought Leaders, Innovators and Technologists in #AI @teensinai #TeensInAI #GirlsinAI #MCStartup2016 Founder @elenasinel