Verification method of neural network and verification apparatus thereof

Information

  • Patent Grant
  • 6466924
  • Patent Number
    6,466,924
  • Date Filed
    Tuesday, June 1, 1999
    25 years ago
  • Date Issued
    Tuesday, October 15, 2002
    21 years ago
Abstract
A verification method and a verification apparatus of a neural network for guaranteeing the operation of the neural network to any input signals which might be inputted. The neural network verification apparatus comprises a data file storage section for storing a verification data file DFK concerning on the structure of the neural network to be verified, a network structuring section for structuring a neural network NET to be verified by reading the neural network data file DFN from the data file storage section, an input data generating section for generating initial interval input vector database DBI by reading the verification data file DFK from the data file storage section, a verification executing section for executing the verification of the neural network NET based on the neural network NET structured by the network structuring section and the initial interval input vector database DBI created by the input data generating section and for generating a verification result database DBO based on the verification result, and others. The verification apparatus generates an interval input vector signal per input signal subspace which is obtained by dividing an input signal space formed by the input signal to the neural network NET into a plurality of input. signal subspaces and accumulates them in a stack.
Description




CROSS REFERENCE TO RELATED APPLICATION




This application is based on Japanese Patent Application No. Hei. 9-332068 filed on Dec. 2, 1997, the contents of which are incorporated herein by reference.




BACKGROUND OF THE INVENTION




1. Field of the Invention




The present invention relates to a verification method, a verification apparatus and a recording medium of a neural network, and more particularly to a verification method, a verification apparatus and a recording medium of a neural network for setting synaptic weight so that an error between a neural network output signal and a teacher output signal falls within an a tolerance.




2. Description of the Related Art




Hitherto, there has been known a neural circuit network (also called as a neural network) comprising an input layer, an intermediate layer, an output layer, each layer having one or more units for generating transmission signals, and synapses connecting the units in the respective layers to transmit the transmission signals. In the neural network, each synapse has synaptic weight and a desirable input/output characteristic may be realized by adequately changing the synaptic weight through a learning process.




It is noted that the learning of the neural network is a process of calculating a network output signal when a teacher input signal is inputted to the neural network and of minimizing an error between a teacher output signal and the network output signal, e.g., a sum of square error, by changing each synaptic weight based on the result of comparison between the network output signal and the teacher output signal which represents the characteristic to be realized.




Then, having a tolerance of ±ε with respect to the teacher output signal t(x) as shown in

FIG. 13A

, the learning is carried out such that the error (n(x)−t(x)) between the network output signal n(x) and the teacher output signal t(x) falls within this tolerance ±ε(|n(x)−t(x)|<ε) with respect to all actually possible input signals as shown in FIG.


13


B.




By the way, while the neural network is being widely applied to pattern recognition, data processing and others, it has come to be applied more in the control of air-conditioners. When the neural network is thus incorporated in a product to make various controls, it is necessary to assure that a correct output signal is always outputted from the neural network with respect to any input signal which may be inputted to the neural network.




However, because the output characteristic of the neural network in which the synaptic weight is set by learning cannot be described by a simple logic of if-then rule and the like, it is difficult to verify it by internal analysis. Therefore, a method of preparing signals (test data) which might be inputted as much as possible and of actually inputting those signals to confirm whether or not a desired output signal is obtained one by one has been adopted in general.




However, when the check is carried out by actually inputting the test data as described above, there has been a possibility that the operation of the neural network is assured only at check points xp and a part ER that exists between the check points xp and deviates from the tolerance is missed as shown in FIG.


13


C. Although it might be possible to prevent such possibility by increasing test data, there has been a possibility that it takes time for the verification as the test data is increased. The points (ranges) to be checked also increase exponentially as the types of input signals increase. Specifically, when the input signal is a continuous signal, points to be checked exist infinitely. That is, it is unable to check most of the points and the assurance for all input signals cannot be made no matter how much test data is increased.




SUMMARY OF THE INVENTION




It is an object of the invention to solve the above-mentioned problems by assuring the operation of a neural network for any input signals, which might be inputted.




A neural network verification method or a verification apparatus of the invention verifies the neural network by setting a range of each input signal inputted to an input layer respectively as one-dimensional input signal space, by dividing a m-(m is an integer of 1 or more) dimensional input signal space to the input layer into a plurality of input signal subspaces and by judging an error between a network output signal and a teacher output signal per such input signal subspace.




The invention enables the whole input signal space to be verified without omission because it checks (judges the error) per input signal subspace, unlike the check made by test data which checks certain points within the input signal.











BRIEF DESCRIPTION OF THE DRAWINGS





FIG. 1

is a block diagram schematically showing the structure of a neural network verification apparatus of a first embodiment;





FIG. 2

is a flowchart showing a verification process executed by a CPU of the verification apparatus;





FIG. 3

is a chart for explaining the configuration of the neural network which is to be verified;





FIG. 4

is a chart for explaining a method for generating an interval input vector signal;





FIG. 5

is a flowchart detailing a process for calculating an interval network output signal executed in S


180


in

FIG. 2

;





FIG. 6

is a flowchart detailing a process for judging an interval error executed in S


200


in

FIG. 2

;





FIG. 7

is a flowchart showing a process for judging an interval error according to a second embodiment;





FIG. 8

is a flowchart showing a process for calculating an interval network output signal according to a third embodiment;





FIG. 9

is a flowchart detailing a process for calculating an inclination executed in S


720


in

FIG. 8

;





FIG. 10

is a block diagram schematically showing the structure of a blower speed controller which is used in an experiment and to which the neural network is applied;





FIGS. 11A through 11C

are graphs showing exemplary calculations in calculating an interval teacher output signal;





FIG. 12

is a chart showing the configuration of the neural network used in the second exemplary calculation;





FIGS. 13A through 13C

are graphs showing a neural network verification method and a problem thereof;





FIGS. 14A and 14B

are charts showing the effects of the invention;





FIGS. 15A through 15C

are graphs showing a judging method by means of interval error;





FIG. 16

is a graph showing the relationship between an interval error and a critical point;





FIG. 17

is a graph showing a definition of an inclination;





FIG. 18

is a graph showing a method for calculating the inclination in a function, which is convex downward;





FIG. 19A

is a graph showing a sigmoid function; and





FIG. 19B

is a graph showing a derivative of the sigmoid function in FIG.


19


A.











DESCRIPTION OF THE PREFERRED EMBODIMENTS




Preferred embodiments of the invention will be explained below with reference to the drawings.




First Embodiment





FIG. 1

is a block diagram schematically showing the structure of a neural network verification apparatus


2


to which the present invention is applied.




The neural network verification apparatus


2


of the present embodiment comprises a data file storage section


4


, a network structuring section


6


, an input data generating section


8


, a verification executing section


10


, an input control section


12


and a display section


14


as shown in FIG.


1


.




The data file storage section


4


stores a neural network data file DFN composed of data related to the structure of a neural network to be verified (coupling relationship of synapses, synaptic weight, type of output function, etc.) and a verification data file DFK composed of data of an obtainable range of input signals inputted to the neural network to be verified, data for defining a teacher output signal and others.




The network structuring section


6


reads the neural network data file DFN from the data file storage section


4


and structures neural network NET to be verified.




The input data generating section


8


reads the verification data file DFK from the data file storage section


4


in the same manner and structures an initial interval input vector database DBI described later.




The verification executing section


10


executes the verification of the neural network NET based on the neural network NET structured by the network structuring section


6


and the initial interval input vector database DBI created by the input data generating section


8


and creates a verification result database DBO based on the result of verification.




The input control section


12


is what inputs various commands to each section described above and is composed of a keyboard, a mouse or the like.




The display section


14


is what displays the procedure for controlling the input control section


12


and the contents of the verification result database DBO and is composed of a display unit or the like.




It is noted that the verification apparatus


2


of the present embodiment is constructed on a general-purpose computer constructed centering on a CPU, a ROM, a RAM and an I/O port such as a workstation. The network structuring section


6


, the input data generating section


8


and the verification executing section


10


are realized as processes executed by the CPU and the neural network NET, the initial interval input vector database DBI and the verification result database DBO are created on the RAM. The data file storage section


4


is composed of an external storage unit such as a hard disk, a magnetic disk, a floppy disk or the like.




The network verification process executed by the CPU will be explained below along a flowchart shown in FIG.


2


. It is noted that the program of this process may be stored in the ROM in advance or may be loaded to the RAM from the external storage such as a floppy disk not shown.




When the CPU starts this process, it judges whether or not the file name of the neural network data file DFN and the verification data file DFK and a tolerance s employed in the process described later are inputted via the input control section


12


in Step (hereinafter abbreviated simply as S)


110


. When they are inputted, the CPU advances to S


120


. in S


120


, the CPU reads the neural network data file DFN from the data file storage section


4


in accordance to the file name inputted in S


110


and based on the contents thereof, executes the process of the network structuring section


6


for structuring the neural network NET to be verified on the RAM.




The neural network NET created at this time comprises an input layer (first layer), an intermediate layer (second to (NL−1) layers), an output layer (NL layer) composed of a total number NU of units U


j


(j=1, 2, . . . NU) for generating transmission signals and synapses for connecting the units U


j


among the respective layers to transmit the transmission signals.




It is noted that the i-th layer (i=1, 2, . . . NL) is composed of M


i


(M


1


+M


2


+ . . . +M


NL


=NU) units, respectively, and a number of units in the input layer is set as M


1


=M and a number of units in the output layer as M


NL


=1 specifically in the present embodiment. However, the number of units in the output layer M


NL


may be a plural number.




Among them, a unit U


m


(m=1, 2, . . . M) composing the input layer is configured so as to output an input signal x


m


to the next layer as it is as a transmission signal O


m


. An unit U


n


(n=M+1, M+2, . . . NU−1) composing the intermediate layer (second to (NL−1) layer) is configured so as to generate a transmission signal to be transmitted to the next layer by using the transmission signal inputted from the previous layer, synaptic weight set in correspondence to the transmission signal and an output function defined in advance.




That is, an unit U


j


of the i-th layer (=2, 3, . . . NL−1) is configured so as to generate a transmission signal O


j


to be transmitted to the next layer by calculating a weighting signal net


j


by the following equation (20) and by using the output function f(x)=1/{1+exp(−x)} composed of a sigmoid function from the equation (21), where ω


jk


is the synaptic weight to the transmission signal O


k


from the (i−1)th layer U


k


, b


j


is bias at the unit U


j


, and C(j) is a set of numbers of units U


k


which send the transmission signal O


k


to the unit U


j


:










net
j

=


b
j

+




k


C


(
j
)







W
jK



O
k








(
20
)












O




j




=f


(net


j


)  (21)




The unit U


NU


in the output layer (NL-th layer) is configured similarly to the unit U


n


of the intermediate layer. A transmission signal O


NU


generated by this unit U


NU


turns out to be a network output signal n(x) which is an output of the neural network NET.




In S


130


, the CPU reads the verification data file DFK from the data file storage section


4


in accordance to the file name inputted in S


110


and based on the contents thereof, executes the process as the input data generating section


8


for generating the initial interval input vector database DBI.




An interval input vector signal I


s


created as described below is stored in the initial interval input vector database DBI.




That is, when there are M input signals (i.e., a number of units in the input layer is M) inputted to the neural network NET, an obtainable value of each input signal is normalized in a range of 0 to 1 and each normalized input signal is set as one-dimensional input signal space X


m


⊂[0, 1] (m=1 to M), respectively, to consider an M-dimensional input signal space X (=X


1


×X


2


× . . . X


M


⊂[0, 1]


M


).

FIG. 4

shows the case when M=2 to facilitate understanding thereof.




Then, N


m


+1 dividing points G


m




1


(1=0 to N


m


) are provided per each input signal space X


m


so as to satisfy the relationship of the following equation (23):








G




m




0


(=0)<


G




m




1




< . . . <G




m




Nm


(=1)  (23)






The dividing points are supposed to be set in the verification data file DFK in advance.




Based on this dividing points G


m




1


, each one-dimensional input signal space X


m


is divided into N


m


input signal subspaces as follows;






[


G




m




0




, G




m




1




][G




m




1




, G




m




2




] . . . [G




m




Nm−1




, G




m




Nm


]  (24)






Then, corresponding to that, the M-dimensional input signal space X is divided into N


PX


(=N


1


·N


2


. . . ·N


m


) M-dimensional input signal subspaces XP as shown in the following equation (25);








XP=[G




1




p1




, G




1




p1+1




]×[G




2




p2




, G




2




p2+1




]× . . . ×[G




M




pM




, G




M




pM+1


]  (


25)








(Provided that pm=0, 1, . . . N


m−


1)




The following M-dimensional interval input vector signal I


s


(s=1 to N


PX


) is generated for each of these input signal subspaces XP.








I




s


=([


G




1




p1




, G




1




p1+1




][G




2




p2




, G




2




p2+1




] . . . [G




M




pM




, G




M




pM+1


])


t


  (26)






The interval input vector signal I


s


thus generated is called specifically as an ‘initial interval input vector signal’ and is stored in the initial interval input vector database DBI.




In S


140


, the CPU judges whether or not a verification start command for instructing to start the verification of the neural network NET is inputted from the input control section


12


and when the verification start command is inputted, the CPU advances to S


150


to read the interval input vector signals I


s


from the initial interval input vector database DBI generated in S


130


one after another to accumulate in the stack.




It is noted that the stack is a so-called LIFO (Last In First Out) memory which outputs data inputted last at first and is formed on the RAM similarly to the initial interval input vector database DBI and others. Then, the interval input vector signal I


s


which is accumulated last and located at the stack top is denoted as Xtop and is represented by the following equation (27). This equation is what the symbols in the equation (26) are replaced and is totally equivalent to the equation (26):








X


top=([


x




1




L




, x




1




U




][x




2




L




, x




2




U




] . . . [xM




L




, xM




U


])


t


  (27)






Further, each element [x


1




L


, x


1




U


][x


2




L


, x


2




U


] . . . [x


M




L


, x


M




U


] composing the interval input vector signal Xtop will be called as an interval element and denoted also as XP


1


, XP


21


. . . XP


M


.




Next, the CPU takes out the interval input vector signal Xtop at the stack top in S


160


and calculates an interval teacher output signal t(Xtop)=[t


L


, t


U


]corresponding to this interval input vector signal Xtop in S


170


. In S


180


, the CPU calculates an interval network output signal n(Xtop)=[n


L


, n


U


] representing the obtainable range of the network output signal n(x) with respect to an input signal belonging to the interval input vector signal Xtop at the same stack top by means of interval arithmetic.




It is noted that the interval teacher output signal t(Xtop) may be calculated readily by applying the interval arithmetic to that function when the teacher output signal is defined by a function for example. The detail thereof will be explained by citing a concrete example in the column of [First Exemplary Calculation] described later.




Here, the detail of the process for calculating the interval network output signal n(Xtop)=[n


L


, n


U


] will be explained in reference to a flowchart shown in FIG.


5


.




That is, when the CPU starts this process, it initializes an interval transmission signal O


m


which is outputted from each unit U


m


(m=1, 2, . . . M) of the input layer (first layer) in S


310


. In concrete, the CPU sets an interval element XP


m


=[X


m




L


, x


m




U


] of the interval input vector signal Xtop as it is as the interval transmission signal O


m


.




That is, the interval transmission signal O


m


represents the obtainable value of the transmission signal O


m


outputted from the unit U


m


(m=1, 2, . . . M) when an interior point of the interval element XP


m


is inputted to the unit U


m


. It is because the unit U


m


of the input layer outputs the input signal as it is as the transmission signal O


m


as described above.




It is noted that the head of the signal used in the interval arithmetic is denoted by the capital letter in order to discriminate the signal, e.g., the transmission signal O


m


, used in the normal operation from the signal, e.g., the interval transmission signal O


m


, used in the interval arithmetic.




Next, the CPU sets a counter j for discriminating the unit U


j


at M+1 to specify the least number unit in the intermediate layer in S


320


. Then, the CPU calculates an interval weighting function Net


j


for the unit U


j


in accordance to the following equation (28) in S


330


. It is noted that b


j


, w


jk


and C(j) are the same with those explained in connection as the previous equation (20):










Net
j

=


b
j

+




k


C


(
j
)







W
jK



o
k








(
28
)













In S


340


, the CPU calculates an interval transmission signal O


j


at the unit U


j


with respect to the interval input vector signal Xtop by implementing the interval arithmetic by using the interval weighting signal Net


j


=[net


j




L


, net


j




U


] calculated in S


330


instead of the variable x of the output function f(x).




It is noted that the interval transmission signal O


j


turns out as O


j


=[f(net


j




L


), f(net


j




U


)] because the sigmoid function which is a monotone increasing function is used as the output function f(x) in the present embodiment. The CPU increments the counter j in S


350


and judges whether or not the value of the counter j is equal to or less than the number of whole units NU in the neural network NET in S


360


. When it is judged to be YES, the CPU returns to S


330


to calculate the interval transmission signal O


j


for the next unit U


j


.




When it is judged to be NO in S


360


on the other hand, i.e., when the calculation of the interval transmission signal O


j


has been finished for all of the units U


j


in the intermediate and output layers (second to NL layers) of the neural network NET, the CPU advances to S


370


to set an interval transmission signal O


NU


at the unit U


NU


in the output layer (NL-th layer) as the interval network output signal n(Xtop) with respect to the interval input vector signal Xtop and ends this process.




It is noted that the process for calculating the interval network output signal n(Xtop) with respect to the interval input vector signal Xtop described above is what the interval arithmetic is applied to a process for calculating the network output signal n(x) with respect to a real number input vector signal x which is a known technology (see McClelland, J. L., Rumelhart, D. E., and the PDP Research Group, “Parallel Distributed Processing: Explorations in the Microstructure of Cognition”, MIT Press, Chapter 8, (1986), for example). Its whole procedure and the like are totally same as the process for calculating the network output signal n(x) except in that various operations are replaced with the interval arithmetic.




Its detail is described in H, Ishibuch and H. Tanaka, “An Extension of the BP Algorithm to Interval Input Vectors: Learning from Numerical Data and Expert's Knowledge”, Int., Joint Conf. on Neural Networks, Singapore, pp. 1588-1593, 1991.




Next, returning to the flowchart in

FIG. 2

, the CPU calculates an interval error E=e(Xtop)=[e


L


, e


U


] from the interval teacher output signal t(Xtop) calculated in S


170


and the interval network output signal n(Xtop) calculated in S


180


by using the interval arithmetic by the following equation (50):












E
=






e


(
Xtop
)


=


t


(
Xtop
)


-

n


(
Xtop
)










=







[


t
L

,

t
U


]

-

[


n
L

,

n
U


]


=

[



t
L

-

n
U


,


t
U

-

n
L



]









(
50
)













In S


200


, the CPU judges the interval error E calculated in S


190


with respect to the tolerance e inputted previously in S


110


and then advances to S


210


.




Here, this judging process will be explained in detail in reference to a flowchart shown in FIG.


6


.




That is, when the CPU starts this process, it judges whether or not the whole interval error E is contained in the tolerance range [−ε, ε]. When it is judged to be YES, the CPU advances to S


420


to set the verification result as “YES” and. to store the verification result to the verification result database DBO by tying with the interval input vector signal Xtop. Then, it ends the process.




When it is judged to be NO in S


420


on the other hand, the CPU advances to S


430


to judge whether or not the whole interval error E is contained in an open interval (−∞, −ε) or an open interval (ε, +∞), i.e., whether it is not contained in the tolerance range [−ε, ε] at all. Then, when it is judged to be YES, the CPU advances to S


440


to set the verification result as “NO” and to store this verification result to the verification result database DBO by tying with the interval input vector signal Xtop. Then, it ends this process.




When it is judged to be NO also in S


430


, i.e., when only part of the interval error E is contained in the tolerance range [−ε, ε], it is judged to be “insufficiently divided”. The CPU advances to S


450


to divide the interval input vector signal Xtop and then to S


460


to accumulate all of the newly divided and generated interval input vector signals I


s


to the stack. Then, it ends this process.




By the way, the process for dividing the interval input vector signal Xtop=([x


1




L


, x


1




U


][x


2




L


, x


2




U


] . . . [x


M




L


, x


M




U


])


t


in S


450


may be carried out by selecting either one interval element [x


m




L


, x


m




U


] (m=1 to M) and by dividing it into a two parts as shown in the following equations (29a) and (29b) by using its interior point x


m




c


ε[x


m




L


, x


m




U


] for example;








I




L


=([


x




1




L




, x




1




U




] . . . [x




m




L




, x




m




c




] . . . [xM




L




, xM




U


])


t


  (29a)










I




U


=([


x




1




L




, x




1




U




] . . . [x




m




c




, x




m




c




] . . . [xM




L




, xM




U


])


t


  (29b)






It is noted that although it is simple to set the interior point x


m




c


at the middle point ((x


m




L


+x


m




U


)/2) of the interval element [x


m




L


, X


m




U


] for example, it may set at any point as long as it is set within the interval described above. It may be divided not only into two parts but also three or more parts. It is desirable to change the interval element to be selected per each division appropriately when the same interval input vector signal is to be repeatedly divided.




Next, returning to the flowchart in

FIG. 2

, the CPU judges whether or not the stack is empty in S


210


. When it is judged to be NO, i.e., when there remains the interval input vector signal I


s


to be processed in the stack, the CPU returns to S


160


to repeatedly execute the processes from S


160


to S


210


until the stack becomes empty.




When it is judged to be YES in S


210


, i.e., when the process for judging the interval error has been finished for all of the interval input vector signals is accumulated in the stack, the CPU advances to S


220


to display the recorded contents of the verification result database DBO on the display section


14


and finishes this process.




Next, the operation and effect of the verification method of the neural network of the present embodiment as described above will be explained with reference to the drawings.




According to the present embodiment, the neural network is verified by setting the range of each input signal inputted to the input layer respectively as one-dimensional input signal space, by dividing the m-(m is an integer equal to or greater than 1) dimensional input signal space to the input layer into a plurality of input signal subspaces and by judging the error between the network output signal and the teacher output signal per input signal subspace.




It is possible to verify the whole input signal space without omission by thus checking (judging the error) per each input signal subspace, not checking a certain point within the input signal space, unlike the check by means of test data.





FIGS. 14A and 14B

diagramatically show a two-dimensional input signal space X formed by two input signals x


1


εX


1


and x


2


εX


2


, respectively. The present embodiment allows the input signal space X to be verified without omission because it checks not only a predetermined check point x


p


εX (see

FIG. 14A

) but also each input signal subspace XP having a two-dimensional area, unlike the check by means of test data (see FIG.


14


B).




It is noted that the error may be evaluated by calculating the interval error representing the obtainable range of the error between the teacher output signal and the network output signal and by judging the relationship of inclusion between the interval error and the tolerance which is the criterion of the judgment.




That is, because upper and lower bounds of the error when the neural network is operated by using all kinds of input signals (or combinations thereof) within the input signal subspace are contained in the interval error, the operation of the neural network is guaranteed for any input signals (or combinations thereof) contained in the input signal subspace when the interval error E=[e


L


, e


U


] is contained totally in the tolerance (e


L


≧ε and e


U


≦ε) as shown in FIG.


15


A.




When the interval error E is not contained in the tolerance at all to the contrary as shown in

FIG. 15B

(e


L


>ε or e


U


<−ε) it is apparent. that the operation is not guaranteed for any input. signals (or combinations thereof) contained in the input signal subspace. That is, it can be seen that the learning must be carried out again for the input signals (or combinations thereof) within such input signal subspace.




Then, in case other than those described above, i.e., parts of the interval error E are out of the tolerance and the others exist within the tolerance as shown in

FIG. 15C

, input signals that fit to the desirable operation of the neural network and those that do not exist mixedly among the input signals (or combinations thereof) in that input signal subspace.




Therefore, when it is judged that a part of the interval error is out of the tolerance, it is considered that the input signal subspace is insufficiently divided. Then, it is desirable to re-divide the input signal subspace into a plurality of input signal subspaces and to repeat the operation for judging the relationship of inclusion between the interval error and the tolerance per re-divided input signal subspace.




It allows the range of the input signal subspace which does not fit to the desirable operation of the neural network to be narrowed down and allows the learning to be implemented more effectively because the learning needs to be carried out in concentration only on the narrowed down input signal subspace in learning again.




Further, according to the present embodiment, the respective range of each input signal forming the input signal subspace is set as the interval input signal and the interval transmission signal representing an obtainable range of the transmission signal generated in each unit is calculated sequentially by using the interval arithmetic per each unit according to the signal transmitting process from the input layer to the output layer. Then, the interval transmission signal calculated per each unit of the output layer is set as an interval network output signal representing an obtainable range of the network output signal and the interval error is calculated based on this interval network output signal.




Here, when an interval of variables which assume an upper bound α and a lower bound β is represented by [α, β], the interval arithmetic is what the four fundamental operations of arithmetic with respect to the two intervals X=[x


L


, x


U


] and Y=[y


L


, y


U


] are defined by the following equations (1) through (4b):








X+Y=[x




L




+y




L




, x




U




+y




U


]  (1)










X−Y=[x




L




−y




L




, x




U




−y




U


]  (2)









X·Y


=[min(


x




L




y




L




, x




L




y




U




, x




U




y




L




, x




U




y




U


), max(


x




L




y




L




, x




L




y




U




, x




U




y




L




, x




U




y




U


)]  (3)


















X
·
Y

=





[


min


(



x
L



y
L


,


x
L



y
U


,


x
U



y
L


,


x
U



y
U



)


,













max


(



x
L



y
L


,


x
L



y
U


,


x
U



y
L


,


x
U



y
U



)


]







(
3
)







X
/
Y

=

X
·

(

1
/
Y

)






(
4
)






=


X
·

[


1
/

y
U


,

1
/

y
L



]








(


y
L

>

0





OR






y
U


<
0

)






(4a)






=


X
·

[


1
/

y
L


,

1
/

y
U



]








(


y
L

<

0





AND






y
U


>
0

)






(4b)













It is noted that a real number a is considered as an interval [a, a] whose width is zero, a multiplication of the real number a with the interval X is defined by the following equations (5a) and (5b) and a width of the interval X (hereinafter referred to as an interval width) w(X) is defined by the following equation (6):










a
·
X

=


[


a
·

x
L


,

a
·

x
U



]







(

a

0

)






(5a)






=


[


a
·

x
U


,

a
·

x
L



]







(

a
<
0

)






(5b)







w


(
X
)


=


x
U

-

x
L






(
6
)












w


(


X


)=


x




U




−x




L


  (6)




For instance, when a function h(x)=x


2


−x is set and when the variable x is 0≦x≦1 (i.e., the interval X=[0, 1], xεX), an actually obtainable value of the function h(x) with respect to the variable x within the interval X turns out to be −¼≦h(x)≦0. When the interval arithmetic is carried out by replacing the variable x with the interval X, it turns out as follows:








h


(


X


)=


X−X




2


=[0, 1]−[0, 1]


2


=[0, 1]−[0, 1]=[−1, 1]






That is, because [−¼, 0]⊂[−1, 1], it can be seen that h(x) E h(X) holds with respect to any x E X and the interval arithmetic h(X) gives the upper and lower bounds in the interval X of the function h(x).




Because the interval arithmetic is described in detail in R. Baker Kearfott, “Rigourous Global Search: Continuous Problem”, KLUWER ACADEMIC PUBLISHERS (1996) (hereinafter referred to as a first document), its further explanation will be omitted here.




That is, the use of the interval arithmetic allows the upper and lower bounds of the transmission signal (i.e., the interval transmission signal) generated by each unit from the interval input signal to be found and the upper and lower bounds of the error between the network output signal and the teacher output signal to be also actually found.




It is noted that S


130


corresponds to interval dividing means, S


170


to interval teacher output signal calculating means, S


180


to interval error calculating means, S


190


to interval error calculating means, S


200


to judging means, S


450


to interval re-dividing means and S


310


to S


360


to interval transmission signal calculating means.




As described above, the neural network verification apparatus


2


of the present embodiment judges the error by dividing the M-dimensional input signal space X into the input signal subspaces XP (interval input vector signals xtop), by calculating the interval error E (=e(Xtop)) representing the error between the interval network output signal n(Xtop) containing the upper and lower bounds of the network output signal n(x) and the interval teacher output signal t(Xtop) by using the interval arithmetic per input signal subspace XP and by comparing the interval error E with the range of tolerance [−ε, ε].




Because the neural network verification apparatus


2


of the present embodiment thus verifies all input signals (or combinations thereof) belonging to the input signal subspace XP altogether by using the interval arithmetic, it can verify in a short time as compared to the conventional case of verifying each individual input signal by test data. Still more, because it can be applied to a case when the input signal assumes not a discrete value but a continuous value in which points to be verified exist infinitely, so that the operation of the neural network NET may be guaranteed reliably for all input signals (or combinations thereof) belonging to the input signal space X.




Further, when the verification result of the interval input vector signal Xtop is “insufficiently divided”, the neural network verification apparatus


2


of the present embodiment re-divides the interval input vector signal Xtop, accumulates them in the stack and executes the verification process again per re-divided interval input vector signal.




Accordingly, it allows the learning to be efficiently carried out in learning the neural network NET again because it allows the range of the interval input vector signal I


s


whose verification result is “NO” to be narrowed down and allows the points where teacher data should be increased to be known precisely. By the way, when the neural network NET is used by incorporating to an equipment after its verification and when the calculation of the neural network NET is executed by a fixed-point arithmetic CPU, the accuracy of the calculation changes depending on the position of decimal point.




However, according to the. neural network verification apparatus


2


of the present embodiment, the upper and lower bounds of calculated values appearing in the process are clarified by the interval arithmetic, so that the position of the decimal point may be determined so that the required least bit number is assigned to the integer section. Because it allows the CPU to thus execute the calculation accurately, it can bring about the capability of the neural network NET to the maximum.




It is noted that although the hierarchical model has been used as the neural network in the embodiment described above, another model may be used as long as it allows the upper and lower bounds of the neural network output signal to be calculated.




Second Embodiment




Next, a second embodiment of the invention will be explained.




A neural network verification apparatus of the present embodiment is totally the same as that of the first embodiment with regard to the structure and process except with regard to a part of the processing contents of the process for judging the interval error executed in S


200


, so that only the process for judging the interval error will be explained below in reference to a flowchart shown in FIG.


7


.




When the CPU starts this process and when the whole interval error E=e(Xtop)=[e


L


, e


U


] is contained in the tolerance range [−ε,ε], the CPU sets the verification result as “YES” and stores the verification result to the verification result database DBO (S


510


-YES, S


520


) by tying with the interval input vector signal Xtop in S


510


through S


540


totally in the same manner with S


410


through S


440


in the first embodiment. Then, it ends the process. When the whole interval error E is not contained in the tolerance range [−ε, ε] at all on the other hand, the CPU sets the verification result as “NO” and stores this verification result to the verification result database DBO (S


510


-YES, S


530


-YES, S


540


) by tying it with the interval input vector signal Xtop. Then, it ends this process. In case other than those described above (S


530


-NO), the CPU advances to S


550


.




In S


550


, the CPU calculates an interval error width WE of the interval error E by the following equation (30) and judges in S


560


whether or not this interval error width WE is smaller than a preset limit value αε (0<α<1):








WE=W


(


e


(


X


top))=


e




U




−e




L


  (30)






When it is judged to be YES in S


560


, the CPU advances to S


570


to set the verification result as “Critical Point” to show that the critical point is contained in the interval input vector signal Xtop and stores this verification result to the verification result database DBO by tying with the interval input vector signal Xtop. It then ends this process.




When it is judged to be NO in S


560


on the other hand, the CPU considers as “insufficiently divided” and advances to S


580


to divide the interval input vector signal Xtop in S


580


and to accumulate the divided and generated interval input vector signals I


L


and I


U


in the stack in S


590


similarly to S


450


and S


460


in the first embodiment. It then ends this process.




The operation and effect of the present embodiment will be explained by using the drawings.




When there is a point which is slightly greater than a point (called a critical point) where the error between the network output signal n(x) and the teacher output signal t(x) becomes equal to a boundary value of the tolerance (|n(x)−t(x)|=ε) within the input signal subspace XP as shown in

FIG. 16

, it is judged to be insufficiently divided in the first embodiment and the input signal subspace is re-divided. Then, while the interval error E becomes small in the input signal subspace generated by this re-dividing process, the critical point is always contained in either one of the input signal subspace. As a result, there is a possibility that it leads a drop of calculating speed, because the re-dividing process is repeatedly carried out in the input signal subspace containing the critical point and an amount of calculation increases.




Then, according to the present embodiment, the re-dividing process of the input signal subspace is inhibited even if it is judged that part of the interval error is out of the tolerance, when the width of the interval error is equal to or smaller than the limit width, which is smaller than the width of the tolerance. It is possible to decide the upper bound of the number of times of re-division in advance as a method for inhibiting the re-division. Here, S


550


and S


560


correspond to re-division inhibiting means in this process.




Thus, the present embodiment can prevent the interval input vector signal Xtop containing the critical point from being unnecessarily and repeatedly divided and can reliably prevent the processing speed from dropping in the end because it inhibits to re-divide the interval input vector signal Xtop further by considering that the interval error E contains the critical value if the interval error width WE is equal to or less than the limit value αε when the verification result is not “YES” nor “NO”.




Third Embodiment




Next, a third embodiment of the invention will be explained.




The structure and processes of a neural network verification apparatus of the this embodiment are totally the same as those of the first and second embodiments except of the processing contents of the process for calculating the interval network output signal executed in S


180


, so that only this process for calculating the interval network output signal will be explained along a flowchart shown in FIG.


8


.




When the CPU starts this process, it calculates the center point x


c


=(x


1




c


, x


2




c


. . . x


M




c


)


t


of the interval input vector signal Xtop=([X


1




L


, X


1




U


][X


2




L


, X


2




U


] . . . [X


M




L


, X


M




U


])t by the following equation (31):








X




m




c


=(


x




m




L




+x




m




U


)/2 (


m


=1, 2


, . . . , M


)  (31)






In S


620


, the CPU calculates a weighting signal net


j


for this center point x


c


about all units U


j


composing the neural network NET.




In concrete, it may be calculated by the same procedure with the process for calculating the interval network output signal shown in FIG.


5


. However, the value calculated in S


330


may be used by executing the process not by the interval arithmetic but by the ordinary operation by using the center point X


c


, the transmission signal O


j


and the weighting signal net


j


, instead of the interval input vector signal Xtop, the interval transmission signal O


j


and the interval weighting signal Net


j


. It is noted that the weighting signal in the unit U


j


calculated by the process of this step will be denoted as ‘net


j




c


’ hereinafter.




Then in S


630


, the CPU initializes the interval transmission signal O


m


of each unit U


m


(m=1, 2, . . . M) of the input layer totally in the same manner with S


300


in the first embodiment. That is, the CPU sets each interval element XP


m


of the interval input vector signal Xtop as the interval transmission signal O


m


as it is.




In S


640


, the CPU initializes an inclination ΦO


m


/ΦXP


n


of the transmission signal O


m


(m=1, 2, . . . M) with respect to each interval element XP


n


(n=1, 2, . . . M) per each unit U


m


of the input layer in accordance to the following equation (32):











Φ






O
n



Φ






XP
n



=

{




[

1
,
1

]




n
=
m






[

0
,
0

]




n

m









(
32
)













The CPU initializes the inclination because only the interval element XP


m


is inputted to the unit U


m


of the input layer and the transmission signal O


m


of the unit U


m


is decided solely by the interval element XP


m


regardless of the other interval element XP


n


where m≠n.




It is noted that this inclination ΦO


m


/ΦXP


n


corresponds to a second inclination in the invention.




In S


650


and S


660


, the CPU calculates the interval weighting signal Net. for the unit U


j


(S


660


) after setting the counter j at M+1 (S


650


) in the same manner as S


320


and S


330


in the first embodiment. Here, the interval weighting signal calculated in S


660


is set as a first interval Net


j


_


1


.




In S


670


, the CPU calculates an inclination Φnet


j


/ΦXP


m


of the weighting signal net


j


for the interval element XP


m


per interval element XP


m


(m=1, 2, . . . M) about the same unit U


j


in accordance to the following equation (33). The element thereof will be denoted by the following equation (34) hereinbelow:











Φ






net
j



Φ






XP
m



=




k


C


(
j
)







ω
jk




Φ






O
k



Φ






XP
m









(
33
)








Φ






net
j



Φ






XP
m



=

[


snet
j
U

,

snet
j
L


]





(
34
)













It is noted that this inclination Φnet


j


/ΦXP


n


corresponds to a first inclination in the invention.




Based on the inclination Φnet


j


/ΦXP


m


obtained in S


670


, the CPU calculates the interval weighting signal Net


j


of the unit U


j


in S


680


. Here, the interval weighting signal calculated in this step will be denoted as a second interval Net


j


_


2


.




That is, the CPU calculates a semi-interval width W by the following equation (35) and sets an interval represented by the following equation (36) as the second interval Net


j


_


2


by using the semi-interval width W and the weighting signal net


j




c


for the center point x


c


calculated in S


620


:









W
=




m
=
1

M









Φ






net
j



Φ






XP
m



*

(


XP
m

-

x
m
C


)







(
35
)









 Net


j—




2


=[net


j




c




−W


, net


j




c




+W


]  (36)




Then, based on the first interval Net


j—




1


found in S


660


and the second interval Net


j


_


2


found in S


680


, the CPU sets the interval common to both as the interval weighting signal Net


j


of the unit U


j


.




That is, when Net


j


_


1


=[net


1




L


, net


1




U


] and Net


j


_


2


=[net


2




L


, net


2




U


] the interval weighting signal Net


j


may be expressed by the following equation (37):













Net
j

=







Net
j


_

1




Net
j


_

2








=





[


max


(


net1
L

,

net2
L


)


,

min


(


net1
U

,

net2
U


)



]








(
37
)













In S


700


, the CPU calculates the interval transmission signal O


j


of the unit U


j


for the interval input vector signal Xtop in the same manner as S


340


in the first embodiment by using the interval weighting signal Net


j


found in S


690


.




In S


710


, the CPU judges whether or not the value of the counter j is smaller than the total number of the units NU in the neural network NET and when it is judged to be YES, advances to S


720


by assuming that the unit U


j


presently being processed is what composes the intermediate layer (second to NL-1 layer). In S


720


, the CPU calculates an inclination Φf/ΦNet


j


of the output function f(x) with respect to the interval weighting signal Net


j


found in S


690


. It is noted that this inclination (Φf/ΦNet


j


corresponds to a third inclination of the invention.




Here, the process for calculating the inclination Φf/ΦNet


j


will be explained in detail in reference to a flowchart shown in FIG.


9


.




That is, when the CPU starts this process, it judges in S


810


at first whether or not the whole range of the interval weighting signal Net


j


found previously in S


690


is contained in an interval [−∞, 0] where the output function (sigmoid function) f(x) is convex downward. When it is judged to be YES, the CPU advances to S


820


to set the inclination Φf/ΦNet


j


in accordance to the following equation (38) and ends this process.











Φ





f


Φ






Net
j



=

[




f


(

net
j
L

)


-

f


(

net
j
C

)





net
j
L

-

net
j
C



,



f


(

net
j
U

)


-

f


(

net
j
C

)





net
j
U

-

net
j
C




]





(
38
)













When it is judged to be NO in S


810


on the other hand, the CPU advances to S


830


to judge whether or not the whole range of the interval weighting signal Net


j


is contained in an interval [0, +∞) where the output function f(x) is convex upward. When it is judged to be YES, the CPU advances to S


840


to set the inclination Φf/ΦNet


j


in accordance to the following equation (39) and ends this process.











Φ





f


Φ






Net
j



=

[




f


(

net
j
U

)


-

f


(

net
j
C

)





net
j
U

-

net
j
C



,



f


(

net
j
L

)


-

f


(

net
j
C

)





net
j
L

-

net
j
C




]





(
39
)













When it is judged to be NO also. in S


830


, the CPU advances to S


850


to set the inclination Φf/ΦNet


j


in accordance to the following equation (40) and ends this process because the interval weighting signal Net


j


exits across both intervals where the output function f(x) is convex upward and downward, i.e., the interval straddling zero where the derivative f′(x) is maximum.











Φ





f


Φ






Net
j



=

[


min


(



f




(

net
j
L

)


,


f




(

net
j
U

)



)


,
0.25

]





(
40
)













The inclination Φf/ΦNet


j


found in S


720


will be expressed by the following equation (41) hereinbelow:











Φ





f


Φ






Net
j



=

[


sf
j
L

,

sf
j
U


]





(
41
)













Next, returning to the flowchart shown in

FIG. 8

, the CPU calculates an inclination ΦO


j


/ΦXP


m


(corresponds to the second inclination of the invention) of the transmission function O


j


of the unit U


j


with respect to the interval element XP


m


per each interval element XP


m


(m=1, 2, . . . M) in S


730


.




That is, the CPU calculates it. by using the inclination Φnet


j


/ΦXP


m


calculated in S


670


and the inclination Φf/ΦNet


j


calculated in S


720


in accordance to the following equation (42):











Φ






O
j



Φ






XP
m



=




Φ





f


Φ






Net
j



·


Φ






net
j



Φ






XP
m




=


[


sf
j
L

,

sf
j
U


]

·

[


snet
j
L

,

snet
j
U


]







(
42
)













In S


740


; the CPU returns to S


660


to implement a process for the next unit U


j


after incrementing the counter j.




When it is judged to be NO in S


710


on the other hand, the CPU shifts to S


750


by supposing that the process has been finished for all of the units U


j


to set the unit U


NU


of the output layer as the network output signal n(Xtop) with respect to the interval input vector signal Xtop and to end this process.




The operation and effect of the present embodiment will be explained below by using the drawings.




As it is apparent also from the example shown in the second embodiment, while the interval arithmetic h(X) in the interval X of the function h(x) contains a true range in the interval X of the function h(x), the range of the function may not always be calculated accurately because the interval width is widened in general.




Then, when the interval error is too large as compared to the upper and lower bounds of the actual error, there is a case when it is judged to be ‘insufficiently divided’ and when re-division and re-evaluation which are not originally required are carried out, thus increasing the calculation time, even if the network output signal is actually within the tolerance of the error.




Then, according to the verification method of the neural network of the present embodiment, the unit of the input layer outputs the input signal as the transmission signal as it is. Then, the units in the intermediate and output layers generate a weighting signal based on all transmission signals inputted from the units of the previous stage and synaptic weight corresponding respectively to the transmission signal. An intersection of a first interval signal obtained based on a sum of products of the interval transmission signal inputted from the previous unit and the synaptic weight and a second interval signal obtained based on a sum of products of the first inclination representing the range of an obtainable rate of change of the weighting signal with respect to the interval input signal and the interval input signal, is found for the units of the intermediate and output layers in generating the transmission signal to be outputted to the following stage by the predetermined output function to which the weighting signal is to be inputted. Then, that intersection is set as the interval weighting signal representing the obtainable range of the weighting signal with respect to the interval input signal. The interval transmission signal is generated based on this interval weighting signal and the output function.




That is, the interval weighting signal is found by two different kinds of methods and is made closer to actual one by finding their intersection.




The inclination used to find the second interval signal here is a known technology which is used in the first document with a term of “slope” and is detailed therein, so that only the outline thereof will be explained here.




That is, supposing about the function h(x) that an interval of its variable x is X=[X


L


, x


U


] and an arbitrary interior point as x


c


and that there exist two straight lines U(x) and L(x) which pass through the interior point x


c


and pinch the function h(x) within the interval X, they are expressed by the following equations (7) and (8):








U


(


x


)=


s




U


·(


x−x




c


)+


h


(


x




c


)  (7)










L


(


x


)=


s




L


·(


x−x




c


)+


h


(


x




c


)  (8)






Where, s


U


and s


L


are constants defined by the interval X and when s


U


>s


L


, those lines are expressed as follows as shown in FIG.


17


:








L


(


x


)≦


h


(


x


)≦


U


(


x


)(


x≧x




c


)  (9)










U


(


x


)≦


h


(


x


)≦


U


(


x


)(


x<x




c


)  (10)






When the semi-interval width W of the obtainable range of h(x) with respect to the interval x is defined by the following equation (11), the relationship of the following equation (12) holds in the interval X:








W


=max(|


s




L




|, |s




U


|)·max(


x




U




−x




c




, x




c




−x




L


)  (11)










h


(


x




c


)−


W≦h


(


x


)≦


h


(


x




c


)+


W


  (12)






That is, the obtainable range of the function h(x) with respect to the interval X turns out as follows:








h


(


X


)=[


h


(


x




c


)−


W, h


(


x




c


)+


W]


  (13)






Then, the inclination of the function h(x) with respect to the interval X at this time is defined by the following equation (14):











Φ





h


Φ





X


=

[


s
L

,

s
U


]





(
14
)













When the interval X=[x


L


, x


U


], the interior point x


c


, and the inclination Φh/ΦX are given an operator for finding the semi-interval width W will be denoted by * hereinafter. That is, the operator * is defined by the following equation (15):












Φ





h


Φ





X


*

(

X
-

x
c


)


=


max


(


&LeftBracketingBar;

s
L

&RightBracketingBar;

,

&LeftBracketingBar;

s
U

&RightBracketingBar;


)


·

max


(



x
U

-

x
C


,


x
C

-

x
L



)







(
15
)













Although the above explanation has been given by using the mono-variable function to facilitate understanding of the invention, the similar inclination may be defined per element of each interval vector also for m-dimensional multi-variable function h(x)=h(x


1


, x


2


, . . . , x


m


), the interval vector X=(X


1


, X


2


, . . . , X


m


)


t


and the interior point x


c


=(x


1




c


, X


2




c


, . . . , x


m




c


)


t


εX and the semi-interval width W may be found by the following equation (17) by using this inclination:











Φ





h


Φ






X
n



=


[


s
m
L

,

s
m
U


]







(


m
=
1

,
2
,





,
M

)






(
16
)






W
=




n
=
1

M









Φ





h


Φ






X
m



*

(


X
m

-

x
m
c


)







(
17
)













By the way, the first inclination representing the range of the obtainable rate of change of the weighting signal with respect to the interval input signal may be calculated by a sum of products of the second inclination representing the range of the obtainable rate of change of the transmission signal inputted from the unit of the previous stage with respect to the interval input signal and the synaptic weight, and the second inclination of the transmission signal outputted to the following stage may be calculated by a product of the third inclination representing an obtainable range of the inclination of the output function with respect to the weighting signal and the first inclination.




Then, when the output function f(x) is a sigmoid function or a hyperbolic function and when a derivative of the output function f(x) is set as f′(x), the interval weighting signal as [NL, NU] and its interior point as NC, the third inclination may be set as [{f(NL)−f(NC)}/{NL−NC}, {f(NU)−f(NC)}/{NU−NC}]. when NU<0, [{f(NU)−f(NC)}/{NU−NC}, {f(NL)−f(NC)}/{NL−NC}] when NL≧0 and as [min{f′(NL), f′(NU)}, f′(0)] in case other than those described above.




That is, it has been known that the following items (1) and (2) hold in finding an inclination Φh/ΦX of the arbitrate function h(x) in the interval X=[x


L


, x


L


]:




(1) Φh/ΦX may be set as [g


L


, g


U


] when the function h(x) increases monotonously (h′(x)>0) or decreases monotonously (h′(x)<0) in the interval X and the upper and lower bounds of the derivative h′(x) of the function h(x) in the interval X are given by g


L


, g


U


and




(2) The inclination Φh/ΦX =[s


L


, s


U


] may be given from the following equations (18) and (19) when the function h(x) is convex upward (h″(x)>0) or downward (h″(x)<0) in the interval X as it is apparent from

FIG. 18

(which shows the case when it is convex downward). Where, the interior point of the interval x is denoted as x


c


.










s
L

=

min


(




h


(

x
L

)


-

h


(

x
C

)





x
L

-

x
C



,



h


(

x
U

)


-

h


(

x
C

)





x
U

-

x
C




)






(
18
)







s
U

=

max


(




h


(

x
L

)


-

h


(

x
C

)





x
L

-

x
C



,



h


(

x
U

)


-

h


(

x
C

)





x
U

-

x
C




)






(
19
)













Then, the sigmoid function f(x)=1/{1+exp(−x)} and the hyperbolic function f(x)=tanh(x) used as the output function are both monotone increase functions as shown in

FIGS. 19A and 19B

and have characteristics that they are convex upward when x≧0 and convex downward when x<0 and that the derivative f′(x) takes the maximum value when x=0. It is noted that while

FIG. 19A

shows the sigmoid function f(x) and

FIG. 19B

shows a graph of the derivative f′(x), the hyperbolic function is also represented by similar graphs.




Therefore, the inclination of the output function with respect to the interval weighting signal may be found by using the second characteristic described above when the interval weighting signal does not straddle x=0, and by using the first characteristic described above when the interval weighting signal straddles x=0.




Thus, the present embodiment allows the calculation time to be shortened because it allows the inclination of the output function to be found readily.




It is noted that in the above-mentioned processes, S


610


to S


740


corresponds to interval transmission signal calculating means, S


660


to first interval signal calculating means, S


680


to second interval signal calculating means, S


690


to intersection extraction means, S


700


to interval transmission signal generating means, S


670


to first inclination calculating means, S


730


to second inclination calculating means and S


720


to third inclination setting means.




Concrete exemplary calculation of the processes will be shown in the column of the second exemplary calculation described later in order to facilitate understanding of the processing contents of these processes.




As described above, the neural network verification apparatus of the present embodiment narrows down the interval weighting signal Net


j


so that it becomes closer to the actual obtainable range of the weighting signal net


j


by calculating it by two kinds of methods and by using their intersection.




Accordingly, the neural network verification apparatus of the present embodiment allows a number of times of unnecessary re-division of the interval input vector signal Xtop to be reduced and the verification to be completed in a shorter time based on that the interval error E is calculated to be larger than the range from the upper bound to the lower bound of the actual error because the interval error E is calculated more accurately.




Still more, the present embodiment allows the amount of calculation to be reduced and the processing time to be shortened because the inclination Φf/ΦNet


j


of the output function f(x) for the interval weighting signal Net


j


is set by utilizing the feature of the output function f(x), i.e., it is a monotone increase function and that the derivative f′(x) becomes maximum at x=0.




It is noted that the neural network verification method of the first through third embodiments described above may be realized by a program executed by a computer system. In this case, such a program may be used by recording in a recording medium such as a floppy disk, a magneto-optic disk, a CD-ROM, a hard disk and the like which can be read by the computer system and by activating it by loading to the computer system as necessary. Beside that, the program may be used by recording in a ROM and a backup RAM as a recording medium which can be read by the computer system and by incorporating such ROM or backup RAM in the computer system.




Exemplary Experiment




Next, an experimental result obtained by verifying a neural network used in the control of a blower speed of car air-conditioner by the neural network verification apparatus which executes the interval error judging process of the second embodiment and the interval network output signal calculating process of the third embodiment will be explained. In this experiment, the performance thereof was evaluated by time necessary for the verification by comparing with the conventional method of verifying the network by inputting test data one by one.





FIG. 10

schematically shows the structure of a blower speed controller


20


to which the neural network used in the experiment is applied.




As shown in

FIG. 10

, the blower speed controller


20


comprises a first level setting section


22




a


for setting a blower speed level VAa at the face side air outlet based on input signals of target air outlet temperature TAO decided based on setting or the like on a control panel not shown and room temperature TR, outside temperature TAM and an amount of solar radiation TS detected by various sensors provided in the vehicle, a second level setting section


22




b


for setting a blower speed level VAb at the foot side air outlet based on input signals of the target air outlet temperature TAO, the room temperature TR, the outside temperature TAM and the amount of solar radiation TS similarly to the first level setting section


22




a


, and a blower speed control unit


24


for actually increasing/decreasing the blower speed in accordance to the blower speed levels VAa and VAb set by both level setting sections


22




a


and


22




b.






Then, the first and second level setting sections


22




a


and


22




b


(hereinafter referred to simply as a level setting section


22


) comprise, respectively, a neural network


26


, a pre-processing section


28


for normalizing the above-mentioned input signals to values between 0 and 1 and inputting them to the neural network


26


and a post-processing section


30


for normalizing the output of the neural network


26


to the blower speed level VA having a value between 0 and 31.




It is noted that the both neural networks


26


at the face side (the first level setting section


22




a


) and the foot side (the second level setting section


22




b


) used in the experiment were a four-layer type network which is composed of an input layer, a first intermediate layer, a second intermediate layer and an output layer, each layer having a number of neurons (units) as shown in Table 1.















TABLE 1













Number of Neuron (Units)


















Neural




Input




First Int.




Second Int.




Output







Network




Layer




Layer




Layer




Layer





















Face




4




15




10




1







Side







Foot




4




9




7




1







Side















Table 2 shows the input range and resolution of each input signal.















TABLE 2









Neural






Reso-






Network




Name of Signal




Input Range




lution



























Face




Target Blow Temp.




(° C.)




−83.2 to 121.6




2


16








Side




Room Temp.




(° C.)




   6.5 to 57.25




2


8









Outside Temp.




(° C.)




−30.8 to 50.8




2


8









Amount of Solar Radiation





   0.0 to 16.64




2


7









(W/m


2


/sec)






Foot




Target Blow Temp.




(° C.)




−83.2 to 121.6




2


16








Side




Room Temp.




(° C.)




   6.5 to 57.25




2


8









Outside Temp.




(° C.)




−30.8 to 50.8




2


8









Amount of Solar Radiation





   0.0 to 16.64




2


7









(W/m


2


/sec)














It is noted that an input signal S assumes a discrete value expressed by the following equation (43), where VL is the lower bound of the input range of the input signal S, VH is the upper bound and D is the resolution thereof:








S=VL+α·i


(


i


=0, 1


, . . . D


)  (43)






where, α=(VH−VL)/D




A number of signals possibly inputted to the neural network


26


is D+1 respectively per each input signal. That is, a combination of input signals possibly inputted turns out to be (2


16


+1)×(2


8


+1)×(2


8


+1)×(2


7


+1)≈5.58×10


11


in case of this exemplary experiment.




After implementing the learning of the neural network


26


thus constructed, by using 203,148 teacher data, the neural network


26


was verified by the verification apparatus to which the invention is applied and by the conventional method by means of test data to compare their verification time.




It is noted that the processing was started without providing any dividing point, i.e., by generating only one interval input vector signal I


s


corresponding to the whole input signal space, at first in the verification apparatus.




Meanwhile, although the verification by means of the conventional method should have been made by inputting the whole number (5.58×10


11


) of test data which might be inputted sequentially to the neural network to compare whether or not the network output signal is within the tolerance one by one, it takes very long time. Therefore, the time necessary for verifying 203,148 input signals was actually measured, and based on that, the time necessary for verifying the whole number of input signals was found by estimation.




Table 3 shows the comparison result.















TABLE 3













Verification Time


















Inventive








Conventional




Verification







Neural Network




Method




Apparatus











Face Side




498.0 Days




6.5 Min.







Foot Side




445.0 Days




1.9 Min.















As it is apparent from Table 3, it takes more than 400 days to verify the whole signals which might be inputted without omission and such verification is practically impossible. However, the use of the inventive verification apparatus allows the verification to be completed within 6.5 minutes. That is, it was confirmed that the inventive verification apparatus can quickly verify the neural network whose operation cannot be guaranteed reliably for the whole signals which might be inputted by the conventional method.




First Exemplary Calculation




Next, an exemplary calculation of the interval teacher output signal t(I


s


) will be explained concretely.




A case when the input signal is a two-dimensional signal x=(x


1


, x


2


)ε[0, 1]


2


and the teacher output signal t(x) is defined by the following equation (44) will be explained here:








t


(


x


)=0.5+0.5·sin{π·(


x




1




+x




2


)}  (44)






Possible intervals X


1


and X


2


of each input signal are:








X




1




=[x




1




L




, x




1




U


]⊂[0, 1]










X




2




=[x




2




L




, x




2




U


]⊂[0, 1]






Accordingly, when x


1


+x


2


=y(εY), Y=[y


L


, y


U


]=X


1


+X


2


⊂0, 2].




When y is used instead of x in the equation (44), it is expressed by the following equation (44a) and its graph turns out as shown in FIG.


11


:








t


(


y


)=0.5+0.5·sin{π·


y}


  (44a)






As it is apparent from

FIG. 11

, t(y) takes the maximum value 1 when y=0.5 and takes the minimum value 0 when y=1.5, where 0≦y≦2, and takes no extreme value other than them.




By utilizing this characteristic, an interval arithmetic value t(Y) of t(y) for the interval y=[y


L


, y


U


] may be found as follows.




That is, when neither y=0.5 nor y=1.5 where t(y) assumes the extreme value is contained in the interval Y, the function t(y) increases or decreases monotonously in this interval, so that t(Y) may be found by the following equation (45).




Meanwhile, when y=0.5 is contained in the interval y=[y


L


, y


U


], the maximum value is decided, so that t(Y) may be found by the equation (46). When y=1.5 is contained, the minimum value is decided, so that t(Y) may be found by the equation (47) and when both y=0.5 and y=1.5 are contained, the maximum and minimum values are decided, so that t(Y) may be found by the equation (48):








t


(


Y


)=[min{


t


(


y




L


),


t


(


y




U


)}, max{


t


(


y




L


),


t


(


y




U


)}]  (45)










t


(


Y


)=[min{


t


(


y




L


),


t


(


y




U


)}, 1]  (46)










t


(


Y


)=[0, max{


t


(


y




L


),


t


(


y




U


)}]  (47)










t


(


Y


)=[0, 1]  (48)






Thus, the interval teacher output signal may be found accurately with less calculation amount by utilizing the characteristic of the definition function t(y) by separating the cases of the interval in which the definition function t(y) increases or decreases monotonously and of the interval in which the function contains a value which is the extreme value.




Exemplary calculation substituted by concrete numerical values will be explained below.




1) In case of X


1


=[0.2, 0.31], X


2


=[0.2, 0.5] (see FIG.


11


A and Equation (46)):








t


(


X


)=[0.794, 1] from


X




1




+X




2




=Y


=[0.4, 0.8]






2) In case of X


1


=[0.3, 0.8], X


2


=[0.8, 0.9] (see FIG.


11


B and Equation (47)]:








t


(


X


)=[0, 0.345] from


X




1




+X




2




=Y


=[1.1, 1.7]






3) In case of X


1


=[0.5, 0.7], X


2


=[0.3, 0.5] (see FIG.


11


C and Equation (45)]:








t


(


X


)=[0.206, 0.794] from


X




1




+X




2




=Y


=[0.8, 1.2]






Second Exemplary Calculation




The followings are the exemplary calculations for facilitating understanding of the processing contents of the process for calculating the interval network output signal explained in the third embodiment.




Here, the interval network output signal n(Xtop) will be calculated in concrete for a neural network comprising an input layer (first layer) composed of two units U


1


and U


2


, an intermediate layer (second layer) composed of two units U


3


and U


4


, and an output layer (third layer) composed of one unit as shown in FIG.


12


.




It is assumed that biases in synapse connection and in each unit of the intermediate layer and output layer are:






ω


31





32





41





42





53


=1








ω


54


=−1










b




3




=b




4




=b




5


=0






and that the initial interval input vector signal Xtop is:








X


top=(


XP




1




, XP




2


)=([0,1], [0,1])


t








1) Find the center value x


c


of the initial interval input vector signal Xtop (S


610


):








x




c


=(


x




1




c




, x




2




c


)


t


=(0.5, 0.5)


t








2) Find the weighting signal net


j




c


with respect to the center value x


c


for each unit U


j


(S


620


). Where, O


1


=O


1


=0.5 because units U


1


and U


2


output the input as it is:






net


3




c




=b




3





31




·O




1





32




·O




2


=0+1×0.5+1×0.5=1.0










O




3




c




=f


(net


3




c


)=0.7310








net


4




c




=b




4





41




·O




1





42




·O




2


=0+1×0.5+1×0.5=1.0










O




4




c




=f


(net


4




c


)=0.7310








net


5




c




=b




5





53




·O




3





54




·O




4


=0+1×0.7310−1×0.7310=0.0










O




5




c




=f


(net


5




c


)=0.5






3) Initialize interval output signals O


1


and O


2


of the units U


j


and U


2


of the input layer (S


630


):








O




1


=[0, 1


] O




2


=[0, 1]






4) Initialize ΦO


m


/ΦXP


n


at the units U


1


and U


2


of the input layer (S


640


):






Φ


O




1




/ΦXP




1


=[1, 1


] ΦO




1




/ΦXP




2


=[0, 0]








Φ


O




2




/ΦXP




1


=[0, 0


] ΦO




2




/ΦXP




2


=[1, 1]






5) For unit U


3 (j=


3):




Find a first interval Net


3—




1


(S


660


):






Net


3—




1


=


b




3





31




·O




1





32




·O




2


=[0, 1]+[0, 1]=[0, 2]






Find an inclination Φnet


3


/ΦXP


n


(S


670


):






Φnet


3




/ΦXP




1





31


·(Φ


O




1




/ΦXP




1


)+ω


32


·(Φ


O




2




/ΦXP




1


)=[1, 1]








Φnet


3




/ΦXP




2





31


·(Φ


O




1




/ΦXP




2


)+ω


32


·(Φ


O




2




/ΦXP




2


)=[1, 1]






Find a second interval Net


3—




2


(S


680


):








W


=(Φnet


3




/ΦXP




1


)*(


XP




1




−x




1




c


)+(Φnet


3




/ΦXP




2


)*(


XP




2




−x




2




c


)=10.5+1·0.5=1








Net


3—




2


=[net


3




c




−W


, net


3




c




+W


]=[1−1, 1+1]=[0, 2]






Find a weighting signal Net


3 (S690):








Net


3


=Net


3—




1


∩Net


3—




2


=[0, 2]=[net


3




L


, net


3




U


]






Find an interval output signal (S


700


):








O




3




=f


(Net


3


)=[0.5, 0.881


]=[f


(net


3




L


),


f


(net


3




U


)]






Find an inclination Φf/Φnet


3


(S


720


):






{Use Equation (39) because Net


3


=[0, 2]⊂[0, ∞)}Φ


f


/ΦNet


3


=0.150, 0.231]






Find an inclination ΦO


3/ΦXP




m


(S


730


):




ti Φ


O




3




/ΦXP




1


=(Φ


f


/ΦNet


3


)·(Φnet


3




/ΦXP




1


)=[0.150, 0.231]






Φ


O




3




/ΦXP




2


=(Φ


f


/ΦNet


3


)·(Φnet


3




/ΦXP




2


)=[0.150, 0.231]






6) For Unit U


4


(j=4):




The following result may be obtained by calculating totally in the same manner with the case of unit U


3.










O




4




=f


(Net


3


)=[0.5, 0.881]








Φ


O




4




/ΦXP




1


=(Φ


f


/ΦNet


4


)·(Φnet


4




/ΦXP




1


)=[10.150, 0.231]








Φ


O




4




/ΦXP




2


=(Φ


f


/ΦNet


4


)·(Φnet


4




/ΦXP




2


)=[0.150, 0.231]






7) For Unit U


5 (j=


5):




Find a first interval Net


5—




1


(S


660


):






Net


5—




1


=


b




5





53




·O




3





54




·O




4


=[−0.381, 0.381]






Find an inclination Φnet


5


/ΦXP


1


(S


670


):






Φnet


5




/ΦXP




1





53


·(Φ


O




3




/ΦXP




1


)]+ω


54


·(Φ


O




4




/ΦXP




1


)=[−0.081, 0.081]








Φnet


5




/ΦXP




2





53


·(Φ


O




3




/ΦXP




2


)+ω


54


·(Φ


O




4




/ΦXP




2


)=[−0.081, 0.081]






Find a second interval Net


5—




2


(S


680


):








W


=(Φnet


5




/ΦXP




1


)*(


XP




1




−x




1




c


)+(Φnet


5




/ΦXP




2


)*(


XP




2




−x




2




c


)=0.081·0.5+0.081·0.5=0.081








Net


5—




2


=[net


5




c




−W


, net


5




c




+W


]=[0.0−0.081, 0.0+0.081]=[−0.081, 0.081]






Find a weighting signal Net


5


(S


690


):






Net


5


=Net


5—




1


∩Net


5—




2


=[−0.081, 0.081]






Find an interval output signal O


5


(S


700


):








O




5




=f


(Net


5


)=[0.480, 0.520]






8) Set the interval network output signal n(Xtop) (S


750


):








n


(


X


top)=


O




5


=[0.480, 0.520]





Claims
  • 1. A verification method of a neural network comprising an input layer, an intermediate layer and an output layer each having one or more units for generating transmission signals and synapses for transmitting said transmission signals by connecting the units between the respective layers, and arranged so as to transmit said transmission signals through said units sequentially toward said output layer when input signals are given to said input layer to set a transmission signal from said output layer as a network output signal and to set synaptic weight so that an error between said network output signal and a present teacher output signal falls within a tolerance, comprising the steps of:dividing a m-(m is an integer not less than 1) dimensional input signal space to said input layer into a plurality of input signal subspaces while setting a range of each input signal inputted to said input layer respectively as one−dimensional input signal space; calculating an interval error by using interval arithmetic, the interval error representing an obtainable range of the error between said teacher output signal and said network output signal per said input signal subspace; and verifying said neural network by evaluating said interval error, said evaluating performed by judging an inclusion relationship between said interval error and said tolerance.
  • 2. The verification method according to claim 1, further comprising the steps of:re-dividing the input signal subspace into a plurality of input signal subspaces, when part of said interval error is judged to be out of said tolerance; and repeating the process of judging said inclusion relationship per said input signal subspace generated by the re-division.
  • 3. The verification method according to claim 2, further comprising a step of inhibiting the re-division of said input signal subspace when a width of said interval error is equal to or less than a limit width which is smaller than a width of said tolerance.
  • 4. The verification method according to claim 1, further comprising the steps of:setting the respective range of each input signal forming said input signal subspace as an interval input signal; sequentially calculating an interval transmission signal representing an obtainable range of said transmission signal generated in said unit with respect to said interval input signal per each unit in accordance to the signal transmission route from said input layer to said output layer; setting an interval transmission signal calculated for the unit of said output layer as an interval network output signal representing an obtainable range of said network output signal; and calculating said interval error based on said interval network output signal.
  • 5. The verification method according to claim 4,wherein the unit of said input layer outputs said input signal as is, wherein the units in said intermediate and output layers generate a weighting signal based on all transmission signals inputted from the unit of the previous stage, and synaptic weight each corresponding to said transmission signal, and generate a transmission signal to be outputted to the following stage by a predetermined output function to which said weighting signal is to be inputted; said verification method further comprising the steps of: finding an intersection of a first interval signal found based on a sum of products of said interval transmission signal inputted from the unit of the previous stage and said synaptic weight, with a second interval signal found based on a sum of products of a first inclination representing a range of an obtainable rate of change of said weighting signal with respect to said interval input signal and said interval input signal; setting said intersection as an interval weighting signal representing an obtainable range of said weighting signal with respect to said interval input signal in the units in said intermediate and output layers; and generating said interval transmission signal based on said interval weighting signal and said output function.
  • 6. The verification method according to claim 5, further comprising steps of:calculating said first inclination by a sum of products of a second inclination representing an obtainable range of said transmission signal inputted from the unit of the previous stage with respect to said interval input signal and said synaptic weight; and calculating said second inclination for the transmission signal to be outputted to the following stage, by a product of a third inclination representing a range of a slope of said output function with respect to said interval weighting signal and said first inclination.
  • 7. The verification method according to claim 6, wherein said output function f(x) is a sigmoid function or a hyperbolic function and comprising a step of setting said third inclination as [{f(NL)−f(NC)}/{NL−NC}, {f(NU)−f(NC)}/{NU−NC}] when NU<0, as [{f(NU)−f(NC)}/{NU NC}, {f(NL)−f(NC)}/{NL−NC}] when NL≧0 and as [min}f′(NL), f′(NU)}, f′(0)] in cases other than those, wherein f′(x) is a derivative of said output function f(x), [NL, NU] is the interval weighting signal and NC is an interior point thereof.
  • 8. A recording medium into which a program for causing a computer system to execute a neural network verification method is recorded and from which the recorded contents can be read by said computer system:said neural network comprising an input layer, a intermediate layer and an output layer each having one or more units for generating transmission signals and synapses for transmitting said transmission signals by connecting the units between the respective layers, and arranged so as to transmit said transmission signals through said units sequentially toward said output layer when input signals are given to said input layer to set a transmission signal from said output layer as a network output signal and to set synaptic weight so that an error between said network output signal and a preset teacher output signal falls within a tolerance; said neural network verification method further comprising steps of: dividing a m-(m is an integer not less than 1) dimensional input signal space to said input layer into a plurality of input signal subspaces, while setting a range of each input signal inputted to said input layer respectively as one−dimensional input signal space; calculating an interval error by using interval arithmetic, the interval error representing an obtainable range of the error between said teacher output signal and said network output signal per said input signal subspace; and verifying said neural network by evaluating said interval errors said evaluating performed by judging an inclusion relationship between said interval error and said tolerance.
  • 9. A verification apparatus of a neural network comprising an input layer, an intermediate layer and an output layer each having one or more units for generating transmission signals and synapses for transmitting said transmission signals by connecting the units between the respective layers, and arranged so as to transmit said transmission signals through said units sequentially toward said output layer when input signals are given to said input layer to set a transmission signal from said output layer as a network output signal and to set synaptic weight so that an error between said network output signal and a preset teacher output signal falls within a tolerance;said neural network verification apparatus further comprising: interval dividing means for dividing a m-(m is an integer not less than 1) dimensional input signal space to said input layer into a plurality of input signal subspaces, while setting a range of each input signal inputted to said input layer respectively as one-dimensional input signal space; interval network output signal calculating means for calculating an interval network output signal representing an obtainable range of said network output signal per said input signal subspace; interval teacher output signal calculating means for calculating interval teacher output signal representing an obtainable range of said teacher output signal per said input signal subspace; interval error calculating means for calculating an interval error by using interval arithmetic, the interval error representing an obtainable range of an error between said interval network output signal and said interval teacher output signal per said input signal subspace; and judging means for judging an inclusion relationship between said interval error and said tolerance.
  • 10. The verification apparatus according to claim 9, wherein said interval dividing means is provided with interval re-dividing means for redividing the input signal subspace into a plurality of input signal subspaces, when part of said interval error is judged to be out of said tolerance.
  • 11. The verification apparatus according to claim 10, wherein said interval dividing means is provided with re-division inhibiting means for inhibiting the re-division of said input signal subspace implemented by said interval re-dividing means when a width of said interval error is equal to or less than a limit width which is smaller than a width of said tolerance.
  • 12. The verification apparatus according to claim 9,wherein said interval network output signal calculating means sets the respective range of each input signal forming said input signal subspace as an interval input signal; the apparatus further comprising interval transmission signal calculating means for sequentially calculating an interval transmission signal representing an obtainable range of said transmission signal generated in said unit with respect to said interval input signal per each unit in accordance to the signal transmission route from said input layer to said output layer,and for setting an interval transmission signal calculated for the unit of said output layer by said interval transmission signal calculating means as an interval network output signal representing an obtainable range of said network output signal.
  • 13. The verification apparatus according to claim 12,wherein the unit of said input layer outputs said input signal as is, wherein the units in said intermediate and output layers generate a weighting signal based on all transmission signals inputted from the unit of the previous stage and synaptic weight each corresponding to said transmission signal, and generate a transmission signal to be outputted to the following stage by a predetermined output function to which said weighting signal is to be inputted; said interval transmission signal calculating means further comprising: first interval signal calculating means for calculating a first interval signal based on a sum of products of said interval transmission signal inputted from the unit of the previous stage and said synaptic weight; second interval signal calculating means for calculating a second interval signal based on a sum of products of a first inclination representing a range of an obtainable rate of change of said weighting signal with respect to said interval input signal and said interval input signal; intersection extraction means for setting an intersection of said first and second interval signals as an interval weighting signal representing an obtainable range of said weighting signal with respect to said interval input signal; and interval transmission signal generating means for generating said interval transmission signal based on said interval weighting signal set by said intersection extraction means and said output function.
  • 14. The verification apparatus according to claim 13, further comprising:first inclination calculating means for calculating said first inclination by a sum of products of a second inclination representing an obtainable range of said transmission signal inputted from the unit of the previous stage with respect to said interval input signal and said synaptic weight; and second inclination calculating means for calculating said second inclination for the transmission signal to be outputted to the following stage by a product of a third inclination representing an obtainable range of a slope of said output function with respect to said interval weighting signal and said first inclination.
  • 15. The verification apparatus according to claim 14, wherein said output function f(x) is one of a sigmoid function and a hyperbolic function, and said verification apparatus further comprising third inclination setting means for setting said third inclination as [{f(NL)−f(NC)}/{NL−NC}, {f(NU)−f(NC)}/{NU−NC}] when NU<0, as [{f(NU)−f(NC)}/{NU−NC}, {f(NL)−f(NC)}/{NL−NC}] when NL≧0 and as [min{f′(NL), f′(NU)}, f′(0)] in cases other than those, wherein f′(x) is a derivative of said output function f(x), [NL, NU] is the interval weighting signal and NC is an interior point thereof.
  • 16. A production method of an air-conditioner using a neural network, comprising:a neural network constructing step for constructing the neural network comprising an input layer, an intermediate layer and an output layer each having one or more units for generating transmission signals and synapses for transmitting said transmission signals by connecting the units between the respective layers, and arranged so as to transmit said transmission signals through said units sequentially toward said output layer when input signals are given to said input layer to set a transmission signal from said output layer as a network output signal and to set synaptic weight so that an error between said network output signal and a preset teacher output signal falls within a tolerance; and a verifying step for verifying the operation of said neural network; said verifying step further comprising: a dividing step for dividing a m-(m is an integer not less than 1) dimensional input signal space to said input layer into a plurality of input signal subspaces, while setting a range of each input signal inputted to said input layer respectively as one-dimensional input signal space; a calculating step for calculating an interval error by using interval arithmetic, the interval error representing an obtainable range of the error between said teacher output signal and said network output signal per said input signal subspace; and an evaluating step for evaluating said interval error, said evaluating step further including judging an inclusion relationship between said interval error and said tolerance.
  • 17. A production method of an air-conditioner using a neural network, comprising:a neural network constructing step for constructing the neural network comprising an input layer, an intermediate layer and an output layer each having one or more units for generating transmission signals and synapses for transmitting said transmission signals by connecting the units between the respective layers, and arranged so as to transmit said transmission signals through said units sequentially toward said output layer when input signals are given to said input layer to set a transmission signal from said output layer as a network output signal and to set synaptic weight so that an error between said network output signal and a preset teacher output signal falls within a tolerance; and a verifying step for verifying the operation of said neural network; said verifying step further comprising: a dividing step for dividing a m-(m is an integer not less than 1) dimensional input signal space to said input layer into a plurality of input signal subspaces while setting a range of each input signal inputted to said input layer respectively as one-dimensional input signal space; an interval network output signal calculating step for calculating an interval network output signal representing an obtainable range of said network output signal per said input signal subspace; an interval teacher output signal calculating step for calculating interval teacher output signal representing an obtainable range of said teacher output signal per said input signal subspace; an interval error calculating step for calculating an interval error using interval arithmetic, said interval error representing an obtainable range of an error between said interval network output signal and said interval teacher output signal per said input signal subspace; and judging means for judging an inclusion relationship between said interval error and said tolerance.
  • 18. The production method of an air-conditioner according to claim 17, wherein said interval dividing step contains an interval re-dividing step for re-dividing the input signal subspace into a plurality of input signal subspaces, when part of said interval error is judged to be out of said tolerance re-dividing the input signal subspace into a plurality of input signal subspaces, when part of said interval error is judged to be out of said tolerance.
  • 19. The production method of an air-conditioner according to claim 18, wherein said interval dividing step contains a re-division inhibiting step for inhibiting the re-division of said input signal subspace implemented by said interval re-dividing step when a width of said interval error is equal to or less than a limit width which is smaller than a width of said tolerance.
  • 20. The production method of an air-conditioner according to claim 17, wherein said interval network output signal calculating step sets the respective range of each input signal forming said input signal subspace as an interval input signal;the method further comprising an interval transmission signal calculating step for sequentially calculating an interval transmission signal representing an obtainable range of said transmission signal generated in said unit with respect to said interval input signal per each unit in accordance to the signal transmission route from said input layer to said output layer, and for setting an interval transmission signal calculated for the unit of said output layer as an interval network output signal representing an obtainable range of said network output signal.
  • 21. The production method of an air-conditioner according to claim 20,wherein the unit of said input layer outputs said input signal as is, wherein the units in said intermediate and output layers generate a weighting signal based on all transmission signals inputted from the unit of the previous stage and synaptic weight each corresponding to said transmission signal, and generate a transmission signal to be outputted to the following stage by a predetermined output function to which said weighting signal is to be inputted; said interval transmission signal calculating step further comprising a first interval signal calculating step for calculating a first interval signal based on a sum of products of said interval transmission signal inputted from the unit of the previous stage and said synaptic weight; a second interval signal calculating step for calculating a second interval signal based on a sum of products of a first inclination representing a range of an obtainable rate of change of said weighting signal with respect to said interval input signal and said interval input signal; an intersection extraction step for setting an intersection of said first and second interval signals as an interval weighting signal representing an obtainable range of said weighting signal with respect to said interval input signal; and an interval transmission signal generating step for generating said interval transmission signal based on said interval weighting signal set by said intersection extraction means and said output function.
  • 22. The production method of an air-conditioner according to claim 21, further comprising:a first inclination calculating step for calculating said first inclination by a sum of products of a second inclination representing an obtainable range of said transmission signal inputted from the unit of the previous stage with respect to said interval input signal and said synaptic weight; and a second inclination calculating step for calculating said second inclination for the transmission signal to be outputted to the following stage by a product of a third inclination representing an obtainable range of a slope of said output function with respect to said interval weighting signal and said first inclination.
  • 23. The production method of an air-conditioner according to claim 22, wherein said output function f(x) is a sigmoid function or a hyperbolic function and said production method of an air-conditioner further comprising a third inclination setting step for setting said third inclination as [{f(NL)−f(NC)}/{NL−NC}, {f(NU)−f(NC)}/{NU−NC}] when NU<0, as [{f(NU)−f(NC)}/{NU−NC}, {f(NL)−f(NC)}/{NL−NC}] when NL≧0 and as [min{f′(NL), f′(NU)}, f′(0)] in cases other than those, wherein f′(x) is a derivative of said output function f(x), [NL, NU] is the interval weighting signal and NC is an interior point thereof.
Priority Claims (1)
Number Date Country Kind
9-332068 Dec 1997 JP
US Referenced Citations (1)
Number Name Date Kind
5841949 Nakaya et al. Nov 1998 A
Foreign Referenced Citations (5)
Number Date Country
2-246485 Oct 1990 JP
2-266458 Oct 1990 JP
2-310779 Dec 1990 JP
5-189398 Jul 1993 JP
7-249089 Sep 1995 JP
Non-Patent Literature Citations (9)
Entry
Simon Haykin, McMaster University, Hamilton, Ontario, Canada, “Neural Networks, A Comprehensive Foundation,” Chapter 6 & Chapter 7, IEEE Computer Society Press, IEEE Press ®, Copyright ©1994 by Macmillan College Publishing Company, Inc..*
Franco Buffa, Ignazio Porceddu, Stazione Astronomica Cagliari, Temperature forecas and dome seeing minimization,I. A case study using a neural network model, TNG Technical Report n. 67, F. Buffa, I. Porceddu, Oct. 1997.*
An Extension of the BP-Algorithm to Interval Input Vectors—Learining from Numericaql Data and Exper's Knowledge,Hisao Ishibuchi and Hidea Tanaka; (1991) IEEE International Joint Conference on Neural Networks, vol. 2 of 3, pp. 1588-1593.*
Limiting the Effects of Weight Errors in Feed Forward Networks Using Interval Arithmetic, Davide Anguita; Sandro Ridella; Stefano Rovetta; Rodolfo Zunino; (1996) IEEE Internationa Conference on Neural Networks, pp. 414-417.*
Search listing www.google.com.*
R. Baker Kearfott, “Rigorous Global Search: Continuous Problems,” Nonconvex Optimization and Its Applications, vol. 13, pp. 1-17, 26-31, 169-175 and v.
Ishibuchi et al, “An Extension of the BP-Algorithm to Interval Input Vectors—Learning from Numerical Data and Expert's Knowledge -,” 1991 IEEE International Joint Conference On Neural Networks, vol. 2 of 3, pp. 1588-1593.
Rumelhart et al, “Parallel Distributed Processing Explorations in the Microstructure of Cognition,” vol. 1: Foundations, Chapter 8, 9 pages and 3 pages index.
Anguita et al, “Limiting the Effects of Weight Errors in Feed Forward Networks Using Interval Arithmetic,” The 1996 IEEE International Conference On Neural Networks, Jun. 3-6, 1996, pp. 414-417.