Hacker News new | ask | show | jobs
by thealienthing 876 days ago
I feel so validated by this article. I took two semesters of machine learning electives for my CS masters and feel nearly as ignorant and mystified as when I started. I worked so hard to create something useful and at the end of the day, my work felt like it was 96% example code with modifications hacked in to make it work. And in the end it was still terrible! At least now I know what people are talking about when discussing neural nets and their inner mechanics.

For now, ML research and development is too complicated and frustrating for me to dedicate the time and energy to become skilled in it.

6 comments

Well that's because ML isn't really software engineering. Unfortunately, it is also software engineering as I often have to remind my colleagues coming from algebra / econometrics / statistics sides who are happy to shove all kinds of horrible code in.
What I've found in reality is that machine learning is 99% data cleaning scripts and 1% the part you're talking about. I've also seen the heavy duty statistics people writing data cleaning python scripts which probably leads to a lot of frustrations :)
I think what may be understated here is that while it’s true that ML is mostly date cleaning, data cleaning is not easy. There are a million little decisions made and it’s rarely clear which ones are most effective. Experimenting with various techniques is great but the iteration times and cost are usually too high to try more than a small handful of approaches.
> 96% example code with modifications hacked in to make it work.

This is 96% of how ML is used in practice by companies. Most parameter optimization should be automated by whatever library you’re using, beyond basic sanity checking. The challenging parts are creating high-quality training data and deploying the models efficiently at scale.

I'd be surprised if it doesn't suffer the same fate as graphics programming. The lower level stuff is what brings in a lot of talent but the producers often have little knowledge of how things work but just wire together some libraries in a GUI.
It’s not programming, it’s applied math. I found it useful to go through the derivations of back propagation in understanding what’s going on.

I’d be interested to know what the next thing to read or do is if you comfortable with entry level ML.

I have done ML R&D for I guess 7 years now. It doesn’t get easier. You just get used to it.
I don't think it's as complicated as it might seem, if you break it down.

I think the real blocker is time; modern software devs are expected to be across the whole stack. You can't have one person write your backend, frontend, infra, db admin, build ml architecture, train model, etc. It's just too much.

It's just specialising really, wide and shallow vs narrow but deep domains. Forefront of ML stuff requires researchers specialised in that domain, same as any I guess.