Information Technology Reference
In-Depth Information
This last exercise should leave an important impres-
sion on you — sometimes Hebbian learning can be
much faster and more reliable than error-driven learn-
ing. The reasons for this speedup will be explored in
greater depth later, but clearly it interacts with the na-
ture of the task. Thus, if we knew that the tasks faced
by the network were typically going to be “easy,” then it
might make sense to use Hebbian instead of error-driven
learning. We will see that in fact a combination of both
types of learning usually works best.
Press
Run
several times to get a sense of how fast
the network learns in general.
,
!
Question 5.4
Provide a general characterization of
how many epochs it took for your network to learn (e.g.,
slowest, fastest, rough average).
Press
TestStep
4 times to refresh the testing grid
log after learning is done.
,
!
Question 5.5 (a)
Explain what the hidden units rep-
resent to enable the network to solve this “impossible”
task (make specific reference to this problem, but de-
scribe the general nature of the hidden unit contribu-
tions across multiple runs).
(b)
Use the weight values
as revealed in the network display (including the bias
weights) to explain why each hidden unit is activated as
it is. Be sure to do multiple runs, and extract the general
nature of the network's solution. Your answer should
just discuss qualitative weight values, e.g., “one hidden
unit detects the left two inputs being active, and sends a
strong weight to the right output unit.”
(c)
Extrapolat-
ing from this specific example, explain in more general
terms why hidden units can let networks solve difficult
problems that could not otherwise be solved directly.
To stop now, quit by selecting
Object/Quit
in the
PDP++Root
window.
,
!
5.10
Summary
Task learning
is a complementary learning objective
to model learning — it can be formalized in terms of
learning an
input-output mapping
. A simple such
pat-
tern associator
task reveals the limitations of Hebbian
learning for task learning. If the discrepancy or
error
between the desired or
target
output pattern and the
ac-
tual
output pattern is used to drive learning, then net-
works can learn much more successfully. This is the
idea behind the
delta rule
, which minimizes error by
adapting weights as a function of the
derivative
of the
error. To learn more complicated input/output relation-
ships, networks with at least one intermediate
hidden
layer are necessary. These
multilayer
networks require
a generalized form of the delta rule which
backprop-
agates
error signals by using the
chain rule
to propa-
gate the error derivative back through multiple layers of
units.
Although there is scant evidence that cortical neurons
communicate such error signals directly, it is possible
to use the difference between two activation states or
phases
to compute essentially the same error deriva-
tive. The first of these activation phases corresponds
to an
expectation
or
production
of a particular output
pattern, while the second corresponds to the experience
of the actual desired
outcome
. As long as the network
has symmetric bidirectional weights, the difference be-
tween these two activation states for a unit anywhere
in the network reflects that unit's contribution to the
overall error. This is the idea behind the
GeneRec
al-
gorithm, which is a generalization of the earlier
recir-
Just to confirm that merely adding hidden units and
increasing the learning rate does not enable the network
to solve this problem, let's try running this network with
Hebbian learning.
Set the
learn_rule
to
HEBB
(i.e., CPCA),
Apply
,
and then
Run
a couple more times. Note that changing
learn_rule
affects the
lrn
values as described ear-
lier.
You should observe complete failure. However, Heb-
bian learning can work quite well with hidden units in
simple tasks.
,
!
To see this, set
env_type
to
EASY
, and
Apply
.
Run
several times.
The network should learn within a couple of epochs
(with 5 more added at the end to make sure).
,
!
Now, set
learn_rule
to
GENEREC
, and
Run
sev-
eral times.
Question 5.6
How fast does GeneRec learn this
EASY
task compared to the Hebbian rule? Be sure to run sev-
eral times in both, to get a good sample.
,
!
Search WWH ::
Custom Search