Summer of Math Exposition

Presented by 3Blue1Brown 3blue1brown

Neural network self portrait

Audience:

Tags: visualizationneural-networkcodeanimationsnotebookcredit-default

  • every cell of code you run draws an animation explaining what just happened inside it
  • you build a neural network from scratch using only NumPy
  • the goal is to predict credit default based on Kaggle’s 2011 Give Me Some Credit dataset
  • all in a beautiful Jupyter Notebook GitHub


Analytics

5.75 Overall score*
24 Rank
8 Votes
7 Comments

Comments

1

This reads as if it is entirely written by Claude. Also, the intro tells me to “Run the cells in order”, but I have no idea how I would do that. So the whole thing is mostly meaningless code for me.

7

This is a very nicely interactive demonstration of neural nets. The interactive notebook with animations is very cool (I’ve never seen animations embedded like this, I was impressed!), and I very much like the actual written examples of the vectors and matrices, because understanding the shape of these tensors can be very challenging when building neural nets. The main problem with it is is that the last few steps went by very very quickly compared to the rest. That is, you demonstrated the data cleaning very carefully and in great detail, then basically did not explain at all how the training loop works. Perhaps you ran out of time?

5

The manim animations felt a little slow for me, especially as they were illustrating things I had just read about. Also, the second-to-last cell with the actual training ran slowly — partly the fault of my machine, but also I’m not sure what you expect the reader to gain from waiting for several minutes as the network trains and then watching another animation run.

The writing is well-written and very to-the-point, however, and I think this would have been a quite-good article if it were just the text plus some illustrations

6.5

The notebook presumes I am interested in neural networks. Why should I care? They are Universal Approximators! Function approximation is mentioned but pull it to the front of the script, give me one example. “training a neural net to approximate the human function of delinquency.” you’re essentially breaking down that sentence the whole notebook through.

Love the quirky references, seems like the user sprinkled their personality onto the screen.

The text is clear, stays close to reality with examples. Instead of explaining all the jargon you could reference sources for users to read up on. I didn’t have much trouble following the text but prior knowledge is presumed.

The subject isn’t new neural networks are widespread and 3b1b has an entire series on it. It feels like this notebook has been a good practice in the fundamentals of training a neural network.

Unique edge is the custom animations inside the script. The animations add a lot for the engament of the user, I wasn’t able to run the animations when using my phone. I can’t directly see the source of the animation, it seems to be an imported library, adding the animations to the script is a nice way to expand on it.

7

Definitely engaging, but could do a slightly deeper dive on backpropagation.

4

This would be a great example to give in a class, where the various terms being used are simultaneously being explained. Nice animations.

As someone with a technical background who has carefully (and perhaps mistakenly) eskewed learning any ML, I found this to be a nice schematic picture of what is going on that is a bit more detailed than what I had before. The difficulty is that some of the terminology, and much of what the larger and more important code blocks are doing, is still a bit opaque. It would take some staring at it to reverse engineer definitions and what is going on. In particular, the backpropagation step was a bit murky to me beforehand, and is only a bit less murky now. If you edit this at all, some math definitions and inline comments might help.

It was interesting seeing at the end what knobs mattered. It drives home the utility of these models as tools for understanding correlations in multivariable datasets.

7

Pretty good work and the animations are helpful! At first, I wasn’t familiar with the concept of ROC AUC and I didn’t understand it from the text alone, but the animation helped me understand it. My only criticism is that back propagation should have probably been explained a bit, just as forward propagation was.