Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates for CarliniLInfMethod attack #1380

Merged
merged 12 commits into from
Nov 13, 2021
Merged

Conversation

beat-buesser
Copy link
Collaborator

@beat-buesser beat-buesser commented Oct 24, 2021

Description

This pull request updates CarliniLInfMethod by adding perturbation regularisation, creating a new module for optimizers and adding Adam optimizer to replace line search optimisation, and adding searches for optimal maximal perturbation tau and loss scaling constant c to reproduce performance of the original publication's implementation.

Fixes #1374

Type of change

Please check all relevant options.

  • Improvement (non-breaking)
  • Bug fix (non-breaking)
  • New feature (non-breaking)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Beat Buesser added 3 commits October 22, 2021 13:35
Signed-off-by: Beat Buesser <beat.buesser@ie.ibm.com>
Signed-off-by: Beat Buesser <beat.buesser@ie.ibm.com>
Signed-off-by: Beat Buesser <beat.buesser@ie.ibm.com>
@beat-buesser beat-buesser self-assigned this Oct 24, 2021
@beat-buesser beat-buesser added enhancement New feature or request improvement Improve implementation labels Oct 24, 2021
@beat-buesser beat-buesser added this to Pull request open in ART 1.9.0 via automation Oct 24, 2021
@beat-buesser beat-buesser added this to the ART 1.9.0 milestone Oct 24, 2021
@codecov-commenter
Copy link

codecov-commenter commented Oct 24, 2021

Codecov Report

Merging #1380 (33cf6b1) into dev_1.9.0 (1a8b1cf) will increase coverage by 0.02%.
The diff coverage is 98.95%.

Impacted file tree graph

@@              Coverage Diff              @@
##           dev_1.9.0    #1380      +/-   ##
=============================================
+ Coverage      90.53%   90.55%   +0.02%     
=============================================
  Files            233      234       +1     
  Lines          19002    18993       -9     
  Branches        3111     3107       -4     
=============================================
- Hits           17203    17200       -3     
+ Misses          1035     1031       -4     
+ Partials         764      762       -2     
Impacted Files Coverage Δ
art/attacks/evasion/carlini.py 94.62% <98.52%> (-0.39%) ⬇️
art/optimizers.py 100.00% <100.00%> (ø)
art/defences/detector/poison/activation_defence.py 84.84% <0.00%> (-0.34%) ⬇️
art/attacks/evasion/boundary.py 93.93% <0.00%> (+1.21%) ⬆️
art/estimators/poison_mitigation/strip/strip.py 100.00% <0.00%> (+5.55%) ⬆️
art/estimators/scikitlearn.py 100.00% <0.00%> (+8.33%) ⬆️
art/estimators/certification/abstain.py 100.00% <0.00%> (+9.09%) ⬆️

beat-buesser and others added 6 commits October 24, 2021 01:05
Signed-off-by: Beat Buesser <beat.buesser@ie.ibm.com>
Signed-off-by: Beat Buesser <beat.buesser@ie.ibm.com>
Signed-off-by: Beat Buesser <beat.buesser@ie.ibm.com>
Signed-off-by: Beat Buesser <beat.buesser@ie.ibm.com>
Signed-off-by: Beat Buesser <beat.buesser@ie.ibm.com>
Signed-off-by: Beat Buesser <beat.buesser@ie.ibm.com>
Copy link
Contributor

@hesseltuinhof hesseltuinhof left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a few questions. Otherwise, the changes look good 👍

art/attacks/evasion/carlini.py Show resolved Hide resolved
art/attacks/evasion/carlini.py Show resolved Hide resolved
art/attacks/evasion/carlini.py Outdated Show resolved Hide resolved
art/attacks/evasion/carlini.py Show resolved Hide resolved
art/attacks/evasion/carlini.py Show resolved Hide resolved
ART 1.9.0 automation moved this from Pull request open to Pull request review Nov 9, 2021
Beat Buesser and others added 2 commits November 9, 2021 20:36
@beat-buesser beat-buesser merged commit 2717467 into dev_1.9.0 Nov 13, 2021
ART 1.9.0 automation moved this from Pull request review to Pull request done Nov 13, 2021
@beat-buesser beat-buesser deleted the development_issue_1374 branch November 13, 2021 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request improvement Improve implementation
Projects
No open projects
ART 1.9.0
  
Pull request done
Development

Successfully merging this pull request may close these issues.

CarliniLInfMethod differs significantly from the original, resulting in lower attack success rate
3 participants