JavaRNN
Java API for Recurrent Neural Network.
logo armasuisse     logo armasuisse
 Other Projects :  <NESD>    <Streaming>
Project Summary Concept Screenshots Download/Demos Links

Project Description

This project to implement a Recurrent Neural Networks (RNN) framework to explore their capabilities. This project is powered by armasuisse

Concept

A Recurrent Neural Network (RNN) is a neural network (NN) with recurrent connections. These connections forward part of the output signal back in network input. Since the NNN could stimulate its itself these neuron it could :

  • Save information about past iteration.
  • Start to generate its own signal.
  • Such behaviors are complex and hard to control. Therefore a serie of custom RNN have been developped by the past : where RRN was componed of several NN bind together, or with a single recurrent connection... Another approch, used by NEAT project, is to let the network evolve by itself using Genetic Algorithm (GA). We choose this one.


    Fig.1 : Full Connected RNN

    Structure

    Nodes

    JavaRNN use full connected RNNs. Such a RNN contains X nodes and X2 connections. Each of this connection is weighted. The choosen transfer function is at this time a simple sigmoid.

    Application

    We actually use RNN as predictor : we check the RNN capability to predict a signal at T+1. We also use it as long-run predcitor, coupling its predicted output to its input we let im predict a signal at T+n

    Delay

    We have experienced limitations modelling periodic signals due to the natural resonant frequency of the RNN. To solve this problem we had delay buffers in each connection in form of a FIFO queue. the length of the queue is also set during the training.


    Fig.2 : Weight Matrix

    Training

    We use a straigt forward Genetic Algorithm (GA) in order to train weights and deplays.


    Screenshots

    screenshot screenshot screenshot screenshot
    screenshot screenshot

    Downloads

    -

    Links

    Armasuisse
    Frédéric Dreier AI/AL Homepage
    NEAT Project