KR20220096456A - 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 - Google Patents
인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 Download PDFInfo
- Publication number
- KR20220096456A KR20220096456A KR1020200188895A KR20200188895A KR20220096456A KR 20220096456 A KR20220096456 A KR 20220096456A KR 1020200188895 A KR1020200188895 A KR 1020200188895A KR 20200188895 A KR20200188895 A KR 20200188895A KR 20220096456 A KR20220096456 A KR 20220096456A
- Authority
- KR
- South Korea
- Prior art keywords
- pruning
- neural network
- artificial neural
- unit
- network model
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000013138 pruning Methods 0.000 claims abstract description 214
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000013585 weight reducing agent Substances 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- 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
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Abstract
본 발명의 일 태양에 따르면, 인공 신경망 모델을 경량화하기 위한 방법으로서, 인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이에 기초하여, 상기 프루닝 단위 각각에 관한 프루닝 인자 및 상기 프루닝 단위 각각에 관한 가중치를 학습하는 단계, 및 상기 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 상기 프루닝 단위 중에서 상기 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 단계를 포함하고, 상기 프루닝 단위의 채널 길이는 상기 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧은 방법이 제공된다.
Description
본 발명은 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
인공 신경망 모델은 높은 성능을 얻기 위하여 많은 양의 파라미터(예를 들면, 가중치)를 학습하는 방식으로 발전되어왔다. 그러나, 이러한 방식으로 학습된 인공 신경망 모델은 추론에 필요한 용량이나 연산량이 많기 때문에 모바일, IoT(Internet of Things), 임베디드 등 컴퓨팅 리소스가 제한적인 에지(Edge) 컴퓨팅 환경에서는 이용되기가 어렵다는 한계가 있었다.
근래에 들어, 이러한 한계를 극복하기 위하여 인공 신경망 모델을 경량화하기 위한 다양한 방법들이 소개된 바 있는데, 그중에서 프루닝(Pruning; 가지치기)이란, 인공 신경망 모델이 학습한 많은 가중치 중에서 중요도가 낮은 가중치를 인공 신경망 모델에서 제거하는 등의 방식으로 인공 신경망 모델의 추론에 필요한 용량 및 연산량을 줄이는 기술을 의미한다.
일반적으로 프루닝은 가중치 각각에 대하여 제거 여부를 판단하는 가중치 프루닝(Weight Pruning)과 특정 구조(예를 들면, 커널(Kernel), 커널의 특정 채널, 레이어 등) 단위로 제거 여부를 판단하는 구조 프루닝(Structured Pruning)으로 분류할 수 있다. 가중치 프루닝의 경우 가중치의 수와 추론에 필요한 연산량을 많이 줄일 수 있다는 장점이 있기는 하지만, 프루닝된 모델이 희박 행렬(Sparse Matrix) 구조를 가지게 되므로, 프루닝으로 인한 용량 및 연산량의 감소 효과를 온전히 누리기 위해서는 별도의 하드웨어나 추가적인 프로그래밍이 필요하다는 단점이 있다. 이러한 단점으로 인하여 최근의 프루닝 기법들은 대부분 구조 프루닝을 사용하고 있으며, 특히 커널 단위나 채널 단위의 프루닝이 주를 이루고 있다.
하지만, 지금까지 소개된 기술에 의하면, 특정 레이어에서의 가중치를 다른 레이어(특히, 다른 스테이지의 레이어)에서 공유하는 것이 어렵고, 또한 인공 신경망 모델에서 프루닝되는 가중치의 비율을 높이는 것과 같이 이미 학습된 인공 신경망 모델에 변형을 가하기 위해서는 추가적인 학습이 필요하다는 한계가 있었다.
이에 본 발명자(들)는, 복수의 커널 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝 단위의 채널 길이를 위의 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧게 함으로써, 특정 레이어에서의 가중치가 다른 레이어에서 공유될 수 있도록 하고, 또한 이미 학습된 인공 신경망 모델을 최소한의 비용으로 변형할 수 있도록 하는 기술을 제안하는 바이다.
본 발명은 전술한 종래 기술의 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은, 인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이(1 x 1 프루닝 단위의 채널 길이는 위의 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)에 기초하여, 위의 프루닝 단위 각각에 관한 프루닝 인자 및 위의 프루닝 단위에 각각에 관한 가중치를 학습하고, 그 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 위의 프루닝 단위 중에서 위의 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 것을 다른 목적으로 한다.
또한, 본 발명은, 인공 신경망 모델에 포함되는 특정 레이어에서의 가중치가 다른 레이어에서도 공유될 수 있도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은, 이미 학습된 인공 신경망 모델을 최소한의 비용으로 변형할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이에 기초하여, 상기 프루닝 단위 각각에 관한 프루닝 인자 및 상기 프루닝 단위 각각에 관한 가중치를 학습하는 단계, 및 상기 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 상기 프루닝 단위 중에서 상기 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 단계를 포함하고, 상기 프루닝 단위의 채널 길이는 상기 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧은 방법이 제공된다.
본 발명의 다른 태양에 따르면, 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이에 기초하여, 상기 프루닝 단위 각각에 관한 프루닝 인자 및 상기 프루닝 단위 각각에 관한 가중치를 학습하는 프루닝 인자 학습부, 및 상기 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 상기 프루닝 단위 중에서 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 인공 신경망 모델 관리부를 포함하고, 상기 프루닝 단위의 채널 길이는 상기 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧은 시스템이 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 비일시성의 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이(1 x 1 프루닝 단위의 채널 길이는 위의 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)에 기초하여, 위의 프루닝 단위 각각에 관한 프루닝 인자 및 위의 프루닝 단위에 각각에 관한 가중치를 학습하고, 그 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 위의 프루닝 단위 중에서 위의 인공 신경망 모델에서 제거될 프루닝 단위를 결정할 수 있게 된다.
또한, 본 발명에 의하면, 인공 신경망 모델에 포함되는 특정 레이어에서의 가중치를 다른 레이어에서도 공유할 수 있게 된다.
또한, 본 발명에 의하면, 이미 학습된 인공 신경망 모델을 최소한의 비용으로 변형할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따라 인공 신경망 모델을 경량화하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 인공 신경망 모델 경량화 시스템의 내부 구성을 상세하게 도시하는 도면이다.
도 3 내지 도 4는 프루닝이 진행되는 과정을 예시적으로 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 인공 신경망 모델의 추론 과정을 예시적으로 나타내는 도면이다.
도 6은 ResNet의 구조를 나타내는 도면이다.
도 7 및 도 8은 복수의 컨볼루션 레이어 사이에서 가중치가 공유되는 과정을 예시적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 인공 신경망 모델 경량화 시스템의 내부 구성을 상세하게 도시하는 도면이다.
도 3 내지 도 4는 프루닝이 진행되는 과정을 예시적으로 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 인공 신경망 모델의 추론 과정을 예시적으로 나타내는 도면이다.
도 6은 ResNet의 구조를 나타내는 도면이다.
도 7 및 도 8은 복수의 컨볼루션 레이어 사이에서 가중치가 공유되는 과정을 예시적으로 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
전체 시스템의 구성
도 1은 본 발명의 일 실시예에 따라 인공 신경망 모델을 경량화하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템은 통신망(100), 인공 신경망 모델 경량화 시스템(200) 및 디바이스(300)를 포함할 수 있다.
먼저, 본 발명의 일 실시예에 따른 통신망(100)은 유선 통신이나 무선 통신과 같은 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 명세서에서 말하는 통신망(100)은 공지의 인터넷 또는 월드 와이드 웹(WWW; World Wide Web)일 수 있다. 그러나, 통신망(100)은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.
예를 들면, 통신망(100)은 무선 데이터 통신망으로서, 와이파이(WiFi) 통신, 와이파이 다이렉트(WiFi-Direct) 통신, 롱텀 에볼루션(LTE; Long Term Evolution) 통신, 5G 통신, 블루투스 통신(저전력 블루투스(BLE; Bluetooth Low Energy) 통신 포함), 적외선 통신, 초음파 통신 등과 같은 종래의 통신 방법을 적어도 그 일부분에 있어서 구현하는 것일 수 있다. 다른 예를 들면, 통신망(100)은 광 통신망으로서, 라이파이(LiFi; Light Fidelity) 등과 같은 종래의 통신 방법을 적어도 그 일부분에 있어서 구현하는 것일 수 있다.
다음으로, 본 발명의 일 실시예에 따른 인공 신경망 모델 경량화 시스템(200)은 인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이(1 x 1 프루닝 단위의 채널 길이는 위의 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)에 기초하여, 위의 프루닝 단위 각각에 관한 프루닝 인자 및 위의 프루닝 단위 각각에 관한 가중치를 학습하고, 그 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 위의 프루닝 단위 중에서 위의 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 기능을 수행할 수 있다.
본 발명에 따른 인공 신경망 모델 경량화 시스템(200)의 구성과 기능에 관하여는 이하의 상세한 설명을 통하여 자세하게 알아보기로 한다.
다음으로, 본 발명의 일 실시예에 따른 디바이스(300)는 인공 신경망 모델 경량화 시스템(200)에 접속한 후 통신할 수 있는 기능을 포함하는 디지털 기기로서, 스마트폰, 태블릿, 스마트 워치, 스마트 밴드, 스마트 글래스, 데스크탑 컴퓨터, 노트북 컴퓨터, 워크스테이션, PDA, 웹 패드, 이동 전화기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 디바이스(300)로서 채택될 수 있다. 또한, 본 발명의 일 실시예에 따른 디바이스(300)는 영상 촬영 모듈(예를 들면, CCTV, IP 카메라 등)을 포함하거나 영상 촬영 모듈 그 자체를 의미할 수도 있다. 본 발명의 일 실시예에 따르면, 이러한 영상 촬영 모듈은 영상 촬영 모듈에 의하여 촬영된 영상을 저장하는 기록 매체(예를 들면, DVR(Digital Video Recorder), NVR(Network Video Recorder) 등)를 포함하는 개념일 수 있다.
특히, 디바이스(300)는, 사용자가 인공 신경망 모델 경량화 시스템(200)으로부터 인공 신경망 모델 관리(예를 들면, 경량화된 인공 신경망 모델의 배포) 등의 서비스를 제공받을 수 있도록 지원하는 애플리케이션(미도시됨)을 포함할 수 있다. 이와 같은 애플리케이션은 인공 신경망 모델 경량화 시스템(200) 또는 외부의 애플리케이션 배포 서버(미도시됨)로부터 다운로드된 것일 수 있다. 한편, 이러한 애플리케이션의 성격은 후술할 바와 같은 인공 신경망 모델 경량화 시스템(200)의 프루닝 인자 학습부(210), 인공 신경망 모델 관리부(220), 통신부(230) 및 제어부(240)와 전반적으로 유사할 수 있다. 여기서, 애플리케이션은 그 적어도 일부가 필요에 따라 그것과 실질적으로 동일하거나 균등한 기능을 수행할 수 있는 하드웨어 장치나 펌웨어 장치로 치환될 수도 있다.
인공 신경망 모델 경량화 시스템의 구성
이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 인공 신경망 모델 경량화 시스템(200)의 내부 구성과 각 구성요소의 기능에 대하여 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 인공 신경망 모델 경량화 시스템(200)의 내부 구성을 상세하게 도시하는 도면이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공 신경망 모델 경량화 시스템(200)은, 프루닝 인자 학습부(210), 인공 신경망 모델 관리부(220), 통신부(230) 및 제어부(240)를 포함하여 구성될 수 있다. 본 발명의 일 실시예에 따르면, 프루닝 인자 학습부(210), 인공 신경망 모델 관리부(220), 통신부(230) 및 제어부(240)는 그 중 적어도 일부가 외부의 시스템(미도시됨)과 통신하는 프로그램 모듈일 수 있다. 이러한 프로그램 모듈은 운영 시스템, 응용 프로그램 모듈 또는 기타 프로그램 모듈의 형태로 인공 신경망 모델 경량화 시스템(200)에 포함될 수 있고, 물리적으로는 여러 가지 공지의 기억 장치에 저장될 수 있다. 또한, 이러한 프로그램 모듈은 인공 신경망 모델 경량화 시스템(200)과 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
한편, 인공 신경망 모델 경량화 시스템(200)에 관하여 위와 같이 설명되었으나, 이러한 설명은 예시적인 것이고, 인공 신경망 모델 경량화 시스템(200)의 구성요소 또는 기능 중 적어도 일부가 필요에 따라 디바이스(300) 또는 서버(미도시됨) 내에서 실현되거나 외부 시스템(미도시됨) 내에 포함될 수도 있음은 당업자에게 자명하다.
먼저, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이(1 x 1 프루닝 단위의 채널 길이는 위의 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)에 기초하여, 위의 프루닝 단위 각각에 관한 프루닝 인자 및 위의 프루닝 단위 각각에 관한 가중치를 학습하는 기능을 수행할 수 있다.
구체적으로, 프루닝 단위란 인공 신경망 모델을 경량화하기 위하여 프루닝을 수행함에 있어서 파라미터(예를 들면, 가중치)가 제거되는 단위를 의미할 수 있으며, 전통적인 프루닝 기법에서는 커널, 채널, 레이어 등을 프루닝 단위로서 채용하고 있다. 본 발명에서는 스트라이프(stripe)를 더 분할한 것을 프루닝 단위(이하의 명세서 및 도면에서, 미니 스트라이프(mini stripe)라고 표현될 수 있음)로서 채용하는데, 이하에서는 도 3 및 도 4를 참조하여 이러한 프루닝 단위에 관하여 상세히 설명하도록 한다. 한편, 본 명세서에서, 커널 또는 스트라이프를 분할한다는 것은 반드시 물리적으로 분할하는 것을 의미하는 것은 아니고, 커널 또는 스트라이프를 둘 이상의 프루닝 단위로 구분하여 취급한다는 의미(즉, 개념적인 분할)를 포함하는 것으로 이해되어야 한다.
도 3 및 도 4의 (a)는 프루닝이 진행되는 과정을 예시적으로 나타내는 도면이다.
도 3을 참조하면, 커널(즉, 필터)이 프루닝 단위로서 채용되어 프루닝이 진행되는 과정이 표현된다. 예를 들면, 특정 레이어에서 사용되는 N 개의 K x K 커널(F1 내지 FN; 채널 길이: C) 중에서 두 번째 커널(F2)이 인공 신경망 모델에서 제거될 프루닝 단위로서 결정되면, 다음 레이어에서 사용되는 K x K 커널들의 두 번째 채널이 제거되는 것으로 결정될 수 있다.
도 4의 (a)를 참조하면, 스트라이프가 프루닝 단위로서 채용되어 프루닝이 진행되는 과정이 표현된다. 여기서, 스트라이프란 K x K 커널을 채널 방향의 K2 개의 1 x 1 커널로 분할한 경우에 그 K2 개의 1 x 1 커널 각각을 의미한다. 즉, 스트라이프는 특정 레이어에서 사용되는 커널에 대하여 채널 방향으로 적용되는 프루닝 단위를 의미하며, 해당 커널의 채널 길이와 동일한 채널 길이를 갖는다. 예를 들면, 특정 레이어에서 사용되는 3 x 3 커널(F1; 채널 길이: C)은 9개의 스트라이프(채널 길이: C)로 취급될 수 있다. 그리고, 그 9개의 스트라이프 중에서 적어도 일부(예를 들면, 3개)가 인공 신경망 모델에서 제거될 프루닝 단위로서 결정될 수 있다.
도 4의 (b)는 본 발명의 일 실시예에 따른 프루닝이 진행되는 과정을 예시적으로 나타내는 도면이다.
도 4의 (b)를 참조하면, 본 발명의 일 실시예에 따라 복수의 커널 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝 단위에 기초하여 프루닝이 진행되는 과정이 표현된다. 여기서, 본 발명의 일 실시예에 따르면, 1 x 1 프루닝 단위는 위에서 설명된 스트라이프가 분할된 것에 해당할 수 있다. 예를 들어, 본 발명의 일 실시예에 따르면, 1 x 1 프루닝 단위의 채널 길이가 C/2인 경우에, 특정 레이어에서 사용되는 3 x 3 커널(채널 길이: C)은 18개의 1 x 1 프루닝 단위(채널 길이: C/2)로 취급될 수 있다. 그리고, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 그 18개의 스트라이프 중에서 적어도 일부(예를 들면, 6개)를 인공 신경망 모델에서 제거할 프루닝 단위로서 결정할 수 있다.
또한, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는 인공 신경망 모델에 포함되는 복수의 컨볼루션 레이어(Convolution Layer)에 공통적으로 적용될 수 있다. 즉, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는 특정 인공 신경망 모델 안에서 고정된 것, 즉 상수일 수 있다. 한편, 컨볼루션 레이어나 컨볼루션 연산은 인공 신경망 기술 분야에서 사용되는 일반적인 용어에 해당하므로 이에 관한 자세한 설명은 생략하기로 한다.
구체적으로, 인공 신경망 모델에서는 레이어 또는 스테이지가 변함에 따라 커널의 채널 길이가 변할 수 있는데, 스트라이프의 채널 길이는 해당 스트라이프가 적용되는 커널의 채널 길이와 같으므로, 커널의 채널 길이가 변함에 따라 스트라이프의 채널 길이도 같이 변화한다(즉, 특정 인공 신경망 모델 안에서 스트라이프의 채널 길이는 변수임). 그러나, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는, 스트라이프의 채널 길이와는 다르게, 해당 프루닝 단위가 적용되는 커널의 채널 길이가 변하더라도 변하지 않을 수 있다. 이에 따라, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는 인공 신경망 모델에 포함되는 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧을 수 있다.
도 6은 ResNet의 구조를 나타내는 도면이다.
예를 들어, 도 6을 참조하면, 본 발명의 일 실시예에 따르면, 18-Layer의 ResNet에서 두 번째 스테이지(conv2_x)에 사용되는 3 x 3 커널들의 채널 길이는 64인데, 해당 스테이지에서 사용되는 1 x 1 프루닝 단위의 채널 길이는 32(또는 64)일 수 있다. 그리고, 18-Layer의 ResNet에서 세 번째 스테이지(conv3_x), 네 번째 스테이지(conv4_x) 및 다섯 번째 스테이지(conv5_x)에 사용되는 3 x 3 커널들의 채널 길이는 각각 128, 256 및 512인데, 해당 스테이지들에서 사용되는 1 x 1 프루닝 단위의 채널 길이는 두 번째 스테이지와 마찬가지로 32(또는 64)일 수 있다.
또한, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는 2의 멱수(즉, 2의 제곱, 2의 세제곱, 2의 네제곱 등)일 수 있다. 대다수의 인공 신경망 모델에서는 각 레이어에 사용되는 커널의 수가 2의 멱수로 정해져 있으므로, 본 발명에 관하여 후술하는 내용이 대다수의 인공 신경망 모델에 일반적으로 적용될 수 있다.
한편, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이(1 x 1 프루닝 단위의 채널 길이는 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)에 기초하여 프루닝 인자 및 가중치를 학습할 수 있고, 이러한 프루닝 인자 및 가중치는 위의 1 x 1 프루닝 단위 각각에 관한 것일 수 있다. 여기서, 본 발명의 일 실시예에 따르면, 프루닝 단위 각각에 관한 가중치는 그 각각의 프루닝 단위에 포함되는 가중치를 의미할 수 있으며, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)가 이러한 가중치를 학습하는 것은 일반적인 인공 신경망 모델에서의 가중치 학습과 그 내용이 동일하므로, 자세한 설명은 생략하기로 한다.
구체적으로, 본 발명의 일 실시예에 따르면, 1 x 1 프루닝 단위 각각에 관한 프루닝 인자는 해당 1 x 1 프루닝 단위를 인공 신경망 모델에서 제거할 것인지 여부를 결정하기 위한 것으로서, 예를 들면, 게이트 인자(gate factor), 스케일링 인자(scaling factor), 해당 1 x 1 프루닝 단위에 포함되는 가중치들의 합(예를 들면, L1 norm) 등을 의미할 수 있다.
예를 들면, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 프루닝 인자가 스케일링 인자인 경우에, 1 x 1 프루닝 단위 각각에 스케일링 인자를 두어 학습시킨 다음에, 학습된 스케일링 인자의 크기(즉, 해당 1 x 1 프루닝 단위에 포함되는 가중치의 중요도)가 작은 순서대로, 또는 그 크기가 소정 기준에 미치지 못하는지 여부에 따라 1 x 1 프루닝 단위를 제거하고, 프루닝 인자를 재학습하는 방식으로 프루닝 인자를 학습할 수 있다.
다른 예를 들면, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 프루닝 인자가 해당 1 x 1 프루닝 단위에 포함되는 가중치들의 합(예를 들면, L1 norm)인 경우에, 그 가중치들의 합에 기초하여 1 x 1 프루닝 단위를 제거하고, 프루닝 인자를 재학습하는 방식으로 프루닝 인자를 학습할 수 있다.
또 다른 예를 들면, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 프루닝 인자가 게이트 인자인 경우에, 그라디언트 하강법(Gradient Descent)을 이용하여 게이트 인자를 학습할 수 있다. 구체적으로, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 순전파(forward propagation) 시에 실수의 파라미터(예를 들면, 스케일링 인자)를 헤비사이드 계단 함수(Heaviside step function)에 적용시킴으로써 게이트 인자를 학습할 수 있고, 이에 따라 게이트 인자는 0 또는 1의 값을 유지할 수 있다. 그리고, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)는, 역전파(back propagation) 시에는 헤비사이드 계단 함수를 미분이 가능한 시그모이드(Sigmoid) 함수로 대체하여 게이트 인자를 학습할 수 있다. 위에서 설명된 방식에 따라 게이트 인자를 학습하는 경우에는, 스케일링 인자나 L1 norm에 관한 실시예와는 다르게 재학습이 필요하지 않다는 장점이 있다. 한편, 본 발명의 일 실시예에 따르면, 이러한 게이트 인자는 컨볼루션 연산이 수행되기 전에 1 x 1 프루닝 단위에 곱해질 수 있고, 컨볼루션 연산이 수행된 이후의 출력 텐서(tensor)의 채널 값들에 곱해질 수도 있다.
다만, 본 발명의 일 실시예에 따른 프루닝 인자의 종류 및 프루닝 인자를 학습하는 방법이 위에서 설명된 것에 한정되는 것은 아니며, 본 발명의 목적을 달성할 수 있는 범위 내에서 다양하게 변경될 수 있다.
한편, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)가 프루닝 인자를 학습하기 위하여 사용되는 손실 함수는, 인공 신경망 모델의 기본적인 손실 함수(예를 들면, 분류(classification)에서는 크로스 엔트로피(Cross Entropy) 함수)에 특정 함수가 더해지는 형태일 수 있다. 예를 들면, 본 발명의 일 실시예에 따르면, 이러한 특정 함수는 프루닝 인자의 L1 norm 값에 페널티 상수 람다가 곱해진 것일 수 있고, 페널티 상수 람다는 클수록 더 많은 1 x 1 프루닝 단위를 제거하는 방향으로 학습한다는 의미를 가질 수 있다. 다만, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)가 프루닝 인자를 학습하기 위하여 사용되는 손실 함수가 위에서 설명된 것에 한정되는 것은 아니고, 본 발명의 목적을 달성할 수 있는 범위 내에서 다양하게 변경될 수 있다.
다음으로, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 본 발명의 일 실시예에 따른 프루닝 인자 학습부(210)에 의하여 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 1 x 1 프루닝 단위 중에서 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 기능을 수행할 수 있다.
구체적으로, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 인공 신경망 모델의 추론 결과에 미치는 영향이 적거나 없는 1 x 1 프루닝 단위를 인공 신경망 모델에서 제거될 프루닝 단위로서 결정할 수 있다. 예를 들면, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 1 x 1 프루닝 단위에 관한 프루닝 인자가 특정 값에 해당하거나(예를 들면, 게이트 인자의 값이 0인 경우) 소정의 기준에 미치지 못하는 경우(예를 들면, 스케일링 인자의 값이 임계값 이하인 경우)에, 해당 1 x 1 프루닝 단위를 인공신경망 모델에서 제거될 프루닝 단위로서 결정할 수 있다.
또한, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 특정 1 x 1 프루닝 단위가 다른 1 x 1 프루닝 단위와 같거나 같은 것으로 취급될 수 있는 경우(예를 들면, 특정 1 x 1 프루닝 단위에 포함되는 가중치와 다른 1 x 1 프루닝 단위에 포함되는 가중치가 같거나 같은 것으로 취급될 수 있는 경우)에, 그중에서 하나의 1 x 1 프루닝 단위만 저장하고 나머지 1 x 1 프루닝 단위를 인공 신경망 모델에서 제거할 프루닝 단위로서 결정할 수 있다. 그리고, 상술한 바와 같이, 본 발명의 일 실시예에 따른 1 x 1 프루닝 단위의 채널 길이는 인공 신경망 모델에 포함되는 복수의 컨볼루션 레이어에 공통적으로 적용될 수 있으므로, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 제1 컨볼루션 레이어 및 그 제1 컨볼루션 레이어와 채널 길이가 다른 제2 컨볼루션 레이어에서 위의 제거될 프루닝 단위가 공유(즉, 가중치가 공유)되도록 할 수 있다. 이에 따라, 종래 기술에 비하여 인공 신경망 모델 내에서 공유될 수 있는 1 x 1 프루닝 단위의 수가 증가하게 되므로, 더 높은 수준의 경량화가 가능하게 된다.
도 7 및 도 8은 복수의 컨볼루션 레이어 사이에서 가중치가 공유되는 과정을 예시적으로 나타내는 도면이다.
예를 들면, 도 7 및 도 8을 참조하면, 인공 신경망 모델의 스테이지 3의 컨볼루션 레이어의 채널 길이가 128이고 스테이지 4의 컨볼루션 레이어의 채널 길이가 256인 경우를 가정할 수 있다. 이러한 경우에, 도 7을 참조하면, 스트라이프를 프루닝 단위로서 채용하면, 컨볼루션 레이어의 채널 길이가 변함에 따라 스트라이프의 채널 길이도 변하기 때문에, 스테이지 3의 레이어 3 및 레이어 4 사이에서 공유되는 스트라이프(710)가 스테이지 4의 레이어 5에서는 공유될 수 없다. 반면에, 도 8을 참조하면, 본 발명의 일 실시예에 따라 1 x 1 프루닝 단위(1 x 1 프루닝 단위의 채널 길이는 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧음)를 채용하면, 스테이지 3의 레이어 3 및 레이어 4 사이에서 공유되는 1 x 1 프루닝 단위(810)가 스테이지 4의 레이어 5 및 레이어 6에서도 공유될 수 있다.
한편, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 위와 같이 인공 신경망 모델에서 제거될 1 x 1 프루닝 단위가 결정되면, 그 결정된 프루닝 단위를 인공 신경망 모델에서 제거할 수 있다.
도 5는 본 발명의 일 실시예에 따른 인공 신경망 모델의 추론 과정을 예시적으로 나타내는 도면이다.
구체적으로, 도 5를 참조하면, 특정 레이어서 사용되는 K x K 커널의 채널 길이가 C이고, 1 x 1 프루닝 단위의 채널 길이가 C/2인 경우를 가정할 수 있다. 이러한 경우에, 하나의 K x K 커널을 둘로 분할하고(510a 및 520a) 그 분할된 커널 각각을 K2 개로 분할한 것(511a 및 521a) 각각을 하나의 1 x 1 프루닝 단위로 생각할 수 있다. 그리고, 입력 텐서와 분할된 커널 각각(510a 및 520a)을 컨볼루션 연산한 결과(510b 및 520b)는, 그 입력 텐서와 1 x 1 프루닝 단위(511a 및 521a) 각각을 컨볼루션 연산한 결과(511b 및 521b)를 적절하게 합친 것과 같다. 여기서, 특정 레이어에서의 하나의 K x K 커널에 대응되는 1 x 1 프루닝 단위(511a 및 521a) 전부가 인공 신경망 모델에서 제거된다고 가정하면, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 그 다음 레이어에서 사용되는 일부의 1 x 1 프루닝 단위들에 대하여, 위의 제거된 1 x 1 프루닝 단위(511a 및 521a)와 연관되는 채널을 제거함으로써 인공 신경망 모델을 경량화할 수 있다.
한편, 위와 같이 다음 레이어에서 채널이 제거되는 일부의 1 x 1 프루닝 단위들은 위의 특정 레이어에서 제거되는 1 x 1 프루닝 단위(511a 및 521a)가 위의 특정 레이어에서 몇 번째 커널에 대응되는 것인지에 따라 결정될 수 있다. 예를 들면, 특정 레이어에서 64개의 커널 중 40번째 커널에 관한 1 x 1 프루닝 단위가 모두 제거되었고, 511a 및 521a가 그 다음 레이어(채널 길이(C): 64)에서 사용되는 커널에 대응되는 1 x 1 프루닝 단위를 나타낸다고 가정하면, 그 다음 레이어에서 사용되는 모든 커널에 대하여, 1 내지 32번째 채널과 컨볼루션 연산이 수행되는 1 x 1 프루닝 단위(511a)가 아니라, 33 내지 64번째 채널과 컨볼루션 연산이 수행되는 1 x 1 프루닝 단위(521a)의 8번째 채널이 제거될 수 있다.
한편, 종래 기술에 따르면, 프루닝 비율을 특정하여 학습한 인공 신경망 모델이 그 프루닝 비율을 변경하기 위해서는 프루닝 인자 등을 다시 학습해야 하는 단점이 있었다. 그러나, 본 발명에 따르면, 프루닝 인자를 한 번만 학습하고도 인경 신경망 모델의 프루닝 비율을 변경할 수 있게 된다.
예를 들면, 본 발명의 일 실시예에 따르면, 프루닝 비율이 20%(즉, 제거되는 가중치의 비율이 80%)로 학습된 경우에, 인공 신경망 모델에서 사용되는 1 x 1 프루닝 단위의 채널 길이를 더 짧게 설정함으로써 프루닝 비율이 더 낮아지도록(즉, 제거되는 가중치의 비율이 더 높아지도록)할 수 있다. 이 경우에, 프루닝 인자가 스케일링 인자이고, 1 x 1 프루닝 단위의 채널 길이를 원래 채널 길이의 절반으로 설정하고, 원래 1 x 1 프루닝 단위의 가중치가 WA, 그 프루닝 단위의 스케일링 인자가 A라고 가정하면, 채널 길이가 짧아진 두 1 x 1 프루닝 단위(가중치는 각각 W1 및 W2)의 스케일링 인자는 추가적인 학습이 없어도 각각 A x |W1| / |WA| 및 A x |W2| / |WA|로 산출될 수 있다.
한편, 위와 같이 1 x 1 프루닝 단위의 채널 길이를 변경하면 인공 신경망 모델의 프루닝 비율, 정확도, 용량 및/또는 연산량이 비선형적으로 변경되는데, 본 발명의 일 실시예에 따른 인공 신경망 모델 관리부(220)는, 이러한 성질을 이용하여, 한 번의 학습만으로도 다양한 구조의 인공 신경망 모델을 디바이스(300)에 배포할 수 있게 되고, 결과적으로 다양한 에지 컴퓨팅 환경에 적합한 인공 신경망 모델이 사용되도록 할 수 있다.
다음으로, 본 발명의 일 실시예에 따른 통신부(230)는 프루닝 인자 학습부(210) 및 인공 신경망 모델 관리부(220)로부터의/로의 데이터 송수신이 가능하도록 하는 기능을 수행할 수 있다.
마지막으로, 본 발명의 일 실시예에 따른 제어부(240)는 프루닝 인자 학습부(210), 인공 신경망 모델 관리부(220) 및 통신부(230) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명의 일 실시예에 따른 제어부(240)는 인공 신경망 모델 경량화 시스템(200)의 외부로부터의/로의 데이터 흐름 또는 인공 신경망 모델 경량화 시스템(200)의 각 구성요소 간의 데이터 흐름을 제어함으로써, 프루닝 인자 학습부(210), 인공 신경망 모델 관리부(220) 및 통신부(230)에서 각각 고유 기능을 수행하도록 제어할 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 통신망
200: 인공 신경망 경량화 시스템
210: 프루닝 인자 학습부
220: 인공 신경망 모델 관리부
230: 통신부
240: 제어부
300: 디바이스
200: 인공 신경망 경량화 시스템
210: 프루닝 인자 학습부
220: 인공 신경망 모델 관리부
230: 통신부
240: 제어부
300: 디바이스
Claims (6)
- 인공 신경망 모델을 경량화하기 위한 방법으로서,
인공 신경망 모델에 포함되는 복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이에 기초하여, 상기 프루닝 단위 각각에 관한 프루닝 인자 및 상기 프루닝 단위 각각에 관한 가중치를 학습하는 단계, 및
상기 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 상기 프루닝 단위 중에서 상기 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 단계를 포함하고,
상기 프루닝 단위의 채널 길이는 상기 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧은
방법. - 제1항에 있어서,
상기 프루닝 단위의 채널 길이는 상기 인공 신경망 모델에 포함되는 복수의 컨볼루션 레이어(Convolution Layer)에 공통적으로 적용되는
방법. - 제2항에 있어서,
상기 복수의 컨볼루션 레이어에는 제1 컨볼루션 레이어 및 상기 제1 컨볼루션 레이어와 채널 길이가 다른 제2 컨볼루션 레이어가 포함되고,
상기 결정 단계에서, 상기 제1 컨볼루션 레이어 및 상기 제2 컨볼루션 레이어에서 상기 제거될 프루닝 단위가 공유되도록 하는
방법. - 제1항에 있어서,
상기 프루닝 단위의 채널 길이는 2의 멱수인
방법. - 제1항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 비일시성의 컴퓨터 판독 가능 기록 매체.
- 인공 신경망 모델을 경량화하기 위한 시스템으로서,
복수의 커널(Kernel) 각각에 대하여 채널 방향으로 적용되는 1 x 1 프루닝(Pruning) 단위의 채널 길이에 기초하여, 상기 프루닝 단위 각각에 관한 프루닝 인자 및 상기 프루닝 단위 각각에 관한 가중치를 학습하는 프루닝 인자 학습부, 및
상기 학습되는 프루닝 인자 및 가중치 중 적어도 하나에 기초하여 상기 프루닝 단위 중에서 인공 신경망 모델에서 제거될 프루닝 단위를 결정하는 인공 신경망 모델 관리부를 포함하고,
상기 프루닝 단위의 채널 길이는 상기 복수의 커널 중 적어도 일부의 커널의 채널 길이보다 짧은
시스템.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200188895A KR102464508B1 (ko) | 2020-12-31 | 2020-12-31 | 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 |
US18/270,416 US20240104375A1 (en) | 2020-12-31 | 2021-11-15 | Method and system for lightweighting artificial neural network model, and non-transitory computer-readable recording medium |
PCT/KR2021/016656 WO2022145713A1 (ko) | 2020-12-31 | 2021-11-15 | 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200188895A KR102464508B1 (ko) | 2020-12-31 | 2020-12-31 | 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220096456A true KR20220096456A (ko) | 2022-07-07 |
KR102464508B1 KR102464508B1 (ko) | 2022-11-09 |
Family
ID=82260486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200188895A KR102464508B1 (ko) | 2020-12-31 | 2020-12-31 | 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240104375A1 (ko) |
KR (1) | KR102464508B1 (ko) |
WO (1) | WO2022145713A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024135860A1 (ko) * | 2022-12-19 | 2024-06-27 | 한국전자기술연구원 | 경량 딥러닝 하드웨어 장치를 위한 데이터 프루닝 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190062225A (ko) | 2017-11-28 | 2019-06-05 | 주식회사 날비컴퍼니 | 컨볼루션 신경망 내 필터 프루닝 장치 및 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017129325A1 (en) * | 2016-01-29 | 2017-08-03 | Fotonation Limited | A convolutional neural network |
AU2018350891B9 (en) * | 2017-10-16 | 2022-05-19 | Illumina, Inc. | Deep learning-based techniques for training deep convolutional neural networks |
JP7349438B2 (ja) * | 2018-02-16 | 2023-09-22 | 三星電子株式会社 | ニューラル・ネットワーク・アクセラレータ |
US11449756B2 (en) * | 2018-09-24 | 2022-09-20 | Samsung Electronics Co., Ltd. | Method to balance sparsity for efficient inference of deep neural networks |
-
2020
- 2020-12-31 KR KR1020200188895A patent/KR102464508B1/ko active IP Right Grant
-
2021
- 2021-11-15 US US18/270,416 patent/US20240104375A1/en active Pending
- 2021-11-15 WO PCT/KR2021/016656 patent/WO2022145713A1/ko active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190062225A (ko) | 2017-11-28 | 2019-06-05 | 주식회사 날비컴퍼니 | 컨볼루션 신경망 내 필터 프루닝 장치 및 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024135860A1 (ko) * | 2022-12-19 | 2024-06-27 | 한국전자기술연구원 | 경량 딥러닝 하드웨어 장치를 위한 데이터 프루닝 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2022145713A1 (ko) | 2022-07-07 |
KR102464508B1 (ko) | 2022-11-09 |
US20240104375A1 (en) | 2024-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240104378A1 (en) | Dynamic quantization of neural networks | |
KR102631381B1 (ko) | 컨볼루션 신경망 처리 방법 및 장치 | |
KR20180073118A (ko) | 컨볼루션 신경망 처리 방법 및 장치 | |
CN111738401A (zh) | 模型优化方法、分组压缩方法、相应的装置、设备 | |
CN111176820B (zh) | 一种基于深度神经网络的边缘计算任务的分配方法及装置 | |
CN108809723A (zh) | 一种边缘服务器联合任务卸载及卷积神经网络层调度方法 | |
JP7438517B2 (ja) | ニューラルネットワークの圧縮方法、ニューラルネットワーク圧縮装置、コンピュータプログラム、及び圧縮されたニューラルネットワークデータの製造方法 | |
CN110796251A (zh) | 基于卷积神经网络的图像压缩优化方法 | |
CN111126595A (zh) | 一种神经网络的模型压缩的方法和设备 | |
US12050976B2 (en) | Convolution operations utilizing nonzero padding data copied from input channel data | |
EP3767549A1 (en) | Delivery of compressed neural networks | |
CN111931901A (zh) | 一种神经网络构建方法以及装置 | |
US20230252294A1 (en) | Data processing method, apparatus, and device, and computer-readable storage medium | |
KR102464508B1 (ko) | 인공 신경망 모델을 경량화하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 | |
CN111178258A (zh) | 一种图像识别的方法、系统、设备及可读存储介质 | |
JP6935868B2 (ja) | 画像認識装置、画像認識方法、およびプログラム | |
CN111369430A (zh) | 基于移动深度学习引擎的移动端人像智能背景替换方法 | |
CN115081598B (zh) | 算子处理方法及装置、电子设备、计算机可读存储介质 | |
CN111406263A (zh) | 神经网络架构搜索的方法与装置 | |
Yu et al. | Heterogeneous federated learning using dynamic model pruning and adaptive gradient | |
KR102657904B1 (ko) | 뉴럴 네트워크에서의 다중 레벨 단계적 양자화 방법 및 장치 | |
KR20210114912A (ko) | 자원 효율적 추론을 위한 인공 신경망 장치 | |
Zhang et al. | A locally distributed mobile computing framework for DNN based android applications | |
KR20220039313A (ko) | 뉴럴 네트워크 연산 처리 방법 및 장치 | |
CN114761968A (zh) | 用于频域静态通道滤波的方法、系统和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |