home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / ai / neuraln / 4730 < prev    next >
Encoding:
Internet Message Format  |  1993-01-07  |  4.6 KB

  1. Path: sparky!uunet!elroy.jpl.nasa.gov!usc!cs.utexas.edu!uwm.edu!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: will Cascade Correlation work in stochastic mode?
  5. Message-ID: <C0Gw28.M9E.1@cs.cmu.edu>
  6. Date: 7 Jan 93 04:49:16 GMT
  7. Article-I.D.: cs.C0Gw28.M9E.1
  8. Sender: news@cs.cmu.edu (Usenet News System)
  9. Organization: School of Computer Science, Carnegie Mellon
  10. Lines: 76
  11. Nntp-Posting-Host: sef-pmax.slisp.cs.cmu.edu
  12.  
  13.  
  14.     From: ra@cs.brown.edu (Ronny Ashar)
  15.     
  16.     However, I would prefer a more robust algorithm. I was looking at Fahlman's 
  17.     Cascade Correlation. My impression is that Cascor needs epoch training only;
  18.     it could be modified to work in stochastic mode, but, in that case, it will 
  19.     end up creating huge nets with redundant units. Is that correct?
  20.     
  21. Good question.  The answer is a bit complicated.  This probably won't make
  22. much sense to people who don't already understand the Cascor algorithm in
  23. some detail...
  24.  
  25. There is nothing inherently batch-oriented in the basic structure of
  26. Cascor.  However, the Cascor code that I distribute, and that I run myself,
  27. uses Quickprop for updating the weights both in the candidate-training
  28. phase and in the output-training phase.  Quickprop, in its current form, is
  29. inherently a batch-update algorithm: you have to run the same batch of
  30. training examples through the system multiple times to get the speedup it
  31. offers.
  32.  
  33. That batch does not necessarily have to include the whole original
  34. training set, however.  You want enough examples to get a good, stable
  35. estimate of the gradient, but not a lot more than that.  It is possible to
  36. change the training set used in quickprop from time to time, but whenever
  37. you do that you should zero out the previous-slope and previous-delta
  38. values to prevent problems.  So if the problem is that your training data
  39. set is too large and redundant, a possible solution is to choose a smaller
  40. batch size, train on that, and switch the batches occasionally.
  41.  
  42. (Martin Moller has a nice paper on choosing the batch size for his Scaled
  43. Conjugate Gradient algorithm in Neural Networks for Signal Processing 2,
  44. IEEE Press, 1992.  Similar ideas could be used with Quickprop or Cascor.)
  45.  
  46. If you want true online updating, without storing up a batch of examples,
  47. you can use the structure of Cascor, but with the Quickprop updating
  48. replaced by stochastic backprop.  If you do that, you cannot use the trick
  49. of cacheing the errors and unit values for all the cases in an epoch.  Each
  50. new sample must be allowed to propagate through the active net.  These
  51. changes will cost you a lot of speed, but you may get that back (and more)
  52. for highly redundant data sets in which per-epoch updating is terribly
  53. inefficient.  If you get impatient and quit the training phases too early,
  54. before backprop has really converged, then Cascor will indeed create too
  55. many units and generalize poorly.
  56.  
  57. When you are using stochastic backprop to do the updates, the training
  58. never reaches a truly quiescent state.  The error keeps bouncing up and
  59. down as the individual samples go by.  So you have to modify the quiescence
  60. tests that are used to terminate the training phases.  You need to take an
  61. average over many samples, and declare the training phase over when there
  62. is no change in the average error for some period of time.  Even so, there
  63. is the danger of stopping the training when the net is in a less than
  64. optimal state.  It is probably best to gradually reduce the training rate
  65. to reduce these fluctuations.
  66.  
  67. Candidate training and output training can, to some extent, be overlapped,
  68. but it is probably a good idea to run the candidate training for a while
  69. after the output weights have been frozen.  There may be a temporary,
  70. discontinuous up-tick in the network's error when you tenure a new hidden
  71. unit.  If such a glitch is worrisome, you can minimize the damage by
  72. installing the new unit with a very small (or zero) output weight.  This
  73. too will slow down training.
  74.  
  75. Sorry, I don't have any citations to published work on this topic.  All
  76. this is based on my own experience and what others have told me informally.
  77. If anyone else knows of such citations, I'd like to hear about them.
  78.  
  79. -- Scott
  80.  
  81. ===========================================================================
  82. Scott E. Fahlman            Internet:  sef+@cs.cmu.edu
  83. Senior Research Scientist        Phone:     412 268-2575
  84. School of Computer Science              Fax:       412 681-5739
  85. Carnegie Mellon University        Latitude:  40:26:33 N
  86. 5000 Forbes Avenue            Longitude: 79:56:48 W
  87. Pittsburgh, PA 15213
  88. ===========================================================================
  89.