Layer

Edit on Github


Layers are pre-built architectures that allow you to combine different network architectures into óne network. At this moment, there are 3 layers (more to come soon!):

Layer.Dense
Layer.LSTM
Layer.GRU
Layer.Memory

Check out the options and details for each layer below.

Constructing your own network with layers

You should always start your network with a Dense layer and always end it with a Dense layer. You can connect layers with each other just like you can connect nodes and groups with each other. This is an example of a custom architecture built with layers:

var input = new Layer.Dense(1);
var hidden1 = new Layer.LSTM(5);
var hidden2 = new Layer.GRU(1);
var output = new Layer.Dense(1);

// connect however you want
input.connect(hidden1);
hidden1.connect(hidden2);
hidden2.connect(output);

var network = architect.Construct([input, hidden1, hidden2, output]);

Layer.Dense

The dense layer is a regular layer.

var layer = new Layer.Dense(size);

Layer.LSTM

The LSTM layer is very useful for detecting and predicting patterns over long time lags. This is a recurrent layer. More info? Check out the LSTM page.

var layer = new Layer.LSTM(size);

Be aware that using Layer.LSTM is worse than using architect.LSTM. See issue #25.

Layer.GRU

The GRU layer is similar to the LSTM layer, however it has no memory cell and only two gates. It is also a recurrent layer that is excellent for timeseries prediction. More info? Check out the GRU page.

var layer = new Layer.GRU(size);

Layer.Memory

The Memory layer is very useful if you want your network to remember a number of previous inputs in an absolute way. For example, if you set the memory option to 3, it will remember the last 3 inputs in the same state as they were inputted.

var layer = new Layer.Memory(size, memory);

The input layer to the memory layer should always have the same size as the memory size. The memory layer will output a total of size * memory values.

This page is incomplete. There is no description on the functions you can use on this instance yet. Feel free to add the info (check out src/layer.js)