4 ms·
I've only read the paper once just now, but if I understand correctly, this idea is essentially exploiting overfitting by the oracle. Think of it this way: if
by p4wnc6 11y ago
I've only read the paper once just now, but if I understand correctly, this idea is essentially exploiting overfitting by the oracle.
Think of it this way: if a model is not overfitting in the region near a certain example input, then it means there is good generalization in that region. Perturbations around that example will remain correctly classified. If a model is overfitting near an input (think of a classic case of overfitted high-degree polynomial regression) then a tiny perturbation in that region can lead to an unstable change in the output.
Another way to think about it is to ask: why wouldn't this sort of thing work against a simpler algorithm like linear regression? I don't know that I am correct in my hunch that it wouldn't. But my feeling is that it wouldn't precisely because of the linear link function. If you perturb the inputs, even in a high-dimensional input space, you're only going to get at most a linear effect in the size of the perturbation, so the output on the true example and the adversarially perturbed example would, by construction, always be pretty similar. In other words, the adversarial example could either be plausible-looking, but not produce a great error in the oracle's output, or else it would have to be ridiculous-looking to produce that error, since the simple linear model does not present any regions of overfitting to exploit. (Of course, the linear model may not be good enough ... I'm not saying linear models are superior ... just trying to think about how overfitting is related to this.)
The algorithm works by training a companion model to the oracle model (the model you want to attack), such that a certain gradient structure may likely be correlated between the two models. That gradient structure in the companion model is then used to make perturbations around plausible inputs to the oracle, and evaluate the chances that the perturbation will lead to one of the unstable changes in oracle outputs (e.g. how likely is it that the oracle was overfitted in that region).
The whole paper seems to have a lot of connections to the idea of boosting, but almost in reverse. In boosting, you want to clamp exemplars that you demonstrably get right, and then re-train using example you get wrong (with weights shuffling the importance more and more onto what you get wrong).
It suggests to me that this technique could also be used as the basis for 'boosting' the original oracle classifier. You can produce the adversarial examples that are likely to be misclassified, and then go back and augment the oracle's original training set with these adversarial examples with their correct labels.
In a sense, you would be putting synthetic examples into the training set at the places where you most anticipate the model would otherwise overfit.
Then you could do rounds of this, iteratively, and probably with various weighting schemes, and all sorts of other permutations that could pump a few hundred people through their PhDs.
I wonder if the output of re-training with these "high leverage" sythetic / adversarial points would then lead to an overall classifier less susceptible to this type of attack? Maybe if you do enough iterations of this attack-then-retrain process, there cease to be the types of overfitted regions exploited by the attack. And how much would it degrade accuracy in these regions?
It also suggests adding an "attackability" metric to the model's overall cost function, and I wonder how much that is just going to look exactly like a regularization term...
- Houshalter 11y agoThe issue is not over fitting. In fact linear regression is extremely exploitable with this method. See http://karpathy.github.io/2015/03/30/breaking-convnets/ http://karpathy.github.io/2015/03/30/breaking-convnets/
- p4wnc6 11y agoThat is a very interesting post. My intuition is that it is precisely because there is generalization across models that it is an effect of overfitting. This is a different kind of generalization than the never-before-seen-data generalization that, when high, means no overfitting. If the underlying structural correlations in models result in similar fragile decision boundaries when trained on the same data, that does suggest overfitting to me. The example with softmax regression is extremely interesting and I have to think about it more, but I don't think it quite represents what I was saying about plain OLS in my comment. With even basic logistic regression, you get the logistic function sort of "smearing" perturbations from the decision boundary, and so an effect that only occurs in a single direction even may be large enough to cause the logistic function to "amplify" it. Reasoning about that same possibility in a super high-dimensional softmax scenario seems very hard and it's at least not obvious to me that the softmax functions wouldn't similarly "amplify" small differences, leading to places where the decision boundary could be fragile in this overfitting sense.
- Houshalter 11y agoThe issue is that NNs are continuous, by design. The more linear and continuous they are, the easier they are to train and generalize well. But what that means is, changing each input by a small amount also changes the output by a small amount. And images have lots of pixels. Changing each of them a tiny amount in the right direction adds up to a big change to the output.
- p4wnc6 11y agoI see what you mean now. This plus the comment from user `argonaut` helped me realize what I was missing. Not all of generalization error is because of overfitting, and even if none of it is because of overfitting, the idea you describe would still allow for the attack.