Greetings! everyone. I wanted to hear your suggestions on how to start my ML journey. Silver and bronze medals from 2 IMO competitions previously 8 years ago. Since then I have not even touched Math, but I think I can comfortable learn any new Higher Mathematics concept or idea in a short amount of time. I still have that Math intuition in my “blood”. I came across ML book by Sebastian Raschka a week ago or so. Would it be a good investment to start there? Or any other resource to kick off with? I am totally OK with it is a paid video-course or something. I have good experience with Go and Python. Already built multiple production services with them. I appreciate materials that teach semantics as well as the mechanics of the tool. I have loved reading the first 3 chapters of SICP for example. Thank you in advance ![]()
Hi i33ym!
The short story: Start using pytorch to experiment with basic building blocks and toy models.
Feel free to post questions to this forum.
Nowadays there are two sides to machine learning: using models and developing models.
“Prompt engineering” would be an example of an approach to using existing, large, pre-trained
models – think, for example, about how to get something like ChatGpt to give you output useful
for your particular task at hand.
Developing new and / or improved models would encompass building, training, fine-tuning
and / or modifying new and existing models.
(Of course, you can both use existing models and develop new models, but given the recent
availability of a number of powerful pre-packaged models, these have become two different
skill-sets.)
From the tenor of your post, I assume that your intention is to dig down into the nuts and bolts of
machine learning and be able to develop your own models, so I will answer in that context.
Personally, I advise in general starting with the basics, building a solid foundation, and then
moving on to learning the subset of things that are relevant to your specific goals. (Machine
learning is sufficiently mature that it is no longer practical to become knowledgeable about the
full breadth of models and techniques nor about the full breadth of applications. Nonetheless,
I’m a believer that in whichever direction you choose to specialize, you will need to start with
a strong foundation.)
This free Deep Learning Book website (or ebook / printed version of the same content available
for purchase) has been recommended on this forum. It’s definitely introductory, but could be a
good place to start. It’s about ten years old, so it’s out of date by machine-learning standards,
but since (according to my recommendation) you are trying to build a foundation (and because
it’s introductory), I don’t see that as a problem.
I also recommend (some of) the various pytorch tutorials. It’s a haphazard collection of tutorials,
not integrated into a coherent whole, but many of the tutorials are good ways to learn specific
pytorch facilities and neural-network techniques.
For both learning and actually developing models, I would strongly recommend pytorch. It has
become quite powerful, it is well supported, and of the machine-learning frameworks I’ve used,
I would say that it’s the best designed. (You mention already knowing python, so that’s a good
fit. Pytorch takes the modern python approach of having its api and top-level constructs written
in python, but the heavy lifting is delegated to compiled libraries and potentially gpu acceleration,
so you don’t take the pure-python performance hit. This is similar to, for example, numpy and
scipy.)
When you want to look into specific topics in more detail, you will need to use the internet as
a resource. While you will find some useful and high-quality stuff, you will have to filter through
a large amount of well-meaning, but incorrect material, a bunch of “me-too” stuff, and gobs of
“content-farm” slop.
After you’ve built up a solid foundation and start to work on “real” things, you will probably want
to start looking at relevant academic papers (think journals, arxiv, and authors’ websites). These
are also quite fragmented and vary widely in quality (including some that are fully incorrect), but
will often be the best (and sometimes the only) definitive source for the details of specialized
topics.
Good luck.
K. Frank