News for hackers. Stuff that matters.
Re:Why do CNNs generalize so poorly to small image transform... by calebh on Sunday June 10, 2018 @02:39PM (#17279523)
I've recently become interested in permutation invariant neural networks. There has been very little work in this area - just PointNet and a few derivatives.

Anyway, I think that neural networks are now entering the trough of disillusionment as people begin to discover the limitations. Maybe in the future, somebody will come up with a new machine learning architecture that has better generalization. I'm not expecting gradient descent to give us general AI.

Re:Why do CNNs generalize so poorly to small image transform... by salawat on Sunday June 10, 2018 @02:50PM (#17279577)
The main cause of the generic brittleness of Neural Networks is probably in the way they are utilized. Biological neural nets never really stop learning. They slow down, even "forget" in order to restructure, but they change constantly. A static neural net in basically a snapshot of it's environment (training data).

Very interesting consequences for the ML field if my hunch has anything remotely resembling a kernel of truth to it.

Re:Why do CNNs generalize so poorly to small image transform... by sova on Sunday June 10, 2018 @02:58PM (#17279625)
Continue learning while also continuing to "forget" ... that's very interesting! Space required to save data remains constant, and their ability adapts to environment and conditions. So... seeing neural nets as living structures instead of as snapshot sieves/filters... very strong approach. I wonder if for solid AI we need to make ai-biology first. To be concrete about what I'm saying now, consider that we are not in conscious control of the generation of our skin cells or the processes of our kidneys, but they do organically persist on their own. Maybe we need to get ai/biology so tight-knit first, so that we can have a proper vehicle for an AI-mind to journey within, while also not necessarily rewriting the code for its heartbeat when it just wants to remember names of common phenomena.
Re:Why do CNNs generalize so poorly to small image transform... by xapata on Sunday June 10, 2018 @06:50PM (#17280608)
That's a factor, but it doesn't explain the phenomenon that human-imperceptable transformations of an image can dramatically shift a NN's outputs.
Re:Why do CNNs generalize so poorly to small image transform... by salawat on Sunday June 10, 2018 @10:53PM (#17281401)
Again, look to biology. That thing you are modeling.

Humanly "imperceptible" is a very loaded term. Human perception has billions upon billions of networks worth of filtering going before we even boil down our environment to the "interesting" stuff.

Furthermore, if you take a snapshot of that network after training, you're fit to the training data. The network has lost it's plasticity. Take a potato, put it on the ground, train the network on other potato shots. Now show it a potato shaped asteroid. Now show it a French fry. What is the potato-ness that this potato+detector is ACTUALLY homing in on? Keep in mind, this structure is trained on digital encodings of maps of light and color. The function may not be a perfect semantic detector of potato-ness. It just knows what patterns of bits MIGHT be potatoes. And when you are working on bit level encodings, one bit translates to a lot of change, even if it is imperceptible to a human looking at a rendering on a screen.

Heck, there is no guarantee that the function it's emulating is well defined outside the training data set.

Neural networks are GOING to be fickle. You're trying to coerce "reliable, repeatable. generifiable results" out of a simulation of the same stuff that drives five year olds and emotional people. Consider yourself lucky the program hasn't opened the CD tray and demanded you insert crayons.

Re:Why do CNNs generalize so poorly to small image transform... by xapata on Monday June 11, 2018 @12:46AM (#17281880)
> You're trying to coerce "reliable, repeatable. generifiable results" out of a simulation of the same stuff that drives five year olds and emotional people.

The "neural network" machine learning technique is not a simulation of biology. It's a nice marketing phrase. The technique is just math, maybe "inspired" by someone thinking about neurons.

Don't be misled by branding. For a good explanation of why some of these fanciful science terms come about, read Bellman's explanation of why he called his research "dynamic programming".

Re:Why do CNNs generalize so poorly to small image transform... by salawat on Monday June 11, 2018 @09:21AM (#17283923)
It isn't just branding though. It is a mathematical representation of a synaptic action potential.

The main difference of course being that you are implementing it in silicon rather than carbon, and having no bloody grammar or conception of how in the heck to explain how 'X set of nodes with Y set of weights with Z activation threshold function'=something useful.

They called them Neural networks for a reason. It's been quite a mystery both on the biology (in terms of gray matter) and computing (in terms of ANN) front why it works at all. But it does.

I think I've read Bellman's work before, but I'll take a look. Thanks for the pointer.

Re:Why do CNNs generalize so poorly to small image transform... by xapata on Monday June 11, 2018 @11:50AM (#17285272)
It's got some loose relationship to action potential, but to a network of neurons? It's a leaky abstraction.
Re:Why do CNNs generalize so poorly to small image transform... by salawat on Monday June 11, 2018 @08:27PM (#17289788)
It's been a while since I've been in the literature (about 7 years to be exact).

Just can't find enough hours in the day to keep on top of the state-of-the-art, and unfortunately the career hasn't budged me in the direction of anywhere I could weasel work on it into my day.

C'est la vie.

Re:Why do CNNs generalize so poorly to small image transform... by nightcracker on Monday June 11, 2018 @02:18AM (#17282209)
I like "differentiable programming" instead of "neural networks".

The crux is that you are programming in such a manner that you can differentiate your function w.r.t. parameters which are then tuned.

Re:Why do CNNs generalize so poorly to small image transform... by alexgmcm on Monday June 11, 2018 @04:37AM (#17282741)
Sometimes innovation is better than imitation though - we didn't build the jumbo jet by copying the birds and likewise attempting to copy the biological brain may not be the best route for AI.

This is why the 'neurones' used in ANN's are nothing like biological neurones really - both in the properties of the activation functions and the structure of the net as a whole (which is difficult as we still know relatively few details about the structure of the human brain on a neural circuitry level).

Re:Why do CNNs generalize so poorly to small image transform... by rdlecler1 on Sunday June 10, 2018 @02:55PM (#17279605)
This is probably the fifth or sixth trough. The problem is we spend too much time trying to brute force engineer our way forward when we should spend more time reverse engineering the salient properties that give rise to biological intelligence. Someone will invariably say that planes don’t use bird wings, but both birds and planes relying on the laws of aerodynamics and we need some kind of similar theoretical framework for computational intelligence—reverse engineering is the shortest path forward.

There are a few moves in this direction but without a better framework for computational intelligence, which we can get to faster through reverse engineering, we’re going to keep hitting these walls. This road includes methods for artificial neurogenesis, genetic encoding of the developmental program at the level of neuron and axon driven by artificial gene regulatory networks (AGRN) evolutionary methods to evolve populations, and adversarial ecosystems for open ended evolution. Unfortunately none of these will give you a quick win....

Re:Why do CNNs generalize so poorly to small image transform... by bitL on Sunday June 10, 2018 @04:09PM (#17279927)
> but both birds and planes relying on the laws of aerodynamics

Complexity of biological systems is so mind-blowing that we likely don't even have computational capacity to simulate one of those processes in veracious detail. In addition, we can't even comprehend primitive, 1000-layer deep neural networks, not mentioning significantly more complex neurons (that are performing some local, protein-based computations alongside electric spikes we measure). We should be happy that Deep Learning surprisingly somewhat works, obliterating "classical" ML and make use of it to the full extent of its capabilities. Romantic idea that we can construct AGI with it should be retired.

Re:Why do CNNs generalize so poorly to small image transform... by rdlecler1 on Sunday June 10, 2018 @10:26PM (#17281294)
This is lazy thinking. You could say the same thing about planetary motion but the ellipse equation does a pretty good job giving us a null hypothesis to build up from.

If you’re a materialist then you’re going to believe that all of the minute biological details are relevant. If you’re a functionalist you can work at a more abstract level. From the 12 years of research I did in this space (both CS and Bio) I can tell you for certain that we can learn a lot more from a functionalist approach.

And the reason we “can’t understand” 1000 layer deep neural networks is again because we don’t have a good theory of these types of computational systems. For instance I can tell you that most of the interactions w_ijk are completely spurious and if you cull the network you actually end up with a circuit that you can understand in the same way any EE undergrad can identify a 3 bit adder from the circuit topology.

Re:Why do CNNs generalize so poorly to small image transform... by SubiculumCode on Sunday June 10, 2018 @04:22PM (#17279976)
If there is one area of neuroscience where there has been a multi-level approach to understanding brain function it has been the study of the hippocampus. You will find detailed computational and simulation models built around detailed knowledge of its circuitry and a wealth of knowledge bridging behavior to hippocampal subregions, subcircuits, in both human and animal models. To me it is one of the most exciting areas of neuroscience because you can build up disting ideas about the functions of circuits based on te computational properties its structure could allow. Furthermore the hippocampus sits atop major networks where high level concepts and percepts are bound to create arbitrary relations for generalization and for one-shot learning.

1.http://science.sciencemag.org/content/315/5814/961?casa_toke... 2. https://onlinelibrary.wiley.com/doi/full/10.1002/syn.21972 3. https://www.sciencedirect.com/science/article/pii/S000689931... 4. http://onlinelibrary.wiley.com/doi/10.1002/hipo.22365/full 5. https://www.sciencedirect.com/science/article/pii/S092523121... 6. https://www.sciencedirect.com/science/article/pii/S089662731... 7. https://ieeexplore.ieee.org/abstract/document/7124441/ 8. https://www.sciencedirect.com/science/article/pii/S107474271... 9 http://science.sciencemag.org/content/353/6304/1117?casa_tok...

Re:Why do CNNs generalize so poorly to small image transform... by sova on Sunday June 10, 2018 @02:53PM (#17279597)
Well said. Do you think some sort of other patterning mechanism, like that used to identify songs (thinking the Shazam algorithm where there is more along the lines of making a "fingerprint" and comparing to the print) will help take us to the next level?

Neural Network architecture (sideways skyscrapers that get more focused as the network plays out) does not incorporate generalization much and this is sort of the point: a specific input data shall generate the resulting target, and any small variance would decidedly result in something different at the other end of the NN. Unless there were some way to incorporate a broad pattern on the data as it comes in... For example, run the NN, the NN shows results and also produces a fingerprint hash, now when you put slightly mal-aligned data into the NN, also provide the previous fingerprint result, and now (maybe) we can derive a device that will result in the same product and similar products within a range of the input data, to satisfy the case that the fingerprint stays true even when the data is slightly different.

Just some ideas on the topic, if we could solve pattern generalization where the viewing window did not have to line up perfectly with the perceived pattern, that would be very powerful; we would have the ability to measure unaligned states, but an algorithm that approaches this power also must exploit some natural phenomenon, such as quantum superposition, if we are to complete our iterations in reasonable time. Without some sort of preprocessing step, such as sorting (that can ensure algorithms run quickly) it seems difficult to try and make a real neural net that is significantly more than a very specific compressed archive.

What's really interesting is that as a stochastic process we could both generate two separate, functional, result-bearing neural networks (weights and layers) that achieved same or similar results while being completely different at their basis (in number of layers and the actual activation weights). And right now, there's no way to determine [elegantly] how similar our neural nets are. So, perhaps in some ways, the ability to compare neural network guts meaningfully will lead us to the ability to encode more elegant view ranges on data sets.

Re:Why do CNNs generalize so poorly to small image transform... by candiodari on Wednesday June 13, 2018 @10:25AM (#17303336)
> Neural Network architecture (sideways skyscrapers that get more focused as the network plays out) does not incorporate generalization much ...

Have you ever seen kids learn the tables of multiplication ? Or addition (but people don't seem to remember from their past that they learned addition from tables). Doesn't that give you pause when you're saying humans can generalize ? Because clearly, this is not how we teach our children.

Humans don't learn that if 2+2=4, 3+2 must be 5. No. Humans learn that 2+2 is 4, then they learn that 2+3 is 5, then they learn ... and so on and so forth.

Even when you see online players investigate a game. Whether it's chess, zelda, or starcraft. You keep seeing the same thing. Humans don't learn by generalizing. They learn how to act in every situation ... one situation at a time. So it's not just 6 year old kids doing this. The game advances because there's a few specific individuals that spend entire days making nonsensical moves, and on rare occasions they find a new move, see what happens, and tell the world (in chess we're talking something like once a year, in mario it seems possible to do it once every few months. It's scary how much tenacity is required for such a process).

And for the vast majority of humans, it never even gets to that point. They just don't have the tenacity.

So if you think humans are AGI, which you seem to do, then clearly such a state can be achieved with disappointing generalization capabilities.

Re:Why do CNNs generalize so poorly to small image transform... by sova on Wednesday June 13, 2018 @07:24PM (#17307895)
>So if you think humans are AGI, which you seem to do, then clearly such a state can be achieved with disappointing generalization capabilities.

Not sure what AGI means.

Yeah, you make a strong point that there are axiomatic must-knows for any domain, and generalization would require some level well above -- or some layer well abstracted from -- this axiomatic knowledge.

Re:Why do CNNs generalize so poorly to small image transform... by candiodari on Thursday June 14, 2018 @07:34AM (#17310856)
It took a few hours of filtering mistakes out of my kids to make me think about this. I was supportive (I hope), but internally I was thinking about it.

The thing is the most difficult mistake was 5+3 being 14. I tried teaching them to approach the problem from different angles. 3+5 ? Fine. 4+3 ? Right. 6+3 ? Right. 5+3 ? 14 ... it took hours.

In kids, most mistakes are corrected quickly, but a few persist. That reminded me that I have a few choice mistakes that lasted an incredibly long time despite getting corrected again and again and making no real amount of sense (meaning I know dozens of ways to calculate them, and I know how the numbers progress and I know how to use distribution to solve it, to "move the beans" (5 + 7 = 5 + 5 + 2 = 10 + 2 = 12. They present that logic, doing the tens first, as moving beans around. Which makes sense), and yet, there's a few mistakes that stuck. So you have a lot of time to think while correcting one of these sticky mistakes.

Re:Why do CNNs generalize so poorly to small image transform... by 317070 on Sunday June 10, 2018 @04:56PM (#17280102)
There are more permutation invariant networks. Look for Bruno or for Neural Statistician. Both of these are RNN's with the exchangeability property. This means inputs and output can be permuted with each other. If you need something with less strong constraints (but still invariant under permutation of the input), there is also Deep Sets.
Re:Why do CNNs generalize so poorly to small image transform... by calebh on Sunday June 10, 2018 @05:51PM (#17280363)
Ah, thanks for the tip. When I'm reading research papers I often find clusters of related papers with the same keywords. Often finding the separate clusters is a difficult challenge, even if you use Google Scholar and follow all the citations.