Deep Learning Is Eating Software
petewarden.com
petewarden.com
Now while I can see some aspects which can be improved by usage of ML many don't tend to understand the implication of such systems. A good example came last year. On the BI system there existed 200+ reports with an average user having access to maybe 20 reports based on their department - finance, sales etc. There was a big push from the management to "improve" user experience with ML. Build a recommendation system they said. There was no cost benefit analysis done for using a complex ML based recommendation system on 20 reports - It sounded cool and in line with the hype.
Then there is the question of user involvement. While I believe there is surely a case to made for stuff which involves software engineers, like the ones mentioned in the post - search ranking, data center energy usage etc. But things which require non-software engineers is a bit doubtful. This is because as the post puts it - "This doesn’t require the same technical skills as traditional programming, but it does need a deep knowledge of the problem domain. " And engineers cannot be expected to have deep knowledge of every function. If they get too drunk on the ML kool aid, and some of them do, the end result will be mess.
2% is HUGE at this point, at least on the datasets that I am familiar with - ImageNet, MS-Coco, PascalVOC etc. And at this point, any modifications or strategies that gets you the 2% improvement is noteworthy, and I know that people in my team are looking forwards to techniques that will give us these improvements.
Hell, on MNIST 0.14% is huge. Geff Hinton created an entire new architecture to get 0.25% error, which is far better than the baseline 0.39% error [1].
To be fair, he did reduce the error by 35%.
If my account balance is $5, and I buy that yummy Cheese Swirls for $2, I expect the balance to be $3 afterward. Deep Learning will not help, or frankly it can only make this simple calculation wrong. So... no, deep learning is not eating software. BTW deep learning IS software, so this is all just headline-grabbing.
So yes, I suspect deep learning (or ML more generally) will eat up a lot of the CRUD, glue code, and repetetive data-pipeline related crap I deal with daily.
I yearn for the day when I can tell my db "store this" and "give me that" without having to think of the umpteen* data stores that back it all.
* No joke. We have a real-time feed, a few warehouses, and external data sources we need to wrangle to build applications. From my perspective, some statistical machine could easily do that with a bit of human help.
If you think we should rearchitect our infrastructure, your right! But doesn't that seem like something a computer could be good at?
For example, if an AI is performing the task, it could interface with a back-end API rather than a front-end GUI (cutting CRUD development time). Also, we may not need to track as many things, like the time someone begins and ends their workday.
And from another angle: deep learning favors big business. so we'll see more consolidation. so less CRUD will need to be written.