KR20210128616A - 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법 - Google Patents
합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법 Download PDFInfo
- Publication number
- KR20210128616A KR20210128616A KR1020200046465A KR20200046465A KR20210128616A KR 20210128616 A KR20210128616 A KR 20210128616A KR 1020200046465 A KR1020200046465 A KR 1020200046465A KR 20200046465 A KR20200046465 A KR 20200046465A KR 20210128616 A KR20210128616 A KR 20210128616A
- Authority
- KR
- South Korea
- Prior art keywords
- convolution
- time
- convolutional
- reduction ratio
- filters
- 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
합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법이 개시된다. 본 발명은 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 컴퓨팅 장치에서, 각 합성곱 계층에 존재하는 합성곱 필터들 중 합성곱 연산에 활용될 합성곱 필터의 수를 적절히 조정함으로써, 컴퓨팅 장치의 연산 시간을 줄이고, 에너지 효율을 증가시킬 수 있는 기법에 대한 것이다.
Description
본 발명은 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법에 대한 것이다.
최근, 딥러닝(deep learning) 네트워크가 지능화된 서비스를 제공하는데 핵심적인 역할을 하고 있다.
딥러닝 중에서 합성곱 신경망(Convolutional Neural Networks: CNNs)은 시각적인 영상처리에 특화된 딥러닝 네트워크로서, 컴퓨터 비전 응용 프로그램들에 획기적인 기술적 진보를 가져왔다.
합성곱 신경망은 여러 계층들(layers)로 구성되며, 입력된 영상이나 이미지를 합성곱 계층을 포함한 여러 계층에서 연속적으로 처리함으로써, 최종적으로 분류(classification) 결과나 객체 인식 결과 등의 출력을 생성하게 된다.
합성곱 신경망에서는 합성곱 필터로 구성된 합성곱 계층들을 통해 피처맵(feature map)을 생성하는 과정이 수행된다. 이 과정에서 각 합성곱 계층에 존재하는 합성곱 필터들을 통한 합성곱 연산이 발생하게 된다.
따라서, 기계학습이 완료된 합성곱 신경망 모델을 갖는 컴퓨팅 장치를 통해 출력을 산출하는 과정에서는 각 합성곱 계층에서 수행되는 합성곱의 연산 시간이 상기 합성곱 신경망 모델 전체의 연산 시간의 대부분을 차지하는 특징을 보인다.
예컨대, 영상에 존재하는 사물이 어떤 종류의 사물인지 구분할 수 있도록 하는 기계학습이 완료된 합성곱 신경망 모델을 갖는 컴퓨팅 장치가 있다고 할 때, 입력 영상을 컴퓨팅 장치에 인가한 후 최종 분류 결과가 산출될 때까지의 총 연산 시간은 상기 합성곱 신경망 모델을 구성하는 합성곱 계층에서 발생하는 합성곱 연산에 의존하는 경향이 있다.
관련해서, 도 1에는 합성곱 신경망 모델의 각 합성곱 계층에서 피처맵을 생성하기 위해서 발생하는 합성곱 연산 과정을 설명하기 위한 예시가 간단히 도시되어 있다.
먼저, 이전 합성곱 계층에서 생성된 피처맵을 도면부호 111, 112, 113과 같이 3개의 채널을 갖는 피처맵(111, 112, 113)이라고 가정하자.
이때, 이번 순번의 합성곱 계층에 존재하는 합성곱 필터들(10, 20, 30)의 개수를 n개라고 하는 경우, 이번 순번의 합성곱 계층에서는 3채널의 피처맵(111, 112, 113)이 n개의 합성곱 필터들(10, 20, 30)을 통과함으로써, n개 채널을 갖는 출력 피처맵(121, 122, 123)이 생성될 수 있다.(설명의 편의를 위해, 풀링(pooling) 등의 추가 과정은 생략함)
즉, 각 합성곱 계층에서는 합성곱 필터의 개수에 대응되는 채널을 갖는 피처맵이 생성되게 된다.
그리고, 합성곱 필터들(10, 20, 30) 각각은 d x d의 크기를 갖는 합성곱 행렬이 입력 피처맵(111, 112, 113)의 채널 수만큼 존재하도록 구성된다. 본 예에서는 피처맵(111, 112, 113)이 3개의 채널로 구성되어 있기 때문에, 합성곱 필터들(10, 20, 30)은 d x d의 크기를 갖는 합성곱 행렬이 3개씩 존재하도록 구성된다.
이로 인해, 피처맵(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)이 산출되게 된다.
또한, 피처맵(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)가 산출되게 된다.
이러한 방식으로, 피처맵(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)이 산출되게 된다.
결국, 합성곱 계층에 존재하는 합성곱 필터들(10, 20, 30) 각각에는 d x d의 크기를 갖는 합성곱 행렬이 이전 합성곱 계층을 통과하여 생성된 피처맵(111, 112, 113)의 채널 수만큼 존재하기 때문에, 입력 피처맵(111, 112, 113)의 채널 수를 k라고 하는 경우, 각 합성곱 필터(10, 20, 30)는 d x d x k의 3차원 구조를 갖는 행렬이라고 볼 수 있다.
앞서 설명한 바와 같이, 합성곱 신경망에서는 각 합성곱 계층에서의 합성곱 연산에 소요되는 시간이 출력 산출에 소요되는 전체 연산 시간의 대부분을 차지하기 때문에, 합성곱 신경망이 구축된 컴퓨팅 장치의 성능이 나쁜 경우에는 출력이 산출될 때까지 많은 시간이 소요될 수 있다.
또한, 많은 양의 연산이 발생하게 되면, 컴퓨팅 장치가 소모하는 에너지도 증가하기 때문에 에너지 효율 측면에서도 나쁜 결과가 도출될 수 있다.
기계학습이 완료된 합성곱 신경망에서는 각 합성곱 계층을 구성하는 합성곱 필터들이 적절한 출력을 산출하도록 학습이 완료된 상황이기 때문에, 각 합성곱 계층을 구성하는 합성곱 필터들 중 몇몇 중요도가 떨어지는 합성곱 필터를 비활성화시키더라도 합성곱 신경망의 출력에 큰 영향을 미치지 않을 수 있다. 즉, 합성곱 필터는 행렬이기 때문에 행렬을 구성하는 성분이 작은 값일수록 합성곱이 수행될 때 결과 값에 큰 영향을 미치지 않을 가능성이 높다.
따라서, 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 컴퓨팅 장치에서, 각 합성곱 계층에 존재하는 합성곱 필터들 중 합성곱 연산에 활용될 합성곱 필터의 수를 적절히 조정함으로써, 컴퓨팅 장치의 연산 시간을 줄이고, 에너지 효율을 증가시키기 위한 기술의 연구가 필요하다.
본 발명은 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 컴퓨팅 장치에서, 각 합성곱 계층에 존재하는 합성곱 필터들 중 합성곱 연산에 활용될 합성곱 필터의 수를 적절히 조정함으로써, 컴퓨팅 장치의 연산 시간을 줄이고, 에너지 효율을 증가시킬 수 있는 기법을 제시하고자 한다.
본 발명의 일실시예에 따른 기계학습이 완료된 합성곱 신경망(Convolutional Neural Networks) 모델이 구축되어 있는 상태에서, 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치는 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정하는 연산 시간 측정부, 상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출하는 감축 비율 산출부, 상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출하는 목표 감축 개수 산출부 및 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름(norm)이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정하는 합성곱 필터 개수 조정부를 포함한다.
또한, 본 발명의 일실시예에 따른 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 상태에서, 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치의 동작 방법은 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정하는 단계, 상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출하는 단계, 상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출하는 단계 및 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정하는 단계를 포함한다.
본 발명은 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 컴퓨팅 장치에서, 각 합성곱 계층에 존재하는 합성곱 필터들 중 합성곱 연산에 활용될 합성곱 필터의 수를 적절히 조정함으로써, 컴퓨팅 장치의 연산 시간을 줄이고, 에너지 효율을 증가시킬 수 있다.
도 1은 합성곱 신경망의 합성곱 계층에서 발생하는 연산 과정을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 컴퓨팅 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법을 도시한 순서도이다.
도 2는 본 발명의 일실시예에 따른 컴퓨팅 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 2는 본 발명의 일실시예에 따른 컴퓨팅 장치의 구조를 도시한 도면이다.
우선, 본 발명에 따른 컴퓨팅 장치(210)에는 기계학습이 완료된 합성곱 신경망(Convolutional Neural Networks) 모델이 구축되어 있는 상태인 것으로 가정한다. 이때, 본 발명에 따른 컴퓨팅 장치(210)는 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시킬 수 있는 장치로, 연산 시간 측정부(211), 감축 비율 산출부(212), 목표 감축 개수 산출부(213), 합성곱 필터 개수 조정부(214)를 포함한다.
연산 시간 측정부(211)는 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정한다.
감축 비율 산출부(212)는 상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출한다.
이때, 본 발명의 일실시예에 따르면, 감축 비율 산출부(212)는 하기의 수학식 1의 연산에 기초하여 상기 감축 비율을 산출할 수 있다.
여기서, R은 상기 감축 비율로서, TG는 상기 목표 시간, TE는 상기 연산 시간을 의미한다.
상기 수학식 1의 연산에 따르면, 상기 감축 비율은 상기 연산 시간이 증가할수록 높은 값으로 산출되게 된다. 즉, 상기 감축 비율은 상기 연산 시간에 대해 양의 상관관계를 갖도록 산출된다.
관련해서, 상기 목표 시간을 '5분'이라고 하고, 상기 연산 시간을 '8분'이라고 하는 경우, 감축 비율 산출부(212)는 상기 수학식 1의 연산에 따라 상기 감축 비율을 '0.15'로 산출할 수 있다.
목표 감축 개수 산출부(213)는 상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출한다. 이때, 본 발명의 일실시예에 따르면, 목표 감축 개수 산출부(213)는 상기 감축 비율을 곱하여 산출된 연산 값에서 소수점 이하 자리를 버림함으로써, 각 합성곱 계층에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출할 수 있다.
예컨대, 상기 복수의 합성곱 계층들로 '합성곱 계층 1', '합성곱 계층 2', '합성곱 계층 3'이 존재한다고 하고, '합성곱 계층 1'에 10개의 합성곱 필터가 존재하고, '합성곱 계층 2'에 15개의 합성곱 필터가 존재하며, '합성곱 계층 3'에 20개의 합성곱 필터가 존재한다고 가정하자. 이때, 상기 감축 비율이 '0.15'로 산출되었다고 하는 경우, 목표 감축 개수 산출부(213)는 '합성곱 계층 1'에 대해서 '1개'라고 하는 목표 감축 개수를 산출할 수 있고, '합성곱 계층 2'에 대해서 '2개'라고 하는 목표 감축 개수를 산출할 수 있으며, '합성곱 계층 3'에 대해서 '3개'라고 하는 목표 감축 개수를 산출할 수 있다.
합성곱 필터 개수 조정부(214)는 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름(norm)이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정한다.
이때, 본 발명의 일실시예에 따르면, 상기 노름은 합성곱 필터에 대한 L1 노름 또는 L2 노름 중 어느 하나일 수 있다.
여기서, 노름이란 벡터나 행렬의 크기를 일반화한 것을 의미한다. 이때, L1 노름은 맨해튼 노름(Manhattan norm)이라고도 하며, 특정 합성곱 계층에 존재하는 합성곱 필터가 d x d x k의 크기(입력되는 피처맵이 k채널로 구성되어 있다고 가정)를 갖는 3차원 행렬로 구성되어 있다고 하는 경우, 합성곱 필터에 대한 L1 노름은 하기의 수학식 2에 따라 연산될 수 있다.
여기서, xt,j,i는 합성곱 필터를 구성하는 3차원 행렬의 성분을 의미한다.
L2 노름은 유클리드 노름(Euclidean norm)이라고도 하며, 특정 합성곱 계층에 존재하는 합성곱 필터가 d x d x k의 크기(입력되는 피처맵이 k채널로 구성되어 있다고 가정)를 갖는 3차원 행렬로 구성되어 있다고 하는 경우, 합성곱 필터에 대한 L2 노름은 하기의 수학식 3에 따라 연산될 수 있다.
즉, 합성곱 필터 개수 조정부(214)는 상기 복수의 합성곱 계층들 각각에 대해서, 각 합성곱 계층에 포함된 합성곱 필터들의 노름을 연산한 후 노름이 작은 순서로 상기 목표 감축 개수만큼의 합성곱 필터를 비활성화 처리할 수 있다. 예컨대, 특정 합성곱 계층에 존재하는 합성곱 필터의 개수가 30개라고 하고, 상기 특정 합성곱 계층에 대한 상기 목표 감축 개수가 5개라고 하는 경우, 합성곱 필터 개수 조정부(214)는 상기 특정 합성곱 계층에 존재하는 30개의 합성곱 필터들 중 노름이 작은 순서로 5개의 합성곱 필터들을 비활성화 처리함으로써, 상기 특정 합성곱 계층에서 합성곱 연산에 적용될 합성곱 필터의 개수를 25개로 조정할 수 있다. 즉, 5개의 합성곱 필터들은 입력 데이터가 상기 특정 합성곱 계층을 통과할 때 합성곱 연산에서 배제된다.
합성곱 필터의 노름이 작다는 의미는 합성곱 필터를 구성하는 행렬의 성분의 크기가 작다는 의미라고 볼 수 있기 때문에, 합성곱 연산 과정에서 데이터에 기여하는 정도가 다른 합성곱 필터에 비해서 낮은 것으로 볼 수 있다. 따라서, 합성곱 필터 개수 조정부(214)를 통해 각 합성곱 계층에서 노름이 작은 합성곱 필터가 비활성화 처리되더라도 상기 합성곱 신경망 모델을 통해서 산출되는 출력 값에는 큰 영향이 없을 수 있다.
이에, 본 발명에 따른 컴퓨팅 장치(210)는 각 합성곱 계층에서 노름이 작은 합성곱 필터들을 비활성화 처리하여 합성곱 연산에 적용되는 합성곱 필터의 개수를 줄임으로써, 상기 합성곱 신경망 모델을 통해서 출력 값이 산출될 때까지의 전체 연산 시간을 줄일 수 있다.
본 발명의 일실시예에 따르면, 컴퓨팅 장치(210)는 연산 시간 재측정부(215), 재측정 연산 시간 확인부(216), 감축 비율 재산출부(217), 추가 감축 개수 산출부(218) 및 합성곱 필터 개수 추가 조정부(219)를 더 포함할 수 있다.
연산 시간 재측정부(215)는 합성곱 필터 개수 조정부(214)를 통해 상기 복수의 합성곱 계층들 각각에서의 합성곱 필터의 개수 조정이 완료되면, 상기 합성곱 신경망 모델에 대한 상기 연산 시간을 재측정한다.
재측정 연산 시간 확인부(216)는 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한다.
감축 비율 재산출부(217)는 상기 재측정된 연산 시간이 상기 목표 시간 이하가 아닌 것으로 확인되는 경우, 상기 재측정된 연산 시간과 상기 목표 시간을 비교하여 상기 감축 비율을 재산출한다.
이때, 감축 비율 재산출부(217)는 상기 수학식 1의 연산에 따라 상기 감축 비율을 재산출할 수 있다.
추가 감축 개수 산출부(218)는 상기 복수의 합성곱 계층들 각각에서 활성화가 되어 있는 합성곱 필터들의 개수에 상기 재산출된 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 추가로 감축시킬 합성곱 필터의 추가 감축 개수를 산출한다.
예컨대, 특정 합성곱 계층에 존재하는 합성곱 필터의 개수가 30개이고, 합성곱 필터 개수 조정부(214)를 통해 5개의 합성곱 필터들이 비활성화 처리됨에 따라, 현재 25개의 합성곱 필터들만이 활성화되어 있다고 하며, 상기 재산출된 감축 비율이 10%라고 하는 경우, 추가 감축 개수 산출부(218)는 상기 특정 합성곱 계층에 대해, 현재 활성화되어 있는 25개의 합성곱 필터들 중 추가로 감축시킬 합성곱 필터의 추가 감축 개수로 '2개'를 산출할 수 있다.
합성곱 필터 개수 추가 조정부(219)는 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 활성화가 되어 있는 합성곱 필터들 중 상기 노름이 작은 순으로 상기 추가 감축 개수만큼의 합성곱 필터들을 추가로 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 추가 조정한다.
관련해서, 전술한 예와 같이, 상기 특정 합성곱 계층에서 현재 25개의 합성곱 필터들이 활성화되어 있고, 상기 특정 합성곱 계층에 대한 추가 감축 개수가 2개라고 하는 경우, 합성곱 필터 개수 추가 조정부(219)는 상기 특정 합성곱 계층에 대해, 25개의 합성곱 필터들 중 노름이 작은 순서로 2개의 합성곱 필터들을 추가로 비활성화 처리함으로써, 상기 특정 합성곱 계층에서 합성곱 연산에 적용될 합성곱 필터의 개수를 23개로 추가 조정할 수 있다.
이렇게, 각 합성곱 계층에서 합성곱 필터의 개수가 추가로 감축됨에 따라, 컴퓨팅 장치(210)에서의 상기 합성곱 신경망 모델을 통한 연산 시간은 더 줄어들게 될 것이다.
이때, 본 발명의 일실시예에 따르면, 컴퓨팅 장치(210)는 최소 필요 연산 시간 확인부(220) 및 활성화 처리부(221)를 더 포함할 수 있다.
최소 필요 연산 시간 확인부(220)는 재측정 연산 시간 확인부(216)를 통해 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한 결과, 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인한다.
관련해서, 합성곱 필터 개수 조정부(214)를 통해 각 합성곱 계층에서의 합성곱 필터의 개수 조정이 완료된 후 새롭게 재측정한 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 1차적으로 컴퓨팅 장치(210)의 연산 시간을 줄이고자 하는 본 발명의 목표가 달성된 것으로 볼 수 있다.
하지만, 상기 합성곱 신경망 모델을 통해서 산출되는 출력 값이 일정 수준 이상의 정확도를 가져야 함에도 불구하고, 합성곱 필터의 개수 조정이 다소 과도하게 수행되어 버리면, 컴퓨팅 장치(210)의 연산 시간은 줄어들게 되지만, 상기 합성곱 신경망 모델을 통해서 산출되는 출력 값의 정확도가 떨어지는 문제가 발생할 수 있다.
이와 관련해서, 상기 합성곱 신경망 모델을 통해서 컴퓨팅 장치(210)가 어느 정도 수준 이상의 정확도를 갖는 출력 값을 산출하기 위해서는 최소한의 필요 연산 시간이 존재할 수 있다. 즉, 컴퓨팅 장치(210)의 성능을 고려하였을 때, 최소 '5분' 이상의 연산 시간이 사용되어서 출력 값이 산출되었을 경우에만, 상기 출력 값이 어느 정도 이상의 정확도를 갖는다고 신뢰할 수 있을 것이다.
따라서, 본 발명에 따른 최소 필요 연산 시간 확인부(220)는 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 1차적으로 연산 시간 감축이라는 목표가 달성되었다고 볼 수 있더라도, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인하는 과정을 추가로 수행할 수 있다.
만약, 상기 재측정된 연산 시간이 상기 최소 필요 연산 시간을 초과하지 않는 것으로 확인되는 경우, 출력 정확도를 높이기 위해 상기 연산 시간이 좀 더 늘어나도 되는 상황이라고 볼 수 있으므로, 활성화 처리부(221)는 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 비활성화 처리가 되어 있는 합성곱 필터들 중 상기 노름이 큰 순으로 미리 설정된 활성화 비율만큼에 해당되는 개수의 합성곱 필터들을 다시 활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 재조정한다.
예컨대, 상기 특정 합성곱 계층에 존재하는 합성곱 필터들의 개수가 30개이고, 합성곱 필터 개수 조정부(214)를 통해 25개의 합성곱 필터들만 활성화되어 있는 상태이며, 상기 미리 설정된 활성화 비율이 0.5라고 하는 경우, 활성화 처리부(221)는 상기 특정 합성곱 계층에 대해, 비활성화 처리되어 있는 5개의 합성곱 필터들 중 상기 활성화 비율만큼에 해당되는 합성곱 필터 2개(소수점 이하 버림)를 노름이 큰 순으로 선택한 후 선택된 합성곱 필터 2개를 다시 활성화 처리할 수 있다. 이러한 방식으로, 활성화 처리부(221)는 복수의 합성곱 필터들 각각에서 비활성화되어 있는 합성곱 필터들 중 노름이 큰 몇몇의 합성곱 필터를 다시 활성화함으로써, 상기 합성곱 신경망 모델을 통한 연산의 정확도를 높일 수 있다.
본 발명의 일실시예에 따르면, 컴퓨팅 장치(110)는 각 합성곱 계층에 포함된 합성곱 필터의 개수 조정에 사용할 요소로 연산 시간뿐 아니라, 컴퓨팅 장치(110)에서 소모되는 에너지를 추가로 활용할 수 있다.
관련해서, 연산 시간 측정부(211)는 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 컴퓨팅 장치(210)가 소모한 에너지를 추가로 측정할 수 있다.
이때, 감축 비율 산출부(212)는 상기 연산 시간이 상기 목표 시간을 초과하는 경우, 상기 감축 비율을 산출함과 동시에 상기 측정된 에너지가 미리 설정된 기준치를 초과하는지 확인한 후 상기 측정된 에너지가 상기 기준치를 초과하는 것으로 확인되면, 상기 감축 비율에 대해 상기 감축 비율을 증가시키기 위한 미리 설정된 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시키는 보정을 수행할 수 있다.
이때, 상기 보정치는 '1'과 '2' 사이의 정수로 구성될 수 있다.
즉, 상기 합성곱 신경망 모델을 통해서 출력 값이 산출될 때까지의 컴퓨팅 장치(210)가 소모한 에너지가 상기 기준치를 초과하는 경우, 연산량을 추가로 줄여야 할 필요성이 있는 상황이라고 볼 수 있기 때문에, 감축 비율 산출부(212)는 상기 연산 시간과 상기 목표 시간을 기초로 상기 감축 비율을 산출한 후 상기 감축 비율에 대해 상기 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시킬 수 있다.
도 3은 본 발명의 일실시예에 따른 기계학습이 완료된 합성곱 신경망 모델이 구축되어 있는 상태에서, 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치의 동작 방법을 도시한 순서도이다.
단계(S310)에서는 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정한다.
단계(S320)에서는 상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출한다.
단계(S330)에서는 상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출한다.
단계(S340)에서는 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정한다.
이때, 본 발명의 일실시예에 따르면, 상기 노름은 합성곱 필터에 대한 L1 노름 또는 L2 노름 중 어느 하나일 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S320)에서는 상기 수학식 1의 연산에 기초하여 상기 감축 비율을 산출할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 컴퓨팅 장치의 동작 방법은 상기 합성곱 필터의 개수를 조정하는 단계를 통해 상기 복수의 합성곱 계층들 각각에서의 합성곱 필터의 개수 조정이 완료되면, 상기 합성곱 신경망 모델에 대한 상기 연산 시간을 재측정하는 단계, 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인하는 단계, 상기 재측정된 연산 시간이 상기 목표 시간 이하가 아닌 것으로 확인되는 경우, 상기 재측정된 연산 시간과 상기 목표 시간을 비교하여 상기 감축 비율을 재산출하는 단계, 상기 복수의 합성곱 계층들 각각에서 활성화가 되어 있는 합성곱 필터들의 개수에 상기 재산출된 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 추가로 감축시킬 합성곱 필터의 추가 감축 개수를 산출하는 단계 및 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 활성화가 되어 있는 합성곱 필터들 중 상기 노름이 작은 순으로 상기 추가 감축 개수만큼의 합성곱 필터들을 추가로 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 추가 조정하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 컴퓨팅 장치의 동작 방법은 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인하는 단계를 통해 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한 결과, 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인하는 단계 및 상기 재측정된 연산 시간이 상기 최소 필요 연산 시간을 초과하지 않는 것으로 확인되는 경우, 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 비활성화 처리가 되어 있는 합성곱 필터들 중 상기 노름이 큰 순으로 미리 설정된 활성화 비율만큼에 해당되는 개수의 합성곱 필터들을 다시 활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 재조정하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S310)에서는 상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 상기 컴퓨팅 장치가 소모한 에너지를 추가로 측정하고, 단계(S320)에서는 상기 연산 시간이 상기 목표 시간을 초과하는 경우, 상기 감축 비율을 산출함과 동시에 상기 측정된 에너지가 미리 설정된 기준치를 초과하는지 확인한 후 상기 측정된 에너지가 상기 기준치를 초과하는 것으로 확인되면, 상기 감축 비율에 대해 상기 감축 비율을 증가시키기 위한 미리 설정된 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시키는 보정을 수행할 수 있다.
이상, 도 3을 참조하여 본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법은 도 2를 이용하여 설명한 컴퓨팅 장치(210)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 컴퓨팅 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
210: 컴퓨팅 장치
211: 연산 시간 측정부 212: 감축 비율 산출부
213: 목표 감축 개수 산출부 214: 합성곱 필터 개수 조정부
215: 연산 시간 재측정부 216: 재측정 연산 시간 확인부
217: 감축 비율 재산출부 218: 추가 감축 개수 산출부
219: 합성곱 필터 개수 추가 조정부 220: 최소 필요 연산 시간 확인부
221: 활성화 처리부
211: 연산 시간 측정부 212: 감축 비율 산출부
213: 목표 감축 개수 산출부 214: 합성곱 필터 개수 조정부
215: 연산 시간 재측정부 216: 재측정 연산 시간 확인부
217: 감축 비율 재산출부 218: 추가 감축 개수 산출부
219: 합성곱 필터 개수 추가 조정부 220: 최소 필요 연산 시간 확인부
221: 활성화 처리부
Claims (14)
- 기계학습이 완료된 합성곱 신경망(Convolutional Neural Networks) 모델이 구축되어 있는 상태에서, 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치에 있어서,
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정하는 연산 시간 측정부;
상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출하는 감축 비율 산출부;
상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출하는 목표 감축 개수 산출부; 및
상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름(norm)이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정하는 합성곱 필터 개수 조정부
를 포함하는 컴퓨팅 장치. - 제1항에 있어서,
상기 노름은 합성곱 필터에 대한 L1 노름 또는 L2 노름 중 어느 하나인 컴퓨팅 장치. - 제1항에 있어서,
상기 합성곱 필터 개수 조정부를 통해 상기 복수의 합성곱 계층들 각각에서의 합성곱 필터의 개수 조정이 완료되면, 상기 합성곱 신경망 모델에 대한 상기 연산 시간을 재측정하는 연산 시간 재측정부;
상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인하는 재측정 연산 시간 확인부;
상기 재측정된 연산 시간이 상기 목표 시간 이하가 아닌 것으로 확인되는 경우, 상기 재측정된 연산 시간과 상기 목표 시간을 비교하여 상기 감축 비율을 재산출하는 감축 비율 재산출부;
상기 복수의 합성곱 계층들 각각에서 활성화가 되어 있는 합성곱 필터들의 개수에 상기 재산출된 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 추가로 감축시킬 합성곱 필터의 추가 감축 개수를 산출하는 추가 감축 개수 산출부; 및
상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 활성화가 되어 있는 합성곱 필터들 중 상기 노름이 작은 순으로 상기 추가 감축 개수만큼의 합성곱 필터들을 추가로 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 추가 조정하는 합성곱 필터 개수 추가 조정부
를 더 포함하는 컴퓨팅 장치. - 제4항에 있어서,
상기 재측정 연산 시간 확인부를 통해 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한 결과, 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인하는 최소 필요 연산 시간 확인부; 및
상기 재측정된 연산 시간이 상기 최소 필요 연산 시간을 초과하지 않는 것으로 확인되는 경우, 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 비활성화 처리가 되어 있는 합성곱 필터들 중 상기 노름이 큰 순으로 미리 설정된 활성화 비율만큼에 해당되는 개수의 합성곱 필터들을 다시 활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 재조정하는 활성화 처리부
를 더 포함하는 컴퓨팅 장치. - 제1항에 있어서,
상기 연산 시간 측정부는
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 상기 컴퓨팅 장치가 소모한 에너지를 추가로 측정하고,
상기 감축 비율 산출부는
상기 연산 시간이 상기 목표 시간을 초과하는 경우, 상기 감축 비율을 산출함과 동시에 상기 측정된 에너지가 미리 설정된 기준치를 초과하는지 확인한 후 상기 측정된 에너지가 상기 기준치를 초과하는 것으로 확인되면, 상기 감축 비율에 대해 상기 감축 비율을 증가시키기 위한 미리 설정된 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시키는 보정을 수행하는 컴퓨팅 장치. - 기계학습이 완료된 합성곱 신경망(Convolutional Neural Networks) 모델이 구축되어 있는 상태에서, 상기 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치의 동작 방법에 있어서,
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 연산 시간을 측정하는 단계;
상기 연산 시간이 미리 설정된 목표 시간을 초과하는 경우, 상기 연산 시간과 상기 목표 시간을 비교하여 상기 합성곱 신경망 모델을 구성하는 복수의 합성곱 계층들 각각에 포함된 합성곱 필터의 개수에 대한 감축 비율을 산출하는 단계;
상기 복수의 합성곱 계층들 각각에 포함된 합성곱 필터들의 개수에 상기 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 감축시킬 합성곱 필터의 목표 감축 개수를 산출하는 단계; 및
상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에 포함된 합성곱 필터들 중 노름(norm)이 작은 순으로 상기 목표 감축 개수만큼의 합성곱 필터들을 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 조정하는 단계
를 포함하는 컴퓨팅 장치의 동작 방법. - 제7항에 있어서,
상기 노름은 합성곱 필터에 대한 L1 노름 또는 L2 노름 중 어느 하나인 컴퓨팅 장치의 동작 방법. - 제7항에 있어서,
상기 합성곱 필터의 개수를 조정하는 단계를 통해 상기 복수의 합성곱 계층들 각각에서의 합성곱 필터의 개수 조정이 완료되면, 상기 합성곱 신경망 모델에 대한 상기 연산 시간을 재측정하는 단계;
상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인하는 단계;
상기 재측정된 연산 시간이 상기 목표 시간 이하가 아닌 것으로 확인되는 경우, 상기 재측정된 연산 시간과 상기 목표 시간을 비교하여 상기 감축 비율을 재산출하는 단계;
상기 복수의 합성곱 계층들 각각에서 활성화가 되어 있는 합성곱 필터들의 개수에 상기 재산출된 감축 비율을 각각 곱하여 상기 복수의 합성곱 계층들 각각에서 추가로 감축시킬 합성곱 필터의 추가 감축 개수를 산출하는 단계; 및
상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 활성화가 되어 있는 합성곱 필터들 중 상기 노름이 작은 순으로 상기 추가 감축 개수만큼의 합성곱 필터들을 추가로 비활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 추가 조정하는 단계
를 더 포함하는 컴퓨팅 장치의 동작 방법. - 제10항에 있어서,
상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인하는 단계를 통해 상기 재측정된 연산 시간이 상기 목표 시간 이하인지 여부를 확인한 결과, 상기 재측정된 연산 시간이 상기 목표 시간 이하인 것으로 확인되는 경우, 상기 재측정된 연산 시간이 상기 합성곱 신경망 모델의 출력 정확도 보장을 위해서 사전 설정된 최소 필요 연산 시간을 초과하는지 여부를 확인하는 단계; 및
상기 재측정된 연산 시간이 상기 최소 필요 연산 시간을 초과하지 않는 것으로 확인되는 경우, 상기 복수의 합성곱 계층들 각각에 대해, 각 합성곱 계층에서 비활성화 처리가 되어 있는 합성곱 필터들 중 상기 노름이 큰 순으로 미리 설정된 활성화 비율만큼에 해당되는 개수의 합성곱 필터들을 다시 활성화 처리함으로써, 상기 복수의 합성곱 계층들 각각에서의 합성곱 연산에 적용될 합성곱 필터의 개수를 재조정하는 단계
를 더 포함하는 컴퓨팅 장치의 동작 방법. - 제7항에 있어서,
상기 연산 시간을 측정하는 단계는
상기 합성곱 신경망 모델에 입력 값이 인가된 시점으로부터 출력 값이 산출될 때까지의 상기 컴퓨팅 장치가 소모한 에너지를 추가로 측정하고,
상기 감축 비율을 산출하는 단계는
상기 연산 시간이 상기 목표 시간을 초과하는 경우, 상기 감축 비율을 산출함과 동시에 상기 측정된 에너지가 미리 설정된 기준치를 초과하는지 확인한 후 상기 측정된 에너지가 상기 기준치를 초과하는 것으로 확인되면, 상기 감축 비율에 대해 상기 감축 비율을 증가시키기 위한 미리 설정된 보정치를 곱함으로써, 상기 감축 비율의 크기를 증가시키는 보정을 수행하는 컴퓨팅 장치의 동작 방법. - 제7항 내지 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
- 제7항 내지 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200046465A KR102472397B1 (ko) | 2020-04-17 | 2020-04-17 | 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200046465A KR102472397B1 (ko) | 2020-04-17 | 2020-04-17 | 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210128616A true KR20210128616A (ko) | 2021-10-27 |
KR102472397B1 KR102472397B1 (ko) | 2022-11-29 |
Family
ID=78287154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200046465A KR102472397B1 (ko) | 2020-04-17 | 2020-04-17 | 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102472397B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190041819A (ko) * | 2017-10-13 | 2019-04-23 | 아주대학교산학협력단 | 컨볼루션 신경망의 컨볼루션 연산 장치 및 방법 |
KR20190091858A (ko) * | 2018-01-29 | 2019-08-07 | 주식회사 유엑스팩토리 | Cnn과 rnn이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조 |
KR20190139539A (ko) * | 2018-06-08 | 2019-12-18 | 광운대학교 산학협력단 | 저사양 임베디드 환경에서의 합성곱 신경망 연산을 위한 역 잔여 블록의 채널 확장 매개변수 설정 시스템 및 방법 |
KR20200011445A (ko) * | 2017-10-16 | 2020-02-03 | 일루미나, 인코포레이티드 | 심층 컨볼루션 신경망의 앙상블을 트레이닝하기 위한 반감독 학습 |
KR20200023695A (ko) * | 2018-08-21 | 2020-03-06 | 재단법인 아산사회복지재단 | 연산량을 줄이는 학습 시스템 |
-
2020
- 2020-04-17 KR KR1020200046465A patent/KR102472397B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190041819A (ko) * | 2017-10-13 | 2019-04-23 | 아주대학교산학협력단 | 컨볼루션 신경망의 컨볼루션 연산 장치 및 방법 |
KR20200011445A (ko) * | 2017-10-16 | 2020-02-03 | 일루미나, 인코포레이티드 | 심층 컨볼루션 신경망의 앙상블을 트레이닝하기 위한 반감독 학습 |
KR20190091858A (ko) * | 2018-01-29 | 2019-08-07 | 주식회사 유엑스팩토리 | Cnn과 rnn이 하나의 고성능 저전력 칩으로 집적된 이기종 프로세서 구조 |
KR20190139539A (ko) * | 2018-06-08 | 2019-12-18 | 광운대학교 산학협력단 | 저사양 임베디드 환경에서의 합성곱 신경망 연산을 위한 역 잔여 블록의 채널 확장 매개변수 설정 시스템 및 방법 |
KR20200023695A (ko) * | 2018-08-21 | 2020-03-06 | 재단법인 아산사회복지재단 | 연산량을 줄이는 학습 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR102472397B1 (ko) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110073371B (zh) | 用于以降低精度进行深度神经网络训练的损失缩放 | |
US20240127043A1 (en) | Image processing system and medical information processing system | |
CN109635817B (zh) | 通过使用特征上采样网络生成特征映射的方法和装置 | |
KR102229328B1 (ko) | 로스 어그멘테이션을 이용하여 cnn의 파라미터를 조정하기 위한 학습 방법, 학습 장치 및 이를 이용한 테스팅 방법, 테스팅 장치 | |
US20200302299A1 (en) | Systems and Methods of Cross Layer Rescaling for Improved Quantization Performance | |
KR20180073118A (ko) | 컨볼루션 신경망 처리 방법 및 장치 | |
CN110555450B (zh) | 人脸识别神经网络调整方法和装置 | |
CN109978764B (zh) | 一种图像处理方法及计算设备 | |
US20150109321A1 (en) | Tone Mapping | |
KR20180105556A (ko) | 슈퍼 해상도 딥 콘볼루션 뉴럴 네트워크 설계 시스템 및 방법 | |
US20200302298A1 (en) | Analytic And Empirical Correction Of Biased Error Introduced By Approximation Methods | |
CN111985495B (zh) | 模型部署方法、装置、系统及存储介质 | |
CN111382833A (zh) | 多层神经网络模型的训练和应用方法、装置及存储介质 | |
CN110309911B (zh) | 神经网络模型验证方法、装置、计算机设备和存储介质 | |
US20130236095A1 (en) | Image processing device, image processing method, and program | |
CN111382832A (zh) | 多层神经网络模型的训练和应用方法、装置及存储介质 | |
US20240078433A1 (en) | Loss-scaling for deep neural network training with reduced precision | |
KR102199066B1 (ko) | 미세먼지 측정기를 통해 산출된 미세먼지 측정 데이터의 오류를 기계학습을 기반으로 보정할 수 있는 미세먼지 측정 데이터 보정 장치 | |
US20200389182A1 (en) | Data conversion method and apparatus | |
US20150113027A1 (en) | Method for determining a logarithmic functional unit | |
US20220284720A1 (en) | Method for grouping cells according to density and electronic device employing method | |
WO2021111633A1 (ja) | パラメータ最適化装置、パラメータ最適化方法、およびパラメータ最適化プログラム | |
KR20210128616A (ko) | 합성곱 신경망 모델에 포함된 합성곱 필터의 개수 조정을 통해 합성곱 연산의 효율을 향상시키기 위한 컴퓨팅 장치 및 그 동작 방법 | |
KR102358149B1 (ko) | 컨볼루션 신경망에서의 패딩 방법 | |
KR102482472B1 (ko) | 기계학습 기반의 꼭짓점 추출을 통해 기울어진 차량 번호판 이미지를 직사각형화시킬 수 있는 전자 장치 및 그 동작 방법 |
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 |