News for hackers. Stuff that matters.
Re:Keras reimplementation of "One pixel attack for fooling d... by tomrod on Friday February 23, 2018 @06:42PM (#16450604)
Jumping on top comment (which I completely agree with) to ask:

Why wouldn't a K-fold cross validation enable catching this? I'm curious if the attack adds doubt, in that the prediction algorithm is _close_ to truth but gets confused (likelihood of horse slightly less than dog), versus incorrect certitude (the horse is definitely a dog). One could then attach a weighting, perhaps based on max RGB/CYMK vector norm between two pixels across the image, to the folds' difference in top two certitudes.

I don't know, something like that.

Re:Keras reimplementation of "One pixel attack for fooling d... by eanzenberg on Saturday February 24, 2018 @01:08AM (#16451996)
Because its too computationally expensive. Attacks like these are found when you have access to the model, take an inout image and change its pixel values and see when an anomoly occurs. It’s much faster scoring N images vs. building N models.

How do you combat it? Well that’s an open research question. IMO the most promising techniques make the system harder to attack (ensemble models, more complex models, randomizing the input slightly and dropping outliers) but its not a guarantee. Like in security, it would be great to verify a model is safe to 200 years of brute force search for attack, or whatever it may be.

Re:Keras reimplementation of "One pixel attack for fooling d... by alexcnwy on Saturday February 24, 2018 @02:54AM (#16452256)
What about applying dropout to the input image
Re:Keras reimplementation of "One pixel attack for fooling d... by nightcracker on Friday February 23, 2018 @07:23PM (#16450809)
I don't believe that many people are using K-fold cross validation at all with deep learning, as the computational overhead is massive.
Re:Keras reimplementation of "One pixel attack for fooling d... by tomrod on Friday February 23, 2018 @07:39PM (#16450883)
I must be misspeaking then. I'm not suggesting it run during training, but run the classification algorithm X number of times over an input image with chunks areas removed/suppressed from the data.
Re:Keras reimplementation of "One pixel attack for fooling d... by d4l3k on Friday February 23, 2018 @09:15PM (#16451228)
This is very common. It's an easy way to improve accuracy on a model with a fixed amount of data. They typically crop the image as well as rotate and scale it in order to get a larger data set.

It does make the model more robust, but doesn't seem to help much with finding adversarial examples in the model.

Generating adversarial examples and training on that might be a better approach to solving this.

Re:Keras reimplementation of "One pixel attack for fooling d... by yorwba on Saturday February 24, 2018 @12:41AM (#16451909)
If I understand correctly, you want to modify an input image at application time to get multiple different classifications, and then compare them to find out how certain the model really is.

While that would likely improve results a bit, it would also multiply the model runtime. That's why the other replies directly jump to talking about training data augmentation, since that can give you similar benefits without the runtime penalty.

However, random augmentation can't fully protect against adversarial examples. The number of input variables is simply too large, and there are exponentially many directions in which they could be modified. Data augmentation can't cover all of them, and a single modification that confuses the model slightly can be amplified into an adversarial example that causes a total misclassification.

Re:Keras reimplementation of "One pixel attack for fooling d... by tomrod on Saturday February 24, 2018 @04:07PM (#16455405)
> That's why the other replies directly jump to talking about training data augmentation, since that can give you similar benefits without the runtime penalty.

Exactly. It's a fix that doesn't work, apparently, so that's why I'm thinking towards the runtime.

> it would also multiply the model runtime.

Predictably so, I would think? Such an approach could scale decently since it's not adding a dimension to the runtime, just a multiple.

Re:Keras reimplementation of "One pixel attack for fooling d... by yorwba on Saturday February 24, 2018 @08:15PM (#16456553)
Predictably slow is still slow. You could parallelize it over multiple GPUs, but GPUs are expensive, so nobody is going to do that. Requiring lots of training resources is fine, but inference needs to be cheap.

More problematic is that your approach isn't going to actually work, since CNNs are just too flexible (they can learn even completely random labels) and only generalize by accident. No input augmentation technique that doesn't cover every possible modification is going to be robust against adversarial examples, and getting that amount of coverage requires an exponential blowup in runtime. The adversary has the advantage of being able to choose one modification, while the model needs to defend against all of them.

Re:Keras reimplementation of "One pixel attack for fooling d... by rjurney on Friday February 23, 2018 @09:13PM (#16451217)
There is a way to do this in Tensorflow, where you try to expand your training data images by altering them, moving them around, etc. However, this is not used with large training sets.
Re:Keras reimplementation of "One pixel attack for fooling d... by jgalt212 on Friday February 23, 2018 @08:49PM (#16451144)
not as massive as producing a bum model. And most of the overhead in ML is data acquisition, cleaning, normalization and tagging costs.
Re:Keras reimplementation of "One pixel attack for fooling d... by avaxzat on Saturday February 24, 2018 @06:28AM (#16452817)
>I'm curious if the attack adds doubt, in that the prediction algorithm is _close_ to truth but gets confused (likelihood of horse slightly less than dog), versus incorrect certitude (the horse is definitely a dog).

While I can't speak for this attack in particular, there exist algorithms that can fool a neural network into generating high-confidence incorrect predictions for images that are visually indistinguishable from ones on which the network performs just fine. That's the biggest issue with these adversarial images.