I graduated from software engineering (specialization: AI and robotics) a long time ago. The AI specialization was a big deciding factor for me. I was an avid science fiction reader (dreamer?) and had ideas of building the first “positronic” brain (please don’t laugh, I’m still uncomfortable as to how naive I was).
When I finally got to the AI courses (after three years of engineering), I was a bit disappointed. The courses were less about Neural Networks (NNs) and a lot more about “general” Machine Learning (ML) (e.g. linear regression and the like). The little we learned about NNs was theoretical and very very basic (e.g. perceptrons).
Fast forward a couple of decades and things are different. First, data sets are much larger and more readily available. CPUs are more powerful. This makes the analysis of these data sets feasible and relatively cheap. Finally, you also have a rich eco-system of languages (e.g. Python, R) and frameworks (TensorFlow, Pytorch) that make the NNs accessible for laymen.
Given all of this, I decided to take a couple of months off to get back to AI. I’m unsure if this is a career move or will just be a hobby. My younger self’s interest in AI and NNs might have faded and been replaced by other things but since I don’t want to live with past regrets, I’ll give it a go.
I’ve built myself a study plan. I have time-boxed this experiment until January. After that, I’ll make a decision as to what to do next.
So my approach to learning AI is as follows:
- Complete Python Bootcamp: Go from zero to hero in Python 3 from Jose Portilla
- Effective Python by Brett Slatkin
I like the Jose Portilla courses, there’s a lot of exercises which are a must to learn a new language. I probably also need to think about a project or two to learn the language better.
Learning Machine Learning Techniques
Next, I want to get a broad overview of the current state of machine learning. The following resources will be used:
- Python for Data Science and Machine Learning Bootcamp from Jose Portilla
- An introduction to statistical learning from G.James et al.
- Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems from A. Geron
The second resource is a university course book, I’m unsure that this is the level where I should take this but since I haven’t looked the AI in many years, I’ll at least take a quick look at it as a refresher.
Learning Neural Networks
So there’s a decision that I’ll need to make here. Should I select PyTorch or TensorFlow? Are these two frameworks so dissimilar that I really need to select one? I’m not sure. For the moment though, I’ll focus on TensorFlow as online courses are more readily available. By the time I get to this section of my curriculum, things might be different though. We’ll see. For the moment though, the resources I’ll use are:
I’ll try to blog a little bit about what I find out during this experiment.