Code Monkey home page Code Monkey logo

mvrahden / recurrent-js Goto Github PK

View Code? Open in Web Editor NEW
18.0 3.0 2.0 368 KB

[INACTIVE] Amazingly simple to build and train various neural networks. The library is an object-oriented neural network approach (baked with Typescript), containing stateless and stateful neural network architectures.

Home Page: https://npmjs.com/package/recurrent-js

License: MIT License

TypeScript 100.00%
recurrent-neural-networks typescript npm rnn lstm deep-learning backpropagation graph recurrent-js neural-network

recurrent-js's People

Contributors

mvrahden avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

recurrent-js's Issues

Example training with more feature rich datasets

Is your feature request related to a problem? Please describe.
The current examples provide a very limited feature set to learn.

Describe the solution you'd like
Please provide examples with more complex datasets.

Describe alternatives you've considered

Additional context
Add any other context or screenshots about the feature request here.

Case error when importin Assertable on utils.ts

This line:
import { Assertable } from './utils/Assertable';

Introduces this error on certain configurations of webpack, specifically when importing the library in Stackblitz as I am:

Can't find module:
recurrent-js/dist/utils/Assertable (@1.5.6)

Check your import statements & ensure you're importing the correct module names.

Add `leakyReLU` as activation function

Is your feature request related to a problem? Please describe.
Currently the leakyReLU is missing as a common activation function.

Describe the solution you'd like
Add it to:

  • MatOps & Graph
  • include the derivative function for backpropagation.
    Wikipedia-URL: Leaky ReLUs

Further related activation functions:

  • noisy ReLU
  • ELUs

Describe alternatives you've considered
none

Additional context
none

Introduce custom sequence of activation functions (per Layer/per Unit)

Is your feature request related to a problem? Please describe.
There's no option to choose the activation functions per layer.

Describe the solution you'd like
Please give the ability of configuring a custom order of activation functions per layer.

Describe alternatives you've considered
Providing the key activations in the configuration object would allow the choice of activations per layer.
One could even come up with a solution for custom activations per unit.

Additional context

Encapsulate the state of stateful networks

Is your feature request related to a problem? Please describe.
The current implementation of stateful networks exposes implementation details to the user of those architectures, such as the previous state and the graph.

Describe the solution you'd like
To resolve this, encapsulate the graph and the state of the network during forward pass, e.g.:

net.forward([0, 1]); /* or with custom learning rate: net.forward([0, 1], 0.3) */

The encapsulation of the graph and the state will bring the API more close to what we see from the stateless architectures.

Describe alternatives you've considered
none

Additional context
none

Add architecture: Convolutions & Kernel matrices

Is your feature request related to a problem? Please describe.
Add convolutions via filter functions (Kernel) to learn from multidimensional data.

Describe the solution you'd like
See convolutional neural networks (CNN).
A convolutional layer network that breaks the multidimensional data down (as a form of pre-processing) into a vector, which can then be fed into a NN-architecture.

Describe alternatives you've considered
none

Additional context
none

Stop memorizing the `previousInput` and `previousOutput` for stateless architectures

Is your feature request related to a problem? Please describe.
The memorization of previousInput and previousOutput in the FNNModel is currently used to calculate the squaredLoss directly while backpropagating the target output. This is a weak and error prone implementation.

Describe the solution you'd like
Split this step into two independent steps, e.g.:

let output = net.forward(input);
net.backward(targets);
let squaredLoss = net.getSquaredLossFor(input, output);

Describe alternatives you've considered
none

Additional context
none

GPU support?

Where's the library for recurrent-js-gpu? (from NPM)

I'm very curious to see the GPU bindings, as this library appears to have no real deps, nor does the README match up with the 1.4.9 on NPM.

Sidenote: Any docs on implementing/training/testing an LSTM with the GPU-enabled library?

Cheers

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.