My experience with FastAI was wonderful so far, and I am genuinely amazed by what you can do with deep learning. But I really struggle with the how part. I’m trying to get where is the creative part of the process lies.
To be more precise, I feel like many things, such as trying different architectures, tuning parameters, choosing models, and training them can be fully automated, and essentially what we’re are doing is some form of brute force search.
Of course, I’m a newbie, and I don’t understand nuances, so it would be awesome if someone could help with that part. What do you find the most interesting and creative in the process of training models? What excites you about it?
At least for me the fun and creative part starts with the real problem/application, preferably your own or the one you are genuinely interested in solving. You have to think about the whole picture - what process generates the data, what type of signal you try to detect, how the data can be represented, what architecture will be most useful, what your are trying to optimize for, how it can be deployed, what effects you expect etc. etc. Suddenly there are MANY more things to solve and you really care to tackle all of them. Imho very hard to automate fully at the moment.
Yeah, I can relate to that view, it makes total sense. Maybe I need to zoom out a little bit.
I guess, in programming in general, I find a genuine interest in the process of developing a solution – you constantly abstract, bundle, unbundle, and such. And I don’t feel the same doing DL. Maybe it’s just on another level or at another part of the process.
You are correct. The thing that a lot of people like about ML (designing the models) is actually the thing that is easiest to automate. Right now such search techniques – also known as Auto ML or neural architecture search – are still kind of expensive in terms of the amount of compute required but there’s a lot of research going in this direction.
This is why fastai focuses more on transfer learning: taking an existing model that is known to work well in certain circumstances and adapting it to your task.
The creative part of deep learning is getting good data, and figuring out a way to turn that data into useful predictions that can solve an actual problem.