Distributed Neural Processing

Historically, neural network models have been characterized by intensive processing, producing and consuming large amounts of data, leading to either parallel and/or distributed computation [SN20]. In general, workstation environments have been sufficient in processing smaller neural networks having no more than a few hundred "simple" neurons. However, neural networks consisting of thousands or millions of neurons and connections among them can require many hours of simulation, as in the case of the retina model [SN21] consisting of more than 100,000 neurons and half a million interconnections. Considering that neural networks processing is based on differential equations, it takes many cycles to generate meaningful output. These cycles are applied to each neuron in the model, with input and output transmissions varying depending on the number of interconnections among neurons. This gets even worse if we consider, as shown in Figure 2, that an independently built model, such as the retina, can then be part of a larger model, having many such interconnected modules. Thus it is crucial to reduce processing time, something that is possible if having access to high-end computers such as supercomputers or through a distributed network of inexpensive workstations. In general parallel environments have been harder to develop and program, thus making workstations a much more accessible solution. It should be noted that providing a powerful processing environment as part of the actual robot would mean having robots the size a regular vehicle, something that would make research on robotics much more expensive and harder to carry out. Thus, most of the robot's intelligence is remotely provided by a single computer in the case of smaller programs, or a network of computers in our case. In such a way, we have developed a distributed NSL/ASL architecture, which will serve as basis for the project [SN22]. The general approach in the distributed environment is to process each neural level module in a different machine, while schema level modules are assigned to the machine with the corresponding neural ones [SN23]. An important aspect in processing of schema and neural modules involves the use of different temporal scales, something that in distributed system requires additional considerations [SN24]. Since many biological models, in particular those previously mentioned and as the one shown in Figure 2 involve visuomotor coordination, an additional constraint in processing is the requirement of real time video. This represents two separate restrictions, one on the wireless network connected to the camera on top of the robot and the second one in terms of the Internet network that must process the video signal in an efficient manner. The attainable image frequency rate depends on:
  1. The resolution of the camera .
  2. The bandwidth of the wireless network (including image compression considerations).
  3. The Internet2 bandwidth.
  4. The sophistication in object recognition.
  5. The distributed NSL/ASL processing efficiency.
  6. The actual model complexity.
There are additional factors affecting the system, in particular those related to the QoS (quality of service) and mobility of the robot.