KR102472397B1 - Computing device to improve the efficiency of convolution operation by adjusting the number of convolution filters included in the convolutional neural networks model and operating method thereof - Google Patents
Computing device to improve the efficiency of convolution operation by adjusting the number of convolution filters included in the convolutional neural networks model and operating method thereof Download PDFInfo
- Publication number
- KR102472397B1 KR102472397B1 KR1020200046465A KR20200046465A KR102472397B1 KR 102472397 B1 KR102472397 B1 KR 102472397B1 KR 1020200046465 A KR1020200046465 A KR 1020200046465A KR 20200046465 A KR20200046465 A KR 20200046465A KR 102472397 B1 KR102472397 B1 KR 102472397B1
- Authority
- KR
- South Korea
- Prior art keywords
- convolution
- time
- filters
- reduction ratio
- computing device
- Prior art date
Links
Images
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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Biophysics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Neurology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
Abstract
합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법이 개시된다. 본 발명은 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 컴퓨팅 장치에서, 각 합성곱 계층에 존재하는 합성곱 필터들 중 합성곱 연산에 활용될 합성곱 필터의 수를 적절히 조정함으로써, 컴퓨팅 장치의 연산 시간을 줄이고, 에너지 효율을 증가시킬 수 있는 기법에 대한 것이다.A computing device and method for improving the efficiency of a convolution operation by adjusting the number of convolution filters included in a convolutional neural network model are disclosed. In a computing device in which a convolutional neural network model for which machine learning has been completed is built, the present invention appropriately adjusts the number of convolutional filters to be used for a convolutional operation among convolutional filters existing in each convolutional layer, thereby improving the performance of the computing device. It is about a technique that can reduce computation time and increase energy efficiency.
Description
본 발명은 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법에 대한 것이다.The present invention relates to a computing device and method for improving the efficiency of a convolution operation by adjusting the number of convolution filters included in a convolutional neural network model.
최근, 딥러닝(deep learning) 네트워크가 지능화된 서비스를 제공하는데 핵심적인 역할을 하고 있다.Recently, deep learning networks play a key role in providing intelligent services.
딥러닝 중에서 합성곱 신경망(Convolutional Neural Networks: CNNs)은 시각적인 영상처리에 특화된 딥러닝 네트워크로서, 컴퓨터 비전 응용 프로그램들에 획기적인 기술적 진보를 가져왔다.Among deep learning, Convolutional Neural Networks (CNNs) are deep learning networks specialized in visual image processing, and have brought significant technological advances to computer vision applications.
합성곱 신경망은 여러 계층들(layers)로 구성되며, 입력된 영상이나 이미지를 합성곱 계층을 포함한 여러 계층에서 연속적으로 처리함으로써, 최종적으로 분류(classification) 결과나 객체 인식 결과 등의 출력을 생성하게 된다. A convolutional neural network is composed of several layers, and continuously processes an input video or image in several layers including a convolutional layer to finally generate output such as classification results or object recognition results. do.
합성곱 신경망에서는 합성곱 필터로 구성된 합성곱 계층들을 통해 피처맵(feature map)을 생성하는 과정이 수행된다. 이 과정에서 각 합성곱 계층에 존재하는 합성곱 필터들을 통한 합성곱 연산이 발생하게 된다.In the convolutional neural network, a process of generating a feature map is performed through convolutional layers composed of convolutional filters. In this process, a convolution operation occurs through convolution filters existing in each convolution layer.
따라서, 기계학습이 완료된 합성곱 신경망 모델을 갖는 컴퓨팅 장치를 통해 출력을 산출하는 과정에서는 각 합성곱 계층에서 수행되는 합성곱의 연산 시간이 상기 합성곱 신경망 모델 전체의 연산 시간의 대부분을 차지하는 특징을 보인다.Therefore, in the process of calculating an output through a computing device having a convolutional neural network model on which machine learning has been completed, the calculation time of the convolution performed in each convolution layer occupies most of the calculation time of the entire convolutional neural network model. see.
예컨대, 영상에 존재하는 사물이 어떤 종류의 사물인지 구분할 수 있도록 하는 기계학습이 완료된 합성곱 신경망 모델을 갖는 컴퓨팅 장치가 있다고 할 때, 입력 영상을 컴퓨팅 장치에 인가한 후 최종 분류 결과가 산출될 때까지의 총 연산 시간은 상기 합성곱 신경망 모델을 구성하는 합성곱 계층에서 발생하는 합성곱 연산에 의존하는 경향이 있다.For example, assuming that there is a computing device having a convolutional neural network model on which machine learning has been completed to distinguish what kind of object exists in an image, when the final classification result is calculated after applying an input image to the computing device The total operation time up to 2 tends to depend on the convolution operation occurring in the convolution layer constituting the convolutional neural network model.
관련해서, 도 1에는 합성곱 신경망 모델의 각 합성곱 계층에서 피처맵을 생성하기 위해서 발생하는 합성곱 연산 과정을 설명하기 위한 예시가 간단히 도시되어 있다.In relation to this, FIG. 1 simply shows an example for explaining a convolution operation process occurring to generate a feature map in each convolution layer of a convolutional neural network model.
먼저, 이전 합성곱 계층에서 생성된 피처맵을 도면부호 111, 112, 113과 같이 3개의 채널을 갖는 피처맵(111, 112, 113)이라고 가정하자.First, it is assumed that the feature maps generated in the previous convolution layer are
이때, 이번 순번의 합성곱 계층에 존재하는 합성곱 필터들(10, 20, 30)의 개수를 n개라고 하는 경우, 이번 순번의 합성곱 계층에서는 3채널의 피처맵(111, 112, 113)이 n개의 합성곱 필터들(10, 20, 30)을 통과함으로써, n개 채널을 갖는 출력 피처맵(121, 122, 123)이 생성될 수 있다.(설명의 편의를 위해, 풀링(pooling) 등의 추가 과정은 생략함)At this time, if the number of convolution filters (10, 20, 30) existing in the convolution layer of this order is n, then in the convolution layer of this order, the feature maps (111, 112, 113) of 3 channels By passing these
즉, 각 합성곱 계층에서는 합성곱 필터의 개수에 대응되는 채널을 갖는 피처맵이 생성되게 된다.That is, in each convolution layer, a feature map having channels corresponding to the number of convolution filters is generated.
그리고, 합성곱 필터들(10, 20, 30) 각각은 d x d의 크기를 갖는 합성곱 행렬이 입력 피처맵(111, 112, 113)의 채널 수만큼 존재하도록 구성된다. 본 예에서는 피처맵(111, 112, 113)이 3개의 채널로 구성되어 있기 때문에, 합성곱 필터들(10, 20, 30)은 d x d의 크기를 갖는 합성곱 행렬이 3개씩 존재하도록 구성된다.In addition, each of the
이로 인해, 피처맵(111, 112, 113)이 합성곱 필터 1(10)을 통과하게 되면, 피처맵 1(111)과 d x d의 합성곱 행렬 1(11)이 합성곱 연산되어 제1 연산 행렬이 산출되고, 피처맵 2(112)와 d x d의 합성곱 행렬 2(12)가 합성곱 연산되어 제2 연산 행렬이 산출되며, 피처맵 3(113)과 d x d의 합성곱 행렬 3(13)이 합성곱 연산되어 제3 연산 행렬이 산출된 후 상기 제1 연산 행렬, 상기 제2 연산 행렬 및 상기 제3 연산 행렬이 서로 합산됨으로써, 출력 피처맵 1(121)이 산출되게 된다.For this reason, when the
또한, 피처맵(111, 112, 113)이 합성곱 필터 2(20)를 통과하게 되면, 피처맵 1(111)과 d x d의 합성곱 행렬 1(21)이 합성곱 연산되어 제1 연산 행렬이 산출되고, 피처맵 2(112)와 d x d의 합성곱 행렬 2(22)가 합성곱 연산되어 제2 연산 행렬이 산출되며, 피처맵 3(113)과 d x d의 합성곱 행렬 3(23)이 합성곱 연산되어 제3 연산 행렬이 산출된 후 상기 제1 연산 행렬, 상기 제2 연산 행렬 및 상기 제3 연산 행렬이 서로 합산됨으로써, 출력 피처맵 2(122)가 산출되게 된다.In addition, when the
이러한 방식으로, 피처맵(111, 112, 113)이 합성곱 필터 n(30)을 통과하게 되면, 피처맵 1(111)과 d x d의 합성곱 행렬 1(31)이 합성곱 연산되어 제1 연산 행렬이 산출되고, 피처맵 2(112)와 d x d의 합성곱 행렬 2(32)가 합성곱 연산되어 제2 연산 행렬이 산출되며, 피처맵 3(113)과 d x d의 합성곱 행렬 3(33)이 합성곱 연산되어 제3 연산 행렬이 산출된 후 상기 제1 연산 행렬, 상기 제2 연산 행렬 및 상기 제3 연산 행렬이 서로 합산됨으로써, 출력 피처맵 n(123)이 산출되게 된다.In this way, when the
결국, 합성곱 계층에 존재하는 합성곱 필터들(10, 20, 30) 각각에는 d x d의 크기를 갖는 합성곱 행렬이 이전 합성곱 계층을 통과하여 생성된 피처맵(111, 112, 113)의 채널 수만큼 존재하기 때문에, 입력 피처맵(111, 112, 113)의 채널 수를 k라고 하는 경우, 각 합성곱 필터(10, 20, 30)는 d x d x k의 3차원 구조를 갖는 행렬이라고 볼 수 있다.As a result, in each of the
앞서 설명한 바와 같이, 합성곱 신경망에서는 각 합성곱 계층에서의 합성곱 연산에 소요되는 시간이 출력 산출에 소요되는 전체 연산 시간의 대부분을 차지하기 때문에, 합성곱 신경망이 구축된 컴퓨팅 장치의 성능이 나쁜 경우에는 출력이 산출될 때까지 많은 시간이 소요될 수 있다.As described above, in the convolutional neural network, since the time required for the convolution operation in each convolutional layer occupies most of the total calculation time required for output calculation, the performance of the computing device in which the convolutional neural network is built is poor. In this case, it may take a lot of time until the output is calculated.
또한, 많은 양의 연산이 발생하게 되면, 컴퓨팅 장치가 소모하는 에너지도 증가하기 때문에 에너지 효율 측면에서도 나쁜 결과가 도출될 수 있다.In addition, when a large amount of calculations occur, energy consumed by the computing device also increases, which may lead to poor results in terms of energy efficiency.
기계학습이 완료된 합성곱 신경망에서는 각 합성곱 계층을 구성하는 합성곱 필터들이 적절한 출력을 산출하도록 학습이 완료된 상황이기 때문에, 각 합성곱 계층을 구성하는 합성곱 필터들 중 몇몇 중요도가 떨어지는 합성곱 필터를 비활성화시키더라도 합성곱 신경망의 출력에 큰 영향을 미치지 않을 수 있다. 즉, 합성곱 필터는 행렬이기 때문에 행렬을 구성하는 성분이 작은 값일수록 합성곱이 수행될 때 결과 값에 큰 영향을 미치지 않을 가능성이 높다.In the convolutional neural network where machine learning has been completed, the convolutional filters constituting each convolutional layer have completed learning to produce appropriate outputs, so some of the convolutional filters constituting each convolutional layer have little importance. Deactivation may not have a significant effect on the output of the convolutional neural network. That is, since the convolution filter is a matrix, the smaller the value of the components constituting the matrix, the higher the possibility that the result value is not significantly affected when convolution is performed.
따라서, 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 컴퓨팅 장치에서, 각 합성곱 계층에 존재하는 합성곱 필터들 중 합성곱 연산에 활용될 합성곱 필터의 수를 적절히 조정함으로써, 컴퓨팅 장치의 연산 시간을 줄이고, 에너지 효율을 증가시키기 위한 기술의 연구가 필요하다.Therefore, in the computing device in which the machine learning completed convolutional neural network model is built, by appropriately adjusting the number of convolutional filters to be used for the convolutional operation among the convolutional filters present in each convolutional layer, the computation of the computing device Research on technology to reduce time and increase energy efficiency is needed.
본 발명은 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 컴퓨팅 장치에서, 각 합성곱 계층에 존재하는 합성곱 필터들 중 합성곱 연산에 활용될 합성곱 필터의 수를 적절히 조정함으로써, 컴퓨팅 장치의 연산 시간을 줄이고, 에너지 효율을 증가시킬 수 있는 기법을 제시하고자 한다.In a computing device in which a convolutional neural network model for which machine learning has been completed is built, the present invention appropriately adjusts the number of convolutional filters to be used for a convolutional operation among convolutional filters existing in each convolutional layer, thereby improving the performance of the computing device. We would like to present a technique that can reduce computation time and increase energy efficiency.
본 발명의 일실시예에 따른 기계학습이 완료된 합성곱 신경망(Convolutional Neural Networks) 모델이 구축되어 있는 상태에서, 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치는 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정하는 연산 시간 측정부, 상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출하는 감축 비율 산출부, 상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출하는 목표 감축 개수 산출부 및 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름(norm)이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정하는 합성곱 필터 개수 조정부를 포함한다.In a state where a convolutional neural network model for which machine learning has been completed according to an embodiment of the present invention is built, the efficiency of convolution operation is increased by adjusting the number of convolutional filters included in the convolutional neural network model. The computing device for improving the computation time measurement unit for measuring the computation time from the time when the input value is applied to the convolutional neural network model until the output value is calculated, when the computation time exceeds a preset target time, A reduction ratio calculation unit for calculating a reduction ratio for the number of convolutional filters included in each of a plurality of convolutional layers constituting the convolutional neural network model by comparing the calculation time with the target time; A target reduction number calculator calculating a target reduction number of convolution filters to be reduced in each of the plurality of convolution layers by multiplying the number of convolution filters included in each layer by the reduction ratio, and the plurality of convolution layers For each of the layers, by inactivating as many convolution filters as the target reduction number in descending order of norms among the convolution filters included in each convolution layer, and a convolution filter number adjustment unit for adjusting the number of convolution filters to be applied to the convolution operation.
또한, 본 발명의 일실시예에 따른 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 상태에서, 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치의 동작 방법은 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정하는 단계, 상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출하는 단계, 상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출하는 단계 및 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정하는 단계를 포함한다.In addition, in a state in which the machine learning-completed convolutional neural network model according to an embodiment of the present invention is built, to improve the efficiency of convolutional operation by adjusting the number of convolutional filters included in the convolutional neural network model The operating method of the computing device includes measuring an operation time from when an input value is applied to the convolutional neural network model until an output value is calculated, and when the operation time exceeds a preset target time, the operation time Comparing the target time and the target time to calculate a reduction ratio for the number of convolution filters included in each of a plurality of convolution layers constituting the convolution neural network model, Calculating a target reduction number of a convolution filter to be reduced in each of the plurality of convolution layers by multiplying the number of convolution filters by the reduction ratio, respectively, and for each of the plurality of convolution layers, each convolution layer Adjusting the number of convolution filters to be applied to the convolution operation in each of the plurality of convolution layers by inactivating as many convolution filters as the target reduction number in order of smallest norm among the convolution filters included in Include steps.
본 발명은 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 컴퓨팅 장치에서, 각 합성곱 계층에 존재하는 합성곱 필터들 중 합성곱 연산에 활용될 합성곱 필터의 수를 적절히 조정함으로써, 컴퓨팅 장치의 연산 시간을 줄이고, 에너지 효율을 증가시킬 수 있다.In a computing device in which a convolutional neural network model for which machine learning has been completed is built, the present invention appropriately adjusts the number of convolutional filters to be used for a convolutional operation among convolutional filters existing in each convolutional layer, thereby improving the performance of the computing device. It can reduce computation time and increase energy efficiency.
도 1은 합성곱 신경망의 합성곱 계층에서 발생하는 연산 과정을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 컴퓨팅 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법을 도시한 순서도이다.1 is a diagram for explaining an operation process occurring in a convolutional layer of a convolutional neural network.
2 is a diagram showing the structure of a computing device according to an embodiment of the present invention.
3 is a flowchart illustrating a method of operating a computing device according to an embodiment of the present invention.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, similar reference numerals have been used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, are common knowledge in the art to which the present invention belongs. has the same meaning as commonly understood by the person who has it.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a certain component is said to "include", it means that it may further include other components without excluding other components unless otherwise stated. In addition, in various embodiments of the present invention, each component, functional block, or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic It may be implemented with various known elements or mechanical elements such as circuits, integrated circuits, ASICs (Application Specific Integrated Circuits), and may be implemented separately or two or more may be integrated into one.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks of the accompanying block diagram or the steps of the flowchart are computer program instructions that perform designated functions by being loaded into a processor or memory of a device capable of data processing, such as a general-purpose computer, a special purpose computer, a portable notebook computer, and a network computer. can be interpreted as meaning Since these computer program instructions may be stored in a memory included in a computer device or in a computer readable memory, the functions described in blocks of a block diagram or steps of a flowchart are produced as a product containing instruction means for performing them. It could be. Further, each block or each step may represent a module, segment or portion of code that includes one or more executable instructions for executing specified logical function(s). Also, it should be noted that in some alternative embodiments, functions mentioned in blocks or steps may be executed out of a predetermined order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or in reverse order, and in some cases, some blocks or steps may be omitted.
도 2는 본 발명의 일실시예에 따른 컴퓨팅 장치의 구조를 도시한 도면이다.2 is a diagram showing the structure of a computing device according to an embodiment of the present invention.
우선, 본 발명에 따른 컴퓨팅 장치(210)에는 기계학습이 완료된 합성곱 신경망(Convolutional Neural Networks) 모델이 구축되어 있는 상태인 것으로 가정한다. 이때, 본 발명에 따른 컴퓨팅 장치(210)는 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시킬 수 있는 장치로, 연산 시간 측정부(211), 감축 비율 산출부(212), 목표 감축 개수 산출부(213), 합성곱 필터 개수 조정부(214)를 포함한다.First, it is assumed that the
연산 시간 측정부(211)는 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정한다.The calculation
감축 비율 산출부(212)는 상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출한다.When the calculation time exceeds a preset target time, the reduction
이때, 본 발명의 일실시예에 따르면, 감축 비율 산출부(212)는 하기의 수학식 1의 연산에 기초하여 상기 감축 비율을 산출할 수 있다.At this time, according to an embodiment of the present invention, the
여기서, R은 상기 감축 비율로서, TG는 상기 목표 시간, TE는 상기 연산 시간을 의미한다.Here, R is the reduction ratio, T G is the target time, and T E is the calculation time.
상기 수학식 1의 연산에 따르면, 상기 감축 비율은 상기 연산 시간이 증가할수록 높은 값으로 산출되게 된다. 즉, 상기 감축 비율은 상기 연산 시간에 대해 양의 상관관계를 갖도록 산출된다.According to the calculation of Equation 1, the reduction ratio is calculated as a higher value as the calculation time increases. That is, the reduction ratio is calculated to have a positive correlation with the calculation time.
관련해서, 상기 목표 시간을 '5분'이라고 하고, 상기 연산 시간을 '8분'이라고 하는 경우, 감축 비율 산출부(212)는 상기 수학식 1의 연산에 따라 상기 감축 비율을 '0.15'로 산출할 수 있다.In relation to this, when the target time is '5 minutes' and the calculation time is '8 minutes', the reduction
목표 감축 개수 산출부(213)는 상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출한다. 이때, 본 발명의 일실시예에 따르면, 목표 감축 개수 산출부(213)는 상기 감축 비율을 곱하여 산출된 연산 값에서 소수점 이하 자리를 버림함으로써, 각 합성곱 계층에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출할 수 있다.The target reduction
예컨대, 상기 복수의 합성곱 계층들로 '합성곱 계층 1', '합성곱 계층 2', '합성곱 계층 3'이 존재한다고 하고, '합성곱 계층 1'에 10개의 합성곱 필터가 존재하고, '합성곱 계층 2'에 15개의 합성곱 필터가 존재하며, '합성곱 계층 3'에 20개의 합성곱 필터가 존재한다고 가정하자. 이때, 상기 감축 비율이 '0.15'로 산출되었다고 하는 경우, 목표 감축 개수 산출부(213)는 '합성곱 계층 1'에 대해서 '1개'라고 하는 목표 감축 개수를 산출할 수 있고, '합성곱 계층 2'에 대해서 '2개'라고 하는 목표 감축 개수를 산출할 수 있으며, '합성곱 계층 3'에 대해서 '3개'라고 하는 목표 감축 개수를 산출할 수 있다.For example, suppose that 'convolution layer 1', 'convolution layer 2', and 'convolution layer 3' exist as the plurality of convolution layers, and 10 convolution filters exist in 'convolution layer 1' , Assume that there are 15 convolution filters in '
합성곱 필터 개수 조정부(214)는 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름(norm)이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정한다.For each of the plurality of convolution layers, the convolution
이때, 본 발명의 일실시예에 따르면, 상기 노름은 합성곱 필터에 대한 L1 노름 또는 L2 노름 중 어느 하나일 수 있다.In this case, according to an embodiment of the present invention, the norm may be either an L1 norm or an L2 norm for a convolutional filter.
여기서, 노름이란 벡터나 행렬의 크기를 일반화한 것을 의미한다. 이때, L1 노름은 맨해튼 노름(Manhattan norm)이라고도 하며, 특정 합성곱 계층에 존재하는 합성곱 필터가 d x d x k의 크기(입력되는 피처맵이 k채널로 구성되어 있다고 가정)를 갖는 3차원 행렬로 구성되어 있다고 하는 경우, 합성곱 필터에 대한 L1 노름은 하기의 수학식 2에 따라 연산될 수 있다.Here, the norm means a generalization of the size of a vector or matrix. At this time, the L1 norm is also called the Manhattan norm, and the convolution filter existing in a specific convolution layer is composed of a 3-dimensional matrix having a size of d x d x k (assuming that the input feature map consists of k channels). If yes, the L1 norm for the convolution filter can be calculated according to Equation 2 below.
여기서, xt,j,i는 합성곱 필터를 구성하는 3차원 행렬의 성분을 의미한다.Here, x t,j,i denote components of a three-dimensional matrix constituting the convolutional filter.
L2 노름은 유클리드 노름(Euclidean norm)이라고도 하며, 특정 합성곱 계층에 존재하는 합성곱 필터가 d x d x k의 크기(입력되는 피처맵이 k채널로 구성되어 있다고 가정)를 갖는 3차원 행렬로 구성되어 있다고 하는 경우, 합성곱 필터에 대한 L2 노름은 하기의 수학식 3에 따라 연산될 수 있다.The L2 norm is also called the Euclidean norm, and it is said that the convolution filter existing in a specific convolution layer is composed of a 3-dimensional matrix with the size of d x d x k (assuming that the input feature map consists of k channels). In this case, the L2 norm for the convolution filter can be calculated according to Equation 3 below.
즉, 합성곱 필터 개수 조정부(214)는 상기 복수의 합성곱 계층들 각각에 대해서, 각 합성곱 계층에 포함된 합성곱 필터들의 노름을 연산한 후 노름이 작은 순서로 상기 목표 감축 개수만큼의 합성곱 필터를 비활성화 처리할 수 있다. 예컨대, 특정 합성곱 계층에 존재하는 합성곱 필터의 개수가 30개라고 하고, 상기 특정 합성곱 계층에 대한 상기 목표 감축 개수가 5개라고 하는 경우, 합성곱 필터 개수 조정부(214)는 상기 특정 합성곱 계층에 존재하는 30개의 합성곱 필터들 중 노름이 작은 순서로 5개의 합성곱 필터들을 비활성화 처리함으로써, 상기 특정 합성곱 계층에서 합성곱 연산에 적용될 합성곱 필터의 개수를 25개로 조정할 수 있다. 즉, 5개의 합성곱 필터들은 입력 데이터가 상기 특정 합성곱 계층을 통과할 때 합성곱 연산에서 배제된다.That is, for each of the plurality of convolution layers, the convolution
합성곱 필터의 노름이 작다는 의미는 합성곱 필터를 구성하는 행렬의 성분의 크기가 작다는 의미라고 볼 수 있기 때문에, 합성곱 연산 과정에서 데이터에 기여하는 정도가 다른 합성곱 필터에 비해서 낮은 것으로 볼 수 있다. 따라서, 합성곱 필터 개수 조정부(214)를 통해 각 합성곱 계층에서 노름이 작은 합성곱 필터가 비활성화 처리되더라도 상기 합성곱 신경망 모델을 통해서 산출되는 출력 값에는 큰 영향이 없을 수 있다.Since the meaning that the norm of the convolution filter is small means that the size of the components of the matrix constituting the convolution filter is small, the degree of contribution to data in the convolution operation process is lower than that of other convolution filters. can see. Therefore, even if a convolution filter having a small norm is deactivated in each convolution layer through the convolution filter
이에, 본 발명에 따른 컴퓨팅 장치(210)는 각 합성곱 계층에서 노름이 작은 합성곱 필터들을 비활성화 처리하여 합성곱 연산에 적용되는 합성곱 필터의 개수를 줄임으로써, 상기 합성곱 신경망 모델을 통해서 출력 값이 산출될 때까지의 전체 연산 시간을 줄일 수 있다.Accordingly, the
본 발명의 일실시예에 따르면, 컴퓨팅 장치(210)는 연산 시간 재측정부(215), 재측정 연산 시간 확인부(216), 감축 비율 재산출부(217), 추가 감축 개수 산출부(218) 및 합성곱 필터 개수 추가 조정부(219)를 더 포함할 수 있다.According to an embodiment of the present invention, the
연산 시간 재측정부(215)는 합성곱 필터 개수 조정부(214)를 통해 상기 복수의 합성곱 계층들 각각에서의 합성곱 필터의 개수 조정이 완료되면, 상기 합성곱 신경망 모델에 대한 상기 연산 시간을 재측정한다.When the adjustment of the number of convolution filters in each of the plurality of convolution layers is completed through the convolution filter
재측정 연산 시간 확인부(216)는 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한다.The remeasured operation
감축 비율 재산출부(217)는 상기 재측정된 연산 시간이 상기 목표 시간 이하가 아닌 것으로 확인되는 경우, 상기 재측정된 연산 시간과 상기 목표 시간을 비교하여 상기 감축 비율을 재산출한다.The reduction
이때, 감축 비율 재산출부(217)는 상기 수학식 1의 연산에 따라 상기 감축 비율을 재산출할 수 있다.At this time, the reduction
추가 감축 개수 산출부(218)는 상기 복수의 합성곱 계층들 각각에서 활성화가 되어 있는 합성곱 필터들의 개수에 상기 재산출된 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 추가로 감축시킬 합성곱 필터의 추가 감축 개수를 산출한다.The additional reduction
예컨대, 특정 합성곱 계층에 존재하는 합성곱 필터의 개수가 30개이고, 합성곱 필터 개수 조정부(214)를 통해 5개의 합성곱 필터들이 비활성화 처리됨에 따라, 현재 25개의 합성곱 필터들만이 활성화되어 있다고 하며, 상기 재산출된 감축 비율이 10%라고 하는 경우, 추가 감축 개수 산출부(218)는 상기 특정 합성곱 계층에 대해, 현재 활성화되어 있는 25개의 합성곱 필터들 중 추가로 감축시킬 합성곱 필터의 추가 감축 개수로 '2개'를 산출할 수 있다.For example, since the number of convolution filters existing in a specific convolution layer is 30 and 5 convolution filters are inactivated through the convolution filter
합성곱 필터 개수 추가 조정부(219)는 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 활성화가 되어 있는 합성곱 필터들 중 상기 노름이 작은 순으로 상기 추가 감축 개수만큼의 합성곱 필터들을 추가로 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 추가 조정한다.The convolution filter number
관련해서, 전술한 예와 같이, 상기 특정 합성곱 계층에서 현재 25개의 합성곱 필터들이 활성화되어 있고, 상기 특정 합성곱 계층에 대한 추가 감축 개수가 2개라고 하는 경우, 합성곱 필터 개수 추가 조정부(219)는 상기 특정 합성곱 계층에 대해, 25개의 합성곱 필터들 중 노름이 작은 순서로 2개의 합성곱 필터들을 추가로 비활성화 처리함으로써, 상기 특정 합성곱 계층에서 합성곱 연산에 적용될 합성곱 필터의 개수를 23개로 추가 조정할 수 있다.In this regard, as in the above example, when 25 convolution filters are currently active in the specific convolution layer and the number of additional reductions for the specific convolution layer is 2, the additional adjustment unit for the number of convolution filters ( 219) of the convolution filter to be applied to the convolution operation in the specific convolution layer by additionally inactivating two convolution filters in order of smallest norm among 25 convolution filters for the specific convolution layer. The number can be further adjusted to 23.
이렇게, 각 합성곱 계층에서 합성곱 필터의 개수가 추가로 감축됨에 따라, 컴퓨팅 장치(210)에서의 상기 합성곱 신경망 모델을 통한 연산 시간은 더 줄어들게 될 것이다.In this way, as the number of convolution filters in each convolution layer is further reduced, the computation time through the convolutional neural network model in the
이때, 본 발명의 일실시예에 따르면, 컴퓨팅 장치(210)는 최소 필요 연산 시간 확인부(220) 및 활성화 처리부(221)를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the
최소 필요 연산 시간 확인부(220)는 재측정 연산 시간 확인부(216)를 통해 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한 결과, 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인한다.The minimum necessary calculation
관련해서, 합성곱 필터 개수 조정부(214)를 통해 각 합성곱 계층에서의 합성곱 필터의 개수 조정이 완료된 후 새롭게 재측정한 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 1차적으로 컴퓨팅 장치(210)의 연산 시간을 줄이고자 하는 본 발명의 목표가 달성된 것으로 볼 수 있다.In this regard, when it is confirmed that the newly re-measured operation time is equal to or less than the target time after the adjustment of the number of convolution filters in each convolution layer is completed through the convolution filter
하지만, 상기 합성곱 신경망 모델을 통해서 산출되는 출력 값이 일정 수준 이상의 정확도를 가져야 함에도 불구하고, 합성곱 필터의 개수 조정이 다소 과도하게 수행되어 버리면, 컴퓨팅 장치(210)의 연산 시간은 줄어들게 되지만, 상기 합성곱 신경망 모델을 통해서 산출되는 출력 값의 정확도가 떨어지는 문제가 발생할 수 있다.However, even though the output value calculated through the convolutional neural network model must have a certain level of accuracy, if the number of convolutional filters is somewhat excessively adjusted, the computation time of the
이와 관련해서, 상기 합성곱 신경망 모델을 통해서 컴퓨팅 장치(210)가 어느 정도 수준 이상의 정확도를 갖는 출력 값을 산출하기 위해서는 최소한의 필요 연산 시간이 존재할 수 있다. 즉, 컴퓨팅 장치(210)의 성능을 고려하였을 때, 최소 '5분' 이상의 연산 시간이 사용되어서 출력 값이 산출되었을 경우에만, 상기 출력 값이 어느 정도 이상의 정확도를 갖는다고 신뢰할 수 있을 것이다.In this regard, a minimum necessary calculation time may exist in order for the
따라서, 본 발명에 따른 최소 필요 연산 시간 확인부(220)는 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 1차적으로 연산 시간 감축이라는 목표가 달성되었다고 볼 수 있더라도, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인하는 과정을 추가로 수행할 수 있다.Therefore, when the re-measured operation time is determined to be less than the target time, the minimum required operation
만약, 상기 재측정된 연산 시간이 상기 최소 필요 연산 시간을 초과하지 않는 것으로 확인되는 경우, 출력 정확도를 높이기 위해 상기 연산 시간이 좀 더 늘어나도 되는 상황이라고 볼 수 있으므로, 활성화 처리부(221)는 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 비활성화 처리가 되어 있는 합성곱 필터들 중 상기 노름이 큰 순으로 미리 설정된 활성화 비율만큼에 해당되는 개수의 합성곱 필터들을 다시 활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 재조정한다.If it is confirmed that the re-measured calculation time does not exceed the minimum necessary calculation time, it can be seen that the calculation time can be increased a little more to increase output accuracy, so the
예컨대, 상기 특정 합성곱 계층에 존재하는 합성곱 필터들의 개수가 30개이고, 합성곱 필터 개수 조정부(214)를 통해 25개의 합성곱 필터들만 활성화되어 있는 상태이며, 상기 미리 설정된 활성화 비율이 0.5라고 하는 경우, 활성화 처리부(221)는 상기 특정 합성곱 계층에 대해, 비활성화 처리되어 있는 5개의 합성곱 필터들 중 상기 활성화 비율만큼에 해당되는 합성곱 필터 2개(소수점 이하 버림)를 노름이 큰 순으로 선택한 후 선택된 합성곱 필터 2개를 다시 활성화 처리할 수 있다. 이러한 방식으로, 활성화 처리부(221)는 복수의 합성곱 필터들 각각에서 비활성화되어 있는 합성곱 필터들 중 노름이 큰 몇몇의 합성곱 필터를 다시 활성화함으로써, 상기 합성곱 신경망 모델을 통한 연산의 정확도를 높일 수 있다.For example, suppose that the number of convolution filters existing in the specific convolution layer is 30, only 25 convolution filters are activated through the convolution filter
본 발명의 일실시예에 따르면, 컴퓨팅 장치(110)는 각 합성곱 계층에 포함된 합성곱 필터의 개수 조정에 사용할 요소로 연산 시간뿐 아니라, 컴퓨팅 장치(110)에서 소모되는 에너지를 추가로 활용할 수 있다.According to one embodiment of the present invention, the computing device 110 additionally utilizes energy consumed by the computing device 110 as well as calculation time as an element to be used for adjusting the number of convolution filters included in each convolution layer. can
관련해서, 연산 시간 측정부(211)는 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 컴퓨팅 장치(210)가 소모한 에너지를 추가로 측정할 수 있다.In this regard, the
이때, 감축 비율 산출부(212)는 상기 연산 시간이 상기 목표 시간을 초과하는 경우, 상기 감축 비율을 산출함과 동시에 상기 측정된 에너지가 미리 설정된 기준치를 초과하는지 확인한 후 상기 측정된 에너지가 상기 기준치를 초과하는 것으로 확인되면, 상기 감축 비율에 대해 상기 감축 비율을 증가시키기 위한 미리 설정된 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시키는 보정을 수행할 수 있다.At this time, when the calculation time exceeds the target time, the reduction
이때, 상기 보정치는 '1'과 '2' 사이의 정수로 구성될 수 있다.In this case, the correction value may be composed of an integer between '1' and '2'.
즉, 상기 합성곱 신경망 모델을 통해서 출력 값이 산출될 때까지의 컴퓨팅 장치(210)가 소모한 에너지가 상기 기준치를 초과하는 경우, 연산량을 추가로 줄여야 할 필요성이 있는 상황이라고 볼 수 있기 때문에, 감축 비율 산출부(212)는 상기 연산 시간과 상기 목표 시간을 기초로 상기 감축 비율을 산출한 후 상기 감축 비율에 대해 상기 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시킬 수 있다.That is, when the energy consumed by the
도 3은 본 발명의 일실시예에 따른 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 상태에서, 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치의 동작 방법을 도시한 순서도이다.3 is a diagram for improving the efficiency of convolution operation by adjusting the number of convolutional filters included in the convolutional neural network model in a state where machine learning has been completed according to an embodiment of the present invention. It is a flowchart illustrating an operating method of a computing device for
단계(S310)에서는 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정한다.In step S310, an operation time from when an input value is applied to the convolutional neural network model until an output value is calculated is measured.
단계(S320)에서는 상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출한다.In step S320, when the calculation time exceeds the preset target time, the calculation time is compared with the target time, and the convolution filter included in each of the plurality of convolution layers constituting the convolutional neural network model is Calculate the reduction ratio for the number.
단계(S330)에서는 상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출한다.In step S330, the target reduction number of convolution filters to be reduced in each of the plurality of convolution layers is calculated by multiplying the reduction ratio by the number of convolution filters included in each of the plurality of convolution layers.
단계(S340)에서는 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정한다.In step S340, for each of the plurality of convolution layers, by inactivating as many convolution filters as the target reduction number in order of smallest norm among convolution filters included in each convolution layer, Adjust the number of convolution filters to be applied to the convolution operation in each of the convolution layers.
이때, 본 발명의 일실시예에 따르면, 상기 노름은 합성곱 필터에 대한 L1 노름 또는 L2 노름 중 어느 하나일 수 있다.In this case, according to an embodiment of the present invention, the norm may be either an L1 norm or an L2 norm for a convolutional filter.
또한, 본 발명의 일실시예에 따르면, 단계(S320)에서는 상기 수학식 1의 연산에 기초하여 상기 감축 비율을 산출할 수 있다.Further, according to an embodiment of the present invention, in step S320, the reduction ratio may be calculated based on the calculation of Equation 1 above.
또한, 본 발명의 일실시예에 따르면, 상기 컴퓨팅 장치의 동작 방법은 상기 합성곱 필터의 개수를 조정하는 단계를 통해 상기 복수의 합성곱 계층들 각각에서의 합성곱 필터의 개수 조정이 완료되면, 상기 합성곱 신경망 모델에 대한 상기 연산 시간을 재측정하는 단계, 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인하는 단계, 상기 재측정된 연산 시간이 상기 목표 시간 이하가 아닌 것으로 확인되는 경우, 상기 재측정된 연산 시간과 상기 목표 시간을 비교하여 상기 감축 비율을 재산출하는 단계, 상기 복수의 합성곱 계층들 각각에서 활성화가 되어 있는 합성곱 필터들의 개수에 상기 재산출된 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 추가로 감축시킬 합성곱 필터의 추가 감축 개수를 산출하는 단계 및 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 활성화가 되어 있는 합성곱 필터들 중 상기 노름이 작은 순으로 상기 추가 감축 개수만큼의 합성곱 필터들을 추가로 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 추가 조정하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, in the operating method of the computing device, when the adjustment of the number of convolution filters in each of the plurality of convolution layers is completed through the step of adjusting the number of convolution filters, Re-measuring the calculation time for the convolutional neural network model, checking whether the re-measured calculation time is equal to or less than the target time, and confirming that the re-measured calculation time is not equal to or less than the target time. In this case, recalculating the reduction ratio by comparing the remeasured operation time with the target time, the recalculated reduction ratio being the number of convolution filters activated in each of the plurality of convolution layers. Calculating the number of additional reductions of convolution filters to be additionally reduced in each of the plurality of convolution layers by multiplying them respectively, and for each of the plurality of convolution layers, a convolution filter that is activated in each convolution layer additionally adjusting the number of convolution filters to be applied to the convolution operation in each of the plurality of convolution layers by additionally inactivating as many convolution filters as the number of additional reductions in descending order of the norm among them. can include more.
이때, 본 발명의 일실시예에 따르면, 상기 컴퓨팅 장치의 동작 방법은 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인하는 단계를 통해 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한 결과, 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인하는 단계 및 상기 재측정된 연산 시간이 상기 최소 필요 연산 시간을 초과하지 않는 것으로 확인되는 경우, 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 비활성화 처리가 되어 있는 합성곱 필터들 중 상기 노름이 큰 순으로 미리 설정된 활성화 비율만큼에 해당되는 개수의 합성곱 필터들을 다시 활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 재조정하는 단계를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the operating method of the computing device includes determining whether the re-measured operation time is equal to or less than the target time through the step of determining whether the re-measured operation time is equal to or less than the target time. As a result of checking, if it is confirmed that the re-measured operation time is less than the target time, it is checked whether the re-measured operation time exceeds a preset minimum necessary operation time to ensure output accuracy of the convolutional neural network model. and when it is confirmed that the re-measured operation time does not exceed the minimum required operation time, among the convolution filters that are inactivated in each convolution layer for each of the plurality of convolution layers. Readjusting the number of convolution filters to be applied to the convolution operation in each of the plurality of convolution layers by re-activating the number of convolution filters corresponding to a preset activation ratio in order of increasing norms. can include more.
또한, 본 발명의 일실시예에 따르면, 단계(S310)에서는 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 상기 컴퓨팅 장치가 소모한 에너지를 추가로 측정하고, 단계(S320)에서는 상기 연산 시간이 상기 목표 시간을 초과하는 경우, 상기 감축 비율을 산출함과 동시에 상기 측정된 에너지가 미리 설정된 기준치를 초과하는지 확인한 후 상기 측정된 에너지가 상기 기준치를 초과하는 것으로 확인되면, 상기 감축 비율에 대해 상기 감축 비율을 증가시키기 위한 미리 설정된 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시키는 보정을 수행할 수 있다.In addition, according to one embodiment of the present invention, in step S310, the energy consumed by the computing device from the time when the input value is applied to the convolutional neural network model until the output value is calculated is additionally measured, In step S320, when the calculation time exceeds the target time, the reduction ratio is calculated and at the same time it is checked whether the measured energy exceeds a preset reference value, and then it is confirmed that the measured energy exceeds the reference value. , correction for increasing the magnitude of the reduction ratio may be performed by multiplying the reduction ratio by a preset correction value for increasing the reduction ratio.
이상, 도 3을 참조하여 본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법은 도 2를 이용하여 설명한 컴퓨팅 장치(210)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, the operating method of the computing device according to an embodiment of the present invention has been described with reference to FIG. 3 . Here, since the operating method of the computing device according to an embodiment of the present invention may correspond to the configuration of the operation of the
본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A method of operating a computing device according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution through a combination with a computer.
또한, 본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the operating method of a computing device according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the medium may be those specially designed and configured for the present invention or those known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by specific details such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , Those skilled in the art in the field to which the present invention belongs can make various modifications and variations from these descriptions.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and it will be said that not only the claims to be described later, but also all modifications equivalent or equivalent to these claims belong to the scope of the present invention. .
210: 컴퓨팅 장치
211: 연산 시간 측정부 212: 감축 비율 산출부
213: 목표 감축 개수 산출부 214: 합성곱 필터 개수 조정부
215: 연산 시간 재측정부 216: 재측정 연산 시간 확인부
217: 감축 비율 재산출부 218: 추가 감축 개수 산출부
219: 합성곱 필터 개수 추가 조정부 220: 최소 필요 연산 시간 확인부
221: 활성화 처리부210: computing device
211: calculation time measurement unit 212: reduction ratio calculation unit
213: target reduction number calculation unit 214: convolution filter number adjustment unit
215: calculation time remeasurement unit 216: remeasurement calculation time confirmation unit
217: re-distribution of reduction ratio 218: additional reduction number calculation unit
219: additional adjustment unit for the number of convolution filters 220: minimum required calculation time confirmation unit
221: activation processing unit
Claims (14)
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정하는 연산 시간 측정부;
상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출하는 감축 비율 산출부;
상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출하는 목표 감축 개수 산출부;
상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름(norm)이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정하는 합성곱 필터 개수 조정부;
상기 합성곱 필터 개수 조정부를 통해 상기 복수의 합성곱 계층들 각각에서의 합성곱 필터의 개수 조정이 완료되면, 상기 합성곱 신경망 모델에 대한 상기 연산 시간을 재측정하는 연산 시간 재측정부;
상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인하는 재측정 연산 시간 확인부;
상기 재측정된 연산 시간이 상기 목표 시간 이하가 아닌 것으로 확인되는 경우, 상기 재측정된 연산 시간과 상기 목표 시간을 비교하여 상기 감축 비율을 재산출하는 감축 비율 재산출부;
상기 복수의 합성곱 계층들 각각에서 활성화가 되어 있는 합성곱 필터들의 개수에 상기 재산출된 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 추가로 감축시킬 합성곱 필터의 추가 감축 개수를 산출하는 추가 감축 개수 산출부; 및
상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 활성화가 되어 있는 합성곱 필터들 중 상기 노름이 작은 순으로 상기 추가 감축 개수만큼의 합성곱 필터들을 추가로 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 추가 조정하는 합성곱 필터 개수 추가 조정부
를 포함하는 컴퓨팅 장치.In a computing device for improving the efficiency of convolution operation by adjusting the number of convolutional filters included in the convolutional neural network model in a state where machine learning is completed, the convolutional neural network model is built,
an operation time measuring unit measuring an operation time from when an input value is applied to the convolutional neural network model until an output value is calculated;
When the calculation time exceeds a preset target time, the calculation time is compared with the target time, and the reduction ratio for the number of convolution filters included in each of the plurality of convolution layers constituting the convolutional neural network model a reduction ratio calculating unit that calculates;
a target reduction number calculation unit configured to calculate a target reduction number of convolution filters to be reduced in each of the plurality of convolution layers by multiplying the reduction ratio by the number of convolution filters included in each of the plurality of convolution layers;
For each of the plurality of convolution layers, by inactivating convolution filters as many as the target reduction number in order of smallest norm among convolution filters included in each convolution layer, a convolution filter number adjuster adjusting the number of convolution filters to be applied to a convolution operation in each of the layers;
an operation time re-measurement unit for re-measuring the operation time for the convolutional neural network model when the adjustment of the number of convolution filters in each of the plurality of convolution layers is completed through the convolution filter number adjustment unit;
a re-measurement operation time checking unit that checks whether the re-measured operation time is equal to or less than the target time;
a reduction ratio recalculation unit that compares the remeasured computation time with the target time and recalculates the reduction ratio when it is determined that the re-measured computation time is not equal to or less than the target time;
The number of additional reductions of convolution filters to be further reduced in each of the plurality of convolution layers is calculated by multiplying the recalculated reduction ratio by the number of convolution filters activated in each of the plurality of convolution layers. an additional reduction number calculation unit; and
For each of the plurality of convolution layers, by additionally inactivating convolution filters as many as the number of additional reductions in order of decreasing norm among convolution filters activated in each convolution layer, An additional adjustment unit for the number of convolution filters that additionally adjusts the number of convolution filters to be applied to the convolution operation in each of the convolution layers.
Computing device comprising a.
상기 노름은 합성곱 필터에 대한 L1 노름 또는 L2 노름 중 어느 하나인 컴퓨팅 장치.According to claim 1,
The computing device of claim 1 , wherein the norm is either an L1 norm or an L2 norm for a convolutional filter.
상기 감축 비율 산출부는
하기의 수학식 1의 연산에 기초하여 상기 감축 비율을 산출하는 컴퓨팅 장치.
[수학식 1]
여기서, R은 상기 감축 비율로서, TG는 상기 목표 시간, TE는 상기 연산 시간을 의미함.According to claim 1,
The reduction ratio calculator
A computing device for calculating the reduction ratio based on the calculation of Equation 1 below.
[Equation 1]
Here, R is the reduction ratio, T G is the target time, and T E is the calculation time.
상기 재측정 연산 시간 확인부를 통해 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한 결과, 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인하는 최소 필요 연산 시간 확인부; 및
상기 재측정된 연산 시간이 상기 최소 필요 연산 시간을 초과하지 않는 것으로 확인되는 경우, 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 비활성화 처리가 되어 있는 합성곱 필터들 중 상기 노름이 큰 순으로 미리 설정된 활성화 비율만큼에 해당되는 개수의 합성곱 필터들을 다시 활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 재조정하는 활성화 처리부
를 더 포함하는 컴퓨팅 장치.According to claim 1,
As a result of checking whether the remeasured operation time is equal to or less than the target time through the remeasured operation time checking unit, when it is confirmed that the remeasured operation time is equal to or less than the target time, the remeasured operation time is equal to or less than the target time. a minimum required calculation time checking unit that checks whether a preset minimum required calculation time is exceeded to ensure output accuracy of the multiplicative neural network model; and
When it is confirmed that the re-measured operation time does not exceed the minimum required operation time, the norm among the convolution filters deactivated in each convolution layer for each of the plurality of convolution layers is An activation processing unit that readjusts the number of convolution filters to be applied to the convolution operation in each of the plurality of convolution layers by re-activating the number of convolution filters corresponding to a preset activation ratio in the order of greatest magnitude.
Computing device further comprising a.
상기 연산 시간 측정부는
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 상기 컴퓨팅 장치가 소모한 에너지를 추가로 측정하고,
상기 감축 비율 산출부는
상기 연산 시간이 상기 목표 시간을 초과하는 경우, 상기 감축 비율을 산출함과 동시에 상기 측정된 에너지가 미리 설정된 기준치를 초과하는지 확인한 후 상기 측정된 에너지가 상기 기준치를 초과하는 것으로 확인되면, 상기 감축 비율에 대해 상기 감축 비율을 증가시키기 위한 미리 설정된 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시키는 보정을 수행하는 컴퓨팅 장치.According to claim 1,
The operation time measuring unit
Further measuring the energy consumed by the computing device from the time when an input value is applied to the convolutional neural network model until an output value is calculated,
The reduction ratio calculator
When the calculation time exceeds the target time, the reduction ratio is calculated and at the same time it is checked whether the measured energy exceeds a preset reference value, and when it is confirmed that the measured energy exceeds the reference value, the reduction ratio A computing device that performs a correction for increasing the size of the reduction ratio by multiplying the correction value set in advance for increasing the reduction ratio for .
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정하는 단계;
상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출하는 단계;
상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출하는 단계;
상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름(norm)이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정하는 단계;
상기 합성곱 필터의 개수를 조정하는 단계를 통해 상기 복수의 합성곱 계층들 각각에서의 합성곱 필터의 개수 조정이 완료되면, 상기 합성곱 신경망 모델에 대한 상기 연산 시간을 재측정하는 단계;
상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인하는 단계;
상기 재측정된 연산 시간이 상기 목표 시간 이하가 아닌 것으로 확인되는 경우, 상기 재측정된 연산 시간과 상기 목표 시간을 비교하여 상기 감축 비율을 재산출하는 단계;
상기 복수의 합성곱 계층들 각각에서 활성화가 되어 있는 합성곱 필터들의 개수에 상기 재산출된 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 추가로 감축시킬 합성곱 필터의 추가 감축 개수를 산출하는 단계; 및
상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 활성화가 되어 있는 합성곱 필터들 중 상기 노름이 작은 순으로 상기 추가 감축 개수만큼의 합성곱 필터들을 추가로 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 추가 조정하는 단계
를 포함하는 컴퓨팅 장치의 동작 방법.A method of operating a computing device for improving the efficiency of convolution operation by adjusting the number of convolutional filters included in the convolutional neural network model in a state in which the machine learning completed convolutional neural network model is built. in
measuring an operation time from when an input value is applied to the convolutional neural network model until an output value is calculated;
When the calculation time exceeds a preset target time, the calculation time is compared with the target time, and the reduction ratio for the number of convolution filters included in each of the plurality of convolution layers constituting the convolutional neural network model Calculating;
calculating a target reduction number of convolution filters to be reduced in each of the plurality of convolution layers by multiplying the reduction ratio by the number of convolution filters included in each of the plurality of convolution layers;
For each of the plurality of convolution layers, by inactivating convolution filters as many as the target reduction number in order of smallest norm among convolution filters included in each convolution layer, adjusting the number of convolution filters to be applied to the convolution operation in each of the layers;
re-measuring the calculation time for the convolutional neural network model when the adjustment of the number of convolutional filters in each of the plurality of convolutional layers is completed through the step of adjusting the number of convolutional filters;
checking whether the re-measured operation time is equal to or less than the target time;
re-calculating the reduction ratio by comparing the re-measured operation time with the target time when it is confirmed that the re-measured operation time is not equal to or less than the target time;
The number of additional reductions of convolution filters to be further reduced in each of the plurality of convolution layers is calculated by multiplying the recalculated reduction ratio by the number of convolution filters activated in each of the plurality of convolution layers. doing; and
For each of the plurality of convolution layers, by additionally deactivating as many convolution filters as the number of additional reductions in order of decreasing norms among convolution filters activated in each convolution layer, Further adjusting the number of convolution filters to be applied to the convolution operation in each of the convolution layers.
A method of operating a computing device comprising a.
상기 노름은 합성곱 필터에 대한 L1 노름 또는 L2 노름 중 어느 하나인 컴퓨팅 장치의 동작 방법.According to claim 7,
The norm is either an L1 norm or an L2 norm for a convolution filter.
상기 감축 비율을 산출하는 단계는
하기의 수학식 1의 연산에 기초하여 상기 감축 비율을 산출하는 컴퓨팅 장치의 동작 방법.
[수학식 1]
여기서, R은 상기 감축 비율로서, TG는 상기 목표 시간, TE는 상기 연산 시간을 의미함.According to claim 7,
The step of calculating the reduction ratio is
A method of operating a computing device for calculating the reduction ratio based on the calculation of Equation 1 below.
[Equation 1]
Here, R is the reduction ratio, T G is the target time, and T E is the calculation time.
상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인하는 단계를 통해 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한 결과, 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인하는 단계; 및
상기 재측정된 연산 시간이 상기 최소 필요 연산 시간을 초과하지 않는 것으로 확인되는 경우, 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 비활성화 처리가 되어 있는 합성곱 필터들 중 상기 노름이 큰 순으로 미리 설정된 활성화 비율만큼에 해당되는 개수의 합성곱 필터들을 다시 활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 재조정하는 단계
를 더 포함하는 컴퓨팅 장치의 동작 방법.According to claim 7,
As a result of checking whether the remeasured operation time is less than or equal to the target time through the step of checking whether or not the remeasured operation time is less than or equal to the target time, it is confirmed that the remeasured operation time is less than or equal to the target time. , checking whether the re-measured operation time exceeds a preset minimum necessary operation time to guarantee output accuracy of the convolutional neural network model; and
When it is confirmed that the re-measured operation time does not exceed the minimum required operation time, the norm among the convolution filters deactivated in each convolution layer for each of the plurality of convolution layers is Re-adjusting the number of convolution filters to be applied to the convolution operation in each of the plurality of convolution layers by re-activating the number of convolution filters corresponding to a preset activation ratio in the order of greatest magnitude.
Method of operating a computing device further comprising a.
상기 연산 시간을 측정하는 단계는
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 상기 컴퓨팅 장치가 소모한 에너지를 추가로 측정하고,
상기 감축 비율을 산출하는 단계는
상기 연산 시간이 상기 목표 시간을 초과하는 경우, 상기 감축 비율을 산출함과 동시에 상기 측정된 에너지가 미리 설정된 기준치를 초과하는지 확인한 후 상기 측정된 에너지가 상기 기준치를 초과하는 것으로 확인되면, 상기 감축 비율에 대해 상기 감축 비율을 증가시키기 위한 미리 설정된 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시키는 보정을 수행하는 컴퓨팅 장치의 동작 방법.According to claim 7,
The step of measuring the operation time is
Further measuring the energy consumed by the computing device from the time when an input value is applied to the convolutional neural network model until an output value is calculated,
The step of calculating the reduction ratio is
When the calculation time exceeds the target time, the reduction ratio is calculated and at the same time it is checked whether the measured energy exceeds a preset reference value, and when it is confirmed that the measured energy exceeds the reference value, the reduction ratio A method of operating a computing device that performs a correction for increasing the magnitude of the reduction ratio by multiplying a preset correction value for increasing the reduction ratio for .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200046465A KR102472397B1 (en) | 2020-04-17 | 2020-04-17 | Computing device to improve the efficiency of convolution operation by adjusting the number of convolution filters included in the convolutional neural networks model and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200046465A KR102472397B1 (en) | 2020-04-17 | 2020-04-17 | Computing device to improve the efficiency of convolution operation by adjusting the number of convolution filters included in the convolutional neural networks model and operating method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210128616A KR20210128616A (en) | 2021-10-27 |
KR102472397B1 true KR102472397B1 (en) | 2022-11-29 |
Family
ID=78287154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200046465A KR102472397B1 (en) | 2020-04-17 | 2020-04-17 | Computing device to improve the efficiency of convolution operation by adjusting the number of convolution filters included in the convolutional neural networks model and operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102472397B1 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190041819A (en) * | 2017-10-13 | 2019-04-23 | 아주대학교산학협력단 | Apparatus and method for convolution operation of convolution neural network |
US10423861B2 (en) * | 2017-10-16 | 2019-09-24 | Illumina, Inc. | Deep learning-based techniques for training deep convolutional neural networks |
KR102098713B1 (en) * | 2018-01-29 | 2020-04-08 | 주식회사 유엑스팩토리 | Heterogenous Processor Architecture to Integrate CNN and RNN Neural Networks on a Single Chip |
KR102142403B1 (en) * | 2018-06-08 | 2020-08-07 | 광운대학교 산학협력단 | A System of Searching the Channel Expansion Parameter for the Speed-up of Inverted Residual Block and the method thereof for low specification embedded system and the method thereof |
KR102149355B1 (en) * | 2018-08-21 | 2020-08-31 | 재단법인 아산사회복지재단 | Learning system to reduce computation volume |
-
2020
- 2020-04-17 KR KR1020200046465A patent/KR102472397B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20210128616A (en) | 2021-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109635817B (en) | Method and apparatus for generating feature maps by using feature up-sampling network | |
US20240127043A1 (en) | Image processing system and medical information processing system | |
KR102229328B1 (en) | Learning method and learning device for adjusting parameters of cnn by using augmented loss and testing method and testing device using the same | |
CN110555450B (en) | Face recognition neural network adjusting method and device | |
KR102631381B1 (en) | Convolutional neural network processing method and apparatus | |
CN108154145B (en) | Method and device for detecting position of text in natural scene image | |
US9984325B1 (en) | Learning method and learning device for improving performance of CNN by using feature upsampling networks, and testing method and testing device using the same | |
US20190164043A1 (en) | Low-power hardware acceleration method and system for convolution neural network computation | |
US20200110991A1 (en) | Method for adjusting output level of multilayer neural network neuron | |
US8346013B2 (en) | Image processing apparatus, image processing method, and program | |
WO2018216207A1 (en) | Image processing device, image processing method, and image processing program | |
US20200210843A1 (en) | Training and application method of a multi-layer neural network model, apparatus and storage medium | |
US20200372325A1 (en) | Neural network reduction device, neural network reduction method, and storage medium | |
US20200389182A1 (en) | Data conversion method and apparatus | |
US20150113027A1 (en) | Method for determining a logarithmic functional unit | |
US20230214971A1 (en) | Image processing device and operating method therefor | |
JP7298713B2 (en) | Parameter optimization device, parameter optimization method, and parameter optimization program | |
KR102472397B1 (en) | Computing device to improve the efficiency of convolution operation by adjusting the number of convolution filters included in the convolutional neural networks model and operating method thereof | |
US20220012856A1 (en) | Processing apparatus | |
KR20220090212A (en) | Electronic device that can rectangularize an inclined license plate image through machine learning-based vertex extraction and the operating method thereof | |
JP2023527228A (en) | Information processing device, information processing method and program | |
WO2022196060A1 (en) | Information processing device, information processing method, and non-transitory computer-readable medium | |
KR102589350B1 (en) | Electronic apparatus that supports to check the types of security vulnerabilities in the source code through the creation of an artificial intelligence-based discrimination model that distinguishes the types of source code security vulnerabilities, and operating method thereof | |
KR102026139B1 (en) | Electronic device for performing machine learning based object identification through region segmentation and merging of feature maps and operating method thereof | |
CN114444667A (en) | Method and device for training neural network and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |