Neural Networks from Scratch
neural networks from scratch




"Neural Networks From Scratch" is a book intended to teach you how to build neural networks on your own, without any libraries, so you can better understand deep learning and how all of the elements work. This is so you can go out and do new/novel things with deep learning as well as to become more successful with even more basic models.

This book is to accompany the usual free tutorial videos and sample code from youtube.com/sentdex. This topic is one that warrants multiple mediums and sittings. Having something like a hard copy that you can make notes in, or access without your computer/offline is extremely helpful. All of this plus the ability for backers to highlight and post comments directly in the text should make learning the subject matter even easier.

The Neural Networks from Scratch book is still in development and purchases are preorders + Google docs draft early access (live right now).

neural networks from scratch

When it comes to tutorials with deep learning, the job of the educator is to simplify, in order to make things easiest to digest. With deep learning, this means importing a library with an easy-to-use API like TensorFlow/Keras or Pytorch.

It means solving an already-solved problem. It means using a simple dataset. It means using a pre-planned network that is known to work for that data.

...and it means you will probably fall flat on your face when you try to solve something someone hasn't yet already solved for you.

For basic classification tasks like cats vs dogs, a very rudimentary knowledge of neural networks can get you where you want to be most of the time, but you will almost certainly find yourself blindly changing things with no real purpose as you hunt for something that works or works better than what you currently have.

If you want to really know what happens with data as it comes into your neurons, what your hidden layer activation functions are doing, what your output layer activation functions are doing, how loss is calculated, how optimizers fit in, and, most importantly, how to build models that do new or novel things, then you will need a deeper understanding like what this book offers.

neural networks from scratch

The main benefits to being a backer are the digital and/or physical copy of the book when it is done and the Google Docs draft access (live and available now), with the ability to comment and download electronic versions of the book, regardless of whether you're buying the eBook, softcover, or hardcover version.

This gives you access to the material long before publication, as well as a way to interact with the course itself. If there's a point where you're lost/confused, you can highlight the area and post a comment at the precise location, like shown in the video below:

This is great for you because you can get direct help and support through an otherwise difficult subject matter, and it's great for us because it will help us to improve the book before final publication, by showing us where the common pain-points and confusions are in the book.

If you truly want to make sure you learn this material and don't get lost, I cannot imagine a better way to do it.

Please allow up to 2 business days to gain access to the draft doc after I have your email address.

The book's full release is expected to be October 2020 (after the Kickstarter campaign deliveries).

neural networks from scratch

First off, there's none of that "intro to programming" padding of any kind! The book starts off with a brief outline of what neural networks are and some general background on the structure of machine learning algorithms, as I expect some people will have neural networks as their first machine learning algorithm and be a bit confused about terms like "features" and "labels" ...etc.

Within short order, we're coding our first neurons, creating layers of neurons, building activation functions, calculating loss, and doing backpropagation with various optimizers. Everything is covered to code, train, and use a neural network from scratch in Python.

Everything we do is shown first in pure, raw, Python (no 3rd party libraries). Then you're shown how to use NumPy (the go-to 3rd party library in Python for doing mathematics) to do the same thing, since learning more about using NumPy can be a great side-benefit of the book.

In this book, you will:

Certain concepts, while also explained by text and images, can also be supplemented with animations. In the book, there will be QR codes to help explain certain concepts, for example (you need a QR-scanning app on your phone, and feel free to give this one a go):

neural networks from scratch


neural networks from scratch

You are expected to know only the basics of Python and object oriented programming, both of which you can learn here for free.

You are not expected to know anything about neural networks or the math that goes into them.

You should have a high-school-level knowledge of math in general up to linear algebra. The book explains everything beyond this. If you want to brush up on your math, there's always Khan Academy. I didn't do well in math in school, and I didn't take any math courses in college, but I learned all of these things for free online, and you can too!

Contact

If you are wondering where your draft access is, or you have any questions, please feel free to email harrison@pythonprogramming.net

Refund/return policy:

Due to the nature of how these books are distributed (literally shipped from printers around the world) and the electronic access (draft/ebook) being a scenario where you could buy, download, then request a refund, I will be going through returns/refunds on a case-by-case basis.

You should be buying the books under the impression of a NO REFUNDS/ALL SALES ARE FINAL stipulation, especially when purchasing the ebook only. If you receive a damaged book, or are having trouble accessing the ebook, please contact me.

My top priority is that everyone who supports this project gets exactly what they expected. If you are unhappy in any way, please start by contacting Harrison@pythonprogramming.net.

If you have questions/concerns about things like the contents of the book...etc, feel free to contact me before purchasing.