[agi] The Wrong Stuff (Norvig interview)

2010-08-04 Thread A. T. Murray
The Wrong Stuff : Error Message: Google Research Director 
Peter Norbig on Being Wrong

http://bit.ly/cQpUpx

translates to

http://www.slate.com/blogs/blogs/thewrongstuff/archive/2010/08/03/error-message-google-research-director-peter-norvig-on-being-wrong.aspx



---
agi
Archives: https://www.listbox.com/member/archive/303/=now
RSS Feed: https://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=8660244&id_secret=8660244-6e7fb59c
Powered by Listbox: http://www.listbox.com


Re: [agi] Comments On My Skepticism of Solomonoff Induction

2010-08-04 Thread Abram Demski
Jim,

Your function may be convergent but it is not a probability.
>

True! All the possibilities sum to less than 1. There are ways of addressing
this (ie, multiply by a normalizing constant which must also be approximated
in a convergent manner), but for the most part adherents of Solomonoff
induction don't worry about this too much. What we care about, mostly, is
comparing different hyotheses to decide which to favor. The normalizing
constant doesn't help us here, so it usually isn't mentioned.

You said that Solomonoff's original construction involved flipping a coin
> for the next bit.  What good does that do?


Your intuition is that running totally random programs to get predictions
will just produce garbage, and that is fine. The idea of Solomonoff
induction, though, is that it will produce systematically less garbage than
just flipping coins to get predictions. Most of the garbage programs will be
knocked out of the running by the data itself. This is supposed to be the
least garbage we can manage without domain-specific knowledge

This is backed up with the proof of dominance, which we haven't talked about
yet, but which is really the key argument for the optimality of Solomonoff
induction.

And how does that prove that his original idea was convergent?


The proofs of equivalence between all the different formulations of
Solomonoff induction are something I haven't cared to look into too deeply.

Since his idea is incomputable, there are no algorithms that can be run to
> demonstrate what he was talking about so the basic idea is papered with all
> sorts of unverifiable approximations.


I gave you a proof of convergence for one such approximation, and if you
wish I can modify it to include a normalizing constant to ensure that it is
a probability measure. It would be helpful to me if your criticisms were
more specific to that proof.

So, did Solomonoff's original idea involve randomizing whether the next bit
> would be a 1 or a 0 in the program?
>

Yep.

Even ignoring the halting problem what kind of result would that give?
>

Well, the general idea is this. An even distribution intuitively represents
lack of knowledge. An even distribution over possible data fails horribly,
however, predicting white noise. We want to represent the idea that we are
very ignorant of what the data might be, but not *that* ignorant. To capture
the idea of regularity, ie, similarity between past and future, we instead
take an even distribution over *descriptions* of the data. (The distribution
in the 2nd version of solomonoff induction that I gave, the one in which the
space of possible programs is represented as a continuum, is an even
distribution.) This appears to provide a good amount of regularity without
too much.

--Abram

On Wed, Aug 4, 2010 at 8:10 PM, Jim Bromer  wrote:

> Abram,
> Thanks for the explanation.  I still don't get it.  Your function may be
> convergent but it is not a probability.  You said that Solomonoff's original
> construction involved flipping a coin for the next bit.  What good does that
> do?  And how does that prove that his original idea was convergent?  The
> thing that is wrong with these explanations is that they are not coherent.
> Since his idea is incomputable, there are no algorithms that can be run to
> demonstrate what he was talking about so the basic idea is papered with all
> sorts of unverifiable approximations.
>
> So, did Solomonoff's original idea involve randomizing whether the next bit
> would be a 1 or a 0 in the program?  Even ignoring the halting problem what
> kind of result would that give?  Have you ever solved the problem for
> some strings and have you ever tested the solutions using a simulation?
>
> Jim Bromer
>
> On Mon, Aug 2, 2010 at 5:12 PM, Abram Demski wrote:
>
>> Jim,
>>
>> Interestingly, the formalization of Solomonoff induction I'm most familiar
>> with uses a construction that relates the space of programs with the real
>> numbers just as you say. This formulation may be due to Solomonoff, or
>> perhaps Hutter... not sure. I re-formulated it to "gloss over" that in order
>> to make it simpler; I'm pretty sure the version I gave is equivalent in the
>> relevant aspects. However, some notes on the original construction.
>>
>> Programs are created by flipping coins to come up with the 1s and 0s. We
>> are to think of it like this: whenever the computer reaches the end of the
>> program and tries to continue on, we flip a coin to decide what the next bit
>> of the program will be. We keep doing this for as long as the computer wants
>> more bits of instruction.
>>
>> This framework makes room for infinitely long programs, but makes them
>> infinitely improbable-- formally, they have probability 0. (We could alter
>> the setup to allow them an infinitesimal probability.) Intuitively, this
>> means that if we keep flipping a coin to tell the computer what to do,
>> eventually we will either create an infinite loop-back (so the computer
>> keeps execu

Re: [agi] Shhh!

2010-08-04 Thread Jim Bromer
I meant I am able to construct an algorithm that is capable of reaching
every expansion of a real number given infinite resources.  However, the
algorithm is never able to write any of them completely since they are all
infinite.  So in one sense, no computation is able to write any real number,
but in the other sense, the program will, given enough time, eventually
start writing out any real number.  Since the infinite must be an ongoing
process I can say that the algorithm is capable of reaching any real number
although it will never complete any of them.
Jim Bromer



---
agi
Archives: https://www.listbox.com/member/archive/303/=now
RSS Feed: https://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=8660244&id_secret=8660244-6e7fb59c
Powered by Listbox: http://www.listbox.com


Re: [agi] Comments On My Skepticism of Solomonoff Induction

2010-08-04 Thread Jim Bromer
Abram,
Thanks for the explanation.  I still don't get it.  Your function may be
convergent but it is not a probability.  You said that Solomonoff's original
construction involved flipping a coin for the next bit.  What good does that
do?  And how does that prove that his original idea was convergent?  The
thing that is wrong with these explanations is that they are not coherent.
Since his idea is incomputable, there are no algorithms that can be run to
demonstrate what he was talking about so the basic idea is papered with all
sorts of unverifiable approximations.

So, did Solomonoff's original idea involve randomizing whether the next bit
would be a 1 or a 0 in the program?  Even ignoring the halting problem what
kind of result would that give?  Have you ever solved the problem for
some strings and have you ever tested the solutions using a simulation?

Jim Bromer

On Mon, Aug 2, 2010 at 5:12 PM, Abram Demski  wrote:

> Jim,
>
> Interestingly, the formalization of Solomonoff induction I'm most familiar
> with uses a construction that relates the space of programs with the real
> numbers just as you say. This formulation may be due to Solomonoff, or
> perhaps Hutter... not sure. I re-formulated it to "gloss over" that in order
> to make it simpler; I'm pretty sure the version I gave is equivalent in the
> relevant aspects. However, some notes on the original construction.
>
> Programs are created by flipping coins to come up with the 1s and 0s. We
> are to think of it like this: whenever the computer reaches the end of the
> program and tries to continue on, we flip a coin to decide what the next bit
> of the program will be. We keep doing this for as long as the computer wants
> more bits of instruction.
>
> This framework makes room for infinitely long programs, but makes them
> infinitely improbable-- formally, they have probability 0. (We could alter
> the setup to allow them an infinitesimal probability.) Intuitively, this
> means that if we keep flipping a coin to tell the computer what to do,
> eventually we will either create an infinite loop-back (so the computer
> keeps executing the already-written parts of the program and never asks for
> more) or write out the "HALT" command. Avoiding doing one or the other
> forever is just too improbable.
>
> This also means all real numbers are output by some program! It just may be
> one which is infinitely long.
>
> However, all the programs that "slip past" my time bound as T increases to
> infinity will have measure 0, meaning they don't add anything to the sum.
> This means the convergence is unaffected.
>
> Note: in this construction, program space is *still* a well-defined entity.
>
> --Abram
>
> On Sun, Aug 1, 2010 at 9:05 PM, Jim Bromer  wrote:
>
>> Abram,
>>
>> This is a very interesting function.  I have spent a lot of time thinking
>> about it.  However, I do not believe that does, in any way, prove or
>> indicate that Solomonoff Induction is convergent.  I want to discuss the
>> function but I need to take more time to study some stuff and to work
>> various details out.  (Although I have thought a lot about it, I am writing
>> this under a sense of deadline, so it may not be well composed.)
>>
>>
>>
>> My argument was that Solomonoff's conjecture, which was based (as far as I
>> can tell) on 'all possible programs', was fundamentally flawed because the
>> idea of 'all possible programs' is not a programmable definition.  All
>> possible programs is a domain, not a class of programs that can be feasibly
>> defined in the form of an algorithm that could 'reach' all the programs.
>>
>>
>>
>> The domain of all possible programs is trans-infinite just as the domain
>> of irrational numbers are.  Why do I believe this?  Because if we imagine
>> that infinite algorithms are computable, then we could compute irrational
>> numbers.  That is, there are programs that, given infinite resources,
>> could compute irrational numbers.  We can use the binomial theorem, for
>> example to compute the square root of 2.  And we can use trial and error
>> methods to compute the nth root of any number.  So that proves that there
>> are infinite irrational numbers that can be computed by algorithms that run
>> for infinity.
>>
>>
>>
>> So what does this have to do with Solomonoff's conjecture of all possible
>> programs?  Well, if I could prove that any individual irrational number
>> could be computed (with programs that ran through infinity) then I might be
>> able to prove that there are trans-infinite programs.  If I could prove
>> that some trans-infinite subset of irrational numbers could be computed then
>> I might be able to prove that 'all possible programs' is a trans-infinite
>> class.
>>
>>
>> Now Abram said that since his sum, based on runtime and program length, is
>> convergent it can prove that Solomonoff Induction is convergent.  Even
>> assuming that his convergent sum method could be fixed up a little, I
>> suspect that this time-length bound is mi

Re: [agi] Computer Vision not as hard as I thought!

2010-08-04 Thread David Jones
On Wed, Aug 4, 2010 at 6:17 PM, Steve Richfield
wrote:

> David,
>
> On Wed, Aug 4, 2010 at 1:45 PM, David Jones  wrote:
>
>>
>> Understanding what you are trying to accomplish and how you want the
>> system to work comes first, not math.
>>
>
> It's all the same. First comes the qualitative, then comes the
> quantitative.
>
>>
>> If your neural net doesn't require training data,
>
>
> Sure it needs training data -real-world interactive sensory input training
> data, rather than static manually prepared training data.
>

You design is not described well enough or succinctly enough for me to
comment on then.


>
> I don't understand how it works or why you expect it to do what you want it
>> to do if it is "self organized". How do you tell it how to process inputs
>> correctly? What guides the processing and analysis?
>>
>
> Bingo - you have just hit on THE great challenge in AI/AGI., and the source
> of much past debate. Some believe in maximizing the information content of
> the output. Some believe in other figures of merit, e.g. success in
> interacting with a test environment, success in forming a layered structure,
> etc. This particular sub-field is still WIDE open and waiting for some good
> answers.
>
> Note that this same problem presents itself, regardless of approach, e.g.
> AGI.
>

Ah, but I think that this problem is much more solvable and better defined
with a more deliberate approach that does not depend on emergence. Emergence
is wishful thinking. I hope you do not include such wishful thinking in your
design :)

Once the AI has the tools and knowledge needed to solve a problem, which I
expect to get from computer vision, then it can reason about user stated
goals (in natural language) and we can work on how the goal pursuit part
works. Much work has already been done on planning and execution. But, all
that work was done with insufficient knowledge on narrow problems. All the
research needs to be re-evaluated and studied with sufficient knowledge
about the world. It changes everything. This is another mile marker on my
roadmap to general AI.

Dave



---
agi
Archives: https://www.listbox.com/member/archive/303/=now
RSS Feed: https://www.listbox.com/member/archive/rss/303/
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=8660244&id_secret=8660244-6e7fb59c
Powered by Listbox: http://www.listbox.com


Re: [agi] Computer Vision not as hard as I thought!

2010-08-04 Thread Steve Richfield
David,

On Wed, Aug 4, 2010 at 1:45 PM, David Jones  wrote:

>
> Understanding what you are trying to accomplish and how you want the system
> to work comes first, not math.
>

It's all the same. First comes the qualitative, then comes the quantitative.


>
> If your neural net doesn't require training data,


Sure it needs training data -real-world interactive sensory input training
data, rather than static manually prepared training data.

I don't understand how it works or why you expect it to do what you want it
> to do if it is "self organized". How do you tell it how to process inputs
> correctly? What guides the processing and analysis?
>

Bingo - you have just hit on THE great challenge in AI/AGI., and the source
of much past debate. Some believe in maximizing the information content of
the output. Some believe in other figures of merit, e.g. success in
interacting with a test environment, success in forming a layered structure,
etc. This particular sub-field is still WIDE open and waiting for some good
answers.

Note that this same problem presents itself, regardless of approach, e.g.
AGI.

Steve
===

>
> On Wed, Aug 4, 2010 at 4:33 PM, Steve Richfield  > wrote:
>
>> David
>>
>> On Wed, Aug 4, 2010 at 1:16 PM, David Jones wrote:
>>
>>> 3) requires manually created training data, which is a major problem.
>>
>>
>> Where did this come from. Certainly, people are ill equipped to create
>> dP/dt type data. These would have to come from sensors.
>>
>
>>
>>> 4) is designed with biological hardware in mind, not necessarily existing
>>> hardware and software.
>>>
>>
>> The biology is just good to help the math over some humps. So far, I have
>> not been able to identify ANY neuronal characteristic that hasn't been
>> refined to near-perfection, once the true functionality was fully
>> understood.
>>
>> Anyway, with the math, you can build a system anyway you want. Without the
>> math, you are just wasting your time and electricity. The math comes first,
>> and all other things follow.
>>
>> Steve
>> ===
>>
>>>
>>> These are my main reasons, at least that I can remember, that I avoid
>>> biologically inspired methods. It's not to say that they are wrong. But they
>>> don't meet my requirements. It is also very unclear how to implement the
>>> system and make it work. My approach is very deliberate, so the steps
>>> required to make it work are pretty clear to me.
>>>
>>> It is not that your approach is bad. It is just different and I really
>>> prefer methods that are not biologically inspired, but are designed
>>> specifically with goals and requirements in mind as the most important
>>> design motivator.
>>>
>>> Dave
>>>
>>> On Wed, Aug 4, 2010 at 3:54 PM, Steve Richfield <
>>> steve.richfi...@gmail.com> wrote:
>>>
 David,

 You are correct in that I keep bad company. My approach to NNs is VERY
 different than other people's approaches. I insist on reasonable math being
 performed on quantities that I understand, which sets me apart from just
 about everyone else.

 Your "neat" approach isn't all that neat, and is arguably scruffier than
 mine. At least I have SOME math to back up my approach. Further, note that
 we are self-organizing systems, and that this process is poorly understood.
 I am NOT particularly interest in people-programmed systems because of 
 their
 very fundamental limitations. Yes, self-organization is messy, but it fits
 the "neat" definition better than it meets the "scruffy" definition. 
 Scruffy
 has more to do with people-programmed ad hoc approaches (like most of AGI),
 which I agree are a waste of time.

 Steve
 
 On Wed, Aug 4, 2010 at 12:43 PM, David Jones wrote:

> Steve,
>
> I wouldn't say that's an accurate description of what I wrote. What a
> wrote was a way to think about how to solve computer vision.
>
> My approach to artificial intelligence is a "Neat" approach. See
> http://en.wikipedia.org/wiki/Neats_vs._scruffies The paper you
> attached is a "Scruffy" approach. Neat approaches are characterized by
> deliberate algorithms that are analogous to the problem and can sometimes 
> be
> shown to be provably correct. An example of a Neat approach is the use of
> features in the paper I mentioned. One can describe why the features are
> calculated and manipulated the way they are. An example of a scruffies
> approach would be neural nets, where you don't know the rules by which it
> comes up with an answer and such approaches are not very scalable. Neural
> nets require manually created training data and the knowledge generated is
> not in a form that can be used for other tasks. The knowledge isn't
> portable.
>
> I also wouldn't say I switched from absolute values to rates of change.
> That's not really at all what I'm saying here.
>
> Dave
>
> O

Re: [agi] Computer Vision not as hard as I thought!

2010-08-04 Thread David Jones
Steve,

I replace your need for math with my need to understand what the system is
doing and why it is doing it. It's basically the same thing. But you are
approaching it at an extremely low level. It doesn't seem to me that you are
clear on how this "math" makes the system work the way we want it to work.
So, make the math as perfect as you like, if you don't understand why you
need the math and how it makes the system do what you want, then it's not
going to do you any good.

Understanding what you are trying to accomplish and how you want the system
to work comes first, not math.

If your neural net doesn't require training data, I don't understand how it
works or why you expect it to do what you want it to do if it is "self
organized". How do you tell it how to process inputs correctly? What guides
the processing and analysis?

Dave

On Wed, Aug 4, 2010 at 4:33 PM, Steve Richfield
wrote:

> David
>
> On Wed, Aug 4, 2010 at 1:16 PM, David Jones  wrote:
>
>> 3) requires manually created training data, which is a major problem.
>
>
> Where did this come from. Certainly, people are ill equipped to create
> dP/dt type data. These would have to come from sensors.
>

>
>> 4) is designed with biological hardware in mind, not necessarily existing
>> hardware and software.
>>
>
> The biology is just good to help the math over some humps. So far, I have
> not been able to identify ANY neuronal characteristic that hasn't been
> refined to near-perfection, once the true functionality was fully
> understood.
>
> Anyway, with the math, you can build a system anyway you want. Without the
> math, you are just wasting your time and electricity. The math comes first,
> and all other things follow.
>
> Steve
> ===
>
>>
>> These are my main reasons, at least that I can remember, that I avoid
>> biologically inspired methods. It's not to say that they are wrong. But they
>> don't meet my requirements. It is also very unclear how to implement the
>> system and make it work. My approach is very deliberate, so the steps
>> required to make it work are pretty clear to me.
>>
>> It is not that your approach is bad. It is just different and I really
>> prefer methods that are not biologically inspired, but are designed
>> specifically with goals and requirements in mind as the most important
>> design motivator.
>>
>> Dave
>>
>> On Wed, Aug 4, 2010 at 3:54 PM, Steve Richfield <
>> steve.richfi...@gmail.com> wrote:
>>
>>> David,
>>>
>>> You are correct in that I keep bad company. My approach to NNs is VERY
>>> different than other people's approaches. I insist on reasonable math being
>>> performed on quantities that I understand, which sets me apart from just
>>> about everyone else.
>>>
>>> Your "neat" approach isn't all that neat, and is arguably scruffier than
>>> mine. At least I have SOME math to back up my approach. Further, note that
>>> we are self-organizing systems, and that this process is poorly understood.
>>> I am NOT particularly interest in people-programmed systems because of their
>>> very fundamental limitations. Yes, self-organization is messy, but it fits
>>> the "neat" definition better than it meets the "scruffy" definition. Scruffy
>>> has more to do with people-programmed ad hoc approaches (like most of AGI),
>>> which I agree are a waste of time.
>>>
>>> Steve
>>> 
>>> On Wed, Aug 4, 2010 at 12:43 PM, David Jones wrote:
>>>
 Steve,

 I wouldn't say that's an accurate description of what I wrote. What a
 wrote was a way to think about how to solve computer vision.

 My approach to artificial intelligence is a "Neat" approach. See
 http://en.wikipedia.org/wiki/Neats_vs._scruffies The paper you attached
 is a "Scruffy" approach. Neat approaches are characterized by deliberate
 algorithms that are analogous to the problem and can sometimes be shown to
 be provably correct. An example of a Neat approach is the use of features 
 in
 the paper I mentioned. One can describe why the features are calculated and
 manipulated the way they are. An example of a scruffies approach would be
 neural nets, where you don't know the rules by which it comes up with an
 answer and such approaches are not very scalable. Neural nets require
 manually created training data and the knowledge generated is not in a form
 that can be used for other tasks. The knowledge isn't portable.

 I also wouldn't say I switched from absolute values to rates of change.
 That's not really at all what I'm saying here.

 Dave

 On Wed, Aug 4, 2010 at 2:32 PM, Steve Richfield <
 steve.richfi...@gmail.com> wrote:

> David,
>
> It appears that you may have reinvented the wheel. See the attached
> article. There is LOTS of evidence, along with some good math, suggesting
> that our brains work on rates of change rather than absolute values. Then,
> temporal learning, which is otherwise very diff

Re: [agi] Computer Vision not as hard as I thought!

2010-08-04 Thread Steve Richfield
David

On Wed, Aug 4, 2010 at 1:16 PM, David Jones  wrote:

> 3) requires manually created training data, which is a major problem.


Where did this come from. Certainly, people are ill equipped to create dP/dt
type data. These would have to come from sensors.


> 4) is designed with biological hardware in mind, not necessarily existing
> hardware and software.
>

The biology is just good to help the math over some humps. So far, I have
not been able to identify ANY neuronal characteristic that hasn't been
refined to near-perfection, once the true functionality was fully
understood.

Anyway, with the math, you can build a system anyway you want. Without the
math, you are just wasting your time and electricity. The math comes first,
and all other things follow.

Steve
===

>
> These are my main reasons, at least that I can remember, that I avoid
> biologically inspired methods. It's not to say that they are wrong. But they
> don't meet my requirements. It is also very unclear how to implement the
> system and make it work. My approach is very deliberate, so the steps
> required to make it work are pretty clear to me.
>
> It is not that your approach is bad. It is just different and I really
> prefer methods that are not biologically inspired, but are designed
> specifically with goals and requirements in mind as the most important
> design motivator.
>
> Dave
>
> On Wed, Aug 4, 2010 at 3:54 PM, Steve Richfield  > wrote:
>
>> David,
>>
>> You are correct in that I keep bad company. My approach to NNs is VERY
>> different than other people's approaches. I insist on reasonable math being
>> performed on quantities that I understand, which sets me apart from just
>> about everyone else.
>>
>> Your "neat" approach isn't all that neat, and is arguably scruffier than
>> mine. At least I have SOME math to back up my approach. Further, note that
>> we are self-organizing systems, and that this process is poorly understood.
>> I am NOT particularly interest in people-programmed systems because of their
>> very fundamental limitations. Yes, self-organization is messy, but it fits
>> the "neat" definition better than it meets the "scruffy" definition. Scruffy
>> has more to do with people-programmed ad hoc approaches (like most of AGI),
>> which I agree are a waste of time.
>>
>> Steve
>> 
>> On Wed, Aug 4, 2010 at 12:43 PM, David Jones wrote:
>>
>>> Steve,
>>>
>>> I wouldn't say that's an accurate description of what I wrote. What a
>>> wrote was a way to think about how to solve computer vision.
>>>
>>> My approach to artificial intelligence is a "Neat" approach. See
>>> http://en.wikipedia.org/wiki/Neats_vs._scruffies The paper you attached
>>> is a "Scruffy" approach. Neat approaches are characterized by deliberate
>>> algorithms that are analogous to the problem and can sometimes be shown to
>>> be provably correct. An example of a Neat approach is the use of features in
>>> the paper I mentioned. One can describe why the features are calculated and
>>> manipulated the way they are. An example of a scruffies approach would be
>>> neural nets, where you don't know the rules by which it comes up with an
>>> answer and such approaches are not very scalable. Neural nets require
>>> manually created training data and the knowledge generated is not in a form
>>> that can be used for other tasks. The knowledge isn't portable.
>>>
>>> I also wouldn't say I switched from absolute values to rates of change.
>>> That's not really at all what I'm saying here.
>>>
>>> Dave
>>>
>>> On Wed, Aug 4, 2010 at 2:32 PM, Steve Richfield <
>>> steve.richfi...@gmail.com> wrote:
>>>
 David,

 It appears that you may have reinvented the wheel. See the attached
 article. There is LOTS of evidence, along with some good math, suggesting
 that our brains work on rates of change rather than absolute values. Then,
 temporal learning, which is otherwise very difficult, falls out as the
 easiest of things to do.

 In effect, your proposal shifts from absolute values to rates of change.

 Steve
 ===
 On Tue, Aug 3, 2010 at 8:52 AM, David Jones wrote:

> I've suddenly realized that computer vision of real images is very much
> solvable and that it is now just a matter of engineering. I was so stuck
> before because you can't make the simple assumptions in screenshot 
> computer
> vision that you can in real computer vision. This makes experience 
> probably
> necessary to effectively learn from screenshots. Objects in real images to
> not change drastically in appearance, position or other dimensions in
> unpredictable ways.
>
> The reason I came to the conclusion that it's a lot easier than I
> thought is that I found a way to describe why existing solutions work, how
> they work and how to come up with even better solutions.
>
> I've also realized that I don't actually have to implement

Re: [agi] Computer Vision not as hard as I thought!

2010-08-04 Thread David Jones
Steve,

Sorry if I misunderstood your approach. I do not really understand how it
would work though because it is not clear how you go from inputs to output
goals. It likely will still have many of the same problems as other neural
networks including 1) poor knowledge portability  2) difficult to extend,
augment or understand how it works  3) requires manually created training
data, which is a major problem.  4) is designed with biological hardware in
mind, not necessarily existing hardware and software.

These are my main reasons, at least that I can remember, that I avoid
biologically inspired methods. It's not to say that they are wrong. But they
don't meet my requirements. It is also very unclear how to implement the
system and make it work. My approach is very deliberate, so the steps
required to make it work are pretty clear to me.

It is not that your approach is bad. It is just different and I really
prefer methods that are not biologically inspired, but are designed
specifically with goals and requirements in mind as the most important
design motivator.

Dave

On Wed, Aug 4, 2010 at 3:54 PM, Steve Richfield
wrote:

> David,
>
> You are correct in that I keep bad company. My approach to NNs is VERY
> different than other people's approaches. I insist on reasonable math being
> performed on quantities that I understand, which sets me apart from just
> about everyone else.
>
> Your "neat" approach isn't all that neat, and is arguably scruffier than
> mine. At least I have SOME math to back up my approach. Further, note that
> we are self-organizing systems, and that this process is poorly understood.
> I am NOT particularly interest in people-programmed systems because of their
> very fundamental limitations. Yes, self-organization is messy, but it fits
> the "neat" definition better than it meets the "scruffy" definition. Scruffy
> has more to do with people-programmed ad hoc approaches (like most of AGI),
> which I agree are a waste of time.
>
> Steve
> 
> On Wed, Aug 4, 2010 at 12:43 PM, David Jones wrote:
>
>> Steve,
>>
>> I wouldn't say that's an accurate description of what I wrote. What a
>> wrote was a way to think about how to solve computer vision.
>>
>> My approach to artificial intelligence is a "Neat" approach. See
>> http://en.wikipedia.org/wiki/Neats_vs._scruffies The paper you attached
>> is a "Scruffy" approach. Neat approaches are characterized by deliberate
>> algorithms that are analogous to the problem and can sometimes be shown to
>> be provably correct. An example of a Neat approach is the use of features in
>> the paper I mentioned. One can describe why the features are calculated and
>> manipulated the way they are. An example of a scruffies approach would be
>> neural nets, where you don't know the rules by which it comes up with an
>> answer and such approaches are not very scalable. Neural nets require
>> manually created training data and the knowledge generated is not in a form
>> that can be used for other tasks. The knowledge isn't portable.
>>
>> I also wouldn't say I switched from absolute values to rates of change.
>> That's not really at all what I'm saying here.
>>
>> Dave
>>
>> On Wed, Aug 4, 2010 at 2:32 PM, Steve Richfield <
>> steve.richfi...@gmail.com> wrote:
>>
>>> David,
>>>
>>> It appears that you may have reinvented the wheel. See the attached
>>> article. There is LOTS of evidence, along with some good math, suggesting
>>> that our brains work on rates of change rather than absolute values. Then,
>>> temporal learning, which is otherwise very difficult, falls out as the
>>> easiest of things to do.
>>>
>>> In effect, your proposal shifts from absolute values to rates of change.
>>>
>>> Steve
>>> ===
>>> On Tue, Aug 3, 2010 at 8:52 AM, David Jones wrote:
>>>
 I've suddenly realized that computer vision of real images is very much
 solvable and that it is now just a matter of engineering. I was so stuck
 before because you can't make the simple assumptions in screenshot computer
 vision that you can in real computer vision. This makes experience probably
 necessary to effectively learn from screenshots. Objects in real images to
 not change drastically in appearance, position or other dimensions in
 unpredictable ways.

 The reason I came to the conclusion that it's a lot easier than I
 thought is that I found a way to describe why existing solutions work, how
 they work and how to come up with even better solutions.

 I've also realized that I don't actually have to implement it, which is
 what is most difficult because even if you know a solution to part of the
 problem has certain properties and issues, implementing it takes a lot of
 time. Whereas I can just assume I have a less than perfect solution with 
 the
 properties I predict from other experiments. Then I can solve the problem
 without actually implementing every last detail.

 *First

Re: [agi] Computer Vision not as hard as I thought!

2010-08-04 Thread Steve Richfield
David,

You are correct in that I keep bad company. My approach to NNs is VERY
different than other people's approaches. I insist on reasonable math being
performed on quantities that I understand, which sets me apart from just
about everyone else.

Your "neat" approach isn't all that neat, and is arguably scruffier than
mine. At least I have SOME math to back up my approach. Further, note that
we are self-organizing systems, and that this process is poorly understood.
I am NOT particularly interest in people-programmed systems because of their
very fundamental limitations. Yes, self-organization is messy, but it fits
the "neat" definition better than it meets the "scruffy" definition. Scruffy
has more to do with people-programmed ad hoc approaches (like most of AGI),
which I agree are a waste of time.

Steve

On Wed, Aug 4, 2010 at 12:43 PM, David Jones  wrote:

> Steve,
>
> I wouldn't say that's an accurate description of what I wrote. What a wrote
> was a way to think about how to solve computer vision.
>
> My approach to artificial intelligence is a "Neat" approach. See
> http://en.wikipedia.org/wiki/Neats_vs._scruffies The paper you attached is
> a "Scruffy" approach. Neat approaches are characterized by deliberate
> algorithms that are analogous to the problem and can sometimes be shown to
> be provably correct. An example of a Neat approach is the use of features in
> the paper I mentioned. One can describe why the features are calculated and
> manipulated the way they are. An example of a scruffies approach would be
> neural nets, where you don't know the rules by which it comes up with an
> answer and such approaches are not very scalable. Neural nets require
> manually created training data and the knowledge generated is not in a form
> that can be used for other tasks. The knowledge isn't portable.
>
> I also wouldn't say I switched from absolute values to rates of change.
> That's not really at all what I'm saying here.
>
> Dave
>
> On Wed, Aug 4, 2010 at 2:32 PM, Steve Richfield  > wrote:
>
>> David,
>>
>> It appears that you may have reinvented the wheel. See the attached
>> article. There is LOTS of evidence, along with some good math, suggesting
>> that our brains work on rates of change rather than absolute values. Then,
>> temporal learning, which is otherwise very difficult, falls out as the
>> easiest of things to do.
>>
>> In effect, your proposal shifts from absolute values to rates of change.
>>
>> Steve
>> ===
>> On Tue, Aug 3, 2010 at 8:52 AM, David Jones wrote:
>>
>>> I've suddenly realized that computer vision of real images is very much
>>> solvable and that it is now just a matter of engineering. I was so stuck
>>> before because you can't make the simple assumptions in screenshot computer
>>> vision that you can in real computer vision. This makes experience probably
>>> necessary to effectively learn from screenshots. Objects in real images to
>>> not change drastically in appearance, position or other dimensions in
>>> unpredictable ways.
>>>
>>> The reason I came to the conclusion that it's a lot easier than I thought
>>> is that I found a way to describe why existing solutions work, how they work
>>> and how to come up with even better solutions.
>>>
>>> I've also realized that I don't actually have to implement it, which is
>>> what is most difficult because even if you know a solution to part of the
>>> problem has certain properties and issues, implementing it takes a lot of
>>> time. Whereas I can just assume I have a less than perfect solution with the
>>> properties I predict from other experiments. Then I can solve the problem
>>> without actually implementing every last detail.
>>>
>>> *First*, existing methods find observations that are likely true by
>>> themselves. They find data patterns that are very unlikely to occur by
>>> coincidence, such as many features moving together over several frames of a
>>> video and over a statistically significant distance. They use thresholds to
>>> ensure that the observed changes are likely transformations of the original
>>> property observed or to ensure the statistical significance of an
>>> observation. These are highly likely true observations and not coincidences
>>> or noise.
>>>
>>> *Second*, they make sure that the other possible explanations of the
>>> observations are very unlikely. This is usually done using a threshold, and
>>> a second difference threshold from the first match to the second match. This
>>> makes sure that second best matches are much farther away than the best
>>> match. This is important because it's not enough to find a very likely match
>>> if there are 1000 very likely matches. You have to be able to show that the
>>> other matches are very unlikely, otherwise the specific match you pick may
>>> be just a tiny bit better than the others, and the confidence of that match
>>> would be very low.
>>>
>>>
>>> So, my initial design plans are as follows. Note: I will pro

Re: [agi] Computer Vision not as hard as I thought!

2010-08-04 Thread David Jones
Steve,

I wouldn't say that's an accurate description of what I wrote. What a wrote
was a way to think about how to solve computer vision.

My approach to artificial intelligence is a "Neat" approach. See
http://en.wikipedia.org/wiki/Neats_vs._scruffies The paper you attached is a
"Scruffy" approach. Neat approaches are characterized by deliberate
algorithms that are analogous to the problem and can sometimes be shown to
be provably correct. An example of a Neat approach is the use of features in
the paper I mentioned. One can describe why the features are calculated and
manipulated the way they are. An example of a scruffies approach would be
neural nets, where you don't know the rules by which it comes up with an
answer and such approaches are not very scalable. Neural nets require
manually created training data and the knowledge generated is not in a form
that can be used for other tasks. The knowledge isn't portable.

I also wouldn't say I switched from absolute values to rates of change.
That's not really at all what I'm saying here.

Dave

On Wed, Aug 4, 2010 at 2:32 PM, Steve Richfield
wrote:

> David,
>
> It appears that you may have reinvented the wheel. See the attached
> article. There is LOTS of evidence, along with some good math, suggesting
> that our brains work on rates of change rather than absolute values. Then,
> temporal learning, which is otherwise very difficult, falls out as the
> easiest of things to do.
>
> In effect, your proposal shifts from absolute values to rates of change.
>
> Steve
> ===
> On Tue, Aug 3, 2010 at 8:52 AM, David Jones  wrote:
>
>> I've suddenly realized that computer vision of real images is very much
>> solvable and that it is now just a matter of engineering. I was so stuck
>> before because you can't make the simple assumptions in screenshot computer
>> vision that you can in real computer vision. This makes experience probably
>> necessary to effectively learn from screenshots. Objects in real images to
>> not change drastically in appearance, position or other dimensions in
>> unpredictable ways.
>>
>> The reason I came to the conclusion that it's a lot easier than I thought
>> is that I found a way to describe why existing solutions work, how they work
>> and how to come up with even better solutions.
>>
>> I've also realized that I don't actually have to implement it, which is
>> what is most difficult because even if you know a solution to part of the
>> problem has certain properties and issues, implementing it takes a lot of
>> time. Whereas I can just assume I have a less than perfect solution with the
>> properties I predict from other experiments. Then I can solve the problem
>> without actually implementing every last detail.
>>
>> *First*, existing methods find observations that are likely true by
>> themselves. They find data patterns that are very unlikely to occur by
>> coincidence, such as many features moving together over several frames of a
>> video and over a statistically significant distance. They use thresholds to
>> ensure that the observed changes are likely transformations of the original
>> property observed or to ensure the statistical significance of an
>> observation. These are highly likely true observations and not coincidences
>> or noise.
>>
>> *Second*, they make sure that the other possible explanations of the
>> observations are very unlikely. This is usually done using a threshold, and
>> a second difference threshold from the first match to the second match. This
>> makes sure that second best matches are much farther away than the best
>> match. This is important because it's not enough to find a very likely match
>> if there are 1000 very likely matches. You have to be able to show that the
>> other matches are very unlikely, otherwise the specific match you pick may
>> be just a tiny bit better than the others, and the confidence of that match
>> would be very low.
>>
>>
>> So, my initial design plans are as follows. Note: I will probably not
>> actually implement the system because the engineering part dominates the
>> time. I'd rather convert real videos to pseudo test cases or simulation test
>> cases and then write a psuedo design and algorithm that can solve it. This
>> would show that it works without actually spending the time needed to
>> implement it. It's more important for me to prove it works and show what it
>> can do than to actually do it. If I can prove it, there will be sufficient
>> motivation for others to do it with more resources and man power than I have
>> at my disposal.
>>
>> *My Design*
>> *First, we use high speed cameras and lidar systems to gather sufficient
>> data with very low uncertainty because the changes possible between data
>> points can be assumed to be very low, allowing our thresholds to be much
>> smaller, which eliminates many possible errors and ambiguities.
>>
>> *Second*, *we have to gain experience from high confidence observations.
>> These are gathered

Re: [agi] Computer Vision not as hard as I thought!

2010-08-04 Thread David Jones
:D Thanks Jim for paying attention!

One very cool thing about the human brain is that we use multiple feedback
mechanisms to correct for such problems as observer movement. For example,
the inner ear senses your bodies movement and provides feedback for visual
processing. This is why we get nauseous when the ear disagrees with the eyes
and other senses. As you said, eye muscles also provide feedback about how
the eye itself has moved. In example papers I have read, such as "Object
Discovery through Motion, Appearance and Shape", the researchers know the
position of the camera (I'm not sure how) and use that to determine which
moving features are closest to the cameras movement, and therefore are not
actually moving. Once you know how much the camera moved, you can try to
subtract this from apparent motion.

You're right that I should attempt to implement the system. I think I will
in fact, but it is difficult because I have limited time and resources. My
main goal is to make sure it is accomplished, even if not by me. So,
sometimes I think that it is better to prove that it can be done than to
actually spend a much longer amount of time to actually do it myself. I am
struggling to figure out how I can gather the resources or support to
accomplish the monstrous task. I think that I should work on the theoretical
basis in addition to the actual implementation. This is likely important to
make sure that my design is well grounded and reflects reality. It is very
hard for me to balance everything that has to be done though. This
definitely should be done by a much larger team of people.

As for your belief that computer vision is not necessary for AGI, I just
finished writing an email to someone else who had similar questions
regarding why computer vision helps with AGI. I will append them here. I
hope you find them helpful.





*Appended Below: Why do I think computer vision is so important for
AGI.**


Someone asked, if I solved computer vision, why would it help in higher
reasoning and learning? Why do I think computer vision so important for AGI.

*Regarding higher reasoning and learning, I'll try to explain my views a bit
here:*

*When I talk about higher reasoning and learning,  I'm referring to all of
the following: *
* language learning,
* language disambiguation and interpretation
* learning about cause and effect
* learning about object/environment behavior and mechanisms regarding how or
why they behave certain ways
* explanatory reasoning that requires common sense knowledge
* learning common sense knowledge at increasing levels of abstraction.
* trial and error learning
* learning to predict the environment. This is extremely important for the
purposes of goal pursuit, which is the whole point of AI I think.
* inductive learning on examples from observation. This is needed for
language learning. This also helps with predicting the behavior of new
object instances.
* rule induction from observed examples
* etc. etc. etc.

*So, what am I really using computer vision for?*
I'm using computer vision to gather *knowledge*, including common sense
knowledge. It is very clear to me, and probably many others, that knowledge
is required to solve the problems we want AI to solve. The core problem of
AGI is knowledge. There are many other supporting problems such as machine
learning, planning, language disambiguation, etc., but without knowledge it
is much harder than it needs to be. We need it, we want it, but we haven't
been able to get enough of it. Knowledge also makes it easier to solve these
problems, making it possible to use simpler algorithms and to learn from
fewer examples.

Computer vision isn't just for knowledge though. It's also for goal pursuit.
Many things we want an AI to do require exploration of the environment,
trial and error learning, exploration in general, interaction with the
environment, unsupervised  learning, etc. These require the ability to
perceive and understand the environment. The environment is too complex to
predict blindly. It is absolutely essential to be able to directly observe
it and receive feedback.

*So, why computer vision? Why can't we just enter knowledge manually?*

Explaining this requires several supporting arguments that will have to be
argued separately. So I will list them below:

a) The knowledge we require for AI to do what we want is vast and complex
and we can prove that it is completely ineffective to enter the knowledge we
need manually.
b) Computer vision is the most effective means of gathering facts about the
world. Knowledge and experience can be gained from analysis of these facts.
c) Language is not learned through passive observation. The associations
that words have to the environment and our common sense knowledge of the
environment/world are absolutely essential to language learning,
understanding and disambiguation. When visual information is available,
children use visual cues from their parents and from the objects they

Re: [agi] Computer Vision not as hard as I thought!

2010-08-04 Thread Jim Bromer
On Tue, Aug 3, 2010 at 11:52 AM, David Jones  wrote:
I've suddenly realized that computer vision of real images is very much
solvable and that it is now just a matter of engineering...
I've also realized that I don't actually have to implement it, which is what
is most difficult because even if you know a solution to part of the problem
has certain properties and issues, implementing it takes a lot of time.
Whereas I can just assume I have a less than perfect solution with the
properties I predict from other experiments. Then I can solve the problem
without actually implementing every last detail...
*First*, existing methods find observations that are likely true by
themselves. They find data patterns that are very unlikely to occur by
coincidence, such as many features moving together over several frames of a
video and over a statistically significant distance. They use thresholds to
ensure that the observed changes are likely transformations of the original
property observed or to ensure the statistical significance of an
observation. These are highly likely true observations and not coincidences
or noise.
--
Just looking at these statements, I can find three significant errors. (I do
agree with some of what you said, like the significance of finding
observations that are likely true in themselves.)  When the camera moves (in
a rotation or pan) many features will appear 'to move together over a
statistically significant distance'.  One might suppose that the animal can
sense the movement of his own eyes but then again, he can rotate his head
and use his vision to gauge the rotation of his head.  So right away there
is some kind of serious error in your statement.  It might be resolvable, it
is just that your statement does not really do the resolution.  I do believe
that computer vision is possible with contemporary computers but you are
also saying that while you can't get your algorithms to work the way you had
hoped, it doesn't really matter because you can figure it all out without
the work of implementation.  My point of view is that these represent major
errors in reasoning.
I hope to get back to actual visual processing experiments again.  Although
I don't think that computer vision is necessary for AGI, I do think that
there is so much to be learned from experimenting with computer vision that
it is a serious mistake not to take advantage of opportunity.
Jim Bromer


On Tue, Aug 3, 2010 at 11:52 AM, David Jones  wrote:

> I've suddenly realized that computer vision of real images is very much
> solvable and that it is now just a matter of engineering. I was so stuck
> before because you can't make the simple assumptions in screenshot computer
> vision that you can in real computer vision. This makes experience probably
> necessary to effectively learn from screenshots. Objects in real images to
> not change drastically in appearance, position or other dimensions in
> unpredictable ways.
>
> The reason I came to the conclusion that it's a lot easier than I thought
> is that I found a way to describe why existing solutions work, how they work
> and how to come up with even better solutions.
>
> I've also realized that I don't actually have to implement it, which is
> what is most difficult because even if you know a solution to part of the
> problem has certain properties and issues, implementing it takes a lot of
> time. Whereas I can just assume I have a less than perfect solution with the
> properties I predict from other experiments. Then I can solve the problem
> without actually implementing every last detail.
>
> *First*, existing methods find observations that are likely true by
> themselves. They find data patterns that are very unlikely to occur by
> coincidence, such as many features moving together over several frames of a
> video and over a statistically significant distance. They use thresholds to
> ensure that the observed changes are likely transformations of the original
> property observed or to ensure the statistical significance of an
> observation. These are highly likely true observations and not coincidences
> or noise.
>
> *Second*, they make sure that the other possible explanations of the
> observations are very unlikely. This is usually done using a threshold, and
> a second difference threshold from the first match to the second match. This
> makes sure that second best matches are much farther away than the best
> match. This is important because it's not enough to find a very likely match
> if there are 1000 very likely matches. You have to be able to show that the
> other matches are very unlikely, otherwise the specific match you pick may
> be just a tiny bit better than the others, and the confidence of that match
> would be very low.
>
>
> So, my initial design plans are as follows. Note: I will probably not
> actually implement the system because the engineering part dominates the
> time. I'd rather convert real vide