KR20230141728A - Method for lightweighting neural network model and electronic apparatus for performing the same - Google Patents
Method for lightweighting neural network model and electronic apparatus for performing the same Download PDFInfo
- Publication number
- KR20230141728A KR20230141728A KR1020230130405A KR20230130405A KR20230141728A KR 20230141728 A KR20230141728 A KR 20230141728A KR 1020230130405 A KR1020230130405 A KR 1020230130405A KR 20230130405 A KR20230130405 A KR 20230130405A KR 20230141728 A KR20230141728 A KR 20230141728A
- Authority
- KR
- South Korea
- Prior art keywords
- filters
- filter
- importance
- removal
- policy
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000003062 neural network model Methods 0.000 title claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 16
- 230000007423 decrease Effects 0.000 abstract description 13
- 230000009467 reduction Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 14
- 238000013138 pruning Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 239000013585 weight reducing agent Substances 0.000 description 9
- 238000010606 normalization Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Processing (AREA)
Abstract
Description
본 개시는 신경망 모델 경량화 방법 및 이를 수행하는 전자 장치에 관한 것이다.The present disclosure relates to a method for lightweighting a neural network model and an electronic device that performs the same.
프루닝(pruning)은 신경망 모델 경량화 기법의 하나로, 상대적으로 불필요한 매개변수(예를 들어, 가중치)를 제거하는 방법이다. 지금까지 다양한 종류의 프루닝 기법이 개발되어 왔으나, 몇 가지 문제점이 있었다. 일 예로, 불필요한 필터를 제거하지 않고 필터의 일부 가중치를 0으로 마스킹(masking)하는 기법의 경우, 특정 디바이스에서만 레이턴시(latency) 감소가 나타나 실질적으로는 경량화를 통한 속도 향상의 이점이 없었다. Pruning is one of the neural network model lightweighting techniques and is a method of removing relatively unnecessary parameters (for example, weights). Various types of pruning techniques have been developed so far, but there are several problems. For example, in the case of a technique of masking some weights of the filter to 0 without removing unnecessary filters, latency was reduced only in certain devices, so there was no actual benefit of speed improvement through weight reduction.
다른 일 예로, 불필요한 필터를 실제로 제거하는 기법도 있었으나, 특정 레이어 전체가 사라져 모델의 정확도가 급감한다는 문제가 있었다. 또한, 레이어 전체가 사라지지 않더라도, 레이어 간 연결관계를 고려하지 않고 필터를 제거하여 모델이 함유하고있는 정보의 왜곡이 발생하는 문제가 있었다.As another example, there was a technique to actually remove unnecessary filters, but there was a problem that the accuracy of the model drastically decreased because an entire specific layer disappeared. In addition, even if the entire layer does not disappear, there is a problem that the information contained in the model is distorted by removing the filter without considering the connection between layers.
또 다른 일 예로, 각 레이어마다 사용자가 직접 경량화 정도를 설정하도록하는 방법이 있었으나, 사용자에게 매우 높은 수준의 경량화 지식을 요하기에 진입장벽이 매우 높았다.As another example, there was a method that allowed users to directly set the degree of lightweighting for each layer, but the barrier to entry was very high because it required a very high level of lightweighting knowledge from the user.
따라서, 모델의 정확도 감소를 최소화하면서 경량화에 따른 레이턴시 감소를 최대화하고, 사용자 편의성이 향상된 프루닝 기법의 필요한 실정이다.Therefore, there is a need for a pruning technique that minimizes the decrease in model accuracy, maximizes latency reduction due to weight reduction, and improves user convenience.
본 발명이 해결하고자 하는 일 기술적 과제는, 모델의 정확도 감소를 최소화하면서 레이턴시 감소를 최대화할 수 있는 경량화 방법을 제공하는 것이다.One technical problem that the present invention aims to solve is to provide a lightweight method that can maximize latency reduction while minimizing reduction in model accuracy.
본 발명이 해결하고자 하는 다른 일 기술적 과제는, 모델의 경량화에 따른 정보 왜곡이나 정확도의 현저한 감소를 방지할 수 있는 경량화 방법을 제공하는 것이다.Another technical problem that the present invention aims to solve is to provide a lightweight method that can prevent information distortion or a significant decrease in accuracy due to lightweighting of the model.
본 발명이 해결하고자 하는 또 다른 일 기술적 과제는, 사용자 편의성이 향상된 경량화 방법을 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a lightweight method with improved user convenience.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시예에 따르면, 전자 장치에 의해 수행되는 신경망 모델 경량화 방법에 있어서, 복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델, 상기 원본모델에 적용할 경량화 정도 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받는 단계; 상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하는 단계; 상기 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 상기 각 필터의 중요도를 정규화함으로써 레이어 단위로 상기 복수의 필터 각각의 중요도를 정규화하는 단계; 및 상기 정규화된 중요도 및 상기 경량화 정도를 기초로 상기 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는 단계;를 포함하는 방법이 제공될 수 있다.According to an exemplary embodiment of the present disclosure for solving the above-described technical problem, in a method for lightweighting a neural network model performed by an electronic device, an original model including a plurality of layers each including a plurality of filters, the original model Receiving a metric for determining the degree of lightweighting to be applied to the model and the importance of each of the plurality of filters; determining the importance of each of the plurality of filters using the metric; Among the plurality of filters included in each layer of the original model, the importance of each filter is normalized based on the importance of the remaining filters excluding filters with importance less than the importance of each filter, so that each of the plurality of filters is layer-by-layer. normalizing the importance of; And a step of reducing the weight of the original model by removing at least one filter among the plurality of filters based on the normalized importance and the degree of lightweighting.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시예에 따르면, 신경망 모델을 경량화하는 전자 장치에 있어서, 적어도 하나의 인스트럭션을 저장하는 메모리; 및 프로세서;를 포함하고, 상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써, 복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델, 상기 원본모델에 적용할 경량화 정도 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받고, 상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하고, 상기 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 상기 각 필터의 중요도를 정규화함으로써 레이어 단위로 상기 복수의 필터 각각의 중요도를 정규화하고, 상기 정규화된 중요도 및 상기 경량화 정도를 기초로 상기 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는 전자 장치가 제공될 수 있다.According to an exemplary embodiment of the present disclosure for solving the above-described technical problem, an electronic device for lightweighting a neural network model includes: a memory storing at least one instruction; and a processor; by executing the at least one instruction, the processor determines an original model including a plurality of layers each including a plurality of filters, a degree of weight reduction to be applied to the original model, and each of the plurality of filters. Receive a metric for determining the importance of, determine the importance of each of the plurality of filters using the metric, and determine the importance of each filter among the plurality of filters included in each layer of the original model. The importance of each of the plurality of filters is normalized on a layer basis by normalizing the importance of each filter based on the importance of the remaining filters excluding filters with small importance, and the plurality of filters are normalized based on the normalized importance and the degree of lightweighting. An electronic device can be provided that reduces the weight of the original model by removing at least one of the filters.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시예에 따르면, 전자 장치에 의해 수행되는 신경망 모델 경량화 방법에 있어서,According to an exemplary embodiment of the present disclosure for solving the above-described technical problem, in a method for reducing the weight of a neural network model performed by an electronic device,
복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받는 단계; 상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하는 단계; 상기 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 상기 각 필터의 중요도를 정규화함으로써 레이어 단위로 상기 복수의 필터 각각의 중요도를 정규화하는 단계; 및 상기 정규화된 중요도 및 상기 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책을 기초로, 상기 상호 관련된 레이어 상의 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는 단계;를 포함하는 방법이 제공될 수 있다.Receiving an original model including a plurality of layers each including a plurality of filters and a metric for determining the importance of each of the plurality of filters; determining the importance of each of the plurality of filters using the metric; Among the plurality of filters included in each layer of the original model, the importance of each filter is normalized based on the importance of the remaining filters excluding filters with importance less than the importance of each filter, so that each of the plurality of filters is layer-by-layer. normalizing the importance of; and at least one filter among a plurality of filters on the interrelated layers based on the normalized importance and a policy related to a method for removing filters included in interrelated layers among the plurality of layers included in the original model. A method including a step of reducing the weight of the original model by removing .
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시예에 따르면, 신경망 모델을 경량화하는 전자 장치에 있어서, 적어도 하나의 인스트럭션을 저장하는 메모리; 및 프로세서;를 포함하고, 상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써, 복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받고, 상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하고, 상기 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 상기 각 필터의 중요도를 정규화함으로써 레이어 단위로 상기 복수의 필터 각각의 중요도를 정규화하고, 상기 정규화된 중요도 및 상기 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책을 기초로, 상기 상호 관련된 레이어 상의 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는 전자 장치가 제공될 수 있다.According to an exemplary embodiment of the present disclosure for solving the above-described technical problem, an electronic device for lightweighting a neural network model includes: a memory storing at least one instruction; and a processor, wherein the processor executes the at least one instruction to determine an original model including a plurality of layers each including a plurality of filters and a metric for determining the importance of each of the plurality of filters. ) is input, the importance of each of the plurality of filters is determined using the metric, and the remaining filters excluding the filter with an importance less than the importance of each filter among the plurality of filters included in each layer of the original model The importance of each of the plurality of filters is normalized on a layer-by-layer basis by normalizing the importance of each filter based on the importance of , and the normalized importance and the filters included in interrelated layers among the plurality of layers included in the original model. An electronic device can be provided that reduces the weight of the original model by removing at least one filter among a plurality of filters on the interrelated layer based on a policy related to a method for removing them together.
본 개시의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The means for solving the problem of the present disclosure are not limited to the above-mentioned solution means, and the solution methods not mentioned can be clearly understood by those skilled in the art from this specification and the attached drawings. You will be able to.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 경량화 방법을 이용하여 모델의 정확도 감소를 최소화하면서 레이턴시 감소를 최대화할 수 있다. 또한, 모델의 경량화에 따른 정보 왜곡이나 정확도의 현저한 감소가 방지될 수 있다. 또한, 사용자는 원본모델을 편리하게 경량화할 수 있어 만족감이 향상될 수 있다.According to various embodiments of the present disclosure as described above, latency reduction can be maximized while minimizing reduction in model accuracy by using a lightweight method. Additionally, information distortion or a significant decrease in accuracy due to a lighter model can be prevented. Additionally, users can conveniently reduce the weight of the original model, thereby improving satisfaction.
그 외에 본 개시의 실시 예로 인하여 얻을 수 있거나 예측되는 효과에 대해서는 본 개시의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다. 예컨대, 본 개시의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.In addition, effects that can be obtained or expected due to the embodiments of the present disclosure will be disclosed directly or implicitly in the detailed description of the embodiments of the present disclosure. For example, various effects expected according to embodiments of the present disclosure will be disclosed in the detailed description to be described later.
본 개시의 다른 양상, 이점 및 두드러진 특징들은 첨부된 도면과 관련하여 본 발명의 다양한 실시 예들을 개시하는 다음의 상세한 설명으로부터 당업자에게 명백해질 것이다.Other aspects, advantages and salient features of the present disclosure will become apparent to those skilled in the art from the following detailed description, taken in conjunction with the accompanying drawings, which disclose various embodiments of the present invention.
본 개시의 특정 실시 예의 양상, 특징 및 이점은 첨부된 도면들을 참조하여 후술되는 설명을 통해 보다 명확해질 것이다.
도 1은 본 개시의 일 실시예에 신경망 모델 경량화 방법을 나타내는 순서도이다.
도 2는 본 개시의 일 실시예에 따른 필터의 중요도를 결정하는 방법을 나타내는 순서도이다.
도 3은 본 개시의 일 실시예에 따른 필터의 중요도를 결정하는 방법을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 중요도를 정규화하는 방법을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 신경망 모델 경량화 방법을 나타내는 순서도이다.
도 6은 본 개시의 일 실시예에 따른 제1 정책을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 제2 정책을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 제3 정책을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 제4 정책을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.Aspects, features and advantages of specific embodiments of the present disclosure will become clearer through the following description with reference to the accompanying drawings.
1 is a flowchart showing a method for lightweighting a neural network model according to an embodiment of the present disclosure.
Figure 2 is a flowchart showing a method of determining the importance of a filter according to an embodiment of the present disclosure.
Figure 3 is a diagram for explaining a method of determining the importance of a filter according to an embodiment of the present disclosure.
Figure 4 is a diagram for explaining a method of normalizing importance according to an embodiment of the present disclosure.
Figure 5 is a flowchart showing a method for lightweighting a neural network model according to an embodiment of the present disclosure.
Figure 6 is a diagram for explaining a first policy according to an embodiment of the present disclosure.
Figure 7 is a diagram for explaining a second policy according to an embodiment of the present disclosure.
Figure 8 is a diagram for explaining a third policy according to an embodiment of the present disclosure.
Figure 9 is a diagram for explaining a fourth policy according to an embodiment of the present disclosure.
Figure 10 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다. Terms used in this specification will be briefly described, and the present disclosure will be described in detail.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the embodiments of the present disclosure have selected general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but this may vary depending on the intention or precedent of a technician working in the art, the emergence of new technology, etc. . In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description part of the relevant disclosure. Therefore, the terms used in this disclosure should be defined based on the meaning of the term and the overall content of this disclosure, rather than simply the name of the term.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Embodiments of the present disclosure may be subject to various changes and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope to specific embodiments, and should be understood to include all transformations, equivalents, and substitutes included in the disclosed spirit and technical scope. In describing the embodiments, if it is determined that a detailed description of related known technology may obscure the point, the detailed description will be omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first, second, etc. may be used to describe various components, but the components should not be limited by the terms. Terms are used only to distinguish one component from another.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as “comprise” or “consist of” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are intended to indicate the presence of one or more other It should be understood that this does not exclude in advance the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Below, with reference to the attached drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily practice them. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein. In order to clearly explain the present disclosure in the drawings, parts that are not related to the description are omitted, and similar parts are given similar reference numerals throughout the specification.
도 1은 본 개시의 일 실시예에 신경망 모델 경량화 방법을 나타내는 순서도이다.1 is a flowchart showing a method for lightweighting a neural network model according to an embodiment of the present disclosure.
도 1을 참조하면, 전자 장치(100)는 복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델, 원본모델에 적용할 경량화 정도 및 복수의 필터 각각의 중요도를 결정하기 위한 메트릭을 수신할 수 있다(S110). Referring to FIG. 1, the electronic device 100 may receive an original model including a plurality of layers each including a plurality of filters, a metric for determining the degree of lightweighting to be applied to the original model, and the importance of each of the plurality of filters. (S110).
원본모델은 신경망 모델로서, 일 예로는, 이미지에서 오브젝트를 분류하도록 학습된 모델일 수 있다. 원본모델은, 복수의 레이어를 포함하며, 복수의 레이어 중 적어도 일부는 복수의 필터(또는 커널)를 포함할 수 있다.The original model is a neural network model, and for example, may be a model learned to classify objects in images. The original model includes a plurality of layers, and at least some of the plurality of layers may include a plurality of filters (or kernels).
경량화 정도는 원본모델을 얼마나 경량화시킬 지를 나타내는 값으로, 일 예로는, 압축율이나 프루닝 비율(pruning ratio)이 될 수 있다.The degree of lightweighting is a value that indicates how much the original model will be lightweighted. For example, it may be a compression ratio or a pruning ratio.
메트릭(metric)은 필터의 중요도를 결정하기 위한 수학식(formula)일 수 있다. 예를 들어, 메트릭은, L2 norm, 기하중앙값(Geometric Median), Nuclear norm 및/또는 L1 Norm을 포함할 수 있다. 필터의 중요도는 중요도 점수로 나타내질 수 있다.A metric may be a formula for determining the importance of a filter. For example, the metric may include L2 norm, Geometric Median, Nuclear norm, and/or L1 Norm. The importance of a filter can be expressed as an importance score.
전자 장치(100)는 원본모델, 경량화 정도 및 메트릭을 사용자로부터 입력받을 수 있다. 예를 들어, 사용자 장치는 원본모델, 경량화 정도 및 메트릭을 선택하는 사용자 입력을 수신할 수 있다. 전자 장치(100)는 사용자 장치로부터 원본모델, 경량화 정도 및 메트릭, 또는 이와 관련된 정보를 수신할 수 있다.The electronic device 100 may receive input from the user regarding the original model, degree of lightweighting, and metrics. For example, the user device may receive user input selecting the original model, degree of lightweighting, and metrics. The electronic device 100 may receive the original model, the degree of lightweighting and metrics, or information related thereto from the user device.
전자 장치(100)는 메트릭을 이용하여 복수의 필터 각각의 중요도를 결정할 수 있다(S120). 전자 장치(100)는 메트릭을 이용하여 복수의 필터 각각의 중요도를 산출할 수 있다. 각 필터에 대응되는 중요도는, 스칼라 값일 수 있다.The electronic device 100 may determine the importance of each of the plurality of filters using a metric (S120). The electronic device 100 may calculate the importance of each of the plurality of filters using a metric. The importance corresponding to each filter may be a scalar value.
전자 장치(100)는 각 필터의 중요도의 중복도에 기초하여 각 필터의 중요도를 재산출할 수 있다. 특정 필터의 중요도의 중복도는, 해당 필터의 중요도가, 해당 필터를 포함하는 레이어에 포함된 다른 필터들의 중요도와 얼마나 중복되는 지를 나타낼 수 있다. 예를 들어, 제1 필터의 중요도가 제1 필터를 포함하는 제1 레이어에 포함된 전체 필터의 중요도의 평균값에 가까울수록, 제1 필터의 중요도의 중복도가 클 수 있다. 또한, 제1 레이어에 포함된 전체 필터의 중요도의 표준편차가 클수록, 제1 필터의 중요도의 중복도가 크다고 할 수 있다.The electronic device 100 may recalculate the importance of each filter based on the degree of redundancy of the importance of each filter. The degree of overlap in importance of a specific filter may indicate how much the importance of the filter overlaps with the importance of other filters included in the layer including the filter. For example, the closer the importance of the first filter is to the average value of the importance of all filters included in the first layer including the first filter, the greater the degree of overlap in importance of the first filter may be. Additionally, it can be said that the greater the standard deviation of the importance of all filters included in the first layer, the greater the degree of redundancy of the importance of the first filter.
중요도를 재산출하는 과정에서, 각 필터의 중요도는 중복도에 따라 증가하거나 감소할 수 있다. 예를 들어, 제1 필터의 중요도의 중복도가 일정 수준 이상이면, 제1 필터의 중요도는 최초 값에 비해 감소할 수 있다. 제1 필터의 중요도의 중복도가 일정 수준보다 작으면, 제1 필터의 중요도는 최초 값에 비해 증가할 수 있다.In the process of recalculating the importance, the importance of each filter may increase or decrease depending on the degree of redundancy. For example, if the redundancy of the importance of the first filter is above a certain level, the importance of the first filter may decrease compared to the initial value. If the redundancy of the importance of the first filter is less than a certain level, the importance of the first filter may increase compared to the initial value.
전자 장치(100)는 재산출된 중요도가 낮은 필터를 제거하므로, 중복도가 높은 중요도를 갖는 필터일수록 제거될 확률이 높다고 할 수 있다. 중복도가 높은 중요도를 갖는 필터가 제거되는 경우, 중복도가 낮은 중요도를 갖는 ??터가 제거되는 경우에 비해 정보 왜곡이나 모델의 정확도 감소가 적을 수 있다. 따라서, 중복도를 고려하여 모델을 경량화하면, 경량화에 따른 정확도 감소를 최소화하면서 경량화 수준을 높일 수 있다는 장점이 있다.Since the electronic device 100 removes recalculated filters with low importance, it can be said that a filter with a high degree of redundancy and importance is more likely to be removed. When a filter with a high level of redundancy and importance is removed, information distortion or a decrease in model accuracy may be less than when a filter with a low level of redundancy and importance is removed. Therefore, if the model is lightweighted by considering redundancy, there is an advantage in that the level of lightweighting can be increased while minimizing the decrease in accuracy due to lightweighting.
전자 장치(100)는 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 각 필터의 중요도를 정규화함으로써 레이어 단위로 복수의 필터 각각의 중요도를 정규화할 수 있다(S130). 전자 장치(100)는 각 레이어마다 해당 레이어에 포함된 필터들의 중요도를 합산한 값으로 해당 레이어에 포함된 각 필터의 중요도를 나누어 각 필터의 중요도를 정규화할 수 있다. 예를 들어, 제1 레이어가 제1 필터, 제2 필터 및 제3 필터를 포함하는 경우, 전자 장치(100)는 제1 필터의 중요도, 제2 필터의 중요도 및 제3 필터의 중요도를 합산한 값으로 제1 필터의 중요도를 나누어 제1 필터의 중요도를 정규화할 수 있다.The electronic device 100 normalizes the importance of each filter based on the importance of the remaining filters, excluding filters with an importance less than the importance of each filter, among a plurality of filters included in each layer of the original model, thereby creating a plurality of filters on a layer-by-layer basis. The importance of each filter can be normalized (S130). The electronic device 100 may normalize the importance of each filter by dividing the importance of each filter included in the layer by the sum of the importance of the filters included in the layer. For example, when the first layer includes a first filter, a second filter, and a third filter, the electronic device 100 adds the importance of the first filter, the importance of the second filter, and the third filter. The importance of the first filter can be normalized by dividing the importance of the first filter by the value.
한편, 각 필터의 중요도를 레이어 내의 모든 필터의 중요도들의 합으로 나누는 방식으로 정규화를 진행할 경우, 해당 레이어에 포함된 필터 수의 증가에 따라, 필터의 중요도가 필터의 개수에 의해 퇴색될 수 있다. 또한, 사용자가 설정한 경량화 정도가 증가함에 따라 일부 레이어가 제거될 수 있다. 이 경우, 모델의 정보 왜곡이나 정확도 감소가 심화될 수 있다.Meanwhile, when normalization is performed by dividing the importance of each filter by the sum of the importance of all filters in the layer, as the number of filters included in the layer increases, the importance of the filter may fade depending on the number of filters. Additionally, as the degree of lightweighting set by the user increases, some layers may be removed. In this case, distortion of model information or reduction in accuracy may intensify.
이를 방지하기 위해, 전자 장치(100)는 각 필터의 중요도를 정규화할 때, 해당 필터를 포함한 레이어 내에서 해당 필터의 중요도 이상의 중요도를 갖는 필터들만 선별할 수 있다. 전자 장치(100)는 각 필터의 중요도를, 선별된 필터들의 중요도의 합으로 나눌 수 있다. 즉, 전자 장치(100)는 각 필터의 중요도를 정규화할 때, 해당 필터의 중요도 보다 작은 중요도를 갖는 필터는 무시할 수 있다. To prevent this, when normalizing the importance of each filter, the electronic device 100 may select only filters with an importance greater than that of the corresponding filter within a layer including the corresponding filter. The electronic device 100 may divide the importance of each filter by the sum of the importance of the selected filters. That is, when normalizing the importance of each filter, the electronic device 100 may ignore filters with an importance less than that of the corresponding filter.
정규화가 완료되면, 전자 장치(100)는 레이어의 구분 없이 모든 필터를 중요도 순으로 정렬할 수 있다. 그리고, 전자 장치(100)는 사용자가 설정한 경량화 정도를 기초로 정해진 개수만큼 중요도가 낮은 필터를 제거할 수 있다. 전술한 바와 같이, 전자 장치(100)는 각 필터의 중요도를 정규화할 때 해당 필터의 중요도 보다 작은 중요도를 갖는 필터는 무시하므로, 경량화가 완료된 각 레이어에는 적어도 하나의 필터(즉, 각 레이어에서 중요도가 가장 높은 필터)는 남게된다. 각 레이어에는 적어도 하나의 필터가 남게되므로, 레이어 자체가 제거되는 일은 발생하지 않게 된다. 이와 같이, 본 개시에 따른 경량화 방법은, 모델의 레이어를 제거하지는 않으므로 기존의 경량화 방법에 비해 정보 왜곡이나 모델의 정확도 감소가 작다는 장점이 있다.Once normalization is completed, the electronic device 100 can sort all filters in order of importance without distinction of layers. Additionally, the electronic device 100 may remove a set number of low-importance filters based on the degree of weight reduction set by the user. As described above, when normalizing the importance of each filter, the electronic device 100 ignores filters with an importance less than the importance of the corresponding filter. Therefore, each layer in which lightweighting is completed includes at least one filter (i.e., the importance of each layer is The filter with the highest value) is left behind. Since at least one filter remains in each layer, the layer itself will not be removed. As such, the lightweight method according to the present disclosure has the advantage of reducing information distortion or reducing model accuracy compared to existing lightweight methods because it does not remove layers of the model.
전자 장치(100)는 정규화된 중요도 및 경량화 정도를 기초로 복수의 필터 중 적어도 하나의 필터를 제거하여 원본모델을 경량화할 수 있다(S140). 전자 장치(100)는 레이어의 구분 없이 모든 필터를 정규화된 중요도를 기준으로 정렬할 수 있다. 전자 장치(100)는 경량화 정도를 기초로 정규화된 중요도가 낮은 적어도 하나의 필터를 선택할 수 있다. 경량화 정도에 따라 선택되는 필터의 개수가 정해질 수 있다. 예를 들어, 경량화 정도가 증가할수록, 선택되는 필터의 개수도 증가할 수 있다.The electronic device 100 may reduce the weight of the original model by removing at least one filter among the plurality of filters based on the normalized importance and degree of lightweighting (S140). The electronic device 100 can sort all filters based on normalized importance without distinction of layers. The electronic device 100 may select at least one filter with low normalized importance based on the degree of weight reduction. The number of filters selected may be determined depending on the degree of lightweighting. For example, as the degree of lightweighting increases, the number of filters selected may also increase.
도 2는 본 개시의 일 실시예에 따른 필터의 중요도를 결정하는 방법(S120)을 나타내는 순서도이다.Figure 2 is a flowchart showing a method (S120) of determining the importance of a filter according to an embodiment of the present disclosure.
도 2를 참조하면, 전자 장치(100)는 메트릭을 이용하여 복수의 필터 각각의 중요도를 산출할 수 있다(S121).Referring to FIG. 2, the electronic device 100 may calculate the importance of each of a plurality of filters using a metric (S121).
전자 장치(100)는 산출된 중요도의 중복도에 기초하여 복수의 필터 각각의 중요도를 재산출할 수 있다(S122). 예를 들어, 전자 장치(100)는 각 필터의 중요도를 표준점수화하여 각 필터의 중요도를 재산출할 수 있다. 즉, 재산출된 필터의 중요도는, 최초 산출된 중요도의 표준점수일 수 있다. 필터의 중요도를 표준점수화함에 따라, 중요도의 중복도는 재산출된 중요도에 반영될 수 있다.The electronic device 100 may recalculate the importance of each of the plurality of filters based on the calculated degree of overlap of importance (S122). For example, the electronic device 100 may recalculate the importance of each filter by converting the importance of each filter into a standard score. In other words, the importance of the recalculated filter may be the standard score of the initially calculated importance. As the importance of the filter is standardized, the degree of importance redundancy can be reflected in the recalculated importance.
전자 장치(100)는 각 필터의 중요도의 중복도에 따라 각 필터의 중요도를 조절할 수 있다. 예를 들어, 전자 장치(100)는 중복도가 낮은 중요도는 그 크기를 증가시키고, 중복도가 낮은 중요도는 그 크기를 감소시킬 수 있다. 중복도가 낮은 중요도를 갖는 필터는 제거될 경우 모델의 정확도 감소에 끼치는 영향이 큰 반면, 중복도가 큰 중요도를 갖는 필터는 제거되더라도 모델의 정확도 감소에 끼치는 영향이 상대적으로 적을 수 있다. 때문에, 상대적으로 중복도가 큰 중요도를 갖는 필터를 제거하는 것이 모델의 정확도 보존에 유리할 수 있다.The electronic device 100 can adjust the importance of each filter according to the degree of overlap of importance of each filter. For example, the electronic device 100 may increase the size of an importance with low redundancy, and decrease the size of an importance with low redundancy. Filters with low importance with low redundancy may have a large impact on reducing model accuracy when removed, while filters with high importance with high redundancy may have relatively little effect on reducing model accuracy even if they are removed. Therefore, it may be advantageous to preserve the accuracy of the model to remove filters with relatively high redundancy and importance.
도 3은 본 개시의 일 실시예에 따른 필터의 중요도를 결정하는 방법을 설명하기 위한 도면이다.Figure 3 is a diagram for explaining a method of determining the importance of a filter according to an embodiment of the present disclosure.
도 3을 참조하면, 제1 레이어(L1)는 제1 필터(31), 제2 필터(32) 및 제3 필터(33)를 포함할 수 있다. 도시된 원은 필터를 나타내며, 원안에 표시된 문자들(W, c, r)은 필터의 가중치, 중요도 및 재산출된 중요도를 각각 나타낸다. 각 문자의 아랫첨자 표기는 (레이어의 인덱스 값, 필터 또는 채널의 인덱스 값)을 나타낸다. 필터들(31, 32, 33)의 가중치들(, , )은 각 원소가 가중치인 소정의 크기를 갖는 행렬일 수 있다. 예를 들어, 제1 필터(31)의 가중치()는 3x3 행렬일 수 있다. 한편, 도 3에서는 편의상 하나의 레이어를 기준으로 필터의 중요도를 결정하는 방법을 설명하나, 후술하는 방법은 원본모델에 포함된 다른 레이어에 그대로 적용될 수 있음을 밝혀둔다.Referring to FIG. 3 , the first layer (L1) may include a first filter 31, a second filter 32, and a third filter 33. The circle shown represents a filter, and the letters (W, c, r) displayed within the circle represent the weight, importance, and recalculated importance of the filter, respectively. The subscript notation of each letter indicates (index value of layer, index value of filter or channel). Weights of filters 31, 32, 33 ( , , ) may be a matrix with a predetermined size where each element is a weight. For example, the weight of the first filter 31 ( ) may be a 3x3 matrix. Meanwhile, in Figure 3, for convenience, a method of determining the importance of a filter based on one layer is explained, but it should be noted that the method described later can be applied to other layers included in the original model.
전자 장치(100)는 제1 수학식(F1)에 필터들(31, 32, 33)의 가중치들(, , )을 적용하여 필터들(31, 32, 33)의 중요도들(, , )을 산출할 수 있다. 중요도들(, , )은 스칼라 값일 수 있다.The electronic device 100 adds the weights of the filters 31, 32, and 33 to the first equation (F1) ( , , ) is applied to determine the importance of the filters (31, 32, 33) ( , , ) can be calculated. Importance ( , , ) may be a scalar value.
전자 장치(100)는 제2 수학식(F2)에 중요도들(, , )을 적용하여 필터들(31, 32, 33)의 중요도를 재산출할 수 있다. 이에 따라, 전자 장치(100)는 필터들(31, 32, 33)의 재산출된 중요도들(, , )을 획득할 수 있다. 전자 장치(100)는 제2 수학식(F2)을 이용하여 필터의 중요도를 레이어 단위로 표준점수화할 수 있다. 제2 수학식(F2)에서, 는 각 레이어에 포함된 모든 필터의 중요도들의 표준편차를 나타내며, 는 각 레이어에 포함된 모든 필터의 중요도들의 평균을 나타낸다. 제1 레이어(L1)의 경우, 는 중요도들(, , )의 표준편차이며, 는 중요도들(, , )의 평균값이다.The electronic device 100 determines the importance levels in the second equation (F2) ( , , ) can be applied to recalculate the importance of the filters 31, 32, and 33. Accordingly, the electronic device 100 recalculates the importance of the filters 31, 32, and 33 ( , , ) can be obtained. The electronic device 100 can standardize the importance of the filter on a layer-by-layer basis using the second equation (F2). In the second equation (F2), represents the standard deviation of the importance of all filters included in each layer, represents the average of the importance of all filters included in each layer. For the first layer (L1), are the importance levels ( , , ) is the standard deviation of are the importance levels ( , , ) is the average value.
제2 수학식(F2)은 필터의 중요도의 중복도를 반영할 수 있다. 예를 들어, 제1 레이어에 포함된 제1 필터의 중요도와, 제1 레이어에 포함된 모든 필터의 중요도들의 평균의 차이가 작을수록 제1 필터의 중복도는 크다고 할 수 있다. The second equation (F2) may reflect the degree of redundancy of the importance of the filter. For example, it can be said that the smaller the difference between the importance of the first filter included in the first layer and the average of the importance of all filters included in the first layer, the greater the degree of redundancy of the first filter.
도 4는 본 개시의 일 실시예에 따른 중요도를 정규화하는 방법을 설명하기 위한 도면이다. Figure 4 is a diagram for explaining a method of normalizing importance according to an embodiment of the present disclosure.
도 4를 참조하면, 전자 장치(100)는 제3 수학식(F3)에 필터들(31, 32, 33)의 재산출된 중요도들(, , )을 적용하여 필터들(31, 32, 33)을 정규화할 수 있다. 이에 따라, 전자 장치(100)는 필터들(31, 32, 33)의 정규화된 중요도들(, , )을 획득할 수 있다.Referring to FIG. 4, the electronic device 100 calculates the recalculated importance levels of the filters 31, 32, and 33 in the third equation (F3). , , ) can be applied to normalize the filters 31, 32, and 33. Accordingly, the electronic device 100 determines the normalized importance of the filters 31, 32, and 33 ( , , ) can be obtained.
제3 수학식(F3)을 참조하면, 정규화는 레이어 단위로 수행된다. 예를 들어, 제1 필터(31)의 중요도()를 정규화하는 경우, 제1 레이어(L1)에 포함된 필터들(31, 32, 33)의 중요도들(, , )은 이용되나, 다른 레이어에 포함된 필터의 중요도는 이용되지 않을 수 있다.Referring to the third equation (F3), normalization is performed on a layer basis. For example, the importance of the first filter 31 ( ), the importance of the filters 31, 32, and 33 included in the first layer (L1) ( , , ) is used, but the importance of filters included in other layers may not be used.
또한, 제3 수학식(F3)의 분모를 보면 알 수 있듯이, 특정 필터의 중요도를 정규화할 때, 해당 필터보다 중요도가 작은 필터의 중요도는 고려되지 않을 수 있다. 예를 들어, 필터들(31, 32, 33) 중 가장 큰 중요도를 갖는 필터가 제1 필터(31)인 경우, 제1 필터(31)를 정규화할 때 나머지 필터들(32, 33)의 중요도는 제3 수학식(F3)의 분모에 반영되지 않을 수 있다. 따라서, 제1 레이어(L1)에 포함된 필터의 개수가 증가하더라도, 필터의 중요도는 필터의 개수에 의해 퇴색되지 않을 수 있다. 또한, 제1 레이어(L1)에서 중요도가 가장 큰 필터의 중요도는 정규화에 따라 1이되므로, 이후 제거할 필터를 선택하는 과정에서 선택되지 않게 되어 제1 레이어(L1) 전체가 제거되지는 않을 수 있다.Additionally, as can be seen from the denominator of the third equation (F3), when normalizing the importance of a specific filter, the importance of a filter that is less important than the corresponding filter may not be considered. For example, if the filter with the greatest importance among the filters 31, 32, and 33 is the first filter 31, when normalizing the first filter 31, the importance of the remaining filters 32 and 33 may not be reflected in the denominator of the third equation (F3). Therefore, even if the number of filters included in the first layer (L1) increases, the importance of the filters may not fade depending on the number of filters. In addition, since the importance of the filter with the greatest importance in the first layer (L1) becomes 1 according to normalization, it may not be selected in the process of selecting a filter to be removed later, and the entire first layer (L1) may not be removed. there is.
한편, 제3 수학식(F3)에서는 자기보다 중요도가 작은 필터의 중요도는 분모에 반영되지 않는다. 다른 실시예로, 제3 수학식(F3)의 분모에서, 자기보다 중요도가 작은 필터의 중요도는 0에 가까운 아주 작은 값으로 치환될 수도 있다.Meanwhile, in the third equation (F3), the importance of a filter with less importance than the filter is not reflected in the denominator. In another embodiment, in the denominator of the third equation (F3), the importance of a filter with less importance than the filter may be replaced with a very small value close to 0.
전자 장치(100)는 원본모델에 포함된 모든 필터의 중요도에 대해 정규화를 수행할 수 있다. 그리고, 전자 장치(100)는 레이어와 관계없이 모든 필터를 정규화된 중요도를 기초로 정렬할 수 있다. 전자 장치(100)는 사용자가 설정한 경량화 정도에 기초하여 결정된 개수만큼 중요도가 낮은 필터를 선택할 수 있다. 전자 장치(100)는 선택된 필터를 제거함으로써 원본모델을 경량화할 수 있다. 전자 장치(100)는 경량화된 모델을 사용자에게 제공할 수 있다. 예를 들어, 전자 장치(100)는 경량화된 모델에 대응되는 다운로드 데이터를 사용자에게 제공할 수 있다.The electronic device 100 may perform normalization on the importance of all filters included in the original model. Additionally, the electronic device 100 can sort all filters based on normalized importance regardless of layer. The electronic device 100 may select a number of filters of lower importance determined based on the degree of weight reduction set by the user. The electronic device 100 can reduce the weight of the original model by removing the selected filter. The electronic device 100 may provide a lightweight model to the user. For example, the electronic device 100 may provide download data corresponding to a lightweight model to the user.
한편, 도 3 및 도 4에서는 제1 레이어(L1)에 포함된 필터의 개수가 3개인 것을 예로 들었으나, 필터의 개수가 3으로 한정되는 것은 아님을 밝혀둔다.Meanwhile, in FIGS. 3 and 4, the number of filters included in the first layer L1 is 3 as an example, but it should be noted that the number of filters is not limited to 3.
도 5는 본 개시의 일 실시예에 신경망 모델 경량화 방법을 나타내는 순서도이다.Figure 5 is a flowchart showing a method for lightweighting a neural network model according to an embodiment of the present disclosure.
도 5를 참조하면, 전자 장치(100)는 복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델 및 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 수신할 수 있다(S510). 예를 들어, 원본모델은 제1 레이어 및 제2 레이어를 포함할 수 있다. 제1 레이어는, 복수의 제1 필터를 포함할 수 있다. 제2 레이어는, 복수의 제2 필터를 포함할 수 있다.Referring to FIG. 5, the electronic device 100 may receive an original model including a plurality of layers each including a plurality of filters and a metric for determining the importance of each of the plurality of filters (S510). . For example, the original model may include a first layer and a second layer. The first layer may include a plurality of first filters. The second layer may include a plurality of second filters.
전자 장치(100)는 메트릭을 이용하여 복수의 필터 각각의 중요도를 결정할 수 있다(S520). 필터의 중요도를 결정하는 방법은, 도 1에서 이미 설명한 바, 상세한 설명은 생략하도록 한다.The electronic device 100 may determine the importance of each of the plurality of filters using a metric (S520). The method of determining the importance of a filter has already been described in FIG. 1, so detailed description will be omitted.
전자 장치(100)는 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 각 필터의 중요도를 정규화함으로써 레이어 단위로 복수의 필터 각각의 중요도를 정규화할 수 있다(S530). 본 단계는 도 1의 S130을 통해 명확히 이해할 수 있는 바 상세한 설명은 생략하도록 한다.The electronic device 100 normalizes the importance of each filter based on the importance of the remaining filters, excluding filters with an importance less than the importance of each filter, among a plurality of filters included in each layer of the original model, thereby creating a plurality of filters on a layer-by-layer basis. The importance of each filter can be normalized (S530). Since this step can be clearly understood through S130 in FIG. 1, detailed description will be omitted.
전자 장치(100)는 정규화된 중요도 및 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책을 기초로, 상호 관련된 레이어 상의 복수의 필터 중 적어도 하나의 필터를 제거하여 원본모델을 경량화할 수 있다(S540).The electronic device 100 selects at least one of the plurality of filters on the interrelated layers based on the normalized importance and a policy related to a method for removing filters included in the interrelated layers among the plurality of layers included in the original model. The original model can be made lighter by removing the filter (S540).
본 개시에서 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책은, '필터 제거 정책', '가지치기 정책' 또는 '정책'으로 간략히 지칭될 수 있다. 사용자는 사용자 장치에 원본모델을 입력하고, 가지치기 정책을 설정할 수 있다. 전자 장치(100)는 사용자 장치로부터 원본모델과 가지치기 정책을 수신할 수 있다.In the present disclosure, a policy related to a method for removing filters included in interrelated layers may be briefly referred to as a 'filter removal policy', 'pruning policy', or 'policy'. Users can input the original model into their device and set pruning policies. The electronic device 100 may receive the original model and pruning policy from the user device.
본 개시의 가지치기 정책은 제1 정책, 제2 정책, 제3 정책 및 제4 정책을 포함할 수 있다. 제1 정책 및 제2 정책에 따르면, 각 레이어에서 일부 필터가 제거후보로 결정되고, 제거후보로 결정된 필터들의 인덱스를 기초로 최종 제거대상이 결정될 수 있다. 예를 들어, 전자 장치(100)는 산출된 중요도와 사용자가 설정한 경량화 정도를 기초로 복수의 제1 필터 중 제1 제거후보를 결정하고 복수의 제2 필터 중 제2 제거후보를 결정할 수 있다. The pruning policy of the present disclosure may include a first policy, a second policy, a third policy, and a fourth policy. According to the first policy and the second policy, some filters in each layer are determined as candidates for removal, and the final removal target may be determined based on the indices of the filters determined as candidates for removal. For example, the electronic device 100 may determine a first removal candidate among a plurality of first filters and a second removal candidate among a plurality of second filters based on the calculated importance and the degree of weight reduction set by the user. .
제1 정책에 따르면, 각 레이어의 제거후보 중 다른 레이어의 제거후보와 인덱스가 동일한 필터가 해당 레이어에서의 제거대상으로 결정될 수 있다. 예를 들어, 제1 제거후보 중 제2 제거후보와 인덱스가 동일한 필터가 제1 레이어에서의 제거대상으로 결정될 수 있다. 제1 정책은, 'intersection'으로도 지칭될 수 있다.According to the first policy, among the removal candidates of each layer, a filter with the same index as the removal candidate of another layer may be determined as the target for removal from that layer. For example, among the first removal candidates, a filter that has the same index as the second removal candidate may be determined as a target for removal in the first layer. The first policy may also be referred to as 'intersection'.
제2 정책에 따르면, 각 레이어의 제거후보 뿐만 아니라, 각 레이어에서 제거후보로 결정되지 않은 필터들 중 다른 레이어의 제거후보와 인덱스가 동일한 필터까지 제거대상으로 결정될 수 있다. 예를 들어, 제1 레이어에서의 제거대상은, 제1 제거후보와, 제1 레이어에서 제1 제거후보로 결정되지 않았으나 제2 레이어의 제2 제거후보와 인덱스가 동일한 제1 필터를 포함할 수 있다. 제2 정책은, 'union'으로도 지칭될 수 있다.According to the second policy, in addition to the removal candidates of each layer, among filters that are not determined as removal candidates in each layer, filters that have the same index as the removal candidates of other layers may be determined as removal targets. For example, the removal target in the first layer may include a first removal candidate and a first filter that has not been determined as the first removal candidate in the first layer but has the same index as the second removal candidate in the second layer. there is. The second policy may also be referred to as 'union'.
제3 정책 및 제4 정책에 따르면, 복수의 레이어에 포함된 필터들 중 인덱스가 동일한 필터들의 중요도 간의 추가적인 연산을 통해 각 인덱스(또는 채널)에 대응되는 중요도가 산출될 수 있다. 그리고, 사용자가 설정한 경량화 정도와 각 인덱스에 대응되는 중요도를 기초로 중요도가 낮은 인덱스가 선택될 수 있다. 선택된 인덱스를 갖는 필터가 각 레이어에서 제거될 제거대상으로 결정될 수 있다. 제3 정책에서는, 인덱스에 대응되는 중요도를 산출하는 추가적인 연산이 합산일 수 있다. 제3 정책은, 'sum'으로도 지칭될 수 있다. 제4 정책에서는 인덱스에 대응되는 중요도를 산출하는 추가적인 연산이 평균화일 수 있다. 제4 정책은, 'average'로도 지칭될 수 있다.According to the third and fourth policies, the importance corresponding to each index (or channel) can be calculated through an additional calculation between the importance of filters with the same index among filters included in a plurality of layers. Additionally, an index with low importance may be selected based on the degree of lightweighting set by the user and the importance corresponding to each index. A filter with a selected index may be determined as a removal target to be removed from each layer. In the third policy, an additional operation that calculates the importance corresponding to the index may be summation. The third policy may also be referred to as 'sum'. In the fourth policy, an additional operation that calculates the importance corresponding to the index may be averaging. The fourth policy may also be referred to as 'average'.
전자 장치(100)는 상호 관련된 제1 레이어 및 제2 레이어를 식별할 수 있다. 본 개시에서 복수의 레이어가 상호 관련된다는 것은, 복수의 레이어가 기설정된 연산자를 통해 연결된 것을 의미한다. 여기서, 복수의 레이어가 기설정된 연산자를 통해 연결된다는 것은, 복수의 레이어 간에 기설정된 연산자에 기초한 연산이 수행되는 것을 의미한다. 가령, 제1 레이어와 제2 레이어가 덧셈 연산자를 통해 연결되어 제1 레이어 및 제2 레이어 간 덧셈 연산이 수행되는 경우가 있을 수 있다. 기설정된 연산자는 요소별 연산자(element-wise operator) 및 연결 연산자(concatenation operator)를 포함할 수 있다. 요소별 연산자는 사칙연산 연산자를 포함할 수 있다.The electronic device 100 can identify the first layer and the second layer that are related to each other. In the present disclosure, the fact that a plurality of layers are interrelated means that the plurality of layers are connected through a preset operator. Here, the fact that a plurality of layers are connected through a preset operator means that an operation based on the preset operator is performed between the plurality of layers. For example, there may be a case where the first layer and the second layer are connected through an addition operator and an addition operation is performed between the first layer and the second layer. Preset operators may include element-wise operators and concatenation operators. Element-specific operators may include four arithmetic operators.
전자 장치(100)는 제1 레이어에 포함된 복수의 제1 필터 각각의 중요도 및 제2 레이어에 포함된 복수의 제2 필터 각각의 중요도를 산출할 수 있다. 예를 들어, 전자 장치(100)는 도 3의 중요도 결정 방법에 기초하여 복수의 제1 필터 각각의 중요도와 복수의 제2 필터 각각의 중요도를 산출할 수 있다. 또는, 전자 장치(100)는 도 4의 정규화 방법을 추가적으로 적용하여 산출된 중요도를 정규화할 수 있다.The electronic device 100 may calculate the importance of each of the plurality of first filters included in the first layer and the importance of each of the plurality of second filters included in the second layer. For example, the electronic device 100 may calculate the importance of each of the plurality of first filters and the importance of each of the plurality of second filters based on the importance determination method of FIG. 3 . Alternatively, the electronic device 100 may normalize the calculated importance by additionally applying the normalization method of FIG. 4.
전자 장치(100)는 산출된 중요도와 정책을 기초로 제1 레이어 및 제2 레이어에서 제거될 필터를 결정할 수 있다. 예를 들어, 제1 정책 또는 제2 정책의 경우, 전자 장치(100)는 산출된 중요도와 사용자가 설정한 경량화 정도를 기초로 복수의 제1 필터 중 제1 제거후보를 결정하고 복수의 제2 필터 중 제2 제거후보를 결정할 수 있다. 전자 장치(100)는 정책, 제1 제거후보 및 제2 제거후보를 기초로 복수의 제1 필터 중 제1 제거대상을 선택하고 복수의 제2 필터 중 제2 제거대상을 선택할 수 있다. The electronic device 100 may determine filters to be removed from the first layer and the second layer based on the calculated importance and policy. For example, in the case of the first policy or the second policy, the electronic device 100 determines the first candidate for removal among the plurality of first filters based on the calculated importance and the degree of lightweighting set by the user and selects the plurality of second filters. A second removal candidate can be determined among the filters. The electronic device 100 may select a first removal target from among a plurality of first filters and select a second removal target from a plurality of second filters based on the policy, the first removal candidate, and the second removal candidate.
제1 정책의 경우, 전자 장치(100)는 제1 제거후보 중 제2 제거후보와 인덱스가 동일한 필터를 제1 재거대상으로 선택할 수 있다. 또한, 전자 장치(100)는 제2 제거후보 중 제1 제거후보와 인덱스가 동일한 필터를 제2 재거대상으로 선택할 수 있다. In the case of the first policy, the electronic device 100 may select a filter that has the same index as the second removal candidate among the first removal candidates as the first removal target. Additionally, the electronic device 100 may select a filter that has the same index as the first removal candidate among the second removal candidates as the second removal target.
제2 정책의 경우, 전자 장치(100)는 복수의 제1 필터 중 제2 제거후보와 인덱스가 동일한 필터와 제1 제거후보를 제1 재거대상으로 결정할 수 있다. 또한, 전자 장치(100)는 복수의 제2 필터 중 제1 제거후보와 인덱스가 동일한 필터와 제2 제거후보를 제2 제거대상으로 결정할 수 있다.In the case of the second policy, the electronic device 100 may determine a filter and a first removal candidate that have the same index as the second removal candidate among the plurality of first filters as the first removal target. Additionally, the electronic device 100 may determine a filter and a second removal candidate that have the same index as the first removal candidate among the plurality of second filters as the second removal target.
제3 정책의 경우, 전자 장치(100)는 복수의 제1 필터 및 복수의 제2 필터 중 인덱스가 동일한 필터들의 중요도의 합을 기초로 각 레이어에서 제거될 필터를 결정할 수 있다. 제4 정책의 경우, 전자 장치(100)는 복수의 제1 필터 및 복수의 제2 필터 중 인덱스가 동일한 필터들의 중요도의 평균을 기초로 각 레이어에서 제거될 필터를 결정할 수 있다.In the case of the third policy, the electronic device 100 may determine a filter to be removed from each layer based on the sum of the importance of filters with the same index among the plurality of first filters and the plurality of second filters. In the case of the fourth policy, the electronic device 100 may determine a filter to be removed from each layer based on the average of the importance of filters with the same index among the plurality of first filters and the plurality of second filters.
상술한 정책들은, 상호 관련된 레이어들에 공통적으로 프루닝을 적용하기 위한 방법이다. 본 개시의 정책에 기초하여 원본모델에 프루닝을 적용하면, 상호 관련된 레이어의 불균형한 가지치기로 인한 정보 왜곡이나 모델 정확도의 현저한 감소를 방지할 수 있다.The above-described policies are methods for commonly applying pruning to interrelated layers. If pruning is applied to the original model based on the policy of the present disclosure, information distortion or significant reduction in model accuracy due to unbalanced pruning of interrelated layers can be prevented.
도 6은 본 개시의 일 실시예에 따른 제1 정책을 설명하기 위한 도면이다. 도 6의(a)는 제거후보를 결정하는 방법을 나타내며, 도 6의(b)는 제거대상을 선택하는 방법을 나타낸다. Figure 6 is a diagram for explaining a first policy according to an embodiment of the present disclosure. Figure 6(a) shows a method for determining a candidate for removal, and Figure 6(b) shows a method for selecting a removal target.
도 6을 참조하면, 제1 레이어(L1)는 제1 필터(61), 제2 필터(62), 제3 필터(63) 및 제4 필터(64)를 포함할 수 있다. 제2 레이어(L2)는 제5 필터(65), 제6 필터(66), 제7 필터(67) 및 제8 필터(68)를 포함할 수 있다. 제1 필터(61)와 제5 필터(65)는 동일한 인덱스를 가지며, 제2 필터(62)와 제6 필터(66)는 동일한 인덱스를 가지며, 제3 필터(63)와 제7 필터(67)는 동일한 인덱스를 가지며, 제4 필터(64)와 제8 필터(68)는 동일한 인덱스를 가진다. 각 필터를 나타내는 원의 내에 표시된 숫자는 해당 필터의 중요도를 나타낸다. 제1 레이어(L1)와 제2 레이어(L2)는 덧셈 연산자를 통해 연결되어 상호 관련된 레이어들이다.Referring to FIG. 6 , the first layer (L1) may include a first filter 61, a second filter 62, a third filter 63, and a fourth filter 64. The second layer (L2) may include a fifth filter 65, a sixth filter 66, a seventh filter 67, and an eighth filter 68. The first filter 61 and the fifth filter 65 have the same index, the second filter 62 and the sixth filter 66 have the same index, and the third filter 63 and the seventh filter 67 ) has the same index, and the fourth filter 64 and the eighth filter 68 have the same index. The number displayed within the circle representing each filter indicates the importance of that filter. The first layer (L1) and the second layer (L2) are interrelated layers that are connected through an addition operator.
도 6의(a)를 참조하면, 제1 레이어(L1)에서 중요도가 낮은 제1 필터(61) 및 제2 필터(62)가 제1 제거후보로 결정될 수 있다. 제2 레이어(L2)에서는 중요도가 낮은 제6 필터(66) 및 제8 필터(68)가 제2 제거후보로 결정될 수 있다. 한편, 본 실시예에서는, 각 레이어에 제거후보로 결정되는 필터의 개수가 2이나, 이는 일 실시예에 불과할 뿐 제거후보로 결정되는 필터의 개수는 사용자가 설정한 경량화 정도에 따라 달라질 수 있다. 예를 들어, 사용자가 설정한 경량화 정도가 증가할 경우, 제거후보로 결정되는 필터의 개수가 3으로 증가할 수 있다.Referring to (a) of FIG. 6, the first filter 61 and the second filter 62 of low importance in the first layer L1 may be determined as first candidates for removal. In the second layer (L2), the sixth filter 66 and the eighth filter 68 of low importance may be determined as second removal candidates. Meanwhile, in this embodiment, the number of filters determined as removal candidates for each layer is 2, but this is only an example and the number of filters determined as removal candidates may vary depending on the degree of lightweighting set by the user. For example, if the degree of lightweighting set by the user increases, the number of filters determined as candidates for removal may increase to 3.
도 6의(b)를 참조하면, 제1 제거후보(61, 62) 및 제2 제거후보(66, 68)에서 인덱스가 동일한 제2 필터(62) 및 제6 필터(66)가 제거대상으로 결정될 수 있다. 구체적으로, 제1 제거후보(61, 62)에서는 제2 제거후보(66, 68)와 인덱스가 동일한 제2 필터(62)가 제1 제거대상으로 결정될 수 있다. 제2 제거후보(66, 68)에서는 제1 제거후보(61, 62)와 인덱스가 동일한 제6 필터(66)가 제2 제거대상으로 결정될 수 있다.Referring to FIG. 6(b), the second filter 62 and the sixth filter 66 with the same index are selected for removal from the first removal candidates 61 and 62 and the second removal candidates 66 and 68. can be decided. Specifically, in the first removal candidates 61 and 62, the second filter 62 having the same index as the second removal candidates 66 and 68 may be determined as the first removal target. In the second removal candidates 66 and 68, the sixth filter 66 having the same index as the first removal candidates 61 and 62 may be determined as the second removal target.
도 7은 본 개시의 일 실시예에 따른 제2 정책을 설명하기 위한 도면이다. 도 7의(a)는 제거후보를 결정하는 방법을 나타내며, 도 7의(b)는 제거대상을 선택하는 방법을 나타낸다. Figure 7 is a diagram for explaining a second policy according to an embodiment of the present disclosure. Figure 7(a) shows a method for determining a candidate for removal, and Figure 7(b) shows a method for selecting a removal target.
도 7을 참조하면, 제1 레이어(L1)는 제1 필터(61), 제2 필터(62), 제3 필터(63) 및 제4 필터(64)를 포함할 수 있다. 제2 레이어(L2)는 제5 필터(65), 제6 필터(66), 제7 필터(67) 및 제8 필터(68)를 포함할 수 있다. 제1 필터(61)와 제5 필터(65)는 동일한 인덱스를 가지며, 제2 필터(62)와 제6 필터(66)는 동일한 인덱스를 가지며, 제3 필터(63)와 제7 필터(67)는 동일한 인덱스를 가지며, 제4 필터(64)와 제8 필터(68)는 동일한 인덱스를 가진다. 각 필터를 나타내는 원의 내에 표시된 숫자는 해당 필터의 중요도를 나타낸다. 제1 레이어(L1)와 제2 레이어(L2)는 덧셈 연산자를 통해 연결되어 상호 관련된 레이어들이다.Referring to FIG. 7 , the first layer (L1) may include a first filter 61, a second filter 62, a third filter 63, and a fourth filter 64. The second layer (L2) may include a fifth filter 65, a sixth filter 66, a seventh filter 67, and an eighth filter 68. The first filter 61 and the fifth filter 65 have the same index, the second filter 62 and the sixth filter 66 have the same index, and the third filter 63 and the seventh filter 67 ) has the same index, and the fourth filter 64 and the eighth filter 68 have the same index. The number displayed within the circle representing each filter indicates the importance of that filter. The first layer (L1) and the second layer (L2) are interrelated layers that are connected through an addition operator.
도 7의(a)를 참조하면, 제1 레이어(L1)에서 중요도가 낮은 제1 필터(61) 및 제2 필터(62)가 제1 제거후보로 결정될 수 있다. 제2 레이어(L2)에서는 중요도가 낮은 제6 필터(66) 및 제8 필터(68)가 제2 제거후보로 결정될 수 있다. 한편, 본 실시예에서는, 각 레이어에 제거후보로 결정되는 필터의 개수가 2이나, 이는 일 실시예에 불과할 뿐 제거후보로 결정되는 필터의 개수는 사용자가 설정한 경량화 정도에 따라 달라질 수 있다. 예를 들어, 사용자가 설정한 경량화 정도가 증가할 경우, 제거후보로 결정되는 필터의 개수가 3으로 증가할 수 있다.Referring to (a) of FIG. 7, the first filter 61 and the second filter 62 of low importance in the first layer L1 may be determined as first candidates for removal. In the second layer (L2), the sixth filter 66 and the eighth filter 68 of low importance may be determined as second removal candidates. Meanwhile, in this embodiment, the number of filters determined as removal candidates for each layer is 2, but this is only an example and the number of filters determined as removal candidates may vary depending on the degree of lightweighting set by the user. For example, if the degree of lightweighting set by the user increases, the number of filters determined as candidates for removal may increase to 3.
도 7의(b)를 참조하면, 제1 레이어(L1)에서 제거될 제1 제거대상으로, 제1 제거후보(61, 62), 및 제1 레이어(L1)에 포함된 필터들(61, 62, 63, 64) 중 제2 제거후보(66, 68)와 인덱스가 동일한 제4 필터(64)가 결정될 수 있다. 제2 레이어(L2)에서 제거될 제2 제거대상으로는, 제2 제거후보(66, 68), 및 제2 레이어(L2)에 포함된 필터들(65, 66, 67, 68) 중 제1 제거후보(61, 62)와 인덱스가 동일한 제5 필터(65)가 결정될 수 있다.Referring to (b) of FIG. 7, the first removal candidates to be removed from the first layer (L1) are the first removal candidates (61, 62), and the filters (61) included in the first layer (L1). Among 62, 63, and 64, a fourth filter 64 having the same index as the second removal candidates 66 and 68 may be determined. The second removal target to be removed from the second layer (L2) is the second removal candidate (66, 68), and the first of the filters (65, 66, 67, and 68) included in the second layer (L2). A fifth filter 65 having the same index as the removal candidates 61 and 62 may be determined.
도 8은 본 개시의 일 실시예에 따른 제3 정책을 설명하기 위한 도면이다. 도 8의(a)는 제1 레이어(L1)와 제2 레이어(L2)에 포함된 필터들의 중요도의 합을 나타낸다. 도 8의(b)는 제거대상을 선택하는 방법을 나타낸다. Figure 8 is a diagram for explaining a third policy according to an embodiment of the present disclosure. Figure 8(a) shows the sum of the importance of filters included in the first layer (L1) and the second layer (L2). Figure 8(b) shows a method of selecting a removal target.
도 8을 참조하면, 제1 레이어(L1)는 제1 필터(61), 제2 필터(62), 제3 필터(63) 및 제4 필터(64)를 포함할 수 있다. 제2 레이어(L2)는 제5 필터(65), 제6 필터(66), 제7 필터(67) 및 제8 필터(68)를 포함할 수 있다. 제1 필터(61)와 제5 필터(65)는 제1 인덱스(i1)를 가지며, 제2 필터(62)와 제6 필터(66)는 제2 인덱스(i2)를 가지며, 제3 필터(63)와 제7 필터(67)는 제3 인덱스(i3)를 가지며, 제4 필터(64)와 제8 필터(68)는 제4 인덱스(i4)를 가질 수 있다. 각 필터를 나타내는 원의 내에 표시된 숫자는 해당 필터의 중요도를 나타낸다. 제1 레이어(L1)와 제2 레이어(L2)는 덧셈 연산자를 통해 연결되어 상호 관련된 레이어들이다.Referring to FIG. 8 , the first layer (L1) may include a first filter 61, a second filter 62, a third filter 63, and a fourth filter 64. The second layer (L2) may include a fifth filter 65, a sixth filter 66, a seventh filter 67, and an eighth filter 68. The first filter 61 and the fifth filter 65 have a first index (i1), the second filter 62 and the sixth filter 66 have a second index (i2), and the third filter ( 63) and the seventh filter 67 may have a third index (i3), and the fourth filter 64 and the eighth filter 68 may have a fourth index (i4). The number displayed within the circle representing each filter indicates the importance of that filter. The first layer (L1) and the second layer (L2) are interrelated layers that are connected through an addition operator.
도 8의(a)는 각 인덱스 별 중요도의 합을 나타낸다. 제1 인덱스(i1)를 갖는 제1 필터(61)와 제5 필터(65)의 중요도에 기초하여 제1 인덱스(i1)에 대응되는 중요도(즉, 32)가 산출될 수 있다. 제2 인덱스(i2)를 갖는 제2 필터(62)와 제6 필터(66)의 중요도에 기초하여 제2 인덱스(i2)에 대응되는 중요도(즉, 30)가 산출될 수 있다. 제3 인덱스(i3)를 갖는 제3 필터(63)와 제7 필터(67)의 중요도에 기초하여 제3 인덱스(i3)에 대응되는 중요도(즉, 50)가 산출될 수 있다. 제4 인덱스(i4)를 갖는 제4 필터(64)와 제8 필터(68)의 중요도에 기초하여 제4 인덱스(i4)에 대응되는 중요도(즉, 40)가 산출될 수 있다.Figure 8(a) shows the sum of importance for each index. Based on the importance of the first filter 61 and the fifth filter 65 having the first index (i1), the importance (i.e., 32) corresponding to the first index (i1) may be calculated. Based on the importance of the second filter 62 and the sixth filter 66 having the second index (i2), the importance (i.e., 30) corresponding to the second index (i2) may be calculated. Based on the importance of the third filter 63 and the seventh filter 67 having the third index (i3), the importance (i.e., 50) corresponding to the third index (i3) may be calculated. Based on the importance of the fourth filter 64 and the eighth filter 68 having the fourth index (i4), the importance (i.e., 40) corresponding to the fourth index (i4) may be calculated.
도 8의(b)를 참조하면, 중요도가 낮은 제1 인덱스(i1)에 대응되는 제1 필터(61)와 제5 필터(65)가 제거대상으로 결정될 수 있다. 또한, 제2 인덱스(i2)에 대응되는 제2 필터(62)와 제6 필터(66)가 제거대상으로 결정될 수 있다. 한편, 본 실시예에서는, 각 레이어에서 제거대상으로 결정되는 필터의 개수가 2이나, 이는 일 실시예에 불과할 뿐 제거대상으로 결정되는 필터의 개수는 사용자가 설정한 경량화 정도에 따라 달라질 수 있다. 예를 들어, 사용자가 설정한 경량화 정도가 증가할 경우, 제거대상으로 결정되는 필터의 개수가 3으로 증가할 수 있다. 또는, 사용자가 설정한 경량화 정도가 감소할 경우, 제거대상으로 결정되는 필터의 개수가 1로 감소할 수 있다.Referring to (b) of FIG. 8, the first filter 61 and the fifth filter 65 corresponding to the first index (i1) of low importance may be determined to be removed. Additionally, the second filter 62 and the sixth filter 66 corresponding to the second index i2 may be determined to be removed. Meanwhile, in this embodiment, the number of filters determined to be removed in each layer is 2, but this is only an example and the number of filters determined to be removed may vary depending on the degree of lightweighting set by the user. For example, if the degree of lightweighting set by the user increases, the number of filters determined to be removed may increase to 3. Alternatively, when the degree of lightweighting set by the user decreases, the number of filters determined to be removed may decrease to 1.
도 9는 본 개시의 일 실시예에 따른 제4 정책을 설명하기 위한 도면이다. 도 9의(a)는 제1 레이어(L1)와 제2 레이어(L2)에 포함된 필터들의 중요도의 평균을 나타낸다. 도 8의(b)는 제거대상을 선택하는 방법을 나타낸다. Figure 9 is a diagram for explaining a fourth policy according to an embodiment of the present disclosure. Figure 9(a) shows the average importance of filters included in the first layer (L1) and the second layer (L2). Figure 8(b) shows a method of selecting a removal target.
도 9를 참조하면, 제1 레이어(L1)는 제1 필터(61), 제2 필터(62), 제3 필터(63) 및 제4 필터(64)를 포함할 수 있다. 제2 레이어(L2)는 제5 필터(65), 제6 필터(66), 제7 필터(67) 및 제8 필터(68)를 포함할 수 있다. 제1 필터(61)와 제5 필터(65)는 제1 인덱스(i1)를 가지며, 제2 필터(62)와 제6 필터(66)는 제2 인덱스(i2)를 가지며, 제3 필터(63)와 제7 필터(67)는 제3 인덱스(i3)를 가지며, 제4 필터(64)와 제8 필터(68)는 제4 인덱스(i4)를 가질 수 있다. 각 필터를 나타내는 원의 내에 표시된 숫자는 해당 필터의 중요도를 나타낸다. 제1 레이어(L1)와 제2 레이어(L2)는 덧셈 연산자를 통해 연결되어 상호 관련된 레이어들이다.Referring to FIG. 9 , the first layer (L1) may include a first filter 61, a second filter 62, a third filter 63, and a fourth filter 64. The second layer (L2) may include a fifth filter 65, a sixth filter 66, a seventh filter 67, and an eighth filter 68. The first filter 61 and the fifth filter 65 have a first index (i1), the second filter 62 and the sixth filter 66 have a second index (i2), and the third filter ( 63) and the seventh filter 67 may have a third index (i3), and the fourth filter 64 and the eighth filter 68 may have a fourth index (i4). The number displayed within the circle representing each filter indicates the importance of that filter. The first layer (L1) and the second layer (L2) are interrelated layers that are connected through an addition operator.
도 9의(a)는 각 인덱스 별 중요도의 평균을 나타낸다. 제1 인덱스(i1)를 갖는 제1 필터(61)와 제5 필터(65)의 중요도에 기초하여 제1 인덱스(i1)에 대응되는 중요도(즉, 16)가 산출될 수 있다. 제2 인덱스(i2)를 갖는 제2 필터(62)와 제6 필터(66)의 중요도에 기초하여 제2 인덱스(i2)에 대응되는 중요도(즉, 15)가 산출될 수 있다. 제3 인덱스(i3)를 갖는 제3 필터(63)와 제7 필터(67)의 중요도에 기초하여 제3 인덱스(i3)에 대응되는 중요도(즉, 25)가 산출될 수 있다. 제4 인덱스(i4)를 갖는 제4 필터(64)와 제8 필터(68)의 중요도에 기초하여 제4 인덱스(i4)에 대응되는 중요도(즉, 20)가 산출될 수 있다.Figure 9(a) shows the average importance of each index. Based on the importance of the first filter 61 and the fifth filter 65 having the first index (i1), the importance (i.e., 16) corresponding to the first index (i1) may be calculated. Based on the importance of the second filter 62 and the sixth filter 66 having the second index (i2), the importance (i.e., 15) corresponding to the second index (i2) may be calculated. Based on the importance of the third filter 63 and the seventh filter 67 having the third index (i3), the importance (i.e., 25) corresponding to the third index (i3) may be calculated. Based on the importance of the fourth filter 64 and the eighth filter 68 having the fourth index (i4), the importance (i.e., 20) corresponding to the fourth index (i4) may be calculated.
도 9의(b)를 참조하면, 중요도가 낮은 제1 인덱스(i1)에 대응되는 제1 필터(61)와 제5 필터(65)가 제거대상으로 결정될 수 있다. 또한, 제2 인덱스(i2)에 대응되는 제2 필터(62)와 제6 필터(66)가 제거대상으로 결정될 수 있다. 한편, 본 실시예에서는, 각 레이어에서 제거대상으로 결정되는 필터의 개수가 2이나, 이는 일 실시예에 불과할 뿐 제거대상으로 결정되는 필터의 개수는 사용자가 설정한 경량화 정도에 따라 달라질 수 있다. 예를 들어, 사용자가 설정한 경량화 정도가 증가할 경우, 제거대상으로 결정되는 필터의 개수가 3으로 증가할 수 있다. 또는, 사용자가 설정한 경량화 정도가 감소할 경우, 제거대상으로 결정되는 필터의 개수가 1로 감소할 수 있다.Referring to FIG. 9(b), the first filter 61 and the fifth filter 65 corresponding to the first index (i1) of low importance may be determined to be removed. Additionally, the second filter 62 and the sixth filter 66 corresponding to the second index i2 may be determined to be removed. Meanwhile, in this embodiment, the number of filters determined to be removed in each layer is 2, but this is only an example and the number of filters determined to be removed may vary depending on the degree of lightweighting set by the user. For example, if the degree of lightweighting set by the user increases, the number of filters determined to be removed may increase to 3. Alternatively, when the degree of lightweighting set by the user decreases, the number of filters determined to be removed may decrease to 1.
도 10은 본 개시의 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.Figure 10 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure.
도 10을 참조하면, 전자 장치(100)는 통신 인터페이스(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다. 예로, 전자 장치(100)는 물리적 서버 또는 클라우드 서버로 구현될 수 있다.Referring to FIG. 10 , the electronic device 100 may include a communication interface 110, a memory 120, and a processor 130. For example, the electronic device 100 may be implemented as a physical server or a cloud server.
통신 인터페이스(110)는 적어도 하나의 통신 회로를 포함하며, 다양한 유형의 외부 장치와 통신을 수행할 수 있다. 예를 들어, 통신 인터페이스(110)는 외부 장치로부터 원본모델, 경량화 정도 및 메트릭에 대한 정보를 수신할 수 있다. 외부 장치는 사용자 장치일 수 있다. 사용자 장치는, 개인용 컴퓨터 및 모바일 장치를 포함할 수 있다. 사용자 장치는 사용자로부터 원본모델, 경량화 정도 및 메트릭을 입력받을 수 있다.The communication interface 110 includes at least one communication circuit and can communicate with various types of external devices. For example, the communication interface 110 may receive information about the original model, degree of lightweighting, and metrics from an external device. The external device may be a user device. User devices may include personal computers and mobile devices. The user device can receive input of the original model, degree of lightweighting, and metrics from the user.
통신 인터페이스(110)는 와이파이 통신 모듈, 셀룰러 통신모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈, 5G(5세대) 이동통신 모듈 및 유선 이더넷(Ethernet) 중 적어도 하나를 포함할 수 있다.The communication interface 110 is a Wi-Fi communication module, a cellular communication module, a 3G (3rd generation) mobile communication module, a 4G (4th generation) mobile communication module, a 4th generation LTE (Long Term Evolution) communication module, and a 5G (5th generation) mobile communication module. It may include at least one of a module and wired Ethernet.
메모리(120)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 명령 또는 데이터를 저장할 수 있다. 특히, 메모리(120)는 원본모델을 경량화하기 위한 인스트럭션(instruction)을 저장할 수 있다. 메모리(120)는 비휘발성 메모리(ex: 하드 디스크, SSD(Solid state drive), 플래시 메모리) 또는 휘발성 메모리 등으로 구현될 수 있다.The memory 120 may store an operating system (OS) for controlling the overall operation of the components of the electronic device 100 and commands or data related to the components of the electronic device 100. In particular, the memory 120 can store instructions for lightweighting the original model. The memory 120 may be implemented as non-volatile memory (ex: hard disk, solid state drive (SSD), flash memory) or volatile memory.
프로세서(130)는 메모리(120)와 전기적으로 연결되어 전자 장치(100)의 전반적인 기능 및 동작을 제어할 수 있다. 프로세서(130)는 메모리(120)에 저장된 인스트럭션을 실행함으로써 전자 장치(100)를 제어할 수 있다.The processor 130 is electrically connected to the memory 120 and can control the overall functions and operations of the electronic device 100. The processor 130 can control the electronic device 100 by executing instructions stored in the memory 120.
예를 들어, 프로세서(130)는 원본모델, 원본모델에 적용할 경량화 정도 및 메트릭을 획득할 수 있다. 프로세서(130)는 통신 인터페이스(110)를 통해 사용자 장치로부터 원본모델, 경량화 정도 및 메트릭을 수신할 수 있다. 원본모델은 복수의 레이어를 포함할 수 있다. 레이어는 복수의 필터(또는 커널)을 포함할 수 있다.For example, the processor 130 may obtain the original model, the degree of lightweighting and metrics to be applied to the original model. The processor 130 may receive the original model, degree of lightweighting, and metrics from the user device through the communication interface 110. The original model may include multiple layers. A layer may include multiple filters (or kernels).
프로세서(130)는 메트릭을 이용하여 복수의 필터 각각의 중요도를 결정할 수 있다. 프로세서(130)는 메트릭을 이용하여 복수의 필터 각각의 중요도를 산출하고, 산출된 중요도의 중복도에 기초하여 복수의 필터 각각의 중요도를 재산출할 수 있다. 중요도의 중복도에 따라 필터의 중요도는 조절될 수 있다. 예를 들어, 제1 필터의 산출된 중요도의 중복도가 클수록, 제1 필터의 재산출된 중요도가 작아질 수 있다. 프로세서(130)는 제1 필터의 산출된 중요도, 제1 레이어에 포함된 필터들의 산출된 중요도의 평균 및 표준편차에 기초하여 제1 필터의 산출된 중요도의 중복도를 산출할 수 있다.The processor 130 may determine the importance of each of the plurality of filters using a metric. The processor 130 may calculate the importance of each of the plurality of filters using a metric and recalculate the importance of each of the plurality of filters based on the degree of redundancy of the calculated importance. The importance of the filter can be adjusted according to the degree of redundancy. For example, the greater the degree of redundancy of the calculated importance of the first filter, the smaller the recalculated importance of the first filter may be. The processor 130 may calculate the degree of redundancy of the calculated importance of the first filter based on the calculated importance of the first filter and the average and standard deviation of the calculated importance of the filters included in the first layer.
프로세서(130)는 재산출된 중요도를 정규화할 수 있다. 예를 들어, 제1 레이어에 포함된 제1 필터의 중요도를 정규화할 때, 프로세서(130)는 제1 레이어에 포함된 필터들 중 제1 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도를 기초로 제1 필터의 중요도를 정규화할 수 있다. Processor 130 may normalize the recalculated importance. For example, when normalizing the importance of the first filter included in the first layer, the processor 130 excludes the filter with an importance less than the importance of the first filter among the filters included in the first layer. The importance of the first filter can be normalized based on the importance.
프로세서(130)는 복수의 필터를 중요도의 크기 순으로 정렬할 수 있다. 프로세서(130)는 경량화 정도를 기초로 정해진 개수만큼 복수의 필터에서 중요도 크기가 작은 순서대로 적어도 하나의 필터를 선택할 수 있다. 또는, 사용자가 설정한 경량화 정도에 기초하여 제거할 필터를 선택하기 위한 임계 중요도가 결정될 수 있다. 이 때, 프로세서(130)는 임계 중요도보다 중요도가 작은 필터를 선택할 수 있다. 프로세서(130)는 선택된 필터를 제거하여 원본모델을 경량화할 수 있다. 이에 따라, 프로세서(130)는 경량화된 모델을 생성할 수 있다. 경량화된 모델에 포함된 복수의 레이어 각각은 적어도 하나의 필터를 포함할 수 있다.The processor 130 may sort the plurality of filters in order of importance. The processor 130 may select at least one filter in order of decreasing importance from a plurality of filters determined based on the degree of lightweighting. Alternatively, a critical importance for selecting a filter to be removed may be determined based on the degree of weight reduction set by the user. At this time, the processor 130 may select a filter whose importance is less than the critical importance. The processor 130 can reduce the weight of the original model by removing the selected filter. Accordingly, the processor 130 can create a lightweight model. Each of the plurality of layers included in the lightweight model may include at least one filter.
프로세서(130)는 원본모델, 및 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책을 획득할 수 있다. 또한, 프로세서(130)는 원본모델을 경량화하기 위한 경량화정도를 획득할 수 있다.The processor 130 may obtain a policy related to a method for removing the original model and filters included in interrelated layers among a plurality of layers included in the original model. Additionally, the processor 130 can obtain a degree of weight reduction to lighten the original model.
프로세서(130)는 원본모델을 분석하여 상호 관련된 제1 레이어 및 제2 레이어를 식별할 수 있다. 예를 들어, 제1 레이어 및 제2 레이어가 요소별 연산자를 통해 연결된 경우, 프로세서(130)는 제1 레이어 및 제2 레이어가 상호 관련되었다고 판단할 수 있다.The processor 130 may analyze the original model to identify interrelated first and second layers. For example, when the first layer and the second layer are connected through an element-specific operator, the processor 130 may determine that the first layer and the second layer are related to each other.
프로세서(130)는 제1 레이어에 포함된 복수의 제1 필터 각각의 중요도 및 제2 레이어에 포함된 복수의 제2 필터 각각의 중요도를 산출할 수 있다. 프로세서(130)는 산출된 중요도와 정책을 기초로 제1 레이어 및 제2 레이어에서 제거될 필터를 결정할 수 있다. 각 정책 별로 제거될 필터를 결정하는 방법은 상술한 바 그 상세한 설명은 생략하도록 한다.The processor 130 may calculate the importance of each of the plurality of first filters included in the first layer and the importance of each of the plurality of second filters included in the second layer. The processor 130 may determine filters to be removed from the first layer and the second layer based on the calculated importance and policy. The method for determining the filter to be removed for each policy has been described above, so detailed description thereof will be omitted.
이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어로 구현되는 경우, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.The various embodiments described above may be implemented in a recording medium that can be read by a computer or similar device using software, hardware, or a combination thereof. In some cases, embodiments described herein may be implemented with a processor itself. When implemented as software, embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
상술한 본 개시의 다양한 실시 예들에 따른 처리 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 처리 동작을 특정 기기가 수행하도록 할 수 있다.Computer instructions for performing processing operations according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium. Computer instructions stored in such a non-transitory computer-readable medium, when executed by a processor, can cause a specific device to perform processing operations according to the various embodiments described above.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.A non-transitory computer-readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as registers, caches, and memories. Specific examples of non-transitory computer-readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, etc.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory storage medium' simply means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term is used to refer to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as . For example, a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.Methods according to various embodiments disclosed in this document may be provided and included in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online. In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) is stored on a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.In the above, preferred embodiments of the present disclosure have been shown and described, but the present disclosure is not limited to the specific embodiments described above, and may be used in the technical field pertaining to the disclosure without departing from the gist of the disclosure as claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be understood individually from the technical ideas or perspectives of the present disclosure.
100: 전자 장치
110: 통신 인터페이스
120: 메모리
130: 프로세서100: electronic device 110: communication interface
120: memory 130: processor
Claims (14)
복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받는 단계;
상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하는 단계; 및
상기 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책, 및 상기 중요도를 기초로 상기 상호 관련된 레이어 상의 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는 단계;를 포함하는,
방법.In a method for lightweighting a neural network model performed by an electronic device,
Receiving an original model including a plurality of layers each including a plurality of filters and a metric for determining the importance of each of the plurality of filters;
determining the importance of each of the plurality of filters using the metric; and
A policy related to a method for removing together filters included in interrelated layers among a plurality of layers included in the original model, and removing at least one filter among a plurality of filters on the interrelated layers based on the importance. Including the step of reducing the weight of the original model,
method.
상기 상호 관련된 레이어들은,
복수의 제1 필터를 포함한 제1 레이어 및 복수의 제2 필터를 포함한 제2 레이어를 포함하고,
상기 제거되는 적어도 하나의 필터는,
상기 정규화된 중요도와 사용자가 설정한 경량화 정도를 기초로 상기 복수의 제1 필터 중 제1 제거후보를 결정하고 상기 복수의 제2 필터 중 제2 제거후보를 결정하고,
상기 정책, 상기 제1 제거후보 및 상기 제2 제거후보를 기초로 상기 복수의 제1 필터 중 제1 제거대상을 선택하고 상기 복수의 제2 필터 중 제2 제거대상을 선택함으로써 결정되는
방법.According to claim 1,
The interrelated layers are:
A first layer including a plurality of first filters and a second layer including a plurality of second filters,
The at least one filter to be removed is,
Determining a first removal candidate among the plurality of first filters and a second removal candidate among the plurality of second filters based on the normalized importance and the degree of lightweighting set by the user,
Determined by selecting a first removal target from among the plurality of first filters and selecting a second removal target from the plurality of second filters based on the policy, the first removal candidate, and the second removal candidate.
method.
상기 정책이 제1 정책인 경우, 상기 제1 제거대상은 상기 제1 제거후보 중 상기 제2 제거후보와 인덱스가 동일한 필터로 선택되고, 상기 제2 제거대상은 상기 제2 제거후보 중 상기 제1 제거후보와 인덱스가 동일한 필터로 선택되는
방법.According to clause 2,
When the policy is a first policy, the first removal target is selected by a filter that has the same index as the second removal candidate among the first removal candidates, and the second removal target is the first removal target among the second removal candidates. The removal candidate and index are selected using the same filter.
method.
상기 정책이 제2 정책인 경우, 상기 제1 제거대상은 상기 복수의 제1 필터 중 상기 제2 제거후보와 인덱스가 동일한 필터와 상기 제1 제거후보를 포함하고, 상기 제2 제거대상은 상기 복수의 제2 필터 중 상기 제1 제거후보와 인덱스가 동일한 필터와 상기 제2 제거후보를 포함하는
방법.According to clause 2,
When the policy is a second policy, the first removal target includes a filter with the same index as the second removal candidate among the plurality of first filters and the first removal candidate, and the second removal target includes the plurality of first removal candidates. Among the second filters, a filter having the same index as the first removal candidate and the second removal candidate are included.
method.
상기 제거되는 적어도 하나의 필터는,
상기 정책이 제3 정책인 경우, 상기 복수의 필터 중 인덱스가 동일한 필터들의 중요도의 합을 기초로 결정되는
방법.According to claim 1,
The at least one filter to be removed is:
When the policy is a third policy, it is determined based on the sum of the importance of filters with the same index among the plurality of filters.
method.
상기 제거될 필터는,
상기 정책이 제4 정책인 경우, 상기 복수의 필터 중 인덱스가 동일한 필터들의 중요도의 평균을 기초로 선택되는
방법.According to claim 1,
The filter to be removed is,
When the policy is the fourth policy, it is selected based on the average of the importance of filters with the same index among the plurality of filters.
method.
상기 상호 관련된 레이어는,
기설정된 연산자를 통해 연결되며,
상기 기설정된 연산자는,
요소별 연산자(element-wise operator)를 포함하는
방법.According to claim 1,
The interrelated layers are:
Connected through preset operators,
The preset operators are:
Contains element-wise operators
method.
적어도 하나의 인스트럭션을 저장하는 메모리; 및
프로세서;를 포함하고,
상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써,
복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받고,
상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하고,
상기 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책, 및 상기 중요도를 기초로 상기 상호 관련된 레이어 상의 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는,
전자 장치.In an electronic device for lightweighting a neural network model,
a memory storing at least one instruction; and
Including a processor;
The processor executes the at least one instruction,
An original model including a plurality of layers each including a plurality of filters and a metric for determining the importance of each of the plurality of filters are input,
Determine the importance of each of the plurality of filters using the metric,
A policy related to a method for removing together filters included in interrelated layers among a plurality of layers included in the original model, and removing at least one filter among a plurality of filters on the interrelated layers based on the importance. Lightening the original model,
Electronic devices.
상기 상호 관련된 레이어들은,
복수의 제1 필터를 포함한 제1 레이어 및 복수의 제2 필터를 포함한 제2 레이어를 포함하고,
상기 제거되는 적어도 하나의 필터는,
상기 정규화된 중요도와 사용자가 설정한 경량화 정도를 기초로 상기 복수의 제1 필터 중 제1 제거후보를 결정하고 상기 복수의 제2 필터 중 제2 제거후보를 결정하고,
상기 정책, 상기 제1 제거후보 및 상기 제2 제거후보를 기초로 상기 복수의 제1 필터 중 제1 제거대상을 선택하고 상기 복수의 제2 필터 중 제2 제거대상을 선택함으로써 결정되는
전자 장치.According to clause 8,
The interrelated layers are:
A first layer including a plurality of first filters and a second layer including a plurality of second filters,
The at least one filter to be removed is:
Determining a first removal candidate among the plurality of first filters and a second removal candidate among the plurality of second filters based on the normalized importance and the degree of lightweighting set by the user,
Determined by selecting a first removal target from among the plurality of first filters and selecting a second removal target from the plurality of second filters based on the policy, the first removal candidate, and the second removal candidate.
Electronic devices.
상기 정책이 제1 정책인 경우, 상기 제1 제거대상은 상기 제1 제거후보 중 상기 제2 제거후보와 인덱스가 동일한 필터로 선택되고, 상기 제2 제거대상은 상기 제2 제거후보 중 상기 제1 제거후보와 인덱스가 동일한 필터로 선택되는
전자 장치.According to clause 9,
When the policy is a first policy, the first removal target is selected by a filter that has the same index as the second removal candidate among the first removal candidates, and the second removal target is the first removal target among the second removal candidates. The removal candidate and index are selected using the same filter.
Electronic devices.
상기 정책이 제2 정책인 경우, 상기 제1 제거대상은 상기 복수의 제1 필터 중 상기 제2 제거후보와 인덱스가 동일한 필터와 상기 제1 제거후보를 포함하고, 상기 제2 제거대상은 상기 복수의 제2 필터 중 상기 제1 제거후보와 인덱스가 동일한 필터와 상기 제2 제거후보를 포함하는
전자 장치.According to clause 9,
When the policy is a second policy, the first removal target includes a filter with the same index as the second removal candidate among the plurality of first filters and the first removal candidate, and the second removal target includes the plurality of first removal candidates. Among the second filters, a filter having the same index as the first removal candidate and the second removal candidate are included.
Electronic devices.
상기 제거되는 적어도 하나의 필터는,
상기 정책이 제3 정책인 경우, 상기 복수의 필터 중 인덱스가 동일한 필터들의 중요도의 합을 기초로 결정되는
전자 장치.According to clause 8,
The at least one filter to be removed is,
When the policy is a third policy, it is determined based on the sum of the importance of filters with the same index among the plurality of filters.
Electronic devices.
상기 제거될 필터는,
상기 정책이 제4 정책인 경우, 상기 복수의 필터 중 인덱스가 동일한 필터들의 중요도의 평균을 기초로 선택되는
전자 장치.According to clause 8,
The filter to be removed is,
When the policy is the fourth policy, it is selected based on the average of the importance of filters with the same index among the plurality of filters.
Electronic devices.
상기 상호 관련된 레이어는,
기설정된 연산자를 통해 연결되며,
상기 기설정된 연산자는,
요소별 연산자(element-wise operator)를 포함하는
전자 장치.
According to clause 8,
The interrelated layers are:
Connected through preset operators,
The preset operators are:
Contains element-wise operators
Electronic devices.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220023385 | 2022-02-23 | ||
KR20220023385 | 2022-02-23 | ||
KR20220057599 | 2022-05-11 | ||
KR1020220057599 | 2022-05-11 | ||
KR1020220182086A KR102585838B1 (en) | 2022-02-23 | 2022-12-22 | Method for lightweighting neural network model and electronic apparatus for performing the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220182086A Division KR102585838B1 (en) | 2022-02-23 | 2022-12-22 | Method for lightweighting neural network model and electronic apparatus for performing the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230141728A true KR20230141728A (en) | 2023-10-10 |
Family
ID=88292072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230130405A KR20230141728A (en) | 2022-02-23 | 2023-09-27 | Method for lightweighting neural network model and electronic apparatus for performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230141728A (en) |
-
2023
- 2023-09-27 KR KR1020230130405A patent/KR20230141728A/en active Application Filing
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10943186B2 (en) | Machine learning model training method and device, and electronic device | |
US10255476B2 (en) | Fingerprint registration method and device and terminal thereof | |
JP2018092614A (en) | Determination device and determination method for convolutional neural network model for database | |
US10496999B2 (en) | Method and apparatus of controlling network payment | |
JP7475581B2 (en) | Method for compressing neural network models and electronic device implementing said method | |
CN117173568A (en) | Target detection model training method and target detection method | |
CN109685805B (en) | Image segmentation method and device | |
KR20210061598A (en) | Method and apparatus for deep learning-based stock screening and its use for advancing and automating portfolio management | |
KR102585838B1 (en) | Method for lightweighting neural network model and electronic apparatus for performing the same | |
KR20230141728A (en) | Method for lightweighting neural network model and electronic apparatus for performing the same | |
CN110427157B (en) | Formatting method and related device | |
US11544568B2 (en) | Method for optimizing a data model and device using the same | |
US20230368010A1 (en) | Method for compressing neural network model and electronic apparatus for performing the same | |
CN109447134B (en) | Data merging method, device, computer equipment and storage medium | |
CN110544166A (en) | Sample generation method, device and storage medium | |
JP2020095583A (en) | Bankruptcy probability calculation system utilizing artificial intelligence | |
CN114202224B (en) | Method, apparatus, medium for detecting weld quality in a production environment | |
US20190155989A1 (en) | Generation of test data for a data platform | |
CN110021166B (en) | Method and device for processing user travel data and computing equipment | |
KR101541962B1 (en) | Apparatus and method for verifying management result | |
CN114936187A (en) | Data file processing method, device, equipment and storage medium | |
US20210319058A1 (en) | Location-based alarm notification application | |
KR102629142B1 (en) | Method for compressing neural network model and electronic apparatus for performing the same | |
TWI582582B (en) | A system and method to improve reading performance of raid | |
CN117114141B (en) | Model training method, evaluation method, computer device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent |