next up previous
Up: CSS485 Home Page

University of Washington, Bothell
CSS 485: Introduction to Artificial Neural Networks
Fall 2002
Homework Assignment 5: Backpropagation
Assigned: Wednesday, November 27, 2002
Due: Wednesday, December 11, 2002 (start of class)

  1. In this problem, you are asked to solve the same pattern recognition problem as in homework 4. To review, the input patterns are:

    \begin{displaymath}
\begin{array}{\vert c\vert c\vert c\vert c\vert c\vert}\hlin...
...-0.5mm]{3mm}{3mm}& \rule[-0.5mm]{3mm}{3mm}\\ \hline
\end{array}\end{displaymath}

    Your network should have a single hidden layer and three outputs, with each corresponding to one of the three characters. In other words, the outputs for the three patterns should be:

    $\displaystyle \mathbf{t}_0 = [\begin{array}{rrr}1 & 0 & 0\end{array}]\ensuremat...
...athbf{t}_2 = [\begin{array}{rrr}0 & 0 & 1\end{array}]\ensuremath{^{\mathsf{T}}}$

    Write code to implement the forward computation of such a network and the error backpropagation and weight update of backpropagation learning. I leave it up to you to test your code for smaller networks and simpler problems. Verify the operation of the network for ``clean'' input. Next, investigate the network's ability to retrieve ``damaged'' patterns. Do this by producing ``noisy'' patterns, in which $ n$ elements of a pattern are ``flipped'' (1 changed to 0; 0 to 1). Select the elements to flip randomly, and run multiple trials for each value of $ n$ and each pattern. For each value of $ n$, you should get a single value which is the fraction of noisy patterns which were correctly recalled. Plot that fraction versus $ n$.

  2. For extra credit, build a backpropagation network that outputs the ASCII code for each of the characters above (it will have 7 outputs).


next up previous
Up: CSS485 Home Page
Prof. Michael Stiber
2002-11-27