First thought: Can I turn all digital pictures of me into 'adversarial examples', so the eye of sauron can't identify me from pictures? I'm sure it's not as simple as that, presumably any algorithmic modification to an 'adversarial' nature can be countered by other algorithms. But I predict a new realm of 'arms race' here in the future.
Adversarial examples are tied to a specific algorithm, they didn't produce any universal adversarial examples from what I understand.
Does Deep Learning Have Deep Flaws?
11–20 of 55 posts
Re: Does Deep Learning Have Deep Flaws?
#12I wonder if subtle make up could be used to make a real life face into an adversarial example.
Re: Does Deep Learning Have Deep Flaws?
#13IIRC even the human brain has the 'adversarial' image flaw (these images will be unique to each person), but one simple workaround is to alter the input image via eye movement (which happens unconsciously).
Re: Does Deep Learning Have Deep Flaws?
#14The statistical naivete of the field led to all sorts of inadvertent mixing of training and test set data which generated a lot of spurious claims for solving the problem. That is until one attempted to find those decoys and they were always found. This led to the creation of the CASP competition to weed this out and the field finally moved forward.
http://en.wikipedia.org/wiki/CASP
The key similarity to what I described above is that adversarial search is done posterior to the training of the deep neural network. That makes all the difference in the world IMO. These adversaries may just be strange, otherwise hard to reach bad neighborhoods in image space without using a roadmap. Or they may be an unvaoidable consequence of the curse of dimensionality.
http://en.wikipedia.org/wiki/Curse_of_dimensionality
But given that neural networks have a gradient, it doesn't shock me that it can serve as a roadmap to locate a set of correlated but seemingly minor changes to an example in order to flip its classification. Doing so is simply back-propagation with constant weight values to propagate the gradient to the input data itself - literally a couple lines of code.
IMO there are two interesting experiments to do next (not that anyone will take this seriously I expect, but ya know, hear me now, believe me later):
1. Characterize the statistical nature of the changes in input images and then use those summary statistics as the basis of an image altering algorithm to see if that can be used to flip the classification of any image on its own. If it can, be afraid, your driverless car may have blind spots. If not, then this is probably just a narrower form of overfitting.
2. If it's likely overfitting, attempt an expectation maximization-like fix to the problem. Train the network. Generate adversaries, Add them to the training set, train again and then lather rinse repeat until either the network can't be trained or the problem goes away.
Expensive? Yes. But you're Google/Facebook/Microsoft and you have lots of GPUs. No excuses...
Failing that, the above is on my todo list so I'm throwing it out there to see if anyone can poke holes in the approach.
Re: Does Deep Learning Have Deep Flaws?
#15I think just like any machine learning algorithm, especially with computer vision, you need to prepare things properly. More robust data and images such as moving window on image patches and image rotations, even going as far as applying filters like sobel for edge detection will make your algorithm a lot better. Any algorithms have weaknesses. It's a matter of being aware of them and compensating for them in your mo…
The problem is that the adversarial examples they are able to come up with are very close to the original images, so this means the smoothness assumption seem to be invalid for deep learning models. As they put it in the paper : "Our main result is that for deep neural networks, the smoothness assumption that underlies many kernel methods does not hold."
It's going to be interesting to see what happen when other researchers try to replicate the results for other models and datasets.
Re: Does Deep Learning Have Deep Flaws?
#16I think just like any machine learning algorithm, especially with computer vision, you need to prepare things properly. More robust data and images such as moving window on image patches and image rotations, even going as far as applying filters like sobel for edge detection will make your algorithm a lot better. Any algorithms have weaknesses. It's a matter of being aware of them and compensating for them in your mo…
The value proposition of deep learning is to eliminate these kind of hand-coded features and to discover the features automagically. However, maybe there's a middle ground. I.e. maybe we don't need the more esoteric features that SIFT uses, but it just makes sense to do edge detection, and say a Fourier transform for audio.
More specifically, adding SIFT or edge detection to your raw pixel input will almost always strictly improve a deep model's performance (though they might be redundant) at a not-particularly-large computational cost.
It wouldn't solve the adversarial example problem though, except to the extent that it makes calculating gradients harder.
Re: Does Deep Learning Have Deep Flaws?
#17What this result says to me is that there are really useful features of the data that can successfully classify images that humans are totally unaware of! And that's neat.
Re: Does Deep Learning Have Deep Flaws?
#18I think just like any machine learning algorithm, especially with computer vision, you need to prepare things properly. More robust data and images such as moving window on image patches and image rotations, even going as far as applying filters like sobel for edge detection will make your algorithm a lot better. Any algorithms have weaknesses. It's a matter of being aware of them and compensating for them in your mo…
The value proposition of deep learning is to eliminate these kind of hand-coded features and to discover the features automagically. However, maybe there's a middle ground. I.e. maybe we don't need the more esoteric features that SIFT uses, but it just makes sense to do edge detection, and say a Fourier transform for audio.
Yes and just to clarify - this seems like an indication that however useful, deep learning can't follow through with that promise. And I think the ability to do this the key thing - all the approaches work at some level but without this "automagicity", each become hostage to brow-wrinkling experts who become the only one to understand the black-magic of algorithm tuning.
Re: Does Deep Learning Have Deep Flaws?
#19It is also rather striking that these DLNs seem to be tricked by what we would typically think of as noise.
Re: Does Deep Learning Have Deep Flaws?
#20This isn't to take away from the research; the most interesting result was just how close to valid inputs these erroneously classified images are.
But again, this isn't some fatal flaw. This summary completely neglects the fact that the paper also recommends that -- just like distorted images are added to training sets today (you wouldn't want something common like optical aberration from the camera lens screwing up your classifier) -- in the future, these adversarial examples should be added to training sets to mitigate their effects.
> In some sense, what we describe is a way to traverse the manifold represented by the network in an efficient way (by optimization) and finding adversarial examples in the input space. The adversarial examples represent low-probability (high-dimensional) “pockets” in the manifold, which are hard to efficiently find by simply randomly sampling the input around a given example. Already, a variety of recent state of the art computer vision models employ input deformations during training for increasing the robustness and convergence speed of the models [9, 13]. These deformations are, however, statistically inefficient, for a given example: they are highly correlated and are drawn from the same distribution throughout the entire training of the model. We propose a scheme to make this process adaptive in a way that exploits the model and its deficiencies in modeling the local space around the training data.[1]