Our robot learns to track a specific target using supervisory feedback from a teacher. During training, the teacher watches the robot's video input and corrects its behavior whenever it makes a mistake. The teacher corrects the robot by indicating where the target is located in the visual field using a graphical user interface. This action prompts the learning algorithm to adjust the weights of the convolutional neural network in order to better track the object at that location.
The algorithm uses the supervisory signals to adjust the kernels WZand scalar weights cZ of the neural network. The neural network is updated whenever the maximally salient location of the neural network (im,jm) does not correspond to the desired object's true position (in,jn) as identified by the teacher. Objective functions proportional to the sum squared error terms at the maximal location and at the new desired location are used for training the network:
For each correction that is provided by the teacher, the algorithm tries to minimize the errors in these objective functions. First, the gradients of Eqs. 5-6 are computed. These gradient terms are then backpropagated through the convolutional network [Nowlan,LeCun], resulting in the following rules for adaptation:
In typical applications of neural networks where a large set of the training examples can be considered simultaneously, the learning rate is set to some small positive number. However in our case, it is desirable for the robot to learn to track an object in a new environment as quickly as possible. Thus, rapid adaptation of the weights during even a single training example is needed. A natural way of doing this is to use a fairly large learning rate, and to repeatedly apply the update rules in Eqs. 7-8 until the calculated maximally salient location is very close to the actual desired position.