WO2022054209A1 - ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム - Google Patents

ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム Download PDF

Info

Publication number
WO2022054209A1
WO2022054209A1 PCT/JP2020/034354 JP2020034354W WO2022054209A1 WO 2022054209 A1 WO2022054209 A1 WO 2022054209A1 JP 2020034354 W JP2020034354 W JP 2020034354W WO 2022054209 A1 WO2022054209 A1 WO 2022054209A1
Authority
WO
WIPO (PCT)
Prior art keywords
hyperparameter
learning
post
neural network
sets
Prior art date
Application number
PCT/JP2020/034354
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 EP20953274.6A priority Critical patent/EP4148623A4/en
Priority to CN202080101959.8A priority patent/CN115917558A/zh
Priority to US18/008,500 priority patent/US20230214668A1/en
Priority to JP2022548325A priority patent/JP7359493B2/ja
Priority to PCT/JP2020/034354 priority patent/WO2022054209A1/ja
Publication of WO2022054209A1 publication Critical patent/WO2022054209A1/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
    • G06N3/0985Hyperparameter optimisation; Meta-learning; Learning-to-learn
    • 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/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Definitions

  • the present invention relates to a hyperparameter adjustment device, a non-temporary recording medium on which a hyperparameter adjustment program is recorded, and a hyperparameter adjustment program.
  • a neural network (hereinafter, may be referred to as "NN (Neural Network)" in this specification) is known.
  • the NN is a model configured to imitate a brain function, and has a configuration in which a plurality of layers including one or a plurality of nodes called neurons are connected.
  • the NN estimates and outputs the output data corresponding to the input data based on the input data.
  • the NN can output highly accurate output data corresponding to the unknown input data.
  • the parameters of the NN are adjusted (changed).
  • NN parameters that are changed by the learning process include, for example, weights defined for edges connecting neurons and biases defined for each neuron.
  • hyperparameters there are parameters that are not changed by the learning process in addition to the above-mentioned weights and biases.
  • the hyper parameters are not limited to this, but are, for example, the number of epochs (the number of times one training data is repeatedly used) and the number of hidden layers (other than the input layer on the input side and the output layer on the output side). Number of layers), number of hidden layer neurons (number of neurons in each hidden layer), number of dropouts (number of neurons that do not adjust weights or biases in the learning process), or number of batches (multiple learning data) The number of training data contained in the subset when divided into subsets of). It can be said that hyperparameters are parameters that represent the structure of NN or the learning method.
  • the output accuracy of the NN that has been sufficiently learned and the learning efficiency of the NN fluctuate according to the hyperparameters of the NN. Have been. Therefore, it is desirable that the NN administrator or user sets the hyperparameters of the NN to appropriate values. It should be noted that the appropriate hyperparameters are generally different depending on the analysis target of the NN, that is, the input data of the NN.
  • an appropriate hyperparameter set of NN (a set of a plurality of values for a plurality of hyperparameter items) is specified by using an adjustment process.
  • a genetic algorithm also simply referred to as "GA (Genetic Algorithm)
  • G Genetic Algorithm
  • an optimal NN is optimized by a genetic algorithm in which a hyperparameter set of NN is taken as an individual and a value corresponding to an output error of a trained NN in which the hyperparameter set is set is used as a fitness. It is disclosed to specify a hyperparameter set.
  • Patent Document 2 it is possible to specify the optimum structure of an NN by a genetic algorithm in which the structure of the NN is an individual and the value corresponding to the output error of the learned NN having the structure is the fitness. It has been disclosed.
  • Non-Patent Document 1 discloses that the learning data used in the NN is specified by the genetic algorithm as a technique for combining the NN and the genetic algorithm. ing.
  • Non-Patent Document 2 discloses that a genetic algorithm using a set of weights and biases of NN as an individual is used in order to avoid falling into a local solution when NN learns.
  • FIG. 8 is a conceptual diagram showing a state of adjustment processing of a hyperparameter set of NN using a conventional genetic algorithm.
  • the individual of the genetic algorithm is a hyperparameter set of NN.
  • each gene constituting the individual is each hyperparameter constituting the hyperparameter set.
  • the fitness (also called fitness) of each individual becomes a value according to the performance of the trained NN in which each hyperparameter set for each individual is set.
  • the performance of the NN is, for example, the output error of the NN (the difference between the output data of the NN for a certain input data and the true data corresponding to the input data (that is, the correct answer data)), and the input data is input to the NN.
  • the analysis time which is the time between the time when the output data is output and the time when the output data is output, or a combination thereof.
  • the performance of a sufficiently trained NN is referred to as “post-learning performance”
  • the output error of a sufficiently trained NN among the post-learning performance is sufficiently referred to as "post-learning error”.
  • the analysis time of the learned NN will be referred to as “post-learning analysis time”.
  • Fitness to each individual may be determined based on multiple post-learning performances of multiple trained NNs with the same hyperparameters. For example, the fitness for each individual may be the average value of a plurality of post-learning errors for the same hyperparameters, or the average value of a plurality of post-learning analysis times for the same hyperparameters.
  • N individuals that is, N hyperparameter sets of the first generation are prepared as the initial population.
  • the value of each hyperparameter included in the N hyperparameter sets of the first generation may be randomly selected.
  • the nth hyperparameter set of the mth generation is described as "hyperparameter set mn”.
  • the second hyperparameter set of the first generation is described as "hyperparameter set 1-2".
  • the fitness of each of the N hyperparameter sets of the first generation is calculated.
  • the fitness of each hyperparameter set is calculated based on the post-learning performance of the NN in which the hyperparameter set is set.
  • the post-learning error is shown as the post-learning performance. Therefore, in order to calculate the fitness for each hyperparameter set, it is necessary to sufficiently learn each of the N NNs for which each hyperparameter set is set.
  • each of the N NNs is P. It is necessary to train once.
  • N hyperparameter sets of the second generation are generated.
  • the method of acquiring the N hyperparameter sets of the second generation for example, among the N hyperparameter sets of the first generation, elite storage that leaves the hyperparameter set with high fitness, selected from the first generation.
  • breeding that exchanges some hyperparameters of each of the two hyperparameter sets, and mutation that randomly changes the hyperparameters included in the first generation hyperparameter sets.
  • this method the same method as the conventional genetic algorithm can be adopted, and therefore detailed description thereof will be omitted here.
  • the fitness of each of the N second-generation hyperparameter sets is calculated.
  • the fitness of each hyperparameter set is determined based on the post-learning performance of P trained NNs with the same hyperparameters, it is necessary to train N NNs P times each. be.
  • N hyperparameter sets of the third generation are generated. After that, the same process as above is repeated while advancing the generation.
  • the hyperparameters of NN are adjusted, and eventually the hyperparameter set of NN with high fitness, that is, high post-learning performance (ideally optimal). Hyperparameter set) can be obtained.
  • the genetic algorithm is executed until a predetermined termination condition is met.
  • the predetermined end condition is, for example, that the processing up to a predetermined generation is completed, that an individual exceeding a predetermined fitness is generated, or that the average fitness of N individuals of a predetermined generation is predetermined. It has exceeded the threshold, and so on.
  • G ⁇ N NNs are used. It means that we need to learn enough. Furthermore, if the fitness of each hyperparameter set is determined based on the post-learning performance of P trained NNs with the same hyperparameters set, G ⁇ N NNs are trained P times. That is, it requires the same amount of learning processing as enough to train G ⁇ N ⁇ P NNs. In order to sufficiently learn G ⁇ N NNs or G ⁇ N ⁇ P NNs, the processing amount or processing time for learning becomes considerably enormous.
  • the post-learning error of the plurality of NNs is also calculated. In order to acquire it, it is necessary to fully train each NN.
  • An object of the hyperparameter adjustment device disclosed in the present specification is to reduce the processing amount or processing time when adjusting the hyperparameter set of the neural network by the adjustment processing.
  • the hyperparameter adjustment device disclosed in the present specification takes the hyperparameter set of the first neural network as an input, and outputs the post-learning performance which is the performance of the trained first neural network to which the hyperparameter set is set.
  • a learning processing unit that trains the learner so as to do so, and a plurality of hyperparameter sets obtained by inputting a plurality of hyperparameter sets of the first neural network into the trained learner, respectively, are set. It is characterized by comprising a hyperparameter adjustment unit for adjusting a hyperparameter set of the first neural network based on the post-learning performance of the plurality of first neural networks.
  • the hyperparameter adjustment unit is obtained by inputting a plurality of hyperparameter sets of the first neural network into the trained learner, respectively, and a plurality of the first neurals in which the plurality of hyperparameter sets are set. It is advisable to adjust the hyperparameter set of the first neural network by a heuristic search method using the post-learning performance of the network.
  • the hyperparameter adjustment unit uses the hyperparameter set of the first neural network as an individual, and inputs the hyperparameter set to the trained learner, and the hyperparameter set obtained by inputting the hyperparameter set is set. It is preferable that it is a genetic algorithm processing unit that adjusts the hyperparameter set of the first neural network by a genetic algorithm having a value corresponding to the post-learning performance of the 1 neural network as an adaptability.
  • the learner may be configured by a second neural network different from the first neural network.
  • the recording medium disclosed in the present specification uses a computer as an input to the hyperparameter set of the first neural network, and is the performance of the trained first neural network to which the hyperparameter set is set after learning.
  • the learning processing unit that trains the learner so as to output the performance, and the plurality of hyperparameter sets obtained by inputting the plurality of hyperparameter sets of the first neural network into the trained learner, respectively.
  • a computer that records a hyperparameter adjustment program for functioning as a hyperparameter adjustment unit that adjusts the hyperparameter set of the first neural network based on the post-learning performance of the plurality of set first neural networks. It is a readable non-temporary recording medium.
  • the hyperparameter adjustment program disclosed in the present specification is the performance of the trained first neural network in which the hyperparameter set of the first neural network is input to the computer and the hyperparameter set is set.
  • a learning processing unit that trains a learner so as to output post-learning performance, and a plurality of hyperparameter sets obtained by inputting a plurality of hyperparameter sets of the first neural network into the trained learner, respectively.
  • it functions as a hyperparameter adjustment unit that adjusts the hyperparameter set of the first neural network based on the post-learning performance of the plurality of first neural networks set in each.
  • the hyperparameter adjustment device disclosed in the present specification, it is possible to reduce the processing amount or processing time when adjusting the hyperparameter set of the neural network by the adjustment processing.
  • FIG. 1 is a schematic configuration diagram of an analysis device 10 as a hyperparameter adjustment device according to this embodiment.
  • the analysis device 10 according to the present embodiment is configured by a server computer.
  • any device may be used as the analysis device 10 as long as the functions described below can be exhibited.
  • the analysis device 10 may be a personal computer or the like.
  • the input / output interface 12 is an interface for inputting various information to the analysis device 10 or an interface for outputting various information from the analysis device 10.
  • the input / output interface 12 may be, for example, a network interface composed of a network adapter or the like. According to the network interface, the analysis device 10 can communicate with other devices, receive various information from the other devices, and transmit various information to the other devices. ..
  • the input / output interface 12 may be an input interface composed of, for example, a keyboard, a mouse, a touch panel, or the like. According to the input interface, the user can input various information to the analysis device 10.
  • the input / output interface 12 may be, for example, an output interface composed of a display or a speaker composed of a liquid crystal panel or the like. According to the output interface, the analysis device 10 can output various information to the user and the like.
  • the memory 14 includes, for example, an HHD (Hard Disk Drive), an SSD (Solid State Drive), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like.
  • the memory 14 may be provided separately from the processor 20 described later, or at least a part thereof may be provided inside the processor 20.
  • the memory 14 stores an analysis program as a hyperparameter adjustment program for operating each part of the analysis device 10.
  • the analysis program can be recorded on a non-temporary recording medium that can be read by a computer (analysis device 10 in this embodiment). In that case, the analysis device 10 can read and execute the analysis program from the recording medium.
  • the first NN 16 and the second NN 18 as a learning device are stored in the memory 14.
  • the substance of the first NN 16 is a program that defines the structure of the first NN 16, various parameters related to the first NN 16, and a processing execution program for processing the input data. Therefore, storing the first NN 16 in the memory 14 means that the program and various parameters are stored in the memory 14. The same applies to the second NN18.
  • the first NN 16 takes the analysis target data of the analysis device 10 as an input, and outputs the output data corresponding to the analysis target data.
  • the data to be analyzed may be anything, and data from various fields can be used. That is, the first NN16 can be used in a wide range of fields.
  • the hyperparameter set of the first NN16 is the hyperparameter set to be adjusted by the analysis device 10 as the hyperparameter adjustment device.
  • the hyperparameters of the first NN16 include, but are not limited to, the number of epochs, the number of hidden layers, the number of hidden layer neurons, the number of dropouts, the number of batches, and the like.
  • the memory 14 stores a plurality of first NN16s having different hyperparameter sets.
  • FIG. 2 is a conceptual diagram showing an example of the structure of the first NN16.
  • the first NN 16 is configured to include a plurality of layers. Specifically, it is configured to include an input layer located on the input side most, an output layer located on the output side most, and one or a plurality of hidden layers located between the input layer and the output layer.
  • Each layer is composed of one or more neurons (nodes) 16a.
  • each neuron 16a is fully connected, and one layer of neurons 16a and the next layer of all neurons 16a are connected by a plurality of edges 16b.
  • the first NN16 estimates and outputs the output data corresponding to the input data based on the input data.
  • the first NN16 is trained, whereby the accuracy of the output data with respect to the input data can be improved.
  • the first NN16 can be learned by supervised learning.
  • the first NN 16 is learned using the learning data including the input data and the teacher data corresponding to the input data.
  • the input data in the training data is input to the first NN16, and the error back propagation method (back) is based on the error between the output data of the first NN16 for the input data and the teacher data included in the training data.
  • the weight defined for each edge 16b and the bias defined for each neuron 16a are changed by a method such as propagation).
  • the first NN16 may be learned by other methods such as unsupervised learning and reinforcement learning.
  • FIG. 3 is a conceptual diagram showing a post-learning error as the post-learning performance of the first NN16.
  • the first NN16 shown in FIG. 3 is a fully learned and learned one.
  • the error between the trained output data of the first NN16 with respect to the analysis target data that is, the input data of the first NN16
  • the true data (correct answer data) corresponding to the analysis target data is called a post-learning error.
  • the post-learning performance may be the post-learning analysis time, which is the time from the input of the analysis target data to the learned first NN16 to the output of the output data.
  • the post-learning performance indicating the performance of the trained first NN 16 is not limited to the post-learning error and the post-learning analysis time.
  • the second NN18 is an NN different from the first NN16, and is trained to input the hyperparameter set of the first NN16 and output the post-learning performance of the first NN16 to which the hyperparameter set is set. It is a learner. Specifically, the second NN18 is learned using the learning data including the hyperparameter set of the first NN16 and the post-learning performance (teacher data) of the first NN16 in which the hyperparameter set is set.
  • the post-learning performance as teacher data may be a combination of a plurality of evaluation values such as a combination of post-learning error and post-learning analysis time.
  • the structure of the second NN18 may be the same as that of the first NN18 (see FIG. 2). Of course, the hyperparameters of the second NN18 may be different from the hyperparameters of the first NN16.
  • the second NN18 is used as the learning device for predicting the post-learning performance of the first NN16, but the learning device is not limited to the NN.
  • a multiple regression model that performs multiple regression analysis may be used as the learner. The multiple regression analysis predicts the objective variable (here, the post-learning performance of the first NN16) with a plurality of explanatory variables (here, the hyperparameter set), and is expressed by the following equation.
  • y is an objective variable
  • x n is an explanatory variable (each x n corresponds to each hyperparameter of the first NN16)
  • b n is a coefficient of the explanatory variable x n
  • e is a constant. be.
  • the learned second NN18 is used in the hyperparameter adjustment process of the first NN16 by the genetic algorithm. Specifically, in the processing in each generation of the genetic algorithm, when calculating the post-learning performance of the first NN16 for calculating the fitness to the hyperparameter set of the first NN16 as an individual, the trained second NN18 is used. Used.
  • the processor 20 includes a general-purpose processing device (for example, a CPU (Central Processing Unit)), a dedicated processing device (for example, an ASIC (Application Specific Integrated Circuit)), an FPGA (Field Programmable Gate Array), a programmable logic device, or the like. ) Is included.
  • the processor 20 may be configured not by one processing device but by the cooperation of a plurality of processing devices that are physically separated from each other. As shown in FIG. 1, the processor 20 functions as a second NN parameter determination unit 22, a learning processing unit 24, a GA (genetic algorithm) processing unit 26, and an output unit 28 by an analysis program stored in the memory 14. Demonstrate.
  • the second NN parameter determination unit 22 as the learner parameter determination unit determines the hyperparameters (may be one parameter) of the learner that outputs the post-learning performance of the first NN 16.
  • the second NN parameter determination unit 22 determines the hyperparameter set of the second NN18.
  • the second NN parameter determination unit 22 determines the hyperparameters of the learner (in this embodiment, the hyperparameter set of the second NN18) that outputs the post-learning performance of the first NN16 in response to an instruction from the user. can do. Specifically, the second NN parameter determination unit 22 determines the hyperparameter set of the second NN 18 based on the hyperparameter information indicating the hyperparameter set acquired from the user by the input / output interface 12.
  • the network interface as the input / output interface 12 can receive the hyperparameter information indicating the hyperparameter set from the user terminal. Further, the user may input the hyperparameter set of the second NN 18 to the analysis device 10 by operating the input interface as the input / output interface 12.
  • an administrator of the analysis device 10 or the like prepares a plurality of hyperparameter sets of the second NN18 in advance, presents the plurality of hyperparameter sets to the user, and then presents the plurality of hyperparameter sets to the user.
  • the user may be made to select the hyperparameter set of the second NN18 to be used from the plurality of hyperparameter sets.
  • the network interface as the input / output interface 12 sends information indicating the plurality of hyperparameter sets to the user terminal, and displays the plurality of hyperparameter sets on the display of the user terminal. It can be displayed. Further, the output interface as the input / output interface 12 may output information indicating the plurality of hyperparameter sets to the user.
  • the second NN parameter determination unit 22 outputs the hyperparameters of the learner that outputs the post-learning performance of the first NN 16 according to the analysis target of the analysis device 10, that is, the analysis target data input to the first NN 16.
  • the hyperparameter set of the second NN18 can be determined.
  • the appropriate hyperparameter set may differ greatly depending on the analysis target data.
  • the input data of the second NN18 is the hyperparameter set of the first NN18
  • the output data is the post-learning performance of the first NN16, regardless of the analysis target data of the first NN18. Therefore, it can be said that the appropriate hyperparameter set of the second NN18 is less likely to change depending on the data to be analyzed of the first NN16 than that of the first NN16.
  • the optimum hyperparameter set of the second NN18 may also differ depending on the analysis target data of the first NN16, and in such a case, the hyperparameter of the second NN18 depends on the analysis target data input to the first NN16. It is effective to determine the set.
  • the hyperparameter set of the second NN18 used for the adjustment processing of the hyperparameter set of the first NN16 and the learned second NN18. It is stored as a database in the memory 14 in association with the output error. Then, the second NN parameter determination unit 22 acquires the type of the analysis target data to be input to the first NN 16 to be adjusted in the hyperparameter set, refers to the above database, and sets the type of the analysis target data. Of the corresponding hyperparameter sets of the second NN18, the one with a small output error may be determined as the hyperparameter set of the second NN18.
  • a plurality of hyperparameter sets having a small output error are specified, and the specified plurality of hyperparameter sets are presented to the user and selected by the user. You may let it.
  • the second NN parameter determination unit 22 outputs the post-learning performance of the first NN16 by Bayesian optimization, which has been conventionally used for the hyperparameter optimization process of the learner (this implementation).
  • the hyperparameter set of the second NN18 can be determined.
  • the learning processing unit 24 takes the hyperparameter set of the first NN16 as an input, and executes the learning process of learning the second NN18 so as to output the post-learning performance of the first NN16 in which the hyperparameter set is set.
  • the procedure of learning processing by the learning processing unit 24 will be described.
  • the learning processing unit 24 trains a plurality of first NN16s in which hyperparameter sets different from each other are set.
  • Each hyperparameter set set in the plurality of first NN16s may be set randomly.
  • the number of the plurality of first NN16s here is set so that the superiority in terms of the processing amount or processing time of the hyperparameter adjustment processing of the first NN16 is not lost as compared with the conventional method.
  • the GA processing unit 26 which will be described later, executes processing for G generations in a genetic algorithm and N hyperparameter sets are prepared as individuals of one generation, a plurality of second hyperparameter sets here.
  • the number of 1NN16 is less than G ⁇ N.
  • the GA processing unit 26 described later executes processing for G generations in the genetic algorithm, N hyperparameter sets are prepared as individuals of one generation, and the fitness of each hyperparameter set is the same.
  • the number of the plurality of first NN 16s here is set to a number less than G ⁇ N ⁇ P.
  • the learning processing unit 24 trains each first NN 16 using the learning data composed of the analysis target data and the data (teacher data) corresponding to the analysis target data. Specifically, the analysis target data is input to the first NN16, and the weight of each edge 16b of the first NN16 and each neuron 16a are based on the output error between the output data of the first NN16 and the teacher data with respect to the analysis target data. Change the bias of.
  • the learning processing unit 24 evaluates each first NN16 and calculates the post-learning performance of each first NN16. Specifically, when the post-learning error is used as the post-learning performance, as shown in FIG. 3, the analysis target data as the evaluation data for which the corresponding true data is known is input to the trained first NN16. , The post-learning error, which is the error between the output data of the first NN16 and the true data with respect to the analysis target data, is calculated.
  • the post-learning error may be an error rate between a plurality of output data and a plurality of true data when a plurality of analysis target data are input to one trained first NN16.
  • the post-learning analysis time may be the average value of a plurality of analysis times when the data to be analyzed a plurality of times are input to one first NN16.
  • the post-learning performance may be a numerical value expressing a plurality of evaluation values such as a combination of post-learning error and post-learning analysis time.
  • the post-learning error is shown as the post-learning performance.
  • the set of the hyperparameter set of the first NN16 and the corresponding post-learning performance becomes the learning data for learning the second NN18.
  • the post-learning performance corresponding to each hyperparameter set is the teacher data.
  • the number of training data is the number of a plurality of first NN16s that have been sufficiently trained.
  • the learning processing unit 24 sets the hyperparameters determined by the second NN parameter determination unit 22 as the hyperparameters of the second NN18.
  • the learning processing unit 24 trains the second NN 18 by using the set of the hyperparameter set of the first NN 16 and the corresponding post-learning performance as learning data. Specifically, as shown in FIG. 5, the hyperparameter set of the first NN16 is input to the second NN18, and the output data of the second NN18 for the hyperparameter set (this shows the post-learning performance of the first NN18). And, based on the difference from the teacher data, the weight of each edge of the second NN16 and the bias of each neuron are changed.
  • the second NN18 When the second NN18 is sufficiently learned by the learning process as described above, the second NN18 inputs the hyperparameter set of the first NN16, so that the analysis target data is stored in the first NN16 in which the hyperparameter set is set. It will be possible to predict and output the performance after learning at the time of input with high accuracy. That is, according to the learned second NN18, the post-learning performance of the first NN16 can be acquired without learning the first NN16 one by one.
  • the post-learning performance output by the second NN 18 is a value indicating the post-learning error of the first NN 16, the post-learning analysis time, or a combination of these evaluation values.
  • the learning processing unit 24 uses the learning data as shown in FIG. 4 to train a plurality of second NN18s having the same hyperparameter set, and prepares a plurality of trained second NN18s. It is also good. By the way, each of the plurality of trained second NN18s to which the same hyperparameter set is set does not always output the same output data for the same input data. Further, the learning processing unit 24 evaluates the output accuracy of the plurality of learned second NN18s using the evaluation data that is a part of the learning data, and among the plurality of second NN18s, the one having the highest output accuracy is selected. It may be selected as the second NN18 used in the genetic algorithm by the GA processing unit 26 described later.
  • the GA processing unit 26 as a hyperparameter adjustment unit executes an adjustment process for adjusting the hyperparameter set of the first NN16 by a genetic algorithm.
  • FIG. 6 is a conceptual diagram showing a state of adjustment processing of the hyperparameter set of the first NN16 using the genetic algorithm by the GA processing unit 26. The processing of the GA processing unit 26 will be specifically described with reference to FIG.
  • the individual of the genetic algorithm used by the GA processing unit 26 is the hyperparameter set of the first NN16.
  • each gene constituting the individual is each hyperparameter constituting the hyperparameter set.
  • the fitness of each individual in the genetic algorithm used by the GA processing unit 26 is a value according to the post-learning performance of the first NN16 in which each hyperparameter set for each individual is set.
  • the nth hyperparameter set of the mth generation is described as “hyperparameter set mn”.
  • the GA processing unit 26 prepares N individuals as an initial population, that is, N hyperparameter sets of the first generation.
  • the GA processing unit 26 can randomly select the value of each hyperparameter included in the N hyperparameter sets of the first generation.
  • the GA processing unit 26 calculates the fitness of each of the N hyperparameter sets of the first generation.
  • the GA processing unit 26 acquires the post-learning performance of the first NN16 corresponding to each hyperparameter by inputting each hyperparameter set into the trained second NN16.
  • the post-learning error is shown as the post-learning performance.
  • the fitness of each hyperparameter is calculated based on the acquired post-learning performance.
  • the fitness of the hyperparameters is calculated based on the plurality of post-learning performances obtained by inputting one hyperparameter into the plurality of second NN18s. You may do so.
  • the fitness of the hyperparameter may be calculated based on the average value of the plurality of post-learning performances obtained by inputting one hyperparameter into the plurality of second NN18s.
  • the GA processing unit 26 does not need to learn N NNs for which each hyperparameter set is set in calculating the fitness of each hyperparameter.
  • the GA processing unit 26 generates N second-generation hyperparameter sets by a known method based on the fitness of each of the calculated first-generation N hyperparameter sets. Then, the GA processing unit 26 calculates the fitness of each of the N hyperparameter sets of the second generation. In the second generation as well, as in the first generation, the GA processing unit 26 acquires the post-learning performance of the first NN16 corresponding to each hyperparameter by inputting each hyperparameter set into the trained second NN16. That is, even in the second generation, the GA processing unit 26 does not need to learn N NNs for which each hyperparameter set is set in calculating the fitness of each hyperparameter.
  • the GA processing unit 26 generates N hyperparameter sets of the third generation based on the fitness of each of the calculated N hyperparameter sets of the second generation. After that, the GA processing unit 26 repeats the same processing as described above while advancing the generation. Repeating the above processing while advancing the generation will adjust the hyperparameters of the first NN16, and eventually the hyperparameter set of the first NN16 with high fitness, that is, high post-learning performance (ideally). Optimal hyperparameter set) can be obtained.
  • the GA processing unit 26 executes the above-mentioned genetic algorithm until a predetermined termination condition is satisfied.
  • the predetermined end condition is, for example, that the processing up to a predetermined generation is completed, an individual having a fitness exceeding a predetermined fitness is generated, or the average fitness of N individuals of a predetermined generation is equal to or higher than a predetermined threshold. And so on.
  • the learning processing unit 24 sets the hyperparameter set to the first NN16. Then, the first NN16 is learned. As a result, the learning processing unit 24 can learn the first NN 16 with high learning efficiency, and can reduce the output error of the learned first NN 16.
  • the output unit 28 inputs, for example, the analysis target data input from the user to the trained first NN16, and provides the user with the output data corresponding to the target data output by the first NN16.
  • the output unit 28 can provide the user with highly accurate output data corresponding to the data to be analyzed. can.
  • the outline of the analysis device 10 according to the present embodiment is as described above.
  • the second NN 18 is learned so as to output the post-learning performance of the first NN 16 based on the hyperparameters of the first NN 16, and the genetic algorithm by the GA processing unit 26 is used.
  • the trained second NN18 is used to acquire the post-learning performance for each hyperparameter of the first NN16. Therefore, in the processing of each generation of the genetic algorithm, it is not necessary to train the first NN16 one by one in the calculation of the fitness of each individual, that is, in the processing of acquiring the post-learning performance of each hyperparameter of the first NN16. This reduces the amount of processing or processing time when adjusting the hyperparameter set of the first NN16 by the genetic algorithm.
  • step S10 which is the learning step of the first NN16
  • the learning processing unit 24 sets the hyperparameter sets different from each other in the plurality of first NN16s, and then trains the plurality of first NN16s.
  • step S12 which is a learning data acquisition step
  • the learning processing unit 24 evaluates a plurality of learned first NN16s and calculates the post-learning performance of each first NN16.
  • a plurality of sets of the hyperparameter set of the first NN16, which is the learning data of the second NN18, and the corresponding post-learning performance are acquired.
  • step S14 which is the hyperparameter set setting step of the second NN18
  • the second NN parameter determination unit 22 determines the hyperparameter set of the second NN18 by any of the above methods and sets it in the second NN18.
  • step S20 which is the learning step of the second NN18
  • the learning processing unit 24 trains the second NN18 using the learning data acquired in step S12.
  • the trained second NN18 can input the hyperparameters of the first NN16, and can predict and output the post-learning performance of the first NN16 in which the hyperparameters are set with high accuracy.
  • step S18 which is an adjustment step of the hyperparameter set of the first NN16
  • the GA processing unit 26 uses the hyperparameter set of the first NN16 as an individual, and sets a value according to the post-learning performance of the first NN16 in which the hyperparameter set is set.
  • the hyperparameters of the first NN16 are adjusted by the genetic algorithm of fitness.
  • the fitness of the genetic algorithm in each generation ie, the post-learning performance for each hyperparameter set
  • Processing by the genetic algorithm obtains the adjusted (ideally optimized) hyperparameters of the first NN16.
  • step S20 which is an output data providing step
  • the learning processing unit 24 sets the hyperparameter set acquired in step S18 to the first NN16, and trains the first NN16.
  • the output unit 28 inputs the analysis target data to the trained first NN 16 and provides the user with the output data obtained.
  • the adjustment process of the hyperparameter set of the first NN16 is executed by the genetic algorithm by the GA processing unit 26, but the adjustment process is not limited to the method using the genetic algorithm.
  • heuristic search methods can be used for adjustment processing.
  • a heuristic search method is a method that can give an answer that is close to the optimum solution to some extent, although it is not always possible to derive the optimum solution.
  • the heuristic search method includes a method of giving an answer through trial and error.
  • trial and error means setting the hyperparameters of the first NN16 to various values and adjusting the hyperparameters of the first NN16 based on the result (post-learning performance of each first NN16). It means to go.
  • the adjustment process may be a method by reinforcement learning.
  • Reinforcement learning is a method of setting a reward when an action is taken from a certain state, taking various actions by trial and error, and searching for an optimum action or state based on the reward for the action.
  • a hyperparameter set of the first NN16 corresponds to a state
  • a process of modifying the hyperparameter set corresponds to an action.
  • the reward in this case is the output of the trained learner (for example, the second NN18) that inputs the modified hyperparameter set, that is, after learning the first NN16 when the modified hyperparameter set is set to the first NN16. It can be determined based on performance.
  • Such reinforcement learning includes Q-learning and DQN (Deep Q-Network).
  • the adjustment process may be a method using a grid search.
  • Grid search is a method to search for the optimum solution of a combination of multiple parameters, comprehensively search for possible combinations (for example, all possible combinations), and determine the combination that shows the best result from them. It is a method to do.
  • the hyperparameter set (combination of hyperparameters) of the first NN16 is comprehensively set, and after learning of the first NN16 in which each hyperparameter set is set, which is obtained by using a trained learner. Based on the performance, determine the hyperparameter set that shows the best result from the multiple hyperparameter sets that have been set.
  • the adjustment process may be a method using a random search.
  • Random search is a method to search for the optimum solution of a combination of multiple parameters like grid search, but it searches for a combination of multiple parameters determined at random and shows the best result from them. It is a method to determine.
  • the hyperparameter set (combination of hyperparameters) of the first NN16 is randomly set, and the post-learning performance of the first NN16 with each hyperparameter set set obtained by using a trained learner. Based on, the hyperparameter set showing the best result is determined from the set hyperparameter sets.
  • the adjustment process may be a method using Bayesian optimization.
  • Bayesian optimization is a method of searching for a combination that is likely to show the best evaluation value by optimizing a surrogate function called an Acquisition function based on a combination of a plurality of parameters and their evaluation values.
  • it is based on a plurality of hyperparameter sets (combination of hyperparameters) of the first NN16 and the post-learning performance of the first NN16 in which each hyperparameter set is set, which is obtained by using a trained learner. Then, the hyperparameter set showing the best result is determined from the set multiple hyperparameter sets.
  • Bayesian optimization is a method of searching for the optimum solution from a small amount of trial and error, and is currently used for searching the hyperparameter set of NN without using a learner.
  • NNs where large variations in post-learning performance can occur even with the same hyperparameter set, if the actual values of post-learning performance are used as they are, even those meaningless variations will be over-learned (overfitting).
  • overfitting There is a possibility that an appropriate optimal solution cannot be obtained.
  • the learning device in the present embodiment it is possible to use the numerical value of the post-learning performance in which the variation is moderated, so that overfitting can be avoided and the optimum solution can be searched accurately.
  • 10 analysis device 12 input / output interface, 14 memory, 16 1st NN, 16a neuron, 16b edge, 18 2nd NN, 20 processor, 22 2nd NN parameter determination unit, 24 learning processing unit, 26 GA processing unit, 28 output unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

学習処理部(24)は、第1NN(16)のハイパーパラメータセットを入力として、当該ハイパーパラメータセットが設定された学習済みの第1NN(16)の性能である学習後性能を出力するように第2NN(18)を学習させる。GA処理部(26)は、第1NN(16)のハイパーパラメータセットを個体とし、当該ハイパーパラメータセットが設定された第1NN(16)の学習後性能に応じた値を適応度とする遺伝的アルゴリズムにより第1NN(16)のハイパーパラメータセットを調整する。当該遺伝的アルゴリズムの各世代における処理において、各ハイパーパラメータに対応する第1NN(16)の学習後性能は第2NN(18)を用いて取得される。

Description

ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム
 本発明は、ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラムに関する。
 従来、ニューラルネットワーク(以下、本明細書では「NN(Neural Network)」と記載する場合がある)が知られている。NNとは、脳機能を模して構成されたモデルであり、ニューロンと呼ばれる1又は複数のノードを含む層が複数結合された構成を有している。NNは、入力データに基づいて、当該入力データに対応する出力データを推測して出力するものである。
 学習データを用いてNNを学習させることで、NNは未知の入力データに対応する高精度な出力データを出力可能となる。NNの学習処理を進めていくに従って、NNが有するパラメータが調整(変更)されていく。学習処理により変更されるNNのパラメータとしては、例えば、ニューロン間を結合するエッジに定義される重みや各ニューロンに定義されるバイアスなどがある。
 NNが有するパラメータの中には、上述の重みやバイアスの他、学習処理によって変更されないパラメータがある。そのようなパラメータはハイパーパラメータと呼ばれる。ハイパーパラメータとしては、これに限られるものではないが、例えば、エポック数(1つの学習データの繰り返し利用回数)、隠れ層数(最も入力側にある入力層及び最も出力側にある出力層以外の層の数)、隠れ層ニューロン数(各隠れ層のニューロン数)、ドロップアウト数(学習処理において重みやバイアスを調整しないニューロン(不活性ニューロン)の数)、あるいは、バッチ数(学習データを複数のサブセットに分けたときのサブセットに含まれる学習データの数)などがある。ハイパーパラメータは、NNの構造、あるいは、学習方法を表すパラメータであるとも言える。
 ここで、NNのハイパーパラメータに応じて、十分に学習済みの当該NNの出力精度や、当該NNの学習効率(所定回数の学習を行った際における当該NNの出力精度)が変動することが知られている。したがって、NNの管理者あるいはユーザは、当該NNのハイパーパラメータを適切な値に設定するのが望ましい。なお、適切なハイパーパラメータは、NNの解析対象、すなわちNNの入力データに応じてそれぞれ異なるのが一般的である。
 このことに鑑み、従来、調整処理を用いて、NNの適切なハイパーパラメータセット(複数のハイパーパラメータの項目に対する複数の値の集合)を特定する技術が提案されている。そのような調整処理の一例として、遺伝的アルゴリズム(簡略的に「GA(Genetic Algorithm)」とも呼ばれる)が知られている。例えば、特許文献1には、NNのハイパーパラメータセットを個体とし、当該ハイパーパラメータセットが設定された学習済みのNNの出力誤差に応じた値を適応度とした遺伝的アルゴリズムによって、NNの最適なハイパーパラメータセットを特定することが開示されている。また、特許文献2には、NNの構造を個体とし、当該構造を有する学習済みのNNの出力誤差に応じた値を適応度とした遺伝的アルゴリズムによって、NNの最適な構造を特定することが開示されている。
 なお、NNのハイパーパラメータセットを特定するものではないが、NNと遺伝的アルゴリズムを組み合わせた技術として、非特許文献1には、遺伝的アルゴリズムによって、NNで用いる学習データを指定することが開示されている。また、非特許文献2には、NNが学習する際に局所解に落ち込むのを回避するために、NNの重み及びバイアスのセットを個体とした遺伝的アルゴリズムを用いることが開示されている。
特許第6523379号公報 特許第6351671号公報
小俣光司 他,「遺伝的アルゴリズムとその評価関数としてのニューラルネットワークを用いたメタノール合成用Cu-Zn-Al酸化物触媒組成最適化」,石油学会論文誌,45巻3号(2002年),192-195頁 光石衛 他,「ニューラル・ネットワークと遺伝的アルゴリズムとを用いた高精密マシニングセンタの開発」,日本機械学会論文集(C編),61巻591号(1995年11月),395-400頁
 調整処理によってNNのハイパーパラメータセットを調整しようとする場合、その調整処理の処理量又は処理時間が膨大になるという問題が生じ得る。特に、遺伝的アルゴリズムを含む従来の調整処理においては、互いに異なるハイパーパラメータセットが設定された複数のNNを十分に学習させなければならない場合がある。そのような場合、調整処理のうち、当該NNを学習させるための処理量又は処理時間が膨大になるという問題が生じ得る。当該問題を図8を参照しながら説明する。図8は、従来における遺伝的アルゴリズムを用いたNNのハイパーパラメータセットの調整処理の様子を示す概念図である。
 遺伝的アルゴリズムの個体は、NNのハイパーパラメータセットとなる。なお、当該個体を構成する各遺伝子は、当該ハイパーパラメータセットを構成する各ハイパーパラメータである。そして、各個体の適応度(適合度とも呼ばれる)は、各個体としての各ハイパーパラメータセットが設定された、学習済みのNNの性能に応じた値となる。NNの性能とは、例えば、NNの出力誤差(ある入力データに対するNNの出力データと当該入力データに対応する真のデータ(すなわち正解データ)との間の差分)、NNに入力データが入力されてから出力データを出力するまでの間の時間である解析時間、あるいはこれらの組み合わせなどである。本明細書では、特に、十分に学習済みのNNの性能を「学習後性能」と呼び、学習後性能のうちの、十分に学習済みのNNの出力誤差を「学習後誤差」と、十分に学習済みのNNの解析時間を「学習後解析時間」と呼ぶことにする。適応度が高い程、当該個体、つまりハイパーパラメータセットが優秀であることを示す場合、例えば、学習後性能が高い(つまり学習後誤差が小さい、あるいは、学習後解析時間が短い)程、各個体の適応度を高いとすることができる。各個体に対する適応度は、同一のハイパーパラメータが設定された複数の学習済みのNNの複数の学習後性能に基づいて決定される場合もある。例えば、各個体に対する適応度を、同一のハイパーパラメータに対する複数の学習後誤差の平均値、あるいは、同一のハイパーパラメータに対する複数の学習後解析時間の平均値とされる場合もある。
 図8に示すように、まず、初期個体群としてN個の個体、すなわち第1世代のN個のハイパーパラメータセットが用意される。第1世代のN個のハイパーパラメータセットに含まれる各ハイパーパラメータの値はランダムに選択されてよい。なお、図8では、第m世代の第n番目のハイパーパラメータセットが、「ハイパーパラメータセットm-n」と記載されている。例えば、第1世代の第2番目のハイパーパラメータセットが、「ハイパーパラメータセット1-2」と記載されている。
 次に、第1世代のN個のハイパーパラメータセットそれぞれの適応度が算出される。上述のように、各ハイパーパラメータセットの適応度は、当該ハイパーパラメータセットが設定されたNNの学習後性能に基づいて算出される。図8の例では、学習後性能として学習後誤差が示されている。したがって、各ハイパーパラメータセットに対する適応度を算出するためには、各ハイパーパラメータセットが設定されたN個のNNをそれぞれ十分に学習させなければならない。特に、各ハイパーパラメータセットの適応度を、同一のハイパーパラメータが設定された複数の(ここではP個の)学習済みのNNの学習後性能に基づいて決定する場合、N個のNNをそれぞれP回学習させる必要がある。
 次に、算出された第1世代のN個のハイパーパラメータセットそれぞれの適応度に基づいて、第2世代のN個のハイパーパラメータセットが生成される。第2世代のN個のハイパーパラメータセットの取得方法については、例えば、第1世代のN個のハイパーパラメータセットのうち、適応度が高いハイパーパラメータセットを残すエリート保存、第1世代から選択された2つのハイパーパラメータセットそれぞれの一部のハイパーパラメータを交換する交叉、第1世代のハイパーパラメータセットに含まれるハイパーパラメータをランダムに変更する突然変異などの種々の方法がある。当該方法については、従来の遺伝的アルゴリズムと同様の方法を採用し得るため、ここでは詳細な説明は省略する。
 さらに、第2世代のN個のハイパーパラメータセットそれぞれの適応度が算出される。第2世代においても、第1世代同様、各ハイパーパラメータセットに対する適応度を算出するためには、各ハイパーパラメータセットが設定されたN個のNNをそれぞれ十分に学習させる必要がある。ここでも、各ハイパーパラメータセットの適応度を、同一のハイパーパラメータが設定されたP個の学習済みのNNの学習後性能に基づいて決定する場合、N個のNNをそれぞれP回学習させる必要がある。
 そして、算出された第2世代のN個のハイパーパラメータセットそれぞれの適応度に基づいて、第3世代のN個のハイパーパラメータセットが生成される。以後、上記同様の処理が世代を進めながら繰り返されていく。上述の処理を世代を進めながら繰り返していくことにより、NNのハイパーパラメータが調整されていき、やがて適応度が高い個体、すなわち、学習後性能の高いNNのハイパーパラメータセット(理想的には最適なハイパーパラメータセット)を得ることができる。
 遺伝的アルゴリズムは、所定の終了条件を満たすまで実行される。所定の終了条件とは、例えば、所定の世代までの処理が完了したこと、所定の適応度を超える個体が生成されたこと、あるいは、所定の世代のN個の個体の平均適応度が所定の閾値以上となったこと、などである。
 上述の通りであるから、G世代分の処理を行い、1つの世代の個体としてN個のハイパーパラメータセットを用いる遺伝的アルゴリズムによってNNのハイパーパラメータセットを調整する場合、G×N個のNNを十分に学習させる必要があるということになる。さらに、各ハイパーパラメータセットの適応度を、同一のハイパーパラメータが設定されたP個の学習済みのNNの学習後性能に基づいて決定するならば、G×N個のNNをそれぞれP回学習させなければならず、すなわち、G×N×P個のNNを十分に学習させるのと同じ量の学習処理が必要となる。G×N個のNN、あるいは、G×N×P個のNNを十分に学習させるには、学習のための処理量又は処理時間がかなり膨大となる。
 遺伝的アルゴリズムの他にも、互いに異なるハイパーパラメータセットが設定された複数のNNの学習後誤差に基づいて、当該NNのハイパーパラメータセットを調整する場合にも、当該複数のNNの学習後誤差を取得するためには、各NNを十分に学習させる必要がある。
 本明細書で開示されるハイパーパラメータ調整装置の目的は、調整処理によってニューラルネットワークのハイパーパラメータセットを調整する際の処理量又は処理時間を低減することにある。
 本明細書で開示されるハイパーパラメータ調整装置は、第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、を備えることを特徴とする。
 前記ハイパーパラメータ調整部は、前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能を用いた、ヒューリスティックな探索手法により前記第1ニューラルネットワークのハイパーパラメータセットを調整するとよい。
 前記ハイパーパラメータ調整部は、前記第1ニューラルネットワークのハイパーパラメータセットを個体とし、当該ハイパーパラメータセットを学習済みの前記学習器に入力して得られる当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの前記学習後性能に応じた値を適応度とした遺伝的アルゴリズムにより、前記第1ニューラルネットワークのハイパーパラメータセットを調整する遺伝的アルゴリズム処理部であるとよい。
 前記第1ニューラルネットワークに入力される解析対象データに応じて、前記学習器のハイパーパラメータを決定する学習器パラメータ決定部と、をさらに備えるとよい。
 前記学習器は、前記第1ニューラルネットワークとは異なる第2ニューラルネットワークにより構成されるとよい。
 また、本明細書で開示される記録媒体は、コンピュータを、第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、として機能させるためのハイパーパラメータ調整プログラムを記録したコンピュータ読み取り可能な非一時的な記録媒体である。
 また、本明細書で開示されるハイパーパラメータ調整プログラムは、コンピュータを、第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、として機能させることを特徴とする。
 本明細書で開示されるハイパーパラメータ調整装置によれば、調整処理によってニューラルネットワークのハイパーパラメータセットを調整する際の処理量又は処理時間を低減することができる。
本実施形態に係る解析装置の構成概略図である。 第1NNの構造の例を示す概念図である。 第1NNの学習後誤差を示す概念図である。 第2NNの学習データの例を示す図である。 第2NNの学習処理の様子を示す概念図である。 本実施形態における遺伝的アルゴリズムを用いた第1NNのハイパーパラメータセットの調整処理の様子を示す概念図である。 本実施形態における解析装置の処理の流れを示すフローチャートである。 従来における遺伝的アルゴリズムを用いたNNのハイパーパラメータセットの調整処理の様子を示す概念図である。
 図1は、本実施形態に係るハイパーパラメータ調整装置としての解析装置10の構成概略図である。本実施形態に係る解析装置10は、サーバコンピュータにより構成される。しかしながら、以下に説明する機能を発揮可能な限りにおいて、解析装置10としてはどのような装置であってもよい。例えば、解析装置10は、パーソナルコンピュータなどであってもよい。
 入出力インターフェース12は、解析装置10に対して種々の情報を入力するためのインターフェース、あるいは、解析装置10から種々の情報を出力するためのインターフェースである。
 入出力インターフェース12は、例えば、ネットワークアダプタなどから構成されるネットワークインターフェースであってよい。ネットワークインターフェースによれば、解析装置10は、他の装置と通信可能となり、他の装置から種々の情報を受信することができ、また、他の装置に対して種々の情報を送信することができる。
 また、入出力インターフェース12は、例えば、キーボードやマウス、あるいはタッチパネルなどから構成される入力インターフェースであってよい。入力インターフェースによれば、ユーザは、解析装置10に種々の情報を入力することができる。
 また、入出力インターフェース12は、例えば、液晶パネルなどから構成されるディスプレイあるいはスピーカなどから構成される出力インターフェースであってよい。出力インターフェースによれば、解析装置10は、ユーザなどに向けて種々の情報を出力することができる。
 メモリ14は、例えばHHD(Hard Disk Drive)、SSD(Solid State Drive)、ROM(Read Only Memory)、あるいはRAM(Random Access Memory)などを含んで構成されている。メモリ14は、後述のプロセッサ20とは別に設けられてもよいし、少なくとも一部がプロセッサ20の内部に設けられていてもよい。メモリ14には、解析装置10の各部を動作させるための、ハイパーパラメータ調整プログラムとしての解析プログラムが記憶される。解析プログラムは、コンピュータ(本実施形態では解析装置10)が読み取り可能な非一時的な記録媒体に記録されることができる。その場合、解析装置10は、当該記録媒体から解析プログラムを読み込んで実行することができる。
 また、図1に示す通り、メモリ14には第1NN(ニューラルネットワーク)16、及び、学習器としての第2NN18が記憶される。なお、後述するように、第1NN16の実体は、第1NN16の構造を定義するプログラム、第1NN16に関する各種パラメータ、及び、入力データに対して処理を行うための処理実行プログラムなどである。したがって、メモリ14に第1NN16が記憶されるとは、上記プログラムや各種パラメータがメモリ14に記憶されることを意味する。第2NN18についても同様である。
 第1NN16は、解析装置10の解析対象データを入力として、当該解析対象データに対応する出力データを出力するものである。解析対象データは何であってもよく、種々の分野のデータを用いることができる。すなわち、第1NN16は幅広い分野で用いられることができる。
 第1NN16にはハイパーパラメータセットが設定されるところ、第1NN16のハイパーパラメータセットが、ハイパーパラメータ調整装置としての解析装置10による調整処理の対象となるハイパーパラメータセットである。第1NN16のハイパーパラメータとしては、これらに限られるものではないが、例えば、エポック数、隠れ層数、隠れ層ニューロン数、ドロップアウト数、あるいは、バッチ数などがある。
 メモリ14には、設定されたハイパーパラメータセットが互いに異なる複数の第1NN16が記憶される。
 図2は、第1NN16の構造の例を示す概念図である。図2に示す通り、第1NN16は、複数の層を含んで構成されている。具体的には、最も入力側に位置する入力層、最も出力側に位置する出力層、及び、入力層と出力層の間に位置する1又は複数の隠れ層を含んで構成されている。各層は、1又は複数のニューロン(ノード)16aから構成される。図2の例においては、各ニューロン16aは全結合されており、ある層のニューロン16aと次の層の全てのニューロン16aとが、複数のエッジ16bにより結合されている。
 第1NN16は、入力データに基づいて、当該入力データに対応する出力データを推測して出力するものである。第1NN16は学習され、それにより入力データに対する出力データの精度を向上させることができる。例えば、第1NN16は、教師有り学習によって学習されることができる。この場合、第1NN16は、入力データと、当該入力データに対応する教師データとを含む学習データを用いて学習される。具体的には、学習データの内の入力データが第1NN16に入力され、当該入力データに対する第1NN16の出力データと、学習データに含まれる教師データとの誤差に基づいて、誤差逆伝搬法(バックプロパゲーション)などの手法により、各エッジ16bに定義された重み、及び、各ニューロン16aに定義されているバイアスが変更される。なお、第1NN16はその他の手法、例えば、教師無し学習や強化学習などにより学習されてもよい。
 図3は、第1NN16の学習後性能としての学習後誤差を示す概念図である。図3に示された第1NN16は、十分に学習された学習済みのものである。上述の通り、解析対象データ(つまり第1NN16の入力データ)に対する学習済みの第1NN16の出力データと、当該解析対象データに対応する真のデータ(正解データ)との誤差を学習後誤差と呼ぶ。また、学習後性能としては、学習済みの第1NN16に解析対象データを入力してから出力データを出力するまでの時間である学習後解析時間であってもよい。また、学習済みの第1NN16の性能を示す学習後性能としては、学習後誤差及び学習後解析時間に限られない。
 図1に戻り、第2NN18は、第1NN16とは異なるNNであり、第1NN16のハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された第1NN16の学習後性能を出力するように学習される学習器である。具体的には、第2NN18は、第1NN16のハイパーパラメータセットと、当該ハイパーパラメータセットが設定された第1NN16の学習後性能(教師データ)とを含む学習データを用いて学習される。教師データとしての学習後性能は、学習後誤差と学習後解析時間との組み合わせなど、複数の評価値の組み合わせであってもよい。なお、第2NN18の構造は、第1NN18(図2参照)と同様であってよい。もちろん、第2NN18のハイパーパラメータは、第1NN16のハイパーパラメータと異なっていてもよい。
 なお、本実施形態では、第1NN16の学習後性能を予測する学習器として第2NN18を用いているが、当該学習器としては、NNに限られるものではない。例えば、当該学習器として重回帰分析を行う重回帰モデルを用いるようにしてもよい。重回帰分析は、目的変数(ここでは第1NN16の学習後性能)を複数の説明変数(ここではハイパーパラメータセット)で予測するものであり、以下の式で表される。
 y=b+b+・・・+b+e
 上式において、yは目的変数であり、xは説明変数(各xが第1NN16の各ハイパーパラメータに相当する)であり、bは説明変数xの係数であり、eは定数である。上記学習データを用いた学習により、各xに対応する係数bが変更されていく。重回帰モデルにおいては、各係数bnが過度に大きくならないようにするための調整パラメータλを設定することができる。当該調整パラメータλが重回帰モデルのハイパーパラメータの1つの例である。
 詳しくは後述するが、学習済みの第2NN18は、遺伝的アルゴリズムによる第1NN16のハイパーパラメータの調整処理において用いられる。具体的には、遺伝的アルゴリズムの各世代における処理において、個体としての第1NN16のハイパーパラメータセットに対する適応度を算出するための第1NN16の学習後性能を算出する際に、学習済みの第2NN18が用いられる。
 第2NN18のハイパーパラメータの設定方法、及び、第2NN18の学習方法の詳細については、プロセッサ20の処理と共に後述する。
 プロセッサ20は、汎用的な処理装置(例えばCPU(Central Processing Unit)など)、及び、専用の処理装置(例えばASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、あるいは、プログラマブル論理デバイスなど)の少なくとも1つを含んで構成される。プロセッサ20としては、1つの処理装置によるものではなく、物理的に離れた位置に存在する複数の処理装置の協働により構成されるものであってもよい。図1に示す通り、プロセッサ20は、メモリ14に記憶された解析プログラムにより、第2NNパラメータ決定部22、学習処理部24、GA(遺伝的アルゴリズム)処理部26、及び、出力部28としての機能を発揮する。
 学習器パラメータ決定部としての第2NNパラメータ決定部22は、第1NN16の学習後性能を出力する学習器のハイパーパラメータ(1つのパラメータであってもよい)を決定する。本実施形態では、第2NNパラメータ決定部22は、第2NN18のハイパーパラメータセットを決定する。以下、第1NN16の学習後性能を出力する学習器のハイパーパラメータを決定するための代表的な方法を説明する。
 第1の方法として、第2NNパラメータ決定部22は、ユーザからの指示に応じて、第1NN16の学習後性能を出力する学習器のハイパーパラメータ(本実施形態では第2NN18のハイパーパラメータセット)を決定することができる。具体的には、第2NNパラメータ決定部22は、入出力インターフェース12がユーザから取得したハイパーパラメータセットを示すハイパーパラメータ情報に基づいて、第2NN18のハイパーパラメータセットを決定する。
 例えば、ユーザがハイパーパラメータセットをユーザ端末(不図示)に入力した上で、入出力インターフェース12としてのネットワークインターフェースは、当該ハイパーパラメータセットを示すハイパーパラメータ情報をユーザ端末から受信することができる。また、ユーザは、入出力インターフェース12としての入力インターフェースを操作することで、第2NN18のハイパーパラメータセットを解析装置10に入力するようにしてもよい。
 第1の方法の好適な変形例としては、解析装置10の管理者などが、予め、第2NN18の複数のハイパーパラメータセットを用意しておき、当該複数のハイパーパラメータセットをユーザに提示して、当該複数のハイパーパラメータセットの中から、使用する第2NN18のハイパーパラメータセットをユーザに選択させるようにしてもよい。
 複数のハイパーパラメータセットのユーザへの提示は、入出力インターフェース12としてのネットワークインターフェースが、当該複数のハイパーパラメータセットを示す情報をユーザ端末に送信して、ユーザ端末のディスプレイに複数のハイパーパラメータセットを表示させることができる。また、入出力インターフェース12としての出力インターフェースが、当該複数のハイパーパラメータセットを示す情報をユーザに向けて出力してもよい。
 第2の方法として、第2NNパラメータ決定部22は、解析装置10の解析対象、つまり、第1NN16に入力される解析対象データに応じて、第1NN16の学習後性能を出力する学習器のハイパーパラメータ(本実施形態では第2NN18のハイパーパラメータセット)を決定することができる。
 第1NN16は、種々の解析対象データを入力とすることができるため、解析対象データに応じて、適切なハイパーパラメータセットが大きく異なる場合がある。一方、第2NN18は、第1NN18の解析対象データが何であろうと、その入力データは第1NN18のハイパーパラメータセットであり、その出力データは第1NN16の学習後性能である。したがって、第2NN18の適切なハイパーパラメータセットは、第1NN16のそれに比して、第1NN16の解析対象データに応じて変動し難いものであるとは言える。しかしながら、第2NN18の最適なハイパーパラメータセットも、第1NN16の解析対象データに応じて異なる場合があり、そのような場合に、第1NN16に入力される解析対象データに応じて、第2NN18のハイパーパラメータセットを決定するのが有効である。
 具体的には、過去において第1NN16に入力された解析対象データの種別毎に、当該第1NN16のハイパーパラメータセットの調整処理に用いられた第2NN18のハイパーパラメータセットと、学習済みの当該第2NN18の出力誤差とを関連付けてメモリ14にデータベースとして記憶させておく。その上で、第2NNパラメータ決定部22は、ハイパーパラメータセットの調整対象となる第1NN16に入力される予定の解析対象データの種別を取得し、上記データベースを参照し、当該解析対象データの種別に対応した第2NN18のハイパーパラメータセットのうち、出力誤差の小さいものを第2NN18のハイパーパラメータセットとして決定するようにしてもよい。あるいは、当該解析対象データの種別に対応した第2NN18のハイパーパラメータセットのうち、出力誤差の小さい複数のハイパーパラメータセットを特定し、特定した複数のハイパーパラメータセットをユーザに提示して、ユーザに選択させるようにしてもよい。
 第3の方法として、第2NNパラメータ決定部22は、従来から学習器のハイパーパラメータの最適化処理に用いられるベイズ最適化によって、第1NN16の学習後性能を出力する学習器のハイパーパラメータ(本実施形態では第2NN18のハイパーパラメータセット)を決定することができる。
 学習処理部24は、第1NN16のハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された第1NN16の学習後性能を出力するように第2NN18を学習させる学習処理を実行する。以下、学習処理部24による学習処理の手順を説明する。
 まず、学習処理部24は、互いに異なるハイパーパラメータセットが設定された複数の第1NN16を学習させる。複数の第1NN16に設定される各ハイパーパラメータセットはランダムに設定されてよい。ここでの複数の第1NN16の数は、従来方法に比して第1NN16のハイパーパラメータの調整処理の処理量あるいは処理時間についての優位性が失われないような数とする。具体的には、後述のGA処理部26が、遺伝的アルゴリズムにおいてG世代分の処理を実行し、1つの世代の個体としてN個のハイパーパラメータセットが用意される場合、ここでの複数の第1NN16の数をG×N個未満の数とする。あるいは、後述のGA処理部26が、遺伝的アルゴリズムにおいてG世代分の処理を実行し、1つの世代の個体としてN個のハイパーパラメータセットが用意され、各ハイパーパラメータセットの適応度を、同一のハイパーパラメータが設定されたP個の学習済みのNNのP個の学習後性能に基づいて決定する場合、ここでの複数の第1NN16の数をG×N×P個未満の数とする。
 学習処理部24は、解析対象データと、解析対象データに対応するデータ(教師データ)とから構成される学習データを用いて、各第1NN16を学習させる。具体的には、解析対象データを第1NN16に入力し、当該解析対象データに対する第1NN16の出力データと、教師データとの出力誤差に基づいて、第1NN16の各エッジ16bの重み、及び各ニューロン16aのバイアスを変更していく。
 複数の第1NN16を十分に学習させた後、学習処理部24は、各第1NN16を評価して、各第1NN16の学習後性能を算出する。具体的には、学習後性能として学習後誤差を用いる場合には、図3に示すように、対応する真のデータが既知である評価データとしての解析対象データを学習済みの第1NN16に入力し、当該解析対象データに対する第1NN16の出力データと、真のデータとの誤差である学習後誤差を算出する。学習後誤差は、複数の解析対象データを学習済みの1つの第1NN16に入力したときの、複数の出力データと複数の真のデータとの間の誤差率であってもよい。また、学習後性能として学習後解析時間を用いる場合には、解析対象データを学習済みの第1NN16に入力してから出力データが出力されるまでの時間を計測して学習後解析時間とする。学習後解析時間は、複数回解析対象データを1つの第1NN16に入力したときの複数の解析時間の平均値であってもよい。また、学習後性能としては、学習後誤差及び学習後解析時間の組み合わせなどの、複数の評価値が表現された数値であってもよい。
 ここまでの処理により、図4に示すような、第1NN16のハイパーパラメータセットと、それに対応する学習後性能との組を複数取得することができる。なお、図4の例では、学習後性能として学習後誤差が示されている。第1NN16のハイパーパラメータセットと、それに対応する学習後性能との組が第2NN18を学習させるための学習データとなる。当該学習データのうち、各ハイパーパラメータセットに対応する学習後性能が教師データとなる。学習データの数は、十分に学習させた複数の第1NN16の数となる。
 次に、学習処理部24は、第2NNパラメータ決定部22が決定したハイパーパラメータを第2NN18のハイパーパラメータに設定する。
 その上で、学習処理部24は、第1NN16のハイパーパラメータセットと、それに対応する学習後性能との組を学習データとして用いて、第2NN18を学習させる。具体的には、図5に示すように、第1NN16のハイパーパラメータセットを第2NN18に入力し、当該ハイパーパラメータセットに対する第2NN18の出力データ(これは第1NN18の学習後性能を示すものである)と、教師データとの差分に基づいて、第2NN16の各エッジの重み及び各ニューロンのバイアスを変更していく。
 上述のような学習処理により、第2NN18が十分に学習されると、第2NN18は、第1NN16のハイパーパラメータセットを入力することで、当該ハイパーパラメータセットが設定された第1NN16に当該解析対象データが入力されたときの学習後性能を高精度に予測して出力できるようになる。つまり、学習済みの第2NN18によれば、逐一第1NN16を学習させなくても、当該第1NN16の学習後性能を取得することができる。ここで、第2NN18が出力する学習後性能とは、第1NN16の学習後誤差、学習後解析時間、あるいは、これらの評価値の組み合わせを示す値である。
 なお、学習処理部24は、図4に示すような学習データを用いて、同一のハイパーパラメータセットが設定された複数の第2NN18を学習させ、複数の学習済みの第2NN18を用意するようにしてもよい。ちなみに、同一のハイパーパラメータセットが設定された複数の学習済みの第2NN18のそれぞれは、同じ入力データに対して同じ出力データを出力するとは限らない。さらに、学習処理部24は、当該学習データの一部である評価データを用いて学習済みの複数の第2NN18の出力精度を評価し、当該複数の第2NN18のうち、最も出力精度が高いものを後述のGA処理部26による遺伝的アルゴリズムに使用する第2NN18として選択するようにしてもよい。
 ハイパーパラメータ調整部としてのGA処理部26は、遺伝的アルゴリズムにより、第1NN16のハイパーパラメータセットを調整する調整処理を実行する。図6は、GA処理部26による遺伝的アルゴリズムを用いた第1NN16のハイパーパラメータセットの調整処理の様子を示す概念図である。図6を参照しながら、GA処理部26の処理を具体的に説明する。
 図6に示される通り、GA処理部26が用いる遺伝的アルゴリズムの個体は、第1NN16のハイパーパラメータセットである。なお、当該個体を構成する各遺伝子は、当該ハイパーパラメータセットを構成する各ハイパーパラメータである。また、GA処理部26が用いる遺伝的アルゴリズムにおける各個体の適応度は、各個体としての各ハイパーパラメータセットが設定された第1NN16の学習後性能に応じた値である。なお、図8同様、図6においても、第m世代の第n番目のハイパーパラメータセットが、「ハイパーパラメータセットm-n」と記載されている。
 GA処理部26は、まず、初期個体群としてN個の個体、すなわち第1世代のN個のハイパーパラメータセットを用意する。GA処理部26は、第1世代のN個のハイパーパラメータセットに含まれる各ハイパーパラメータの値をランダムに選択することができる。
 次に、GA処理部26は、第1世代のN個のハイパーパラメータセットそれぞれの適応度を算出する。ここで、従来とは異なり、GA処理部26は、各ハイパーパラメータセットを学習済みの第2NN16に入力することで、各ハイパーパラメータに対応する第1NN16の学習後性能を取得する。なお、図6の例でも、学習後性能として学習後誤差が示されている。そして、取得した学習後性能に基づいて、各ハイパーパラメータの適応度を算出する。複数の学習済みの第2NN18が用意されている場合には、1つのハイパーパラメータを複数の第2NN18に入力して得られた複数の学習後性能に基づいて、当該ハイパーパラメータの適応度を算出するようにしてもよい。例えば、1つのハイパーパラメータを複数の第2NN18に入力して得られた複数の学習後性能の平均値に基づいて、当該ハイパーパラメータの適応度を算出するようにしてもよい。このように、本実施形態においては、GA処理部26は、各ハイパーパラメータの適応度を算出するに当たり、各ハイパーパラメータセットが設定されたN個のNNを学習させる必要がない。
 次に、GA処理部26は、算出した第1世代のN個のハイパーパラメータセットそれぞれの適応度に基づいて、既知の方法によって、第2世代のN個のハイパーパラメータセットを生成する。そして、GA処理部26は、第2世代のN個のハイパーパラメータセットそれぞれの適応度を算出する。第2世代においても、第1世代同様、GA処理部26は、各ハイパーパラメータセットを学習済みの第2NN16に入力することで、各ハイパーパラメータに対応する第1NN16の学習後性能を取得する。つまり、第2世代においても、GA処理部26は、各ハイパーパラメータの適応度を算出するに当たり、各ハイパーパラメータセットが設定されたN個のNNを学習させる必要がない。
 さらに、GA処理部26は、算出した第2世代のN個のハイパーパラメータセットそれぞれの適応度に基づいて、第3世代のN個のハイパーパラメータセットを生成する。以後、GA処理部26は、上記同様の処理を世代を進めながら繰り返していく。上述の処理を世代を進めながら繰り返していくことが、第1NN16のハイパーパラメータを調整することとなり、やがて適応度が高い個体、すなわち、学習後性能の高い第1NN16のハイパーパラメータセット(理想的には最適なハイパーパラメータセット)を得ることができる。
 GA処理部26は、所定の終了条件を満たすまで上述の遺伝的アルゴリズムを実行する。所定の終了条件とは、例えば、所定の世代までの処理が完了した、所定の適応度を超える個体が生成された、あるいは、所定の世代のN個の個体の平均適応度が所定の閾値以上となった、などである。
 GA処理部26によって第1NN16のハイパーパラメータセット(理想的には最適なハイパーパラメータ)が取得されると、学習処理部24は、当該ハイパーパラメータセットを第1NN16に設定する。その上で、第1NN16を学習させる。これにより、学習処理部24は、高い学習効率で第1NN16を学習させることができ、また、学習済みの第1NN16の出力誤差を小さくすることができる。
 図1に戻り、出力部28は、例えばユーザから入力された解析対象データを学習済みの第1NN16に入力し、第1NN16が出力した当該対象データに対応する出力データをユーザに提供する。上述のように、本実施形態で用いられる第1NN16は、そのハイパーパラメータが調整されたものであるから、出力部28は、解析対象データに対応する高精度な出力データをユーザに提供することができる。
 本実施形態に係る解析装置10の概要は以上の通りである。本実施形態に係る解析装置10によれば、第1NN16のハイパーパラメータに基づいて当該第1NN16の学習後性能を出力するように第2NN18が学習され、GA処理部26による遺伝的アルゴリズムを用いた第1NN16のハイパーパラメータの調整処理においては、学習済みの第2NN18を用いて、各第1NN16のハイパーパラメータに対する学習後性能が取得される。したがって、遺伝的アルゴリズムの各世代の処理において、各個体の適応度の算出、すなわち、第1NN16の各ハイパーパラメータの学習後性能を取得する処理において、逐一第1NN16を学習させる必要がなくなる。これにより、遺伝的アルゴリズムによって第1NN16のハイパーパラメータセットを調整する際の処理量又は処理時間が低減される。
 以下、図7に示すフローチャートに従って、本実施形態に係る解析装置10の処理の流れを説明する。
 第1NN16の学習ステップであるステップS10において、学習処理部24は、互いに異なるハイパーパラメータセットを複数の第1NN16に設定した上で、当該複数の第1NN16を学習させる。
 学習データ取得ステップであるステップS12において、学習処理部24は、学習済みの複数の第1NN16を評価して、各第1NN16の学習後性能を算出する。これにより、第2NN18の学習データである、第1NN16のハイパーパラメータセットと、それに対応する学習後性能との組を複数取得する。
 第2NN18のハイパーパラメータセット設定ステップであるステップS14において、第2NNパラメータ決定部22は、上述のいずれかの方法によって第2NN18のハイパーパラメータセットを決定し、第2NN18に設定する。
 第2NN18の学習ステップであるステップS20において、学習処理部24は、ステップS12で取得された学習データを用いて、第2NN18を学習させる。学習済みの第2NN18は、第1NN16のハイパーパラメータを入力とし、当該ハイパーパラメータが設定された第1NN16の学習後性能を高精度に予測して出力できるようになる。
 第1NN16のハイパーパラメータセットの調整ステップであるステップS18において、GA処理部26は、第1NN16のハイパーパラメータセットを個体とし、当該ハイパーパラメータセットが設定された第1NN16の学習後性能に応じた値を適応度とする遺伝的アルゴリズムにより、第1NN16のハイパーパラメータを調整する。遺伝的アルゴリズムの各世代における適応度(つまり各ハイパーパラメータセットに対する学習後性能)は、ステップS16で学習された第2NN18を用いて取得される。当該遺伝的アルゴリズムによる処理により、調整された(理想的には最適化された)第1NN16のハイパーパラメータが取得される。
 出力データ提供ステップであるステップS20において、まず、学習処理部24は、ステップS18で取得されたハイパーパラメータセットを第1NN16に設定し、第1NN16を学習させる。その上で、出力部28は、解析対象データを学習済みの第1NN16に入力して得られた出力データをユーザに提供する。
 以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
 例えば、本実施形態では、第1NN16のハイパーパラメータセットの調整処理が、GA処理部26による遺伝的アルゴリズムにより実行されていたが、当該調整処理は遺伝的アルゴリズムを用いた方法に限られない。
 特に、調整処理は、ヒューリスティックな探索手法を用いることができる。ヒューリスティックな探索手法とは、必ずしも最適解を導き出せるとは限らないが、ある程度最適解に近い答えを出せる方法のことである。特に、ヒューリスティックな探索方法とは、試行錯誤を経て答えを出す手法を含む。本実施形態においては、試行錯誤とは、第1NN16のハイパーパラメータを様々な値に設定してみて、その結果(各第1NN16の学習後性能)に基づいて、第1NN16のハイパーパラメータを調整していくことを意味する。
 ヒューリスティックな探索手法としては、種々の方法が考えられる。
 例えば、調整処理は、強化学習による方法であってもよい。強化学習とは、ある状態から行動を起こしたときの報酬を設定し、試行錯誤により様々な行動を起こし、その行動に対する報酬に基づいて、最適な行動や状態を探索する手法である。本実施形態の一例としては、第1NN16のあるハイパーパラメータセットが状態に相当し、当該ハイパーパラメータセットを修正する(すなわち他のハイパーパラメータセットに変更する)という処理が行動に相当する。この場合の報酬を、修正後のハイパーパラメータセットを入力とする学習済みの学習器(例えば第2NN18)の出力、すなわち、修正後のハイパーパラメータセットを第1NN16に設定したときの第1NN16の学習後性能に基づいて決定することができる。このような強化学習には、Q学習やDQN(Deep Q-Network)が含まれる。
 また、調整処理は、グリッドサーチを用いた方法であってもよい。グリッドサーチとは、複数のパラメータの組み合わせの最適解を探索する手法であり、可能な組み合わせを網羅的に(例えば可能な全組み合わせを)探索して、その中から最良の結果を示す組み合わせを決定する手法である。本実施形態においては、第1NN16のハイパーパラメータセット(ハイパーパラメータの組み合わせ)を網羅的に設定し、学習済みの学習器を用いて得られた、各ハイパーパラメータセットが設定された第1NN16の学習後性能に基づいて、設定した複数のハイパーパラメータセットの中から最良の結果を示すハイパーパラメータセットを決定する。
 また、調整処理は、ランダムサーチを用いた方法であってもよい。ランダムサーチとは、グリッドサーチと同じように複数のパラメータの組み合わせの最適解を探索する手法であるが、ランダムに複数決定されたパラメータの組み合わせを探索して、その中から最良の結果を示す組み合わせを決定する手法である。本実施形態においては、第1NN16のハイパーパラメータセット(ハイパーパラメータの組み合わせ)をランダムに設定し、学習済みの学習器を用いて得られた、各ハイパーパラメータセットが設定された第1NN16の学習後性能に基づいて、設定した複数のハイパーパラメータセットの中から最良の結果を示すハイパーパラメータセットを決定する。
 また、調整処理は、ベイズ最適化を用いた方法であってもよい。ベイズ最適化とは、複数のパラメータの組み合わせとそれらの評価値を元にAcquisition functionと呼ばれる代理関数を最適化することで、最良の評価値を示す可能性が高い組み合わせを探索する手法である。本実施形態においては、複数の第1NN16のハイパーパラメータセット(ハイパーパラメータの組み合わせ)と、学習済みの学習器を用いて得られた、各ハイパーパラメータセットが設定された第1NN16の学習後性能に基づいて、設定した複数のハイパーパラメータセットの中から最良の結果を示すハイパーパラメータセットを決定する。ベイズ最適化は、本来少ない試行錯誤から最適解を探索する手法であり、現状では学習器を用いることなく、NNのハイパーパラメータセットの探索に用いられている。しかしながら、同じハイパーパラメータセットでも学習後性能に大きなバラツキが生じ得るNNの場合、実際の学習後性能の数値をそのまま用いるとそれらの無意味なバラツキまでも過度に学習した状態(過学習)となって適切な最適解が得られない可能性がある。本実施形態における学習器を用いることで、それらのバラツキを適度に緩和した学習後性能の数値を使用できるため、過学習を回避し、精度よく最適解を探索することができる。
 10 解析装置、12 入出力インターフェース、14 メモリ、16 第1NN、16a ニューロン、16b エッジ、18 第2NN、20 プロセッサ、22 第2NNパラメータ決定部、24 学習処理部、26 GA処理部、28 出力部。

Claims (7)

  1.  第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、
     前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、
     を備えることを特徴とするハイパーパラメータ調整装置。
  2.  前記ハイパーパラメータ調整部は、前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能を用いた、ヒューリスティックな探索手法により前記第1ニューラルネットワークのハイパーパラメータセットを調整する、
     ことを特徴とする請求項1に記載のハイパーパラメータ調整装置。
  3.  前記ハイパーパラメータ調整部は、前記第1ニューラルネットワークのハイパーパラメータセットを個体とし、当該ハイパーパラメータセットを学習済みの前記学習器に入力して得られる当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの前記学習後性能に応じた値を適応度とした遺伝的アルゴリズムにより、前記第1ニューラルネットワークのハイパーパラメータセットを調整する遺伝的アルゴリズム処理部である、
     ことを特徴とする請求項2に記載のハイパーパラメータ調整装置。
  4.  前記第1ニューラルネットワークに入力される解析対象データに応じて、前記学習器のハイパーパラメータを決定する学習器パラメータ決定部と、
     をさらに備えることを特徴とする請求項1から3のいずれか1項に記載のハイパーパラメータ調整装置。
  5.  前記学習器は、前記第1ニューラルネットワークとは異なる第2ニューラルネットワークにより構成される、
     ことを特徴とする請求項1から4のいずれか1項に記載のハイパーパラメータ調整装置。
  6.  コンピュータを、
     第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、
     前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、
     として機能させるためのハイパーパラメータ調整プログラムを記録したコンピュータ読み取り可能な非一時的な記録媒体。
  7.  コンピュータを、
     第1ニューラルネットワークのハイパーパラメータセットを入力とし、当該ハイパーパラメータセットが設定された学習済みの前記第1ニューラルネットワークの性能である学習後性能を出力するように学習器を学習させる学習処理部と、
     前記第1ニューラルネットワークの複数のハイパーパラメータセットをそれぞれ学習済みの前記学習器に入力して得られる、当該複数のハイパーパラメータセットがそれぞれ設定された複数の前記第1ニューラルネットワークの前記学習後性能に基づいて、前記第1ニューラルネットワークのハイパーパラメータセットを調整するハイパーパラメータ調整部と、
     として機能させることを特徴とするハイパーパラメータ調整プログラム。
PCT/JP2020/034354 2020-09-10 2020-09-10 ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム WO2022054209A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP20953274.6A EP4148623A4 (en) 2020-09-10 2020-09-10 HYPERPARAMETER SETTING DEVICE, NON-TRANSITORY RECORDING MEDIUM HAVING RECORDED HYPERPARAMETER SETTING PROGRAM AND HYPERPARAMETER SETTING PROGRAM
CN202080101959.8A CN115917558A (zh) 2020-09-10 2020-09-10 超参数调整装置、记录有超参数调整程序的非暂时性记录介质以及超参数调整程序
US18/008,500 US20230214668A1 (en) 2020-09-10 2020-09-10 Hyperparameter adjustment device, non-transitory recording medium in which hyperparameter adjustment program is recorded, and hyperparameter adjustment program
JP2022548325A JP7359493B2 (ja) 2020-09-10 2020-09-10 ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム
PCT/JP2020/034354 WO2022054209A1 (ja) 2020-09-10 2020-09-10 ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/034354 WO2022054209A1 (ja) 2020-09-10 2020-09-10 ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム

Publications (1)

Publication Number Publication Date
WO2022054209A1 true WO2022054209A1 (ja) 2022-03-17

Family

ID=80631925

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/034354 WO2022054209A1 (ja) 2020-09-10 2020-09-10 ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム

Country Status (5)

Country Link
US (1) US20230214668A1 (ja)
EP (1) EP4148623A4 (ja)
JP (1) JP7359493B2 (ja)
CN (1) CN115917558A (ja)
WO (1) WO2022054209A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210311009A1 (en) * 2018-07-31 2021-10-07 Nec Corporation Information processing apparatus, control method, and non-transitory storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0223379B2 (ja) 1983-04-15 1990-05-23 Kokusan Kinzoku Kogyo Kk
WO2017154284A1 (ja) * 2016-03-09 2017-09-14 ソニー株式会社 情報処理方法および情報処理装置
JP6351671B2 (ja) 2016-08-26 2018-07-04 株式会社 ディー・エヌ・エー ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法
CN110633797A (zh) * 2019-09-11 2019-12-31 北京百度网讯科技有限公司 网络模型结构的搜索方法、装置以及电子设备
JP2020123292A (ja) * 2019-01-31 2020-08-13 パナソニックIpマネジメント株式会社 ニューラルネットワークの評価方法、ニューラルネットワークの生成方法、プログラム及び評価システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10360517B2 (en) * 2017-02-22 2019-07-23 Sas Institute Inc. Distributed hyperparameter tuning system for machine learning
US11120368B2 (en) * 2017-09-27 2021-09-14 Oracle International Corporation Scalable and efficient distributed auto-tuning of machine learning and deep learning models

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0223379B2 (ja) 1983-04-15 1990-05-23 Kokusan Kinzoku Kogyo Kk
WO2017154284A1 (ja) * 2016-03-09 2017-09-14 ソニー株式会社 情報処理方法および情報処理装置
JP6351671B2 (ja) 2016-08-26 2018-07-04 株式会社 ディー・エヌ・エー ニューロエボリューションを用いたニューラルネットワークの構造及びパラメータ調整のためのプログラム、システム、及び方法
JP2020123292A (ja) * 2019-01-31 2020-08-13 パナソニックIpマネジメント株式会社 ニューラルネットワークの評価方法、ニューラルネットワークの生成方法、プログラム及び評価システム
CN110633797A (zh) * 2019-09-11 2019-12-31 北京百度网讯科技有限公司 网络模型结构的搜索方法、装置以及电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KOHJI OMATA ET AL.: "Optimization of Cu-Zn-Al Oxide Catalyst for Methanol Synthesis Using Genetic Algorithm and Neural Network as Its Evaluation Function", JOURNAL OF THE JAPAN PETROLEUM INSTITUTE, vol. 45, no. 3, 2002, pages 192 - 195
MAMORU MITSUISHI ET AL.: "Development of a High-Precision Machining Center Using Neural Networks and Genetic Algorithm", TRANSACTIONS OF THE JAPAN SOCIETY OF MECHANICAL ENGINEERS (SERIES C, vol. 61, no. 591, November 1995 (1995-11-01), pages 395 - 400
See also references of EP4148623A4

Also Published As

Publication number Publication date
EP4148623A4 (en) 2024-02-07
JP7359493B2 (ja) 2023-10-11
EP4148623A1 (en) 2023-03-15
CN115917558A (zh) 2023-04-04
JPWO2022054209A1 (ja) 2022-03-17
US20230214668A1 (en) 2023-07-06

Similar Documents

Publication Publication Date Title
Dangeti Statistics for machine learning
Goudet et al. Causal generative neural networks
KR100869516B1 (ko) 계기 노이즈 및 측정 오차의 존재 하의 인공 신경망모델의 향상된 성능
Chang et al. Divide and conquer local average regression
JP5071851B2 (ja) 時間情報を用いた予測装置、予測方法、予測プログラムおよびそのプログラムを記録した記録媒体
WO2022054209A1 (ja) ハイパーパラメータ調整装置、ハイパーパラメータ調整プログラムを記録した非一時的な記録媒体、及びハイパーパラメータ調整プログラム
Samuel et al. Wasserstein GAN: Deep Generation applied on Bitcoins financial time series
Kishore et al. Prediction of student academic progression: A case study on Vignan University
Pfenninger et al. Wasserstein gan: Deep generation applied on financial time series
Pavlekovic et al. Modeling children’s mathematical gift by neural networks and logistic regression
Tang et al. Soden: A scalable continuous-time survival model through ordinary differential equation networks
Yurtkan et al. Student Success Prediction Using Feedforward Neural Networks
Abdel-Aal et al. Constructing optimal educational tests using GMDH-based item ranking and selection
Cerqueira et al. Model Compression for Dynamic Forecast Combination
Huang et al. Dynamic boosting in deep learning using reconstruction error
Peterson Comparison of Lasso Granger and PCMCI for Causal Feature Selection in Multivariate Time Series
Carter Deep learning for robust meta-analytic estimation
Poulakis Unsupervised AutoML: a study on automated machine learning in the context of clustering
Jackson et al. Machine learning for classification of economic recessions
Rimal et al. The accuracy of machine learning models relies on hyperparameter tuning: student result classification using random forest, randomized search, grid search, bayesian, genetic, and optuna algorithms
Bangert 3.1 Basic ideas of machine learning
Zhang et al. Online kernel classification with adjustable bandwidth using control-based learning approach
Haugland A comparatiue study of machine learning models in stock price prediction
WO2022244563A1 (ja) 予測装置、学習装置、予測方法、学習方法、予測プログラム及び学習プログラム
Yasui An Empirical Study of Exploration Strategies for Model-Free Reinforcement Learning

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: 20953274

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
ENP Entry into the national phase

Ref document number: 2022548325

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020953274

Country of ref document: EP

Effective date: 20221209

NENP Non-entry into the national phase

Ref country code: DE