(a) The document linked by the OP is to a blog post that discusses and extensively quotes another blog post [1] which in turn discusses an actual paper [2]. Naturally the paper is where the good stuff is.
(b) Both blog posts somewhat understate the problem. The adversarial examples given in the original paper aren't just classified differently than their parent image -- they're created to receive a specific classification. In the figure 5 of the arxiv version, for example, they show clear images of a school bus, temple, praying mantis, dog, etc, which all received the label "ostrich, Struthio camelus".
(c) The blog post at [1] wonders whether humans have similar adversarial inputs. Of course it's possible that we might, but I suspect that we have an easier time than these networks in part because:
(i) We often get labeled data on a stream of 'perturbed' related inputs by observing objects in time. If I see a white dog in real life, I don't get just a single image of it. I get a series of overlapping 'images' over a period of time, during which time it may move, I may move, the lighting may change, etc. So in a sense, human experience already includes the some of the perturbations that ML techniques have to introduce manually to become more robust.
(ii) We also get to take actions to get more/better perceptual data. If you see something interesting or confusing or just novel, you choose to focus on it, or get a better view because of that interestingness or novelty. The original paper talks about the adversarial examples as being in pockets of low probability. If humans encounter these pockets only rarely, it's because when we see something weird, we want to examine it, after which that particular pocket has higher probability.
Yes. But more importantly, we are continuously training our network. There is no terminating "training set" except the set of all considered classifications. Our discovery of ourselves being "wrong" about a thing is our network continually adjusting. We also have the notion of ignorance. These classifiers are often forced to come to a conclusion, instead of having "I don't know, let me look at it from another angle" kind of self-adjustment process. "Aha, it is a cat!" moments do not happen for ai. In us, it would create a whole new layer to wrap the classifier around some uncertainty logic. We would be motivated to examine the reasons behind our initial failure, and use the conclusions to train this new layer, further developing strategies to adapt to those inputs.
Exactly. Reading the paper, I have to say I disagree. Human minds are stable, for a very simple reason : they randomize inputs, they implicitly haar-cascade inputs simply because the sensors are inaccurate (they add time-variant noise like any real-world sensor), and they're mounted on a moving platform that constantly shifts position. The observation here should be that brains don't filter out noise, they use it to their advantage, to improve their performance.
So it's simple : both problems referred in the text don't exist for noisy data, and it's easy to improve ANN's classifications performance through things akin to adding random noise and haar-cascade like approaches (shifting the input image slightly, in x, y, rotation, white balance, ...), then taking the prediction that you saw most often. You can even make neural nets that do this implicitly (though it's even more expensive).
Anecdotally, I do think my own mind has this "problem". There are a large number of things I recognize immediately, but there are also quite a few things I have to look at for a few seconds to even a minute or two (usually geometrical stuff, network plans, or the like) before it "clicks" in my mind and I know what it is. Sometimes that is because I have to wait for the noise level to go down (e.g. exit a tunnel or a building into full sunlight), but usually it's not. I think it's very possible that at such times my mind is simply waiting until the noise in the input kicks it over some decision boundary.
Also, I find people often reclassify things after looking at them a little while longer.
I thought that more or less all of AI researchers admitted now for a long time that NNs aren't human brain and shouldn't reasoned about as if they were, because essentially these are different things. They can be used to study some particular behaviour of the intelligence, to make something more clear about how actual brin wokrs, but one must always remember that they are not actual brain. Recent post by LeCun mentioned that as well.
Anyway, that would seem natural to me. Consider numbers on the rightmost image in OP-link (I'll refer to that blogpost as [0]). Program recognises them "correctly". Would you? Well, I do recognize some, but not all of them for sure, and I guess it would be easy to make such dataset so I would lose flat to that NN.
That makes almost all of [0] pretty much nonsense to me. Author operates common-language words lacking of technical meaning, like "similar". He point's out that two images similar to human are not similar to the algorithm, but if we keep in mind that similarity is property with respect to some observer (ie human, neural net). And that is natural that what is important for that NN is different from what is important for most of us, humans. After all, it often happens that you don't recognize something on photo, but your friend does, and as far as you know you are both humans. More than that, after he tells you what it is you are like "Oh, right, I see now! Silly me!" So it's kinda common sense that for every two different classifiers you can find two objects that will be classified as similar by one and different by another. Well, yeah, humans have more in common between themselves compared to NNs, no big surprise as well. After all your internal image classifier doesn't receive exact pixel values on input, so of course one can find two images so you won't even see the difference and that NN fails to describe them as similar.
So essentially it is saying only that "every particular NN doesn't think like human" which is nothing new. Well, nice catch is that you can easily construct such counter-example manually, but that doesn't seem like "the biggest news in neural networks since the invention of the backpropagation algorithm". More than that, if the first notion (about absense of meaningful features for individual neurons) is completely true, it doesn't explain why deep learning is so successful.
So, I'm confused. If it's really something "backpropagation-size discovery" I'm waiting for comment from some expert we all know and trust, who can explain things clearly. You know, Hinton, LeCun. I just don't see what's so important about that paper.
I'm not trying to pretend that the way ANNs work is at all closely tied to how actual brains work. But the tasks we're trying to give to ANNs are generally about seeing some dataset the same way we do. The whole point in training ANNs on data images with human created class labels is to teach them / encode in them a representation of the mental concepts that we apply to the world, which is supposed to be generalizable. We evaluate them by testing their outputs on new inputs for which we have a human-provided label. You say that "similar" is relative to some observer -- but if the trained ANNs differ wildly from humans in judging what is similar, then maybe they're not doing the job as well as we hoped.
Depends on how the task is defined. Surely you wouldn't expect Naïve Bayes classifier to behave the same way as humans do, because it's simple and you have no illusions regarding what it can do. So you wouldn't be surprised by the fact that you can forge input of of NB classifier so it would give you false-negative, while staying essentially the same for human. Because humans are not Naïve Bayes classifiers, and you know it. Yet given the right task, right set of input parameters and right approach, NB classifier could yield very good results on practical datasets, so, give performance, you would declare it is "doing job well".
So the same thing shouldn't surprise (nor even upset) you about NNs, if you remember that humans are not Neural Nets. Just don't be fooled by the misleading similarity in names for NN concepts and human brain components, because they are not the same and thus don't act the same. It's just a name. So that shouldn't be anything new.
One more tricky moment is where you speak of "human-provided label". Right, but what is meaning of the label? I mean, if label for all cats would be "chair" and after that NN would label cat as "chair" it would do it's job correctly, and labeling cat as "cat" would be a mistake. Why I'm saying such an obvious nonsense? Because labels are somewhat arbitrary, but there's important difference between labeling objects by principle "recognized by [some specific] human as X" and "has origin of X". For example, you can have some photo of a dog (bad lightning, bad focus, bushes, fog, whatever) that wouldn't be recognized as "dog" by 9/10 humans you showed it, but nevertheless it is an image of a dog. Now is it a good result or a bad result, if your NN classified it as "dog"? Depends on how task is defined.
Anyway, what I was pointing out isn't that NNs' false negatives are not really false negatives or something. Yes they are. But every fuzzy classifier (including human) would give false negatives sometimes if labels are given "by origin", it's pretty obvious. What I was pointing out is that similarity between correctly matched object and incorrectly matched object is relative to the observer, and is directly linked to the technology observers works on. And we know that technology of NNs is completely different from technology of human brain. Once again, "cat classifier" inside of human brain doesn't have exact pixel values on input, and your NN does. So no surprise what looks exactly the same to you, looks (and in fact is!) like two different things for your NN.
So, you are right, currently existing ANNs are not as similar to humans as we'd like them to be (for some purposes, that is), but it is no news. Essentially by my previous comment I was trying to say this: if you are not surprised by the fact that NNs often correctly (by the factor of origin) recognize something that is totally unrecognizable to you (and that is common knowledge — take every modern hand-writtend number recognizer) you should not be surprised by the fact that the don't recognize some things that are clear as day to you, because these two effects are essentialy the one. So I'm not denying NNs aren't perfect (in some sense), I'm saying it's no news, for sure not "backpropagation invention sensation".
If you consider the neural pathway from the retina onwards, it does start with a pixel accurate input... You might have to resort to a short bright flash of a cat photo.
The neural pathway does many transforms so that things like scale and movement can be left out for some tasks.
An artificial neural network should evolve to do some similar transformations. It has been done.
Not really. Eye doesn't operate exact number values, not discrete, not even analogous electric signal. Even if we imagine that "image" is what is projected on retina (which isn't exactly true in our case), it couldn't be described as an array of pixels, because, as mentioned earlier (and as everyone should know already anyway) real neuron isn't even close to some "single number value storage", but entity much more complex. So, no, even then it wouldn't be pixel accurate input.
In our case, however, "pixel accurate input" is that digital image of yours, array of numbers, that is, which is processed directly by ANN, but not by you. To be processed by your brain it goes through some pre-processing in the computer, is projected onto your not-so-perfect display, mixed with light from all the sources around you and only then is it projected on your retina, which also isn't perfect pixel matrix. So it is actually very much possible that these two images with very close, but different pixel values (which are objectively different for computer) indeed do innervate your retina in exactly the same way, and thus are objectively exactly the same image for your eye, which passes signal further to your brain. It just isn't fair to compare it to some ANN, because your eye isn't sensitive to pixel forging of that sort, but is sensitive to some others, which are treated easier by the NN instead.
You may just think of it like having several filters of some sort on the way of the visual signal to your internal "cat classifier".
If you can slightly distort an image to make NN produce any classification you want that opens many interesting options for steganography.
Funniest application would be distorting individual characters of the printed text so that OCR engine and human would "see" two totally different but meaningful messages.
There's likely not enough complexity in the OCR NN to do that, but who knows.
My interest is not really the existence of borderline-recognizable inputs, but how you would reach them. It's trivial to make any system classify wrong if you can add arbitrary amounts of noise. But how often can you trick a human by taking a full-frame broad daylight image and perturbing each pixel up to some limit? I expect the number to be pretty low, even if you're depriving them of the ability to perform more examinations of the object.
(b) Both blog posts somewhat understate the problem. The adversarial examples given in the original paper aren't just classified differently than their parent image -- they're created to receive a specific classification. In the figure 5 of the arxiv version, for example, they show clear images of a school bus, temple, praying mantis, dog, etc, which all received the label "ostrich, Struthio camelus".
(c) The blog post at [1] wonders whether humans have similar adversarial inputs. Of course it's possible that we might, but I suspect that we have an easier time than these networks in part because: (i) We often get labeled data on a stream of 'perturbed' related inputs by observing objects in time. If I see a white dog in real life, I don't get just a single image of it. I get a series of overlapping 'images' over a period of time, during which time it may move, I may move, the lighting may change, etc. So in a sense, human experience already includes the some of the perturbations that ML techniques have to introduce manually to become more robust. (ii) We also get to take actions to get more/better perceptual data. If you see something interesting or confusing or just novel, you choose to focus on it, or get a better view because of that interestingness or novelty. The original paper talks about the adversarial examples as being in pockets of low probability. If humans encounter these pockets only rarely, it's because when we see something weird, we want to examine it, after which that particular pocket has higher probability.
[1] http://www.i-programmer.info/news/105-artificial-intelligenc...
[2] http://arxiv.org/abs/1312.6199 or http://cs.nyu.edu/~zaremba/docs/understanding.pdf