Skip to content

Questions about PGDAttack #11

@Leirunlin

Description

@Leirunlin

Hi! Thanks for this great repo.
I have some questions about the implementation of PGDAttack.

  1. The learning rate of PGDAttack.
    lr = base_lr * num_budgets / math.sqrt(epoch + 1)
    In the original paper of PGDAttack and implementation of DeepRobust, the learning rate here seems to be
    lr = base_lr / math.sqrt(epoch + 1). I notice that the default value of "base_lr" is kept the same, so the final "lr" would be very different as num_budget is often large. Will this difference matter a lot?
  2. The choice of learning rate in PGDAttack.
    As suggested by the authors, PGDAttack prefers different base_lr for different loss_type. I think it would be better if this difference is included.
  3. In PGD Example, the same attacker is applied in both poison and evasion settings. In the original implementation, there is a poison version of PGDAttack specific for the poison setting (named as MinMax in the DeepRobust repo). Will this version be included as well?

By the way, it is great to see that the repo is more PyG styled. Does that mean we can attack more PyG models as surrogate or victim models? For example, we can attack GAT and APPNP using PGDAttack as long as they are written in a PyG message-passing framework through edge_index.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions