Ask HN: What does it really mean to do ML/DL at the hobbyist/research levels?
I liked the courses where math was a huge focus because it allowed me to understand from first principles.
When i took the Udacity course it was just learning the tensorflow library for the most of it. Conceptually i understood CNNs and RNNs but i couldn't implement it from scratch because i didn't truly understand it. I could maybe implement the forward propogation for RNNs but didn't understand the nuance of the backprop.
I ended up basically just understanding the tensorflow library, which is still useful and powerful. But that left me wondering why do people who do this for research and hobby really do?
I highly doubt researchers are spending their time re-inventing the wheel to implement their own basic CNN or RNN model, but they obviously are doing more than just function calls to a set library right?
What should i be trying to learn if i am a hobbyist wanting to really understand ML/DL? Is implementing theses advanced DL models from scratch even useful? What steps do i take to become "better" at ML/DL rather than just following the tutorials and courses that taught me how to use the tensorflow library to create basic RNNs/GANs?
When people say they are "better" at ML/DL than they were before does that just mean they have a better intuition for what model, how many layers, how much dropout, batch sizes, etc to use for a certain problem?
I feel lame just piecing together models with high level code like `keras.add_fully_connected(layer_size)` or `tf.MultiCellRNN`. It feels like cheating because i'm just throwing things together and seeing what works. The science aspect feels lost.