KR20230126639A - 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
- KR20230126639A KR20230126639A KR1020220182086A KR20220182086A KR20230126639A KR 20230126639 A KR20230126639 A KR 20230126639A KR 1020220182086 A KR1020220182086 A KR 1020220182086A KR 20220182086 A KR20220182086 A KR 20220182086A KR 20230126639 A KR20230126639 A KR 20230126639A
- Authority
- KR
- South Korea
- Prior art keywords
- importance
- filters
- filter
- layer
- original model
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000003062 neural network model Methods 0.000 title claims abstract description 18
- 239000013585 weight reducing agent Substances 0.000 claims description 46
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 230000009467 reduction Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 14
- 230000007423 decrease Effects 0.000 description 11
- 238000013138 pruning Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 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
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000004888 barrier function Effects 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
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 reducing the weight of a neural network model and an electronic device performing the same.
프루닝(pruning)은 신경망 모델 경량화 기법의 하나로, 상대적으로 불필요한 매개변수(예를 들어, 가중치)를 제거하는 방법이다. 지금까지 다양한 종류의 프루닝 기법이 개발되어 왔으나, 몇 가지 문제점이 있었다. 일 예로, 불필요한 필터를 제거하지 않고 필터의 일부 가중치를 0으로 마스킹(masking)하는 기법의 경우, 특정 디바이스에서만 레이턴시(latency) 감소가 나타나 실질적으로는 경량화를 통한 속도 향상의 이점이 없었다. Pruning is one of the lightweight neural network model techniques and is a method of removing relatively unnecessary parameters (eg, weights). Various types of pruning techniques have been developed so far, but there are some problems. For example, in the case of a technique of masking some weights of filters to 0 without removing unnecessary filters, latency is reduced only in a specific device, so there is no advantage in speed improvement through light weight.
다른 일 예로, 불필요한 필터를 실제로 제거하는 기법도 있었으나, 특정 레이어 전체가 사라져 모델의 정확도가 급감한다는 문제가 있었다. 또한, 레이어 전체가 사라지지 않더라도, 레이어 간 연결관계를 고려하지 않고 필터를 제거하여 모델이 함유하고있는 정보의 왜곡이 발생하는 문제가 있었다.As another example, there is also a technique for actually removing unnecessary filters, but there is a problem in that the accuracy of the model is rapidly reduced because the entire specific layer disappears. In addition, even if the entire layer does not disappear, there is a problem in that information contained in the model is distorted by removing the filter without considering the connection relationship between the layers.
또 다른 일 예로, 각 레이어마다 사용자가 직접 경량화 정도를 설정하도록하는 방법이 있었으나, 사용자에게 매우 높은 수준의 경량화 지식을 요하기에 진입장벽이 매우 높았다.As another example, there is a method in which the user directly sets the degree of lightweighting for each layer, but the entry barrier is very high because it requires a very high level of lightweighting knowledge from the user.
따라서, 모델의 정확도 감소를 최소화하면서 경량화에 따른 레이턴시 감소를 최대화하고, 사용자 편의성이 향상된 프루닝 기법의 필요한 실정이다.Therefore, there is a need for a pruning technique that maximizes latency reduction due to weight reduction while minimizing reduction in model accuracy and improves user convenience.
본 발명이 해결하고자 하는 일 기술적 과제는, 모델의 정확도 감소를 최소화하면서 레이턴시 감소를 최대화할 수 있는 경량화 방법을 제공하는 것이다.One technical problem to be solved by the present invention is to provide a lightweight method capable of maximizing latency reduction while minimizing model accuracy reduction.
본 발명이 해결하고자 하는 다른 일 기술적 과제는, 모델의 경량화에 따른 정보 왜곡이나 정확도의 현저한 감소를 방지할 수 있는 경량화 방법을 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a weight reduction method capable of preventing information distortion or a significant decrease in accuracy due to weight reduction of a 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 lightening 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 a degree of weight reduction to be applied to a model and an importance of each of the plurality of filters; determining an 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 except for filters having an importance smaller than the importance of each filter, so that each of the plurality of filters is layer-by-layer. Normalizing the importance of ; and reducing the weight of the original model by removing at least one filter from among the plurality of filters based on the normalized importance and the degree of weight reduction.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시예에 따르면, 신경망 모델을 경량화하는 전자 장치에 있어서, 적어도 하나의 인스트럭션을 저장하는 메모리; 및 프로세서;를 포함하고, 상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써, 복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델, 상기 원본모델에 적용할 경량화 정도 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받고, 상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하고, 상기 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 상기 각 필터의 중요도를 정규화함으로써 레이어 단위로 상기 복수의 필터 각각의 중요도를 정규화하고, 상기 정규화된 중요도 및 상기 경량화 정도를 기초로 상기 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는 전자 장치가 제공될 수 있다.According to an exemplary embodiment of the present disclosure for solving the above-described technical problem, an electronic device for lightening a neural network model, comprising: a memory for storing at least one instruction; and a processor, wherein the processor, by executing the at least one instruction, includes 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. By normalizing the importance of each filter based on the importance of the remaining filters except for a filter having a small importance, the importance of each of the plurality of filters is normalized in a layer unit, and the plurality of filters are normalized based on the normalized importance and the degree of weight reduction. An electronic device that reduces the weight of the original model by removing at least one of the filters may be provided.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시예에 따르면, 전자 장치에 의해 수행되는 신경망 모델 경량화 방법에 있어서,According to an exemplary embodiment of the present disclosure for solving the above-described technical problem, in a method for lightening 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 importance of each of the plurality of filters; determining an 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 except for filters having an importance smaller 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 mutually related layer based on the normalized importance and a policy related to a method for removing filters included in mutually related layers among a plurality of layers included in the original model. A method including weight reduction of the original model by removing the; may be provided.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시예에 따르면, 신경망 모델을 경량화하는 전자 장치에 있어서, 적어도 하나의 인스트럭션을 저장하는 메모리; 및 프로세서;를 포함하고, 상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써, 복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받고, 상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하고, 상기 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 상기 각 필터의 중요도를 정규화함으로써 레이어 단위로 상기 복수의 필터 각각의 중요도를 정규화하고, 상기 정규화된 중요도 및 상기 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책을 기초로, 상기 상호 관련된 레이어 상의 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는 전자 장치가 제공될 수 있다.According to an exemplary embodiment of the present disclosure for solving the above-described technical problem, an electronic device for lightening a neural network model, comprising: a memory for storing at least one instruction; and a processor, wherein the processor, by executing the at least one instruction, determines an original model including a plurality of layers each including a plurality of filters and a metric for determining importance of each of the plurality of filters. ) is received, the importance of each of the plurality of filters is determined using the metric, and the remaining filters except for filters having an importance smaller than the importance of each filter among a plurality of filters included in each layer of the original model. By normalizing the importance of each filter based on the importance of , the importance of each of the plurality of filters is normalized in a layer unit, and the normalized importance and the filter included in the layers related to each other among the plurality of layers included in the original model An electronic device for lightening the original model by removing at least one of a plurality of filters on the mutually related layers based on a policy related to a method for removing them together may be provided.
본 개시의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The solutions to the problems of the present disclosure are not limited to the above-described solutions, and solutions not mentioned will be clearly understood by those skilled in the art from this specification and the accompanying drawings. You will be able to.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 경량화 방법을 이용하여 모델의 정확도 감소를 최소화하면서 레이턴시 감소를 최대화할 수 있다. 또한, 모델의 경량화에 따른 정보 왜곡이나 정확도의 현저한 감소가 방지될 수 있다. 또한, 사용자는 원본모델을 편리하게 경량화할 수 있어 만족감이 향상될 수 있다.According to various embodiments of the present disclosure as described above, latency reduction may be maximized while minimizing reduction in model accuracy by using the lightweight method. In addition, information distortion or significant reduction in accuracy due to weight reduction of the model can be prevented. In addition, since the user can conveniently reduce the weight of the original model, satisfaction can be improved.
그 외에 본 개시의 실시 예로 인하여 얻을 수 있거나 예측되는 효과에 대해서는 본 개시의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다. 예컨대, 본 개시의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.In addition, effects that can be obtained or predicted due to the embodiments of the present disclosure will be directly or implicitly disclosed in the detailed description of the embodiments of the present disclosure. For example, various effects predicted according to an embodiment of the present disclosure will be disclosed within 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, which discloses various embodiments of the present invention in conjunction with the accompanying drawings.
본 개시의 특정 실시 예의 양상, 특징 및 이점은 첨부된 도면들을 참조하여 후술되는 설명을 통해 보다 명확해질 것이다.
도 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 more apparent from the following description with reference to the accompanying drawings.
1 is a flowchart illustrating a method for reducing the weight of a neural network model according to an embodiment of the present disclosure.
2 is a flowchart illustrating a method of determining the importance of a filter according to an embodiment of the present disclosure.
3 is a diagram for explaining a method of determining the importance of a filter according to an embodiment of the present disclosure.
4 is a diagram for explaining a method of normalizing importance according to an embodiment of the present disclosure.
5 is a flowchart illustrating a method for reducing the weight of a neural network model according to an embodiment of the present disclosure.
6 is a diagram for explaining a first policy according to an embodiment of the present disclosure.
7 is a diagram for explaining a second policy according to an embodiment of the present disclosure.
8 is a diagram for explaining a third policy according to an embodiment of the present disclosure.
9 is a diagram for explaining a fourth policy according to an embodiment of the present disclosure.
10 is a block diagram illustrating 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 been selected from general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but they may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technologies, and the like. . In addition, in a specific case, there is also a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the disclosure. Therefore, terms used in the present disclosure should be defined based on the meaning of the term and the general content of the present disclosure, not simply the name of the term.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Embodiments of the present disclosure may apply various transformations and may have various embodiments, and specific embodiments are 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 spirit and scope of technology disclosed. In describing the embodiments, if it is determined that a detailed description of a related known technology may obscure the subject matter, the detailed description will be omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. Terms are only used to distinguish one component from another.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "comprise" or "consist of" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other It should be understood that the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof is not precluded.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily carry out the present disclosure. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein. And in order to clearly describe the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
도 1은 본 개시의 일 실시예에 신경망 모델 경량화 방법을 나타내는 순서도이다.1 is a flowchart illustrating a method for reducing the weight of a neural network model according to an embodiment of the present disclosure.
도 1을 참조하면, 전자 장치(100)는 복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델, 원본모델에 적용할 경량화 정도 및 복수의 필터 각각의 중요도를 결정하기 위한 메트릭을 수신할 수 있다(S110). Referring to FIG. 1 , the electronic device 100 receives 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 a metric for determining the importance of each of the plurality of filters. It can (S110).
원본모델은 신경망 모델로서, 일 예로는, 이미지에서 오브젝트를 분류하도록 학습된 모델일 수 있다. 원본모델은, 복수의 레이어를 포함하며, 복수의 레이어 중 적어도 일부는 복수의 필터(또는 커널)를 포함할 수 있다.The original model is a neural network model, and may be, for example, 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 weight reduction is a value representing how much the original model is to be lightened, and may be, for example, 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 an L2 norm, a geometric median, a nuclear norm, and/or an L1 norm. The importance of a filter may be represented by an importance score.
전자 장치(100)는 원본모델, 경량화 정도 및 메트릭을 사용자로부터 입력받을 수 있다. 예를 들어, 사용자 장치는 원본모델, 경량화 정도 및 메트릭을 선택하는 사용자 입력을 수신할 수 있다. 전자 장치(100)는 사용자 장치로부터 원본모델, 경량화 정도 및 메트릭, 또는 이와 관련된 정보를 수신할 수 있다.The electronic device 100 may receive an input of an original model, a degree of weight reduction, and a metric from a user. For example, the user device may receive a user input for selecting an original model, a degree of weight reduction, and a metric. The electronic device 100 may receive an original model, a degree of weight reduction and a metric, 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 the metric (S120). The electronic device 100 may calculate the importance of each of the plurality of filters using the 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 redundancy of the importance of each filter. The overlapping degree of importance of a specific filter may indicate how much the importance of the corresponding filter overlaps with the importance of other filters included in the layer including the corresponding filter. For example, as the importance of the first filter approaches the average value of the importance of all filters included in the first layer including the first filter, the degree of overlap of the importance of the first filter may increase. In addition, 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 according to the degree of overlap. For example, when the overlapping degree of importance of the first filter is equal to or greater than a certain level, the importance of the first filter may decrease compared to the initial value. When the degree of 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 filters with low recalculated importance, it can be said that filters with high redundancy are more likely to be removed. When a filter having a high degree of redundancy is removed, information distortion or reduction in accuracy of the model may be less than when a filter having a low degree of redundancy is removed. Therefore, if the model is lightweight in consideration of redundancy, there is an advantage in that the level of lightweighting can be increased while minimizing the decrease in accuracy due to the 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 except for filters having an importance less than the importance of each filter among a plurality of filters included in each layer of the original model, thereby normalizing the importance of each filter in a plurality of layers. The importance of each filter of 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 corresponding layer by the sum of the importances of the filters included in the corresponding layer for each layer. For example, when the first layer includes a first filter, a second filter, and a third filter, the electronic device 100 sums the importance of the first filter, the importance of the second filter, and the importance of the third filter. The importance of the first filter may be normalized by dividing the importance of the first filter by the value.
한편, 각 필터의 중요도를 레이어 내의 모든 필터의 중요도들의 합으로 나누는 방식으로 정규화를 진행할 경우, 해당 레이어에 포함된 필터 수의 증가에 따라, 필터의 중요도가 필터의 개수에 의해 퇴색될 수 있다. 또한, 사용자가 설정한 경량화 정도가 증가함에 따라 일부 레이어가 제거될 수 있다. 이 경우, 모델의 정보 왜곡이나 정확도 감소가 심화될 수 있다.On the other hand, when normalization is performed by dividing the importance of each filter by the sum of the importance of all filters in the layer, the importance of the filter may fade with the number of filters as the number of filters included in the layer increases. In addition, some layers may be removed as the degree of weight reduction set by the user increases. In this case, information distortion or accuracy reduction of the model may be intensified.
이를 방지하기 위해, 전자 장치(100)는 각 필터의 중요도를 정규화할 때, 해당 필터를 포함한 레이어 내에서 해당 필터의 중요도 이상의 중요도를 갖는 필터들만 선별할 수 있다. 전자 장치(100)는 각 필터의 중요도를, 선별된 필터들의 중요도의 합으로 나눌 수 있다. 즉, 전자 장치(100)는 각 필터의 중요도를 정규화할 때, 해당 필터의 중요도 보다 작은 중요도를 갖는 필터는 무시할 수 있다. To prevent this, when normalizing the importance of each filter, the electronic device 100 may select only filters having an importance greater than or equal to the importance of the corresponding filter within the 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 the electronic device 100 normalizes the importance of each filter, filters having an importance less than the importance of the corresponding filter may be ignored.
정규화가 완료되면, 전자 장치(100)는 레이어의 구분 없이 모든 필터를 중요도 순으로 정렬할 수 있다. 그리고, 전자 장치(100)는 사용자가 설정한 경량화 정도를 기초로 정해진 개수만큼 중요도가 낮은 필터를 제거할 수 있다. 전술한 바와 같이, 전자 장치(100)는 각 필터의 중요도를 정규화할 때 해당 필터의 중요도 보다 작은 중요도를 갖는 필터는 무시하므로, 경량화가 완료된 각 레이어에는 적어도 하나의 필터(즉, 각 레이어에서 중요도가 가장 높은 필터)는 남게된다. 각 레이어에는 적어도 하나의 필터가 남게되므로, 레이어 자체가 제거되는 일은 발생하지 않게 된다. 이와 같이, 본 개시에 따른 경량화 방법은, 모델의 레이어를 제거하지는 않으므로 기존의 경량화 방법에 비해 정보 왜곡이나 모델의 정확도 감소가 작다는 장점이 있다.When normalization is completed, the electronic device 100 may sort all filters in order of importance regardless of layer. In addition, the electronic device 100 may remove filters of low importance by a predetermined number based on the degree of weight reduction set by the user. As described above, when the electronic device 100 normalizes the importance of each filter, filters having an importance smaller than the importance of the corresponding filter are ignored, so that each layer after weight reduction has at least one filter (that is, the importance of each layer). The filter with the highest is left. At least one filter is left in each layer, so the layer itself will not be removed. As described above, since the weight reduction method according to the present disclosure does not remove the model layer, there is an advantage in that information distortion or model accuracy reduction is small compared to the existing weight reduction methods.
전자 장치(100)는 정규화된 중요도 및 경량화 정도를 기초로 복수의 필터 중 적어도 하나의 필터를 제거하여 원본모델을 경량화할 수 있다(S140). 전자 장치(100)는 레이어의 구분 없이 모든 필터를 정규화된 중요도를 기준으로 정렬할 수 있다. 전자 장치(100)는 경량화 정도를 기초로 정규화된 중요도가 낮은 적어도 하나의 필터를 선택할 수 있다. 경량화 정도에 따라 선택되는 필터의 개수가 정해질 수 있다. 예를 들어, 경량화 정도가 증가할수록, 선택되는 필터의 개수도 증가할 수 있다.The electronic device 100 may reduce the weight of the original model by removing at least one filter among a plurality of filters based on the normalized importance and degree of weight reduction (S140). The electronic device 100 may sort all filters based on normalized importance regardless of layers. The electronic device 100 may select at least one normalized filter having a low importance based on the degree of weight reduction. The number of filters selected may be determined according to the degree of weight reduction. For example, as the degree of weight reduction increases, the number of selected filters may also increase.
도 2는 본 개시의 일 실시예에 따른 필터의 중요도를 결정하는 방법(S120)을 나타내는 순서도이다.2 is a flowchart illustrating 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 the importance (S122). For example, the electronic device 100 may recalculate the importance of each filter by standardizing the importance of each filter. That is, the recalculated importance of the filter may be a standard score of the first calculated importance. As the importance of the filter is standardized, the redundancy of the importance may be reflected in the recalculated importance.
전자 장치(100)는 각 필터의 중요도의 중복도에 따라 각 필터의 중요도를 조절할 수 있다. 예를 들어, 전자 장치(100)는 중복도가 낮은 중요도는 그 크기를 증가시키고, 중복도가 낮은 중요도는 그 크기를 감소시킬 수 있다. 중복도가 낮은 중요도를 갖는 필터는 제거될 경우 모델의 정확도 감소에 끼치는 영향이 큰 반면, 중복도가 큰 중요도를 갖는 필터는 제거되더라도 모델의 정확도 감소에 끼치는 영향이 상대적으로 적을 수 있다. 때문에, 상대적으로 중복도가 큰 중요도를 갖는 필터를 제거하는 것이 모델의 정확도 보존에 유리할 수 있다.The electronic device 100 may adjust the importance of each filter according to the redundancy of the importance of each filter. For example, the electronic device 100 may increase the size of importance with low overlap, and decrease the size of importance with low overlap. When a filter with a low degree of redundancy is removed, it has a large effect on reducing the accuracy of the model, whereas a filter with a high degree of redundancy may have a relatively small effect on the decrease in the accuracy of the model even if it is removed. Therefore, it may be advantageous to preserve the accuracy of the model to remove filters having a relatively high degree of redundancy.
도 3은 본 개시의 일 실시예에 따른 필터의 중요도를 결정하는 방법을 설명하기 위한 도면이다.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 illustrated circle represents a filter, and the letters W, c, and r displayed in the circle represent the weight, importance, and recalculated importance of the filter, respectively. The subscript notation of each letter indicates (layer index value, filter or channel index value). The weights of the filters 31, 32, and 33 ( , , ) may be a matrix having a predetermined size where each element is a weight. For example, the weight of the first filter 31 ( ) may be a 3x3 matrix. Meanwhile, FIG. 3 describes a method of determining the importance of a filter based on one layer for convenience, but it is noted that the method described later can be applied to other layers included in the original model as it is.
전자 장치(100)는 제1 수학식(F1)에 필터들(31, 32, 33)의 가중치들(, , )을 적용하여 필터들(31, 32, 33)의 중요도들(, , )을 산출할 수 있다. 중요도들(, , )은 스칼라 값일 수 있다.The electronic device 100 calculates the weights of the filters 31, 32, and 33 in the first equation (F1) ( , , ) to determine the importance of the filters 31, 32, and 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)의 경우, 는 중요도들(, , )의 표준편차이며, 는 중요도들(, , )의 평균값이다.In the second equation (F2), the electronic device 100 determines the importance ( , , ) can be applied to recalculate the importance of the filters 31, 32, and 33. Accordingly, the electronic device 100 determines the recalculated importances of the filters 31, 32, and 33 ( , , ) can be obtained. The electronic device 100 may standardize the importance of the filter for each layer by using Equation 2 (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 importances of all filters included in each layer. In the case of the first layer (L1), is the importance ( , , ) is the standard deviation of is the importance ( , , ) is the average value of
제2 수학식(F2)은 필터의 중요도의 중복도를 반영할 수 있다. 예를 들어, 제1 레이어에 포함된 제1 필터의 중요도와, 제1 레이어에 포함된 모든 필터의 중요도들의 평균의 차이가 작을수록 제1 필터의 중복도는 크다고 할 수 있다. The second Equation (F2) may reflect the redundancy of the importance of the filter. For example, 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 redundancy of the first filter.
도 4는 본 개시의 일 실시예에 따른 중요도를 정규화하는 방법을 설명하기 위한 도면이다. 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 importances of the filters 31, 32, and 33 in the third equation (F3) ( , , ) may be applied to normalize the filters 31, 32, and 33. Accordingly, the electronic device 100 determines the normalized importance levels of the filters 31, 32, and 33 ( , , ) can be obtained.
제3 수학식(F3)을 참조하면, 정규화는 레이어 단위로 수행된다. 예를 들어, 제1 필터(31)의 중요도()를 정규화하는 경우, 제1 레이어(L1)에 포함된 필터들(31, 32, 33)의 중요도들(, , )은 이용되나, 다른 레이어에 포함된 필터의 중요도는 이용되지 않을 수 있다.Referring to Equation 3 (F3), normalization is performed in units of layers. 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) 전체가 제거되지는 않을 수 있다.Also, as can be seen from the denominator of Equation 3 (F3), when the importance of a specific filter is normalized, the importance of a filter having a lower importance than the corresponding filter may not be considered. For example, when the first filter 31 has the highest importance among the filters 31, 32, and 33, the importance of the remaining filters 32 and 33 when the first filter 31 is normalized. 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 with the number of filters. In addition, since the importance of the filter having 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 afterwards, so that the entire first layer (L1) may not be removed. there is.
한편, 제3 수학식(F3)에서는 자기보다 중요도가 작은 필터의 중요도는 분모에 반영되지 않는다. 다른 실시예로, 제3 수학식(F3)의 분모에서, 자기보다 중요도가 작은 필터의 중요도는 0에 가까운 아주 작은 값으로 치환될 수도 있다.On the other hand, in the third equation (F3), the importance of a filter having a lower importance than itself is not reflected in the denominator. Alternatively, in the denominator of Equation 3 (F3), the importance of a filter having a lower importance than itself may be substituted with a very small value close to 0.
전자 장치(100)는 원본모델에 포함된 모든 필터의 중요도에 대해 정규화를 수행할 수 있다. 그리고, 전자 장치(100)는 레이어와 관계없이 모든 필터를 정규화된 중요도를 기초로 정렬할 수 있다. 전자 장치(100)는 사용자가 설정한 경량화 정도에 기초하여 결정된 개수만큼 중요도가 낮은 필터를 선택할 수 있다. 전자 장치(100)는 선택된 필터를 제거함으로써 원본모델을 경량화할 수 있다. 전자 장치(100)는 경량화된 모델을 사용자에게 제공할 수 있다. 예를 들어, 전자 장치(100)는 경량화된 모델에 대응되는 다운로드 데이터를 사용자에게 제공할 수 있다.The electronic device 100 may normalize the importance of all filters included in the original model. Also, the electronic device 100 may sort all filters based on normalized importance regardless of the layer. The electronic device 100 may select filters of low importance by the determined number based on the degree of weight reduction set by the user. The electronic device 100 may 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 the lightweight model to the user.
한편, 도 3 및 도 4에서는 제1 레이어(L1)에 포함된 필터의 개수가 3개인 것을 예로 들었으나, 필터의 개수가 3으로 한정되는 것은 아님을 밝혀둔다.Meanwhile, although the number of filters included in the first layer L1 is 3 as an example in FIGS. 3 and 4 , it should be noted that the number of filters is not limited to 3.
도 5는 본 개시의 일 실시예에 신경망 모델 경량화 방법을 나타내는 순서도이다.5 is a flowchart illustrating a method for reducing the weight of 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 the metric (S520). The method for determining the importance of the filter has already been described with reference to FIG. 1, so detailed descriptions thereof 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 except for filters having an importance less than the importance of each filter among a plurality of filters included in each layer of the original model, thereby normalizing the importance of each filter in a plurality of layers. The importance of each filter of can be normalized (S530). As this step can be clearly understood through S130 of FIG. 1, a detailed description thereof will be omitted.
전자 장치(100)는 정규화된 중요도 및 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책을 기초로, 상호 관련된 레이어 상의 복수의 필터 중 적어도 하나의 필터를 제거하여 원본모델을 경량화할 수 있다(S540).The electronic device 100 selects at least one of a plurality of filters on the mutually related layers based on the normalized importance and a policy related to a method for removing filters included in the mutually related layers among the plurality of layers included in the original model. It is possible to reduce the weight of the original model by removing the filter of (S540).
본 개시에서 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책은, '필터 제거 정책', '가지치기 정책' 또는 '정책'으로 간략히 지칭될 수 있다. 사용자는 사용자 장치에 원본모델을 입력하고, 가지치기 정책을 설정할 수 있다. 전자 장치(100)는 사용자 장치로부터 원본모델과 가지치기 정책을 수신할 수 있다.In the present disclosure, a policy related to a method for removing filters included in mutually related layers together may be briefly referred to as a 'filter removal policy', a 'pruning policy', or a 'policy'. The user may input the original model to the user device and set a pruning policy. The electronic device 100 may receive the original model and the 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 removal candidates, and a final removal target may be determined based on the indexes of the filters determined as removal candidates. 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 having the same index as a removal candidate of another layer may be determined as a removal target in the corresponding layer. For example, among the first removal candidates, a filter having the same index as the second removal candidate may be determined as a removal target 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, not only removal candidates of each layer but also filters having the same index as removal candidates of other layers among filters not determined as removal candidates in each layer 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 is not 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 policy and the fourth policy, the importance corresponding to each index (or channel) may be calculated through an additional operation between the importance of filters having the same index among filters included in a plurality of layers. In addition, an index having a low importance may be selected based on the degree of weight reduction set by the user and the importance corresponding to each index. A filter having a selected index may be determined as a removal target to be removed from each layer. In the third policy, an additional operation for calculating 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 for calculating 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 may identify a first layer and a second layer that are related to each other. In the present disclosure, when a plurality of layers are interrelated, it means that the plurality of layers are connected through a predetermined operator. Here, that a plurality of layers are connected through a preset operator means that an operation based on a 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 so that an addition operation between the first layer and the second layer is performed. Preset operators may include element-wise operators and concatenation operators. Element-wise operators may include 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 determining 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 a first removal candidate from among the plurality of first filters based on the calculated importance and the degree of weight reduction set by the user, and the plurality of second policies. Among the filters, a second removal candidate may be determined. The electronic device 100 may select a first removal target from a plurality of first filters and 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 having the same index as the second removal candidate among the first removal candidates as the first removal target. Also, the electronic device 100 may select a filter having 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 having the same index as the second removal candidate among the plurality of first filters as the first removal target. Also, the electronic device 100 may determine a filter and a second removal candidate having 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 importances of filters having 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 an average of importances of filters having the same index among the plurality of first filters and the plurality of second filters.
상술한 정책들은, 상호 관련된 레이어들에 공통적으로 프루닝을 적용하기 위한 방법이다. 본 개시의 정책에 기초하여 원본모델에 프루닝을 적용하면, 상호 관련된 레이어의 불균형한 가지치기로 인한 정보 왜곡이나 모델 정확도의 현저한 감소를 방지할 수 있다.The aforementioned policies are methods for commonly applying pruning to mutually related 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)는 제거대상을 선택하는 방법을 나타낸다. 6 is a diagram for explaining a first policy according to an embodiment of the present disclosure. FIG. 6(a) shows a method for determining removal candidates, and FIG. 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 inside 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 having low importance in the first layer L1 may be determined as first removal candidates. 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 according to the degree of weight reduction set by the user. For example, when the degree of weight reduction set by the user increases, the number of filters determined as removal candidates may increase to three.
도 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 (b) of FIG. 6, in the first removal candidates 61 and 62 and the second removal candidates 66 and 68, the second filter 62 and the sixth filter 66 having the same index are to be removed. can be determined 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 , a sixth filter 66 having the same index as the first removal candidates 61 and 62 may be determined as a second removal target.
도 7은 본 개시의 일 실시예에 따른 제2 정책을 설명하기 위한 도면이다. 도 7의(a)는 제거후보를 결정하는 방법을 나타내며, 도 7의(b)는 제거대상을 선택하는 방법을 나타낸다. 7 is a diagram for explaining a second policy according to an embodiment of the present disclosure. FIG. 7(a) shows a method for determining removal candidates, and FIG. 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 inside 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 having low importance in the first layer L1 may be determined as first removal candidates. 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 according to the degree of weight reduction set by the user. For example, when the degree of weight reduction set by the user increases, the number of filters determined as removal candidates may increase to three.
도 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 , as a first removal target to be removed from the first layer L1, first removal candidates 61 and 62, and 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. As the second removal target to be removed from the second layer L2, a first one of the second removal candidates 66 and 68 and 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)는 제거대상을 선택하는 방법을 나타낸다. 8 is a diagram for explaining a third policy according to an embodiment of the present disclosure. (a) of FIG. 8 shows the sum of importances of filters included in the first layer L1 and the second layer L2. 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 inside 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)가 산출될 수 있다.(a) of FIG. 8 shows the sum of importance for each index. An importance (ie, 32) corresponding to the first index i1 may be calculated based on the importance of the first filter 61 and the fifth filter 65 having the first index i1. An importance (ie, 30) corresponding to the second index i2 may be calculated based on the importance of the second filter 62 and the sixth filter 66 having the second index i2. An importance (ie, 50) corresponding to the third index i3 may be calculated based on the importance of the third filter 63 and the seventh filter 67 having the third index i3. An importance (ie, 40) corresponding to the fourth index i4 may be calculated based on the importance of the fourth filter 64 and the eighth filter 68 having the fourth index i4.
도 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 having a low importance level may be determined as targets for removal. In addition, 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 according to the degree of weight reduction set by the user. For example, when the degree of weight reduction set by the user increases, the number of filters determined to be removed may increase to three. Alternatively, when the degree of weight reduction set by the user decreases, the number of filters determined to be removed may decrease to one.
도 9는 본 개시의 일 실시예에 따른 제4 정책을 설명하기 위한 도면이다. 도 9의(a)는 제1 레이어(L1)와 제2 레이어(L2)에 포함된 필터들의 중요도의 평균을 나타낸다. 도 8의(b)는 제거대상을 선택하는 방법을 나타낸다. 9 is a diagram for explaining a fourth policy according to an embodiment of the present disclosure. (a) of FIG. 9 shows an average of importances of filters included in the first layer L1 and the second layer L2. 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 inside 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 of importance for each index. An importance (ie, 16) corresponding to the first index i1 may be calculated based on the importance of the first filter 61 and the fifth filter 65 having the first index i1. An importance (ie, 15) corresponding to the second index i2 may be calculated based on the importance of the second filter 62 and the sixth filter 66 having the second index i2. An importance (ie, 25) corresponding to the third index i3 may be calculated based on the importance of the third filter 63 and the seventh filter 67 having the third index i3. An importance (ie, 20) corresponding to the fourth index i4 may be calculated based on the importance of the fourth filter 64 and the eighth filter 68 having the fourth index i4.
도 9의(b)를 참조하면, 중요도가 낮은 제1 인덱스(i1)에 대응되는 제1 필터(61)와 제5 필터(65)가 제거대상으로 결정될 수 있다. 또한, 제2 인덱스(i2)에 대응되는 제2 필터(62)와 제6 필터(66)가 제거대상으로 결정될 수 있다. 한편, 본 실시예에서는, 각 레이어에서 제거대상으로 결정되는 필터의 개수가 2이나, 이는 일 실시예에 불과할 뿐 제거대상으로 결정되는 필터의 개수는 사용자가 설정한 경량화 정도에 따라 달라질 수 있다. 예를 들어, 사용자가 설정한 경량화 정도가 증가할 경우, 제거대상으로 결정되는 필터의 개수가 3으로 증가할 수 있다. 또는, 사용자가 설정한 경량화 정도가 감소할 경우, 제거대상으로 결정되는 필터의 개수가 1로 감소할 수 있다.Referring to (b) of FIG. 9 , the first filter 61 and the fifth filter 65 corresponding to the first index i1 having a low importance level may be determined as targets for removal. In addition, 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 according to the degree of weight reduction set by the user. For example, when the degree of weight reduction set by the user increases, the number of filters determined to be removed may increase to three. Alternatively, when the degree of weight reduction set by the user decreases, the number of filters determined to be removed may decrease to one.
도 10은 본 개시의 일 실시예에 따른 전자 장치의 구성을 도시한 블록도이다.10 is a block diagram illustrating 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 an original model, a degree of weight reduction, and a metric from an external device. An external device may be a user device. User devices may include personal computers and mobile devices. The user device may receive an original model, a degree of weight reduction, and a metric 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, cellular communication module, 3G (3rd generation) mobile communication module, 4G (4th generation) mobile communication module, 4th generation LTE (Long Term Evolution) communication module, 5G (5th generation) mobile communication 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 overall operations of components of the electronic device 100 and commands or data related to components of the electronic device 100 . In particular, the memory 120 may store instructions for lightening 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 to control overall functions and operations of the electronic device 100 . The processor 130 may control the electronic device 100 by executing instructions stored in the memory 120 .
예를 들어, 프로세서(130)는 원본모델, 원본모델에 적용할 경량화 정도 및 메트릭을 획득할 수 있다. 프로세서(130)는 통신 인터페이스(110)를 통해 사용자 장치로부터 원본모델, 경량화 정도 및 메트릭을 수신할 수 있다. 원본모델은 복수의 레이어를 포함할 수 있다. 레이어는 복수의 필터(또는 커널)을 포함할 수 있다.For example, the processor 130 may obtain an original model, a degree of weight reduction to be applied to the original model, and a metric. The processor 130 may receive the original model, the degree of weight reduction, and the metric from the user device through the communication interface 110 . The original model may include a plurality of layers. A layer may include a plurality of 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 the metric. The processor 130 may calculate the importance of each of the plurality of filters using the metric, and recalculate the importance of each of the plurality of filters based on the degree of overlap of the calculated importance. The importance of the filter may be adjusted according to the degree of redundancy of the importance. For example, as the redundancy of the calculated importance of the first filter increases, the recalculated importance of the first filter may decrease. 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 필터의 중요도를 정규화할 수 있다. The 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 determines the remaining filters except for filters having an importance smaller than the importance of the first filter among the filters included in the first layer. The importance of the first filter may 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 from a plurality of filters by a predetermined number based on the degree of weight reduction in order of decreasing importance. Alternatively, a threshold importance for selecting a filter to be removed may be determined based on the degree of lightening set by the user. At this time, the processor 130 may select a filter having a lower importance than the critical importance. The processor 130 may reduce the weight of the original model by removing the selected filter. Accordingly, the processor 130 may generate 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 an original model and a policy related to a method for removing filters included in mutually related layers among a plurality of layers included in the original model. Also, the processor 130 may acquire a degree of weight reduction for reducing the weight of the original model.
프로세서(130)는 원본모델을 분석하여 상호 관련된 제1 레이어 및 제2 레이어를 식별할 수 있다. 예를 들어, 제1 레이어 및 제2 레이어가 요소별 연산자를 통해 연결된 경우, 프로세서(130)는 제1 레이어 및 제2 레이어가 상호 관련되었다고 판단할 수 있다.The processor 130 may analyze the original model to identify a first layer and a second layer that are related to each other. For example, when the first layer and the second layer are connected through an element-by-element operator, the processor 130 may determine that the first layer and the second layer are interrelated.
프로세서(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. Since the method of determining the filter to be removed for each policy has been described above, a detailed description thereof will be omitted.
이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어로 구현되는 경우, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.Various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof. In some cases, the embodiments described herein may be implemented in a processor itself. When implemented in 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 may cause a specific device to perform processing operations according to various embodiments described above when executed by a processor.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.A non-transitory computer readable medium is a medium that stores data semi-permanently and is readable by a device, not a medium that stores data for a short moment, such as a register, cache, or memory. Specific examples of the non-transitory computer readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.The device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary storage medium' only means that it is a tangible device and does not contain signals (e.g., electromagnetic waves), and this term refers to the case where data is stored semi-permanently in the storage medium and temporary It does not discriminate if it is saved as . For example, a 'non-temporary storage medium' may include a buffer in which 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 included and provided in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play Store™) or on two user devices (e.g. It can be distributed (eg downloaded or uploaded) online, directly between smartphones. In the case of online distribution, at least a part of a computer program product (eg, a downloadable app) is stored on a device-readable storage medium such as a memory of a manufacturer's server, an application store server, or a relay server. It can be temporarily stored or created temporarily.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.Although the preferred embodiments of the present disclosure have been shown and described above, the present disclosure is not limited to the specific embodiments described above, and is common in the technical field belonging to the present disclosure without departing from the gist of the present disclosure claimed in the claims. Of course, various modifications are possible by those with knowledge of, and these modifications should not be individually understood from the technical spirit or perspective of the present disclosure.
100: 전자 장치
110: 통신 인터페이스
120: 메모리
130: 프로세서100: electronic device 110: communication interface
120: memory 130: processor
Claims (20)
복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델, 상기 원본모델에 적용할 경량화 정도 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받는 단계;
상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하는 단계;
상기 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 상기 각 필터의 중요도를 정규화함으로써 레이어 단위로 상기 복수의 필터 각각의 중요도를 정규화하는 단계; 및
상기 정규화된 중요도 및 상기 경량화 정도를 기초로 상기 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는 단계;를 포함하는,
방법.In the neural network model lightweight method performed by an electronic device,
receiving a metric for determining 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 an importance of each of the plurality of filters;
determining an 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 except for filters having an importance smaller than the importance of each filter, so that each of the plurality of filters is layer-by-layer. Normalizing the importance of ; and
Lightening the original model by removing at least one filter from among the plurality of filters based on the normalized importance and the degree of lightening;
method.
상기 복수의 필터 각각의 중요도를 결정하는 단계는,
상기 메트릭을 이용하여 각 필터의 중요도를 산출하는 단계, 및
상기 산출된 각 필터의 중요도의 중복도에 기초하여 상기 각 필터의 중요도를 재산출하는 단계를 포함하는
방법.According to claim 1,
Determining the importance of each of the plurality of filters,
Calculating the importance of each filter using the metric; and
Comprising the step of recalculating the importance of each filter based on the degree of redundancy of the calculated importance of each filter
method.
상기 각 필터의 산출된 중요도의 중복도가 클수록, 상기 각 필터의 재산출된 중요도는 작아지는 것을 특징으로 하는
방법.According to claim 2,
Characterized in that the higher the redundancy of the calculated importance of each filter, the smaller the recalculated importance of each filter
method.
상기 각 필터의 산출된 중요도의 중복도는,
상기 각 필터의 산출된 중요도, 상기 각 필터를 포함하는 각 레이어에 포함된 필터들의 산출된 중요도의 평균 및 표준편차에 기초하여 산출되는
방법.According to claim 2,
The degree of redundancy of the calculated importance of each filter is,
Calculated based on the calculated importance of each filter and the average and standard deviation of the calculated importance of filters included in each layer including each filter
method.
상기 제거되는 적어도 하나의 필터는,
상기 복수의 필터를 중요도의 크기 순으로 정렬하고, 상기 복수의 필터에서 중요도 크기가 작은 순서대로 상기 경량화 정도를 기초로 정해진 개수만큼 선택되는
방법.According to claim 1,
At least one filter to be removed,
Arranging the plurality of filters in order of importance, and selecting a predetermined number based on the degree of lightening in order of decreasing importance in the plurality of filters
method.
상기 경량화하는 단계는,
상기 정규화된 중요도 및 상기 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책을 기초로, 상기 상호 관련된 레이어 상의 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는 단계
를 포함하는, 방법.According to claim 1,
In the lightening step,
Based on the normalized importance and a policy related to a method for removing filters included in mutually related layers among a plurality of layers included in the original model, at least one filter among a plurality of filters on the mutually related layer Lightening the original model by removing it
Including, method.
적어도 하나의 인스트럭션을 저장하는 메모리; 및
프로세서;를 포함하고,
상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써,
복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델, 상기 원본모델에 적용할 경량화 정도 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받고,
상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하고,
상기 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 상기 각 필터의 중요도를 정규화함으로써 레이어 단위로 상기 복수의 필터 각각의 중요도를 정규화하고,
상기 정규화된 중요도 및 상기 경량화 정도를 기초로 상기 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는,
전자 장치.In an electronic device for lightening a neural network model,
a memory storing at least one instruction; and
Including; processor;
The processor, by executing the at least one instruction,
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 a metric for determining the importance of each of the plurality of filters are input,
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 except for filters having an importance smaller than the importance of each filter, so that each of the plurality of filters is layer-by-layer. Normalize the importance of
Lightening the original model by removing at least one filter from among the plurality of filters based on the normalized importance and the degree of lightening.
electronic device.
상기 프로세서는,
상기 메트릭을 이용하여 각 필터의 중요도를 산출하고,
상기 산출된 각 필터의 중요도의 중복도에 기초하여 상기 각 필터의 중요도를 재산출하는
전자 장치.According to claim 7,
the processor,
Calculate the importance of each filter using the metric,
Recalculating the importance of each filter based on the degree of redundancy of the calculated importance of each filter
electronic device.
상기 각 필터의 산출된 중요도의 중복도가 클수록, 상기 각 필터의 재산출된 중요도는 작아지는 것을 특징으로 하는
전자 장치.According to claim 8,
Characterized in that the higher the redundancy of the calculated importance of each filter, the smaller the recalculated importance of each filter
electronic device.
상기 프로세서는,
상기 각 필터의 산출된 중요도, 상기 각 필터를 포함하는 각 레이어에 포함된 필터들의 산출된 중요도의 평균 및 표준편차에 기초하여 상기 각 필터의 산출된 중요도의 중복도를 산출하는
전자 장치.According to claim 8,
the processor,
Calculating the degree of redundancy of the calculated importance of each filter based on the calculated importance of each filter and the average and standard deviation of the calculated importance of filters included in each layer including each filter
electronic device.
상기 프로세서는,
상기 복수의 필터를 중요도의 크기 순으로 정렬하고,
상기 경량화 정도를 기초로 정해진 개수만큼 상기 복수의 필터에서 중요도 크기가 작은 순서대로 적어도 하나의 필터를 선택하는
전자 장치.According to claim 7,
the processor,
Sort the plurality of filters in order of importance,
Selecting at least one filter in order of decreasing importance from the plurality of filters by a number determined based on the degree of lightening
electronic device.
상기 프로세서는,
상기 정규화된 중요도 및 상기 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책을 기초로, 상기 상호 관련된 레이어 상의 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는
전자 장치.According to claim 7,
the processor,
Based on the normalized importance and a policy related to a method for removing filters included in mutually related layers among a plurality of layers included in the original model, at least one filter among a plurality of filters on the mutually related layer To lighten the original model by removing
electronic device.
복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받는 단계;
상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하는 단계;
상기 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 상기 각 필터의 중요도를 정규화함으로써 레이어 단위로 상기 복수의 필터 각각의 중요도를 정규화하는 단계; 및
상기 정규화된 중요도 및 상기 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책을 기초로, 상기 상호 관련된 레이어 상의 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는 단계;를 포함하는,
방법.In the neural network model lightweight method 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 importance of each of the plurality of filters;
determining an 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 except for filters having an importance smaller than the importance of each filter, so that each of the plurality of filters is layer-by-layer. Normalizing the importance of ; and
Based on the normalized importance and a policy related to a method for removing filters included in mutually related layers among a plurality of layers included in the original model, at least one filter among a plurality of filters on the mutually related layer Lightening the original model by removing; Including,
method.
상기 상호 관련된 레이어들은,
복수의 제1 필터를 포함한 제1 레이어 및 복수의 제2 필터를 포함한 제2 레이어를 포함하고,
상기 제거되는 적어도 하나의 필터는,
상기 정규화된 중요도와 사용자가 설정한 경량화 정도를 기초로 상기 복수의 제1 필터 중 제1 제거후보를 결정하고 상기 복수의 제2 필터 중 제2 제거후보를 결정하고,
상기 정책, 상기 제1 제거후보 및 상기 제2 제거후보를 기초로 상기 복수의 제1 필터 중 제1 제거대상을 선택하고 상기 복수의 제2 필터 중 제2 제거대상을 선택함으로써 결정되는
방법.According to claim 13,
The interrelated layers are
A first layer including a plurality of first filters and a second layer including a plurality of second filters,
At least one filter to be removed,
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 weight reduction set by a user;
Determined by selecting a first removal target from among the plurality of first filters and selecting a second removal target from among 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 claim 14,
When the policy is the first policy, the first removal target is selected as a filter having 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. A filter with the same index as the removal candidate is selected.
method.
상기 정책이 제2 정책인 경우, 상기 제1 제거대상은 상기 복수의 제1 필터 중 상기 제2 제거후보와 인덱스가 동일한 필터와 상기 제1 제거후보를 포함하고, 상기 제2 제거대상은 상기 복수의 제2 필터 중 상기 제1 제거후보와 인덱스가 동일한 필터와 상기 제2 제거후보를 포함하는
방법.According to claim 14,
When the policy is the second policy, the first removal target includes a filter having 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 filters. Among the second filters of, including a filter having the same index as the first removal candidate and the second removal candidate
method.
상기 제거되는 적어도 하나의 필터는,
상기 정책이 제3 정책인 경우, 상기 복수의 필터 중 인덱스가 동일한 필터들의 중요도의 합을 기초로 결정되는
방법.According to claim 13,
At least one filter to be removed,
When the policy is the third policy, determined based on the sum of the importance of filters having the same index among the plurality of filters
method.
상기 제거될 필터는,
상기 정책이 제4 정책인 경우, 상기 복수의 필터 중 인덱스가 동일한 필터들의 중요도의 평균을 기초로 선택되는
방법.According to claim 13,
The filter to be removed is
When the policy is the fourth policy, selected based on the average of the importance of filters having the same index among the plurality of filters
method.
상기 상호 관련된 레이어는,
기설정된 연산자를 통해 연결되며,
상기 기설정된 연산자는,
요소별 연산자(element-wise operator)를 포함하는
방법.According to claim 13,
The interrelated layers are
It is connected through a preset operator,
The preset operator is,
with element-wise operators
method.
적어도 하나의 인스트럭션을 저장하는 메모리; 및
프로세서;를 포함하고,
상기 프로세서는, 상기 적어도 하나의 인스트럭션을 실행함으로써,
복수의 필터를 각각 포함하는 복수의 레이어를 포함하는 원본모델 및 상기 복수의 필터 각각의 중요도를 결정하기 위한 메트릭(metric)을 입력받고,
상기 메트릭을 이용하여 상기 복수의 필터 각각의 중요도를 결정하고,
상기 원본모델의 각각의 레이어에 포함된 복수의 필터들 중에서 각 필터의 중요도보다 작은 중요도를 갖는 필터를 제외한 나머지 필터의 중요도에 기초하여 상기 각 필터의 중요도를 정규화함으로써 레이어 단위로 상기 복수의 필터 각각의 중요도를 정규화하고,
상기 정규화된 중요도 및 상기 원본모델에 포함된 복수의 레이어 중 상호 관련된 레이어들에 포함된 필터들을 함께 제거하기 위한 방법과 관련된 정책을 기초로, 상기 상호 관련된 레이어 상의 복수의 필터 중 적어도 하나의 필터를 제거하여 상기 원본모델을 경량화하는,
전자 장치.
In an electronic device for lightening a neural network model,
a memory storing at least one instruction; and
Including; processor;
The processor, by executing the at least one instruction,
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 except for filters having an importance smaller than the importance of each filter, so that each of the plurality of filters is layer-by-layer. Normalize the importance of
Based on the normalized importance and a policy related to a method for removing filters included in mutually related layers among a plurality of layers included in the original model, at least one filter among a plurality of filters on the mutually related layer To lighten the original model by removing it,
electronic device.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023076065A JP7316566B1 (en) | 2022-05-11 | 2023-05-02 | Neural network model weight reduction method and electronic device for performing the same |
US18/313,278 US20230368010A1 (en) | 2022-05-11 | 2023-05-05 | Method for compressing neural network model and electronic apparatus for performing the same |
JP2023110306A JP2023168327A (en) | 2022-05-11 | 2023-07-04 | Method for compressing neural network model and electronic apparatus for performing the same |
KR1020230130405A KR20230141728A (en) | 2022-02-23 | 2023-09-27 | Method for lightweighting neural network model and electronic apparatus for performing the same |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220023385 | 2022-02-23 | ||
KR20220023385 | 2022-02-23 | ||
KR20220057599 | 2022-05-11 | ||
KR1020220057599 | 2022-05-11 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230130405A Division KR20230141728A (en) | 2022-02-23 | 2023-09-27 | Method for lightweighting neural network model and electronic apparatus for performing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230126639A true KR20230126639A (en) | 2023-08-30 |
KR102585838B1 KR102585838B1 (en) | 2023-10-06 |
Family
ID=87846349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220182086A KR102585838B1 (en) | 2022-02-23 | 2022-12-22 | Method for lightweighting neural network model and electronic apparatus for performing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102585838B1 (en) |
-
2022
- 2022-12-22 KR KR1020220182086A patent/KR102585838B1/en active Application Filing
Non-Patent Citations (2)
Title |
---|
Tejalal Choudhary et al., A transfer learning with structured filter pruning approach for improved breast cancer classification on point-of-care devices , Computers in Biology and Medicine 134, 1-13pa* * |
Torsten Hoefler et al., Sparsity in Deep Learning: Pruning and growth for efficient inference and training in neural networks, Journal of Machine Learning Research 23, 1-124pages (2021.)* * |
Also Published As
Publication number | Publication date |
---|---|
KR102585838B1 (en) | 2023-10-06 |
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 | |
US10395130B2 (en) | Fingerprint registration method and device and terminal thereof | |
CN109240875B (en) | Canton analysis method and system | |
US10032115B2 (en) | Estimating file level input/output operations per second (IOPS) | |
JP7475581B2 (en) | Method for compressing neural network models and electronic device implementing said method | |
JP6816481B2 (en) | Reduction condition identification method, reduction condition identification program and reduction condition identification device | |
CN110381310B (en) | Method and device for detecting health state of visual system | |
CN114168318A (en) | Training method of storage release model, storage release method and equipment | |
US9679219B2 (en) | Image feature classification | |
CN112083880B (en) | Mobile phone system file online modification method, device and storage medium | |
KR20230126639A (en) | Method for lightweighting neural network model and electronic apparatus for performing the same | |
KR102038957B1 (en) | Method and apparatus for detecting game abuser | |
CN113272785B (en) | Method for mounting file system, terminal equipment and storage medium | |
CN109447134B (en) | Data merging method, device, computer equipment and storage medium | |
JP7316566B1 (en) | Neural network model weight reduction method and electronic device for performing the same | |
US20200410356A1 (en) | Method for optimizing a data model and device using the same | |
KR20230141728A (en) | Method for lightweighting neural network model and electronic apparatus for performing the same | |
US9886363B2 (en) | Identification of storage performance shortfalls | |
CN110544166A (en) | Sample generation method, device and storage medium | |
CN114202224B (en) | Method, apparatus, medium for detecting weld quality in a production environment | |
KR102282343B1 (en) | Methods and apparatuses for classifying data point using parallel hyperplane | |
CN110021166B (en) | Method and device for processing user travel data and computing equipment | |
US20170131946A1 (en) | Method and device for formatting storage of mobile terminal | |
US10798102B2 (en) | Protecting data at an object level |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent |