WO2019198814A1 - ニューラルネットワークシステム、ニューラルネットワーク方法、プログラム - Google Patents

ニューラルネットワークシステム、ニューラルネットワーク方法、プログラム Download PDF

Info

Publication number
WO2019198814A1
WO2019198814A1 PCT/JP2019/015972 JP2019015972W WO2019198814A1 WO 2019198814 A1 WO2019198814 A1 WO 2019198814A1 JP 2019015972 W JP2019015972 W JP 2019015972W WO 2019198814 A1 WO2019198814 A1 WO 2019198814A1
Authority
WO
WIPO (PCT)
Prior art keywords
variable
model
function
neural network
equation
Prior art date
Application number
PCT/JP2019/015972
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 JP2020513460A priority Critical patent/JP7179835B2/ja
Priority to US17/046,292 priority patent/US20210073615A1/en
Publication of WO2019198814A1 publication Critical patent/WO2019198814A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Definitions

  • the present invention relates to a machine learning technique.
  • a model in which mapping is described using DeepDNeural Network (DNN) is usually called an end-to-end model.
  • DNN DeepDNeural Network
  • the end-to-end model only input and output are given, the relationship between them is regarded as a black box, and the input / output relationship is described in DNN.
  • a technique described in Non-Patent Document 1 is known.
  • each DNN In the conventional end-to-end model, the input / output relationship is black boxed, and although the same input / output DNN is directly or indirectly connected on the network, each DNN is It works independently. For example, there are multiple voice recognition DNNs on the Internet that input voice signals and output character strings corresponding to the voice signals, but each voice recognition DNN performs independent DNN learning and independently Speech recognition is performed using the learned DNN. The same applies to the case where a plurality of DNNs are operated in one apparatus. For example, when the DNN of a task that recognizes voice on one PC and outputs a recognition result and the DNN of a task that generates and outputs a response to the voice are operated, these DNNs operate on one PC Although operating independently.
  • w ⁇ R m (m is an integer of 1 or more)
  • the input of G i is set to a vector, it may be a matrix or tensor. Since the matrix or tensor can be expressed using a vector, hereinafter the input of G i advances the story as a vector.
  • the optimal solution w * (also referred to as the w stop point) of this problem is obtained when the sub-derivative of the cost G includes a 0 vector (zero vector).
  • ⁇ G i represents a sub-derivative of G i .
  • N (i) represents the set of indexes of the node group connected to the i-th node.
  • the problem of consensus building in edge computing is the problem of global optimization by exchanging latent variables and their auxiliary variables (for example, dual variables) instead of exchanging huge amounts of data stored in each node between nodes. .
  • the cost expressed by the convex function at the i-th node is expressed as follows.
  • T represents a transpose
  • p represents an L p norm.
  • U (i) ⁇ 1,..., U (i) ⁇ .
  • This cost F 1, i as input data p 'dimensional vector v i ⁇ R p', so as to output the training data s i, U (i) of pieces of data set (v i, u, s i , u ) is a cost function for the problem of optimizing the latent variable p i (p i ⁇ R p ′ ).
  • the index indicates that the data and the number U (i) differ depending on the node. In general, the data stored in each node is different but may be the same.
  • a set of input data and teacher data is referred to as learning data.
  • m p′V.
  • parallel computing by multiple servers in the same location can be formulated as the same problem as the consensus building problem. For example, it corresponds to a case where models such as speech recognition and image recognition are learned at high speed by performing parallel calculation using a large number of computers.
  • the data set stored in each server is basically the same.
  • the stopping point that minimizes the cost is searched while constraining the value of the latent variable p to be the same between the nodes.
  • j is a p ′ ⁇ p ′ real matrix representing consensus formation. Any matrix can be used as this matrix A i
  • I is the identity matrix
  • Lagrange's undetermined multiplier method is often used.
  • the Lagrangian function L is defined as follows.
  • F 1, i * represents a convex conjugate function of the convex function F 1, i .
  • F 1, i is a convex function
  • F 1, i * is also a convex function
  • Equation (2-4) represents the problem of finding the dual variable ⁇ i, j that minimizes the convex function F 1, i * .
  • equation (2-4) should be solved, but in the form of equation (2-4), the process of updating the latent variable asynchronously for each node is performed. It cannot be realized. Therefore, the lifting process is performed so that the dual variable ⁇ i, j belongs to each node. Specifically, the dual variable ⁇ i
  • FIG. 13A and 13B are diagrams illustrating a state of lifting processing of dual variables.
  • FIG. 13A shows that the variable ⁇ i, j controls the error in consensus building between node i and node j.
  • the i-th latent variable and the j-th latent variable must be updated while being synchronized. Therefore, in order to be able to update the i-th latent variable and the j-th latent variable even in an asynchronous manner, the edge that is not directed in FIG. 13A is rewritten with two edges having directionality as shown in FIG. 13B. Since these two edges are generated from one non-directional edge, the restriction of matching is necessary, but it is possible to solve the synchronization problem in the variable update.
  • Expression (2-5) is expressed as follows by expressing the variable group written in V using a vector or matrix. Of course, the meaning of the formula does not change and represents the same problem.
  • variable group that is, p i , ⁇ i
  • instruction function F 2 is defined as follows.
  • Applying the matrix P to the vector ⁇ is a process of replacing the dual variables ⁇ i
  • p ⁇ R m is a latent variable
  • ⁇ R m is a dual variable
  • A [a 1 ,..., A n ] T ⁇ R n ⁇ m represents input data.
  • the F 2 may be used L 1 norm as regularization term.
  • F 1 and F 2 are not limited to this.
  • s is teacher data of desired output information.
  • monotonic operator division is also called monotonic operator decomposition.
  • PR Peaceman-Rachford
  • DR Douglus-Rachford
  • Equation (3-1) The P-R type monotone operator division and the D-R type monotone operator division are expressed by Equation (3-1) and Equation (3-2), respectively.
  • Equations (3-1) and (3-2) it can be seen that by introducing the averaging operator to the P-R type monotone operator division, the D-R type monotone operator division can be obtained.
  • variable update algorithm which is a recursive variable update rule obtained from Equation (3-1) and Equation (3-2), will be described using the consensus building problem in edge computing as an example.
  • This consensus building problem is expressed by replacing ⁇ in the following equation (2-7) with w.
  • the resolvent operator ⁇ 2 and the Cayley operator ⁇ 2 are as follows.
  • Non-Patent Document 3 when the above instruction function F 2 is used, the Cayley operator ⁇ 2 corresponds to the permutation matrix P.
  • Equation (3-5) corresponds to the P-R type monotone operator division of Equation (3-1)
  • Equation (3-6) corresponds to the D-R type monotone operator division of Equation (3-2).
  • T is a variable representing the number of updates.
  • Equation (3-3) includes updating the latent variable p and the dual variable w. As a method for updating these variables, a method described in Non-Patent Document 3 will be described. Equation (3-3) is transformed as follows.
  • F 1 * includes the optimization calculation of the latent variable p
  • the latent variable p is optimized, and after fixing p to the optimum value, a method for deriving the dual variable w is derived.
  • the latent variable p is sequentially optimized (that is, p t + 1 is calculated from p t ), a penalty term for p is calculated in addition to the cost included in F 1 * .
  • Equation (3-8) the third term in argmin on the right side of Equation (3-8) is a penalty term, and ⁇ > 0.
  • penal terms it is possible to perform sequential optimization calculation of the latent variable p.
  • equation (3-4) can be calculated as follows.
  • can be calculated without using w.
  • the conventional variable update rule is generated based on monotonic operator division using a resolvent operator or a Cayley operator.
  • This conventional variable update rule has a problem that it takes time to converge to an optimal solution in some cases. In other words, there is a problem that it takes time to learn latent variables.
  • an object of the present invention is to provide a technique for realizing sharing of model variables among a plurality of DNNs.
  • One embodiment of the present invention is a neural network system including a plurality of models, wherein each of the plurality of models is a DNN including a plurality of layers, and some or all of the plurality of models are part of model variables.
  • a layer that includes at least one layer that is equivalent or common in all hereinafter referred to as “shared layer” and that has a model variable that is neither equivalent nor common (hereinafter referred to as “non-shared layer”). Contains at least one.
  • a scalable DNN and a multitask DNN described later can be realized.
  • an object of the present invention is to provide a technique for realizing sharing of some model variables among a plurality of different DNNs.
  • Example 1 the following (Example 1) and (Example 2) will be described as examples of application destinations of techniques for sharing some model variables among a plurality of different DNNs.
  • Example 1 is a DNN for the same task, although the number of DNN layers is different in at least two or more DNNs (ie, the DNN input is equivalent and the DNN output is equivalent) ),
  • this system is called “scalable DNN” or “scalable DNN”.
  • a scalable DNN is desirable. For example, for the same task, a recognition rate of 70% can be obtained for 3 layers, an recognition rate of 80% for 10 layers, and a recognition rate of 95% for 100 layers. The case where some overlap each other corresponds to this “scalable DNN”.
  • Example 2 shows that, in at least two or more DNNs that include related parts but have different tasks, between any one layer of one DNN and any one layer of another DNN, A system that shares model variables or shares the layer itself.
  • this system is called “multitask DNN” or “multitask DNN”.
  • Examples of combinations of multiple DNNs included in a multi-task DNN are combinations in which DNN inputs are equivalent but DNN outputs are not equivalent, DNN inputs are not equivalent but DNN outputs are equivalent, DNN Some of the inputs are equivalent but the rest of the DNN inputs are not equivalent, some of the DNN outputs are equivalent but the rest of the DNN outputs are not equivalent, and so on.
  • a plurality of related tasks such as a task for recognizing a voice and outputting a recognition result, a task for generating and outputting a response to the same voice, and a task for generating and outputting a robot motion for the same voice are output.
  • This system corresponds to “Multitask DNN”. Since these tasks are related to each other, an end-to-end model that performs each task independently (in this case, recognition of speech, generation of response to speech, and generation of robot movement to speech) It is considered that the DNN structure (multitask DNN structure) that branches the last output is closer to the natural law than the three types of models that correspond to each processing). The total amount of calculation is also expected to decrease.
  • I is a predetermined integer of 2 or more.
  • a cost function cross entropy
  • the cost function in DNN is a non-convex function.
  • w i, j, k is a main variable of the DNN model, and more specifically, a weight coefficient vector for the node k of the j-th layer of the model i.
  • w i, j, k may be referred to as a main variable or a model variable.
  • B is the number of classification classes, and is a predetermined positive integer.
  • D is the number of data and is a predetermined positive integer.
  • S i, b, d is labeled teacher data for class b of model i.
  • teacher data with a label common to all models may be used.
  • the index i of S i, b, d is not necessary.
  • P i, b, d is a probability value for the b-th class of model i output from DNN. A common probability value may be used in all models.
  • the index i of P i, b, d is not necessary.
  • a set of model indexes ⁇ I a set of indexes representing the layers that make up model i ⁇ J (i), and a set of indexes representing nodes of the jth layer of model i.
  • J (i) is the number of layers of model i, and is a predetermined positive integer.
  • ⁇ I represents that " ⁇ " is added on I. The same applies to ⁇ J (i, j), ⁇ K (i, j), ⁇ N (i, j) and the like.
  • K (i, j) is defined as follows.
  • K (i, j) is the number of nodes in the j-th layer of model i, and is a predetermined positive integer.
  • the main variable w i, j, k of the node k of the jth layer of the model i is defined as follows.
  • F i is a function representing calculation processing by DNN.
  • x d is the d-th input data
  • p i, d is a probability value for each of the B classes corresponding to the d-th input data x d .
  • Each of the teacher data s i, d , the d-th input data x d , and the probability values p i, d is a vector defined as follows.
  • F i is calculated by the following calculation.
  • a i, j is a non-linear activation function such as a Rectified linear Unit (ReLU), a sigmoid function, or a cross-entropy function.
  • ReLU Rectified linear Unit
  • sigmoid sigmoid function
  • cross-entropy function a non-linear activation function such as a Rectified linear Unit (ReLU), a sigmoid function, or a cross-entropy function.
  • is a positive number, and usually a small number smaller than 1 is used.
  • ⁇ E i is the linear gradient for the main variable vector.
  • Non-Patent Document 1 There are various ways to calculate the primary slope ⁇ E i of the error function for the main variable.
  • the most basic method is a method of combining the back propagation method and the stochastic gradient method.
  • the Adam method, the AdaGrad method, or the like is used as a practical technique for obtaining an optimal solution with a small number of updates (for example, see Non-Patent Document 1).
  • the constraint condition can be anything as long as it can be written in a linear format, but here the condition is described by the relationship between the node k of the jth layer node of model i and the jth layer node k of model n. is doing.
  • ⁇ N (i, j) is a set of indices of models having a constraint relationship with the j-th layer of model i.
  • scalable DNN it can be implemented as follows.
  • I is a unit matrix.
  • model variables in the first and second layers are equivalent or common in the models 1, 2, and 3, and the model variables in the third and fourth layers are equivalent or common in the models 2 and 3.
  • ⁇ N (i, j) when generating models 1, 2 and 3 is shown.
  • means an empty set.
  • model 1 is composed of three layers
  • model 2 is composed of five layers
  • model 3 is composed of seven layers.
  • x is an input of each model
  • ⁇ S 1 , ⁇ S 2 , ⁇ S 3 are outputs from the models 1, 2 and 3 , respectively.
  • “equivalent” means that the values are substantially the same with almost no difference.
  • common means that the values are the same. That is, that a model variable of a certain layer is equivalent or common in a plurality of models indicates that a model variable of a certain layer is shared among a plurality of models.
  • the Lagrangian undetermined multiplier method is often used as a method for solving such optimization problems with constraints.
  • the Lagrangian function can be written as
  • G i as an alternative convex function used instead of the cost E i .
  • ⁇ x, y> represents an inner product of x and y, where x and y are arbitrary vectors.
  • E i (w i, j, k (t) ) is a constant because it is the cost at the time of the previous update (time t).
  • ⁇ E i (w i, j, k (t) ) is a first-order gradient calculated stochastically using a mini-batch set composed of several sample groups. This is a calculable amount.
  • is an arbitrary number
  • p means Lp norm.
  • the optimal solution can be obtained with respect to the main variable w i. This is because it corresponds to the method of subtracting the first-order gradient of the error function sequentially as in the conventional method. That is, as shown below, the optimization of the main variable w i with respect to a convex function G i is coincident with successive subtraction step was doing in a conventional manner.
  • E i is called a 1 / ⁇ smoothing function.
  • FIG. 2 An image of this equation is shown in FIG.
  • the solid line represents the original cost function E i .
  • the cost E i is written as a non-convex function.
  • the dashed line represents the proxy convex function G i as a upper bound.
  • G i becomes the upper bound function of the original cost E i . Therefore, since there is no contradiction between minimizing G i and minimizing E i , we chose to minimize G i , which is a closed true convex function that is easy to handle in constrained optimization.
  • the proposed method aims to solve the following problems.
  • auxiliary variables two types are introduced as auxiliary variables of the dual variable.
  • y j, k , z j, k be two types of dual auxiliary variables.
  • the basic properties of the dual auxiliary variables y j, k , z j, k are the same as the dual variables ⁇ j, k .
  • variable group main variable, dual variable, dual auxiliary variable
  • P-R division which is one of operator division methods
  • the symbol “ ⁇ ” does not represent the element of the set, but means that the calculation result on the right side is assigned to the left side.
  • PR partitioning is an optimization method that guarantees fast convergence.
  • the optimization z j, k ⁇ C 2 C 1 z j, k by PR partition is expressed as follows.
  • ⁇ j, k , y j, k , z j, k is expressed as follows.
  • w i, j, k (0) is initialized by an appropriate method such as an auto encoder.
  • T is the total number of updates, and is a positive integer, but is not a constant when online learning is assumed.
  • the primary gradient ⁇ E i (w i, j, k (0) ) can be calculated by using, for example, an error back propagation method, a stochastic gradient descent method, or Adam or AdaGrad.
  • the last step (4) may be a D-R split base update. Usually 1/2 is used for ⁇ .
  • Model generation apparatus and method ⁇ First Embodiment> ⁇ Model generation apparatus and method >> Hereinafter, an embodiment of a model generation apparatus and method will be described.
  • the model generation apparatus includes an initialization unit 1-301, a control unit 1-302, a gradient calculation unit 1-303, a dual variable update unit 1-304, a main variable update unit 1-305, an auxiliary
  • a variable update unit 1-306 and a storage unit 1-307 are provided.
  • the storage unit 1-307 stores data necessary for processing and calculation described below.
  • An initialization unit 1-301, a control unit 1-302, a gradient calculation unit 1-303, a dual variable update unit 1-304, a main variable update unit 1-305, an auxiliary variable update unit 1-306, and a storage unit 1-307 The processing from step S1 to step S8 described below is performed while appropriately writing data to the storage unit 1-307.
  • the model generation method is realized, for example, when each unit of the model generation apparatus performs the processing from step S1 to step S8 described below with reference to FIG.
  • the initialization unit 1-301 is, w i , j, k (0) is initialized by an appropriate method such as an auto encoder. Further, the initialization unit 1-301 initializes z i
  • , j, k (0) 0, for example (step S1).
  • the gradient calculation unit 1-303 the primary gradient ⁇ E i (w i, j, k ( t) ) is calculated (step S3).
  • the primary gradient ⁇ E i (w i, j, k (t) ) can be calculated by using, for example, an error back propagation method, a stochastic gradient descent method, or Adam or AdaGrad.
  • the dual variable updating unit 1-304 The dual variable ⁇ i
  • the main variable updating unit 1-305 determines the main variables w i, j, k (t + 1) is calculated (step S5).
  • the auxiliary variable updating unit 1-306 has dual auxiliary variables y i
  • the above model generation device can be summarized as follows.
  • the main variable after the t-th update of the node k of the j-th layer is w i, j, k (t), and the j-th layer of the model n of the node k of the j-th layer of the model i
  • n, j, k (t) be the dual variable after the t-th update for node k of
  • n, j, k be the dual auxiliary variable of ⁇ i
  • E i is the cost function of model i
  • ⁇ 1 is a predetermined positive number
  • is a positive number
  • j is Where I is the identity matrix, O is the zero matrix, T is a positive number,
  • Model generation apparatus w i, j, k ( 0), z i
  • ⁇ i ⁇ ⁇ I , j ⁇ ⁇ J (i), k ⁇ ⁇ K (i, j) dual auxiliary variable relative is defined by the following equation y i and an auxiliary variable updating unit 1-306 for calculating
  • the initialization unit 1-301, the control unit 1-302, the gradient calculation unit 1-303, the dual variable update unit 1-304, the main variable update unit 1-305, the auxiliary variable update unit 1-306, and the storage unit 1- 307 need not be implemented on the same computer, and may be implemented on a plurality of computers.
  • the update unit 1-306 and the storage unit 1-307 appropriately transmit and receive data and perform the above processing.
  • a layer in which some or all of the model variables are equivalent or common is referred to as a “shared layer”. That is, the “shared layer” is a layer in which at least a part of the model variable is shared among a plurality of models.
  • a layer whose model variables are neither equivalent nor common is called a “non-shared layer”. That is, the “non-shared layer” is a layer that does not share model variables among a plurality of models.
  • the auxiliary variable updating unit 1-306 performs the process of z i
  • n, j, k (t + 1) y n
  • i, j, k (t) after the t + 1th update of the node k of the jth layer of the model i to the node k of the jth layer of the model i i, j, k (t + 1) is the dual variable ⁇ i after the t + 1th update of the node k of the jth layer of model i to the node k of the jth layer of model n
  • the dual auxiliary variable is an intermediate product in the updating process of the model variable
  • the dual auxiliary variable can be regarded as a part of the model variable. That is, it can be said that the shared layer performs update processing of the model variable including exchanging part or all of the model variable between corresponding layers of the plurality of models.
  • Neural network calculation system and method >> Hereinafter, an embodiment of a neural network calculation system and method will be described.
  • the neural network calculation system includes, for example, a neural network calculation device 1-40 that calculates a neural network based on at least one of a plurality of models.
  • the neural network calculation system includes one neural network calculation device 1-40.
  • the neural network calculation system includes a plurality of neural network calculation devices 1-40. It may be.
  • the neural network calculation method is realized by the neural network calculation device 1-40 calculating a neural network based on at least one of a plurality of models.
  • some or all of the plurality of models include at least one layer in which some or all of the model variables are equivalent or common, and at least a layer in which the model variables are not equivalent or common.
  • a part or all of the plurality includes at least one layer sharing at least a part of the model variable and includes at least one layer not sharing the model variable.
  • Such a layer including at least one part or all of a plurality of models and having part or all of the model variables equivalent or common can be generated by the model generation apparatus and method described above. it can.
  • At least one layer in which some or all of the model variables are equivalent or common may be an input layer or a plurality of continuous layers including an input layer.
  • the same layer may be used in a plurality of models. That is, the layer itself may be shared among a plurality of models.
  • the neural network computing device 1-40 includes an input unit 1-400 to which input data x is input, a storage unit 1-401 that stores a plurality of models generated by the model generation device and method, and an input unit 1 And a calculation unit 1-402 that performs calculation of a neural network based on the input data x input to ⁇ 400 and any model read from the storage unit 1-401.
  • calculation of a neural network is to obtain at least an output for at least one layer of a plurality of models.
  • the calculation of a neural network is to obtain an output ⁇ S for at least one of a plurality of models using model variables learned in all layers of the plurality of models.
  • the calculation of the neural network is online learning, that is, the output of at least one of a plurality of models while learning the model variable by the above-described model generation apparatus and method in at least one layer of the plurality of models. Is to get.
  • the calculation of the neural network includes obtaining the output of at least one layer included in the model, not the final output ⁇ S of the model.
  • the first model is a low calculation model of a neural network composed of two layers
  • the second model is a medium calculation model of a neural network composed of five layers
  • the third model Assume that the model is a high calculation model of a neural network composed of seven layers.
  • the model variables for the first layer are equivalent for all models
  • the model variables for the second to fourth layers are equivalent for the second and third models.
  • model variables of layers equivalent to a plurality of models (layers surrounded by solid lines in FIG. 6) are generated or generated by the model generation apparatus and method described above, and layers independent of each model (see FIG.
  • models can be constructed while learning or learning model variables for each model (the layer surrounded by the one-dot chain line in FIG. 6).
  • a model can be constructed if there is a model variable in the layer surrounded by a broken line in FIG.
  • the neural network calculation system includes the portable information terminal 1-50, the server 1-51, and the server 1-52.
  • Each of the portable information terminal 1-50, the server 1-51, and the server 1-52 is a neural network calculation apparatus 1-40.
  • Regarding the calculation capabilities of the portable information terminal 1-50, the server 1-51, and the server 1-52 there is a relationship of the calculation capability of the portable information terminal 1-50 ⁇ the calculation capability of the server 1-51 ⁇ the calculation capability of the server 1-52. Suppose there is.
  • the calculation is performed based on the low calculation model. Since the server 1-51 has a medium computing capacity, it performs the calculation based on the medium calculation model. Thereby, it is possible to obtain a calculation result with higher accuracy than that calculated by the low calculation model. Since the server 1-52 has a high calculation capability, the calculation is performed based on the high calculation model. Thereby, it is possible to obtain a calculation result with higher accuracy than when the calculation is performed with the low calculation model or the medium calculation model.
  • the calculation capability of the neural network calculation device is obtained by including at least one layer in which some or all of the plurality of models are equivalent or common to some or all of the model variables. It is possible to realize a scalable DNN that can be calculated in accordance with. For a layer in which some or all of the model variables included in a plurality of models are equivalent or in common, the model variables are operated while being generated by the model generation apparatus and method described above, or By generating variables in advance using the model generation apparatus and method described above, it is possible to realize a scalable DNN in which a plurality of models included are more optimized.
  • the plurality of models may be DNNs having the same task and having different numbers of layers.
  • a certain neural network calculation device performs calculation up to any layer of a model, and transmits the calculation result to another neural network calculation device.
  • the other neural network calculation device uses the received calculation result to The calculation of a certain model may be performed by performing calculation after any layer.
  • the information portable terminal 1-50 is composed of two layers as shown in the example of FIG. While calculating the model, the calculation result of the first layer equivalent to all models in the example of FIG. 6 is transmitted to the server 1-51, and the server 1-51 receives the calculation result of the first layer received 6 is used to calculate the remaining four layers of the second model in the example of FIG. 6, and the fourth layer equivalent to the second model and the third model in the example of FIG. Is sent to the server 1-52, and the server 1-52 uses the received calculation results of the fourth layer to calculate the remaining three layers of the third model in the example of FIG. You may go.
  • model variables of one or a plurality of continuous layers including the input layer are equivalent to each other in a plurality of models as in the example of FIG. 6.
  • FIG. 6 It is good also as a structure which does not make it equivalent in a some model about a variable.
  • some of the plurality of models may include a layer in which all of the model variables are common.
  • the model variable of the second layer of the first model and the model variable of the second layer of the second model are common.
  • all of the plurality of models may include a layer in which some of the model variables are common.
  • all or some of the model variables of the third layer of all models are common.
  • a plurality of models may be tasks related to each other but different from each other.
  • the outputs of the plurality of models may be different from each other.
  • the output of the first model is, for example, output ⁇ S 1 that is the text of the recognition result of the input speech
  • the second model The output of the model (top model) is, for example, output ⁇ S 2 which is the response text corresponding to the input speech
  • the calculation result of the neural network based on the third model (bottom model) Is the output ⁇ S 3 which is the movement of the robot corresponding to the input voice.
  • a plurality of models are tasks different from each other, but are related to a related task of “obtaining some output related to the utterance content of the input speech”.
  • the model variables of the third layer from the eye are equivalent. With this configuration, even if there are multiple models with different tasks, if some or all of the model variables are equivalent or have a common layer, this model A plurality of models included are further optimized by operating while generating variables using the model generation apparatus and method described above or by generating model variables in advance using the model generation apparatus and method described above. Multitask DNN can be realized.
  • the model variable of that layer is calculated with at least one model and the calculation result is changed to another model.
  • Another model may be configured to use another model received without calculating the model variable of the layer.
  • the neural network system is a system including at least one of the model generation apparatus and the neural network calculation system described above.
  • the neural network system and method includes a plurality of models.
  • Each of the plurality of models is a DNN including a plurality of layers, and some or all of the plurality of models include at least a layer in which some or all of the model variables are equivalent or common.
  • One layer is included, and at least one layer whose model variables are not equivalent or common is included.
  • each of these multiple models is a DNN that includes multiple layers, some or all of the multiple models include at least one layer that shares at least some of the model variables, and At least one layer that does not share model variables.
  • Program and recording medium >> The neural network system, the model generation device, or the neural network calculation system may be realized by a single computer. In this case, the processing content of the function that the model generation device or the neural network calculation system should have is described by a program. Then, by executing this program on a computer, the machine learning system process is realized on the computer.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
  • each unit may be configured by executing a predetermined program on a computer, or at least a part of these processing may be realized by hardware.
  • _ (Underscore) represents a subscript.
  • xy_z represents that yz is a superscript to x
  • xy_z represents that yz is a subscript to x.
  • Bregman resolvent operator or a Bregman Cary operator is used instead of using a resolvent operator or a Cayley operator. That is, the variable update rule is constructed based on monotone operator division using the Bregman resolvent operator or the Bregman Cary operator. Details will be described below.
  • any narrowly-defined convex function can be used as the function D.
  • the Euclidean distance is also a kind of Bregman divergence. It may also be written as Bregman divergence B D to clarify that Bregman divergence B is defined using function D.
  • the narrowly convex function D is a function having some kind of continuity. Specifically, the narrowly-convex convex function D has properties of strong convex (SC) and Lipschitz smooth (LS). These properties can be expressed as follows. (Characteristic 1) When the second-order Taylor expansion is used, the following approximate expression is established for the function D around the point w.
  • the Hessian matrix H D (w) (H D (w) ⁇ R m ⁇ m ) is a positive definite matrix.
  • the Hessian matrices K D and M D (K D ⁇ R m ⁇ m , M D ⁇ R m ⁇ m ) are positive definite matrices.
  • the following relationship holds with the Hessian matrix H D (w).
  • the Resolvent operator and the Cayley operator are generalized using Bregman divergence.
  • the generalized Resolvent operator and Cary operator are called Bregman Resolvent operator and Bregman Cary operator, respectively.
  • the Bregmann resolvent operator is described in Reference Non-Patent Document 2-2.
  • Reference Non-Patent Document 2-2 H. H. Bauschke, J. M. Borwein, and P. L. Combettes, “Bregman Monotone Optimization Algorithms”, SIAM Journal on Control and Optimization, Vol. 42, Issue 2, pp. 596-636, 2003.
  • the Bregman resolvent operator R n and the Bregman Cary operator C n are given by the following equations.
  • Bregman divergence B corresponds to Euclidean distance
  • Bregman Resolvent operator R n and Bregman Cary operator C n are respectively Resolvent operators.
  • ⁇ n corresponding to the Cary operator ⁇ n . This will be specifically described.
  • the subdifferentiation of function D is
  • the Hessian matrix H G_1 (w), K G_1 , M G_1 has the following relationship.
  • Theorem 1 When the function G 1 is SC and LS, the Bregman resolvent operator R 1 has the following convergence rate.
  • ⁇ max, 1 and ⁇ min, 1 included in the equation (4-8) are given by the following equations.
  • ⁇ max represents the maximum eigenvalue
  • ⁇ min represents the minimum eigenvalue.
  • LS (upper bound) and SC (lower bound) of the function G 2 can be expressed as follows using an arbitrary vector h ⁇ R m .
  • Hessian matrices H G_2 (w), K G_2 , and M G_2 have the following relationship.
  • the coefficients ⁇ max, 2 and ⁇ min, 2 are given by the equations (4-18) and (4-19).
  • ⁇ 3 Variable update rule and convergence rate of generalized PR type monotone operator division, generalized DR type monotone operator division >>
  • the PR-type monotone operator partition and the DR-type monotone operator partition are derived by transforming the equation (1-2) using the Bregman resolvent operator and the Bregman-Cary operator.
  • the PR-type monotone operator division and the DR-type monotone operator division described here correspond to the generalization of the PR-type monotone operator division and the DR-type monotone operator division using Bregman divergence.
  • the generalized PR type monotone operator division and the generalized DR type monotone operator division are used.
  • [Generalized PR type monotone operator division] Equation (1-2) is transformed as follows.
  • Equation (4-22) is obtained by replacing the Cary operator in Equation (3-1) with the Bregmann-Cary operator.
  • Equation (4-37) is obtained by replacing the Cayley operator in Equation (3-2) with the Bregman Cayley operator.
  • the inverse matrix of the Hessian matrix H D of the function D is the inverse matrix of the Hessian matrix H G_i of the function G i .
  • equation (4-48) Substituting equation (4-48) into equation (4-1), which is the definition formula for Bregman divergence, yields:
  • the real number ⁇ > 0 corresponds to a parameter that determines the learning step size, and must be selected so that the eigenvalue of the Hessian matrix H D (2GD) is greater than 0 and less than or equal to 1.
  • Equation (4-50) the arithmetic mean is used in (case 2), but a geometric mean may be used instead of the arithmetic mean.
  • Equation (4-50) (formula (4-50 ')) shows that the case 1, has designed a Hessian matrix H D is divided into the case 2.
  • case 2 it is ideal to satisfy equation (4-47) for both functions G 1 and G 2 , but in practice this is difficult to ensure. Therefore, we decided to design Case 2 as shown in Equation (4-50) (Equation (4-50 ')).
  • Equation (4-50 ') The reason why this design is preferable is that the following mathematical properties hold for the Hessian matrix. This will be specifically described. First, to calculate the inverse matrix of the Hessian matrix H D.
  • the real number ⁇ > 0 corresponds to a parameter that determines the learning step size, and must be selected so that the eigenvalue of the Hessian matrix H D (AGD) is greater than 0 and less than or equal to 1.
  • Equation (4-51) the arithmetic mean is used in (case 2), but a geometric mean may be used instead of the arithmetic mean.
  • L G_1 and L G_2 are basically matrices assumed to be diagonal matrices, and are designed as follows in the RMSProp method.
  • L G_1, L G_2 need not necessarily be a diagonal matrix.
  • the design is as follows.
  • Equation (3-3) The recursive variable update rules corresponding to Equation (3-3) to Equation (3-6) are as follows.
  • Equation (4-54) corresponds to generalized P-R type monotone operator division
  • equation (4-55) corresponds to generalized D-R type monotone operator division
  • the Hessian matrix H D (z) and its inverse matrix H D ⁇ 1 (z) are both block diagonalization matrices as follows.
  • Expression (4-52) includes updating of the latent variable p and the dual variable w, and two methods described below can be considered for handling the latent variable p and the dual variable w.
  • Method 1 In this method, as in the conventional method, p is optimized using a penalty term and then w is optimized.
  • variable update rules of equations (4-52) to (4-55) are specifically expressed as follows.
  • Formula (4-54) and Formula (4-55) were divided into Formula (4-63), Formula (4-64), and Formula (4-65). This is because the variable can be updated asynchronously for each node.
  • the algorithm shown in FIG. 15 is obtained.
  • the Hessian matrix H D in the algorithm is preferably designed using the equation (4-50) or Formula (4-51).
  • Method 2 In this method, the dual variable w is updated, and the latent variable p is updated as necessary.
  • variable update rule is specifically expressed from the equations (4-68), (4-69), (4-54), and (4-55) as follows.
  • the algorithm shown in FIG. 16 is obtained.
  • the Hessian matrix H D in the algorithm is preferably designed using the equation (4-50) or Formula (4-51).
  • v i, u and s i, u are a set of input data and teacher data at node i
  • p i is a latent variable at node i.
  • p * is the optimum value of the latent variable p
  • p i t is the value of the latent variable at node i obtained by t updates
  • m p′V.
  • FIG. 18 shows the experimental results.
  • B-MOS (GD) is the conventional method (algorithm in FIG. 14)
  • B-MOS (AGD) is the method of the present application (algorithm in FIG. 16) when the Hessian matrix is designed by the acceleration gradient method (AGD)
  • MOS (2GD) indicates the method of the present application (algorithm in FIG. 16) when a Hessian matrix is designed by the Newton method.
  • D-ADMM represents another conventional method different from B-MOS (GD).
  • the method of the present application has a higher convergence rate than the conventional method.
  • the Hessian matrix is designed according to the Newton method, the highest convergence rate is obtained.
  • ⁇ 7 Expression using differentiation >> At the beginning of ⁇ 1: Definition of Bregman Resolvent and Bregman Cary Operators >>, it is assumed that function D is a narrowly convex function that can be differentiated.
  • the explanation that the description is “differentiation of function D” holds. In the following, an expression in which the sub-derivative is replaced with the derivative with respect to the main expression will be shown.
  • Bregman divergence B is defined as follows.
  • represents an operation that differentiates a function.
  • (Nature 1) and (Nature 2) of the narrowly convex function D can be expressed as follows. (Characteristic 1) When the second-order Taylor expansion is used, the following approximate expression is established for the function D around the point w.
  • the Bregman resolvent operator R n and the Bregman Cary operator C n are given by the following equations.
  • the Bregman resolver operator R n and the Bregman Cary operator C n become the resolvent operator ⁇ n and the Cayley operator ⁇ n , as in the case of using the sub-derivative.
  • the generalized P-R type monotone operator division is as follows, as in the case of subdifferentiation.
  • the generalized D-R type monotonic operator division is as follows, as in the case of subdifferentiation.
  • the function D is expressed by the quadratic expression of the expression (4-48) and substituted into the expression (4-1) * which is the definition expression of the Bregman divergence, thereby obtaining the following.
  • the Bregman-Cary operator C 2 satisfies the following expression.
  • the function G i is differentiable. That is, it is assumed that the differential ⁇ G i of the function G i exists. Even if not those that function G i is differentiable, e.g., for the function G i in the process, such as smoothing may be differentiable function, the function G i is also assumed to be differentiable problem Absent.
  • ⁇ D is updated at an arbitrary timing only when the condition expressed by the following formula is satisfied in order to satisfy that function D is strongly convex. Therefore, if the condition is not satisfied, ⁇ D is not updated.
  • the function D may be expressed by the following equation.
  • FIG. 19 is a block diagram showing a configuration of the latent variable learning apparatus 2-100.
  • FIG. 20 is a flowchart showing the operation of the latent variable learning apparatus 2-100.
  • the latent variable learning device 2-100 includes a model learning unit 2-120 and a recording unit 2-190.
  • Latent variable learning device 2-100 using the training data, (the m 1 or more integer) latent variable W ⁇ R m model to be machine learning to learn.
  • a model is a function that takes input data as input and output data as output.
  • Learning data means input data used to learn model latent variables or model latent variables.
  • the model learning unit 2-120 learns the latent variable w by a predetermined procedure using the learning data.
  • the procedure will be specifically described below. (Procedure 1)
  • a learning procedure using Bregman divergence will be described.
  • the model learning unit 2-120 calculates setup data used when learning the latent variable w using the learning data.
  • a cost function G (w): R m ⁇ R (where G (w) ⁇ i G i (w), function G i ) for optimizing the latent variable w, calculated using learning data
  • G (w) (where N is an integer of 2 or more and i is an integer satisfying 1 ⁇ i ⁇ N (that is, i is an index)).
  • w 2 ) D (w 1 ) -D (w 2 ) defined using the function D (where D: R m ⁇ R is a strictly convex function)
  • D the function D
  • D the model learning unit 2-120 stops w to minimize the cost function G (w)
  • the latent variable w is learned so that the Bregman divergence B D (B D (w
  • the function D is a narrowly convex function that can be arbitrarily designed.
  • the model learning unit 2-120 calculates setup data used when learning the latent variable w using the learning data.
  • G (w) the function D and functions G i blur is defined using grayed man resolvase Vento operator R i (1 ⁇ i ⁇ N ), the blur grayed man resolvase Vento operator R i
  • the Bregman-Cary operator C i (1 ⁇ i ⁇ N) defined by using is calculated as setup data.
  • the value of the latent variable w is recursively calculated using the Bregman resolvent operator R i (1 ⁇ i ⁇ N) and the Bregman Cary operator C i (1 ⁇ i ⁇ N).
  • t is a variable used for counting the number of updates (hereinafter also referred to as a counter)
  • the model learning unit 2-120 performs the Bregman Resolvent Operator R i (1 ⁇ i ⁇ N) and the Bregman Cary
  • the operator C i (1 ⁇ i ⁇ N) is used to recursively calculate w t + 1 that is the t + 1th update result of the latent variable w.
  • the counter t takes an integer value of 0 or more.
  • FIG. 21 is a block diagram showing the configuration of the model learning unit 2-120.
  • FIG. 22 is a flowchart showing the operation of the model learning unit 2-120. As shown in FIG.
  • the model learning unit 2-120 includes an initialization unit 2-121, a latent variable calculation unit 2-122, a first auxiliary variable calculation unit 2-123, and a second auxiliary variable calculation unit 2- 124, a third auxiliary variable calculation unit 2-125, a counter update unit 2-126, and an end condition determination unit 2-127.
  • model learning unit 2-120 The operation of the model learning unit 2-120 will be described with reference to FIG.
  • auxiliary variables x, y, z ⁇ R m of the latent variable w are used.
  • the latent variable calculation unit 2-122 uses the equation (5-1) to calculate the t + 1th update result of the latent variable w from the tth update result zt of the auxiliary variable z wt +. Calculate 1
  • the first auxiliary variable calculation unit 2-123 obtains the t + 1th update result of the auxiliary variable x from z t used in S122 and w t + 1 calculated in S122, using Equation (5-2). Calculate some x t + 1 .
  • the second auxiliary variable calculation unit 2-124 calculates y t + 1 that is the t + 1th update result of the auxiliary variable y from x t + 1 calculated in S123, using Expression (5-3). To do.
  • the third auxiliary variable calculator 2-125 calculates z t + 1 that is the t + 1th update result of the auxiliary variable z. This will be specifically described.
  • the third auxiliary variable calculation unit 2-125 uses the equation (5-4) to calculate the auxiliary variable from x t + 1 calculated in S123 and y t + 1 calculated in S124. to calculate the z t + 1 is the t + 1 th update the results of z.
  • the third auxiliary variable calculation unit 2-125 uses z t used in S122 and x t + 1 calculated in S123 and S124 using Equation (5-5).
  • Z t + 1 which is the t + 1th update result of the auxiliary variable z is calculated from the calculated y t + 1 (where ⁇ is a real number satisfying 0 ⁇ ⁇ 1).
  • the counter update unit 2-126 increments the counter t by 1. Specifically, t ⁇ t + 1.
  • the function D may be a function that satisfies the following conditions.
  • the function D is a function whose Hessian matrix is close to the inverse of the Hessian matrix of the function G i (w).
  • the function D is a function such that the product of the inverse matrix of the Hessian matrix and the Hessian matrix of the function G i (w) is close to the unit matrix”.
  • the Hessian matrix of the function D may be calculated as follows according to the Newton method or the acceleration gradient method.
  • the function G 1 is a strictly convex function, that is, strongly convex (SC) and Lipschitz smoothing (LS).
  • Equation (5-6) and Equation (5-8) follow the Newton method
  • Equation (5-7) and Equation (5-9) follow the acceleration gradient method.
  • the matrices L G_1 and L G_2 are matrices given by Expressions (5-10) and (5-11).
  • the matrices L G_1 and L G_2 are matrices given by the equations (5-12) and (5-13).
  • the matrix L G — 1 in Expression (5-10) and Expression (5-12) is a matrix calculated using the gradient of the function G 1 (w). Further, the matrix L G_2 of formula (5-11) and (5-13) is a matrix that is calculated by using the gradient of the function G 2 (w).
  • the function G 1 (w) and the function G 2 (w) are strictly convex functions. However, the functions are not necessarily strictly strictly convex functions. . In other words, even when the function G 1 (w) or the function G 2 (w) may be treated as a narrowly convex function, the Hessian matrix of the function D is obtained by the equations (5-6) to (5-9). Can be calculated. More specifically: [Case 1]: The function G 1 is a strictly convex function (strongly convex (SC) and Lipschitz smoothing (LS)) or a narrowly convex function (strongly convex (SC) and Lipschitz smoothing (LS) ).
  • the Hessian matrix of the function D can be calculated by the equations (5-6) and (5-7).
  • G 1 and G 2 are a narrowly convex function (strongly convex (SC) and Lipschitz smoothing (LS)) or a narrowly convex function (strongly convex (SC) and When it can be assumed that it is Lipschitz smoothing (LS).
  • the Hessian matrix of the function D can be calculated by the equations (5-8) and (5-9).
  • the sub-differentiation is used.
  • a differentiation may be used instead of the sub-differentiation.
  • the following equation may be used instead of equations (5-1) to (5-5).
  • ⁇ D when using differentiation, ⁇ D may be updated under the condition expressed by the following equation.
  • ⁇ D shall be updated at an arbitrary timing only if the conditions expressed by the following formula are satisfied.
  • the invention of this embodiment it is possible to learn a latent variable of a model that is a target of machine learning at high speed.
  • a variable update rule based on monotone operator division using Bregman Resolvent operators and Bregman Cary operators, convergence to a stationary point (optimal solution) is fast.
  • the latent variable can be updated so that It is also based on monotonic operator division using Bregman Resolvent and Bregman Cary operators, so that the convex function used to define Bregman divergence can be configured appropriately to speed up convergence to the stopping point.
  • Variable update rules can be configured.
  • FIG. 23 is a block diagram showing a configuration of the latent variable learning system 2-20.
  • the latent variable learning system 2-20 includes V (V is an integer of 1 or more) latent variable learning devices 2-200 1 ,..., 2-200 V.
  • Each latent variable learning device 2-200 i is connected to the network 2-900 and communicates with the latent variable learning device 2-200 j (j ⁇ i) as necessary.
  • the network 2-900 for example, the Internet can be used.
  • FIG. 24 is a block diagram showing a configuration of the latent variable learning apparatus 2-200.
  • the latent variable learning device 2-200 includes a model learning unit 2-220, a communication unit 2-280, and a recording unit 2-290.
  • the latent variable learning device 2-200 i uses the learning data to learn a latent variable p i ⁇ R p ′ (p ′ is an integer of 1 or more) of a model to be machine-learned.
  • the learning data may be common to all the latent variable learning devices 2-200 i , or may be different for each latent variable learning device 2-200 i .
  • FIG. 25 is a block diagram showing the configuration of the model learning unit 2-220.
  • FIG. 26 is a flowchart showing the operation of the model learning unit 2-220.
  • the model learning unit 2-220 includes an initialization unit 2-221, a latent variable calculation unit 2-222, a first dual variable calculation unit 2-223, and a synchronization variable update unit 2-224. And a second dual variable calculation unit 2-225, a counter update unit 2-226, and an end condition determination unit 2-227.
  • model learning unit 2-220 The operation of the model learning unit 2-220 will be described with reference to FIG. Before entering a specific description, some symbols will be described. These symbols have been used in the discussion so far, and the following description corresponds to the summary.
  • N (i) represents an index set of the latent variable learning device 2-200 group communicating with the latent variable learning device 2-200 i .
  • the function F 1, i (p i ): R p ′ ⁇ R is a cost function for optimizing the latent variable p i calculated using the training data (where F 1, i (p i ) is Closed true convex function).
  • j , ⁇ i are variables of the latent variable learning device 2-200 i for storing data transmitted from the latent variable learning device 2-200 j (where j ⁇ N (i)). .
  • j and ⁇ i are also referred to as synchronization variables.
  • t is a variable (hereinafter also referred to as a counter) for counting the number of updates of the variable, and ⁇ ( ⁇ is an integer of 1 or more) is a predetermined number of updates. This ⁇ represents the upper limit of the number of repetitions of S222 to S225 described later.
  • the latent variable learning system 2-20 includes the latent variable learning device S i (i ⁇ v), and the latent variable learning device S i (i ⁇ v) uses the learning data to perform the latent variable according to a predetermined procedure. Learn p i . The procedure will be described below with reference to FIG.
  • the initialization unit 2-221 calculates setup data.
  • the cost function F 1, i (p i ) is an example.
  • the latent variable calculating section 2-222 is the following equation, dual variable z i
  • the first dual variable calculation unit 2-223 calculates the dual variable ⁇ i for j ⁇ N (i) from z i
  • j represents the Hessian matrix of the function D i
  • the synchronization variable updating unit 2-224 uses the communication unit 2-280 to set the value obtained by learning of the latent variable learning device S j (j ⁇ N (i)) to the variable ⁇ i according to the following equation.
  • j , ⁇ i (j ⁇ N (i)) is received as ⁇ i
  • the second dual variable calculation unit 2-225 is the t + 1th update result of the dual variable z i
  • is a real number satisfying 0 ⁇ ⁇ 1.
  • equation (6-1) corresponds to the case where generalized P-R type monotone operator division is used
  • equation (6-2) corresponds to the case where generalized DR type monotone operator division is used.
  • the counter update unit 2-226 increments the counter t by 1. Specifically, t ⁇ t + 1.
  • the termination condition determination unit 2-227 determines the latent variable p i at that time.
  • the value p i ⁇ is output and the process is terminated. Otherwise, the process returns to S222. That is, the model learning unit 2-220 repeats the calculations of S222 to S225. Note that z i
  • j is preferably designed using the equations (5-6) to (5-9). (Modification 1)
  • the above procedure corresponds to the algorithm of FIG.
  • a procedure corresponding to the algorithm of FIG. 16 will be described.
  • the variable ⁇ i is not used.
  • the latent variable learning device 2-200 includes a model learning unit 2-230 instead of the model learning unit 2-220, as shown in FIG.
  • the model learning unit 2-230 will be described below with reference to FIGS.
  • FIG. 27 is a block diagram showing a configuration of the model learning unit 2-230.
  • FIG. 28 is a flowchart showing the operation of the model learning unit 2-230.
  • the model learning unit 2-230 includes an initialization unit 2-231, a first dual variable calculation unit 2-232, a latent variable calculation unit 2-233, and a synchronization variable update unit 2-234. And a second dual variable calculation unit 2-235, a counter update unit 2-236, and an end condition determination unit 2-237.
  • model learning unit 2-230 The operation of the model learning unit 2-230 will be described with reference to FIG.
  • j represents a Hessian matrix of the function D i
  • H F_1, i represents a Hessian matrix of the function F 1, i . That is, H D — i
  • ⁇ F 1, i represents the sub-derivative of the function F 1, i .
  • the latent variable calculation unit 2-233 calculates p i t + 1 that is the t + 1th update result of the latent variable p i by the following equation.
  • j t represents the t-th update result of the dual variable w i
  • the synchronization variable updating unit 2-234 uses the communication unit 2-280 to set the value obtained by learning of the latent variable learning device S j (j ⁇ N (i)) to the variable ⁇ i according to the following equation.
  • j (j ⁇ N (i)) is received as ⁇ i
  • the second dual variable calculation unit 2-225 is the t + 1th update result of the dual variable z i
  • is a real number satisfying 0 ⁇ ⁇ 1.
  • equation (6-1) corresponds to the case where generalized P-R type monotone operator division is used
  • equation (6-2) corresponds to the case where generalized DR type monotone operator division is used.
  • the counter update unit 2-236 increments the counter t by 1. Specifically, t ⁇ t + 1.
  • the termination condition determination unit 2-237 determines the latent variable p i at that time.
  • the value p i ⁇ is output and the process is terminated. Otherwise, the process returns to S232. That is, the model learning unit 2-230 repeats the calculations of S232 to S235. Note that z i
  • j is preferably designed using the equations (5-6) to (5-9).
  • the invention of this embodiment it is possible to learn a latent variable of a model that is a target of machine learning at high speed.
  • a variable update rule based on monotone operator division using Bregman Resolvent operators and Bregman Cary operators, convergence to a stationary point (optimal solution) is fast.
  • the latent variable can be updated so that It is also based on monotonic operator division using Bregman Resolvent and Bregman Cary operators, so that the convex function used to define Bregman divergence can be configured appropriately to speed up convergence to the stopping point.
  • Variable update rules can be configured.
  • the apparatus of the present invention includes, for example, a single hardware entity as an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected, and a communication device (for example, a communication cable) capable of communicating outside the hardware entity Can be connected to a communication unit, a CPU (Central Processing Unit, may include a cache memory or a register), a RAM or ROM that is a memory, an external storage device that is a hard disk, and an input unit, an output unit, or a communication unit thereof , A CPU, a RAM, a ROM, and a bus connected so that data can be exchanged between the external storage devices.
  • the hardware entity may be provided with a device (drive) that can read and write a recording medium such as a CD-ROM.
  • a physical entity having such hardware resources includes a general-purpose computer.
  • the external storage device of the hardware entity stores a program necessary for realizing the above functions and data necessary for processing the program (not limited to the external storage device, for example, reading a program) It may be stored in a ROM that is a dedicated storage device). Data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device.
  • each program stored in an external storage device or ROM or the like
  • data necessary for processing each program are read into a memory as necessary, and are interpreted and executed by a CPU as appropriate.
  • the CPU realizes a predetermined function (respective component requirements expressed as the above-described unit, unit, etc.).
  • the processing functions in the hardware entity (the device of the present invention) described in the above embodiment are realized by a computer, the processing contents of the functions that the hardware entity should have are described by a program. Then, by executing this program on a computer, the processing functions in the hardware entity are realized on the computer.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
  • a magnetic recording device a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only) Memory), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording media, MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.
  • this program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads the program stored in its own storage device and executes the process according to the read program.
  • the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially.
  • the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition. It is good.
  • the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • the hardware entity is configured by executing a predetermined program on the computer.
  • a predetermined program on the computer.
  • at least a part of these processing contents may be realized in hardware.

Landscapes

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

Abstract

例えばスケーラブルDNN、マルチタスクDNNを実現するための技術を提供する。ニューラルネットワークシステムは、複数のモデルを含むニューラルネットワークシステムであって、複数のモデルのそれぞれは、複数の層を含むDNNであり、複数のモデルの一部又は全部は、モデル変数の一部又は全部が等価であるかまたは共通している層(以下、「共有層」という)を少なくとも1個含み、かつ、モデル変数が等価でも共通でもない層(以下、「非共有層」という)を少なくとも1個含んでいるモデル変数。

Description

ニューラルネットワークシステム、ニューラルネットワーク方法、プログラム
 本発明は、機械学習の技術に関する。
 近年、機械学習がブームになっており、収集したデータと出力したい情報の間の写像(mapping)を、データと教師データを用いた学習により得るフレームワークが一般的になってきている。なお、教師データに代えて、コスト関数が用いられる場合もある。
 Deep Neural Network (DNN)を用いて写像が記述されたモデルは、通常、End-to-Endモデルと呼ばれている。End-to-Endモデルでは、入力と出力だけが与えられ、その間の関係はブラックボックスとして見なして、入出力の関係がDNNで記述される。DNNの生成技術として、非特許文献1に記載された技術が知られている。
 従来のEnd-to-Endモデルでは、入出力の関係がブラックボックス化されており、ネットワーク上には同じ入出力のDNNが直接または間接的に繋がれた状態で存在するものの、それぞれのDNNは独立して動作している。例えば、インターネット上には音声信号を入力としてその音声信号に対応する文字列を出力する音声認識DNNが複数存在しているが、それぞれの音声認識DNNは、独立してDNNの学習を行い、独立して学習したDNNを用いて音声認識を行っている。1つの装置内で複数のDNNを動作させる場合も同様である。例えば、1つのPC上で音声を認識して認識結果を出力するタスクのDNNと音声に対する応答を生成して出力するタスクのDNNとを動作させる場合、これらのDNNは1つのPC上で動作するものの独立して動作している。
 次に、機械学習の対象となるモデルの潜在変数を学習する際に扱うコストの最小化問題を考える。この最小化問題は、以下のように定式化される。
(問題)
 コスト関数Gは、関数G1と関数G2に加法分割されるものとする。ただし、関数G1, G2はいずれも閉真凸関数であるものとする(以後、閉真凸関数のことを単に凸関数という)。
Figure JPOXMLDOC01-appb-M000001
 ここで、w∈Rm(mは1以上の整数)、Gi:Rm→R∪{∞} (i=1, 2)である。つまり、wは、m次元実ベクトル空間Rmの要素であり、Giは、m次元実ベクトルwを入力とし、(1次元の)実数を出力する関数である。
 なお、Giの入力は、ベクトルであるとしたが、行列やテンソルであってもよい。行列やテンソルはベクトルを用いて表現することができるので、以下、Giの入力はベクトルであるものとして話を進める。
 コストGを最小化するように潜在変数wを最適化する問題は、以下のように表される。
Figure JPOXMLDOC01-appb-M000002
 この問題の最適解w*(wの停留点ともいう)は、コストGの劣微分が0ベクトル(零ベクトル)を含むときに得られる。
Figure JPOXMLDOC01-appb-M000003
 ここで、∂Giは、Giの劣微分を表す。なお、入力と出力が1対1対応となる等号を表す記号”=“の代わりに、記号“∈”を用いるのは、凸関数Giが不連続点を含む場合、その劣微分は不連続点において多点出力対応となるためである。
 最適解w*を求める従来方法を説明する前に、式(1-1)に従う具体的問題をいくつか挙げる。
《具体的問題1:エッジコンピューティングにおける合意形成問題》
 V個のノードが任意に接続されたグラフG(v, e)(ただし、vはノードの集合、eはエッジの集合である)を考える。
Figure JPOXMLDOC01-appb-M000004
 ここで、N(i)はi番目のノードに接続されたノード群のインデックスの集合を表す。
 図12は、V個のノード(サーバ)がエッジ構造eに従って繋がっている状態(V=5の場合)を示す。各ノードに蓄積された膨大なデータをノード間で交換するのではなく、潜在変数やその補助変数(例えば、双対変数)を交換しながら全体最適化する問題がエッジコンピューティングにおける合意形成問題である。
 i番目のノードにある凸関数で表現されたコストを以下のように表す。
Figure JPOXMLDOC01-appb-M000005
 ここでは、問題の理解を容易にするために、コストF1,iの具体例として、教師データsiに対する二乗誤差を用いることにする。
Figure JPOXMLDOC01-appb-M000006
 ここで、Tは転置、||・||pはLpノルムを表す。また、u(i)={1,…,U(i)}である。
 このコストF1,iは、p’次元ベクトルvi∈Rp’を入力データとし、教師データsiを出力するように、U(i)個のデータの組(vi,u, si,u)を用いて、潜在変数pi(pi∈Rp’)を最適化する問題のコスト関数である。ノードによってデータやその数U(i)が異なることをインデックスが示している。一般に、各ノードに蓄積されたデータは異なるが、同一であってもよい。なお、入力データと教師データの組のことを学習データという。また、以下、m=p’Vとする。
 この例では、教師データを用いる形で定式化したが、教師データを用いることなく定式化することもできる。
 また、同一のロケーションにある複数のサーバによる並列コンピューティングについても、上記合意形成問題と同一の問題として定式化できる。例えば、多数のコンピュータを使って並列計算をして、音声認識、画像認識などのモデルを高速に学習するような場合が該当する。この場合、各サーバに蓄積されるデータセットは基本的には同一になる。
 合意形成問題では、ノード間で潜在変数pの値が同一になるように制約しながら、コストを最小化する停留点を探すことになる。
Figure JPOXMLDOC01-appb-M000007
 ここで、pi∈Rp’、Ai|j∈Rp’×p’である。Ai|jは合意形成を表現するp’×p’の実数行列である。この行列Ai|jとして任意の行列を用いることができるが、”ノード間で潜在変数の値が同一になるように学習を進めたい”という意図がある場合、例えば、以下のような簡単な行列を用いることができる。
Figure JPOXMLDOC01-appb-M000008
 ここで、Iは単位行列である。
 式(2-1)のような線形拘束下でのコスト最小化問題を解く場合、ラグランジュの未定乗数法を用いることが多い。双対変数νi,j∈Rp’を用いて、ラグランジュ関数Lを以下のように定義する。
Figure JPOXMLDOC01-appb-M000009
 式(2-1)を解くことは、以下の式(2-2)の問題(主問題)を解くことに対応する。しかし、この問題を直接解くことは困難な場合が多い。
 F1,iが閉真凸関数であるとき、強双対性が成立する、つまり、最適点において式(2-2)と式(2-3)間の統合性が成り立つので、式(2-2)を解く代わりに、式(2-3)の問題(双対問題)を解くことが一般的である。
Figure JPOXMLDOC01-appb-M000010
 ここで、F1,i *は、凸関数F1,iの凸共役関数を表す。
Figure JPOXMLDOC01-appb-M000011
 F1,iが凸関数である場合、F1,i *も凸関数になる。
 式(2-4)は、凸関数F1,i *を最小化する双対変数νi,jを探す問題を表している。式(2-1)を解くためには、式(2-4)を解けばよいが、式(2-4)の形式のままでは、ノードごとに非同期で潜在変数を更新するような処理を実現することができない。そこで、双対変数νi,jをノードごとに帰属するようにリフティング処理を行う。具体的には、双対変数νi,jをi番目のノードに帰属する双対変数λi|j∈Rp’とj番目のノードに帰属する双対変数λj|i∈Rp’の2つに分け、これらの変数が一致するという制約を入れる。
Figure JPOXMLDOC01-appb-M000012
 図13A及び図13Bは、双対変数のリフティング処理の様子を示す図である。図13Aは、ノードiとノードjの合意形成における誤差を制御しているのが変数νi,jであることを表している。しかし、このままではi番目の潜在変数とj番目の潜在変数を同期しながら更新しなければならない。そこで、i番目の潜在変数とj番目の潜在変数を非同期でも更新できるようにするために、図13Aでは無方向であったエッジを、図13Bのように方向性のある2つのエッジに書き換える。この2つのエッジは1つの無方向のエッジから生成されたものであるので、一致するという制約が必要になるが、変数更新における同期性の問題を解決することができる。
 双対変数のリフティング処理により、式(2-4)の問題は、以下の問題(線形拘束付の最適化問題)に書き換えられる。
Figure JPOXMLDOC01-appb-M000013
 V個に分けて書いていた変数群をベクトルや行列を用いて表現することにより、式(2-5)は以下のように表現する。もちろん、式の意味は変わることなく、同一の問題を表している。
Figure JPOXMLDOC01-appb-M000014
 ここで、凸共役関数F1 *は、次式のようになる。
Figure JPOXMLDOC01-appb-M000015
 なお、F1:Rm→R∪{∞}, F1 *:Rm→R∪{∞}(m=p’V)である。
 また、V個のノードごとに分けて書いていた変数群(つまり、pi, λi|j, Ai|j)は以下のようになる。
Figure JPOXMLDOC01-appb-M000016
 ここで、さらに、リフティング処理された双対変数が一致するという制約を記述するにあたって、変数が一致するという観点で適切な性質をもつ指示関数F2を用いることにする。指示関数F2を用いると、式(2-6)の問題は、以下の問題に帰着する。
Figure JPOXMLDOC01-appb-M000017
 ここで、指示関数F2は、以下のように定義される。
Figure JPOXMLDOC01-appb-M000018
 ここで、Pは順序入替行列(パーミュテーション行列)である。順序入替行列Pの要素はすべて0または1であり、P2=Iという性質を持つ。行列Pをベクトルλにかけることは、以下のようにノードiとノードjの間のエッジに対応する双対変数λi|j, λj|iを入れ替える処理(λj|i⇔λi|j)に相当する。
Figure JPOXMLDOC01-appb-M000019
 ここで、式(2-7)に対して以下のようなに置き換えを適用することにより、エッジコンピューティングにおける合意形成問題(つまり、式(2-7))が式(1-1)に帰着することがわかる。
Figure JPOXMLDOC01-appb-M000020
 また、別の例として以下のようなものがある。
《具体的問題2:画像/音声/言語の認識タスクにおける汎用モデル生成問題》
 画像/音声/言語等の認識タスクにおける汎用モデルを生成するための方法として、以下のようなコストを用いて潜在変数pを学習させることが有用であることが知られている(参考非特許文献2-1)。
(参考非特許文献2-1:V. Vapnik, “Principles of Risk Minimization for Learning Theory”, Advances in Neural Information Processing Systems 4 (NIPS1991), pp.831-838, 1992.)
Figure JPOXMLDOC01-appb-M000021
 ここで、p∈Rmは潜在変数、λ∈Rmは双対変数、A=[a1, …, an]T∈Rn×mは入力データを表す。
 式(2-8)に対して以下のようなに置き換えを適用することにより、画像/音声/言語の認識タスクにおける汎用モデル生成問題(つまり、式(2-8))は式(1-1)に帰着することがわかる。
Figure JPOXMLDOC01-appb-M000022
 また、式(2-9)に対しても以下のようなに置き換えを適用することにより、式(1-1)に帰着することがわかる。
Figure JPOXMLDOC01-appb-M000023
 例えば、F1には二乗誤差やクロスエントロピーを用い、F2には正則化項としてL1ノルムを用いることができる。もちろん、F1、F2はこれに限るものではない。
Figure JPOXMLDOC01-appb-M000024
 ここで、sは、所望する出力情報の教師データである。なお、aiは、上述の入力データA=[a1, …, an]T∈Rn×mを構成するベクトルである。
 なお、認識タスク以外のタスク、例えば、画像/音声の雑音除去にも用いることができる。
《最適解w*を求める従来方法》
 ここでは、従来の解法について簡単に説明する。先述したように解くべき問題は式(1-1)である。また、式(1-1)で表される問題の最適解w*(wの停留点)は、式(1-2)が示すように、コストGの劣微分が0ベクトル(零ベクトル)を含むときに得られる。なお、Giが凸関数である場合、Giの劣微分∂Giは単調作用素となる。
 式(1-2)を解いて最適解w*を求めるために、劣微分を連続線形写像に変換する。この変換方法のことを単調作用素分割法(Monotone operator splitting)という(非特許文献2)。なお、単調作用素分割は単調作用素分解ともいう。単調作用素分割法には様々な方法が存在するが、ここでは、再帰的な変数更新に伴うコストの非拡大性(つまり、変数を更新するにつれて、コストが縮小していくという性質)を担保することができるPeaceman-Rachford(P-R)型とDouglus-Rachford(D-R)型の2種類の単調作用素分割法について説明する。
 具体的な導出手続きについては省略するが、式(1-2)を変形していくと、P-R型単調作用素分割とD-R型単調作用素分割が得られる。なお、変形に際して、リゾルヴェント作用素Ωnとケーリー作用素Ψnを用いる(n=1, 2)。
Figure JPOXMLDOC01-appb-M000025
 ただし、Iは同一作用素、-1は逆作用素を表す。
 また、w(w∈Rm)の補助変数z(z∈Rm)を導入する。その関係は以下のようにリゾルヴェント作用素で接続される。
Figure JPOXMLDOC01-appb-M000026
 P-R型単調作用素分割、D-R型単調作用素分割は、それぞれ式(3-1)、式(3-2)で表される。
Figure JPOXMLDOC01-appb-M000027
 式(3-1)と式(3-2)をみると、P-R型単調作用素分割に平均化作用素を導入することで、D-R型単調作用素分割が得られることがわかる。
 以下、エッジコンピューティングにおける合意形成問題を例として、式(3-1)、式(3-2)から得られる再帰的な変数更新則である変数更新アルゴリズムについて説明する。この合意形成問題は、以下の式(2-7)のλをwで置き換えたもので表される。
Figure JPOXMLDOC01-appb-M000028
 このとき、リゾルヴェント作用素Ω2とケーリー作用素Ψ2は次のようになる。
Figure JPOXMLDOC01-appb-M000029
 ここで、上記指示関数F2を用いる場合、ケーリー作用素Ψ2は順序入替行列Pに対応することが非特許文献3に示されている。
 式(3-1)、式(3-2)を再帰的な変数更新則として表現すると、以下のようになる。式(3-5)が式(3-1)のP-R型単調作用素分割に、式(3-6)が式(3-2)のD-R型単調作用素分割に対応する。
Figure JPOXMLDOC01-appb-M000030
 ここで、変数w, λ, z(w∈Rm, λ∈Rm, z∈Rm, m=p’V)はリゾルヴェント作用素やケーリー作用素を通して得られる変数であり、いずれも双対変数である。また、tは更新回数を表す変数である。
 関数F1 *の定義からわかるように、式(3-3)には潜在変数pと双対変数wの更新が含まれている。これらの変数を更新するための方法として、非特許文献3に記載の方法を説明する。式(3-3)を以下のように変形していく。
Figure JPOXMLDOC01-appb-M000031
 なお、上記変形で第2式から第3式を導出する際、積分形を用いた。
 F1 *は潜在変数pの最適化計算を含むため、式(3-7)を解く方法は、2種類ある。ここでは、まず潜在変数pを最適化し、pをその最適値に固定したうえで、双対変数wを最適化する方法を導出することにする。潜在変数pを逐次最適化計算する(つまり、ptからpt+1を計算する)ため、pに関する罰則項をF1 *に含まれるコストに加えて計算する。
Figure JPOXMLDOC01-appb-M000032
 ここで、式(3-8)の右辺のargminの中の第3項が罰則項であり、γ>0である。罰則項を用いることで潜在変数pの逐次最適化計算が可能になる。
 次に、潜在変数pを固定したうえで、式(3-7)に含まれる双対変数wの最適化を行う。
Figure JPOXMLDOC01-appb-M000033
 また、式(3-4)は以下のように計算できる。
Figure JPOXMLDOC01-appb-M000034
 式(3-10)からわかるように、wを用いることなく、λを計算できるようになる。
 以上まとめると、再帰的な変数更新則(式(3-3)~式(3-6))は、以下のようになる。
Figure JPOXMLDOC01-appb-M000035
 この更新則をノードごとに変数を更新できるようにすると、図14に示すアルゴリズムが得られる。なお、Transmitj→i{・}はノードjからノードiへ変数を送信する演算を表す。
斎藤 康毅(著),「ゼロから作るDeep Learning――Pythonで学ぶディープラーニングの理論と実装」,オライリー・ジャパン,2016年09月発行. E. K. Ryu and S. Boyd, "Primer on Monotone Operator Methods", Appl. Comput. Math., 15(1):3-43, 2016. T. Sherson, R. Heusdens, W. B. Kleijn, "Derivation and Analysis of the Primal-Dual Method of Multipliers Based on Monotone Operator Theory", https://arxiv.org/abs/1706.02654, 2017.
 まず、第1の課題について説明する。
 直接または間接的に繋がれた状態で存在する複数の写像について、潜在変数のやりとりを行って最適化する技術としては、エッジコンピューティングにおける合意形成アルゴリズム(コンセンサスアルゴリズム)がある。
 しかしながら、多くの合意形成アルゴリズムでは、コスト関数を凸関数として扱っている場合にのみ適用可能な技術として構築されているので、コストが非凸関数であるDNNについては、複数のモデル間でモデル変数が共有されているものはこれまで提案されていなかった。このため、例えばスケーラブルDNN、マルチタスクDNNネットワーク上に直接または間接的に繋がれた状態で存在する場合でも同じ装置上に存在する場合でも、同じタスクであっても異なるタスクであっても、複数のDNNの間でモデル変数の共有を実現することができなかった。
 これが第1の課題である。
 次に、第2の課題について説明する。
 従来の変数更新則は、リゾルヴェント作用素やケーリー作用素を用いた単調作用素分割に基づき生成したものである。この従来の変数更新則では、場合によっては、最適解への収束に時間がかかるという問題があった。つまり、潜在変数の学習に時間がかかるという問題があった。
 これが第2の課題である。
 そこで本発明では、複数のDNNの間でモデル変数の共有を実現する技術を提供することを目的とする。
 本発明の一態様は、複数のモデルを含むニューラルネットワークシステムであって、複数のモデルのそれぞれは、複数の層を含むDNNであり、複数のモデルの一部又は全部は、モデル変数の一部又は全部が等価であるかまたは共通している層(以下、「共有層」という)を少なくとも1個含み、かつ、モデル変数が等価でも共通でもない層(以下、「非共有層」という)を少なくとも1個含んでいる。
 本発明によれば、例えば後述するスケーラブルDNN及びマルチタスクDNNを実現することができる。
技術的背景を説明するための図である。 技術的背景を説明するための図である。 モデル生成装置の例を説明するためのブロック図である。 モデル生成方法の例を説明するための流れ図である。 ニューラルネットワーク計算システムの例を説明するためのブロック図である。 ニューラルネットワーク計算システム及び方法の例を説明するための図である。 ニューラルネットワーク計算システム及び方法の例を説明するための図である。 ニューラルネットワーク計算システム及び方法の例を説明するための図である。 ニューラルネットワーク計算システム及び方法の例を説明するための図である。 ニューラルネットワーク計算システム及び方法の例を説明するための図である。 ニューラルネットワークシステムの例を説明するためのブロック図である。 エッジコンピューティングの一例を示す図である。 双対変数のリフティング処理の様子を示す図である。 双対変数のリフティング処理の様子を示す図である。 エッジコンピューティングにおける合意形成問題に関する従来の変数更新アルゴリズムを示す図である。 エッジコンピューティングにおける合意形成問題に関する本願の変数更新アルゴリズムを示す図である。 エッジコンピューティングにおける合意形成問題に関する本願の変数更新アルゴリズムを示す図である。 実験で用いた分散計算器の構成を示す図である。 実験結果を示す図である。 潜在変数学習装置2-100の構成を示すブロック図である。 潜在変数学習装置2-100の動作を示すフローチャートである。 モデル学習部2-120の構成を示すブロック図である。 モデル学習部2-120の動作を示すフローチャートである。 潜在変数学習システム2-20の構成を示すブロック図である。 潜在変数学習装置2-200の構成を示すブロック図である。 モデル学習部2-220の構成を示すブロック図である。 モデル学習部2-220の動作を示すフローチャートである。 モデル学習部2-230の構成を示すブロック図である。 モデル学習部2-230の動作を示すフローチャートである。
 以下、図面を参照して、この発明の一実施形態である第1実施形態について説明する。
 上述した通り、この発明の目的は、異なる複数のDNNでの一部のモデル変数の共有を実現するための技術を提供することである。まず、異なる複数のDNNで一部のモデル変数を共有する技術の適用先の例として下記の(例1)と(例2)について説明する。
 (例1)は、少なくとも2個以上のDNNにおいて、DNNの層の数はそれぞれ異なるものの、同じタスクのDNNであり(すなわち、DNNの入力が等価であり、かつ、DNNの出力も等価であり)、あるDNNのうちの何れか1層と別のDNNのうちの何れか1層との間でモデル変数を共有するシステムである。以下ではこのシステムを「スケーラブルDNN」または「スケーラブルなDNN」と呼ぶ。一般的にDNNは、層の数を増やすほど、複雑な写像を形成できるので、結果の精度が高くなる傾向があるが、全体の計算量が高くなる。計算量に制約があり、その制約が時刻によって変わるような状況で、ベストな結果を出すためには、スケーラブルなDNNであることが望ましい。例えば、同一のタスクに対して、3層だと70%の認識率、10層だと80%の認識率、100層だと95%の認識率を出せるとして、それらのDNNを構成する変数の一部が互いに重複しているケースがこの「スケーラブルDNN」に相当する。
 (例2)は、関連する部分を含むもののタスク自体はそれぞれ異なる少なくとも2個以上のDNNにおいて、あるDNNのうちの何れか1層と別のDNNのうちの何れか1層との間で、モデル変数を共有する、または、層自体を共有する、システムである。以下ではこのシステムを「マルチタスクDNN」または「マルチタスクなDNN」と呼ぶ。マルチタスクDNNに含まれる複数のDNNの組合せの例は、DNNの入力が等価であるもののDNNの出力が等価でない組合せ、DNNの入力は等価ではないもののDNNの出力が等価である組合せ、DNNの入力の一部は等価あるのもののDNNの入力の残りは等価ではない組合せ、DNNの出力の一部は等価あるのもののDNNの出力の残りは等価ではない組合せ、などである。例えば、音声を認識して認識結果を出力するタスク、同じ音声に対する応答を生成して出力するタスク、同じ音声に対するロボットの動きを生成して出力するタスク、などの複数の関連するタスクが出力となるシステムが「マルチタスクDNN」に相当する。これらのタスクは互いに関連しているので、それぞれのタスクを独立にこなすEnd-to-Endモデル(この場合は、音声の認識、音声に対する応答の生成、及び、音声に対するロボットの動きの生成、のそれぞれの処理に対応する3種類のモデル)を構成するよりは、最後の出力を分岐させるようなDNN構造(マルチタスクDNN構造)であったほうが自然法則に近いと考えられ、また、これにより、全体の計算量が減ることも予想される。
<技術的背景>
 以下、I個の独立したEnd-to-EndのDNNモデルの生成方式について説明する。Iは、所定の2以上の整数である。1つの例題として、多クラス分類問題を取り上げる。i番目のモデルにおいて、最小化すべきコスト関数(クロスエントロピー)を定義する。
Figure JPOXMLDOC01-appb-M000036
 ここで、Eiは、モデルi(i=1,…,I)のコスト関数である。この例のように、一般にDNNにおけるコスト関数は、非凸関数である。wi,j,kは、DNNモデルの主変数であり、より詳細にはモデルiのj個目の層のノードkに対する重み係数ベクトルである。以下、wi,j,kのことを、主変数と呼ぶこともあれば、モデル変数と呼ぶこともある。Bは、分類クラスの数であり、所定の正の整数である。Dは、データの数であり、所定の正の整数である。Si,b,dは、モデルiの、クラスbに対するラベル付き教師データである。なお、全てのモデルにおいて共通のラベル付き教師データを用いてもよい。この場合、Si,b,dのインデックスiは不要である。Pi,b,dは、DNNが出力するモデルiのb番目のクラスに対する確率値である。なお、全てのモデルにおいて共通の確率値を用いてもよい。この場合、Pi,b,dのインデックスiは不要である。
 ここで、モデルのインデックスの集合である~I、モデルiを構成する層を表すインデックスの集合である~J(i)、モデルiのj個目の層のノードを表すインデックスの集合である。J(i)は、モデルiの層の数であり、所定の正の整数である。~Iは、Iの上に「~」が付されていることを表す。~J(i,j),~K(i,j),~N(i,j)等についても同様である。
 ~K(i,j)は、以下のように定義される。K(i,j)は、モデルiのj個目の層のノードの数であり、所定の正の整数である。
Figure JPOXMLDOC01-appb-M000037
 モデルiのj個目の層のノードkの主変数wi,j,kは、以下のように定義される。
Figure JPOXMLDOC01-appb-M000038
 この定義では、通常、バイアス項に対する係数群も主変数に含まれるので、K(i,j-1)+1としている。また、入力情報の次元をMとすると、K(i,0)=Mとなる。
 このとき、モデルiの出力は以下で得られる。Fiは、DNNによる計算処理を表す関数である。xdはd番目の入力データであり、pi,dはd番目の入力データxdに対応するB個のクラスのそれぞれに対する確率値である。
Figure JPOXMLDOC01-appb-M000039
 教師データsi,d、d番目の入力データxd、確率値pi,dのそれぞれは、以下のように定義されるベクトルである。
Figure JPOXMLDOC01-appb-M000040
 なお、Fiは、以下のような演算で行われる。
Figure JPOXMLDOC01-appb-M000041
 ここで、ai,jは、Rectified linear Unit (ReLU)、シグモイド関数、クロスエントロピー関数等の非線形のアクティベーション関数である。
 DNNにおける主変数の最適化は、以下のように、逐次的に誤差関数の一次勾配を減算するやり方が採用されることが多い。
Figure JPOXMLDOC01-appb-M000042
 ここで、ηは正の数であり、通常1より小さい小さな数が使用される。∇Eiは、主変数ベクトルに対する一次勾配である。
 主変数に関する誤差関数の一次勾配∇Eiを計算する方法は様々ある。一番基本的なものは、誤差逆伝搬法と確率的勾配法を組み合わせる方法である。また、少ない更新回数で最適解を得るための実用的なテクニックとして、Adam法, AdaGrad法などが用いられることが多い(例えば、非特許文献1参照。)。
 しかしながら、これまで、複数のモデル間で一部の主変数を共有するような拘束を導入して、モデルを学習するフレームワークは存在しなかった。
 以下では、複数のモデル間で一部の主変数を共有するような拘束条件付きのモデル生成装置及び方法について説明する。まず、初めに、問題を定義する。
Figure JPOXMLDOC01-appb-M000043
 拘束条件は、線形式で書ける条件であれば何でもよいが、ここでは、モデルiのj個目の層のノードkと、モデルnのj個目の層ノードkの間の関係で条件を記述している。~N(i,j)は、モデルiのj個目の層と拘束関係のあるモデルのインデックスの集合である。
 例えば、スケーラブルDNNの事例だと以下のように実装すればいい。ここで、Iは単位行列である。
Figure JPOXMLDOC01-appb-M000044
 図1に、1,2層目のモデル変数がモデル1,2,3において等価であるかまたは共通しており、3,4層目のモデル変数がモデル2,3において等価であるかまたは共通しているモデル1,2,3を生成する場合の~N(i,j)の設定の例を示す。φは空集合を意味する。図1では、モデル1は3個の層で構成されており、モデル2は5個の層で構成されており、モデル3は7個の層で構成されている。xは各モデルの入力であり、^S1,^S2,^S3はそれぞれモデル1,2,3からの出力である。
 ここで、等価とは、値にほとんど差がなく実質的に同一であることを意味する。また、共通とは、値が同一であることを意味する。すなわち、ある層のモデル変数が複数のモデルにおいて等価であるかまたは共通しているということは、ある層のモデル変数を複数のモデル間で共有していることを指す。
 こうした拘束条件付きの最適化問題を解くための方法として、ラグランジュ未定乗数法を用いることが多い。ラグランジュ関数は、以下のように書ける。
Figure JPOXMLDOC01-appb-M000045
 このとき、問題は以下のように定義される。
Figure JPOXMLDOC01-appb-M000046
 もし、コストEiが、凸関数であれば、この問題を解く手段はあるのであるが、Eiは非凸関数であるので、単純にこの問題を解くことができない。
 そこで、この問題に対して、「コストEiの代わりにその上界となるような代替凸関数を用いること」によって、拘束付の最適化問題を解くことにする。
 コストEiの代わりに用いる代替凸関数として、以下のGiを考える。x,yを任意のベクトルとして、<x,y>はxとyの内積を表す。
Figure JPOXMLDOC01-appb-M000047
 Ei(wi,j,k (t))は、前回の更新時(時刻t)におけるコストなので定数である。∇Ei(wi,j,k (t))は、いくつかのサンプル群で構成されたミニバッチセットを用いて確率的に算定された一次勾配である。計算可能な量である。・を任意の数として、||・||pはL-pノルムを意味する。
 この代替凸関数Giを用いる理由は、2個ある。
 1個目の理由は、Giを主変数wiに関して微分すると、主変数wiに対する最適解が得られる。それが、従来法と同じように、逐次的に誤差関数の一次勾配を減算するやり方に対応するからである。すなわち、以下に示すように、凸関数Giに対する主変数wiの最適化は、従来法でやっていた逐次減算ステップと一致している。
Figure JPOXMLDOC01-appb-M000048
 2個目の理由は、ηを十分に小さくすれば、Giが元のコストEiの上界関数になるので、Giを最小化することと元のコストを最小化することに矛盾が生じないためである。
 関数Eiの確率的勾配(より正確には、確率的な一次勾配)が、以下のようにリプシッツ連続であると仮定する。
Figure JPOXMLDOC01-appb-M000049
 ηを十分小さい値にすれば、多くの場合で満たされる仮定である。上記の式を満たすとき、Eiは1/η平滑関数と呼ばれる。
 Eiが1/η平滑関数であるとき、以下の不等式関係が成り立つ。
Figure JPOXMLDOC01-appb-M000050
 ここから以下の式を導くことができる。
Figure JPOXMLDOC01-appb-M000051
 この式のイメージを図2に示す。図2において、実線は元々のコスト関数Eiを表す。図2では、コストEiを非凸関数として書いている。図2において、一点鎖線は、上界となる代理凸関数Giを表す。
 Eiが1/η平滑関数であるという仮定が成り立つのであれば、Giが元のコストEiの上界関数となる。だから、Giを最小するということとEiを最小化することに矛盾が生じないから、拘束付最適化で扱いやすい閉真凸関数であるGiを最小化することを選んだのである。
 提案法では、以下の問題を解くことを目指す。
Figure JPOXMLDOC01-appb-M000052
 ここで、ラグランジュ関数は、以下の式で表される。
Figure JPOXMLDOC01-appb-M000053
 このラグランジュ関数の式の右辺の第1項は、EiではなくGiで記述されている。
 この問題を解く方法は様々あるが、Primal Dual Method of Multiplier (PDMM)に基づく方法を提案する(例えば、参考非特許文献1-1参照。)。これにより、双対変数λに関して、強い拘束を付与している中で最適化するアルゴリズムであり、速い収束を見込むことができる。
(参考非特許文献1-1:T. Sherson, R. Heusdens, and W. B. Kleijn, “Derivation and Analysis of the Primal-Dual Method of Multipliers Based on Monotone Operator Theory”, arXiv:1706.02654.)
 定義した問題の双対問題は、以下のように書くことができる。
Figure JPOXMLDOC01-appb-M000054
 変数は、以下のように定義される。
Figure JPOXMLDOC01-appb-M000055
 このため、解くべき双対問題は、以下のように書くことができる。
Figure JPOXMLDOC01-appb-M000056
 この問題は、以下のようなコストを設計して解くことと等価である。
Figure JPOXMLDOC01-appb-M000057
 この問題を解くために、双対変数の補助変数として双対補助変数を2種類導入する。yj,k,zj,kを2種類の双対補助変数とする。なお、双対補助変数yj,k,zj,kの基本的な性質は、双対変数λj,kと同じである。
 オペレータ分割法の1つであるP-R分割に基づいて、変数群(主変数、双対変数、双対補助変数)を最適化するステップは、以下のように書ける。
Figure JPOXMLDOC01-appb-M000058
 上記の式において、「∈」の記号は、集合の要素を表すのではなく、右辺の演算結果を左辺に代入することを意味する。通常、こうした操作は「=」を用いて表現することが多いが、コスト関数に不連続な閉真凸関数を用いた場合に、非可逆な変換が行われることがある(1対1対応しない演算をすることがあり得る)。「=」は通常、1対1対応するような変換(関数)に用いられる記号であるため、それと区別するために「∈」の記号を用いることとする。
 ここで、Cn (n=1,2)は、ケーリー演算子(Cayley operator)である。
Figure JPOXMLDOC01-appb-M000059
 Rn (n=1,2)は、リゾルヴェント演算子(Resolvent operator)である。
Figure JPOXMLDOC01-appb-M000060
 Tn (n=1,2)は、モノトーン演算子(Monotone operator)である。問題を構成するG*及びδ(I-P)は真凸閉関数であるので、その双対変数に関する偏微分はモノトーン演算子になる。
Figure JPOXMLDOC01-appb-M000061
 理論背景については詳細をここに記述しないが、P-R分割は高速な収束を保証する最適化方式である。P-R分割による最適化zj,k∈C2C1zj,kを分解表現すると以下のようになる。
Figure JPOXMLDOC01-appb-M000062
 すなわち、λj,k,yj,k,zj,kは、以下のように表される。
Figure JPOXMLDOC01-appb-M000063
 なお、2番目のケーリー演算子C2が順序入れ替え行列Pに対応するということについては、参考非特許文献1-1にその証明が掲載されている。一番上の双対変数をリゾルヴェント演算子を使った更新は、以下のように変形できる。以下の式において、3番目の式は、2番目の式を積分形に変形したものである。
Figure JPOXMLDOC01-appb-M000064
 Gの共役凸関数
Figure JPOXMLDOC01-appb-M000065
において、wの最適解は、以下のように得られる。この最適解は、上記のGの共役凸関数G*のmaxの括弧の中の微分した式=0とすることにより得られるものである。
Figure JPOXMLDOC01-appb-M000066
 次に、P-R分割の一番上の演算
Figure JPOXMLDOC01-appb-M000067
を満たす双対変数の最適解を導く。
Figure JPOXMLDOC01-appb-M000068
 モデルごとの更新になるように分解すると、次のようなアルゴリズムになる。
 (0) 初期化
Figure JPOXMLDOC01-appb-M000069
 wi,j,k (0)は、オートエンコーダ等の適切な方法で初期化される。
 以下、T回更新するとして、t∈{0,…,T-1}に対して、以下の(1)から(4)の処理を行う。
 (1) 一次勾配を求める。Tは、更新の総回数であり、正の整数であるが、オンラインの学習を想定した場合には、定数ではない。
Figure JPOXMLDOC01-appb-M000070
 一次勾配∇Ei(wi,j,k (0))は、例えば、誤差逆伝搬法、確率的勾配降下法、Adam or AdaGradを用いることにより計算することができる。
 (2) 双対変数更新
Figure JPOXMLDOC01-appb-M000071
 (3) 主変数更新
Figure JPOXMLDOC01-appb-M000072
(4)補助変数更新
Figure JPOXMLDOC01-appb-M000073
 なお、最後の(4)のステップについては、D-R分割ベースの更新でもいい。通常βは1/2が使われる。
Figure JPOXMLDOC01-appb-M000074
<第1実施形態>
《モデル生成装置及び方法》
 以下、モデル生成装置及び方法の一実施形態について説明する。
 モデル生成装置は、図3に例示するように、初期化部1-301、制御部1-302、勾配計算部1-303、双対変数更新部1-304、主変数更新部1-305、補助変数更新部1-306及び記憶部1-307を例えば備えている。
 記憶部1-307には、以下に説明する処理及び計算に必要なデータが記憶されているとする。初期化部1-301、制御部1-302、勾配計算部1-303、双対変数更新部1-304、主変数更新部1-305、補助変数更新部1-306及び記憶部1-307は、記憶部1-307に対するデータの書き込みを適宜行いながら、以下に説明するステップS1からステップS8の処理を行う。
 モデル生成方法は、モデル生成装置の各部が、図4及び以下に説明するステップS1からステップS8の処理を行うことにより例えば実現される。
 i∈~I, j∈~J(i),  ∀k∈~K(i,j), ∀n∈~N(i,j)に対して、初期化部1-301は、wi,j,k (0)を、オートエンコーダ等の適切な方法で初期化する。また、初期化部1-301は、zi|,j,k (0)を例えばzi|,j,k (0)=0とすることにより初期化する(ステップS1)。
 制御部1-302は、t=0とする(ステップS2)。
 i∈~I, j∈~J(i), k∈~K(i,j)に対して、勾配計算部1-303は、一次勾配∇Ei(wi,j,k (t))を計算する(ステップS3)。一次勾配∇Ei(wi,j,k (t))は、例えば、誤差逆伝搬法、確率的勾配降下法、Adam or AdaGradを用いることにより計算することができる。
 i∈~I, j∈~J(i), k∈~K(i,j), ∀n∈~N(i,j)に対して、双対変数更新部1-304は、以下の式により定義される双対変数λi|n,j,k (t+1)を計算する(ステップS4)。
Figure JPOXMLDOC01-appb-M000075
 i∈~I, j∈~J(i), k∈~K(i,j)に対して、主変数更新部1-305は、以下の式により定義される主変数wi,j,k (t+1)を計算する(ステップS5)。
Figure JPOXMLDOC01-appb-M000076
 i∈~I, j∈~J(i), k∈~K(i,j)に対して、補助変数更新部1-306は、以下の式により定義される双対補助変数yi|n,j,k (t+1),zi|n,j,k (t+1)を計算する(ステップS6)。
Figure JPOXMLDOC01-appb-M000077
 制御部1-302は、t=t+1とする(ステップS7)。すなわち、制御部1-302は、tを1だけインクリメントする。
 制御部1-302は、t=Tであるか判定し(ステップS8)、t=Tであれば処理を終了する。t=Tでない場合には、ステップS3の処理に戻る。
 上記のモデル生成装置をまとめると、以下のように言うことができる。
 Iを所定の2以上の整数とし、i=1,…,Iとし、~I={1,…,I}とし、モデルiの層の数をJ(i)とし、j=1,…,J(i)とし、~J(i)={1,…,J(i)}とし、モデルiのj個目の層のノードの数をK(i,j)とし、~K(i,j)={k|1,…,K(i,j)}とし、~N(i,j)をモデルiのj個目の層と拘束関係のあるモデルのインデックスの集合とし、モデルiのj個目の層のノードkのt回目の更新後の主変数をwi,j,k (t)とし、モデルiのj個目の層のノードkの、モデルnのj個目の層のノードkに対するt回目の更新後の双対変数をλi|n,j,k (t)とし、λi|n,j,k (t)の双対補助変数をyi|n,j,k (t),zi|n,j,k (t)とし、Eiをモデルiのコスト関数とし、σ1を所定の正の数とし、ηを正の数とし、Ai|jは以下の式により定義されるとし、Iを単位行列とし、Oを零行列とし、Tを正の数として、
Figure JPOXMLDOC01-appb-M000078
モデル生成装置は、wi,j,k (0), zi|,j,k (0)を初期化する初期化部1-301と、t=0,…,T-1として、i∈~I, j∈~J(i), k∈~K(i,j)に対して、一次勾配∇Ei(wi,j,k (t))を計算する勾配計算部1-303と、t=0,…,T-1として、i∈~I, j∈~J(i), k∈~K(i,j), ∀n∈~N(i,j)に対して、以下の式により定義される双対変数λi|n,j,k (t+1)を計算する双対変数更新部1-304と、
Figure JPOXMLDOC01-appb-M000079
t=0,…,T-1として、i∈~I, j∈~J(i), k∈~K(i,j)に対して、以下の式により定義される主変数wi,j,k (t+1)を計算する主変数更新部1-305と、
Figure JPOXMLDOC01-appb-M000080
t=0,…,T-1として、i∈~I, j∈~J(i), k∈~K(i,j)に対して、以下の式により定義される双対補助変数yi|n,j,k (t+1),zi|n,j,k (t+1)を計算する補助変数更新部1-306と、を含んでいる。
Figure JPOXMLDOC01-appb-M000081
 なお、初期化部1-301、制御部1-302、勾配計算部1-303、双対変数更新部1-304、主変数更新部1-305、補助変数更新部1-306及び記憶部1-307は、同一のコンピュータ上に実装される必要はなく、複数のコンピュータ上に実装されてもよい。この場合、異なる複数のコンピュータ上に実装された初期化部1-301、制御部1-302、勾配計算部1-303、双対変数更新部1-304、主変数更新部1-305、補助変数更新部1-306及び記憶部1-307は、適宜データを送受信して、上記の処理を行う。
 以下、モデル変数の一部又は全部が等価であるかまたは共通している層のことを「共有層」という。すなわち、「共有層」は、複数のモデル間でモデル変数の少なくとも一部を共有している層である。一方、モデル変数が等価でも共通でもない層を「非共有層」という。すなわち、「非共有層」は、複数のモデル間でモデル変数を共有していない層である。
 上記の実施形態では、補助変数更新部1-306は、zi|n,j,k (t+1)=yn|i,j,k (t+1)という処理、言い換えれば、モデルnのj個目の層のノードkの、モデルiのj個目の層のノードkに対するt+1回目の更新後の双対変数λn|i,j,k (t)の双対補助変数yn|i,j,k (t+1)を、モデルiのj個目の層のノードkの、モデルnのj個目の層のノードkに対するt+1回目の更新後の双対変数λi|n,j,k (t)の双対補助変数zi|n,j,k (t+1)とする処理を行っている。これにより、主変数更新部1-305が計算する複数のモデルの主変数(すなわちモデル変数)は同一の値に近づく。
 双対補助変数はモデル変数の更新処理における中間生成物であるので、双対補助変数をモデル変数の一部と捉えることもできる。すなわち、共有層は、複数のモデルの対応する層同士でモデル変数の一部又は全部を授受すること含んだモデル変数の更新処理を行う、ということができる。
《ニューラルネットワーク計算システム及び方法》
 以下、ニューラルネットワーク計算システム及び方法の一実施形態について説明する。
 ニューラルネットワーク計算システムは、図5に示すように、複数のモデルの少なくとも1つに基づいてニューラルネットワークの計算を行うニューラルネットワーク計算装置1-40を例えば備えている。図5の例では、ニューラルネットワーク計算システムは、1個のニューラルネットワーク計算装置1-40を備えているが、後述するように、ニューラルネットワーク計算システムは、複数のニューラルネットワーク計算装置1-40を備えていてもよい。
 ニューラルネットワーク計算方法は、ニューラルネットワーク計算装置1-40が、複数のモデルの少なくとも1つに基づいてニューラルネットワークの計算を行うことにより実現される。
 ここで、複数のモデルの一部又は全部は、モデル変数の一部又は全部が等価であるかまたは共通している層を少なくとも1個含み、かつ、モデル変数が等価でも共通でもない層を少なくとも1個含んでいるとする。すなわち、複数の一部又は全部は、モデル変数の少なくとも一部を共有している層を少なくとも1個含み、かつ、モデル変数を共有していない層を少なくとも1個含んでいるとする。このような、複数のモデルの一部又は全部が少なくとも1個含む、モデル変数の一部又は全部が等価であるかまたは共通している層は、上記のモデル生成装置及び方法により生成することができる。
 また、モデル変数の一部又は全部が等価であるかまたは共通している少なくとも1個の層は、入力層、または、入力層を含む、連続する複数の層であってもよい。
 また、複数のモデルにおいて同じ1つの層が用いられてもよい。すなわち、複数のモデルにおいて層自体を共有してもよい。
 ニューラルネットワーク計算装置1-40は、入力データxが入力される入力部1-400と、モデル生成装置及び方法により生成された複数のモデルが記憶されている記憶部1-401と、入力部1-400に入力された入力データx及び記憶部1-401から読み込んだ何れかのモデルに基づいてニューラルネットワークの計算を行う計算部1-402とを備えている。
 ここで、「ニューラルネットワークの計算」とは、複数のモデルの少なくとも1つの層について少なくとも出力を得ることである。例えば、ニューラルネットワークの計算は、複数のモデルの全ての層で学習済みのモデル変数を用いて、複数のモデルの少なくとも1つについて出力^Sを得ることである。また、例えば、ニューラルネットワークの計算は、オンライン学習、すなわち、複数のモデルの少なくとも1つの層で上記のモデル生成装置及び方法によりモデル変数を学習しながら、複数のモデルの少なくとも1つについて出力^Sを得ることである。なお、ニューラルネットワークの計算は、モデルの最終的な出力^Sではなく、モデルに含まれる少なくとも1つの層についての出力を得ることも含む。
 図6の例では、3個のモデルが存在しているとする。1個目のモデルは2個の層から構成されるニューラルネットワークの低計算モデルであり、2個目のモデルは5個の層から構成されるニューラルネットワークの中計算モデルであり、3個目のモデルは7個の層から構成されるニューラルネットワークの高計算モデルであるとする。また、1個目の層のモデル変数は全てのモデルで等価なものであり、2個目から4個目の層のモデル変数は2個目のモデルと3個目のモデルで等価なものであるとする。すなわち、複数のモデルで等価な層(図6の実線で囲んだ部分の層)のモデル変数を上記のモデル生成装置及び方法により生成しながらまたは生成しておき、各モデルに独立した層(図6の一点鎖線で囲んだ部分の層)のモデル変数をモデルごとに学習しながらまたは学習しておけば、図6の例の3個のモデルを構築することができる。言い換えると、図6の破線で囲んだ部分の層のモデル変数があれば、このようなモデルを構築することができる。
 また、図6の例では、ニューラルネットワーク計算システムは、情報携帯端末1-50、サーバ1-51及びサーバ1-52を備えている。情報携帯端末1-50、サーバ1-51及びサーバ1-52のそれぞれが、ニューラルネットワーク計算装置1-40である。情報携帯端末1-50、サーバ1-51及びサーバ1-52の計算能力については、情報携帯端末1-50の計算能力<サーバ1-51の計算能力<サーバ1-52の計算能力の関係があるとする。
 情報携帯端末1-50は、計算能力が低いので、低計算モデルに基づいて計算を行っている。サーバ1-51は、計算能力が中程度であるので、中計算モデルに基づいて計算を行っている。これにより、低計算モデルで計算したときよりも精度の高い計算結果を得ることができる。サーバ1-52は、計算能力が高いので、高計算モデルに基づいて計算を行っている。これにより、低計算モデル又は中計算モデルで計算したときよりも精度の高い計算結果を得ることができる。
 このように、複数のモデルの一部又は全部が、モデル変数の一部又は全部が等価であるかまたは共通している層を少なくとも1個含むようにすることで、ニューラルネットワーク計算装置の計算能力に応じた計算が可能なスケーラブルDNNを実現することができる。また、複数のモデルに含まれるモデル変数の一部又は全部が等価であるかまたは共通している層については、モデル変数を上記のモデル生成装置及び方法により生成しながら動作させるか、または、モデル変数を上記のモデル生成装置及び方法により事前に生成しておくことで、含まれる複数のモデルがより最適化されたスケーラブルDNNを実現することができる。
 このように、複数のモデルは、同じタスクのDNNであり、かつ、層の数が互いに異なるDNNであってもよい。
 なお、あるニューラルネットワーク計算装置があるモデルの何れかの層までの計算を行い、その計算結果を他のニューラルネットワーク計算装置に送信し、他のニューラルネットワーク計算装置は受信した計算結果を用いてその何れかの層以降の計算を行うことによりそのあるモデルの計算を行ってもよい。例えば、図6の例の3個のモデルに相当するニューラルネットワークは、図7の例のように、情報携帯端末1-50は2個の層から構成される図6の例の1個目のモデルの計算を行うとともに、図6の例の全てのモデルで等価な1個目の層の計算結果をサーバ1-51に送信し、サーバ1-51は受信した1個目の層の計算結果を用いて図6の例の2個目のモデルの残りの4個の層の計算を行うとともに、図6の例の2個目のモデルと3個目のモデルで等価な4個目の層の計算結果をサーバ1-52に送信し、サーバ1-52は受信した4個目の層の計算結果を用いて図6の例の3個目のモデルの残りの3個の層の計算を行ってもよい。
 なお、図6の例のように入力層を含む1個または連続した複数の層のモデル変数について複数のモデルで等価なものとするのは必須ではなく、例えば図8のように入力層のモデル変数について複数のモデルで等価なものとしない構成としてもよい。
 また、図8に例示するように、複数のモデルの一部が、モデル変数の全部が共通している層を含んでいてもよい。図8の例では、1個目のモデルの2個目の層のモデル変数と、2個目のモデルの2個目の層のモデル変数とが共通している。
 また、図8に例示するように、複数のモデルの全部が、モデル変数の一部が共通している層を含んでいてもよい。図8の例では、全てのモデルの3個目の層のモデル変数の全部又は一部(ドットで塗りつぶされた部分)が共通している。
 なお、複数のモデルを関連したタスクであるものの互いに異なるタスクとしてもよい。例えば、上記複数のモデルの出力は、互いに異なってもよい。図9の例では、3個のモデルが存在し、1個目のモデル(真ん中のモデル)の出力は例えば入力された音声の認識結果のテキストである出力^S1であり、2個目のモデル(一番上のモデル)の出力は例えば入力された音声に対応する返答のテキストである出力^S2であり、3個目のモデル(一番下のモデル)に基づくニューラルネットワークの計算結果は入力された音声に対応したロボットの動きである出力^S3である。そして、図9の例では、複数のモデルは互いに異なるタスクであるものの「入力された音声の発話内容に関連した何らかの出力を得る」という関連したタスクに関するものであるので、全てのモデルにおいて1個目から3個目の層のモデル変数を等価なものとしている。このような構成とすれば、タスクが異なる複数のモデルであっても、モデル変数の一部又は全部が等価であるかまたは共通している層が含まれていれば、この層については、モデル変数を上記のモデル生成装置及び方法により生成しながら動作させるか、または、モデル変数を上記のモデル生成装置及び方法により事前に生成しておくことで、含まれる複数のモデルがより最適化されたマルチタスクDNNを実現することができる。
 また、図9の例の3個のモデルのモデル変数が等価な層については、図10のように、その層のモデル変数を少なくとも何れか1つのモデルで計算して計算結果を別のモデルに送信し、別のモデルではその層のモデル変数を計算せずに受信したものを用いる構成としてもよい。
 従来は、このような複数の関連したタスクがあり、おそらく何からの情報のコネクションがあるような状況において、一部の層のモデル変数が等価であるかまたは共通しているモデルを生成することができなかった。
 しかし、上述のモデル生成装置及び方法により、このようなマルチタスクDNNを実現することができる。
 なお、図9では、音声処理を例に挙げているが、複数の関連したタスクがあり何からの情報のコネクションがあれば、画像処理等の他の処理にマルチタスクDNNを用いることができる。
《ニューラルネットワークシステム及び方法》
 ニューラルネットワークシステムは、例えば、図11に示すように、上記説明した、モデル生成装置、ニューラルネットワーク計算システムの少なくとも一方を含むシステムである。
 すなわち、ニューラルネットワークシステム及び方法は、複数のモデルを含む。そして、これらの複数のモデルのそれぞれは、複数の層を含むDNNであり、複数のモデルの一部又は全部は、モデル変数の一部又は全部が等価であるかまたは共通している層を少なくとも1個含み、かつ、モデル変数が等価でも共通でもない層を少なくとも1個含んでいる。言い換えると、これらの複数のモデルのそれぞれは、複数の層を含むDNNであり、複数のモデルの一部又は全部は、モデル変数の少なくとも一部を共有している層を少なくとも1個含み、かつ、モデル変数を共有していない層を少なくとも1個含んでいる。
《プログラム及び記録媒体》
 ニューラルネットワークシステム、モデル生成装置又はニューラルネットワーク計算システムは、1つのコンピュータによって実現してもよい。この場合、モデル生成装置又はニューラルネットワーク計算システムが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、機械学習システムの処理がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、各部の処理は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理の少なくとも一部をハードウェア的に実現することとしてもよい。
 以下、本発明の実施形態である第2実施形態及び第3実施形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 各実施形態の説明に先立って、この明細書における表記方法について説明する。
 _(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
<技術的背景>
 本願では、リゾルヴェント作用素やケーリー作用素を用いる代わりに、ブレグマンリゾルヴェント作用素やブレグマンケーリー作用素を用いる。つまり、ブレグマンリゾルヴェント作用素やブレグマンケーリー作用素を用いた単調作用素分割に基づき、変数更新則を構成する。以下、詳細に説明する。
《1:ブレグマンレゾルヴェント作用素とブレグマンケーリー作用素の定義》
 まず、ブレグマンダイバージェンスBについて説明する。ブレグマンダイバージェンスBは連続で微分可能な狭義凸関数Dを用いて以下のように定義される(以後、連続で微分可能な狭義凸関数のことを単に狭義凸関数という)。
Figure JPOXMLDOC01-appb-M000082
 関数Dとして任意の狭義凸関数を用いることができる。なお、ユークリッド距離もブレグマンダイバージェンスの一種である。また、ブレグマンダイバージェンスBが関数Dを用いて定義されることを明示するために、ブレグマンダイバージェンスBDと書くこともある。
 狭義凸関数Dは、ある種の連続性を有する関数である。具体的には、狭義凸関数Dは、強凸(SC: strong convex)とリプシッツ平滑(LS: Lipschitz smooth)という性質を有する。これらの性質は以下のように表現できる。
(性質1)2次のテーラー展開を用いると、関数Dに対して、点wの周りにおいて以下の近似式が成り立つ。
Figure JPOXMLDOC01-appb-M000083
 ここで、ヘシアン行列HD(w) (HD(w)∈Rm×m)は、正定値行列である。
Figure JPOXMLDOC01-appb-M000084
 なお、行列A,Bに対して、次式は行列B-Aが正定値であることを表す。
Figure JPOXMLDOC01-appb-M000085
(性質2)関数DのLS(上界)とSC(下界)は、任意のベクトルh∈Rmを用いて、以下のように表現できる。
Figure JPOXMLDOC01-appb-M000086
 ここで、ヘシアン行列KD, MD (KD∈Rm×m, MD∈Rm×m)は、正定値行列である。また、ヘシアン行列HD(w)との間に以下の関係が成り立つ。
Figure JPOXMLDOC01-appb-M000087
 次に、ブレグマンダイバージェンスを用いて、リゾルヴェント作用素、ケーリー作用素を一般化する。一般化したリゾルヴェント作用素、ケーリー作用素をそれぞれブレグマンリゾルヴェント作用素、ブレグマンケーリー作用素という。なお、ブレグマンリゾルヴェント作用素については参考非特許文献2-2に記載がある。
(参考非特許文献2-2:H. H. Bauschke, J. M. Borwein, and P. L. Combettes, “Bregman Monotone Optimization Algorithms”, SIAM Journal on Control and Optimization, Vol.42, Issue 2, pp.596-636, 2003.)
 ブレグマンリゾルヴェント作用素Rnとブレグマンケーリー作用素Cnは、次式で与えられる。
Figure JPOXMLDOC01-appb-M000088
 なお、以下のように関数Dを二乗したL2ノルムを用いて定義すると、ブレグマンダイバージェンスBはユークリッド距離に対応し、ブレグマンリゾルヴェント作用素Rnとブレグマンケーリー作用素Cnはそれぞれリゾルヴェント作用素Ωn、ケーリー作用素Ψnに対応する。具体的に説明する。関数Dの劣微分は以下のようになる。
Figure JPOXMLDOC01-appb-M000089
 関数Dの劣微分をブレグマンリゾルヴェント作用素Rnとブレグマンケーリー作用素Cnにそれぞれ代入すると、リゾルヴェント作用素Ωn、ケーリー作用素Ψnが得られる。
Figure JPOXMLDOC01-appb-M000090
《2:ブレグマンレゾルヴェント作用素とブレグマンケーリー作用素の収束率》
 ここでは、ブレグマンリゾルヴェント作用素、ブレグマンケーリー作用素の収束率に関して、2つのケースについて説明する。
[ケース1]:関数G1は、狭義凸関数である、すなわち、強凸(SC)かつリプシッツ平滑(LS)である。
 このとき、先述した通り、以下の性質が成り立つ。
(性質1)2次のテーラー展開を用いると、関数G1に対して、点wの周りにおいて以下の近似式が成り立つ。
Figure JPOXMLDOC01-appb-M000091
(性質2)関数G1のLS(上界)とSC(下界)は、任意のベクトルh∈Rmを用いて、以下のように表現できる。
Figure JPOXMLDOC01-appb-M000092
 ここで、ヘシアン行列HG_1(w), KG_1, MG_1は、以下の関係をもつ。
Figure JPOXMLDOC01-appb-M000093
 この2つの性質を用いて、以下の定理1と定理2が証明できる。
(定理1)関数G1がSCかつLSである場合、ブレグマンレゾルヴェント作用素R1は以下の収束率をもつ。
Figure JPOXMLDOC01-appb-M000094
 式(4-8)に含まれる係数σmax,1, σmin,1は次式で与えられる。ここで、Λmaxは最大固有値、 Λminは最小固有値を表す。
Figure JPOXMLDOC01-appb-M000095
 なお、狭義凸関数Dとして、以下の条件を満たすものを用いる。
Figure JPOXMLDOC01-appb-M000096
(定理2)関数G1がSCかつLSである場合、ブレグマンケーリー作用素C1は以下の収束率をもつ。
Figure JPOXMLDOC01-appb-M000097
 式(4-12)に含まれる係数η1は次式で与えられる。
Figure JPOXMLDOC01-appb-M000098
 係数σmax,1, σmin,1は式(4-9)、式(4-10)で与えられるものである。
[ケース2]:関数G1, G2は、いずれも狭義凸関数である、すなわち、いずれも強凸(SC)かつリプシッツ平滑(LS)である。
 関数G1については、式(4-5)~(4-7)で表される性質1及び性質2が成り立つ。同様に、関数G2については、式(4-14)~(4-16)で表される性質1及び性質2が成り立つ。
(性質1)2次のテーラー展開を用いると、関数G2に対して、点wの周りにおいて以下の近似式が成り立つ。
Figure JPOXMLDOC01-appb-M000099
(性質2)関数G2のLS(上界)とSC(下界)は、任意のベクトルh∈Rmを用いて、以下のように表現できる。
Figure JPOXMLDOC01-appb-M000100
 ここで、ヘシアン行列HG_2(w), KG_2, MG_2は、以下の関係をもつ。
Figure JPOXMLDOC01-appb-M000101
 関数G1について成り立つ定理1、定理2と同様の定理が、関数G2についても成り立つ。
(定理3)関数G2がSCかつLSである場合、ブレグマンレゾルヴェント作用素R2は以下の収束率をもつ。
Figure JPOXMLDOC01-appb-M000102
 式(4-17)に含まれる係数σmax,2, σmin,2は次式で与えられる。
Figure JPOXMLDOC01-appb-M000103
 なお、狭義凸関数Dとして、以下の条件を満たすものを用いる。
Figure JPOXMLDOC01-appb-M000104
(定理4)関数G2がSCかつLSである場合、ブレグマンケーリー作用素C2は以下の収束率をもつ。
Figure JPOXMLDOC01-appb-M000105
 式(4-20)に含まれる係数η2は次式で与えられる。
Figure JPOXMLDOC01-appb-M000106
 係数σmax,2, σmin,2は式(4-18)、式(4-19)で与えられるものである。
《3:一般化P-R型単調作用素分割、一般化D-R型単調作用素分割の変数更新則と収束率》
 ブレグマンリゾルヴェント作用素、ブレグマンケーリー作用素を用いて、式(1-2)を変形することにより、P-R型の単調作用素分割とD-R型の単調作用素分割を導出する。ここで説明するP-R型の単調作用素分割とD-R型の単調作用素分割は、ブレグマンダイバージェンスを用いたP-R型の単調作用素分割、D-R型の単調作用素分割の一般化に相当する。以下、それぞれ一般化P-R型単調作用素分割、一般化D-R型単調作用素分割ということにする。
[一般化P-R型単調作用素分割]
 式(1-2)を以下のように変形していく。
Figure JPOXMLDOC01-appb-M000107
 ここで、以下の関係を持つ、w(w∈Rm)の補助変数z(z∈Rm)を導入する。
Figure JPOXMLDOC01-appb-M000108
 変数zを用いてさらに変形していく。
Figure JPOXMLDOC01-appb-M000109
 これより、以下の通り、一般化P-R型単調作用素分割が得られる。
Figure JPOXMLDOC01-appb-M000110
 式(4-22)と式(3-1)から、式(3-1)のケーリー作用素をブレグマンケーリー作用素に置き換えたものが式(4-22)になっていることがわかる。
 一般化P-R型単調作用素分割の変数更新則は、w(∈Rm)の補助変数x, y, z(x∈Rm, y∈Rm, z∈Rm)を用いて式(4-22)を分解することにより得られる。
Figure JPOXMLDOC01-appb-M000111
 式(4-23)の演算を具体化する。つまり、以下のように変形する。
Figure JPOXMLDOC01-appb-M000112
 さらに積分形にすることにより、以下を得る。
Figure JPOXMLDOC01-appb-M000113
 式(4-25)の演算についても同様に具体化すると、以下が得られる。
Figure JPOXMLDOC01-appb-M000114
 次に、一般化P-R型単調作用素分割の収束率について説明する。ケース1、ケース2に場合分けして、収束率を導出する。まず、ケース1について説明する。ケース1については、ブレグマンケーリー作用素C1の非拡大性しか仮定できない(つまり、定理2は成り立つが、定理4は成り立たない)。したがって、式(4-23)~(4-26)より、ztの収束率は以下の不等式で表される。
Figure JPOXMLDOC01-appb-M000115
 式(4-29)より、ztとzの停留点z*との誤差は以下のように評価できる。
Figure JPOXMLDOC01-appb-M000116
 同様に、zt+1とzの停留点z*との誤差は以下のように評価できる。
Figure JPOXMLDOC01-appb-M000117
 式(4-30)と式(4-31)より、以下の関係を得る。
Figure JPOXMLDOC01-appb-M000118
 よって、t回の更新を経たときの誤差(収束率)は以下で表される。
Figure JPOXMLDOC01-appb-M000119
 次に、ケース2について説明する。ケース2については、ブレグマンケーリー作用素C1,C2の非拡大性を担保できる(つまり、定理2、定理4のいずれも成り立つ)。したがって、式(4-23)~(4-26)より、ztの収束率は以下の不等式で表される。
Figure JPOXMLDOC01-appb-M000120
 ケース1と同様にして、以下の関係を得る。
Figure JPOXMLDOC01-appb-M000121
 式(4-33)、式(4-36)からわかるように、ケース1、ケース2いずれの場合も、ηiを小さくすることができれば、収束率を高くすることができる。
[一般化D-R型単調作用素分割]
 一般化D-R型単調作用素分割は式(4-22)に平均化作用素を加えることで得られる。
Figure JPOXMLDOC01-appb-M000122
 式(4-37)と式(3-2)から、式(3-2)のケーリー作用素をブレグマンケーリー作用素に置き換えたものが式(4-37)になっていることがわかる。
 一般化D-R型単調作用素分割の変数更新則は、w(∈Rm)の補助変数x, y, z(x∈Rm, y∈Rm, z∈Rm)を用いて式(4-37)を分解することにより得られる。
Figure JPOXMLDOC01-appb-M000123
 次に、一般化D-R型単調作用素分割の収束率について説明する。ケース1、ケース2に場合分けして、収束率を導出する。まず、ケース1について説明する。ケース1については、ブレグマンケーリー作用素C1の非拡大性しか仮定できない(つまり、定理2は成り立つが、定理4は成り立たない)。したがって、式(4-38)~(4-41)より、ztの収束率は以下の不等式で表される。
Figure JPOXMLDOC01-appb-M000124
 よって、t回の更新を経たときの誤差(収束率)は以下で表される。
Figure JPOXMLDOC01-appb-M000125
 次に、ケース2について説明する。ケース2については、ブレグマンケーリー作用素C1,C2の非拡大性を担保できる(つまり、定理2、定理4のいずれも成り立つ)。したがって、式(4-38)~(4-41)より、ztの収束率は以下の不等式で表される。
Figure JPOXMLDOC01-appb-M000126
 式(4-43)及び式(4-45)からわかるように、ケース1、ケース2いずれの場合も、ηiを小さくすることができれば、αを1に近づけていくことにより、収束率を高くすることができる。なお、αを1に近づけていくということは、一般化D-R型単調作用素分割を一般化P-R型単調作用素分割に近づけていくことを意味する。
《4:高収束率を得るためのブレグマンダイバージェンス設計》
 一般化P-R型単調作用素分割や一般化D-R型単調作用素分割による変数更新則を用いることにより、最適解を求めることができる。ここでは、より高速に最適解を求めることができるような、ブレグマンダイバージェンスの設計(関数Dの設計)について説明する。具体的には、2つの設計方法について説明する。
 まず、これまでの議論で得られた結果についてまとめる。ケース1、ケース2いずれの場合も、式(4-13)で与えられるη1、式(4-21)で与えられるη2を0に近づけることにより、一般化P-R型単調作用素分割の変数更新則、一般化D-R型単調作用素分割の変数更新則いずれであっても高い収束率で最適解に収束する。
Figure JPOXMLDOC01-appb-M000127
 このηiを0に近づけることは、式(4-9)、式(4-10)、式(4-18)、式(4-19)で与えられる固有値σmax,i, σmin,iを1に近づけることで実現できる。最大固有値σmax,i、最小固有値σmin,iとも1に近づけることは、固有値分布が平滑になることに対応する。
Figure JPOXMLDOC01-appb-M000128
 固有値を1に近づけるためには、関数Dのヘシアン行列HDの逆行列が関数Giのヘシアン行列HG_iの逆行列となるように設計するとよい。
Figure JPOXMLDOC01-appb-M000129
 関数Giは式(4-5)、式(4-14)の近似式により表現されることから、関数Dを次式のような2次式で表現し、ヘシアン行列HDを適切に設計することで、式(4-47)を実現できる。
Figure JPOXMLDOC01-appb-M000130
 式(4-48)をブレグマンダイバージェンスの定義式である式(4-1)に代入すると以下を得る。
Figure JPOXMLDOC01-appb-M000131
[ニュートン法に従うブレグマンダイバージェンス設計]
 式(4-49)に従いブレグマンダイバージェンスを設計する際、式(4-47)を最も忠実に満たすようにするには、ヘシアン行列HDを式(4-50)に従うように設計するとよい。なお、この設計は、二次収束性の最適化法としてよく知られているニュートン法に通じるものである。式(4-50)の代わりに、BFGS法などのヘシアン行列の近似計算法を用いてもよい。
Figure JPOXMLDOC01-appb-M000132
 なお、実数ε>0は学習のステップサイズを決めるパラメータに相当し、ヘシアン行列HD (2GD)の固有値が0より大きく1以下に収まるように選ぶ必要がある。
 また、式(4-50)では、(case2)において相加平均を用いたが、相加平均の代わりに、相乗平均を用いてもよい。
Figure JPOXMLDOC01-appb-M000133
 式(4-50)(式(4-50’))は、ケース1、ケース2に分けてヘシアン行列HDを設計していることを示している。ケース2の場合、関数G1、G2の双方に対して、式(4-47)を満たすようにすることが理想的であるが、実際、このことを担保するのは難しい。そこで、ケース2について、式(4-50)(式(4-50’))のように設計することにした。この設計が好ましい理由は、ヘシアン行列に関して、以下の数学的性質が成り立つためである。具体的に説明する。まず、ヘシアン行列HDの逆行列を計算する。
Figure JPOXMLDOC01-appb-M000134
 ここで、式(4-47)式のようにHD -1とHG_iを掛け合わせると、以下のようになる。
Figure JPOXMLDOC01-appb-M000135
 これらの2つの式は、HG_1とHG_2が近いほど、式(4-47)を満たすようになることを示している。
[加速勾配法に従うブレグマンダイバージェンス設計]
 ニュートン法に従うブレグマンダイバージェンス設計を用いた場合、実際の変数更新則では、ヘシアン行列HDの逆行列を計算する必要があるが、この計算には非常に大きなコストがかかる。この計算コストの問題を克服するために、式(4-47)の再現性を多少犠牲にして、ヘシアン行列HDの逆行列の計算コストを下げることにする。このような設計として、加速勾配法に従うブレグマンダイバージェンス設計を説明する。この設計は簡単に説明すると、ヘシアン行列HDを対角行列に制約したうえで、式(4-47)をできるだけ満たすようにヘシアン行列HDを設計するものである。なお、この設計は、超一次収束として知られている加速勾配法に通じるものである。
 加速勾配法を実現するための方法は様々提案されている。例えば、モメンタム法、AdaGrad法、Adam法、RMSProp法などがある。ここでは、RMSProp法を用いた設計について説明する。
Figure JPOXMLDOC01-appb-M000136
 なお、実数ε>0は学習のステップサイズを決めるパラメータに相当し、ヘシアン行列HD (AGD)の固有値が0より大きく1以下に収まるように選ぶ必要がある。
 また、式(4-51)では、(case2)において相加平均を用いたが、相加平均の代わりに、相乗平均を用いてもよい。
Figure JPOXMLDOC01-appb-M000137
 また、LG_1とLG_2は基本的には対角行列となることを想定された行列であり、RMSProp法では以下のように設計する。
Figure JPOXMLDOC01-appb-M000138
 ただし、ヘシアン行列HDの逆行列の計算コストを多少犠牲にしてもよい場合、LG_1, LG_2は必ずしも対角行列である必要はない。非対角成分も用いる場合のRMSProp法では以下のように設計する。
Figure JPOXMLDOC01-appb-M000139
《5:エッジコンピューティングにおける合意形成問題への適用》
 ここでは、エッジコンピューティングにおける合意形成問題を例として、ブレグマンダイバージェンスを用いて一般化された単調作用素分割を用いた再帰的な変数更新則である変数更新アルゴリズムについて説明する。
 式(3-3)~式(3-6)に対応する再帰的な変数更新則は以下のようになる。
Figure JPOXMLDOC01-appb-M000140
 式(4-54)が一般化P-R型単調作用素分割に、式(4-55)が一般化D-R型単調作用素分割に対応する。
 なお、変数更新則の導出に際して、ブレグマンケーリー作用素C2が以下の式を満たすことを用いた。その証明については省略するが、非特許文献2に示された証明戦略をブレグマンケーリー作用素に適用すれば得られる結果である。
Figure JPOXMLDOC01-appb-M000141
 また、式(4-48)を用いる際の関数Dの劣微分とその逆作用素は以下のようになる。
Figure JPOXMLDOC01-appb-M000142
 ここで、ヘシアン行列HD(z)とその逆行列HD -1(z)は、いずれも以下のようなブロック対角化行列となる。
Figure JPOXMLDOC01-appb-M000143
 以下、式(4-52)~式(4-55)の再帰的な変数更新則をノードごとに非同期で変数を更新できるようにしたアルゴリズムについて説明する。式(4-52)には潜在変数pと双対変数wの更新が含まれており、潜在変数pと双対変数wの取り扱いに関して以下説明する2つの方法が考えられる。
[方法1]
 この方法は、従来法と同様、罰則項を用いてpの最適化を行った後、wの最適化を行う。
 まず、罰則項を用いて、pの最適化を行う。
Figure JPOXMLDOC01-appb-M000144
 次にwの最適化を行う。
Figure JPOXMLDOC01-appb-M000145
 式(4-61’)の結果を式(4-53)に代入すると、以下の双対変数λの更新則を得る。
Figure JPOXMLDOC01-appb-M000146
 この式は双対変数wを用いなくても双対変数λが得られることを示している。
 式(4-52)~(4-55)の変数更新則を具体的に表わすと以下のようになる。
Figure JPOXMLDOC01-appb-M000147
 なお、式(4-54)、式(4-55)については、式(4-63)、式(4-64)、式(4-65)に分けた。これは、ノードごとに非同期で変数を更新できるようにするためである。
 この更新則をノードごとに変数を更新できるようにすると、図15に示すアルゴリズムが得られる。なお、このアルゴリズムにおけるヘシアン行列HDは、式(4-50)や式(4-51)を用いて設計するのが好ましい。
[方法2]
 この方法は、双対変数wの更新を行い、必要に応じて潜在変数pの更新を行う。
 式(4-52)を解くため、pをwの関数として表現して最適化する。2次のテーラー展開を用いて、関数F1を以下のように近似表現する。
Figure JPOXMLDOC01-appb-M000148
 これを関数F1 *に代入すると、以下のようにpをwの関数とした場合の最適値p(w)が得られる。
Figure JPOXMLDOC01-appb-M000149
 右辺の括弧内をpに関して微分し、それが0となる点(つまり、最適点)を探すと、以下のようになる。
Figure JPOXMLDOC01-appb-M000150
 これを式(4-52)に代入すると、wの更新式を得る。
Figure JPOXMLDOC01-appb-M000151
 右辺の括弧内をwに関して微分し、それが0となる点(つまり、最適点)を探すと、以下のようになる。
Figure JPOXMLDOC01-appb-M000152
 式(4-66)より、pはwの関数として表現されているので、pの更新式は以下のようになる。
Figure JPOXMLDOC01-appb-M000153
 式(4-53)に式(4-67)を代入することにより、以下の更新式を得る。
Figure JPOXMLDOC01-appb-M000154
 式(4-68)、式(4-69)、式(4-54)、式(4-55)より変数更新則を具体的に表わすと以下のようになる。
Figure JPOXMLDOC01-appb-M000155
 この更新則をノードごとに変数を更新できるようにすると、図16に示すアルゴリズムが得られる。なお、このアルゴリズムにおけるヘシアン行列HDは、式(4-50)や式(4-51)を用いて設計するのが好ましい。
 図15のアルゴリズムと図16のアルゴリズムを比較すると、ノード間で交換される変数に違いがある。つまり、図15のアルゴリズムでは、潜在変数と双対変数の変形を交換しているのに対して、図16のアルゴリズムでは双対変数の変形のみ交換している。双対変数の変形のみ交換すればよくなったことにより、図16のアルゴリズムの方が情報の秘匿化/暗号化という点において図15のアルゴリズムよりも優れていると言える。
《6:実験及びその結果》
 以上説明した変数更新則の効果について確認するため、収束率に関する実験を行った。実験では、図17のような2種類のグラフ構成をもった分散計算器(エッジコンピューティングシステム)を用いた。分散計算器の各ノードにはランダムに生成した異なるデータセットを配置し、潜在変数の収束率を計測した。
 コスト関数F1には、以下のものを用いた。
Figure JPOXMLDOC01-appb-M000156
 ここで、vi,uとsi,uはノードiにおける入力データと教師データの組、piはノードiにおける潜在変数である。
 また、潜在変数の誤差を測定する尺度には以下のものを用いた。
Figure JPOXMLDOC01-appb-M000157
 ここで、p*は潜在変数pの最適値、pi tはt回の更新で得られたノードiにおける潜在変数の値、m=p’Vである。
 図18に実験結果を示す。B-MOS(GD)は従来の方法(図14のアルゴリズム)、B-MOS(AGD)は加速勾配法(AGD)によりヘシアン行列を設計した場合の本願の方法(図16のアルゴリズム)、B-MOS(2GD)はニュートン法によりヘシアン行列を設計した場合の本願の方法(図16のアルゴリズム)を示す。なお、D-ADMMはB-MOS(GD)とは異なる別の従来の方法を示す。この図からわかるように、いずれのグラフ構造においても、本願の方法の方が、従来の方法と比較して収束率が高くなる。特に、ニュートン法に従ってヘシアン行列を設計した場合に、最も高い収束率が得られる。
《7:微分を用いた表現》
 《1:ブレグマンレゾルヴェント作用素とブレグマンケーリー作用素の定義》の冒頭部において、関数Dは微分可能な狭義凸関数であると仮定したことから、関数Dの劣微分を関数Dの微分としても《1:ブレグマンレゾルヴェント作用素とブレグマンケーリー作用素の定義》から《5:エッジコンピューティングにおける合意形成問題への適用》までの議論は成り立つ。具体的には、《1:ブレグマンレゾルヴェント作用素とブレグマンケーリー作用素の定義》から《5:エッジコンピューティングにおける合意形成問題への適用》までの説明における“関数Dの劣微分”との記載を“関数Dの微分”とした説明が成り立つ。以下、主たる式に関して劣微分を微分で置き換えた式を示す。
 関数Dの微分を用いた場合、ブレグマンダイバージェンスBは、以下のように定義される。
Figure JPOXMLDOC01-appb-M000158
 ここで、∇は関数を微分する演算を表す。
 また、狭義凸関数Dの(性質1)、(性質2)は、以下のように表現できる。
(性質1)2次のテーラー展開を用いると、関数Dに対して、点wの周りにおいて以下の近似式が成り立つ。
Figure JPOXMLDOC01-appb-M000159
(性質2)関数DのLS(上界)とSC(下界)は、任意のベクトルh∈Rmを用いて、以下のように表現できる。
Figure JPOXMLDOC01-appb-M000160
 ブレグマンリゾルヴェント作用素Rnとブレグマンケーリー作用素Cnは、次式で与えられる。
Figure JPOXMLDOC01-appb-M000161
 関数DをL2ノルムの二乗を用いて定義する場合、関数Dと関数Dの微分は以下のようになる。
Figure JPOXMLDOC01-appb-M000162
 この場合、ブレグマンリゾルヴェント作用素Rnとブレグマンケーリー作用素Cnは、劣微分を用いた場合と同様、リゾルヴェント作用素Ωn、ケーリー作用素Ψnとなる。
Figure JPOXMLDOC01-appb-M000163
 一般化P-R型単調作用素分割は、劣微分の場合と同様、次式のようになる。
Figure JPOXMLDOC01-appb-M000164
 そして、一般化P-R型単調作用素分割の変数更新則は、w(∈Rm)の補助変数x, y, z(x∈Rm, y∈Rm, z∈Rm)を用いて式(4-22)*を分解することにより得られる。
Figure JPOXMLDOC01-appb-M000165
 また、式(4-23)*を変形すると、次式が得られる。
Figure JPOXMLDOC01-appb-M000166
 式(4-25)*も同様に変形すると、次式が得られる。
Figure JPOXMLDOC01-appb-M000167
 一般化D-R型単調作用素分割も、劣微分の場合と同様、次式のようになる。
Figure JPOXMLDOC01-appb-M000168
 そして、一般化D-R型単調作用素分割の変数更新則は、w(∈Rm)の補助変数x, y, z(x∈Rm, y∈Rm, z∈Rm)を用いて式(4-37)*を分解することにより得られる。
Figure JPOXMLDOC01-appb-M000169
 劣微分の場合と同様、関数Dを式(4-48)の2次式で表現し、ブレグマンダイバージェンスの定義式である式(4-1)*に代入することにより、以下を得る。
Figure JPOXMLDOC01-appb-M000170
 ただし、式(4-48)における関数Dの更新は、毎ステップ行われるわけではない。具体的には、関数Dが強凸性であることを満たすため、以下の式で表される条件を満たす場合に限り、任意のタイミングで関数Dの微分∇Dの更新が行われる。したがって、当該条件が満たされない場合には、関数Dの微分∇Dの更新は行わない。
Figure JPOXMLDOC01-appb-M000171
 エッジコンピューティングにおける合意形成問題へ適用した場合における、式(3-3)~式(3-6)に対応する再帰的な変数更新則は以下のようになる。
Figure JPOXMLDOC01-appb-M000172
 なお、変数更新則の導出に際して、ブレグマンケーリー作用素C2が以下の式を満たすことを用いた。
Figure JPOXMLDOC01-appb-M000173
 また、式(4-48)を用いる際の関数Dの微分とその逆作用素は以下のようになる。
Figure JPOXMLDOC01-appb-M000174
《8:高次凸性を用いたブレグマンダイバージェンス設計》
 《4:高収束率を得るためのブレグマンダイバージェンス設計》で説明した2つのブレグマンダイバージェンス設計手法では、ブレグマンダイバージェンスの計量を決める関数Dを2次式に限定したときにどのように設計すればよいのかについて論じた。ここでは、2次以上の高次凸性を用いて、更なる高速収束を可能にする関数Dの設計について説明する。なお、以下では関数Dの微分∇Dの設計について説明するが、変数更新の際に使用するのは∇Dであるので、∇Dの設計に関して説明しても一般性を失うことはない。
 式(4-48)及び式(4-49)*において暗に仮定されていたことであるが、関数Dの設計により停留点を変更しないようにするために、関数Dは∇D(0)=0を満たすこと、かつ、関数Dは微分可能な狭義凸関数であることの2点に着目する。関数Giは微分可能であると仮定する。つまり、関数Giの微分∇Giは存在するものと仮定する。なお、関数Giそのものが微分可能でなくても、例えば平滑化などの処理により関数Giを微分可能な関数とすることができるため、関数Giは微分可能であると仮定しても問題ない。
 このとき、次式で表される条件のもと、∇Dを更新することにより、関数Giが2次以上の凸性を含む場合に高速収束が見込める。
Figure JPOXMLDOC01-appb-M000175
 ただし、∇Dの更新は、関数Dが強凸性であることを満たすため、以下の式で表される条件を満たす場合に限り、任意のタイミングで行われる。したがって、当該条件が満たされない場合には、∇Dの更新は行わない。
Figure JPOXMLDOC01-appb-M000176
 実用上、複数の高次(3次以上)の凸性の和として関数Giを表現する場合(例えば、高次のテーラー展開を用いて関数Giを狭義凸関数として表現する場合)には、解析的にwの最適解を得ることが難しいことが多い。このような場合には、和を用いる代わりに、単一の高次項のみを用いて関数Dを表現するのが一つの有用な実装法となる。この場合、次式により関数Dを表現すればよい。
Figure JPOXMLDOC01-appb-M000177
<第2実施形態>
 以下、図19~図20を参照して潜在変数学習装置2-100を説明する。図19は、潜在変数学習装置2-100の構成を示すブロック図である。図20は、潜在変数学習装置2-100の動作を示すフローチャートである。図19に示すように潜在変数学習装置2-100は、モデル学習部2-120と、記録部2-190を含む。
 潜在変数学習装置2-100は、学習データを用いて、機械学習の対象となるモデルの潜在変数w∈Rm(mは1以上の整数)を学習する。ここで、モデルとは、入力データを入力とし、出力データを出力とする関数のことであり、学習データとは、モデルの潜在変数の学習に用いる入力データ、または、モデルの潜在変数の学習に用いる入力データと出力データの組のことをいう。なお、入力データと出力データの組を学習データとする場合、出力データのことを教師データということもある。
 図20に従い潜在変数学習装置2-100の動作について説明する。
 S120において、モデル学習部2-120は、学習データを用いて、所定の手順により潜在変数wを学習する。以下、その手順について、具体的に説明する。
(手順1)
 ここでは、ブレグマンダイバージェンスを用いた学習手順について説明する。
 まず、モデル学習部2-120は、学習データを用いて、潜在変数wを学習する際に用いるセットアップデータを計算する。例えば、学習データを用いて計算される、潜在変数wを最適化するためのコスト関数G(w):Rm→R(ただし、G(w)=ΣiGi(w)、関数Gi(w)(Nを2以上の整数とし、iは1≦i≦Nを満たす整数とする(つまり、iはインデックスである))は閉真凸関数)がその一例である。
 次に、関数D(ただし、D:Rm→Rは狭義凸関数)を用いて定義されるブレグマンダイバージェンスBD(w1||w2)=D(w1)-D(w2)-<∂D(w2),w1- w2>(w1, w2∈Rm)を用いて、モデル学習部2-120は、コスト関数G(w)を最小化するwの停留点w*∈RmとのブレグマンダイバージェンスBD(BD(w||w*)またはBD(w*||w))が0に近づくように、潜在変数wを学習する。なお、関数Dは、任意に設計可能な狭義凸関数である。また、停留点w*のことを不動点w*ともいう。
(手順2)
 ここでは、<技術的背景>で説明したように、単調作用素分割を用いて構成される潜在変数の更新規則を用いた学習手順について説明する。<技術的背景>では、N=2の場合について詳細に説明したが、単調作用素分割を用いて潜在変数の更新規則を構成できる任意のNについて、以下説明するような学習手順を構成することができる。例えば、N=3の場合についても、N=2の場合と同様、単調作用素分割の変形が可能であることが数学的に証明できるので、同様の学習手順を構成することができる。
 まず、モデル学習部2-120は、学習データを用いて、潜在変数wを学習する際に用いるセットアップデータを計算する。例えば、上述のコスト関数G(w)の他、関数Dと関数Giを用いて定義されるブレグマンリゾルヴェント作用素Ri(1≦i≦N)、ブレグマンリゾルヴェント作用素Riを用いて定義されるブレグマンケーリー作用素Ci(1≦i≦N)をセットアップデータとして計算する。
 次に、ブレグマンリゾルヴェント作用素Ri(1≦i≦N)とブレグマンケーリー作用素Ci(1≦i≦N)を用いて、潜在変数wの値を再帰的に計算する。具体的には、更新回数のカウントに用いる変数(以下、カウンタともいう)をtとし、モデル学習部2-120は、ブレグマンリゾルヴェント作用素Ri(1≦i≦N)とブレグマンケーリー作用素Ci(1≦i≦N)を用いて、潜在変数wのt+1回目の更新結果であるwt+1を再帰的に計算する。
 なお、カウンタtは、0以上の整数値をとることになる。
 N=2の場合における、一般化P-R型単調作用素分割及び一般化D-R型単調作用素分割を用いて構成される潜在変数の更新規則を用いた学習手順を実行するモデル学習部2-120について説明する。以下、図21~図22を参照してモデル学習部2-120について説明する。図21は、モデル学習部2-120の構成を示すブロック図である。図22は、モデル学習部2-120の動作を示すフローチャートである。図21に示すようにモデル学習部2-120は、初期化部2-121と、潜在変数計算部2-122と、第1補助変数計算部2-123と、第2補助変数計算部2-124と、第3補助変数計算部2-125と、カウンタ更新部2-126と、終了条件判定部2-127を含む。
 図22に従いモデル学習部2-120の動作について説明する。ここでは、潜在変数wの補助変数x, y, z∈Rmを用いる。
 S121において、初期化部2-121は、カウンタtを初期化する。具体的には、t=0とする。また、初期化部2-121は、セットアップデータを計算する。
 S122において、潜在変数計算部2-122は、式(5-1)により、補助変数zのt回目の更新結果であるztから潜在変数wのt+1回目の更新結果であるwt+1を計算する。
 S123において、第1補助変数計算部2-123は、式(5-2)により、S122で用いたztとS122で計算したwt+1から補助変数xのt+1回目の更新結果であるxt+1を計算する。
 S124において、第2補助変数計算部2-124は、式(5-3)により、S123で計算したxt+1から補助変数yのt+1回目の更新結果であるyt+1を計算する。
 S125において、第3補助変数計算部2-125は、補助変数zのt+1回目の更新結果であるzt+1を計算する。具体的に説明する。一般化P-R型単調作用素分割を用いる場合、第3補助変数計算部2-125は、式(5-4)により、S123で計算したxt+1とS124で計算したyt+1から補助変数zのt+1回目の更新結果であるzt+1を計算する。また、一般化D-R型単調作用素分割を用いる場合、第3補助変数計算部2-125は、式(5-5)により、S122で用いたztとS123で計算したxt+1とS124で計算したyt+1から補助変数zのt+1回目の更新結果であるzt+1を計算する(ただし、αは0<α<1を満たす実数である)。
 S126において、カウンタ更新部2-126は、カウンタtを1だけインクリメントする。具体的には、t←t+1とする。
 S127において、終了条件判定部2-127は、カウンタtが所定の更新回数τ(τは1以上の整数とする)に達した場合(つまり、t=τとなり、終了条件が満たされた場合)は、そのときの潜在変数wの値wτを出力して、処理を終了する。それ以外の場合、S122の処理に戻る。つまり、モデル学習部2-120は、S122~S125の計算を繰り返す。なお、S125で計算したzt+1は、次の繰り返し計算におけるS122とS123で用いられる。
Figure JPOXMLDOC01-appb-M000178
《高収束率を実現するための関数Dの条件》
 コスト関数G(w)を最小化するwの停留点w*への収束率を高くするためには、関数Dを以下の条件を満たす関数にすればよい。
(条件)関数Dは、そのヘシアン行列が関数Gi(w)のヘシアン行列の逆行列に近くなるような関数である。
 なお、上記条件は、“関数Dは、そのヘシアン行列の逆行列と関数Gi(w)のヘシアン行列の積が単位行列に近くなるような関数である”ということもできる。
 N=2の場合、<技術的背景>で説明したように、ニュートン法や加速勾配法に従って、関数Dのヘシアン行列を以下のように計算すればよい。
[ケース1]:関数G1は、狭義凸関数である、すなわち、強凸(SC)かつリプシッツ平滑(LS)である場合。
Figure JPOXMLDOC01-appb-M000179
(ただし、ε>0は実数)
 なお、実数εは、ヘシアン行列HDの固有値が0より大きく1以下に収まるように選ばれる。
[ケース2]:関数G1, G2は、いずれも狭義凸関数である、すなわち、いずれも強凸(SC)かつリプシッツ平滑(LS)である場合。
Figure JPOXMLDOC01-appb-M000180
(ただし、ε>0は実数)
 なお、実数εは、ヘシアン行列HDの固有値が0より大きく1以下に収まるように選ばれる。
 式(5-6)及び式(5-8)がニュートン法に従った場合であり、式(5-7)及び式(5-9)が加速勾配法に従った場合である。なお、行列LG_1, LG_2は式(5-10)及び式(5-11)により与えられる行列である。
Figure JPOXMLDOC01-appb-M000181
 または、行列LG_1, LG_2は式(5-12)及び式(5-13)により与えられる行列である。
Figure JPOXMLDOC01-appb-M000182
 式(5-10)及び式(5-12)の行列LG_1は、関数G1(w)の勾配を用いて計算される行列である。また、式(5-11)及び式(5-13)の行列LG_2は、関数G2(w)の勾配を用いて計算される行列である。
 なお、[ケース2]における式(5-8)及び式(5-9)の代わりに、次式のような相乗平均を用いてもよい。
Figure JPOXMLDOC01-appb-M000183
 なお、先のケース1やケース2の説明では、関数G1(w)や関数G2(w)は狭義凸関数であるとしたが、必ずしも数学的に厳密に狭義凸関数である必要はない。つまり、関数G1(w)や関数G2(w)を狭義凸関数であるとみなして扱ってよい場合についても、式(5-6)~式(5-9)により関数Dのヘシアン行列を計算することができる。より詳しく言えば、次のようになる。
[ケース1]:関数G1が、狭義凸関数である(強凸(SC)かつリプシッツ平滑(LS)である)、または、狭義凸関数である(強凸(SC)かつリプシッツ平滑(LS)である)と仮定できる場合。
 この場合は、式(5-6)や式(5-7)により、関数Dのヘシアン行列を計算することができる。
[ケース2]:関数G1, G2のそれぞれが、狭義凸関数である(強凸(SC)かつリプシッツ平滑(LS)である)、または、狭義凸関数である(強凸(SC)かつリプシッツ平滑(LS)である)と仮定できる場合。
 この場合は、式(5-8)や式(5-9)により、関数Dのヘシアン行列を計算することができる。
 上記第2実施形態の説明では、劣微分を用いて説明したが、<技術的背景>で説明したように劣微分の代わりに微分を用いてもよい。この場合、式(5-1)~式(5-5)の代わりに次式を用いればよい。
Figure JPOXMLDOC01-appb-M000184
 また、微分を用いる場合は、次式で表される条件のもと、∇Dを更新するようにしてもよい。
Figure JPOXMLDOC01-appb-M000185
 ただし、∇Dの更新は、以下の式で表される条件を満たす場合に限り、任意のタイミングで行うものとする。
Figure JPOXMLDOC01-appb-M000186
 本実施形態の発明によれば、機械学習の対象となるモデルの潜在変数を高速に学習することができる。本実施形態の発明によれば、ブレグマンリゾルヴェント作用素やブレグマンケーリー作用素を用いた単調作用素分割に基づき、変数更新則を構成することにより、停留点(最適解)への収束が高速になるように、潜在変数を更新することができる。また、ブレグマンダイバージェンスの定義に用いる凸関数を適切に構成することにより、停留点への収束が高速になるような、ブレグマンリゾルヴェント作用素やブレグマンケーリー作用素を用いた単調作用素分割に基づく変数更新則を構成することができる。
<第3実施形態>
 ここでは、<技術的背景>の《5:エッジコンピューティングにおける合意形成問題への適用》で説明した2つの変数更新アルゴリズム(図15及び図16のアルゴリズム)に対応する実施形態について説明する。
 以下、図23を参照して潜在変数学習システム2-20を説明する。図23は、潜在変数学習システム2-20の構成を示すブロック図である。図23に示すように潜在変数学習システム2-20は、V個(Vは1以上の整数)の潜在変数学習装置2-2001, …, 2-200Vを含む。潜在変数学習装置2-200i(i∈v={1,…,V})は、先のエッジコンピューティングにおける合意形成問題に関する説明におけるノードに対応するものである。
 また、各潜在変数学習装置2-200iはネットワーク2-900に接続しており、必要に応じて潜在変数学習装置2-200j(j≠i)と通信する。ネットワーク2-900には、例えば、インターネットを用いることができる。
 以下、図24を参照して潜在変数学習装置2-200を説明する。図24は、潜在変数学習装置2-200の構成を示すブロック図である。図24に示すように潜在変数学習装置2-200は、モデル学習部2-220と、通信部2-280と、記録部2-290を含む。
 潜在変数学習装置2-200iは、学習データを用いて、機械学習の対象となるモデルの潜在変数pi∈Rp’(p’は1以上の整数)を学習する。学習データは、すべての潜在変数学習装置2-200iに共通であってもよいし、潜在変数学習装置2-200iごとに異なるものであってもよい。
 次に、図25~図26を参照してモデル学習部2-220を説明する。図25は、モデル学習部2-220の構成を示すブロック図である。図26は、モデル学習部2-220の動作を示すフローチャートである。図25に示すようにモデル学習部2-220は、初期化部2-221と、潜在変数計算部2-222と、第1双対変数計算部2-223と、同期用変数更新部2-224と、第2双対変数計算部2-225と、カウンタ更新部2-226と、終了条件判定部2-227を含む。
 図26に従いモデル学習部2-220の動作について説明する。具体的な説明に入る前に、いくつか記号について説明する。これらの記号は、これまでの議論で用いてきたものであり、以下の説明は、そのまとめに相当するものである。
 v={1,…,V}は、潜在変数学習装置2-200群のインデックスの集合を表す。また、N(i)は、潜在変数学習装置2-200iと通信をする潜在変数学習装置2-200群のインデックスの集合を表す。
 潜在変数pi, pj(ただし、j∈N(i))に対して、λi|j∈Rp’を潜在変数学習装置2-200iに帰属する双対変数、λj|i∈Rp’を潜在変数学習装置2-200jに帰属する双対変数とする。また、同様に、潜在変数pi, pj(ただし、j∈N(i))に対して、zi|j∈Rp’を潜在変数学習装置2-200iに帰属する双対変数、zj|i∈Rp’を潜在変数学習装置2-200jに帰属する双対変数とする。
 関数F1,i(pi):Rp’→Rを、学習データを用いて計算される、潜在変数piを最適化するためのコスト関数(ただし、F1,i(pi)は閉真凸関数)とする。
 Ai|j∈Rp’×p’を次式により与えられるp’×p’の実数行列とする。
Figure JPOXMLDOC01-appb-M000187
 関数Di|j:Rp’→R(ただし、j∈N(i))を潜在変数学習装置2-200iに帰属する狭義凸関数とする。
 なお、ξi|j, ζiを潜在変数学習装置2-200j(ただし、j∈N(i))から送信されたデータを格納するための潜在変数学習装置2-200iの変数とする。以下、ξi|j, ζiのことを同期用変数ともいう。また、tを変数の更新回数をカウントするための変数(以下、カウンタともいう)、τ(τは1以上の整数)を所定の更新回数とする。このτは、後述するS222~S225の繰り返し計算の回数の上限を表す。
 以降の説明では、Si(i∈v={1,…,V})は、V個の潜在変数学習装置2-2001, …, 2-200Vを示すものとする。したがって、潜在変数学習システム2-20は、潜在変数学習装置Si(i∈v)を含み、潜在変数学習装置Si(i∈v)は、学習データを用いて、所定の手順により潜在変数piを学習する。以下、図26を参照してその手順について説明する。
 S221において、初期化部2-221は、カウンタtを初期化する。具体的には、t=0とする。また、初期化部2-221は、セットアップデータを計算する。例えば、コスト関数F1,i(pi)がその一例である。
 S222において、潜在変数計算部2-222は、次式により、双対変数zi|jのt回目の更新結果であるzi|j tと変数ζiのt回目の更新結果であるζi tから潜在変数piのt+1回目の更新結果であるpi t+1を計算する。
Figure JPOXMLDOC01-appb-M000188
 ただし、zi|j 0及びζi 0には適当な初期値が設定されているものとする。また、γ(γ>0)は所定の実数とする。
 S223において、第1双対変数計算部2-223は、j∈N(i)について、次式により、S222で用いたzi|j tとS222で計算したpi t+1から双対変数λi|j(j∈N(i))のt+1回目の更新結果であるλi|j t+1を計算する。
Figure JPOXMLDOC01-appb-M000189
 ここで、HD_i|jは関数Di|jのヘシアン行列を表す。つまり、HD_i|j -1はその逆行列である。
 S224において、同期用変数更新部2-224は、通信部2-280を用いて、次式により、潜在変数学習装置Sj(j∈N(i))の学習により得られる値を変数ξi|j, ζi(j∈N(i))のt+1回目の更新結果であるξi|j t+1, ζi t+1として受信し、変数ξi|j, ζiを更新する。
Figure JPOXMLDOC01-appb-M000190
 S225において、第2双対変数計算部2-225は、j∈N(i)について、次式により、双対変数zi|j(j∈N(i))のt+1回目の更新結果であるzi|j t+1を計算する。
Figure JPOXMLDOC01-appb-M000191
 ここで、αは0<α<1を満たす実数である。
 なお、式(6-1)は一般化P-R型単調作用素分割を用いる場合、式(6-2)は一般化D-R型単調作用素分割を用いる場合に対応する。
 S226において、カウンタ更新部2-226は、カウンタtを1だけインクリメントする。具体的には、t←t+1とする。
 S227において、終了条件判定部2-227は、カウンタtが所定の更新回数τに達した場合(つまり、t=τとなり、終了条件が満たされた場合)は、そのときの潜在変数piの値pi τを出力して、処理を終了する。それ以外の場合、S222の処理に戻る。つまり、モデル学習部2-220は、S222~S225の計算を繰り返す。なお、S225で計算したzi|j t+1は、次の繰り返し計算におけるS222とS223で用いられる。
 なお、ヘシアン行列HD_i|jは、式(5-6)~式(5-9)を用いて設計するのが好ましい。
(変形例1)
 上述の手順は、図15のアルゴリズムに対応するものである。ここでは、図16のアルゴリズムに対応する手順について説明する。当該手順では、潜在変数を交換する必要がないため、変数ζiを用いない。
 潜在変数学習装置2-200は、図24に示すように、モデル学習部2-220の代わりに、モデル学習部2-230を含む。以下、図27~図28を参照してモデル学習部2-230を説明する。図27は、モデル学習部2-230の構成を示すブロック図である。図28は、モデル学習部2-230の動作を示すフローチャートである。図27に示すようにモデル学習部2-230は、初期化部2-231と、第1双対変数計算部2-232と、潜在変数計算部2-233と、同期用変数更新部2-234と、第2双対変数計算部2-235と、カウンタ更新部2-236と、終了条件判定部2-237を含む。
 図28に従いモデル学習部2-230の動作について説明する。
 S231において、初期化部2-231は、カウンタtを初期化する。具体的には、t=0とする。また、初期化部2-231は、セットアップデータを計算する。
 S232において、第1双対変数計算部2-232は、j∈N(i)について、次式により、双対変数zi|jのt回目の更新結果であるzi|j tと潜在変数piのt回目の更新結果であるpi tから双対変数λi|j(j∈N(i))のt+1回目の更新結果であるλi|j t+1を計算する。
Figure JPOXMLDOC01-appb-M000192
 ただし、zi|j 0及びpi 0には適当な初期値が設定されているものとする。また、HD_i|jは関数Di|jのヘシアン行列、HF_1,iは関数F1,iのヘシアン行列を表す。つまり、HD_i|j -1及びHF_1,i -1はそれらの逆行列である。∂F1,iは関数F1,iの劣微分を表す。
 S233において、潜在変数計算部2-233は、次式により、潜在変数piのt+1回目の更新結果であるpi t+1を計算する。
Figure JPOXMLDOC01-appb-M000193
 ここで、wi|j tは双対変数wi|jのt回目の更新結果を表す。
 S234において、同期用変数更新部2-234は、通信部2-280を用いて、次式により、潜在変数学習装置Sj(j∈N(i))の学習により得られる値を変数ξi|j(j∈N(i))のt+1回目の更新結果であるξi|j t+1として受信し、変数ξi|jを更新する。
Figure JPOXMLDOC01-appb-M000194
 S225において、第2双対変数計算部2-225は、j∈N(i)について、次式により、双対変数zi|j(j∈N(i))のt+1回目の更新結果であるzi|j t+1を計算する。
Figure JPOXMLDOC01-appb-M000195
 ここで、αは0<α<1を満たす実数である。
 なお、式(6-1)は一般化P-R型単調作用素分割を用いる場合、式(6-2)は一般化D-R型単調作用素分割を用いる場合に対応する。
 S236において、カウンタ更新部2-236は、カウンタtを1だけインクリメントする。具体的には、t←t+1とする。
 S237において、終了条件判定部2-237は、カウンタtが所定の更新回数τに達した場合(つまり、t=τとなり、終了条件が満たされた場合)は、そのときの潜在変数piの値pi τを出力して、処理を終了する。それ以外の場合、S232の処理に戻る。つまり、モデル学習部2-230は、S232~S235の計算を繰り返す。なお、S235で計算したzi|j t+1は、次の繰り返し計算におけるS232とS233で用いられる。
 なお、ヘシアン行列HD_i|jは、式(5-6)~式(5-9)を用いて設計するのが好ましい。
 本実施形態の発明によれば、機械学習の対象となるモデルの潜在変数を高速に学習することができる。本実施形態の発明によれば、ブレグマンリゾルヴェント作用素やブレグマンケーリー作用素を用いた単調作用素分割に基づき、変数更新則を構成することにより、停留点(最適解)への収束が高速になるように、潜在変数を更新することができる。また、ブレグマンダイバージェンスの定義に用いる凸関数を適切に構成することにより、停留点への収束が高速になるような、ブレグマンリゾルヴェント作用素やブレグマンケーリー作用素を用いた単調作用素分割に基づく変数更新則を構成することができる。
<補記>
 本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
 ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
 ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
 本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
 既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP-ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 上述の本発明の実施形態の記載は、例証と記載の目的で提示されたものである。網羅的であるという意思はなく、開示された厳密な形式に発明を限定する意思もない。変形やバリエーションは上述の教示から可能である。実施形態は、本発明の原理の最も良い例証を提供するために、そして、この分野の当業者が、熟考された実際の使用に適するように本発明を色々な実施形態で、また、色々な変形を付加して利用できるようにするために、選ばれて表現されたものである。すべてのそのような変形やバリエーションは、公正に合法的に公平に与えられる幅にしたがって解釈された添付の請求項によって定められた本発明のスコープ内である。

Claims (8)

  1.  複数のモデルを含むニューラルネットワークシステムであって、
     上記複数のモデルのそれぞれは、複数の層を含むDNNであり、
     上記複数のモデルの一部又は全部は、モデル変数の一部又は全部が等価であるかまたは共通している層(以下、「共有層」という)を少なくとも1個含み、かつ、モデル変数が等価でも共通でもない層(以下、「非共有層」という)を少なくとも1個含んでいる、
     ニューラルネットワークシステム。
  2.  請求項1に記載のニューラルネットワークシステムにおいて、
     上記共有層は、入力層、または、入力層を含む連続する複数の層である、
     ニューラルネットワークシステム。
  3.  請求項1または2に記載のニューラルネットワークシステムにおいて、
     上記複数のモデルは、同じタスクのDNNであり、かつ、層の数が互いに異なるDNNである、
     ニューラルネットワークシステム。
  4.  請求項1または2に記載のニューラルネットワークシステムにおいて、
     上記複数のモデルは、互いに異なるタスクのDNNである、
     ニューラルネットワークシステム。
  5.  請求項1ないし4のいずれか1項に記載のニューラルネットワークシステムにおいて、
     上記共有層は、上記複数のモデルの対応する層同士でモデル変数の一部又は全部を授受すること含んだモデル変数の更新処理を行う、
     ニューラルネットワークシステム。
  6.  請求項1ないし4のいずれか1項に記載のニューラルネットワークシステムにおいて、
     上記共有層として、上記複数のモデルにおいて同じ1つの層が用いられる、
     ニューラルネットワークシステム。
  7.  複数のモデルを含むニューラルネットワーク方法であって、
     上記複数のモデルのそれぞれは、複数の層を含むDNNであり、
     上記複数のモデルの一部又は全部は、モデル変数の一部又は全部が等価であるかまたは共通している層(以下、「共有層」という)を少なくとも1個含み、かつ、モデル変数が等価でも共通でもない層(以下、「非共有層」という)を少なくとも1個含んでいる、
     ニューラルネットワーク方法。
  8.  請求項1ないし6のいずれか1項に記載のニューラルネットワークシステムとしてコンピュータを機能させるためのプログラム。
PCT/JP2019/015972 2018-04-12 2019-04-12 ニューラルネットワークシステム、ニューラルネットワーク方法、プログラム WO2019198814A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020513460A JP7179835B2 (ja) 2018-04-12 2019-04-12 モデル生成装置、モデル生成方法、プログラム
US17/046,292 US20210073615A1 (en) 2018-04-12 2019-04-12 Neural network system, neural network method, and program

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2018-076817 2018-04-12
JP2018076816 2018-04-12
JP2018076817 2018-04-12
JP2018-076816 2018-04-12
JP2018076813 2018-04-12
JP2018-076813 2018-04-12
JP2018-202397 2018-10-29
JP2018202397 2018-10-29

Publications (1)

Publication Number Publication Date
WO2019198814A1 true WO2019198814A1 (ja) 2019-10-17

Family

ID=68164022

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/015972 WO2019198814A1 (ja) 2018-04-12 2019-04-12 ニューラルネットワークシステム、ニューラルネットワーク方法、プログラム

Country Status (3)

Country Link
US (1) US20210073615A1 (ja)
JP (1) JP7179835B2 (ja)
WO (1) WO2019198814A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022028871A (ja) * 2020-12-14 2022-02-16 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド マルチタスクモデルのパラメータ更新方法、装置及び電子機器
WO2023100221A1 (ja) * 2021-11-30 2023-06-08 日本電信電話株式会社 映像音声変換装置、方法およびプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022088171A1 (en) * 2020-11-02 2022-05-05 Alibaba Group Holding Limited Neural processing unit synchronization systems and methods
US11734574B1 (en) * 2022-03-08 2023-08-22 Booz Allen Hamilton Inc. Neural Bregman divergences for distance learning
CN116070720B (zh) * 2023-03-23 2023-07-21 山东海量信息技术研究院 基于分布式集群的数据处理方法、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197705A (ja) * 1991-07-09 1993-08-06 Fujitsu Ltd ニューラルネットワークの学習システム
JP2017514251A (ja) * 2014-04-11 2017-06-01 グーグル インコーポレイテッド 畳み込みニューラルネットワークのトレーニングの並列化
JP2017211799A (ja) * 2016-05-25 2017-11-30 キヤノン株式会社 情報処理装置および情報処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295227A (en) * 1991-07-09 1994-03-15 Fujitsu Limited Neural network learning system
JP5197705B2 (ja) 2010-09-24 2013-05-15 ヤフー株式会社 情報を表示する端末、方法及びプログラム
CN105981008B (zh) * 2014-05-27 2019-05-28 北京旷视科技有限公司 学习深度人脸表示
JP5993897B2 (ja) * 2014-06-19 2016-09-14 ヤフー株式会社 特定装置、特定方法及び特定プログラム
CN104036451B (zh) * 2014-06-20 2018-12-11 深圳市腾讯计算机系统有限公司 基于多图形处理器的模型并行处理方法及装置
US20180157972A1 (en) * 2016-12-02 2018-06-07 Apple Inc. Partially shared neural networks for multiple tasks
US11250325B2 (en) * 2017-12-12 2022-02-15 Samsung Electronics Co., Ltd. Self-pruning neural networks for weight parameter reduction
US12008459B2 (en) * 2019-04-19 2024-06-11 Microsoft Technology Licensing, Llc Multi-task machine learning architectures and training procedures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197705A (ja) * 1991-07-09 1993-08-06 Fujitsu Ltd ニューラルネットワークの学習システム
JP2017514251A (ja) * 2014-04-11 2017-06-01 グーグル インコーポレイテッド 畳み込みニューラルネットワークのトレーニングの並列化
JP2017211799A (ja) * 2016-05-25 2017-11-30 キヤノン株式会社 情報処理装置および情報処理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DEAN, J. ET AL.: "Large Scale Distributed Deep Networks", PROCEEDINGS OF NEURAL INFORMATION PROCESSING SYSTEMS 2012 (NIPS 2012), vol. 1, 2012, pages 1 - 9, XP055604023 *
WATANABE, E. ET AL.: "A Cooperative Learning Algorithm for Multi-Layered Neural Networks by using a PC Cluster", IEICE TECHNICAL REPORT, vol. 100, no. 466, 17 November 2000 (2000-11-17), pages 79 - 86, ISSN: 0913-5685 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022028871A (ja) * 2020-12-14 2022-02-16 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド マルチタスクモデルのパラメータ更新方法、装置及び電子機器
JP7194252B2 (ja) 2020-12-14 2022-12-21 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド マルチタスクモデルのパラメータ更新方法、装置及び電子機器
WO2023100221A1 (ja) * 2021-11-30 2023-06-08 日本電信電話株式会社 映像音声変換装置、方法およびプログラム

Also Published As

Publication number Publication date
US20210073615A1 (en) 2021-03-11
JP7179835B2 (ja) 2022-11-29
JPWO2019198814A1 (ja) 2021-04-01

Similar Documents

Publication Publication Date Title
WO2019198814A1 (ja) ニューラルネットワークシステム、ニューラルネットワーク方法、プログラム
JP7471736B2 (ja) 量子系の基底状態エネルギーの推定方法、およびシステム
US20200410384A1 (en) Hybrid quantum-classical generative models for learning data distributions
Li et al. Intelligent control
Chua et al. How fine-tuning allows for effective meta-learning
Bruna et al. Neural Galerkin schemes with active learning for high-dimensional evolution equations
JP7304488B2 (ja) 強化学習ベースの局所解釈可能モデル
CN115699029A (zh) 利用神经网络中的后向传递知识改进知识蒸馏
WO2021183225A2 (en) Training of variational quantum classifiers by parametric coordinate ascent
JP7309004B2 (ja) 潜在変数学習装置、潜在変数学習方法、プログラム
Köfinger et al. Empirical optimization of molecular simulation force fields by Bayesian inference
Jaksch et al. Variational quantum algorithms for computational fluid dynamics
Landry et al. A differentiable augmented lagrangian method for bilevel nonlinear optimization
JP2023162346A (ja) 学習を転移させるための学習のためのフレームワーク
Li et al. Application of distributed semi-quantum computing model in phase estimation
JP2017016384A (ja) 混合係数パラメータ学習装置、混合生起確率算出装置、及び、これらのプログラム
Su Variational preparation of the thermofield double state of the Sachdev-Ye-Kitaev model
Chen et al. Doubly robust off-policy learning on low-dimensional manifolds by deep neural networks
Zhang et al. Evolutionary-based searching method for quantum circuit architecture
Jose et al. Error-mitigation-aided optimization of parameterized quantum circuits: Convergence analysis
Mehta et al. An optimal control approach to mode generation in hybrid systems
US20230289501A1 (en) Reducing Resources in Quantum Circuits
CN115310618A (zh) 量子操作中的量子噪声消除方法及装置、电子设备和介质
Gupta et al. Sequential knowledge transfer across problems
JP7118882B2 (ja) 変数変換装置、潜在パラメータ学習装置、潜在パラメータ生成装置、これらの方法及びプログラム

Legal Events

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

Ref document number: 19786072

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020513460

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19786072

Country of ref document: EP

Kind code of ref document: A1