GithubHelp home page GithubHelp logo

popcornell / tfelm Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 5.0 69 KB

An experimental API for Extreme Learning machines Neural Networks made with TensorFlow.

License: MIT License

Python 42.38% Jupyter Notebook 57.62%
elm extreme-learning-machine tensorflow api neural-network machine-learning random-projections

tfelm's Introduction

TF-ELM

An experimental API for Extreme Learning machines Neural Networks made with TensorFlow.

Extreme Learning Machines are a particular machine learning paradigm based on random weights and biases.

This class of machine-learning techniques because are based upon random projections, are trainable with almost negligible hardware and time resources.

In some contexts, their performance can be comparable to classical Multi Layer Perceptron Networks with the advantage of mantaining negligible training resources.

This makes these networks ideally suited for fast-prototyping and for certain big-data problems where a result should be obtained in a reasonable time and/or computing resources for more training-intensive but better models aren’t available.

Support for:

  • Single Hidden layer ELM.
  • Multi layer ELM.
  • Custom weights initialization.
  • Custom activation functions.
  • TensorFlow Dataset API.
  • Full multi-GPU support and model serving through TensorFlow.

Examples available through Jupyter Notebooks:


If you use this work, please cite our conference paper "tfelm: a TensorFlow Toolbox for the Investigation of ELMs and MLPs Performance" in Proceedings of the 2018 International Conference on Artificial Intelligence


More on ELMs vs MLPs

While ELMs require a training time which is order of magnitude smaller than a performance-wise comparable MLP, they usually require more hidden neurons than the MLP network to reach the same performance.

Because of this it can be argued that Single layer ELMs and MLPs are based on a somewhat antithetical philosophy, ELMs bet on a large number of hidden layer units, MLPs on the other hand bet on a small but properly trained number of hidden units. This leads to more training time for MLPs but on the other hand more compact networks which are less computationally intensive in the feedfoward phase.

ELMs, on the other hand, have trivial training time but produce larger networks which place more computational burden on platforms when they become part of an actual application.

tfelm's People

Contributors

popcornell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

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.