It’s all about deep learning these days. I previously posted a video here of a talk by Andrew Ng where one can also see unsupervised feature learning, as for example Gabor filters, ie these features are learned by the network automatically.

Skip to content
# Category: machine learning

## Jürgen Schmidhuber at AGI-2011: Fast Deep/Recurrent Nets for AGI Vision

## Meta-theoretic induction in action

### The model as a bayesian network

## Formalizing meta-theoretic induction

## Simplicity and meta-theoretic induction

## Modeling Data Streams Using Sparse Distributed Representations

It’s all about deep learning these days. I previously posted a video here of a talk by Andrew Ng where one can also see unsupervised feature learning, as for example Gabor filters, ie these features are learned by the network automatically.

In my last post I presented a simple model of meta-theoretic induction. Let’s instantiante it with concrete data and run through it. Say we have

E_{1} E_{2} E_{3} |
Observations made for different domains 1-3 |

S_{1} S_{2} S_{3} |
Simple theories for domains 1-3 |

C_{1} C_{2} C_{3} |
Complex theories for domains 1-3 |

S |
Meta-theory favoring simple theories |

C |
Meta-theory favoring complex theories |

That is, we have three domains of observation with corresponding theories. We also have two meta-theories that will produce priors on theories. The meta-theories themselves will be supported by theories’ sucesses or failures. Successes of simple theories support S, successes of complex theories support C. Now define the content of the theories through their likelihoods

E_{n} |
P(E_{n}|S_{n}) |
P(E_{n}|C_{n}) |
---|---|---|

E_{1} |
3/4 | 1/4 |

E_{2} |
3/4 | 1/4 |

E_{3} |
3/4 | 3/4 |

Given that E_{1}, E_{2} and E_{3} are evidence, this presents a scenario where theories S_{1} and S_{2} were successful, whereas theories C_{1} and C_{2} were not. S_{3} and C_{3} represent theories that are equally well supported by previous evidence (E_{3}) but with different future predictions. This is the crux of the example, where the simplicity bias enters into the picture. Our meta-theories are defined by

*P(S _{n}|S) = 3/4, *

*P(C _{n}|C) = 3/4, *

Meta-theory S favors simple theories, whereas meta-theory C favors complex theories. Finally, our priors are neutral

*P(S _{n}) = P(C_{n}) = 1/2*

*P(S) = P(C) = 1/2*

We want to process evidence E_{1 }E_{2}, and see what happens at the critical point, where S_{3} and C_{3} make the same predictions. The sequence is as follows

- Update meta theories S and C with E
_{1}and E_{2} - Produce a prior on S
_{3}and C_{3}with the updated C and S - Update S
_{3}and C_{3}with E_{3}

The last step produces probabilities for S_{3} and C_{3}; these theories make identical predictions but *will have different priors granted by S and C*. This will formalize the statement

Simpler theories are more likely to be true because they have been so in the past

Instead of doing all the above by hand (using equations **3**,**4**,**5**,**6**), it’s easier to construct the corresponding bayesian network and let some general algorithm do the work. Formulating the model this way makes it much easier to understand, in fact it seems almost trivial. Additionally, our assumptions of conditional independence (**1** and **2**) map directly into the bayesian network formalism of nodes and edges, quite convenient!

Node M represents the meta-theory, with possible values *S* and *C, *the H nodes represent theories, with possible values S_{n} and C_{n}. Note the lack of edges between H_{n} and E_{x} formalizing (**1**), and the lack of edges between M and E_{n} formalizing (**2**) (these were our assumptions of conditional independence).

I constructed this network using the SamIam tool developed at UCLA. With this tool we can construct the network and then monitor probabilities as we input data into the model, using the tool’s* Query Mode*. So let’s do that, fixing the actual outcome of the evidence nodes E1, E2 and E3 (click to enlarge)

Theories S_{1} and S_{2} make correct predictions and are thus favoured by the data over C_{1} and C_{2}. This in turn favours the meta-theory S, which is assigned a probability of 73% over meta-theory C, with 26%. Now, theories S_{3} and C_{3} make the *same* predictions about E_{3}, but because of our meta-theory being better supported, they are assigned different probabilities. Again, recall our starting point

Simpler theories are more likely to be true because they have been so in the past

We can finally state this technically, as seen here

The simple theory S_{3} is favored at 61% over C_{3} with 38%, even though they make the same predictions. In fact, we can see how this works if we look at what happens with and without meta-theoretic induction

where as expected the mirrors of S_{3} and C_{3} would be granted the same probabilities. So everything seems to work, our meta-theory discriminates different theories and is itself justified via experience, as was the objective

Occam seems like an unjustified and arbitrary principle, in effect, an unsupported bias. Surely, there should be some way to anchor this widely applicable principle on something other than arbitrary choice. We need a way to represent a meta-theory such that it favours some theories over others

andsuch that it can bejustified through observations.

**But**, what happens when we add a meta-theory like *Occam(t)* into the picture? What happens when we apply the same argument at the meta-level that prompted the meta-theoretic justitification of simplicity we’ve developed? We define a meta-theory *S-until-T* with

*P(S _{1}|S-until-T) = *

*P(S _{3}|S-until-T) = 1/4*

which yields this network

Now both S and S-until-T accrue the same probability through evidence and therefore produce the same prior on S_{3} and C_{3}, 50%. It seems we can’t escape our original problem.

Because both

OccamandOccam(t)are supported by the same amount of evidence, equal priors will be assigned to S_{3}and C_{3}. The only way out of this is forOccamandOccam(t)to have different priorsthemselves.But this leaves us back where we started!We are just recasting the original problem at the meta level, we end up begging the question[1] or in an infinite regress.

In conclusion, we have succeeded in formalizing meta-theoretic induction in a bayesian setting, and have verified that it works as intended. However, it ultimately does not solve the problem of justificating simplicity. The simplicity principle remains a prior belief independent of experience.

(The two networks used in this post are metainduction1.net and metainduction2.net, you need the SamIam tool to open these files)

[1] Simplicity is justified if we previously assume simplicity

In this post I formalize the discussion presented here, recall

Simpler theories are more likely to be true because they have been so in the past

We want to formalize this statement into something that integrates into a bayesian scheme, such that the usual inference process, updating probabilities with evidence, works. The first element we want to introduce into our model is the notion of a **meta-theory**. A meta-theory is a statement about theories, just as a theory is a statement about observations (or the world if you prefer a realist language).

As a first approximation, we could formalize meta-theories as priors over theories. In this way, a meta-theory prior, together with observations, would yield probabilities for theories through the usual updating process. This formalization is technically trivial, we just relabel priors over theories as meta-theories. But this approach does not account for the second half of the original statement

..because they have been so in the past.

As pure priors, meta-theories would never be the object of justification. We need a way to represent a meta-theory such that it favours some theories over others *and* such that it can be *justified through observations*. In order to integrate with normal theories, meta-theories must accumulate probability via conditioning on observations, just as normal theories do.

We cannot depend on or add spurious observations like “this theory was right” as a naive mechanism for updating; this would split the meta and theory level. Evidence like “this theory was right” must be embedded in existing observations, not duplicated somewhere else as a stand alone, ad-hoc ingredient.

Finally, the notion of meta-theory introduces another concept, that of distinct theory **domains**. This concept is necessary because it is through cross-theory performance that a meta-theoretical principle can emerge. No generalization or principle would be even possible if there were no different theories to begin with. Because different theories may belong to different domains, meta-theoretic induction must account for logical dependencies pertaining to distinct domains; these theories make explicit predictions only about their domain.

Summing up:

Our model will consist of observations/evidence, theories and meta-theories. Theories and corresponding observations are divided into different domains; meta-theories are theories about theories, and capture inter-theoretic dependencies (see below). Meta-theories do not make explicit predictions.

Let’s begin by introducing terms

E_{n}: An element of evidence for domain *n* [1]

*H _{n}*: A theory over domain

*M*: A meta-theory

Observations that do not pertain to a theory’s domain will be called external evidence. An important assumption in this model is that *theories are conditionally independent of external observations given a meta-theory*. This means that a theory depends on external observations only through those observation’s effects on meta-theories[2].

We start the formalization of the model with our last remark, conditional independence of theories and external observations given a meta-theory

*P(H _{n}|E_{x},M) = P(H_{n}|M) …………………… (1)*

Additionally, any evidence is conditionally independent of a meta-theory given its corresponding theory, i.e. it is theories that make predictions, meta-theories only make predictions indirectly by supporting theories.

*P(E _{n}|M,H_{n}) = P(E_{n}|H_{n}) …………………… (2)*

Now we define how a meta-theory is updated

*P(M|E _{n}) = P(E_{n}|M) * P(M) / P(E_{n}) …………………… (3)*

this is just Bayes’ theorem. The important term is the likelihood, which by the law of total probability is

*P(E _{n}|M) = P(E_{n}|M,H_{n}) * P(H_{n}|M) + P(E_{n}|M,¬H_{n}) * P(¬H_{n}|M)*

which by conditional independence (**1**)

*P(E _{n}|M) = P(E_{n}|H_{n}) * P(H_{n}|M) + P(E_{n}|¬H_{n}) * P(¬H_{n}|M) …………………… (4)*

This equation governs how a meta-theory is updated with new evidence *E _{n}*. Now to determine how the meta-theory determines a theory’s prior. Again by total probability

*P(H _{n}|E_{x}) = P(H_{n}|Ex,M) * P(M|E_{x}) + P(Hn|E_{x},¬M) * P(¬M|E_{x})*

which by conditional independence (**2**)

*P(H _{n}|E_{x}) = P(H_{n}|M) * P(M|Ex) + P(H_{n}|¬M) * P(¬M|Ex) …………………… (5)*

The following picture illustrates how evidence updates a meta-theory which in turn produces a prior. Note that evidence E1 and E2 are *external* to H3

Lastly, updating a theory based on matching evidence is, as usual

*P(H _{n}|E_{n}) = P(E_{n}|H_{n}) * P(H_{n}) / P(E_{n}) …………………… (6)*

Equations **3**,**4**,**5** and **6** are the machinery of the model through which evidence can be processed in sequence. See it in action in the next post.

[1] A given *E _{n}* represents a sequence of observations made for a domain n. So

[2] This characteristic is the meta analogue of conditional independence between observations given theories. In other words, just as *logical dependencies between observations are mediated by theories, inter-domain logical dependencies between theories are mediated by meta-theories*.

During my discussion of induction and occams razor, I have said

The key is that our intuition, in fact our intelligence in general, has a built-in

simplicity bias. We strongly favor the odd number theory because it is thesimplesttheory that fits the facts. Hence induction, including our everyday intuitions and the scientific method, is founded upon Occam’s razor as a way to discriminate between equally supported theories.

Note that I have described Occam as a simplicity *bias. *I deliberately chose this word in order to convey that simplicity is a guideline that we use *prior and independent of experience*. In the language of probability, Occam takes the form of a prior probability distribution that favors simpler theories before any updating has occured, and is unaffected by posterior evidence.

This state of affairs does not seem satisfactory; as described above, Occam seems like an unjustified and arbitrary principle, in effect, an unsupported bias. Surely, there should be some way to anchor this widely applicable principle on something other than arbitrary choice[1]. The obvious course would be to say something like this:

Simpler theories are more likely to be true because they have been so in the past

thus grounding the principle on experience, just like any other case of inductive inference and scientific knowledge. But let’s go back to the source of the problem that this principle is trying to fix. We have two theories, S and C, which make identical, correct predictions with respect to all observations made to date. These two theories only differ in their future predictions.

And yet, in practice, we consider the predictions made by S much more likely than those made by C. Because by definition these two theories share likelihoods for observed evidence, it is only through their priors that we can assign them different probabilities. Here’s where the simplicity principle comes in. We favour theory S because it is simple, hence granting it a greater prior probability and consequently a greater posterior despite its shared likelihood with C. When asking ourselves how we justify the simplcity principle, we answer

Because simple theories have been true in the past.

So the simplicity principle acts like a meta-theory and can accrue probability through experience just like any other theory. Until now, everything seems to work, but here’s the problem. Let’s say we have two guiding principles:

*Occam: *Simpler theories are more likely to be true

*Occam(t):* Simpler theories are more likely to be true until time t

Whatever the mechanism by which the simplicity meta-theory accumulates posterior probability, so shall its peculiar brother, and in the same exact amount. When going back to our two theories, S and C, *Occam* will favour S while* Occam(t)* will favour C. Because both *Occam* and *Occam(t)* are supported by the same amount of evidence, equal priors will be assigned to S and C. The only way out of this is for *Occam* and *Occam(t)* to have different priors *themselves. *But this leaves us back where we started!

So in conclusion, if we try to solve the problem with

Simpler theories are more likely to be true because they have been so in the past

we are just recasting the original problem at the meta level, we end up begging the question[2] or in an infinite regress. Which should not really come as a surprise, there is no way to justify knowledge absolutely, there must be unjustified assumptions somewhere. In my point of view, Occam is such a bedrock

The way I see it, the foundations of scientific knowledge are the postulates of probability theory (as derived for example by Bernardo-Smith or Cox) together with

Occam’s razor.

Please see my next post where I formalize meta-theoretic induction

[1] In essence, this is the problem of induction, which dates back to Hume who first posed it in its original form.

[2] The future is like the past because in the past, the future was like the past

I’ve seen several presentations and talks on HTM’s but this sums up the basics quite clearly (in the context of Grok)