Analysing a network

Analysing the DBN architecture

You can analyse a DBN in several ways. The simplest and the first thing to do when you set up a DBN to learn a dataset is analysing its architecture. The architecture of a network is the way in which its neurons are connected; in a DBN, the architecture is defined by:

For a straightforward representation of the architecture, you can look at the graph in the upper-right corner.

Plotting the reconstruction error

In the bottom-left corner, you can see a plot reporting the reconstruction error for each RBM and for each training epoch. For each DBN that you train, the plot will add one line for each RBM in the DBN. This is meant to compare the reconstruction error of two different RBMs inside one DBN and the plots of two different DBNs; if the chart gets too crowded, you can clean it with the "clean plot" button near the chart.

Analysing the receptive fields

You can view the receptive fields of some of the neurons in one hidden layer. For this, just choose a layer of the graph in the top-right corner and click it: DBNsim will pick some neurons from the layer (max. 24 neurons) and display their receptive fields.

If you want to see a larger version of a receptive field, simply click on it. A new tab will open, and from there you'll even be able to download the receptive field as an image.

Note that, for consistency, the neurons picked by DBNsim are the same every time you click on the same DBN. This allows you to see the changes in one receptive field while the network is learning; for this purpose, the receptive fields are updated automatically during the training, every five epochs.

Viewing a histogram of the weights in a RBM

To analyse the weights of a RBM in your DBN, you can view a histogram of the weights by clicking between two layers on the graph in the upper-right corner. Clicking between layer n and layer n+1 will display a histogram of the weights in the n+1th RBM.

As for the receptive fields, the histogram is updated automatically during the training, every five epochs.

Viewing a training example

Finally, you can visualize a random training example by clicking on the visible layer of the graph in the upper-right corner. Every time you click on the visible layer, a random training example will be picked from the current dataset and displayed under the visible layer.