Skip to content

lrq3000/gbnn-matlab

Repository files navigation

gbnn-matlab

Gripon-Berrou Neural Network implementation in Octave 3.8.1 and also working on Matlab 2013a.

See main.m for more informations and an example of usage, or simple.m or gbnn_mini.m if you want even simpler versions to kickstart you.

Although it is fully functional for all implemented features, this was a work-in-progress, intended for more features to be added or changed (but since the addition of named optional arguments, this shouldn't affect you and future changes should be mostly retro-compatibles), although development has now stopped as of 2020. Most features in the package were optimized for speed (usually by vectorization, which implementations were conceived specifically for this package and were not published elsewhere before) for the Matlab version at the time, and it should also be compatible with Octave although with less speed optimizations (some Octave functions with equivalents in Matlab had a rough non optimized implementation at the time, this may have changed since then).

If you want to use the GBNN network in your own application, you only need the files inside the gbnn-core/ folder. The other folders and files are just usage examples (such as main.m) or figures generation scripts, some of which were used in the published conference paper:

Larroque, Stephen & Sedgh Gooya, Ehsan & Gripon, Vincent & Pastor, Dominique. (2015). Using Tags to Improve Diversity of Sparse Associative Memories. 10.13140/RG.2.1.3079.3762. http://dx.doi.org/10.13140/RG.2.1.3079.3762

If you want to make your own simple implementation, you can take a look at gbnn-core/gbnn_mini.m, which is a minimal implementation of the GBNN network under 150 LoC.

This implementation in MATLAB/Octave was developed by Stephen Larroque and Vincent Gripon. Tagged network extension by Ehsan Sedgh Gooya.

It is licensed under CRAPL or MIT Public License at your convenience.

About

Gripon-Berrou Neural Network (also called Cliques Neural Network) high-performance implementation in Octave/Matlab

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages