Dawson Margin Notes On

Pfeifer and Scheier, Understanding Intelligence

Chapter 5: Neural Networks For Adaptive Behavior


Neural networks are important in many embodied agents.  Why?  They degrade gracefully, they are damage resistant, they are adaptive, they are biologically relevant, and they exhibit parallel processing.  They can also be embedded into physical robots in natural ways.  With regards to this, we can only fully understand this kind of network by knowing how it is connected to sensors and to motors – network understanding is situated!


5.1 From Biological to Artificial Neural Networks


Goal of chapter is to give a brief, non-technical overview of neural networks.  A processing unit in an artificial neural network is a highly abstract description of a neuron, and an ANN itself requires the specification of 4 or 5 basic elements:


  1. The characteristics of the processing units
  2. The connectivity in the network
  3. The propagation rule (NB: atypical emphasis on processor output)
  4. The learning rule
  5. Embedding the network into the agent


With respect to the first point, the key thing to define is the activation function, which takes as input the net input to the unit.  The activation function can be mathematically rendered to make time and explicit variable in the equation.  Different networks use different activation functions in their units.  (NB: for example, consider difference between integration devices and value units.)


The notion of network connectivity involves specifying how units are connected to one another, and therefore whether information can flow in one or more directions in the network.  Terms used at this level include “feed forward”, “recurrent”, “fully connected”.


(NB: The propagation rule is defined in a weird way in this book.  It basically is the net input function, viewed in terms of output.  They harp about it because it usually doesn’t involve time, which is likely going to be important in embodied agents.  However, they neglect to mention alternatives to the standard dot product here, such as the sigma-pi function or the distance function used in RBF networks.)


The fourth point defines the rule that is used to modify connection weights in a network.  The example that they focus on is the Hebb rule. (NB: Interesting emphasis, given the well-known limitations of this rule.)


The fifth point requires knowing the physics of sensors and motors, and how to link them to the network.


5.3 Distributed Adaptive Control


 They illustrate the use of networks in robots by describing an agent that is supposed to avoid obstacles.  They describe a “distributed adaptive control” notion, which is basically Hebbian learning to create associations between sensor and motor responses.  The robot is attracted to light targets, but must avoid obstacles.  Light attraction is similar to a Braitenberg vehicle – light sensors drive cross-connected motors.  Some reflexes are built into the robot.  For example, if it hits an obstacle, it backs up, turns a bit, and then ventures forward.  Hebbian learning is used to condition the robot so that this withdrawal reflex is not driven by an actual collision, but is instead driven by proximity detectors that are active before a collision occurs.  (NB: They provide a cool analysis of weights that is used to explain this behavior.)  One emergent behaviour is wall-following. (NB: to get this, pure Hebbian learning is not used – they include a forgetting function.)


5.4 Types of Neural Networks


They classify networks in terms of nonsupervised learning (which they like), supervised learning like backprop (which they don’t like), and reinforcement learning networks.  Interestingly, from my perspective, they miss big time on the autonomy issue – this is one chapter that could be spruced up quite a bit with the type of analysis that Dawson and Schopflocher gave to Hebb learning in 1992.


5.5 Beyond Information Processing: A Polemic Digression


Too polemic.  The criticism is that networks still face the symbol grounding problem.  Apparently this magically goes away if you replace simulated inputs with physical sensors.  This section of the chapter is pure bullshit, IMHO.