2004-12-20

Predictors

Main idea:
  • a predictor has an input vector (I = {i0, i1, ..., in})
  • a predictor learns patterns appearing on these inputs. A pattern can be:
    • I
    • a subset of I
    • a sequence of I's
    • a sequence of a subset of I
    • a shifted/broken up sequence of a subset of I
  • The patterns recognized are assigned a new symbol
  • a predictor has an output vector (O={o0, o1, ..., on})
  • if an input signal matches a learned pattern, the predictor outputs a new symbol representing the pattern
  • otherwise it outputs the original signal
  • the predictor also outputs a special signal to tell if it's an unrecognized or a recognized pattern on it's output vector
  • a predictor can receive a pattern which tells him what to expect on it's input (P={po, p1, ..., pn})
Some restrictions:
  • the new symbols assigned to the patterns detected must be transmitted to the output, so it's format and the output width is closely linked
  • the input must be copied to the output so we have another link
  • the prediction must be compared to the input and differences must be transmitted to the output so these also are linked
  • the width of the output vector is somehow linked also to the size of the dictionary of learned patterns, as each symbol representing a pattern must be outputtable to the output
Notes:
  • Predictors are networked: one's output is directed to the input of several others.
  • The link between predictors changes dynamically: the input slots of a predictor might change (adding new inputs, removing existing ones)
  • Patterns learned:
    • one set of inputs
    • temporal sequence of inputs
    • temporal sequence of input fragments (sub-patterns: e.g. 101xxx001)
  • Signal symbol sets can be:
    • bit {0,1}
    • int {0, 1, ..., n}
    • range [0..1]
    • big range (a..b)

Bootstrapping

I think.

I think in 5-10 years we might have machines which think too.

I think there are chances that there will be a breakthrough in the field of AI.

I think I can contribute.

There is something in the AI air. After great promises, great failures, great ideas and great disappointments we are left with ideas, approaches and piles of tried and untried approaches.

There is something in the AI air. A holistic view, a common framework, a unified theory is forming. Neuroscientists and computer programmers seems to discover and value each other.

There is something in the AI air. The existing ideas are considered and new ideas are born. And new results might emerge. I don't know what those results will be, I don't know if it's going to be a revolution or a new dead end or just marginal improvements. I don't know if those who make it happen will be considered visionary, lunatic or just plain wrong.

And I think I can contribute.