home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / ai / neuraln / 3450 < prev    next >
Encoding:
Text File  |  1992-09-10  |  4.8 KB  |  100 lines

  1. Newsgroups: comp.ai.neural-nets
  2. Path: sparky!uunet!gatech!destroyer!ubc-cs!alberta!arms
  3. From: arms@cs.UAlberta.CA (Bill Armstrong)
  4. Subject: Re: Summary of CUPS + new question
  5. Message-ID: <arms.716190162@spedden>
  6. Sender: news@cs.UAlberta.CA (News Administrator)
  7. Nntp-Posting-Host: spedden.cs.ualberta.ca
  8. Organization: University of Alberta, Edmonton, Canada
  9. References: <BuCFut.F6t.1@cs.cmu.edu>
  10. Date: Fri, 11 Sep 1992 05:42:42 GMT
  11. Lines: 87
  12.  
  13. sef@sef1.slisp.cs.cmu.edu writes:
  14.  
  15.  
  16. >    From: jjb@sequent.com (Jeff Berkowitz)
  17. >    
  18. >    Some weeks back I posted a request for real examples of the performance
  19. >    of back propogation simulators in "backprops/second."  Bill Armstrong
  20. >    at the University of Alberta, Canada pointed out in a posting that the
  21. >    accepted unit of measurement was CUPS...
  22.  
  23. >Actually, it's a bit more complicated than this.  The cleanest form of the
  24. >backprop algorithm (called "batch" or "per-epoch" updating) does
  25. >forward/backprop cycles through the whole training set, accumulating dE/dw
  26. >for each weight.  Then all the weights are updated at once.  This gives you
  27. >the "true" error gradient, but can be slow if the training set is large and
  28. >redundant.
  29.  
  30. >An alternative form (unfortunately, the famous Rumelhart-Hinton-Williams
  31. >paper tends to muddle these two forms together) is called "stochastic",
  32. >"online", or "per-example" updating.  In this case you update the weights
  33. >by a small amount as each training example goes by.  For very small step
  34. >sizes, this amounts to the same thing; if your steps get too large, it can
  35. >lead to trouble, since several atypical samples in a row can knock you far
  36. >off course.
  37.  
  38. >People generally speak of CUPS (connection UPDATES per second) only in
  39. >connection with the second kind of algorithm.  If you're doing batch
  40. >training, a more appropriate measure is CPS (connections per second), since
  41. >the update step is outside the inner loop. 
  42.  
  43. Thanks for your very informative reply to this question Scott.  It
  44. seemed appropriate to say why it is that in training ALNs, we believe
  45. it is better to use the "per example" updating.  I think analogous
  46. comments would apply to backprop type nets, but of course the results
  47. might not have the same success as in the case of ALNs (i.e. it could
  48. be better or worse).
  49.  
  50. I think of the situation this way.  Any change of a node function in
  51. an ALN tree which results in a changed signal along a path to the
  52. output for a certain training example automatically changes the
  53. heuristic responsibilities of all subtrees feeding the "non-path"
  54. inputs of nodes along that path.  Now from that point on, the
  55. adaptation of nodes with changed heuristic responsibilities is
  56. different.  So is the adaptation of nodes on the path, because they
  57. have different inputs.
  58.  
  59. In the case of backprop, the change of a node function is replaced by
  60. a more frequent type of change, that of a weight.  A changed weight
  61. also changes the signals along a path for a given example, and hence
  62. changes the back propagated values for many nodes.  From that point
  63. on, the directions the state (weights) should change to reduce the
  64. square error may be different.
  65.  
  66. Up to this point, everything is analogous.  In both cases, we can
  67. either freeze the heuristic responsibility for a given example (or the
  68. backpropagated signal) at what it was while we look at a whole epoch,
  69. or we can let it change.  From experience, it seemed that it was
  70. beneficial in the case of ALNs not to spend the computational effort
  71. to find the best function change, i. e. the one that improves a whole
  72. epoch of patterns, but rather to keep the whole ALN changing in
  73. response to the latest state of our information, based on "per
  74. example" updating.
  75.  
  76. Why?  I'm not sure.  But I conjecture it might be due to the
  77. desirability of avoiding local minima of error.  Does one really want
  78. the ALN or MLP to cruise down into a local minimum and stay there?
  79. No.  One wants a global minimum.  But doing the computations of
  80. gradient descent more accurately, based on an entire epoch, guarantees
  81. that you come to rest at the local minimum of the valley you started
  82. in.  So why not do a faster computation that has a chance of kicking
  83. the system out of the valley you are currently in?
  84.  
  85. I should add that there are other heuristics in the ALN algorithm that
  86. are not gradient-descent type (atree release 2.7 on-line help,
  87. technical notes on the learning algorithm).  I.e. some nodes are made
  88. responsible and adaptations are caused to occur even in cases where
  89. that could increase the error.  This is quite different from the
  90. approach of adding noise to kick the system out of local minima,
  91. because the kick is given in a promising direction according to the
  92. heuristics.
  93.  
  94. Bill
  95. --
  96. ***************************************************
  97. Prof. William W. Armstrong, Computing Science Dept.
  98. University of Alberta; Edmonton, Alberta, Canada T6G 2H1
  99. arms@cs.ualberta.ca Tel(403)492 2374 FAX 492 1071
  100.