Imagine you are building a model that can identify cats in photographs. You collect thousands of images, choose a neural network, train it, and check whether it predicts correctly. Everything seems straightforward, until someone asks, “But what exactly is the model doing?”

This is where Marr’s three levels of analysis become useful. Instead of looking at a machine learning system as one complicated block, we can understand it by asking three simple questions:

Computational Level: What is the goal?
The computational level focuses on the problem we want to solve. In our example, the goal is to predict whether an image contains a cat. The input is an image, the output is a prediction, and success might mean achieving high classification accuracy.
This is similar to ordering food through an app. Before thinking about the app’s design or programming, we first decide what the system should do: allow users to choose food, place an order, and receive it successfully. In machine learning, this means defining the task, the inputs, the outputs, and the evaluation metric before choosing a model.
| Question | Cat classifier example |
|---|---|
| What is the input? | A photograph |
| What is the output? | Cat or not cat |
| What is the goal? | Correctly classify the image |
| How do we measure success? | Accuracy, precision, recall, etc. |
Algorithmic Level: How will we solve the problem?
Once the goal is clear, we need to decide how the system will solve it. For the cat classifier, we might use a convolutional neural network. The network learns patterns such as edges, shapes, textures, ears, eyes, and eventually combinations of features that help it recognize a cat.
This level is about the algorithm and representation. The same problem can often be solved in different ways. A CNN, a vision transformer, or even a traditional computer vision method could be used for image classification. They may use different internal strategies while working toward the same computational goal.

Think of this like deciding how to prepare a meal. The goal is to serve dinner, but you still need to choose a recipe, ingredients, and cooking method. In machine learning, the algorithm is the recipe and the learned representation is how the ingredients are organized.
Implementation Level: How is it actually built?
The implementation level deals with the technical details that make the algorithm run. Here, we consider the number of neural network layers, the optimizer, learning rate, batch size, hardware, memory, training time, and deployment environment.
For example, two researchers may use the same CNN architecture but get different results because one uses better training data, a different learning rate, or a more powerful GPU. Similarly, a model that performs well in a research notebook may become too slow or expensive when deployed in a real application.
| Level | Main question | Example |
|---|---|---|
| Computational | What are we trying to achieve? | Classify images as cat or not cat |
| Algorithmic | How can we solve it? | Use a CNN to learn visual features |
| Implementation | How is it built and run? | Choose layers, optimizer, hardware, and batch size |
Why this framework makes life easier for ML Community ?
Suppose someone says, “This model does not understand objects.” That statement could refer to different problems. Perhaps the original task never required the model to identify objects. Perhaps the chosen algorithm learns useful visual patterns without forming explicit object representations. Or perhaps the implementation is too small, poorly trained, or unsuitable for the task. Marr’s framework helps us separate these possibilities instead of mixing them together. It reminds us that a model’s goal, method, and implementation are connected, but they are not the same thing.
So, Whenever you study or build a machine learning system, ask:
What is the goal? How does the model solve it? How is the solution implemented?
That is Marr’s framework in simple terms. It gives us a clear way to move from the big-picture problem to the learning algorithm and finally to the technical details that make the system work.
I hope this post made Marr’s three levels of analysis a little easier to understand and showed how useful they can be when studying or building machine learning systems. If you found it helpful, feel free to share it with someone who is learning machine learning, neuroscience, or the connection between the two. I would also love to hear your thoughts, examples, or experiences with using Marr’s framework in your own work.
If you would like to explore the topic further, you can check out these resources:
- Unlock Strategic Decision Making with Marr’s 3 levels of Analysis
- Levels of Analysis in Computational Social Science[A Research Paper by Krafft & Griffiths]
- Levels of Analysis for Machine Learning[A Research Paper by Hamrick & Mohamed]
And if you enjoyed this discussion, you may also like my post, Why Your ML Model Performs Great on Training Data but Fails in Real Life , where I discuss why strong training performance does not always translate into reliable real-world performance.
Until the next iteration, keep learning, keep experimenting, and may your models generalize well!