WO2021066504A1 - 심층 신경망 구조 학습 및 경량화 방법 - Google Patents

심층 신경망 구조 학습 및 경량화 방법 Download PDF

Info

Publication number
WO2021066504A1
WO2021066504A1 PCT/KR2020/013304 KR2020013304W WO2021066504A1 WO 2021066504 A1 WO2021066504 A1 WO 2021066504A1 KR 2020013304 W KR2020013304 W KR 2020013304W WO 2021066504 A1 WO2021066504 A1 WO 2021066504A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
parameter
deep neural
network structure
model
Prior art date
Application number
PCT/KR2020/013304
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
Priority claimed from KR1020200043231A external-priority patent/KR20210039921A/ko
Priority claimed from KR1020200126288A external-priority patent/KR20210157826A/ko
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to EP20871182.0A priority Critical patent/EP4040342A4/en
Priority to CN202080069687.8A priority patent/CN114503122A/zh
Priority to US17/760,650 priority patent/US20220343162A1/en
Publication of WO2021066504A1 publication Critical patent/WO2021066504A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • 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/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0985Hyperparameter optimisation; Meta-learning; Learning-to-learn
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning

Definitions

  • the present invention relates to a deep neural network structure learning and weight reduction method.
  • DNNs Deep neural networks
  • computer processing speech recognition
  • image recognition image recognition
  • the deep neural network becomes larger and more complex, and the amount of computation and memory for driving the deep neural network is rapidly increasing.
  • deep neural networks reduce the burden of feature engineering by human experts, but instead, there is a problem that a lot of efforts of human experts are required to design an effective structure of the deep neural network.
  • the present invention has been proposed in order to solve the above-described problem, and reduces the amount of computation and memory required for inference by removing unnecessary parts of the deep neural network, thereby reducing the amount of computation and memory required for inference, and a structure of an optimized deep neural network that secures improved accuracy.
  • the purpose of this is to provide a deep neural network structure learning and lightweight method that can be learned.
  • the deep neural network structure training and weight reduction method includes (a) generating a parameter for a neural network model, (b) generating an objective function corresponding to the neural network model based on the parameter, and (c) ) Based on the training data and the objective function, it characterized in that it comprises the step of performing training on parameters and performing model training.
  • the neural network model includes a plurality of components, and the plurality of components are grouped into a plurality of modules.
  • Step (a) creates an architecture parameter and a model parameter for the neural network model.
  • the neural network model excludes the component from the contention group when the strength of the component corresponding to the architecture parameter becomes smaller than a predetermined value within the contention group.
  • step (c) training is performed on a parameter using a stochastic gradient descent.
  • step (c) learning about weights and learning about a neural network structure are performed at the same time.
  • step (c) the gradient calculation is performed using the modified configuration of the stochastic gradient descent, but the forward and reverse calculations are performed.
  • it further includes generating and storing a lightweight model based on the training result in step (b-1) (c).
  • step (a-1) further comprises re-parameterizing the parameter.
  • Step (a-1) performs re-parameterization so that the parameter becomes 0.
  • step (a-1) re-parameterization is performed in a sub-differentiable form so that the parameter becomes 0.
  • the present invention by simultaneously learning the parameters of the neural network and the structure of the neural network through training using stochastic gradient descent (SGD), it is possible to reduce the cost of inference and improve the performance of the deep neural network system. There is a possible effect.
  • SGD stochastic gradient descent
  • FIG. 1 illustrates a deep neural network system according to an embodiment of the present invention.
  • FIG. 2 illustrates a deep neural network structure learning and weight reduction method according to an embodiment of the present invention.
  • FIG. 3 illustrates a process of generating an objective function according to an embodiment of the present invention.
  • FIG. 4 shows a process of generating a lightweight model according to an embodiment of the present invention.
  • FIG 5 shows an application example of ResNet according to an embodiment of the present invention.
  • FIG 7 shows an application example of DenseNet according to an embodiment of the present invention.
  • a full differentiable sparsification method for optimizing the objective function of a neural network and learning the sparsified structure and model parameters of the neural network at the same time is used. Suggest.
  • a pre-differentiable method in which the magnitude of parameters or the strength of connections converge to zero during training using stochastic gradient descent (SGD).
  • SGD stochastic gradient descent
  • the deep neural network structure learning and weight reduction method according to an embodiment of the present invention can be easily applied to structured sparsification/group sparsification in which parameters are sparse in units of groups or building blocks.
  • GPU Graphic Processing Unit
  • the deep neural network structure learning and weight reduction method according to an embodiment of the present invention can be easily applied to unstructured sparsification that sparsifies in units of individual model parameters.
  • FIG. 1 illustrates a deep neural network system according to an embodiment of the present invention.
  • the deep neural network system 100 includes a controller 110, a neural network accelerator 120, a memory 130, and a lightweight model 140.
  • the deep neural network system 100 is configured to drive various deep neural networks (DNNs) such as ResNet, ResNeXt, DenseNet, and Graph Convolutional Network (GCN).
  • DNNs deep neural networks
  • ResNet ResNet
  • ResNeXt ResNeXt
  • DenseNet DenseNet
  • GCN Graph Convolutional Network
  • the deep nervous system 100 may include various computing systems or information processing systems such as personal computers, notebook computers, tablets, smart phones, servers, workstations, black boxes, automotive electronic systems, and the like.
  • the controller 110 controls various operations performed by the deep neural network system 100.
  • the controller 110 determines a neural network model to be used in the neural network accelerator 120, and sets various parameters and an objective function (or a loss function or a cost function) for the determined neural network model.
  • the parameter set by the controller 110 is an importance parameter or an architecture parameter indicating the importance of the configurations included in the neural network model.
  • the neural network accelerator 120 performs training under the control of the controller 110.
  • the neural network accelerator 120 receives a neural network model, an objective function, and training data from the controller 110.
  • the neural network accelerator 120 performs training based on the information received from the controller 110 and generates a lightweight model 140 as a result of the training.
  • the lightweight model 140 is defined as a model in which unnecessary configurations are deleted or removed from among a plurality of configurations included in the neural network model.
  • the neural network accelerator 120 performs training using stochastic gradient descent (SGD).
  • SGD stochastic gradient descent
  • the neural network accelerator 120 simultaneously trains a plurality of parameters based on the training data and the objective function, and performs model training.
  • the memory 130 stores various information (eg, parameter information) generated or updated during the training process of the neural network accelerator 120.
  • FIG. 2 illustrates a deep neural network structure learning and weight reduction method according to an embodiment of the present invention.
  • the deep neural network system 100 generates an objective function based on the neural network model (S100).
  • the deep neural network system 100 is configured to drive various deep neural networks (DNNs) such as ResNet, ResNeXt, DenseNet, and Graph Convolutional Network (GCN).
  • DNNs deep neural networks
  • ResNet ResNet
  • ResNeXt ResNeXt
  • DenseNet DenseNet
  • GCN Graph Convolutional Network
  • the controller 110 selects a neural network model corresponding to a neural network to be trained from among various deep neural networks, and generates an objective function for the selected neural network model.
  • the deep neural network system 100 generates a lightweight model 140 by performing training based on an objective function and training data (S200).
  • the neural network accelerator 120 receives a neural network model, an objective function, and training data from the controller 110 and performs training based on the received information.
  • Training of the neural network accelerator 120 is performed based on a stochastic gradient descent (SGD) method, unnecessary configurations among a plurality of configurations included in the neural network model are removed, and learning about a plurality of parameters is performed. Model training is performed simultaneously.
  • SGD stochastic gradient descent
  • the deep neural network system 100 performs a neural network operation based on the generated lightweight model 140 (S300).
  • the deep neural network system 100 performs various deep neural network operations, such as speech recognition, image recognition, and image classification, for input data based on the lightweight model 140.
  • the deep neural network system performs training by optimizing an objective function (or a cost function or a loss function) for a neural network model, thereby reducing the weight of the deep neural network structure and improving the overall computation speed. .
  • FIG. 3 illustrates a process of generating an objective function according to an embodiment of the present invention.
  • the controller 110 receives a neural network model (S110).
  • the controller 110 selects a group of components (S120), and receives information on a neural network model to be trained by the neural network accelerator 120 among various deep neural network models.
  • a neural network model or a module constituting a neural network is [Equation 1] It is assumed to be defined as ].
  • the model in [Equation 1] is called a base model.
  • y is an output of a basic model or a module included in the basic model (ie, a neural network model), and f is a plurality of components included in the module.
  • i is an index for classifying a plurality of components
  • n is the number of components.
  • the output of the basic model, y is defined as a linear combination of a plurality of components f included in the module.
  • the group of components may be a module described with reference to [Equation 1], and may be variously set according to the type of the deep neural network.
  • a component may be a building block for a deep neural network or its outputs.
  • the component may be a residual block of ResNet, a branch of the residual block of ResNeXt, and a feature map of a densely connected layer of DenseNet.
  • a module may be a set of components such as a stage of ResNet, a residual block of ResNeXt, a concatenated feature map of DenseNet, or it may represent an entire neural network.
  • x is an input to the module
  • w is a model parameter (or weight) for component f
  • a is an architecture parameter or importance parameter.
  • the model parameter (w) is an ordinary parameter such as a filter of a convolutional layer or a weight of a fully connected layer.
  • the value of the architecture parameter (a) indicates the importance of the corresponding component, and can also be viewed as the strength of the connection between blocks.
  • the controller 110 sets an architecture parameter (S130).
  • the architecture parameter (a) In the training process for the neural network model, as the architecture parameter (a) becomes 0, unnecessary or insignificant components may be removed. To this end, the architecture parameter (a) is defined as in [Equation 2].
  • ReLU Rectified Linear Unit
  • the architecture parameter (a) When the architecture parameter (a) is set as in [Equation 2], the architecture parameter (a) may converge to 0 (zero) during the training process.
  • the free parameters ( ⁇ , ⁇ ) are real and are not limited in the training process using the stochastic gradient descent, and the architecture parameter (a) is trained through the free parameters ( ⁇ , ⁇ ) accordingly.
  • the architecture parameter (a) cannot be 0 by the exponential function exp( ⁇ ) of [Equation 2], but May be 0 by a thresholding operation, and accordingly, the architecture parameter (a) may be 0.
  • the scalar parameter ⁇ of Equation 2 that determines the size of the threshold may not be a hyper-parameter, and may be automatically determined through training.
  • the thresholding operation is not differentiable, but considering that relu is supported as a differentiable function built into the latest deep neural network learning tools, it is not a problem. This is because differentiation is not defined only at a specific point (0), differentiation is possible in a domain of most input values, and a subgradient exists in all areas.
  • is not a negative number
  • l 1 - sum of he (l 1 -norm) is ⁇ i (i.e., ) Can be simplified.
  • the controller 110 sets an objective function for the neural network model (S140).
  • the objective function (or cost function or loss function) is expressed as [Equation 5].
  • L is a prediction loss
  • R is a regularization term
  • D is a set of training data
  • W is a set of model parameters (w). (That is, ⁇ w i ⁇ ), ⁇ is a factor that controls the trade-off between prediction loss and model complexity, and a is a vector composed of architecture parameters.
  • cross entropy can be used as a predicted loss function
  • regression a mean squared error can be used as a loss function
  • the architecture parameter (a) is sparse or the architecture parameter ( It can further promote competition between the elements of a).
  • the architecture parameters (a) is so normalized using the SoftMax (softmax), l 1 - he (l 1 -norm) is always 1 (one) (i.e., ).
  • the normalization term uses a p-norm as shown in [Equation 6], and in this case, it is preferable to set p ⁇ 1.
  • the normalization term can be differentiated in almost all domains, and the architecture parameter can be 0 during training, it is possible to simultaneously learn the architecture parameter and the model parameter using probabilistic gradient descent. .
  • FIG. 4 shows a process of generating a lightweight model according to an embodiment of the present invention.
  • the neural network accelerator 120 receives a neural network model and an objective function (S210).
  • the variable k is set to 1 (S220).
  • variable k is for explaining the iterative performance of the training operation of the neural network accelerator.
  • the neural network accelerator 120 receives k-th training data from the controller 110 or a separate input device (S230), and, for example, the k-th training data is input in a mini-batch form.
  • the neural network accelerator 120 performs training using probabilistic gradient descent (SGD).
  • SGD probabilistic gradient descent
  • the neural network accelerator 120 calculates a gradient based on the k-th training data, a neural network model, and an objective function (S240).
  • the neural network accelerator 120 updates values of parameters (model parameter (w) and architecture parameter (a)) based on the calculated gradient (S250).
  • the parameters may be updated with parameters for which the objective function is optimized (ie, minimum) based on the calculated gradient (ie, the gradient of the objective function).
  • variable k is the maximum (that is, whether the training has been repeatedly performed a given number of times) (S260).
  • variable k is not the maximum, the variable k is increased by 1 (S261), and step S230 is performed.
  • the neural network accelerator 120 When the variable k is the maximum, the neural network accelerator 120 generates and stores the weight reduction model 140 (S270).
  • the slope calculation in step S240 is performed using stochastic gradient descent (SGD).
  • the gradient calculation can be performed using a modified configuration of stochastic gradient descent (SGD), for example, by modifying the calculations for the forward pass and the backward pass.
  • SGD stochastic gradient descent
  • I can.
  • the forward path calculation for the architecture parameter (a) is performed based on [Equation 2]
  • the reverse path calculation is performed in [Equation 2].
  • elu is an Exponential Linear Unit (ELU) function.
  • Equation 2 If is less than the threshold, the gradient becomes 0, and gradient-based learning information cannot be generated for the component. But, If is less than the threshold, it does not necessarily mean that the component is removed, and learning information can no longer be generated while learning is in progress.
  • a method of continuously generating learning information even for a component that is smaller than a threshold value is disclosed.
  • the present invention can be easily implemented using the latest deep neural network learning tools, and such learning can be performed in a framework of probabilistic gradient optimization such as Tensorflow of Google.
  • model parameters for a neural network model i.e., general parameters such as a filter of a convolution layer or a weight of a fully connected layer
  • architecture parameters for each component can be learned at the same time.
  • the process of reducing the weight of the neural network can be simplified, and the neural network computation performance can be improved by using the generated weight reduction model.
  • FIG 5 shows an application example of ResNet according to an embodiment of the present invention.
  • ResNet includes a plurality of stages.
  • One stage for ResNet is shown, and it is assumed that one stage includes first to third residual blocks RB1 to RB3.
  • input data (x s ) is provided as a first residual block (RB1), and an output of the first residual block (RB1) is provided with input data (x s ), and a second residual block ( RB2), and the output of the second residual block RB2 is provided as an input of the third residual block RB3 together with the input of the second residual block RB2, and the third residual block RB3
  • the output of is output as output data y s of the stage together with the input of the third residual block RB3.
  • Each of the residual blocks RB1 to RB3 is connected to each other through first to third shortcuts SC1 to SC3.
  • each stage can be regarded as an independent group, and different depths can be learned in each stage.
  • the residual block and stage of ResNet may correspond to the above-described components and modules, and the output of one stage of ResNet may be expressed as [Equation 8].
  • Equation 8 y s is the stage or the output of the stage, x s is the input to the stage, n s is the number of residual blocks included in the stage, f i s is the residual block, and w i s are model parameters for f i s, ego, to be.
  • Blocks included in the same stage compete with each other in the training process, and some elements of the importance parameter or architecture parameter (a) are 0 (zero). And the depth is determined accordingly.
  • the architecture parameter corresponding to the second residual block RB2 is converged to 0 during the training process, and the second residual block RB2 is Is removed.
  • an objective function applied to ResNet is expressed as [Equation 9].
  • S is the number of stages, and a s is a vector of architecture parameters of the sth stage.
  • the architecture parameter and the objective function can be applied to ResNet, which is a kind of deep neural network, and unnecessary components are removed during the training process of ResNet, thereby reducing the weight of the neural network model of ResNet. This is to learn the number or depth of residual blocks in each stage.
  • one residual block is composed of a plurality of branches.
  • One layer and a residual block for ResNeXt are shown in FIG. 6, and it is assumed that one residual block includes first to third residual branches RB1 to RB3.
  • input data (x s,b ) is provided as first to third residual branches RB1 to RB3, respectively, and output of the first to third residual branches RB1 to RB3 Are output as output data (y s,b ) of a layer or residual block together with input data (x s ).
  • ResNeXt has a structure similar to ResNet described above with reference to FIG. 5, but each residual block of ResNet has a single branch, whereas each residual block of ResNeXt includes a plurality of branches.
  • each residual block is regarded as an independent group, and by removing unnecessary residual blocks, different widths (cardinality) or different numbers of residual branches can be learned in each residual block.
  • the residual block and the residual branch of ResNeXt correspond to the component and the module, respectively, and the output of the layer or the residual block is expressed as [Equation 10].
  • y s,b are the b-th residual block of the sth stage
  • f i s,b are the branches of the residual block
  • x s,b are inputs of the block and branch
  • n s ,b is the number of branches
  • w i s,b is the model parameters of f i s,b.
  • the branches within the same block compete with each other, so that the width is learned.
  • the objective function applied to ResNeXt is as shown in [Equation 11].
  • B s is the number of residual blocks of the sth stage
  • a s,b is a vector of architecture parameters for the bth residual block of the sth stage.
  • ResNeXt which is a kind of deep neural network
  • unnecessary components are removed during the training process of ResNeXt, thereby optimizing the neural network model of ResNeXt and reducing weight.
  • FIG 7 shows an application example of DenseNet according to an embodiment of the present invention.
  • DenseNet includes a plurality of stages, and one stage for DenseNet is illustrated in FIG. 7, and one stage includes first to seventh layers.
  • the index of s is the stage
  • the input of the first layer is expressed as the first row
  • the output is expressed as x l+1 s.
  • the fourth row ROW4 is the input of the fourth layer, and x 4+1 s is the output of the fourth layer.
  • the trained architecture parameter structure SP may be defined as shown in FIG. 7.
  • DenseNet may be configured such that some parameters converge to 0 in the fourth row ROW4 through training according to an embodiment of the present invention.
  • DenseNet the input of a layer consists of feature maps output from all previous layers.
  • feature maps are grouped by row and input feature maps compete with each other, so that the most efficient features or connections can be selected at each layer.
  • the layer of DenseNet can be expressed as [Equation 12]. Accordingly, the density connections between the layer and the layer are learned.
  • x l s is an output feature map of the first layer of the s stage, and x 0 s is given from the previous stage.
  • f l s is a nonlinear composition function
  • w l s is the model parameters
  • L s is the number of layers of the sth stage
  • a s,l is a vector of architecture parameters for the first block of the sth stage.
  • Architecture parameters and objective functions according to an embodiment of the present invention can be applied to DenseNet, a kind of deep neural network, and unnecessary components are removed during the training process of DenseNet, so that the neural network model of DenseNet can be optimized and lightened.
  • GCN may include a plurality of layers (layers), one layer is shown in FIG. 8, and one layer includes an adjacency matrix (ADJ), a feature map matrix (FT), and a weight matrix (WT). Is assumed to be.
  • layers layers
  • ADJ adjacency matrix
  • FT feature map matrix
  • WT weight matrix
  • the layer of GCN is as shown in [Equation 14].
  • A is an adjacency matrix (ADJ)
  • H l and W l are the input feature map matrix (FT) and weight matrix (WT) for the first layer
  • F is the nonlinear activation function ( nonlinear activation function).
  • the elements of A are non-negative and are shared between GCN blocks or layers.
  • A is It is obtained by normalization such as or.
  • the adjacency matrix can represent the relationships or connections between nodes on the graph, and is given by an expert with domain knowledge.
  • a i,j becomes learning the relationship between nodes i and j. For example, when the value of A i,j is 0 (zero), two nodes i and j may be considered to be independent of each other.
  • each row and column of an adjacent matrix may be defined as a group.
  • Grouping rows can create contention between in-coming nodes, and grouping columns can create contention between out-going nodes. For example, as shown in FIGS. 8 and 9, by grouping the ith row (A i,: ), contention between input nodes for the ith node is generated, and the ith column (A :, By grouping j ), a contention between output nodes for the i-th node is created.
  • Softmax normalization can be replaced by Sinkhorn normalization.
  • each row and each column is 1 (one), respectively.
  • D r and D c are diagonal matrices.
  • W ⁇ W l ⁇
  • N is the size of a square matrix A
  • a i,: and A :,j are the ith row vector and the ith column vector of A.
  • the architecture parameters and objective functions according to an embodiment of the present invention can be applied to GCN, which is a kind of deep neural network, and unnecessary components of the adjacent matrix are removed during the training process of the GCN, thereby optimizing the neural network model of GCN and reducing weight.
  • the present invention is 2,1 l - can be compared to the guy (l 2,1 -norm) group rare normalized (group sparsity regularization) using the method.
  • the group may be defined as a set of parameters for the same filter, neuron, or layer so that all parameters in the same group are kept together or are 0 (zero) together.
  • Group sparsity can be applied to automatically determine the number of neurons and layers.
  • W ⁇ w g ⁇
  • w g is a group of model parameters.
  • the proximal operator consists of weight decaying and thresholding steps, and a separate prediction loss after optimization in all mini-batch or epochs. Is carried out in steps.
  • Parameter update using proximal gradient descent can be viewed as a model discretization step.
  • prediction accuracy and model complexity can be simultaneously optimized, and thus a trade-off between the above-described configurations can be optimized.
  • a sparse structure can be learned using stochastic gradient descent without an additional discrete step.
  • other related group normalization scheme is 1,2 l - an exclusive lasso having a guy (l 1,2 -norm).
  • the normalization term can be expressed as [Equation 21].
  • [Equation 22] is a learning method to sparse a deep neural network
  • [Equation 2] is a model construction method of a deep neural network.
  • the structure of a neural network may be learned by optimizing an architecture parameter in a relaxed continuous domain.
  • an optimized deep neural network structure that reduces the amount of computation and memory required for inference by removing unnecessary parts of the deep neural network without using an importance parameter or an architecture parameter, and at the same time securing improved accuracy. You can learn.
  • the original model parameter ( ⁇ g,i ) is reconstructed in a form that can be differentiated in almost all input regions or sub-differentiable form as shown in [Equation 23].
  • -It is parameterized.
  • the group size is exp( If it is less than ), all parameters in the same group are zero-out.
  • I is a constant, but a trainable parameter that can be adjusted in consideration of the trade-off between the prediction loss through training and the normalization term.
  • [Equation 20] and [Equation 23] have a similar form.
  • the approximation operator is a learning rule
  • [Equation 23] is a parameterized form of a model parameter that is part of a neural network, and its meaning is completely different. Therefore, according to an embodiment of the present invention, the model parameter ( ⁇ g,i ) and the threshold parameter ( ) By making unnecessary parameters to 0 through learning, it is possible to lighten the neural network and learn the structure of the neural network.
  • a model structure and a model parameter may be simultaneously learned using a stochastic gradient drop.
  • is a learnable scale parameter.
  • a method for unstructured sparsity is provided. Similar to the method for structured sparsity described above, the original model parameter ( ⁇ g,i ) is input as shown in [Equation 25] so that the value of the model parameter becomes 0 (zero) when the value of the model parameter is less than a certain value. Re-parameterize the domain into a form that can be differentiated or a sub-differentiable form.
  • [Equation 22] and [Equation 25] have a similar form.
  • the approximation operator is a learning rule
  • [Equation 25] is a parameterized form of a model parameter that is part of a neural network, and its meaning is completely different. Therefore, according to an embodiment of the present invention, the model parameter ( ⁇ g,i ) and the threshold parameter ( ) You can make unnecessary parameters to zero through learning.
  • Group normalization such as l 2,1 -norm can induce parameters in the same group to have the same value, and by increasing the threshold, all parameters can be removed.
  • l 2,1 -norm as the normalizer, we can induce that all parameters in the group can be removed at the same time.
  • the slope of the sign function is almost zero in all intervals, but it does not pose a problem for modern deep learning tools.
  • Equation 25 can be expressed as [Equation 26].
  • ( ⁇ ) is the min (-, 0).
  • variable can be individually controlled.
  • the normalized objective function according to an embodiment of the present invention is expressed as [Equation 27].
  • D is the set of training data (set, set), W and Are the original and reformulated model parameters, Is the set of threshold parameters.
  • the threshold parameter can receive training information directly from the normalization term, and thus can better learn how to balance the prediction loss and model complexity.
  • [Equation 23] and [Equation 25] can be seen as derived from l2,1-norm and l1,2-nom, respectively, but the need to be used in pairs with l2,1-norm and l1,2-norm No, it can be used in combination with various regularizers. This is because [Equation 23] and [Equation 25] are only reconstructed model parameters such that unnecessary components or model parameters of the neural network become 0 through learning, and are still part of the neural network.
  • relu may be used in a forward path and elu may be used in a backward path so that learning information can be generated even when the size of a group or parameter is smaller than a threshold value.
  • Gradual scheduling ⁇ can smoothly transform the structure of the deep neural network and make the learning process more stable.
  • the value of ⁇ may gradually increase from the initial value ⁇ i to the final value ⁇ f up to n generations (epoch).
  • t is an index pointing to each generation.
  • the deep neural network structure learning and weight reduction method may be implemented in a computer system or recorded on a recording medium.
  • the computer system may include at least one processor, memory, user input device, data communication bus, user output device, and storage. Each of the above-described components performs data communication through a data communication bus.
  • the computer system may further include a network interface coupled to the network.
  • the processor may be a central processing unit (CPU) or a semiconductor device that processes instructions stored in a memory and/or storage.
  • the memory and storage may include various types of volatile or nonvolatile storage media.
  • the memory may include ROM and RAM.
  • the method for learning and reducing weight of a deep neural network structure may be implemented in a computer-executable method.
  • the deep neural network structure learning and weight reduction method according to an embodiment of the present invention is performed in a computer device, instructions that can be read by a computer may perform the deep neural network structure learning and weight reduction method according to the present invention.
  • the deep neural network structure learning and weight reduction method according to the present invention may be implemented as a computer-readable code on a computer-readable recording medium.
  • the computer-readable recording medium includes all types of recording media in which data that can be decoded by a computer system is stored. For example, there may be read only memory (ROM), random access memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, and the like.
  • ROM read only memory
  • RAM random access memory
  • magnetic tape magnetic tape
  • magnetic disk magnetic disk
  • flash memory optical data storage device
  • optical data storage device optical data storage device
  • the computer-readable recording medium can be distributed in a computer system connected through a computer communication network, and stored and executed as codes that can be read in a distributed manner.

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)
  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 심층 신경망 구조 학습 및 경량화 방법에 관한 것이다. 본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 (a) 신경망 모델에 대한 파라미터를 생성하는 단계와, (b) 파라미터를 기반으로 신경망 모델에 대응하는 목적 함수를 생성하는 단계 및 (c) 학습 데이터와 목적 함수를 기반으로, 파라미터에 대한 트레이닝을 수행하며 모델 학습을 수행하는 단계를 포함하는 것을 특징으로 한다.

Description

심층 신경망 구조 학습 및 경량화 방법
본 발명은 심층 신경망 구조 학습 및 경량화 방법에 관한 것이다.
심층 신경망(DNN; deep neural network)은 컴퓨터 처리, 음성 인식, 이미지 인식 등과 같은 다양한 응용 분야에서 널리 사용된다.
심층 신경망과 관련된 기술 분야가 발전함에 따라 심층 신경망이 커지고 복잡해 지면서, 심층 신경망을 구동하기 위한 연산량 및 메모리량이 급증하고 있다.
이러한 연산량 및 메모리량의 증가는 하드웨어 리소스를 증가시키는 문제점을 유발시킨다.
또한, 심층 신경망은 인간 전문가에 의한 피쳐 엔지니어링(feature engineering)의 부담을 경감시키나, 대신 심층 신경망의 효과적인 구조를 설계하는 데에 인간 전문가의 많은 노력이 요구된다는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여 제안된 것으로, 심층 신경망의 불필요한 부분을 제거하여 심층 신경망을 경량화하여 추론에 필요한 연산량과 메모리량을 감소시키며, 향상된 정확도를 확보하는 최적화된 심층 신경망의 구조를 학습하는 것이 가능한 심층 신경망 구조 학습 및 경량화 방법을 제공하는데 그 목적이 있다.
본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 (a) 신경망 모델에 대한 파라미터를 생성하는 단계와, (b) 파라미터를 기반으로 신경망 모델에 대응하는 목적 함수를 생성하는 단계 및 (c) 학습 데이터와 목적 함수를 기반으로, 파라미터에 대한 트레이닝을 수행하며 모델 학습을 수행하는 단계를 포함하는 것을 특징으로 한다.
신경망 모델은 복수의 컴포넌트를 포함하고, 복수의 컴포넌트들은 복수의 모듈로 그룹화된다.
(a) 단계는 신경망 모델에 대한 아키텍쳐 파라미터 및 모델 파라미터를 생성한다.
아키텍쳐 파라미터 중 일부는 트레이닝 과정 동안 0이 되어, 불필요하거나 중요하지 않은 컴포넌트들이 제거된다.
신경망 모델은 아키텍쳐 파라미터에 대응하는 컴포넌트의 강도가 경쟁 그룹 내에서 일정 수치보다 작아지는 경우, 컴포넌트를 상기 경쟁 그룹에서 배제시킨다.
(c) 단계는 확률적 경사도 강하를 이용하여 파라미터에 대한 트레이닝을 수행한다.
(c) 단계는 가중치에 대한 학습 및 신경망 구조에 대한 학습을 동시에 수행한다.
(c) 단계는 확률적 경사도 강하의 변형된 구성을 사용하여 경사도 연산을 수행하되, 정방향 연산 및 역방향 연산을 수행한다.
본 발명의 실시예에 따르면, (b-1) (c) 단계에서의 트레이닝 결과에 기초하여 경량화 모델을 생성하고 저장하는 단계를 더 포함한다.
본 발명의 실시예에 따르면, (a) 단계 이후 (b) 단계 이전에, (a-1) 파라미터를 재-파라미터화하는 단계를 더 포함한다.
(a-1) 단계는 파라미터가 0이 될 수 있도록 재-파라미터화를 수행한다.
(a-1) 단계는 파라미터가 0이 될 수 있도록 서브 그래디언트 계산 가능한(sub-differentiable) 형태로 재-파라미터화를 수행한다.
본 발명에 따르면, 확률적 경사도 강하(SGD; stochastic gradient descent)를 사용한 트레이닝을 통해 신경망의 파라미터 및 신경망 구조를 동시에 학습함으로써, 추론에 소요되는 비용을 감소시키고, 심층 신경망 시스템의 성능을 향상시키는 것이 가능한 효과가 있다.
본 발명의 효과는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 심층 신경망 시스템을 도시한다.
도 2는 본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법을 도시한다.
도 3은 본 발명의 실시예에 따른 목적 함수 생성 과정을 도시한다.
도 4는 본 발명의 실시예에 따른 경량화 모델 생성 과정을 도시한다.
도 5는 본 발명의 실시예에 따른 ResNet 적용예를 도시한다.
도 6은 본 발명의 실시예에 따른 ResNeXt 적용예를 도시한다.
도 7은 본 발명의 실시예에 따른 DenseNet 적용예를 도시한다.
도 8 및 도 9는 본 발명의 실시예에 따른 GCN 적용예를 도시한다.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 목적, 구성 및 효과를 용이하게 알려주기 위해 제공되는 것일 뿐으로서, 본 발명의 권리범위는 청구항의 기재에 의해 정의된다.
한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가됨을 배제하지 않는다.
본 발명의 실시예에 따르면, 신경망의 목적 함수(objective function)를 최적화시키고, 신경망의 희소화된 구조(sparsified structure) 및 모델 파라미타들을 동시에 학습하는 전 미분 가능한 희소화 방법(full differentiable sparsification method)을 제안한다.
본 발명의 실시예에 따르면, 확률적 경사도 강하(SGD; stochastic Gradient Descent)를 사용하여 트레이닝하는 동안 파라미터들의 크기 또는 연결들의 강도가 0(zero)으로 수렴하도록 하는 전 미분 가능한 방법을 제안하며, 학습 데이터 및 목적 함수를 기반으로 복수의 파라미터(아키텍쳐 파라미터, 모델 파라미터)에 대한 트레이닝을 동시에 수행하며 모델 학습을 수행하는 기술적 특징이 있다.
본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 파라미터들의 그룹 또는 빌딩 블록(building block) 단위로 희소화하는 구조화된 희소화(structured sparsification/group sparsification)에 용이하게 적용될 수 있다.
이는 GPU(Graphic Processing Unit)와 같은 병렬 하드웨어 연산의 이점을 극대화할 수 있으며, 심층 신경망의 구성 요소를 모듈 단위로 설계하고 모듈을 결합하여 심층 신경망을 만드는 최신 트렌드에 적합하다.
본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 개별 모델 파라미터 단위로 희소화하는 비-구조화된 희소화(unstructured sparsification)에 용이하게 적용될 수 있다.
도 1은 본 발명의 실시예에 따른 심층 신경망 시스템을 도시한다.
본 발명의 실시예에 따른 심층 신경망 시스템(100)은 제어기(110), 신경망 가속기(120), 메모리(130), 및 경량화 모델(140)을 포함한다.
심층 신경망 시스템(100)은 ResNet, ResNeXt, DenseNet, GCN(Graph Convolutional Network) 등과 같은 다양한 심층 신경망(DNN; Deep Neural Network)을 구동하도록 구성된다.
심층 신경 시스템(100)은 개인용 컴퓨터, 노트북, 태블릿, 스마트폰, 서버, 워크스테이션, 블랙박스, 자동차 전장 시스템 등과 같은 다양한 컴퓨팅 시스템 또는 정보 처리 시스템을 포함할 수 있다.
제어기(110)는 심층 신경망 시스템(100)에서 수행되는 다양한 제반 동작을 제어한다.
제어기(110)는 신경망 가속기(120)에서 사용될 신경망 모델을 결정하고, 결정된 신경망 모델에 대한 다양한 파라미터들 및 목적 함수(또는 손실 함수 또는 비용 함수)를 설정한다.
제어기(110)에 의해 설정되는 파라미터는 신경망 모델에 포함된 구성들에 대한 중요도를 가리키는 중요도 파라미터(importance parameter) 또는 아키텍쳐 파라미터(architecture parameter)이다.
중요도 파라미터 또는 아키텍쳐 파라미터들 중 일부는 신경망 가속기(120)에서의 트레이닝 과정 동안, 0(zero)으로 수렴된다. 0(zero)으로 수렴된 중요도 파라미터에 해당하는 신경망 구성들은 불필요한 것으로 간주하여, 제거할 수 있다.신경망 가속기(120)는 제어기(110)의 제어에 따라 트레이닝을 수행한다.
신경망 가속기(120)는 제어기(110)로부터 신경망 모델, 목적 함수, 학습 데이터를 수신한다.
신경망 가속기(120)는 제어기(110)로부터 수신된 정보를 기반으로 트레이닝을 수행하고, 트레이닝의 결과로서 경량화 모델(140)을 생성한다.
경량화 모델(140)은 신경망 모델에 포함된 복수의 구성들 중 불필요한 구성이 삭제 또는 제거된 모델로 정의된다.
신경망 가속기(120)는 확률적 경사도 강하(SGD; stochastic gradient descent)를 사용하여 트레이닝을 수행한다.
신경망 가속기(120)는 학습 데이터 및 목적 함수를 기반으로 복수의 파라미터들에 대한 트레이닝을 동시에 수행하며, 모델 학습을 수행한다.
메모리(130)는 신경망 가속기(120)의 트레이닝 과정에서 생성 또는 갱신되는 다양한 정보(예를 들어, 파라미터 정보)를 저장한다.
도 2는 본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법을 도시한다.
심층 신경망 시스템(100)은 신경망 모델을 기반으로 목적 함수를 생성한다(S100).
심층 신경망 시스템(100)은 ResNet, ResNeXt, DenseNet, GCN(Graph Convolutional Network) 등과 같은 다양한 심층 신경망(DNN; Deep Neural Network)을 구동하도록 구성된다.
제어기(110)는 다양한 심층 신경망들 중 트레이닝될 신경망과 대응되는 신경망 모델을 선택하고, 선택된 신경망 모델에 대한 목적 함수를 생성한다.
심층 신경망 시스템(100)은 목적 함수 및 학습 데이터를 기반으로 트레이닝을 수행하여 경량화 모델(140)을 생성한다(S200).
신경망 가속기(120)는 제어기(110)로부터 신경망 모델, 목적 함수, 및 학습 데이터를 수신하고, 수신된 정보를 기반으로 트레이닝을 수행한다.
신경망 가속기(120)의 트레이닝은 확률적 경사도 강하(SGD; stochastic gradient descent) 방식을 기반으로 수행되며, 신경망 모델에 포함된 복수의 구성들 중 불필요한 구성들이 제거되고, 복수의 파라미터들에 대한 학습과 모델 학습이 동시에 수행된다.
심층 신경망 시스템(100)은 생성된 경량화 모델(140)을 기반으로 신경망 연산을 수행한다(S300).
심층 신경망 시스템(100)은 경량화 모델(140)을 기반으로 입력 데이터에 대한 음성 인식, 이미지 인식, 이미지 분류 등과 같은 다양한 심층 신경망 연산을 수행한다.
본 발명의 실시예에 따른 심층 신경망 시스템은 신경망 모델에 대한 목적 함수(objective function)(또는 비용 함수 또는 손실 함수)를 최적화하여 트레이닝을 수행함으로써, 심층 신경망 구조를 경량화시키고, 전체적인 연산 속도를 향상시킨다.
도 3은 본 발명의 실시예에 따른 목적 함수 생성 과정을 도시한다.
제어기(110)는 신경망 모델을 입력 받는다(S110).
제어기(110)는 컴포넌트들에 대한 그룹을 선정하며(S120), 다양한 심층 신경망 모델들 중 신경망 가속기(120)에 의해 트레이닝될 신경망 모델에 대한 정보를 수신한다.
이하에서, 파라미터들의 그룹 또는 빌딩 블록(building block) 단위로 희소화하는 구조화된 희소화(structured sparsification/group sparsification) 방법을 설명하기 위한 예시로서, 신경망 모델 또는 신경망을 구성하는 모듈은 [수학식 1]과 같이 정의된다고 가정한다. [수학식 1]의 모델을 기본 모델(base model)이라고 명명한다.
Figure PCTKR2020013304-appb-M000001
[수학식 1]을 참조하면, y는 기본 모델 또는 기본 모델(즉, 신경망 모델)에 포함된 모듈의 출력이고, f는 모듈에 포함된 복수의 컴포넌트들(components)이다.
i는 복수의 컴포넌트들을 구분하기 위한 인덱스이며, n은 복수의 컴포넌트들의 개수이다.
기본 모델의 출력, y는 모듈에 포함된 복수의 컴포넌트들(f)의 선형 조합으로 정의된다.
컴포넌트들의 그룹은 [수학식 1]을 참조하여 설명된 모듈일 수 있으며, 심층 신경망의 타입에 따라 다양하게 설정될 수 있다.
예를 들어, 컴포넌트는 심층 신경망을 위한 빌딩 블록 또는 그것의 출력들일수 있다.
컴포넌트는 ResNet의 잔차 블록(residual block), ResNeXt의 잔차 블록의 브랜치(branch), DenseNet의 밀집하게 연결된 레이어(densely connected layer)의 피쳐 맵일 수 있다.
모듈은 ResNet의 스테이지(stage), ResNeXt의 잔차 블록, DenseNet의 연결된 피쳐 맵(concatenated feature map)과 같은 컴포넌트들의 집합이거나 또는 전체 신경망을 나타낼 수 있다.
x는 모듈로의 입력이고, w는 컴포넌트(f)에 대한 모델 파라미터(또는 가중치)이고, a는 아키텍쳐 파라미터(architecture parameter) 또는 중요도 파라미터(importance parameter)이다.
모델 파라미터(w)는 컨볼루션 레이어의 필터 또는 전 연결 레이어(fully connected layer)의 가중치와 같은 일반적인 파라미터들(ordinary parameters)이다.
아키텍쳐 파라미터(a)의 값은 대응하는 컴포넌트의 중요도를 가리키며, 블록들 사이의 연결 강도로도 볼 수 있다.
아키텍쳐 파라미터(a)가 0(zero)으로 되는 것은 대응하는 컴포넌트(f)를 제거(removing)하거나 또는 대응하는 모델 파라미터들(w) 전체를 0으로 만드는 것을 의미한다.
아키텍쳐 파라미터들(a) 사이의 경쟁(competition)을 생성하고, 경쟁을 통해 아키텍쳐 파라미터들(a)을 0으로 유도함으로써, 일부 아키텍쳐 파라미터가 0으로 될 수 있고, 이에 따라 불필요하거나 또는 중요하지 않은 컴포넌트들이 제거된다.
제어기(110)는 아키텍쳐 파라미터를 설정한다(S130).
신경망 모델에 대한 트레이닝 과정에서, 아키텍쳐 파라미터(a)가 0으로 됨에 따라, 불필요하거나 또는 중요하지 않은 컴포넌트들이 제거될 수 있다. 이를 위해, 아키텍쳐 파라미터(a)는 [수학식 2]와 같이 정의된다.
Figure PCTKR2020013304-appb-M000002
Figure PCTKR2020013304-appb-I000001
Figure PCTKR2020013304-appb-I000002
[수학식 2]를 참조하면, α 및 β는 그 값이 제한되지 않는 자유 파라미터들(unconstrained free parameters)이고, б()는 시그모이드 함수(sigmoid function)이고, (·)+relu(·)=max(·,0), 즉, 수정된 선형 유닛(ReLU; Rectified Linear Unit) 함수이다.
아키텍쳐 파라미터(a)가 [수학식 2]와 같이 설정될 경우, 아키텍쳐 파라미터(a)는 트레이닝 과정에서 0(zero)으로 수렴될 수 있다.
자유 파라미터들(α , β)은 실수이며, 확률적 경사도 강하를 사용한 트레이닝 과정에서 어떠한 제한도 받지 않으며, 이에 따라 아키텍쳐 파라미터(a)는 자유 파라미터들(α , β)을 통해 트레이닝된다.
[수학식 2]의 지수 함수, exp(·)는 아키텍쳐 파라미터(a)가 양수가 되도록 하며, 이 때 시그모이드 함수가 대신 사용될 수 있다.
일반적인 경우, 아키텍쳐 파라미터(a)는 [수학식 2]의 지수 함수 exp(·)에 의해 0이 될 수 없으나, [수학식 2]의
Figure PCTKR2020013304-appb-I000003
는 임계 동작(thresholding operation)에 의해 0이 될 수 있고, 이에 따라, 아키텍쳐 파라미터(a)가 0이 될 수 있다.
[수학식 2]의
Figure PCTKR2020013304-appb-I000004
에 대한
Figure PCTKR2020013304-appb-I000005
의 항은 임계치(threshold)의 역할을 할 수 있으며, 경쟁 그룹 내에서 제i 컴포넌트(fi)의 강도가 전체 강도보다 작다면, 제i 컴포넌트(fi)를 경쟁 그룹에서 배제시킨다.
임계치의 크기를 결정하는 [수학식 2]의 스칼라 파라미터(β)는 하이퍼-파라미터(hyper-parameter)가 아닐 수 있으며, 트레이닝을 통해 자동으로 결정될 수 있다.
수학적으로 임계 동작(thresholding operation)은 미분 가능하지 않지만, 최신의 심층 신경망 학습 툴에 내장된 미분 가능한 함수로서 relu가 지원되는 것을 고려할 때, 문제가 되지 않는다. 이는, 특정 지점(0)에서만 미분이 정의되지 않으며, 대다수의 입력값의 영역(domain)에서는 미분이 가능하며, 모든 영역에서 서브그라디언트(subgradient)가 존재하기 때문이다.
또한, γ가 음수가 아니므로, l1-놈(l1-norm)은 γi의 합(즉,
Figure PCTKR2020013304-appb-I000006
)으로 단순화 될 수 있다.
[수학식 2]의 소프트맥스(softmax)는 아키텍쳐 파라미터(a)들 사이의 경쟁을 촉진시킨다.
모든 컴포넌트들이 제거되고 모듈(y)이 무효화됨을 의미하는 널 컴포넌트(null component)를 모델링할 수도 있다. [수학식 3]의 임계치가 비선택(non-chosen)의 강도로서 고려될 수 있으며, 이에 따라 널 오퍼레이터(null operator)의 강도는 [수학식 3]과 같이 정의된다.
Figure PCTKR2020013304-appb-M000003
[수학식 3]을 기반으로, αi의 초기값을 0으로 설정하고, β의 값을 -log(n2+n-1)로 설정할 수 있다. 이는 널 오퍼레이터(null operator)를 포함하는 각 컴포넌트들은 초기에 동일한 생존 기회를 가질 수 있도록, 초기 기회가 동일해지도록 i=1,...,n에 대하여,
Figure PCTKR2020013304-appb-I000007
이 되도록 설정되도록 하는 것이다.이는 αi와 β의 초기값에 대한 예시로서, 반드시 αi의 초기값을 0으로 설정하고, β의 값을 -log(n2+n-1)로 설정할 필요는 없다.
널 오퍼레이터(null operator)를 고려하면,
Figure PCTKR2020013304-appb-I000008
를 정규화하여 [수학식 4]와 같이 아키텍쳐 파라미터(a)를 구성할 수 있다.
Figure PCTKR2020013304-appb-M000004
신경망 모델(또는 베이스 모델)에 포함된 복수의 컴포넌트들에 대한 아키텍쳐 파라미터(a)가 설정됨으로써, 확률적 경사도 강하를 사용한 트레이닝 과정에서, 중요도 파라미터 또는 아키텍쳐 파라미터(a) 중 적어도 일부가 0으로 수렴되며, 중요도 파라미터 또는 아키텍쳐 파라미터 값이 0인 컴포넌트들은 불필요하거나 중요하지 않은 컴포넌트로 간주하여 제거할 수 있다. 제어기(110)는 신경망 모델에 대한 목적 함수를 설정한다(S140).
목적 함수(objective function)(또는 비용 함수 또는 손실 함수)는 [수학식 5]와 같이 표현된다.
Figure PCTKR2020013304-appb-M000005
[수학식 5]를 참조하면, L은 예측 손실(prediction loss)이고, R은 정규화 항(regularization term)이고, D는 학습 데이터의 집합(set)이고, W는 모델 파라미터들(w)의 집합(즉, {wi})이고, λ는 예측 손실과 모델 복잡도 사이의 트레이드-오프를 제어하는 인수이며, a는 아키텍쳐 파라미터들로 구성된 벡터이다.
분류(classification)에서는 크로스 엔트로피(cross entropy)를 예측 손실 함수로, 회귀 분석(regression)에서는 평균 제곱 오차(mean squared error)를 손실 함수로 사용할 수 있다.
아키텍쳐 파라미터(a)를 0으로 만드는 것 또는 희소화하는 것은 심층 신경망을 단순화하고 희소화시키는 것으로, 아키텍쳐 파라미터(a)에 대한 정규화 항 R을 이용하여 아키텍쳐 파라미터(a)를 희소화하거나 또는 아키텍쳐 파라미터(a)의 원소들 사이의 경쟁을 추가로 촉진할 수 있다.
본 발명의 실시예에 따르면, 아키텍쳐 파라미터(a)가 소프트맥스(softmax)를 사용하여 정규화되므로, l1-놈(l1-norm)이 항상 1(one)(즉,
Figure PCTKR2020013304-appb-I000009
)이 된다.
따라서, 종래의 l1-놈(l1-norm)을 이용한 정규화 항은 본 발명의 실시예에 따른 아키텍쳐 파라미터(a)에 대하여 동작하지 않는다. 본 발명의 실시예에 따르면 정규화 항은 [수학식 6]과 같이 p-놈(p-norm)을 사용하며, 이 때 p<1로 하는 것이 바람직하다.
Figure PCTKR2020013304-appb-M000006
아키텍쳐 파라미터(a)는 항상 음수가 아니기 때문에, [수학식 6]에서 두번째 부등식이 성립될 수 있다.
p<1인 p-놈(p-norm)은 아키텍쳐 파라미터(a)의 요소들이 대부분 0인 경우 값이 작아지며, 예컨대 p=0.5일 수 있다.
[수학식 6]에 정의된 정규화 항은 relu에 의한 아키텍쳐 파라미터(a)가 0인 경우(즉, ai=0)를 제외한 거의 모든 상황에서 미분 가능하다.
본 발명의 실시예에 따르면, 정규화 항이 거의 모든 영역에서 미분 가능할 뿐만 아니라, 트레이닝 동안 아키텍쳐 파라미터가 0이 될 수 있기 때문에, 확률적 경사도 강하를 사용하여 아키텍쳐 파라미터와 모델 파라미터에 대한 동시 학습이 가능하다. 이는 컨볼루션 레이어의 필터 또는 전 연결 레이어(fully connected layer)의 가중치와 같은 일반적인 파라미터들 뿐만 아니라, 신경망의 구조를 동시에 학습할 수 있음을 의미한다.
도 4는 본 발명의 실시예에 따른 경량화 모델 생성 과정을 도시한다.
신경망 가속기(120)는 신경망 모델 및 목적 함수를 입력 받는다(S210).
변수(k)는 1로 설정된다(S220).
변수(k)는 신경망 가속기의 트레이닝 동작의 반복 수행을 설명하기 위한 것이다.
신경망 가속기(120)는 제어기(110) 또는 별도의 입력 장치로부터 제k 학습 데이터를 수신한다(S230)하며, 예컨대 제k 학습 데이터는 미니-배치(mini-batch) 형태로 입력된다.
신경망 가속기(120)는 확률적 경사도 강하(SGD)를 사용하여 트레이닝을 수행한다.
신경망 가속기(120)는 제k 학습 데이터, 신경망 모델 및 목적 함수를 기반으로 경사도(gradient)를 연산한다(S240).
신경망 가속기(120)는 연산된 경사도를 기반으로 파라미터들(모델 파라미터(w) 및 아키텍쳐 파라미터(a))의 값을 갱신한다(S250).
파라미터들(모델 파라미터(w) 및 아키텍쳐 파라미터(a))은 연산된 경사도(즉, 목적 함수의 경사도)를 기반으로 목적 함수가 최적화(즉, 최소)되는 파라미터들로 갱신될 수 있다.
이후에, 변수(k)가 최대인지(즉, 주어진 횟수만큼 트레이닝이 반복 수행되었는지) 판별된다(S260).
변수(k)가 최대가 아닌 경우, 변수(k)는 1만큼 증가하고(S261), S230 단계가 수행된다.
변수(k)가 최대인 경우, 신경망 가속기(120)는 경량화 모델(140)을 생성하고 저장한다(S270).
S240 단계에서의 경사도 연산은 확률적 경사도 강하(SGD; stochastic gradient descent)를 사용하여 수행된다.
이 때, 경사도 연산은 확률적 경사도 강하(SGD; stochastic gradient descent)의 변형된 구성을 사용하여 수행될 수 있으며, 예컨대 정방향 경로(forward pass) 및 역방향 경로(backward pass)에 대한 연산들을 변형하여 사용할 수 있다. 아키텍쳐 파라미터(a)에 대한 정방향 경로 연산은 [수학식 2]를 기반으로 수행되고, 역방향 경로 연산은 [수학식 2]의
Figure PCTKR2020013304-appb-I000010
를 [수학식 7]로 대체하여 연산될 수 있다.
Figure PCTKR2020013304-appb-M000007
[수학식 2] 및 [수학식 7]을 참조하면,
Figure PCTKR2020013304-appb-I000011
에 대한 함수가 relu에서 elu로 변경된 것 이외에 다른 구성들은 동일하다.
elu는 지수 선형 유닛(ELU; Exponential linear unit) 함수이다.
[수학식 2]에서
Figure PCTKR2020013304-appb-I000012
가 임계치보다 작은 경우, 경사도는 0이 되며, 해당 컴포넌트에 대해서는 경사도(gradient) 기반의 학습 정보를 생성할 수 없다. 그러나,
Figure PCTKR2020013304-appb-I000013
가 임계치보다 작으면, 반드시 컴포넌트가 제거되고, 학습이 진행되는동안 더 이상 학습 정보를 생성하지 못 한다는 것을 의미하지는 않는다.
임계치의 조정 또는 다른 컴포넌트들의 중요도 점수 감소에 따라, 컴포넌트들의 복귀 기회가 존재한다.
본 발명의 실시예에 따르면 임계 함수(thresholding function)의 경사도를 근사화시켜,
Figure PCTKR2020013304-appb-I000014
가 임계치보다 작은 컴포넌트에 대해서도 계속해서 학습 정보를 생성하는 방법을 개시한다. 본 발명의 실시예에 따르면, 경사도 연산에 있어서 전술한 바와 같이 elu를 사용하는 것이 가능하며, relu 및 elu는 는 양수 도메인에서는 동일한 출력값을 가진다. 그리고, el의 미분계수는 모든 영역에서 0이 아니기 때문에, relu를 잘 근사화 할 수 있다. 정방향 경로(forward pass)에서는 relu가 사용되고, 역방향 경로(backward pass)에서는 [수학식 7]과 같이 elu를 사용할 수 있다.
본 발명의 실시예에 따르면 최신 심층 신경망 학습 툴들을 사용하여 용이하게 구현될 수 있으며, 이러한 학습은 구글(Google)의 텐서플로우(Tensorflow)와 같은 확률적 경사도 최적화의 프레임워크에서 수행될 수 있다.
본 발명의 실시예에 따르면, 확률적 경사도 강하(SGD)를 사용한 트레이닝 동안, 신경망 모델에 대한 모델 파라미터들(즉, 컨볼루션 레이어의 필터 또는 전 연결 레이어(fully connected layer)의 가중치와 같은 일반적인 파라미터들) 및 각 컴포넌트에 대한 아키텍쳐 파라미터들이 동시에 학습될 수 있다.
따라서, 신경망 경량화 과정이 간소화될 수 있으며, 생성된 경량화 모델을 사용하여 신경망 연산 성능이 향상될 수 있다.
도 5는 본 발명의 실시예에 따른 ResNet 적용예를 도시한다.
도 5를 참조하면, ResNet은 복수의 스테이지들을 포함한다.
ResNet에 대한 하나의 스테이지를 도시하고, 하나의 스테이지는 제1 내지 제3 잔차 블록들(RB1~RB3)을 포함하는 것으로 가정한다.
도 5에 도시된 바와 같이, 입력 데이터(xs)는 제1 잔차 블록(RB1)으로 제공되고, 제1 잔차 블록(RB1)의 출력은 입력 데이터(xs)와 함께, 제2 잔차 블록(RB2)의 입력으로 제공되고, 제2 잔차 블록(RB2)의 출력은 제2 잔차 블록(RB2)의 입력과 함께, 제3 잔차 블록(RB3)의 입력으로 제공되고, 제3 잔차 블록(RB3)의 출력은 제3 잔차 블록(RB3)의 입력과 함께 스테이지의 출력 데이터(ys)로 출력된다.
잔차 블록들(RB1~RB3) 각각은 제1 내지 제3 숏컷(Shortcut)(SC1~SC3)을 통해 서로 연결된다.
ResNet에서 각 스테이지는, 독립적인 그룹으로 간주될 수 있으며, 각 스테이지에서 다른 깊이들이 학습될 수 있다.
ResNet의 잔차 블록 및 스테이지는 전술한 컴포넌트 및 모듈과 대응될 수 있고, ResNet의 하나의 스테이지에 대한 출력은 [수학식 8]과 같이 표현될 수 있다.
Figure PCTKR2020013304-appb-M000008
[수학식 8]에 따르면, ys는 스테이지, 또는 스테이지의 출력이고, xs는 스테이지로의 입력이고, ns는 스테이지에 포함된 잔차 블록들의 개수이고, fi s는 잔차 블록이고, wi s는 fi s에 대한 모델 파라미터들이며,
Figure PCTKR2020013304-appb-I000015
이고,
Figure PCTKR2020013304-appb-I000016
이다.
동일한 스테이지에 포함된 블록들(예를 들어, 제1 내지 제3 잔차 블록들(RB1~RB3))은 트레이닝 과정에서 서로 경쟁하고, 중요도 파라미터 또는 아키텍쳐 파라미터(a)의 일부 원소들이 0(zero)으로 수렴하며, 이에 따라 깊이가 결정된다.
예컨대, 제2 잔차 블록(RB2)이 ResNet을 구현하는데 중요하지 않거나 또는 불필요한 경우, 제2 잔차 블록(RB2)과 대응되는 아키텍쳐 파라미터가 트레이닝 과정에서 0으로 수렴되고, 제2 잔차 블록(RB2)이 제거된다.
일부 블록들이 제거되더라도, 각 블록 사이에 숏컷(SC1~SC3)이 존재하지 때문에, 정방향 및 역방향 경로들이 완전하게 단절되는 것은 아니다.
본 발명의 실시예에 따르면, ResNet에 적용되는 목적 함수는 [수학식 9]와 같이 표현된다.
Figure PCTKR2020013304-appb-M000009
[수학식 9]를 참조하면, W={wi s}이고, A={as}이다.
S는 스테이지들의 개수이고, as는 제s 스테이지의 아키텍쳐 파라미터들의 벡터이다.
본 발명의 실시예에 따르면, 아키텍쳐 파라미터 및 목적 함수가 심층 신경망의 한 종류인 ResNet에 적용될 수 있으며, ResNet의 트레이닝 과정에서 불필요한 컴포넌트들이 제거됨으로써, ResNet의 신경망 모델이 경량화되는 것이 가능하다. 이는 각 스테이지의 잔차 블록의 개수 또는 깊이를 학습하는 것이다.
도 6은 본 발명의 실시예에 따른 ResNeXt 적용예를 도시한다.
도 6을 참조하면, ResNet과는 달리 ResNeXt는 하나의 잔차 블록은 복수개의 브랜치(branch)로 구성된다. ResNeXt에 대한 하나의 층과 잔차 블럭을 도 6에 도시한 것으로, 하나의 잔차 블럭은 제1 내지 제3 잔차 브랜치들(RB1~RB3)을 포함하는 것으로 가정한다.
도 6에 도시된 바와 같이, 입력 데이터(xs,b)는 제1 내지 제3 잔차 브랜치들(RB1~RB3)로 각각 제공되고, 제1 내지 제3 잔차 브랜치들(RB1~RB3)의 출력들은 입력 데이터(xs)와 함께, 층 또는 잔차 블럭의 출력 데이터(ys,b)로 출력된다.
ResNeXt는 도 5를 참조하여 전술한 ResNet과 유사한 구조를 가지나, ResNet의 각 잔차 블록은 단일 브랜치(single branch)를 갖는 반면, ResNeXt의 각 잔차 블록은 복수의 브랜치들을 포함한다.
ResNet과 유사하게, ResNeXt의 층 또는 잔차 블럭은 숏컷(shortcut)을 통해 연결된다.
ResNeXt에서 각 잔차 블럭은 독립적인 그룹으로 간주되며, 불필요한 잔차 블록을 제거함으로써 각 잔차 블럭에서 다른 너비들(width, cardinality) 또는 서로 다른 개수의 잔차 브랜치이 학습될 수 있다.
ResNeXt의 잔차 블록 및 잔차 브랜치는 컴포넌트 및 모듈과 각각 대응되고, 층 또는 잔차 블럭의 출력은 [수학식 10]과 같이 표현된다.
Figure PCTKR2020013304-appb-M000010
[수학식 10]을 참조하면, ys,b는 제s 스테이지의 제b 잔차 블록이고, fi s,b는 잔차 블록의 브랜치이고, xs,b는 블록 및 브랜치의 입력이고, ns,b는 브랜치들의 개수이고, wi s,b는 fi s,b의 모델 파라미터들이다.
트레이닝 과정 동안 동일한 블록 내의 브랜치들이 서로 경쟁함으로써, 너비(width)가 학습된다.
본 발명의 실시예에 따르면, ResNeXt에 적용되는 목적 함수는 [수학식 11]과 같다.
Figure PCTKR2020013304-appb-M000011
[수학식 11]을 참조하면, W={wi s,b}이고, A={as,b}이다.
Bs는 제s 스테이지의 잔차 블록들의 개수이고, as,b는 제s 스테이지의 제b 잔차 블록에 대한 아키텍쳐 파라미터의 벡터이다.
본 발명의 실시예에 따른 아키텍쳐 파라미터 및 목적 함수는 심층 신경망의 한 종류인 ResNeXt에 적용될 수 있으며, ResNeXt의 트레이닝 과정에서 불필요한 컴포넌트들이 제거됨으로써, ResNeXt의 신경망 모델이 최적화되고 경량화된다.
도 7은 본 발명의 실시예에 따른 DenseNet 적용예를 도시한다.
도 7을 참조하면, DenseNet은 복수의 스테이지들을 포함하며, DenseNet에 대한 하나의 스테이지를 도 7에 도시하고, 하나의 스테이지는 제1 내지 제7 층(layer, 레이어) 을 포함하는 것으로 가정한다.
도 7에 도시된 입력 데이터 구조(IN)에서 s의 인덱스는 스테이지이고, 제l 레이어의 입력은 제l 행으로, 출력은 xl+1 s로 표현된다.
제4 행(ROW4)은 제4 층의 입력이고, x4+1 s는 제4 층의 출력이다.
본 발명의 실시예에 따른 트레이닝된 아키텍쳐 파라미터 구조(SP)는 도 7에 도시된 바와 같이, 정의될 수 있다.
본 발명의 실시예에 따른 트레이닝을 통해 제4 행(ROW4)에서 일부 파라미터들은 0으로 수렴되도록, DenseNet을 구성할 수 있다.
DenseNet 에서, 층의 입력은 이전의 모든 층들에서 출력된 피쳐 맵들로 구성된다.
본 발명의 실시예에 따라 피쳐 맵들이 행 단위로 그룹핑하고 입력 피쳐 맵들이 서로 경쟁하도록 하여, 가장 효율적인 피쳐들 또는 연결들이 각 층에서 선택되도록 할 수 있다.
DenseNet의 층은 [수학식 12]와 같이 표현될 수 있다.으며, 이에 따라, 층과 층사의 연결들(dense connections)이 학습된다.
Figure PCTKR2020013304-appb-M000012
[수학식 12]를 참조하면, xl s는 제s 스테이지의 제l 층의 출력 피쳐 맵이고, x0 s는 이전 스테이지로부터 주어진다.
fl s는 비선형 합성 함수(nonlinear composition function) 이고, [
Figure PCTKR2020013304-appb-I000017
]는 연결 연산자(concatenation operator) 이고, wl s는 모델 파라미터들이다.
본 발명의 실시예에 따른 DenseNet에 적용되는 목적 함수는 [수학식 13]과 같다.
Figure PCTKR2020013304-appb-M000013
[수학식 13]을 참조하면, W={wi s}이고, A={as,l}이다.
Ls는 제s 스테이지의 레이어들의 개수이고, as,l는 제s 스테이지의 제l 블록에 대한 아키텍쳐 파라미터의 벡터이다.
본 발명의 실시예에 따른 아키텍쳐 파라미터 및 목적 함수가 심층 신경망의 한 종류인 DenseNet에 적용될 수 있으며, DenseNet의 트레이닝 과정에서 불필요한 컴포넌트들이 제거됨으로써, DenseNet의 신경망 모델이 최적화되고 경량화될 수 있다.
도 8 및 도 9는 본 발명의 실시예에 따른 GCN 적용예를 도시한다.
GCN은 복수의 층(layer, 레이어) 을 포함할 수 있는데, 도 8에서는 하나의 층이 도시되며, 하나의 층은 인접 매트릭스(ADJ), 피쳐 맵 매트릭스(FT) 및 가중치 매트릭스(WT)를 포함하는 것으로 가정한다.
GCN의 레이어는 [수학식 14]와 같다.
Figure PCTKR2020013304-appb-M000014
[수학식 14]를 참조하면, A는 인접 매트릭스(ADJ)이고, Hl 및 Wl은 제l 레이어에 대한 입력 피쳐 맵 매트릭스(FT) 및 가중치 매트릭스(WT)이며, F는 비선형 활성 함수(nonlinear activation function)이다.
A의 원소들은 음수가 아니며(non-negative), GCN 블록들 또는 레이어들 사이에서 공유된다.
A는
Figure PCTKR2020013304-appb-I000018
Figure PCTKR2020013304-appb-I000019
또는 와 같은 정규화(normalization)에 의해 얻어진다.
이 때,
Figure PCTKR2020013304-appb-I000020
는 정규화되지 않은 인접 매트릭스이고,
Figure PCTKR2020013304-appb-I000021
Figure PCTKR2020013304-appb-I000022
를 갖는 대각 매트릭스(diagonal matrix)이다.
인접 매트릭스는 그래프 상의 노드들 사이의 관계들(relationships) 또는 연결들(connections)을 나타낼 수 있으며, 도메인 지식이 있는 전문가에 의해 주어진다.
Ai,j의 값을 학습하는 것은 노드 i 및 j 사이의 관계를 학습하는 것이된다. 예를 들어, Ai,j의 값이 0(zero)인 경우, 2개의 노드 i 및 j 서로 무관한 것으로 간주될 수 있다.
도 8 및 도 9에 도시된 바와 같이, 인접 매트릭스의 각 행 및 열이 그룹으로 정의될 수 있다.
행을 그룹핑하는 것은 입력 노드들(in-coming nodes) 사이의 경쟁을 생성하고, 열을 그룹핑하는 것은 출력 노드들(out-going nodes) 사이의 경쟁을 생성할 수 있다. 예를 들어, 도 8 및 도 9에 도시된 바와 같이, 제i 행(Ai,:)이 그룹핑됨으로써, 제i 노드에 대한 입력 노드들 사이의 경쟁이 생성되고, 제i 열(A:,j)이 그룹핑됨으로써, 제 i 노드에 대한 출력 노드들 사이의 경쟁이 생성된다.
정규화되지 않은 인접 매트릭스(
Figure PCTKR2020013304-appb-I000023
)의 각 행과 열은 수학식 2의
Figure PCTKR2020013304-appb-I000024
와 유사하게 매개변수화될 수 있다.
소프트맥스 정규화(softmax normalization)은 Sinkhorn 정규화(Sinkhorn normalization)로 대체될 수 있다.
각 행 및 각 열의 합계는 각각 1(one)이 되는 것이 바람직하다.
Figure PCTKR2020013304-appb-I000025
를 사용하여 A를 초기화하고, [수학식 15]를 반복 적용함으로써,
Figure PCTKR2020013304-appb-I000026
를 이중 확률 매트릭스(doubly stochastic matrix)로 변환한다.
Figure PCTKR2020013304-appb-M000015
Figure PCTKR2020013304-appb-I000027
[수학식 15]를 참조하면, Dr 및 Dc는 대각 매트릭스들이다.
밸런스 정규화(Balanced normalization)는 [수학식 16]을 반복 적용함으로써 수행된다.
Figure PCTKR2020013304-appb-M000016
[수학식 16]을 반복적으로 적용하는 것은 수치 실험에 의해
Figure PCTKR2020013304-appb-I000028
를 이중 확률 매트릭스로 변환되는 것이 검증되었다.
경쟁 그룹들이 행 및 열 단위로 생성되기 때문에, 이에 대한 목적 함수는 [수학식 17]과 같다.
Figure PCTKR2020013304-appb-M000017
[수학식 17]을 참조하면, W={Wl}이고, N은 정사각 매트릭스 A의 크기이고, Ai,:및 A:,j는 A의 제i 행 벡터 및 제i 열 벡터이다.
본 발명의 실시예에 따른 아키텍쳐 파라미터 및 목적 함수가 심층 신경망의 한 종류인 GCN에 적용될 수 있으며, GCN의 트레이닝 과정에서 인접 매트릭스의 불필요한 컴포넌트들이 제거됨으로써, GCN의 신경망 모델이 최적화되고 경량화된다.
예시적인 실시 예에서, 본 발명은 l2,1-놈(l2,1-norm)을 사용한 그룹 희소 정규화(group sparsity regularization) 방법과 비교될 수 있다.
여기서, 동일한 그룹 내의 모든 파라미터들이 함께 유지되거나 또는 함께 0(zero)이 되도록, 그룹은 동일 필터, 뉴런, 또는 레이어에 대한 파라미터들의 집합(set, 세트)로서 정의될 수 있다.
그룹 희소(group sparsity)는 뉴런들 및 레이어들의 개수를 자동으로 판별하는데 적용될 수 있다.
l2,1-놈(l2,1-norm)을 사용한 정규화된 목적 함수는 [수학식 18]과 같을 수 있다.
Figure PCTKR2020013304-appb-M000018
[수학식 18]의 정규화 항(regularization term)은 [수학식 19]와 같다.
Figure PCTKR2020013304-appb-M000019
[수학식 19]를 참조하면, W={wg}이고, wg는 모델 파라미터들의 그룹이다.
정규화 항을 최적화하기 위해 근사 연산자(proximal operator)를 사용하여 [수학식 20]과 같이 파라미터 갱신이 수행된다.
Figure PCTKR2020013304-appb-M000020
[수학식 20]을 참조하면,
Figure PCTKR2020013304-appb-I000029
의 연산자는 할당 연산자(assignment operator)이고, η는 학습율(learning rate)이다.
근사 연산자(proximal operator)는 가중치 쇠퇴(weight decaying) 및 임계화(thresholding) 단계로 구성되며, 모든 미니-배치(mini-batch) 또는 에포크(epoch)에서의 예측 손실(prediction loss) 최적화 후 별도의 단계에서 수행된다.
근사 경사도 강하(proximal gradient descent)를 사용한 파라미터 갱신은 모델 이산 단계(model discretization step)로 볼 수 있다.
또한, 상술된 동작들이 예측 손실에 대한 최적화와 별도의 단계로서 수행되기 때문에, 이러한 방식들은 희소화된 심층 신경망의 구조와 최적화된 모델 파라메터의 값을 찾는데 한계가 있다.
반면에, 본 발명의 실시예에 따르면 예측 정확도(prediction accuracy) 및 모델 복잡도(model complexity)를 동시에 최적화할 수 있으며, 이에 따라 상술된 구성들 사이의 트레이드-오프가 최적화될 수 있다.
또한 추가적인 이산 단계 없이 확률적 경사도 강하를 사용하여 희소 구조가 학습될 수 있다.
예시적인 실시 예에서, 다른 관련된 그룹 정규화 방안은 l1,2-놈(l1,2-norm)을 갖는 exclusive lasso이다.
전체 그룹을 함께 제거하거나 또는 유지하는 것 대신에, 그룹 내의 희소를 촉진하는 데 사용될 수 있다.
이 때 정규화 항은 [수학식 21]과 같이 표현될 수 있다.
Figure PCTKR2020013304-appb-M000021
정규화 항을 최적화하기 위해, [수학식 22]의 근사 연산자(proximal operator)를 사용하여 학습이 수행된다.
Figure PCTKR2020013304-appb-M000022
[수학식 22]에서,
Figure PCTKR2020013304-appb-I000030
가 음수가 아닌 경우(즉, non-negative), 근사 연산자는 [수학식 2]의
Figure PCTKR2020013304-appb-I000031
의 형태로 단순화 된다.
하지만, 근사 연산자는 학습 규칙(learning rule)인 반면에, [수학식 2]의
Figure PCTKR2020013304-appb-I000032
는 신경망의 일부인 아키텍쳐 파라미터의 매개변수화된 형태로, 그 의미는 전혀 다르다. [수학식 22]는 심층 신경망을 희소화하기 위한 학습 방법이며, [수학식 2]는 심층 신경망의 모델 구성 방식으로서, [수학식 2]와 같이 심층 신경망을 구성하여 학습을 수행하면, 불필요한 파라미터는 자동으로 0으로 수렴하게 된다.
본 발명의 실시예에 따르면, 근사화된 연속 도메인(relaxed continuous domain)에서 아키텍쳐 파라미터를 최적화하는 것을 통해 신경망의 구조가 학습될 수 있다.
본 발명의 실시예에 따르면, 중요도 파라미터 또는 아키텍쳐 파라미터를 사용하지 않고서도, 심층 신경망의 불필요한 부분을 제거함으로써 추론에 필요한 연산량과 메모리량을 감소시키며, 동시에 향상된 정확도를 확보하는 최적화된 심층 신경망의 구조를 학습할 수 있다.
구조화된 희소성(structured sparsity) 및 비-구조화된 희소성(unstructured sparsity)에 관해 설명한다.
구조화된 희소성을 가진 심층 신경망을 구성하기 위해, 오리지널 모델 파라메터(ωg,i)는 [수학식 23]과 같이 거의 모든 입력 영역에서 미분 가능한 형태나 서브그레디언트 계산 가능한(sub-differentiable) 형태로 재-파라미터화된다.
Figure PCTKR2020013304-appb-M000023
[수학식 23]을 참조하면, (·)+는 relu= max(·,0)을 가리키고,
Figure PCTKR2020013304-appb-I000033
는 컨볼루션 필터와 같은 일반적인 파라미터 대신에 사용된다.
그룹의 크기가 exp(
Figure PCTKR2020013304-appb-I000034
)보다 작은 경우, 동일한 그룹 내의 모든 파라미터들이 0(zero)으로 된다(zero-out).
Figure PCTKR2020013304-appb-I000035
는 상수이나, 트레이닝을 통한 예측 손실 및 정규화 항 사이의 트레이드 오프를 고려하여 조정될 수 있는 트레이닝 가능한 파라미터이다.
최신 심층 신경망 툴의 내장된 미분 가능한 함수로서 relu의 지원을 고려하면, [수학식 2]를 이용한 방법에서처럼 확률적 경사도 강하 기반의 학습을 수행하는데 에 문제가 되지 않는다.
[수학식 20]의 근사 연산자와 [수학식 23]은 유사한 형태를 가진다. 하지만, 근사 연산자는 학습 규칙(learning rule)인 반면에, [수학식 23]은 신경망의 일부인 모델 파라미터의 매개변수화된 형태로 그 의미가 전혀 다르다. 따라서, 본 발명의 실시예에 따르면, 모델 파라미터(ωg,i)와 임계값 파라미터(
Figure PCTKR2020013304-appb-I000036
) 학습하는 것을 통해 불필요한 파라미터를 0으로 만들어 신경망을 경량화함과 동시에 신경망의 구조도 학습할 수 있다.
즉, 본 발명의 실시예에 따르면, 확률적 경사도 강하를 사용하여 모델 구조와 및 모델 파라미터가 동시에 학습될 수 있다. 예시적인 실시 예에서, 본 발명에 따르면, 모델 파라미터들이 최종적으로 0(zero)으로 되는 것이 적절하다.
즉,
Figure PCTKR2020013304-appb-I000037
인 경우, [수학식 23]의 분모에서
Figure PCTKR2020013304-appb-I000038
에서 수치적 문제가 발생할 수 있다.
Figure PCTKR2020013304-appb-I000039
인 것은
Figure PCTKR2020013304-appb-I000040
인 것을 의미하므로,
Figure PCTKR2020013304-appb-I000041
인 경우,
Figure PCTKR2020013304-appb-I000042
가 0으로 설정되거나 또는 분모에 작은 수를 더할 수 있다.
스케일링 팩터를 사용하여 [수학식 23]을 다시 표현하면 [수학식 24]와 같다.
Figure PCTKR2020013304-appb-M000024
[수학식 24]를 참조하면, α는 학습가능한 스케일 파라미터이다.
본 발명의 실시예에 따르면, 비-구조화된 희소성(unstructured sparsity)에 대한 방안이 제공된다. 전술한 구조화된 희소성에 대한 방안과 유사하게, 모델 파라미터의 값이 일정값 보다 작으면 0(zero)이 될 수 있도록 오리지널 모델 파라메터 (ωg,i)를 [수학식25]와 같이 거의 모든 입력 영역에서 미분 가능한 형태나 서브그레디언트 계산 가능한(sub-differentiable) 형태로 재-파라미터화한다.
Figure PCTKR2020013304-appb-M000025
[수학식 22]의 근사 연산자와 [수학식 25]는 유사한 형태를 가진다. 하지만, 근사 연산자는 학습 규칙(learning rule)인 반면에, [수학식 25]는 신경망의 일부인 모델 파라미터의 매개변수화된 형태로 그 의미가 전혀 다르다. 따라서, 본 발명의 실시예에 따르면, 모델 파라미터(ωg,i)와 임계값 파라미터(
Figure PCTKR2020013304-appb-I000043
) 학습하는 것을 통해 불필요한 파라미터를 0으로 만들 수 있다.
[수학식 23]은 전체 그룹들이 함께 제거되는 경향이 있는 반면에, [수학식 25]에서는, 그룹내에서 상대적인 크기에 따라 개별적인 파라미터들이 0으로 될 수 있다.
그러나, [수학식 25]의 구성이 구조화된 희소성을 배제하는 것을 의미하는 것은 아니다.
l2,1-놈과 같은 그룹 정규화는 동일한 그룹 내의 파라미터들이 동일한 값을 갖도록 유도할 수 있고, 임계치를 증가시킴으로써, 모든 파라미터들을 제거할 수 있다. 따라서, l2,1-놈을 정규화기로 사용함으로써, 그룹내의 모든 파라미터들이 동시에 모두 제거될 수 있도록 유도할 수 있다.
sign 함수의 경사도는 모든 구간에서 거의 0이나, 최신의 심층 학습 툴에 대하여 문제를 일으키지 않는다.
[수학식 25]을 [수학식 26]과 같이 표현할 수 있다.
Figure PCTKR2020013304-appb-M000026
수학식 18을 참조하면, (·)-는 min(·,0)이다.
오리지날 변수 wg,i의 값이 음수인지 아닌지에 따라, 변수가 개별적으로 제어될 수 있다.
이러한 조건문은 TensorFlow의 tf.cond 또는 tf.where를 사용하여 구현될 수 있다.
본 발명의 실시예에 따른 정규화된 목적 함수는 [수학식 27]과 같이 표현된다.
Figure PCTKR2020013304-appb-M000027
D는 트레이닝 데이터의 집합(set, 세트)이고, W 및
Figure PCTKR2020013304-appb-I000044
는 원본 및 재-표현(reformulated)된 모델 파라미터들이고,
Figure PCTKR2020013304-appb-I000045
는 임계치 파라미터의 세트이다.
일반적으로 정규화(regularization)는 자유 파라미터들, 즉, W에 대하여 적용되나,
Figure PCTKR2020013304-appb-I000046
가 β의 함수이므로,
Figure PCTKR2020013304-appb-I000047
에 대하여 적용되는 것이 더욱 적절하다.
임계치 파라미터는 정규화 항으로부터 학습 정보를 직접 받을 수 있고, 따라서, 예측 손실 및 모델 복잡도 사이의 균형을 맞추는 방법을 더욱 잘 학습할 수 있다.
[수학식 23]과 [수학식 25]는 l2,1-놈 및 l1,2-놈으로부터 각각 유도된 것으로 볼 수 있으나, l2,1-놈 및 l1,2-놈과 쌍을 이러 사용될 필요는 없으며, 다양한 정규화기(regularizer)들과 겹합하여 사용될 수 있다. 이는, [수학식 23]과 [수학식 25]은 학습을 통해 신경망의 불필요한 컴포넌트나 모델 파라미터가 0이 되도록 모델 파라미터를 재구성한 것일 뿐, 여전히 신경망의 일부이기 때문이다.
앞서 설명된 실시 예들에 적용한, p-놈을 [수학식 28]과 같이 나타낼 수 있다.
Figure PCTKR2020013304-appb-M000028
p-놈은 희소성을 유도하는 특성을 가진 것으로 잘 알려져 있다. 그러나, [수학식 28]에서 p<1인 p-norm에 기반하여 변수들을 정확히 0으로 만드는 효과적인 최적화 방법은 아직 개발되지 않았기 때문에, 실제로는 자주 사용되지 않는다. 즉, p<1인 p-놈이 희소성을 유도하는데 더욱 이상적이기는 하나, l1-놈 (p=1인경우)이 더욱 널리 사용된다. 그러나 본 발명의 실시 예에 따르면, 거의 모든 구간에서 미분 가능한다면, [수학식 28]의 p<1인 p-norm을 포함하여 다양한 종류의 정규화기들이 사용될 수 있다.
그룹 또는 파라미터의 크기가 임계치보다 작은 경우relu의 경사도(gradient)가 0이 되기 때문에, 학습 정보가 생성되지 않는다.
본 발명의 실시예에서는 그룹 또는 파라미터의 크기가 임계치보다 작은 경우에도 학습 정보가 생성될 수 있도록, 정방향 경로(forward path)에서 relu를 사용하고, 역방향 경로(backward path)에서 elu를 사용할 수 있다.
트레이닝의 초기 단계에서, 파라미터들이 랜덤하게 초기화되기 때문에, 어떤 파라미터들이 필요한지 또는 불필요한지를 설명하는 것이 어려울 수 있다.
λ를 점진적으로 스케줄링하는 것(gradual scheduling λ)은 급작스런 조기 탈락(early dropping)을 방지한다.
λ를 점진적으로 스케줄링하는 것(gradual scheduling λ)은 심층 신경망의 구조를 완만하게 변형시키고, 학습 프로세스를 좀 더 안정적으로 만들 수 있다.
본 발명의 실시예에 따르면, λ의 값이 초기 값(λi)으로부터 최종 값(λf)까지 n 세대(epoch)까지 서서히 증가할 수 있다.
t0의 세대에서 시작하여 매 세대마다 증가하는 λt는 [수학식 29]와 같이 표현될 수 있다.
Figure PCTKR2020013304-appb-M000029
t는 각 세대를 가리키는 인덱스이다.
[표 1]은 MNIST에서의 퍼포먼스이다.
Figure PCTKR2020013304-appb-I000048
top-1 error(%)
Min Median Max
Avg. Std. Err.(%)
Spar.(%) Err.(%)
Spar.(%) Err.(%)
Spar.(%)
0.000 0.36 0.01 0.35 0.00 0.36 0.00 0.38 0.00
0.010 0.37 0.04 0.31 11.90 0.38 14.29 0.44 5.95
0.015 0.37 0.01 0.36 17.86 0.37 27.38 0.39 17.86
0.020 0.40 0.06 0.32 26.19 0.39 26.19 0.48 30.95
0.025 0.39 0.03 0.35 38.10 0.38 34.52 0.44 28.57
[표 2]는 rectified gradient Flow를 이용한 MNIST에서의 퍼포먼스이다.
Figure PCTKR2020013304-appb-I000049
top-1 error(%)
Min Median Max
Avg. Std. Err.(%)
Spar.(%) Err.(%)
Spar.(%) Err.(%)
Spar.(%)
0.000 0.36 0.01 0.35 0.00 0.36 0.00 0.38 0.00
0.010 0.38 0.03 0.33 13.10 0.38 11.90 0.43 10.71
0.025 0.37 0.04 0.32 36.90 0.37 25.00 0.44 35.71
0.050 0.39 0.05 0.31 45.24 0.39 57.14 0.45 41.67
0.075 0.34 0.03 0.28 44.05 0.36 50.00 0.37 53.57
0.100 0.38 0.04 0.30 7.62 0.39 53.57 0.41 58.33
[표 3]은 rectified gradient Flow를 이용한 CIFAR-10에서의 퍼포먼스이다.
Figure PCTKR2020013304-appb-I000050
top-1 error(%)
Min Median Max
Avg. Std. Err.(%)
Spar.(%) Err.(%)
Spar.(%) Err.(%)
Spar.(%)
0.00 7.02 0.14 6.87 0.00 6.96 0.00 7.28 0.00
0.10 6.91 0.14 6.72 3.57 6.86 8.33 7.14 5.95
0.15 7.17 0.26 6.82 13.10 7.30 8.33 7.48 15.48
0.20 7.12 0.29 6.77 14.29 7.28 14.29 7.45 10.71
0.25 7.00 0.15 6.82 20.24 7.04 20.24 7.23 16.67
0.30 7.13 0.36 6.46 15.48 7.20 30.95 7.45 27.38
[표 4]는 rectified gradient Flow를 이용한 CIFAR-100에서의 퍼포먼스이다.
Figure PCTKR2020013304-appb-I000051
top-1 error(%)
Min Median Max
Avg. Std. Err.(%)
Spar.(%) Err.(%)
Spar.(%) Err.(%)
Spar.(%)
0.00 30.12 0.80 29.05 0.00 30.41 0.00 31.24 0.00
0.25 30.32 0.83 29.28 5.95 30.61 7.14 31.21 3.57
0.30 30.51 0.35 30.19 5.95 30.31 5.95 31.16 11.90
0.35 29.95 0.55 28.97 13.10 30.22 10.71 30.43 7.14
0.40 30.54 0.62 29.40 16.67 30.80 16.67 31.19 4.76
0.45 30.03 0.54 29.39 11.90 29.85 14.29 31.01 14.29
[표 5]는 Gradual Sparsity Regularization를 이용한 CIFAR-10에서의 퍼포먼스이다.
Figure PCTKR2020013304-appb-I000052
top-1 error(%)
Min Median Max
Avg. Std. Err.(%)
Spar.(%) Err.(%)
Spar.(%) Err.(%)
Spar.(%)
0.0000 6.79 0.26 6.51 0.00 6.79 0.00 7.26 0.00
0.0025 6.93 0.16 6.65 23.46 6.93 20.99 7.13 18.52
0.0050 7.04 0.26 6.73 27.16 6.93 35.80 7.49 37.04
0.0075 6.92 0.28 6.69 28.40 6.82 29.63 7.48 39.51
0.0100 6.91 0.37 6.60 44.44 6.65 48.15 7.51 40.74
0.0125 7.44 0.41 6.94 50.62 7.29 48.15 7.95 45.68
[표 6]은 l2,1-놈을 이용한 CIIFAR-10에서의 퍼포먼스이다.
Figure PCTKR2020013304-appb-I000053
top-1 error(%)
Min Median Max
Avg. Std. Err.(%)
Spar.(%) Err.(%)
Spar.(%) Err.(%)
Spar.(%)
0.0000 6.79 0.26 6.51 0.00 6.79 0.00 7.26 0.00
0.0025 6.83 0.16 6.72 3.70 6.74 0.00 7.13 1.23
0.0050 6.77 0.19 6.53 11.11 6.75 11.11 7.10 13.58
0.0075 6.91 0.15 6.72 24.69 6.85 24.69 7.13 18.52
0.0100 7.28 0.14 7.14 41.98 7.23 38.27 7.51 44.44
0.0125 7.47 0.34 7.03 46.91 7.46 50.62 7.97 43.21
[표 7]은 GCN을 이용한 교통 속도 예측 및 exclusive sparsity이다.
(a) Proximal operator
Figure PCTKR2020013304-appb-I000054
#N.Z. MAPE(%) L.R.(x100)
k=1 k=2
3 12,895 5.3898 57.24 62.42
5 11,915 5.3933 55.48 60.90
10 8,723 5.4894 33.39 40.35
15 7,584 5.5395 13.37 18.05
(b) Propoesed
Figure PCTKR2020013304-appb-I000055
#N.Z. MAPE(%) L.R.(x100)
k=1 k=2
3 6,170 5.3891 50.75 58.74
5 5,692 5.3872 52.90 60.86
10 5,009 5.3999 53.68 61.64
15 4,704 5.3948 55.83 63.68
[표 8]은 GCN을 이용한 교통 속도 예측 및
Figure PCTKR2020013304-appb-I000056
의 exclusive sparsity이다.
Figure PCTKR2020013304-appb-I000057
#N.Z. MAPE(%) L.R.(x100)
k=1 k=2
3 1,211 5.4089 70.47 77.04
5 1,161 5.4408 69.73 75.54
10 924 5.4695 70.66 76.24
15 871 5.4696 66.63 72.06
[표 9]는 CIFAR-10에서 ResNet의 퍼포먼스이다.
Figure PCTKR2020013304-appb-I000058
top-1 error(%)
Min Median Max
Avg. Std. Err.(%)
#Zeros Err.(%)
#Zeros Err.(%)
#Zeros
0.000 5.05 0.18 4.90 0/0/0 4.96 0/0/0 5.37 0/0/0
0.020 5.00 0.16 4.86 2/0/0 4.88 2/0/0 5.25 2/0/0
0.025 5.16 0.13 4.99 4/0/0 5.19 4/1/0 5.35 4/0/0
0.030 5.50 0.14 5.31 5/3/0 5.47 4/1/0 5.73 6/3/0
[표 10]은 CIFAR-10에서 ResNeXt의 퍼포먼스이다.
Figure PCTKR2020013304-appb-I000059
top-1 error(%)
Min Median Max
Avg. Std. Err.(%)
#Zeros Err.(%)
#Zeros Err.(%)
#Zeros
0.0000 5.40 0.12 5.17 0/0/0 5.48 0/0/0 5.50 0/0/0
0.0100 5.53 0.11 5.33 0/0/5 5.58 0/2/4 5.63 0/0/2
0.0125 5.67 0.21 5.30 0/3/4 5.77 0/3/4 5.88 1/5/4
0.0150 5.67 0.09 5.56 1/4/4 5.68 1/1/3 5.80 2/5/5
한편, 본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 컴퓨터 시스템에서 구현되거나, 또는 기록매체에 기록될 수 있다. 컴퓨터 시스템은 적어도 하나 이상의 프로세서와, 메모리와, 사용자 입력 장치와, 데이터 통신 버스와, 사용자 출력 장치와, 저장소를 포함할 수 있다. 전술한 각각의 구성 요소는 데이터 통신 버스를 통해 데이터 통신을 한다.
컴퓨터 시스템은 네트워크에 커플링된 네트워크 인터페이스를 더 포함할 수 있다. 프로세서는 중앙처리 장치(central processing unit (CPU))이거나, 혹은 메모리 및/또는 저장소에 저장된 명령어를 처리하는 반도체 장치일 수 있다.
메모리 및 저장소는 다양한 형태의 휘발성 혹은 비휘발성 저장매체를 포함할 수 있다. 예컨대, 메모리는 ROM 및 RAM을 포함할 수 있다.
따라서, 본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법은 컴퓨터에서 실행 가능한 방법으로 구현될 수 있다. 본 발명의 실시예에 따른 심층 신경망 구조 학습 및 경량화 방법이 컴퓨터 장치에서 수행될 때, 컴퓨터로 판독 가능한 명령어들이 본 발명에 따른 심층 신경망 구조 학습 및 경량화 방법을 수행할 수 있다.
한편, 상술한 본 발명에 따른 심층 신경망 구조 학습 및 경량화 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.

Claims (12)

  1. (a) 신경망 모델에 대한 파라미터를 생성하는 단계;
    (b) 상기 파라미터를 기반으로 상기 신경망 모델에 대응하는 목적 함수를 생성하는 단계; 및
    (c) 학습 데이터와 상기 목적 함수를 기반으로, 상기 파라미터에 대한 트레이닝을 수행하며 모델 학습을 수행하는 단계
    심층 신경망 구조 학습 및 경량화 방법.
  2. 제1항에 있어서,
    상기 신경망 모델은 복수의 컴포넌트들을 포함하고, 상기 복수의 컴포넌트들은 복수의 모듈들로 그룹화되는 것
    인 심층 신경망 구조 학습 및 경량화 방법.
  3. 제1항에 있어서,
    상기 (a) 단계는 상기 신경망 모델에 대한 아키텍쳐 파라미터 및 모델 파라미터를 생성하는 것
    인 심층 신경망 구조 학습 및 경량화 방법.
  4. 제3항에 있어서,
    상기 아키텍쳐 파라미터 중 일부는 트레이닝 과정 동안 0이 되어, 불필요하거나 중요하지 않은 컴포넌트들이 제거되는 것
    인 심층 신경망 구조 학습 및 경량화 방법.
  5. 제4항에 있어서,
    상기 신경망 모델은 상기 아키텍쳐 파라미터에 대응하는 컴포넌트의 강도가 경쟁 그룹 내에서 일정 수치 보다 작아지는 경우, 상기 컴포넌트를 상기 경쟁 그룹에서 배제시키는 것
    인 심층 신경망 구조 학습 및 경량화 방법.
  6. 제1항에 있어서,
    상기 (c) 단계는 확률적 경사도 강하를 이용하여 상기 파라미터에 대한 트레이닝을 수행하는 것
    인 심층 신경망 구조 학습 및 경량화 방법.
  7. 제6항에 있어서,
    상기 (c) 단계는 가중치에 대한 학습 및 신경망 구조에 대한 학습을 동시에수행하는 것
    인 심층 신경망 구조 학습 및 경량화 방법.
  8. 제6항에 있어서,
    상기 (c) 단계는 상기 확률적 경사도 강하의 변형된 구성을 사용하여 경사도 연산을 수행하되, 정방향 연산 및 역방향 연산을 수행하는 것
    인 심층 신경망 구조 학습 및 경량화 방법.
  9. 제1항에 있어서,
    (b-1 ) 상기 (c) 단계에서의 트레이닝 결과에 기초하여 경량화 모델을 생성하고 저장하는 단계를 더 포함하는 것
    인 심층 신경망 구조 학습 및 경량화 방법.
  10. 제1항에 있어서,
    상기 (a) 단계 이후 상기 (b) 단계 이전에, (a-1) 상기 파라미터를 재-파라미터화하는 단계를 더 포함하는 것
    인 심층 신경망 구조 학습 및 경량화 방법.
  11. 제10항에 있어서,
    상기 (a-1) 단계는 상기 파라미터가 0이 될 수 있도록 상기 재-파라미터화를 수행하는 것
    인 심층 신경망 구조 학습 및 경량화 방법.
  12. 제10항에 있어서,
    상기 (a-1) 단계는 상기 파라미터가 0이 될 수 있도록 서브 그래디언트 계산 가능한(sub-differentiable) 형태로 상기 재-파라미터화를 수행하는 것
    인 심층 신경망 구조 학습 및 경량화 방법.
PCT/KR2020/013304 2019-10-02 2020-09-29 심층 신경망 구조 학습 및 경량화 방법 WO2021066504A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20871182.0A EP4040342A4 (en) 2019-10-02 2020-09-29 METHOD OF LEARNING AND SIMPLIFYING DEEP NEURONAL NETWORK STRUCTURE
CN202080069687.8A CN114503122A (zh) 2019-10-02 2020-09-29 深度神经网络的结构学习和简化方法
US17/760,650 US20220343162A1 (en) 2019-10-02 2020-09-29 Method for structure learning and model compression for deep neural network

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR20190121906 2019-10-02
KR10-2019-0121906 2019-10-02
KR10-2020-0043231 2020-04-09
KR1020200043231A KR20210039921A (ko) 2019-10-02 2020-04-09 신경망 모델을 최적화하도록 구성된 심층 신경망 시스템의 동작 방법
KR10-2020-0075692 2020-06-22
KR20200075692 2020-06-22
KR10-2020-0126288 2020-09-28
KR1020200126288A KR20210157826A (ko) 2020-06-22 2020-09-28 심층 신경망 구조 학습 및 경량화 방법

Publications (1)

Publication Number Publication Date
WO2021066504A1 true WO2021066504A1 (ko) 2021-04-08

Family

ID=75337282

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/013304 WO2021066504A1 (ko) 2019-10-02 2020-09-29 심층 신경망 구조 학습 및 경량화 방법

Country Status (4)

Country Link
US (1) US20220343162A1 (ko)
EP (1) EP4040342A4 (ko)
CN (1) CN114503122A (ko)
WO (1) WO2021066504A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160062052A (ko) * 2013-10-02 2016-06-01 퀄컴 인코포레이티드 뉴럴 역학을 수정하기 위한 자동화 방법
US20160328655A1 (en) * 2013-05-30 2016-11-10 President And Fellows Of Harvard College Systems and methods for multi-task bayesian optimization
US20170270407A1 (en) * 2016-03-18 2017-09-21 Google Inc. Globally normalized neural networks
JP2019046236A (ja) * 2017-09-04 2019-03-22 株式会社東芝 学習装置、情報処理装置、学習方法およびプログラム
US20190102640A1 (en) * 2017-09-29 2019-04-04 Infineon Technologies Ag Accelerating convolutional neural network computation throughput

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160328655A1 (en) * 2013-05-30 2016-11-10 President And Fellows Of Harvard College Systems and methods for multi-task bayesian optimization
KR20160062052A (ko) * 2013-10-02 2016-06-01 퀄컴 인코포레이티드 뉴럴 역학을 수정하기 위한 자동화 방법
US20170270407A1 (en) * 2016-03-18 2017-09-21 Google Inc. Globally normalized neural networks
JP2019046236A (ja) * 2017-09-04 2019-03-22 株式会社東芝 学習装置、情報処理装置、学習方法およびプログラム
US20190102640A1 (en) * 2017-09-29 2019-04-04 Infineon Technologies Ag Accelerating convolutional neural network computation throughput

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4040342A4 *

Also Published As

Publication number Publication date
CN114503122A (zh) 2022-05-13
EP4040342A4 (en) 2023-08-02
US20220343162A1 (en) 2022-10-27
EP4040342A1 (en) 2022-08-10

Similar Documents

Publication Publication Date Title
WO2020197241A1 (en) Device and method for compressing machine learning model
WO2020190112A1 (en) Method, apparatus, device and medium for generating captioning information of multimedia data
WO2017222140A1 (ko) Cnn 기반 인루프 필터를 포함하는 부호화 방법과 장치 및 복호화 방법과 장치
WO2013115431A1 (ko) 신경망 컴퓨팅 장치 및 시스템과 그 방법
WO2019009491A1 (ko) 영상을 부호화 또는 복호화하는 방법 및 장치
EP4100914A1 (en) Image processing method and electronic apparatus
WO2022005188A1 (en) Entity recognition method, apparatus, electronic device and computer readable storage medium
WO2018044125A1 (ko) 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
WO2016195455A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2020242260A1 (ko) 전역적 문맥을 이용하는 기계 학습 기반의 이미지 압축을 위한 방법 및 장치
WO2023153818A1 (en) Method of providing neural network model and electronic apparatus for performing the same
WO2022071727A1 (en) Method for sharing spectrum resources, apparatus, electronic device and storage medium
WO2019074339A1 (ko) 신호 변환 시스템 및 신호 변환 방법
WO2019172685A1 (en) Electronic apparatus and control method thereof
WO2019009452A1 (ko) 영상을 부호화 또는 복호화하는 방법 및 장치
WO2022154457A1 (en) Action localization method, device, electronic equipment, and computer-readable storage medium
WO2021040419A1 (en) Electronic apparatus for applying personalized artificial intelligence model to another model
WO2021066504A1 (ko) 심층 신경망 구조 학습 및 경량화 방법
WO2022158912A1 (ko) 심화 신경망을 이용한 다채널 기반의 잡음 및 에코 신호 통합 제거 장치
WO2022158913A1 (ko) 병렬 구조의 심화신경망을 이용한 잡음 및 에코 신호 통합 제거 장치
WO2023080276A1 (ko) 쿼리 기반 데이터베이스 연동 딥러닝 분산 시스템 및 그 방법
WO2011105879A2 (en) Frequency reconfigurable digital filter and equalizer using the same
WO2023229094A1 (ko) 행동 예측 방법 및 장치
WO2022075609A1 (ko) 멀티 챗봇을 이용하여 질의에 응답하는 전자 장치 및 그 제어 방법
WO2023101472A1 (ko) 프로그램된 활성화 함수 실행 유닛을 포함하는 신경 프로세싱 유닛

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020871182

Country of ref document: EP

Effective date: 20220502