Apparatus and network construction method for determining the number of elements in an intermediate layer of a neural network
11373110 · 2022-06-28
Assignee
Inventors
Cpc classification
G06N3/082
PHYSICS
G06F18/2321
PHYSICS
G06F18/24317
PHYSICS
G06N7/00
PHYSICS
G06F18/2185
PHYSICS
International classification
Abstract
An element construction unit compares output values of one or more elements included in an intermediate layer calculated by an output value calculating unit with a threshold value, and the number of elements included in the intermediate layer is maintained when any of the output values out of the output values of the one or more elements included in the intermediate layer is greater than the threshold value, and the number of elements included in the intermediate layer is increased when all of the output values of the one or more elements included in the intermediate layer are equal to or less than the threshold value.
Claims
1. A network construction apparatus for constructing a neural network having an input layer, one or more intermediate layers having a number of respective elements, and an output layer, where the input/output response of the respective elements of one or more intermediate layers is determined by a Gaussian function, comprising: a processor; and a memory storing instructions, upon executed by the processor, causing the processor to perform an element construction process to determine a structure of the one or more intermediate layers, the element construction processing including processes to: determine whether the one or more intermediate layers include at least one element and adding an element to the one or more intermediate layers in response to a determination that non elements currently exist; initialize, for each element included in an intermediate layer, parameters of a Gaussian function related to the element when the neural network is constructed, the neural network including the intermediate layer including an element whose input/output response is determined by the Gaussian function; calculate output values of one or more elements included in the intermediate layer in accordance with the initialized parameters and an output value of an element included in the input layer of the neural network; compare the calculated output values of the one or more elements with a threshold value, and maintaining a number of elements included in the intermediate layer when an output value of any of the elements out of the output values of the one or more elements included in the intermediate layer is greater than the threshold value, and performing element construction processing of increasing the number of elements included in the intermediate layer when all of the output values of the one or more elements included in the intermediate layer are equal to or less than the threshold value; and repeat the element construction processes until all pieces of learning data have been acquired; and perform a training process of updating the parameters of the Gaussian function and updating a weight between an element included in the one or more intermediate layers and an element included in the output layer, by performing supervised learning to learn the parameters of the Gaussian function when learning data is given to the input layer after the element construction processing is completed.
2. The network construction apparatus according to claim 1, wherein the element construction process calculates an output value of each element included in the intermediate layer by assigning an output value of an element included in the input layer to the Gaussian function having the initialized parameters.
3. The network construction apparatus according to claim 1, wherein the training process updates a weight between an element included in the input layer and an element included in the intermediate layer by performing the supervised learning.
4. The network construction apparatus according to claim 2, wherein the element construction process uses a standard deviation value of a Gaussian distribution in the Gaussian function for individual elements included in the intermediate layer, as one of the parameters of the Gaussian function.
5. The network construction apparatus according to claim 4, wherein the element construction process uses a standard deviation value of output values of a plurality of the elements included in the input layer, as the standard deviation value of the Gaussian distribution for the individual elements included in the intermediate layer.
6. The network construction apparatus according to claim 4, wherein the element construction process uses a positive real number as the standard deviation value of the Gaussian distribution for the individual elements included in the intermediate layer.
7. The network construction apparatus according to claim 1, wherein the element construction process uses a positive real number equal to or less than 1, as the threshold value.
8. The network construction apparatus according to claim 1, wherein the element construction process uses a positive real number equal to or greater than e-0.25 and equal to or less than 1, as the threshold value.
9. The network construction apparatus according to claim 1, wherein the training process updates any one or more parameters out of a parameter indicating the standard deviation value of the Gaussian distribution in the Gaussian function and a parameter indicating a center coordinate of the Gaussian function, as the parameters of the Gaussian function.
10. The network construction apparatus according to claim 1, wherein the neural network includes G intermediate layers, where G is an integer equal to or greater than 2, and the G intermediate layers are connected in cascade between the input layer and an output layer, the element construction process calculates output values of one or more elements included in a first intermediate layer in accordance with an output value of an element included in the input layer when the output value of the element included in the input layer is given to the one or more elements included in the first intermediate layer, and calculates output values of one or more elements included in a g-th intermediate layer, where g=2, . . . , G, in accordance with an output value of an element included in a (g−1)-th intermediate layer, where g=2, . . . , G, when the output value of the element included in the (g−1)-th intermediate layer, where g=2, . . . , G, is given to the one or more elements included in the g-th intermediate layer, where g=2, . . . , G, and the element construction process compares the output values of the one or more elements included in the g-th intermediate layer, where g=1, . . . G, calculated by the process with the threshold value, and maintains a number of elements included in the g-th intermediate layer, where g=1, . . . G, when an output value of any of the elements out of the output values of the one or more elements included in the g-th intermediate layer, where g=1, . . . G, is greater than the threshold value, and performs element construction processing of increasing the number of elements included in the g-th intermediate layer, where g=1, . . . G, when all of the output values of the one or more elements included in the g-th intermediate layer, where g=1, . . . G, are equal to or less than the threshold value.
11. The network construction apparatus according to claim 10, the training process further comprises updating parameters of the Gaussian function related to an element included in a G-th intermediate layer, where G is an integer equal to or greater than 2, and updating a weight between an element included in the G-th intermediate layer and an element included in the output layer, by performing supervised learning for learning the parameters of the Gaussian function when learning data is given to the input layer after the element construction processing is performed by the process.
12. The network construction apparatus according to claim 11, wherein the training process updates a weight between an element included in the (g−1)-th intermediate layer, where g=2, . . . , G, and an element included in g-th intermediate layer, where g=2, . . . , G, by performing the supervised learning.
13. The network construction apparatus according to claim 11, wherein the training process updates a weight between an element included in the input layer and an element included in the first intermediate layer, by performing the supervised learning.
14. The network construction apparatus according to claim 10, the element construction process further comprising to determine a number of the intermediate layers included in the neural network.
15. The network construction apparatus according to claim 14, wherein the element construction process determines the number of the intermediate layers from an input/output time of data in the neural network and an allowable time of the input/output time.
16. The network construction apparatus according to claim 14, wherein the element construction process determines the number of the intermediate layers from a learning time of the neural network and an allowable time of the learning time.
17. A network construction method for constructing a neural network having an input layer, one or more intermediate layers having a number of respective elements, and an output layer, where the input/output response of the respective elements of one or more intermediate layers is determined by a Gaussian function, the method comprising: performing an element construction process to determine a structure of the one or more intermediate layers, the element construction processing including: determining whether the one or more intermediate layers include at least one element and adding an element to the one or more intermediate layers in response to a determination that non elements currently exist; initializing for each element included in an intermediate layer, parameters of a Gaussian function related to the element when the neural network is constructed, the neural network including the intermediate layer including an element whose input/output response is determined by the Gaussian function; calculating output values of one or more elements included in the intermediate layer in accordance with the initialized parameters and an output value of an element included in the input layer of the neural network; comparing the calculated output values of the one or more elements with a threshold value, and maintaining a number of elements included in the intermediate layer when an output value of any of the elements out of the output values of the one or more elements included in the intermediate layer is greater than the threshold value, and performing element construction processing of increasing the number of elements included in the intermediate layer when all of the output values of the one or more elements included in the intermediate layer are equal to or less than the threshold value, by an element construction step, and repeating the element construction processes until all pieces of learning data have been acquired; and performing a training process of updating the parameters of the Gaussian function and updating a weight between an element included in the one or more intermediate layers and an element included in the output layer, by performing supervised learning to learn the parameters of the Gaussian function when learning data is given to the input layer after the element construction processing is completed.
18. The network construction method according to claim 17, wherein the output value calculating step calculates an output value of each element included in the intermediate layer by substituting an output value of an element included in the input layer to the Gaussian function having parameters initialized by the initial setting step.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DESCRIPTION OF EMBODIMENTS
(11) Hereinafter, to explain the present invention in more detail, embodiments for carrying out the present invention will be described with reference to the accompanying drawings.
(12) In a case where the input/output response of an element included in an intermediate layer of a neural network is a normalized linear function, for example, when positive data deviating largely from an assumed range is input to the intermediate layer, it is assumed that large positive data is output from the intermediate layer. As a result, it is assumed that large positive data is also output from an output layer.
(13) Thus, for example, when data deviating largely from the assumed range is input to the intermediate layer, large positive data is output from the output layer of the neural network, so that an apparatus on the output side of the neural network may be largely affected.
(14) In a case where the input/output response of the element included in the intermediate layer of the neural network is a Gaussian function, for example, when positive or negative data deviating largely from the assumed range is input to the intermediate layer, data close to zero is output from the intermediate layer. As a result, data close to zero is also output from the output layer.
(15) Thus, for example, even when the data deviating largely from the assumed range is input to the intermediate layer, the data close to zero is output from the output layer of the neural network, so that the apparatus on the output side of the neural network can avoid a large influence.
First Embodiment
(16)
(17)
(18) In
(19) In the first embodiment, an example in which the number of intermediate layers 2 is one will be described, and an example in which the number of intermediate layers 2 is two or more will be described in a second embodiment.
(20) The input layer 1 includes I (I is an integer equal to or greater than 1) elements a.sub.i (i=1, . . . , I), and, for example, M (M is an integer equal to or greater than 1) pieces of learning data x.sup.m=(x.sub.1.sup.m, x.sub.2.sup.m, . . . , x.sub.Im) are sequentially given from a sensor or the like. The superscript m represents m=1, 2, . . . , M.
(21) The number of dimensions of the learning data x.sup.m is I, and x.sub.i.sup.m (i=1, . . . , I) included in the learning data x.sup.m is referred to as component data.
(22) When the i-th component data x.sub.i.sup.m (i=1, . . . , I) of the learning data x.sup.m is given to the i-th element a.sub.i (i=1, . . . , I), the input layer 1 outputs y.sub.i=x.sub.i.sup.m as an output value of the i-th element a.sub.i for the j-th element b.sub.j (j=1, . . . , J) included in the intermediate layer 2.
(23) The intermediate layer 2 includes J (J is an integer equal to or greater than 1) elements b.sub.j (j=1, . . . , J), and the j-th element b.sub.j is an element whose input/output response is determined by a Gaussian function.
(24) However, in the first embodiment, for convenience of description, it is assumed that the number of elements included in the intermediate layer 2 is zero before construction of the network by the network construction apparatus. This is merely an example, and the intermediate layer 2 may include one or more elements even before the construction of the network by the network construction apparatus.
(25) When the output value y.sub.i (i=1, . . . , I) of the I elements a.sub.i included in the input layer 1 is given to the j-th element b.sub.j, the intermediate layer 2 calculates an output value z.sub.j (j=1, . . . , J) of the j-th element b.sub.3 from the output value y.sub.i of the I elements a.sub.i, and outputs the output value z.sub.j of the element b.sub.3 to the output layer 3.
(26) The output layer 3 includes an element c, and the element c calculates, for example, a sum of products of the output values z.sub.j (j=1, . . . , J) of the J elements b.sub.j included in the intermediate layer 2 and a weight v.sub.j (j=1, . . . , J) between the intermediate layer 2 and the output layer 3, and outputs the sum.
(27)
(28) An initial setting unit 11 is implemented by, for example, an initial setting circuit 21 in
(29) The initial setting unit 11 performs processing of initializing parameters of the Gaussian function related to the element b.sub.j for each element included in the intermediate layer 2.
(30) The initial setting unit 11 initializes, as the parameters of the Gaussian function, for example, a standard deviation value σ.sub.i,j of a Gaussian distribution, a center coordinate μ.sub.i,j of the Gaussian function, and a weight W.sub.i,j between the i-th element a.sub.i included in the input layer 1 and the j-th element b.sub.j included in the intermediate layer 2.
(31) The standard deviation value σ.sub.i,j of the Gaussian distribution is a standard deviation value of, for example, the output values y.sub.i (i−1, . . . , I) of the I elements a.sub.i for the j-th element b.sub.j included in the intermediate layer 2.
(32) The center coordinate μ.sub.i,j of the Gaussian function is a component of the center of the j-th element b.sub.j included in the intermediate layer 2.
(33) An output value calculating unit 12 is implemented by, for example, an output value calculating circuit 22 in
(34) As initial values of the parameters of the Gaussian function, the standard deviation value σ.sub.i,j of the Gaussian distribution, the center coordinate μ.sub.i,j of the Gaussian function, and the weight W.sub.i,j are given from the initial setting unit 11 to the output value calculating unit 12.
(35) The output value calculating unit 12 performs processing of calculating the output value z.sub.j (J=1, . . . , J) of the j-th element b.sub.j, by substituting, for example, the output values y.sub.i (i=1, . . . , I) of the I elements a.sub.i included in the input layer 1, to the Gaussian function having the initial values of the parameters given from the initial setting unit 11.
(36) An element construction unit 13 is implemented by, for example, an element construction circuit 23 in
(37) The element construction unit 13 compares the output values z.sub.j (j=1, . . . , J) of the J elements b.sub.j calculated by the output value calculating unit 12 with a preset threshold value Th, and maintains the number of elements b.sub.j included in the intermediate layer 2 when the output value z.sub.j of any of the elements b.sub.j is greater than the threshold value Th, out of the output values z.sub.j of the J elements b.sub.j included in the intermediate layer 2.
(38) In addition, when all of the output values z.sub.j of the J elements b.sub.j are equal to or less than the threshold value Th, the element construction unit 13 performs element construction processing of increasing the number of elements b.sub.j included in the intermediate layer 2.
(39) A data storage unit 14 is implemented by, for example, a data storage circuit 24 in
(40) The data storage unit 14 stores the parameters of the Gaussian function related to the element b.sub.j initialized by the initial setting unit 11 and the output value z.sub.j of the element b.sub.j calculated by the output value calculating unit 12 in addition to the number J of the elements b.sub.j included in the intermediate layer 2.
(41) A parameter updating unit 15 is implemented by, for example, a parameter updating circuit 25 in
(42) The parameter updating unit 15 updates the weight v.sub.j between the j-th element b.sub.j included in the intermediate layer 2 and the element c included in the output layer 3, and the parameters of the Gaussian function stored in the data storage unit 14, by performing supervised learning for learning the parameters of the Gaussian function when the learning data is given to the input layer 1, after the element construction processing is performed by the element construction unit 13.
(43) In addition, the parameter updating unit 15 performs processing of updating the weight W.sub.i,j between the i-th element a.sub.1 included in the input layer 1 and the j-th element b.sub.j included in the intermediate layer 2 by performing the supervised learning.
(44) In
(45) Here, examples of the data storage circuit 24 include a nonvolatile or volatile semiconductor memory such as random access memory (RAM), read only memory (ROM), flash memory, erasable programmable read only memory (EPROM), and electrically erasable programmable read only memory (EEPROM); a magnetic disk, a flexible disk, an optical disc, a compact disc, a mini disc, a digital versatile disc (DVD), and the like.
(46) In addition, examples of the initial setting circuit 21, the output value calculating circuit 22, the element construction circuit 23, and the parameter updating circuit 25 include a single circuit, a composite circuit, a programmed processor, a parallel-programmed processor, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination thereof.
(47) However, the components of the network construction apparatus are not limited to those implemented by dedicated hardware, and the network construction apparatus may be implemented by software, firmware, or a combination of software and firmware.
(48) Software and firmware are stored as programs in a memory of a computer. The computer means hardware for executing a program, and its examples include a central processing unit (CPU), a central processing device, a processing device, an arithmetic device, a microprocessor, a microcomputer, a processor, a digital signal processor (DSP), and the like.
(49)
(50) In the case where the network construction apparatus is implemented by software, firmware, or the like, it is sufficient that the data storage unit 14 is configured on a memory 31 of the computer, and a program for causing the computer to execute processing procedures of the initial setting unit 11, the output value calculating unit 12, the element construction unit 13, and the parameter updating unit 15 is stored in the memory 31, and a processor 32 of the computer executes the program stored in the memory 31.
(51)
(52) In addition,
(53) Next, the operation will be described.
(54) Processing contents of the network construction apparatus in the first embodiment are roughly divided into two processing contents.
(55) A first processing content is a processing content for determining a structure of the intermediate layer 2, that is, a processing content for determining the number J of the elements b.sub.j included in the intermediate layer 2 and initializing the parameters of the Gaussian function related to the element b.sub.j (step ST1 in
(56) A second processing content is a processing content for updating the initialized parameters of the Gaussian function and the weight W.sub.i,j between the i-th element a.sub.i included in the input layer 1 and the j-th element b.sub.j included in the intermediate layer 2 by performing the supervised learning (step ST2 in
(57) Hereinafter, with reference to
(58) In the first embodiment, it is assumed that an initial value of the number J of the elements b.sub.j included in the intermediate layer 2 is zero.
(59) In executing the first processing content, the element construction unit 13 determines whether or not the element b.sub.j is included in the intermediate layer 2.
(60) That is, the element construction unit 13 determines whether or not the number J of the elements b.sub.j included in the intermediate layer 2 is zero (step ST11 in
(61) When it is determined that the number J of the elements b.sub.j included in the intermediate layer 2 is zero (step ST11 in
(62) When it is determined that the number J of the elements b.sub.j included in the intermediate layer 2 is not zero (step ST11 of
(63) When the element construction unit 13 creates the element b.sub.1 in the intermediate layer 2, the initial setting unit 11 determines whether or not all of the M pieces of learning data x.sup.m=(x.sub.1.sup.m, x.sub.2.sup.m, . . . , x.sub.1.sup.m) have already been acquired (step ST13 in
(64) When the M pieces of learning data x.sup.m have already been acquired (step ST13 in
(65) When the M pieces of learning data x.sup.m have not yet been acquired (step ST13 of
(66) In the first embodiment, since the M pieces of learning data x.sup.m have not been acquired at this stage, the initial setting unit 11 acquires first learning data x.sup.1−(x.sub.1.sup.1, x.sub.2.sup.1, . . . x.sub.I.sup.1) as the learning data x.sup.m that has not yet been acquired.
(67) When the first learning data x.sup.1−(x.sub.1.sup.1, x.sub.2.sup.1, . . . , x.sub.I.sup.1) is acquired, the initial setting unit 11 initializes parameters of the Gaussian function related to the element b.sub.1 included in the intermediate layer 2 from an output value y.sub.i=x.sub.i.sup.1 of the i-th element a.sub.i included in the input layer 1 (step ST15 in
(68) That is, the initial setting unit 11 initializes a standard deviation value σ.sub.i,1 (i−1, . . . , I) of the Gaussian distribution as one of the parameters of the Gaussian function related to the element b.sub.1 included in the intermediate layer 2.
(69) The standard deviation value σ.sub.i,1 of the Gaussian distribution is a standard deviation value of the output values y.sub.i=x.sub.i.sup.1 of the I elements a.sub.i for the element b.sub.1 included in the intermediate layer 2, and is calculated from the output values y.sub.i=x.sub.i.sup.1 of the I elements a.sub.i included in the input layer 1. Since processing of calculating the standard deviation value σ.sub.i,1 itself is a known technique, a detailed description thereof will be omitted.
(70) In addition, the initial setting unit 11 initializes a center coordinate μ.sub.i,1 (i=1, . . . , I) of the Gaussian function as one of the parameters of the Gaussian function related to the element b.sub.1 included in the intermediate layer 2.
(71) The center coordinate μ.sub.i,1 of the Gaussian function is the output value y.sub.i=x.sub.i.sup.1 of the i-th element a.sub.i included in the input layer 1, as indicated in the following expression (1).
μ.sub.i,1−x.sub.i.sup.1 (1)
(72) Further, the initial setting unit 11 initializes a weight W.sub.i,j (i=1, . . . , I) between the i-th element a.sub.i included in the input layer 1 and the element b.sub.1 included in the intermediate layer 2, as one of the parameters of the Gaussian function related to the element b.sub.1 included in the intermediate layer 2, as indicated in the following expression (2).
W.sub.i,1−1 (2)
(73) Here, an example is described where the weight W.sub.i,j is set to 1; however, this is merely an example, and a value other than 1 may be set.
(74) When the parameters of the Gaussian function related to the element b.sub.1 included in the intermediate layer 2 are initialized, the initial setting unit 11 outputs the initial values of the parameters to the output value calculating unit 12, and stores the initial values of the parameters in the data storage unit 14.
(75) The output value calculating unit 12 acquires from the initial setting unit 11 the initial values of the parameters of the Gaussian function related to the element b.sub.1 included in the intermediate layer 2.
(76) In addition, the output value calculating unit 12 acquires the first learning data x.sup.1=(x.sub.1.sup.1, x.sub.21.sup.1, . . . x.sub.I.sup.1).
(77) When the first learning data x.sup.1 is acquired, the output value calculating unit 12 calculates an output value z.sub.1 of the element b.sub.1 included in the intermediate layer 2 (step ST16 in
(78) That is, the output value calculating unit 12 calculates the output value z.sub.z of the element b.sub.1 included in the intermediate layer 2, by substituting the initial values of the parameters of the Gaussian function related to the element b.sub.1 included in the intermediate layer 2 and the output value y.sub.i=x.sub.i.sup.1 of the I elements a.sub.i included in the input layer 1, to the <Gaussian function indicated in the following expression (3).
(79)
(80) When the output value z.sub.1 of the element b.sub.1 included in the intermediate layer 2 is calculated, the output value calculating unit 12 outputs the output value z.sub.1 of the element b.sub.1 to the element construction unit 13, and stores the output value z.sub.1 of the element b.sub.1 in the data storage unit 14.
(81) When the output value z.sub.1 of the element b.sub.1 is received from the output value calculating unit 12, the element construction unit 13 compares the output value z.sub.1 of the element b.sub.1 with the preset threshold value Th (step ST17 in
(82) Since the output value z.sub.1 of the element b.sub.1 is 1 at the maximum, as the threshold value Th, a positive real number equal to or less than 1, or a positive real number equal to or greater than e.sup.−0.25 and equal to or less than 1 is conceivable.
(83) When the output value z.sub.1 of the element b.sub.1 included in the intermediate layer 2 is greater than the threshold value Th (step ST17 in
(84) When the output value z.sub.1 of the element b.sub.1 included in the intermediate layer 2 is equal to or less than the threshold value Th (step ST17 in
(85) In the first embodiment, for convenience of description, the output value z.sub.1 of the element b.sub.1 included in the intermediate layer 2 is equal to or less than the threshold value Th, so that the new element b.sub.2 is added to the intermediate layer 2.
(86) When the element construction unit 13 adds the new element b.sub.2 to the intermediate layer 2 or maintains the number J of the elements included in the intermediate layer 2, the initial setting unit 11 determines whether or not all of the M pieces of learning data x.sup.m=(x.sub.1.sup.m, x.sub.2.sup.m, . . . , x.sub.I.sup.m) have already been acquired (step ST13 in
(87) When the M pieces of learning data x.sup.m have already been acquired (step ST13 in
(88) When the M pieces of learning data x.sup.m have not yet been acquired (step ST13 of
(89) In the first embodiment, since the M pieces of learning data x.sup.m have not been acquired at this stage, the initial setting unit 11 acquires second learning data x.sup.2=(x.sub.1.sup.2, x.sub.2.sup.2, . . . , x.sub.I.sup.2) as the learning data x.sup.m that has not yet been acquired.
(90) When the second learning data x.sup.2=(x.sub.1.sup.2, x.sub.2.sup.2, . . . , x.sub.I.sup.2) is acquired, the initial setting unit 11 initializes the parameters of the Gaussian function related to the elements b.sub.1 and b.sub.2 included in the intermediate layer 2 from the output value y.sub.i=x.sub.i.sup.2 of the i-th element a.sub.i included in the input layer 1 (step ST15 in
(91) That is, the initial setting unit 11 calculates the standard deviation value σ.sub.i,j (i=1, . . . , I: j−1, 2) of the Gaussian distribution from the output values y.sub.i−x.sub.i.sup.2 of the I elements a.sub.i included in the input layer 1, as one of the parameters of the Gaussian function related to the elements b.sub.1 and b.sub.2 included in the intermediate layer 2.
(92) In addition, the initial setting unit 11 initializes the output value y.sub.i=x.sub.i.sup.2 of the i-th element a.sub.i included in the input layer 1 to the center coordinate μ.sub.i,j (i−1, . . . , I: j−1, 2) of the Gaussian function, as one of the parameters of the Gaussian function related to the elements b.sub.1 and b.sub.2 included in the intermediate layer 2, as indicated in the following expression (4).
μ.sub.i,j=x.sub.i.sup.2 (4)
(93) Further, the initial setting unit 11 initializes the weight W.sub.i,j between the i-th element a.sub.i (i=1, . . . , I) included in the input layer 1 and the j-th element b.sub.j (j=1, 2) included in the intermediate layer 2, as one of the parameters of the Gaussian function related to the elements b.sub.1 and b.sub.2 included in the intermediate layer 2, as indicated in the following expression (5).
W.sub.i,j=1 (5)
(94) Here, an example is described in which the weight W.sub.i,j is set to 1; however, this is merely an example, and a value other than 1 may be set.
(95) When the parameters of the Gaussian function related to the elements b.sub.1 and b.sub.2 included in the intermediate layer 2 are initialized, the initial setting unit 11 outputs the initial values of the parameters to the output value calculating unit 12, and stores the initial values of the parameters in the data storage unit 14.
(96) The output value calculating unit 12 acquires from the initial setting unit 11 the initial values of the parameters of the Gaussian function related to the elements b.sub.1 and b.sub.2 included in the intermediate layer 2.
(97) In addition, the output value calculating unit 12 acquires the second learning data x.sup.2−(x.sub.1.sup.2, x.sub.2.sup.2, . . . , x.sub.I.sup.2).
(98) When the second learning data x.sup.2 is acquired, the output value calculating unit 12 calculates the output value z.sub.1 of the element b.sub.1 included in the intermediate layer 2 (step ST16 in
(99) That is, the output value calculating unit 12 calculates the output value z.sub.1 of the element b.sub.1 included in the intermediate layer 2, by substituting the initial values of the parameters of the Gaussian function related to the element b.sub.1 included in the intermediate layer 2, and the output values y.sub.i=x.sub.i.sup.2 of the I elements a.sub.i included in the input layer 1, to the Gaussian function indicated in the following expression (6).
(100) The initial values of the parameters of the Gaussian function related to the element b.sub.1 included in the intermediate layer 2 are the standard deviation value σ.sub.i,1 (i=1, . . . , I) of the Gaussian distribution, the center coordinate μ.sub.i,1 (i=1, . . . , I), and the weight W.sub.i,j (i=1, . . . , I).
(101) In addition, the output value calculating unit 12 calculates an output value z.sub.2 of the element b.sub.2 included in the intermediate layer 2, by substituting the initial values of the parameters of the Gaussian function related to the element b.sub.2 included in, the intermediate layer 2, and the output values y.sub.1=x.sub.i.sup.2 of the I elements a.sub.i included in the input layer 1, to the Gaussian function indicated in the following expression (6).
(102) The initial values of the parameters of the Gaussian function related to the element b.sub.2 included in the intermediate layer 2 are a standard deviation value σ.sub.i,2 (i=1, . . . , I) of the Gaussian distribution, a center coordinate μ.sub.i,2 (i=1, . . . , I) of the Gaussian function, and a weight W.sub.i,j (i=1, . . . , I).
(103)
(104) Here, in the expression (6), I=1, . . . , I, and j=1, 2.
(105) When the output value z.sub.1 of the element b.sub.1 and the output value z.sub.2 of the element b.sub.2 included in the intermediate layer 2 are calculated, the output value calculating unit 12 outputs the output values z.sub.1 and z.sub.2 of the elements b.sub.1 and b.sub.2 to the element construction unit 13, and stores the output values z.sub.1 and z.sub.2 of the elements b.sub.1 and b.sub.2 in the data storage unit 14.
(106) When the output values z.sub.1 and z.sub.2 of the elements b.sub.1 and b.sub.2 are received from the output value calculating unit 12, the element construction unit 13 compares the output values z.sub.1 and z.sub.2 of the elements b.sub.1 and b.sub.2 with the threshold value Th (step ST17 in
(107) When any of the output, values z.sub.1 and z.sub.2 of the elements b.sub.1 and b.sub.2 included in the intermediate layer 2 is greater than the thresholdvalue Th (step ST17 in
(108) When all of the output values z.sub.1 and z.sub.2 of the elements b.sub.1 and b.sub.2 included in the intermediate layer 2 are equal to or less than the threshold value Th (step ST17 in
(109) In the first embodiment, for convenience of description, all of the output values z.sub.1 and z.sub.2 of the elements b.sub.1 and b.sub.2 included in the intermediate layer 2 are equal to or less than the threshold value Th, so that the new element b.sub.3 is added to the intermediate layer 2.
(110) Hereinafter, description will be made assuming that the number of elements currently included in the intermediate layer 2 is J (J≥3).
(111) When the element construction unit 13 adds a new element to the intermediate layer 2 or maintains the number J of the elements included in the intermediate layer 2, the initial setting unit 11 determines whether or not all of the M pieces of learning data x.sup.m=(x.sub.1.sup.m, x.sub.2.sup.m, . . . , x.sub.I.sup.m) have already been acquired (step ST13 in
(112) When the M pieces of learning data x.sup.m have already been acquired (step ST13 in
(113) When the M pieces of learning data x.sup.m have not yet been acquired (step ST13 of
(114) For example, when the m-th learning data x.sup.m of the M pieces of learning data x.sup.m has not yet been acquired, the initial setting unit 11 acquires the m-th learning data x.sup.m.
(115) When the m-th learning data x.sup.m is acquired, the initial setting unit 11 initializes the parameters of the Gaussian function related to the elements b.sub.1 to b.sub.J included in the intermediate layer 2, from the output value y.sub.i=x.sub.i.sup.m of the i-th element a.sub.i included in the input layer 1 (step ST15 in
(116) That is, the initial setting unit 11 calculates the standard deviation value σ.sub.i,j (i=1, . . . , I: j−1, . . . , J) of the Gaussian distribution from the output values y.sub.i−x.sub.i.sup.m of the I elements a.sub.i included in the input layer 1, as one of the parameters of the Gaussian function related to the elements b.sub.1 to b.sub.J included in the intermediate layer 2.
(117) In addition, the initial setting unit 11 initializes the output value y.sub.i=x.sub.i.sup.m of the i-th element a.sub.i included in the input layer 1 to the center coordinate μ.sub.i,j of the Gaussian function, as one of the parameters of the Gaussian function related to the elements b.sub.1 to b.sub.J included in the intermediate layer 2, as indicated in the expression (4).
(118) Further, the initial setting unit 11 initializes the weight W.sub.i,j between the i-th element a.sub.i (i=1, . . . , J) included in the input layer 1 and the j-th element b.sub.j (j=1, . . . , J) included in the intermediate layer 2, as one of the parameters of the Gaussian function related to the elements b.sub.1 to b.sub.J included in the intermediate layer 2, as indicated in the expression (5).
(119) Here, an example is described in which the weight W.sub.i,j is set to 1; however, this is merely an example, and a value other than 1 may be set.
(120) When the parameters of the Gaussian function related to the elements b.sub.1 to b.sub.J included in the intermediate layer 2 are initialized, the initial setting unit 11 outputs the initial values of the parameters to the output value calculating unit 12, and stores the initial values of the parameters in the data storage unit 14.
(121) The output value calculating unit 12 acquires from the initial setting unit 11 the initial values of the parameters of the Gaussian function related to the elements b.sub.1 to b.sub.J included in the intermediate layer 2.
(122) In addition, the output value calculating unit 12 acquires the m-th learning data x.sup.m=(x.sub.1.sup.m, x.sub.2.sup.m, . . . , x.sub.I.sup.m).
(123) When the m-th learning data x.sup.m=(x.sub.1.sup.m, x.sub.2.sup.m, . . . , x.sub.I.sup.m) is acquired, the output value calculating unit 12 calculates the output values z.sub.1 to z.sub.J of the elements b.sub.1 to b.sub.J included in the intermediate layer 2 (step ST16 in
(124) That is, the output value calculating unit 12 calculates the output value z.sub.j (j=1, . . . , J) of the element b.sub.j included in the intermediate layer 2, by substituting the initial values of the parameters of the Gaussian function related to the element b.sub.j (j=1, . . . , J) included in the intermediate layer 2, and the output values y.sub.i=x.sub.i.sup.m of the I elements a.sub.i included in the input layer 1, to the Gaussian function indicated in the expression (6).
(125) The initial values of the parameters of the Gaussian function related to the element b.sub.j included in the intermediate layer 2 are the standard deviation value σ.sub.i,j (i=1, . . . , J) of the Gaussian distribution, the center coordinate μ.sub.i,j (i=1, . . . , I: j=1, . . . , J) of the Gaussian function, and the weight W.sub.i,j (i=1, . . . , I: j=1, . . . , J).
(126) When the output values z.sub.1 to z.sub.J of the elements b.sub.1 to b.sub.J included in the intermediate layer 2 are calculated, the output value calculating unit 12 outputs the output values z.sub.1 to z.sub.J of the elements b.sub.1 to b.sub.J to the element construction unit 13, and stores the output values z.sub.1 to z.sub.J of the elements b.sub.1 to b.sub.J in the data storage unit 14.
(127) When the output values z.sub.1 to z.sub.J of the elements b.sub.1 to b.sub.J are received from the output value calculating unit 12, the element construction unit 13 compares the output values z.sub.1 to z.sub.J of the elements b.sub.1 to b.sub.J with the threshold value Th (step ST17 in
(128) When any of the output values z.sub.1 to z.sub.J of the elements b.sub.1 to b.sub.J included in the intermediate layer 2 is greater than the threshold value Th (step ST17 in
(129) When all of the output values z.sub.1 to z.sub.J of the elements b.sub.1 to b.sub.J included in the intermediate layer 2 are equal to or less than the threshold value Th (step ST17 in
(130) The processing of steps ST13 to ST18 is repeatedly performed until all of the M pieces of learning data x.sup.m are acquired, and when it is determined to be “YES” in the determination processing of step ST13, the first processing content is ended.
(131) After the first processing content is ended, the parameter updating unit 15 performs the second processing content.
(132) That is, the parameter updating unit 15 updates the parameters of the Gaussian function stored in the data storage unit 14 and the weight v.sub.j between the j-th element b.sub.j included in the intermediate layer 2 and the element c included in the output layer 3, by performing supervised learning for learning the parameters of the Gaussian function stored in the storage unit 14, that is, the parameters of the Gaussian function related to the J elements b.sub.j (j=1, . . . , J) included in the intermediate layer 2, each time the M pieces of learning data x.sup.m=(x.sub.1.sup.m, x.sub.2.sup.m, . . . , x.sub.I.sup.m) are sequentially given, after the first processing content is ended.
(133) In addition, the parameter updating unit 15 updates the weight W.sub.i,j between the i-th element a.sub.i, included in the input layer 1 and the j-th element b.sub.j included in the intermediate layer 2 by performing the supervised learning.
(134) Since supervised learning itself is a known technique, a detailed description will be omitted, but for example, supervised learning can be performed by using a known back propagation method.
(135) Note that, the parameter updating unit 15 may update all the parameters in the Gaussian function, but may update only some parameters in the Gaussian function.
(136) For example, a method A can be considered in which out of the standard deviation value σ.sub.i,j of the Gaussian distribution, the center coordinate μ.sub.i,j of the Gaussian function, and the weight W.sub.i,j, the center coordinate μ.sub.i,j of the Gaussian function is fixed and the standard deviation value σ.sub.i,j and the weight W.sub.i,j are updated.
(137) In addition, a method B in which the standard deviation value σ.sub.i,j of the Gaussian distribution is fixed and the center coordinate μ.sub.i,j of the Gaussian function and the weight W.sub.i,j are updated, and a method C in which the weight W.sub.i,j is fixed and the standard deviation value σ.sub.i,j of the Gaussian distribution and the center coordinate μ.sub.i,j of the Gaussian function are updated, can be considered.
(138) As is apparent from the above description, according to the first embodiment, the element construction unit 13 compares the output value z.sub.j of one or more elements b.sub.j included in the intermediate layer 2 calculated by the output value calculating unit 12 and the threshold value Th, and maintains the number of elements b.sub.j included in the intermediate layer 2 when any of the output values z.sub.j out of the output values z.sub.j of the one or more elements b.sub.j included in the intermediate layer 2 is greater than the threshold value Th, and increases the number of elements b.sub.j included in the intermediate layer 2 when all of the output values z.sub.j of the one or more elements b.sub.j included in the intermediate layer 2 are equal to or less than the threshold value Th, so that there is an effect that the number of elements b.sub.j included in the intermediate layer 2 of the neural network can be automatically determined even when the element b.sub.j included in the intermediate layer 2 of the neural network is an element whose input/output response is determined by the Gaussian function.
Second Embodiment
(139) In the first embodiment, an example in which the number of intermediate layers 2 included in the neural network is one has been described.
(140) In this second embodiment, an example in which the number of intermediate layers 2 included in the neural network is two or more will be described.
(141)
(142) Intermediate layers 2-1 to 2-G are connected in cascade between the input layer 1 and the output layer 3.
(143) The g-th intermediate layer 2-g (g=1, 2, . . . , G) includes J (J is an integer equal to or greater than 1) elements b.sub.j.sup.g (j=1, 2, . . . , J), and the j-th element b.sub.j.sup.g is an element whose input/output response is determined by a Gaussian function.
(144) When the output values y.sub.i=x.sub.i.sup.m of the I elements a.sub.i included in the input layer 1 are given to the j-th element b.sub.j.sup.1, similarly to the intermediate layer 2 in
(145) When the output values z.sub.j.sup.g−1 of all the elements b.sub.j.sup.g−1 included in the (g−1)-th intermediate layer 2-(g−1) are given to the j-th element b.sub.j.sup.g−1, the g-th intermediate layer 2-g (g=2, 3, . . . , G−1) calculates the output value z.sub.j.sup.g of the j-th element b.sub.j.sup.g from the output values z.sub.j.sup.g−1 of all the elements b.sub.j.sup.g−1, and outputs the output value z.sub.j.sup.g of the element b.sub.j.sup.g to the G-th intermediate layer 2-G.
(146) When the output values z.sub.j.sup.G−1 of all the elements b.sub.j.sup.G−1 included in the (G−1)-th intermediate layer 2-(G−1) are given to the j-th element b.sub.j.sup.G, the G-th intermediate layer 2-G calculates the output value z.sub.j.sup.G of the j-th element b.sub.j.sup.G from the output values z.sub.j.sup.G−1 of all the elements b.sub.j.sup.G−1, and outputs the output value z.sub.j.sup.G of the element b.sub.j.sup.G to the output layer 3.
(147) In
(148) Next, the operation will be described.
(149) In the first embodiment, an example has been described in which the structure of the intermediate layer 2 is determined before the supervised learning is performed; however, in the second embodiment, an example will be described in which structures of the intermediate layers 2-1 to 2-G are determined before the supervised learning is performed.
(150) In the second embodiment, the structure of the intermediate layer 2-g is determined in order from the intermediate layer 2-g (g=1, 2, . . . , G) on the input layer 1 side, out of the intermediate layers 2-1 to 2-G.
(151)
(152) The processing of determining the structure of the intermediate layer 2-1 on the side closest to the input layer 1 out of the intermediate layers 2-1 to 2-G is the same as the processing of determining the structure of the intermediate layer 2 in
(153) Hereinafter, with reference to
(154) In the second embodiment, it is assumed that an initial value of the number J of the elements b.sub.j.sup.g included in the intermediate layer 2-g is zero.
(155) In addition, it is assumed that the number J of the elements b.sub.j.sup.g−1 included in the intermediate layer 2-(g−1) has already been determined to be K, and the output value z.sub.k.sup.g−1 of the k-th element b.sub.k.sup.g−1 (k=1, . . . , K) included in the intermediate layer 2-(g−1) has been calculated.
(156) In executing the first processing content, the element construction unit 13 determines whether or not the b.sub.j.sup.g is included in the intermediate layer 2-g.
(157) That is, the element construction unit 13 determines whether or not the number J of the elements b.sub.j.sup.g included in the intermediate layer 2-g is zero (step ST21 in
(158) When it is determined that the number J of the elements b.sub.j.sup.g included in the intermediate layer 2-g is zero (step ST21 in
(159) When it is determined that the number J of the elements b.sub.j.sup.g included in the intermediate layer 2-g is not zero (step ST21 in
(160) When the element construction unit 13 creates the b.sub.1.sup.g in the intermediate layer 2-g, the initial setting unit 11 determines whether or not the M pieces of learning data x.sup.m−(x.sub.1.sup.m, x.sub.2.sup.m, . . . , x.sub.I.sup.m) (m=1, . . . , M) have been given to the input layer 1, and output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the M-th learning data x.sup.M have been acquired (step ST23 in
(161) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the M-th learning data x.sup.M have been acquired (step ST23 in
(162) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the immediately preceding intermediate layer 2-(g−1) based on the M-th learning data x.sup.M have not yet been acquired (step ST23 in
(163) In the second embodiment, since the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the immediately preceding intermediate layer 2-(g−1) based on the first learning data x.sup.1 have not been acquired at this stage, the initial setting unit 11 acquires the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the immediately preceding intermediate layer 2-(g−1) based on the first learning data x.sup.1.
(164) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the immediately preceding intermediate layer 2-(g−1) based on the first learning data x.sup.1 are acquired, the initial setting unit 11 initializes the parameters of the Gaussian function related to the b.sub.1.sup.g included in the intermediate layer 2-g from the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1) (step ST25 in
(165) That is, the initial setting unit 11 calculates a standard deviation value σ.sub.k,1.sup.g (k=1, . . . , K) of the Gaussian distribution from the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1), as one of the parameters of the Gaussian function related to the element b.sub.1.sup.g included in the intermediate layer 2-g.
(166) In addition, the initial setting unit 11 initializes a center coordinate μ.sub.k,1.sup.g (k=1, . . . , K) of the Gaussian function, as one of the parameters of the Gaussian function related to the b.sub.1.sup.g included in the intermediate layer 2-g.
(167) The center coordinate μ.sub.k,1.sup.g of the Gaussian function is the output value z.sub.k.sup.g−1 of the k-th element b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1), as indicated in the following expression (7).
μ.sub.k,1.sup.g=z.sub.k.sup.g−1 (7)
(168) Further, the initial setting unit 11 initializes a weight W.sub.k,1.sup.g between the k-th element b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1) and the element b.sub.1.sup.g included in the intermediate layer 2-g, as one of the parameters of the Gaussian function related to the element b.sub.1.sup.g included in the intermediate layer 2-g, as indicated in the following expression (8).
W.sub.k,1.sup.g=1 (8)
(169) Here, an example is described in which the weight W.sub.k,1.sup.g is set to 1; however, this is merely an example, and a value other than 1 may be set.
(170) When the parameters of the Gaussian function related to the element b.sub.1.sup.g included in the intermediate layer 2-g are initialized, the initial setting unit 11 outputs the initial values of the parameters to the output value calculating unit 12, and stores the initial values of the parameters in the data storage unit 14.
(171) The output value calculating unit 12 acquires from the initial setting unit 11 the initial values of the parameters of the Gaussian function related to the b.sub.1.sup.g included in the intermediate layer 2-g.
(172) In addition, the output value calculating unit 12 acquires the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the immediately preceding intermediate layer 2-(g−1) based on the first learning data x.sup.1.
(173) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the immediately preceding intermediate layer 2-(g−1) based on the first learning data x.sup.1 are acquired, the output value calculating unit 12 calculates an output value z.sub.1.sup.g of the element b.sub.1.sup.g included in the intermediate layer 2-g (step ST26 in
(174) That is, the output value calculating unit 12 calculates the output value z.sub.1.sup.g of the element b.sub.1.sup.g included in the intermediate layer 2-g, by substituting the initial values of the parameters of the Gaussian function related to the b.sub.1.sup.g included in the intermediate layer 2-g and the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1), to the Gaussian function indicated in the following expression (9).
(175)
(176) When the output value z.sub.1.sup.g of the element b.sub.1.sup.g included in the intermediate layer 2-g is calculated, the output value calculating unit 12 outputs the output value z.sub.1.sup.g of the element b.sub.1.sup.g to the element construction unit 13, and stores the output value z.sub.1.sup.g of the element b.sub.1.sup.g in the data storage unit 14.
(177) When the output value z.sub.1.sup.g of the element b.sub.1.sup.g is received from the output value calculating unit 12, the element construction unit 13 compares the output value z.sub.1.sup.g of the element b.sub.1.sup.g with the preset threshold value Th (step ST27 in
(178) Since the output value z.sub.1.sup.g of the element b.sub.1.sup.g is 1 at the maximum, as the threshold value Th, a positive real number equal to or less than 1, or a positive real number equal to or greater than e.sup.−0.25 and equal to or less than 1 is conceivable.
(179) When the output value z.sub.1.sup.g of the element b.sub.1.sup.g included in the intermediate layer 2-g is greater than the threshold value Th (step ST27 of
(180) When the output value z.sub.1.sup.g of the element b.sub.1.sup.g included in the intermediate layer 2-g is equal to or less than the threshold value Th (step ST27 in
(181) In the second embodiment, for convenience of description, the output value z.sub.1.sup.g of the element b.sub.1.sup.g included in the intermediate layer 2-g is equal to or less than the threshold value Th, so that the new element b.sub.2.sup.g is added to the intermediate layer 2-g.
(182) When the element construction unit 13 adds the new element b.sub.2.sup.g to the intermediate layer 2-g or maintains the number J of the elements included in the intermediate layer 2-g, the initial setting unit 11 determines whether or not the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the M-th learning data x.sup.M have already been acquired (step ST23 in
(183) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the M-th learning data x.sup.m have already been acquired (step ST23 in
(184) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the M-th learning data x.sup.M have not yet been acquired (step ST23 of
(185) In the second embodiment, since the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the intermediately preceding layer 2-(g−1) based on the second learning data x.sup.2 have not been acquired at this stage, the initial setting unit 11 acquires the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the intermediately preceding intermediate layer 2-(g−1) based on the second learning data x.sup.2.
(186) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the intermediately preceding layer 2-(g−1) based on the second learning data x.sup.2 are acquired, the initial setting unit 11 initializes the parameters of the Gaussian function related to the elements b.sub.1.sup.g and b.sub.2.sup.g included in the intermediate layer 2-g from the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the intermediately preceding layer 2-(g−1) based on the second learning data x.sup.2 (step ST25 in
(187) That is, the initial setting unit 11 calculates a standard deviation value σ.sub.k,j.sup.g (k=1, . . . , K: j=1, 2) of the Gaussian distribution from the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1), as one of the parameters of the Gaussian function related to the elements b.sub.1.sup.g and b.sub.2.sup.g included in the intermediate layer 2-g.
(188) In addition, the initial setting unit 11 initializes the output value z.sub.k.sup.g−1 of the k-th element b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1) to a center coordinate μ.sub.k,j.sup.g (k=1, . . . , K: j=1, 2) of the Gaussian function, as one of the parameters of the Gaussian function related to the elements b.sub.1.sup.g and b.sub.2.sup.g included in the intermediate layer 2-g, as indicated in the following expression (10).
μ.sub.k,j.sup.g−z.sub.k.sup.g−1 (10)
(189) Further, the initial setting unit 11 initializes a weight W.sub.k,j.sup.g (k=1, . . . , K: j=1, 2) between the k-th element b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1) and the j-th element b.sub.j.sup.g (j=1, 2) included in the intermediate layer 2-g, as one of the parameters of the Gaussian function related to the elements b.sub.1.sup.g and b.sub.2.sup.g included in the intermediate layer 2-g, as indicated in the following expression (11).
W.sub.k,j.sup.g=1 (11)
(190) Here, an example is described in which the W.sub.k,j.sup.g is set to 1; however, this is merely an example, and a value other than 1 may be set.
(191) When the parameters of the Gaussian function related to the elements b.sub.1.sup.g and b.sub.2.sup.g included in the intermediate layer 2-g are initialized, the initial setting unit 11 outputs the initial values of the parameters to the output value calculating unit 12, and stores the initial values of the parameters in the data storage unit 14.
(192) The output value calculating unit 12 acquires from the initial setting unit 11 the initial values of the parameters of the Gaussian function related to the elements b.sub.1.sup.g and b.sub.2.sup.g included in the intermediate layer 2-g.
(193) In addition, the output value calculating unit 12 acquires the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the immediately preceding intermediate layer 2-(g−1) based on the second learning data x.sup.2.
(194) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the immediately preceding intermediate layer 2-(g−1) based on the second learning data x.sup.2 are acquired, the output value calculating unit 12 calculates the output value z.sub.1.sup.g of the element b.sub.1.sup.g and an output value z.sub.2.sup.g of the element beg included in the intermediate layer 2-g (step ST26 in
(195) That is, the output value calculating unit 12 calculates the output value z.sub.1.sup.g of the element b.sub.1.sup.g included in the intermediate layer 2-g, by substituting the initial values of the parameters of the Gaussian function related to the b.sub.1.sup.g included in the intermediate layer 2-g and the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1), to the Gaussian function indicated in the following expression (12).
(196) The initial values of the parameters of the Gaussian function related to the element b.sub.1.sup.g included in the intermediate layer 2-g are the standard deviation value σ.sub.k,1.sup.g (k=1, . . . , K) of the Gaussian distribution, the center coordinate μ.sub.k,1.sup.g (k=1, . . . , K) of the Gaussian function, and the weight W.sub.k,1.sup.g (k=1, . . . , K).
(197) In addition, the output value calculating unit 12 calculates the output value z.sub.2.sup.g of the element b.sub.2.sup.g included in the intermediate layer 2-g, by substituting the initial values of the parameters of the Gaussian function related to the element b.sub.2.sup.g included in the intermediate layer 2-g and the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1), to the Gaussian function indicated in the following expression (12).
(198) The initial values of the parameters of the Gaussian function related to the element b.sub.2.sup.g included in the intermediate layer 2-g are a standard deviation value σ.sub.k,2.sup.g (k=1, . . . , K) of the Gaussian distribution, a center coordinate μ.sub.k,2.sup.g (k=1, . . . , K) of the Gaussian function, and a weight W.sub.k,2.sup.g (k=1, . . . , K).
(199)
(200) Here, j=1, 2 in the expression (12).
(201) When the output value z.sub.1.sup.g of the element b.sub.1.sup.g and the output value z.sub.2.sup.g of the element b.sub.2.sup.g included in the intermediate layer 2-g are calculated, the output value calculating unit 12 outputs the output values z.sub.1.sup.g and z.sub.2.sup.g of the elements b.sub.1.sup.g and b.sub.2.sup.g to the element construction unit 13, and stores the output values z.sub.1.sup.g and z.sub.2.sup.g of the elements b.sub.1.sup.g and b.sub.2.sup.g in the data storage unit 14.
(202) When the output values z.sub.1.sup.g and z.sub.2.sup.g of the elements b.sub.1.sup.g and b.sub.2.sup.g included from the output value calculating unit 12, the element construction unit 13 compares the output values z.sub.1.sup.g and z.sub.2.sup.g of the elements b.sub.1.sup.g and b.sub.2.sup.g with the threshold value Th (step ST27 in
(203) When any of the output values z.sub.1.sup.g and z.sub.2.sup.g of the elements b.sub.1.sup.g and b.sub.2.sup.g included in the intermediate layer 2-g is greater than the threshold value Th (step ST27 in
(204) When all of the output values z.sub.1.sup.g and z.sub.2.sup.g of the elements b.sub.1.sup.g and b.sub.2.sup.g included in the intermediate layer 2-g are equal to or less than the threshold value Th (step ST27 in
(205) In the second embodiment, for convenience of description, all of the output values z.sub.1.sup.g and z.sub.2.sup.g of the elements b.sub.1.sup.g and beg included in the intermediate layer 2-g are equal to or less than the threshold value Th, so that the new element b.sub.3.sup.g is added to the intermediate layer 2.
(206) Hereinafter, description will be made assuming that the number of elements currently included in the intermediate layer 2-g is J (J≥3).
(207) When the element construction unit 13 adds a new element to the intermediate layer 2-g or maintains the number J of the elements included in the intermediate layer 2-g, the initial setting unit 11 determines whether or not the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the M-th learning data x.sup.M have already been acquired (step ST23 in
(208) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the M-th learning data x.sup.M have already been acquired (step ST23 in
(209) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the M-th learning data x.sup.m have not yet been acquired (step ST23 of
(210) In the second embodiment, since the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the m-th learning data x.sup.m out of the M pieces of learning data have not been acquired at this stage, the initial setting unit 11 acquires the output value z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the m-th learning data x.sup.m.
(211) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the m-th learning data x.sup.m are acquired, the initial setting unit 11 initializes the parameters of the Gaussian function related to the elements b.sub.1.sup.g to b.sub.J.sup.g included in the intermediate layer 2-g from the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the m-th learning data x.sup.m (step ST25 in
(212) That is, the initial setting unit 11 calculates the standard deviation value σ.sub.kj.sup.g (k=1, . . . , K: j=1, . . . , J) of the Gaussian distribution from the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1), as one of the parameters of the Gaussian function related to the elements b.sub.1.sup.g to b.sub.j.sup.g included in the intermediate layer 2-g.
(213) In addition, the initial setting unit 11 initializes the output value z.sub.k.sup.g−1 of the k-th element b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1) to the center coordinate μ.sub.kj.sup.g (k=K: j=1, . . . , J) of the Gaussian function, as one of the parameters of the Gaussian function related to the elements b.sub.1.sup.g to b.sub.j.sup.g included in the intermediate layer 2-g, as indicated in the expression (10).
(214) Further, the initial setting unit 11 initializes the weight W.sub.kj.sup.g (k=1, . . . , K: j=1, . . . , J) between the k-th element b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1) and the j-th element b.sub.jg (j=1, . . . , J) included in the intermediate layer 2-g, as one of the parameters of the Gaussian function related to the elements b.sub.1.sup.g to b.sub.j.sup.g included in the intermediate layer 2-g, as indicated in the expression (11).
(215) Here, an example is described in which the W.sub.kj.sup.g is set to 1; however, this is merely an example, and a value other than 1 may be set.
(216) When the parameters of the Gaussian function related to the elements b.sub.1.sup.g to b.sub.J.sup.g included in the intermediate layer 2-g are initialized, the initial setting unit 11 outputs the initial values of the parameters to the output value calculating unit 12, and stores the initial values of the parameters in the data storage unit 14.
(217) The output value calculating unit 12 acquires from the initial setting unit 11 the initial values of the parameters of the Gaussian function related to the elements b.sub.1.sup.g to b.sub.J.sup.g included in the intermediate layer 2.
(218) In addition, the output value calculating unit 12 acquires the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the immediately preceding intermediate layer 2-(g−1) based on the m-th learning data x.sup.m.
(219) When the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the immediately preceding intermediate layer 2-(g−1) based on the m-th learning data x.sup.m are acquired, the output value calculating unit 12 calculates the output values z.sub.1.sup.g to z.sub.J.sup.g of the elements b.sub.1.sup.g to b.sub.J.sup.g included in the intermediate layer 2-g (step ST26 in
(220) That is, the output value calculating unit 12 calculates the output value z.sub.j.sup.g (j=1, . . . , J) of the b.sub.j.sup.g included in the intermediate layer 2-g, by substituting the initial values of the parameters of the Gaussian function related to the b.sub.j.sup.g (j=1, . . . , J) included in the intermediate layer 2-g and the output values z.sub.k.sup.g−1 of the K elements b.sub.k.sup.g−1 included in the intermediate layer 2-(g−1), to the Gaussian function indicated in the expression (12).
(221) The initial values of the parameters of the Gaussian function related to the b.sub.j.sup.g included in the intermediate layer 2-g are the standard deviation value σ.sub.k,j.sup.g (k=1, . . . , K: j=1, . . . , J) of the Gaussian distribution, the center coordinate μ.sub.k,j.sup.g (k=1, . . . , K: j=1, . . . , J) of the Gaussian function, and the weight W.sub.k,j.sup.g (k=1, . . . , K: j=1, . . . , J).
(222) When the output values z.sub.1.sup.g to z.sub.J.sup.g of the elements b.sub.1.sup.g to b.sub.J.sup.g included in the intermediate layer 2-g are calculated, the output value calculating unit 12 outputs the output values z.sub.1.sup.g to z.sub.J.sup.g of the elements b.sub.1.sup.g to b.sub.J.sup.g to the element construction unit 13, and stores the output values z.sub.1.sup.g to z.sub.J.sup.g of the elements b.sub.1.sup.g to b.sub.J.sup.g in the data storage unit 14.
(223) When the output values z.sub.1.sup.g to z.sub.J.sup.g of the elements b.sub.1.sup.g to b.sub.J.sup.g are received from the output value calculating unit 12, the element construction unit 13 compares the output values z.sub.1.sup.g to z.sub.J.sup.g of the elements b.sub.1.sup.g to b.sub.J.sup.g with the threshold value Th (step ST27 in
(224) When any of the output values z.sub.1.sup.g to z.sub.J.sup.g of the elements b.sub.1.sup.g to b.sub.J.sup.g included in the intermediate layer 2-g is greater than the threshold value Th (step ST27 in
(225) When all of the output values z.sub.1.sup.g to z.sub.J.sup.g of the elements b.sub.1.sup.g to b.sub.J.sup.g included in the intermediate layer 2-g are equal to or less than the threshold value Th (step ST27 in
(226) The processing of steps ST23 to ST28 is repeatedly performed until the output values z.sub.k.sup.g−1 of the K element b.sub.k.sup.g−1 (k=1, . . . , K) included in the immediately preceding intermediate layer 2-(g−1) based on the M pieces of learning data x.sup.m (m=1, . . . , M) are acquired, and when it is determined to be “YES” in the determination processing of step ST23, the first processing content is ended.
(227) After the first processing content is ended, the parameter updating unit 15 performs the second processing content.
(228) That is, as in the first embodiment, the parameter updating unit 15 updates the parameters of the Gaussian function stored in the data storage unit 14, and updates the weight v.sub.j between the j-th element b.sub.j.sup.g included in the intermediate layer 2-G and the element c included in the output layer 3, by performing supervised learning for learning the parameters of the Gaussian function related to the elements included in the intermediate layers 2-1 to 2-G, each time the M pieces of learning data x.sup.m−(x.sub.1.sup.m, x.sub.2.sup.m, . . . , x.sub.I.sup.m) are sequentially given, after the structures of the intermediate layers 2-1 to 2-G are determined.
(229) In addition, the parameter updating unit 15 updates a weight W.sub.i,j.sup.1 between the i-th element a.sub.i included in the input layer 1 and the j-th element b.sub.j.sup.1 included in the intermediate layer 2-1, and the weight W.sub.k,j.sup.g between the k-th element b.sub.k.sup.g−1 (k=1, . . . , K) included in the intermediate layer 2-(g−1) and the j-th b.sub.j.sup.g (j=1, . . . , J) included in the intermediate layer 2-g, by performing the supervised learning.
(230) That is, by performing the supervised learning for learning the parameters of the Gaussian function related to the elements included in the intermediate layers 2-1 to 2-G, the parameters of the Gaussian function stored in the data storage unit 14 and the weights are updated.
(231) As is apparent from the above description, according to the second embodiment, there is an effect that the number of elements b.sub.j.sup.g included in the intermediate layer 2-g of the neural network can be automatically determined even when the neural network includes two or more intermediate layers 2-g.
Third Embodiment
(232) In the second embodiment, an example has been described in which the number of intermediate layers 2-g included in the neural network is fixed to G.
(233) In this third embodiment, an example in which the number of intermediate layers 2-g included in the neural network is determined as needed will be described.
(234)
(235) In
(236) A number-of-layers determining unit 16 is implemented by, for example, a number-of-layers determining circuit 26 in
(237) In
(238) Here, examples of the data storage circuit 24 include a nonvolatile or volatile semiconductor memory such as RAM, ROM, flash memory, EPROM, and EEPROM; a magnetic disk, a flexible disk, an optical disc, a compact disc, a mini disc, a DVD, and the like.
(239) In addition, examples of the initial setting circuit 21, the output value calculating circuit 22, the element construction circuit 23, the parameter updating circuit 25, and the number-of-layers determining circuit 26 include a single circuit, a composite circuit, a programmed processor, a parallel-programmed processor, an ASIC, an FPGA, or a combination thereof.
(240) However, the components of the network construction apparatus are not limited to those implemented by dedicated hardware, and the network construction apparatus may be implemented by software, firmware, or a combination of software and firmware.
(241) In the case where the network construction apparatus is implemented by software, firmware, or the like, it is sufficient that the data storage unit 14 is configured on the memory 31 of the computer illustrated in
(242) In addition,
(243) Next, the operation will be described.
(244) Since the operation is the same as that of the second embodiment except that the number-of-layers determining unit 16 is implemented, only a processing content of the number-of-layers determining unit 16 will be described here.
(245) When the initial setting unit 11, the output value calculating unit 12, and the element construction unit 13 determine a structure of one intermediate layer 2-g in the same manner as in the second embodiment, the number-of-layers determining unit 16 connects the intermediate layer 2-g whose structure has been determined between the input layer 1 and the output layer 3, at each time of the determination.
(246) For example, at a stage where the determination is completed of structures of three intermediate layers 2-1 to 2-3, the three intermediate layers 2-1 to 2-3 are connected between the input layer 1 and the output layer 3.
(247) In addition, at a stage where the determination is completed of structures of four intermediate layers 2-1 to 2-4, the four intermediate layers 2-1 to 2-4 are connected between the input layer 1 and the output layer 3.
(248) When an intermediate layer 2-g whose structure is newly determined is connected between the input layer 1 and the output layer 3, the number-of-layers determining unit 16 gives arbitrary data to the input layer 1.
(249) Then, the number-of-layers determining unit 16 measures a time from when data is given to the input layer 1 until data is output from the output layer 3, as an input/output time Ta of data in the neural network.
Ta=T.sub.OUT−T.sub.IN (13)
(250) In the expression (13), T.sub.IN is a time when data is input to the input layer 1, and T.sub.OUT is a time when data is output from the output layer 3.
(251) When the input/output time Ta of the data in the neural network is measured, the number-of-layers determining unit 16 compares the input/output time Ta with an allowable time Tb of the input/output time.
(252) The allowable time Tb of the input/output time is a time allowed by the network construction apparatus, and is a time set in advance.
(253) In a case where the input/output time Ta of the data in the neural network is shorter than the allowable time Tb of the input/output time, the number-of-layers determining unit 16 calculates, from the input/output time Ta of the data, an input/output time Ta/E of the intermediate layer 2-g per layer connected between the input layer 1 and the output layer 3.
(254) E is the number of the intermediate layers 2-g connected between the input layer 1 and the output layer 3 at the present moment.
(255) In a case where the following expression (14) is satisfied, it is highly likely that the input/output time Ta of the data in the neural network will be within the allowable time Tb even when the number of intermediate layers 2-g connected between the input layer 1 and the output layer 3 is increased by one, so that the number-of-layers determining unit 16 permits to increase by one the number of the intermediate layers 2-g connected between the input layer 1 and the output layer 3.
(256) Thus, the initial setting unit 11, the output value calculating unit 12, and the element construction unit 13 perform processing of determining a structure of a newly added intermediate layer 2-g in the same manner as in the second embodiment.
Tb>Ta+Ta/E (14)
(257) In a case where the expression (14) is not satisfied, when the number of intermediate layers 2-g connected between the input layer 1 and the output layer 3 is increased by one, it is highly likely that the input/output time Ta of the data in the neural network will exceed the allowable time Tb, so that the number-of-layers determining unit 16 refuses to increase the number of intermediate layers 2-g connected between the input layer 1 and the output layer 3.
(258) Thus, the number E of the intermediate layers 2-g connected between the input layer 1 and the output layer 3 is determined as the number G of the intermediate layers 2-g of the neural network at the present moment.
(259) As is apparent from the above description, according to the third embodiment, the number-of-layers determining unit 16 determines the number G of the intermediate layer 2-g from the input/output time Ta of the data in the neural network and the allowable time Tb of the input/output time, so that there is an effect that the input/output time Ta of the data in the neural network can be set within the allowable time Tb.
(260) In the third embodiment, an example has been described in which the number-of-layers determining unit 16 measures the input/output time Ta of the data in the neural network and determines the number G of the intermediate layers 2 from the input/output time Ta and the allowable time Tb; however, this is not a limitation.
(261) For example, the number-of-layers determining unit 16 may measure a learning time Tc of the neural network, and determine the number G of the intermediate layers 2 from the learning time Tc and an allowable time Td of the learning time.
(262) Specifically, it is as follows.
(263) When the intermediate layer 2-g whose structure is newly determined is connected between the input layer 1 and the output layer 3, the number-of-layers determining unit 16 causes the neural network to perform learning by giving learning data to the input layer 1.
(264) Then, for example, the number-of-layers determining unit 16 measures a time from when learning data is given to the input layer 1 until data is output from the output layer 3, as the learning time Tc of the neural network.
Tc=T.sub.OUT−T.sub.IN (15)
(265) In the expression (15), T.sub.IN is a time when learning data is input to the input layer 1, and T.sub.OUT is a time when data is output from the output layer 3.
(266) When the learning time Tc of the neural network is measured, the number-of-layers determining unit 16 compares the learning time Tc with the allowable time Td of the learning time.
(267) The allowable time Td of the learning time is a time allowed by the network construction apparatus, and is a time set in advance.
(268) In a case where the learning time Tc of the neural network is shorter than the allowable time Td of the learning time, the number-of-layers determining unit 16 calculates, from the learning time Tc of the neural network, a learning time Tc/E of the intermediate layer 2-g per layer connected between the input layer 1 and the output layer 3.
(269) E is the number of the intermediate layers 2-g connected between the input layer 1 and the output layer 3 at the present moment.
(270) In a case where the following expression (16) is satisfied, it is highly likely that the learning time Tc of the neural network will be within the allowable time Td even when the number of intermediate layers 2-g connected between the input layer 1 and the output layer 3 is increased by one, so that the number-of-layers determining unit 16 permits to increase by one the number of the intermediate layers 2-g connected between the input layer 1 and the output layer 3.
(271) Thus, the initial setting unit 11, the output value calculating unit 12, and the element construction unit 13 perform processing of determining a structure of a newly added intermediate layer 2-g in the same manner as in the second embodiment.
Td>Tc+Tc/E (16)
(272) In a case where the expression (16) is not satisfied, when the number of intermediate layers 2-g connected between the input layer 1 and the output layer 3 is increased by one, it is highly likely that the learning time Tc of the neural network will exceed the allowable time Td, so that the number-of-layers determining unit 16 refuses to increase the number of intermediate layers 2-g connected between the input layer 1 and the output layer 3.
(273) Thus, the number E of the intermediate layers 2-g connected between the input layer 1 and the output layer 3 is determined as the number G of the intermediate layers 2-g of the neural network at the present moment.
(274) In a case where the number-of-layers determining unit 16 measures the learning time Tc of the neural network and determines the number G of the intermediate layers 2 from the learning time Tc and the allowable time Td, there is an effect that the learning time Tc of the neural network can be set within the allowable time Td.
(275) Note that, in the invention of the present application, within the scope of the invention, free combination of each embodiment, a modification of an arbitrary component of each embodiment, or omission of an arbitrary component in each embodiment is possible.
INDUSTRIAL APPLICABILITY
(276) The present invention is suitable for a network construction apparatus and a network construction method for constructing a neural network.
REFERENCE SIGNS LIST
(277) 1 Input layer 2, 2-1 to 2-G Intermediate layer 3 Output layer 11 Initial setting unit 12 Output value calculating unit 13 Element construction unit 14 Data storage unit 15 Parameter updating unit 16 Number-of-layers determining unit 21 Initial setting circuit 22 Output value calculating circuit 23 Element construction circuit 24 Data storage circuit 25 Parameter updating circuit 26 Number-of-layers determining circuit 31 Memory 32 Processor