CS63 Spring 2004
Lab 4: Using Conx to create neural networks
Due: Friday, February 20 by 11am

CONTENTS


INTRODUCTION

In this lab you will learn how to use the Pyro module called Conx to experiment with neural networks. You will be doing a number of short exercises to get a sense of what functionality is available in Conx. Then you will reproduce the compression experiment mentioned in Chapter 4 of Mitchell's Machine Learning and you will also reproduce the letter sequences experiment described in Elman's article Finding structure in time.

Your first project, which starts next week, will involve using Conx to conduct a larger experiment. So take the time now to learn about all of the features available in Conx.


LAB INSTRUCTIONS

  1. Conx is one module of the Pyro project. Pyro is an open source project, so you are free to go look at the implmentation of Conx at any time. It is available on our system at:
    /usr/local/pyro/brain/conx.py
    

  2. Before using Conx you'll need to set the PYTHONPATH variable in your shell. For bash shell, add the following to your .bashrc file:
    export PYTHONPATH=/usr/local:/usr/local/pyro
    
    Then you'll need to execute your updated .bashrc by doing:
    source .bashrc
    
    Any new shell you open will now include this environment variable.

  3. There is a collection of materials available online to help you learn Conx.

  4. Using the auto-associative network example as a model, reproduce the compression experiment described on pages 106-7 of Mitchell's book. You'll need to create a network with 8 inputs, 3 hiddens, and 8 outputs. The goal of this network is to output the same pattern that appears in the input. Test various network parameter settings.

  5. Using the simple recurrent network example as a model, reproduce the letter sequence experiment described on pages 7-9 of Elman's article. You'll need to create a recurrent network with 6 inputs, 20 hiddens, and 6 outputs. The goal of this network is to predict the next input based on the current input and its context memory of the recent past.

WHAT TO HAND IN

Use cs63handin to turn in the first four files. Turn in the graphs at the beginning of lab next week.