Post

It's alive! Input layer at the top, output layer at the bottom. Connection colour represents positive (green) or negative (orange) weight, thickness and opacity represents how large that weight is. Really neat to see the training process strengthening specific connections in the network.

I’d love your feedback! I’m fairly sure I’ll be writing the post at this point, I feel like I can pull the pieces I need together. It’s a ways off, though. I don’t yet know what the “story arc” is or what the endpoint would be. I also need to do a bunch of background reading.

What you’re seeing in those videos is the result of porting Karpathy’s micrograd library to TypeScript and modifying it a little bit so that I can respond to changes within the network and update this SVG chrome I’ve put on top of it. So I’m training a network and you can kinda see it, which is neat

I’ve made it quite configurable: you can have as many layers with as many neurons as you want, it’s responsive to screen size. I haven’t made activation functions configurable yet but I want to. It’s all just ReLU in the hidden layers and linear on the output layer atm.