Bp Tutorial

From emergent
Jump to: navigation, search


This tutorial demonstrates all aspects of constructing a feed-forward/back-propagation (Bp) neural net model on a sample data set. This tutorial covers the following topics: an outline of a Bp network and learning algorithms, setting up a Bp project, constructing a multi-layer Bp network with a single output variable, setting up data training and testing data tables, populating data tables by importing data from a file, setting up data tables and variables to contain train and test output data, setting up two sets of control programs (one to train the network and one to test additional data on the trained network)

Building a Complete Model

This project provides step-by-step directions for constructing a working neural network simulation from the ground up. The project includes sample training and test data and instructions for designing, training and testing the model derived from the simulation.

Some basic terminology referring to the emergent Project Window [.projects[0].viewers[0](Project_0) adapted from the AX tutorial]:

  • Far-Left "Tool" panel is the left most portion of the window and contains a set of blank programing objects that may be used to modify existing programs through the use of the "Editor" panel.
  • Center-Left "Browser" panel is the left portion of the window with a "tree" of objects in the simulation (including the network, and the input/output data, etc).
  • Center-Right "Editor" panel can display different elements of the emergent system depending on which tab is selected, and which object is currently selected in the "Browser" panel. The left-most tab usually shows what is selected in the browser, and the other tabs with "pins" down are locked in place and contain this document and the Wizard, which we will be making heavy use of. The right-most tab represents the configuration information for the 3D display shown in the right-most "Viewer" panel.
  • Far-Right "Viewer" panel shows 3d displays of various simulation objects, including the network, input/output patterns, and graphs of results, etc.

Screen-shot 1 below shows the project viewer with labels for the four panels.

Screen-shot 1: Emergent Project Viewer


Basic Task: Boiling Point of Small Molecules

The basic task simulated in this tutorial involves predicting the boiling point of small organic molecules from simple representations of molecular structure. Boiling point is a phenomena that is known to be non-linear and is an excellent case for neural network analysis. The network will consist of 3 layers, input, hidden and output. There will be six input units containing metrics that describe the molecular structures, 7 fully connected hidden neurons to provide the solution with an appropriate level of non-linearity, and one output unit, which is the fit or predicted boiling point.


Here are the steps we'll go through, organized as separate document chapters (which live under the docs section of the browser, as does this document):

  1. BpTut BpNet -- About the Back Propagation Neural Net
  2. BpTut BpProblem -- An Outline of the Modeling Task Being Simulated
  3. BpTut BpProject -- Creating A Bp Project
  4. BpTut BpNet -- Setting up a Multilayer Bp Newtork
  5. BpTut BpData -- Creating Data Tables
  6. BpTut BpPrograms -- creating and controlling the programs that perform the simulation
  7. BpTut BpSimulation -- Running a Bp Simulation to Generate a Model
  1. Extras: elaborations that go all the way to the full CPT-AX task
    1. AXTut CPTAX_Program -- extend our basic program to the full CPT-AX task
    2. AXTut PfcBg -- adding a prefrontal cortex/basal ganglia to the model to handle the full CPT-AX task.

Go to BpTut BpNet.