KR20230034655A - n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치 - Google Patents
n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치 Download PDFInfo
- Publication number
- KR20230034655A KR20230034655A KR1020210117675A KR20210117675A KR20230034655A KR 20230034655 A KR20230034655 A KR 20230034655A KR 1020210117675 A KR1020210117675 A KR 1020210117675A KR 20210117675 A KR20210117675 A KR 20210117675A KR 20230034655 A KR20230034655 A KR 20230034655A
- Authority
- KR
- South Korea
- Prior art keywords
- neural network
- weight
- layer
- convolutional neural
- importance
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 25
- 230000006835 compression Effects 0.000 title claims description 25
- 238000007906 compression Methods 0.000 title claims description 25
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 68
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 24
- 230000000694 effects Effects 0.000 abstract description 11
- 238000010187 selection method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
개시된 기술은 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치에 관한 것으로, 연산장치가 합성곱 신경망(Convolution Neural Network, CNN)에 포함된 복수개의 계층들 중 특정 계층을 선택하는 단계; 상기 연산장치가 상기 특정 계층에 포함된 복수의 가중치 필터들 각각에 대한 n차원 텐서 곱 연산을 수행하여 상기 복수의 가중치 필터들 각각에 대한 중요도를 계산하는 단계; 및 상기 연산장치가 상기 계산 결과에 따라 상기 복수의 가중치 필터들 중 상기 중요도가 기준 미만인 일부의 가중치 필터를 제거하는 단계;를 포함한다.
Description
개시된 기술은 합성곱 신경망 내 특정 계층의 가중치 필터가 다음 계층에 미치는 영향을 n차원 텐서 곱 연산을 통해 계산하여 합성곱 신경망을 압축하는 방법 및 장치에 관한 것이다.
최근 다양한 기계 학습 및 컴퓨터 비전 기술들이 심층 합성곱 신경망을 활용하여 매우 높은 성능을 달성하였다. 하지만, 합성곱 신경망의 구조적 특징으로 인해 다수의 기 개발된 심층 합성곱 신경망 기반의 기술들은 높은 수준의 연산 능력을 요구하는 필수 불가결한 문제를 보유하고 있다. 심층 합성곱 신경망의 높은 메모리 및 계산 복잡도 문제를 해결하기 위해, 합성곱 층을 구성하는 가중치 필터들 중에서 신경망의 성능에 영향을 미치지 않거나 미치는 영향이 미미한 잉여 가중치 필터들을 선별하고 제거하는 필터 선택법 기반의 신경망 압축 기법들이 제안되고 있다.
기존 필터 선택법들은 특정 합성곱 층을 구성하는 가중치 필터들의 놈(norm)을 측정하여 낮은 놈을 가진 가중치 필터들을 제거하고, 반대로 높은 놈을 가지는 가중치 필터들을 유지하는 방법을 제안하였다. 이러한 신경망 압축 기법은 각각의 합성곱 층을 독립적으로 처리하므로, 가중치 필터의 중요도를 평가하는 과정에서 해당 필터가 후반 합성곱 층에서 미치는 영향을 고려하지 않는다. 다시 말해, 기존의 필터 선택법은 신경망 압축의 관점에서 국소 최적 문제(Local Optimal Problem)가 발생하는 문제가 있었다.
개시된 기술은 합성곱 신경망 내 특정 계층의 가중치 필터가 다음 계층에 미치는 영향을 n차원 텐서 곱 연산을 통해 계산하여 합성곱 신경망을 압축하는 방법 및 장치를 제공하는데 있다.
상기의 기술적 과제를 이루기 위하여 개시된 기술의 제 1 측면은 연산장치가 합성곱 신경망(Convolution Neural Network, CNN)에 포함된 복수개의 계층들 중 특정 계층을 선택하는 단계, 상기 연산장치가 상기 특정 계층에 포함된 복수의 가중치 필터들 각각에 대한 n차원 텐서 곱 연산을 수행하여 상기 복수의 가중치 필터들 각각에 대한 중요도를 계산하는 단계 및 상기 연산장치가 상기 계산 결과에 따라 상기 복수의 가중치 필터들 중 상기 중요도가 기준 미만인 일부의 가중치 필터를 제거하는 단계를 포함하는 합성곱 신경망 압축 방법을 제공하는데 있다.
상기의 기술적 과제를 이루기 위하여 개시된 기술의 제 2 측면은 복수개의 계층을 포함하는 합성곱 신경망(Convolution Neural Network, CNN)을 저장하는 저장장치 및 상기 합성곱 신경망에 포함된 복수개의 계층들 중 특정 계층을 선택하여 상기 특정 계층에 포함된 가중치 필터에 대한 n차원 텐서 곱 연산을 수행하여 상기 가중치 필터에 대한 중요도를 계산하고, 상기 계산 결과에 따라 상기 가중치 필터를 제거하는 연산장치를 포함하는 합성곱 신경망 압축 장치를 제공하는데 있다.
개시된 기술의 실시 예들은 다음의 장점들을 포함하는 효과를 가질 수 있다. 다만, 개시된 기술의 실시 예들이 이를 전부 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
개시된 기술의 일 실시예에 따른 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치는 특정 가중치 필터에 대한 n차원 텐서 곱 연산을 수행하여 합성곱 신경망을 압축시키는 효과가 있다.
또한, 합성곱 신경망을 효율적으로 압축시켜서 메모리 소모량 및 계산 복잡도를 줄이는 효과가 있다.
또한, 특정 가중치 필터가 다음 계층에 미치는 영향을 계산하여 신경망의 국소 최적 문제가 발생하는 것을 방지하는 효과가 있다.
도 1은 개시된 기술의 일 실시예에 따른 n차원 텐서 곱 연산을 이용하여 합성곱 신경망을 압축하는 과정을 나타낸 도면이다.
도 2는 개시된 기술의 일 실시예에 따른 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법에 대한 순서도이다.
도 3은 개시된 기술의 일 실시예에 따른 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 장치에 대한 블록도이다.
도 4는 종래 합성곱 신경망의 구조를 나타낸 도면이다.
도 2는 개시된 기술의 일 실시예에 따른 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법에 대한 순서도이다.
도 3은 개시된 기술의 일 실시예에 따른 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 장치에 대한 블록도이다.
도 4는 종래 합성곱 신경망의 구조를 나타낸 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1 , 제 2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 한다. 그리고 "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다.
그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다. 따라서, 본 명세서를 통해 설명되는 각 구성부들의 존재 여부는 기능적으로 해석되어야 할 것이다.
도 1은 개시된 기술의 일 실시예에 따른 n차원 텐서 곱 연산을 이용하여 합성곱 신경망(Convolution Neural Network, CNN)을 압축하는 과정을 나타낸 도면이다. 도 1을 참조하면 연산장치는 이미지 분석을 위한 합성곱 신경망을 저장한다. 합성곱 신경망은 이미지 분류를 위해 사전에 학습된 것으로 다양한 구조의 합성곱 신경망을 탑재할 수 있다. 연산장치는 사용자가 입력하는 이미지를 합성곱 신경망에 입력하고 합성곱 신경망을 통해 출력되는 결과에 따라 이미지를 분류할 수 있다. 물론 이미지 분류 뿐만 아니라 텍스트나 음성 등을 입력받아 특징을 추출하는 것도 가능하다. 이하에서는 이미지 분류를 예시로 설명한다.
한편, 합성곱 신경망은 복수개의 계층(Layer)들이 쌓여있는 구조이다. 네트워크의 깊이를 늘려서 특징 추출의 성능을 개선시킬 수 있다. 그러나 상술한 구조적 특징으로 인하여 합성곱 신경망을 탑재한 연산장치는 입력된 이미지를 분석할 때 메모리 복잡도와 계산 복잡도가 높아지는 문제가 발생할 수 있다. 이러한 문제를 해소하기 위해서 연산장치는 합성곱 신경망을 구성하는 복수의 계층들에 포함된 가중치 필터의 중요도를 계산하여 기준 미만의 가중치 필터를 제거함으로써 합성곱 신경망을 압축시킬 수 있다.
한편, 합성곱 신경망을 압축하는 과정에 있어서, 종래에는 특정 계층에 포함된 가중치 필터들의 중요도를 독립적으로 판단하였다. 예컨대, 가중치 필터의 L1 놈(Norm) 또는 L2 놈을 측정하여 높은 놈을 가진 가중치 필터는 유지하고 낮은 놈을 가진 가중치 필터를 제거하는 방식으로 신경망을 압축하였다. 그러나 이러한 방식은 가중치 필터가 속한 계층에 대한 중요도만을 판단하는 것이어서 가중치 필터가 후속 계층에 미치는 영향력을 고려하지 않았기 때문에 국소 최적 문제가 발생하는 문제가 있었다. 따라서, 본 기술에서는 가중치 필터가 후속 계층에 미치는 영향력까지 고려하여 합성곱 신경망을 압축하는 기법을 개시한다.
한편, 연산장치는 상술한 방식의 합성곱 신경망 압축을 수행하기 위하여 합성곱 신경망에 포함된 복수개의 계층들 중 특정 계층을 선택한다. 여기에서 특정 계층을 선택하는 과정은 합성곱 신경망을 구성하는 복수개의 계층들 중 랜덤한 방식으로 하나를 선택하는 방식으로 처리될 수 있다. 해당 계층에 포함된 복수의 가중치 필터들에 대한 중요도를 연산한 다음 다른 계층을 선택할 수 있다. 물론 최초 계층부터 순차적으로 선택하여 가중치 필터의 중요도를 계산할 수도 있고 합성곱 신경망의 계층의 순서와 가중치 필터의 순서를 모두 랜덤하게 선택할 수도 있다. 가령 i번째 계층의 j번째 가중치 필터를 선택하여 중요도를 계산한 다음 k번째 계층의 s번째 가중치 필터를 선택할 수도 있다.
한편, 연산장치는 선택한 특정 계층에 포함된 복수의 가중치 필터들 각각에 대한 n차원 텐서 곱 연산을 수행하여 복수의 가중치 필터들 각각에 대한 중요도를 계산한다. 가중치 필터의 중요도를 계산하기에 앞서 이하의 수학식 1에 따라 합성곱 신경망의 메모리 복잡도 와 계산 복잡도 를 정의하면 다음과 같다.
여기에서 는 합성곱 신경망의 i번째 계층 을 구성하는 가중치 필터의 너비 및 높이를 의미하고 는 가중치 필터의 개수를 의미한다. 그리고 는 i+1번째 특징맵의 너비를 의미하고 는 i+1번째 특징맵의 높이를 의미한다. 특정 가중치 필터를 제거하는 방식의 신경망 압축 기법에서는 가중치 필터의 개수를 로 줄이는 것을 목표로 한다. 따라서, 압축된 합성곱 신경망의 메모리 복잡도 와 계산 복잡도 를 정의하면 다음과 같다.
한편, 신경망의 메모리 압축률은 원본 신경망의 메모리 복잡도 대비 압축된 신경망의 메모리 복잡도로 정의할 수 있다. 마찬가지로 신경망의 계산 복잡도 압축률도 원본 신경망의 계산 복잡도 대비 압축된 신경망의 계산 복잡도로 정의할 수 있다. 이와 같이 압축된 신경망의 메모리 압축률 및 계산 복잡도 압축률은 수학식 3으로 정의할 수 있다.
여기에서 i번째 계층에 포함된 j번째 가중치 필터 의 중요도 는 과 같다. 즉, 는 의 놈 연산자를 의미한다. 종래 기법에서는 특정 가중이 필터의 놈이 높은지 낮은지에 대해서만 판단하기 때문에 해당 가중치 필터가 속한 계층에 대하여 독립적으로 중요도를 판단한다. 즉, 가중치 필터가 후속 계층에 어떤 영향력을 미칠 것인지에 대해서는 고려하지 않기 때문에 국소 최적 문제가 발생하는 것이다.
이러한 문제점을 해소하기 위해서 연산장치는 아래의 수학식 5에 따라 n차원 텐서 곱 연산을 수행하여 가중치 필터의 중요도를 계산할 수 있다.
여기에서 는 i번째 계층 과 i+1번째 계층 간의 n차원 곱셈 과정을 의미한다. 그리고 는 i번째 계층의 j번째 가중치 필터를 0으로 구성된 가중치 필터를 의미한다. n차원 곱셈은 이하의 수학식 6을 통해 계산된다.
여기에서 는 i번째 계층 을 의 형태로 변경하는 차원 변환 함수를 의미한다. 개시된 기술에서 제안하는 방법은 n차원 텐서 곱 연산에 따라 계산된 새로운 고차원 텐서의 재구성 손실 함수(Reconstruction loss)의 형태로 정의된다. n차원 텐서 곱 연산을 통해 구해진 새로운 텐서 데이터는 특정 계층이 후속 계층에 미치는 영향력을 표현한 것이며, 특정 가중치 필터를 0으로 치환한 것과의 재구성 손실값을 통해 해당 가중치 필터의 중요도를 정량화할 수 있다.
한편, 연산장치는 상술한 계산 과정에 따라 특정 계층의 가중치 필터들 각각에 대한 중요도를 계산할 수 있다. 그리고 각각의 결과에 따라 중요도가 기준 미만인 일부의 가중치 필터를 제거할 수 있다. 그리고 이러한 과정을 합성곱 신경망 내 모든 계층들에 각각 적용함으로써 각 계층 별로 중요도가 낮은 가중치 필터를 제거하는 방식으로 합성곱 신경망을 압축시킬 수 있다. 이 과정에서 합성곱 신경망에 포함된 다수의 파라미터들 중 잉여 파라미터들이 제거되어 계산과정에 대한 복잡도가 줄어들 수 있고 계산 시 메모리 복잡도 또한 줄어들 수 있다.
도 2는 개시된 기술의 일 실시예에 따른 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법에 대한 순서도이다. 도 2를 참조하면 합성곱 신경망 압축 방법은 210 단계 내지 230 단계를 포함한다. 각 단계는 연산장치를 통해 순차적으로 수행될 수 있다.
210 단계에서 연산장치는 합성곱 신경망(Convolution Neural Network, CNN)에 포함된 복수개의 계층들 중 특정 계층을 선택한다. 합성곱 신경망을 구성하는 복수개의 계층들 중 랜덤한 방식으로 하나를 선택할 수도 있다. 연산장치는 각 계층 별 가중치 필터들의 중요도를 알 수 없으므로 신경망에 포함된 모든 계층을 순차적으로 선택하여 각 계층 별로 n차원 텐서 곱 연산을 수행할 수도 있다.
220 단계에서 연산장치는 특정 계층에 포함된 복수의 가중치 필터들 각각에 대한 n차원 텐서 곱 연산을 수행하여 복수의 가중치 필터들 각각에 대한 중요도를 계산한다. 중요도를 계산하는 과정은 앞서 도 1을 통해 설명한 바와 같이 각 계층별로 독립적으로 가중치 필터의 중요도를 계산하는 것이 아니라 후속 계층에 미치는 영향력을 고려하여 중요도를 계산한다.
230 단계에서 연산장치는 계산 결과에 따라 복수의 가중치 필터들 중 중요도가 기준 미만인 일부의 가중치 필터를 제거한다. 연산장치는 210 내지 230 단계를 일정 횟수 반복하여 합성곱 신경망에서 중요도가 낮은 가중치 필터들을 제거할 수 있다.
도 3은 개시된 기술의 일 실시예에 따른 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 장치에 대한 블록도이다. 도 3을 참조하면 합성곱 신경망 압축 장치(300)는 저장장치(310) 및 연산장치(320)를 포함한다.
저장장치(310)는 합성곱 신경망을 저장한다. 합성곱 신경망은 계층 수를 늘려서 네트워크의 깊이를 깊게 형성한 것이므로 저장장치(310)는 이러한 합성곱 신경망을 저장할 수 있을 정도의 용량을 가진 메모리를 이용할 수 있다.
연산장치(320)는 합성곱 신경망에 포함된 복수개의 계층들 중 특정 계층을 선택하여 특정 계층에 포함된 가중치 필터에 대한 n차원 텐서 곱 연산을 수행하여 가중치 필터에 대한 중요도를 계산한다. 그리고, 계산 결과에 따라 가중치 필터를 제거한다. 연산장치(320)는 합성곱 신경망 압축 장치(300)의 프로세서 내지는 AP일 수 있다. 연산장치(320)는 n차원 텐서 곱 연산에 따라 계산된 가중치 필터들의 텐서 데이터와 가중치 필터를 0으로 치환한 텐서 데이터를 뺀 결과가 기준 미만이면 가중치 필터를 제거할 수 있다. 연산장치는 이러한 계산 과정을 특정 계층에 포함된 나머지 가중치 필터들에도 각각 적용하여 중요도가 기준 미만인 적어도 하나의 가중치 필터를 제거할 수 있다. 이러한 계산 과정을 반복함으로써 저장장치(310)에 저장된 합성곱 신경망을 전체적으로 압축시킬 수 있다.
한편, 상술한 합성곱 신경망 압축 장치(300)는 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수도 있다. 상기 프로그램은 일시적 또는 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM (read-only memory), PROM (programmable read only memory), EPROM(Erasable PROM, EPROM) 또는 EEPROM(Electrically EPROM) 또는 플래시 메모리 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
일시적 판독 가능 매체는 스태틱 램(Static RAM,SRAM), 다이내믹 램(Dynamic RAM,DRAM), 싱크로너스 디램 (Synchronous DRAM,SDRAM), 2배속 SDRAM(Double Data Rate SDRAM,DDR SDRAM), 증강형 SDRAM(Enhanced SDRAM,ESDRAM), 동기화 DRAM(Synclink DRAM,SLDRAM) 및 직접 램버스 램(Direct Rambus RAM,DRRAM) 과 같은 다양한 RAM을 의미한다.
도 4는 종래 합성곱 신경망의 구조를 나타낸 도면이다. 도 4를 참조하면 합성곱 신경망의 한 종류인 VGG-16과 ResNet-18은 서로 다른 구조를 가지고 있다. 먼저 VGG-16는 3x3 가중치 필터들을 쌓아서 신경망을 형성하는 구조이며 ResNet-18는 기본적으로는 VGG-16와 동일하되 스킵커넥션이라는 구조적 특징이 추가된 것이다. 아래 표 1을 참조하면 개시된 기술을 상기 두 종류의 합성곱 신경망에 적용한 결과 종래의 놈 기반 필터 제거 기법 대비 압축 성능이 개선된 것을 확인할 수 있었다. 표 1은 공인 데이터셋인 CIFAR-100을 이용하여 이미지 분류 시 VGG-16과 ResNet-18의 성능, L1 Norm 필터 선택법을 이용한 압축 시 성능, L2 Norm 필터 선택법을 이용한 압축 시 성능, 개시된 기술을 적용하여 압축 시의 성능을 각각 나타낸 것이다.
# of params | Accuracy (%) | |
VGG-16 | 14723136 | 72.48 |
L1 Norm | 1833621 (12.45%) |
63.94 (-8.54) |
L2 Norm | 1833621 (12.45%) |
62.59 (-9.89) |
Ours | 1811760 (12.31%) |
65.73 (-6.75) |
ResNet-18 | 6448192 | 76.38 |
L1 Norm | 929660 (14.4%) |
68.17 (-8.21) |
L2 Norm | 929660 (14.4%) |
67.29 (-9.09) |
Ours | 914923 (14.2%) |
71.45 (-4.93) |
상기 표 1을 참조하면 VGG-16의 원본 신경망의 파라미터 개수(# of params)는 14723136개이고 정확도(Accuracy)는 72.48%를 나타냈다. 여기에서 L1 Norm 기반의 필터 선택법을 적용한 결과 파라미터 개수는 1833621개로 줄어들었고 정확도는 63.94%를 나타내었다. L2 Norm 기반 필터 선택법을 적용한 결과도 파라미터 개수 1833621개와 정확도 62.59%를 나타내었다. 두 기법 모두 비슷한 성능을 나타내었다. 그리고 개시된 기술을 VGG-16에 적용한 결과 파라미터 개수는 1811760개로 종래 기법 대비 더 많은 파라미터들이 줄어들었으며 정확도는 65.73%로 오히려 높아진 것을 확인할 수 있었다.
한편 ResNet-18의 원본 신경망의 파라미터 개수(# of params)는 6448192개이고 정확도(Accuracy)는 76.38%를 나타냈다. 여기에서 L1 Norm 기반의 필터 선택법을 적용한 결과 파라미터 개수는 929660개로 줄어들었고 정확도는 68.17%를 나타내었다. L2 Norm 기반 필터 선택법을 적용한 결과는 파라미터 개수 929660개와 정확도 67.29%를 나타내었다. 마찬가지로 두 기법 모두 비슷한 성능을 나타내었다. 그리고 개시된 기술을 ResNet-18에 적용한 결과 파라미터 개수는 914923개로 종래 기법 대비 더 많은 파라미터들이 줄어들었으며 정확도는 71.45%로 오히려 높아진 것을 확인할 수 있었다. 즉, 합성곱 신경망의 구조와 상관없이 개시된 기술을 적용하여 신경망을 압축한 결과가 종래의 L1, L2 Norm 기반 필터 선택법 대비 더 높은 성능을 나타내는 것을 확인할 수 있었다. 따라서, 개시된 기술을 합성곱 신경망의 종류나 구조에 구애받지 않고 적용시킴으로써 신경망을 효율적으로 압축시킬 수 있고 메모리 복잡도와 계산 복잡도를 줄일 수 있다.
개시된 기술의 일 실시예에 따른 n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치는 이해를 돕기 위하여 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 개시된 기술의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.
Claims (10)
- 연산장치가 합성곱 신경망(Convolution Neural Network, CNN)에 포함된 복수개의 계층들 중 특정 계층을 선택하는 단계;
상기 연산장치가 상기 특정 계층에 포함된 복수의 가중치 필터들 각각에 대한 n차원 텐서 곱 연산을 수행하여 상기 복수의 가중치 필터들 각각에 대한 중요도를 계산하는 단계; 및
상기 연산장치가 상기 계산 결과에 따라 상기 복수의 가중치 필터들 중 상기 중요도가 기준 미만인 일부의 가중치 필터를 제거하는 단계;를 포함하는 합성곱 신경망 압축 방법. - 제 1 항에 있어서,
상기 특정 계층을 선택하는 단계는, 상기 합성곱 신경망에 포함된 복수개의 계층들 중 하나를 랜덤하게 선택하는 합성곱 신경망 압축 방법. - 제 1 항에 있어서,
상기 연산장치는 상기 n차원 텐서 곱 연산에 따라 계산된 상기 복수의 가중치 필터들의 텐서 데이터와 가중치 필터를 0으로 치환한 텐서 데이터를 뺀 결과가 기준 미만이면 해당 가중치 필터를 제거하는 합성곱 신경망 압축 방법. - 복수개의 계층을 포함하는 합성곱 신경망(Convolution Neural Network, CNN)을 저장하는 저장장치; 및
상기 합성곱 신경망에 포함된 복수개의 계층들 중 특정 계층을 선택하여 상기 특정 계층에 포함된 가중치 필터에 대한 n차원 텐서 곱 연산을 수행하여 상기 가중치 필터에 대한 중요도를 계산하고, 상기 계산 결과에 따라 상기 가중치 필터를 제거하는 연산장치;를 포함하는 합성곱 신경망 압축 장치. - 제 6 항에 있어서,
상기 연산장치는 상기 n차원 텐서 곱 연산에 따라 계산된 상기 가중치 필터들의 텐서 데이터와 가중치 필터를 0으로 치환한 텐서 데이터를 뺀 결과가 기준 미만이면 상기 가중치 필터를 제거하는 합성곱 신경망 압축 장치. - 제 6 항에 있어서,
상기 연산장치는 상기 특정 계층에 포함된 나머지 가중치 필터들에 대한 중요도를 각각 계산하여 중요도가 기준 미만인 적어도 하나의 가중치 필터를 제거하는 합성곱 신경망 압축 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210117675A KR102597079B1 (ko) | 2021-09-03 | 2021-09-03 | n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210117675A KR102597079B1 (ko) | 2021-09-03 | 2021-09-03 | n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230034655A true KR20230034655A (ko) | 2023-03-10 |
KR102597079B1 KR102597079B1 (ko) | 2023-10-31 |
Family
ID=85570447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210117675A KR102597079B1 (ko) | 2021-09-03 | 2021-09-03 | n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102597079B1 (ko) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200052200A (ko) | 2018-11-05 | 2020-05-14 | 삼성전자주식회사 | 뉴럴 네트워크 가중치들의 압축을 위한 방법 및 시스템 |
WO2020105144A1 (ja) * | 2018-11-21 | 2020-05-28 | 三菱電機株式会社 | 画像生成装置及び画像生成方法 |
KR20200110165A (ko) * | 2019-03-13 | 2020-09-23 | 삼성전자주식회사 | 뉴럴 네트워크의 레이어들의 처리에서 제로 값(zero value)의 연산을 처리하는 방법 및 장치 |
JP2021006980A (ja) * | 2019-06-07 | 2021-01-21 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | スパース性制約及び知識の蒸留に基づくスパースかつ圧縮されたニューラルネットワーク |
KR20210046416A (ko) * | 2019-10-18 | 2021-04-28 | 한국과학기술원 | 파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법 및 분석장치 |
JP2021082289A (ja) * | 2019-11-15 | 2021-05-27 | インテル・コーポレーション | スパースデータへのシストリック算術 |
KR20210097382A (ko) * | 2020-01-30 | 2021-08-09 | 고려대학교 산학협력단 | 랭크 오더 코딩 기반 스파이킹 cnn 연산 방법 및 그 처리기 |
JP2021522565A (ja) * | 2018-04-30 | 2021-08-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 並列分散テンソル計算用のニューラル・ハードウェア・アクセラレータ |
JP2021523468A (ja) * | 2018-05-17 | 2021-09-02 | マジック リープ, インコーポレイテッドMagic Leap,Inc. | ニューラルネットワークの勾配型敵対的訓練 |
-
2021
- 2021-09-03 KR KR1020210117675A patent/KR102597079B1/ko active IP Right Grant
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021522565A (ja) * | 2018-04-30 | 2021-08-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 並列分散テンソル計算用のニューラル・ハードウェア・アクセラレータ |
JP2021523468A (ja) * | 2018-05-17 | 2021-09-02 | マジック リープ, インコーポレイテッドMagic Leap,Inc. | ニューラルネットワークの勾配型敵対的訓練 |
KR20200052200A (ko) | 2018-11-05 | 2020-05-14 | 삼성전자주식회사 | 뉴럴 네트워크 가중치들의 압축을 위한 방법 및 시스템 |
WO2020105144A1 (ja) * | 2018-11-21 | 2020-05-28 | 三菱電機株式会社 | 画像生成装置及び画像生成方法 |
KR20200110165A (ko) * | 2019-03-13 | 2020-09-23 | 삼성전자주식회사 | 뉴럴 네트워크의 레이어들의 처리에서 제로 값(zero value)의 연산을 처리하는 방법 및 장치 |
JP2021006980A (ja) * | 2019-06-07 | 2021-01-21 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | スパース性制約及び知識の蒸留に基づくスパースかつ圧縮されたニューラルネットワーク |
KR20210046416A (ko) * | 2019-10-18 | 2021-04-28 | 한국과학기술원 | 파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법 및 분석장치 |
JP2021082289A (ja) * | 2019-11-15 | 2021-05-27 | インテル・コーポレーション | スパースデータへのシストリック算術 |
KR20210097382A (ko) * | 2020-01-30 | 2021-08-09 | 고려대학교 산학협력단 | 랭크 오더 코딩 기반 스파이킹 cnn 연산 방법 및 그 처리기 |
Also Published As
Publication number | Publication date |
---|---|
KR102597079B1 (ko) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4545641B2 (ja) | 類似画像検索方法,類似画像検索システム,類似画像検索プログラム及び記録媒体 | |
CN111709883B (zh) | 一种图像检测方法、装置及设备 | |
GB2489272A (en) | Segmentation of images into superpixels | |
KR102165273B1 (ko) | 소형 뉴럴 네트워크의 채널 프루닝(pruning) 방법 및 시스템 | |
CN111382867A (zh) | 神经网络压缩的方法、数据处理的方法及相关装置 | |
CN111709516A (zh) | 神经网络模型的压缩方法及压缩装置、存储介质、设备 | |
CN112132279A (zh) | 卷积神经网络模型压缩方法、装置、设备及存储介质 | |
CN111415323A (zh) | 图像的检测方法及装置,神经网络的训练方法及装置 | |
WO2016112348A1 (en) | Filtering data objects | |
Lee et al. | Overlapping pixel value ordering predictor for high-capacity reversible data hiding | |
CN108921017B (zh) | 人脸检测方法及系统 | |
US9858293B2 (en) | Image processing apparatus and image processing method | |
CN117911437A (zh) | 一种改进YOLOv5x的荞麦籽粒粘连分割方法 | |
KR102597079B1 (ko) | n차원 텐서 곱 연산을 이용한 합성곱 신경망 압축 방법 및 장치 | |
CN111414993B (zh) | 卷积神经网络的裁剪、卷积计算方法及装置 | |
CN115546879B (zh) | 用于表情识别的细粒度识别模型及方法 | |
KR102153167B1 (ko) | 인공 신경망을 위한 행렬 연산기 및 행렬 연산 방법 | |
CN112418388A (zh) | 一种实现深度卷积神经网络处理的方法及装置 | |
CN113554104B (zh) | 一种基于深度学习模型的图像分类方法 | |
CN115661595A (zh) | 一种深度学习物体检测中多模型动态融合方法及存储介质 | |
US11288534B2 (en) | Apparatus and method for image processing for machine learning | |
CN113610629A (zh) | 一种从大规模特征集中筛选客户数据特征的方法及装置 | |
JP7485983B2 (ja) | マッピング関数調整装置、マッピング関数調整方法およびプログラム | |
CN114648527B (zh) | 尿路上皮细胞玻片图像分类方法、装置、设备和介质 | |
CN116383290B (zh) | 一种数据泛化解析方法 |
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 |