home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / ai / neuraln / 3246 < prev    next >
Encoding:
Internet Message Format  |  1992-08-19  |  6.0 KB

  1. Path: sparky!uunet!ogicse!das-news.harvard.edu!cantaloupe.srv.cs.cmu.edu!crabapple.srv.cs.cmu.edu!news
  2. From: sef@sef-pmax.slisp.cs.cmu.edu
  3. Newsgroups: comp.ai.neural-nets
  4. Subject: Re: Reducing Training time vs Generalisation
  5. Message-ID: <Bt9GIx.9In.1@cs.cmu.edu>
  6. Date: 20 Aug 92 02:35:21 GMT
  7. Article-I.D.: cs.Bt9GIx.9In.1
  8. Sender: news@cs.cmu.edu (Usenet News System)
  9. Organization: School of Computer Science, Carnegie Mellon
  10. Lines: 116
  11. Nntp-Posting-Host: sef-pmax.slisp.cs.cmu.edu
  12.  
  13.  
  14.     From: arms@cs.UAlberta.CA (Bill Armstrong)
  15.     
  16.     >  ..............*   *.................
  17.     
  18.     >...  In this case, there are also solutions that create a
  19.     >flat plateau, and these are more likely to be found by the usual learning
  20.     >algorithms.
  21.     
  22.     Isn't the plateau solution a *local* minimum of error?  Is this a case
  23.     where you actually should seek a local minimum rather than an absolute
  24.     minimum in training?
  25.     
  26. No, the plateau solution is one of several global minima that have zero
  27. error because they go smack through all the points.  For simplicity, assume
  28. two 0-1 sigmoid units and a linear output unit of unity gain.  One hidden
  29. unit goes from zero to one between the the last of the left-side dots and
  30. the left *.  The other hidden unit one goes from zero to one between the
  31. right * and the dots.  The first hidden unit has an output weight of +x
  32. and the second has an output weight of -x, where x is the height of the
  33. *-defined plateau.
  34.  
  35. OK, the solution is only EXACT as the sigmoids approach step functions,
  36. which means as the input-side weights grow large.  But you get very close
  37. even with moderate weights.
  38.  
  39.     >If you shape the training set a bit more carefully
  40.     
  41.     >                *      *
  42.     >  .............*        *.................
  43.     
  44.     >and use a two-hidden unit net, you can FORCE the solution with a big
  45.     >excursion.  Only the "ankle" part of the sigmoid will fit these tossing
  46.     >points.  However, a net with more hidden units could again create a
  47.     >plateau, however, and this would be the more likely solution.
  48.     
  49.     Same question: is this plateau a local minimum only?
  50.  
  51. Well, one ugly solution uses four hidden units and gets up to the plateau
  52. in two steps, and down in two more.  Again, zero error, so the solution is
  53. one of the global minima.
  54.  
  55.     The more hidden units and layers you have, the less transparent the
  56.     behavior of the whole net becomes.  Some examples of "wild" behavior
  57.     will only appear with relatively small weights, but lots of layers:
  58.     linear regions of sigmoids all lining up to produce a big excursion.
  59.     
  60. Sure, but they will have no incentive to do this unless the data, in some
  61. sense, forces them to.  You could always throw a narrow Gaussian unit into
  62. the net, slide it over between any two training points, and give it an
  63. output weight of 10^99.  But it would be wrong.
  64.  
  65.     >1. Sacrifice perfect fit.  Weight decay does this in a natural way, finding
  66.     >a compromise between exact fit on the training set and the desire for small
  67.     >weights (or low derivatives on the output surface).  The weight-decay
  68.     >parameter controls the relative weight given to fit and smallness of
  69.     >weights.
  70.     
  71.     I agree this will work if you can get fine enough control that reaches
  72.     to every point of the input space to prevent excursions, and the
  73.     fitting of the function to the spec is good enough.  Though I don't
  74.     deny it could be done, is this easy, or even possible to do in practice?
  75.     
  76. You don't need fine control.  If you just crank some weight decay into the
  77. error measure, it will keep the net from making wild excursion without
  78. being forced to by the data.  For example, in the example about the big
  79. gaussian spike, it would drive the output weight to zero if the Gaussian is
  80. not helping to fit the data.
  81.  
  82.     >2. Sacrifice smoothness.  If sharp corners are OK, it is a trivial matter
  83.     >to add an extra piece of machinery that simply enforces the non-excursion
  84.     >criterion, clipping the neural net's output when it wanders outside the
  85.     >region bounded by the training set outputs.
  86.     
  87.     If you do want some excursions and you don't want others, this won't
  88.     work.  It is not a simple matter to find the problem regions and bound
  89.     them specially.  I believe it is NP complete to find them.  The
  90.     plausibility of this can be argued as follows: ALNs are a special case
  91.     of MLPs; you can't tell if an ALN is constant 0 or has some 1 output
  92.     somewhere (worst case, CNF- satisfiability); this is a special case of
  93.     a spike that may not be wanted.
  94.     
  95. Huh???  It's trivial to put a widget on each output line that clips the
  96. output to lie between all those seen during training.  It's a bit harder,
  97. but still not NP complete, to find the convex hull of outputs and clip to
  98. that.  Now, if you want some excursions and not others, you'd better tell
  99. the net or the net designer about this -- it's a bit unreasonable to expect
  100. a backrpop net to read your mind.
  101.     
  102.     The usual MLPs are very "globally" oriented, so they may be good at
  103.     capturing the global information inherent in training data.  The
  104.     downside is that you can't evaluate the output just taking local
  105.     information into account...
  106.     (Does anyone hear soft funeral music?)
  107.     
  108. Well, since you keep pounding on this, I will point out that in most
  109. backprop-style nets after training, almost all of the hidden units are
  110. saturated almost all of the time.  So you can replace them with sharp
  111. thresholds and use the same kind of lazy evaluation at runtime that you
  112. propose for ALNs: work backwards through the tree and don't evaluate any
  113. input sub-trees that can't alter the current unit's state.
  114.  
  115. Myself, I prefer to think in terms of parallel hardware, so lazy evaluation
  116. isn't an issue.  Yes, sigmoid unit hardware is a bit more expensive to
  117. implement than simple gates, but I don't need nearly as many of them.
  118.  
  119. -- Scott
  120.  
  121. ===========================================================================
  122. Scott E. Fahlman
  123. School of Computer Science
  124. Carnegie Mellon University
  125. 5000 Forbes Avenue
  126. Pittsburgh, PA 15213
  127.  
  128. Internet: sef+@cs.cmu.edu
  129.