Dr. Mark Humphrys

School of Computing. Dublin City University.

Online coding site: Ancient Brain

coders   JavaScript worlds

Search:

Free AI exercises


The Neural Network data structure - motivation

From considering a computational approach to learning a function from exemplars, and considering the problems with a prediction machine based on a distance metric, we have developed a "wish list" for our data structure.

Neural Networks are a type of data structure that address most of this wish list. They:

  1. can represent a function f from real-valued multi-dimensional input to real-valued multi-dimensional output,
  2. can learn a general non-linear, continuous, non-chaotic function
  3. can learn which parts of the input are important and which are not (can weigh input dimensions differently),
  4. can remove entirely parts of the input that are not important (set weight to zero),
  5. can build up the representation from scratch based only on seeing exemplars,

  6. can do this in a fixed-size data structure, that remains fixed in size as the representation improves, [Fixed memory cost]
  7. can return an answer quickly to a given input without having to examine every past exemplar (i.e. the past exemplars are effectively encoded in the current definition of f - instead of having a huge list of past exemplars growing without limit), [Low computational cost]
  8. can return an answer in a finite time (in fact, in exactly the same time for all inputs), [Fixed computational cost]
  9. can return an answer for inputs never seen before (i.e. can make predictions),
  10. represent a behaviour-generating module from the start (i.e. we don't gather exemplars and then run a statistical analysis on them - instead we always have a definition of f, which can return an answer at any time).

You may have heard of Neural Networks because they have been advertised as "a type of program that can learn". But they are far more than that. Traditional programs can learn too. Neural Networks have some very specific features (above) that mean they can be used for this problem.





Optical character recognition (OCR)

An example of a problem where we can get many (input,output) exemplar pairs, but it is hard to figure out the function that relates input to output.

Optical character recognition (OCR) of printed books should be easier than recognition of handwriting.




Page of an 18th century book.



A typically inaccurate OCR transcript of the above.
Note the points where it has trouble.





What is memory? How does the brain use its experience?

The neural network approach leads to thinking about the kind of "machines" constructed in the brain.

Example - How do you play chess?


Human playing chess:

Experienced human uses no.1 and no.3. A no.3 layer generating suggestions for a "sanity check" no.1 layer to analyse. To make a move, you get 10 ideas (from where? mysterious subconscious layer) and run them through your no.1 layer to see which work.


Computer playing chess:

Computer chess program can do all of these, with many of the same issues as human doing them.




"no.3" in pattern recognition

Similar issues in pattern recognition (like vision).
Do we have explicit memories? Maybe not.

It is easier to recognise a familiar person (no.3)
than the no.2 version, which is draw them, or explain to a person what they look like (e.g. police sketch artist).



What could a "no.3" program look like?

Imagine character recognition as a rule-based program:
IF pixel 0 = white AND pixel 1 = black AND ....
OR if pixel 0 = white AND pixel 1 = white AND ....
OR if ...
then return "3"

ELSE if pixel 0 = white AND ...
OR if ....
then return "5"

ELSE if ...
And so on.
At worst this could enumerate all possible images - maybe trillions of lines of code.
Maybe it could reduce those numbers with use of OR statements covering big groups. But still a massive program.

The neural network will, when finished, embody a function similar in some ways but in fact even less comprehensible.



ancientbrain.com      w2mind.org      humphrysfamilytree.com

On the Internet since 1987.      New 250 G VPS server.

Note: Links on this site to user-generated content like Wikipedia are highlighted in red as possibly unreliable. My view is that such links are highly useful but flawed.