Course correction
I’ve been struggling recently while working with AI stuff.
Part of it was work taking a hefty toll on my mental resources, but there was something else I couldn’t quite put my finger on.
I’m hoping to get a programming job sooner rather than later, so it was important to try and figure things out.
A few months ago, when commenting on my Rubik’s Cube project I wrote:
I effortlessly set to work on this project every day since I finished Advent of Code 2017 and generally couldn’t wait to get started. I say set to work, but it never felt like work, even in the most frustrating moments.
This wasn’t happening on any of the AI/Machine Learning project I started. Although I found the subject and the fastai course fascinating, it took some effort to start coding anything related. Eventually, it became so difficult that I couldn’t even get to it.
If you keep saying something is a priority but you never act on it, then you don’t really want it. It’s time to have an honest conversation with yourself.
James Clear - Atomic Habits
As with any serious failure in a system, several things went wrong. I’ve identified three:
- Uncertainty
This article highlights the effect of uncertainty on productivity, detailing three different kinds of uncertainty and ways to get past them. I had a bit of high-level uncertainty and a ton of strategic uncertainty. This makes sense, I was attempting Kaggle competitions as a complete beginner in the field. Browsing the forums and reading about the different approaches shared by people helped, Kaggle members are wonderfully helpful.
- (Too) high expectations
I wanted to get good results on the first Kaggle competition I entered. I did ok, but what should have been a fun learning experience ended up being stressful. I understand why I did this and writing this article is a way to prevent forgetting about it. However, even setting a realistic objective didn’t fix the issue for the next one I attempted.
- The actual coding
Writing Machine/Deep Learning code is different. Training models all day was a difficult experience, and trying to adapt to it simply took too much energy. This was in direct contrast to the other projects I worked on that fueled me. I think this is the most important point. When asked about his advice to the younger generations, Andrej Karpathy had this to say:
[…] really introspect in your past what were the things that gave you energy and what are the things that took energy away from you
This may come as a surprise, as I was quite enthusiastic when I wrote about my completed AI projects. Looking back, what I enjoyed in those were the parts that did not involve writing Machine Learning code.
I see two possible conclusions here:
- Machine/Deep Learning is something I enjoy reading/learning about but not something I’d enjoy working on exclusively.
- I would have enjoyed learning about anything taught the way it was by the fastai group because they’re great educators and have a very welcoming community, but don’t particularly care about ML/DL.
Either way, I think it’s best to get back to more traditional programming which I’ve always liked. I’ll soon be leaving a job that I wasn’t made for, it makes no sense to try and head for one that most likely doesn’t suit me either.
But hey, at least this time I figured it out in a month rather than 6 years!
I wasn’t sure about writing this initially, but I remembered this quote from an article by Rachel Thomas:
It can be intimidating to start blogging, but remember that your target audience is you-6-months-ago, not Geoffrey Hinton. What would have been most helpful to your slightly younger self?
And I’m glad I did, I certainly understand the situation a lot better now.