Diversity , Neural Nets and Safety Critical Applications

A Neural Net that generalises to previously unseen examples, at a level of about 95% sounds impressive unless it forms part of a real-life application. In such cases, a greater level of reliability would be required. N-version programming is a popular technique for increasing reliability in software programs; the idea being that if programs are independently developed they will fail independently, and that independent N-versions, in combination with a voter, will be more likely to produce a correct output than a single program. It has been argued (Knight and Leveson, 1986) that true independence is unlikely to be achieved; and that the aim should be one of promoting methodological diversity, with the aim of nding negatively correlated methodologies (Littlewood and Miller, 1989). Our aim, in this paper, was to apply the concept of diversity to Neural Nets, and to conduct an investigation to examine the relative merits of diierent potential methods for creating diversity. The data we employed for this purpose was simulated data from a ship's engine, generated for the purpose of fault diagnosis. The methods investigated were (i) varying the initial conditions of nets (ii) varying the training sets (iii) using contrasting measures. Our experiments suggest the third method is the most appropriate, since it resulted in the lowest correlations between the failures of diierent nets.