The Four-Quadrant Problem
Alexis Wieland
alexis at marzipan.mitre.org
Mon Sep 12 12:24:07 EDT 1988
Well, so much for my quest for a problem which *requires* more than 2 layers.
Hopefully this will exhaust the issue ...
The conclussions are:
- for a 2-layer net of a finite number of threshold units can't do the
4-quad problem to arbitrary accuracy (I'll demonstrate in a moment).
- any arbitrarily large subspace *can* be approximated to arbitrary
accuracy with a finite number of nodes.
- with non-hard-threshold units (including sigmoids) and assuming infinite
presision (and you *need* that infinite precision) you *can* do the
4-quad problem with 2 layers.
Demonstration that 2-Layers of finite numbers of threshold units can't do it:
Assume that it can be done. Each node in the first layer creates linear
partitions in the plane described by the input space. This finite set of
partions (lines) intersect at a finite number of points. Consider a circle
centered at the origin which encloses all of these intersections. Assume
without loss of generality that quads 1&3 have a greater value than quads
2&4 which is subsequently thresholded by the second layer node. Above the
circle, crossing from left to right across the y-axis (or any "don't care"
band) must result in a net gain (since quad-2 < quad-1) so the weights
connecting those nodes to the output node must sum > 0. Below the circle a
simular argument has the same sum < 0. The sum can't be both > and < 0, a
contradiction, therefore it can't be done.
*BUT*
Doing It With Other than thresholding units:
If the hidden layer's transfer function f(x) = 0 for x<=0 and f(x) = x for
x>=0 Ron Chrisley showed me at INNS that you can use a four node hidden layer.
Given input weights (w,w), (-w,-w), (w,-w), (-w, w) on the first layer
(no thresholds) and weights (w2, w2, -w2, -w2) from the hidden layer
to the thresholding output node you've got it.
I would add that you can approximate the semi-linear node to arbitrary
accuracy with thresholding units if you only want to go out a finite distance.
Also, you're really only using the fact that the transfer function is
monotonically increasing -- as is a sigmoid (at least in theory). So if
the four nodes in the hidden layer have *any* non-zero threshold you can
use the save network and use sigmoid units. Eventually your top node will
have sigmoid(x + threshold) - sigmoid(x) as its input (which gets *very*
small very fast) but in theory this should work.
In conclussion, this is a task that is quite simple with a 3 layer net
(put a partition on the x an y axis and XOR their outputs). Instead,
you can use an infinite number of nodes in 2 layers or see how well
your particular computer deals with numbers like 10**-(10**10**10**...)
with sigmoid nodes. In short, while it is clearly cleaner and more
compact to do it with 3 layers, it *can* be done in theory with networks
(which are not pragmatically realizable) with 2-layers.
Alexis Wieland
wieland at mitre.arpa
More information about the Connectionists
mailing list