# Passport-aware-Normalization **Repository Path**: idoltgy/Passport-aware-Normalization ## Basic Information - **Project Name**: Passport-aware-Normalization - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-22 - **Last Updated**: 2021-06-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Passport-aware Normalization ======= This repo is implementation for the accepted paper "Passport-aware Normalization for Deep Model Protection" (NeurIPS 2020).
Figure 1: Illustration of the proposed passport-aware normalization.
The proposed Passport-aware Normalization is effective in both image and 3D point recognition models and robust against different attacks, such as fine-tuning, model pruning and ambiguity attacks. ## Image Classification In this task, we mainly refer to the settings mentioned in the baseline method "Rethinking Deep Neural Network Ownership Verification: Embedding Passports to Defeat Ambiguity Attacks" ([Code](https://kamwoh.github.io/DeepIPR/) | [Paper](https://arxiv.org/abs/1909.07830)). ### How to run Take AlexNet on CIFAR10 dataset as example, which is running on default arguments. ``` ## cd Image_cls/Ours ``` #### Train a model with passport-aware normalization and triggers ``` python train_v23.py -tb ``` #### Run Attacks ``` ## Fine-tuning python train_v23.py -tb -tf ``` ``` ## Model pruning python prun_v3.py ``` ``` ## Ambiguity attack I python amb_attack_v3.py --type fake2 ``` ``` ## Ambiguity attack II (10% flipped sign) python amb_attack_v3.py --type fake3s --flipperc 0.1 ``` Experiment settings can be modified in ./experiments/classification_private.py Details about Passpor-aware Normalization can be found in ./models/layers/passportconv2d_private.py ## 3D Point Clouds Classification ### How to run Take [PointNet](http://openaccess.thecvf.com/content_cvpr_2017/papers/Qi_PointNet_Deep_Learning_CVPR_2017_paper.pdf) on [ModelNet](https://shapenet.cs.stanford.edu/media/modelnet40_normal_resampled.zip) dataset as example: ``` ## cd 3d_point_cls ``` #### Train a model with passport-aware normalization and triggers ``` python train_3_cls.py ``` #### Run Attacks ``` ## Fine-tuning python fine_tune2.py ``` ``` ## Model pruning python prun3.py ``` ``` ## Ambiguity attack I python amb_attack.py --type fake2 ``` ``` ## Ambiguity attack II (10% flipped sign) python amb_attack.py --type fake3s --flipperc 0.1 ``` ## Requirements Python >= 3.6