FGSM as described by Goodfellow et al takes the sign of the gradient of a model w.r.t. the input. And then performs gradient descent (or ascent, depending on your objective).
However why not use directly the gradient and take the sign of the gradient to create an adversarial example?
From experiments I run myself it seemed to converge faster and generate better examples. But I am not sure how well it generalizes. Any ideas on what is the benefit of taking the sign?