WO2020105341A1 - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法

Info

Publication number
WO2020105341A1
WO2020105341A1 PCT/JP2019/041365 JP2019041365W WO2020105341A1 WO 2020105341 A1 WO2020105341 A1 WO 2020105341A1 JP 2019041365 W JP2019041365 W JP 2019041365W WO 2020105341 A1 WO2020105341 A1 WO 2020105341A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
output
layer
neural
unit
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2019/041365
Other languages
English (en)
French (fr)
Inventor
山本 康平
前野 蔵人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Publication of WO2020105341A1 publication Critical patent/WO2020105341A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/04—Architecture, e.g. interconnection topology
    • G06N3/0495—Quantised networks; Sparse networks; Compressed networks
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/04—Architecture, e.g. interconnection topology
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/04—Architecture, e.g. interconnection topology
    • G06N3/0464—Convolutional networks [CNN, ConvNet]
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/08—Learning methods
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/08—Learning methods
    • G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00—Computing arrangements based on biological models
    • G06N3/02—Neural networks
    • G06N3/08—Learning methods
    • G06N3/09—Supervised learning

Definitions

  • the present invention relates to an information processing device and an information processing method.
  • a multilayer neural network having high performance in today's image recognition application is configured with a huge number of parameters, and a hardware having a high computing capacity and a wide memory bandwidth is required to operate the multilayer neural network. Is. Therefore, a technique for reducing the number of parameters configuring the network and reducing the scale of the network has appeared.
  • Non-Patent Document 1 a method called distillation has been proposed (see Non-Patent Document 1, for example).
  • This method uses a small-scale multilayer neural network (hereinafter, referred to as “soft target”) based on output data of a large-scale trained multilayer neural network (hereinafter, referred to as “teacher model”).
  • This is a method of training "student model”.
  • Such a method has succeeded in reducing the number of parameters while preventing accuracy deterioration such as recognition.
  • a method for creating an appropriate scale network structure in the above-mentioned distillation is disclosed (for example, refer to Patent Document 1). Specifically, to take out two hidden layers included in the teacher model, add a new output layer to each of the two hidden layers, and additionally learn two hidden layers to which the new output layer is added. Disclosed is a method for obtaining an optimal-scale network structure by applying a process of deleting one of two intermediate layers to all layers of a teacher model based on the similarity of outputs obtained by Has been done.
  • Non-Patent Document 1 it is necessary to manually design an optimal-scale network structure that can reduce the number of parameters while maintaining the accuracy of recognition and the like.
  • Patent Document 1 requires additional learning and calculation of the degree of similarity. Therefore, if the technique is applied to a larger-scale multilayer neural network, the calculation cost will be enormous. .. For example, if such a technique is applied to a network having 100 intermediate layers, even if the reduction determination is performed only between adjacent layers, 99 additional learnings and similarity calculation are required, which is not efficient.
  • an input unit for obtaining a first neural network including a plurality of processing layers and a first neural network are provided in parallel with each other.
  • a plurality of second neural networks that are generated, and a third neural network that outputs an output to each of the plurality of second neural networks and records an output distribution; and at least the plurality of second neural networks.
  • a learning unit for training the third neural network so that a value relating to a difference based on the output of each of the two neural networks and the output of the first neural network is minimized; and at least one or more learning units.
  • a determination unit that determines one neural network from the plurality of second neural networks based on a statistic of the output of the third neural network regarding data, the plurality of second neural networks and the third neural network.
  • a correction unit that deletes the plurality of second neural networks other than the one neural network and deletes the third neural network from the network, and an output unit that outputs the one neural network.
  • the third neural network may output to the plurality of second neural networks based on the updated parameter.
  • the output distribution may be a probability distribution.
  • the third neural network may have a selector function that outputs a vector in which one element is 1 and the other elements are 0.
  • the number of layers of the plurality of second neural networks may be smaller than the number of layers of the first neural network.
  • Each of the plurality of second neural networks may include at least one intermediate layer forming the first neural network.
  • the learning unit minimizes a value related to a difference based on an output of the third neural network, an output of each of the plurality of second neural networks, and an output of the first neural network. Training may be provided.
  • the above statistics may be mode values.
  • an input unit for obtaining a first neural network including a plurality of processing layers, and a plurality of first units each provided in parallel with the first neural network.
  • a second neural network, and a third neural network for outputting a plurality of outputs to each of the plurality of second neural networks to record an output distribution; and at least each of the plurality of second neural networks.
  • a learning unit that trains the third neural network, and the third unit related to at least one or more data.
  • An information processing device is provided, which comprises: a determination unit that determines one neural network from the plurality of second neural networks based on the statistical amount of the output of the neural network.
  • the present invention there is provided a technique for obtaining information for efficiently reducing the number of layers in the neural network while suppressing the performance deterioration of the neural network.
  • a plurality of constituent elements having substantially the same functional configuration may be distinguished by attaching different numbers after the same reference numerals. However, when it is not necessary to specifically distinguish each of the plurality of constituent elements having substantially the same functional configuration, only the same reference numeral is given.
  • similar components in different embodiments may be distinguished by attaching different alphabets after the same reference numerals. However, if there is no particular need to distinguish between similar components of different embodiments, only the same reference numerals will be given.
  • the trained neural network that is the object of weight reduction is also referred to as a "teacher model”.
  • each candidate of the neural network that can be output instead of the teacher model based on the teacher model (the teacher model is approximated) is also referred to as a “student model”.
  • the embodiment of the present invention mainly proposes a technique for obtaining a student model in which the number of layers is efficiently reduced from the teacher model while suppressing performance deterioration from the teacher model.
  • neural network used in the present specification does not necessarily mean only the processing layer group including all of the input layer, the intermediate layer, and the output layer.
  • a “neural network” as used herein may also mean one or more processing layers that are partially cut out (eg, only some intermediate layers) from these processing layer groups.
  • FIG. 1 is a block diagram showing a functional configuration example of an information processing apparatus 10 according to the first embodiment of the present invention.
  • the information processing device 10 includes a computing device such as a CPU (Central Processing Unit), and a program stored in a memory (not shown) is expanded by the CPU into a RAM (Random Access Memory) and executed. The function can be realized.
  • a computer-readable recording medium in which the program is recorded may be provided.
  • the information processing device 10 may be configured by dedicated hardware, or may be configured by a combination of a plurality of hardware.
  • the information processing device 10 includes an input unit 100, a generation unit 101, an output unit 105, and a reconstruction unit 106.
  • the reconstruction unit 106 includes a learning unit 102, a determination unit 103, and a correction unit 104.
  • each block shown in FIG. 1 will be briefly described, and a detailed description of each block will be given in “Description of Operation”.
  • the input unit 100 acquires a trained teacher model and outputs the teacher model to the generation unit 101.
  • the generation unit 101 generates a plurality of student models (hereinafter also referred to as “student model group”) based on the teacher model input from the input unit 100, and outputs the generated student model group to the learning unit 102. ..
  • the learning unit 102 uses the data (or other data) used for training the teacher model, and uses the back propagation method (error back propagation) or the like to create the student model group. And update the parameters of each auxiliary layer.
  • the learning unit 102 outputs the student model group and the auxiliary layer whose parameters have been updated to the determination unit 103.
  • the learning unit 102 updates the parameter of the student model and outputs the student model with the updated parameter to the output unit 105.
  • the determination unit 103 outputs information necessary for obtaining one student model from the student model group to the correction unit 104 based on the student model group and the auxiliary layer whose parameters are updated.
  • the modification unit 104 modifies the student model group to obtain one student model based on the information input from the determination unit 103, and outputs the one student model to the learning unit 102.
  • the output unit 105 outputs the student model with updated parameters.
  • the input unit 100 acquires a trained teacher model whose parameters are optimized in advance using arbitrary training data.
  • the trained teacher model contains its structural information and parameters.
  • the parameters include the weight set for the neuron.
  • the trained teacher model may be a first neural network (multilayer neural network) including a plurality of processing layers, and its structure is not particularly limited.
  • the teacher model may be a fully connected neural network or a convolutional neural network.
  • the input unit 100 outputs the acquired teacher model to the generation unit 101. Then, the generation unit 101 generates a network for student model training including a teacher model, a plurality of second neural networks, and a third neural network, based on the teacher model input from the input unit 100.
  • the plurality of second neural networks and the third neural network will be described later.
  • FIG. 2 is a diagram showing a configuration example of a student model training network generated by the generation unit 101.
  • a teacher model in which the intermediate layers 201-1 to 204-1 are connected in order.
  • the intermediate layers 201-1 to 204-1 are some function.
  • the characteristic data output from the intermediate layer 201-1 is x and the intermediate layer 202-1 is a function f
  • the number of layers of the teacher model (middle layers 201-1 to 204-1) is four, but the number of layers of the teacher model is not limited.
  • the network for student model training includes a plurality of second neural networks provided in parallel with the teacher model (middle layers 201-1 to 204-1).
  • each of the plurality of second neural networks may include at least one or more intermediate layers forming the teacher model (intermediate layers 201-1 to 204-1).
  • the intermediate layer 202-2 has the same structure and the same parameters as the intermediate layer 202-1 of the teacher model.
  • each of the intermediate layers 203-2 and 203-3 has the same structure and the same parameters as the intermediate layer 203-1 of the teacher model.
  • the intermediate layer 204-2, the intermediate layer 204-3, and the intermediate layer 204-4 have the same structure and the same parameters as the intermediate layer 204-1 of the teacher model.
  • the first neural network is a network in which the intermediate layer 202-2, the intermediate layer 203-2, and the intermediate layer 204-2 are connected in order.
  • the second neural network is a network in which an intermediate layer 203-3 and an intermediate layer 204-3 are connected in order.
  • the third of the second neural networks is a network including the intermediate layer 204-4.
  • the specific configuration of each of the plurality of second neural networks is not limited. Further, FIG. 2 shows the case where the number of the second neural networks is three (from the first to the third), but the number of the second neural networks is not limited.
  • the first layer number of the second neural network is three layers
  • the second layer number of the second neural network is two layers
  • the third layer of the second neural network is three layers.
  • the number is one layer.
  • the weight of the teacher model is lighter. The possibility that a student model that has been digitized will be increased.
  • the student model training network also includes a processing layer 206 that can configure a student model.
  • the structure of the treatment layer 206 is not particularly limited.
  • the processing layer 206 may be a fully connected neural network or a convolutional neural network.
  • the same data as the input data 200 input to the intermediate layer 201-1 of the teacher model is input to the processing layer 206.
  • the processing layer 206 outputs the same feature data to the auxiliary layer 207, the intermediate layer 202-2, the intermediate layer 203-3, the intermediate layer 204-4, and the output data 208 as an example of the third neural network. ..
  • the auxiliary layer 207 calculates each output data based on the input from the processing layer 206, and based on each output data, the intermediate layer 202-2, the intermediate layer 203-3, the intermediate layer 204-4, and the output data 208, respectively. Output to. Unlike the feature data output from the processing layer 206, the feature data output from the auxiliary layer 207 is assumed to vary depending on the output destination. When the auxiliary layer 207 outputs these outputs, the auxiliary layer 207 records the output distribution.
  • a configuration example of the auxiliary layer 207 will be described with reference to FIGS. 3 and 4.
  • FIG. 3 is a diagram showing a configuration example of the auxiliary layer 207 before training.
  • FIG. 4 is a diagram showing a configuration example of the auxiliary layer 207 in the course of training.
  • the training of the auxiliary layer 207 is performed by the learning unit 102 as described later.
  • an auxiliary layer 207A is shown as an example of the auxiliary layer 207 before training.
  • the auxiliary layer 207A may include a fully connected neural network including fully connected layers from the first layer to the nth layer (n is an integer of 2 or more).
  • the number of neurons forming the n-th layer matches the number of output destinations from the auxiliary layer 207A.
  • the output distribution from the auxiliary layer 207 may be a probability distribution.
  • the probability distribution is an output distribution in which the sum of all output values is 1.
  • the auxiliary layer 207 has a maximum value extraction function and a sign function as an example of a non-linear function, and the maximum value extraction function is used to output the output from the neurons constituting the nth layer.
  • An example is shown in which the maximum value is extracted, 1 is output corresponding to the maximum value, and 0 is output corresponding to the other, using the sign function.
  • the auxiliary layer 207 can function as a selector that outputs a vector in which one element is 1 and the other elements are 0 (hereinafter, also referred to as “One-hot vector”).
  • the configuration for outputting the One-hot vector is not limited to this example.
  • the One-hot vector can be output also by sampling from the Gumbel-Softmax distribution.
  • the output distribution from the auxiliary layer 207 may be a probability distribution other than the One-hot vector.
  • the output distribution from the auxiliary layer 207 can be a probability distribution corresponding to the output from the neuron that constitutes the n-th layer.
  • Each element of the One-hot vector output from the auxiliary layer 207 is multiplied by the feature data output from the processing layer 206, and the intermediate layer 202-2, the intermediate layer 203-3, the intermediate layer 204-4, and the output.
  • the data is output to each of the data 208.
  • the intermediate layer 204-2, the intermediate layer 204-3, the intermediate layer 204-4, and the auxiliary layer 207 are added together to form output data 208.
  • FIG. 5 is a flowchart showing an example of processing of the reconstruction unit 106.
  • the learning unit 102 acquires the student model group and the auxiliary layer 207 from the generation unit 101 (S100). More specifically, the learning unit 102 acquires the student model training network (FIG. 2) from the generation unit 101. Then, the learning unit 102 trains the student model (the processing layer 206 of the student model) and the auxiliary layer 207 based on the student model training network (FIG. 2), and thereby the student model (the processing layer 206 of the student model) and the auxiliary layer.
  • the parameters of 207 are updated (S101).
  • an intermediate layer (intermediate layer 202-2, intermediate layer 203) connected to the teacher model (intermediate layer 201-1, intermediate layer 202-1, intermediate layer 203-1, intermediate layer 204-1) and the processing layer 206.
  • the input data 200 may be the same data as the data used for training the teacher model, or may be other data.
  • the learning unit 102 outputs at least the respective outputs of the intermediate layer 204-2, the intermediate layer 204-3, and the intermediate layer 204-4 (for example, the addition result of each output) and the intermediate layer 204-1 of the teacher model. Training of the student model group and the auxiliary layer 207 is performed so that the value (error) related to the difference based on the output of the above is minimized.
  • the learning unit 102 outputs the output of the auxiliary layer 207 (the multiplication result of the output of the auxiliary layer 207 and the output of the processing layer 206) and the intermediate layer 204-2, the intermediate layer 204-3, and the intermediate layer 204-4.
  • the value (error) related to the difference based on each output (here, output data 208 that is the addition result) and the output (output data 205) of the intermediate layer 204-1 of the teacher model is minimized.
  • the model (the processing layer 206) and the auxiliary layer 207 are trained.
  • the learning unit 102 trains (the processing layer 206 of) the student model and the auxiliary layer 207 so that the objective function E (x) as shown in the following Expression (1) is minimized.
  • equation (1) takes the form of squared error, other evaluation measures such as absolute error may be used instead of squared error.
  • the output of the teacher model is The error is calculated only between the outputs from one student model.
  • an auxiliary layer 207B is shown as an example of the auxiliary layer 207 in the course of training.
  • the auxiliary layer 207 outputs based on the updated parameters.
  • the output from the auxiliary layer 207B is biased depending on the output destination.
  • the output from the third neuron from the left is larger than that of other neurons. Therefore, in the example shown in FIG. 4, the output to the third output destination from the left is large (that is, in the example shown in FIG. 4, when the training of the auxiliary layer 207B proceeds, The third output destination from the left will be selected).
  • the auxiliary layer 207 shown in FIG. 4 includes a sign function, but the sign function is generally not differentiable. Therefore, even if an attempt is made to train the auxiliary layer 207, it is expected that the back propagation method cannot be used and the auxiliary layer 207 cannot be trained. However, as an example, by using the technique described in Non-Patent Document 2 described above, it is considered that the training of the auxiliary layer 207 having a non-differentiable sign function becomes possible.
  • the learning unit 102 shifts the operation to S101 while advancing the training of (the processing layer 206 of) the student model and the auxiliary layer 207.
  • the learning unit 102 shifts the operation to S103.
  • the convergence condition may be any condition.
  • the convergence condition may be a condition that the error is equal to or less than the threshold value.
  • the determination unit 103 inputs at least one or more data to the processing layer 206 of the student model and determines a predetermined value from the output distribution (for example, One-hot vector) of the auxiliary layer 207 regarding the data. Is calculated as a score (S103).
  • the statistic is not particularly limited, but may be a representative value such as a mode.
  • the determination unit 103 determines one student model from the plurality of student models based on the calculated score. For example, the determination unit 103 may determine the student model corresponding to the output destination having the largest representative value such as the mode value as one student model.
  • the correction unit 104 excludes (deletes) the auxiliary layer 207 from the network from the processing layer 206 of the student model to the middle layer 204-2, the middle layer 204-3, and the middle layer 204-4 (S104). This prevents the output from the auxiliary layer 207 from being multiplied by the output from the processing layer 206 of the student model to the intermediate layer 202-2, the intermediate layer 203-3, and the intermediate layer 204-4.
  • the correction unit 104 also corrects the connection relationship (S105). More specifically, the correction unit 104 leaves one student model by deleting student models other than the one student model determined by the determination unit 103 from the student model group.
  • the first student model (a student model in which the processing layer 206, the intermediate layer 202-2, the intermediate layer 203-2, and the intermediate layer 204-2 are sequentially connected) is the student model that may remain.
  • the second student model (a student model in which the processing layer 206, the intermediate layer 203-3, and the intermediate layer 204-3 are sequentially connected), and the third student model (the processing layer 206, the intermediate layer 204-4 in this order).
  • a connected student model) and a fourth student model (student model including the processing layer 206).
  • the output is made only from the processing layer 206 of the student model to one intermediate layer (any one of the intermediate layer 202-2, the intermediate layer 203-3, and the intermediate layer 204-4).
  • the number of layers of the remaining student model may be the number of layers of the teacher model (existing in the path from the input data 200 to the output data 205). Less than the number of layers). That is, if a student model having a smaller number of layers than the teacher model remains, the teacher model can be approximated to a lightweight student model.
  • the learning unit 102 updates the parameters of the remaining student model by training the remaining student model (S106).
  • the input data used at this time may be the same data as the data used for training the teacher model, or may be other data.
  • the parameter updating at this time may be performed only for the processing layer 206 of the student model, but it is desirable to update not only the processing layer 206 but the entire remaining student model.
  • the learning unit 102 shifts the operation to S106 when the predetermined convergence condition is not satisfied (“No” in S107) while advancing the training of the student model.
  • the output unit 105 outputs the remaining student model (the parameter is updated).
  • the convergence condition may be any condition.
  • the convergence condition may be a condition that the error is equal to or less than the threshold value, as in S102.
  • FIG. 2 shows an example in which the student model corresponding to the teacher model that generates the output data 205 from the input data 200 is configured by one stage.
  • the student model may be divided into a plurality of stages.
  • FIG. 6 is a diagram showing an example of a case where the student model is divided into a plurality of stages.
  • the teacher model is composed of 10 intermediate layers (intermediate layers 201-1, 202-1 ... 214-1).
  • the first-stage network 300 including the intermediate layers 201-1 to 204-1
  • the second-stage network 301 including the intermediate layers 209-1 to 212-1
  • the network is divided into a network 302 of the third stage including Nos. 1-214-1.
  • Each of the network 300 and the network 301 is a network equivalent to the student model training network shown in FIG. That is, in the example shown in FIG. 6, a network equivalent to the student model training network shown in FIG. 2 is connected in two stages.
  • the first-stage network 300 includes a processing layer 216 equivalent to the above-mentioned processing layer 206, an auxiliary layer 217 equivalent to the above-mentioned auxiliary layer 207, and the same intermediate layer 202-1 as the intermediate layer 202-1. 2 is included, the same intermediate layers 203-2 and 203-3 as the intermediate layer 203-1 are included, and the same intermediate layers 204-2 to 204-4 as the intermediate layer 204-1 are included.
  • the second-stage network 301 includes a processing layer 216 equivalent to the above processing layer 206, an auxiliary layer 217 equivalent to the above auxiliary layer 207, and the same intermediate layer 210-1 as the intermediate layer 210-1. 2 is included, the same intermediate layers 211-2 and 211-3 as the intermediate layer 211-1 are included, and the same intermediate layers 212-2 to 212-4 as the intermediate layer 212-1 are included.
  • the output data of the first-stage network 300 is used as the input data of the second-stage network 301.
  • the network 302 of the third stage includes the same middle layer 213-2 as the middle layer 213-1 and the same middle layer 214-2 as the middle layer 214-1.
  • Output data of the second-stage network 301 is used as input data of the third-stage network 302.
  • the processing layer 216 and the auxiliary layer 217 included in each of the first-stage network 300 and the second-stage network 301 are training targets.
  • the parameters may be updated one step at a time, or the parameters of a plurality of steps may be collectively updated.
  • the objective function E corresponding to multiple stages may be expressed as shown in the following equation (2). Then, the learning unit 102 performs training so that the objective function E is minimized.
  • the output of the processing layer 206 is branched into a plurality of pieces, one of which is input to the auxiliary layer 207, and the other is the middle layer 202-1 of the teacher model. .. to 204 to 1 are input to the intermediate layers 202-2, 203-3, and 204-4 of the student model, or output as they are toward the output data 208.
  • the student model group is trained, there is a possibility that a student model having a smaller number of layers than the teacher model can be obtained as a student model that approximates the teacher model.
  • the processing layer 206 approximates the intermediate layer 201-1.
  • the processing layer 206 approximates the intermediate layers 201-1 to 203-1.
  • the more redundant the function of the teacher model performs the higher the possibility that the processing layer 206 approximates many layers. This makes it possible to significantly reduce the number of parameters that make up the teacher model. This is because the auxiliary layer 207 can acquire the ability to determine which layer of the teacher model the feature data output from the processing layer 206 is similar to, by training.
  • the determination unit 103 also determines a layer that can approximate the teacher model based on statistics such as the mode. The reason is that the output of the auxiliary layer 207 changes depending on the input. Further, when it is desired to approximate the teacher model to the student model having the smallest number of layers, the error correction parameter corresponding to the student model having the relatively small number of layers may be set to a relatively large value.
  • the learning unit 102 may update the parameters of those intermediate layers if there are intermediate layers at the output destination of the processing layer 206 of the student model. As a result, the expressive power of the model is enhanced, and it can be expected that the performance is further improved.
  • the learning calculation (S101 and S106 in FIG. 5) is performed twice even for the covering teacher model of the number of layers, thereby improving efficiency. Students can train student models with a reduced number of layers.
  • FIG. 7 is a block diagram showing a functional configuration example of the information processing device 40 according to the second embodiment of the present invention.
  • FIG. 7 is a block diagram showing a functional configuration example of the information processing device 40 according to the second embodiment of the present invention.
  • detailed description of the configuration common to the information processing apparatus 10 according to the first embodiment of the present invention will be omitted.
  • a configuration different from that of the information processing device 10 according to the first embodiment of the present invention will be mainly described.
  • the information processing device 40 includes an input unit 400, an output unit 405, and a reconstruction unit 406.
  • the reconstruction unit 406 unlike the reconstruction unit 106 according to the first embodiment of the present invention, includes a learning unit 402, a determination unit 403, and a correction unit 404, and also includes a generation unit 401.
  • each block shown in FIG. 7 will be briefly described, and a detailed description of each block will be given in “Description of Operation”.
  • the input unit 400 acquires a trained teacher model and outputs the teacher model to the generation unit 401.
  • the generation unit 401 generates a student model group based on the teacher model input from the input unit 400, and outputs the generated student model group to the learning unit 402. However, when the student model is input from the learning unit 402, the generation unit 401 generates a new student model group based on the input student model and teacher model, and the generated new student model group. Is output to the learning unit 402.
  • the learning unit 402 uses the data (or other data) used for training the teacher model and uses the back propagation method (backpropagation) or the like to create the student model group. And update the parameters of each auxiliary layer.
  • the learning unit 402 updates the parameter of the student model and outputs the student model with the updated parameter to the correction unit 404 or the output unit 405.
  • the determination unit 403 outputs information necessary for obtaining one student model from the student model group to the correction unit 404 based on the student model group and the auxiliary layer whose parameters are updated.
  • the correction unit 404 performs correction for obtaining one student model from the student model group based on the information input from the determination unit 403, and outputs the one student model to the learning unit 402.
  • the output unit 405 outputs the student model with updated parameters.
  • the input unit 400 acquires a trained teacher model as in the first embodiment of the present invention. Then, the input unit 400 outputs the acquired teacher model to the reconstruction unit 406 (generation unit 401).
  • FIG. 8 is a diagram showing an example of a teacher model according to the second embodiment of the present invention.
  • a teacher model in which the intermediate layers 501-1 to 510-1 are connected in order.
  • the number of layers of the teacher model is 10, but the number of layers of the teacher model is not limited.
  • FIG. 8 shows input data 500 of the teacher model and output data 511 of the teacher model.
  • 9 and 10 are diagrams showing an example of a network for student model training according to the second embodiment of the present invention.
  • an example of the processing of the reconstruction unit 406 will be described.
  • FIG. 11 is a flowchart showing an example of the processing of the reconstruction unit 406.
  • the student model may be divided into a plurality of stages.
  • the second embodiment of the present invention instead of configuring the student model corresponding to the entire teacher model at once, configuring a student model corresponding to the processing target with a part of the teacher model as the processing target.
  • a new student model corresponding to the processing target is newly constructed in accordance with the change of the processing target in the teacher model.
  • the number of layers to be processed at one time is four, but the number of layers to be processed at one time is not limited.
  • the generation unit 401 generates a network for student model training including a part of the teacher model, a group of student models corresponding to the part, and an auxiliary layer based on the teacher model input from the input unit 400. (S200). Then, the update process is executed (S201). The update process S201 is executed in the same manner as the processes S100 to S107 of the reconstruction unit 106 shown in FIG. When the updating process S201 ends, the learning unit 402 determines the ending condition (S202).
  • the termination condition may be a condition that the processing for all layers of the teacher model has been completed.
  • the learning unit 402 determines that the end condition is not satisfied (“No” in S202)
  • the operation is moved to S200, and the generation unit 401 changes the processing target in the teacher model and changes the processing target of the teacher model.
  • a student model training network including a processing target therein, a student model group corresponding to the processing target, and an auxiliary layer is generated.
  • the learning unit 402 ends the operation. The change of the processing target will be described in detail.
  • FIG. 9 there is shown a network 601 for student model training at the stage when the first update processing S201 is completed.
  • the intermediate layers 501-1 to 504-1 are targeted for processing, and the processing layers 516 corresponding to the intermediate layers 501-1 to 503-1 are left (that is, the intermediate layers 501-1 to 503).
  • the processing layer 516 that approximates ⁇ 1 is left), and the intermediate layer 504-1 that is the final layer in the processing target is not approximated.
  • the generation unit 401 changes the processing target to the intermediate layers 504-1 to 507-7 including the intermediate layer 504-1 that has not been approximated.
  • the generation unit 401 generates a student model training network 603 including a student model group corresponding to a new processing target and an auxiliary layer 517.
  • the network 603 for student model training includes a processing layer 516 equivalent to the above-mentioned processing layer 206, an auxiliary layer 517 equivalent to the above-mentioned auxiliary layer 207, and the same intermediate layer 505 as the intermediate layer 505-1.
  • a processing layer 516 equivalent to the above-mentioned processing layer 206
  • an auxiliary layer 517 equivalent to the above-mentioned auxiliary layer 207
  • the same intermediate layer 505 as the intermediate layer 505-1.
  • the same intermediate layers 506-2 and 506-3 as the intermediate layer 506-1 are included, and the same intermediate layers 507-2 to 507-4 as the intermediate layer 507-1 are included.
  • the student model training network 603 is connected to the student model training network 602 (same as the student model training network 601) at the stage when the first update process S201 is finished, and the student model training network 603 is connected.
  • a network in which 602 and the student model training network 603 are connected is output to the learning unit 402.
  • the update process S201 is executed again.
  • the student model training network 602 may or may not be included in the training target.
  • the reconstructing unit 406 constructs a student model corresponding to the processing target from the input side of the teacher model one by one, and gradually connects student models that are close to the part. As a result, it is possible to obtain a student model that approximates the teacher model with the minimum required number of layers.
  • the student model can be constructed with the minimum number of layers, and the number of parameters can be significantly increased for the teacher model while suppressing accuracy deterioration. You can get a reduced student model.
  • the layers of the teacher model are not diverted (because approximation to the student model is performed for each part of the teacher model), It is considered that the reduction amount is larger in the second embodiment of the present invention than in the first embodiment of the present invention.
  • FIG. 12 is a diagram showing a hardware configuration of a computer 900 as an example of the information processing apparatus 10 according to the embodiment of the present invention.
  • the computer 900 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, a host bus 904, a bridge 905, an external bus 906, an interface 907, and an input.
  • a device 908, an output device 909, a storage device 910, and a communication device 911 are provided.
  • the CPU 901 functions as an arithmetic processing unit and a control unit, and controls overall operations in the computer 900 according to various programs. Further, the CPU 901 may be a microprocessor.
  • the ROM 902 stores programs used by the CPU 901, calculation parameters, and the like.
  • the RAM 903 temporarily stores a program used in the execution of the CPU 901, parameters that appropriately change in the execution, and the like. These are mutually connected by a host bus 904 including a CPU bus and the like.
  • the host bus 904 is connected to an external bus 906 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 905.
  • the host bus 904, the bridge 905, and the external bus 906 do not necessarily have to be separately configured, and these functions may be mounted on one bus.
  • the input device 908 is an input unit such as a mouse, a keyboard, a touch panel, a button, a microphone, a switch, and a lever for the user to input information, and an input control circuit that generates an input signal based on the input by the user and outputs the input signal to the CPU 901. Etc.
  • a user who operates the computer 900 can input various data to the computer 900 and instruct a processing operation by operating the input device 908.
  • the output device 909 includes, for example, a CRT (Cathode Ray Tube) display device, a liquid crystal display (LCD) device, an OLED (Organic Light Emitting Diode) device, a display device such as a lamp, and an audio output device such as a speaker.
  • CTR Cathode Ray Tube
  • LCD liquid crystal display
  • OLED Organic Light Emitting Diode
  • a display device such as a lamp
  • an audio output device such as a speaker.
  • the storage device 910 is a device for storing data.
  • the storage device 910 may include a storage medium, a recording device that records data in the storage medium, a reading device that reads data from the storage medium, a deletion device that deletes data recorded in the storage medium, and the like.
  • the storage device 910 is composed of, for example, an HDD (Hard Disk Drive).
  • the storage device 910 drives a hard disk and stores programs executed by the CPU 901 and various data.
  • the communication device 911 is, for example, a communication interface including a communication device for connecting to a network.
  • the communication device 911 may support either wireless communication or wired communication.
  • an information processing device including an input unit, a generation unit, a learning unit, a determination unit, a correction unit, and an output unit.
  • the input unit acquires a first neural network including a plurality of processing layers.
  • the generating unit generates a plurality of second neural networks, each of which is provided in parallel with the first neural network, and outputs the plurality of second neural networks to record the output distribution. To generate a third neural network.
  • the learning unit trains the third neural network so that a value related to a difference based on at least the output of each of the plurality of second neural networks and the output of the first neural network is minimized. ..
  • the determination unit determines one neural network from the plurality of second neural networks based on the statistic of the output of the third neural network regarding at least one or more data.
  • the correction unit deletes the plurality of second neural networks other than the one neural network from the plurality of second neural networks and the third neural network, and deletes the third neural network. ..
  • the output unit outputs the one neural network.
  • the One-hot vector is used as the output from the auxiliary layer.
  • the output of another function such as the Softmax function may be used as the output from the auxiliary layer.
  • the Softmax function is a function that normalizes the sum of the output values of the neurons to 1.
  • the processing layer 206 of the student model is simultaneously connected to a plurality of branches.
  • the connection destination from the processing layer 206 of the student model is determined to be one branch based on the statistic (for example, the mode value) of the output value of the Softmax function, when the Softmax function is used.
  • the embodiment of the present invention can be applied.

Landscapes

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

Abstract

【課題】ニューラルネットワークの性能低下を抑えつつニューラルネットワークにおける層数を効率的に削減する。 【解決手段】第1のニューラルネットワークに対して各々が並列に設けられた複数の第2のニューラルネットワークを生成するとともに、複数の第2のニューラルネットワークそれぞれに出力を行って出力分布を記録する第3のニューラルネットワークを生成する生成部と、少なくとも複数の第2のニューラルネットワークそれぞれの出力と、第1のニューラルネットワークの出力とに基づく差分に関する値が最小化されるように、第3のニューラルネットワークの訓練を行う学習部と、少なくとも1つ以上のデータに関する第3のニューラルネットワークの出力の統計量に基づいて複数の第2のニューラルネットワークから一のニューラルネットワークを決定する判定部と、を備える、情報処理装置が提供される。

Description

情報処理装置および情報処理方法
 本発明は、情報処理装置および情報処理方法に関する。
 一般に、今日の画像認識用途などで高い性能を有する多層ニューラルネットワークは膨大な数のパラメータで構成されており、多層ニューラルネットワークを動作させるには高い演算能力と広いメモリ帯域幅を有するハードウェアが必要である。そこで、ネットワークを構成するパラメータの数を削減し、ネットワークの規模を縮小する技術が登場してきている。
 例えば、蒸留(Knowledge Distillation)と呼ばれる手法が提案されている(例えば、非特許文献1参照)。かかる手法は、訓練済みの大規模な多層ニューラルネットワーク(以下、「教師モデル」と言う。)の出力データ(以下、「ソフトターゲット」と言う。)を元に小規模な多層ニューラルネットワーク(以下、「生徒モデル」と言う。)を訓練する手法である。かかる手法は、認識などの精度劣化を防ぎつつパラメータ数を削減することに成功している。
 また、上記した蒸留において適切な規模のネットワーク構造を作成する手法が開示されている(例えば、特許文献1参照)。具体的には、教師モデルに含まれる2つの中間層を取り出し、2つの中間層それぞれに新規の出力層を追加し、新規の出力層が各々に追加された2つの中間層を追加学習することによって得られる出力の類似度に基づいて、2つの中間層のいずれか一方を削除する処理を、教師モデルの全ての層に対して適用することによって、最適な規模のネットワーク構造を求める手法が開示されている。
特開2017-182319号公報
Geoffrey Hinton、他2名、"Distilling the Knowledge in a Neural Network"、[online]、2015年3月9日、Cornell University Library、[平成30年11月14日検索]、インターネット<https://arxiv.org/pdf/1503.02531.pdf> Matthieu Courbariaux、他4名、"Binarized Neural Networks: Training Neural Networks withWeights and Activations Constrained to +1 or -1"、[online]、2016年3月17日、Cornell University Library、[平成30年11月14日検索]、インターネット<https://arxiv.org/pdf/1602.02830.pdf>
 しかしながら、非特許文献1に開示された技術では、認識などの精度を維持しつつ最もパラメータ数を削減可能とする最適な規模のネットワーク構造を人手で設計する必要がある。
 また、特許文献1に開示された技術では、追加学習と類似度の計算とが必要となるため、かかる技術をより大規模な多層ニューラルネットワークに適用しようとすると、計算コストが膨大になってしまう。例えば、中間層が100層存在するネットワークに、かかる技術を適用しようとすると、隣接する層間でのみ削減判定を行うようにしても99回の追加学習と類似度計算が必要となり効率的ではない。
 そこで、ニューラルネットワークの性能低下を抑えつつニューラルネットワークにおける層数を効率的に削減するための情報を得る技術が提供されることが望まれる。
 上記問題を解決するために、本発明のある観点によれば、複数の処理層を含んだ第1のニューラルネットワークを取得する入力部と、前記第1のニューラルネットワークに対して各々が並列に設けられた複数の第2のニューラルネットワークを生成するとともに、前記複数の第2のニューラルネットワークそれぞれに出力を行って出力分布を記録する第3のニューラルネットワークを生成する生成部と、少なくとも前記複数の第2のニューラルネットワークそれぞれの出力と、前記第1のニューラルネットワークの出力とに基づく差分に関する値が最小化されるように、前記第3のニューラルネットワークの訓練を行う学習部と、少なくとも1つ以上のデータに関する前記第3のニューラルネットワークの出力の統計量に基づいて前記複数の第2のニューラルネットワークから一のニューラルネットワークを決定する判定部と、前記複数の第2のニューラルネットワークおよび前記第3のニューラルネットワークから、前記一のニューラルネットワーク以外の前記複数の第2のニューラルネットワークを削除するとともに、前記第3のニューラルネットワークを削除する修正部と、前記一のニューラルネットワークを出力する出力部と、を備える、情報処理装置が提供される。
 前記第3のニューラルネットワークは、前記学習部による訓練によってパラメータが更新されると、更新後の前記パラメータに基づいて前記複数の第2のニューラルネットワークに出力を行ってもよい。
 前記出力分布は、確率分布であってよい。
 前記第3のニューラルネットワークは、1つの要素が1であり他の要素が0であるベクトルを出力するセレクタ機能を有してもよい。
 前記複数の第2のニューラルネットワークの層数は、前記第1のニューラルネットワークの層数よりも少なくてもよい。
 前記複数の第2のニューラルネットワークそれぞれは、前記第1のニューラルネットワークを構成する少なくとも1つ以上の中間層を含んでもよい。
 前記学習部は、前記第3のニューラルネットワークの出力および前記複数の第2のニューラルネットワークそれぞれの出力と、前記第1のニューラルネットワークの出力とに基づく差分に関する値が最小化されるように、前記訓練を行ってもよい。
 前記統計量は、最頻値であってもよい。
 また、本発明の別の観点によれば、複数の処理層を含んだ第1のニューラルネットワークを取得する入力部と、前記第1のニューラルネットワークに対して各々が並列に設けられた複数の第2のニューラルネットワークを生成するとともに、前記複数の第2のニューラルネットワークそれぞれに出力を行って出力分布を記録する第3のニューラルネットワークを生成する生成部と、少なくとも前記複数の第2のニューラルネットワークそれぞれの出力と、前記第1のニューラルネットワークの出力とに基づく差分に関する値が最小化されるように、前記第3のニューラルネットワークの訓練を行う学習部と、少なくとも1つ以上のデータに関する前記第3のニューラルネットワークの出力の統計量に基づいて前記複数の第2のニューラルネットワークから一のニューラルネットワークを決定する判定部と、を備える、情報処理装置が提供される。
 また、本発明の別の観点によれば、複数の処理層を含んだ第1のニューラルネットワークを取得することと、前記第1のニューラルネットワークに対して各々が並列に設けられた複数の第2のニューラルネットワークを生成するとともに、前記複数の第2のニューラルネットワークそれぞれに出力を行って出力分布を記録する第3のニューラルネットワークを生成することと、少なくとも前記複数の第2のニューラルネットワークそれぞれの出力と、前記第1のニューラルネットワークの出力とに基づく差分に関する値が最小化されるように、前記第3のニューラルネットワークの訓練を行うことと、少なくとも1つ以上のデータに関する前記第3のニューラルネットワークの出力の統計量に基づいて前記複数の第2のニューラルネットワークから一のニューラルネットワークを決定することと、
 を含む、情報処理方法が提供される。
 以上説明したように本発明によれば、ニューラルネットワークの性能低下を抑えつつニューラルネットワークにおける層数を効率的に削減するための情報を得る技術が提供される。
本発明の第1の実施形態に係る情報処理装置の機能構成例を示すブロック図である。 生成部によって生成される生徒モデル訓練用のネットワークの構成例を示す図である。 訓練前の補助層の構成例を示す図である。 訓練の過程における補助層の構成例を示す図である。 再構成部の処理の例を示すフローチャートである。 生徒モデルが複数段に分割されて構成される場合の例を示す図である。 本発明の第2の実施形態に係る情報処理装置の機能構成例を示すブロック図である。 同実施形態に係る教師モデルの例を示す図である。 同実施形態に係る生徒モデル訓練用のネットワークの例を示す図である。 同実施形態に係る生徒モデル訓練用のネットワークの例を示す図である。 再構成部の処理の例を示すフローチャートである。 本発明の実施形態に係る情報処理装置の例としてのコンピュータのハードウェア構成を示す図である。
 以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一の機能構成を有する複数の構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、異なる実施形態の類似する構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。
(1.第1の実施形態)
 まず、本発明の第1の実施形態について説明する。
 [構成の説明]
 本発明の第1の実施形態に係る情報処理装置の構成例について説明する。以下では、軽量化の対象となる訓練済みのニューラルネットワークを「教師モデル」とも言う。また、教師モデルに基づいて教師モデルの代わりに出力され得る(教師モデルが近似される)ニューラルネットワークの各候補を「生徒モデル」とも言う。本発明の実施形態では、教師モデルからの性能低下を抑えつつ、教師モデルから層数が効率的に削減された生徒モデルを得る技術を主に提案する。
 なお、本明細書において使用される「ニューラルネットワーク」は、入力層、中間層および出力層のすべてを有する処理層群だけを必ずしも意味しない。例えば、本明細書において使用される「ニューラルネットワーク」は、これらの処理層群から一部だけ(例えば、一部の中間層のみなど)が切り出された1または複数の処理層も意味し得る。
 図1は、本発明の第1の実施形態に係る情報処理装置10の機能構成例を示すブロック図である。ここで、情報処理装置10は、CPU(Central Processing Unit)などの演算装置を含み、図示しないメモリにより記憶されているプログラムがCPUによりRAM(Random Access Memory)に展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、情報処理装置10は、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。
 図1に示すように、情報処理装置10は、入力部100、生成部101、出力部105および再構成部106を備える。再構成部106は、学習部102、判定部103および修正部104を有する。ここでは、図1に示した各ブロックについて簡潔に説明し、各ブロックの詳細な説明は、「動作の説明」において行う。
 入力部100は、訓練済みの教師モデルを取得し、教師モデルを生成部101に出力する。生成部101は、入力部100から入力された教師モデルに基づいて、複数の生徒モデル(以下、「生徒モデル群」とも言う。)を生成し、生成した生徒モデル群を学習部102に出力する。
 学習部102は、生成部101から生徒モデル群が入力された場合、教師モデルの訓練に用いたデータ(または他のデータ)を利用し、誤差逆伝播法(バックプロパゲーション)などによって生徒モデル群および補助層それぞれのパラメータを更新する。学習部102は、パラメータが更新された生徒モデル群および補助層を判定部103に出力する。一方、学習部102は、修正部104から1つの生徒モデルが入力された場合には、生徒モデルのパラメータを更新し、パラメータが更新された生徒モデルを出力部105に出力する。
 判定部103は、パラメータが更新された生徒モデル群および補助層に基づいて、生徒モデル群から1つの生徒モデルを得るために必要な情報を修正部104に出力する。修正部104は、判定部103から入力された情報に基づき、生徒モデル群から1つの生徒モデルを得るための修正を行い、当該1つの生徒モデルを学習部102に出力する。出力部105は、パラメータが更新された生徒モデルを出力する。
 [動作の説明]
 続いて、本発明の第1の実施形態に係る情報処理装置10の動作例について説明する。まず、入力部100は、任意の訓練用データを用いてあらかじめパラメータが最適化された訓練済みの教師モデルを取得する。訓練済みの教師モデルは、その構造情報とパラメータとを含む。パラメータは、ニューロンに設定される重みを含む。ここで、訓練済みの教師モデルは、複数の処理層を含んだ第1のニューラルネットワーク(多層ニューラルネットワーク)であってよく、その構造は特に限定されない。例えば、教師モデルは、全結合ニューラルネットワークであってもよいし、畳み込みニューラルネットワークであってもよい。
 入力部100は、取得した教師モデルを生成部101に出力する。そして、生成部101は、入力部100から入力される教師モデルに基づいて、教師モデルと複数の第2のニューラルネットワークと第3のニューラルネットワークとを含んだ生徒モデル訓練用のネットワークを生成する。複数の第2のニューラルネットワークおよび第3のニューラルネットワークについては、後に説明する。
 図2は、生成部101によって生成される生徒モデル訓練用のネットワークの構成例を示す図である。図2を参照すると、中間層201-1~204-1が順に接続された教師モデルが示されている。中間層201-1~204-1は、何らかの関数である。例えば、中間層201-1から出力される特徴データをxとし、中間層202-1を関数fとした場合、中間層202-1から出力される特徴データyは、y=f(x)と表現され得る。ここで、図2に示した例では、教師モデル(中間層201-1~204-1)の層数が4層であるが、教師モデルの層数は限定されない。
 図2を参照すると、生徒モデル訓練用のネットワークは、教師モデル(中間層201-1~204-1)に対して並列に設けられた複数の第2のニューラルネットワークを含んでいる。ここで、複数の第2のニューラルネットワークそれぞれは、教師モデル(中間層201-1~204-1)を構成する少なくとも1つ以上の中間層を含んでよい。ここで、中間層202-2は、教師モデルの中間層202-1と同じ構造かつ同じパラメータを有する。同様に、中間層203-2および中間層203-3それぞれは、教師モデルの中間層203-1と同じ構造かつ同じパラメータを有する。中間層204-2、中間層204-3および中間層204-4それぞれは、教師モデルの中間層204-1と同じ構造かつ同じパラメータを有する。
 そして、第2のニューラルネットワークの1つ目は、中間層202-2、中間層203-2、中間層204-2が順に接続されたネットワークである。第2のニューラルネットワークの2つ目は、中間層203-3、中間層204-3が順に接続されたネットワークである。第2のニューラルネットワークの3つ目は、中間層204-4を含んだネットワークである。しかし、複数の第2のニューラルネットワークそれぞれの具体的な構成は限定されない。また、図2には、第2のニューラルネットワークの数は3つ(1つ目から3つ目まで)の場合が示されているが、第2のニューラルネットワークの数は限定されない。
 ここでは、第2のニューラルネットワークの1つ目の層数は3層であり、第2のニューラルネットワークの2つ目の層数は2層であり、第2のニューラルネットワークの3つ目の層数は1層である。このように、第2のニューラルネットワークの層数が、教師モデル(中間層201-1~204-1)の層数よりも少ないほうが、教師モデル(中間層201-1~204-1)が軽量化された生徒モデルが出力される可能性が高まる。
 また、生徒モデル訓練用のネットワークは、生徒モデルを構成し得る処理層206を含んでいる。処理層206の構造は特に限定されない。例えば、処理層206は、全結合ニューラルネットワークであってもよいし、畳み込みニューラルネットワークであってもよい。処理層206には、教師モデルの中間層201-1に入力される入力データ200と同一のデータが入力される。処理層206は、第3のニューラルネットワークの例としての補助層207、中間層202-2、中間層203-3、中間層204-4、出力データ208それぞれに向けて同一の特徴データを出力する。
 補助層207は、処理層206からの入力に基づいて各出力データを算出し、各出力データに基づいて、中間層202-2、中間層203-3、中間層204-4、出力データ208それぞれに向けた出力を行う。処理層206から出力される特徴データと異なり、補助層207から出力される特徴データは、出力先によって異なることが想定される。補助層207は、これらの出力を行うと、出力分布を記録する。以下では、図3および図4を参照しながら、補助層207の構成例について説明する。
 図3は、訓練前の補助層207の構成例を示す図である。また、図4は、訓練の過程における補助層207の構成例を示す図である。補助層207の訓練は、後に説明するように、学習部102によって行われる。図3を参照すると、訓練前の補助層207の例としての補助層207Aが示されている。図3に示すように、補助層207Aは、第1層から第n層(nは2以上の整数)までの全結合層からなる全結合ニューラルネットワークを含んでよい。また、第n層を構成するニューロンの数は、補助層207Aからの出力先の数と一致する。ここで、補助層207からの出力分布は、確率分布であってよい。確率分布は、全ての出力値の合計が1となる出力分布である。
 図3に示した例では、補助層207が最大値抽出関数および非線形関数の例としての符号関数を有しており、最大値抽出関数を用いて、第n層を構成するニューロンからの出力の最大値を抽出し、符号関数を用いて、最大値に対応して1を出力し、その他に対応して0を出力する例が示されている。これによって、補助層207は、1つの要素が1であり他の要素が0であるベクトル(以下、「One-hotベクトル」とも言う。)を出力するセレクタとして機能し得る。
 しかし、One-hotベクトルを出力するための構成は、かかる例に限定されない。例えば、Gumbel-Softmax分布からのサンプリングによってもOne-hotベクトルを出力可能である。さらに、補助層207からの出力分布は、One-hotベクトル以外の確率分布であってもよい。例えば、Softmax関数を用いれば、第n層を構成するニューロンからの出力に対応して、補助層207からの出力分布を、確率分布とすることが可能である。
 訓練前には、補助層207A(図3)のパラメータが更新されていないため、補助層207Aからの出力は、全ての出力先に対してほぼ均等になると考えられる。図2に戻って説明を続ける。補助層207から出力されたOne-hotベクトルの各要素は、処理層206から出力された特徴データに対して乗算され、中間層202-2、中間層203-3、中間層204-4、出力データ208それぞれに向けて出力される。中間層204-2、中間層204-3、中間層204-4、補助層207それぞれは、加算されて出力データ208となる。
 生成部101によって生徒モデル訓練用のネットワーク(図2)が生成されると、再構成部106による処理が実行される。図5は、再構成部106の処理の例を示すフローチャートである。図5に示したように、学習部102は、生成部101から生徒モデル群および補助層207を取得する(S100)。より具体的には、学習部102は、生成部101から生徒モデル訓練用のネットワーク(図2)を取得する。そして、学習部102は、生徒モデル訓練用のネットワーク(図2)に基づいて、生徒モデル(の処理層206)および補助層207を訓練することによって、生徒モデル(の処理層206)および補助層207のパラメータの更新を行う(S101)。
 このとき、教師モデル(中間層201-1、中間層202-1、中間層203-1、中間層204-1)、処理層206と接続された中間層(中間層202-2、中間層203-2、中間層204-2、中間層203-3、中間層204-3、中間層204-4)の訓練は行われなくてよい。また、入力データ200は、教師モデルの訓練に用いたデータと同一のデータであってもよいし、他のデータであってもよい。
 より具体的に、学習部102は、少なくとも中間層204-2、中間層204-3、中間層204-4それぞれの出力(例えば、各出力の加算結果)と、教師モデルの中間層204-1の出力とに基づく差分に関する値(誤差)が最小化されるように、生徒モデル群および補助層207の訓練を行う。
 さらに詳細には、学習部102は、補助層207の出力(補助層207の出力と処理層206の出力との乗算結果)および中間層204-2、中間層204-3、中間層204-4それぞれの出力(ここでは、加算結果である出力データ208)と、教師モデルの中間層204-1の出力(出力データ205)とに基づく差分に関する値(誤差)が最小化されるように、生徒モデル(の処理層206)および補助層207の訓練を行う。例えば、学習部102は、以下の式(1)に示すような目的関数E(x)が最小化されるように生徒モデル(の処理層206)および補助層207の訓練を行う。
Figure JPOXMLDOC01-appb-M000001
 Lは教師モデルと接続する生徒モデルの最大層数を示し、訓練対象ではなく予め与えられる。例えば、図2に示した例では、処理層206、中間層202-2、中間層203-2、中間層204-2の4つの層を含んだ生徒モデルの層数が最も多いため、L=4である。式(1)は、二乗誤差の形式を取っているが、二乗誤差の代わりに、絶対誤差などといったその他の評価尺度が用いられてもよい。式(1)からも把握されるように、補助層207から出力されたOne-hotベクトルの各要素が、各生徒モデルの出力との間で乗算されるため、実際に教師モデルの出力との間で誤差が算出されるのは、1つの生徒モデルからの出力のみとなる。
 訓練の過程における補助層207について説明する。図4を参照すると、訓練の過程における補助層207の例としての補助層207Bが示されている。補助層207Bの訓練が進み、補助層207Bのパラメータが更新されると、補助層207は、更新後のパラメータに基づいて出力を行う。このとき、補助層207Bからの出力には、出力先によって偏りが生じてくる。図4に示した例では、左から3つ目のニューロンからの出力が他のニューロンよりも大きくなっている。そのため、図4に示した例では、左から3つ目の出力先への出力が大きくなっている(すなわち、図4に示した例では、補助層207Bの訓練が進むと、補助層207によって左から3つ目の出力先が選択されるようになる)。
 なお、図4に示した補助層207は符号関数を含んでいるが、符号関数は微分可能でないのが一般的である。そこで、補助層207を訓練しようとしても、誤差逆伝播法を利用することができずに補助層207の訓練を行うことができなくなることが予想される。しかし、一例として、上記した非特許文献2に記載された技術を用いれば、微分不可能な符号関数を有する補助層207の訓練も可能になると考えられる。
 図5に戻って説明を続ける。学習部102は、生徒モデル(の処理層206)および補助層207の訓練を進めながら、所定の収束条件が満たされない場合には(S102において「No」)、S101に動作を移行させる。一方、学習部102は、所定の収束条件が満たされた場合には(S102において「Yes」)、S103に動作を移行させる。収束条件はどのような条件であってもよい。一例として、収束条件は、誤差が閾値以下となったという条件であってもよい。
 S103に動作が移行されると、判定部103は、少なくとも1つ以上のデータを生徒モデルの処理層206に入力し、当該データに関する補助層207の出力分布(例えば、One-hotベクトル)から所定の統計量をスコアとして算出する(S103)。統計量は特に限定されないが、最頻値などの代表値であってもよい。判定部103は、算出したスコアに基づいて複数の生徒モデルから1つの生徒モデルを決定する。例えば、判定部103は、最頻値などの代表値が最も大きい出力先に対応する生徒モデルを1つの生徒モデルとして決定してもよい。
 修正部104は、生徒モデルの処理層206から中間層204-2、中間層204-3、中間層204-4までのネットワークから、補助層207を除外(削除)する(S104)。これによって、生徒モデルの処理層206から、中間層202-2、中間層203-3、中間層204-4に出力に対して、補助層207からの出力が乗算されなくなる。また、修正部104は、接続関係の修正を行う(S105)。より具体的に、修正部104は、判定部103によって決定された1つの生徒モデル以外の生徒モデルを生徒モデル群から削除することによって、1つの生徒モデルを残す。
 ここで、残される可能性のある生徒モデルとしては、1つ目の生徒モデル(処理層206、中間層202-2、中間層203-2、中間層204-2が順に接続された生徒モデル)、2つ目の生徒モデル(処理層206、中間層203-3、中間層204-3が順に接続された生徒モデル)、3つ目の生徒モデル(処理層206、中間層204-4が順に接続された生徒モデル)、4つ目の生徒モデル(処理層206からなる生徒モデル)が挙げられる。
 これによって、生徒モデルの処理層206から1つの中間層(中間層202-2、中間層203-3、中間層204-4のいずれか)に対してのみ出力がなされるようになる。残された生徒モデルの層数(入力データ200から出力データ208までの経路に存在する層数)は、場合によっては、教師モデルの層数(入力データ200から出力データ205までの経路に存在する層数)よりも少なくなる。すなわち、教師モデルよりも層数が少ない生徒モデルが残されれば、教師モデルは、軽量化された生徒モデルに近似され得る。
 学習部102は、残された生徒モデルを訓練することによって、残された生徒モデルのパラメータを更新する(S106)。このときに利用される入力データは、教師モデルの訓練に用いたデータと同一のデータであってもよいし、他のデータであってもよい。このときのパラメータの更新は、生徒モデルの処理層206に対してのみ行ってもよいが、処理層206だけではなく残された生徒モデル全体に対して行われるのが望ましい。
 学習部102は、生徒モデルの訓練を進めながら、所定の収束条件が満たされない場合には(S107において「No」)、S106に動作を移行させる。一方、出力部105は、所定の収束条件が満たされた場合には(S107において「Yes」)、(パラメータが更新された)残された生徒モデルを出力する。収束条件はどのような条件であってもよい。一例として、収束条件は、S102と同様に、誤差が閾値以下となったという条件であってもよい。
 なお、図2では、入力データ200から出力データ205を生成する教師モデルに対応する生徒モデルを1段で構成する例を示した。しかし、生徒モデルは、複数段に分割されて構成されてもよい。図6は、生徒モデルが複数段に分割されて構成される場合の例を示す図である。図6を参照すると、教師モデルは、10層の中間層(中間層201-1、202-1、・・・、214-1)によって構成されている。図6に示した例では、中間層201-1~204-1を含む1段目のネットワーク300と、中間層209-1~212-1を含む2段目のネットワーク301と、中間層213-1~214-1を含む3段目のネットワーク302とにネットワークが分割されている。
 ネットワーク300およびネットワーク301それぞれは、図2に示した生徒モデル訓練用のネットワークと同等のネットワークである。すなわち、図6に示した例では、図2に示した生徒モデル訓練用のネットワークと同等のネットワークが2段接続されている。1段目のネットワーク300には、上記した処理層206と同等の処理層216が含まれ、上記した補助層207と同等の補助層217が含まれ、中間層202-1と同じ中間層202-2が含まれ、中間層203-1と同じ中間層203-2、203-3が含まれ、中間層204-1と同じ中間層204-2~204-4が含まれている。
 2段目のネットワーク301には、上記した処理層206と同等の処理層216が含まれ、上記した補助層207と同等の補助層217が含まれ、中間層210-1と同じ中間層210-2が含まれ、中間層211-1と同じ中間層211-2、211-3が含まれ、中間層212-1と同じ中間層212-2~212-4が含まれている。2段目のネットワーク301の入力データとしては、1段目のネットワーク300の出力データが用いられている。
 3段目のネットワーク302には、中間層213-1と同じ中間層213-2が含まれ、中間層214-1と同じ中間層214-2が含まれている。3段目のネットワーク302の入力データとしては、2段目のネットワーク301の出力データが用いられている。この例では、1段目のネットワーク300および2段目のネットワーク301それぞれに含まれる、処理層216および補助層217が訓練対象である。このとき、パラメータの更新は、1段ずつ実行されてもよいし、複数段のパラメータが一括で更新されてもよい。
 複数段のパラメータが一括で更新される場合、複数段に対応する目的関数Eは、以下の式(2)に示すように表現されてもよい。そして、学習部102は、目的関数Eが最小化されるように訓練を行う。
Figure JPOXMLDOC01-appb-M000002
 [効果の説明]
 以上に説明したように、本発明の第1の実施形態によれば、処理層206の出力は複数に分岐し、1つは補助層207に入力され、その他は教師モデルの中間層202-1~204~1に対応する生徒モデルの中間層202-2、203-3、204-4に入力され、あるいはそのまま出力データ208に向けて出力される。かかる構成において、生徒モデル群が訓練されれば、教師モデルを近似する生徒モデルとして、教師モデルの層数よりも少ない層数の生徒モデルが得られる可能性がある。
 例えば、処理層206から中間層202-2のみへの接続が維持されれば、処理層206が中間層201-1を近似することになる。あるいは、処理層206から中間層204-4のみへの接続が維持されれば、処理層206が中間層201-1~203-1を近似することになる。教師モデルの関数が冗長な変換を行っているほど、処理層206が多くの層を近似する可能性が高くなる。これによって、教師モデルを構成するパラメータ数を大幅に削減することが可能となる。これは、処理層206の出力する特徴データが教師モデルのどの層の入力に類似しているかの判定能力を、補助層207が訓練によって獲得できるためである。
 また、判定部103は、最頻値などの統計量に基づいて教師モデルを近似できる層を決定する。その理由は、補助層207の出力が入力に依存して変化するためである。また、できる限り少ない層数の生徒モデルに教師モデルを近似させたい場合には、比較的層数が少ない生徒モデルに対応する誤差の補正パラメータを比較的大きな値に設定すればよい。
 上記では、補助層の除外S104と接続関係の修正S105の後にパラメータ更新S106を行う例を示した。この処理には、生徒モデルの性能を高める効果がある。例えば、補助層207の出力の最頻値に基づいて接続関係を修正した場合、最頻値に対応する経路以外からの出力がなくなるため、そのような出力に関する性能が低下することが想定できる。しかし、パラメータ更新を行うことによって、1つの経路でも性能が出るように最適化されるため、その性能低下の影響を補償することができる。
 また、学習部102は、生徒モデルのパラメータ更新S106において、生徒モデルの処理層206の出力先に中間層がある場合は、それらの中間層のパラメータも更新するとよい。これによって、モデルの表現能力が高まるため、より性能が向上することが期待できる。
 図6に示したように、生徒モデルを含むネットワーク構造を多段構成にすることで、層数の覆い教師モデルに対しても2度の学習計算(図5におけるS101、S106)を行うことによって効率的に層数を削減した生徒モデルを訓練できる。
 以上、本発明の第1の実施形態について説明した。
(2.第2の実施形態)
 まず、本発明の第2の実施形態について説明する。
 [構成の説明]
 本発明の第2の実施形態に係る情報処理装置の構成例について説明する。図7は、本発明の第2の実施形態に係る情報処理装置40の機能構成例を示すブロック図である。以下では、本発明の第2の実施形態に係る情報処理装置40のうち、本発明の第1の実施形態に係る情報処理装置10と共通する構成の詳細な説明は省略する。本発明の第1の実施形態に係る情報処理装置10と異なる構成について主に説明する。
 図7に示すように、情報処理装置40は、入力部400、出力部405および再構成部406を備える。再構成部406は、本発明の第1の実施形態に係る再構成部106と異なり、学習部402、判定部403および修正部404を有する他、生成部401を有する。ここでは、図7に示した各ブロックについて簡潔に説明し、各ブロックの詳細な説明は、「動作の説明」において行う。
 入力部400は、訓練済みの教師モデルを取得し、教師モデルを生成部401に出力する。生成部401は、入力部400から入力された教師モデルに基づいて、生徒モデル群を生成し、生成した生徒モデル群を学習部402に出力する。しかし、生成部401は、学習部402から生徒モデルが入力された場合には、入力された生徒モデルと教師モデルとに基づいて、新たな生徒モデル群を生成し、生成した新たな生徒モデル群を学習部402に出力する。
 学習部402は、生成部401から生徒モデル群が入力された場合、教師モデルの訓練に用いたデータ(または他のデータ)を利用し、誤差逆伝播法(バックプロパゲーション)などによって生徒モデル群および補助層それぞれのパラメータを更新する。一方、学習部402は、修正部104から1つの生徒モデルが入力された場合には、生徒モデルのパラメータを更新し、パラメータが更新された生徒モデルを修正部404または出力部405に出力する。
 判定部403は、パラメータが更新された生徒モデル群および補助層に基づいて、生徒モデル群から1つの生徒モデルを得るために必要な情報を修正部404に出力する。修正部404は、判定部403から入力された情報に基づき、生徒モデル群から1つの生徒モデルを得るための修正を行い、当該1つの生徒モデルを学習部402に出力する。出力部405は、パラメータが更新された生徒モデルを出力する。
 [動作の説明]
 続いて、本発明の第2の実施形態に係る情報処理装置40の動作例について説明する。まず、入力部400は、本発明の第1の実施形態と同様に、訓練済みの教師モデルを取得する。そして、入力部400は、取得した教師モデルを再構成部406(生成部401)に出力する。
 図8は、本発明の第2の実施形態に係る教師モデルの例を示す図である。図8を参照すると、中間層501-1~510-1が順に接続された教師モデルが示されている。ここで、図8に示した例では、教師モデルの層数が10層であるが、教師モデルの層数は限定されない。また、図8には、教師モデルの入力データ500と教師モデルの出力データ511とが示されている。図9および図10は、本発明の第2の実施形態に係る生徒モデル訓練用のネットワークの例を示す図である。以下、再構成部406の処理の例について説明する。
 図11は、再構成部406の処理の例を示すフローチャートである。上記したように、本発明の第1の実施形態では、生徒モデルは、複数段に分割されて構成されてもよい。一方、本発明の第2の実施形態では、教師モデルの全体に対応する生徒モデルを一度に構成するのではなく、教師モデルの一部を処理対象として当該処理対象に対応する生徒モデルを構成し、教師モデルにおける処理対象の変更に伴って当該処理対象に対応する生徒モデルを新たに構成する。ここでは、一度に処理対象とされる層数が4つである場合を想定するが、一度に処理対象とされる層数は限定されない。
 まず、生成部401は、入力部400から入力される教師モデルに基づいて、教師モデルの一部と当該一部に対応する生徒モデル群と補助層とを含んだ生徒モデル訓練用のネットワークを生成する(S200)。続いて、更新処理が実行される(S201)。更新処理S201は、図5に示した再構成部106の処理S100~S107と同様に実行される。更新処理S201が終わると、学習部402は、終了条件の判定を行う(S202)。終了条件は、教師モデルの全ての層に対する処理が終わったという条件であってよい。
 学習部402は、終了条件が満たされていないと判定した場合(S202において「No」)、S200に動作が移行され、生成部401は、教師モデルの中の処理対象を変更し、教師モデルの中の処理対象と当該処理対象に対応する生徒モデル群と補助層とを含んだ生徒モデル訓練用のネットワークを生成する。一方、学習部402は、終了条件が満たされたと判定した場合(S202において「Yes」)、動作を終了する。かかる処理対象の変更について詳細に説明する。
 図9を参照すると、最初の更新処理S201が終わった段階における生徒モデル訓練用のネットワーク601が示されている。ここでは、教師モデルのうち中間層501-1~504-1が処理対象とされ、中間層501-1~503-1に対応する処理層516が残され(すなわち、中間層501-1~503-1を近似する処理層516が残され)、処理対象の中の最終層である中間層504-1が近似されなかった例が示されている。このとき、図10に示すように、生成部401は、近似されなかった中間層504-1を含んだ中間層504-1~507-7に処理対象を変更する。生成部401は、新たな処理対象に対応する生徒モデル群および補助層517を含んだ生徒モデル訓練用のネットワーク603を生成する。
 生徒モデル訓練用のネットワーク603には、上記した処理層206と同等の処理層516が含まれ、上記した補助層207と同等の補助層517が含まれ、中間層505-1と同じ中間層505-2が含まれ、中間層506-1と同じ中間層506-2、506-3が含まれ、中間層507-1と同じ中間層507-2~507-4が含まれている。
 そして、最初の更新処理S201が終わった段階における生徒モデル訓練用のネットワーク602(生徒モデル訓練用のネットワーク601と同じ)の後段に生徒モデル訓練用のネットワーク603を接続し、生徒モデル訓練用のネットワーク602と生徒モデル訓練用のネットワーク603とが接続されたネットワークを、学習部402に出力する。その後、更新処理S201が再度実行される。かかる更新処理S201において、生徒モデル訓練用のネットワーク602は、訓練対象に含められてもよいし、訓練対象に含められなくてもよい。
 このように、再構成部406は、教師モデルの入力側から一部ずつを処理対象として当該処理対象に対応する生徒モデルを構成し、当該一部に近似する生徒モデルを徐々に連結させていくことによって、教師モデルを必要最低限の層数で近似する生徒モデルを得ることができる。
 [効果の説明]
 以上に説明したように、本発明の第2の実施形態によれば、必要最低限の層数で生徒モデルを構築することができ、教師モデルに対して精度劣化を抑えながらパラメータ数を大幅に削減した生徒モデルを得ることができる。本発明の第1の実施形態と異なり、本発明の第2の実施形態では、教師モデルの層を流用しないため(教師モデルの一部ごとに生徒モデルへの近似が行われるため)、パラメータの削減量は、本発明の第1の実施形態と比較して本発明の第2の実施形態のほうが多くなると考えられる。
(3.ハードウェア構成例)
 続いて、本発明の実施形態に係る情報処理装置10のハードウェア構成例について説明する。以下では、本発明の実施形態に係る情報処理装置10のハードウェア構成例として、コンピュータ900のハードウェア構成例について説明する。なお、以下に説明するコンピュータ900のハードウェア構成例は、情報処理装置10のハードウェア構成の一例に過ぎない。したがって、情報処理装置10のハードウェア構成は、以下に説明するコンピュータ900のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
 図12は、本発明の実施形態に係る情報処理装置10の例としてのコンピュータ900のハードウェア構成を示す図である。コンピュータ900は、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置910と、通信装置911と、を備える。
 CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従ってコンピュータ900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
 ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
 入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。コンピュータ900を操作するユーザは、この入力装置908を操作することにより、コンピュータ900に対して各種のデータを入力したり処理動作を指示したりすることができる。
 出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
 ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
 通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。
 以上、本発明の実施形態に係る情報処理装置10のハードウェア構成例について説明した。
(4.まとめ)
 以上に説明したように、本発明の実施形態によれば、入力部と生成部と学習部と判定部と修正部と出力部とを備える情報処理装置が提供される。ここで、入力部は、複数の処理層を含んだ第1のニューラルネットワークを取得する。生成部は、前記第1のニューラルネットワークに対して各々が並列に設けられた複数の第2のニューラルネットワークを生成するとともに、前記複数の第2のニューラルネットワークそれぞれに出力を行って出力分布を記録する第3のニューラルネットワークを生成する。
 学習部は、少なくとも前記複数の第2のニューラルネットワークそれぞれの出力と、前記第1のニューラルネットワークの出力とに基づく差分に関する値が最小化されるように、前記第3のニューラルネットワークの訓練を行う。判定部は、少なくとも1つ以上のデータに関する前記第3のニューラルネットワークの出力の統計量に基づいて前記複数の第2のニューラルネットワークから一のニューラルネットワークを決定する。修正部は、前記複数の第2のニューラルネットワークおよび前記第3のニューラルネットワークから、前記一のニューラルネットワーク以外の前記複数の第2のニューラルネットワークを削除するとともに、前記第3のニューラルネットワークを削除する。出力部は、前記一のニューラルネットワークを出力する。
 かかる構成によれば、ニューラルネットワークの性能低下を抑えつつニューラルネットワークにおける層数を効率的に削減するための情報を得る技術が提供される。
 以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
 例えば、本発明の第1の実施形態および第2の実施形態では、補助層からの出力としてOne-hotベクトルを利用する場合を主に想定した。しかし、補助層からの出力として、Softmax関数などといった他の関数の出力が用いられてもよい。ここで、Softmax関数は、ニューロンの出力値の合計が1になるように正規化する関数である。Softmax関数の出力を用いた場合、生徒モデルの処理層206から複数の分岐に同時に接続されてしまう。しかし、例えば、Softmax関数の出力値の統計量(例えば、最頻値など)に基づいて、生徒モデルの処理層206からの接続先を1つの分岐に決定すれば、Softmax関数が用いられる場合にも、本発明の実施形態が適用され得る。
 10  情報処理装置
 100 入力部
 101 生成部
 102 学習部
 103 判定部
 104 修正部
 105 出力部
 106 再構成部
 200 入力データ
 201~204 中間層
 205 出力データ
 206 処理層
 207 補助層
 208 出力データ
 209~214 中間層
 216 処理層
 217 補助層
 300~302 ネットワーク
 40  情報処理装置
 400 入力部
 401 生成部
 402 学習部
 403 判定部
 404 修正部
 405 出力部
 406 再構成部
 500 入力データ
 501~507 中間層
 511 出力データ
 516 処理層
 517 補助層
 601~603 ネットワーク

Claims (10)

  1.  複数の処理層を含んだ第1のニューラルネットワークを取得する入力部と、
     前記第1のニューラルネットワークに対して各々が並列に設けられた複数の第2のニューラルネットワークを生成するとともに、前記複数の第2のニューラルネットワークそれぞれに出力を行って出力分布を記録する第3のニューラルネットワークを生成する生成部と、
     少なくとも前記複数の第2のニューラルネットワークそれぞれの出力と、前記第1のニューラルネットワークの出力とに基づく差分に関する値が最小化されるように、前記第3のニューラルネットワークの訓練を行う学習部と、
     少なくとも1つ以上のデータに関する前記第3のニューラルネットワークの出力の統計量に基づいて前記複数の第2のニューラルネットワークから一のニューラルネットワークを決定する判定部と、
     前記複数の第2のニューラルネットワークおよび前記第3のニューラルネットワークから、前記一のニューラルネットワーク以外の前記複数の第2のニューラルネットワークを削除するとともに、前記第3のニューラルネットワークを削除する修正部と、
     前記一のニューラルネットワークを出力する出力部と、
     を備える、情報処理装置。
  2.  前記第3のニューラルネットワークは、前記学習部による訓練によってパラメータが更新されると、更新後の前記パラメータに基づいて前記複数の第2のニューラルネットワークに出力を行う、
     請求項1に記載の情報処理装置。
  3.  前記出力分布は、確率分布である、
     請求項1に記載の情報処理装置。
  4.  前記第3のニューラルネットワークは、1つの要素が1であり他の要素が0であるベクトルを出力するセレクタ機能を有する、
     請求項3に記載の情報処理装置。
  5.  前記複数の第2のニューラルネットワークの層数は、前記第1のニューラルネットワークの層数よりも少ない、
     請求項1に記載の情報処理装置。
  6.  前記複数の第2のニューラルネットワークそれぞれは、前記第1のニューラルネットワークを構成する少なくとも1つ以上の中間層を含む、
     請求項1に記載の情報処理装置。
  7.  前記学習部は、前記第3のニューラルネットワークの出力および前記複数の第2のニューラルネットワークそれぞれの出力と、前記第1のニューラルネットワークの出力とに基づく差分に関する値が最小化されるように、前記訓練を行う、
     請求項1に記載の情報処理装置。
  8.  前記統計量は、最頻値である、
     請求項1に記載の情報処理装置。
  9.  複数の処理層を含んだ第1のニューラルネットワークを取得する入力部と、
     前記第1のニューラルネットワークに対して各々が並列に設けられた複数の第2のニューラルネットワークを生成するとともに、前記複数の第2のニューラルネットワークそれぞれに出力を行って出力分布を記録する第3のニューラルネットワークを生成する生成部と、
     少なくとも前記複数の第2のニューラルネットワークそれぞれの出力と、前記第1のニューラルネットワークの出力とに基づく差分に関する値が最小化されるように、前記第3のニューラルネットワークの訓練を行う学習部と、
     少なくとも1つ以上のデータに関する前記第3のニューラルネットワークの出力の統計量に基づいて前記複数の第2のニューラルネットワークから一のニューラルネットワークを決定する判定部と、
     を備える、情報処理装置。
  10.  複数の処理層を含んだ第1のニューラルネットワークを取得することと、
     前記第1のニューラルネットワークに対して各々が並列に設けられた複数の第2のニューラルネットワークを生成するとともに、前記複数の第2のニューラルネットワークそれぞれに出力を行って出力分布を記録する第3のニューラルネットワークを生成することと、
     少なくとも前記複数の第2のニューラルネットワークそれぞれの出力と、前記第1のニューラルネットワークの出力とに基づく差分に関する値が最小化されるように、前記第3のニューラルネットワークの訓練を行うことと、
     少なくとも1つ以上のデータに関する前記第3のニューラルネットワークの出力の統計量に基づいて前記複数の第2のニューラルネットワークから一のニューラルネットワークを決定することと、
     を含む、情報処理方法。
PCT/JP2019/041365 2018-11-21 2019-10-21 情報処理装置および情報処理方法 Ceased WO2020105341A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-217907 2018-11-21
JP2018217907A JP2020086738A (ja) 2018-11-21 2018-11-21 情報処理装置および情報処理方法

Publications (1)

Publication Number Publication Date
WO2020105341A1 true WO2020105341A1 (ja) 2020-05-28

Family

ID=70774246

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/041365 Ceased WO2020105341A1 (ja) 2018-11-21 2019-10-21 情報処理装置および情報処理方法

Country Status (2)

Country Link
JP (1) JP2020086738A (ja)
WO (1) WO2020105341A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12340574B2 (en) * 2020-07-28 2025-06-24 Mitsubishi Electric Corporation Learning utilization system, utilizing device, learning device, non-transitory computer-readable medium, and learning utilization method
JP7572684B2 (ja) * 2021-06-15 2024-10-24 日本電信電話株式会社 学習装置、学習方法及びプログラム
JP7838638B2 (ja) * 2022-04-22 2026-04-01 株式会社ソシオネクスト ニューラルネットワーク生成方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017182319A (ja) * 2016-03-29 2017-10-05 株式会社メガチップス 機械学習装置
JP2019185275A (ja) * 2018-04-05 2019-10-24 日本電信電話株式会社 学習装置、学習方法および学習プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017182319A (ja) * 2016-03-29 2017-10-05 株式会社メガチップス 機械学習装置
JP2019185275A (ja) * 2018-04-05 2019-10-24 日本電信電話株式会社 学習装置、学習方法および学習プログラム

Also Published As

Publication number Publication date
JP2020086738A (ja) 2020-06-04

Similar Documents

Publication Publication Date Title
US12626194B2 (en) Scalable transfer learning with expert models
Huang et al. A unified approach to transfer learning of deep neural networks with applications to speaker adaptation in automatic speech recognition
US20200372325A1 (en) Neural network reduction device, neural network reduction method, and storage medium
CN103810999B (zh) 基于分布式神经网络的语言模型训练方法及其系统
JP2021120882A (ja) 演算処理装置、並びに文章評価装置、及び文章評価方法
JP7618201B2 (ja) 回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム
Shi et al. Weighting and pruning based ensemble deep random vector functional link network for tabular data classification
US20220067280A1 (en) Multi-token embedding and classifier for masked language models
CN105701120A (zh) 确定语义匹配度的方法和装置
JP2020086738A (ja) 情報処理装置および情報処理方法
US20250117893A1 (en) Self Supervised Training of Machine-Learned Image Processing Models for Histopathology
CN110020711A (zh) 一种采用灰狼优化算法的大数据分析方法
US12182711B2 (en) Generation of neural network containing middle layer background
JP2021103441A (ja) ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム
JP2017037392A (ja) ニューラルネットワーク学習装置
US20240249136A1 (en) Method of solving combinatorial optimization problems using machine learning models adapted from a different set of input problems, and related system and devices
KR102063562B1 (ko) 포인터 네트워크의 학습을 통해 고품질의 메쉬 구조의 생성을 지원하기 위한 그래픽 처리 장치 및 그 동작 방법
JP2020020872A (ja) 識別器、学習済モデル、学習方法
WO2022110730A1 (zh) 基于标签的优化模型训练方法、装置、设备及存储介质
WO2019102984A1 (ja) 学習装置及び学習方法、識別装置及び識別方法、プログラム並びに記録媒体
CN113282721A (zh) 基于网络结构搜索的视觉问答方法
Xiao et al. FusionSum: Abstractive summarization with sentence fusion and cooperative reinforcement learning
JP6453681B2 (ja) 演算装置、演算方法およびプログラム
JP6325762B1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
US12361271B2 (en) Optimizing deep neural network mapping for inference on analog resistive processing unit arrays

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19887417

Country of ref document: EP

Kind code of ref document: A1