Giter Site home page Giter Site logo

nnet_discriminant_init's Introduction

Neural Network initialization based on discriminant learning

This repository provides the implementation for the paper "Feedforward neural networks initialization based on discriminant learning". The initialization scripts for MLPs and CNNs are provided along with the BatchNormalization layer described in the paper.

Running the code

We provide initialization and training scripts for MNIST and CIFAR10 datasets. To perform initialization of an MLP architecture run

python init_mlp.py

Inside the script you should specify the dataset, activation function, and other hyperparameters that are self-explanatory from the names. Similarly, to initialize a CNN architecture run (with desired parameters)

python init_cnn.py

Either of those scripts will create a pickle file containing the weights of corresponding layers, first to last. The pickle file can be used for weight initalization in the main training loop. We provide an example for 16-subclass architecture (i.e., with first layer having 159 neurons/filters) that builds the architecture and initializes it with weights from a given file. For MLP, specify in the scipt the dataset and run:

python train_mlp.py

For CNN:

python train_cnn.py

The data can be downloaded from here

Environment

The code is built with Tensorflow 2.

Citing the work

If you find our work useful, kindly cite as:

@article{chumachenko2022feedforward,
  title={Feedforward neural networks initialization based on discriminant learning},
  author={Chumachenko, Kateryna and Iosifidis, Alexandros and Gabbouj, Moncef},
  journal={Neural Networks},
  volume={146},
  pages={220--229},
  year={2022},
  publisher={Elsevier}
}

nnet_discriminant_init's People

Contributors

katerynach avatar

Stargazers

Alexandros Iosifidis avatar

Watchers

James Cloos avatar  avatar

Forkers

alekosiosifidis

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.