Designing and constructing neural network topologies using nature-inspired algorithms - powered by high performance computer (HPC)
The proposed method NiaNet attempts to pick hyperparameters and AE architecture that will result in a successful encoding and decoding (minimal difference between input and output). NiaNet uses the collection of algorithms available in the library NiaPy to navigate efficiently in waste search-space.
- Construct novel AE's architecture using nature-inspired algorithms.
-
- number of solutions = topology shape * layer step * layers * act. func. * epochs * lr * optimizers
-
- 3,456,000,000 = 2 * 60 * 60 * 8 * 100 * 100 * 6
- It can be utilized for any kind of dataset, which has numerical values.
- Detect anomalies in data
Installing NiaNetHPC with pip3:
TODO: Publish it to PyPi
pip3 install nianet-hpc
The purpose of this paper is to get an understanding of the first version of the NiaNet approach (without HPC).
Annals of Computer Science and Information Systems, Volume 30: NiaNet: A framework for constructing Autoencoder architectures using nature-inspired algorithms
Usage examples can be found here.
- TODO Add description for making your own example.
Change the dataset import function as follows:
- TODO Add description for dataloader and config file.
Set the boundaries of your search space with autoencoder.py.
The following dimensions can be modified:
- Topology shape (symmetrical, asymmetrical)
- Size of input, hidden and output layers
- Number of hidden layers
- Number of neurons in hidden layers
- Activation functions
- Number of epochs
- Learning rate
- Optimizer
You can run the NiaNet script once your setup is complete.
docker build --tag spartan300/nianet:dnnae .
docker run \
--name=nianet-dnnae \
-it \
-v $(pwd):/app/logs \
--gpus all spartan300/nianet:dnnae \
python ./dnn_ae_run.py
-
NiaNet was developed under the supervision of doc. dr Iztok Fister ml. at University of Maribor.
-
This code is a fork of NiaPy. I am grateful that the authors chose to open-source their work for future use.
This package is distributed under the MIT License. This license can be found online at http://www.opensource.org/licenses/MIT.
This framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!