Before you run the network, you need to create logs of the results of training and testing and views that allow you to examine the contents of these logs. We'll create a Log with a GraphLogView to follow the SE_Stat over epochs and Log with a GridLogView to follow the activations of the output units at test.
To create the GraphLogView, select .logs / New / GraphLog, and hit Ok in the New dialog. It will automatically prompt you for which process you want to update this view, which should be Epoch_0. This will cause the GraphLogView to get information from this process about what is being monitored there: the SE_Stat, summed across output units and across patterns in the epoch. By default the epoch number will be used at the X axis, so this GraphLogView is now ready.
To create the GridLogView, select .logs / New / GridLog, and specify that Trial_1 should update this log. Again, the header for the data that are being monitored is automatically retrieved.
As an advanced example of setting up a grid log, we now describe how you may be able to set up a special GridLog associated with your Test process (Epoch_1) that displays the weights in your network at the end of each test that you run. This may or may not be something you really need to do depending on your goals. But the example shows some advanced features that are useful and powerful, so we go through it to expose you to them.
1a. Create a monitor stat for each projection. Make sure r.wt is the
current variable displayed, and that you are in Select
mode
instead of View
mode. Now select the projection in the netview
which connects the hidden and output layers. Then click Monitor
Values / new. For In Process, select EpochProcess /
Epoch_1, and for Loop/Final select FINAL, then OK. We
selected Final here since we want to log the values of the weight at
the end of each epoch.
1b. Repeat step 1 selecting the input->hidden layer projection instead.
2. Create a new GridLog with .logs / New / GridLog, then
OK the popup, and select Epoch_1 as the updater for this log.
Under View: Actions (right of View: Object) select Update Grid
Layout, and then press Ok to choose the default
LFT_RGT_BOT_TOP
layout. This should group the statistic
click-buttons closer together in the display.
3. Now comes the tricky part. We're going to try to re-arrange this display so it displays the weights in a way that better reflects the network's structure. To do this we are going to change the geometry and layout of the weight matrices for each projection. In the GridLog there is a click-button associated with the sum-squared error, the EpochCounterStat (labeled epoch) and a click-button associated with each of the two projections you are monitoring, each labeled wt.
3a. So, Right-Click the left one of these wt buttons, and a large pop-up edit window will appear. Find where it says geom on the upper left side of the window. Set the geom's x value to 4 (for your four output units in the 424 problem) and the y value to 2 (since we have 2 hidden units). Then at the top of the pop-up, select Actions / Update Layout. There will then be a pop-up asking you how things should be arranged in the layout. You want to click on the displayed value and select TOP BOT LFT RGT (Top-Bottom-Left-Right). The two incoming wts to each output unit will then be displayed in four vertical columns. The top row of weights in this group will display the weights to each of the ouput units from the leftmost hidden unit, and the bottom row of weights in this groups will display the the weights from the rightmost hidden unit. Click Ok to dismiss this edit dialog.
3b. For the other wt click-button, we want to do something similar, and also position it nicely. So, Right-Click this other button, then set the geometry to x = 4 (for the input) by y = 2 (for the hidden) units. Then set the pos x = 2 and y = 3 (so these weights will be displayed below the other ones). Then select Actions / Update Layout. This time you want LFT RGT TOP BOT (which you might think is the default but it isn't!), so select it carefully. Click Ok to get rid of the edit dialog. We chose a different layout here because although both projections have 8 weight values, this projection has 2 receiver units and 4 senders as opposed to the 4 recievers and 2 senders in the first projection. This layout will cause the receiver weights to the left hidden unit to be shown across the top row of four units, and the weights to the right hidden unit to be shown across the bottom row of four units.
4. You will need to resize the GridLog to be taller so that the display will fit in the window. Then, press Run in the test epoch process control panel to see the weights! To verify the weigh values and understand how they correspond to those in the NetView, click on r.wt in the NetView, (make sure you are in View mode), and select the first hidden unit. The weights from the input units should be the same as those in the GridLog for the first row of the bottom set of weights. Similarly, the second hidden unit's weights are those in the second row of the bottom set of weights. The next set of weights are best viewed using s.wt to look at the sending weights from the hidden units to the output units. The sending weights for the first hidden unit are shown in the top row of the top set of weights in the GridLog. Those for the second hidden unit are in the second row. This will all be much clearer in a fully trained network!