Hacker News new | ask | show | jobs
by bzhang255 1215 days ago
The initial preview is a little disappointing because it feels like it does a great job displaying the pedagogical style but not enough to demonstrate the pedagogical value (i.e. whether this resource actually does a good job teaching a complex topic).

Given the wealth of information and the problem of appraising it all, I don't think it helps this book that it costs $55 and requires the reader to learn an esoteric language (for the field), when there are so many educational books and lecture series by experts in the field that you can find freely available online.

4 comments

> The initial preview is a little disappointing because it feels like it does a great job displaying the pedagogical style but not enough to demonstrate the pedagogical value (i.e. whether this resource actually does a good job teaching a complex topic).

This is exactly the concern I had when I saw what it was. I'll definitely keep my eye on it and read the reviews.

The great thing about Scheme is that you can learn it in less than 10 minutes and focus on the ideas.
Sure - but I think that's the least important part of my comment. The preview is basically just an intro to Scheme. I would rather be able to see how well the book covers interesting ideas about deep learning. While the jury is still out, my personal skepticism is that this is a really beautiful passion project that looks great on bookshelves, but that any serious learner would be better served dedicating their time to working through the existing, more traditional, and very high-quality resources available online.
This is what the book has to say (part of a foreword by Peter Norvig):

> Maybe, maybe not. But even if you use a machine learning toolkit like TensorFlow or PyTorch, what you will take away from this book is an appreciation for how the fundamentals work.

I think all serious researchers have implemented core Deep Learning algorithms from scratch. I know I have.

There are two books that do exactly this:

1. Deep Learning from Scratch

2. Data Science from Scratch

In these books, you implement each part of the ML/DL pipeline, from scratch, in Python.

There is also a GitHub project call Minitorch that teaches you the inner workings of a framework like PyTorch.

And then there are several other good resources for exactly this.

What he claims to have as a content is neithet new nor unique.

How tied are those two books to python? If very much, are there books covering the same content with a different programming language?
They are aren’t that tied to Python.

Even if you think so, Python is really an easy language, and you can easily port the code to something else.

If you already have the basic ideas about the parts of a Neural Network pipeline, you can just search google "implement part-X in Y language", and you will get well written articles/tutorials.

Many learners/practitioners of Deep Learning, when they have the big enough picture, write an NN training loop in their favorite language(s) and post it online. I remember seeing a good enough "Neural Network in APL" playlist in YT. It implements every piece in APL and gains like 90%+ accuracy in MNIST.

I also remember seeing articles in Lisp (of course!), C, Elixir, and Clojure.

I am writing one in J-lang in my free time.

I suggest the book Programming Machine Learning. I'm slowly going through the book using another language, and it's easy to translate since the book doesn't use Python's machine learning libraries.
they mostly use numpy (matrix maths library).

So if you use a library for matrix multiplication, inverse, transpose, ... with a nice syntax, you're good to go.

What does "from scratch" really mean? You don't reimplement Python itself, or invent a new GPU hardware, a new CUDA including compiler, etc. You don't reimplement the OS. Where do you draw the line?

Do you reimplement matmul or other basics?

Do you reimplement auto-diff?

Maybe PyTorch or TensorFlow using auto-diff is a good "from scratch" basepoint, without using predefined optimizers, or modules/layers, or anything. Just using the low-level math functions, and then auto-diff.

I don't understand why you are arguing with me.

Yes, in those books, you do implement matmul, auto-diff, etc.

More than happy to leave the traditional, high quality resources available online to the serious learners
Can you suggest any?
I would think that the main audience for this books would be people who enjoyed the other books in the authors' "Little" series, which almost all use Scheme, so it wouldn't be something new to learn.
Checking the library the book implements can help: https://github.com/themetaschemer/malt