(Not to say that deep learning can’t be useful of course. But people should know it comes with huge costs. And given that the performance of relatively simple or interpretable methods is often comparable in practice and much, much more practical when taking into account the time dimension of software engineering and product development, it’s definitely overused at the moment.)
https://research.google/pubs/pub43146/ should be required reading for anyone involved in designing or building machine learning components that are intended to go into production.
Now, that doesn’t mean that the fact that a method is classical makes it by default untangled or a good approach. I mean random forests consisting of big tree are really not that interpretable for example. And ML in general is not always the best tool for solving a problem. Gotta use our judgment factoring in the time dimension of software/product development.
Also, I think it’s a question largely of how deep learning is used. If it’s used in a very compartmentalized way, either at the product level or the code logic level, where you don’t need to be able to disentangle the component (and it’s giving huge wins over alternative methods), it can (can!) be a good choice.
Edit: and the customer very often does not care, so it might as well be a mechanical turk service of some kind. Media does care, however, when you get caught.
But supervised machine learning is just one sub-field of the larger field of machine learning.
And machine learning is just one sub-field of the larger field of artificial intelligence.