Live data from Hacker News

You might not need machine learning

nullprogram.com

41–50 of 201 posts

Re: You might not need machine learning

#41

I love the article, but I don't agree with the premise that machine learning equals neural nets. In my understanding machine learning is a very broad term that just as well could be applied to the polynomial model if the constants were optimized algorithmically. I feel like the presented argument is more for transparent vs opaque models rather than machine learning vs something else. Also one could argue that the pol…

I agree, machine learning can certainly be over transparent models and classic models can certainly be non transparent. I tend to think of machine learning as any method which optimizes not only the model parameters, but also the model structure in a single step. Though then again the latter are just parameters of a more abstract model. So its all always optimization in the end.

Re: You might not need machine learning

#42
I feel like there’s something more interesting going on here than the author is giving credit to.

Most tools you can start by solving simple problems with, and gradually work up the complexity of the problem you’re addressing until it does “something useful”.

This is a good way to learn what you can, can’t and should use a tool for.

Deep learning is problematic though; solving trivial tasks is actually quite difficult, and often the “something useful” level of sophistication means copy pasting someone else’s paper and tweaking it a bit and kind of vaguely hoping something you do makes any difference.

Being able to solve trivial problems with neural networks is really important, and useful; not because it’s a good solution, but because it means you can see what happens when you try it out.

The problem with this post isn’t the conclusion; the author is quite right. You can solve this problem in many ways, maybe NN aren’t the best for this kind of trivial problem.

...but, if you want to solve harder problems with more than random trial and error tweaking parameters, solving easy problems with the same tool is a good way to learn how.

...and we have like 20 years of proof that using hand crafted models has been proven not to scale effectively.

Re: You might not need machine learning

#43

Can someone who knows C help me understand the source code? https://gist.github.com/skeeto/da7b2ac95730aa767c8faf8ec3098... The concepts and equations he has are pretty simple but I'm really not seeing how they translate into code. The code also isn't the easiest to try and understand for me. Multiple 1-3 letter or otherwise (Seemingly) poorly named variables, some C jargon I'm not familiar with (Mostly the -> operat…

The arrow operator is a field access through a pointer. That is, if you have a pointer to a struct, it's the same as dereferencing the pointer and accessing the field: "(*foo).bar" corresponds to "foo->bar".

I think the main driving logic is on line 228. It could definitely do with some more descriptive variable names, though - "a" for angle, and "s" for sense inputs seems a bit too short.

Re: You might not need machine learning

#44

I feel like there’s something more interesting going on here than the author is giving credit to. Most tools you can start by solving simple problems with, and gradually work up the complexity of the problem you’re addressing until it does “something useful”. This is a good way to learn what you can, can’t and should use a tool for. Deep learning is problematic though; solving trivial tasks is actually quite difficul…

I can only agree. It is also notable that pretty much the entire repertoire of debugging techniques from programming land are useless.

Attempting to implementing a paper from scratch is an interesting experience. (1) implement what they describe (2) it doesn't work (3) ... well, that was fun. Project over.

Very different experience from trying to implement quicksort, even though the extensions to a basic neural net often aren't conceptually much more complicated.

Re: You might not need machine learning

#45

Can someone who knows C help me understand the source code? https://gist.github.com/skeeto/da7b2ac95730aa767c8faf8ec3098... The concepts and equations he has are pretty simple but I'm really not seeing how they translate into code. The code also isn't the easiest to try and understand for me. Multiple 1-3 letter or otherwise (Seemingly) poorly named variables, some C jargon I'm not familiar with (Mostly the -> operat…

-> is a dereference operator. On line 65 (function ppm_create), f is declared as a pointer to a structure of type ppm (a reference to an object of type ppm). f is the actual structure/object. (f).w is the 'w' member of the structure. The brackets are needed for operator priority.

f->w is another way to write (*f).w

Re: You might not need machine learning

#46
Can you "download" trained neural nets? Aren't there popular formats for those?

For example, if I want to recognize pictures of animals, with reasonable accuracy, how much space would such neural net take?

I'm not very taught about ML, but in my mind, since ML is generally heavy on computation, it should be possible to distribute neural nets for specific applications and re-use them.

Re: You might not need machine learning

#47
post #29
post #26

Earlier quoted context omitted.

Well... I guess most people equal ML with AI and use these terms interchangeably. If you just replace ML with AI everywhere in this article it is going to make sense. The article has other problems, one being the main premise. The problem isn't to drive a car around track (which is what the polynomials did) but rather write a program that can figure out how to drive a car without you knowing how to solve it.

That's not symbolic AI though. That's only statistical methods. The statistical methods are all the rage now, but explainable AI that can reason is an important area of computer science (and research) and uses formal methods. Edit: yeah, you can downvote this, but current AI research splits right along this line, whether it's symbolic or statistical. Some AI courses will use NNs, others will use Prolog and ASP. You c…

When I see "symbolic AI" I immediately think of Gary Marcus and immediately feel disdain towards the topic because of his behaviour on Twitter and other places.

Re: You might not need machine learning

#48
post #46

Can you "download" trained neural nets? Aren't there popular formats for those? For example, if I want to recognize pictures of animals, with reasonable accuracy, how much space would such neural net take? I'm not very taught about ML, but in my mind, since ML is generally heavy on computation, it should be possible to distribute neural nets for specific applications and re-use them.

Yes you can. The "universal" format is ONNX. You can even do crazy things like this: https://blog.owulveryck.info/2018/06/11/recurrent-neural-net...

Re: You might not need machine learning

#49
post #46

Can you "download" trained neural nets? Aren't there popular formats for those? For example, if I want to recognize pictures of animals, with reasonable accuracy, how much space would such neural net take? I'm not very taught about ML, but in my mind, since ML is generally heavy on computation, it should be possible to distribute neural nets for specific applications and re-use them.

Yes, most of the large models that are not feasible to be trained by individuals are downloadable. Frameworks make it easy to import and export snapshots of model weights. See https://github.com/tensorflow/models/tree/master/research/sl...

Re: You might not need machine learning

#50
Neural networks are just regressors. Yes you can learn the weights with genetic algorithms. Is this advised? Not so much : 99.99% of neural networks are trained with some variation of gradient descent on a specified loss function.

I don't even know if I agree to the statement. Polynomial regression solves basically the same problem as neural networks but performs way, way, way worse on big datasets. But nonetheless I would say that polynomial regression is machine learning too.

Post reply on HN