My implementation of some basic Neural Networks, ideas from papers, and some of my own ideas. (Mostly done in TensorFlow). (All of the code are run on NVIDIA TITAN X (Pascal) single GPU, and reported runtime)
Basic implementation of MLP, CNN, RNN are in basic directory.
In paper directory, but with some small changes because can't get exact same data as the paper, and computation power.
- AlexNet
- LeNet-5
Feel free to clone and try out those ideas!
-
Some weird way to link neurons, like the current layer get input from all layers before. A full version of ResNet that each later take all values from all previous layers. Potentially add some convolution layers to reduce the parameters. An implementation with TensorFlow is here.
-
Random structured neurons, linked in weird ways
-
No backprop, because neurons dont give info back to neurons before
- Different learning rate for different layer to address the explosion increase. Lower learning rate for eariler layers to make them less subjected to the back prop derivative.
- Transfer Learning: train one layer on part of data first, and add a layer before it, and recursively do this. To make earlier layers train on less iterations.
- Feed art pictures to some RNN, and let it draw pictures.
- Compress data, and a DL learn to match the compressed to orginal