WO2019031305A1 - ニューラルネットワークシステム、機械学習方法及びプログラム - Google Patents

ニューラルネットワークシステム、機械学習方法及びプログラム Download PDF

Info

Publication number
WO2019031305A1
WO2019031305A1 PCT/JP2018/028633 JP2018028633W WO2019031305A1 WO 2019031305 A1 WO2019031305 A1 WO 2019031305A1 JP 2018028633 W JP2018028633 W JP 2018028633W WO 2019031305 A1 WO2019031305 A1 WO 2019031305A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
input layer
data
neural network
partial network
Prior art date
Application number
PCT/JP2018/028633
Other languages
English (en)
French (fr)
Inventor
智晴 長尾
美玖 柳元
Original Assignee
国立大学法人横浜国立大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 国立大学法人横浜国立大学 filed Critical 国立大学法人横浜国立大学
Priority to JP2019535124A priority Critical patent/JP7044398B2/ja
Priority to US16/634,894 priority patent/US11604983B2/en
Publication of WO2019031305A1 publication Critical patent/WO2019031305A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Definitions

  • the present invention relates to a neural network system, a machine learning method, and a program.
  • Priority is claimed on Japanese Patent Application No. 2017-153613, filed Aug. 8, 2017, the content of which is incorporated herein by reference.
  • the neural network having the input layer, the intermediate layer, and the output layer can process the operation data with higher accuracy even when only a part of the data obtained at the time of learning can be obtained at the time of operation.
  • the present invention is a neural network having an input layer, an intermediate layer, and an output layer, and can process operation data with higher accuracy even when only part of the data obtained during learning can be obtained during operation
  • a neural network system, a machine learning method, and a program are provided.
  • the neural network system has a main input layer for acquiring data during learning and operation, and an auxiliary input for acquiring data only during learning during the learning and operation. After learning is performed using the output from both the layer and the main input layer and the auxiliary input layer, the output from only the main input layer among the main input layer and the auxiliary input layer is used to perform the learning.
  • the first partial network performing learning so as to calculate the same calculation result as in the case of using the outputs from both the main input layer and the auxiliary input layer, and the output from the first partial network for learning and operation And a second partial network that performs the calculation of
  • the output from the auxiliary input layer to the first partial network may be provided with a switcher unit that multiplies a non-penetration rate, which is a coefficient for adjusting the degree of influence on learning.
  • the switcher unit may gradually reduce the degree of influence on the learning of the output from the auxiliary input layer to the first partial network at the time of the learning.
  • the switcher unit may multiply the non-penetration rate, which gradually reduces the value of the output from the auxiliary input layer to the first partial network, during the learning.
  • the switcher unit multiplies the signals output from the auxiliary input layer by the non-permeability, which gradually reduces the number of signals input to the first partial network, during the learning. It is also good.
  • the second part is further performed in a state where the first partial network receives an output from only the main input layer among the main input layer and the auxiliary input layer.
  • the first partial network and the second partial network may perform learning so that the network calculates the correct answer in the learning data.
  • the machine learning method includes: a main input layer acquiring data during learning and operation; and an auxiliary input acquiring data only during the learning during the learning and operation.
  • the first partial network includes both the main input layer and the auxiliary input layer.
  • the first partial network uses the output from only the main input layer among the main input layer and the auxiliary input layer, Performing penetrative learning in which learning is performed so as to calculate the same calculation result as in the case of using the outputs from both the main input layer and the auxiliary input layer.
  • the program causes the computer to obtain the main input layer for acquiring data both at the time of learning and at the time of operation, and the assistance for acquiring data only at the time of learning during the learning and the operation.
  • the first partial network includes a main input layer and an auxiliary input layer.
  • the first partial network uses the output from only the main input layer among the main input layer and the auxiliary input layer.
  • the neural network having the input layer, the intermediate layer, and the output layer makes the operation data more accurate even when only a part of the data obtained during learning can be obtained during operation. It can be processed.
  • FIG. 7 is a diagram showing an example of input data at the time of operation in the first embodiment.
  • FIG. 6 is a diagram showing an example of the operation of the neural network system 1 at the time of learning in the first embodiment. It is a figure which shows the modification of the neural network system which concerns on 1st Embodiment. It is a figure which shows the example of a function structure of the neural network system which concerns on 2nd Embodiment. It is a schematic block diagram showing an example of composition of a computer concerning at least one embodiment.
  • FIG. 1 is a schematic block diagram showing a functional configuration of the neural network system according to the first embodiment.
  • the neural network system 1 includes a neural network main body 100 and a learning control unit 200.
  • the neural network main unit 100 performs machine learning by supervised learning, and performs calculation at the time of operation based on the learning result. In the following, machine learning is also referred to simply as learning.
  • the types of data obtained at the time of operation of the neural network main unit 100 are limited to a part of the types of data obtained at the time of learning. As an example in which the type of data obtained at the time of operation is limited to a part of the type of data obtained at the time of learning, the case where only a part of devices usable at the time of learning can be used at the time of operation
  • fMRI Magnetic Resonance Imaging
  • EEG Electroencephalogram
  • the type of data obtained at the time of operation As an example limited to some of the types.
  • the future data as seen from the reference time is input to the neural network main body 100 as learning data. It can be input.
  • the current time the time at which the neural network main unit 100 performs an operation
  • future data can not be input to the neural network main body 100.
  • correct data may be included in input data to an input layer of the neural network main unit 100 at the time of learning.
  • data indicating the correct classification may be input to the input layer of the neural network main unit 100 in addition to the data indicating the classification target.
  • the correct answer is unknown at the time of operation, and data of the correct answer can not be input to the neural network main body 100.
  • main data data of a type obtained at the time of learning and operation
  • auxiliary data data of a type obtained only at the time of learning between learning and operation
  • the neural network system 1 has a mechanism for adjusting the degree of influence of auxiliary data on learning. After learning using both and auxiliary data, the influence of the auxiliary data on learning is reduced and learning is performed using the main data.
  • the neural network system 1 adjusts the degree of influence of the auxiliary data by multiplying the auxiliary data by the non-penetration rate described later.
  • FIG. 2 is a view showing a configuration example of the neural network main body 100.
  • the neural network body 100 comprises an input layer 110 including a main input layer 111 and an auxiliary input layer 112, a first partial network 120, and a second partial network 130.
  • the neural network system 1 receives input of main data and auxiliary data to perform learning.
  • main input layer 111 receives input of main data
  • auxiliary input layer 112 receives input of auxiliary data.
  • the learning control unit 200 also adjusts the degree of influence of the auxiliary data on learning.
  • the first partial network 120 and the second partial network 130 integrate learning of the main data and the auxiliary data.
  • the neural network system 1 outputs the same result as receiving both the main data and the auxiliary data when receiving the main data and only the main data among the auxiliary data in the two-stage learning. To do learning. In the first stage of learning, the neural network system 1 performs learning so as to calculate the correct solution indicated by the learning data, using both the main data and the auxiliary data.
  • the neural network system 1 reduces the degree of influence of auxiliary data on learning and performs learning for calculating the same calculation result as in the case of prior learning. Specifically, the neural network system 1 stores the output of the first partial network 120 in the first stage of learning. Then, the neural network system 1 reduces the value of the non-penetration rate (coefficient for adjusting the degree of influence of the auxiliary data) from 1 to 0 while the error between the output of the first partial network 120 and the stored output. To minimize learning. The neural network system 1 adjusts the weights (connection weights) between nodes of the neural network main unit 100 in learning.
  • learning for calculating the correct answer indicated by the learning data (the above-described first step learning) performed by the neural network system 1 using both the main data and the auxiliary data is referred to as pre-training.
  • the neural network system 1 performs, in a state where the degree of influence of the auxiliary data is reduced, percolation learning (performing learning in the second stage described above) to calculate the same calculation result as in the case of prior learning. It is called.
  • each unit of the neural network main unit 100 has the following functions.
  • the input layer 110 receives an input of data from the outside of the neural network system 1 in the same manner as the input layer of the multilayer perceptron.
  • the main input layer 111 receives input of main data both at the time of learning and at the time of operation.
  • the auxiliary input layer 112 receives input of auxiliary data only during learning between learning and operation.
  • the first partial network 120 receives data from the input layer 110 and performs learning and operation at the time of operation. As mentioned above, the first partial network 120 performs pre-learning using both the main data from the main input layer 111 and the auxiliary data from the auxiliary input layer 112. After prior learning, the first partial network 120 performs penetration learning using the main data from the main input layer 111 while reducing the degree of influence of the auxiliary data from the auxiliary input layer 112.
  • the second partial network 130 receives the operation result of the first partial network 120 and performs learning and operation at the time of operation.
  • Both the first partial network 120 and the second partial network 130 can be configured using elements of a conventional neural network to adjust the connection weight between nodes in learning.
  • the entire neural network main body 100 has the same structure as that of the conventional neural network except that the influence on learning of auxiliary data from the auxiliary input layer 112 to the first partial network 120 is adjusted as described later.
  • the last layer of the second partial network 130 functions as an output layer in the entire neural network body 100.
  • the last layer is the layer located at the back (downstream side) of the data flow during forward propagation.
  • the layer located at the front (upstream side) of the flow of data during forward propagation is referred to as the front layer.
  • the number of layers and the number of nodes included in the first partial network 120 are not limited to a specific one.
  • the number of layers in the second partial network 130 and the number of nodes are also not limited to a specific one.
  • the learning control unit 200 controls learning in the neural network main body 100.
  • the learning control unit 200 switches between prior learning and infiltration learning.
  • FIG. 3 is a schematic block diagram showing an example of a functional configuration of the learning control unit 200.
  • the learning control unit 200 includes a penetration feature storage unit 210, an error calculation unit 220, a connection load adjustment unit 230, a switcher unit 240, and a connection unit 250.
  • the learning control unit 200 controls learning in the neural network main body 100.
  • the learning control unit 200 is configured using, for example, a computer such as a personal computer (PC).
  • the neural network main body 100 is also configured using a computer. However, the neural network main body 100 may be configured by a method other than a method using a computer, such as realizing the neural network main body 100 with dedicated hardware.
  • the infiltration feature storage unit 210 is configured such that the value of data output from the last layer of the first partial network 120 in advance learning in a state where the advance learning is sufficiently performed, for each input data (combination of main data and auxiliary data Every time).
  • the penetration feature storage unit 210 is configured using a storage device of a computer that constitutes the learning control unit 200.
  • data stored in the penetration feature storage unit 210 will be referred to as a penetration feature or penetration data.
  • the error calculation unit 220 calculates the difference (error) between the result of the calculation in the neural network main unit 100 or a part of the main unit and the data set as the correct answer. At the time of prior learning, the error calculation unit 220 calculates an error between the output of the last layer of the second partial network 130 and the correct answer indicated by the learning data. At the time of penetration learning, the error calculation unit 220 calculates an error between the output of the last layer of the first partial network 120 and the penetration feature.
  • the connection load adjustment unit 230 adjusts the connection load between the nodes of the neural network main body 100 based on the error calculated by the error calculation unit 220.
  • the adjustment of the connection weight corresponds to learning in the neural network main body 100.
  • An error back propagation method can be used as a method of adjusting the connection weight between nodes by the neural network main body 100 (that is, a learning method in the neural network main body 100). In the prior learning, the error back propagation method can be applied to the entire neural network main body 100 to perform learning. In the penetrative learning, it is possible to apply an error back propagation method to the first partial network 120 to perform learning.
  • connection weight adjustment unit 230 performs inter-nodes in the first partial network 120 such that the last layer of the first partial network 120 outputs the infiltration feature in a state where the degree of influence of the auxiliary data on the learning decreases. Adjust the joint load of The connection load between the nodes in the first partial network 120 here is the connection load between the nodes on the subsequent stage side included in the first partial network 120. The connection load between the nodes of the input layer 110 and the nodes of the first partial network 120 is also treated as the connection load between nodes in the first partial network 120.
  • the final layer of the first partial network 120 outputs the penetration feature in a state where the degree of influence of the auxiliary data on learning is reduced, so that the whole of the neural network main body 100 uses the main data and the auxiliary data in advance. It is expected to output the same calculation result as at the time of learning. In particular, even when the degree of influence of the auxiliary data becomes 0 in the penetrative learning, it is expected that the neural network proper 100 outputs the same calculation result as in the case of using both the main data and the auxiliary data. As described above, when the neural network main body 100 receives only the main data and the auxiliary data by the pre-learning and the penetrative learning, the same calculation result as in the case where both the main data and the auxiliary data are received is It is expected to output.
  • the switcher unit 240 adjusts the degree of influence on learning of auxiliary data from the auxiliary input layer 112 to the first partial network 120. Specifically, the switcher unit 240 multiplies each of the output values from each node of the auxiliary input layer 112 to each node of the frontmost layer of the first partial network 120 by a coefficient of the same value. This coefficient is a variable-value coefficient for adjusting the degree of influence of the auxiliary data on learning. In the following, this factor is referred to as non-permeability.
  • the switcher unit 240 sets the value of the non-penetration rate to “1”, and the non-penetration rate of the output value from each node of the auxiliary input layer 112 to each node of the frontmost layer of the first partial network 120 is set. Multiply the value "1".
  • the non-penetration value “1” indicates that the degree of influence of the auxiliary data on the learning of the neural network body 100 is the same as the degree of influence of the main data.
  • the switcher unit 240 sets the value of the non-penetration rate to a value smaller than 1, and the output value from each node of the auxiliary input layer 112 to each node of the frontmost layer of the first partial network 120 is 1 Also multiply the small non-penetration value.
  • the non-penetration value smaller than 1 indicates that the influence of the auxiliary data on the learning of the neural network main body 100 is smaller than the influence of the main data.
  • the switcher unit 240 finally sets the non-penetration value to zero. Thereby, the neural network main body 100 performs learning using only the main data among the main data and the auxiliary data.
  • the value of the non-penetration rate may be gradually decreased.
  • “slowly” means that there is at least one intermediate state.
  • the switcher unit 240 may set the non-permeability value to 1 after changing the value to at least once between 1 and 0. As a result, it is possible to avoid a situation where the search space in the optimization of the neural network main body 100 changes suddenly and the result of the prior learning is not sufficiently utilized for the infiltration learning.
  • the switcher unit 240 may change the value of the non-penetration rate from 1 to 0 immediately when switching from prior learning to penetration learning. That is, the switcher unit 240 may switch the value of the non-penetration rate between 1 and 0. Thereby, the neural network main body 100 promptly performs learning using only the main data among the main data and the auxiliary data. In this respect, it is expected that the learning time of the neural network main body 100 can be short.
  • the switcher unit 240 may be able to change the value of the non-penetration rate for each output value from each node of the auxiliary input layer 112 to each node of the frontmost layer of the first partial network 120. Then, after switching from prior learning to penetration learning, the switcher unit 240 gradually reduces the number of signals input to the first partial network 120 with respect to the signals output from the auxiliary input layer 112 in a plurality. The rate may be multiplied.
  • the switcher unit 240 sets the value of the non-penetration rate to 1 for all the output values from each node of the auxiliary input layer 112 to each node of the frontmost layer of the first partial network 120. .
  • the switcher unit 240 is configured to transmit only a part of the non-penetrating rates among the non-penetrating rates provided for each output value from each node of the auxiliary input layer 112 to each node of the frontmost layer of the first partial network 120. , Change the value from 1 to 0.
  • the switcher unit 240 changes all the non-penetration values to 0 by performing this non-penetration change multiple times.
  • the switcher unit 240 gradually thins the signal from each node of the auxiliary input layer 112 to each node of the forefront layer of the first partial network 120.
  • the switcher unit 240 gradually thins out the signal in this manner, as in the case of gradually decreasing the value of the non-penetration rate, the search space in the optimization of the neural network main body 100 changes suddenly and the result of prior learning penetrates It is possible to avoid situations that can not be fully utilized for learning.
  • the implementation method of the process in which the switcher unit 240 changes the non-penetration rate from 1 to 0 is not limited to a specific method.
  • the switcher unit 240 may include a switching element, and the non-penetration rate may be changed from 1 to 0 by switching on and off the switching element.
  • the connection unit 250 connects the main data and the auxiliary data after the non-penetration multiplication.
  • the data connection mentioned here is to combine a plurality of data into one data.
  • both the main data and the auxiliary data are image data
  • the connecting unit 250 combines the two image data.
  • the combination of the two image data can be performed, for example, by connecting data strings as image data as they are.
  • the connection unit 250 performs data connection, whereby the neural network system 1 can treat the combination of the main data and the auxiliary data as one data.
  • the connecting portion 250 does not have to be at the position shown in FIG. 4 described later.
  • the main data and the auxiliary data after non-penetration multiplication are input in parallel to the first partial network 120 as they are without passing through the connection unit 250, and the activities obtained in the process are connected. It is also good.
  • the error calculating unit 220, the connection load adjusting unit 230, the switcher unit 240, and the connecting unit 250 are programmed from a storage device of a computer (Central Processing Unit) included in a computer constituting the learning control unit 200. Is constructed by reading out and executing.
  • the learning control unit 200 further includes a combination unit 260 described later.
  • the combination unit 260 is also configured as a CPU (Central Processing Unit, central processing unit) included in a computer configuring the learning control unit 200 reads out and executes a program from a storage device included in the computer.
  • FIG. 4 is a diagram showing an example of a functional configuration of the neural network system 1.
  • the input layer 110 acquires main data and auxiliary data, and outputs the acquired main data and auxiliary data.
  • the switcher unit 240 multiplies the auxiliary data output from the input layer 110 by the non-penetration rate.
  • the connection unit 250 connects the main data and the auxiliary data after the non-penetration multiplication.
  • the concatenated data is input to the first partial network 120.
  • the first partial network 120 performs learning using this data to calculate the penetration feature.
  • the penetration feature is an output value of the last layer of the first partial network 120 in a state in which pre-learning has been sufficiently performed.
  • the second partial network 130 receives the input of the penetration feature and performs learning so that the last layer of the second partial network 130 outputs the class vector.
  • the class vector here corresponds to an example of the correct answer calculated from the learning data.
  • learning using the error back propagation method can be performed based on the input data and the class vector as the entire neural network main body 100.
  • FIG. 5 is a diagram showing an example of a functional configuration of the neural network system 1 when the non-penetration rate is zero.
  • the auxiliary data and the switcher unit 240 are not shown in FIG. 5.
  • the fact that the non-penetration rate is 0 indicates that auxiliary data is ignored in learning of the neural network system 1.
  • the connection unit 250 outputs the main data to the first partial network 120 when the non-penetration rate becomes 0 in the penetration learning.
  • the linking unit 250 links the image data of pixel value 0 with the main data instead of the auxiliary data, and outputs the linked data to the first partial network 120.
  • the first partial network 120 performs learning based on the main data and the penetration feature in a state in which the non-penetration rate becomes zero in the penetration learning. As a result, even if only the main data and the auxiliary data can be obtained, the first partial network 120 can output the same calculation result (penetration feature) as when both the main data and the auxiliary data can be obtained. Do learning.
  • the neural network main body 100 can obtain only the main data among the main data and the auxiliary data, it is expected that the same calculation result is output as when both the main data and the auxiliary data can be obtained. That is, it is expected that the neural network system outputs an operation result with accuracy as if both the main data and the auxiliary data are obtained based on the main data at the time of operation.
  • FIG. 6 is a diagram showing an example of main data and auxiliary data in an experiment.
  • FIG. 6 shows an example of main data and auxiliary data for 8, 9, 8, 4 and 4 handwritten numbers sequentially from the left side toward the figure.
  • the main data can be obtained by performing the process of replacing the pixel values of the image data indicated by the auxiliary data with respect to all the pixels in a fixed ratio.
  • FIG. 7 is a diagram illustrating an example of the degree of replacement of pixel values.
  • FIG. 7 shows an example of an image in the case where 25%, 50%, 75% and 100% of all the pixels are replaced for handwritten numerals of 5, 0 and 4 sequentially from the left side toward the figure. ing. In the experiment, when 50% of all the pixels were replaced, learning was performed for each of 75% of the pixels replaced.
  • FIG. 8 is a diagram showing an example of main data and auxiliary data at the time of operation (test). Since auxiliary data can not be obtained at the time of operation, image data with all zero pixel values is used as the auxiliary data. Thereby, the influence degree of the auxiliary data in the calculation performed by the neural network main body 100 of the auxiliary data is set to zero.
  • FIG. 8 shows an example of the main data and the auxiliary data in the case where the handwritten numerals are 5, 1, 0, 0, 1 sequentially from the left side toward the figure.
  • testing refers to operation check by operating the neural network system 1 under the same conditions as at the time of operation. Data for which the correct answer is known is used as test data, but the neural network system 1 does not present the correct answer. Therefore, the neural network system 1 performs the operation in a state where the correct answer is unknown as in the operation. The correct answer is used to calculate the accuracy (accuracy rate) of the calculation result by the neural network system 1.
  • FIG. 9 is a diagram showing an example of input data in prior learning.
  • the main data and the auxiliary data illustrated in FIG. 6 are input to each of the main input layer 111 and the auxiliary input layer 112, and the neural network main body 100 performs learning using the main data and the auxiliary data.
  • FIG. 10 is a diagram showing an example of input data when the value of non-penetration rate is zero.
  • the main data is input from the main input layer 111 to the first partial network 120 as in the case of the pre-learning.
  • the auxiliary data from the auxiliary input layer 112 is not input to the first partial network 120.
  • the pixel values of all the pixels of the auxiliary data are converted to 0.
  • image data having all zero pixel values is input to the first partial network 120.
  • the neural network main unit 100 performs learning based on only the main data among the main data and the auxiliary data.
  • FIG. 11 is a diagram showing an example of input data at the time of operation.
  • Auxiliary data is not input to the auxiliary input layer 112 during operation.
  • image data with all zero pixel values is input to the first partial network 120.
  • the neural network main body 100 performs the operation based on only the main data among the main data and the auxiliary data.
  • FIG. 12 is a diagram showing an example of the learning result in the case where the 75% of all the pixels are replaced.
  • the horizontal axis of the graph of FIG. 12 indicates the number of times of learning (the number of epochs).
  • the vertical axis indicates the accuracy of the calculation result of the neural network main body 100. Specifically, the vertical axis indicates the accuracy rate of the determination by the neural network body 100.
  • a line L111 indicates the accuracy of the calculation result in learning. Specifically, a line L111 indicates the rate at which the calculation result in learning matches the correct answer.
  • a line L112 indicates the accuracy of the calculation result in the test. In the experiment, each time the neural network main unit 100 performs learning, test data is input and calculation is performed, and the accuracy of the calculation result at that time is calculated.
  • the accuracy of the operation result in learning is referred to as training accuracy.
  • the accuracy of the calculation result in the test is called test accuracy.
  • the neural network system 1 performs the operation at the time of the test under the same conditions as at the time of operation. Therefore, the test accuracy indicates the accuracy of the calculation result of the neural network system 1 or the neural network main body 100 at the time of operation.
  • the test accuracy rises and then decreases immediately after the start of the prior learning, but increases after the start of the infiltration learning, and then changes at a substantially constant value.
  • the training accuracy rises to almost 100%, then recovers to some extent after temporarily decreasing at the time of prior learning, and remains at a substantially constant value.
  • the final training accuracy was 73.04%, and the final test accuracy was 64.04%.
  • FIG. 13 shows that only 75% of all the pixels were replaced, and learning was performed using only the general multilayer perceptron and the general error back propagation method using main data and auxiliary data at the time of learning It is a figure which shows the example of the learning result of the time.
  • the horizontal axis of the graph of FIG. 13 indicates the number of times of learning (the number of epochs).
  • the vertical axis indicates the accuracy of the calculation result of the neural network main body 100. Specifically, the vertical axis indicates the accuracy rate of the determination by the neural network body 100.
  • a line L121 indicates training accuracy.
  • Line L122 indicates the test accuracy. Even in the example of FIG. 13, only the main data is used at the time of the test.
  • the neural network system 1 performs penetrative learning to use a general multilayer perceptron and general error inverse in operation (at the time of test) without using auxiliary data. It can be seen that higher test accuracy can be achieved than learning by propagation method alone. In this point, the neural network system 1 can process the operation data with higher accuracy.
  • FIG. 14 shows that when 75% of all the pixels have been replaced, learning is performed using only the main data at the time of learning, using only the general multilayer perceptron and the general error back propagation method. It is a figure which shows the example of a learning result.
  • the horizontal axis of the graph of FIG. 14 indicates the number of times of learning (the number of epochs).
  • the vertical axis indicates the accuracy of the calculation result of the neural network main body 100. Specifically, the vertical axis indicates the accuracy rate of the determination by the neural network body 100.
  • the line L131 shows the training accuracy. Line L132 indicates the test accuracy. In the example of FIG. 14, only main data is used at the time of training and at the time of examination.
  • the final training accuracy was 99.67%, and the final test accuracy was 53.17%. Comparing the case of FIG. 14 with the case of FIG. 12, in the neural network system 1, by performing penetration learning, from the case where learning is performed without using auxiliary data, at the time of operation without using auxiliary data (during test). Also, it can be seen that high test accuracy can be achieved. In this point, the neural network system 1 can process the operation data with higher accuracy.
  • FIG. 15 is a diagram showing an example of a learning result in the case where 50% of all the pixels are replaced.
  • the horizontal axis of the graph of FIG. 15 indicates the number of times of learning (the number of epochs).
  • the vertical axis indicates the accuracy of the calculation result of the neural network main body 100. Specifically, the vertical axis indicates the accuracy rate of the determination by the neural network body 100.
  • Line L211 shows training accuracy.
  • Line L212 shows the test accuracy.
  • the test accuracy rises and then decreases immediately after the start of the prior learning, but increases after the start of the penetrative learning, and then changes at a substantially constant value.
  • the training accuracy rises to almost 100%, then recovers to some extent after temporarily decreasing at the time of prior learning, and remains at a substantially constant value.
  • the final training accuracy was 92.43%, and the final test accuracy was 86.75%.
  • FIG. 16 shows that when 50% of all the pixels were replaced, learning was performed using only the general multilayer perceptron and the general error back propagation method using main data and auxiliary data at the time of learning It is a figure which shows the example of the learning result of the time.
  • the horizontal axis of the graph of FIG. 16 indicates the number of times of learning (the number of epochs).
  • the vertical axis indicates the accuracy of the calculation result of the neural network main body 100. Specifically, the vertical axis indicates the accuracy rate of the determination by the neural network body 100.
  • Line L221 shows training accuracy.
  • Line L222 shows the test accuracy. Even in the example of FIG. 16, only the main data is used at the time of the test.
  • FIG. 17 shows that when 50% of all pixels have been replaced, learning is performed using only the main data at the time of learning, using only the general multilayer perceptron and the general error back propagation method. It is a figure which shows the example of a learning result.
  • the horizontal axis of the graph of FIG. 17 indicates the number of times of learning (the number of epochs).
  • the vertical axis indicates the accuracy of the calculation result of the neural network main body 100. Specifically, the vertical axis indicates the accuracy rate of the determination by the neural network body 100.
  • Line L231 shows training accuracy.
  • Line L232 shows the test accuracy. Even in the example of FIG. 17, only main data is used at the time of the test.
  • the final training accuracy is 99.97%, and the final test accuracy is 83.90%.
  • the neural network system 1 performs penetrative learning to perform learning without using auxiliary data at the time of operation without using auxiliary data (during test). It can be seen that higher test accuracy can be achieved. In this point, the neural network system 1 can process the operation data with higher accuracy.
  • the neural network system 1 may further perform the fine adjustment learning following the infiltration learning.
  • the fine adjustment learning the learning by the error back propagation method is performed throughout the neural network main body 100 while keeping the non-penetration rate to zero.
  • the infiltration feature is also rewritten.
  • fine tuning learning of fine tuning after infiltration learning is referred to as fine tuning.
  • the training accuracy is lowered at the time of penetration learning as a determination criterion of whether or not to perform fine tuning. If training accuracy is reduced at the time of infiltration learning, it may be considered as a factor that the infiltration feature does not fit the task sufficiently. Therefore, it is expected that the test accuracy will be improved by performing fine tuning to fit the penetration feature to the problem.
  • an increase in test accuracy does not necessarily mean the accuracy at the time of operation (at the time of testing) due to overlearning and the like.
  • the effectiveness of the fine tuning may be determined based on the curve shape of the training accuracy at the time of penetration learning. Alternatively, the validity may be judged from the verification accuracy after setting the verification data in advance.
  • FIG. 18 is a diagram showing an example of the operation of the neural network system 1 at the time of learning.
  • the neural network system 1 performs prior learning (step S111).
  • the neural network system 1 performs learning by the error back propagation method using the correct answer indicated in the learning data. After the neural network system 1 performs a prior learning using all the learning data, a difference (error) between the output of the last layer of the second partial network 130 and the correct answer shown in the learning data after the learning control unit 200 Is determined within a predetermined error (step S112). If the learning control unit 200 determines that the difference is not within the predetermined error (step S112: NO), the process returns to step S111.
  • the penetration feature storage unit 210 stores the penetration feature (step S121), and the neural network system 1 performs penetration learning. (Step S122). After the neural network system 1 performs penetration learning using all the learning data, the learning control unit 200 determines that the difference (error) between the output of the last layer of the first partial network 120 and the penetration feature is within a predetermined error. It is determined whether or not (step S123). If the learning control unit 200 determines that the difference is not within the predetermined error (step S123: NO), the process returns to step S122.
  • the learning control unit 200 determines whether or not fine tuning is to be performed (step S131). For example, the learning control unit 200 determines that fine tuning is to be performed when the training accuracy is greatly reduced at the time of the penetrative learning than a predetermined reference. Alternatively, the user may determine whether or not to make the neural network system 1 perform fine tuning based on the ease of overlearning, and may instruct the neural network system 1. In this case, the learning control unit 200 determines whether or not fine tuning is to be performed according to the user's instruction. If the learning control unit 200 determines that fine tuning is not to be performed (step S131: NO), the neural network system 1 ends the process of FIG.
  • step S141 the neural network system 1 performs fine tuning (step S141).
  • the neural network system 1 may perform fine tuning a predetermined number of times. Alternatively, the neural network system 1 may perform fine tuning until the difference (error) between the output of the last layer of the second partial network 130 and the correct answer shown in the learning data falls within a predetermined error.
  • step S141 the neural network system 1 ends the process of FIG.
  • the configuration of the neural network system according to the embodiment is not limited to that shown in FIG.
  • FIG. 19 is a view showing a modification of the neural network system according to the embodiment.
  • the neural network system 2 shown in FIG. 19 includes a third partial network 140 in addition to the configuration of the neural network system 1 shown in FIG. Other than that, the neural network system 2 is the same as the neural network system 1.
  • the third partial network 140 receives the input of the main data, performs learning and operation at the time of operation, and outputs the result of the operation to the second partial network 130.
  • the structure of the third partial network may be similar to that of an existing neural network.
  • the third partial network may have no node, and may be configured by a branch from a node of the main input layer 111 to a node of the second partial network 130.
  • FIG. 20 is a diagram showing an example of a functional configuration of the neural network system according to the second embodiment.
  • the neural network system 3 includes an input layer 110, a switcher unit 240, a connection unit 250, a combination unit 260, a first partial network group 320, a second partial network group 330, And a three-part network group 340.
  • the input layer 110 comprises a main input layer 111 and an auxiliary input layer 112.
  • the first partial network group 320 includes k (k is an integer of k ⁇ 1) first partial networks 120. In FIG. 20, the k first partial networks 120 are denoted by reference numerals 120-1 to 120-k.
  • the second partial network group 330 includes m (m is an integer of m ⁇ 1) second partial networks 130. In FIG. 20, the m second partial networks 130 are denoted by reference numerals 130-1 to 130-m.
  • the third partial network group 340 includes n (n is an integer of n ⁇ 1) third partial networks 140. In FIG. 20, the n third partial networks 140 are denoted by reference numerals 140-1 to 140-n.
  • the input layer 110, the first partial network group 320, the second partial network group 330, and the third partial network group 340 may be configured in the neural network body 100.
  • the switcher unit 240, the connection unit 250, and the combination unit 260 may be configured in the learning control unit 200.
  • first partial networks 120, second partial networks 130, and third partial networks 140 differ between the neural network system 2 shown in FIG. 19 and the neural network system 3 shown in FIG.
  • the neural network system 2 shown in FIG. 19 includes one each of a first partial network, a second partial network, and a third partial network.
  • the neural network system 3 shown in FIG. 20 may have a plurality of “1” for any of the first partial network, the second partial network, and the third partial network.
  • the nodes of the main input layer and the nodes of the auxiliary input layer are grouped.
  • the connection unit 250 pre-sets one of the first partial networks 120-1 to 120-k for each group of main data and each group of auxiliary data multiplied by the non-penetration rate based on the pre-setting. Output to the first partial network 120 determined in
  • the combining unit 260 pre-configures the output of each of the first partial networks 120 and each of the third partial networks 140, based on the pre-setting, among the second partial networks 130-1 to 130-m. It outputs to the 2nd partial network 130 decided by setting.
  • the neural network system 3 is the same as the neural network system 2 in the other points.
  • the configuration of the neural network system 3 it is possible to eliminate the decrease in learning accuracy due to the input of data with low correlation. For example, consider a case where the neural network system 3 receives machine data input from a car and performs machine learning. In this case, there is a correlation between the tire orientation and the steering wheel angle. On the other hand, there is usually no correlation between the direction of the tire and the degree of depression of the accelerator. When all auxiliary data are input to the first partial network, there is a possibility that the learning accuracy may be deteriorated due to the influence of the low-correlated auxiliary data.
  • the auxiliary data is selectively input to the first partial network by the setting of the connecting unit 250. Further, the setting of the combination unit 260 selectively inputs the penetration feature of the first partial network to the second partial network. This makes it possible to exclude the input of poorly correlated data to each of the first partial networks and each of the second partial networks, and in this respect, the neural network system 3 must perform machine learning with high accuracy. it can.
  • the switcher unit 240 may multiply each output from the auxiliary input layer 112 by the same non-penetration rate, or for each output from the auxiliary input layer 112. The value of the non-penetration rate may be changeable. After switching from prior learning to penetration learning, the switcher unit 240 gradually decreases the number of signals input to the first partial network 120 with respect to the signals output from the auxiliary input layer 112. It may be multiplied.
  • the structure of the third partial network may be similar to that of an existing neural network.
  • the third partial network may have no node, and may be configured by a branch from a node of the main input layer 111 to a node of the second partial network 130.
  • the neural network system 3 may not include the third partial network 140.
  • Both of the neural network systems 1 and 2 according to the first embodiment correspond to an example of the neural network system 3.
  • the neural network system 3 includes one each of the first partial network and the second partial network and does not include the third partial network
  • the neural network system 1 is configured.
  • grouping is not performed on either the main input layer node or the auxiliary input layer node. Therefore, the number of groups of nodes in the main input layer and the number of groups of nodes in the auxiliary input layer are all one.
  • the combination unit 260 inputs the output of all nodes in the last layer of the first partial network 120 to all nodes in the first layer of the second partial network.
  • the neural network system 2 When the neural network system 3 includes one each of the first partial network, the second partial network, and the third partial network, the neural network system 2 is configured. Also in this case, no grouping is performed on either the main input layer node or the auxiliary input layer node. Therefore, the number of groups of nodes in the main input layer and the number of groups of nodes in the auxiliary input layer are all one. Also, the combination unit 260 inputs the output of all nodes in the last layer of the first partial network 120 to all nodes in the first layer of the second partial network.
  • the route of the third partial network and second partial network without auxiliary data is used as the main route for learning and operation, and auxiliary data It is conceivable to correct the data of the main path using a first partial network using.
  • the configuration without the third partial network may provide better results.
  • the number of layers in the partial network and the number of nodes in each layer are not limited to specific ones.
  • the partial network referred to here is a generic name of the first partial network 120, the second partial network 130, and the third partial network 140.
  • the learning control unit 200 shown in FIG. 3 determines the number of layers in each partial network and the number of nodes in each layer using, for example, Evolutionary Computation such as Genetic Algorithm (GA). It is also good.
  • GA Genetic Algorithm
  • the main input layer 111 acquires main data both during learning and during operation.
  • the auxiliary input layer 112 acquires auxiliary data only during learning between learning and operation.
  • the first partial network 120 performs learning using both main data and auxiliary data, and then performs the same operation as using both main data and auxiliary data using only the main data of the main data and auxiliary data. The learning is performed to calculate the calculation result.
  • the second partial network 130 receives the output from the first partial network 120 and performs learning and operation at the time of operation.
  • the neural network main unit 100 outputs both the main data and the auxiliary data by outputting the same operation result as in the case where both the main data and the auxiliary data can be obtained.
  • the operation can be performed with the same accuracy as when. According to the neural network system 1, it is possible to process the operation data with higher accuracy even when only a part of the data obtained at the time of learning can be obtained at the time of operation.
  • the switcher unit 240 also multiplies the non-penetration rate by the output (auxiliary data) from the auxiliary input layer 112 to the first partial network 120. By this multiplication, the switcher unit 240 adjusts the degree of influence of the auxiliary data on the learning. By setting the value of the non-penetration rate to 0, the neural network system 1 can perform the penetration learning using only the main data among the main data and the auxiliary data.
  • the switcher unit 240 gradually reduces the degree of influence on the learning of the output (auxiliary data) from the auxiliary input layer 112 to the first partial network 120. As a result, it is possible to avoid a situation where the search space in the optimization of the neural network main body 100 changes suddenly and the result of the prior learning is not sufficiently utilized for the infiltration learning.
  • the switcher unit 240 multiplies the non-penetration rate which gradually reduces the value of the output from the auxiliary input layer 112 to the first partial network 120 at the time of learning.
  • the neural network system 1 performs a relatively simple process of gradually reducing the non-penetration value, and the search space in the optimization of the neural network main body 100 suddenly changes, and the result of the prior learning is sufficient for the penetrative learning It is possible to avoid situations that can not be
  • the switcher unit 240 multiplies a plurality of signals output from the auxiliary input layer by a non-penetration rate that gradually reduces the number of signals input to the first partial network 120.
  • the first partial network 120 and the second partial network are configured such that the second partial network 130 calculates the correct answer in the learning data in a state where the first partial network 120 receives only the main data among the main data and the auxiliary data. 130 performs fine tuning for learning.
  • FIG. 21 is a schematic block diagram showing a configuration example of a computer according to at least one embodiment.
  • the computer 400 includes a central processing unit (CPU) 401, a main storage unit 402, an auxiliary storage unit 403, and an interface 404.
  • CPU central processing unit
  • main storage unit 402 main storage unit
  • auxiliary storage unit 403 main storage unit
  • interface 404 interface
  • the neural network main body 100 and the learning control unit 200 are both configured using the computer 400.
  • the operation of each part of the neural network main body 100 is stored in the auxiliary storage device in the form of a program.
  • the CPU 401 reads a program from the auxiliary storage device 403, develops it in the main storage device 402, and executes the processing of the neural network main unit 100 according to this program.
  • the learning control unit 200 When the learning control unit 200 is implemented in a computer, the operation of each unit of the learning control unit 200 is stored in the auxiliary storage device in the form of a program.
  • the CPU 401 reads a program from the auxiliary storage device 403, develops the program in the main storage device 402, and executes the processing of the learning control unit 200 according to the program.
  • the entire neural network system 1, 2 or 3 When the entire neural network system 1, 2 or 3 is implemented in one computer 400, the operation of each part of the neural network system 1, 2 or 3 is stored in the auxiliary storage device in the form of a program.
  • the CPU 401 reads the program from the auxiliary storage device 403, expands it in the main storage device 402, and executes the processing of the neural network system 1, 2 or 3 according to this program.
  • a program for realizing all or a part of the operation and control performed by the neural network system 1 is recorded in a computer readable recording medium, and the program recorded in the recording medium is read into the computer system and executed. You may process each part by doing.
  • the “computer system” mentioned here includes an OS and hardware such as peripheral devices.
  • the “computer system” also includes a homepage providing environment (or display environment) if the WWW system is used.
  • the “computer-readable recording medium” means a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in a computer system.
  • the program may be for realizing a part of the functions described above, or may be realized in combination with the program already recorded in the computer system.
  • Embodiments of the present invention may be applied to neural network systems, machine learning methods and programs.
  • Neural network system 100 101 Neural network main body 110 Input layer 111 Main input layer 112 Auxiliary input layer 120, 120-1, 120-2, ..., 120-l 1st partial network 130, 130-1, 130- 2, ..., 130-m second partial network 140, 140-1, 140-2, ..., 140-n third partial network 200 learning control unit 210 penetration feature storage unit 220 error calculation unit 230 combined load Adjustment unit 240 Switcher unit 250 Coupling unit 260 Combination unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Physiology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)

Abstract

ニューラルネットワークシステムが、学習時及び運用時共にデータを取得する主入力層と、前記学習時及び前記運用時のうち前記学習時にのみデータを取得する補助入力層と、前記主入力層及び前記補助入力層の両方からの出力を用いて学習を行った後、前記主入力層及び前記補助入力層のうち前記主入力層のみからの出力を用いて、前記主入力層及び前記補助入力層の両方からの出力を用いた場合と同じ演算結果を算出するように学習を行う第1部分ネットワークと、前記第1部分ネットワークからの出力を受けて学習及び運用時の演算を行う第2部分ネットワークと、を備える。

Description

ニューラルネットワークシステム、機械学習方法及びプログラム
 本発明は、ニューラルネットワークシステム、機械学習方法及びプログラムに関する。
 本願は、2017年8月8日に、日本国に出願された特願2017-153613号に基づき優先権を主張し、その内容をここに援用する。
 入力層、中間層、及び、出力層を有するニューラルネットワークに、学習用データを用いて誤差逆伝搬法(Error Backpropagation Method)にて学習を繰り返し行わせることで、運用データを比較的高精度に処理できることが知られている(非特許文献1参照)。
David E. Rumelhart、他2名、"Learning representations by back-propagating errors"、 Nature 323 (6088)、p. 533-536、1986年
 入力層、中間層、及び、出力層を有するニューラルネットワークで、学習時に得られるデータのうち一部のデータしか、運用時には得られない場合にも運用データをより高精度に処理できることが好ましい。
 本発明は、入力層、中間層、及び、出力層を有するニューラルネットワークで、学習時に得られるデータのうち一部のデータしか、運用時には得られない場合にも運用データをより高精度に処理できるニューラルネットワークシステム、機械学習方法及びプログラムを提供する。
 本発明の第1の態様によれば、ニューラルネットワークシステムは、学習時及び運用時共にデータを取得する主入力層と、前記学習時及び前記運用時のうち前記学習時にのみデータを取得する補助入力層と、前記主入力層及び前記補助入力層の両方からの出力を用いて学習を行った後、前記主入力層及び前記補助入力層のうち前記主入力層のみからの出力を用いて、前記主入力層及び前記補助入力層の両方からの出力を用いた場合と同じ演算結果を算出するように学習を行う第1部分ネットワークと、前記第1部分ネットワークからの出力を受けて学習及び運用時の演算を行う第2部分ネットワークと、を備える。
 前記補助入力層から前記第1部分ネットワークへの出力に、学習に対する影響度を調整するための係数である非浸透率を乗算するスイッチャー部を備えるようにしてもよい。
 前記スイッチャー部は、前記学習時に、前記補助入力層から前記第1部分ネットワークへの出力の学習に対する影響度を徐々に小さくするようにしてもよい。
 前記スイッチャー部は、前記学習時に、前記補助入力層から前記第1部分ネットワークへの出力の値を徐々に小さくする前記非浸透率を乗算するようにしてもよい。
 前記スイッチャー部は、前記学習時に、前記補助入力層から複数出力される信号に対して、前記第1部分ネットワークに入力される信号の数を徐々に減少させる前記非浸透率を乗算するようにしてもよい。
 前記第1部分ネットワークが、前記主入力層及び前記補助入力層のうち前記主入力層のみからの出力を用いて、前記主入力層及び前記補助入力層の両方からの出力を用いた場合と同じ演算結果を算出するように学習を行った後、さらに、前記第1部分ネットワークが、前記主入力層及び前記補助入力層のうち前記主入力層のみからの出力を受ける状態で、前記第2部分ネットワークが学習データにおける正解を算出するように、前記第1部分ネットワーク及び前記第2部分ネットワークが学習を行うようにしてもよい。
 本発明の第2の態様によれば、機械学習方法は、学習時及び運用時共にデータを取得する主入力層と、前記学習時及び前記運用時のうち前記学習時にのみデータを取得する補助入力層と、第1部分ネットワークと、前記第1部分ネットワークからの出力を受ける第2部分ネットワークと、を備えるニューラルネットワークシステムに、前記第1部分ネットワークが、前記主入力層及び前記補助入力層の両方からの出力を用いて学習を行う事前学習と、前記事前学習の後、前記第1部分ネットワークが、前記主入力層及び前記補助入力層のうち前記主入力層のみからの出力を用いて、前記主入力層及び前記補助入力層の両方からの出力を用いた場合と同じ演算結果を算出するように学習を行う浸透学習と、を実行させることを含む。
 本発明の第3の態様によれば、プログラムは、コンピュータに、学習時及び運用時共にデータを取得する主入力層と、前記学習時及び前記運用時のうち前記学習時にのみデータを取得する補助入力層と、第1部分ネットワークと、前記第1部分ネットワークからの出力を受ける第2部分ネットワークと、を備えるニューラルネットワークシステムにおける、前記第1部分ネットワークが、前記主入力層及び前記補助入力層の両方からの出力を用いて学習を行う事前学習と、前記事前学習の後、前記第1部分ネットワークが、前記主入力層及び前記補助入力層のうち前記主入力層のみからの出力を用いて、前記主入力層及び前記補助入力層の両方からの出力を用いた場合と同じ演算結果を算出するように学習を行う浸透学習と、を実行させるためのプログラムである。
 本発明によれば、入力層、中間層、及び、出力層を有するニューラルネットワークで、学習時に得られるデータのうち一部のデータしか、運用時には得られない場合にも運用データをより高精度に処理できる。
第1実施形態に係るニューラルネットワークシステムの機能構成を示す概略ブロック図である。 第1実施形態に係るニューラルネットワーク本体の構成例を示す図である。 第1実施形態に係る学習制御部の機能構成の例を示す概略ブロック図である。 第1実施形態に係るニューラルネットワークシステムの機能構成の例を示す図である。 第1実施形態で非浸透率が0の場合の、ニューラルネットワークシステムの機能構成の例を示す図である。 第1実施形態に係る実験における主データ及び補助データの例を示す図である。 第1実施形態に係る実験における画素値の入替の度合いの例を示す図である。 第1実施形態に係る実験での、運用時における主データ及び補助データの例を示す図である。 第1実施形態で、事前学習における入力データの例を示す図である。 第1実施形態で、非浸透率の値が0の場合における入力データの例を示す図である。 第1実施形態で、運用時における入力データの例を示す図である。 第1実施形態に係る実験で全画素のうち75%の画素の入替を行った場合における学習結果の例を示す図である。 全画素のうち75%の画素の入替を行った場合に、学習時に主データ及び補助データを用いて一般的な多層パーセプトロン及び一般的な誤差逆伝播法のみにて学習を行ったときの学習結果の例を示す図である。 全画素のうち75%の画素の入替を行った場合に、学習時に主データのみを用いて一般的な多層パーセプトロン及び一般的な誤差逆伝播法のみにて学習を行ったときの学習結果の例を示す図である。 第1実施形態に係る実験で全画素のうち50%の画素の入替を行った場合における学習結果の例を示す図である。 全画素のうち50%の画素の入替を行った場合に、学習時に主データ及び補助データを用いて一般的な多層パーセプトロン及び一般的な誤差逆伝播法のみにて学習を行ったときの学習結果の例を示す図である。 全画素のうち50%の画素の入替を行った場合に、学習時に主データのみを用いて一般的な多層パーセプトロン及び一般的な誤差逆伝播法のみにて学習を行ったときの学習結果の例を示す図である。 第1実施形態で、学習時におけるニューラルネットワークシステム1の動作の例を示す図である。 第1実施形態に係るニューラルネットワークシステムの変形例を示す図である。 第2実施形態に係るニューラルネットワークシステムの機能構成の例を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成例を示す概略ブロック図である。
 以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
<第1実施形態>
 図1は、第1実施形態に係るニューラルネットワークシステムの機能構成を示す概略ブロック図である。図1に示すように、ニューラルネットワークシステム1は、ニューラルネットワーク本体100と、学習制御部200とを備える。
 ニューラルネットワーク本体100は、教師あり学習による機械学習を行い、学習結果に基づいて運用時における演算を行う。以下では、機械学習を単に学習とも称する。
 ニューラルネットワーク本体100が運用時に得られるデータの種類は、学習時に得られるデータの種類の一部に限定される。運用時に得られるデータの種類が学習時に得られるデータの種類の一部に限定される例として、学習時に使用可能な機器のうち一部のみを運用時に使用可能である場合が挙げられる。
 例えば、人の顔の表情をカメラで撮影して心理状態を判定する課題で、学習時には、カメラに加えてfMRI(Functional Magnetic Resonance Imaging)又はEEG(Electroencephalogram)センサを用いることが考えられる。て脳の状態を測定することが考えられる。この場合、学習時には、fMRI又はEEGセンサを用いて脳の状態を測定し、カメラ画像に加えて脳の状態の測定結果をニューラルネットワーク本体100に入力することが考えられる。
 一方、運用時にはfMRI又はEEGセンサを使用せず、カメラ画像のみをニューラルネットワーク本体100に入力することが考えられる。
 また、時系列予測問題においては、学習時に、過去のデータに加えて未来のデータもニューラルネットワーク本体100に入力層側から入力する場合も、運用時に得られるデータの種類が学習時に得られるデータの種類の一部に限定される例として挙げられる。
 学習時に、過去のある時点を基準時として設定すれば、学習用データとして、基準時から見て過去のデータに加えて、基準時から見て未来のデータをニューラルネットワーク本体100の入力層側に入力することができる。一方、運用時には、現時点(ニューラルネットワーク本体100に演算を行わせる時点)が基準時となることが考えられる。この場合、未来のデータをニューラルネットワーク本体100に入力することはできない。
 また、単一データ形式における分類問題で、学習時に、ニューラルネットワーク本体100の入力層への入力データに正解のデータを含めるようにしてもよい。例えば、分類対象をクラスに分類する課題で、分類対象を示すデータに加えてクラス分けの正解を示すデータをニューラルネットワーク本体100の入力層に入力するようにしてもよい。
 一方、運用時には正解が未知であることが通常であり、正解のデータをニューラルネットワーク本体100に入力することはできない。
 また、画像を対象物の画像と背景画像とに分けるセグメンテーションの課題で、処理対象の画像に加えてセグメント(セグメンテーションの結果)を示すデータをニューラルネットワーク本体100の入力層に入力するようにしてもよい。
 一方、運用時には正解が未知であることが通常であり、正解のデータをニューラルネットワーク本体100に入力することはできない。
 以下では、学習時及び運用時共に得られる種類のデータを主データと称し、学習時及び運用時のうち学習時にのみ得られる種類のデータを補助データと称する。
 運用時に得られるデータの種類が学習時に得られるデータの種類の一部に限定されることに対応するため、ニューラルネットワークシステム1は、学習に対する補助データの影響度を調整する仕組みを備え、主データ及び補助データの両方を用いて学習を行った後、学習に対する補助データの影響度を小さくして主データを用いた学習を行う。ニューラルネットワークシステム1は、後述する非浸透率を補助データに乗算することによって補助データの影響度を調整する。
 図2は、ニューラルネットワーク本体100の構成例を示す図である。図2に示すように、ニューラルネットワーク本体100は、主入力層111及び補助入力層112を含む入力層110と、第1部分ネットワーク120と、第2部分ネットワーク130とを備える。
 図1及び図2に示す構成にてニューラルネットワークシステム1は、主データ及び補助データの入力を受けて学習を行う。具体的には、主入力層111が主データの入力を受け、補助入力層112が補助データの入力を受ける。また、学習制御部200は、学習に対する補助データの影響度を調整する。そして、第1部分ネットワーク120及び第2部分ネットワーク130は、主データと補助データとを統合して学習を行う。
 ニューラルネットワークシステム1は、2段階の学習にて、主データ及び補助データのうち主データのみの入力を受けた場合に、主データ及び補助データの両方の入力を受けた場合と同じ結果を出力するように学習を行う。
 第1段階の学習では、ニューラルネットワークシステム1は、主データ及び補助データの両方を用いて、学習用データが示す正解を算出するように学習を行う。
 第2段階の学習では、ニューラルネットワークシステム1は、学習に対する補助データの影響度を小さくして、事前学習の場合と同じ演算結果を算出するための学習を行う。具体的には、ニューラルネットワークシステム1は、第1段階の学習における第1部分ネットワーク120の出力を記憶しておく。そして、ニューラルネットワークシステム1は、非浸透率(補助データの影響度を調整するための係数)の値を1から0に落としながら、第1部分ネットワーク120の出力と記憶している出力との誤差を最小化する学習を行う。
 ニューラルネットワークシステム1は、学習にて、ニューラルネットワーク本体100のノード間の重み(結合荷重)の調整を行う。
 以下では、ニューラルネットワークシステム1が主データ及び補助データの両方を用いて行う、学習用データが示す正解を算出するための学習(上述した第1段階の学習)を事前学習(Pretraining)と称する。
 また、ニューラルネットワークシステム1が、補助データの影響度を小さくした状態で、事前学習の場合と同じ演算結果を算出するために行う学習(上述した第2段階の学習)を浸透学習(Percolative Learning)と称する。
 かかる学習を実行するために、ニューラルネットワーク本体100の各部は以下の機能を有する。
 入力層110は、多層パーセプトロンの入力層と同様に、ニューラルネットワークシステム1の外部からのデータの入力を受ける。主入力層111は、学習時及び運用時共に主データの入力を受ける。補助入力層112は、学習時及び運用時のうち学習時にのみ補助データの入力を受ける。
 第1部分ネットワーク120は、入力層110からのデータを受けて学習及び運用時の演算を行う。上述したように、第1部分ネットワーク120は、主入力層111からの主データ及び補助入力層112からの補助データの両方を用いて事前学習を行う。事前学習の後、第1部分ネットワーク120は、補助入力層112からの補助データの影響度を小さくしつつ、主入力層111からの主データを用いて浸透学習を行う。
 第2部分ネットワーク130は、第1部分ネットワーク120の演算結果の入力を受けて学習及び運用時の演算を行う。
 第1部分ネットワーク120及び第2部分ネットワーク130のいずれも、従来的なニューラルネットワークの要素を用いて構成することができ、学習にてノード間の結合荷重を調整する。
 ニューラルネットワーク本体100全体で、後述するように補助入力層112から第1部分ネットワーク120への補助データの学習に対する影響度を調整する点以外は、従来的なニューラルネットワークと同様の構造を有する。第2部分ネットワーク130の最後層が、ニューラルネットワーク本体100全体における出力層として機能する。ここでいう最後層は、順伝播時のデータの流れで最も後ろ(下流側)に位置する層である。また、順伝播時のデータの流れで最も前(上流側)に位置する層を最前層と称する。
 第1部分ネットワーク120が有する層の数及びノードの数は、特定のものに限定されない。第2部分ネットワーク130が有する層の数及びノードの数も、特定のものに限定されない。
 学習制御部200は、ニューラルネットワーク本体100における学習を制御する。特に、学習制御部200は、事前学習と浸透学習との切替を行う。
 図3は、学習制御部200の機能構成の例を示す概略ブロック図である。図3に示すように、学習制御部200は、浸透特徴記憶部210と、誤差演算部220と、結合荷重調整部230と、スイッチャー部240と、連結部250とを備える。
 学習制御部200は、ニューラルネットワーク本体100における学習を制御する。学習制御部200は、例えばパソコン(Personal Computer;PC)等のコンピュータを用いて構成される。
 ニューラルネットワーク本体100についても、コンピュータを用いて構成される。ただし、ニューラルネットワーク本体100を専用のハードウェアで実現するなど、コンピュータを用いる方法以外の方法でニューラルネットワーク本体100を構成するようにしてもよい。
 浸透特徴記憶部210は、事前学習が十分に行われた状態で、事前学習にて第1部分ネットワーク120の最後層が出力するデータの値を、入力データ毎(主データと補助データとの組み合わせ毎)に記憶する。浸透特徴記憶部210は、学習制御部200を構成するコンピュータが有する記憶デバイスを用いて構成される。
 以下では、浸透特徴記憶部210が記憶するデータを浸透特徴(Percolative Feature)又は浸透データ(Percolative Data)と称する。
 誤差演算部220は、学習時に、ニューラルネットワーク本体100又はその一部における演算の結果と、正解として設定されているデータとの差分(誤差)を算出する。事前学習時には、誤差演算部220は、第2部分ネットワーク130の最後層の出力と、学習用データにて示される正解との誤差を算出する。浸透学習時には、誤差演算部220は、第1部分ネットワーク120の最後層の出力と、浸透特徴との誤差を算出する。
 結合荷重調整部230は、誤差演算部220が算出する誤差に基づいて、ニューラルネットワーク本体100のノード間の結合荷重を調整する。この結合荷重の調整が、ニューラルネットワーク本体100における学習に該当する。
 ニューラルネットワーク本体100がノード間の結合荷重を調整する方法(すなわち、ニューラルネットワーク本体100における学習法)として、誤差逆伝播法(Error Backpropagation Method)を用いることができる。事前学習では、ニューラルネットワーク本体100全体に誤差逆伝播法を適用して学習を行うことができる。浸透学習では、第1部分ネットワーク120に誤差逆伝播法を適用して学習を行うことができる。
 浸透学習では、結合荷重調整部230は、学習に対する補助データの影響度が小さくなった状態で、第1部分ネットワーク120の最後層が浸透特徴を出力するように、第1部分ネットワーク120におけるノード間の結合荷重を調整する。ここでいう第1部分ネットワーク120におけるノード間の結合荷重は、後段側のノードが第1部分ネットワーク120に含まれるノード間の結合荷重である。入力層110のノードと第1部分ネットワーク120のノードとの間の結合荷重も、第1部分ネットワーク120におけるノード間の結合荷重として扱う。
 学習に対する補助データの影響度が小さくなった状態で、第1部分ネットワーク120の最後層が浸透特徴を出力することで、ニューラルネットワーク本体100全体としても、主データ及び補助データの両方を用いた事前学習時と同じ演算結果を出力することが期待される。特に、浸透学習にて補助データの影響度が0になった状態でも、ニューラルネットワーク本体100が、主データ及び補助データの両方を用いる場合と同じ演算結果を出力することが期待される。
 このように、事前学習及び浸透学習によって、ニューラルネットワーク本体100が、主データ及び補助データのうち主データのみを受けた場合に、主データ及び補助データの両方を受けた場合と同様の演算結果を出力することが期待される。
 スイッチャー部240は、補助入力層112から第1部分ネットワーク120への補助データの学習に対する影響度を調整する。具体的には、スイッチャー部240は、補助入力層112の各ノードから第1部分ネットワーク120の最前層の各ノードへの出力値の各々に、同じ値の係数を乗算する。この係数は、補助データの学習への影響度を調整するための、値が可変な係数である。以下では、この係数を非浸透率(Non-permeability)と称する。
 事前学習では、スイッチャー部240は、非浸透率の値を「1」に設定し、補助入力層112の各ノードから第1部分ネットワーク120の最前層の各ノードへの出力値に非浸透率の値「1」を乗算する。非浸透率の値「1」は、ニューラルネットワーク本体100の学習に対する補助データの影響度を、主データの影響度と同じにすることを示す。
 浸透学習では、スイッチャー部240は、非浸透率の値を1よりも小さい値に設定し、補助入力層112の各ノードから第1部分ネットワーク120の最前層の各ノードへの出力値に1よりも小さい非浸透率の値を乗算する。1より小さい非浸透率の値は、ニューラルネットワーク本体100の学習に対する補助データの影響度を、主データの影響度よりも小さくすることを示す。
 浸透学習で、スイッチャー部240は、非浸透率の値を最終的に0にする。これにより、ニューラルネットワーク本体100は、主データ及び補助データのうち主データのみを用いて学習を行う。
 スイッチャー部240が、事前学習から浸透学習に切り替わった後、非浸透率の値を徐々に小さくするようにしてもよい。ここでいう「徐々に」は、少なくとも1つの中間状態があることである。
 具体的には、スイッチャー部240が、非浸透率の値を1から、少なくとも一旦、1と0との間の値にした後、0にするようにしてもよい。これにより、ニューラルネットワーク本体100の最適化における探索空間が急変して事前学習の結果が浸透学習に十分に生かされないといった事態を回避することができる。
 あるいは、スイッチャー部240が、事前学習から浸透学習への切り替わり時に、非浸透率の値を1から直ちに0に変更するようにしてもよい。すなわち、スイッチャー部240が、非浸透率の値を1、0で切り替えるようにしてもよい。
 これにより、ニューラルネットワーク本体100は、主データ及び補助データのうち主データのみを用いた学習を速やかに行う。この点で、ニューラルネットワーク本体100の学習時間が短くて済むことが期待される。
 あるいは、スイッチャー部240が、補助入力層112の各ノードから第1部分ネットワーク120の最前層の各ノードへの出力値毎に、非浸透率の値を変更可能であってもよい。そして、事前学習から浸透学習に切り替わった後、スイッチャー部240が、補助入力層112から複数出力される信号に対して、第1部分ネットワーク120に入力される信号の数を徐々に減少させる非浸透率を乗算するようにしてもよい。
 具体的には、事前学習時にはスイッチャー部240は、補助入力層112の各ノードから第1部分ネットワーク120の最前層の各ノードへの全ての出力値について、非浸透率の値を1にしておく。浸透学習時には、スイッチャー部240は、補助入力層112の各ノードから第1部分ネットワーク120の最前層の各ノードへの出力値毎に設けられている非浸透率のうち一部の非浸透率のみ、値を1から0に変更する。スイッチャー部240は、この非浸透率の変更を複数回行うことで、全ての非浸透率の値を0に変化させる。
 これによりスイッチャー部240は、事前学習時にはスイッチャー部240は、補助入力層112の各ノードから第1部分ネットワーク120の最前層の各ノードへの信号を徐々に間引いていく。
 スイッチャー部240が、このように信号を徐々に間引くことで、非浸透率の値を徐々に小さくする場合と同様、ニューラルネットワーク本体100の最適化における探索空間が急変して事前学習の結果が浸透学習に十分に生かされないといった事態を回避することができる。
 スイッチャー部240が非浸透率を1から0に変化させる処理の実装方法は、特定の方法に限定されない。例えば、スイッチャー部240がスイッチング素子を備え、スイッチング素子のオン、オフの切替によって非浸透率を1から0に変化させる処理を実行するようにしてもよい。
 連結部250は、主データと非浸透率乗算後の補助データとを連結する。ここでいうデータの連結は、複数のデータを1つのデータに纏めることである。後述する画像認識の例では、主データと補助データとがいずれも画像データであり、連結部250は、これら2つの画像データを結合する。2つの画像データの結合は、例えば、画像データとしてのデータ列をそのまま繋ぎ合わせることで行うことができる。
 連結部250がデータの連結を行うことで、ニューラルネットワークシステム1は、主データ及び補助データの組合せを、1つのデータとして扱うことができる。
 但し、連結部250は、後述する図4に示す位置にある必要は無い。例えば、主データ及び非浸透率乗算後の補助データが、連結部250を介さずにそのまま第1部分ネットワーク120に並列に入力されるようにして、その過程で得られる活性を連結するようにしてもよい。
 誤差演算部220、結合荷重調整部230、スイッチャー部240及び連結部250は、学習制御部200を構成するコンピュータが有するCPU(Central Processing Unit、中央処理装置)が、当該コンピュータが有する記憶デバイスからプログラムを読み出して実行することで構成される。
 後述する第3実施形態の構成では、学習制御部200は、後述する組み合わせ部260をさらに備える。組み合わせ部260も、学習制御部200を構成するコンピュータが有するCPU(Central Processing Unit、中央処理装置)が、当該コンピュータが有する記憶デバイスからプログラムを読み出して実行することで構成される。
 図4は、ニューラルネットワークシステム1の機能構成の例を示す図である。
 学習時には入力層110は、主データ及び補助データを取得し、取得した主データ及び補助データを出力する。スイッチャー部240は、入力層110が出力した補助データに非浸透率を乗算する。
 連結部250は、主データと非浸透率乗算後の補助データとを連結する。
 連結されたデータは、第1部分ネットワーク120に入力される。事前学習では、第1部分ネットワーク120は、このデータを用いて学習を行い、浸透特徴を算出する。上述したように、浸透特徴は、事前学習が十分行われた状態における第1部分ネットワーク120の最後層の出力値である。
 第2部分ネットワーク130は、浸透特徴の入力を受けて、第2部分ネットワーク130の最後層がクラスベクトルを出力するように学習を行う。ここでのクラスベクトルは、学習データから算出される正解の例に該当する。
 上述したように、事前学習では、ニューラルネットワーク本体100全体として入力データ及びクラスベクトルとに基づいて誤差逆伝播法を用いた学習を行うようにすることができる。
 図5は、非浸透率が0の場合の、ニューラルネットワークシステム1の機能構成の例を示す図である。
 図5と図4とを比較すると、図5では、補助データとスイッチャー部240とが示されていない。これにより図5の状態では、非浸透率が0となっていることでニューラルネットワークシステム1の学習において補助データが無視されることを示している。
 浸透学習で非浸透率が0になった場合、連結部250は、主データを第1部分ネットワーク120へ出力する。後述する画像認識の例では、連結部250は、補助データの代わりに画素値0の画像データを主データと連結して第1部分ネットワーク120へ出力する。
 浸透学習で非浸透率が0になった状態で、第1部分ネットワーク120は、主データと浸透特徴とに基づいて学習を行う。これにより、第1部分ネットワーク120は、主データ及び補助データのうち主データのみを得られる場合でも、主データ及び補助データの両方を得られる場合と同じ演算結果(浸透特徴)を出力するように学習を行う。
 第1部分ネットワーク120の演算結果を受けて演算を行う第2部分ネットワーク130についても、第1部分ネットワーク120が主データ及び補助データのうち主データのみを得られる場合に、第1部分ネットワーク120が主データ及び補助データの両方を得られる場合と同じ演算結果を出力することが期待される。従って、ニューラルネットワーク本体100が、主データ及び補助データのうち主データのみを得られる場合に、主データ及び補助データの両方を得られる場合と同じ演算結果を出力することが期待される。すなわち、ニューラルネットワークシステムが、運用時に主データに基づいて、あたかも主データ及び補助データの両方を得られているかのような精度の演算結果を出力することが期待される。
 次に、ニューラルネットワークシステム1における学習の実験例について説明する。
 実験では、ニューラルネットワークシステム1を動作させる環境をコンピュータ上に構成し、0から9までの手書き数字の画像データから、書かれている文字を推定する課題についてニューラルネットワークシステム1の学習を行った。実験では、手書き数字の画像データベースであるMNISTから取得した画像データを用いた。
 実験では、MNISTから得られた画像データの画素を入れ替える(シャッフルする)処理を全画素のうち一定の割合の画素に対して行って主データを生成した。なお、シャッフルされる画素の選択はデータ毎に異なる。また、MNISTから得られた画像データを補助データとして用いた。
 図6は、実験における主データ及び補助データの例を示す図である。図6では、図に向かって左側から順に、8、9、8、4、4の手書き数字に対する主データ及び補助データの例を示している。上記のように、補助データに示される画像データの画素値を入れ替える処理を全画素のうち一定の割合の画素に対して行うことで、主データを得られる。
 図7は、画素値の入替の度合いの例を示す図である。図7では、図に向かって左側から順に5、0、4の手書き数字について、全画素のうち25%、50%、75%、100%の画素の入替を行った場合の画像の例を示している。
 実験では、全画素のうち50%の画素の入替を行った場合、75%の画素の入替を行った場合のそれぞれについて学習を行った。
 図8は、運用(試験)時における主データ及び補助データの例を示す図である。運用時には補助データを得られないため、補助データとして、画素値が全て0の画像データを用いる。これにより、補助データのニューラルネットワーク本体100が行う演算における補助データの影響度を0とする。
 図8では、図に向かって左側から順に手書き数字が5、1、0、0、1である場合の主データ及び補助データの例を示している。
 なお、ここでいう試験とは、ニューラルネットワークシステム1を運用時と同じ条件で動作させて動作確認を行うことである。試験用データとして正解が既知のデータを用いるが、ニューラルネットワークシステム1には正解は提示されない。従って、ニューラルネットワークシステム1は、運用時と同じく正解が未知の状態で演算を行う。正解は、ニューラルネットワークシステム1による演算結果の精度(正解率)を算出するために用いられる。
 図9は、事前学習における入力データの例を示す図である。
 事前学習では、図6に例示される主データ及び補助データが主入力層111、補助入力層112の各々に入力され、ニューラルネットワーク本体100は、主データ及び補助データを用いて学習を行う。
 図10は、非浸透率の値が0の場合における入力データの例を示す図である。
 浸透学習で非浸透率の値が0になっている場合、主データは、事前学習の場合と同様、主入力層111から第1部分ネットワーク120に入力される。一方、非浸透率の値が0となっていることで、補助入力層112からの補助データは、第1部分ネットワーク120には入力されない。この場合、非浸透率の値が0であることで、補助データの全ての画素の画素値が0に変換される。これにより、図8を参照して説明した運用時の入力と同様、補助データに代えて画素値が全て0の画像データが第1部分ネットワーク120に入力される。これにより、ニューラルネットワーク本体100は、主データ及び補助データのうち主データのみに基づいて学習を行う。
 図11は、運用時における入力データの例を示す図である。
 運用時には補助データは補助入力層112に入力されない。この場合、図8を参照して説明したように、補助データに代えて画素値が全て0の画像データを第1部分ネットワーク120に入力する。これにより、ニューラルネットワーク本体100は、主データ及び補助データのうち主データのみに基づいて演算を行う。
図12は、全画素のうち75%の画素の入替を行った場合における学習結果の例を示す図である。図12のグラフの横軸は学習回数(エポック数)を示す。縦軸は、ニューラルネットワーク本体100の演算結果の精度を示す。具体的には、縦軸は、ニューラルネットワーク本体100による判定の正解率を示す。
 線L111は、学習における演算結果の精度を示す。具体的には、線L111は、学習における演算結果が正解と一致している割合を示す。線L112は、試験における演算結果の精度を示す。実験では、ニューラルネットワーク本体100が学習を行う毎に、試験データを入力して演算を行わせ、その時点での演算結果の精度を算出している。
 以下では、学習における演算結果の精度を訓練精度と称する。試験における演算結果の精度を試験精度と称する。上記のように、ニューラルネットワークシステム1は、試験時において運用時と同じ条件で演算を行う。従って、試験精度は、運用時におけるニューラルネットワークシステム1ないしニューラルネットワーク本体100の演算結果の精度を示す。
 実験では、学習回数1000回程度まで事前学習を行い、その後、非浸透率を徐々に小さくしながら浸透学習を行っている。
 図12の例で、試験精度(線L112参照)は、事前学習の開始直後に一旦上昇した後減少するが、浸透学習開始後に上昇し、その後はほぼ一定の値で推移している。また、訓練精度(線L111参照)は、ほぼ100%まで上昇した後、事前学習時に一旦低下してからある程度回復し、ほぼ一定の値で推移している。図12の例では、最終的な訓練精度は73.04%であり、最終的な試験精度は64.04%であった。
 図13は、全画素のうち75%の画素の入替を行った場合に、学習時に主データ及び補助データを用いて一般的な多層パーセプトロン及び一般的な誤差逆伝播法のみにて学習を行ったときの学習結果の例を示す図である。図13のグラフの横軸は学習回数(エポック数)を示す。縦軸は、ニューラルネットワーク本体100の演算結果の精度を示す。具体的には、縦軸は、ニューラルネットワーク本体100による判定の正解率を示す。
 線L121は、訓練精度を示す。線L122は、試験精度を示す。
 図13の例でも、試験時には主データのみを用いている。
 図13に示す学習結果では、訓練精度(線L121参照)については高い精度を得られたが、試験精度(線L122参照)については、図12に示す学習結果の場合よりも精度が低い。
図13の例では、最終的な訓練精度が99.98%であり、最終的な試験精度は12.11%であった。
 図13の場合と図12の場合とを比較すると、ニューラルネットワークシステム1では、浸透学習を行うことで、補助データを用いない運用時(試験時に)、一般的な多層パーセプトロン及び一般的な誤差逆伝播法のみによる学習よりも高い試験精度を達成できていることがわかる。この点で、ニューラルネットワークシステム1では、運用データをより高精度に処理できている。
 図14は、全画素のうち75%の画素の入替を行った場合に、学習時に主データのみを用いて一般的な多層パーセプトロン及び一般的な誤差逆伝播法のみにて学習を行ったときの学習結果の例を示す図である。図14のグラフの横軸は学習回数(エポック数)を示す。縦軸は、ニューラルネットワーク本体100の演算結果の精度を示す。具体的には、縦軸は、ニューラルネットワーク本体100による判定の正解率を示す。
 線L131は、訓練精度を示す。線L132は、試験精度を示す。
 図14の例では、訓練時及び試験時共に主データのみを用いている。
 図14の例では、最終的な訓練精度が99.67%であり、最終的な試験精度が53.17%であった。
 図14の場合と図12の場合とを比較すると、ニューラルネットワークシステム1では、浸透学習を行うことで、補助データを用いない運用時(試験時に)、補助データを用いずに学習を行う場合よりも、高い試験精度を達成できていることがわかる。この点で、ニューラルネットワークシステム1では、運用データをより高精度に処理できている。
 図15は、全画素のうち50%の画素の入替を行った場合における学習結果の例を示す図である。図15のグラフの横軸は学習回数(エポック数)を示す。縦軸は、ニューラルネットワーク本体100の演算結果の精度を示す。具体的には、縦軸は、ニューラルネットワーク本体100による判定の正解率を示す。
 線L211は、訓練精度を示す。線L212は、試験精度を示す。
 試験精度(線L212参照)は、事前学習の開始直後に一旦上昇した後減少するが、浸透学習開始後に上昇し、その後はほぼ一定の値で推移している。また、訓練精度(線L211参照)は、ほぼ100%まで上昇した後、事前学習時に一旦低下してからある程度回復し、ほぼ一定の値で推移している。図15の例では、最終的な訓練精度は92.43%であり、最終的な試験精度は86.75%であった。
 図16は、全画素のうち50%の画素の入替を行った場合に、学習時に主データ及び補助データを用いて一般的な多層パーセプトロン及び一般的な誤差逆伝播法のみにて学習を行ったときの学習結果の例を示す図である。図16のグラフの横軸は学習回数(エポック数)を示す。縦軸は、ニューラルネットワーク本体100の演算結果の精度を示す。具体的には、縦軸は、ニューラルネットワーク本体100による判定の正解率を示す。
 線L221は、訓練精度を示す。線L222は、試験精度を示す。
 図16の例でも、試験時には主データのみを用いている。
 図16に示す学習結果では、訓練精度(線L221参照)については高い精度を得られたが、試験精度(線L222参照)については、図15に示す学習結果の場合よりも精度が低い。
図16の例では、最終的な訓練精度が99.97%であり、最終的な試験精度は16.97%であった。
 図16の場合と図15の場合とを比較すると、ニューラルネットワークシステム1では、浸透学習を行うことで、補助データを用いない運用時(試験時に)、一般的な多層パーセプトロン及び一般的な誤差逆伝播法のみによる学習よりも高い試験精度を達成できていることがわかる。この点で、ニューラルネットワークシステム1では、運用データをより高精度に処理できている。
 図17は、全画素のうち50%の画素の入替を行った場合に、学習時に主データのみを用いて一般的な多層パーセプトロン及び一般的な誤差逆伝播法のみにて学習を行ったときの学習結果の例を示す図である。図17のグラフの横軸は学習回数(エポック数)を示す。縦軸は、ニューラルネットワーク本体100の演算結果の精度を示す。具体的には、縦軸は、ニューラルネットワーク本体100による判定の正解率を示す。
 線L231は、訓練精度を示す。線L232は、試験精度を示す。
 図17の例でも、試験時には主データのみを用いている。
 図17の例では、最終的な訓練精度が99.97%であり、最終的な試験精度が83.90%であった。
 図17の場合と図15の場合とを比較すると、ニューラルネットワークシステム1では、浸透学習を行うことで、補助データを用いない運用時(試験時)に、補助データを用いずに学習を行う場合よりも、高い試験精度を達成できていることがわかる。この点で、ニューラルネットワークシステム1では、運用データをより高精度に処理できている。
 なお、事前学習及び浸透学習での学習状況によっては、ニューラルネットワークシステム1が、浸透学習に続けてさらに微調整の学習を行うようにしてもよい。微調整の学習では、非浸透率を0にしたままで、ニューラルネットワーク本体100全体で誤差逆伝播法による学習を行う。この微調整の学習では、浸透特徴についても書き換えを行う。以下では、浸透学習の後の微調整の学習をファインチューニング(Fine Tuning)と称する。
 ファインチューニングを行うか否かの判断基準として、浸透学習時に訓練精度が低下しているか否を用いることが考えられる。浸透学習時に訓練精度が低下している場合、浸透特徴が課題に十分フィットしていないことが要因として考えられる。そこで、ファインチューニングを行って浸透特徴をより課題にフィットさせることで、試験精度が上がることが期待される。
 ただし、過学習などが原因で試験精度の上昇が必ずしも運用時(試験時)の精度を意味するとは限らない。そのような場合も含めて判断を行うために、浸透学習時の訓練精度の曲線形状に基づいてファインチューニングの有効性を判断するようにしてもよい。あるいは、事前に検証データを設定した上で検証精度から有効性を判断するようにしてもよい。
 次に、図18を参照して、ニューラルネットワークシステム1の動作について説明する。図18は、学習時におけるニューラルネットワークシステム1の動作の例を示す図である。
 図18の例で、ニューラルネットワークシステム1は、事前学習を行う(ステップS111)。
 具体的には、ニューラルネットワークシステム1は、学習用データに示される正解を用いて誤差逆伝播法による学習を行う。
 ニューラルネットワークシステム1が全学習データを用いて事前学習を一通り行った後、学習制御部200が、第2部分ネットワーク130の最後層の出力と学習用データに示される正解との差分(誤差)が所定の誤差以内か否かを判定する(ステップS112)。
 所定の誤差以内ではないと学習制御部200が判定した場合(ステップS112:NO)、処理がステップS111に戻る。
 一方、所定の誤差以内であると学習制御部200が判定した場合(ステップS112:YES)、浸透特徴記憶部210が浸透特徴を記憶しておき(ステップS121)、ニューラルネットワークシステム1は、浸透学習を行う(ステップS122)。
 ニューラルネットワークシステム1が全学習データを用いて浸透学習を一通り行った後、学習制御部200が、第1部分ネットワーク120の最後層の出力と浸透特徴との差分(誤差)が所定の誤差以内か否かを判定する(ステップS123)。
 所定の誤差以内ではないと学習制御部200が判定した場合(ステップS123:NO)、処理がステップS122に戻る。
 一方、所定の誤差以内であると判定した場合(ステップS123:YES)、学習制御部200は、ファインチューニングを行うか否かを判定する(ステップS131)。例えば、学習制御部200は、浸透学習時に訓練精度が所定の基準よりも大きく低下している場合にファインチューニングを行うと判定する。あるいは、ユーザが、ニューラルネットワークシステム1にファインチューニングを行わせるか否かを、過学習しやすさを基準に決定し、ニューラルネットワークシステム1に対して指示を行うようにしてもよい。この場合、学習制御部200は、ユーザの指示に従って、ファインチューニングを行うか否かを判定する。
 ファインチューニングを行わないと学習制御部200が判定した場合(ステップS131:NO)、ニューラルネットワークシステム1は、図18の処理を終了する。
 一方、ファインチューニングを行うと学習制御部200が判定した場合(ステップS131:YES)、ニューラルネットワークシステム1は、ファインチューニングを行う(ステップS141)。ニューラルネットワークシステム1が、予め定められている回数だけファインチューニングを行うようにしてもよい。あるいは、ニューラルネットワークシステム1が、第2部分ネットワーク130の最後層の出力と学習用データに示される正解との差分(誤差)が所定の誤差以内になるまでファインチューニングを行うようにしてもよい。
 ステップS141の後、ニューラルネットワークシステム1は、図18の処理を終了する。
 なお、実施形態に係るニューラルネットワークシステムの構成は、図4に示すものに限定されない。
 図19は、実施形態に係るニューラルネットワークシステムの変形例を示す図である。
 図19に示すニューラルネットワークシステム2は、図4に示されるニューラルネットワークシステム1の構成に加えて、第3部分ネットワーク140を備えている。それ以外は、ニューラルネットワークシステム2は、ニューラルネットワークシステム1と同様である。
 第3部分ネットワーク140は、主データの入力を受けて学習及び運用時の演算を行い、演算結果を第2部分ネットワーク130へ出力する。
 第3部分ネットワークの構造は、既存のニューラルネットワークと同様の構造であってもよい。あるいは、第3部分ネットワークがノードを持たず、主入力層111のノードから第2部分ネットワーク130のノードへの枝で構成されていてもよい。
<第2実施形態>
 第2実施形態では、第1実施形態の場合よりもニューラルネットワーク本体100の構成を一般化した例について説明する。
 図20は、第2実施形態に係るニューラルネットワークシステムの機能構成の例を示す図である。図20に示す構成で、ニューラルネットワークシステム3は、入力層110と、スイッチャー部240と、連結部250と、組み合わせ部260と、第1部分ネットワーク群320と、第2部分ネットワーク群330と、第3部分ネットワーク群340とを備える。
 入力層110は、主入力層111と、補助入力層112とを備える。第1部分ネットワーク群320は、k個(kはk≧1の整数)の第1部分ネットワーク120を備える。図20では、これらk個の第1部分ネットワーク120に、120-1から120-kの符号を付している。第2部分ネットワーク群330は、m個(mはm≧1の整数)の第2部分ネットワーク130を備える。図20では、これらm個の第2部分ネットワーク130に、130-1から130-mの符号を付している。第3部分ネットワーク群340は、n個(nはn≧1の整数)の第3部分ネットワーク140を備える。図20では、これらn個の第3部分ネットワーク140に、140-1から140-nの符号を付している。
 入力層110、第1部分ネットワーク群320、第2部分ネットワーク群330、および、第3部分ネットワーク群340が、ニューラルネットワーク本体100に構成されていてもよい。スイッチャー部240、連結部250、および、組み合わせ部260が、学習制御部200に構成されていてもよい。
 図19に示すニューラルネットワークシステム2と、図20に示すニューラルネットワークシステム3とでは、第1部分ネットワーク120、第2部分ネットワーク130および第3部分ネットワーク140の個数が異なる。図19に示すニューラルネットワークシステム2は、第1部分ネットワーク、第2部分ネットワークおよび第3部分ネットワークを1つずつ備える。一方、図20に示すニューラルネットワークシステム3は、」が第1部分ネットワーク、第2部分ネットワークおよび第3部分ネットワークの何れについても、複数備えていてもよい。
 また、ニューラルネットワークシステム3では、主入力層のノードおよび補助入力層のノードが、それぞれグループ分けされている。連結部250は、事前の設定に基づいて、主データのグループ毎、および、非浸透率を乗算された補助データのグループ毎に、第1部分ネットワーク120-1から120-kのうち、事前設定で決められた第1部分ネットワーク120へ出力する。
 組み合わせ部260は、事前の設定に基づいて、第1部分ネットワーク120の各々の出力、および、第3部分ネットワーク140の各々の出力を、第2部分ネットワーク130-1から130-mのうち、事前設定で決められた第2部分ネットワーク130へ出力する。
 それ以外の点については、ニューラルネットワークシステム3は、ニューラルネットワークシステム2の場合と同様である。
 ニューラルネットワークシステム3の構成によれば、相関性の低いデータの入力による学習精度の低下を排除できる。
 例えば、ニューラルネットワークシステム3が、自動車からのセンシングデータの入力を受けて機械学習を行う場合について考える。この場合、タイヤの向きとハンドルの角度との間には相関関係がある。一方、タイヤの向きとアクセルの踏み込み度合いとの間には、通常、相関関係はない。第1部分ネットワークに全ての補助データを入力する場合、相関性の低い補助データの影響を受けて学習精度が低下してしまう可能性がある。
 そこで、主データと補助データとの相関関係が予めわかっている場合、連結部250の設定により、補助データを選択的に第1部分ネットワークに入力する。また、組み合わせ部260の設定により、第1部分ネットワークによる浸透特徴を選択的に第2部分ネットワークに入力する。これにより、第1部分ネットワークの各々および第2部分ネットワークの各々への、相関性の低いデータの入力を除外することができ、この点で、ニューラルネットワークシステム3は精度よく機械学習を行うことができる。
 第2実施形態のニューラルネットワークシステム3に対しても、第1実施形態の場合と同様のオプションを適用可能である。
 第1実施形態の場合と同様、スイッチャー部240が、補助入力層112からの各出力に対して同じ値の非浸透率を乗算するようにしてもよいし、補助入力層112からの出力毎に非浸透率の値を変更可能であってもよい。事前学習から浸透学習に切り替わった後、スイッチャー部240が、補助入力層112から複数出力される信号に対して、第1部分ネットワーク120に入力される信号の数を徐々に減少させる非浸透率を乗算するようにしてもよい。
 第3部分ネットワークの構造は、既存のニューラルネットワークと同様の構造であってもよい。あるいは、第3部分ネットワークがノードを持たず、主入力層111のノードから第2部分ネットワーク130のノードへの枝で構成されていてもよい。あるいは、ニューラルネットワークシステム1の構成と同様、ニューラルネットワークシステム3が第3部分ネットワーク140を含まない構成としてもよい。
 第1実施形態に係るニューラルネットワークシステム1、2は、いずれも、ニューラルネットワークシステム3の例に該当する。
 ニューラルネットワークシステム3が、第1部分ネットワークおよび第2部分ネットワークを1つずつ備え、かつ、第3部分ネットワークを備えない場合、ニューラルネットワークシステム1の構成となる。
 この場合、主入力層のノード、補助入力層のノードの何れもグループ化は行われない。従って、主入力層のノードのグループの数、補助入力層のノードのグループの数は、何れも1である。また、組み合わせ部260は、第1部分ネットワーク120の最後層の全ノードの出力を、第2部分ネットワークの最前層の全ノードに入力する。
 ニューラルネットワークシステム3が、第1部分ネットワーク、第2部分ネットワーク、および第3部分ネットワークを1つずつ備える場合、ニューラルネットワークシステム2の構成となる。
 この場合も、主入力層のノード、補助入力層のノードの何れもグループ化は行われない。従って、主入力層のノードのグループの数、補助入力層のノードのグループの数は、何れも1である。また、組み合わせ部260は、第1部分ネットワーク120の最後層の全ノードの出力を、第2部分ネットワークの最前層の全ノードに入力する。
 主データのノイズが比較的少ないなど、主データの状態が比較的良好である場合、補助データを用いない第3部分ネットワークおよび第2部分ネットワークの経路を学習および運用におけるメインの経路とし、補助データを用いる第1部分ネットワークを用いてメインの経路のデータを補正することが考えられる。
 一方、主データのノイズが比較的多いなど、主データの状態が比較的悪い場合、第3部分ネットワークがない構成の方が良好な結果を得られる場合がある。
 ニューラルネットワークシステム1、2、3の何れにおいても、部分ネットワークの層数および各層のノード数は、特定のものに限定されない。ここでいう部分ネットワークは、第1部分ネットワーク120、第2部分ネットワーク130、および、第3部分ネットワーク140の総称である。
 例えば図3の学習制御部200が、部分ネットワーク毎の層数および各層のノード数を、例えば遺伝的アルゴリズム(Genetic Algorithm;GA)等の進化計算法(Evolutionary Computation)を用いて決定するようにしてもよい。
 以上のように、主入力層111は、学習時及び運用時共に主データを取得する。補助入力層112は、学習時及び運用時のうち学習時にのみ補助データを取得する。第1部分ネットワーク120は、主データ及び補助データの両方を用いて学習を行った後、主データ及び補助データのうち主データのみを用いて、主データ及び補助データの両方を用いた場合と同じ演算結果を算出するように学習を行う。第2部分ネットワーク130は、第1部分ネットワーク120からの出力を受けて学習及び運用時の演算を行う。
 このように、主データ及び補助データのうち主データのみを用いる場合に、第1部分ネットワーク120が、主データ及び補助データの両方を用いた場合と同じ演算結果を算出するように学習を行うことで、ニューラルネットワーク本体100全体としても、主データ及び補助データの両方を用いた場合と同じ演算結果を算出することが期待される。ニューラルネットワーク本体100が、主データ及び補助データのうち主データのみが得られる場合に、主データ及び補助データの両方が得られる場合と同じ演算結果を出力することで、主データ及び補助データの両方が得られる場合と同じ精度で演算を行うことができる。ニューラルネットワークシステム1によれば、この点で、学習時に得られるデータのうち一部のデータしか、運用時には得られない場合にも運用データをより高精度に処理できる。
 また、スイッチャー部240は、補助入力層112から第1部分ネットワーク120への出力(補助データ)に非浸透率を乗算する。この乗算により、スイッチャー部240は、学習に対する補助データの影響度を調整する。
 非浸透率の値を0にすることで、ニューラルネットワークシステム1は、主データ及び補助データのうち主データのみを用いて浸透学習を行うことができる。
 また、スイッチャー部240は、学習時に、補助入力層112から第1部分ネットワーク120への出力(補助データ)の、学習に対する影響度を徐々に小さくする。
 これにより、ニューラルネットワーク本体100の最適化における探索空間が急変して事前学習の結果が浸透学習に十分に生かされないといった事態を回避することができる。
 また、スイッチャー部240は、学習時に、補助入力層112から第1部分ネットワーク120への出力の値を徐々に小さくする非浸透率を乗算する。
 これにより、ニューラルネットワークシステム1は、非浸透率の値を徐々に小さくするという比較的簡単な処理で、ニューラルネットワーク本体100の最適化における探索空間が急変して事前学習の結果が浸透学習に十分に生かされないといった事態を回避することができる。
 また、スイッチャー部240は、学習時に、補助入力層から複数出力される信号に対して、第1部分ネットワーク120に入力される信号の数を徐々に減少させる非浸透率を乗算する。
 これにより、ニューラルネットワークシステム1は、非浸透率の値を徐々に小さくする場合と同様、ニューラルネットワーク本体100の最適化における探索空間が急変して事前学習の結果が浸透学習に十分に生かされないといった事態を回避することができる。
 また、第1部分ネットワーク120が、主データ及び補助データのうち主データのみを用いて、主データ及び補助データの両方を用いた場合と同じ演算結果を算出するように浸透学習を行った後、さらに、第1部分ネットワーク120が、主データ及び補助データのうち主データのみを受ける状態で、第2部分ネットワーク130が学習データにおける正解を算出するように、第1部分ネットワーク120及び第2部分ネットワーク130が学習を行うファインチューニングを行う。
 これにより、浸透学習で得られた浸透特徴が課題に十分フィットしていない場合に、ファインチューニングにて浸透特徴を課題によりフィットさせることができ、運用時のニューラルネットワーク本体100の演算結果の精度を高めることができる。
 図21は、少なくとも1つの実施形態に係るコンピュータの構成例を示す概略ブロック図である。図21の構成で、コンピュータ400は、CPU(Central Processing Unit、中央処理装置)401、主記憶装置402、補助記憶装置403及びインタフェース404を備える。
 ニューラルネットワーク本体100、学習制御部200は、いずれもコンピュータ400を用いて構成される。
 ニューラルネットワーク本体100がコンピュータ400に実装される場合、ニューラルネットワーク本体100の各部の動作は、プログラムの形式で補助記憶装置に記憶されている。CPU401は、プログラムを補助記憶装置403から読み出して主記憶装置402に展開し、このプログラムに従ってニューラルネットワーク本体100の処理を実行する。
 学習制御部200がコンピュータに実装される場合、学習制御部200の各部の動作は、プログラムの形式で補助記憶装置に記憶されている。CPU401は、プログラムを補助記憶装置403から読み出して主記憶装置402に展開し、このプログラムに従って学習制御部200の処理を実行する。
 ニューラルネットワークシステム1、2または3の全体が、1つのコンピュータ400に実装される場合、ニューラルネットワークシステム1、2または3の各部の動作は、プログラムの形式で補助記憶装置に記憶されている。CPU401は、プログラムを補助記憶装置403から読み出して主記憶装置402に展開し、このプログラムに従ってニューラルネットワークシステム1、2または3の処理を実行する。
 ニューラルネットワークシステム1が行う演算及び制御の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することで各部の処理を行ってもよい。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
 また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
 以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
 本発明の実施形態は、ニューラルネットワークシステム、機械学習方法及びプログラムに適用してもよい。
 1 ニューラルネットワークシステム
 100、101 ニューラルネットワーク本体
 110 入力層
 111 主入力層
 112 補助入力層
 120、120-1、120-2、・・・、120-l 第1部分ネットワーク
 130、130-1、130-2、・・・、130-m 第2部分ネットワーク
 140、140-1、140-2、・・・、140-n 第3部分ネットワーク
 200 学習制御部
 210 浸透特徴記憶部
 220 誤差演算部
 230 結合荷重調整部
 240 スイッチャー部
 250 連結部
 260 組み合わせ部

Claims (8)

  1.  学習時及び運用時共にデータを取得する主入力層と、
     前記学習時及び前記運用時のうち前記学習時にのみデータを取得する補助入力層と、
     前記主入力層及び前記補助入力層の両方からの出力を用いて学習を行った後、前記主入力層及び前記補助入力層のうち前記主入力層のみからの出力を用いて、前記主入力層及び前記補助入力層の両方からの出力を用いた場合と同じ演算結果を算出するように学習を行う第1部分ネットワークと、
     前記第1部分ネットワークからの出力を受けて学習及び運用時の演算を行う第2部分ネットワークと、
     を備えるニューラルネットワークシステム。
  2.  前記補助入力層から前記第1部分ネットワークへの出力に、学習に対する影響度を調整するための係数である非浸透率を乗算するスイッチャー部を備える、請求項1に記載のニューラルネットワークシステム。
  3.  前記スイッチャー部は、前記学習時に、前記補助入力層から前記第1部分ネットワークへの出力の、学習に対する影響度を徐々に小さくする、請求項2に記載のニューラルネットワークシステム。
  4.  前記スイッチャー部は、前記学習時に、前記補助入力層から前記第1部分ネットワークへの出力の値を徐々に小さくする前記非浸透率を乗算する、
     請求項3に記載のニューラルネットワークシステム。
  5.  前記スイッチャー部は、前記学習時に、前記補助入力層から複数出力される信号に対して、前記第1部分ネットワークに入力される信号の数を徐々に減少させる前記非浸透率を乗算する
     請求項3または請求項4に記載のニューラルネットワークシステム。
  6.  前記第1部分ネットワークが、前記主入力層及び前記補助入力層のうち前記主入力層のみからの出力を用いて、前記主入力層及び前記補助入力層の両方からの出力を用いた場合と同じ演算結果を算出するように学習を行った後、さらに、前記第1部分ネットワークが、前記主入力層及び前記補助入力層のうち前記主入力層のみからの出力を受ける状態で、前記第2部分ネットワークが学習データにおける正解を算出するように、前記第1部分ネットワーク及び前記第2部分ネットワークが学習を行う、請求項1から5のいずれか1項に記載のニューラルネットワークシステム。
  7.  学習時及び運用時共にデータを取得する主入力層と、
     前記学習時及び前記運用時のうち前記学習時にのみデータを取得する補助入力層と、
     第1部分ネットワークと、
     前記第1部分ネットワークからの出力を受ける第2部分ネットワークと、
     を備えるニューラルネットワークシステムに、
     前記第1部分ネットワークが、前記主入力層及び前記補助入力層の両方からの出力を用いて学習を行う事前学習と、
     前記事前学習の後、前記第1部分ネットワークが、前記主入力層及び前記補助入力層のうち前記主入力層のみからの出力を用いて、前記主入力層及び前記補助入力層の両方からの出力を用いた場合と同じ演算結果を算出するように学習を行う浸透学習と、
     を実行させることを含む機械学習方法。
  8.  コンピュータに、
     学習時及び運用時共にデータを取得する主入力層と、
     前記学習時及び前記運用時のうち前記学習時にのみデータを取得する補助入力層と、
     第1部分ネットワークと、
     前記第1部分ネットワークからの出力を受ける第2部分ネットワークと、
     を備えるニューラルネットワークシステムにおける、
     前記第1部分ネットワークが、前記主入力層及び前記補助入力層の両方からの出力を用いて学習を行う事前学習と、
     前記事前学習の後、前記第1部分ネットワークが、前記主入力層及び前記補助入力層のうち前記主入力層のみからの出力を用いて、前記主入力層及び前記補助入力層の両方からの出力を用いた場合と同じ演算結果を算出するように学習を行う浸透学習と、
     を実行させるためのプログラム。
PCT/JP2018/028633 2017-08-08 2018-07-31 ニューラルネットワークシステム、機械学習方法及びプログラム WO2019031305A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019535124A JP7044398B2 (ja) 2017-08-08 2018-07-31 ニューラルネットワークシステム、機械学習方法及びプログラム
US16/634,894 US11604983B2 (en) 2017-08-08 2018-07-31 Neural network system, machine learning method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-153613 2017-08-08
JP2017153613 2017-08-08

Publications (1)

Publication Number Publication Date
WO2019031305A1 true WO2019031305A1 (ja) 2019-02-14

Family

ID=65271996

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/028633 WO2019031305A1 (ja) 2017-08-08 2018-07-31 ニューラルネットワークシステム、機械学習方法及びプログラム

Country Status (3)

Country Link
US (1) US11604983B2 (ja)
JP (1) JP7044398B2 (ja)
WO (1) WO2019031305A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022521372A (ja) * 2020-01-21 2022-04-07 ベイジン センスタイム テクノロジー ディベロップメント カンパニー リミテッド ネットワークトレーニング方法及び装置、画像処理方法及び装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130138436A1 (en) * 2011-11-26 2013-05-30 Microsoft Corporation Discriminative pretraining of deep neural networks
JP2016143094A (ja) * 2015-01-29 2016-08-08 パナソニックIpマネジメント株式会社 転移学習装置、転移学習システム、転移学習方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05232986A (ja) 1992-02-21 1993-09-10 Hitachi Ltd 音声信号用前処理方法
JP5232986B2 (ja) 2008-04-11 2013-07-10 大塚化学株式会社 ポリ乳酸用改質剤およびポリ乳酸樹脂組成物。
WO2015001544A2 (en) * 2013-07-01 2015-01-08 Agent Video Intelligence Ltd. System and method for abnormality detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130138436A1 (en) * 2011-11-26 2013-05-30 Microsoft Corporation Discriminative pretraining of deep neural networks
JP2016143094A (ja) * 2015-01-29 2016-08-08 パナソニックIpマネジメント株式会社 転移学習装置、転移学習システム、転移学習方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022521372A (ja) * 2020-01-21 2022-04-07 ベイジン センスタイム テクノロジー ディベロップメント カンパニー リミテッド ネットワークトレーニング方法及び装置、画像処理方法及び装置

Also Published As

Publication number Publication date
JPWO2019031305A1 (ja) 2020-07-02
US20200210828A1 (en) 2020-07-02
US11604983B2 (en) 2023-03-14
JP7044398B2 (ja) 2022-03-30

Similar Documents

Publication Publication Date Title
Mandelbaum et al. Distance-based confidence score for neural network classifiers
US11023806B2 (en) Learning apparatus, identifying apparatus, learning and identifying system, and recording medium
GB2601929A (en) A machine-learning based architecture search method for a neural network
US11449734B2 (en) Neural network reduction device, neural network reduction method, and storage medium
US10635975B2 (en) Method and apparatus for machine learning
US10935939B2 (en) Machine learning device, servo control apparatus, servo control system, and machine learning method
US11514307B2 (en) Learning apparatus, learning method, estimation apparatus, estimation method, and computer-readable storage medium
WO2018235448A1 (ja) 多層ニューラルネットワークのニューロンの出力レベル調整方法
US20200234467A1 (en) Camera self-calibration network
JP2021507421A (ja) システム強化学習方法及び装置、電子機器並びにコンピュータ記憶媒体
US10825445B2 (en) Method and apparatus for training acoustic model
CN110651277A (zh) 计算机实现的方法、计算机实现的诊断方法、图像分类设备、以及计算机程序产品
US9292801B2 (en) Sparse variable optimization device, sparse variable optimization method, and sparse variable optimization program
US11386288B2 (en) Movement state recognition model training device, movement state recognition device, methods and programs therefor
JP2014102578A (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
Xu et al. Learning algorithms in quaternion neural networks using ghr calculus
WO2019031305A1 (ja) ニューラルネットワークシステム、機械学習方法及びプログラム
US11341413B2 (en) Leveraging class information to initialize a neural network language model
Drude et al. On the Appropriateness of Complex-Valued Neural Networks for Speech Enhancement.
JP2019164618A (ja) 信号処理装置、信号処理方法およびプログラム
Chang et al. Structure Optimization of Neural Networks with L 1 Regularization on Gates
WO2020065908A1 (ja) パターン認識装置、パターン認識方法およびパターン認識プログラム
May et al. Learning in fully recurrent neural networks by approaching tangent planes to constraint surfaces
Agrawal et al. Deep variational inference without pixel-wise reconstruction
JP7310927B2 (ja) 物体追跡装置、物体追跡方法及び記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18843966

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019535124

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18843966

Country of ref document: EP

Kind code of ref document: A1