WO2023233559A1 - 学習装置、判定装置、学習方法および記録媒体 - Google Patents

学習装置、判定装置、学習方法および記録媒体 Download PDF

Info

Publication number
WO2023233559A1
WO2023233559A1 PCT/JP2022/022235 JP2022022235W WO2023233559A1 WO 2023233559 A1 WO2023233559 A1 WO 2023233559A1 JP 2022022235 W JP2022022235 W JP 2022022235W WO 2023233559 A1 WO2023233559 A1 WO 2023233559A1
Authority
WO
WIPO (PCT)
Prior art keywords
parameter
shared
machine learning
vector
parameters
Prior art date
Application number
PCT/JP2022/022235
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 PCT/JP2022/022235 priority Critical patent/WO2023233559A1/ja
Publication of WO2023233559A1 publication Critical patent/WO2023233559A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Definitions

  • the present invention relates to a learning device, a determination device, a learning method, and a recording medium.
  • a determination device using multiple machine learning models such as a determination device using ensemble learning
  • Patent Document 1 discloses that a neural network (NN) is used in ensemble learning such as face recognition.
  • ERT Ensemble based Robust Training
  • Non-Patent Document 1 discloses that the resulting determination device is less likely to be fooled by an adversarial example (AX).
  • AX adversarial example
  • the determination device is less likely to be fooled by adversarial samples, which means that the determination device is less likely to make false determinations when input with adversarial samples.
  • the determination device using multiple machine learning models be able to store a relatively small number of parameter values.
  • An example of the object of the present invention is to provide a learning device, a determination device, a learning method, and a recording medium that can solve the above-mentioned problems.
  • the learning device includes, for the parameters of a machine learning model having a plurality of parameters, a shared parameter provided for common use by a plurality of the machine learning models, and a shared parameter provided for each machine learning model.
  • mask initialization means for determining mask information that indicates distinction from non-shared parameters; and a plurality of machine learning models to which parameter values indicated by the shared parameters, the non-shared parameters, and the mask information are applied.
  • the method includes a loss function calculating means for calculating a value of a loss function for training data, and a parameter updating means for updating the value of the shared parameter and the value of the non-shared parameter using the value of the loss function.
  • the learning method includes a learning method in which, for the parameters of a machine learning model having a plurality of parameters, a shared parameter provided for common use by a plurality of machine learning models, and a shared parameter for each machine learning model. a step of determining mask information indicating differentiation from a non-shared parameter provided in the shared parameter, the non-shared parameter, and a plurality of machine learning models to which the parameter values indicated by the mask information are applied.
  • the method includes calculating a value of a loss function for training data, and updating the value of the shared parameter and the value of the non-shared parameter using the value of the loss function.
  • the recording medium stores, in a computer, the parameters of a machine learning model having a plurality of parameters, a shared parameter provided for common use by a plurality of machine learning models, and a shared parameter for each machine learning model.
  • a program was recorded for executing the steps of calculating a value of a loss function for training data, and updating the value of the shared parameter and the value of the non-shared parameter using the value of the loss function. It is a recording medium.
  • the number of parameter values that should be stored by the determination device using a plurality of machine learning models can be relatively reduced.
  • FIG. 2 is a diagram illustrating an example of multiple neural networks in which all parameters are configured as non-shared parameters.
  • FIG. 2 is a diagram illustrating an example of multiple neural networks including shared parameters.
  • FIG. 1 is a schematic block diagram showing an example of a functional configuration of a learning device according to a first embodiment.
  • 3 is a flowchart illustrating an example of a processing procedure of the learning device according to the first embodiment.
  • 7 is a flowchart illustrating an example of a processing procedure for loss function calculation by the learning device according to the first embodiment.
  • It is a schematic block diagram showing an example of the functional composition of the learning device concerning a 2nd embodiment and a 3rd embodiment.
  • It is a flow chart which shows an example of a processing procedure of a learning device concerning a 2nd embodiment.
  • FIG. 1 is a schematic block diagram showing the configuration of a computer according to at least one embodiment.
  • FIG. 1 is a diagram illustrating an example of a plurality of neural networks in which all parameters are configured as non-shared parameters.
  • NN1 and NN2 shown in FIG. 1 are neural networks having the same structure. Specifically, NN1 and NN2 are fully connected neural networks having layer 1, layer 2, and layer 3, respectively, and each layer has four nodes. Each node is configured using a neuron model (artificial neuron).
  • Figure 1 shows an example where it is determined for each node whether a parameter is provided for each neural network or shared by multiple neural networks, and for all nodes, parameters are provided for each neural network. It is being
  • Parameters provided for each neural network are also referred to as non-shared parameters.
  • a node whose parameters are determined to be provided for each neural network is also referred to as a node with non-shared parameters.
  • nodes based on non-shared parameters are indicated by circles ( ⁇ ).
  • a parameter that is shared by a plurality of neural networks is also referred to as a shared parameter.
  • a node whose parameters are determined to be shared by a plurality of neural networks is also referred to as a node with shared parameters.
  • Parameters in the neural network are provided depending on the type of neural network.
  • examples of parameters include a weighting coefficient provided for each connection between nodes and a bias provided for each node for calculating node output.
  • the weighting coefficient provided for each connection between nodes and the bias provided for each node for calculating the node output are parameters. This applies to the example below.
  • examples of parameters include a weighting coefficient provided for each connection between nodes and a firing threshold provided for each node.
  • the parameter provided for the connection between nodes is It can be treated as belonging to the receiving node.
  • a parameter provided in a connection whose input node is a node based on a non-shared parameter may be a non-shared parameter.
  • a parameter provided in a connection in which a node based on a shared parameter is an input node may be a shared parameter.
  • Ensemble learning involves learning a system that includes multiple machine learning models. This system determines the output of the system based on the outputs of the plurality of machine learning models, such as by taking a majority vote of the outputs of the plurality of machine learning models.
  • a system that includes a plurality of machine learning models and determines the output of the system based on the outputs of the plurality of machine learning models will be referred to as an ensemble system.
  • a machine learning model included in an ensemble system is referred to as a "machine learning model within the ensemble.”
  • a neural network included in an ensemble system is referred to as a "neural network within the ensemble.”
  • FIG. 2 is a diagram illustrating an example of multiple neural networks including shared parameters.
  • NN3 and NN4 shown in FIG. 2 are neural networks having the same structure. Specifically, NN3 and NN4 are fully connected neural networks having layer 1, layer 2, and layer 3, respectively, and each layer has four nodes. Each node is constructed using a neuron model.
  • NN1 and NN2 in FIG. 1 all parameters are non-shared parameters, whereas NN3 and NN4 in FIG. 2 include shared parameters.
  • nodes based on non-shared parameters are indicated by circles ( ⁇ ), and nodes based on shared parameters are indicated by double circles ( ⁇ ).
  • NN3 and NN4 have the same structure, parameters at the same position in the neural network structure can be associated with NN3 and NN4, and parameters at the same position can be shared.
  • nodes at the same position in the neural network structure of NN3 and NN4 are nodes based on shared parameters.
  • parameters located at the same position in the neural network structure are shared parameters between NN3 and NN4.
  • parameters located at the same position in the neural network structure can be associated, and parameters located at the same position can be shared. Sharing parameters among multiple neural networks is also referred to as multiple neural networks sharing parameters.
  • two neural networks are said to be the same if they have the same structure and all the values of parameters located at the same position in the structure of the neural networks are the same.
  • two neural networks are said to be different if their structures are different.
  • Two neural networks are said to be different even if they have the same structure but have different values for at least one set of parameters located at the same position in the structure of the neural network.
  • Different neural networks may output different values for the same input data. Since the plurality of neural networks can be configured as different neural networks, it is possible to configure a system that determines the output of the system based on the outputs of the plurality of neural networks. For example, a majority model that takes a majority vote of the outputs of these plurality of neural networks may be configured as a system.
  • Adversarial samples are input data that are intentionally generated using minute perturbations that cause machine learning models to make incorrect decisions.
  • a method is needed to make machine learning models such as neural networks robust against adversarial samples.
  • ERT Robustization training
  • Ensemble learning is a learning method for improving prediction ability for unknown data by using a plurality of neural networks that have been trained individually and taking a majority vote.
  • Robust training based on ensemble learning allows the neural networks in the ensemble to simultaneously learn to be less likely to be fooled (less likely to make false judgments) against adversarial samples, and to make robust predictions as a system using multiple neural networks. This is a learning method that aims to realize the following. In robustness training based on ensemble learning, it is expected that robustness will improve by increasing the number of neural networks in the ensemble.
  • the number of parameters increases in proportion to the number of neural networks.
  • the storage capacity required to store parameter values will be large, which may lead to processing delays.
  • the number of neural networks cannot be sufficiently increased due to the limitation of storage capacity that can be used to store parameter values, and that sufficient robustness cannot be ensured.
  • a neural network in which only some parameters are configured as shared parameters for robust training based on ensemble learning a neural network in which all parameters are configured as non-shared parameters due to parameter sharing is used.
  • the number of parameters can be reduced compared to when using . This is expected to result in relatively high processing speed. Furthermore, in this case, the number of neural networks can be relatively increased, and in this respect, it is expected that robustness will be improved.
  • machine learning model is not limited to this.
  • Various machine learning models can be used that can update parameters using a learning method such as error backpropagation, have multiple parameters, and can share parameters in ensemble learning.
  • examples of such machine learning models include support vector machines (SVM) and random forests.
  • a neural network is used as a machine learning model
  • the machine learning model is not limited to this.
  • Various machine learning models can be used that can update parameters using a learning method such as error backpropagation, have multiple parameters, and can share parameters in ensemble learning.
  • a system using multiple machine learning models like ensemble learning, It is not limited to determining the output of the system by taking a majority vote.
  • a system using a plurality of machine learning models may weight the outputs of the plurality of machine learning models and then take a majority vote to determine the output of the system.
  • a system that uses multiple machine learning models can distribute or trust the outputs of multiple machine learning models. Index values regarding the outputs of a plurality of machine learning models, such as degree, may be calculated.
  • an error backpropagation method as an example of a machine learning method, applicable machine learning methods are not limited to this.
  • a system using a plurality of machine learning models is not limited to one in which the output of the system is determined by taking a majority vote of the outputs of the plurality of machine learning models.
  • a system using a plurality of machine learning models may weight the outputs of the plurality of machine learning models and then take a majority vote to determine the output of the system.
  • a system that uses multiple machine learning models can distribute or trust the outputs of multiple machine learning models. Index values regarding the outputs of a plurality of machine learning models, such as degree, may be calculated.
  • the applicable machine learning method is not limited to the error backpropagation method.
  • each neural network in the ensemble is the same, and the position of the shared parameter of each neural network is also the same in the structure of the neural network.
  • is a vector indicating the parameters of one neural network in the ensemble. As mentioned above, it is assumed that the neural networks in the ensemble have the same structure and therefore the same number of parameters.
  • represents the number of parameters for one neural network in the ensemble.
  • represents a set of
  • the parameter vector of the neural network is an element of R
  • ⁇ s is a shared parameter vector that holds parameters shared between neural networks. s represents shared.
  • ⁇ j ns (1 ⁇ j ⁇ K) is a non-shared parameter vector that holds parameters of the j-th neural network that are not shared between neural networks. ns represents non-shared.
  • the j-th neural network in the ensemble will also be simply referred to as the j-th neural network. In this case, 1 ⁇ j ⁇ K.
  • both the shared parameter vector and the non-shared parameter vector can be vectors whose elements are real numbers equal to the number of parameters for one neural network in the ensemble.
  • the storage capacity required for storing parameter values can be reduced by sharing parameters.
  • a shared mask vector M for representing the shared position of the shared parameter vector can be expressed as in equation (2).
  • the shared mask vector M is a
  • An element value of 1 represents a shared position.
  • the shared position is the position of an element associated with the shared parameter in the shared parameter vector.
  • the shared mask vector M indicates the position of the shared parameter in the structure of the neural network.
  • the shared mask vector M corresponds to an example of mask information.
  • the non-shared mask vector ⁇ M for representing the non-shared position of the non-shared parameter vector can be expressed as in equation (3).
  • the non-shared mask vector ⁇ M is also a
  • An element value of 1 represents a non-shared position.
  • the non-shared position is the position of the element associated with the non-shared parameter in the non-shared parameter vector.
  • the non-shared mask vector ⁇ M indicates the position of the non-shared parameter in the structure of the neural network.
  • the non-shared mask vector ⁇ M is the shared mask vector M with 0 and 1 inverted.
  • Extracting the shared parameter from the shared parameter vector can be expressed as in equation (4).
  • the elements at shared positions indicate the values of the shared parameters, and the values of the elements at non-shared positions are 0.
  • Extraction of the non-shared vector from the non-shared parameter vector of the j-th neural network can be expressed as in equation (5).
  • represents the Hadamard product.
  • the elements at non-shared positions indicate the values of non-shared parameters, and the values of the elements at shared positions are 0.
  • the parameter vector ⁇ j of the j-th neural network can be expressed as in equation (6).
  • the parameter vector ⁇ j is a vector indicating the value of the parameter of the j-th neural network.
  • the parameter vector ⁇ j has an element of the shared vector ⁇ s at the shared position represented by the shared mask vector M, and an element of the j-th neural network at the unshared position represented by the unshared mask vector ⁇ M. It has elements of a non-shared parameter vector ⁇ j ns .
  • l represents one selected layer of the neural network.
  • represents adversarial perturbation (noise).
  • ⁇ ⁇ indicates that the magnitude of ⁇ in the ⁇ norm is less than or equal to the given ⁇ .
  • x s + ⁇ represents input data obtained by adding hostile perturbation ⁇ to x s .
  • f l ⁇ j (x s + ⁇ ) represents the output (vector) of the l-th layer when x s + ⁇ is input in the j-th neural network using the parameter vector ⁇ j .
  • f l ⁇ j (x t ) represents the output (vector) of the l-th layer when x t is input in the j-th neural network using the parameter vector ⁇ j .
  • ” 2 2 represents the 2 norm, and “
  • argmin ⁇ d( ⁇ )” represents finding ⁇ that minimizes d( ⁇ ).
  • Equation (8) " ⁇ f ⁇ j (x s , x t , l)" in Equation (8) is expressed as " ⁇ f ⁇ j (x s , When ⁇ is given, it represents the noise ⁇ that makes the output closest to x t . That is, this noise ⁇ is the minimum noise that causes x s to be misjudged as x t regarding the output of the l-th layer of the j-th neural network.
  • x s + ⁇ f ⁇ j (x s , x t , l) means that the hostile perturbation ⁇ f ⁇ j (x s , x t , l) obtained by equation (8) is applied to x s Represents the given input data.
  • CEf ⁇ i (x, y) is a cross entropy loss function, and when input data x and class label y are given, the i-th neural network when using parameter vector ⁇ i is , is a function that outputs a smaller value as x is correctly classified as y.
  • CEf ⁇ i (x s + ⁇ f ⁇ j (x s , x t , l), y s ) means that when the parameter vector ⁇ j is used for x s , the This is a function that outputs a relatively small value when the i-th neural network using the parameter vector ⁇ i correctly judges y s even if an adversarial perturbation is applied to make a judgment.
  • ⁇ j ⁇ i CEf ⁇ i ( ⁇ , ⁇ ) represents calculating the cross entropy of all neural networks different from the j-th neural network and taking the sum.
  • E (xs, ys), (xt, yt), l ⁇ j ⁇ i CEf ⁇ i ( ⁇ , ⁇ )” is for (x s , y s ), (x t , y t ), l, Represents taking the expected value of the sum of cross entropy.
  • FIG. 3 is a schematic block diagram showing an example of the functional configuration of the learning device 100 according to the first embodiment.
  • the learning device 100 includes a control section 110 and a storage section 130.
  • the control unit 110 includes a mask initialization unit 111, a parameter initialization unit 112, a training data acquisition unit 113, and a learning unit 114.
  • the learning unit 114 includes a mini-batch sampling unit 115, a layer selection unit 116, a parameter determination unit 117, a loss function calculation unit 118, and a parameter update unit 119.
  • the storage unit 130 includes a training data storage unit 131. It should be noted that the learning device 100 may include things other than these, and the storage unit 130 may be provided outside the learning device 100.
  • the robustness training ERT
  • the positions of shared parameters of neural networks (NN) in the ensemble are randomly determined, and the parameters of the neural networks are learned. Let K be the number of neural networks in the ensemble.
  • the mask initialization unit 111 initializes the shared mask vector M and the non-shared mask vector ⁇ M.
  • the mask initialization unit 111 corresponds to an example of mask initialization means.
  • the initialization of the shared mask vector M and the non-shared mask vector ⁇ M performed by the mask initialization unit 111 can be regarded as a process of randomly selecting a shared parameter from among the parameters of one neural network.
  • the shared mask vector M and the non-shared mask vector ⁇ M can be expressed as in equation (9).
  • the mask initialization unit 111 randomly initializes the shared mask vector M so that the element of p ⁇
  • p indicates the proportion of shared parameters of neural networks in the ensemble. The value of p may be predetermined depending on the available storage capacity. Alternatively, the initial value of the shared mask vector M may be determined in advance, and the mask initialization unit 111 may store the initial value of the shared mask vector M in advance.
  • the parameter initialization unit 112 initializes the shared parameter vector ⁇ s and each of the non-shared parameter vectors ⁇ 1 ns , . . . , ⁇ K ns .
  • the shared parameters and non-shared parameters can be expressed as in equation (10).
  • the parameter initialization unit 112 assigns random numbers to each element of these parameter vectors and randomly initializes the parameter values.
  • the initial value of each parameter may be determined in advance, and the parameter initialization unit 112 may store the initial value of the parameter in advance as the initial value of each element of the parameter vector.
  • the training data storage unit 131 stores training data (a set of) X tr used for learning the neural network.
  • the training data X tr can be expressed as in equation (11).
  • xs is the input data to the neural network, such as image data
  • ys is the correct class label (class value) of xs
  • x t is the input data to the neural network
  • y t is the correct class label of x t
  • x s ” and “x t ” are input data belonging to different classes. In other words, y s ⁇ y t .
  • the training data acquisition unit 113 acquires training data X tr stored in the training data storage unit 131.
  • the learning unit 114 uses the training data X tr to perform learning by updating the parameter vector of the neural network in the ensemble by an iterative error backpropagation method.
  • the mini-batch sampling unit 115 samples a mini-batch B used for one learning from the training data X tr . Specifically, the mini-batch sampling unit 115 randomly samples a subset from the training data X tr to form the mini-batch B.
  • the layer selection unit 116 selects one layer l of the neural network to be used to generate the adversarial perturbation ⁇ f ⁇ j (x s , x t , l).
  • the parameter determining unit 117 determines a parameter vector for each neural network.
  • the parameter determining unit 117 corresponds to an example of parameter determining means.
  • the parameter vector ⁇ j of the j-th neural network can be expressed as in equation (12).
  • the parameter determination unit 117 uses the shared mask vector M, the unshared mask vector ⁇ M, the shared parameter vector ⁇ s , and the unshared parameter vector ⁇ j ns (1 ⁇ j ⁇ K). , determine (calculate) the parameter vector ⁇ j (1 ⁇ j ⁇ K) of each neural network. ⁇ s and ⁇ j ns (1 ⁇ j ⁇ K) are initialized or updated.
  • the process in which the parameter determining unit 117 determines the parameter vector ⁇ j can be regarded as a process for configuring the j-th neural network.
  • a model template is provided for common use by K neural networks having the same structure.
  • a model template is a template in which the parameters of a neural network are indicated by a parameter vector, and a neural network is configured by inputting values to the parameter vector.
  • ⁇ f ⁇ j (x s , x t , l) is the hostile perturbation shown in equation (8).
  • “l” is the layer l selected by the layer selection unit 116. This adversarial perturbation is the minimum noise that causes x s to be misjudged as x t with respect to the output of the lth layer of the jth neural network.
  • “x s + ⁇ f ⁇ j (x s , x t , l)” represents input data in which the hostile perturbation ⁇ f ⁇ j (x s , x t , l) is added to x s .
  • CEf ⁇ i (x, y) is a cross-entropy loss function, and when input data x and class label y are given, the i-th neural network using parameter vector ⁇ i converts x to y This is a function that outputs a smaller value as it is correctly classified. Therefore, “CEf ⁇ i (x s + ⁇ f ⁇ j (x s , x t , l), y s )" means that when the parameter vector ⁇ j is used for x s , the Even if an adversarial perturbation is applied to make a judgment, the i-th neural network using the parameter vector ⁇ i is a function that outputs a value small enough to correctly judge y s .
  • ⁇ j ⁇ i CEf ⁇ i (x s + ⁇ f ⁇ j (x s , x t , l), y s ) represents finding the cross entropy of all neural networks different from the jth neural network and taking the sum. . " 1 /
  • the loss function calculation unit 118 corresponds to an example of loss function calculation means.
  • the parameter update unit 119 updates parameters by backpropagating error information using an error backpropagation method.
  • the parameter update unit 119 corresponds to an example of a parameter update unit. Specifically, the parameter update unit 119 calculates the partial differential of the loss function Loss shown in Equation (14), and updates ⁇ s .
  • Equation (14) means that ⁇ Loss/ ⁇ ( ⁇ s ) i is calculated for the element ( ⁇ s ) i of ⁇ s (1 ⁇ i ⁇
  • Equation (15) means that ⁇ Loss/ ⁇ ( ⁇ j ns ) i is calculated for the element ( ⁇ j ns ) i (1 ⁇ i ⁇
  • the parameter updating unit 119 updates ( ⁇ j ns ) i to ( ⁇ j ns ) i ⁇ Loss/ ⁇ ( ⁇ j ns ) i for a predetermined learning coefficient ⁇ (>0). do.
  • the learning unit 114 After completing the learning a predetermined number of times, the learning unit 114 outputs the parameter vectors ⁇ s , ⁇ 1 ns , . . . , ⁇ K ns as learning results.
  • FIG. 4 is a flowchart illustrating an example of a processing procedure of the learning device 100 according to the first embodiment.
  • FIG. 5 is a flowchart illustrating an example of a processing procedure for loss function calculation by the learning device 100.
  • the mask initialization unit 111 initializes the shared mask vector M and the non-shared mask vector ⁇ M (step S101). For example, the mask initialization unit 111 randomly initializes the shared mask vector M, and initializes the non-shared mask vector ⁇ M by inverting 0 and 1 of each element of the mask vector M.
  • the parameter initialization unit 112 initializes the shared parameter vector ⁇ s and the non-shared parameter vector ⁇ 1 ns , . . . , ⁇ K ns (step S102). For example, the parameter initialization unit 112 allocates random numbers to each element of these parameter vectors.
  • the layer selection unit 116 selects one layer l of the neural network to be used to generate the adversarial perturbation ⁇ f ⁇ j (x s , x t , l) (step S105).
  • the parameter determining unit 117 uses the shared mask vector M, the unshared mask vector ⁇ M, the shared parameter vector ⁇ s , and the unshared parameter vector ⁇ j ns (1 ⁇ j ⁇ K) to determine each
  • the parameter vector ⁇ j ⁇ s ⁇ M+ ⁇ j ns ⁇ M (1 ⁇ j ⁇ K) is determined (calculated) for the neural network (step S106).
  • represents the Hadamard product.
  • ⁇ s and ⁇ j ns (1 ⁇ j ⁇ K) are initialized or updated.
  • a loss function Loss is calculated (step S107).
  • the loss function calculation unit 118 selects one element (x s , y s , x t , y t ) from mini-batch B (step S201).
  • the loss function calculation unit 118 calculates the adversarial perturbation ⁇ f ⁇ j (x s , x t , l) in the j-th neural network (step S202).
  • the loss function calculation unit 118 calculates the sum of cross entropy when adversarial perturbation ⁇ f ⁇ j (x s , x t , l) is added to x s in the i-th neural network different from the j-th neural network.
  • ⁇ j ⁇ i CEf ⁇ i (x s + ⁇ f ⁇ j (x s , x t , l), y s ) is calculated (step S203).
  • the loss function calculation unit 118 determines whether the sum of cross entropy has been calculated for all elements of mini-batch B (step S204). If the calculation has not been performed for all elements, the loss function calculation unit 118 returns the process to step S201. On the other hand, if the calculation has been performed for all elements, the loss function calculation unit 118 moves the process to step S205.
  • the learning unit 114 determines whether learning has been performed a predetermined number of times (step S110). If learning has not been performed a predetermined number of times, the learning unit 114 returns the process to step S104. On the other hand, if learning has been performed a predetermined number of times, the learning unit 114 moves the process to step S111. Next, the learning unit 114 (control unit 110) outputs the parameter vectors ⁇ s , ⁇ 1 ns , ..., ⁇ K ns of the neural network (step S111).
  • the learning end condition is that learning has been performed a predetermined number of times, but the condition is not limited to this.
  • the learning termination condition may be that the amount of decrease in the loss function is smaller than a predetermined threshold.
  • the mask initialization unit 111 initializes shared and non-shared mask vectors
  • the parameter initialization unit 112 initializes parameter vectors
  • the training data acquisition unit 113 acquires training data.
  • a mini-batch sampling unit 115 samples the mini-batch
  • a layer selection unit 116 selects a layer
  • a parameter determination unit 117 determines a parameter vector using shared and non-shared mask vectors
  • a loss function calculation unit 118 calculate the loss function.
  • the parameter updating unit 119 updates the parameters
  • the learning unit 114 outputs a parameter vector after completing a predetermined number of learnings.
  • the learning device 100 can suppress the number of neural network parameters in the ensemble in robust training (ERT) based on ensemble learning. Therefore, since the learning device 100 can reduce the storage capacity of the memory, etc., it is possible to increase the number of neural networks in the ensemble. Therefore, the learning device 100 can improve robustness in robustness training based on ensemble learning.
  • the mask initialization unit 111 determines a shared mask vector that indicates the distinction between a shared parameter that is shared by a plurality of neural networks and a non-shared parameter that is provided for each neural network, regarding the parameters of the neural network.
  • the loss function calculation unit 118 calculates a value for training data of a loss function based on a plurality of neural networks to which parameter values indicated by a shared parameter, an unshared parameter, and a shared mask vector are applied.
  • the parameter update unit 119 updates the shared parameter value and the non-shared parameter value using the value of the loss function.
  • a part of a plurality of neural networks can be shared. Therefore, according to the learning device 100, the number of parameter values to be stored by the determination device using a plurality of trained neural networks can be relatively reduced.
  • the parameter determination unit 117 selects a shared mask vector from among the parameter vector elements of a model template that includes a parameter vector in which parameters for one neural network are configured as a vector.
  • the shared parameter value is set from the shared parameter vector for the element that is set as a shared parameter by By setting parameter values, one neural network among the plurality of neural networks is configured.
  • parameter values can be calculated by matrix calculations, and calculations can be performed relatively quickly. .
  • the mask initialization unit 111 determines a shared mask vector so as to randomly select a shared parameter from among the parameters for one neural network. Thereby, the learning device 100 can select a shared parameter among the parameters for one neural network through a simple process of randomly selecting the shared parameter. If the desired learning result cannot be obtained, the learning may be redone, including the selection of shared parameters by the mask initialization unit 111.
  • the loss function is a function that outputs a relatively small value when other neural networks do not make a misjudgment with respect to input data that has been given an adversarial perturbation that causes one neural network to make a misjudgment. It is expected that the learning device 100 can obtain a determination device that is robust to adversarial perturbations by performing ensemble learning of a neural network using this loss function. Specifically, even if one of the neural networks obtained by ensemble learning makes a judgment (incorrect class identification) on input data that has been given adversarial perturbation, the other neural networks It is expected to make correct judgments (correct class identification) on the data.
  • ERT robustness training
  • the positions of shared parameters of neural networks (NNs) within the ensemble are also determined by learning. That is, in the ERT of the second embodiment, the parameters of the neural network and the positions of the shared parameters are learned by solving the optimization problem of equation (23) below.
  • the position of the shared parameter is also determined by learning, so the position of the shared parameter is changed during learning. For example, in FIG. 2, the position of the shared parameter indicated by ⁇ is changed during learning.
  • the second embodiment is similar to the first embodiment.
  • the shared parameters and non-shared parameters in the second embodiment are the same as in the first embodiment.
  • the shared vector and non-shared vector can be expressed as in equation (16).
  • the shared mask vector M in the second embodiment is also the same as in the first embodiment.
  • a real vector corresponding to the shared mask vector M is provided.
  • This real vector is also referred to as a substitute vector for the shared mask vector M, or simply a substitute vector, and is denoted by S.
  • S is a variable (variable vector) and is also referred to as an alternative variable.
  • the shared mask vector M and the alternative vector S can be expressed as in equation (17).
  • M is a
  • p is the proportion of shared parameters. p can be expressed as in equation (18).
  • n can be a predetermined positive integer.
  • the unshared mask vector ⁇ M in the second embodiment is also the same as in the first embodiment.
  • the real vector corresponding to the non-shared mask vector ⁇ M can be calculated by 1-S.
  • This real vector is also called a substitute vector for the non-shared mask vector ⁇ M, or simply a substitute vector, and is expressed as 1-S or ⁇ S.
  • 1-S or ⁇ S is also referred to as a substitute variable.
  • a variable corresponding to ⁇ S may be provided and 1-S may be substituted therein.
  • the non-shared mask vector ⁇ M and the alternative vector ⁇ S can be expressed as in equation (19).
  • ⁇ M is also a
  • ⁇ M is the inversion of 0 and 1 of M.
  • the substitute variable ⁇ S corresponding to the non-shared mask vector ⁇ M is also a
  • the value of each element of ⁇ S is the value obtained by subtracting the value of the element at the corresponding position of S from 1.
  • the shared parameter vector M may be calculated from the alternative vector S during learning.
  • the shared parameter can be extracted from the shared parameter vector ⁇ s using the shared mask vector M, as in the first embodiment, and can be expressed as in equation (4) above.
  • a case where the shared parameters are extracted from the shared parameter vector ⁇ s using the shared mask vector M will be described in the third embodiment.
  • the elements of the alternative vector S are used as coefficients by which the shared parameter is multiplied. Multiplication of the elements of the alternative vector S by the shared parameter can be expressed as in equation (20).
  • represents the Hadamard product, and the product of each element of the vector is calculated.
  • the extraction of the unshared parameter from the unshared parameter vector ⁇ j ns of the j-th neural network is performed using the unshared mask vector as in the first embodiment. This can be done using ⁇ M, and can be expressed as in the above equation (5).
  • the parameter vector ⁇ j of the j-th neural network can also be calculated in the same manner as in the first embodiment, and can be expressed as in equation (6). In the third embodiment described later, these processing methods can be used.
  • the elements of the non-substitution vector 1-S are used as coefficients by which the non-shared parameters are multiplied. Multiplication of the elements of the non-alternative vector 1-S by the unshared parameters of the j-th neural network can be expressed as in equation (21).
  • represents the Hadamard product
  • a parameter vector is calculated by adding together the value obtained by multiplying the shared parameter by the element of the substitute vector S and the value obtained by multiplying the non-shared parameter by the element of the non-substitute vector 1-S.
  • the parameter vector ⁇ j of the j-th neural network can be expressed as in equation (22).
  • Equation (23) " xs " is input data to the neural network, such as image data, and " ys " is the correct class label (class value) of xs .
  • “x t ” is the input data to the neural network and “y t ” is the correct class label of x t .
  • “x s ” and “x t ” are input data belonging to different classes. In other words, y s ⁇ y t .
  • “ ⁇ f ⁇ j (x s , x t , l)” represents hostile perturbation (noise) and is similar to that calculated by equation (8) in the first embodiment.
  • ⁇ f ⁇ j (x s , x t , l) is the minimum noise that causes x s to be misjudged as x t regarding the output of the l-th layer of the j-th neural network.
  • x s + ⁇ f ⁇ j (x s , x t , l) represents input data in which the hostile perturbation ⁇ f ⁇ j (x s , x t , l) obtained by equation (8) is added to x s .
  • CEf ⁇ i (x, y) is a cross entropy loss function, and when input data x and class label y are given, the i-th neural network when using parameter vector ⁇ i is , is a function that outputs a smaller value as x is correctly classified as y.
  • CEf ⁇ i (x s + ⁇ f ⁇ j (x s , x t , l), y s ) means that when the parameter vector ⁇ j is used for x s , the Even if an adversarial perturbation is applied to make a judgment, the i-th neural network using the parameter vector ⁇ i is a function that outputs a value small enough to correctly judge y s .
  • ⁇ j ⁇ i CEf ⁇ i ( ⁇ , ⁇ ) represents calculating the cross entropy of all neural networks different from the j-th neural network and taking the sum.
  • E (xs, ys), (xt, yt), l ⁇ j ⁇ i CEf ⁇ i ( ⁇ , ⁇ )” is for (x s , y s ), (x t , y t ), l, Represents taking the expected value of the sum of cross entropy.
  • an alternative vector S is used as one of the targets for which values are determined in optimization.
  • the shared mask vector M takes discrete values, a method using differentiation such as error backpropagation cannot be applied as a solution to the optimization problem. Therefore, an optimization problem is constructed using an alternative vector S in place of the shared mask vector M, and the shared mask vector M is determined from the obtained alternative vector S.
  • the shared mask vector M is obtained from the alternative vector S obtained at the end of learning according to the ratio p shown in equation (18) as described above.
  • the value of the alternative vector S is updated.
  • the shared mask vector M is determined according to the ratio p shown in equation (18) as described above.
  • the shared parameter vector ⁇ s and the non-shared parameter vector ⁇ j ns are updated, as in the first embodiment.
  • FIG. 6 is a schematic block diagram showing an example of the functional configuration of the learning device 200 according to the second embodiment.
  • the learning device 200 includes a control section 210 and a storage section 230.
  • the control unit 210 includes a mask initialization unit 211, a parameter initialization unit 212, a training data acquisition unit 213, a learning unit 214, and a mask determination unit 221.
  • the learning unit 214 includes a mini-batch sampling unit 215, a layer selection unit 216, a parameter determination unit 217, a loss function calculation unit 218, a mask update unit 219, and a parameter update unit 220.
  • the storage unit 230 includes a training data storage unit 231.
  • the learning device 200 may include things other than these, and the storage unit 230 may be provided outside the learning device 200.
  • the robustness training (ERT) based on ensemble learning of the second embodiment the positions of shared parameters of neural networks (NN) in the ensemble are determined by learning, and the parameters of the neural networks are learned.
  • K be the number of neural networks in the ensemble.
  • the mask initialization unit 211 initializes a substitute variable (substitute vector) S corresponding to the shared mask vector M.
  • the mask initialization unit 211 corresponds to an example of mask initialization means.
  • the substitute variables S and ⁇ S can be expressed as in equation (24).
  • the mask initialization unit 211 randomly initializes the substitute variables S.
  • the elements of S are real numbers from 0 to 1.
  • the initial value of the alternative variable S may be determined in advance, and the mask initialization unit 211 may store the initial value of the alternative variable S in advance.
  • Parameter initialization section 212 is similar to parameter initialization section 112.
  • the parameter initialization unit 212 initializes the shared parameter vector ⁇ s and each of the non-shared parameter vectors ⁇ 1 ns , . . . , ⁇ K ns .
  • the shared parameters and non-shared parameters can be expressed as in equation (25).
  • the parameter initialization unit 212 assigns random numbers to each element of these parameter vectors and randomly initializes the parameter values.
  • the initial value of each parameter may be determined in advance, and the parameter initialization unit 112 may store the initial value of the parameter in advance as the initial value of each element of the parameter vector.
  • the training data storage section 231 is similar to the training data storage section 131.
  • the training data storage unit 231 stores (a set of) training data X tr used for learning the neural network. As described above, the training data X tr can be expressed as in equation (26).
  • the learning unit 214 uses the training data X tr to perform learning by updating the parameter vector of the neural network in the ensemble and the substitute variable S of the shared mask vector by an iterative error backpropagation method.
  • Mini-batch sampling section 215 is similar to mini-batch sampling section 115.
  • the mini-batch sampling unit 215 samples a mini-batch B used for one learning from the training data X tr . Specifically, the mini-batch sampling unit 215 randomly samples a subset from the training data X tr to form the mini-batch B.
  • the layer selection section 216 is similar to the layer selection section 116.
  • the layer selection unit 216 selects one layer l of the neural network to be used to generate the adversarial perturbation ⁇ f ⁇ j (x s , x t , l).
  • the parameter determining unit 217 determines a parameter vector for each neural network.
  • the parameter determining unit 217 corresponds to an example of parameter determining means.
  • the parameter vector ⁇ j of the j-th neural network can be expressed as in equation (27).
  • a parameter vector ⁇ j (1 ⁇ j ⁇ K) of each neural network is determined (calculated) using ⁇ j ns (1 ⁇ j ⁇ K ). S, ⁇ s and ⁇ j ns (1 ⁇ j ⁇ K) have been initialized or updated.
  • Loss function calculation section 218 is similar to loss function calculation section 118.
  • the loss function calculation unit 218 corresponds to an example of loss function calculation means.
  • the loss function Loss in equation (28) is similar to the loss function Loss in equation (13).
  • the mask update unit 219 updates the substitute variable S by backpropagating error information using an error backpropagation method.
  • the mask updating unit 219 corresponds to an example of mask updating means. Specifically, the mask update unit 219 calculates the partial differential of the loss function Loss shown in Equation (29), and updates S.
  • Equation (29) means that ⁇ Loss/ ⁇ S i is calculated for element S i (1 ⁇ i ⁇
  • the mask updating unit 219 updates S i to S i ⁇ Loss/ ⁇ S i for a predetermined ⁇ (>0). Furthermore, the mask updating unit 219 performs adjustment so that S i becomes a value within the range of [0, 1]. For example, if the calculated value of S i is S i ⁇ 0, the mask updating unit 219 sets the updated value of S i to 0. Further, when the calculated value of S i is S i >1, the mask updating unit 219 sets the updated value of S i to 1.
  • the parameter update unit 220 is similar to the parameter update unit 119.
  • the parameter update unit 220 corresponds to an example of a parameter update unit.
  • the parameter update unit 220 updates parameters by backpropagating error information using an error backpropagation method. Specifically, the parameter update unit 220 calculates the partial differential of the loss function Loss shown in Equation (30), and updates ⁇ s .
  • Equation (30) is similar to Equation (14).
  • the parameter updating unit 220 updates ( ⁇ s ) i to ( ⁇ s ) i ⁇ Loss/ ⁇ ( ⁇ s ) i for a predetermined learning coefficient ⁇ (>0).
  • Equation (31) is similar to Equation (15).
  • the parameter updating unit 220 updates ( ⁇ j ns ) i to ( ⁇ j ns ) i ⁇ Loss/ ⁇ ( ⁇ j ns ) i for a predetermined learning coefficient ⁇ (>0). do.
  • the learning unit 214 After completing the learning a predetermined number of times, the learning unit 214 outputs the parameter vectors ⁇ s , ⁇ 1 ns , . . . , ⁇ K ns and the substitute variable S as learning results.
  • the mask determining unit 221 determines the mask vector M. Specifically, for the alternative variable S output from the learning unit 214, the mask determining unit 221 sets the top p ⁇
  • m positions with large values to 1, and sets the other positions to 0.
  • the mask vector M is determined so that Here, p is the proportion of shared parameters shown in equation (18).
  • FIG. 7 is a flowchart illustrating an example of a processing procedure of the learning device 200 according to the second embodiment.
  • the parameter vectors ⁇ s , ⁇ 1 ns , . . . , ⁇ K ns and the alternative variable S are updated simultaneously for each learning session.
  • the mask initialization unit 211 initializes a substitute variable (substitute vector) S corresponding to the shared mask vector M. (Step S301). For example, the mask initialization unit 211 randomly initializes the substitute variables S.
  • the parameter initialization unit 212 initializes the shared parameter vector ⁇ s and the non-shared parameter vector ⁇ 1 ns , . . . , ⁇ K ns (step S302). For example, the parameter initialization unit 212 randomly initializes each element of these parameter vectors by assigning a random number to each element.
  • the layer selection unit 216 selects one layer l of the neural network to be used to generate the adversarial perturbation ⁇ f ⁇ j (x s , x t , l) (step S305).
  • represents the Hadamard product.
  • S, ⁇ s and ⁇ j ns (1 ⁇ j ⁇ K) have been initialized or updated.
  • the loss function Loss (1/
  • the calculation of the loss function Loss is similar to the loss function calculation procedure shown in FIG. 5 in the first embodiment, except that the meaning of the parameter vector ⁇ j (1 ⁇ j ⁇ K) is different.
  • the mask update unit 219 backpropagates the error information, calculates ⁇ Loss/ ⁇ S, and updates S (step S308).
  • the parameter update unit 220 backpropagates the error information, calculates ⁇ Loss/ ⁇ s , and updates ⁇ s (step S309).
  • the learning unit 214 determines whether learning has been performed a predetermined number of times (step S311). If learning has not been performed the predetermined number of times, the learning unit 214 returns the process to step S304. On the other hand, if learning has been performed a predetermined number of times, the learning unit 214 moves the process to step S312.
  • the mask determining unit 221 determines a mask vector M for the alternative variable S so that the top p ⁇
  • m positions with large values are set to 1 and the other positions are set to 0. (Step S312).
  • the learning unit 214 (control unit 210) outputs the parameter vectors ⁇ s , ⁇ 1 ns , ..., ⁇ K ns of the neural network and the mask vector M (step S313).
  • the learning end condition is that learning has been performed a predetermined number of times, but the condition is not limited to this.
  • the learning termination condition may be that the amount of decrease in the loss function is smaller than a predetermined threshold.
  • the mask initialization unit 211 initializes the substitute variable S
  • the parameter initialization unit 212 initializes the parameter vector
  • the training data acquisition unit 213 acquires training data.
  • the mini-batch sampling section 215 samples the mini-batch
  • the layer selection section 216 selects the layer
  • Calculation unit 218 calculates a loss function.
  • the mask update unit 219 updates the substitute variable S
  • the parameter update unit 220 updates the parameter
  • the learning unit 214 outputs the parameter vector and the substitute variable S after completing learning a predetermined number of times.
  • the mask determining unit 221 determines a mask vector from the alternative variable S.
  • the learning device 200 can suppress the number of neural network parameters in the ensemble in robust training (ERT) based on ensemble learning. Therefore, since the learning device 200 can reduce the storage capacity of the memory, etc., it is possible to increase the number of neural networks in the ensemble. Therefore, the learning device 200 can improve robustness in robustness training based on ensemble learning.
  • the learning device 200 determines the position of the shared parameter (mask vector) through learning, it is possible to more appropriately determine the position and number of the shared parameter. Furthermore, the learning device 200 of the second embodiment can perform processing faster than the processing method of the third embodiment described later.
  • the shared mask vector has continuous values for each parameter in one portion of the neural network.
  • the mask update unit 219 updates the value of each parameter in the shared mask vector (the value of the element of the shared mask vector) using the value of the loss function.
  • the learning device 200 in addition to the values of the parameters of the neural network, it is also possible to learn parameters to be shared parameters and their positions in the structure of the neural network. In this respect, the learning device 200 is expected to be able to perform learning with higher accuracy.
  • the position of the shared parameter of the neural network (NN) within the ensemble is also determined by learning, as in the second embodiment. That is, in the ERT of the third embodiment, the parameters of the neural network and the positions of the shared parameters are learned by solving the optimization problem of equation (23) described above.
  • the position of the shared parameter is also determined by learning, so the position of the shared parameter is changed during learning. For example, in FIG. 2, the position of the shared parameter indicated by ⁇ is changed during learning.
  • the third embodiment when updating the shared parameter vector and the non-shared parameter vector using the error backpropagation method, the shared mask vector M is calculated (updated) from the updated alternative vector S, and The error is calculated by calculating the parameter values of the neural network using the shared mask vector.
  • the third embodiment is similar to the second embodiment.
  • a schematic block diagram showing an example of the functional configuration of the learning device 200 of the third embodiment is similar to the schematic block diagram showing an example of the functional configuration of the learning device 200 of the second embodiment shown in FIG.
  • FIGS. 8 and 9 are flowcharts illustrating an example of a processing procedure of the learning device 200 according to the third embodiment.
  • the substitute variable S is first learned, mask vectors M and ⁇ M are determined from the substitute variable S, and these are used to calculate the parameter vectors ⁇ s , ⁇ 1 ns , ..., ⁇ K Learn ns .
  • the mask initialization unit 211 initializes a substitute variable (substitute vector) S corresponding to the shared mask vector M. (Step S401). For example, the mask initialization unit 211 randomly initializes the substitute variables S.
  • the parameter initialization unit 212 initializes the shared parameter vector ⁇ s and the non-shared parameter vector ⁇ 1 ns , . . . , ⁇ K ns (step S402). For example, the parameter initialization unit 212 randomly initializes each element of these parameter vectors by assigning a random number to each element.
  • the layer selection unit 216 selects one layer l of the neural network to be used to generate the adversarial perturbation ⁇ f ⁇ j (x s , x t , l) (step S405).
  • the parameter vector ⁇ j ⁇ s ⁇ S+ ⁇ j ns ⁇ S (1 ⁇ j ⁇ K) of each neural network is determined (calculated) using ⁇ j ⁇ K) (step S406).
  • represents the Hadamard product. S is initialized or updated.
  • the loss function Loss (1/
  • the calculation of the loss function Loss performed by the loss function calculation unit 218 is the same as the processing procedure of the loss function calculation shown in FIG. 5 in the first embodiment, except that the meaning of the parameter vector ⁇ j (1 ⁇ j ⁇ K) is different. It is similar to
  • the mask update unit 219 backpropagates the error information, calculates ⁇ Loss/ ⁇ S, and updates S (step S408).
  • the learning unit 214 determines whether learning A has been performed a predetermined number of times (step S409). If learning A has not been performed a predetermined number of times, the learning unit 214 returns the process to step S404. On the other hand, if learning A has been performed a predetermined number of times, the learning unit 214 moves the process to step S410.
  • the mask determining unit 221 determines a mask vector M for the alternative variable S so that the top p ⁇
  • m positions with large values are set to 1 and the other positions are set to 0. (Step S410). Furthermore, the mask determining unit 221 determines the inverted 0 and 1 of each element of the mask vector M as a non-shared mask vector ⁇ M (step S410).
  • the layer selection unit 216 selects one layer l of the neural network to be used to generate the adversarial perturbation ⁇ f ⁇ j (x s , x t , l) (step S412).
  • the parameter determining unit 217 uses the shared mask vector M, the unshared mask vector ⁇ M, the shared parameter vector ⁇ s , and the unshared parameter vector ⁇ j ns (1 ⁇ j ⁇ K) to determine each
  • the parameter vector ⁇ j ⁇ s ⁇ M+ ⁇ j ns ⁇ M (1 ⁇ j ⁇ K) is determined (calculated) for the neural network (step S413).
  • represents the Hadamard product.
  • ⁇ s and ⁇ j ns (1 ⁇ j ⁇ K) have been initialized or updated.
  • the loss function Loss (1/
  • the calculation of the loss function Loss performed by the loss function calculation unit 218 is the same as the processing procedure of the loss function calculation shown in FIG. 5 in the first embodiment, except that the meaning of the parameter vector ⁇ j (1 ⁇ j ⁇ K) is different. It is similar to
  • the learning unit 214 determines whether learning B has been performed a predetermined number of times (step S417). If learning B has not been performed a predetermined number of times, the learning unit 214 returns the process to step S411. On the other hand, if learning B has been performed a predetermined number of times, the learning unit 214 moves the process to step S417.
  • the learning unit 214 further determines whether learning A and learning B have been performed a predetermined number of times (step S418). If learning A and learning B have not been performed a predetermined number of times, the learning unit 214 returns the process to step S404. On the other hand, if learning A and learning B have been performed a predetermined number of times, the learning unit 214 moves the process to step S419.
  • the learning unit 214 (control unit 210) outputs the parameter vectors ⁇ s , ⁇ 1 ns , . . . , ⁇ K ns of the neural network and the mask vector M (step S419).
  • step S4108 the termination condition for learning A and learning B may be one learning.
  • the learning end condition in steps S409, S417, and S418 is that learning has been performed a predetermined number of times, the learning end condition may be, for example, that the decrease in the loss function is smaller than a predetermined threshold.
  • the mask initialization unit 211 initializes the substitute variable S
  • the parameter initialization unit 212 initializes the parameter vector
  • the training data acquisition unit 213 acquires training data.
  • the mini-batch sampling unit 215 samples the mini-batch
  • the layer selection unit 216 selects a layer
  • the loss function calculation unit 218 calculates the loss function
  • the mask update unit 219 updates the substitute variable S.
  • the mask determining unit 221 determines a mask vector from the alternative variable S.
  • the mini-batch sampling section 215 samples the mini-batch
  • the layer selection section 216 selects the layer
  • the parameter determination section 217 determines the parameter vector using the mask vectors M and ⁇ M
  • a loss function calculation unit 218 calculates a loss function
  • a parameter update unit 220 updates parameters.
  • the learning unit 214 performs learning B a predetermined number of times
  • the learning unit 214 further performs learning A and learning B a predetermined number of times, and then outputs a parameter vector and a mask vector M.
  • the learning device 200 can suppress the number of neural network parameters in the ensemble in robust training (ERT) based on ensemble learning. Therefore, since the learning device 200 can reduce the storage capacity of the memory, etc., it is possible to increase the number of neural networks in the ensemble. Therefore, the learning device 200 can improve robustness in robustness training based on ensemble learning.
  • the learning device 200 determines the position of the shared parameter (mask vector) through learning, it is possible to more appropriately determine the position and number of the shared parameter. Further, the learning device 200 of the third embodiment can perform learning with higher accuracy than the processing method of the second embodiment described above.
  • the fourth embodiment shows an example of a determination device using the neural network trained by the learning devices 100 and 200 of the first to third embodiments.
  • FIG. 10 is a schematic block diagram showing an example of the functional configuration of a determination device 300 according to the fourth embodiment.
  • the determination device 300 includes a plurality of neural networks 301 (neural network 1, . . . , neural network K) and a majority decision unit 302.
  • the neural networks 301 are neural networks 1, . . . , neural networks K trained by the learning devices 100 and 200 of the first to third embodiments. These neural networks i (1 ⁇ i ⁇ K) share parameters (parameter vectors). Each neural network i receives input data such as image data and outputs a class label (class value).
  • the majority decision unit 302 When the majority decision unit 302 receives class labels (class values) from the plurality of neural networks 301, it takes a majority decision (takes the largest number of class labels) and outputs the resulting class label. Note that the majority decision unit 302 may weight the inputs of the plurality of neural networks 301. Moreover, the majority decision unit 302 may calculate a value using another function and output the result, instead of using the majority decision based on the inputs from the plurality of neural networks 301.
  • the unit 302 takes a majority vote on the class labels and outputs the result. This allows determination (class identification) with a reduced number of neural network parameters. Furthermore, since the number of neural networks in the ensemble can be increased, robustness can be improved.
  • FIG. 11 is a schematic block diagram showing an example of the functional configuration of a learning device 500 according to the fifth embodiment.
  • the learning device 500 includes a mask initialization section 501, a loss function calculation section 502, and a parameter update section 503.
  • the mask initialization unit 501 distinguishes between shared parameters that are shared by multiple machine learning models and non-shared parameters that are provided for each machine learning model, regarding the parameters of a machine learning model that has multiple parameters.
  • the loss function calculation unit 502 calculates a value for training data of a loss function based on the plurality of machine learning models to which the shared parameters, the unshared parameters, and the parameter values indicated by the mask information are applied.
  • the parameter update unit 503 updates the shared parameter value and the non-shared parameter value using the value of the loss function.
  • the mask initialization unit 501 corresponds to an example of mask initialization means.
  • the loss function calculation unit 502 corresponds to an example of loss function calculation means.
  • the parameter update unit 503 corresponds to an example of a parameter update unit.
  • the number of parameter values to be stored by a determination device using a plurality of machine learning models can be relatively reduced.
  • the learning device 500 can suppress the number of neural network parameters in the ensemble in ensemble learning-based robustness training (ERT). Therefore, since the learning device 500 can reduce the storage capacity of the memory, etc., it is possible to increase the number of neural networks in the ensemble. Therefore, the learning device 500 can improve robustness in robustness training based on ensemble learning.
  • ERT ensemble learning-based robustness training
  • FIG. 12 is a flowchart illustrating an example of the processing procedure of the learning method according to the sixth embodiment.
  • the learning method shown in FIG. 12 includes determining mask information (step S501), calculating a loss function (step S502), and updating shared parameters and non-shared parameters (step S503). include.
  • the computer determines, regarding the parameters of a machine learning model having multiple parameters, a shared parameter that is shared by multiple machine learning models, and a non-shared parameter that is provided for each machine learning model. Determine mask information that distinguishes it from parameters.
  • the computer uses training data to calculate a loss function based on a plurality of machine learning models.
  • the computer updates the shared parameters and non-shared parameters by error backpropagation using the value of the loss function.
  • the number of parameter values to be stored by a determination device using a plurality of machine learning models can be relatively reduced.
  • the number of neural network parameters in the ensemble can be suppressed in robust training (ERT) based on ensemble learning. Therefore, since the learning method can reduce the storage capacity of memory, etc., it is possible to increase the number of neural networks in the ensemble. Therefore, robustness can be improved in the learning method and robustness training based on ensemble learning.
  • FIG. 13 is a schematic block diagram showing the configuration of a computer according to at least one embodiment.
  • the computer 400 includes a CPU (Central Processing Unit) 410, a main storage device 420, an auxiliary storage device 430, and an interface 440. Any one or more of the learning devices 100 and 200 described above may be implemented in the computer 400. In that case, the operations of each processing section described above are stored in the auxiliary storage device 430 in the form of a program.
  • the CPU 410 reads the program from the auxiliary storage device 430, expands it to the main storage device 420, and executes the above processing according to the program.
  • the CPU 410 secures storage areas corresponding to each of the above-mentioned storage units in the main storage device 420 according to the program. Communication between each device and other devices is performed by the interface 440 having a communication function and performing communication under the control of the CPU 410.
  • the operations of the mask initialization unit 111, the parameter initialization unit 112, the training data acquisition unit 113, and the learning unit 114, and the mini-batch sampling unit included in the learning unit 114 115, layer selection section 116, parameter determination section 117, loss function calculation section 118, and parameter updating section 119 are stored in the auxiliary storage device 430 in the form of a program.
  • the CPU 410 reads the program from the auxiliary storage device 430, expands it to the main storage device 420, and executes the above processing according to the program.
  • the output of the learning device 100 is executed by the interface 440 having an output function such as a communication function or a display function, and performing output processing under the control of the CPU 410.
  • the operations of the mask initialization unit 211, the parameter initialization unit 212, the training data acquisition unit 213, the learning unit 214, the mask determination unit 221, and the learning unit 114 The operations of the mini-batch sampling unit 215, layer selection unit 216, parameter determination unit 217, loss function calculation unit 218, mask update unit 219, and parameter update unit 119 included in the auxiliary storage device 430 are stored in the form of a program. is stored in The CPU 410 reads the program from the auxiliary storage device 430, expands it to the main storage device 420, and executes the above processing according to the program.
  • the output of the learning device 100 is executed by the interface 440 having an output function such as a communication function or a display function, and performing output processing under the control of the CPU 410.
  • a mask initialization method that determines mask information indicating a distinction between a shared parameter provided for common use by a plurality of the machine learning models and a non-shared parameter provided for each machine learning model.
  • loss function calculation means for calculating a value for training data of a loss function based on the plurality of machine learning models to which parameter values indicated by the shared parameter, the unshared parameter, and the mask information are applied; parameter updating means for updating the value of the shared parameter and the value of the non-shared parameter using the value of the loss function;
  • the parameter vector includes a parameter vector in which parameters for one of the machine learning models are configured as a vector, and a shared parameter is determined by the mask information among the elements of the parameter vector of a model template provided for common use by a plurality of machine learning models.
  • the shared parameter is configured into a vector, and the value of the shared parameter is set from a shared parameter vector that is shared by a plurality of the machine learning models, and among the elements of the parameter vector, the value of the shared parameter is set according to the mask information.
  • the non-shared parameters are configured into vectors, and values of the non-shared parameters are set from the non-shared parameter vector provided for each machine learning model.
  • the learning device according to supplementary note 1, further comprising parameter determining means that configures one of the machine learning models.
  • the mask information has a continuous value for each parameter in one part of the machine learning model,
  • the learning device according to any one of Supplementary Notes 1 to 3, further comprising a mask updating unit that updates a value for each parameter in the mask information using the value of the loss function.
  • the loss function is a function that outputs a relatively small value when the other machine learning models do not misjudge input data that has been given adversarial perturbation that causes one of the machine learning models to misjudge. Yes A learning device described in any one of Supplementary Notes 1 to 5.
  • a determination device comprising:
  • the computer is With respect to the parameters of a machine learning model having a plurality of parameters, determining mask information indicating a distinction between a shared parameter provided for common use by a plurality of the machine learning models and a non-shared parameter provided for each machine learning model; , calculating a value for training data of a loss function based on the plurality of machine learning models to which parameter values indicated by the shared parameter, the unshared parameter, and the mask information are applied; updating the value of the shared parameter and the value of the non-shared parameter using the value of the loss function; Learning methods including.
  • Embodiments of the present invention may be applied to a learning device, a determination device, a learning method, and a recording medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)

Abstract

学習装置が、複数のパラメータをもつ機械学習モデルの前記パラメータについて、複数の前記機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定するマスク初期化手段と、訓練データを用いて、複数の前記機械学習モデルに基づく損失関数の値を計算する損失関数計算手段と、前記損失関数の値を用いて前記共有パラメータの値と前記非共有パラメータの値とを更新するパラメータ更新手段と、を備える。

Description

学習装置、判定装置、学習方法および記録媒体
 本発明は、学習装置、判定装置、学習方法および記録媒体に関する。
 アンサンブル学習による判定装置など、複数の機械学習モデルを用いる判定装置が構成される場合がある。
 例えば、特許文献1には、顔認証等のアンサンブル学習においてニューラルネットワーク(Neural Network;NN)が用いられることが開示されている。
 また、非特許文献1には、アンサンブル学習に基づくロバスト化訓練(Ensemble based Robust Training;ERT)が示されている。アンサンブル学習に基づくロバスト化訓練では、得られる判定装置が敵対的サンプル(Adversarial Example;AX)に騙されにくくなるように、アンサンブル学習を行う。判定装置が敵対的サンプルに騙されにくいとは、判定装置が敵対的サンプルの入力に対して誤判定を行いにくいことである。
WO2017/126482号公報
Huanrui Yang、他8名、"DVERGE: Diversifying Vulnerabilities for Enhanced Robust Generation of Ensemble"、NeurIPS2020、2020年。
 複数の機械学習モデルを用いる判定装置が記憶すべきパラメータ値の個数を比較的少なくすることができることが好ましい。
 本発明の目的の一例は、上述した課題を解決することのできる学習装置、判定装置、学習方法および記録媒体を提供することである。
 本発明の第1の態様によれば、学習装置は、複数のパラメータをもつ機械学習モデルの前記パラメータについて、複数の前記機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定するマスク初期化手段と、前記共有パラメータ、前記非共有パラメータ、および、前記マスク情報にて示されるパラメータ値を適用した複数の前記機械学習モデルに基づく損失関数の、訓練データに対する値を計算する損失関数計算手段と、前記損失関数の値を用いて前記共有パラメータの値と前記非共有パラメータの値とを更新するパラメータ更新手段と、を備える。
 本発明の第2の態様によれば、学習方法は、コンピュータが、複数のパラメータをもつ機械学習モデルの前記パラメータについて、複数の前記機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定する工程と、前記共有パラメータ、前記非共有パラメータ、および、前記マスク情報にて示されるパラメータ値を適用した複数の前記機械学習モデルに基づく損失関数の、訓練データに対する値を計算する工程と、前記損失関数の値を用いて前記共有パラメータの値と前記非共有パラメータの値とを更新する工程と、を含む。
 本発明の第3の態様によれば、記録媒体は、コンピュータに、複数のパラメータをもつ機械学習モデルの前記パラメータについて、複数の前記機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定する工程と、前記共有パラメータ、前記非共有パラメータ、および、前記マスク情報にて示されるパラメータ値を適用した複数の前記機械学習モデルに基づく損失関数の、訓練データに対する値を計算する工程と、前記損失関数の値を用いて前記共有パラメータの値と前記非共有パラメータの値とを更新する工程と、を実行させるためのプログラムを記録した記録媒体である。
 上記した学習装置、判定装置、学習方法および記録媒体によれば、複数の機械学習モデルを用いる判定装置が記憶すべきパラメータ値の個数を比較的少なくすることができる。
全てのパラメータが非共有パラメータとして構成されている複数のニューラルネットワークの例を示す図である。 共有パラメータを含む複数のニューラルネットワークの例を示す図である。 第1実施形態に係る学習装置の機能構成の例を示す概略ブロック図である。 第1実施形態に係る学習装置の処理手順の例を示すフローチャートである。 第1実施形態に係る学習装置の損失関数計算の処理手順の例を示すフローチャートである。 第2実施形態及び第3実施形態に係る学習装置の機能構成の例を示す概略ブロック図である。 第2実施形態に係る学習装置の処理手順の例を示すフローチャートである。 第3実施形態に係る学習装置の処理手順の例を示すフローチャートである。 第3実施形態に係る学習装置の処理手順の例を示すフローチャートである。 第4実施形態に係る判定装置の機能構成の例を示す概略ブロック図である。 第5実施形態に係る学習装置の機能構成の例を示す概略ブロック図である。 第6実施形態に係る学習方法の処理手順の例を示すフローチャートである。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 まず、実施形態における共有パラメータを含むニューラルネットワークの例を、全てのパラメータが非共有パラメータとして構成されているニューラルネットワークの例と比較して示す。
 図1は、全てのパラメータが非共有パラメータとして構成されている複数のニューラルネットワークの例を示す図である。
 図1に示すNN1とNN2とは、同じ構造を有するニューラルネットワークである。具体的には、NN1及びNN2は、それぞれ層1、層2、層3を有する全結合型のニューラルネットワークであり、各層には4つのノードを持つ。各ノードはニューロンモデル(人工ニューロン)を用いて構成される。
 NN1およびNN2の何れにおいても、全てのパラメータがニューラルネットワークごとに設けられている。図1は、パラメータがニューラルネットワークごとに設けられるか複数のニューラルネットワークに共用として設けられるかがノードごとに決定される場合の例を示しており、全てのノードについて、パラメータがニューラルネットワークごとに設けられている。
 ニューラルネットワークごとに設けられるパラメータを、非共有パラメータとも称する。パラメータがニューラルネットワークごとに設けられると決定されているノードを、非共有パラメータによるノードとも称する。図1では、非共有パラメータによるノードを丸(○)で示している。
 一方、複数のニューラルネットワークに共用として設けられるパラメータを、共有パラメータとも称する。パラメータが複数のニューラルネットワークに共用として設けられると決定されているノードを、共有パラメータによるノードとも称する。
 ニューラルネットワークにおけるパラメータは、ニューラルネットワークの種類に応じて設けられる。例えば、パーセプトロンの場合、ノード間の結合ごとに設けられる重み係数と、ノード出力算出用にノードごとに設けられるバイアスとが、パラメータの例に該当する。また、活性化関数をパーセプトロンにおけるステップ関数に限定しないように一般化されたニューラルネットワークでも、ノード間の結合ごとに設けられる重み係数と、ノード出力算出用にノードごとに設けられるバイアスとが、パラメータの例に該当する。
 また、スパイキングニューラルネットワーク(Spiking Neural Network;SNN)では、ノード間の結合ごとに設けられる重み係数と、ノードごとに設けられる発火閾値とがパラメータの例に該当する。
 なお、パラメータがニューラルネットワークごとに設けられるか複数のニューラルネットワークに共用として設けられるかがノードごとに決定される場合、ノード間の結合に設けられるパラメータは、その結合で伝達される情報の入力を受ける側のノードに属するものとして扱うことができる。具体的には、非共有パラメータによるノードが入力ノードとなっている結合に設けられているパラメータは、非共有パラメータとなっていてもよい。また、共有パラメータによるノードが入力ノードとなっている結合に設けられているパラメータは、共有パラメータとなっていてもよい。
 NN1およびNN2のような複数のニューラルネットワークは、例えば、アンサンブル学習に用いることができる。アンサンブル学習では、機械学習モデルを複数含むシステムの学習を行う。このシステムは、これら複数の機械学習モデルの出力の多数決をとるなど、複数の機械学習モデルの出力に基づいてシステムとしての出力を決定する。
 以下では、機械学習モデルを複数含み、これら複数の機械学習モデルの出力に基づいてシステムとしての出力を決定するシステムを、アンサンブルシステムと称する。また、アンサンブルシステムに含まれる機械学習モデルを、「アンサンブル内の機械学習モデル」という。例えば、アンサンブルシステムに含まれるニューラルネットワークを、「アンサンブル内のニューラルネットワーク」と称する。
 図2は、共有パラメータを含む複数のニューラルネットワークの例を示す図である。
 図2に示すNN3とNN4とは、同じ構造を有するニューラルネットワークである。具体的には、NN3及びNN4は、それぞれ層1、層2、層3を有する全結合型のニューラルネットワークであり、各層には4つのノードを持つ。各ノードはニューロンモデルを用いて構成される。
 図1のNN1およびNN2では、全てのパラメータが非共有パラメータとなっているのに対し、図2のNN3およびNN4は、共有パラメータを含む。図2では、非共有パラメータによるノードを丸(○)で示し、共有パラメータによるノードを二重丸(◎)で示している。
 NN3とNN4とが同じ構造を有することから、NN3とNN4とで、ニューラルネットワークの構造において同じ位置にあるパラメータを対応付けることができ、同じ位置にあるパラメータを共用とすることができる。図2の例では、NN3とNN4とで、ニューラルネットワークの構造において同じ位置にあるノードが共有パラメータによるノードとなっている。これにより、NN3とNN4とで、ニューラルネットワークの構造において同じ位置にあるパラメータが共有パラメータとなっている。
 このように、同じ構造を有する複数のニューラルネットワークについて、ニューラルネットワークの構造において同じ位置にあるパラメータを対応付けることができ、同じ位置にあるパラメータを共用とすることができる。複数のニューラルネットワークでパラメータを共用とすることを、複数のニューラルネットワークがパラメータを共有するとも称する。
 複数のニューラルネットワークがパラメータの一部のみを共有することにより、複数のニューラルネットワークの構成に必要なメモリ領域を抑えつつ、複数のニューラルネットワークを異なるニューラルネットワークとして構成することができる。
 ここでは、2つのニューラルネットワークが、構造が同じであり、かつ、ニューラルネットワークの構造において同じ位置にあるパラメータの値が全て同じである場合、これら2つのニューラルネットワークは同じであると称する。一方、2つのニューラルネットワークの構造が異なる場合、これら2つのニューラルネットワークは異なると称する。2つのニューラルネットワークが、構造が同じであっても、ニューラルネットワークの構造において同じ位置にあるパラメータのうち少なくとも一組のパラメータの値が異なる場合も、これら2つのニューラルネットワークは異なると称する。
 異なるニューラルネットワークは、同じ入力データに対して異なる値を出力する場合がある。複数のニューラルネットワークが互いに異なるニューラルネットワークとして構成され得ることで、これら複数のニューラルネットワークの出力に基づいてシステムとしての出力を決定するシステムを構成することができる。例えば、これら複数のニューラルネットワークの出力の多数決をとる多数決モデルが、システムとして構成されていてもよい。
 例えば、パラメータの一部のみを共有する複数のニューラルネットワークをアンサンブル学習に基づくロバスト化訓練に用いる場合、全てのパラメータがニューラルネットワーク毎に設けられているニューラルネットワークを用いる場合と比較して、複数のニューラルネットワークの構成に必要なメモリ領域を抑えつつ、アンサンブル内のニューラルネットワークの個数を増加させることができ、ロバスト性(Robustness、頑健性)の向上が期待される。
 ここで、機械学習モデルの安全性に関するクリティカルな問題の1つとして、敵対的サンプル(EX)の問題を挙げることができる。敵対的サンプルとは、機械学習モデルが誤判断をするような微小な摂動を用いて意図的に生成される入力データである。ニューラルネットワーク等の機械学習モデルの敵対的サンプルに対するロバスト化の方法が必要である。
 機械学習モデルの敵対的サンプルに対するロバスト化の方法の1つとして、アンサンブル学習に基づくロバスト化訓練(ERT)を挙げることができる。アンサンブル学習は、それぞれ個別に学習させた複数のニューラルネットワークを用いて多数決等をとることにより、未知のデータに対して予測能力を向上させるための学習方法である。
 アンサンブル学習に基づくロバスト化訓練は、アンサンブル内のニューラルネットワークが敵対的サンプルに対して同時に騙されにくく(誤判断をしにくく)なるように学習し、複数のニューラルネットワークを用いたシステムとしてロバストな予測を実現しようとする学習方法である。アンサンブル学習に基づくロバスト化訓練では、アンサンブル内のニューラルネットワークの個数を増やすことでロバスト性が向上することが期待される。
 アンサンブル学習に基づくロバスト化訓練に、全てのパラメータが非共有パラメータとして構成されるニューラルネットワークを用いる場合、ニューラルネットワークの個数に比例してパラメータの個数が増加する。この場合、ニューラルネットワークの個数が多いと、パラメータ値の記憶に必要な記憶容量が大きくなり、処理の遅延につながることが考えられる。また、この場合、パラメータ値の記憶に用いることができる記憶容量の制約により、ニューラルネットワークの個数を十分に多くすることができず、ロバスト性を十分確保できないことが考えられる。
 これに対し、アンサンブル学習に基づくロバスト化訓練に、一部のパラメータのみが共有パラメータとして構成されるニューラルネットワークを用いる場合、パラメータの共有化によって、全てのパラメータが非共有パラメータとして構成されるニューラルネットワークを用いる場合よりもパラメータの個数を少なくすることができる。これにより、処理速度が比較的速いことが期待される。また、この場合、ニューラルネットワークの個数を比較的多くすることができ、この点で、ロバスト性の向上が期待される。
 なお、上記の説明では、機械学習モデルとしてニューラルネットワークを用いる場合を例に説明したが、機械学習モデルはこれに限られない。誤差逆伝播法などの学習手法を用いてパラメータを更新可能であり、かつ、複数のパラメータをもちアンサンブル学習においてパラメータを共有することができるいろいろな機械学習モデルを用いることができる。このような機械学習モデルの例として、ニューラルネットワークの他に、サポートベクターマシン(Support Vector Machine;SVM)、及び、ランダムフォレスト(Random Forest)を挙げることができる。
 以下でも、機械学習モデルとしてニューラルネットワークを用いる場合を例に説明するが、機械学習モデルはこれに限られない。誤差逆伝播法などの学習手法を用いてパラメータを更新可能であり、かつ、複数のパラメータをもちアンサンブル学習においてパラメータを共有することができるいろいろな機械学習モデルを用いることができる。
 さらに、上記の説明では、複数の機械学習モデルを用いてアンサンブル学習を行う場合を例に説明したが、複数の機械学習モデルを用いるシステムは、アンサンブル学習のように、複数の機械学習モデルの出力の多数決をとってシステムとしての出力を決定するものに限られない。例えば、複数の機械学習モデルを用いるシステムが、複数の機械学習モデルの出力に対して重み付けを行ったうえで多数決をとってシステムとしての出力を決定するようにしてもよい。
 また、複数の機械学習モデルを用いるシステムが、複数の機械学習モデルの出力を用いてシステムとしての出力を決定することに加えて、あるいは、変えて、複数の機械学習モデルの出力の分散または信頼度など、複数の機械学習モデルの出力に関する指標値を算出するようにしてもよい。
 また、機械学習の手法として誤差逆伝播法を用いる場合を例に説明するが、適用可能な機械学習の手法は、これに限られない。
 以下でも、複数の機械学習モデルを用いるシステムは、複数の機械学習モデルの出力の多数決をとってシステムとしての出力を決定するものに限られない。例えば、複数の機械学習モデルを用いるシステムが、複数の機械学習モデルの出力に対して重み付けを行ったうえで多数決をとってシステムとしての出力を決定するようにしてもよい。
 また、複数の機械学習モデルを用いるシステムが、複数の機械学習モデルの出力を用いてシステムとしての出力を決定することに加えて、あるいは、変えて、複数の機械学習モデルの出力の分散または信頼度など、複数の機械学習モデルの出力に関する指標値を算出するようにしてもよい。
 以下でも、適用可能な機械学習の手法は、誤差逆伝播法に限られない。
 なお、上記の説明と同様、以下でも、アンサンブル内の各ニューラルネットワークの構造は同一とし、各ニューラルネットワークの共有パラメータの位置も、ニューラルネットワークの構造における位置について同一とする。
<第1実施形態>
 第1実施形態のアンサンブル学習に基づくロバスト化訓練(ERT)では、アンサンブル内のニューラルネットワーク(NN)の共有パラメータの位置をランダムに決定し、後述する式(7)の最適化問題を解くことにより、ニューラルネットワークのパラメータの学習を行う。
 まず、アンサンブル内のニューラルネットワークの個数をKとすると、ニューラルネットワークのパラメータを要素にもつベクトルである共有ベクトルおよび非共有ベクトルは、式(1)のように表記することができる。
Figure JPOXMLDOC01-appb-M000001
 θは、アンサンブル内のニューラルネットワーク1つ分のパラメータを示すベクトルである。上記のように、アンサンブル内のニューラルネットワークは同じ構造を有し、したがって、同じ個数のパラメータを有するものとする。|θ|は、アンサンブル内のニューラルネットワーク1つ分のパラメータの個数を表す。
 R|θ|は、|θ|個の実数を要素にもつ|θ|次元(|θ|サイズ)のベクトルの集合を表す。ニューラルネットワークのパラメータベクトルは、R|θ|の要素である。θは、ニューラルネットワーク間で共有されるパラメータを保持する共有パラメータベクトルである。sはsharedを表す。θj ns(1≦j≦K)は、ニューラルネットワーク間で共有されない、j番目のニューラルネットワークのパラメータを保持する非共有パラメータベクトルである。nsはnon-sharedを表す。以下、アンサンブル内のj番目のニューラルネットワークを、単にj番目のニューラルネットワークとも称する。この場合、1≦j≦Kである。
 式(1)に示すように、共有パラメータベクトルおよび非共有パラメータベクトルの何れも、アンサンブル内のニューラルネットワーク1つ分のパラメータの個数の実数を要素に持つベクトルとすることができる。
 学習結果を用いた運用時には、共有パラメータベクトルおよび非共有パラメータベクトルの何れでも、マスクで示される一部の要素のみがアクセス(書込および読み出し)される。アクセスされない要素には、メモリ等の記憶容量を割り当てる必要がない。したがって、学習済みのニューラルネットワークを用いて構成され、運用時に用いられる判定装置では、パラメータの共有化によって、パラメータ値の記憶に必要な記憶容量を削減することができる。
 共有パラメータベクトルの共有位置を表すための共有マスクベクトルMは、式(2)のように表すことができる。
Figure JPOXMLDOC01-appb-M000002
 共有マスクベクトルMは、|θ|次元の二値ベクトルであり、各要素の値は、0又は1である。要素の値1が共有位置を表す。共有位置は、共有パラメータベクトルにおける、共有パラメータに対応付けられる要素の位置である。共有パラメータベクトルの要素と、アンサンブル内のニューラルネットワーク1つ分のパラメータとは一対一に対応付けられる。したがって、共有マスクベクトルMは、ニューラルネットワークの構造における共有パラメータの位置を示す、ともいえる。
 共有マスクベクトルMは、マスク情報の例に該当する。
 非共有パラメータベクトルの非共有位置を表すための非共有マスクベクトル^Mは、式(3)のように表すことができる。
Figure JPOXMLDOC01-appb-M000003
 非共有マスクベクトル^Mも、|θ|次元の二値ベクトルであり、各要素の値は、0又は1である。要素の値1が非共有位置を表す。非共有位置は、非共有パラメータベクトルにおける、非共有パラメータに対応付けられる要素の位置である。非共有パラメータベクトルの要素と、アンサンブル内のニューラルネットワーク1つ分のパラメータとは一対一に対応付けられる。したがって、非共有マスクベクトル^Mは、ニューラルネットワークの構造における非共有パラメータの位置を示す、ともいえる。
 非共有マスクベクトル^Mは、共有マスクベクトルMの0と1を反転させたものである。
 共有パラメータベクトルからの共有パラメータの取り出しは、式(4)のように表すことができる。
Figure JPOXMLDOC01-appb-M000004
 式においては、白丸(○)はアダマール積を表し、ベクトルの要素ごとの積を計算する。すなわち、z=x○yとすると、z=x×y(1≦i≦|θ|)である。
 式(4)の演算結果のベクトル「θ○M」では、共有位置の要素は共有パラメータの値を示し、非共有位置の要素の値は0である。
 j番目のニューラルネットワークの非共有パラメータベクトルからの非共有ベクトルの取り出しは、式(5)のように表すことができる。
Figure JPOXMLDOC01-appb-M000005
 上記のように、○はアダマール積を表す。
 式(5)の演算結果のベクトル「θ○M」では、非共有位置の要素は非共有パラメータの値を示し、共有位置の要素の値は0である。
 j番目のニューラルネットワークのパラメータベクトルθは、式(6)のように表すことができる。
Figure JPOXMLDOC01-appb-M000006
 パラメータベクトルθは、j番目のニューラルネットワークのパラメータの値を示すベクトルである。パラメータベクトルθは、共有マスクベクトルMで表される共有位置には、共有ベクトルθの要素をもち、非共有マスクベクトル^Mで表される非共有位置には、j番目のニューラルネットワークの非共有パラメータベクトルθj nsの要素をもつ。
 次に、式(7)の最適化問題について説明する。
Figure JPOXMLDOC01-appb-M000007
 式(7)において、「x」は、画像データなどのニューラルネットワークへの入力データであり、「y」は、xの正しいクラスラベル(クラス値)である。同様に、「x」は、ニューラルネットワークへの入力データであり、「y」は、xの正しいクラスラベルである。ここで、「x」と「x」は、異なるクラスに属する入力データとする。つまりy≠yである。「Δfθj(x,x,l)」は、敵対的摂動(ノイズ)を表し、次の式(8)で計算される。
Figure JPOXMLDOC01-appb-M000008
 式(8)において、「l」は、ニューラルネットワークの選択された1つの層を表す。
 「δ」は、敵対的摂動(ノイズ)を表す。「|δ|≦ε」は、δの∞ノルムでの大きさが、与えられたε以下であることを表す。「x+δ」は、xに敵対的摂動δを付与した入力データを表す。
 「f θj(x+δ)」は、パラメータベクトルθを用いた際のj番目のニューラルネットワークにおいて、x+δを入力したときの、第l層の出力(ベクトル)を表す。
 「f θj(x)」は、パラメータベクトルθを用いた際のj番目のニューラルネットワークにおいて、xを入力したときの、第l層の出力(ベクトル)を表す。
 「|・|」 」は、2ノルムを表し、「|f θj(x+δ)-f θj(x)| 」は、これらの出力の間の距離を表す。
 「argminδ d(δ)」は、d(δ)を最小とするようなδを求めることを表す。
 したがって、式(8)の「Δfθj(x,x,l)」は、j番目のニューラルネットワークの第l層の出力に関して、大きさε以下のノイズδのうち、xに当該ノイズδを付与すると、xと出力が最も近くなるようなノイズδを表す。つまり、このノイズδは、j番目のニューラルネットワークの第l層の出力に関して、xをxに誤判断させる最小のノイズである。
 式(7)に戻って、「x+Δfθj(x,x,l)」は、式(8)で求めた敵対的摂動Δfθj(x,x,l)をxに付与した入力データを表す。
 「CEfθi(x,y)」は、クロスエントロピー(Cross Entropy)損失関数であり、入力データxとクラスラベルyが与えられたとき、パラメータベクトルθを用いた際のi番目のニューラルネットワークが、xをyと正しく分類できているほど小さい値を出力する関数である。したがって、「CEfθi(x+Δfθj(x,x,l),y)」は、xに、パラメータベクトルθを用いた際のj番目のニューラルネットワークの第l層が誤判断するような敵対的摂動を付与しても、パラメータベクトルθを用いた際のi番目のニューラルネットワークが、yと正しく判断する場合に、比較的小さい値を出力する関数である。
 「Σj≠iCEfθi(・,・)」は、j番目のニューラルネットワークと異なる全てのニューラルネットワークでクロスエントロピーを求め総和を取ることを表す。
 「E(xs,ys),(xt,yt),lΣj≠iCEfθi(・,・)」は、(x,y),(x,y),lに対して、クロスエントロピーの総和の期待値をとることを表す。
 「argmin_{θ,θ1 ns,…,θK ns}E(xs,ys),(xt,yt),lΣj≠iCEfθi(・,・)」は、前述のクロスエントロピーの総和の期待値を最小にするような、各ニューラルネットワークのパラメータベクトルθ,θ1 ns,…,θK nsを求めることを表す。
 図3は、第1実施形態に係る学習装置100の機能構成の例を示す概略ブロック図である。学習装置100は、制御部110、記憶部130を備える。制御部110は、マスク初期化部111、パラメータ初期化部112、訓練データ取得部113、学習部114を備える。学習部114は、ミニバッチサンプリング部115、層選択部116、パラメータ決定部117、損失関数計算部118、パラメータ更新部119を備える。記憶部130は、訓練データ記憶部131を備える。なお、学習装置100はこれら以外のものを備えてもよく、また、記憶部130は学習装置100の外部に備えられてもよい。
 第1実施形態のアンサンブル学習に基づくロバスト化訓練(ERT)では、アンサンブル内のニューラルネットワーク(NN)の共有パラメータの位置をランダムに決定し、ニューラルネットワークのパラメータの学習を行う。アンサンブル内のニューラルネットワークの個数をKとする。
 マスク初期化部111は、共有マスクベクトルMと非共有マスクベクトル^Mとを初期化する。マスク初期化部111は、マスク初期化手段の例に該当する。マスク初期化部111が行う共有マスクベクトルMと非共有マスクベクトル^Mとの初期化は、ニューラルネットワークの一つ分のパラメータのうち共有パラメータをランダムに選択する処理と捉えることができる。
 上述したように、共有マスクベクトルMおよび非共有マスクベクトル^Mは、式(9)のように表すことができる。
Figure JPOXMLDOC01-appb-M000009
 具体的には、マスク初期化部111は、割合をpとして、p×|θ|の要素が1となるように、共有マスクベクトルMをランダムに初期化する。また、マスク初期化部111は、マスクベクトルMの各要素の0と1を反転したものを、非共有マスクベクトル^Mとして初期化する。pは、アンサンブル内のニューラルネットワークの共有パラメータの割合を示す。pの値は、使用可能な記憶容量に応じて予め定められていてもよい。
 あるいは、共有マスクベクトルMの初期値が予め定められ、マスク初期化部111が、共有マスクベクトルMの初期値を予め記憶しておいてもよい。
 パラメータ初期化部112は、共有パラメータベクトルθと、非共有パラメータベクトルθ1 ns,…,θK nsの各々とを初期化する。上述したように、共有パラメータおよび非共有パラメータは、式(10)のように表すことができる。
Figure JPOXMLDOC01-appb-M000010
 例えば、パラメータ初期化部112は、これらのパラメータベクトルの各要素に乱数を割り振って、パラメータ値をランダムに初期化する。あるいは、各パラメータの初期値が予め定められ、パラメータ初期化部112が、パラメータの初期値をパラメータベクトルの各要素の初期値として予め記憶しておいてもよい。
 訓練データ記憶部131は、ニューラルネットワークの学習に用いる訓練データ(の集合)Xtrを記憶している。
 訓練データXtrは、式(11)のように表すことができる。
Figure JPOXMLDOC01-appb-M000011
 「x」は、画像データなどのニューラルネットワークへの入力データであり、「y」は、xの正しいクラスラベル(クラス値)である。同様に、「x」は、ニューラルネットワークへの入力データであり、「y」は、xの正しいクラスラベルである。ここで、「x」と「x」は、異なるクラスに属する入力データとする。つまりy≠yである。
 訓練データ取得部113は、訓練データ記憶部131に記憶されている訓練データXtrを取得する。
 学習部114は、訓練データXtrを用いて、アンサンブル内のニューラルネットワークのパラメータベクトルを、繰り返し誤差逆伝播法により更新して学習を行う。
 ミニバッチサンプリング部115は、訓練データXtrから、1回の学習に用いるミニバッチBをサンプリングする。具体的には、ミニバッチサンプリング部115は、訓練データXtrから、部分集合をランダムにサンプリングしてミニバッチBとする。
 層選択部116は、敵対的摂動Δfθj(x,x,l)の生成に使用するニューラルネットワークの1つの層lを選択する。
 パラメータ決定部117は、各ニューラルネットワークに対して、パラメータベクトルを決定する。パラメータ決定部117は、パラメータ決定手段の例に該当する。
 上述したように、j番目のニューラルネットワークのパラメータベクトルθは、式(12)のように表すことができる。
Figure JPOXMLDOC01-appb-M000012
 具体的には、パラメータ決定部117は、共有マスクベクトルMと、非共有マスクベクトル^Mと、共有パラメータベクトルθと、非共有パラメータベクトルθj ns(1≦j≦K)とを用いて、各ニューラルネットワークのパラメータベクトルθ(1≦j≦K)を決定(計算)する。θ及びθj ns(1≦j≦K)は、初期化又は更新されたものである。
 パラメータ決定部117がパラメータベクトルθを決定する処理は、j番目のニューラルネットワークを構成する処理と捉えることができる。
 具体的には、同じ構造を有するK個のニューラルネットワークに共用としてモデルテンプレートを設けておく。モデルテンプレートは、ニューラルネットワークのパラメータがパラメータベクトルで示されるテンプレートであり、パラメータベクトルに値を入力することでニューラルネットワークが構成される。パラメータ決定部117が決定するパラメータベクトルθをモデルテンプレートに適用することで、j番目のニューラルネットワークが構成される。
 損失関数計算部118は、ミニバッチB={(x,y,x,y)}の訓練データを、各j番目のニューラルネットワーク(1≦j≦K)に入力して情報を伝播させ、式(13)の損失関数Lossを計算する。
Figure JPOXMLDOC01-appb-M000013
 式(13)において、「Δfθj(x,x,l)」は、式(8)で示す敵対的摂動である。「l」は、層選択部116が選択した層lである。この敵対的摂動は、は、j番目のニューラルネットワークの第l層の出力に関して、xをxに誤判断させる最小のノイズである。
 「x+Δfθj(x,x,l)」は、敵対的摂動Δfθj(x,x,l)をxに付与した入力データを表す。
 「CEfθi(x,y)」は、クロスエントロピー損失関数であり、入力データxとクラスラベルyが与えられたとき、パラメータベクトルθを用いた際のi番目のニューラルネットワークが、xをyと正しく分類できているほど小さい値を出力する関数である。したがって、「CEfθi(x+Δfθj(x,x,l),y)」は、xに、パラメータベクトルθを用いた際のj番目のニューラルネットワークの第l層が誤判断するような敵対的摂動を付与しても、パラメータベクトルθを用いた際のi番目のニューラルネットワークが、yと正しく判断するほど小さい値を出力する関数である。
 「Σj≠iCEfθi(x+Δfθj(x,x,l),y)」は、j番目のニューラルネットワークと異なる全てのニューラルネットワークでクロスエントロピーを求め総和を取ることを表す。
 「1/|B|×Σ(xs,ys,xt,yt)∈BΣj≠iCEfθi(x+Δfθj(x,x,l),y)」は、ミニバッチB内の全ての要素(x,y,x,y)に対して、クロスエントロピーの総和の期待値(平均値)をとることを表す。
 損失関数計算部118は、損失関数計算手段の例に該当する。
 パラメータ更新部119は、誤差逆伝播法により誤差情報を逆伝播させてパラメータの更新を行う。パラメータ更新部119は、パラメータ更新手段の例に該当する。
 具体的には、パラメータ更新部119は、式(14)に示される損失関数Lossの偏微分を計算し、θを更新する。
Figure JPOXMLDOC01-appb-M000014
 式(14)は、θの要素(θ)i(1≦i≦|θ|)に対して、∂Loss/∂(θ)iを計算するという意味である。パラメータ更新部119は、例えば、所定の学習係数α(>0)に対して、(θ)iを、(θ)i-α×∂Loss/∂(θ)iに更新する。
 また、パラメータ更新部119は、式(15)に示される損失関数Lossの偏微分を計算し、θj nsを更新する(j=1,…,K)。
Figure JPOXMLDOC01-appb-M000015
 式(15)は、θj nsの要素(θj ns)i(1≦i≦|θ|)に対して、∂Loss/∂(θj ns)iを計算するという意味である。パラメータ更新部119は、例えば、所定の学習係数α(>0)に対して、(θj ns)iを、(θj ns)i-α×∂Loss/∂(θj ns)iに更新する。
 学習部114は、例えば、所定回の学習を終えたら、パラメータベクトルθ,θ1 ns,…,θK nsを学習結果として出力する。
 次に、図4及び図5を参照して、学習装置100の動作について説明する。図4は、第1実施形態に係る学習装置100の処理手順の例を示すフローチャートである。図5は、学習装置100の損失関数計算の処理手順の例を示すフローチャートである。
 まず、マスク初期化部111は、共有マスクベクトルMと非共有マスクベクトル^Mとを初期化する(ステップS101)。マスク初期化部111は、例えば、共有マスクベクトルMをランダムに初期化し、マスクベクトルMの各要素の0と1を反転したものを、非共有マスクベクトル^Mとして初期化する。
 次に、パラメータ初期化部112は、共有パラメータベクトルθと、非共有パラメータベクトルθ1 ns,…,θK nsを初期化する(ステップS102)。パラメータ初期化部112は、例えば、これらのパラメータベクトルの各要素に乱数を割り振る。
 次に、訓練データ取得部113は、訓練データ記憶部131に記憶されている訓練データXtr={(x,y,x,y}(1≦i≦K)を取得する(ステップS103)。
 次に、ミニバッチサンプリング部115は、訓練データXtrから、1回の学習に用いるミニバッチB={(x,y,x,y)をサンプリングする(ステップS104)。
 次に、層選択部116は、敵対的摂動Δfθj(x,x,l)の生成に使用するニューラルネットワークの1つの層lを選択する(ステップS105)。
 次に、パラメータ決定部117は、共有マスクベクトルMと、非共有マスクベクトル^Mと、共有パラメータベクトルθと、非共有パラメータベクトルθj ns(1≦j≦K)とを用いて、各ニューラルネットワークのパラメータベクトルθ=θ○M+θj ns○^M(1≦j≦K)を決定(計算)する(ステップS106)。ここで、○はアダマール積を表す。θ及びθj ns(1≦j≦K)は、初期化又は更新されたものである。
 損失関数計算部118は、ミニバッチB={(x,y,x,y)}を、各j番目のニューラルネットワーク(1≦j≦K)で情報を伝播させ、式(13)の損失関数Lossを計算する(ステップS107)。
 図5に移る。次に、損失関数計算部118は、ミニバッチBから要素(x,y,x,y)を1つ選択する(ステップS201)。
 次に、損失関数計算部118は、j番目のニューラルネットワークにおいて、敵対的摂動Δfθj(x,x,l)を計算する(ステップS202)。
 次に、損失関数計算部118は、j番目のニューラルネットワークと異なるi番目のニューラルネットワークにおいて、xに敵対的摂動Δfθj(x,x,l)を付与した際のクロスエントロピーの和Σj≠iCEfθi(x+Δfθj(x,x,l),y)を計算する(ステップS203)。
 次に、損失関数計算部118は、ミニバッチBの全ての要素に対して、クロスエントロピーの和を計算したか否か判定する(ステップS204)。全ての要素に対して計算していない場合は、損失関数計算部118は、処理をステップS201に戻す。一方、全ての要素に対して計算をした場合は、損失関数計算部118は、処理をステップS205へ移す。
 次に、損失関数計算部118は、損失関数Loss=(1/|B|)×Σ(xs,ys,xt,yt)∈BΣj≠iCEfθi(x+Δfθj(x,x,l),y)を計算する(ステップS205)。
 図4に戻る。次に、パラメータ更新部119は、誤差情報を逆伝播させて、勾配法により、∂Loss/∂θを計算し、θを更新する(ステップS108)。
 また、パラメータ更新部119は、誤差情報を逆伝播させて、勾配法により、∂Loss/∂θj nsを計算し、θj nsを更新する(j=1,…,K)(ステップS109)。
 次に、学習部114は、学習を所定回行ったか否かを判定する(ステップS110)。学習を所定回行っていない場合は、学習部114は、処理をステップS104へ戻す。一方、学習を所定回行った場合は、学習部114は、処理をステップS111へ移す。
 次に、学習部114(制御部110)は、ニューラルネットワークのパラメータベクトルθ,θ1 ns,…,θK nsを出力する(ステップS111)。
 以上で、図4及び図5の第1実施形態に係る学習装置100の処理手順は終了である。
 なお、ステップS110において、学習の終了条件は、学習を所定回数行ったこととしたが、これに限られない。例えば、損失関数の減少幅が所定の閾値より小さいことを学習の終了条件としてもよい。
 以上説明したように、マスク初期化部111が、共有及び非共有マスクベクトルを初期化し、パラメータ初期化部112が、パラメータベクトルを初期化し、訓練データ取得部113が、訓練データを取得する。ミニバッチサンプリング部115が、ミニバッチをサンプリングし、層選択部116が、層を選択し、パラメータ決定部117が、共有及び非共有マスクベクトルを用いてパラメータベクトルを決定し、損失関数計算部118が、損失関数を計算する。パラメータ更新部119が、パラメータの更新を行い、学習部114は、所定回の学習を終えたらパラメータベクトルを出力する。
 これにより、学習装置100は、アンサンブル学習に基づくロバスト化訓練(ERT)において、アンサンブル内のニューラルネットワークのパラメータの個数を抑制することができる。したがって、学習装置100は、メモリ等の記憶容量の抑制することができるため、アンサンブル内のニューラルネットワークの個数を増加させることができる。したがって、学習装置100は、アンサンブル学習に基づくロバスト化訓練において、ロバスト性を向上させることができる。
 また、マスク初期化部111は、ニューラルネットワークのパラメータについて、複数のニューラルネットワークに共用として設けられる共有パラメータと、ニューラルネットワークごとに設けられる非共有パラメータとの区別を示す共有マスクベクトルを決定する。損失関数計算部118は、共有パラメータ、非共有パラメータ、および、共有マスクベクトルにて示されるパラメータ値を適用した複数のニューラルネットワークに基づく損失関数の、訓練データに対する値を計算する。パラメータ更新部119は、損失関数の値を用いて共有パラメータの値と非共有パラメータの値とを更新する。
 学習装置100によれば、複数のニューラルネットワークの一部を共用化することができる。したがって、学習装置100によれば、学習済みの複数のニューラルネットワークを用いる判定装置が記憶すべきパラメータ値の個数を比較的少なくすることができる。
 また、パラメータ決定部117は、ニューラルネットワークの一つ分のパラメータがベクトルに構成されたパラメータベクトルを含み、複数のニューラルネットワークに共用として設けられるモデルテンプレートの、パラメータベクトルの要素のうち、共有マスクベクトルによって共有パラメータとされる要素には、共有パラメータベクトルから共有パラメータの値を設定し、パラメータベクトルの要素のうち、共有マスクベクトルによって非共有パラメータとされる要素には、非共有パラメータベクトルから非共有パラメータの値を設定することで、複数のニューラルネットワークのうち1つのニューラルネットワークを構成する。
 学習装置100によれば、共有パラメータの値および非共有パラメータの値が何れもベクトルで示される点で、パラメータ値の計算を行列計算で行うことができ、比較的高速に計算を行うことができる。
 また、マスク初期化部111は、ニューラルネットワークの一つ分のパラメータのうち共有パラメータをランダムに選択するように、共有マスクベクトルを決定する。
 これにより、学習装置100では、ニューラルネットワークの一つ分のパラメータのうち共有パラメータを、ランダムに選択するという簡単な処理で選択することができる。所望の学習結果を得られない場合、マスク初期化部111による共有パラメータの選択を含め、学習をやり直すようにしてもよい。
 また、損失関数は、1つのニューラルネットワークを誤判断させる敵対的摂動を付与された入力データに対して、その他のニューラルネットワークが誤判断しない場合に、比較的小さい値を出力する関数である。
 学習装置100が、この損失関数を用いてニューラルネットワークのアンサンブル学習を行うことで、敵対的摂動にロバストな判定装置を得られることが期待される。具体的には、アンサンブル学習で得られるニューラルネットワークのうち1つが、敵対的摂動を付与された入力データに対して御判断(誤ったクラス識別)を行う場合でも、他のニューラルネットワークが、その入力データに対して正しい判断(正しいクラス識別)を行うことが期待される。
<第2実施形態>
 第2実施形態のアンサンブル学習に基づくロバスト化訓練(ERT)では、アンサンブル内のニューラルネットワーク(NN)の共有パラメータの位置も学習により決定する。すなわち、第2実施形態のERTでは、下記の式(23)の最適化問題を解くことにより、ニューラルネットワークのパラメータ及び共有パラメータの位置の学習を行う。第2実施形態では、共有パラメータの位置も学習により決定するため、共有パラメータの位置が学習中に変更される。例えば図2で、◎で示した共有パラメータの位置が学習中に変更される。それ以外の点では、第2実施形態は第1実施形態の場合と同様である。
 第2実施形態における共有パラメータ及び非共有パラメータは、第1実施形態の場合と同様である。第1実施形態の場合と同様、アンサンブル内のニューラルネットワークの個数をKとすると、共有ベクトルおよび非共有ベクトルは、式(16)のように表記することができる。
Figure JPOXMLDOC01-appb-M000016
 第2実施形態における共有マスクベクトルMも、第1実施形態の場合と同様である。
 一方、第2実施形態では、共有マスクベクトルMに対応する実数ベクトルを設ける。この実数ベクトルを、共有マスクベクトルMの代替ベクトル、または、単に代替ベクトルとも称し、Sで表記する。Sは変数(変数ベクトル)であり、代替変数とも称する。
 共有マスクベクトルM、及び、代替ベクトルSは、式(17)のように表すことができる。
Figure JPOXMLDOC01-appb-M000017
 Mは、|θ|次元のベクトルで要素が0又は1であり、1が共有位置を表す。
 共有マスクベクトルMは、要素が離散値であるため、誤差逆伝播法など微分を用いる学習方法で直接最適化することが難しい。このため、要素が連続値をとるMの代替変数(代替ベクトル)Sを用いて最適化を行う。Sは、|θ|次元のベクトルで要素が0以上1以下の実数値である。Sを最適化した後、要素の値の大きい上位m個(0≦m≦|θ|)の位置の要素の値を1としそれ以外を0として、共有マスクベクトルMを決定する。ここでpは、共有パラメータの割合である。pは、式(18)のように表すことができる。
Figure JPOXMLDOC01-appb-M000018
 mは、予め定められた正の整数とすることができる。
 第2実施形態における非共有マスクベクトル^Mも、第1実施形態の場合と同様である。
 非共有マスクベクトル^Mに対応する実数ベクトルは、1-Sで算出することができる。この実数ベクトルを、非共有マスクベクトル^Mの代替ベクトル、または、単に代替ベクトルとも称し、1-Sまたは^Sで表記する。また、Sを代替変数と称することに対応して、1-Sまたは^Sも代替変数とも称する。^Sに相当する変数を設け、1-Sを代入するようにしてもよい。
 非共有マスクベクトル^M、及び、代替ベクトル^Sは、式(19)のように表すことができる。
Figure JPOXMLDOC01-appb-M000019
 ^Mも、|θ|次元のベクトルで要素の値が0又は1であり、1が非共有位置を表す。^Mは、Mの0と1を反転させたものである。
 非共有マスクベクトル^Mに対応する代替変数^Sも、|θ|次元のベクトルで要素が0以上1以下の実数値である。^Sの各要素の値は、1からSの対応する位置の要素の値を引いた値である。
 学習時に、代替ベクトルSから共有パラメータベクトルMを算出するようにしてもよい。この場合、共有パラメータベクトルθからの共有パラメータの取り出しは、第1実施形態の場合と同様、共有マスクベクトルMを用いて行うことができ、上記の式(4)のように表すことができる。このように、共有マスクベクトルMを用いて共有パラメータベクトルθからの共有パラメータを取り出す場合については、第3実施形態で説明する。
 一方、第2実施形態では、代替ベクトルSの要素を、共有パラメータに乗算する係数として用いる。代替ベクトルSの要素の、共有パラメータへの乗算は、式(20)のように表すことができる。
Figure JPOXMLDOC01-appb-M000020
 上述したように、○はアダマール積を表し、ベクトルの要素ごとの積を計算する。
 学習時に、代替ベクトルSから共有パラメータベクトルMを算出する場合、j番目のニューラルネットワークの非共有パラメータベクトルθj nsから非共有パラメータの取り出しは、第1実施形態の場合と同様、非共有マスクベクトル^Mを用いて行うことができ、上記の式(5)のように表すことができる。j番目のニューラルネットワークのパラメータベクトルθの算出も、第1実施形態の場合と同様に行うことができ、式(6)のように表すことができる。後述する第3実施形態では、これらの処理方法を用いることができる。
 一方、第2実施形態では、非代替ベクトル1-Sの要素を、非共有パラメータに乗算する係数として用いる。非代替ベクトル1-Sの要素の、j番目のニューラルネットワークの非共有パラメータへの乗算は、式(21)のように表すことができる。
Figure JPOXMLDOC01-appb-M000021
 上述したように、○はアダマール積を表す。
 第2実施形態では、代替ベクトルSの要素を共有パラメータに乗算した値と、非代替ベクトル1-Sの要素を非共有に乗算した値の足し合わせにて、パラメータベクトルを算出する。j番目のニューラルネットワークのパラメータベクトルθは、式(22)のように表すことができる。
Figure JPOXMLDOC01-appb-M000022
 次に、式(23)の最適化問題について説明する。
Figure JPOXMLDOC01-appb-M000023
 式(23)において、「x」は、画像データなどのニューラルネットワークへの入力データであり、「y」は、xの正しいクラスラベル(クラス値)である。同様に、「x」は、ニューラルネットワークへの入力データであり、「y」は、xの正しいクラスラベルである。ここで、「x」と「x」は、異なるクラスに属する入力データとする。つまりy≠yである。
 「Δfθj(x,x,l)」は、敵対的摂動(ノイズ)を表し、第1実施形態の式(8)で計算されるものと同様である。つまり、「Δfθj(x,x,l)」は、j番目のニューラルネットワークの第l層の出力に関して、xをxに誤判断させる最小のノイズである。
 「x+Δfθj(x,x,l)」は、式(8)で求めた敵対的摂動Δfθj(x,x,l)をxに付与した入力データを表す。
 「CEfθi(x,y)」は、クロスエントロピー(Cross Entropy)損失関数であり、入力データxとクラスラベルyが与えられたとき、パラメータベクトルθを用いた際のi番目のニューラルネットワークが、xをyと正しく分類てきているほど小さい値を出力する関数である。したがって、「CEfθi(x+Δfθj(x,x,l),y)」は、xに、パラメータベクトルθを用いた際のj番目のニューラルネットワークの第l層が誤判断するような敵対的摂動を付与しても、パラメータベクトルθを用いた際のi番目のニューラルネットワークが、yと正しく判断するほど小さい値を出力する関数である。
 「Σj≠iCEfθi(・,・)」は、j番目のニューラルネットワークと異なる全てのニューラルネットワークでクロスエントロピーを求め総和を取ることを表す。
 「E(xs,ys),(xt,yt),lΣj≠iCEfθi(・,・)」は、(x,y),(x,y),lに対して、クロスエントロピーの総和の期待値をとることを表す。
 「argmin_{M(or S),θ,θ1 ns,…,θK ns}E(xs,ys),(xt,yt),lΣj≠iCEfθi(・,・)」は、前述のクロスエントロピーの総和の期待値を最小にするような、各ニューラルネットワークのパラメータベクトルθ,θ1 ns,…,θK nsと共有マスクベクトルMを求めることを表す。
 なお、第2実施形態、及び、第3実施形態で、最適化で値を求める対象の1つとして、共有マスクベクトルMではなく代替ベクトルSを用いる。上記のように、共有マスクベクトルMは離散値をとるため、最適化問題の解法として誤差逆伝播法など微分を用いる方法を適用することができない。そこで、共有マスクベクトルMに代えて代替ベクトルSを用いて最適化問題を構成し、得られる代替ベクトルSから共有マスクベクトルMを求める。
 第2実施形態では、学習終了時に得られた代替ベクトルSから、上述したように式(18)に示される割合pに従って、共有マスクベクトルMを求める。
 一方、後述する第3実施形態では、誤差逆伝播法を用いてj番目(1≦j≦K)のニューラルネットワークのパラメータベクトルθの値を更新する際に、代替ベクトルSの値を更新する。そして、更新された代替ベクトルSから、上述したように式(18)に示される割合pに従って、共有マスクベクトルMを求める。そして、得られた共有マスクベクトル(更新された共有マスクベクトル)を用いて、第1実施形態の場合と同様、共有パラメータベクトルθおよび非共有パラメータベクトルθj nsを更新する。
 図6は、第2実施形態に係る学習装置200の機能構成の例を示す概略ブロック図である。学習装置200は、制御部210、記憶部230を備える。制御部210は、マスク初期化部211、パラメータ初期化部212、訓練データ取得部213、学習部214、マスク決定部221を備える。学習部214は、ミニバッチサンプリング部215、層選択部216、パラメータ決定部217、損失関数計算部218、マスク更新部219、パラメータ更新部220を備える。記憶部230は、訓練データ記憶部231を備える。なお、学習装置200はこれら以外のものを備えてもよく、また、記憶部230は学習装置200の外部に備えられてもよい。
 第2実施形態のアンサンブル学習に基づくロバスト化訓練(ERT)では、アンサンブル内のニューラルネットワーク(NN)の共有パラメータの位置を学習により決定し、ニューラルネットワークのパラメータの学習を行う。上記のように、アンサンブル内のニューラルネットワークの個数をKとする。
 マスク初期化部211は、共有マスクベクトルMに対応する代替変数(代替ベクトル)Sを初期化する。マスク初期化部211は、マスク初期化手段の例に該当する。
 上述したように、代替変数Sおよび^Sは、式(24)のように表すことができる。
Figure JPOXMLDOC01-appb-M000024
 具体的には、マスク初期化部211は、代替変数Sをランダムに初期化する。Sの要素は0以上1以下の実数値である。あるいは、代替変数Sの初期値が予め定められ、マスク初期化部211が、代替変数Sの初期値を予め記憶しておいてもよい。
 パラメータ初期化部212は、パラメータ初期化部112と同様である。パラメータ初期化部212は、共有パラメータベクトルθと、非共有パラメータベクトルθ1 ns,…,θK nsの各々とを初期化する。上述したように、共有パラメータおよび非共有パラメータは、式(25)のように表すことができる。
Figure JPOXMLDOC01-appb-M000025
 例えば、パラメータ初期化部212は、これらのパラメータベクトルの各要素に乱数を割り振って、パラメータ値をランダムに初期化する。あるいは、各パラメータの初期値が予め定められ、パラメータ初期化部112が、パラメータの初期値をパラメータベクトルの各要素の初期値として予め記憶しておいてもよい。
 訓練データ記憶部231は、訓練データ記憶部131と同様である。訓練データ記憶部231は、ニューラルネットワークの学習に用いる訓練データ(の集合)Xtrを記憶している。
 上述したように、訓練データXtrは、式(26)のように表すことができる。
Figure JPOXMLDOC01-appb-M000026
 学習部214は、訓練データXtrを用いて、アンサンブル内のニューラルネットワークのパラメータベクトル及び共有マスクベクトルの代替変数Sを、繰り返し誤差逆伝播法により更新して学習を行う。
 ミニバッチサンプリング部215は、ミニバッチサンプリング部115と同様である。ミニバッチサンプリング部215は、訓練データXtrから、1回の学習に用いるミニバッチBをサンプリングする。具体的には、ミニバッチサンプリング部215は、訓練データXtrから、部分集合をランダムにサンプリングしてミニバッチBとする。
 層選択部216は、層選択部116と同様である。層選択部216は、敵対的摂動Δfθj(x,x,l)の生成に使用するニューラルネットワークの1つの層lを選択する。
 パラメータ決定部217は、各ニューラルネットワークに対して、パラメータベクトルを決定する。パラメータ決定部217は、パラメータ決定手段の例に該当する。
 上述したように、j番目のニューラルネットワークのパラメータベクトルθは、式(27)のように表すことができる。
Figure JPOXMLDOC01-appb-M000027
 具体的には、パラメータ決定部117は、共有マスクベクトルに対応する代替変数Sと、非共有マスクベクトルに対応する代替変数^S=1-Sと、共有パラメータベクトルθと、非共有パラメータベクトルθj ns(1≦j≦K)とを用いて、各ニューラルネットワークのパラメータベクトルθ(1≦j≦K)を決定(計算)する。S,θ及びθj ns(1≦j≦K)は、初期化又は更新されたものである。
 損失関数計算部218は、損失関数計算部118と同様である。損失関数計算部218は、損失関数計算手段の例に該当する。
 損失関数計算部218は、ミニバッチB={(x,y,x,y)}を、各j番目のニューラルネットワーク(1≦j≦K)で情報を伝播させ、式(28)の損失関数Lossを計算する。
Figure JPOXMLDOC01-appb-M000028
 式(28)の損失関数Lossは、式(13)の損失関数Lossと同様である。
 マスク更新部219は、誤差逆伝播法により誤差情報を逆伝播させて代替変数Sの更新を行う。マスク更新部219は、マスク更新手段の例に該当する。
 具体的には、マスク更新部219は、式(29)に示される損失関数Lossの偏微分を計算し、Sを更新する。
Figure JPOXMLDOC01-appb-M000029
 式(29)は、Sの要素Si(1≦i≦|θ|)に対して、∂Loss/∂Siを計算するという意味である。マスク更新部219は、例えば、所定のα(>0)に対して、Siを、Si-α×∂Loss/∂Siに更新する。
 また、マスク更新部219は、Siが[0,1]の範囲内の値となるように調整を行う。例えば、算出されたSの値がS<0である場合、マスク更新部219は、更新後のSの値を0とする。また、算出されたSの値がS>1である場合、マスク更新部219は、更新後のSの値を1とする。
 パラメータ更新部220は、パラメータ更新部119と同様である。パラメータ更新部220は、パラメータ更新手段の例に該当する。
 パラメータ更新部220は、誤差逆伝播法により誤差情報を逆伝播させてパラメータの更新を行う。具体的には、パラメータ更新部220は、式(30)に示される損失関数Lossの偏微分を計算し、θを更新する。
Figure JPOXMLDOC01-appb-M000030
 式(30)は、式(14)と同様である。パラメータ更新部220は、例えば、所定の学習係数α(>0)に対して、(θ)iを、(θ)i-α×∂Loss/∂(θ)iに更新する。
 また、パラメータ更新部220は、式(31)に示される損失関数Lossの偏微分を計算し、θj nsを更新する(j=1,…,K)。
Figure JPOXMLDOC01-appb-M000031
 式(31)は、式(15)と同様である。パラメータ更新部220は、例えば、所定の学習係数α(>0)に対して、(θj ns)iを、(θj ns)i-α×∂Loss/∂(θj ns)iに更新する。
 学習部214は、所定回の学習を終えたら、パラメータベクトルθ,θ1 ns,…,θK nsと代替変数Sを学習結果として出力する。
 マスク決定部221は、マスクベクトルMを決定する。具体的には、マスク決定部221は、学習部214から出力された代替変数Sに対して、値の大きい上位p×|θ|=m個の位置を1とし、それ以外の位置を0となるように、マスクベクトルMを決定する。ここでpは、式(18)に示される、共有パラメータの割合である。
 次に、図7を参照して、第2実施形態に係る学習装置200の動作について説明する。図7は、第2実施形態に係る学習装置200の処理手順の例を示すフローチャートである。第2実施形態の処理手順では、パラメータベクトルθ,θ1 ns,…,θK nsと代替変数Sの更新を、1回の学習ごとに同時に行う。
 まず、マスク初期化部211は、共有マスクベクトルMに対応する代替変数(代替ベクトル)Sを初期化する。(ステップS301)。マスク初期化部211は、例えば、代替変数Sをランダムに初期化する。
 次に、パラメータ初期化部212は、共有パラメータベクトルθと、非共有パラメータベクトルθ1 ns,…,θK nsを初期化する(ステップS302)。パラメータ初期化部212は、例えば、これらのパラメータベクトルの各要素に乱数を割り振ってランダムに初期化する。
 次に、訓練データ取得部213は、訓練データ記憶部231に記憶されている訓練データXtr={(x,y,x,y}(1≦i≦K)を取得する(ステップS303)。
 次に、ミニバッチサンプリング部215は、訓練データXtrから、1回の学習に用いるミニバッチB={(x,y,x,y)をサンプリングする(ステップS304)。
 次に、層選択部216は、敵対的摂動Δfθj(x,x,l)の生成に使用するニューラルネットワークの1つの層lを選択する(ステップS305)。
 次に、パラメータ決定部217は、共有マスクベクトルの代替変数Sと、非共有マスクベクトルの代替変数^S=1-Sと、共有パラメータベクトルθと、非共有パラメータベクトルθj ns(1≦j≦K)とを用いて、各ニューラルネットワークのパラメータベクトルθ=θ○M+θj ns○^M(1≦j≦K)を決定(計算)する(ステップS306)。上述したように、○はアダマール積を表す。S,θ及びθj ns(1≦j≦K)は、初期化又は更新されたものである。
 損失関数計算部218は、ミニバッチB={(x,y,x,y)}を、各j番目のニューラルネットワーク(1≦j≦K)で情報を伝播させ、式(28)の損失関数Loss=(1/|B|)×Σ(xs,ys,xt,yt)∈BΣj≠iCEfθi(x+Δfθj(x,x,l),y)を計算する(ステップS307)。損失関数Lossの計算は、パラメータベクトルθ(1≦j≦K)の意味合いが異なる点を除いて、第1実施形態において図5で示した損失関数計算の処理手順と同様である。
 次に、マスク更新部219は、誤差情報を逆伝播させて、∂Loss/∂Sを計算し、Sを更新する(ステップS308)。
 次に、パラメータ更新部220は、誤差情報を逆伝播させて、∂Loss/∂θを計算し、θを更新する(ステップS309)。
 また、パラメータ更新部220は、誤差情報を逆伝播させて、∂Loss/∂θj nsを計算し、θj nsを更新する(j=1,…,K)(ステップS310)。
 次に、学習部214は、学習を所定回行ったか否かを判定する(ステップS311)。学習を所定回行っていない場合は、学習部214は、処理をステップS304へ戻す。一方、学習を所定回行った場合は、学習部214は、処理をステップS312へ移す。
 次に、マスク決定部221は、代替変数Sに対して、値の大きい上位p×|θ|=m個の位置を1とし、それ以外の位置を0となるように、マスクベクトルMを決定する(ステップS312)。
 次に、学習部214(制御部210)は、ニューラルネットワークのパラメータベクトルθ,θ1 ns,…,θK nsとマスクベクトルMを出力する(ステップS313)。
 以上で、図7の第2実施形態に係る学習装置200の処理手順は終了である。
 なお、ステップS310において、学習の終了条件は、学習を所定回数行ったこととしたが、これに限られない。例えば、損失関数の減少幅が所定の閾値より小さいことを学習の終了条件としてもよい。
 以上説明したように、マスク初期化部211が、代替変数Sを初期化し、パラメータ初期化部212が、パラメータベクトルを初期化し、訓練データ取得部213が、訓練データを取得する。ミニバッチサンプリング部215が、ミニバッチをサンプリングし、層選択部216が、層を選択し、パラメータ決定部217が、代替変数S,^S=1-Sを用いてパラメータベクトルを決定し、損失関数計算部218が、損失関数を計算する。マスク更新部219が、代替変数Sの更新を行い、パラメータ更新部220が、パラメータの更新を行い、学習部214は、所定回の学習を終えた後パラメータベクトル及び代替変数Sを出力する。マスク決定部221は、代替変数Sからマスクベクトルを決定する。
 これにより、学習装置200は、アンサンブル学習に基づくロバスト化訓練(ERT)において、アンサンブル内のニューラルネットワークのパラメータの個数を抑制することができる。したがって、学習装置200は、メモリ等の記憶容量の抑制することができるため、アンサンブル内のニューラルネットワークの個数を増加させることができる。したがって、学習装置200は、アンサンブル学習に基づくロバスト化訓練において、ロバスト性を向上させることができる。
 また、学習装置200は、共有パラメータの位置(マスクベクトル)を学習により決定するため、より共有パラメータの位置や個数を適切に決定できる。また、第2実施形態の学習装置200は、後に述べる第3実施形態の処理方法より、高速に処理を行うことができる。
 また、共有マスクベクトルは、ニューラルネットワークの一つ分におけるパラメータごとに連続量の値を有する。マスク更新部219は、損失関数の値を用いて共有マスクベクトルにおけるパラメータごとの値(共有マスクベクトルの要素の値)を更新する。
 学習装置200によれば、ニューラルネットワークのパラメータの値に加えて共有パラメータとするパラメータ、ニューラルネットワークの構造における位置も学習することができる。学習装置200によれば、この点で、より高精度に学習を行えると期待される。
<第3実施形態>
 第3実施形態のアンサンブル学習に基づくロバスト化訓練(ERT)では、第2実施形態と同様に、アンサンブル内のニューラルネットワーク(NN)の共有パラメータの位置も学習により決定する。すなわち、第3実施形態のERTでは、前述の式(23)の最適化問題を解くことにより、ニューラルネットワークのパラメータ及び共有パラメータの位置の学習を行う。第3実施形態でも、共有パラメータの位置も学習により決定するため、共有パラメータの位置が学習中に変更される。例えば図2で、◎で示した共有パラメータの位置が学習中に変更される。
 上述したように、第3実施形態では、誤差逆伝播法で、共有パラメータベクトル及び非共有パラメータベクトルを更新する際に、更新された代替ベクトルSから共有マスクベクトルMを算出(更新)し、算出した共有マスクベクトルを用いてニューラルネットワークのパラメータ値を算出して誤差を算出する。それ以外の点では、第3実施形態は、第2実施形態の場合と同様である。
 第3実施形態の学習装置200の機能構成の例を示す概略ブロック図は、図6で示した第2実施形態の学習装置200の機能構成の例を示す概略ブロック図と同様である。
 次に、図8及び図9を参照して、第3実施形態に係る学習装置200の動作について説明する。図8及び図9は、第3実施形態に係る学習装置200の処理手順の例を示すフローチャートである。第3実施形態の処理手順では、代替変数Sの学習を先に行い、代替変数SからマスクベクトルM,^Mを決定し、これらを用いてパラメータベクトルθ,θ1 ns,…,θK nsの学習を行う。
 まず、マスク初期化部211は、共有マスクベクトルMに対応する代替変数(代替ベクトル)Sを初期化する。(ステップS401)。マスク初期化部211は、例えば、代替変数Sをランダムに初期化する。
 次に、パラメータ初期化部212は、共有パラメータベクトルθと、非共有パラメータベクトルθ1 ns,…,θK nsを初期化する(ステップS402)。パラメータ初期化部212は、例えば、これらのパラメータベクトルの各要素に乱数を割り振ってランダムに初期化する。
 次に、訓練データ取得部213は、訓練データ記憶部231に記憶されている訓練データXtr={(x,y,x,y}(1≦i≦K)を取得する(ステップS403)。
 次に、ミニバッチサンプリング部215は、訓練データXtrから、1回の学習(ステップS404~ステップS408の学習であり、以下、学習Aと称する。)に用いるミニバッチB={(x,y,x,y)をサンプリングする(ステップS404)。
 次に、層選択部216は、敵対的摂動Δfθj(x,x,l)の生成に使用するニューラルネットワークの1つの層lを選択する(ステップS405)。
 次に、パラメータ決定部217は、共有マスクベクトルの代替変数Sと、非共有マスクベクトルの代替変数^S=1-Sと、共有パラメータベクトルθと、非共有パラメータベクトルθj ns(1≦j≦K)とを用いて、各ニューラルネットワークのパラメータベクトルθ=θ○S+θj ns○^S(1≦j≦K)を決定(計算)する(ステップS406)。ここで、○はアダマール積を表す。Sは、初期化又は更新されたものである。
 損失関数計算部218は、ミニバッチB={(x,y,x,y)}を、各j番目のニューラルネットワーク(1≦j≦K)で情報を伝播させ、式(28)の損失関数Loss=(1/|B|)×Σ(xs,ys,xt,yt)∈BΣj≠iCEfθi(x+Δfθj(x,x,l),y)を計算する(ステップS407)。損失関数計算部218が行う損失関数Lossの計算は、パラメータベクトルθ(1≦j≦K)の意味合いが異なる点を除いて、第1実施形態において図5で示した損失関数計算の処理手順と同様である。
 次に、マスク更新部219は、誤差情報を逆伝播させて、∂Loss/∂Sを計算し、Sを更新する(ステップS408)。
 次に、学習部214は、学習Aを所定回行ったか否かを判定する(ステップS409)。学習Aを所定回行っていない場合は、学習部214は、処理をステップS404へ戻す。一方、学習Aを所定回行った場合は、学習部214は、処理をステップS410へ移す。
 次に、マスク決定部221は、代替変数Sに対して、値の大きい上位p×|θ|=m個の位置を1とし、それ以外の位置を0となるように、マスクベクトルMを決定する(ステップS410)。また、マスク決定部221は、マスクベクトルMの各要素の0と1を反転したものを、非共有マスクベクトル^Mとして決定する(ステップS410)。
 次に、ミニバッチサンプリング部215は、訓練データXtrから、1回の学習(ステップS411~ステップS416の学習であり、以下、学習Bと称する。)に用いるミニバッチB={(x,y,x,y)をサンプリングする(ステップS411)。
 次に、層選択部216は、敵対的摂動Δfθj(x,x,l)の生成に使用するニューラルネットワークの1つの層lを選択する(ステップS412)。
 次に、パラメータ決定部217は、共有マスクベクトルMと、非共有マスクベクトル^Mと、共有パラメータベクトルθと、非共有パラメータベクトルθj ns(1≦j≦K)とを用いて、各ニューラルネットワークのパラメータベクトルθ=θ○M+θj ns○^M(1≦j≦K)を決定(計算)する(ステップS413)。ここで、○はアダマール積を表す。θ,θj ns(1≦j≦K)は、初期化又は更新されたものである。
 損失関数計算部218は、ミニバッチB={(x,y,x,y)}を、各j番目のニューラルネットワーク(1≦j≦K)で情報を伝播させ、式(28)の損失関数Loss=(1/|B|)×Σ(xs,ys,xt,yt)∈BΣj≠iCEfθi(x+Δfθj(x,x,l),y)を計算する(ステップS414)。損失関数計算部218が行う損失関数Lossの計算は、パラメータベクトルθ(1≦j≦K)の意味合いが異なる点を除いて、第1実施形態において図5で示した損失関数計算の処理手順と同様である。
 次に、パラメータ更新部220は、誤差情報を逆伝播させて、∂Loss/∂θを計算し、θを更新する(ステップS415)。
 また、パラメータ更新部220は、誤差情報を逆伝播させて、∂Loss/∂θj nsを計算し、θj nsを更新する(j=1,…,K)(ステップS416)。
 次に、学習部214は、学習Bを所定回行ったか否かを判定する(ステップS417)。学習Bを所定回行っていない場合は、学習部214は、処理をステップS411へ戻す。一方、学習Bを所定回行った場合は、学習部214は、処理をステップS417へ移す。
 次に、学習部214は、さらに学習A及び学習Bを所定回行ったか否かを判定する(ステップS418)。学習A及び学習Bを所定回行っていない場合は、学習部214は、処理をステップS404へ戻す。一方、学習A及び学習Bを所定回行った場合は、学習部214は、処理をステップS419へ移す。
 次に、学習部214(制御部210)は、ニューラルネットワークのパラメータベクトルθ,θ1 ns,…,θK nsとマスクベクトルMを出力する(ステップS419)。
 以上で、図8及び図9の第3実施形態に係る学習装置200の処理手順は終了である。
 なお、ステップS418において、学習A及び学習Bの終了条件は、1回の学習でもよい。また、ステップS409、S417、S418の各学習の終了条件は、学習を所定回数行ったこととしたが、例えば、損失関数の減少幅が所定の閾値より小さいことを学習の終了条件としてもよい。
 以上説明したように、マスク初期化部211が、代替変数Sを初期化し、パラメータ初期化部212が、パラメータベクトルを初期化し、訓練データ取得部213が、訓練データを取得する。学習Aにおいて、ミニバッチサンプリング部215が、ミニバッチをサンプリングし、層選択部216が、層を選択し、パラメータ決定部217が、代替変数S,^S=1-Sを用いてパラメータベクトルを決定し、損失関数計算部218が、損失関数を計算し、マスク更新部219が、代替変数Sの更新を行う。学習部214が学習Aを所定回行ったら、マスク決定部221は、代替変数Sからマスクベクトルを決定する。さらに、学習Bにおいて、ミニバッチサンプリング部215が、ミニバッチをサンプリングし、層選択部216が、層を選択し、パラメータ決定部217が、マスクベクトルM,^Mを用いてパラメータベクトルを決定し、損失関数計算部218が、損失関数を計算し、パラメータ更新部220が、パラメータの更新を行う。学習部214が学習Bを所定回行ったら、さらに学習部214は、学習A及び学習Bを所定回行い、その後、パラメータベクトル及びマスクベクトルMを出力する。
 これにより、学習装置200は、アンサンブル学習に基づくロバスト化訓練(ERT)において、アンサンブル内のニューラルネットワークのパラメータの個数を抑制することができる。したがって、学習装置200は、メモリ等の記憶容量の抑制することができるため、アンサンブル内のニューラルネットワークの個数を増加させることができる。したがって、学習装置200は、アンサンブル学習に基づくロバスト化訓練において、ロバスト性を向上させることができる。
 また、学習装置200は、共有パラメータの位置(マスクベクトル)を学習により決定するため、より共有パラメータの位置や個数を適切に決定できる。また、第3実施形態の学習装置200は、前述した第2実施形態の処理方法より、精度のよい学習を行うことができる。
<第4実施形態>
 第4実施形態は、第1実施形態乃至第3実施形態の学習装置100、200で学習されたニューラルネットワークを用いた判定装置の例を示す。
 図10は、第4実施形態に係る判定装置300の機能構成の例を示す概略ブロック図である。判定装置300は、複数のニューラルネットワーク301(ニューラルネットワーク1、・・・、ニューラルネットワークK)と、多数決部302とを備える。
 ニューラルネットワーク301は、第1実施形態乃至第3実施形態の学習装置100、200で学習されたニューラルネットワーク1、・・・、ニューラルネットワークKである。これらのニューラルネットワークi(1≦i≦K)は、パラメータ(パラメータベクトル)が共有されている。各ニューラルネットワークiは、画像データ等の入力データを入力として入力されると、クラスラベル(クラス値)を出力する。
 多数決部302は、複数のニューラルネットワーク301からクラスラベル(クラス値)を入力されると、多数決(最多のクラスラベルとする)をとって、その結果のクラスラベルを出力する。なお、多数決部302は、複数のニューラルネットワーク301の入力に対して重みづけをしてもよい。また、多数決部302は、複数のニューラルネットワーク301からの入力に対して多数決ではなく、その他の関数により値を計算して結果を出力してもよい。
 第4実施形態によれば、第1実施形態乃至第3実施形態の学習装置100、200で学習されたニューラルネットワーク1、・・・、ニューラルネットワークKが、入力データからクラスラベルを計算し、多数決部302が、クラスラベルの多数決をとって結果を出力する。
 これによって、ニューラルネットワークのパラメータ数が抑制された判定(クラス識別)を行うことができる。また、アンサンブル内のニューラルネットワークの個数を増加させることができるため、ロバスト性を向上させることができる。
<第5実施形態>
 図11は、第5実施形態に係る学習装置500の機能構成の例を示す概略ブロック図である。図11に示す構成で、学習装置500は、マスク初期化部501と、損失関数計算部502と、パラメータ更新部503とを備える。
 かかる構成で、マスク初期化部501は、複数のパラメータをもつ機械学習モデルのパラメータについて、複数の機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定する。損失関数計算部502は、前記共有パラメータ、前記非共有パラメータ、および、前記マスク情報にて示されるパラメータ値を適用した複数の前記機械学習モデルに基づく損失関数の、訓練データに対する値を計算する。パラメータ更新部503は、損失関数の値を用いて共有パラメータの値と非共有パラメータの値とを更新する。
 マスク初期化部501は、マスク初期化手段の例に該当する。損失関数計算部502は、損失関数計算手段の例に該当する。パラメータ更新部503は、パラメータ更新手段の例に該当する。
 学習装置500によれば、複数の機械学習モデルを用いる判定装置が記憶すべきパラメータ値の個数を比較的少なくすることができる。
 例えば、学習装置500は、アンサンブル学習に基づくロバスト化訓練(ERT)において、アンサンブル内のニューラルネットワークのパラメータの個数を抑制することができる。したがって、学習装置500は、メモリ等の記憶容量の抑制することができるため、アンサンブル内のニューラルネットワークの個数を増加させることができる。したがって、学習装置500は、アンサンブル学習に基づくロバスト化訓練において、ロバスト性を向上させることができる。
<第6実施形態>
 図12は、第6実施形態に係る学習方法の処理手順の例を示すフローチャートである。図12に示す学習方法は、マスク情報を決定することと(ステップS501)、損失関数を計算することと(ステップS502)、共有パラメータと非共有パラメータとを更新することと(ステップS503)とを含む。
 マスク情報を決定すること(ステップS501)では、コンピュータが、複数のパラメータをもつ機械学習モデルのパラメータについて、複数の機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定する。損失関数を計算すること(ステップS502)では、コンピュータが、訓練データを用いて、複数の機械学習モデルに基づく損失関数を計算する。共有パラメータと非共有パラメータとを更新すること(ステップS503)では、コンピュータが、損失関数の値を用いて、誤差逆伝播法により、共有パラメータと非共有パラメータとを更新する。
 図12に示す学習方法によれば、複数の機械学習モデルを用いる判定装置が記憶すべきパラメータ値の個数を比較的少なくすることができる。
 例えば、図12に示す学習方法によれば、アンサンブル学習に基づくロバスト化訓練(ERT)において、アンサンブル内のニューラルネットワークのパラメータの個数を抑制することができる。したがって、学習方法は、メモリ等の記憶容量の抑制することができるため、アンサンブル内のニューラルネットワークの個数を増加させることができる。したがって、学習方法、アンサンブル学習に基づくロバスト化訓練において、ロバスト性を向上させることができる。
 図13は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 図13に示す構成で、コンピュータ400は、CPU(Central Processing Unit)410と、主記憶装置420と、補助記憶装置430と、インタフェース440とを備える。
 上記の学習装置100及び200のうち何れか1つ以上が、コンピュータ400に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置430に記憶されている。CPU410は、プログラムを補助記憶装置430から読み出して主記憶装置420に展開し、当該プログラムに従って上記処理を実行する。また、CPU410は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置420に確保する。各装置と他の装置との通信は、インタフェース440が通信機能を有し、CPU410の制御に従って通信を行うことで実行される。
 学習装置100がコンピュータ400に実装される場合、マスク初期化部111と、パラメータ初期化部112と、訓練データ取得部113と、学習部114の動作、及び、学習部114が備えるミニバッチサンプリング部115と、層選択部116と、パラメータ決定部117と、損失関数計算部118と、パラメータ更新部119の動作は、プログラムの形式で補助記憶装置430に記憶されている。CPU410は、プログラムを補助記憶装置430から読み出して主記憶装置420に展開し、当該プログラムに従って上記処理を実行する。
 学習装置100の出力は、インタフェース440が通信機能又は表示機能等の出力機能を有し、CPU410の制御に従って出力処理を行うことで実行される。
 学習装置200がコンピュータ400に実装される場合、マスク初期化部211と、パラメータ初期化部212と、訓練データ取得部213と、学習部214と、マスク決定部221の動作、及び、学習部114が備えるミニバッチサンプリング部215と、層選択部216と、パラメータ決定部217と、損失関数計算部218と、マスク更新部219と、パラメータ更新部119の動作は、プログラムの形式で補助記憶装置430に記憶されている。CPU410は、プログラムを補助記憶装置430から読み出して主記憶装置420に展開し、当該プログラムに従って上記処理を実行する。
 学習装置100の出力は、インタフェース440が通信機能又は表示機能等の出力機能を有し、CPU410の制御に従って出力処理を行うことで実行される。
 以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
 複数のパラメータをもつ機械学習モデルの前記パラメータについて、複数の前記機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定するマスク初期化手段と、
 前記共有パラメータ、前記非共有パラメータ、および、前記マスク情報にて示されるパラメータ値を適用した複数の前記機械学習モデルに基づく損失関数の、訓練データに対する値を計算する損失関数計算手段と、
 前記損失関数の値を用いて前記共有パラメータの値と前記非共有パラメータの値とを更新するパラメータ更新手段と、
 を備える学習装置。
(付記2)
 前記機械学習モデルの一つ分のパラメータがベクトルに構成されたパラメータベクトルを含み、複数の前記機械学習モデルに共用として設けられるモデルテンプレートの、前記パラメータベクトルの要素のうち、前記マスク情報によって共有パラメータとされる要素には、前記共有パラメータがベクトルに構成され複数の前記機械学習モデルに共用として設けられる共有パラメータベクトルから共有パラメータの値を設定し、前記パラメータベクトルの要素のうち、前記マスク情報によって非共有パラメータとされる要素には、前記非共有パラメータがベクトルに構成され前記機械学習モデルごとに設けられる非共有パラメータベクトルから非共有パラメータの値を設定することで、複数の前記機械学習モデルのうち1つの機械学習モデルを構成するパラメータ決定手段
 を更に備える、付記1に記載の学習装置。
(付記3)
 前記マスク初期化手段は、前記機械学習モデルの一つ分のパラメータのうち共有パラメータをランダムに選択するように、前記マスク情報を決定する
 付記1または付記2に記載の学習装置。
(付記4)
 前記マスク情報は、前記機械学習モデルの一つ分におけるパラメータごとに連続量の値を有し、
 前記損失関数の値を用いて前記マスク情報におけるパラメータごとの値を更新するマスク更新手段をさらに備える
 付記1から3の何れか一つに記載の学習装置。
(付記5)
 所定の条件を満たすまで、前記損失関数計算手段による前記損失関数の計算と、前記パラメータ更新手段による前記共有パラメータ及び非共有パラメータの更新とを繰り返す
 付記1から4の何れか一つに記載の学習装置。
(付記6)
 前記損失関数は、1つの前記機械学習モデルを誤判断させる敵対的摂動を付与された入力データに対して、その他の前記機械学習モデルが誤判断しない場合に、比較的小さい値を出力する関数である
 付記1から5の何れか一つに記載の学習装置。
(付記7)
 前記機械学習モデルは、ニューラルネットワークである
 付記1から6の何れか一つに記載の学習装置。
(付記8)
 付記1から7の何れか一つにおける学習装置で学習済みの複数の前記機械学習モデルと、
 複数の前記機械学習モデルの出力の多数決をとる多数決手段と、
 を備える判定装置。
(付記9)
 コンピュータが、
 複数のパラメータをもつ機械学習モデルの前記パラメータについて、複数の前記機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定する工程と、
 前記共有パラメータ、前記非共有パラメータ、および、前記マスク情報にて示されるパラメータ値を適用した複数の前記機械学習モデルに基づく損失関数の、訓練データに対する値を計算する工程と、
 前記損失関数の値を用いて前記共有パラメータの値と前記非共有パラメータの値とを更新する工程と、
 を含む学習方法。
(付記10)
 コンピュータに、
 複数のパラメータをもつ機械学習モデルの前記パラメータについて、複数の前記機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定する工程と、
 前記共有パラメータ、前記非共有パラメータ、および、前記マスク情報にて示されるパラメータ値を適用した複数の前記機械学習モデルに基づく損失関数の、訓練データに対する値を計算する工程と、
 前記損失関数の値を用いて前記共有パラメータの値と前記非共有パラメータの値とを更新する工程と、
 を実行させるためのプログラムを記録した記録媒体。
 本発明の実施形態は、学習装置、判定装置、学習方法および記録媒体に適用してもよい。
 100、200 学習装置
 110、210 制御部
 111、211 マスク初期化部
 112、212 パラメータ初期化部
 113、213 訓練データ取得部
 114、214 学習部
 115、215 ミニバッチサンプリング部
 116、216 層選択部
 117、217 パラメータ決定部
 118、218 損失関数計算部
     219 マスク更新部
 119、220 パラメータ更新部
     221 マスク決定部
 130、230 記憶部
 131、231 訓練データ記憶部
 300     判定装置
 301     ニューラルネットワーク
 302     多数決部

Claims (10)

  1.  複数のパラメータをもつ機械学習モデルの前記パラメータについて、複数の前記機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定するマスク初期化手段と、
     前記共有パラメータ、前記非共有パラメータ、および、前記マスク情報にて示されるパラメータ値を適用した複数の前記機械学習モデルに基づく損失関数の、訓練データに対する値を計算する損失関数計算手段と、
     前記損失関数の値を用いて前記共有パラメータの値と前記非共有パラメータの値とを更新するパラメータ更新手段と、
     を備える学習装置。
  2.  前記機械学習モデルの一つ分のパラメータがベクトルに構成されたパラメータベクトルを含み、複数の前記機械学習モデルに共用として設けられるモデルテンプレートの、前記パラメータベクトルの要素のうち、前記マスク情報によって共有パラメータとされる要素には、前記共有パラメータがベクトルに構成され複数の前記機械学習モデルに共用として設けられる共有パラメータベクトルから共有パラメータの値を設定し、前記パラメータベクトルの要素のうち、前記マスク情報によって非共有パラメータとされる要素には、前記非共有パラメータがベクトルに構成され前記機械学習モデルごとに設けられる非共有パラメータベクトルから非共有パラメータの値を設定することで、複数の前記機械学習モデルのうち1つの機械学習モデルを構成するパラメータ決定手段
     を更に備える、請求項1に記載の学習装置。
  3.  前記マスク初期化手段は、前記機械学習モデルの一つ分のパラメータのうち共有パラメータをランダムに選択するように、前記マスク情報を決定する
     請求項1または請求項2に記載の学習装置。
  4.  前記マスク情報は、前記機械学習モデルの一つ分におけるパラメータごとに連続量の値を有し、
     前記損失関数の値を用いて前記マスク情報におけるパラメータごとの値を更新するマスク更新手段をさらに備える
     請求項1から3の何れか一項に記載の学習装置。
  5.  所定の条件を満たすまで、前記損失関数計算手段による前記損失関数の計算と、前記パラメータ更新手段による前記共有パラメータ及び非共有パラメータの更新とを繰り返す
     請求項1から4の何れか一項に記載の学習装置。
  6.  前記損失関数は、1つの前記機械学習モデルを誤判断させる敵対的摂動を付与された入力データに対して、その他の前記機械学習モデルが誤判断しない場合に、比較的小さい値を出力する関数である
     請求項1から5の何れか一項に記載の学習装置。
  7.  前記機械学習モデルは、ニューラルネットワークである
     請求項1から6の何れか一項に記載の学習装置。
  8.  請求項1から7の何れか一項における学習装置で学習済みの複数の前記機械学習モデルと、
     複数の前記機械学習モデルの出力の多数決をとる多数決手段と、
     を備える判定装置。
  9.  コンピュータが、
     複数のパラメータをもつ機械学習モデルの前記パラメータについて、複数の前記機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定する工程と、
     前記共有パラメータ、前記非共有パラメータ、および、前記マスク情報にて示されるパラメータ値を適用した複数の前記機械学習モデルに基づく損失関数の、訓練データに対する値を計算する工程と、
     前記損失関数の値を用いて前記共有パラメータの値と前記非共有パラメータの値とを更新する工程と、
     を含む学習方法。
  10.  コンピュータに、
     複数のパラメータをもつ機械学習モデルの前記パラメータについて、複数の前記機械学習モデルに共用として設けられる共有パラメータと、機械学習モデルごとに設けられる非共有パラメータとの区別を示すマスク情報を決定する工程と、
     前記共有パラメータ、前記非共有パラメータ、および、前記マスク情報にて示されるパラメータ値を適用した複数の前記機械学習モデルに基づく損失関数の、訓練データに対する値を計算する工程と、
     前記損失関数の値を用いて前記共有パラメータの値と前記非共有パラメータの値とを更新する工程と、
     を実行させるためのプログラムを記録した記録媒体。
PCT/JP2022/022235 2022-05-31 2022-05-31 学習装置、判定装置、学習方法および記録媒体 WO2023233559A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/022235 WO2023233559A1 (ja) 2022-05-31 2022-05-31 学習装置、判定装置、学習方法および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/022235 WO2023233559A1 (ja) 2022-05-31 2022-05-31 学習装置、判定装置、学習方法および記録媒体

Publications (1)

Publication Number Publication Date
WO2023233559A1 true WO2023233559A1 (ja) 2023-12-07

Family

ID=89025974

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/022235 WO2023233559A1 (ja) 2022-05-31 2022-05-31 学習装置、判定装置、学習方法および記録媒体

Country Status (1)

Country Link
WO (1) WO2023233559A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170024642A1 (en) * 2015-03-13 2017-01-26 Deep Genomics Incorporated System and method for training neural networks
JP2021101318A (ja) * 2019-12-24 2021-07-08 オムロン株式会社 解析装置、解析方法、及び解析プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170024642A1 (en) * 2015-03-13 2017-01-26 Deep Genomics Incorporated System and method for training neural networks
JP2021101318A (ja) * 2019-12-24 2021-07-08 オムロン株式会社 解析装置、解析方法、及び解析プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AMADA TAKUMA, KAKIZAKI KAZUYA, ARAKI TOSHINORI, LIEW SENG PEI, KESHET JOSEPH, FURUKAWA JUN: "Adversarial Robustness for Face Recognition: How to Introduce Ensemble Diversity among Feature Extractors?", 1 January 2021 (2021-01-01), XP093116055, Retrieved from the Internet <URL:https://ceur-ws.org/Vol-2808/Paper_34.pdf> *
MADA, TAKUMA; KAKIZAKI, KAZUYA; LIEW, SENG PEI; FURUKAWA, JUN; ARAKI, TOSHINORI; KESHET, JOSPEH: "Improving Adversarial Robustness on Face Recognition Systems", COMPUTER SECURITY SYMPOSIUM 2020; OCTOBER 26-29, 2020, INFORMATION PROCESSING SOCIETY OF JAPAN (IPSJ), 19 October 2020 (2020-10-19) - 29 October 2020 (2020-10-29), pages 129 - 136, XP009551514 *

Similar Documents

Publication Publication Date Title
Chaudhry et al. Using hindsight to anchor past knowledge in continual learning
Hall et al. A systematic study of bias amplification
Lambrou et al. Reliable probability estimates based on support vector machines for large multiclass datasets
US20220067588A1 (en) Transforming a trained artificial intelligence model into a trustworthy artificial intelligence model
Laha Building contextual classifiers by integrating fuzzy rule based classification technique and k-nn method for credit scoring
US11562250B2 (en) Information processing apparatus and method
CN110969200B (zh) 基于一致性负样本的图像目标检测模型训练方法及装置
JP7095599B2 (ja) 辞書学習装置、辞書学習方法、データ認識方法およびコンピュータプログラム
CN114419878B (zh) 城市路网全域交通状态预测的方法、电子装置和存储介质
US20220129712A1 (en) Deep neural network hardener
US20220129758A1 (en) Clustering autoencoder
Dalatu et al. A comparative study of linear and nonlinear regression models for outlier detection
Shu et al. Perf-al: Performance prediction for configurable software through adversarial learning
WO2023233559A1 (ja) 学習装置、判定装置、学習方法および記録媒体
de Croon et al. Comparing active vision models
Alasbahi et al. An online transfer learning framework with extreme learning machine for automated credit scoring
Jamil et al. Model selection in online learning for times series forecasting
Bodyanskiy et al. Evolving cascaded neural network based on multidimensional Epanechnikov’s kernels and its learning algorithm
EP3937086A1 (en) Training a student neural network to mimic a mentor neural network with inputs that maximize student-to-mentor disagreement
WO2022162839A1 (ja) 学習装置、学習方法、及び、記録媒体
KR102339619B1 (ko) 이미지 품질향상장치, 이미지 품질향상방법
JP7242595B2 (ja) 学習装置、推論装置、学習方法及び推論方法
Hall et al. Bias amplification in image classification
KR101880547B1 (ko) 유사도 측정을 기반으로 한 동영상 특징 벡터 추출 방법
Fuchs et al. Scrutinizing and de-biasing intuitive physics with neural stethoscopes

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

Country of ref document: EP

Kind code of ref document: A1