DeeBNet, a new object oriented MATLAB toolbox for Deep Belief Networkshttp://mloss.orgUpdates and additions to DeeBNet, a new object oriented MATLAB toolbox for Deep Belief NetworksenSun, 26 Jun 2016 16:19:55 -0000DeeBNet, a new object oriented MATLAB toolbox for Deep Belief Networks 3.2<html><p><strong>Features:</strong> </p> <ul> <li><p>It is an object oriented toolbox with the most important abilities needed for the implementation of DBNs. </p> </li> <li><p>According to object oriented programming, DeeBNet is designed to be very modular, extensible, reusable and can easily be modified and extended </p> </li> <li><p>It can be run using both MATLAB and Octave and is platform independent (Windows and Linux) </p> </li> <li><p>Different sampling methods including Gibbs, CD, PCD and our new FEPCD method are implemented in out toolbox </p> </li> <li><p>Different sparsity methods, including quadratic, rate distortion and our normal sparsity method are included in DeeBNet </p> </li> <li><p>DeeBNet supports different RBM types (including generative and discriminative) </p> </li> <li><p>Efficiency in using GPU power properly (high GPU load) </p> </li> <li><p>Possibility of using DeeBNet in many different tasks such as classification, feature extraction, data reconstructing, noise reduction, generating new data, etc. </p> </li> <li><p>Data management in DataStore class and optimized codes for engagement with big data in some functions </p> </li> </ul> <p><strong>Description:</strong> </p> <p>The <strong>DeeBNet</strong> (Deep Belief Network) is an object oriented MATLAB and Octave toolbox to provide tools for conducting research using Deep Belief Networks. The toolbox has two packages with some classes and functions for managing data and sampling methods and also has some classes to define different RBMs and DBN. </p> <ul> <li> <strong>DataClasses</strong> package has one class to manage training, testing and validation of data. The DataStore class has some useful functions such as normalize and shuffle functions for normalizing and shuffling of data. </li> <li> <strong>SamplingClasses</strong> package includes the implementation of some different sampling methods. These sampling methods are <strong>Gibbs</strong>, <strong>CD</strong>, <strong>PCD</strong> and <strong>FEPCD</strong>, where FEPCD is our new sampling method. </li> </ul> <p>The toolbox has also <strong>six types of RBM</strong> classes. </p> <ul> <li><p><strong>RBM class</strong>, is an abstract class that defines all necessary functions (such as training method) and features (like sampler object) in all types of RBMs and therefore , we can't create an object from it. Other RBM classes are inherited from this abstract class. </p> </li> <li><p><strong>GenerativeRBM</strong> </p> </li> <li><p><strong>DiscriminativeRBM</strong> </p> </li> <li><p><strong>SparseRBM</strong>, The SparseRBM can use three different types of sparsity methods where one of them is our new method namely “normal sparse RBM method”. </p> </li> <li><p><strong>SparseGenerativeRBM</strong> </p> </li> <li><p><strong>SparseDiscriminativeRBM</strong> </p> </li> </ul> <p>In addition, some useful codes are implemented. These codes are the functions to read different datasets and different scripts showing how the toolbox can be used in different applications: </p> <ul> <li> MNIST for image recognition </li> <li> ISOLET for speech recognition </li> <li> 20 Newsgroups for text categorization </li> </ul> <p>and can be applied to different problems: </p> <ul> <li> classification </li> <li> feature extraction </li> <li> data reconstructing </li> <li> noise reduction </li> <li> new data generation </li> <li> ... </li> </ul> <p>More explanations and documentations are in the <a href="">site</a>. </p> <p><img src="" alt="cardinal"/> </p></html>Mohammad Ali Keyvanrad, Mohammad Mehdi HomayounpourSun, 26 Jun 2016 16:19:55 -0000 belief networksfeature extractionartificial neural networkmatlab toolboxrestricted boltzmann machine