huanzhang12 / CLEVER

CLEVER (Cross-Lipschitz Extreme Value for nEtwork Robustness) is a robustness metric for deep neural networks
https://openreview.net/pdf?id=BkUHlMZ0b
Apache License 2.0
60 stars 20 forks source link

Can CLEVER be applied for non-image domains? #5

Open Zephyrasgit opened 3 years ago

Zephyrasgit commented 3 years ago

Hi, I chanced upon this work while working on my own projects with IBM's ART library. Just curious, can CLEVER be applied to non-image domains, such as in NLP? If so, are there modifications needed to your codes to make them applicable to models and datasets that are not in the Computer Vision domain? Thanks.

huanzhang12 commented 3 years ago

Hi @Zephyrasgit Thank you for your interests in our algorithm! CLEVER is a gradient based robustness estimate. To make it work, we need to sample a large number of samples around an input x and compute the gradient at these samples. For NLP domain, a main challenge is that when the input is discrete words, the gradient cannot be easily defined, so it seems to me that applying CLEVER is not straightforward for this setting. However, you can certainly apply it to the word embedding space, where the embedding vector is defined in continuous space. But I am not sure if that is useful for your application.