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

  1. Path: sparky!uunet!news.claremont.edu!ucivax!orion.oac.uci.edu!network.ucsd.edu!sdcc12!cs!demers
  2. From: demers@cs.ucsd.edu (David DeMers)
  3. Newsgroups: comp.ai.neural-nets
  4. Subject: Re: Reducing Training time vs Generalisation
  5. Keywords: back propagation, training, generalisation
  6. Message-ID: <36967@sdcc12.ucsd.edu>
  7. Date: 18 Aug 92 17:34:57 GMT
  8. References: <arms.714091659@spedden> <36944@sdcc12.ucsd.edu> <arms.714146123@spedden>
  9. Sender: news@sdcc12.ucsd.edu
  10. Organization: =CSE Dept., U.C. San Diego
  11. Lines: 123
  12. Nntp-Posting-Host: beowulf.ucsd.edu
  13.  
  14. In article <arms.714146123@spedden> arms@cs.UAlberta.CA (Bill Armstrong) writes:
  15.  
  16. >Here is an example of a backpropagation neural network that has very
  17. >wild behavior at some points not in the training or test sets.  
  18.  
  19. What is the training set?
  20.  
  21. ...
  22.  
  23. >We assume the net has been trained on a subset of integers and also
  24. >tested on a subset of integers.  
  25.  
  26. ...
  27.  
  28. >Below is the overall function f(x) produced by the net, which is also
  29. >the specification of what it is *supposed* to do outside the interval
  30. >(0,1).  In (0,1) the specification is to be less than 0.002 in
  31. >absolute value.
  32.  
  33. >f(x) = 40 [ 1/( 1 + e^40*(x - 1/4))  +   1/( 1 + e^-40*(x - 3/4))  -1 ]
  34.  
  35. So is the specification *exactly* this function?  Or is it
  36. a set of training data for which an approximation is desired?
  37.  
  38. >The largest deviation of our trained network f(x) from 0 on all integers is
  39.  
  40. If the spec calls for < 0.002 inside (0,1) and no values within
  41. (0,1) were used in the training set, how can you possibly
  42. end up with this function?
  43.  
  44. This is not simply a pathological example, it is completely
  45. absurd.  How is this network constructed by finding parameters 
  46. via gradient descent, or any other optimization method for
  47. finding parameters?  You have started (I presume) with an
  48. ill-behaved network.  If you begin with a set of weights
  49. such that all of the basis functions (sigmoids) are in
  50. their linear region, you can't reach this unstable point
  51. by training on data consisting of integer x values and
  52. corresponding y values (all of which are very small)
  53.  
  54. >f(0) = f(1) = 0.0018...
  55.  
  56. >So f is within 2/1000 of being 0 everywhere on our training and test
  57. >sets.  Can we be satisfied with it?  No! If we happen to give an input
  58. >of x = 1/2, we get
  59.  
  60. >f(1/2) = - 39.99...
  61.  
  62. >The magnitude of this is over 22000 times larger than anything
  63. >appearing during training and testing, and is way out of spec.
  64.  
  65. >Such unexpected values are likely to be very rare if a lot of testing
  66. >has been done on a trained net, but even then, the potential for
  67. >disaster can still be lurking in the system.  Unless neural nets are
  68. >*designed* to be safe, there may be a serious risk involved in using
  69. >them.
  70.  
  71. The "wildness" here is postulated; I still don't see how it can
  72. actually happen on your facts, that the network was trained to
  73. zero error on a training set of integer values.
  74.  
  75. >But to achieve that goal, a design methodology must be used which is
  76. >*guaranteed* to lead to a safe network.  
  77.  
  78. What is the spec?  If it is "approximate the function that
  79. generated this data set", then you need to focus on the
  80. approximation capabilities of your methods.  You can NEVER
  81. *guarantee* a "safe" result without some more knowledge
  82. of what the true function is.  You are making the assumption
  83. that safe = bounded in a particular manner.  If that's known,
  84. then why not build it in? 
  85.  
  86. >Such a methodology can be
  87. >based on decomposition of the input space into parts where the
  88. >function synthesized is forced to be monotonic in each variable. 
  89.  
  90. This can work.  CART does this; its successor MARS fits local splines. 
  91.  
  92. In the neural network framework, Mike Jordan and Robert Jacobs 
  93. are working on a generalization of modular architecture of
  94. Jacobs, Jordan, Nowlan & Hinton, which recursively splits the
  95. input space into nested regions and "learns" a mapping within
  96. each region. 
  97.  
  98. ...
  99.  
  100.  
  101. >For BP networks, I am not sure a safe design methodology can be
  102. >developed.  This is not because of the BP algorithm, per se, but
  103. >rather because of the architecture of multilayer networks with
  104. >sigmoids: *all* weights are used in computing *every* output (the
  105. >effect of zero weights having been eliminated).  Every output is
  106. >calculated using some negative and some positive weights, giving very
  107. >little hope of control over the values beyond the set of points
  108. >tested.
  109.  
  110. True, all weights are used; however, most if not all of them are
  111. not particularly important in networks used for real-world
  112. applications (handwritten digit recognition, e.g.)
  113.  
  114. Given a network and a data set, you can compute the partial 
  115. derivatives of, say, mean squared error wrt the weights, and
  116. the curvature.  You want the first partials all to be 0,
  117. and the second partials give some indication of the "contribution".
  118. See LeCun, Denker & Solla, "Optimal Brain Damage" in NIPS-2.
  119.  
  120. It is not celestial violins but the nature of compositions
  121. of ridge functions which allow me to say that a general 
  122. feedforward network is smooth, and that BP learning adapts
  123. its response surface to the training data.  
  124.  
  125. If weights are initialized such that the magnitude of
  126. the vector of weights into a unit is bounded so that the
  127. response will be in the linear region, I don't believe
  128. that gradient descent training over a data set will 
  129. result in "wild" values.  You are going to have to 
  130. show me how to do it.
  131.  
  132. -- 
  133. Dave DeMers             ddemers@UCSD   demers@cs.ucsd.edu
  134. Computer Science & Engineering    C-014        demers%cs@ucsd.bitnet
  135. UC San Diego                    ...!ucsd!cs!demers
  136. La Jolla, CA 92093-0114    (619) 534-0688, or -8187, FAX: (619) 534-7029
  137.