Live data from Hacker News

Machine Learning Is Still Too Hard for Software Engineers

nyckel.com

21–30 of 112 posts

Re: Machine Learning Is Still Too Hard for Software Engineers

#21

ML is one of the easiest fields out there. When I learned it I was actually turned off by how simplistic the concept was. Of course let me preface to say that it's hard to develop the intuition and skill in the same way learning to skateboard is hard. But conceptually it's easy and very possible for almost anyone. The whole thing is just curve fitting. Literally finding some best fit curve across a series of points.…

https://en.wikipedia.org/wiki/Moravec%27s_paradox

Moravec's paradox is the observation in artificial intelligence and robotics that, contrary to traditional assumptions, reasoning requires very little computation, but sensorimotor and perception skills require enormous computational resources. The principle was articulated by Hans Moravec, Rodney Brooks, Marvin Minsky and others in the 1980s. Moravec wrote in 1988, "it is comparatively easy to make computers exhibit adult level performance on intelligence tests or playing checkers, and difficult or impossible to give them the skills of a one-year-old when it comes to perception and mobility".

Re: Machine Learning Is Still Too Hard for Software Engineers

#22
post #5

What are some good online courses to break into the field for a competent, generalist software engineer? Ideally I want to end up focusing on the platform / MLOps space. (For someone say, who has a CS degree, took a Linear Algebra class a decade ago and doesn't remember much.)

I second Andres Ng's stuff (deeplearning.ai) and also Karpathy's [1]. Those both get you familiar with neural nets from the ground up.

1. https://karpathy.ai/zero-to-hero.html

Re: Machine Learning Is Still Too Hard for Software Engineers

#23
post #5

What are some good online courses to break into the field for a competent, generalist software engineer? Ideally I want to end up focusing on the platform / MLOps space. (For someone say, who has a CS degree, took a Linear Algebra class a decade ago and doesn't remember much.)

Karpathy’s “Neural Nets: zero to hero”

Re: Machine Learning Is Still Too Hard for Software Engineers

#24

For me the hardest part of learning ML was getting over imposter syndrome. It felt like I needed a PhD and hardcore math skills. That’s what made me so hesitant in learning it. I thought: there’s already so many people much more smarter and advanced for me. Why even bother? It wasn’t until I was “forced” to learn it to solve a problem I was facing, that I realized ML is just like any other engineering topic - whether…

One difference from other engineering topics is ML brings a hope that it will solve itself. You make a plan, you implement it, you train the model for days, the problem is not yet solved, but if you let it train a little longer maybe it will be?

Re: Machine Learning Is Still Too Hard for Software Engineers

#25

ML is one of the easiest fields out there. When I learned it I was actually turned off by how simplistic the concept was. Of course let me preface to say that it's hard to develop the intuition and skill in the same way learning to skateboard is hard. But conceptually it's easy and very possible for almost anyone. The whole thing is just curve fitting. Literally finding some best fit curve across a series of points.…

I probably shouldn’t take the bait here, but this reads like someone took intro to ML and thinks that’s all there is to know. “Just” fitting a curve couldn’t be more reductionist and discount the work of a ton of incredibly intelligent people.

I tend to agree that I don’t really find ML work all that interesting (much more interested in making it go fast :)), but simple it is not.

Re: Machine Learning Is Still Too Hard for Software Engineers

#26

ML is one of the easiest fields out there. When I learned it I was actually turned off by how simplistic the concept was. Of course let me preface to say that it's hard to develop the intuition and skill in the same way learning to skateboard is hard. But conceptually it's easy and very possible for almost anyone. The whole thing is just curve fitting. Literally finding some best fit curve across a series of points.…

Can I get a link to anything about this crisis? My evening popcorn lulzsession demands...

https://www.nytimes.com/2023/07/13/opinion/ai-chatgpt-consci...

Did you read his book Godel Escher Bach? It's a good book. CS people love it as it's all about recursion and puzzles.

Re: Machine Learning Is Still Too Hard for Software Engineers

#27
Is this just a matter of there not being nice packaged up products yet?

I’d like to see this sort of logic applied to, say, doing an Autocad simulation. I think lots of people use that kind of stuff to do finite element analysis without being experts in the underlying math packages…

Re: Machine Learning Is Still Too Hard for Software Engineers

#28

For me the hardest part of learning ML was getting over imposter syndrome. It felt like I needed a PhD and hardcore math skills. That’s what made me so hesitant in learning it. I thought: there’s already so many people much more smarter and advanced for me. Why even bother? It wasn’t until I was “forced” to learn it to solve a problem I was facing, that I realized ML is just like any other engineering topic - whether…

> It felt like I needed a PhD and hardcore math skills

I don't know if this helps more or make it worse. But I have both and getting the same feelings all the time. But basically you just need good statistics and linear algebra knowledge, and you will be fine (on the math side).

> there’s already so many people much more smarter and advanced for me. Why even bother?

That's the very definition of imposter syndrome put in a very good way. But you can ask the same for everything, not only ML. kudos on getting through it, though.

Re: Machine Learning Is Still Too Hard for Software Engineers

#29
post #16

As a software engineer, I disagree. Caveat, I haven't studied traditional ML and just went straight to DL. There is a lot of jargon and you do have to sit down and learn how things work, but once you do, deep learning is fairly simple. One thing that actually really bothers me is how much libraries (e.g. huggingface) are just config files masquerading as programming. It is just a class with 50 parameters and takes ab…

The post is not talking about 'traditional ML' but rather only 'DL' (i.e. neural networks).

One of the problems I see here is that it seems to me that the math education of many CS grads is woefully lacking. Indeed, deep learning math is basically senior-high-school level calculus. Backpropagation is a straightforwards application of the chain rule. There is really no surprising thing or deep insight. The math for deep learning has been set in place for more than fifty years at this point. The only change was the advent of large enough data and computer chips to process it.

That being said, I don't think understanding how the `transformers` library works or composes is the same as understanding how 'deep learning' works. That's like saying knowing how to use GCC gives you a solid understanding of compilers. That's not a ding against those whose main experience with DL is using those libraries. I use many libraries doing things I don't fully understand. I'm not a graphics expert, but I use graphics programs every day, and graphics libraries regularly. That's fine. But using those libraries doesn't make you an expert in computer graphics.

Re: Machine Learning Is Still Too Hard for Software Engineers

#30
post #16

As a software engineer, I disagree. Caveat, I haven't studied traditional ML and just went straight to DL. There is a lot of jargon and you do have to sit down and learn how things work, but once you do, deep learning is fairly simple. One thing that actually really bothers me is how much libraries (e.g. huggingface) are just config files masquerading as programming. It is just a class with 50 parameters and takes ab…

> There is a lot of jargon and you do have to sit down and learn how things work, but once you do, deep learning is fairly simple.

This is my realization too. I think ML for SWE courses should focus on "translation" first. Like by "kernel" they mean this specific thing, not the normal meaning of kernel. This is similar to other fields like finance (which I'm working on). After you learn the language, it's actually not too terrible to understand.

Post reply on HN