3 ms·
Not sure I understand your question, or what you're trying to achieve. It's the same as if I asked you " What does it really mean to do hardware/firmware design
by p1esk 8y ago
Not sure I understand your question, or what you're trying to achieve. It's the same as if I asked you " What does it really mean to do hardware/firmware design at the hobbyist/research levels?" Does it feels like cheating when you're just throwing things together and seeing what works?
First thing you need to understand is that data is king. To use DL models you need lots of data. If you don't have lots of data, you will probably have more success with older ML models.
Hardest part of any DL/ML project is getting/cleaning/augmenting data. In the real world, dataset preparation will consume >75% of your time/effort. Size and quality of your dataset will affect the resulting accuracy more than a choice of a particular model.
Once you have data, you can just try several models which have been used for your task, and see if size of model makes a difference. Language or frameworks is not that important, but most people use Python and Tensorflow or Pytorch. Again, does not matter. Of course you need to understand the basics. For example backprop in RNN is tedious to trace, but you should be able to do it, if necessary: it's no more complicated than linear circuit analysis, or designing a FSM. There are no "nuances", just apply the chain rule backwards, and think in terms of unrolled computation graph. You rarely need to think about low level details like that, but occasionally you might need to use an operation which is not differentiable, or does not have gradient implemented in the framework you're using.
If you want to get "better" at ML/DL, go to Kaggle, and try to solve problems. Read about winning solutions. Read relevant papers. Read code. Try things. Eventually you'll get it.