Reply to Wolf



Newsgroups: comp.ai.philosophy
From: Wolf <ElLoboVi...@xxxxxxxxxx>
Date: Thu, 21 Jun 2007 12:41:01 -0400
Local: Fri, Jun 22 2007 2:41 am
Subject: Re: consciousness, was Re: etc.
Reply | Reply to author | Forward | Print | View thread | Show
original | Report this message | Find messages by this author
JGCASEY wrote:
On Jun 19, 4:53 am, Wolf <ElLoboVi...@xxxxxxxxxx> wrote:


[...]



JC:
We start with an array of sensors which are generating
pulses in response to the current energy inputs and recent
energy inputs. How is that converted into anything meaningful
to use as a stimulus?

Wolf:
Those energy inputs _are_ the "stimulus". Just what they
stimulate depends on what they are connected to, and what
happens to them as they travel from the sensors to the
effectors. I mean, what else can it be?

JC:
But behaviorists do not start at that point. They start
at some later "stimulus" such as a bell or shape or even
something complex like an image of a tree or "praise" as
a stimulus.

Wolf:
This is the way it works in a computer: I hit the keys
on the keyboard (sensors), the keyboard is wired so that
different keys close contacts in different patterns,
which in turn means differently patterned sequences of
electrical impulses are sent to the keyboard buffer,
which sends the pulses on to the video subsystem, and
the CPU, so that the correct letters can be displayed
on the screen, and the program can remove the highlight
from the misspelled word. Etc.

JC:
But it is only data with respect to the program. You must
specify the program. "dapkfjadsafpd" is not data as nothing
will happen to it. However if you have a program which adds
one to the ascii code of those characters then it becomes
data for that program. Pressing a key may be data for a
program to print a character on the screen (or erase a
character etc) or terminate a program or move a sprite and
so on. The meaning of the data, that which makes it data,
is contained in the program.

=======================================



JC:
That the connections between extracted input patterns
and output patterns can be strengthened or weakened
by many different mechanisms is not all that difficult.

Wolf:
Simulating that in arrays, or in circuits that realise the
arrays, yes. But your suggests a subtle misunderstanding.
It's the topology of the network that must change. In life,
this happens during the development of the visual system,
for example. The animal's visual system forms new connections
in response to visual inputs: behaviourally, it learns to
recognise, say, vertical edges. These connections become
pretty well fixed, so much so that if a visually poor
environment is maintained too long, the young animal
actually becomes incapable of responding to novel features
in a richer environment.

JC:
Changing the strengths of the connections is changing its
topology. Take three nodes (or as many as you like) which
have the potential to connect to any other node. They have
a connection weight of 0 to 1 where 0 is no connection and
1 is full connection.

A B C
A 0 1 0
B 0 0 1
C 1 0 0

A connects to B connects to C connect back to A

A B C
A 0 1 0
B 1 0 0
C 0 1 0

A connects to B and B connects to A and C connects to B

You can change these connections on the fly by changing
the values in the table.

=====================================

JC:
It is the extraction in the first place that is hard.

Wolf:
In the animal, the extraction is firstly in the sensors, and then
in topology of the network they are attached to. Think about that.

For example:
The human retina consists of three layers of cells. The layers are
connected in such a way that edges can be detected in the retina.
How? By connecting together cells forming a line, and sending all
their inputs to a cell in the second layer. And so on. When cells
respond in a certain time sequence, an edge is detected. (BTW,
retinal cells respond to changes in light, not to light as such.
That's why your eyes are always moving, ever so slightly. If for
some reason the muscles that produces this movement are paralyzed,
you quite literally become blind. This makes the eye fundamentally
different from a camera, which records the light falling on the
sensor, and not changes in that light.)

JC:
Yes I am fully aware of the above. Sensory neurons only respond
to change and they have another characteristic called fatigue
which enables us to guess at certain types of neurons. For example
view one color for a while then look at a white screen you see
the complementary color. That is because of fatigue of the neurons
involved in firing to the first color. The same with motion. View
things moving one way and then look elsewhere and get the illusion
of motion in the other direction indicating neurons are direction
sensitive to motion.

I wouldn't use the phrase "in the sensors" rather I would see it
as extraction or at least abstraction of the data started by the
connections of the neurons in the retina. The cells there are
in fact part of the brain and maybe do a form of data compression
to reduce the load of detail sent to the rest of the brain?

To say that cameras are fundamentally different to eyes because
eyes only respond to change is to assume that cameras cannot behave
the same or similar with suitable software/hardware.

Using a video camera as a simple movement detector for example
will only output change in the pixel values. If you stand still
in front of the camera you will see nothing. Move and bingo
you come into existence. A simple program. If you have a webcam
I can send you an example or post the source code to compile.

==========================================

Wolf:
For example:
A frog will ignore a perfectly good dead fly, but will sling
its sticky tongue at a raisin moving across its field of vision.
Presumably, its retinal cells are arranged such that when a
fly-sized image moves across the retina, bundles of cells in
the retina fire in sequence, and their signals end up at the
motor cortex, or else at a reflex bundle somewhere, which in
turn sends signals to the muscles of the mouth and tongue, and
the frog gets a raisin for its trouble. (And spits it out, IIRC.)

JC:
Yes the frog is an example of probably mostly innate behavior.
A frog does not suffer from sensory deprivation. Evolution only
gives an organism as much brain as it needs which for some is
not much of a brain at all. Understanding the role of a brain
in a multicellular organism is I think helpful in understanding
what its functional requirements may be.

Robots also can have very fast reflexes, much faster than ours.
Have you ever seen a printer plotter draw things? How about robots
that can catch something that is thrown.

http://www.newscientist.com/article.ns?id=dn7790

I can't find the web address, if it still exists, but one
neat robot used two wall mounted cameras and a commercial
robot arm to catch a red ball thrown to it. It used color
to locate the ball and compute its 3D trajectory.



Wolf:
Now I know there are "edge detection algorithms", e.g., every
image proc program includes one. How? By looking at groups of
pixels, one group at a time, and computing their differences,
etc. But these algorithms are clumsy and slow compared to the
speed and elegance of the topology of the retina. On my slow
(800MHz) box, it takes a couple of "ticks" for the program to
detect the edges in a large image. IOW, analog beats digital.
Again.

JC:
A high speed digital parallel processing system will compute edges
many times faster than your eyes. And the edge detection programs
I have written seem very fast on my computer and they operate in a
serial fashion.

If you want to measure the response time of your eyes to change
use a flashing LED light and adjust the flash rate up until it
reaches the point when it appears to be no longer flashing.
Machines are not limited to such a slow rate and can easily detect
faster flashes than you can.

Neurons may have analog properties but let me assure you that is
not a speed advantage over digital, merely a use of the components
available for the job. Analog can always be converted to digital
to any degree of accuracy (just keep adding bits) and for practical
purposes it is just as fast, and always faster than neurons,
particularly if connected in parallel. It is used also to prevent
the amplification of noise at each stage.

The current speed at which brains appear to operate is due to
the unknown algorithms used and its massive parallel connections.
Neurons are very slow compared with electronic switches.

=========================================

Wolf:
IMO, an underlying problem with AI as it's being researched is that
people are using abstract digital methods instead of analog ones. If
you
can build chips with millions of transistors, you can build edge
detectors that work like a human or froggy eye. IOW, build an edge
detector that does not rely on computation on arrays of data received
from CCD.

JC:
What do you know about digital and analog electronics?

It is not clear to me what you mean by edge detection without
computations? An edge is there or not there and are there to
some degree. Even determining an edge can be context dependent.
But it is all computation.

===========================================

JC:
Behaviorism seems to take that as a given when it is
the thing we need most to explain.

Wolf:
Well, er, I'm not at all sure that it makes much sense to talk
about 'extracting features' in terms other than an abstract model.
Physically, it's not happening. Physically, you just have bundles
of sensors responding. There is no computation on the visual
image projected onto the retina, for example.

JC:
Well physically then all we have are bundles of electronic
switches responding. There is no computation on the visual image
projected onto the sensory array .... Makes no sense to me Wolf.


Wolf:
But behaviourism does tell you something very significant IMO:
that animals are mechanisms for extracting information from
the environment.

JC:
Did you mean brains are mechanisms for extracting environmental
information? Do you think computers can't extract information
from the environment? Sheesh. Even a simple line following
robot is doing that.

Wolf:
Since different animals extract different information, it must
be their internal organisation, ie, what happens to the sensor
signals, that must differ. So you go ask the neuroscientist
about that, and he points to different pathways between sensors
and effectors in different animals.

JC:
Different pathways?? The same pathways can extract different info
depending on the kind of info it is extracting. The same pathways
in a computer and I assume a brain are used by different processes.

In some hand waving folk talk I understand, I think, what you
are trying to say but really have a go at implementing some of
this and see how useless the descriptions actually are.

Wolf:
So its those pathways that must do the "extracting of information",
ie, the filtering out of extraneous features. But that's an analog
process, not a digital one: there is no computation of pixel
differences, there is just an arrangement of cells that fires when
an edge moves across the field of vision projected onto the retina.

JC:
"an arrangement of cells that fires when an edge moves across
the field of vision" ??? And how does that work? Sounds like
Curt's "just is" theories :) Well the same applies to a machine,
there is an arrangement of switches that fire when and edge
moves across the field of vision.

You go on about analog. Do you imagine that an analog process
is not a computation? Does an analog computer compute?

Wolf:
Now _you_, as a programmer, want to abstract a computable model
from all this. I put it to you that you are in fact starting
with very abstract assumptions, and that's the problem. IMO,
computation of "features" in the environment is a dead end.

JC:
I don't start with abstract assumptions but with actual hardware.
We do have analog hardware and until we could build cheap digital
circuits we had analog computers. Brains may use analog components
but as far as I know a neural pulse is a digital pulse, maybe
used to code information in different ways.

===============================

JC:
For a circle to act as one stimulus and a square to act
as another stimulus you first need mechanisms that extract
the existence in the input of those stimuli.

Wolf:
Yup, and nature has done just that. By arranging the connection
between the sensor cells such that an image of a square will fire
different bundles of cells than an image of a circle. But that
doesn't mean the animal will respond to a square differently than
to a circle. It may that what matters to a given animal is not
that colour patch is square or circular, but whether it's red or
blue. In that case, it may not be possible to condition the animal
to respond to the square and the circle differently.

JC:
That is true. What is interesting is how a circle or square
"filter" might be learned. And I would add that for operant
learning different animals start with a different set of
behaviours which also limits what they can learn. A chick
starts with pecking and scratching. A rat with running about
tricky maze like environments.

==================================


This can be preprogrammed or you have to explain how
these categories are learnt.

Wolf:
No, I don't have to explain how those categories are learned
by the animal, because the animal doesn't in fact learn them.
"Square, circle, category" are a very high level abstractions,
and the only Way I know you have learned them is by your
speech acts that include the term. The fact that you respond
differently to different geometric shapes does not prove that
you have categorised them. You are IMO confusing abstract
model of what happens with what actually happens.

JC:
If a animal responds by a physical act (including speech) then
what actually happens is *equivalent* to having that abstract
concept of shape or color being different to some other shape
or color (or whatever) regardless of what "actually happens".
Regardless of how it is coded, either as a bunch of stimulus
responses or as an actual location in a computer memory.

===================================

JC:
And I suspect unconditioned stimuli extractions are in fact
preprogrammed otherwise what is the criteria for them being
unconditionally connected to a given response?

Wolf:
Of course unconditioned responses are built in, but your statement
that they are "pre-programmed" is IMO too abstract a statement of
the problem. Animals don't categorise their environment into
circles and squares, their retinas produce different firing
patterns when circles and squares are presented.

JC:
Means the same thing to me. When things are "categorized" there
will be different "firing patterns".


wolf:
Humans learn to associate the words "circle" and "square" with
those firing patterns. Ie, instead of learning to peck the red
button rather than the green one, they learn to utter "square"
rather than "circle." Later on, they learn to utter complex
sentences about geometric categories -- that is, they learn to
respond to their own behaviour of talking about circles and
squares. Because that's what a category is: a class of speech
acts (and when you "think about" categories, you are engaging
in internal behaviours.)

JC:
One behavior emitting "square" may become associated with
the "firing patterns". I fail to see the problem here.
And of course I am thinking about "internal behaviors" or
if you like inventing ways to build machines that do things
that if humans did them we would call it intelligent.

=====================================

JC:
Unlike Curt's net, which requires an external critic to
press the reward button, in real autonomous machines the
rewarding (strengthening connections) would be a result
of extracting a pattern that triggers the strengthening
of connections. It is an innate connection (unconditioned
response?) not to an external response but to an internal
response, i.e. the mechanisms that strengthen or weaken the
connections is triggered.

Wolf:
I wouldn't put it quite that way. The internal response, as
you call it, at the neural level appears to be the activation
of genes that control the production of neuro-transmitters,
receptor molecules, and the like. Abstractly, the neuron
responds to some pattern of inputs by changing some of its
connections. But some of these connections are changed
permanently: they will never change again. Other connections
remain variable. Other are switched on and off depending on
the input patterns. Neurons in fact appear to differ among
other things in the number of permanent and plastic connections
they make, etc. This is the reason I posit that abstractly
considered a neuron is a network. Each neuron has its own
internal topology, which governs its response to inputs from
other neurons. Sensors are also neurons, BTW - they are not
merely passive receivers of energy.

JC:
There are different types of neurons for sure. How relevant that
is to a functional equivalent in electronic switching devices I
am not sure. A group of switches can be considered as a single
node (or "neuron") and thus you are wiring different types of
switching groups together. It is all about where you want to draw
the interface and that is one of analytical convenience.

=============================
[...]


JC:
I never said it was an a simulation of operant conditioning.
I said or meant to say that it was *sufficient* to explain how
a machine can adapt to different novel inputs without the
need for operant conditioning to explain it.

Wolf:
No, it's not sufficient, since the machine in fact does not adapt.
Since the response to a range of inputs is programmed, none of
them are novel inputs. IE, if you expect the robot to see bolts
oriented anywhere within 60 degrees either side of vertical, then
programming it to deal with a bolt oriented at some difference
that it has not encountered before is not programming it to adapt
to novel situations. It's just responding within the range you've
programmed it for. You have designed its range of unconditioned
response, is all.

JC:
Ok :) You are talking about open ended learning. That is a kind
of real time evolutionary process in my view.

==============


JC:
And I was pointing out that this doesn't have to be a result
of operant conditioning. It is generalization, variables, that
enable the transfer of learning in one situation to a similar
situation. I have played with a vision controlled robot arm and
the programs are general in nature. They don't follow a fixed
set of moves through space. You don't need "operant conditioning"
to generate a sequence of actions.


Wolf:
You have designed an unconditioned machine, it seems. Just what
does it do? What behaviours is it capable of? Can it pick up a
bolt and orient it bolt head up if necessary? Does it do this
because of the way you programmed it to respond to visual
features, or because it learned to "pick up a bolt shaped
object", and "orient it", and etc etc?

JC:
There has to be a physical reason why something happens including
"learning" to do something. When you say "if necessary" again that
is all very high level talk.

Note the emphasis, I wrote "I have PLAYED with ..." and by "general
in nature" I meant that it was not move_joint 30 degrees it was
move_joint until x equals y kind programming. There was no learning
involved only that the environment provided the values to be placed
in the variables. For example turn-toward red block would involve
finding the coordinates of the red block which in turn was done
by a routine that found red areas and selected one and found its
centroid or edge.


Wolf:
IOW, can it distinguish between bolts and other objects because you
have "extracted" the features of the bolt from the visual field, or
because you have designed the sensors to report things such as edges,
contrast, gratings, etc, and the robot has learned "how to recognise
as a bolt"?

JC:
There was no learning involved in what I was playing with
but there was planning and of course each situation was novel
in the sense that the actual position of blocks was not
preprogrammed in the program as they varied in position.
By novel I meant variable arrangement of blocks.


JC:
The throw away statement "it would have" (how I ask?) "a few
primitive behaviors that could be chained and combined" (how
I might ask, you assume what is to be explained) "so that
one example would ..." (would it? Again assuming what is to
be explained) is hand waving.

Get yourself a camera and robot arm and then think about how
you might use operant conditioning to do all this stuff and
then you might see the issues I am raising.

Wolf:
Well, first off, I wouldn't want a camera. It just provides still
images, and I'd need too much computing power to 'extract' the
information I needed.

JC:
Video cameras provide moving images. If you think that vision
is a continuous process in the brain I would suggest that may
not be the case. Do you know what the world looks like to those
who lose their ability to "see" movement?

Wolf:
I would want a visual sensor that detects edges, differences
in brightness, fineness of detail, etc.

JC:
If you mean you want it embodied in hardware fine they are doing
that now but it is functionally equivalent to software edge detection.

Wolf:
If I wanted to teach the arm to move towards a bolt rather than
a ball, I'd need a rather large arrays of neurons to respond to
these different visual inputs.

JC:
Until you start trying to implement solutions you cannot be sure
what you need.


Wolf:
And without prior programming of "ball" and "bolt", or even "circle"
and "square", just different patterns of edges, etc, sent from the
visual array.

JC:
The first "stimuli" might have been from two light cells or two
groups of light cells on either side of the head. An organism
might orientate toward or away from a light source according to
the connections to the motor outputs. The connections might have
been random to start with and the reproductive success of the
animal may have selected for the dominate connections. There is
also the possible internal modulation of the response. Slower
higher level computations can be modulating the behavior of
lower level reflex behaviours like orientating behaviors. That is
the connections may change with need as well as with learning.

Now I assume from the above you want to teach the system to
orientate toward say a circle as opposed to a square but you
don't want to call the pattern a circle or a square.

Well a program can orientate toward (or select) a square or a
circle without calling it anything. Mind you if we "look inside"
we will see the unnamed pattern is responding to what we would
call a circle or square. Perhaps you imagine the "connections"
that make up a circle or square behaviour are all muddled up
and cannot be seen? Maybe. But in theory any code can be decoded.
I think this is the notion Curt has with his ratio values or
the values in the TD-Gammon he likes to cite as an example of
the power of RL.

Wolf:
If I wanted the robot arm to learn how to pick up a ball instead
of a cone, I would need at least one other kind of sensor, say a
pressure sensor array, organised such that it reports differences
in surface texture (ie, differences between individual pressure
sensing elements), hardness, etc. I would need such pressure
sensors both in the arm and in the grasping mechanism.

JC:
Yes I soon found out that vision may help locate an object
but tactile feedback and recognition is required to manipulate
an object.

====================

JC:
The reason AI researchers have used other methods is because
they could get results whereas the narrow world view of
behaviorism which may be a very valid scientific view for all
I know, hadn't enabled them to go any where fast with building
actual machines that could act intelligently.

Wolf:
Yes, but the results aren't getting anyone anywhere. Why? Because
the AI researchers are not in the habit of considering a complex
behaviour as made up of simpler ones, arranged in time and space
in sometimes very complicated ways. Nor have they understood that
conditioning always requires the inputs of two or more _different_
classes of sensory data (and usually different sensory channels,
too.)

JC:
I don't know that researchers haven't thought of complex behaviors
as being made up of simpler ones. In fact that seems obvious to me.
Planning for example is the construction of a sequence of simpler
behaviors such as open gripper, move one step left.

Wolf:
Eg, in the case of the robot arm, let's assume an active sensory
array, like the human retina.

JC:
Which would be equivalent to a "passive" sensory array with the
right processing circuits or program.

Wolf:
In that case, one built-in response would be "move towards an edge".
Another would be, "when edge has increased x% in visual field, move
left." Another would be "if edge moves diagonally across visual field,
rotate self 1 degree clockwise." Another would be "After rotating
self 1 degree clockwise, move towards edge." Another would be "if
edge moves diagonally across visual field, stop and move back."
And so on. (NB, these primitives assume a straight edge. What
would be the primitives for responding to a curved edge?) I think
you will see that by performing these and other primitives in
relation to some detected edge, the robot arm would eventually move
towards the edge so that its grasping mechanism would be at (nearly)
right angles to the edge, at which point it might be able to grasp
something.

JC:
Well let's program it and see ? I am happy to do it if you can
perhaps be a little clearer in your descriptions. What was it again:

MoveTowardEdge()
If edge == x% Then
MoveLeft()
End If
...


=====================================

JC:
But even the GOFAI programs I have read about and played with
used association and the strengthening and weakening of those
associations in learning programs.

Wolf:
Yeah, the computationalist approach to learning. IMO, it's a dead
end,
apart from practical applications in precisely defined and therefore
limited domains, such as data mining.

JC:
And what is the difference between machines that are "computing" and
those that aren't? Everything you talk above could, if stated clearly
enough, be translated into an actual program. Is running a programming
a computation?

--
Wolf


"Don't believe everything you think." (Maxine)


"Just because you believe something doesn't make it true.
Ask, what is the evidence?"

--
John

.


Loading