The goal of this repository is to teach you neural networks from the beginning up to the state of the art techniques. These materials don't include only theory, but also the reasoning, plain explanation of the solution, and code examples, that you can run and experiment with on your own. I believe this approach leads to better understanding.
These materials are done as jupyter notebooks. You may read it online or download them and run on your own. As the GitHub service to render jupyter notebooks has some problems with latex formulas, I recommend you download them and run it on your own.
git clone https://github.com/PatrikValkovic/neural-networks-step-by-step.git
cd neural-networks-step-by-step
pip3 install -r requirements.txt
jupyter-notebook .
Right now the project reached the first milestone. It covers materials up to the first simple neural network.
I decided to publish this repository at the current state and wait for your feedback. If successful, I plan to continue with more notebooks to cover more topics. Some of the topics in my mind are:
- different optimizers,
- regularizations,
- TensorFlow and PyTorch,
- convolutional neural networks,
- embeddings,
- recurrent neural networks,
- generative networks,
- and many more.
If you encounter any problems, typos, or errors in code or formulas, don't hesitate to contact me. You may create an issue, send a pull request, or just email me about the problem.
I am open to new ideas about the content or the formulations in the notebooks. I would be glad for your ideas and you may post them as an issue.
Finally, right now the project is in an "open" state and I am waiting for the feedback. If you liked it or find it helpful, please let me know about it by starring this repository or creating an issue. I would be really grateful.
Patrik Valkovič