Hey everyone!
Today I made a major upgrade to the neural network. The biggest additions were Dropout and Batch Normalization, which help the model generalize better and make training more stable. I also redesigned the architecture, making it much deeper and larger than before.
Implementing these features wasn’t easy, it took a lot of debugging and experimentation, but the results were definitely worth the effort.
Accuracy: 98.26%
Training is now noticeably slower due to the increased complexity of the network, but I’m very happy with the improvement in performance.
The next step is to build a clean and interactive UI so that anyone can better understand how a neural network learns and makes predictions in real time.
Thanks for reading, and see you in the next devlog!
Welcome back to my neural network devlog!
In this devlog I focused on improving the training process by implementing mini-batch training and the Adam optimizer.
Instead of updating the network once per epoch using the entire dataset, I now split the training data into batches of 64 images. This allows the model to update its weights much more frequently, making training faster and improving convergence.
I also replaced standard Gradient Descent with Adam. Implementing it from scratch in NumPy required adding the first and second moment estimates for every weight and bias, along with bias correction. Because of Adam, I also reduced the learning rate from 0.1 to 0.001.
The results were a huge improvement: without changing the network architecture (784 → 32 → 10), the test accuracy increased from 80% to 96%, while training became much more stable.
Next, I want to add:
Thanks for reading!
Today I continued working on my neural network project. After implementing a simple XOR model, I wanted to move to something closer to a real machine learning problem, so I started working with the MNIST dataset.
The goal was to make a neural network capable of recognizing handwritten digits from images. I used TensorFlow only to load the dataset, while the entire neural network implementation was written from scratch using only NumPy.
I started by preprocessing the data, converting the 28x28 pixel images into 784 input values and normalizing the pixel values between 0 and 1. I also implemented one-hot encoding for the labels, so the network could classify the 10 possible digits.
For the model, I created a simple Multi-Layer Perceptron (MLP) with:
I implemented the forward propagation, cross-entropy loss function, backpropagation, and gradient descent completely manually with NumPy.
The most interesting part was seeing how the formulas I studied previously actually translate into code: matrix multiplications for the layers, derivatives for backpropagation, and gradient updates for learning the weights.
The model is still very simple, but it can already reach around 78-80% accuracy on MNIST, which was a great result considering that everything was implemented from scratch.
In the next devlogs, I want to improve the project by adding:
Thank you for reading!
Today I started a pretty big project. I really like math, and I thought this could be the perfect way to combine it with Python.
I started by learning how neural networks work and then moved on to the math behind them. I didn’t just want to memorize the formulas, I wanted to actually understand them, because without understanding the theory, implementing them in code becomes much harder (if not impossible).
The hardest part was, by far, understanding how to implement backpropagation and how all the mathematical concepts connect together.
To finish today’s coding session, I created a small demo to test if I had actually understood everything. I decided to build a simple neural network that predicts the XOR gate (a problem that cannot be solved using a linear function).
For this model, I used Xavier initialization, the hyperbolic tangent (tanh) activation function for the hidden layer, a sigmoid activation function for the output layer, and Binary Cross-Entropy (BCE) as the loss function.
In the next devlog, I will learn how to load and start processing the MNIST dataset.
Thank you for reading!
Devlog #002
Finished the website!!!
In the end it wasn’t that hard… I could have ended it yesterday but wanted to take some time off.
Today i wrote all the text, hosted the website, fixed some typo’s.
Thanks for reading this!!
-Fili
Hey guys, new day, new project.
Today I started working on my own personal website.
I decided to build a portfolio because I think it’ll be useful to showcase my projects and everything I’m working on.
Usually I stick to a very minimal UI, but this time I challenged myself to be as creative as possible. It was a nice change, and I’m pretty happy with how it’s turning out.
The main website is already finished (it wasn’t too hard to code, to be honest). In the next devlogs I’ll be fixing a few JavaScript bugs, polishing the animations, and writing all the actual content.
See you in the next devlog!
Hey everyone!
Today I worked on the final fixes and improvements for the project:
I think WebOS is now ready to ship!
Thanks for following this little project journey and watching it grow!
Hey guys!!
Today was a huge update for the project. The WebOS was in a pretty unstable state after messing with the terminal, but after fixing some critical issues I was able to improve the architecture and add a lot of new features.
Here are the main improvements from today:
Fixed a critical JavaScript crash caused by a corrupted File Explorer function
Rebuilt the Terminal, Settings, and File Explorer systems
Introduced a centralized APPS registry for easier application management
Simplified app launching with a cleaner architecture
Added 5 new applications:
The project now feels much closer to a real desktop environment instead of just a web application.
In the next devlogs, I want to improve the File Explorer with copy/paste support, add Minesweeper, and introduce more modern UI effects like system tray controls.
P.S Today i tried to create the custom file format but ended just creating more bugs
Thanks for reading this!!!
Hey guys!!
Today I started this project, and I’ve really enjoyed working on it from the very beginning.
Here are the main features my WebOS currently has:
In the next devlogs, I want to improve the terminal system and introduce a custom file format.
Thanks for reading this!!!
p2p Chat Client
Hey guys! I wanna illustrate my new project: A p2p chat client.
I decided to make this project because i was always fascinated by the OPSEC and p2p communication world. Before starting to code i researched a lot about p2p communication and decided to stick with WebRTC.
At the moment the client its pretty much done, i didn’t figured out a way to implement upload yet. Maybe in the future when i will have the skill i might re try coding this project.
Thank you for looking at my project ☺️!