Feedforward yet again

[Martin Taylor 2010.01.10.16.09]

[From Rick Marken (2010.01.10.1255)]

Martin Taylor (2010.01.10.15.40) --

So what did you mean when you said it gave a 1% improvement?
     

I meant in terms of RMS deviation of model from person. Without
prediction the RMS deviation from the model for one subject was 6.15.
With prediction it was 6.05, a 1.6% improvement in prediction
accuracy.
   
OK, I understand. That makes sense.

Martin

[From Rick Marken (2010.01.11.0915)]

Martin Taylor (2010.01.10.16.09) --

OK, I understand. That makes sense.

I'm going to try to implement a program that is like the one you sent.
One thing I would like to know; was your task pursuit or compensatory.
Not that it makes much difference but I've currently got both
implemented and I just want to think in terms of the task you actually
used.

Best

Rick

···

--
Richard S. Marken PhD
rsmarken@gmail.com
www.mindreadings.com

[Martin Taylor 2010.01.11.13.22]

[From Rick Marken (2010.01.11.0915)]

Martin Taylor (2010.01.10.16.09) --
     
OK, I understand. That makes sense.
     

I'm going to try to implement a program that is like the one you sent.
One thing I would like to know; was your task pursuit or compensatory.
Not that it makes much difference but I've currently got both
implemented and I just want to think in terms of the task you actually
used.
   
There were five tasks, which included 3 pursuit and 2 compensatory at
different levels in the perceptual hierarchy. The model is the same for
all. The controlled perception is always to have a zero difference
between the cursor and the marker. The actual perception is the
perceived difference, and the velocity is the rate of change of that
difference.

I attach the C source code for the actual running of the experiment (as
opposed to the model). I imagine that it would need some tweaking to
make it compile, and more to get it to actually run, but it should help
to explain exactly what the experiment was. Maybe you could rewrite it
in Java as a Web-based experiment?

The code has ten different possible experiments, but they were not all
used. In the code, the ones used were 0, 1, 2, 7, and 3 (in the order
they are described in text of the report that you have). Actually task 9
or 10 (I forget which) was also used, but we didn't at the time know how
best to analyse it because it was a 2-D tracking task. If I figure out
how to recover the raw data, maybe we will together be able to analyze
it now. (Note the Canadian alternation between "-ise" and "-ize" :slight_smile:

As a point of reference, I seem to remember that the original analysis
took weeks of actual CPU time on a mainframe. Perhaps that will have
come down to minutes now on a laptop!

Martin

modafinil_expt_run_src.txt (26.4 KB)

[From Rick Marken (2010.01.11.1415)]

Martin Taylor (2010.01.11.13.22)_-

I attach the C source code for the actual running of the experiment (as
opposed to the model). I imagine that it would need some tweaking to make it
compile, and more to get it to actually run, but it should help to explain
exactly what the experiment was. Maybe you could rewrite it in Java as a
Web-based experiment?

Thanks Martin. I'll just try to implement the model for one
experimental case. It may take me awhile, though. What I want to focus
on now (based on a review of a paper I recently submitted) is
developing a demonstration to show that the closed-loop tracking task
is a good model of the behavior studies in _all_ psychological
experiments because the behavior in all experiments is closed loop. I
think that if I can develop a convincing demonstration of this fact
our control demos, which illustrate general principles of control,
will have a more profound impact on conventional scientific
psychology. Any ideas?

Best

Rick

···

--
Richard S. Marken PhD
rsmarken@gmail.com
www.mindreadings.com

[Martin Taylor 2010.01.11.17.37]

[From Rick Marken (2010.01.11.1415)]

Martin Taylor (2010.01.11.13.22)_-
     
I attach the C source code for the actual running of the experiment (as
opposed to the model). I imagine that it would need some tweaking to make it
compile, and more to get it to actually run, but it should help to explain
exactly what the experiment was. Maybe you could rewrite it in Java as a
Web-based experiment?
     

Thanks Martin. I'll just try to implement the model for one
experimental case. It may take me awhile, though. What I want to focus
on now (based on a review of a paper I recently submitted) is
developing a demonstration to show that the closed-loop tracking task
is a good model of the behavior studies in _all_ psychological
experiments because the behavior in all experiments is closed loop. I
think that if I can develop a convincing demonstration of this fact
our control demos, which illustrate general principles of control,
will have a more profound impact on conventional scientific
psychology. Any ideas?

As our discussions in relation to the Schouten experiment and other psychophysical studies will attest, we have different views as to the implications of the fact of the behavioural control of perception. I'd like to be able to work out those differences, but I think that must be done in a different thread, which I will now start, though I may not contribute much to it thereafter.

I'll look forward to seeing the results of your experiments, and it will be interesting to see whether incorporating a delay in the feedback loop through the human will have effects similar to sleepiness.

Martin

[From Bill Powers (2010.01.10.0722 MST)]

Just got back from attending a "Cognitive Lunch" at the University of Colorado in Boulder. Before the lunch, I showed some of the demos to Lew Harvey, the psychology department chairman, and he got quite excited about them. He wants me to come in and do all sorts of things like lead a seminar, instruct students about PCT, meet everyone... I'm wondering how much of that I can handle. But there is very definite support. At a suitable time I'll broach the idea of a CSG meeting at the university.

Martin Taylor 2010.01.08.16.54 --

MT: Here's the C code loop for running the model, after a lot of initialization. I've added a few comments to help in its interpretation. This seems to be the latest of several versions in the folder I recovered, so I expect it is the one that was used in the reported data.

BP: The c code looks mostly familiar, but I've forgotten a lot and of course a good bit was added by you later.

I finally remembered that "distsign" was set to 1 or -1 depending on whether the disturbance was applied to the cursor (compensatory tracking) or to the target position (pursuit tracking). You had only one disturbance, where in Rick's 1995 diagram there were two (one caused the target movement, the other was applied to the cursor).

Yes, it was perceptual delay, not output delay as in your diagram.

MT: p1 = hdelay[(dy+m)%30 + 1];

BP: M ranges from 1 to 30. If the delay dy is 1 and m = 1, the index for the delayed perception is 2 + 1 = 3, where it should be 2. The modulo operation (% sign) yields a result that is 0 when the argument equals the modulus. If m = 30 and dy = 1, the index is 1 + 1 = 2 where it should be 1. So the optimized delays are all one unit too large (or is it too small?). Because you are basing the index at 1 instead of 0, the statement should be

p1 = hdelay[(dy + m - 1)%30 + 1]

Your computation of the derivative is correct when you have all the data available (that is, when you know not only the current value of the signal but its next value as well). This is not true of the real system: it can know only the current value and the previous value. If you extrapolate to the next value using the current and previous values to estimate the derivative, then average with the previous values, you get the same result as just computing the derivative from the present and previous values. So all you need is

(p[t] - p[t-1])/dt

Your problem with fractional sample times would disappear if you just kept track of time in terms of iterations, using an integer counter. If you want to know how much time that representes, multiply by 1/60 sec.

MT: errsq = errsq - errsum*errsum/validsize;

I don't understand this one. What is "validsize"?

The problem with trying to skip computing the error when the data are invalid is that the model's output function keeps on integrating when there is a large error, so the effect of the large error is still there after the invalid section is finished.

If you really want to use the data, I suggest first identifying the invalid segments (that is, segments in which the behavior has clearly switched to a different form) and then substituting the real mouse positions for the models' during those segments. This way the model will see the same effects of handle position the person would have seen (we can't make the model reproduce the invalid periods, anyway, so using the data from the person is as close as we can get. We just wouldn't use those periods in assessing the fit of the model to the data).

...

MT: I hope this helps in understanding just what was fitted to the data. You will note that the integrator output function does not have a leak. The leak rate would have been a fourth parameter in the fit. Maybe that was a bad decision, but fitting four parameters offers more opportunity for noisy interactions to affect the important parameters in the optimization.

BP: The leak makes only a very small difference in the fit, so estimates of its magnitude aren't very precise anyway. However, the best-fit leak does change pretty radically with the difficulty factor. The steady-state gain of the output function (zero frequency) is our gain number divided by by the damping factor. So I suppose damping is a parameter we should pay attention to.

MT: With the extra compute power we have now as compared to the mainframe I used in 1995, it should be possible to take four parameters into account.

BP:I do that in "trackanalyze", Demo 4-1 in LCS3. Reference level, integrator gain, damping factor, and perceptual delay.

MT: I haven't got to the stage of trying to figure out how to go about compiling the code, yet. But I think I'm beginning to understand it at least a little. I used to write a lot of C, but I haven't looked at it since these studies, and reading the code Bill and I wrote at that time is a bit like trying to read French after not having looked at French for a decade. It comes back, but not immediately.

BP: Same experience here. I did find a place where I could download Turbo C 2.01 (described as "antique" -- how could they say that?), and did so, but the installation program assumes there is actually a floppy disk drive and asks for Disk 1, Disk 2, and Disk3. The three disks downloaded just fine, and I started installing it using the Disk 1 folder -- but then it said "Please put Disk 2 in drive C" and nothing I did would convince it that Disk 2 was right there in a folder.

Note: I found that putting the contents of discs 2 and 2 into the foldfer called disk 1 fixed the problem. Now all I have to do is remember how to use the Turbo C IDE.

After giving up on that, I realized that any graphics in the program would use the Borland .bgi files to set up the quaint old graphics devices that we used then, so that would probably have been another stopping point.

MT: Next I have to learn what all the compiler flags must be, and how to interface with the graphics. It might be easier to use the C code as a guide and rewrite the whole thing in Ruby!

BP: Since we don't need to do the actual data gathering again, maybe it would work just to write a program to read in the data and analyze them. That shouldn't be too big a deal. What's the form of those data files? I guess I can look that up.

Best,

Bill P.

[From Bruce Gregory (2010.01.12.0240 GMT)]

[From Bill Powers (2010.01.10.0722 MST)]

Just got back from attending a "Cognitive Lunch" at the University of Colorado in Boulder. Before the lunch, I showed some of the demos to Lew Harvey, the psychology department chairman, and he got quite excited about them. He wants me to come in and do all sorts of things like lead a seminar, instruct students about PCT, meet everyone... I'm wondering how much of that I can handle. But there is very definite support. At a suitable time I'll broach the idea of a CSG meeting at the university.

Congratulations!

Bruce

[From Bill Powers (2009.12.25.0430 MDT)]

Merry Christmas to all who, like me, are acculturated to it.

But not to those who think feedforward is a good idea. It isn't. It's "Grooving on the sound of the words." Feedback is an effect of an action, through the environment, on the perception that affects the action through the organism. So if forward is the opposite of back, tell me what feedforward is.

Bruce's example of putting on a coat before going outside is an example of controlling a relationship. If you get the relationship a little wrong, it makes temperature control worse instead of better. For example, I put on a coat a couple of days ago before going out, and found that the temperature outside was almost 60 degrees. Rather than taking off the coat, I just tolerated the overheating for the few minutes it took to get where I was going, a little late. Control of temperature was definitely made worse by putting on the coat because the environment changed from what it was the day before.

I also recall times when just after I had bundled up in coat and gloves and was about to leave, the telephone rang. Sometimes it was a call I didn't want to cut short, so I had to stand there talking in a warm house with my skin temperature climbing considerably out of the comfort zone, thinking I was going to leave any second now and not wanting to start all over.

In truth, you should time the putting on of the coat and gloves to coincide with leaving the house as exactly as you can, with no delays before or after leaving. Then you can minimize the overheating or the chill that occurs during the delay. That's a feedback process. The variable you're controlling is an average over many trials, but it's still a controlled variable.

The coat, by the way, will stabilize your body temperature only at one specific combination of outside air temperature and physical activity. It will make you too hot if the outside air is ten degrees too warm, and fail to keep you warm if the outside air is ten degrees too cold. All it can do is help your normal temperature controllers to work over a wider range of cold temperatures, while working against them at higher temperatures. And since using a coat is a higher-order control process, it's still not feedforward. It's feedback on a slower time scale.

The direction of all signals inside the organism from sensory organs to muscles is forward, toward the output. Only imagination runs the other way. Higher-order control systems can adjust reference signals in anticipation of disturbances, but that is simply a way of acting to control some present-time prediction of a perception. A delay in the feedback signal means that the change in reference signal is converted directly to an error signal which affects the output before the negative feedback effects occur to make the error signal less; that alone is enough to create the amount of anticipation needed to counteract any lags in the output.

There is simply no need for any special feedforward systems to exist. Every claimed advantage is already part of the control hierarchy.

Of course all anyone has to do to change my mind is show me a working model that matches real behavior better with feedforward (whatever that means) than without it. Fifty bucks to the first person who does it (all I can afford to lose).

Best,

Bill P.

Merry Christmas Bill

···

Sent from my Verizon Wireless BlackBerry

-----Original Message-----
From: Bill Powers <powers_w@FRONTIER.NET>
Date: Fri, 25 Dec 2009 04:59:29
To: <CSGNET@LISTSERV.ILLINOIS.EDU>
Subject: Feedforward yet again

[From Bill Powers (2009.12.25.0430 MDT)]

Merry Christmas to all who, like me, are acculturated to it.

But not to those who think feedforward is a good idea. It isn't. It's
"Grooving on the sound of the words." Feedback is an effect of an
action, through the environment, on the perception that affects the
action through the organism. So if forward is the opposite of back,
tell me what feedforward is.

Bruce's example of putting on a coat before going outside is an
example of controlling a relationship. If you get the relationship a
little wrong, it makes temperature control worse instead of better.
For example, I put on a coat a couple of days ago before going out,
and found that the temperature outside was almost 60 degrees. Rather
than taking off the coat, I just tolerated the overheating for the
few minutes it took to get where I was going, a little late. Control
of temperature was definitely made worse by putting on the coat
because the environment changed from what it was the day before.

I also recall times when just after I had bundled up in coat and
gloves and was about to leave, the telephone rang. Sometimes it was a
call I didn't want to cut short, so I had to stand there talking in a
warm house with my skin temperature climbing considerably out of the
comfort zone, thinking I was going to leave any second now and not
wanting to start all over.

In truth, you should time the putting on of the coat and gloves to
coincide with leaving the house as exactly as you can, with no delays
before or after leaving. Then you can minimize the overheating or the
chill that occurs during the delay. That's a feedback process. The
variable you're controlling is an average over many trials, but it's
still a controlled variable.

The coat, by the way, will stabilize your body temperature only at
one specific combination of outside air temperature and physical
activity. It will make you too hot if the outside air is ten degrees
too warm, and fail to keep you warm if the outside air is ten degrees
too cold. All it can do is help your normal temperature controllers
to work over a wider range of cold temperatures, while working
against them at higher temperatures. And since using a coat is a
higher-order control process, it's still not feedforward. It's
feedback on a slower time scale.

The direction of all signals inside the organism from sensory organs
to muscles is forward, toward the output. Only imagination runs the
other way. Higher-order control systems can adjust reference signals
in anticipation of disturbances, but that is simply a way of acting
to control some present-time prediction of a perception. A delay in
the feedback signal means that the change in reference signal is
converted directly to an error signal which affects the output before
the negative feedback effects occur to make the error signal less;
that alone is enough to create the amount of anticipation needed to
counteract any lags in the output.

There is simply no need for any special feedforward systems to exist.
Every claimed advantage is already part of the control hierarchy.

Of course all anyone has to do to change my mind is show me a working
model that matches real behavior better with feedforward (whatever
that means) than without it. Fifty bucks to the first person who does
it (all I can afford to lose).

Best,

Bill P.

Merry christmas bill and thanks for the many gifts over time you have given unbeknownst to you in furtherance of my career. Thank you for your kindness and honesty. Best always to you during this holiday season and always. gary

from Bill Powers (2009.12.25.0430 MDT)

BP : Merry Christmas to all who, like me, are acculturated to it.

BP : But not to those who think feedforward is a good idea. It isn't. It's
"Grooving on the sound of the words." Feedback is an effect of an
action, through the environment, on the perception that affects the
action through the organism. So if forward is the opposite of back,
tell me what feedforward is.

BH : I'm guessing that feed-back is something that has already happened and
feedforward could be something that will happen. It doesn't seem opposite.
It looks like a continuing story of exchanging feed-forward and feed-back.
I don't see the problem what we think about feed-forward, it's problem, what
you think about it. Can you clear my mind with some "definitions" you gave.
What did you mean by using them. Remember, it's your Theory and we just try
to follow your explanations and verify them, when experiencing our lives.

Can you please comment every example bellow.

1. example :
BP : Then I realized that I had probably been doing that all along, though
there were some cases where I really did turn and run, then turn around,
locate the ball, and catch it. But I also realized that those were the cases
in which I couldn't do it the other way because the ball was too high and
fast and I couldn't run backward fast enough while keeping my eye on the ball.

BH : My comment : If I understand this right you used feed-forward when
feed-back couldn't work.

2.example :
BP and MT (much, much earlier)
BP wrote : "In my mind's eye I can see the imagined path of a served
ping-pong ball very soon after it leaves the opponent's paddle.."
MT wrote : "That's prediction in my book"
BP wrote : "Yes I agree. We're not discusing whether prediction happens --
we both know it does.

BH : My comment : I assume here that here we have predictive feed-forward.
So if I understand right prediction is some imagined path into the future.

3. example :
BP : The safest thing to do is trust the feed-forward, but verify it with
feedback control to handle the many situations in which feed-forward fails
to help or makes matters worse.

BH : Is this some combination of feed-forward and feed-back. If I understand
right there are also many situations when feed-forward works.

4.example :
BP : As to other kinds of feed-forward such as making plans or taking
precautions, those belong to higher-level kinds of control which involve
much slower changes and longer delays.

BH : no comments

5. example :
BP : In wildlife programs I have seen, the prey can be seen altering its
path as predators approach and try to cut off its escape.

BH : My commnent : Can we assume here that predator is using feed-forward to
cut escape of prey. It seems like predator has some imagined pathway where
the pray will be in some future moments.

6. example :
BP : Reacting on the basis of smell is very chancy, since smell carries no
directional information (except perhaps that the source is somewhere in the
direction from which the wind is blowing, if there is one). The best
feed-forward action that might occur is to start looking around more
alertly, trying to locate where the lion is, so that the action can be
adjusted appropriately to the error.

BH : My comment : Isn't it this feed-forward action (to look around more
carrefuly) enabling antilope to recognize if predator is somewhere near so
she could spot him before predator starts running. That seems important to me.

7. example :
BP : Opponents also use your anticipation to get past you, don't they?

BH : So players obviously use feed-forward.

8. example :
BH (earlier) : The goal of the game is more efficiently achieved if the
moving of players are anticipated (predicted, planned). It's so called tactics.

BP (earlier): True, and I would call this feed-forward.

BH : My comment : Planning as feed-forward is obviously important in peoples
life.

9.example :
BH (earlier) : So sensing the cause of disturbance (opponent) and
anticipation of effects (opponent's action) players are improving control.

BP : Yes. But the whole question rests on just how much improvement you can
get from feedforward, especially when feedback control is possible.

BH : My comment : You are using a lot of times : "when feedback control is
possible", "if feed-back is possible", "when feedback is impossible". So
it's obviously that feedback is not possible many times in the games of any
sport. Obviously there must be something going on when feed-back is
"switched off". So if in the meantime it seems to me, that feed-forward is
going on, and it's somehow obvious to me, that combination of feed-forward
and feed-back is always happen during the game.

10. example :
BP: No, it's necessary in order to win only when feedback control is
impossible.

BH : My commnet : It's more than obvious that feed-back control is
impossible quite many times. How can people behave without feed-back ? What
is happening when feed-back control doesn't work ?

11. example :
BP : Such plans work only if there are no unexpected disturbances or changes
in the environment, which is not true very often. It's good to be prepared,
but you also have to be ready to handle errors as they arise, by normal
feedback control. Even if feedforward does reduce the effects of some
disturbing events, it can never counteract them accurately, so the feedback
control systems still have to act. Would you say that your fast reaction to
a sudden wind disturbance was as accurate as your normal steering process?
By combining feedforward with feedback, as in the diagram I posted
yesterday, it is possible to generate some approximately correct actions
during the time before the negative feedback system starts to act.

BH : My comment : Obviously you pointed out that combination of feedforward
and feed-back is the optimal solution especially when feed-back control is
impossible, as YOU SAID. Something must go on when feed-back is impossible.
If I understand right there is some optimal combination of feed-forward
"which is reducing some disturbing events", and feed-back, which is
"handling errors as they arise", is probably necessary in completing the
functions of maintaining the essential variables in their limits.
I built all my logic about feedforward on your explanation of your Theory.
So I don't understand what you are looking for in your question :

BP : So if forward is the opposite of back, tell me what feedforward is ?

BH : I think you'll have to answer this question for yourself first. We are
learning (at least I am) from your explanations, which are sometimes tricky
and manipulative just to prove that feed-forward is useless. This time if
it's possible, please answer clear, without manipulating my text.
If there is no feed-forward, just say it : It's only feed-back on different
levels of hierarchy !!! and that's it. Feed-back is working all the time,
and I'll use it.

BP : Merry Christmas to all who, like me, are acculturated to it.

BH : It's not that I don't like you. You must be fine and clever man
according to picture and your writings in B:CP. I just don't like your
attitude to me. Merry Christmas.

P.S. And I didn't write this post because of money. I don't need it. But if
you want to get 50 bucks or more from me, you'll first have to send me your
newest book as we agreed quite long time ago :):slight_smile:

Best,

Boris

Merry Christmas and a Happy New Year to you, Bill Powers, and thank you for your gift that keeps on giving: PCT.

···

--
Regards,

Fred Nickols
Managing Partner
Distance Consulting, LLC
nickols@att.net
www.nickols.us

"Assistance at A Distance"
  
-------------- Original message ----------------------
From: Bill Powers <powers_w@FRONTIER.NET>

[From Bill Powers (2009.12.25.0430 MDT)]

Merry Christmas to all who, like me, are acculturated to it.

But not to those who think feedforward is a good idea. It isn't. It's
"Grooving on the sound of the words." Feedback is an effect of an
action, through the environment, on the perception that affects the
action through the organism. So if forward is the opposite of back,
tell me what feedforward is.

Bruce's example of putting on a coat before going outside is an
example of controlling a relationship. If you get the relationship a
little wrong, it makes temperature control worse instead of better.
For example, I put on a coat a couple of days ago before going out,
and found that the temperature outside was almost 60 degrees. Rather
than taking off the coat, I just tolerated the overheating for the
few minutes it took to get where I was going, a little late. Control
of temperature was definitely made worse by putting on the coat
because the environment changed from what it was the day before.

I also recall times when just after I had bundled up in coat and
gloves and was about to leave, the telephone rang. Sometimes it was a
call I didn't want to cut short, so I had to stand there talking in a
warm house with my skin temperature climbing considerably out of the
comfort zone, thinking I was going to leave any second now and not
wanting to start all over.

In truth, you should time the putting on of the coat and gloves to
coincide with leaving the house as exactly as you can, with no delays
before or after leaving. Then you can minimize the overheating or the
chill that occurs during the delay. That's a feedback process. The
variable you're controlling is an average over many trials, but it's
still a controlled variable.

The coat, by the way, will stabilize your body temperature only at
one specific combination of outside air temperature and physical
activity. It will make you too hot if the outside air is ten degrees
too warm, and fail to keep you warm if the outside air is ten degrees
too cold. All it can do is help your normal temperature controllers
to work over a wider range of cold temperatures, while working
against them at higher temperatures. And since using a coat is a
higher-order control process, it's still not feedforward. It's
feedback on a slower time scale.

The direction of all signals inside the organism from sensory organs
to muscles is forward, toward the output. Only imagination runs the
other way. Higher-order control systems can adjust reference signals
in anticipation of disturbances, but that is simply a way of acting
to control some present-time prediction of a perception. A delay in
the feedback signal means that the change in reference signal is
converted directly to an error signal which affects the output before
the negative feedback effects occur to make the error signal less;
that alone is enough to create the amount of anticipation needed to
counteract any lags in the output.

There is simply no need for any special feedforward systems to exist.
Every claimed advantage is already part of the control hierarchy.

Of course all anyone has to do to change my mind is show me a working
model that matches real behavior better with feedforward (whatever
that means) than without it. Fifty bucks to the first person who does
it (all I can afford to lose).

Best,

Bill P.

[From Rick Marken (2009.12.25.0825)]

Bill Powers (2009.12.25.0430 MDT)

Of course all anyone has to do to change my mind is show me a working model
that matches real behavior better with feedforward (whatever that means)
than without it. Fifty bucks to the first person who does it (all I can
afford to lose).

I'll add $150 to that. So $200 to the first person who does it.

Best

Rick

···

--
Richard S. Marken PhD
rsmarken@gmail.com
www.mindreadings.com

[From Dick Robertson, 2009.12.25.1437CST]

Merry Christmas and Happy New Year, Happy Chanukah, Happy Kwanzaa, Happy the whole year.

Best,

Dick R

[Martin Taylor 2009.12.25.10.46]

[From Bill Powers (2009.12.25.0430 MDT)]

Merry Christmas to all who, like me, are acculturated to it.

And to you, too. Judging from the time stamp, you must have stayed up
awaiting Santa’s arrival? Feedforward, or just feed from the fridge?

But not to those who think feedforward is a good idea. It isn’t. It’s
“Grooving on the sound of the words.” Feedback is an effect of an
action, through the environment, on the perception that affects the
action through the organism. So if forward is the opposite of back,
tell me what feedforward is.

OK, I will. It’s whatever the user of the term intends the
hearer/reader to understand by it. Different folks, different
intentions. I’ve understood people to intend quite a few different
meanings in the course of this rather dictionary-oriented discussion,
and I have thought of other ones in private correspondence. Here are
three (plus subtypes):

The use of prediction: (a) of the future course of the controlled

perception, (b) of the effect of the output on the controlled
perception at some time in the future, (c) of the effect of a
disturbance to one controlled perception perceived by the perceptual
input of a different control system.

Acting in an environment stable enough that the effect of an output

is likely to bring some variable to a desired state without the need to
observe the effect (a.k.a. “fire-and-forget”). Examples: setting off a
timer-controlled explosive (e.g. a suitcase bomb). Throwing a glass
into the fireplace after a toast (with the intent that the glass should
break). Pulling the trigger of a gun (with the intent that the bullet
should leave the barrel). All of these might occasionally fail to
produce the desired effect, but usually they work, and the effect
cannot be corrected at that level of control if they don’t work. You
can’t retrieve the suitcase bomb and re-set it, because the target
politician would not be there when it went off, though at a higher
level you can still retarget the politician for assassination by some
other means. You can’t pull the glass out of the fire if it failed to
break, and you might well not be able to tell whether it was your glass
that failed to break or that of one of your drinking buddies. And you
certainly don’t want to try pulling the trigger again if the bullet
failed to leave the barrel!

Putting up a shield against a disturbance that you anticipate might

or might not happen in future, so that when and if it happens you will
not need overt output to counter the disturbance. Skin and cell
membranes are shields developed by evolution. Insulating a house is a
more modern example, a shield against fluctuations in the environmental
temperature, reducing the range of outputs necessary to control against
those fluctuations.

Let me add another plausible meaning that seems to incorporate much of
the intent of these and other possibilities.

In a normal elementary control loop, we conventionally use the term
“feedback path” to be the part of the loop that passes through the
environment. So the obvious name for the rest of the loop from sensory
input to functional output is “feedforward path”, and any signals that
use that path would be “feedforward” signals. That’s simply a normal
use of complementary words, in the same way that the use of “in”
implies the possibility of “out”.

If you define “feedforward” so that it doesn’t exist when any other
complete control loop is also involved, then of course feedforward
never exists. If you define it as the part of any control loop that is
not through the environment, then it always exists. Neither of these is
a very useful way of looking at the considerable range of situations in
which the word has been used in this discussion and elsewhere. But if
you use “feedforward path” to refer to the signal pathways not in the
environment, and “feedforward” to signals in that pathway not (yet)
influenced by one or both of an anticipated disturbance or feedback
through the environment, then I think the term might be useful. It also
would cover most or all of the cases that have come to my mind.

Many of the other uses including those mentioned above are consistent
with this meaning. Bill’s counter-examples mostly involve control
systems other than the one for which “feedforward” was suggested. Of
course, if you trust PCT to be reasonably correct, complete control
systems must be involved in the observed behaviour. Consider the
classic “fire-and-forget” meaning for “feedforward” using it literally.
At some control level, the shooter has a reference to perceive a target
as having been hit. At lower levels, the output path of this control
system includes, among others, a control system for aiming the gun, and
at a still lower level a control system for firing it. This last is a
pure feedforward system, inasmuch as its output action is to have the
trigger pulled (the pulling, of course, is done by a perfectly normal
control system); once the trigger has been pulled nothing the shooter
can do can recall the bullet, the aiming control system cannot affect
where the bullet goes, and the “see the target hit” system cannot
affect whether the bullet will influence its own error. Nevertheless,
the “see target hit” system can still influence the aiming system, the
aiming system can reduce its error by altering the reference for the
gun direction, and the firing system can release another
fire-and-forget bullet.

Bruce’s
coat example is a good illustration of one of the useful ways the word
“feedforward” could be used.

Bruce’s example of putting on a coat before going outside is an example
of controlling a relationship. If you get the relationship a little
wrong, it makes temperature control worse instead of better. For
example, I put on a coat a couple of days ago before going out, and
found that the temperature outside was almost 60 degrees. Rather than
taking off the coat, I just tolerated the overheating for the few
minutes it took to get where I was going, a little late. Control of
temperature was definitely made worse by putting on the coat because
the environment changed from what it was the day before.

A perfect example of “Prediction type b”. You compensated (feedforward)
for a disturbance you had not yet perceived. That was control of a
relationship, but at that moment the magnitude of the relationship was
imagined, not perceived.

In truth, you should time the putting on of the coat and gloves to
coincide with leaving the house as exactly as you can, with no delays
before or after leaving. Then you can minimize the overheating or the
chill that occurs during the delay. That’s a feedback process. The
variable you’re controlling is an average over many trials, but it’s
still a controlled variable.

Yes, like the gun-aiming, a higher-level control system adjusts its
setting of references for the one to which “feedforward” could be said
to apply. A more extreeeeme example of feedforward with
reference influenced by a higher-level learning system might be the old
upper-class English tradition of setting aside a bottle (or a case) of
port for a newborn son, to be opened on his 21st birthday. The
controlled perception is that the son will have a pleasant experience
21 years later (when at that time, in England, he attained the age of
majority and the parent might quite probably be dead). Yes, there are
feedback loops involved, not least importantly one analogous to the
gun-aiming loop, in which the “aim” is the choice of port, which has
been found to age well, as opposed to, say, a Beaujolais Nouveau, which
doesn’t.

Of course all anyone has to do to change my mind is show me a working
model that matches real behavior better with feedforward (whatever that
means) than without it. Fifty bucks to the first person who does it
(all I can afford to lose).

If you accept my comment that the whole issue is a dictionary squabble,
you have lost already! Actually, I think Rick won some time back in the
early 1990s, when he showed that using the derivative of the perception
to alter the reference value improved tracking of a sine wave
(Feedforward class “Prediction type a”). I used his suggestion in the
published modelled results of the modafinil study around 1994, one of
the results being the change in the relative importance of current
perception as opposed to prediction with and without the “benefit” of
drugs against the effects of sleep loss. The figure shows this effect
for the three drug conditions (placebo, amphetamine, and modafinil)
over the course of the two sleepless nights of the study.

Modafinil_prediction_small.jpg

If you are interested, the whole paper is downloadable from
.
My bottom line: if “feedback” is a useful word, then so is
“feedforward”, and its natural meaning is the complement of “feedback”.
To argue simultaneously that the meaning of feedforward is unknown, and
that it doesn’t exist, is to leave permanently open the escape hatch
that THIS (whatever it might be) is not “feedforward” when someone
offers a model that purports to satisfy your challenge.
Happy Xmas.

···

http://www.mmtaylor.net/PCT/modafinil.tracking.doc

[Martin Taylor 2009.12.25.16.56]

[From Rick Marken (2009.12.25.0825)]

Bill Powers (2009.12.25.0430 MDT)
     
Of course all anyone has to do to change my mind is show me a working model
that matches real behavior better with feedforward (whatever that means)
than without it. Fifty bucks to the first person who does it (all I can
afford to lose).
     

I'll add $150 to that. So $200 to the first person who does it.

You should be pretty safe, since I think you are yourself the winner for your 1993? demonstration. I can't think of anything earlier than that.

Martin

[From Bill Powers (2009.12.25.0840 MDT)]

BH : I'm guessing that feed-back is something that has already happened and
feedforward could be something that will happen. It doesn't seem opposite.
It looks like a continuing story of exchanging feed-forward and feed-back.
I don't see the problem what we think about feed-forward, it's problem, what
you think about it. Can you clear my mind with some "definitions" you gave.
What did you mean by using them. Remember, it's your Theory and we just try
to follow your explanations and verify them, when experiencing our lives.

Can you please comment every example bellow.

Very well: I have changed my mind since I wrote those earlier things you cited.

When the subject of feedforward was first bought up many years ago (at least 50) my first impression was that the person who did it was just trying to show that he could out-do Norbert Wiener, and didn't even understand feedback. But then I thought that this was an unkind idea, so I tried looking for ways to make sense of it, which I managed to do. Then people stopped talking about feedforward and I put it out of my mind. I thought they had seen what is wrong with it as a model of behavior. It kept coming up, and going away again.

When it came up again on CSGnet I thought "here we go again," and tried to find some good in the idea again. Although I had never had a reason to use feedforward in any control system I designed and built, and had never seen any other control system engineer use it, it was certainly part of many 18th-century designs for machines which ran open-loop (like that temperature-compensated pendulum). Besides, there were modern control engineers whose designs I haven't seen and they could easily have used it without my knowledge. That diagram I posted a week or two ago was drawn by a professor of control engineering, so it's possible that someone actually used that sort of feedforward design. I think he was just illustrating a hypothetical system, but perhaps not.

But now I realize that it doesn't pay to make excuses for a bad idea. Feedforward is simply stimulus-response theory in disguise. Sure, we might have to use feedforward -- open-loop reactions instead of control -- when we can't figure out how to it right, or when accuracy and reliability don't matter so much (my Christmas-tree lights are on an open-loop timer). That's fine with me, but not as a model of organisms. There is no engineer standing by to readjust an organism when its open-loop feedforward systems go out of calibration. Organisms have lasted billions of years because they control variables at every level, not because they jump when you jab a pin into them (and even that is really a control process).

In these conversations I have tried to make it clear that predictive control is not control of the future, but control of a present-time perception of what the future is currently calculated to be if everything else, including our own behavior, stays the same. We then adjust our behavior, in imagination, and recalculate, repeating the cycle until the prediction matches what we want it to be. When the imagined action is switched to become a reference signal for lower systems, the closed-loop behavior takes place, and has approximately the effect we want if we guessed at the right reference signal, unless a new disturbance appears or actually carrying out the behavior turns out to be more difficult than imagining it (a possibility that should surprise nobody).

Predictive control is negative feedback control, not feedforward. When I imagine the path of a ping-pong ball, I am imagining it now, not in the future. I adjust my action in relationship (level 5) to the imagined perceptions, recalculating and changing my prediction until it matches what I want to perceive. That is a normal negative feedback control process. If the ping-ping ball comes at me too fast I will probably miss it anyway. When I put on a coat before leaving the house, I am adjusting, in present time, how I imagine I will feel when I go outside: cold without the coat, warm with the coat. That, too, is an ordinary negative feedback control process. I may still have to come back inside and get a heavier, or lighter, coat.

The only case that still looks plausible is the one in which a disturbance is sensed and affects the output of the system without comparison with a reference signal. By itself, this is one of those ideas that is theoretically workable but impossible to implement in practice, particularly in a nervous system. A crude approximation to the right behavior might be achievable this way, but it is subject to all the problems we have noted in speaking of stimulus-response theory.

It is still possible that feedforward effects from a disturbance might improve the performance of a negative feedback control system. How much improvement is possible depends on how well the control system does without the feedforward. For example, if one leaves the house without a coat, senses how cold the air is, goes back through the door to get a coat, and then goes out again, by how much does the skin temperature deviate from the reference condition compared with the amount it would have changed if one had put the coat on before leaving the house? You have to count positive excursions as well as negative ones, as I noted in my previous post, and one has to remember that the existing negative feedback control system would have come immediately into action. The amount of improvement in control is not likely to be very great, or to be significant beyond the first ten or fifteen seconds -- as long as it takes to realize the coat is needed, or not needed.

And look at it the other way: how much larger would the deviations have been if negative feedback control, instead of feedforward, were omitted? Now we have the case of guessing that the outside air will be cold, putting on a light or heavy coat depending on the estimated temperature, and then going on to do whatever one wanted to do outside without any further action to get warmer or cooler. Now we would expect far larger, perhaps even fatal, deviations of body temperature from the reference temperature. There's no way the open-loop design could be adequate. Feedback control is FAR more important than feedforward compensation.

Defenses of feedforward as a viable model of behavior rely exclusively on qualitative reasoning: block diagrams with no numbers in them. But control is a quantitative process and the feasibility of any design has to be decided on quantitative grounds. Just how accurately can a feedforward system sense the actual size and direction of a disturbance? Given a perception of size and direction, how quickly and accurately can the feedforward system calculate how much effect the disturbance will have on the controlled variable? Given the size of the effect, how accurately can the system compute the response of the controlled variable to the effect of the disturbance? Given that computation, how accurately can the feedforward system generate a command to cause the output of the controller to produce, through a different pathway, an equal and opposite effect on the response of the controlled variable? And how accurately will the nervous system and muscles, the joints and the limbs, respond to that command?

The answer to each of these questions bears directly (and additively in the manner of variances) on how successfully the feedforward system can oppose the effects of the disturbance. I'm sure my answers to these questions are pretty predictable. But nobody has to accept my answers. It is, after all, possible to test assertions experimentally, and that always takes precedence over theoretical speculations. I will try to think up some experiments and demonstrations, and of course welcome anyone else's efforts in the same direction. But I think we have had enough of uninformed speculations.

Best,

Bill P.

···

At 08:53 AM 12/25/2009 -0600, Boris Hartman wrote:

[From Rick Marken (2009.12.25.2315)]

Martin Taylor 2009.12.25.16.56]

Rick Marken (2009.12.25.0825)

Bill Powers (2009.12.25.0430 MDT)

Of course all anyone has to do to change my mind is show me a working
model
that matches real behavior better with feedforward (whatever that means)
than without it. Fifty bucks to the first person who does it (all I can
afford to lose).

I'll add $150 to that. So $200 to the first person who does it.

You should be pretty safe, since I think you are yourself the winner for
your 1993? demonstration. I can't think of anything earlier than that.

Thanks. But that was not a feedforward model (whatever that is). It
was a two level feedback control model; the higher level system was
controlling for making a sine wave pattern of back and forth movement
with the cursor by sinusoidally varying the reference for cursor
position ; the lower level system was controlling for keeping the
cursor at this varying reference position. It's feedback all the way,
yo ho ho.

Best

Rick

···

--
Richard S. Marken PhD
rsmarken@gmail.com
www.mindreadings.com

[From Rick Marken (2009.12.29.1705)

Martin Taylor (2009.12.29.16.35)

Probably so. But you may have a problem finding conditions that would offer
good discrimination between the two models. As you said in 1995, the
advantage of including prediction shows up mainly when feedback is sluggish.
In my sleep-loss study, the difference between the drug conditions showed up
only after a night of sleep loss, and even then the effect, though clear,
was not very big. As Bill has pointed out, control is pretty good without
prediction under the conditions usually used in tracking studies, so under
those conditions there isn't much room for either prediction or higher-level
sequence generators to show off their advantages. That makes it even harder
to demonstrate the relative benefit of one over the other under the best
discriminative conditions.

What is the predictive model?

Best

Rick

···

--
Richard S. Marken PhD
rsmarken@gmail.com
www.mindreadings.com

[From Rick Marken (2009.12.29.2210)]

Bjorn Simonsen (2009.12.29.2215 EU ST)

you will find why Tom Bourbon thinks "feedforward" is not a PCT concapt.

Thanks for posting that oldie but goodie.

On that note, I started my research on "feedforward" and I quickly
discovered that a simple integral control system -- with no
prediction or feedforward -- controls better in a pursuit tracking
than in a compensatory tracking experiment with the exact same
disturbance in both cases. What's that about? Bill? Help!

Best

Rick

···

---
Richard S. Marken PhD
rsmarken@gmail.com
www.mindreadings.com