A couple days back I spoke at World College of Technology and Management in Gurgaon. My topic Building a career in Artificial Intelligence was directly aimed at students at the cusp of starting a career. Without going into deep technical details, my session was designed as an eye-opener for students (and teachers alike) who have wondered today’s hot question–what does it take to become an ‘AI engineer’?
The keynote presentation (by Nishith Pathak) talked about the importance of AI, the various possibilities it opens up and some industry use cases. My session having been scheduled right after the keynote benefitted from the expectations the keynote speaker had set about AI. While the keynote highlighted the functional and business aspects of today’s arguably #1 buzzword, my presentation dived a little deeper into uncovering the skills and knowledge required to try and enter this amazing field of study. I say field of study since most of the useful work on AI is still purely scientific and even academic. But since corporations are increasingly adopting the set of ideologies that define AI in an attempt to create intelligent solutions for their clients, job opportunities have started to open up for people who know the science and math behind AI. As any sufficiently technical person would know, machine learning is at the heart of developing AI solutions. And, so, my presentation put focus on ML and the skills required to learn it.
A special thanks to the organizers at WCTM college (especially Dr. Pooja Sapra) for inviting me over and giving me the opportunity to connect with at least a hundred students about something I’m passionate about. And thanks to Nishith Pathak for recommending me at this event.
I leave you with a preview of my presentation, hosted at Google Slides. I hope absolute beginners will find it useful. People already working in machine and deep learning, please do let me know your thoughts on how it may be improved.
Today I completed 23 days of consecutive morning workouts. 23 days… my gosh! It was once believed that the magic number of days after which doing something daily became a routine was 21. I am 2 over. However, recent studies have shown that 21 is a little too less. The actual magic number is 66.
At any rate, I think 23 days is sufficient to make one feel great about a regular morning ‘routine’. I wake up between 4-5 am each morning, do work related to whatever side project or experiment I’m working on, and at 7 am I hit the road.
I’ve been running regularly since 4 months now. But until the end of March, it was not more than 3-4 days a week, sometimes even less. I wanted to be more regular in order to fight and reduce my stupid belly fat. Then one day–almost suddenly–I decided to alternate my morning workouts between running and cycling. It was an experiment to see if a day of hard exercise (running) followed by a day of relatively less stressful exercise (cycling) would help me get into a habit. And of course, I wanted to use that cycle of mine lying around unused since long. Guess what, it worked!
I’d been doing 3 kilometer runs before my new routine. Mixing in 10+ kms of cycling helped me very soon amp it up to 5 kms. Now, I consistently do 5 km running and 13+ km cycling sessions. That’s around 35-40 mins of daily workouts. Amazing, isn’t it? Yesterday, I broke my time record for 5 km run and today I broke my total distance record for cycling. Screenshots below.
I use Nike+ Run Club app for tracking my runs and UnderArmor’s MapMyRide app for cycling. And since I have plenty of ‘free’ time while working out, I listen to a podcast or an audiobook. After having finished The Stories of Mahabharata podcast, currently I am listening to the audiobook The Power of Habit. I am 35% through it, but how much I miss the Mahabharata podcast! Sudipta Bhawmik’s storytelling skills are really something. I’ll soon be doing a blog post on briefing all characters of the famous epic tale as have been covered in the ongoing podcast till now.
Being a physics enthusiast, I was perhaps as dumbfounded as you were when I saw the first-ever image of a blackhole in today’s newspaper. I’ve always been fascinated by blackholes: their mind-bending complexity and the various sci-fi theories weaved around them over the years. So it’s obvious that capturing the ‘un-see-able’ felt weird. Like really weird. And what a name of the system of telescopes that captured this image–Event Horizon! I think the following video does a pretty good job in explaining how to interpret the image. It’s intriguing to note that the video was released before the image was actually made public.
It’s a very simple job that calls a Node.js script to renew a watch I have on one of my Gmail accounts. at exactly 4:00am daily. Now, what is a watch or why I am watching my mailbox are beyond the scope of this little blog post. Basically, I have a nifty little Node.js API that I use as a webhook to get notification updates from Gmail whenever a new mail arrives. It then checks if the new mail has a specific subject and from address, which when true instructs the API to call a custom parser to scan the contents of the new mail and return me important bits of information that I then save in a database. Geeky? Perhaps it is. I plan to do a separate blog post on how you can do the same (not setting up cron, but watching Gmail mailboxes for new mail programmatically).
Back to cron again: it’s not that I didn’t know the concept of automated jobs before (in Linux or otherwise), I guess I never really needed to create a scheduled job before. Creating the job was not as much fun as reading the correct way to do it. I followed this Digital Ocean community tutorial, which is now 6 years old but stays relevant today.
On this topic, in my professional life I’ve literally seen people learning about this ‘cool’ tool and then misusing it for all sorts of software development things that can be (and should be) done using some form of publish-subscribe or message queue design pattern.
Such is the impact of linear algebra in the world of computer science that today it’s impossible (for all practical reasons) to stay away from the topic. Computer graphics, machine learning and, even, quantum computing all model their data using the same language–you guessed it–linear algebra.
When we were taught this seemingly obscure topic at high school, it was hard to imagine then that it would come back haunting with such force. What then felt like “why read what I’d probably never-ever use again in life?” now feels like “why the hell did I not revisit this a couple of years back?”. The article 5 Reasons to Learn Linear Algebra for Machine Learning makes a great (but cautionary) case for why you should too start learning the subject right away!
I have been a machine learning practitioner since more than a year now, but never did I learn LA deep enough to be able to interpret the results of certain deep technical research papers on ML. So, it’s good that I pretty much have to learn this subject now because of my current research work on quantum computing, something you just cannot get a hang of without knowing the various data notations which unsurprisingly are some form of LA notations.
Now, how do you actually learn the thing enough to get deeper into ML or QC or whatever you are working on that requires linear algebra? Good question. The short answer is — do NOT buy a book and spend months. The shorter answer is — check this YouTube course Essence of Linear Algera by 3Blue1Brown. Other cool learning resources exist on the subject, such as Khan Academy, but I highlighted the one by 3Blue1Brown just because that’s the one I’m learning from. And it’s LEGENDARILY awesome because of it’s purely visual explanations (which, btw, are animations created using–you guessed it again–linear algebra!).