Large projects, large rewards?

Or: the intangibility of Machine Learning projects

Large projects, large rewards?
Photo by Charisse Kenion / Unsplash

Finally: After countless hours, you finished this project. Time after time, you traversed GitHub repositories, scrolled through StackOverflow posts, and tried to decipher TensorFlow's cryptic error messages.

From one moment to another, the project is done; you've done your part. Where before you would spend each day hands down in code, model optimization, and Machine Learning libraries, you are now faced with: nothing?

The main problem with Machine Learning projects of all kinds is that they are not tangible and probably never will be. Only when you start your computer, open an IDE, and open the actual codebase you can see what you've created. There's nothing that is for itself tangible; you have to perform preliminary steps to see your success. Essentially, you can't touch software.

To put it differently, the result of a finished Machine Learning project consists of bits and bytes and not something that can be glanced at, held in hand, or otherwise experienced with the senses. Take Neural Networks, for example. Though everybody has some internal visualization of this concept, no real-world counterpart will materialize itself. Once you have carefully optimized the hyperparameters, you return, strictly speaking, empty-handed.

Reward yourself

To still enjoy pleasurable rewards connected to Machine Learning software, you have to take care of it yourself. Such gratification serves as real-world compensation for the digital outcome of your project. By directly linking the finishing of the project--an intangible thing-- with a physical reward --a tangible something--, you can trick your mind into it. Therefore, the question is how to reward yourself after finishing a Machine Learning project?

As always, the answer depends. Luckily, in our case, the answer mainly depends on two factors: the duration and the intensity of the work.

Time as a determinant for rewards

Let's first cover rewards based on the time it took to finalize the project. To simply things, we can derive three categories: afternoon projects, week projects, and month projects. Generally, your skills determine where your undertaking falls; nevertheless, these are reasonably broad categories.

Afternoon projects

As their name hints, these are those projects that take up to a couple of afternoons to finish. An example for such a project is this tool, which lets you visualize various augmentations--techniques that artificially alter data--applied to audio signals. In total, this took two to three afternoons to craft. Of course, there are other examples, but the question is: what kind of rewards do we give us?

For such a short project, the reward should be of a similar scale but not part of your everyday life. A good example is high-quality chocolate. Not the one for 50 bucks, but the one for a couple of dollars. It's a pleasure for all senses: it smells good, tastes good, looks delicious, feels like a premium product, and makes a satisfying sound when bitten into.

Week projects

This category holds all projects from a couple of afternoons to a month in duration. An example, depending on your skillset, is re-implementing a paper. I challenged myself with that a year ago, and it did take some weeks. If the instructions (i.e., the writing) are clear, you can tackle this challenge very well. If not, then it takes longer.

How do we reward such efforts?

By going bigger than before. The more senses are included, the better. However, a chocolate bar for 25 dollars is still that: a chocolate bar. Thus, more special rewards are appropriate, such as buying a nice shirt or an exciting book.

Month projects

These projects had you engaged the longest and deserve the most significant rewards. One approach is linearly increasing its value (commonly measured in money units), so we are now at 50 dollars. However, the increase of the project's duration from weeks to months might not have been linear. In this case, an exponentially more valuable reward is an option. Here, the candidates are:

  • A good (and pricy) fragrance.
  • A visit to a fun park.
  • A good evening with your friends.

Even longer projects?

In my opinion, longer projects do not require even bigger rewards. Instead, they can be divided into multiple sub-projects of varying duration. This way, you are rewarded throughout the projects, an incentive to stick with it.

Intensity as a determinant for rewards

Similar to before, we can use the subjective intensity of our efforts to categorize a project. Moreover, we can again create three categories: low-intensity, mid-intensity, and high-intensity projects. Even more than before, your level of Machine Learning expertise determines where your work falls.

Low-intensity projects

This category holds all the tasks you've either done countless times or are in any other way well equipped to handle. An example is parsing a dataset. After you have done it a couple of times, it's often the same few steps applied, in slightly modified form, to new data. This is in no way intellectually challenging, and the possible rewards reflect this: An unexpected cup of coffee, tea, or something similar.‌‌

Mid-intensity projects

To describe this category, let's stick to the data parsing example. This time, we also want to apply various operations akin to the audio augmentations mentioned previously. Typically, these operations are splitting the data into train, test, and validation splits or into folds. To achieve this, you have to think through this process, as some caveats are waiting to invalidate your work (hint: data leakage). To some extent, this requires you to dive into novel topics (data splitting), which needs concentration. As a result, the rewards are more satisfying: a good meal, a good book, or similar.

High-intensity projects

This category holds all the Machine Learning projects that are more demanding than the previous category allows. For example, this is when you access an unknown domain, code something from scratch, or work on your challenging ideas. A good example is creating a new network architecture akin to the ResNet model family. The possible rewards reflect this challenge: Going for a hike, making an excursion, or, my favourite, taking time off.

While there is some overlap between the duration of a project and its intensity, these are not the same. Take, for example, writing a thesis. Generally, this is a lengthy endeavour, typically three to six months. While working on it, you'll have phases that require your total concentration and stages of menial work. It's, therefore, a month project but does not necessarily fit into high-intensity projects.

The other way around is also possible: on Friday, you are tasked with delivering something critical the next Monday. Though this would fall into the category of afternoon projects, it's definitely a high-intensity project.

In summary, you can--and should-- reward yourself when finishing Machine Learning projects of all kinds. Depending on the duration and the intensity of the completed work, you can choose a reward among these suggestions: a chocolate bar, a cup of coffee, a t-shirt, a fragrance, a good meal, time with friends, a visit to a fun park, hiking.