WO2022145713A1 - 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 - Google Patents

인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
WO2022145713A1
WO2022145713A1 PCT/KR2021/016656 KR2021016656W WO2022145713A1 WO 2022145713 A1 WO2022145713 A1 WO 2022145713A1 KR 2021016656 W KR2021016656 W KR 2021016656W WO 2022145713 A1 WO2022145713 A1 WO 2022145713A1
Authority
WO
WIPO (PCT)
Prior art keywords
pruning
neural network
artificial neural
network model
unit
Prior art date
Application number
PCT/KR2021/016656
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 US18/270,416 priority Critical patent/US20240104375A1/en
Publication of WO2022145713A1 publication Critical patent/WO2022145713A1/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
    • 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/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/045Combinations of networks

Definitions

  • the present invention relates to a method, a system, and a non-transitory computer-readable recording medium for lightweighting an artificial neural network model.
  • pruning is a weight with low importance among many weights learned by the artificial neural network model. It refers to a technology that reduces the capacity and amount of computation required for inference of an artificial neural network model by removing it from the artificial neural network model.
  • pruning includes weight pruning, which determines whether to remove each weight, and a structure for determining whether to remove in units of a specific structure (eg, a kernel, a specific channel of a kernel, a layer, etc.) It can be classified as Structured Pruning.
  • Weight pruning has the advantage of reducing the number of weights and the amount of computation required for inference, but since the pruned model has a sparse matrix structure, the reduction in capacity and computational amount due to pruning
  • the present inventor(s) by making the channel length of 1 x 1 pruning unit applied in the channel direction to each of the plurality of kernels shorter than the channel length of at least some of the kernels of the plurality of kernels, in a specific layer
  • An object of the present invention is to solve all of the problems of the prior art described above.
  • the channel length of 1 x 1 pruning unit applied in the channel direction to each of a plurality of kernels included in the artificial neural network model (the channel length of 1 x 1 pruning unit is above (Shorter than the channel length of at least some of the kernels of the plurality of kernels), a pruning factor for each of the above pruning units and a weight for each of the above pruning units are learned, and the learned pruning Another object of the present invention is to determine a pruning unit to be removed from the artificial neural network model from among the above pruning units based on at least one of a factor and a weight.
  • Another object of the present invention is to enable a weight in a specific layer included in an artificial neural network model to be shared in other layers as well.
  • a representative configuration of the present invention for achieving the above object is as follows.
  • each of the pruning units is learning a pruning factor and a weight for each of the pruning units, and determining a pruning unit to be removed from the artificial neural network model from among the pruning units based on at least one of the learned pruning factor and weight and a channel length of the pruning unit is shorter than a channel length of at least some of the kernels among the plurality of kernels.
  • a pruning factor for each of the pruning units and the A pruning factor learning unit that learns a weight for each pruning unit, and an artificial neural network that determines a pruning unit to be removed from the artificial neural network model from among the pruning units based on at least one of the learned pruning factor and the weight.
  • a system including a model manager, wherein the channel length of the pruning unit is shorter than the channel length of at least some of the plurality of kernels.
  • the channel length of 1 x 1 pruning unit applied in the channel direction to each of a plurality of kernels included in the artificial neural network model (the channel length of 1 x 1 pruning unit is the above
  • a pruning factor for each of the above pruning units and a weight for each of the above pruning units are learned based on the plurality of kernels (shorter than the channel length of at least some of the kernels), and the learned pruning factor
  • weights in a specific layer included in the artificial neural network model can be shared with other layers.
  • FIG. 1 is a diagram showing a schematic configuration of an entire system for reducing the weight of an artificial neural network model according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating in detail the internal configuration of an artificial neural network model lightweight system according to an embodiment of the present invention.
  • 3 to 4 are diagrams exemplarily illustrating a process in which pruning is performed.
  • FIG. 5 is a diagram illustrating an inference process of an artificial neural network model according to an embodiment of the present invention.
  • FIG. 6 is a diagram showing the structure of ResNet.
  • FIG. 7 and 8 are diagrams exemplarily illustrating a process in which weights are shared among a plurality of convolutional layers.
  • control unit 240 control unit
  • FIG. 1 is a diagram showing a schematic configuration of an entire system for reducing the weight of an artificial neural network model according to an embodiment of the present invention.
  • the entire system may include a communication network 100 , an artificial neural network model lightweight system 200 , and a device 300 .
  • the communication network 100 may be configured regardless of communication aspects such as wired communication or wireless communication, and includes a local area network (LAN), a metropolitan area network (MAN) ), a wide area network (WAN), etc. may be configured as various communication networks.
  • the communication network 100 as used herein may be a well-known Internet or World Wide Web (WWW).
  • WWW World Wide Web
  • the communication network 100 is not necessarily limited thereto, and may include a known wired/wireless data communication network, a known telephone network, or a known wired/wireless television communication network in at least a part thereof.
  • the communication network 100 is a wireless data communication network, and includes Wi-Fi communication, Wi-Fi-Direct communication, Long Term Evolution (LTE) communication, 5G communication, and Bluetooth communication (Low Energy Bluetooth (BLE)). (including Bluetooth Low Energy) communication), infrared communication, ultrasonic communication, and the like, may be implemented in at least a part thereof.
  • the communication network 100 may be an optical communication network, which implements at least a part of a conventional communication method such as LiFi (Light Fidelity).
  • the artificial neural network model lightweight system 200 is a 1 x 1 pruning unit applied in the channel direction to each of a plurality of kernels included in the artificial neural network model. Based on the channel length (the channel length of 1 x 1 pruning unit is shorter than the channel length of at least some of the above plurality of kernels), a pruning factor for each of the above pruning units and the above pruning unit A weight for each may be learned, and a function of determining a pruning unit to be removed from the artificial neural network model from among the above pruning units may be performed based on at least one of the learned pruning factors and weights.
  • the device 300 is a digital device including a function to communicate after connecting to the artificial neural network model lightweight system 200, and a smart phone, a tablet, a smart watch, a smart band , smart glasses, desktop computers, notebook computers, workstations, PDA's, web pads, mobile phones, etc., equipped with a memory means and equipped with a microprocessor, any digital device equipped with computing power as the device 300 according to the present invention can be adopted.
  • the device 300 according to an embodiment of the present invention may include an image capturing module (eg, CCTV, IP camera, etc.) or may mean an image capturing module itself.
  • such an image capturing module includes a recording medium (eg, Digital Video Recorder (DVR), Network Video Recorder (NVR), etc.) for storing images captured by the image capturing module. could be a concept.
  • DVR Digital Video Recorder
  • NVR Network Video Recorder
  • the device 300 is an application (not shown) that supports a user to receive a service such as artificial neural network model management (eg, distribution of a lightweight artificial neural network model) from the artificial neural network model lightweight system 200 . ) may be included.
  • a service such as artificial neural network model management (eg, distribution of a lightweight artificial neural network model) from the artificial neural network model lightweight system 200 . ) may be included.
  • Such an application may be downloaded from the artificial neural network model lightweight system 200 or an external application distribution server (not shown).
  • the characteristics of these applications are generally similar to the pruning factor learning unit 210 , the artificial neural network model management unit 220 , the communication unit 230 and the control unit 240 of the artificial neural network model lightweight system 200 to be described later. can do.
  • at least a part of the application may be replaced with a hardware device or a firmware device capable of performing substantially the same or equivalent function as the application, if necessary.
  • FIG. 2 is a diagram illustrating in detail the internal configuration of the artificial neural network model lightweight system 200 according to an embodiment of the present invention.
  • the artificial neural network model lightweight system 200 includes a pruning factor learning unit 210 , an artificial neural network model management unit 220 , a communication unit 230 and a control unit ( 240) may be included.
  • the pruning factor learning unit 210, the artificial neural network model management unit 220, the communication unit 230, and the control unit 240 at least some of which are external systems (not shown) and It may be a program module that communicates.
  • Such a program module may be included in the artificial neural network model lightweight system 200 in the form of an operating system, an application program module, or other program modules, and may be physically stored in various known storage devices.
  • such a program module may be stored in a remote storage device capable of communicating with the artificial neural network model lightweight system 200 .
  • a program module includes, but is not limited to, routines, subroutines, programs, objects, components, data structures, etc. that perform specific tasks or execute specific abstract data types according to the present invention.
  • the pruning factor learning unit 210 is a channel length (1 x 1) of 1 x 1 pruning unit applied in the channel direction to each of a plurality of kernels. Based on the channel length of the pruning unit being shorter than the channel length of at least some of the above plurality of kernels), a pruning factor for each of the above pruning units and a weight for each of the above pruning units are learned function can be performed.
  • the pruning unit may mean a unit from which a parameter (eg, a weight) is removed in performing pruning in order to lighten the artificial neural network model, and in the traditional pruning technique, a kernel, a channel, a layer, etc. are used. It is adopted as a pruning unit.
  • a further divided stripe is employed as a pruning unit (which may be expressed as a mini stripe in the following specification and drawings). The pruning unit will be described in detail. Meanwhile, in the present specification, dividing a kernel or a stripe does not necessarily mean physically dividing the kernel or stripe, but includes the meaning of treating the kernel or stripe as two or more pruning units (that is, conceptual division). should be understood
  • 3 and 4 (a) are diagrams exemplarily illustrating a process in which pruning is performed.
  • a process in which a kernel (ie, a filter) is employed as a pruning unit and pruning is performed is represented.
  • a kernel ie, a filter
  • F 1 to F N channel length: C
  • the second kernel F 2
  • F 2 the second kernel
  • the stripe means each of the K 2 1 x 1 kernels when the K x K kernel is divided into K 2 1 x 1 kernels in the channel direction. That is, the stripe means a pruning unit applied in the channel direction to a kernel used in a specific layer, and has the same channel length as the channel length of the corresponding kernel.
  • a 3 x 3 kernel (F 1 ; channel length: C) used in a specific layer may be treated as 9 stripes (channel length: C).
  • at least some (eg, three) of the nine stripes may be determined as a pruning unit to be removed from the artificial neural network model.
  • Figure 4 (b) is a diagram exemplarily showing a process of pruning according to an embodiment of the present invention.
  • 1 x 1 pruning unit may correspond to the division of the above-described stripe.
  • the channel length of 1 x 1 pruning unit is C/2
  • 3 x 3 kernels (channel length: C) used in a specific layer are 18 1 x It can be treated as 1 pruning unit (channel length: C/2).
  • the artificial neural network model manager 220 may determine at least some (eg, six) of the 18 stripes as a pruning unit to be removed from the artificial neural network model.
  • the channel length of 1 x 1 pruning unit according to an embodiment of the present invention may be commonly applied to a plurality of convolution layers included in the artificial neural network model. That is, the channel length of 1 x 1 pruning unit according to an embodiment of the present invention may be fixed in a specific artificial neural network model, that is, a constant. Meanwhile, since the convolution layer or the convolution operation corresponds to a general term used in the field of artificial neural network technology, a detailed description thereof will be omitted.
  • the channel length of the kernel may change as a layer or stage changes. Since the channel length of the stripe is the same as the channel length of the kernel to which the stripe is applied, as the channel length of the kernel changes, the stripe The channel length of A also changes (that is, the channel length of a stripe is a variable within a specific artificial neural network model).
  • the channel length of the 1 x 1 pruning unit according to the embodiment of the present invention may not change even if the channel length of the kernel to which the corresponding pruning unit is applied is changed, unlike the channel length of the stripe. Accordingly, the channel length of 1 x 1 pruning unit according to an embodiment of the present invention may be shorter than the channel length of at least some kernels among a plurality of kernels included in the artificial neural network model.
  • FIG. 6 is a diagram showing the structure of ResNet.
  • the channel length of 3 x 3 kernels used in the second stage (conv2_x) in 18-Layer ResNet is 64
  • a channel length of 1 x 1 pruning unit may be 32 (or 64).
  • the channel lengths of 3 x 3 kernels used in the third stage (conv3_x), fourth stage (conv4_x), and fifth stage (conv5_x) in 18-Layer ResNet are 128, 256, and 512, respectively.
  • the channel length of 1 x 1 pruning unit used in . may be 32 (or 64) as in the second stage.
  • the channel length of 1 x 1 pruning unit may be a power of 2 (ie, a power of 2, a cube of 2, a power of 2, etc.).
  • a power of 2 ie, a power of 2, a cube of 2, a power of 2, etc.
  • the following description of the present invention can be generally applied to most artificial neural network models.
  • the pruning factor learning unit 210 according to an embodiment of the present invention, according to an embodiment of the present invention, the channel length of 1 x 1 pruning unit (the channel length of 1 x 1 pruning unit is a plurality of A pruning factor and a weight may be learned based on at least some of the kernels (shorter than the channel length of the kernel), and these pruning factors and weights may relate to each of the above 1 ⁇ 1 pruning units.
  • a weight for each pruning unit may mean a weight included in each pruning unit, and the pruning factor learning unit 210 according to an embodiment of the present invention. ), learning these weights is the same as weight learning in a general artificial neural network model, so a detailed description will be omitted.
  • the pruning factor for each 1 x 1 pruning unit is for determining whether to remove the 1 x 1 pruning unit from the artificial neural network model, for example, , a gate factor, a scaling factor, and the sum of weights included in the corresponding 1 x 1 pruning unit (eg, L1 norm).
  • the pruning factor learning unit 210 is a scaling factor
  • a scaling factor is applied to each 1 x 1 pruning unit to learn and then learn 1 x 1 pruning units are removed in the order of decreasing the size of the scaled scaling factors (that is, the importance of the weight included in the 1 x 1 pruning unit), or according to whether the size does not meet a predetermined criterion,
  • the pruning factor may be learned by re-learning the pruning factor.
  • the pruning factor learning unit 210 when the pruning factor learning unit 210 according to an embodiment of the present invention is the sum of weights (eg, L1 norm) included in the corresponding 1 x 1 pruning unit, the pruning factor learning unit 210 .
  • the pruning factor may be learned by removing the 1 x 1 pruning unit based on the sum of the weights and re-learning the pruning factor.
  • the pruning factor learning unit 210 when the pruning factor learning unit 210 according to an embodiment of the present invention is a gate factor, it can learn the gate factor using gradient descent. have. Specifically, the pruning factor learning unit 210 according to an embodiment of the present invention converts a real parameter (eg, a scaling factor) to a Heaviside step function during forward propagation. The gate factor can be learned by applying it to , so that the gate factor can maintain a value of 0 or 1. In addition, the pruning factor learning unit 210 according to an embodiment of the present invention learns the gate factor by replacing the Heaviside step function with a differentiable sigmoid function during back propagation. can do.
  • a real parameter eg, a scaling factor
  • such a gate factor may be multiplied by 1 x 1 pruning unit before the convolution operation is performed, and channel values of the output tensor after the convolution operation is performed may be multiplied by
  • the type of pruning factor and the method of learning the pruning factor according to an embodiment of the present invention are not limited to those described above, and may be variously changed within the scope that can achieve the object of the present invention. have.
  • the loss function used by the pruning factor learning unit 210 according to an embodiment of the present invention to learn the pruning factor is a basic loss function of the artificial neural network model (eg, cross in classification). It may be a form in which a specific function is added to entropy (Cross Entropy function). For example, according to an embodiment of the present invention, such a specific function may be obtained by multiplying the L1 norm value of the pruning factor by a penalty constant lambda, and the larger the penalty constant lambda, the more 1 x 1 pruning units are removed It can have the meaning of learning in that direction.
  • the loss function used by the pruning factor learning unit 210 according to an embodiment of the present invention to learn the pruning factor is not limited to the one described above, and the object of the present invention can be achieved. It can be changed in various ways.
  • the artificial neural network model manager 220 is based on at least one of the pruning factor and the weight learned by the pruning factor learning unit 210 according to the embodiment of the present invention. Accordingly, it is possible to perform a function of determining a pruning unit to be removed from the artificial neural network model among 1 x 1 pruning units.
  • the artificial neural network model manager 220 uses a 1 x 1 pruning unit having little or no effect on the inference result of the artificial neural network model as a pruning unit to be removed from the artificial neural network model. can decide
  • the pruning factor for 1 x 1 pruning unit corresponds to a specific value (eg, the gate factor is 0). case) when the predetermined criterion is not met (eg, when the value of the scaling factor is less than or equal to a threshold value), the corresponding 1 x 1 pruning unit may be determined as the pruning unit to be removed from the artificial neural network model.
  • the artificial neural network model manager 220 when a specific 1 x 1 pruning unit can be treated as or equal to another 1 x 1 pruning unit (eg, a specific If the weight contained in 1 x 1 pruning unit and the weight contained in other 1 x 1 pruning unit are equal or can be treated as the same), only one 1 x 1 pruning unit is stored among them and the other 1 x 1 pruning unit is stored.
  • x 1 pruning unit may be determined as the pruning unit to be removed from the artificial neural network model.
  • the channel length of 1 x 1 pruning unit according to an embodiment of the present invention can be commonly applied to a plurality of convolutional layers included in an artificial neural network model
  • the artificial neural network model manager 220 according to the above is configured so that the pruning unit to be removed is shared (that is, the weight is shared) in the first convolution layer and the second convolution layer having a channel length different from the first convolution layer. can do. Accordingly, since the number of 1 x 1 pruning units that can be shared in the artificial neural network model increases compared to the prior art, a higher level of weight reduction is possible.
  • FIG. 7 and 8 are diagrams exemplarily illustrating a process in which weights are shared among a plurality of convolutional layers.
  • the channel length of the convolution layer of stage 3 of the artificial neural network model is 128 and the channel length of the convolution layer of stage 4 is 256.
  • 1 x 1 pruning unit channel length of 1 x 1 pruning unit is shorter than channel length of at least some of the plurality of kernels
  • the 1 x 1 pruning unit 810 shared between the layer 3 and the layer 4 of the stage 3 may also be shared with the layer 5 and the layer 6 of the stage 4 .
  • the artificial neural network model manager 220 may remove the determined pruning unit from the artificial neural network model. have.
  • FIG. 5 is a diagram illustrating an inference process of an artificial neural network model according to an embodiment of the present invention.
  • the channel length of the K x K kernel used in a specific layer is C and the channel length of 1 x 1 pruning unit is C/2.
  • one K x K kernel divided into two (510a and 520a) and each of the divided kernels divided into K 2 pieces (511a and 521a) can be considered as one 1 x 1 pruning unit.
  • the results 510b and 520b of the input tensor and each of the divided kernels 510a and 520a are obtained by convolution of the input tensor and the 1 x 1 pruning units 511a and 521a respectively ( 511b and 521b) properly combined.
  • the artificial neural network model manager according to an embodiment of the present invention ( 220), for some 1 x 1 pruning units used in the next layer, light the artificial neural network model by removing the channel associated with the removed 1 x 1 pruning unit 511a and 521a above.
  • the 1 x 1 pruning units 511a and 521a removed from the specific layer above correspond to the number of kernels in the specific layer above. It can be decided depending on whether For example, in a specific layer, all 1 x 1 pruning units for the 40th kernel out of 64 kernels have been removed, and 511a and 521a correspond to the kernels used in the next layer (channel length (C): 64).
  • the artificial neural network model learned by specifying the pruning rate needs to learn the pruning factor again in order to change the pruning rate.
  • the present invention it is possible to change the pruning ratio of the neural network model even after learning the pruning factor only once.
  • the 1 x 1 pruning unit used in the artificial neural network model is By setting the channel length shorter, the pruning rate can be lower (ie, the higher the proportion of weights removed).
  • the pruning factor is the scaling factor, set the channel length of 1 x 1 pruning unit to half the original channel length, and the weight of the original 1 x 1 pruning unit is W A , the scaling of that pruning unit Assuming that the factor is A, the scaling factors of the two 1 x 1 pruning units (weights W 1 and W 2 , respectively) with shorter channel lengths are each A x
  • the channel length of 1 x 1 pruning unit is changed as described above, the pruning ratio, accuracy, capacity, and/or computational amount of the artificial neural network model is non-linearly changed.
  • the artificial neural network model manager according to an embodiment of the present invention 220 using this property, it is possible to distribute artificial neural network models of various structures to the device 300 only by one learning, and as a result, artificial neural network models suitable for various edge computing environments can be used. .
  • the communication unit 230 may perform a function of enabling data transmission/reception to/from the pruning factor learning unit 210 and the artificial neural network model management unit 220 .
  • control unit 240 may perform a function of controlling the flow of data between the pruning factor learning unit 210 , the artificial neural network model management unit 220 , and the communication unit 230 . . That is, the control unit 240 according to an embodiment of the present invention by controlling the data flow to/from the outside of the artificial neural network model lightweight system 200 or the data flow between each component of the artificial neural network model lightweight system 200 . , the pruning factor learning unit 210 , the artificial neural network model management unit 220 , and the communication unit 230 may be controlled to perform their own functions, respectively.
  • the embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention or may be known and used by those skilled in the computer software field.
  • Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floppy disks. medium), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • a hardware device may be converted into one or more software modules to perform processing in accordance with the present invention, and vice versa.

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)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Abstract

본 발명의 일 태양에 따르면, 인공 신경망 모델을 경량화하기 위한 방법으로서, 인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이에 기초하여, 상기 프루닝 단위 각각에 관한 프루닝 인자 및 상기 프루닝 단위 각각에 관한 가중치를 학습하는 단계, 및 상기 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 상기 프루닝 단위 중에서 상기 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 단계를 포함하고, 상기 프루닝 단위의 채널 길이는 상기 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧은 방법이 제공된다.

Description

인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
본 발명은 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
인공 신경망 모델은 높은 성능을 얻기 위하여 많은 양의 파라미터(예를 들면, 가중치)를 학습하는 방식으로 발전되어왔다. 그러나, 이러한 방식으로 학습된 인공 신경망 모델은 추론에 필요한 용량이나 연산량이 많기 때문에 모바일, IoT(Internet of Things), 임베디드 등 컴퓨팅 리소스가 제한적인 에지(Edge) 컴퓨팅 환경에서는 이용되기가 어렵다는 한계가 있었다.
근래에 들어, 이러한 한계를 극복하기 위하여 인공 신경망 모델을 경량화하기 위한 다양한 방법들이 소개된 바 있는데, 그중에서 프루닝(Pruning; 가지치기)이란, 인공 신경망 모델이 학습한 많은 가중치 중에서 중요도가 낮은 가중치를 인공 신경망 모델에서 제거하는 등의 방식으로 인공 신경망 모델의 추론에 필요한 용량 및 연산량을 줄이는 기술을 의미한다.
일반적으로 프루닝은 가중치 각각에 대하여 제거 여부를 판단하는 가중치 프루닝(Weight Pruning)과 특정 구조(예를 들면, 커널(Kernel), 커널의 특정 채널, 레이어 등) 단위로 제거 여부를 판단하는 구조 프루닝(Structured Pruning)으로 분류할 수 있다. 가중치 프루닝의 경우 가중치의 수와 추론에 필요한 연산량을 많이 줄일 수 있다는 장점이 있기는 하지만, 프루닝된 모델이 희박 행렬(Sparse Matrix) 구조를 가지게 되므로, 프루닝으로 인한 용량 및 연산량의 감소 효과를 온전히 누리기 위해서는 별도의 하드웨어나 추가적인 프로그래밍이 필요하다는 단점이 있다. 이러한 단점으로 인하여 최근의 프루닝 기법들은 대부분 구조 프루닝을 사용하고 있으며, 특히 커널 단위나 채널 단위의 프루닝이 주를 이루고 있다.
하지만, 지금까지 소개된 기술에 의하면, 특정 레이어에서의 가중치를 다른 레이어(특히, 다른 스테이지의 레이어)에서 공유하는 것이 어렵고, 또한 인공 신경망 모델에서 프루닝되는 가중치의 비율을 높이는 것과 같이 이미 학습된 인공 신경망 모델에 변형을 가하기 위해서는 추가적인 학습이 필요하다는 한계가 있었다.
이에 본 발명자(들)는, 복수의 커널 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝 단위의 채널 길이를 위의 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧게 함으로써, 특정 레이어에서의 가중치가 다른 레이어에서 공유될 수 있도록 하고, 또한 이미 학습된 인공 신경망 모델을 최소한의 비용으로 변형할 수 있도록 하는 기술을 제안하는 바이다.
본 발명은 전술한 종래 기술의 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은, 인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이(1 x 1 프루닝 단위의 채널 길이는 위의 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)에 기초하여, 위의 프루닝 단위 각각에 관한 프루닝 인자 및 위의 프루닝 단위에 각각에 관한 가중치를 학습하고, 그 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 위의 프루닝 단위 중에서 위의 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 것을 다른 목적으로 한다.
또한, 본 발명은, 인공 신경망 모델에 포함되는 특정 레이어에서의 가중치가 다른 레이어에서도 공유될 수 있도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은, 이미 학습된 인공 신경망 모델을 최소한의 비용으로 변형할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이에 기초하여, 상기 프루닝 단위 각각에 관한 프루닝 인자 및 상기 프루닝 단위 각각에 관한 가중치를 학습하는 단계, 및 상기 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 상기 프루닝 단위 중에서 상기 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 단계를 포함하고, 상기 프루닝 단위의 채널 길이는 상기 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧은 방법이 제공된다.
본 발명의 다른 태양에 따르면, 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이에 기초하여, 상기 프루닝 단위 각각에 관한 프루닝 인자 및 상기 프루닝 단위 각각에 관한 가중치를 학습하는 프루닝 인자 학습부, 및 상기 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 상기 프루닝 단위 중에서 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 인공 신경망 모델 관리부를 포함하고, 상기 프루닝 단위의 채널 길이는 상기 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧은 시스템이 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 비일시성의 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이(1 x 1 프루닝 단위의 채널 길이는 위의 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)에 기초하여, 위의 프루닝 단위 각각에 관한 프루닝 인자 및 위의 프루닝 단위에 각각에 관한 가중치를 학습하고, 그 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 위의 프루닝 단위 중에서 위의 인공 신경망 모델에서 제거될 프루닝 단위를 결정할 수 있게 된다.
또한, 본 발명에 의하면, 인공 신경망 모델에 포함되는 특정 레이어에서의 가중치를 다른 레이어에서도 공유할 수 있게 된다.
또한, 본 발명에 의하면, 이미 학습된 인공 신경망 모델을 최소한의 비용으로 변형할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따라 인공 신경망 모델을 경량화하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 인공 신경망 모델 경량화 시스템의 내부 구성을 상세하게 도시하는 도면이다.
도 3 내지 도 4는 프루닝이 진행되는 과정을 예시적으로 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 인공 신경망 모델의 추론 과정을 예시적으로 나타내는 도면이다.
도 6은 ResNet의 구조를 나타내는 도면이다.
도 7 및 도 8은 복수의 컨볼루션 레이어 사이에서 가중치가 공유되는 과정을 예시적으로 나타내는 도면이다.
<부호의 설명>
100: 통신망
200: 인공 신경망 경량화 시스템
210: 프루닝 인자 학습부
220: 인공 신경망 모델 관리부
230: 통신부
240: 제어부
300: 디바이스
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
전체 시스템의 구성
도 1은 본 발명의 일 실시예에 따라 인공 신경망 모델을 경량화하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템은 통신망(100), 인공 신경망 모델 경량화 시스템(200) 및 디바이스(300)를 포함할 수 있다.
먼저, 본 발명의 일 실시예에 따른 통신망(100)은 유선 통신이나 무선 통신과 같은 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 명세서에서 말하는 통신망(100)은 공지의 인터넷 또는 월드 와이드 웹(WWW; World Wide Web)일 수 있다. 그러나, 통신망(100)은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.
예를 들면, 통신망(100)은 무선 데이터 통신망으로서, 와이파이(WiFi) 통신, 와이파이 다이렉트(WiFi-Direct) 통신, 롱텀 에볼루션(LTE; Long Term Evolution) 통신, 5G 통신, 블루투스 통신(저전력 블루투스(BLE; Bluetooth Low Energy) 통신 포함), 적외선 통신, 초음파 통신 등과 같은 종래의 통신 방법을 적어도 그 일부분에 있어서 구현하는 것일 수 있다. 다른 예를 들면, 통신망(100)은 광 통신망으로서, 라이파이(LiFi; Light Fidelity) 등과 같은 종래의 통신 방법을 적어도 그 일부분에 있어서 구현하는 것일 수 있다.
다음으로, 본 발명의 일 실시예에 따른 인공 신경망 모델 경량화 시스템(200)은 인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이(1 x 1 프루닝 단위의 채널 길이는 위의 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)에 기초하여, 위의 프루닝 단위 각각에 관한 프루닝 인자 및 위의 프루닝 단위 각각에 관한 가중치를 학습하고, 그 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 위의 프루닝 단위 중에서 위의 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 기능을 수행할 수 있다.
본 발명에 따른 인공 신경망 모델 경량화 시스템(200)의 구성과 기능에 관하여는 이하의 상세한 설명을 통하여 자세하게 알아보기로 한다.
다음으로, 본 발명의 일 실시예에 따른 디바이스(300)는 인공 신경망 모델 경량화 시스템(200)에 접속한 후 통신할 수 있는 기능을 포함하는 디지털 기기로서, 스마트폰, 태블릿, 스마트 워치, 스마트 밴드, 스마트 글래스, 데스크탑 컴퓨터, 노트북 컴퓨터, 워크스테이션, PDA, 웹 패드, 이동 전화기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 디바이스(300)로서 채택될 수 있다. 또한, 본 발명의 일 실시예에 따른 디바이스(300)는 영상 촬영 모듈(예를 들면, CCTV, IP 카메라 등)을 포함하거나 영상 촬영 모듈 그 자체를 의미할 수도 있다. 본 발명의 일 실시예에 따르면, 이러한 영상 촬영 모듈은 영상 촬영 모듈에 의하여 촬영된 영상을 저장하는 기록 매체(예를 들면, DVR(Digital Video Recorder), NVR(Network Video Recorder) 등)를 포함하는 개념일 수 있다.
특히, 디바이스(300)는, 사용자가 인공 신경망 모델 경량화 시스템(200)으로부터 인공 신경망 모델 관리(예를 들면, 경량화된 인공 신경망 모델의 배포) 등의 서비스를 제공받을 수 있도록 지원하는 애플리케이션(미도시됨)을 포함할 수 있다. 이와 같은 애플리케이션은 인공 신경망 모델 경량화 시스템(200) 또는 외부의 애플리케이션 배포 서버(미도시됨)로부터 다운로드된 것일 수 있다. 한편, 이러한 애플리케이션의 성격은 후술할 바와 같은 인공 신경망 모델 경량화 시스템(200)의 프루닝 인자 학습부(210), 인공 신경망 모델 관리부(220), 통신부(230) 및 제어부(240)와 전반적으로 유사할 수 있다. 여기서, 애플리케이션은 그 적어도 일부가 필요에 따라 그것과 실질적으로 동일하거나 균등한 기능을 수행할 수 있는 하드웨어 장치나 펌웨어 장치로 치환될 수도 있다.
인공 신경망 모델 경량화 시스템의 구성
이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 인공 신경망 모델 경량화 시스템(200)의 내부 구성과 각 구성요소의 기능에 대하여 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 인공 신경망 모델 경량화 시스템(200)의 내부 구성을 상세하게 도시하는 도면이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공 신경망 모델 경량화 시스템(200)은, 프루닝 인자 학습부(210), 인공 신경망 모델 관리부(220), 통신부(230) 및 제어부(240)를 포함하여 구성될 수 있다. 본 발명의 일 실시예에 따르면, 프루닝 인자 학습부(210), 인공 신경망 모델 관리부(220), 통신부(230) 및 제어부(240)는 그 중 적어도 일부가 외부의 시스템(미도시됨)과 통신하는 프로그램 모듈일 수 있다. 이러한 프로그램 모듈은 운영 시스템, 응용 프로그램 모듈 또는 기타 프로그램 모듈의 형태로 인공 신경망 모델 경량화 시스템(200)에 포함될 수 있고, 물리적으로는 여러 가지 공지의 기억 장치에 저장될 수 있다. 또한, 이러한 프로그램 모듈은 인공 신경망 모델 경량화 시스템(200)과 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
한편, 인공 신경망 모델 경량화 시스템(200)에 관하여 위와 같이 설명되었으나, 이러한 설명은 예시적인 것이고, 인공 신경망 모델 경량화 시스템(200)의 구성요소 또는 기능 중 적어도 일부가 필요에 따라 디바이스(300) 또는 서버(미도시됨) 내에서 실현되거나 외부 시스템(미도시됨) 내에 포함될 수도 있음은 당업자에게 자명하다.
먼저, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이(1 x 1 프루닝 단위의 채널 길이는 위의 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)에 기초하여, 위의 프루닝 단위 각각에 관한 프루닝 인자 및 위의 프루닝 단위 각각에 관한 가중치를 학습하는 기능을 수행할 수 있다.
구체적으로, 프루닝 단위란 인공 신경망 모델을 경량화하기 위하여 프루닝을 수행함에 있어서 파라미터(예를 들면, 가중치)가 제거되는 단위를 의미할 수 있으며, 전통적인 프루닝 기법에서는 커널, 채널, 레이어 등을 프루닝 단위로서 채용하고 있다. 본 발명에서는 스트라이프(stripe)를 더 분할한 것을 프루닝 단위(이하의 명세서 및 도면에서, 미니 스트라이프(mini stripe)라고 표현될 수 있음)로서 채용하는데, 이하에서는 도 3 및 도 4를 참조하여 이러한 프루닝 단위에 관하여 상세히 설명하도록 한다. 한편, 본 명세서에서, 커널 또는 스트라이프를 분할한다는 것은 반드시 물리적으로 분할하는 것을 의미하는 것은 아니고, 커널 또는 스트라이프를 둘 이상의 프루닝 단위로 구분하여 취급한다는 의미(즉, 개념적인 분할)를 포함하는 것으로 이해되어야 한다.
도 3 및 도 4의 (a)는 프루닝이 진행되는 과정을 예시적으로 나타내는 도면이다.
도 3을 참조하면, 커널(즉, 필터)이 프루닝 단위로서 채용되어 프루닝이 진행되는 과정이 표현된다. 예를 들면, 특정 레이어에서 사용되는 N 개의 K x K 커널(F1 내지 FN; 채널 길이: C) 중에서 두 번째 커널(F2)이 인공 신경망 모델에서 제거될 프루닝 단위로서 결정되면, 다음 레이어에서 사용되는 K x K 커널들의 두 번째 채널이 제거되는 것으로 결정될 수 있다.
도 4의 (a)를 참조하면, 스트라이프가 프루닝 단위로서 채용되어 프루닝이 진행되는 과정이 표현된다. 여기서, 스트라이프란 K x K 커널을 채널 방향의 K2 개의 1 x 1 커널로 분할한 경우에 그 K2 개의 1 x 1 커널 각각을 의미한다. 즉, 스트라이프는 특정 레이어에서 사용되는 커널에 대하여 채널 방향으로 적용되는 프루닝 단위를 의미하며, 해당 커널의 채널 길이와 동일한 채널 길이를 갖는다. 예를 들면, 특정 레이어에서 사용되는 3 x 3 커널(F1; 채널 길이: C)은 9개의 스트라이프(채널 길이: C)로 취급될 수 있다. 그리고, 그 9개의 스트라이프 중에서 적어도 일부(예를 들면, 3개)가 인공 신경망 모델에서 제거될 프루닝 단위로서 결정될 수 있다.
도 4의 (b)는 본 발명의 일 실시예에 따른 프루닝이 진행되는 과정을 예시적으로 나타내는 도면이다.
도 4의 (b)를 참조하면, 본 발명의 일 실시예에 따라 복수의 커널 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝 단위에 기초하여 프루닝이 진행되는 과정이 표현된다. 여기서, 본 발명의 일 실시예에 따르면, 1 x 1 프루닝 단위는 위에서 설명된 스트라이프가 분할된 것에 해당할 수 있다. 예를 들어, 본 발명의 일 실시예에 따르면, 1 x 1 프루닝 단위의 채널 길이가 C/2인 경우에, 특정 레이어에서 사용되는 3 x 3 커널(채널 길이: C)은 18개의 1 x 1 프루닝 단위(채널 길이: C/2)로 취급될 수 있다. 그리고, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 그 18개의 스트라이프 중에서 적어도 일부(예를 들면, 6개)를 인공 신경망 모델에서 제거할 프루닝 단위로서 결정할 수 있다.
또한, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는 인공 신경망 모델에 포함되는 복수의 컨볼루션 레이어(Convolution Layer)에 공통적으로 적용될 수 있다. 즉, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는 특정 인공 신경망 모델 안에서 고정된 것, 즉 상수일 수 있다. 한편, 컨볼루션 레이어나 컨볼루션 연산은 인공 신경망 기술 분야에서 사용되는 일반적인 용어에 해당하므로 이에 관한 자세한 설명은 생략하기로 한다.
구체적으로, 인공 신경망 모델에서는 레이어 또는 스테이지가 변함에 따라 커널의 채널 길이가 변할 수 있는데, 스트라이프의 채널 길이는 해당 스트라이프가 적용되는 커널의 채널 길이와 같으므로, 커널의 채널 길이가 변함에 따라 스트라이프의 채널 길이도 같이 변화한다(즉, 특정 인공 신경망 모델 안에서 스트라이프의 채널 길이는 변수임). 그러나, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는, 스트라이프의 채널 길이와는 다르게, 해당 프루닝 단위가 적용되는 커널의 채널 길이가 변하더라도 변하지 않을 수 있다. 이에 따라, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는 인공 신경망 모델에 포함되는 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧을 수 있다.
도 6은 ResNet의 구조를 나타내는 도면이다.
예를 들어, 도 6을 참조하면, 본 발명의 일 실시예에 따르면, 18-Layer의 ResNet에서 두 번째 스테이지(conv2_x)에 사용되는 3 x 3 커널들의 채널 길이는 64인데, 해당 스테이지에서 사용되는 1 x 1 프루닝 단위의 채널 길이는 32(또는 64)일 수 있다. 그리고, 18-Layer의 ResNet에서 세 번째 스테이지(conv3_x), 네 번째 스테이지(conv4_x) 및 다섯 번째 스테이지(conv5_x)에 사용되는 3 x 3 커널들의 채널 길이는 각각 128, 256 및 512인데, 해당 스테이지들에서 사용되는 1 x 1 프루닝 단위의 채널 길이는 두 번째 스테이지와 마찬가지로 32(또는 64)일 수 있다.
또한, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는 2의 멱수(즉, 2의 제곱, 2의 세제곱, 2의 네제곱 등)일 수 있다. 대다수의 인공 신경망 모델에서는 각 레이어에 사용되는 커널의 수가 2의 멱수로 정해져 있으므로, 본 발명에 관하여 후술하는 내용이 대다수의 인공 신경망 모델에 일반적으로 적용될 수 있다.
한편, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이(1 x 1 프루닝 단위의 채널 길이는 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)에 기초하여 프루닝 인자 및 가중치를 학습할 수 있고, 이러한 프루닝 인자 및 가중치는 위의 1 x 1 프루닝 단위 각각에 관한 것일 수 있다. 여기서, 본 발명의 일 실시예에 따르면, 프루닝 단위 각각에 관한 가중치는 그 각각의 프루닝 단위에 포함되는 가중치를 의미할 수 있으며, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)가 이러한 가중치를 학습하는 것은 일반적인 인공 신경망 모델에서의 가중치 학습과 그 내용이 동일하므로, 자세한 설명은 생략하기로 한다.
구체적으로, 본 발명의 일 실시예에 따르면, 1 x 1 프루닝 단위 각각에 관한 프루닝 인자는 해당 1 x 1 프루닝 단위를 인공 신경망 모델에서 제거할 것인지 여부를 결정하기 위한 것으로서, 예를 들면, 게이트 인자(gate factor), 스케일링 인자(scaling factor), 해당 1 x 1 프루닝 단위에 포함되는 가중치들의 합(예를 들면, L1 norm) 등을 의미할 수 있다.
예를 들면, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 프루닝 인자가 스케일링 인자인 경우에, 1 x 1 프루닝 단위 각각에 스케일링 인자를 두어 학습시킨 다음에, 학습된 스케일링 인자의 크기(즉, 해당 1 x 1 프루닝 단위에 포함되는 가중치의 중요도)가 작은 순서대로, 또는 그 크기가 소정 기준에 미치지 못하는지 여부에 따라 1 x 1 프루닝 단위를 제거하고, 프루닝 인자를 재학습하는 방식으로 프루닝 인자를 학습할 수 있다.
다른 예를 들면, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 프루닝 인자가 해당 1 x 1 프루닝 단위에 포함되는 가중치들의 합(예를 들면, L1 norm)인 경우에, 그 가중치들의 합에 기초하여 1 x 1 프루닝 단위를 제거하고, 프루닝 인자를 재학습하는 방식으로 프루닝 인자를 학습할 수 있다.
또 다른 예를 들면, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 프루닝 인자가 게이트 인자인 경우에, 그라디언트 하강법(Gradient Descent)을 이용하여 게이트 인자를 학습할 수 있다. 구체적으로, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 순전파(forward propagation) 시에 실수의 파라미터(예를 들면, 스케일링 인자)를 헤비사이드 계단 함수(Heaviside step function)에 적용시킴으로써 게이트 인자를 학습할 수 있고, 이에 따라 게이트 인자는 0 또는 1의 값을 유지할 수 있다. 그리고, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 역전파(back propagation) 시에는 헤비사이드 계단 함수를 미분이 가능한 시그모이드(Sigmoid) 함수로 대체하여 게이트 인자를 학습할 수 있다. 위에서 설명된 방식에 따라 게이트 인자를 학습하는 경우에는, 스케일링 인자나 L1 norm에 관한 실시예와는 다르게 재학습이 필요하지 않다는 장점이 있다. 한편, 본 발명의 일 실시예에 따르면, 이러한 게이트 인자는 컨볼루션 연산이 수행되기 전에 1 x 1 프루닝 단위에 곱해질 수 있고, 컨볼루션 연산이 수행된 이후의 출력 텐서(tensor)의 채널 값들에 곱해질 수도 있다.
다만, 본 발명의 일 실시예에 따른 프루닝 인자의 종류 및 프루닝 인자를 학습하는 방법이 위에서 설명된 것에 한정되는 것은 아니며, 본 발명의 목적을 달성할 수 있는 범위 내에서 다양하게 변경될 수 있다.
한편, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)가 프루닝 인자를 학습하기 위하여 사용되는 손실 함수는, 인공 신경망 모델의 기본적인 손실 함수(예를 들면, 분류(classification)에서는 크로스 엔트로피(Cross Entropy) 함수)에 특정 함수가 더해지는 형태일 수 있다. 예를 들면, 본 발명의 일 실시예에 따르면, 이러한 특정 함수는 프루닝 인자의 L1 norm 값에 페널티 상수 람다가 곱해진 것일 수 있고, 페널티 상수 람다는 클수록 더 많은 1 x 1 프루닝 단위를 제거하는 방향으로 학습한다는 의미를 가질 수 있다. 다만, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)가 프루닝 인자를 학습하기 위하여 사용되는 손실 함수가 위에서 설명된 것에 한정되는 것은 아니고, 본 발명의 목적을 달성할 수 있는 범위 내에서 다양하게 변경될 수 있다.
다음으로, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)에 의하여 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 1 x 1 프루닝 단위 중에서 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 기능을 수행할 수 있다.
구체적으로, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 인공 신경망 모델의 추론 결과에 미치는 영향이 적거나 없는 1 x 1 프루닝 단위를 인공 신경망 모델에서 제거될 프루닝 단위로서 결정할 수 있다. 예를 들면, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 1 x 1 프루닝 단위에 관한 프루닝 인자가 특정 값에 해당하거나(예를 들면, 게이트 인자의 값이 0인 경우) 소정의 기준에 미치지 못하는 경우(예를 들면, 스케일링 인자의 값이 임계값 이하인 경우)에, 해당 1 x 1 프루닝 단위를 인공신경망 모델에서 제거될 프루닝 단위로서 결정할 수 있다.
또한, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 특정 1 x 1 프루닝 단위가 다른 1 x 1 프루닝 단위와 같거나 같은 것으로 취급될 수 있는 경우(예를 들면, 특정 1 x 1 프루닝 단위에 포함되는 가중치와 다른 1 x 1 프루닝 단위에 포함되는 가중치가 같거나 같은 것으로 취급될 수 있는 경우)에, 그중에서 하나의 1 x 1 프루닝 단위만 저장하고 나머지 1 x 1 프루닝 단위를 인공 신경망 모델에서 제거할 프루닝 단위로서 결정할 수 있다. 그리고, 상술한 바와 같이, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는 인공 신경망 모델에 포함되는 복수의 컨볼루션 레이어에 공통적으로 적용될 수 있으므로, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 제1 컨볼루션 레이어 및 그 제1 컨볼루션 레이어와 채널 길이가 다른 제2 컨볼루션 레이어에서 위의 제거될 프루닝 단위가 공유(즉, 가중치가 공유)되도록 할 수 있다. 이에 따라, 종래 기술에 비하여 인공 신경망 모델 내에서 공유될 수 있는 1 x 1 프루닝 단위의 수가 증가하게 되므로, 더 높은 수준의 경량화가 가능하게 된다.
도 7 및 도 8은 복수의 컨볼루션 레이어 사이에서 가중치가 공유되는 과정을 예시적으로 나타내는 도면이다.
예를 들면, 도 7 및 도 8을 참조하면, 인공 신경망 모델의 스테이지 3의 컨볼루션 레이어의 채널 길이가 128이고 스테이지 4의 컨볼루션 레이어의 채널 길이가 256인 경우를 가정할 수 있다. 이러한 경우에, 도 7을 참조하면, 스트라이프를 프루닝 단위로서 채용하면, 컨볼루션 레이어의 채널 길이가 변함에 따라 스트라이프의 채널 길이도 변하기 때문에, 스테이지 3의 레이어 3 및 레이어 4 사이에서 공유되는 스트라이프(710)가 스테이지 4의 레이어 5에서는 공유될 수 없다. 반면에, 도 8을 참조하면, 본 발명의 일 실시예에 따라 1 x 1 프루닝 단위(1 x 1 프루닝 단위의 채널 길이는 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)를 채용하면, 스테이지 3의 레이어 3 및 레이어 4 사이에서 공유되는 1 x 1 프루닝 단위(810)가 스테이지 4의 레이어 5 및 레이어 6에서도 공유될 수 있다.
한편, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 위와 같이 인공 신경망 모델에서 제거될 1 x 1 프루닝 단위가 결정되면, 그 결정된 프루닝 단위를 인공 신경망 모델에서 제거할 수 있다.
도 5는 본 발명의 일 실시예에 따른 인공 신경망 모델의 추론 과정을 예시적으로 나타내는 도면이다.
구체적으로, 도 5를 참조하면, 특정 레이어서 사용되는 K x K 커널의 채널 길이가 C이고, 1 x 1 프루닝 단위의 채널 길이가 C/2인 경우를 가정할 수 있다. 이러한 경우에, 하나의 K x K 커널을 둘로 분할하고(510a 및 520a) 그 분할된 커널 각각을 K2 개로 분할한 것(511a 및 521a) 각각을 하나의 1 x 1 프루닝 단위로 생각할 수 있다. 그리고, 입력 텐서와 분할된 커널 각각(510a 및 520a)을 컨볼루션 연산한 결과(510b 및 520b)는, 그 입력 텐서와 1 x 1 프루닝 단위(511a 및 521a) 각각을 컨볼루션 연산한 결과(511b 및 521b)를 적절하게 합친 것과 같다. 여기서, 특정 레이어에서의 하나의 K x K 커널에 대응되는 1 x 1 프루닝 단위(511a 및 521a) 전부가 인공 신경망 모델에서 제거된다고 가정하면, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 그 다음 레이어에서 사용되는 일부의 1 x 1 프루닝 단위들에 대하여, 위의 제거된 1 x 1 프루닝 단위(511a 및 521a)와 연관되는 채널을 제거함으로써 인공 신경망 모델을 경량화할 수 있다.
한편, 위와 같이 다음 레이어에서 채널이 제거되는 일부의 1 x 1 프루닝 단위들은 위의 특정 레이어에서 제거되는 1 x 1 프루닝 단위(511a 및 521a)가 위의 특정 레이어에서 몇 번째 커널에 대응되는 것인지에 따라 결정될 수 있다. 예를 들면, 특정 레이어에서 64개의 커널 중 40번째 커널에 관한 1 x 1 프루닝 단위가 모두 제거되었고, 511a 및 521a가 그 다음 레이어(채널 길이(C): 64)에서 사용되는 커널에 대응되는 1 x 1 프루닝 단위를 나타낸다고 가정하면, 그 다음 레이어에서 사용되는 모든 커널에 대하여, 1 내지 32번째 채널과 컨볼루션 연산이 수행되는 1 x 1 프루닝 단위(511a)가 아니라, 33 내지 64번째 채널과 컨볼루션 연산이 수행되는 1 x 1 프루닝 단위(521a)의 8번째 채널이 제거될 수 있다.
한편, 종래 기술에 따르면, 프루닝 비율을 특정하여 학습한 인공 신경망 모델이 그 프루닝 비율을 변경하기 위해서는 프루닝 인자 등을 다시 학습해야 하는 단점이 있었다. 그러나, 본 발명에 따르면, 프루닝 인자를 한 번만 학습하고도 인경 신경망 모델의 프루닝 비율을 변경할 수 있게 된다.
예를 들면, 본 발명의 일 실시예에 따르면, 프루닝 비율이 20%(즉, 제거되는 가중치의 비율이 80%)로 학습된 경우에, 인공 신경망 모델에서 사용되는 1 x 1 프루닝 단위의 채널 길이를 더 짧게 설정함으로써 프루닝 비율이 더 낮아지도록(즉, 제거되는 가중치의 비율이 더 높아지도록)할 수 있다. 이 경우에, 프루닝 인자가 스케일링 인자이고, 1 x 1 프루닝 단위의 채널 길이를 원래 채널 길이의 절반으로 설정하고, 원래 1 x 1 프루닝 단위의 가중치가 WA, 그 프루닝 단위의 스케일링 인자가 A라고 가정하면, 채널 길이가 짧아진 두 1 x 1 프루닝 단위(가중치는 각각 W1 및 W2)의 스케일링 인자는 추가적인 학습이 없어도 각각 A x |W1| / |WA| 및 A x |W2| / |WA|로 산출될 수 있다.
한편, 위와 같이 1 x 1 프루닝 단위의 채널 길이를 변경하면 인공 신경망 모델의 프루닝 비율, 정확도, 용량 및/또는 연산량이 비선형적으로 변경되는데, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 이러한 성질을 이용하여, 한 번의 학습만으로도 다양한 구조의 인공 신경망 모델을 디바이스(300)에 배포할 수 있게 되고, 결과적으로 다양한 에지 컴퓨팅 환경에 적합한 인공 신경망 모델이 사용되도록 할 수 있다.
다음으로, 본 발명의 일 실시예에 따른 통신부(230)는 프루닝 인자 학습부(210) 및 인공 신경망 모델 관리부(220)로부터의/로의 데이터 송수신이 가능하도록 하는 기능을 수행할 수 있다.
마지막으로, 본 발명의 일 실시예에 따른 제어부(240)는 프루닝 인자 학습부(210), 인공 신경망 모델 관리부(220) 및 통신부(230) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명의 일 실시예에 따른 제어부(240)는 인공 신경망 모델 경량화 시스템(200)의 외부로부터의/로의 데이터 흐름 또는 인공 신경망 모델 경량화 시스템(200)의 각 구성요소 간의 데이터 흐름을 제어함으로써, 프루닝 인자 학습부(210), 인공 신경망 모델 관리부(220) 및 통신부(230)에서 각각 고유 기능을 수행하도록 제어할 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (6)

  1. 인공 신경망 모델을 경량화하기 위한 방법으로서,
    인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이에 기초하여, 상기 프루닝 단위 각각에 관한 프루닝 인자 및 상기 프루닝 단위 각각에 관한 가중치를 학습하는 단계, 및
    상기 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 상기 프루닝 단위 중에서 상기 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 단계를 포함하고,
    상기 프루닝 단위의 채널 길이는 상기 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧은
    방법.
  2. 제1항에 있어서,
    상기 프루닝 단위의 채널 길이는 상기 인공 신경망 모델에 포함되는 복수의 컨볼루션 레이어(Convolution Layer)에 공통적으로 적용되는
    방법.
  3. 제2항에 있어서,
    상기 복수의 컨볼루션 레이어에는 제1 컨볼루션 레이어 및 상기 제1 컨볼루션 레이어와 채널 길이가 다른 제2 컨볼루션 레이어가 포함되고,
    상기 결정 단계에서, 상기 제1 컨볼루션 레이어 및 상기 제2 컨볼루션 레이어에서 상기 제거될 프루닝 단위가 공유되도록 하는
    방법.
  4. 제1항에 있어서,
    상기 프루닝 단위의 채널 길이는 2의 멱수인
    방법.
  5. 제1항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 비일시성의 컴퓨터 판독 가능 기록 매체.
  6. 인공 신경망 모델을 경량화하기 위한 시스템으로서,
    복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이에 기초하여, 상기 프루닝 단위 각각에 관한 프루닝 인자 및 상기 프루닝 단위 각각에 관한 가중치를 학습하는 프루닝 인자 학습부, 및
    상기 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 상기 프루닝 단위 중에서 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 인공 신경망 모델 관리부를 포함하고,
    상기 프루닝 단위의 채널 길이는 상기 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧은
    시스템.
PCT/KR2021/016656 2020-12-31 2021-11-15 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 WO2022145713A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/270,416 US20240104375A1 (en) 2020-12-31 2021-11-15 Method and system for lightweighting artificial neural network model, and non-transitory computer-readable recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200188895A KR102464508B1 (ko) 2020-12-31 2020-12-31 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
KR10-2020-0188895 2020-12-31

Publications (1)

Publication Number Publication Date
WO2022145713A1 true WO2022145713A1 (ko) 2022-07-07

Family

ID=82260486

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/016656 WO2022145713A1 (ko) 2020-12-31 2021-11-15 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체

Country Status (3)

Country Link
US (1) US20240104375A1 (ko)
KR (1) KR102464508B1 (ko)
WO (1) WO2022145713A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017129325A1 (en) * 2016-01-29 2017-08-03 Fotonation Limited A convolutional neural network
CN110870019A (zh) * 2017-10-16 2020-03-06 因美纳有限公司 用于训练深层卷积神经网络集合的半监督学习
KR20200034918A (ko) * 2018-09-24 2020-04-01 삼성전자주식회사 심층 신경망의 가중치에 대한 밸런싱된 프루닝을 제공하는 시스템 및 방법
KR20200118815A (ko) * 2018-02-16 2020-10-16 더 가버닝 카운슬 오브 더 유니버시티 오브 토론토 신경망 가속기

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102225308B1 (ko) 2017-11-28 2021-03-09 주식회사 날비컴퍼니 컨볼루션 신경망 내 필터 프루닝 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017129325A1 (en) * 2016-01-29 2017-08-03 Fotonation Limited A convolutional neural network
CN110870019A (zh) * 2017-10-16 2020-03-06 因美纳有限公司 用于训练深层卷积神经网络集合的半监督学习
KR20200118815A (ko) * 2018-02-16 2020-10-16 더 가버닝 카운슬 오브 더 유니버시티 오브 토론토 신경망 가속기
KR20200034918A (ko) * 2018-09-24 2020-04-01 삼성전자주식회사 심층 신경망의 가중치에 대한 밸런싱된 프루닝을 제공하는 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANDREW G HOWARD, ZHU MENGLONG, CHEN BO, KALENICHENKO DMITRY, WANG WEIJUN, WEYAND TOBIAS, ANDREETTO MARCO, ADAM HARTWIG: "MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications", ARXIV, 17 April 2017 (2017-04-17), pages 1 - 9, XP055556718, Retrieved from the Internet <URL:https://arxiv.org/pdf/1704.04861.pdf> [retrieved on 20190214] *

Also Published As

Publication number Publication date
KR102464508B1 (ko) 2022-11-09
US20240104375A1 (en) 2024-03-28
KR20220096456A (ko) 2022-07-07

Similar Documents

Publication Publication Date Title
WO2018230832A1 (en) Image processing apparatus and method using multi-channel feature map
WO2020246834A1 (ko) 이미지 객체 인식 장치 및 방법
WO2019156283A1 (en) Dynamic memory mapping for neural networks
CN109542512B (zh) 一种数据处理方法、装置和存储介质
WO2021096005A1 (en) Method and system for neural network execution distribution
CN110471621B (zh) 一种面向实时数据处理应用的边缘协同存储方法
EP3942481A1 (en) Method of performing, by electronic device, convolution operation at certain layer in neural network, and electronic device therefor
CN108639882B (zh) 基于lstm网络模型的处理芯片与包含其的运算装置
CN114519306B (zh) 一种去中心化的终端节点网络模型训练方法及系统
CN112399162B (zh) 一种白平衡校正方法、装置、设备和存储介质
WO2022145713A1 (ko) 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
CN108675071B (zh) 基于人工神经网络处理器的云端协同智能芯片
CN111680791B (zh) 适用于异构环境中的通信方法、装置、系统
WO2021101052A1 (ko) 배경 프레임 억제를 통한 약한 지도 학습 기반의 행동 프레임 검출 방법 및 장치
WO2020091139A1 (ko) 시뮬레이션-가이드된 반복적 프루닝을 사용하는 효율적인 네트워크 압축
WO2020101121A1 (ko) 딥러닝 기반의 영상분석 방법, 시스템 및 휴대 단말
WO2022164001A1 (ko) 딥러닝 기반의 초해상화 이미지 처리 시스템과 방법 및 이를 위한 컴퓨터 프로그램
WO2022045697A1 (ko) 빅데이터 기반의 모듈형 ai 엔진 서버 및 그 구동 방법
WO2017195943A1 (ko) 인간관계와 시간성이 높은 서비스를 위한 스토리지 서버의 데이터 구분 방법 및 장치
WO2023095934A1 (ko) 객체 탐지기의 헤드 신경망 경량화 방법 및 시스템
WO2020262932A1 (ko) 분산된 분류 모델을 이용하는 분류 방법
WO2024038969A1 (ko) 딥러닝 기반의 행동인식 장치 및 방법
WO2023128024A1 (ko) 딥러닝 네트워크 양자화 처리 방법 및 시스템
WO2024135870A1 (ko) 효율적인 객체 감지를 위한 입력 단위 네트워크 양자화 방법을 수행하는 영상인식장치
WO2022173095A1 (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: 21915511

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 18270416

Country of ref document: US

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 29.11.2023)