"If you want to learn something well, explain it."
What is TensorFlow?
Let's look it up on the TensorFlow.org page: "It's an end-to-end open-source machine learning platform for everyone." When TensorFlow version 2.0 came out in 2019, it was praised as a significant step towards the democratization of AI: "Now anyone can get their hands on the steering wheel!" When we sat down together to draft this article series, we asked ourselves: "Who is anyone?" We hardly believe it's literally anyone. As the NY Mag recently wrote: "Please Stop Telling Miners to Learn to Code." Fair enough.
Our article series: The team, principles, and methods
For starters, this article series is a joint effort by a team of three: One member on our team has a background in STEM (Richard Sarpong), and two of us don't (Ava Dobreva and Rafael Knuth). All three of us are new to TensorFlow, and we wanted to validate the hypothesis that TensorFlow is a big leap towards the democratization of AI. How do we prove this hypothesis? Through experimentation. That being said, consider this article a documented learning journey resulting from a series of experiments. However, we did not just jump onto the task and got it "somehow" done. Instead, we used a set of proven principles and methods to conceive this series. This first article you are reading right now is an introduction covering the principles, practices, and the necessary prerequisites.
Our target audience: Business users
We are focusing on enterprise users. That's the type of audience we know very well through our work. It's also the most underserved audience. Most online courses on programming and machine learning are geared towards students and young professionals in their 20s and early 30s. However, the vast portion of the enterprise workforce is in their 40s, 50s, and 60s. As our society is aging, so does our workforce. A vast portion of them does not have formal STEM education.
We are targeting three distinct audiences:
This approach might be too limiting to you if you are a student, a young professional, or if you already have a foundational knowledge of programming. If, however, you are a tech-savvy business user, this article series will hopefully suit you well.
Our goal: Fastest route to minimum viable skills
We're Lean Startup practitioners. Needless to say, we also apply Lean principles to this TensorFlow 2.0 learning journey, such as:
If you are not familiar with Lean Startup, we recommend reading the book written by Eric Ries. There are also a bunch of book summaries on YouTube, here is one, as well as various talks with the author. To be clear: We do not aim to make anyone an AI expert in no time. This is an unrealistic goal. Instead, we want to present the fastest and easiest possible way to get started using TensorFlow 2.0 and thus prove/disprove the hypothesis that TensorFlow is a massive step towards the democratization of AI. This is an important distinction. It takes years to become an expert. It should take as little time as possible to get started, though.
Our learning method: Ultralearning + Atomic Habits + Agile Sprints
As a team of three individuals with different backgrounds working on this article series, we wondered, "How should we learn as a team?" Finding a modus operandi that would work for all three of us was a crucial factor. We've tested various methods. Ultralearning and Atomic Habits resonated well with us.
Ultralearning is a set of 9 principles developed by Scott Young. These principles are described in his book, in various book summaries on Youtube and Scott Young's website: "Being able to master hard skills quickly is essential to your work and life. Ultralearning is a strategy for aggressive, self-directed learning." Scott Young made a big splash showing that it's possible to get an MIT education for just USD 2,000 within a year instead of four.
Ultralearning tends to appeal to lonesome cowboys working 80 hours a week to accomplish seemingly impossible learning endeavors. Those were the two things we needed to adjust: 1. Make Ultralearning less aggressive and 2. more team-friendly.
What if you only have 5 or 10 hours a week to learn? Enterprise professionals have full-time jobs and families with children in most cases. We found Atomic Habits by James Clear to be perfectly complementary to Ultralearning. It's a set of methods to accomplish goals through small habitualized efforts that compound over time. You can find a book summary on Youtube.
Our formula for accomplishing great learning results as a team is:
Ultraearning + Atomic Habits = Atomic Learning
Last but not least, we ran our learning effort as an Agile project, which we split into weekly sprints with daily standups. We used Jira, Slack, and Google Docs to organize our work.
Our work environment: Notebooks on Google CoLab
We find Notebooks on Google CoLab to be extremely easy to use when working with TensorFlow. If you have a Gmail account, the Google CoLab environment is just one click away from your Google Docs and Sheets. In case you are new to notebooks and to Google CoLab, you should familiarize yourself with Jupyter Notebooks first. Google CoLab is essentially a Jupyter Notebooks stored in your Google Drive.
There are three main reasons why we recommend using Google CoLab:
Our programming language: Python
Python is one of the most popular programming languages. To start using TensorFlow, you need to understand the basics of Python. However, if you have zero programming experience, you can acquire minimum viable Python programming skills working through this 4 ½ YouTube beginners tutorial. For starters, write your first "hello world!" line of code in Google CoLab. Your company is likely leveraging on Microsoft Azure or Amazon AWS, which both have their Jupyter Notebook distributions. However, we found Google CoLab to be the most intuitive environment (we might explore different infrastructure options in the future).
We will be exploring further Python resources in later posts to get you started using TensorFlow as quickly as possible.