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 PDF

Info

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
Application number
KR1020200046465A
Other languages
Korean (ko)
Other versions
KR20210128616A (en
Inventor
강우철
Original Assignee
인천대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인천대학교 산학협력단 filed Critical 인천대학교 산학협력단
Priority to KR1020200046465A priority Critical patent/KR102472397B1/en
Publication of KR20210128616A publication Critical patent/KR20210128616A/en
Application granted granted Critical
Publication of KR102472397B1 publication Critical patent/KR102472397B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional 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

합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법{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}Computing device and its operation method for improving the efficiency of convolution operation by adjusting the number of convolution filters included in the convolutional neural network model CONVOLUTIONAL NEURAL NETWORKS MODEL AND OPERATING METHOD THEREOF}

본 발명은 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법에 대한 것이다.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 feature maps 111, 112, and 113 having three channels, as indicated by reference numerals 111, 112, and 113.

이때, 이번 순번의 합성곱 계층에 존재하는 합성곱 필터들(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 n convolution filters 10, 20, and 30, output feature maps 121, 122, and 123 having n channels can be generated. (For convenience of description, pooling) and other additional steps are omitted.)

즉, 각 합성곱 계층에서는 합성곱 필터의 개수에 대응되는 채널을 갖는 피처맵이 생성되게 된다.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 convolution filters 10, 20, and 30 is configured such that a convolution matrix having a size of d x d exists as many as the number of channels of the input feature maps 111, 112, and 113. In this example, since the feature maps 111, 112, and 113 are composed of three channels, the convolutional filters 10, 20, and 30 are configured such that three convolutional matrices each having a size of d x d exist.

이로 인해, 피처맵(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 feature maps 111, 112, and 113 pass through the convolution filter 1 (10), the feature map 1 (111) and the d x d convolution matrix 1 (11) are convolutionally multiplied, and the first operation matrix is calculated, the convolution matrix 2 (12) of feature map 2 (112) and d x d is subjected to a convolution operation to calculate a second operation matrix, and the convolution matrix 3 (13) of feature map 3 (113) and d x d is calculated. After the convolution operation is performed to calculate the third calculation matrix, the first calculation matrix, the second calculation matrix, and the third calculation matrix are summed together, so that the output feature map 1 121 is calculated.

또한, 피처맵(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 feature maps 111, 112, and 113 pass through the convolution filter 2 (20), the feature map 1 (111) and the d x d convolution matrix 1 (21) are subjected to a convolution operation to obtain a first operation matrix. and feature map 2 (112) and d x d convolution matrix 2 (22) are convolutionally operated to produce a second operation matrix, and feature map 3 (113) and d x d convolution matrix 3 (23) are synthesized. After the multiplication operation is performed to calculate the third calculation matrix, the first calculation matrix, the second calculation matrix, and the third calculation matrix are summed together, so that the output feature map 2 122 is calculated.

이러한 방식으로, 피처맵(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 feature maps 111, 112, and 113 pass through the convolution filter n (30), the feature map 1 (111) and the d x d convolution matrix 1 (31) are convolutionally multiplied and the first operation is performed. A matrix is calculated, and a convolution matrix 2 (32) of feature map 2 (112) and d x d is subjected to a convolution operation to calculate a second operation matrix, and a convolution matrix 3 (33) of feature map 3 (113) and d x d is calculated. After the third operation matrix is calculated through the convolution operation, the first operation matrix, the second operation matrix, and the third operation matrix are summed together, so that an output feature map n 123 is calculated.

결국, 합성곱 계층에 존재하는 합성곱 필터들(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 convolution filters 10, 20, and 30 existing in the convolution layer, a convolution matrix having a size of d x d passes through the previous convolution layer, and the channel of the feature maps 111, 112, and 113 generated Since there are as many as the number, when the number of channels of the input feature maps 111, 112, and 113 is k, each convolution filter 10, 20, and 30 can be regarded as a matrix having a three-dimensional structure of d x d x k.

앞서 설명한 바와 같이, 합성곱 신경망에서는 각 합성곱 계층에서의 합성곱 연산에 소요되는 시간이 출력 산출에 소요되는 전체 연산 시간의 대부분을 차지하기 때문에, 합성곱 신경망이 구축된 컴퓨팅 장치의 성능이 나쁜 경우에는 출력이 산출될 때까지 많은 시간이 소요될 수 있다.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 computing device 210 according to the present invention is in a state in which a machine learning completed convolutional neural network model is built. At this time, the computing device 210 according to the present invention is a device capable of improving the efficiency of convolution operation by adjusting the number of convolution filters included in the convolution neural network model, and includes an operation time measurement unit 211, reduction It includes a ratio calculation unit 212, a target reduction number calculation unit 213, and a convolution filter number adjustment unit 214.

연산 시간 측정부(211)는 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정한다.The calculation time measuring unit 211 measures the calculation time from the time when the input value is applied to the convolutional neural network model until the output value is calculated.

감축 비율 산출부(212)는 상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출한다.When the calculation time exceeds a preset target time, the reduction ratio calculation unit 212 compares the calculation time with the target time and synthesizes each of the plurality of convolutional layers constituting the convolutional neural network model. Calculate the reduction ratio for the number of product filters.

이때, 본 발명의 일실시예에 따르면, 감축 비율 산출부(212)는 하기의 수학식 1의 연산에 기초하여 상기 감축 비율을 산출할 수 있다.At this time, according to an embodiment of the present invention, the reduction ratio calculator 212 may calculate the reduction ratio based on the calculation of Equation 1 below.

Figure 112020039580573-pat00001
Figure 112020039580573-pat00001

여기서, 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 ratio calculation unit 212 sets the reduction ratio to '0.15' according to the calculation of Equation 1 above. can be calculated

목표 감축 개수 산출부(213)는 상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출한다. 이때, 본 발명의 일실시예에 따르면, 목표 감축 개수 산출부(213)는 상기 감축 비율을 곱하여 산출된 연산 값에서 소수점 이하 자리를 버림함으로써, 각 합성곱 계층에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출할 수 있다.The target reduction number calculation unit 213 multiplies the reduction ratio by the number of convolution filters included in each of the plurality of convolution layers, respectively, and the target reduction number of convolution filters to be reduced in each of the plurality of convolution layers. yields At this time, according to an embodiment of the present invention, the target reduction number calculation unit 213 multiplies the reduction ratio and discards decimal places in the calculated value, thereby reducing the target reduction of the convolution filter to be reduced in each convolution layer. number can be calculated.

예컨대, 상기 복수의 합성곱 계층들로 '합성곱 계층 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 'convolution layer 2' and 20 convolution filters in 'convolution layer 3'. At this time, when it is assumed that the reduction ratio is calculated as '0.15', the target reduction number calculation unit 213 may calculate the target reduction number of '1' for 'convolution layer 1', and 'convolution A target reduction number of '2' can be calculated for layer 2, and a target reduction number of '3' can be calculated for 'convolution layer 3'.

합성곱 필터 개수 조정부(214)는 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름(norm)이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정한다.For each of the plurality of convolution layers, the convolution filter number adjuster 214 selects as many convolution filters as the target reduction number in order of smallest norm among convolution filters included in each convolution layer. By deactivating, the number of convolution filters to be applied to the convolution operation in each of the plurality of convolution layers is adjusted.

이때, 본 발명의 일실시예에 따르면, 상기 노름은 합성곱 필터에 대한 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.

Figure 112020039580573-pat00002
Figure 112020039580573-pat00002

여기서, 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.

Figure 112020039580573-pat00003
Figure 112020039580573-pat00003

즉, 합성곱 필터 개수 조정부(214)는 상기 복수의 합성곱 계층들 각각에 대해서, 각 합성곱 계층에 포함된 합성곱 필터들의 노름을 연산한 후 노름이 작은 순서로 상기 목표 감축 개수만큼의 합성곱 필터를 비활성화 처리할 수 있다. 예컨대, 특정 합성곱 계층에 존재하는 합성곱 필터의 개수가 30개라고 하고, 상기 특정 합성곱 계층에 대한 상기 목표 감축 개수가 5개라고 하는 경우, 합성곱 필터 개수 조정부(214)는 상기 특정 합성곱 계층에 존재하는 30개의 합성곱 필터들 중 노름이 작은 순서로 5개의 합성곱 필터들을 비활성화 처리함으로써, 상기 특정 합성곱 계층에서 합성곱 연산에 적용될 합성곱 필터의 개수를 25개로 조정할 수 있다. 즉, 5개의 합성곱 필터들은 입력 데이터가 상기 특정 합성곱 계층을 통과할 때 합성곱 연산에서 배제된다.That is, for each of the plurality of convolution layers, the convolution filter number adjuster 214 calculates the norms of the convolution filters included in each convolution layer, and then synthesizes as many as the target reduction numbers in descending order of norms. The product filter can be disabled. For example, when the number of convolution filters existing in a specific convolution layer is 30 and the target reduction number for the specific convolution layer is 5, the convolution filter number adjustment unit 214 performs the specific synthesis The number of convolution filters to be applied to the convolution operation in the specific convolution layer can be adjusted to 25 by inactivating 5 convolution filters in descending order of norm among 30 convolution filters existing in the product layer. That is, the five convolution filters are excluded from the convolution operation when input data passes through the specific convolution layer.

합성곱 필터의 노름이 작다는 의미는 합성곱 필터를 구성하는 행렬의 성분의 크기가 작다는 의미라고 볼 수 있기 때문에, 합성곱 연산 과정에서 데이터에 기여하는 정도가 다른 합성곱 필터에 비해서 낮은 것으로 볼 수 있다. 따라서, 합성곱 필터 개수 조정부(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 number adjusting unit 214, the output value calculated through the convolutional neural network model may not be greatly affected.

이에, 본 발명에 따른 컴퓨팅 장치(210)는 각 합성곱 계층에서 노름이 작은 합성곱 필터들을 비활성화 처리하여 합성곱 연산에 적용되는 합성곱 필터의 개수를 줄임으로써, 상기 합성곱 신경망 모델을 통해서 출력 값이 산출될 때까지의 전체 연산 시간을 줄일 수 있다.Accordingly, the computing device 210 according to the present invention reduces the number of convolution filters applied to the convolution operation by inactivating convolution filters having small norms in each convolution layer, thereby outputting the convolutional neural network model through the convolutional neural network model. The total calculation time until the value is calculated can be reduced.

본 발명의 일실시예에 따르면, 컴퓨팅 장치(210)는 연산 시간 재측정부(215), 재측정 연산 시간 확인부(216), 감축 비율 재산출부(217), 추가 감축 개수 산출부(218) 및 합성곱 필터 개수 추가 조정부(219)를 더 포함할 수 있다.According to an embodiment of the present invention, the computing device 210 includes an operation time re-measurement unit 215, a re-measurement operation time confirmation unit 216, a reduction ratio recalculation unit 217, and an additional reduction number calculation unit 218. ) and a convolution filter number addition adjusting unit 219 may be further included.

연산 시간 재측정부(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 number adjustment unit 214, the calculation time re-measuring unit 215 reduces the calculation time for the convolutional neural network model. re-measure

재측정 연산 시간 확인부(216)는 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한다.The remeasured operation time confirmation unit 216 checks whether the remeasured operation time is equal to or less than the target time.

감축 비율 재산출부(217)는 상기 재측정된 연산 시간이 상기 목표 시간 이하가 아닌 것으로 확인되는 경우, 상기 재측정된 연산 시간과 상기 목표 시간을 비교하여 상기 감축 비율을 재산출한다.The reduction ratio recalculation unit 217 recalculates 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.

이때, 감축 비율 재산출부(217)는 상기 수학식 1의 연산에 따라 상기 감축 비율을 재산출할 수 있다.At this time, the reduction ratio recalculation unit 217 may recalculate the reduction ratio according to the calculation of Equation 1 above.

추가 감축 개수 산출부(218)는 상기 복수의 합성곱 계층들 각각에서 활성화가 되어 있는 합성곱 필터들의 개수에 상기 재산출된 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 추가로 감축시킬 합성곱 필터의 추가 감축 개수를 산출한다.The additional reduction number calculation unit 218 multiplies the recalculated reduction ratio by the number of convolution filters activated in each of the plurality of convolution layers to further reduce in each of the plurality of convolution layers. Calculate the number of additional reductions of the convolutional filter.

예컨대, 특정 합성곱 계층에 존재하는 합성곱 필터의 개수가 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 number adjustment unit 214, it is assumed that only 25 convolution filters are currently active. And, when the recalculated reduction ratio is 10%, the additional reduction number calculating unit 218 is a convolution filter to be additionally reduced among 25 currently activated convolution filters for the specific convolution layer. '2' can be calculated as the number of additional reductions in

합성곱 필터 개수 추가 조정부(219)는 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 활성화가 되어 있는 합성곱 필터들 중 상기 노름이 작은 순으로 상기 추가 감축 개수만큼의 합성곱 필터들을 추가로 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 추가 조정한다.The convolution filter number addition adjusting unit 219 includes, for each of the plurality of convolution layers, as many convolution filters as the number of additional reductions in order of decreasing norm among convolution filters activated in each convolution layer. By further inactivating , the number of convolution filters to be applied to the convolution operation in each of the plurality of convolution layers is further adjusted.

관련해서, 전술한 예와 같이, 상기 특정 합성곱 계층에서 현재 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 computing device 210 will be further reduced.

이때, 본 발명의 일실시예에 따르면, 컴퓨팅 장치(210)는 최소 필요 연산 시간 확인부(220) 및 활성화 처리부(221)를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the computing device 210 may further include a minimum required operation time checking unit 220 and an activation processing unit 221 .

최소 필요 연산 시간 확인부(220)는 재측정 연산 시간 확인부(216)를 통해 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한 결과, 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인한다.The minimum necessary calculation time checking unit 220 checks whether the remeasured calculation time is equal to or less than the target time through the remeasured calculation time confirmation unit 216, and determines that the remeasured calculation time is equal to or less than the target time. If confirmed, it is checked whether the re-measured operation time exceeds a preset minimum necessary operation time to guarantee output accuracy of the convolutional neural network model.

관련해서, 합성곱 필터 개수 조정부(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 number adjustment unit 214, the first computing device ( It can be seen that the object of the present invention to reduce the computation time of 210) has been achieved.

하지만, 상기 합성곱 신경망 모델을 통해서 산출되는 출력 값이 일정 수준 이상의 정확도를 가져야 함에도 불구하고, 합성곱 필터의 개수 조정이 다소 과도하게 수행되어 버리면, 컴퓨팅 장치(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 computing device 210 is reduced. A problem in which the accuracy of the output value calculated through the convolutional neural network model is low may occur.

이와 관련해서, 상기 합성곱 신경망 모델을 통해서 컴퓨팅 장치(210)가 어느 정도 수준 이상의 정확도를 갖는 출력 값을 산출하기 위해서는 최소한의 필요 연산 시간이 존재할 수 있다. 즉, 컴퓨팅 장치(210)의 성능을 고려하였을 때, 최소 '5분' 이상의 연산 시간이 사용되어서 출력 값이 산출되었을 경우에만, 상기 출력 값이 어느 정도 이상의 정확도를 갖는다고 신뢰할 수 있을 것이다.In this regard, a minimum necessary calculation time may exist in order for the computing device 210 to calculate an output value having a certain level of accuracy or higher through the convolutional neural network model. That is, considering the performance of the computing device 210, it is possible to trust that the output value has a certain degree of accuracy only when the output value is calculated using a calculation time of at least '5 minutes' or more.

따라서, 본 발명에 따른 최소 필요 연산 시간 확인부(220)는 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 1차적으로 연산 시간 감축이라는 목표가 달성되었다고 볼 수 있더라도, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인하는 과정을 추가로 수행할 수 있다.Therefore, when the re-measured operation time is determined to be less than the target time, the minimum required operation time checking unit 220 according to the present invention may primarily consider that the target of reducing the operation time has been achieved, but the re-measured operation time A process of checking whether the calculation time exceeds a predetermined minimum necessary calculation time to guarantee output accuracy of the convolutional neural network model may be additionally performed.

만약, 상기 재측정된 연산 시간이 상기 최소 필요 연산 시간을 초과하지 않는 것으로 확인되는 경우, 출력 정확도를 높이기 위해 상기 연산 시간이 좀 더 늘어나도 되는 상황이라고 볼 수 있으므로, 활성화 처리부(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 activation processing unit 221 For each of the plurality of convolution layers, by re-activating the number of convolution filters corresponding to the preset activation ratio in the order of the largest norm among the convolution filters deactivated in each convolution layer, The number of convolution filters to be applied to the convolution operation in each of the plurality of convolution layers is readjusted.

예컨대, 상기 특정 합성곱 계층에 존재하는 합성곱 필터들의 개수가 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 number adjusting unit 214, and the preset activation ratio is 0.5. In this case, the activation processing unit 221, for the specific convolution layer, among the five inactivated convolution filters, the two convolution filters corresponding to the activation ratio (rounded down to the nearest decimal point) in ascending order of norms. After selection, the two selected convolution filters can be activated again. In this way, the activation processing unit 221 reactivates some convolution filters having large norms among the inactive convolution filters in each of the plurality of convolution filters, thereby increasing the accuracy of the operation through the convolutional neural network model. can be raised

본 발명의 일실시예에 따르면, 컴퓨팅 장치(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 calculation time measurer 211 may additionally measure the energy consumed by the computing device 210 from the time when the input value is applied to the convolutional neural network model until the output value is calculated.

이때, 감축 비율 산출부(212)는 상기 연산 시간이 상기 목표 시간을 초과하는 경우, 상기 감축 비율을 산출함과 동시에 상기 측정된 에너지가 미리 설정된 기준치를 초과하는지 확인한 후 상기 측정된 에너지가 상기 기준치를 초과하는 것으로 확인되면, 상기 감축 비율에 대해 상기 감축 비율을 증가시키기 위한 미리 설정된 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시키는 보정을 수행할 수 있다.At this time, when the calculation time exceeds the target time, the reduction ratio calculation unit 212 calculates the reduction ratio and checks whether the measured energy exceeds a preset reference value, and then determines whether the measured energy exceeds the reference value. If it is confirmed that exceeds , 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.

이때, 상기 보정치는 '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 computing device 210 until the output value is calculated through the convolutional neural network model exceeds the reference value, it can be seen that there is a need to further reduce the amount of calculation. The reduction ratio calculation unit 212 may increase the size of the reduction ratio by calculating the reduction ratio based on the calculation time and the target time and then multiplying the correction value by the reduction ratio.

도 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 computing device 210 described with reference to FIG. 2 , a detailed description thereof will be omitted.

본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.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)

기계학습이 완료된 합성곱 신경망(Convolutional Neural Networks) 모델이 구축되어 있는 상태에서, 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치에 있어서,
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정하는 연산 시간 측정부;
상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출하는 감축 비율 산출부;
상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출하는 목표 감축 개수 산출부;
상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름(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.
제1항에 있어서,
상기 노름은 합성곱 필터에 대한 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의 연산에 기초하여 상기 감축 비율을 산출하는 컴퓨팅 장치.
[수학식 1]
Figure 112020039580573-pat00004

여기서, 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]
Figure 112020039580573-pat00004

Here, R is the reduction ratio, T G is the target time, and T E is the calculation time.
삭제delete 제1항에 있어서,
상기 재측정 연산 시간 확인부를 통해 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한 결과, 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인하는 최소 필요 연산 시간 확인부; 및
상기 재측정된 연산 시간이 상기 최소 필요 연산 시간을 초과하지 않는 것으로 확인되는 경우, 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 비활성화 처리가 되어 있는 합성곱 필터들 중 상기 노름이 큰 순으로 미리 설정된 활성화 비율만큼에 해당되는 개수의 합성곱 필터들을 다시 활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 재조정하는 활성화 처리부
를 더 포함하는 컴퓨팅 장치.
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.
제1항에 있어서,
상기 연산 시간 측정부는
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 상기 컴퓨팅 장치가 소모한 에너지를 추가로 측정하고,
상기 감축 비율 산출부는
상기 연산 시간이 상기 목표 시간을 초과하는 경우, 상기 감축 비율을 산출함과 동시에 상기 측정된 에너지가 미리 설정된 기준치를 초과하는지 확인한 후 상기 측정된 에너지가 상기 기준치를 초과하는 것으로 확인되면, 상기 감축 비율에 대해 상기 감축 비율을 증가시키기 위한 미리 설정된 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시키는 보정을 수행하는 컴퓨팅 장치.
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 .
기계학습이 완료된 합성곱 신경망(Convolutional Neural Networks) 모델이 구축되어 있는 상태에서, 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치의 동작 방법에 있어서,
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정하는 단계;
상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출하는 단계;
상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출하는 단계;
상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름(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.
제7항에 있어서,
상기 노름은 합성곱 필터에 대한 L1 노름 또는 L2 노름 중 어느 하나인 컴퓨팅 장치의 동작 방법.
According to claim 7,
The norm is either an L1 norm or an L2 norm for a convolution filter.
제7항에 있어서,
상기 감축 비율을 산출하는 단계는
하기의 수학식 1의 연산에 기초하여 상기 감축 비율을 산출하는 컴퓨팅 장치의 동작 방법.
[수학식 1]
Figure 112020039580573-pat00005

여기서, 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]
Figure 112020039580573-pat00005

Here, R is the reduction ratio, T G is the target time, and T E is the calculation time.
삭제delete 제7항에 있어서,
상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인하는 단계를 통해 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한 결과, 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인하는 단계; 및
상기 재측정된 연산 시간이 상기 최소 필요 연산 시간을 초과하지 않는 것으로 확인되는 경우, 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 비활성화 처리가 되어 있는 합성곱 필터들 중 상기 노름이 큰 순으로 미리 설정된 활성화 비율만큼에 해당되는 개수의 합성곱 필터들을 다시 활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 재조정하는 단계
를 더 포함하는 컴퓨팅 장치의 동작 방법.
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.
제7항에 있어서,
상기 연산 시간을 측정하는 단계는
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 상기 컴퓨팅 장치가 소모한 에너지를 추가로 측정하고,
상기 감축 비율을 산출하는 단계는
상기 연산 시간이 상기 목표 시간을 초과하는 경우, 상기 감축 비율을 산출함과 동시에 상기 측정된 에너지가 미리 설정된 기준치를 초과하는지 확인한 후 상기 측정된 에너지가 상기 기준치를 초과하는 것으로 확인되면, 상기 감축 비율에 대해 상기 감축 비율을 증가시키기 위한 미리 설정된 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시키는 보정을 수행하는 컴퓨팅 장치의 동작 방법.
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 .
제7항, 제8항, 제9항, 제11항 또는 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.Claim 7, claim 8, claim 9, claim 11 or claim 12 of any one of the method through a combination with a computer to execute a computer program recorded on a computer-readable recording medium. 제7항, 제8항, 제9항, 제11항 또는 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 7, 8, 9, 11 or 12 through a combination with a computer.
KR1020200046465A 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 KR102472397B1 (en)

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)

* Cited by examiner, † Cited by third party
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

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