as you scroll from article to article, struggling to find any good resources
on how to get into Deep Learning, you might become demotivated eventually. What
most people often don't realize is that DL is more maths than code.
part of mastering DL comes by mastering the mathematics behind it. Now by no means,
am I a master in deep learning, but I do like the mathematics that goes behind each
concept, which makes me understand it even more.
i will attempt to break down what is deep learning and how one can get started on it, and
hopefully, you might have an easier time learning and understanding it.
probably a no brainer, but it is very important to learn how to code. The only probelm
with only knowing "applied DL" or knowing only how to code, is the fact that you cannot apply
your profound coding knowledge to novel solutiosn that require you to think outside the box.
why you may ask? Because, you don't know the fundamentals. You cannot get good at Deep Learning
by just knowing how to code.
so when you open up your computer and dream of earning $300k+/year, your first step might want
to be to pick up a programming language. Now, the choice doesn't matter, but it is recommended you
go with Python/C++, if you are going into Deep Learning. At least, as far as I know, these two are
the languages with the most support. You might want to learn the basics of these languages, mainly:
it is probably a bad idea for you to install pytorch (foreshadowing?) globally/system-wide. it is much
better practice for you to use isolated environments, whether that's through anaconda or venv (virtualvenv is dead),
and do your dirty business within each environment.
as the rising new developer that you are, you will make a lot of mistakes, and you'll feel grateful that you didn't
mess around with anything globally. thanks to me, of course.
libraries are specialized, pre-compiled pieces of code that allows you to build on top of the foundation
that has been laid out in front of you. for example:
scikit-learn
is a library that contains many machine learning algorithms as well as data preprocessing
techniques that allows you to have a very friendly introduction into machine learning.
torch
is a library that allows you to build neural networks and build complex
models that are used in top deep learning reasearch papers [the big bucks that you need is in this!!]
this will take some time for you to learn. give yourself at least 4-6 months for you to properly acquaint yourself
with the overwhelming amount of power you have to creating deep learning models. as for a python developer, you choices
are to choose either torch
or tensorflow
, and though tensorflow
looks a lot uglier,
it comes down to personal preference.
for developers who chose pytorch, this might help: learnpytorch.io
as a developer, not only will you fail in making simple syntactical errors that makes you want to throw your computer away and
regret your life choices, you will also fail a lot of times in building models. whether that's understanding how the
training loop works [i still have to refer to the docs for that] or writing hundreds of lines of code to create a dataset class,
architecture and training loop, you will end up with a lot of problems. you will never get it in your first try.
it's easy for you to feel cocky after a while, but make sure that doesn't hinder your learning, you might want to look into
the "Dunning-Kruger Effect", or just read this blog.
possibly the most important part, i mean seriously, i cannot stress how important this is. the reason why i put this point last,
though it's important, is that it can have a huge learning curve, especially if you're not that great at math, and learning the nuances
is a consistent, long-term effort. i consider myself to be pretty decent at math, and still to this day, i find something new every other
day that makes me question how much math really is necessary.
well, to break it down... not that much. you should be good enough to understand most of the things if you know:
keep these things in mind and within 3-6 years, hopefully, you'll becomes someone prominent in deep learning. when you do, remember that this blog started it all.