A Neural Network Can Recognize a 2. But Does It Know What a 2 Is?
What building MNIST-NeuralVision taught me about the gap between recognition and understanding.
We often use words like intelligence, vision, and understanding when talking about AI.
But I think we should be a little more careful.
I recently built MNIST-NeuralVision, a small handwritten-digit recognition system. The neural network uses a simple 784 → 64 → 10 architecture with ReLU and Softmax. The training pipeline is built with Python, NumPy and SciPy, while the browser interface uses Vanilla JavaScript to visualize the network and prediction process.
You draw a digit.
The model predicts it.
Simple.
But then comes the interesting question:
Does the network actually know what that digit is?
The Case for “Yes”
Let’s be fair.
If I draw a 2 and the model correctly identifies it, then it has clearly learned something.
It has learned patterns from the training data and can use those patterns to classify examples it hasn’t seen before.
We didn’t manually program thousands of rules like:
“If these pixels form this shape, call it 2.”
The model learned numerical representations through training.
From an engineering perspective, that’s impressive.
And maybe “understanding” isn’t even necessary.
A calculator doesn’t understand mathematics like a human mathematician, but it can calculate.
So why demand human-like understanding from a neural network?
That’s a reasonable argument.
But Here’s the Problem
Now change the input.
Make the handwriting unusual.
Rotate the 2.
Change its thickness.
Add noise.
Move it somewhere the model isn’t accustomed to seeing.
A human might still immediately recognize the number.
The model might not.
And that’s where the distinction becomes important.
A model can perform extremely well on a particular dataset without possessing a human-like concept of the thing it’s recognizing.
MNIST is a controlled environment: 28 × 28 handwritten digit images with ten classes. It’s excellent for learning and experimentation, but the real world is far less predictable.
So when a model performs extremely well on MNIST, the accurate statement is:
“The model learned to perform this classification task very well.”
That is different from:
“The model understands numbers.”
What My Project Made Clear
One reason I built MNIST-NeuralVision was to make the process visible.
Instead of only showing:
Prediction: 2
the project lets you see the neural-network structure behind the prediction.
Pixels enter the network.
Get Hasher Amin’s stories in your inbox
Join Medium for free to get updates from this writer.
Weights transform them.
Activations pass through the layers.
The final layer produces outputs.
The highest output becomes the prediction.
Once you see that process, the result becomes less magical.
It’s mathematics and computation, not a tiny artificial brain sitting behind the screen.
And I think that’s an important distinction.
Accuracy Isn’t the Whole Story
A high accuracy score tells us something valuable.
But it doesn’t tell us everything.
We should also ask:
- What data was the model trained on?
- How does it behave on unusual inputs?
- Where does it fail?
- Does it generalize?
- Why did it make a particular prediction?
A prediction tells us what the model chose.
It doesn’t automatically explain why.
That’s why building small models yourself is useful. You can actually inspect the pipeline instead of treating AI as a black box.
So, Does It Know What a 2 Is?
My answer depends on what we mean by know.
If “know” means:
Can it learn patterns that allow it to classify handwritten 2s?
Yes.
If “know” means:
Does it possess the human concept of two, including its mathematical meaning and relationship to other concepts?
A simple MNIST classifier doesn’t give us evidence for that.
And that’s the part of AI I find most interesting.
We shouldn’t dismiss neural networks as “just pattern matching.”
But we also shouldn’t automatically turn successful pattern recognition into proof of human-like understanding.
The Real Lesson
Building MNIST-NeuralVision taught me something simple:
Don’t just celebrate the prediction. Question it.
Don’t only look at accuracy.
Look at the data.
Look at the architecture.
Look at the failures.
And most importantly, don’t confuse a successful prediction with understanding.
A neural network can recognize a 2.
It can classify it.
It can do it thousands of times.
That’s impressive.
But the more interesting question comes afterward:
What exactly did it learn?
Maybe that question is more important than asking whether AI is “intelligent” in the first place.








