home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / ai / neuraln / 2940 < prev    next >
Encoding:
Text File  |  1992-07-25  |  7.5 KB  |  148 lines

  1. Newsgroups: comp.ai.neural-nets
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!caen!destroyer!ubc-cs!unixg.ubc.ca!kakwa.ucs.ualberta.ca!alberta!arms
  3. From: arms@cs.UAlberta.CA (Bill Armstrong)
  4. Subject: Re: Correctness of NNs
  5. Message-ID: <arms.712022732@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: <10088@baird.cs.strath.ac.uk>
  10. Date: Sat, 25 Jul 1992 00:05:32 GMT
  11. Lines: 135
  12.  
  13. robert@cs.strath.ac.uk (Robert B Lambert) writes:
  14.  
  15.  
  16. >This query is directed to Prof. Armstrong, although I would be interested in
  17. >opinions in general.
  18.  
  19. >Coming from a vision background, I was puzzled after reading Prof. Armstrong's
  20. >posting on the reliability of neural networks. Surely to be able to state that
  21. >network X is 100% reliable, the entire input set must be known. From experience,
  22. >any pattern recognition task which has a fully defined input set with 
  23. >appropriate responses can most easily be solved with a look-up table. 
  24.  
  25. Two points: 
  26.  
  27. If you define what you want by a set of input-output pairs,
  28. you could *define* a "satisfactory" output for a given input not in the
  29. training set by saying it varies only so-and so much from the output
  30. on a neighboring input.  This can be quantified in many ways.
  31.  
  32. You are right, in theory, about table look up.  But try to do that for
  33. a 32*32 grid of pixels.  You would have to store 2^1024 values, which
  34. is not possible in this physical universe, and certainly is not
  35. economical.  This is typical of high-dimensional problems.
  36.  
  37. So you can't store all outputs, you have to do some things by
  38. "generalization" of some kind, based on a stored state derived form
  39. some "training set", say.
  40.  
  41. >I had thought that the principal strength of neural networks (including the
  42. >brain) was the ability to form adaptive responses/rules based on a subset of 
  43. >all possible system inputs. If responses are wrong, a neural network has the
  44. >ability to correct itself, whilst improving its response rate on subsequent
  45. >new inputs.
  46.  
  47. Sounds ok.  But, between the lines I read that you think you could
  48. correct any errors on huge input spaces like the 2^1024  - sized one
  49. above.  That can't be done, in general, simply because you don't have
  50. enough memory to do it.  Certain functions you will never be able to
  51. compute in our universe.
  52.  
  53. >With respect to safety in critical applications, how do you prove a system to
  54. >be correct? You first have to determine every possible input to that system.
  55.  
  56. I agree, you have to specify a superset of the inputs you can get.
  57.  
  58. >A great deal of time and money has gone into developing tools for proving the 
  59. >correctness of software. The general opinion of the researchers in this field 
  60. >is that for practical real time applications, it is not feasible to prove 
  61. >software correct, no matter how critical the application. The same problem 
  62. >applies to computer hardware. Many companies will only use a particular 
  63. >component years after it has been introduced, assuming that any faults will 
  64. >have surfaced and been corrected in that time. The probability of an error is 
  65. >small, but exists.
  66.  
  67. Some people believe in formal methods, and the Z and VDM people would
  68. possibly be of the opinion that it is healthful to at least try a
  69. formal spec of software and hence a possible proof of correctness.
  70. Neglecting that point of view, which I don't want to take issue with,
  71. there is still a kind of informal proof that a software person goes
  72. through in his head, a reasoning that is followed in walk-throughs of
  73. code, that could result in shortcomings being detected.  The point I
  74. want to make is that testing on a set of cases by itself is *never*
  75. enough.  Why?  Just make a table of the outputs for the test cases.
  76. The table always tests perfectly, yet is not correct elsewhere.
  77.  
  78. >It is never possible to eliminate errors from any real system no matter how
  79. >good it looks on paper. The current approach to this problem is redundancy.
  80. >Build a number of systems from different component running different software
  81. >and make sure they all produce the same response during use. Is this not one
  82. >of the strengths of NNs? If a cell fails or a connection is broken, the 
  83. >degradation of the response to each input is slight.
  84.  
  85. Sounds great, but doesn't work.  There is a probability greater than
  86. zero in a large network that you will get very ungraceful behavior.
  87. Sure you can make seven systems and take a majority vote.  There is
  88. still the chance of all of them being wrong together.  If this is
  89. remote, maybe some people would accept it. Fine.  That is a design
  90. methodology too.  But what if you could be sure that all of a
  91. network's outputs are within spec.  Wouldn't that be better?
  92.  
  93. I think your statement about "slight" degradation is quite wrong.  You
  94. Should be able to cook up cases where one connection being wrong
  95. throws off a whole net.  For example, if an output unit has a weight
  96. that erroneously acts twice as large as it should be, you may not have
  97. such a graceful degredation.  I know people say these things, but
  98. maybe that's to get funding from the agencies, or contracts from
  99. companies.  Otherwise, we should be able to recognize a half-truth
  100. when we see one, and not be misled.
  101.  
  102. >Neural networks, like fuzzy logic have the advantage of being able to produce
  103. >sensible responses to new inputs. In handwritten OCR for example, reading a 
  104. >character at a time be it by a human, ANN, or some other technique, must give 
  105. >recognition rate of less than 100%. Everyone writes differently and no system
  106. >could be trained on examples of every human beings writing. The error rate can 
  107. >be reduced if context is included, but not removed. If the NN is correctly 
  108. >designed, ambiguous characters can at least be highlighted and alternatives 
  109. >suggested with appropriate weightings.
  110.  
  111. Sometimes.  But how can you claim that x-technology is able to produce
  112. sensible responses to new inputs as a genral rule?  Show me a proof,
  113. say that fuzzy logic always produces sensible responses to new inputs,
  114. and I'll eat my hat.  First, there's a complete, all encompassing
  115. definition of "sensible", then....
  116.  
  117. >When an ANN misclassified an input, how close is the generated response to the
  118. >correct response. From my experience the differences are small.
  119.  
  120. Play on words.  One HIV virus is pretty small too, but if the cost is your
  121. life, then you haven't got good enough protection.
  122.  
  123.  Personally I
  124. >feel a lot happier with a pilot (with their NN which makes mistakes) flying an
  125. >air-craft rather than a computer. When the unforeseen event occurs, the pilot 
  126. >can make a choice based on experience which has a chance of being correct. If 
  127. >the computer is exposed to an unforeseen event, the air-craft will almost 
  128. >certainly crash.
  129.  
  130. All the verbiage about "small" errors, what you consider "sensible", and
  131. what aircraft you are willing to fly on will seem pretty insignificant if
  132. you are the one who knowingly uses an unsafe design technique if there
  133. is a safe alternative.
  134.  
  135. For those who are just getting into the discussion: please do not
  136. think that ALNs are safe but BP nets aren't.  Both can produce
  137. unexpected values not detected by testing.  I intend to show that ALNs
  138. can be used with a design methodology that will lead to safe systems.
  139. I will leave it up to the BP people to worry about the safety of their
  140. systems.  Up to now, it seems they won't even admit there is a
  141. problem.
  142.  
  143. --
  144. ***************************************************
  145. Prof. William W. Armstrong, Computing Science Dept.
  146. University of Alberta; Edmonton, Alberta, Canada T6G 2H1
  147. arms@cs.ualberta.ca Tel(403)492 2374 FAX 492 1071
  148.