<-Imperceptibility Evaluation      Go to ToC    AI Workflows->

General
1      Installation requirements 2      Neural Network Watermarking method requirements
3      Neural Network Fingerprinting method requirements 4      How to use the Reference Software

General

The MPAI-NNT specifies methodologies to Evaluate the following aspects of a neural network traceability technology:

  • The impact on the performance of a watermarked neural network and its inference.
  • The ability of a neural network traceability detector/decoder/matcher to detect/decode/match a payload when the tracked neural network has been modified.
  • The computational cost of injecting a watermark, detecting or decoding the payload of the watermarked neural network.

The Reference Software is a Python implementation of the functions specified by the MPAI-NNT standard. The software is designed to evaluate the Imperceptibility, the Robustness and the Computational Cost of neural network watermarking technology and the Robustness and Computational Cost of neural network fingerprinting technology. The software is implemented for the image classification task. For Users wishing to implement the standard for other tasks can use this Refence Software as a guide for an implementation for a different task.

1          Installation requirements

The required modules and their version are:

  • python 3.6
  • pytorch 1.10 & torchvision 0.11.3
  • numpy 1.19.2
  • psutils 5.9.3

The Reference Software can be downloaded.

2          Neural Network Watermarking method requirements

The neural network watermarking method shall be a Python class that contains:

  • An Embedder (or Embedder_one_step) function that takes 2 arguments: the model represented in Pytorch format and the Python dictionary which contains all the elements related to the neural network watermarking technology under test.
  • An Embedder_one_step (or Embedder) function that takes 5 arguments: the model, the training dataset, the optimizer, the cost function and the dictionary which contains all the elements related to the neural network watermarking technology under test. The first four elements are Pytorch elements represented in the format of [5] and the fifth is a Python dictionary.
  • A Detector and/or Decoder function that takes 2 arguments: the model represented in Pytorch format and the Python dictionary which contains all the elements related to the neural network watermarking technology under test.

3          Neural Network Fingerprinting method requirements

The neural network fingerprinting method shall be a Python class that contains:

  • A Detector function that takes 2 arguments: the model represented in Pytorch format and the Python dictionary which contains all the elements related to the neural network watermarking technology under test. The Detector call 2 additional methods:
    • An Extractor function that extracts a fingerprint from the model.
    • A Matcher function that match the obtained fingerprint to the other stored fingerprints.

4          How to use the Reference Software

The Reference Software contains a folder for the training and testing dataset and four python files:

  • Imperceptibility.py to Evaluate the Imperceptibility of a neural network watermarking method.
  • Robustness.py to Evaluate the Robustness of a neural network traceability method.
  • ComputationalCost.py to Evaluate the Computational Cost of a neural network traceability method.
  • Utils.py which contains functions and import used in different.

 <-Imperceptibility Evaluation      Go to ToC    AI Workflows->