Imperial College of Science, Technology and Medicine

Modelling Neural Processing Using Venn-Networks in Physiological and Pathological Scenarios

PhD Thesis – Fernando Buarque de Lima Neto, BSc MSc

London/United Kingdom, August 2002

Generalised Venn-Networks Simulator

 

Introduction

In order to simulate Venn-networks and other ideas introduced in this thesis, it was necessary their implementation as computational programs. The generalised Venn-network simulator or GVNS is the name given to the computer routines that have implemented these ideas. At this point it is assumed that the reader is already familiar with the theory and algorithms proposed and utilised here.

This appendix contains a comprehensive yet brief description of the simulator including various aspects of its implementation as well as snapshots of most of their screens. To help the comprehension of this very extensive piece of software we selected documentation techniques from structured and object-oriented analysis, the latter chiefly UML [Jackobson99] [Boock99] [Rumbaugh99]. The sections to follow address the most important aspects of systems – as it is referred in [Pressman00]; they are use-cases, structure, behaviour and operation.

 

Brief description and highlights of the Venn-network simulator

In brief the GVNS can be described as a powerful computational tool to simulate two-dimensional patches of cortex-like in physiological and pathological scenarios.

There are five aspects of the simulator that should be highlighted as they enable the end-user to investigate artificial neural networks of non-trivial connectivity as well as non-homogeneous composition of processing units. The GVNS highlights are:

·   The multi-featured processing units, multi-processing regions, multi-fibre type, and multi-input/output sources. Jointly these characteristics allow investigations of fairly complex artificial topologies of network.

·   The incorporation of the concept of processing phases permits simulations to utilise non-monotonic sets of learning parameters, and allows investigations of time-variable aspects such as ageing and modulation.

·   The ability to deal with lesions similar to multiple sclerosis plaques and strokes grants the experimenter with a great deal of flexibility on investigating functional impact and evolution of these diseases.

·   The internal calculation of output statistics simplifies greatly data analyses.

·   And the ability of producing highly configurable streams of snapshots (that resemble functional images) is a bonus to be used in clinical studies.

Use-cases of the Venn-network simulator

The generalised Venn-network simulator incorporates six main use-cases. Figure 1 shows these usage scenarios from the end-user’s perspective.

Figure 1 – High-level use-case diagram of the Venn-network simulator

Below the reader can find a brief description of each one of the GVNS use-cases:

·   Input architecture parameters: this use-case allows the end-user to create and graphically visualise the static structural features of the network to be simulated.

·   Input simulation parameters: this use-case allows the end-user to specify and inspect how the simulations are set to be carried-out along time.

·   Input pathology-like data: this use-case allows the end-user to input and also graphically visualise any disease-like data that eventually will be utilised in some kinds of simulations. Diseases possible to be simulated in this version of the simulator are multiple sclerosis and/or strokes like effects.

·   Train, test and stimulate network topologies: this use-case allows the end-user to perform trainings and testings upon any topology that has been created considering (i) simulation parameters, (ii) pathology-like data and (iii) train and test patterns, and (iv) external stimulations utilised to simulate the investigated networks.

·   Observe pathological and physiological results: immediately after network training and testing, the simulator can also be used to produce graphical results when untrained data is presented to the network (i.e. unseen patterns). This can be achieved as well in future executions of the simulator because all synaptic values can be saved on permanent media.

·   Obtain statistics of simulations: finally the end-user can use the simulator to calculate performance and error statistics of trainings, testings and simulations of behaviour – this in any combination of network topology and simulation set-up.  

Further details such as parameters used and operations defined per use-case will be provided in the sections to follow.

 

Internal structure of the Venn-network simulator

The Venn-network simulator was designed as an assembly of interdependent modules (i.e. classes) that communicate which each other to produce the desired results (i.e. use-cases). Figure 2 contains classes comprising the internal static structure of the simulator, plus the external subsystem that generates disease-like data. The indicated cardinalities (relationship between classes) define the actual existence of their instances.

Figure 2 – Constituent classes of the Venn-network simulator

          To improve readability in the figure all data exchanged between modules and their collaboration relation was omitted. Another simplification was the abstraction of any references to physical data repositories, as well as references to the system dynamics. This information is given in other parts of this CD-ROM, namely files names section and demonstration abstracts section.

 

Below, the most important classes of the GVNS are briefly explained:

·   Main: this class controls most of the functions of the simulator, including learning algorithms, processing of pathologies, and routines such as ageing, modulation, and generation of random noise/relaxation. It also carries-out all calculations of performance and errors, as well as it manages the user interface.

·   Architecture: this auxiliary class displays graphically all details of the topological design of the simulated networks. It displays selectively types of processing unit types, region boundaries, and the various types of fibres.

·    Simulation: this other auxiliary class displays the list of parameters selected for simulations. To help user visualisation all information is grouped into processing phases, where the most relevant or unusual parameters are highlighted accordingly.

·   Map: by means of variations in the colour of units composing the cortical map (there is a colour scale besides the map), this class displays a stream of snapshots of the simulated cortex-like patches. This class is instantiated twice in the simulator; the first instantiation indicates cortical activity and the second, illustrates various modulatory effects actuating on the cortex.

·   MS-plaque: this class displays transversal cuts of fibres affected by multiple sclerosis. Variations in colour illustrate the severity of the damage imposed by the plaques to the various axons component of the affected fibre. Additionally, there is an indication of which region of the cortex is connected to the diseased fibre.

·   Hand: this class graphically illustrates the evoked behaviour of hand-like effectors when stimulations are carried out. Finger flexions are indicated by the reduction in size of rectangles symbolising fingers of the virtual hand. The number of instantiations of this class (i.e. hands) as well as the number of fingers is defined prior to simulations.

·   Keyboard: this class produces also graphically an illustration of evoked behaviour resulting from simulations. Here, lateral movements of virtual hands are indicated on a featured keyboard. Evoked keystrokes are represented as numbers on the top of the keys, with different colours for each hand. Instantiations of this class are also defined in advance.

·   Stimulation: this class was introduced to perform various external stimulations into the various networks simulated. In the present version of the simulator it works in two different ways generating external: (i) input afferent patterns or (ii) efferent feedbacks suck as sensory feedbacks. The only difference of these two kinds of stimulations to the normal ones is that they are externally controlled by the experimenter and can be produced at any time on top of all other signals being processed by the net.

 

Behaviour of the Venn-network simulator

Another important aspect of understanding how the simulator processes is to learn the sequence of actions and reactions between the user and the system throughout time. In Figure 3 the most relevant of these interactions can be seen (time is indicated downwards, along vertical dotted lines). Optional classes are indicated by (*).

Figure 3 – Sequence diagram of the Venn-network simulator