KR102607176B1 - 웨이트 파라미터 감소를 위한 자기 쳐내기 신경망들 - Google Patents
웨이트 파라미터 감소를 위한 자기 쳐내기 신경망들 Download PDFInfo
- Publication number
- KR102607176B1 KR102607176B1 KR1020180096347A KR20180096347A KR102607176B1 KR 102607176 B1 KR102607176 B1 KR 102607176B1 KR 1020180096347 A KR1020180096347 A KR 1020180096347A KR 20180096347 A KR20180096347 A KR 20180096347A KR 102607176 B1 KR102607176 B1 KR 102607176B1
- Authority
- KR
- South Korea
- Prior art keywords
- neural network
- parameter
- weight values
- function
- weights
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 89
- 238000013138 pruning Methods 0.000 title abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 description 118
- 238000004590 computer program Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 5
- 244000141353 Prunus domestica Species 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 210000004205 output neuron Anatomy 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000035508 accumulation Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000002364 input neuron Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 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
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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)
- Machine Translation (AREA)
Abstract
분석적 문턱 함수(h(w))를 이용하여 신경망의 웨이트들을 쳐내는 기술은 최적으로 쳐내진 웨이트들을 갖는 신경망을 제공한다. 신경망은 각 계층이 신경망의 속도 성능, 신경망의 정확도, 또는 이들의 조합을 향상하는 대응하는 계층과 연관된 웨이트들(w)의 세트를 포함하는 복수의 계층들을 포함한다. 웨이트들(w)의 각 세트는 입력 훈련 데이터에 응답하여 신경망의 출력을 역전달함으로써 최소화된 비용 함수(c)에 기반한다. 비용 함수(c)는 또한 분석적 문턱 함수(h(w))의 제1 파라미터에 대한 비용 함수(c)의 도함수, 그리고 분석적 문턱 함수(h(w))의 제2 파라미터에 대한 상기 비용 함수(c)의 도함수에 기반하여 최소화된다.
Description
여기에 기재된 주제는 일반적으로 신경망의 웨이트들을 쳐내는 데에 문턱 함수를 활용하는 장치 및 방법에 관한 것으로, 더 구체적으로는, 역전달(back-propagation) 동안 웨이트들을 최적으로 쳐내는 분석적 문턱 함수를 이용하여 신경망의 웨이트들을 쳐냄으로써 신경망의 속도 성능, 신경망의 정확도 또는 이들의 조합을 향상하는 장치 및 방법에 관한 것이다.
심층 학습 신경망들(DNN)(Deep-Learning Neural Networks)은, 예를 들어, 이미지 분류 및 대상 검출과 같은(그러나 한정되지 않는) 컴퓨터 시각 연관 문제들(computer-vision-related problems)을 해결하기 위해 사용되는 기술이다. DNN은 자율 주행, 모바일 장치들 및 AI 소프트웨어 응용들과 같은 응용들에 대해 상업적 잠재력을 갖는다. DNN은, 예를 들어, 스마트폰들과 같은 핸드헬드 장치들에 DNN을 배치하는 데에 장애가 될 수 있는 높은 연산 요구를 갖는다.
다양한 계층들은 망 내의 다른 계층들에 의존하므로, 통상적인 DNN 내의 큰 수의 계층들로 인해 각 계층을 위한 최적의 웨이트 값들을 판단하는 것은 심각하게 복잡한 작업을 제기한다. 즉, 하나의 계층 내의 뉴런의 웨이트들의 값들은 다른 계층들의 웨이트 값들에 의존할 수 있으므로, 예를 들어, 각 계층에서 웨이트들을 쳐내는 탐욕적인 계층 단위의 임계 처리(thresholding) 접근은 비효율적일 수 있고 또한 전체적인 시스템 정확도의 상당한 손실을 유발할 수 있다.
따라서, 연구는 DNN과 연관된 높은 연산 요구를 극복하고 그리고 DNN의 웨이트 값들을 최적으로 쳐내는 방법을 제공하는 데에 집중하여 왔다. 웨이트들을 쳐내기 위한 하나의 접근은 미리 훈련된 커널 웨이트들을 쳐내고 그리고 커널 웨이트들을 쳐냄으로써 손실되었던 정확도를 복원하기 위해 망을 재훈련하는 반복적인 기술에 집중하여 왔다. 그러나 반복 프로세스는 감내할 수 있는 정확도 손실을 생성하는 명백한 문턱값들 및 웨이트들이 경험적으로 찾아질 때까지 지속하므로, 반복적인 쳐냄은 지루하고 시간 소모가 크다.
본 발명의 목적은 속도 성능 및 정확도를 최적화하는 웨이트들을 생성하는 신경망 및 신경망의 방법을 제공하는 데에 있다.
예시적인 실시 예는 복수의 계층들을 포함할 수 있는 신경망을 제공하고, 각 계층은 상기 신경망의 속도 성능, 상기 신경망의 정확도, 또는 이들의 조합을 향상하는 대응하는 계층과 연관된 웨이트들(w)의 세트를 포함할 수 있고, 상기 웨이트들의 세트는 입력 훈련 데이터에 응답하여 상기 신경망의 출력을 역전달함으로써 최소화되는 비용 함수(c), 분석적 문턱 함수(h(w))의 제1 파라미터에 대한 상기 비용 함수(c)의 도함수, 그리고 상기 분석적 문턱 함수(h(w))의 제2 파라미터에 대한 상기 비용 함수(c)의 도함수에 기반할 수 있다. 상기 분석적 문턱 함수는 0을 중심으로 한 연속적인 웨이트 값들의 제1세트에 대한 0의 값, 그리고 연속적인 웨이트 값들의 제2세트 및 연속적인 웨이트 값들의 제3세트에 대한 1의 값을 포함할 수 있고, 상기 연속적인 웨이트 값들의 상기 제2세트는 상기 연속적인 값들의 상기 제1세트와 다르고 더 클 수 있고 그리고 상기 연속적인 웨이트 값들의 상기 제3세트는 상기 연속적인 웨이트 값들의 상기 제1세트와 다르고 더 작을 수 있다.
상기 분석적 문턱 함수(h(w))는 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제2세트 사이의 제1 에지 및 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제3세트 사이의 제2 에지를 더 포함할 수 있고, 상기 제1 및 제2 에지들의 각각의 가파름은 상기 분석적 문턱 함수(h(w))의 상기 제1 파라미터의 값에 기반할 수 있고, 그리고 상기 제1 및 제2 에지들 사이의 거리는 상기 분석적 문턱 함수(h(w))의 상기 제2 파라미터의 값에 기반할 수 있다.
다른 예시적인 실시 예는 신경망의 웨이트들을 쳐내는 방법을 제공하고, 상기 방법은 분석적 문턱 함수(h(w))에 기반하여 신경망의 복수의 계층들의 각 계층과 연관된 웨이트들(w)에 대한 웨이트 함수(f(w))를 형성하는 단계를 포함할 수 있고, 상기 분석적 문턱 함수는 0을 중심으로 한 연속적인 웨이트 값들의 제1세트에 대한 0의 값, 그리고 연속적인 웨이트 값들의 제2세트 및 연속적인 웨이트 값들의 제3세트에 대한 1의 값을 포함할 수 있고, 상기 연속적인 웨이트 값들의 상기 제2세트는 상기 연속적인 값들의 상기 제1세트와 다르고 더 클 수 있고 그리고 상기 연속적인 웨이트 값들의 상기 제3세트는 상기 연속적인 웨이트 값들의 상기 제1세트와 다르고 더 작을 수 있고, 상기 분석적 문턱 함수(h(w))는 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제2세트 사이의 제1 에지 및 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제3세트 사이의 제2 에지를 더 포함할 수 있고, 상기 제1 및 제2 에지들의 각각의 가파름은 상기 분석적 문턱 함수(h(w))의 상기 제1 파라미터의 값에 기반할 수 있고, 그리고 상기 제1 및 제2 에지들 사이의 거리는 상기 분석적 문턱 함수(h(w))의 상기 제2 파라미터의 값에 기반할 수 있고; 상기 방법은 훈련 데이터를 상기 신경망에 입력하여 상기 훈련 데이터에 기반하여 출력을 생성하는 단계; 상기 출력을 상기 신경망을 통해 역전달하는 단계; 그리고 상기 제1 파라미터에 대한 비용 함수(c)의 도함수에 기반하여 상기 비용 함수(c) 및 상기 제2 파라미터에 대한 상기 비용 함수(c)의 도함수에 기반하여 상기 비용 함수(c)를 최소화함으로써, 상기 출력 및 상기 훈련 데이터 사이의 차이를 최소화하여 상기 신경망의 속도 성능, 상기 신경망의 정확도, 또는 이들의 조합을 향상하는 웨이트들(w)의 세트를 판단하는 단계를 더 포함할 수 있다.
또 다른 예시적인 실시 예는 복수의 계층들을 포함할 수 있는 신경망을 제공하고, 각 계층은 상기 신경망의 속도 성능, 상기 신경망의 정확도, 또는 이들의 조합을 향상하는 대응하는 계층과 연관된 웨이트들(w)의 세트를 포함할 수 있고, 상기 웨이트들(w)의 각 세트는 입력 훈련 데이터에 응답하여 상기 신경망의 출력을 역전달함으로써 최소화되는 비용 함수(c), 분석적 문턱 함수(h(w))의 제1 파라미터에 대한 상기 비용 함수(c)의 도함수, 그리고 상기 분석적 문턱 함수(h(w))의 제2 파라미터에 대한 상기 비용 함수(c)의 도함수에 기반할 수 있고, 상기 분석적 문턱 함수(h(w))는 0을 중심으로 한 연속적인 웨이트 값들의 제1세트에 대한 0의 값, 그리고 연속적인 웨이트 값들의 제2세트 및 연속적인 웨이트 값들의 제3세트에 대한 1의 값을 포함할 수 있고, 상기 연속적인 웨이트 값들의 상기 제2세트는 상기 연속적인 값들의 상기 제1세트와 다르고 더 클 수 있고 그리고 상기 연속적인 웨이트 값들의 상기 제3세트는 상기 연속적인 웨이트 값들의 상기 제1세트와 다르고 더 작을 수 있고, 상기 분석적 문턱 함수(h(w))는 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제2세트 사이의 제1 에지 및 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제3세트 사이의 제2 에지를 더 포함할 수 있고, 상기 제1 및 제2 에지들의 각각의 가파름은 상기 분석적 문턱 함수(h(w))의 상기 제1 파라미터의 값에 기반할 수 있고, 그리고 상기 제1 및 제2 에지들 사이의 거리는 상기 분석적 문턱 함수(h(w))의 상기 제2 파라미터의 값에 기반할 수 있다.
본 발명에 따르면, 분석적 문턱 함수를 이용하여 웨이트들의 값들이 쳐내지고, 분석적 문턱 함수의 파라미터들은 훈련을 통해 학습된다. 따라서, 속도 성능 및 정확도를 최적화하는 신경망 및 신경망의 방법이 제공된다.
아래의 섹션에서, 여기에 기술된 주제의 측면들이 도면들에 도시된 모범적인 실시 예들을 참조하여 설명될 것이다.
도 1은 여기에 기술된 주제에 따라 예시적인 계층의 웨이트들을 최적으로 쳐내기 위한 분석적 웨이트 함수(f(w))를 형성하는 분석적 문턱 함수의 신경망 및 응용 내의 예시적인 계층을 보여준다.
도 2는 VGG 16 DNN의 구조를 보여준다.
도 3a는 여기에 기술된 주제에 따른 예시적인 문턱 함수의 그래프를 보여준다.
도 3b는 여기에 기술된 주제에 따른 예시적인 웨이트 함수(f(w))의 그래프를 보여준다.
도 4a, 도 4b, 도 4c, 도 4d, 도 4d 및 도 4f는 여기에 기술된 주제에 따른 파라미터들(α, β)에 대해 상이한 값들을 갖는 예시적인 문턱 함수(h(w))의 여섯 개의 예시적인 그래프들을 보여준다.
도 5a 및 도 5b는 여기에 기술된 주제에 따라 훈련 및 반복된 역전달이 파라미터(β)를 어떻게 최적화되는지 그리고 파라미터(β)가 최적화됨에 따른 문턱 함수(h(w))의 수렴을 각각 보여준다.
도 6은 여기에 기술된 주제에 따른 예시적인 문턱 함수(h(w)) 및 예시적인 문턱 함수(h(w))의 2차 도함수를 보여준다.
도 7은 여기에 기술된 주제에 따라 신경망의 웨이트들을 쳐내는 예시적인 방법의 순서도를 보여준다.
도 8은 여기에 기술된 주제에 따라 문턱 함수(h(w))를 이용하여 쳐내진 웨이트들을 갖는 신경망을 포함하는 전자 장치를 보여준다.
도 1은 여기에 기술된 주제에 따라 예시적인 계층의 웨이트들을 최적으로 쳐내기 위한 분석적 웨이트 함수(f(w))를 형성하는 분석적 문턱 함수의 신경망 및 응용 내의 예시적인 계층을 보여준다.
도 2는 VGG 16 DNN의 구조를 보여준다.
도 3a는 여기에 기술된 주제에 따른 예시적인 문턱 함수의 그래프를 보여준다.
도 3b는 여기에 기술된 주제에 따른 예시적인 웨이트 함수(f(w))의 그래프를 보여준다.
도 4a, 도 4b, 도 4c, 도 4d, 도 4d 및 도 4f는 여기에 기술된 주제에 따른 파라미터들(α, β)에 대해 상이한 값들을 갖는 예시적인 문턱 함수(h(w))의 여섯 개의 예시적인 그래프들을 보여준다.
도 5a 및 도 5b는 여기에 기술된 주제에 따라 훈련 및 반복된 역전달이 파라미터(β)를 어떻게 최적화되는지 그리고 파라미터(β)가 최적화됨에 따른 문턱 함수(h(w))의 수렴을 각각 보여준다.
도 6은 여기에 기술된 주제에 따른 예시적인 문턱 함수(h(w)) 및 예시적인 문턱 함수(h(w))의 2차 도함수를 보여준다.
도 7은 여기에 기술된 주제에 따라 신경망의 웨이트들을 쳐내는 예시적인 방법의 순서도를 보여준다.
도 8은 여기에 기술된 주제에 따라 문턱 함수(h(w))를 이용하여 쳐내진 웨이트들을 갖는 신경망을 포함하는 전자 장치를 보여준다.
아래의 상세한 설명에서, 다양한 구체적인 상세들이 본 기재의 충분한 이해를 제공하기 위하여 제시된다. 그러나 이 분야에 숙련된 자들은 기재된 측면들이 이러한 구체적인 상세들 없이도 실시될 수 있음을 이해할 것이다. 다른 예들에서, 잘 알려진 방법들, 절차들, 구성 요소들 그리고 회로들은 여기에 기재된 주제를 모호하게 하지 않도록 상세히 설명되지 않는다.
이 명세서 전체에 걸쳐 "일 실시 예" 또는 "실시 예"에 대한 참조는 해당 실시 예와 연관하여 기술된 특정한 특성, 구조 또는 특징이 여기에 기술된 적어도 하나의 실시 예에 포함될 수 있음을 의미한다. 따라서, 이 명세서 전체에 결쳐 다양한 위치들에서 "일 실시 예에서" 또는 "실시 예에서" 또는 "일 실시 예에 따른"의 문구의 출현은 동일한 실시 예만을 참조하지 않을 수 있다. 또한, 특정한 특성들, 구조들 또는 특징들은 하나 또는 그보다 많은 실시 예들에서 임의의 적절한 방법으로 조합될 수 있다. 이 점에서, 여기에서 사용되는 바와 같이, "모범적인"의 단어는 "예, 사례 또는 실례의 역할을 하는"을 의미한다. 여기에서 "모범적인" 것으로 기술되는 임의의 실시 예는 다른 실시 예들보다 선호되거나 유익한 것으로 이해되지 않는다. 또한, 여기에서 논의의 맥락에 의존하여, 단수 용어는 대응하는 복수 형태들을 포함할 수 있고 그리고 복수 용어는 대응하는 단수 형태를 포함할 수 있다. 여기에서 보여지고 논의되는 다양한 도면들(구성 요소 도면들을 포함하는)은 설명의 목적만을 위한 것이며 일정한 비례로 그려진 것이 아님이 유의되어야 한다. 마찬가지로, 다양한 파형들 및 타이밍 도면들은 설명의 목적만을 위해 보여진다. 예를 들어, 원소들의 일부의 차원들은 명료함을 위하여 다른 원소들보다 상대적으로 강조될 수 있다. 또한, 적절하다고 여겨지면, 참조 번호들은 도면들에서 반복되어 대응하는 그리고/또는 유사한 원소들을 가리킨다.
여기에서 사용되는 용어는 특정한 모범적인 실시 예들을 설명하는 것의 목적만을 위한 것이며 청구된 주제의 한정으로 의도되지 않는다. 여기에서 사용되는 바와 같이, 문맥이 명확히 다르게 나타내지 않으면, 단수 형태들은 복수 형태들 또한 포함하는 것으로 의도된다. 이 명세서에서 사용될 때, "포함한다" 그리고/또는 "포함하는"의 용어들은 언급된 특성들, 정수들, 단계들, 동작들, 원소들, 그리고/또는 구성 요소들의 존재를 기술하며, 하나 또는 그보다 많은 다른 특성들, 정수들, 단계들, 동작들, 원소들, 구성 요소들, 그리고/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않음이 더 이해될 것이다. 여기에서 사용되는 바와 같이, "제1", "제2" 등의 용어들은 이들이 선행하는 명사들을 위한 표지들로 사용되며, 명시적으로 정의되지 않는 한 임의의 형태의 순서(예를 들어, 공간적, 시간적, 논리적 등)를 암시하지 않는다. 또한, 동일한 참조 번호들은 둘 또는 그보다 많은 도면들에 걸쳐 동일한 또는 유사한 기능을 갖는 부분들, 구성 요소들, 블록들, 회로들, 유닛들, 또는 모듈들을 참조하는 데에 사용될 수 있다. 그러나 이러한 사용은 설명의 단순화 및 논의의 용이화만을 위한 것이다. 이러한 사용은 이러한 구성 요소들 또는 유닛들의 구조적 또는 구성적 상세들이 모든 실시 예들에 걸쳐 동일하다거나 또는 공통으로 참조되는 부분들/모듈들이 여기에서 논의되는 특정한 실시 예들의 가르침을 구현하는 유일한 방법임을 암시하지는 않는다.
다르게 정의되지 않으면, 여기에서 사용되는 모든 용어들(기술적 그리고 과학적 용어들을 포함하여)은 이 주제가 속한 기술 분야에서 통상적인 기술을 가진 자에 의해 공통으로 이해되는 것과 동일한 의미를 갖는다. 공통으로 사용되는 사전들에서 정의된 것과 같은 용어들은 연관된 분야의 맥락에서 그들의 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 여기에서 그렇게 명확히 정의되지 않으면 이상화되거나 또는 과도하게 형식적인 감각으로 해석되지 않을 것이다.
일 실시 예에서, 웨이트 쳐내기(weight-pruning) 기술은 웨이트들의 수를 최적으로 줄여서 신경망의 성능을 높이는 분석적 문턱 함수를 사용한다. 분석적 문턱 함수는 신경망의 다양한 계층들의 웨이트들에 적용되어, 문턱보다 작은 크기(magnitude)를 갖는 웨이트들은 0으로 설정되고 문턱보다 큰 웨이트들은 영향을 받지 않는다. 추가적으로, 문턱 함수는 미분 가능하고 그리고 문턱 함수의 파라미터들은 역전달 동안 최적화될 수 있다. 분석적 문턱 함수는 역전달 동안 신경 웨이트들과 동시에 훈련되고, 따라서 시간을 소모하는 반복 프로세스가 회피된다.
일 실시 예에서, 비용 함수의 최소화는 또한 문턱 함수를 최적화하여 상대적으로 넓은 폭 및 상대적으로 가파른 에지들을 갖는 문턱 함수를 생성하고, 또한 영이 아닌(non-zero) 웨이트들의 수가 최소인 신경망을 제공한다. 비용 함수는 상대적으로 넓은 폭 및 상대적으로 가파른 에지들을 갖는 문턱 함수를 유발하는 분석적 문턱 함수의 특정한 파라미터들을 최적으로 최소화할 수 있는 정규화 항들(regularization terms)을 포함할 수 있다. 문턱 함수의 입력 값들 대신 출력 값들이 추론(inference)을 위해 사용될 수 있다.
여기에 개시된 기술에 의해 생성된 최적화된 웨이트 값들은 다른 쳐내기 기술들을 이용하여 획득된 상대적으로 더 적은 수의 영이 아닌 파라미터들을 갖고, 따라서 추론 동안에 더 적은 수의 곱셈 및 누적(MAC) 동작들이 사용되므로 더 적은 메모리를 사용한다.
도 1은 여기에 기술된 주제에 따라 예시적인 계층(100)의 웨이트들을 최적으로 쳐내기 위한 분석적 웨이트 함수(f(w))를 형성하는 분석적 문턱 함수의 신경망 및 응용의 예시적인 계층(100)을 보여준다. 예시적인 계층(100)을 포함할 수 있는 신경망의 복잡도 수준에 관계없이, 도 1의 좌측에 나타나는 바와 같이, 계층(100)의 출력 뉴런(y)은 입력 뉴런(x)과 출력 뉴런(y)에 대한 연결 웨이트들(w)의 곱들의 합으로 형성될 수 있다.
일 실시 예에서, 예시적인 계층(100)은, 예를 들어, 도 2에 도시된 VGG 16 DNN의 구조(200)를 갖는 DNN의 일부일 수 있다. VGG 16의 구조(200)는 구체적으로 13개의 콘볼루션(CONV) 계층들, 3개의 완전 연결(FC) 계층들, 그리고 5개의 풀링 계층들(PL)을 포함한다. VGG 16 구조(200)에 대한 입력은 콘볼루션 계층(CONV1_1)에 적용되고, 그리고 출력은 분류에 제공된다.
다시 도 1을 참조하면, 여기에 기술된 바와 같이, 분석적 문턱 함수(h(w))는 101에서 계층(100)의 웨이트들(w)에 적용되어 웨이트들(w)을 치환하여 계층(100')을 형성하는 웨이트 함수(f(w))를 형성할 수 있다. 일 실시 예에서, 각 웨이트(w)는 분석적 함수(h(w))에 의해 곱해진다. 예시적인 웨이트 함수(f(w))의 그래프가 도 1의 상단 중앙에 보여진다.
문턱 함수(h(w))는 일반적으로 문턱보다 큰 크기를 갖는 웨이트들의 값들에 영향을 주지 않고 문턱보다 작은 크기를 갖는 웨이트들의 값들을 영으로 설정하는 특성들을 갖는 것으로 특징지어질 수 있다. 일 실시 예에서, 문턱 함수(h(w))는 수학식 1로 나타내어질 수 있다.
수학식 1에서, α는 문턱 함수(h(w))의 가파름을 제어하는 파라미터이고, β는 제1 및 제2 에지들 사이의 거리를 제어하는 파라미터이다.
도 3a는 수학식 1의 예시적인 문턱 함수의 그래프를 보여준다. 수학식 1에서 파라미터(α)는 문턱 함수(h(w))의 에지들(301a, 301b)의 가파름을 제어한다. 즉, 파라미터(α)는 문턱 함수(h(w))가 0인 것과 1인 것 사이의 에지들(301a, 301b)의 변화율을 제어한다. 수학식 1의 파라미터(β)는 문턱 함수(h(w))가 0.5인 곳에서 두 에지들(301a, 301b) 사이의 폭(302)을 제어한다.
도 3a에 도시된 바와 같이, 문턱 함수(h(w))는 0 주변으로 중심이 있는 연속적인 웨이트 값들의 제1세트(303)에 대해 0의 값을 갖는다. 추가적으로, 문턱 함수(h(w))는 연속한 웨이트 값들의 제1세트(303)보다 큰 연속적인 웨이트 값들의 제2세트(304)에 대해 1의 값을 갖고, 그리고 웨이트 값들의 제1세트(303)보다 작은 연속적인 웨이트 값들의 제3세트(305)에 대해 1의 값을 갖는다. 문턱 함수(h(w))의 제1 에지(301a)는 연속적인 웨이트 값들의 제1세트(303)와 연속적인 웨이트 값들의 제2세트(304)의 사이이다. 제2 에지(301b)는 연속적인 웨이트 값들의 제1세트(303) 및 연속적인 웨이트 값들의 제3세트(305)의 사이이다. 문턱 함수(h(w))의 값들은 제1 및 제2 에지들(301a, 301b)의 영역들에서 0 및 1 사이를 천이한다. 문턱 함수(h(w))가 0 및 1 사이를 천이함에 따른 제1 및 제2 에지들(301a, 301b)의 각각의 가파름(즉, 문턱 함수(h(w))의 에지들(301a, 301b)의 가파름)은 파라미터(α)의 값에 기반하고, 그리고 문턱 함수(h(w))가 0.5일 때에 제1 및 제2 에지들(301a, 301b) 사이의 거리(302)는 파라미터(β)의 값에 기반한다.
일 실시 예에서, 계층의 웨이트들의 각각은 수학식 2로 나타나는 바와 같이 문턱 함수(h(w))에 의해 곱해져 웨이트 함수(f(w))를 형성할 수 있다.
도 3b는 수학식 2의 웨이트 함수(f(w))의 그래프를 보여준다. 웨이트 함수(f(w))는 또한 도 1의 상단 중앙에 도시된다. 웨이트 값들의 제1세트(303)에 대해, 웨이트 함수(f(w))는 0의 값을 갖는다. 웨이트 함수(f(w))는 연속적인 웨이트 값들의 제1세트(303)보다 큰 연속적인 웨이트 값들의 제2세트(304)에 대해 웨이트(w)의 값을 갖고, 웨이트 값들의 제1세트(303)보다 작은 연속적인 웨이트 값들의 제3세트(305)에 대해 웨이트(w)의 값을 갖는다. 웨이트 함수(f(w))는 제1 에지(301a) 및 제2 에지(301b)에 각각 대응하는 천이 영역들(306a, 306b)을 포함한다. 파라미터(α)의 값이 작아질수록, 제1 및 제2 에지들(301a, 301b)은 더 가팔라지고, 천이 영역들(306a, 306b)은 웨이트(w) 방향에서 작아진다.
도 4a 내지 도 4f는 파라미터들(α, β)에 대해 상이한 값들을 갖는 수학식 1의 문턱 함수(h(w))의 여섯 개의 예시적인 그래프들을 보여주며, 파라미터들(α, β)이 문턱 함수(h(w)) 및 웨이트 함수(f(w))에 어떻게 영향을 주는지에 대한 시각적 느낌을 제공한다. 도 4a 내지 도 4c에서, 파라미터(α)는 0.0001(도 4a)로부터 0.1(도 4c)로 변화하며, 파라미터(β)는 4에서 변하지 않는다. 도 4a 내지 도 4c에서 보여질 수 있는 바와 같이, 파라미터(α)의 값이 작아질수록, 문턱 함수(h(w))는 0 및 1 사이를 더 가파르게 천이한다. 도 4d 내지 도 4f에서, 파라미터(β)는 2(도 4d)로부터 4(도 4f)로 변화하며, 파라미터(α)는 0.0001에서 변하지 않는다. 도 4d 내지 도 4f로부터, 파라미터(β)가 작아질수록, 문턱 함수(h(w))가 0.5인 때에 문턱 함수(h(w))의 에지들 사이의 폭이 더 커짐을 볼 수 있다. 따라서, 파라미터들(α, β)의 더 작은 값들은 문턱 함수(h(w))를 위해 더 강건한 문턱 및 더 넓은 목을 제공하며, 결과적으로 상대적으로 더 많은 수의 영의 웨이트들 또는, 다시 말해서 상대적으로 더 적은 수의 영이 아닌 웨이트들을 제공한다.
문턱 함수(h(w))의 파라미터들(α, β) 은 훈련 가능하고, DNN의 출력의 입력으로의 역전달 동안 최적화될 수 있다. 도 5a 및 도 5b는 여기에 기술된 주제에 따라 훈련 및 반복된 역전달이 파라미터(β)를 어떻게 최적화하는지 그리고 파라미터(β)가 최적화됨에 따른 문턱 함수(h(w))의 수렴을 각각 보여준다. 도 5a의 곡선은 최적 값으로 수렴하는 파라미터(β)를 보여준다. 파라미터(β)는 스케일링 값이므로 단위를 갖지 않는다. 도 5b에서, 훈련 및 역전달의 반복이 증가함에 따라 그리고 파라미터(β)가 최적화됨에 따라, 문턱 함수(h(w))의 형태가 수렴하여 최적으로 가파른 에지들 및 문턱 함수(h(w))가 0.5인 때의 최적의 공간을 갖는다.
따라서, 문턱 함수(h(w))를 이용하는 것은 경험적으로 문턱들을 선택하여 DNN의 상이한 계층들에서 수용 가능한 수의 영이 아닌 웨이트들에 결국 도달하는 대신 역전달 동안에 자동적으로 최적화되는 영이 아닌 웨이트들의 수를 초래하므로, 파라미터들(α, β)의 훈련 가능함은 반복적인 쳐내기 및 재훈련에 의존하는 다른 쳐내기 기술들보다 큰 장점을 제공한다. 영이 아닌 웨이트들의 수를 최적으로 줄이는 것은 결국 DNN을 실행하는 장치에 대한 연산 부담을 최적으로 줄인다. 연산 부담을 줄임으로써, 여기에 기술된 훈련 가능한 쳐내기 기술들에 의해 최적화된 DNN을 실행하는 장치들은 DNN이 다른 웨이트 쳐내기 기술들이 DNN을 최적화하는 데에 사용된 경우보다 더 적은 수의 곱셈 및 누적(MAC) 동작들을 포함하므로, 더 빠르게 실행하고 그리고 더 적은 전력을 소비한다.
역전달 동작 동안 파라미터들(α, β)의 갱신들을 포함하기 위하여, DNN을 최적화하도록 최소화될 수 있는 전체 비용 함수는 수학식 3으로 나타내어질 수 있다.
수학식 3에서, C는 최소화될 총 비용이고, L은 계층들의 수이고, j는 최종 계층(L)의 웨이트들의 인덱스이고, λ1 및 λ2는 파라미터들(α, β)의 값들을 최소화하기 위한 정규화 파라미터들이고, z는 예측이고, 그리고 y는 검증 자료(ground truth)이다.
수학식 3, 즉 전체 비용 함수를 최소화하는 것의 목적들 중 하나는 예측(z)(출력) 및 검증 자료(y) 사이의 최소 차이 및 파라미터들(α, β)을 위한 최소값들을 제공하여, 문턱 함수(f(w))가 급격한 에지들 및 넓은 폭의 특징들을 갖게 하는 웨이트들의 세트를 찾는 것이다.
파라미터들(α, β)은 기울기 하강(Gradient Descent) 기술을 이용하여 최적화될 수 있다. 웨이트들은 수학식 4로 갱신될 수 있다.
수학식 4에서, △w는 웨이트(w)의 현재 값에서 변화를 나타낸다.
웨이트 함수(f(w))에서 파라미터들(α, β)은 수학식 5 및 수학식 6으로 갱신될 수 있다.
수학식 5 및 수학식 6에서, △α는 파라미터(α)의 현재 값에서 변화를 나타내고, △β는 파라미터(β)의 현재 값에서 변화를 나타낸다.
웨이트들(w) 및 함수 파라미터들(α, β)을 위한 값들은 비용 함수(c)가 국소 최저치(local minimum) 내에 있도록 찾아질 수 있음이 보여질 수 있다. 파라미터들(α, β)을 위한 정규화 항들은 작은 값들을 갖도록 파라미터들(α, β)에 연성 제약(soft constraint)을 적용한다. 파라미터들(α, β)을 위한 정규화 항들은 경험적으로 선택될 수 있다. 또한, 파라미터들(α, β)을 양의 값들로 제한하기 위해, 콘벡스 프로젝션(convex projection)을 이용하여 경성 긍정 제약(hard positivity constrain )이 적용될 수 있다.
일단 훈련이 완료되면, 웨이트 함수(f(w))의 값들이 웨이트들(w)의 값들 대신에 저장되고, 따라서 웨이트 함수(f(w))가 계산될 필요가 없고 그리고 웨이트 함수(f(w))의 값들이 웨이트(w)의 값들보다 더 적은 수의 영이 아닌 값들을 갖는 더 높은 희소도를 가지므로, 추론에서 시간 및 연산 비용이 절약된다.
파라미터들(α, β)의 초기값들은 파라미터들(α, β)의 훈련 및 역전달 훈련을 향상하도록 선택될 수 있다. 일 실시 예에서, 파라미터들(α, β)의 초기값들은 수학식 7을 풀이함으로써 선택될 수 있다.
도 6은 601에서 예시적인 문턱 함수(h(w))를 보여주고 602에서 문턱 함수(h(w))의 2차 도함수(second derivative)를 보여준다. 도 6에서 회색으로 음영된 영역은 도 3a에 도시된 0 주변에 중심을 갖는 연속적인 웨이트 값들의 제1세트(303)에 대응한다.
도 7은 여기에 기술된 주제에 따른 신경망의 웨이트들을 쳐내는 예시적인 방법(700)의 순서도를 보여준다. 701에서 방법이 시작한다. 702에서, 분석적 문턱 함수(h(w))에 기반하여 신경망의 복수의 계층들의 각 계층과 연관된 웨이트들(w)에 대한 웨이트 함수(f(w))가 형성된다. 일 실시 예에서, 각 웨이트(w)는 분석적 문턱 함수(h(w))와 곱해져 웨이트 함수(f(w))를 형성한다. 703에서, 훈련 데이터가 신경망에 입력되어 훈련 데이터에 기반하여 출력을 생성한다. 704에서, 출력이 신경망을 통해 역전달된다. 705에서, 문턱 함수(h(w))의 제1 파라미터(α)에 대한 비용 함수(c)의 도함수에 기반하여 그리고 문턱 함수(h(w))의 제2 파라미터(β)에 대한 비용 함수(c)의 도함수에 기반하여 비용 함수(c)를 최소화함으로써, 출력 및 훈련 데이터 사이의 차이가 최소화하여 신경망의 속도 성능, 신경망의 정확도, 또는 이들의 조합을 향상하는 웨이트들(w)의 세트가 판단된다. 706에서, 훈련 데이터를 신경망에 입력하여 훈련 데이터에 기반하여 출력을 생성하는 것, 출력을 신경망을 통해 역전달하는 것, 그리고 출력 및 훈련 데이터 사이의 차이를 최소화하는 것을 반복하여 신경망의 속도 성능, 신경망의 정확도, 또는 이들의 조합을 최적화하는 웨이트들(w)의 세트가 판단된다. 707에서, 프로세스가 종료한다.
도 8은 여기에 기재된 주제에 따라 문턱 함수(h(w))를 이용하여 쳐내진 웨이트들을 갖는 신경망을 포함하는 전자 장치(800)를 보여준다. 전자 장치(800)는 컴퓨팅 장치, 개인 디지털 비서(PDA), 랩톱 컴퓨터, 모바일 컴퓨터, 웹 태블릿, 무선 전화, 휴대폰, 스마트폰, 디지털 음악 재생기, 또는 유선 또는 무선 전자 장치에서 사용될 수 있으며, 한정되지 않는다. 전자 장치(800)는 버스(850)를 통해 서로 결합되는 제어기(810), 키패드, 키보드, 디스플레이, 터치-스크린 디스플레이, 카메라 그리고/또는 이미지 센서와 같은 그러나 한정되지 않는 입력/출력 장치(820), 메모리(830), 그리고 인터페이스(840)를 포함할 수 있다. 제어기(810)는, 예를 들어, 적어도 하나의 마이크로프로세서, 적어도 하나의 디지털 신호 프로세서, 적어도 하나의 마이크로컨트롤러, 또는 이와 유사한 것을 포함할 수 있다. 메모리(830)는 제어기(810)에 의해 사용되는 명령 코드 또는 사용자 데이터를 저장하도록 구성될 수 있다. 전자 장치(800) 및 전자 장치(800)의 다양한 시스템 구성 요소들은 여기에 기재된 주제에 따라 문턱 함수(h(w))를 이용하여 쳐내진 웨이트들을 갖는 신경망을 제공하는 시스템을 형성할 수 있다. 인터페이스(840)는 RF 신호를 이용하여 무선 통신망에 데이터를 전송하거나 또는 무선 통신망으로부터 데이터를 수신하도록 구성되는 무선 인터페이스를 포함하도록 구성될 수 있다. 무선 인터페이스(840)는, 예를 들어, 안테나, 무선 송수신기 등을 포함할 수 있다. 전자 시스템(800)은 또한 CDMA(Code Division Multiple Access), GSM(Global System for Mobile Communications), NADC(North American Digital Communications), E-TDMA(Extended Time Division Multiple Access), WCDMA(Wideband CDMA), CDMA2000, 와이-파이, 지방 공공(Municipal) 와이-파이, 블루투스, DECT(Digital Enhanced Cordless Telecommunications), 무선 USB(Universal Serial Bus), Flash-OFDM(Fast low-latency access with seamless handoff Orthogonal Frequency Division Multiplexing), IEEE 802.20, GPRS(General Packet Radio Service), iBurst, 무선 브로드밴드(와이브로), 와이맥스, 와이맥스-어드밴스, UMTS-TDD(Universal Mobile Telecommunication Service - Time Division Duplex), HSPA(High Speed Packet Access), EVDO(Evolution Data Optimized), LTE-어드밴스(Long Term Evolution - Advanced), MMDS(Multichannel Multipoint Distribution Service) 등과 같은 그러나 한정되지 않는 통신 시스템의 통신 인터페이스 프로토콜에서 사용될 수 있다.
이 명세서에서 기술된 주제의 실시 예들 및 동작들은 이 명세서에서 기술된 구조들 그리고 그들의 구조적 등가물들, 또는 그들 중 하나 또는 그보다 많은 것들의 조합들을 포함하는 디지털 전자 회로에서 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 이 명세서에서 기술된 주제의 실시 예들은 하나 또는 그보다 많은 컴퓨터 프로그램들로, 즉 데이터-처리 장치에 의해 실행되기 위한 또는 데이터-처리 장치의 동작을 제어하는 컴퓨터-저장 매체에 인코딩된 컴퓨터-프로그램 명령들의 하나 또는 그보다 많은 모듈들로 구현될 수 있다. 다른 예로서 또는 추가적으로, 프로그램 명령들은 인위적으로 생성된 전파 신호, 예를 들어 데이터 처리 장치에 의해 실행되기 위해 적절한 수신기 장치로의 전송을 위한 정보를 인코드하도록 생성된 기계로 생성된 전기적, 광학적 또는 전자기 신호로 인코딩될 수 있다. 컴퓨터-저장 매체는 컴퓨터로 독출 가능한 저장 장치, 컴퓨터로 독출 가능한 저장 기판, 랜덤 또는 순차 액세스 메모리 어레이 또는 장치, 또는 이들의 조합일 수 있거나 이들에 포함될 수 있다. 또한, 컴퓨터-저장 매체는 전파된 신호가 아니지만, 컴퓨터-저장 매체는 인위적으로 생성된 전파 신호에 인코딩된 컴퓨터-프로그램 명령의 원천 또는 목적지일 수 있다. 컴퓨터-저장 매체는 또한 하나 또는 그보다 많은 별도의 물리적 구성 요소들 또는 매체들(예를 들어, 다수의 CD들, 디스크들 또는 다른 저장 장치들)이거나 이들에 포함될 수 있다.
이 명세서에서 기술된 동작들은 하나 또는 그보다 많은 컴퓨터로 독출 가능한 저장 매체들에 저장된 또는 다른 원천들로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작들로 구현될 수 있다.
"데이터 처리 장치"의 용어는, 예시의 수단으로서 프로그램 가능한 프로세서, 컴퓨터, 시스템 온 칩, 또는 상술된 것들 중 다수들 또는 조합들을 포함하는 데이터를 처리하기 위한 모든 종류의 장치들 및 기계들을 포함한다. 장치는 특수 목적 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)를 포함할 수 있다. 장치는 또한 하드웨어에 더하여 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임 환경, 가상 기계, 또는 이들의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 토대들과 같은 다양한 상이한 컴퓨팅 모델 토대들을 구현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 응용, 스크립트 또는 코드로도 알려진)은 번역된(compiled) 또는 해석된(interpreted) 언어들, 서술적 또는 절차적 언어들을 포함하는 임의의 프로그래밍 언어의 형태로 기입될 수 있으며, 이는 스탠드-얼론 프로그램으로서 또는 모듈로서 컴포넌트(component), 서브루틴(subroutine), 객체(object) 또는 컴퓨팅 환경에서 사용하기 적절한 다른 유닛을 포함하는 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 그래야만 하지는 않는다. 프로그램은 문제의 프로그램에 지정된 단일 파일 또는 다수의 조정된 파일들(예를 들어, 하나 또는 그보다 많은 모듈들, 서브 프로그램들 또는 코드의 부분들을 저장하는 파일들)에 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어(markup language) 문서에 저장된 하나 또는 그보다 많은 스크립트들)를 갖는 파일의 일부에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 장소에 위치하거나 다수의 장소들에 걸쳐 분산되고 그리고 통신망에 의해 서로 연결된 다수의 컴퓨터들에서 실행되도록 배치될 수 있다.
이 명세서에서 기술된 프로세스들 및 논리 흐름들은 하나 또는 그보다 많은 컴퓨터 프로그램들을 실행하여 입력 데이터에 대해 동작하고 그리고 출력을 생성함으로써 활동들을 수행하는 하나 또는 그보다 많은 프로그램 가능한 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)에 의해 수행될 수 있으며 장치 도한 이들로 구현될 수 있다.
컴퓨터 프로그램의 실행을 위해 적합한 프로세서들은, 예를 들어, 범용 및 특수 목적 마이크로프로세서들 그리고 임의의 종류의 디지털 컴퓨터의 하나 또는 그보다 많은 임의의 프로세서들을 포함할 수 있다. 일반적으로, 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 이들 모두로부터 명령들 및 데이터를 수신할 수 있다. 컴퓨터의 본질적 원소들은 명령들에 따라 활동들을 수행하기 위한 프로세서 및 명령들 및 데이터를 저장하기 위한 하나 또는 그보다 많은 메모리 장치들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 또는 그보다 많은 대용량 저장 장치들, 예를 들어 자기적, 자기-광학적 디스크들 또는 광학 디스크들을 포함할 것이며, 또는 이들로부터 데이터를 수신하거나 이들로 데이터를 전송하도록 유효하게 결합될 것이다. 그러나 컴퓨터는 이러한 장치들을 가져야만 하지는 않는다. 또한, 컴퓨터는 다른 장치, 예를 들어 몇 가지 예시로서 모바일 전화, 개인 디지털 비서(PDA), 모바일 오디오 또는 비디오 재생기, 게임 콘솔, GPS(Global Positioning System) 수신기, 또는 포터블 저장 장치(예를 들어, USB(universal serial bus) 플래시 드라이브)에 임베드될 수 있다. 컴퓨터 프로그램 명령들 및 데이터를 저장하기 적합한 장치들은, 예를 들어 반도체 메모리 장치들, 예를 들어 EPROM, EEPROM 그리고 플래시 메모리 장치들을 포함하는 모든 형태의 불휘발성 메모리, 매체 및 메모리 장치들, 자기 디스크들(예를 들어, 내부 하드 디스크 또는 제거 가능한 디스크들), 자기-광학 디스크들, CD-ROM 및 DVD-ROM 디스크들을 포함한다. 프로세서 및 메모리는 특수-목적 논리 회로에 의해 보강되거나 또는 그것에 포함될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 이 명세서에 기술된 주제의 실시 예들은 사용자에게 정보를 표시하기 위한 표시 장치(예를 들어 CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터), 키보드, 그리고 포인팅 장치(예를 들어, 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼)를 갖는 컴퓨터에 구현될 수 있다. 다른 종류의 장치들 또한 사용자와의 상호 작용을 제공하도록 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어 시각 피드백, 청각 피드백 또는 촉각 피드백일 수 있으며, 사용자로부터의 입력은 음성, 언어 또는 촉각을 포함하는 임의의 형태로 수신될 수 있다.
이 명세서에 기술된 주제의 실시 예들은 후단부(back-end) 컴포넌트(예를 들어, 데이터 서버로서)를 포함하거나 미들웨어 컴포넌트(예를 들어, 응용 서버)를 포함하거나 또는 전단(front-end) 컴포넌트(예를 들어, 사용자가 이 명세서에서 기술된 주제의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 구비한 사용자 컴퓨터)를 포함하거나 또는 이러한 후단부, 미들웨어 또는 전단부 컴포넌트의 하나 또는 그보다 많은 것들의 임의의 조합을 포함하는 컴퓨팅 시스템에 구현될 수 있다. 시스템의 구성 요소들은 디지털 데이터 통신(예를 들어, 통신망)의 임의의 형태 또는 매체에 의해 서로 연결될 수 있다. 통신망의 예들은 근거리 통신망(LAN) 및 광역 통신망(WAN), 인터-네트워크(예를 들어, 인터넷), 그리고 피어-투-피어 네트워크들(예를 들어, 애드 혹 피어-투-피어 네트워크들)을 포함한다.
컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자 및 서버는 일반적으로 서로 떨어져 있고, 그리고 통상적으로 통신망을 통해 상호 작용한다. 사용자 및 서버의 관계는 각각의 컴퓨터들에서 실행되는 컴퓨터 프로그램들에 의해 발생하며 서로 사용자-서버 관계를 갖는다.
이 명세서가 다수의 구체적인 구현 상세들을 포함하지만, 이들은 어느 발명들의 범위 또는 청구 범의의 제한들로 여겨지지 않아야 하며, 특정한 발명들의 특정한 실시 예들에 특화된 특성들의 설명들로 여겨져야 한다. 별도의 실시 예들의 맥락에서 이 명세서에서 기술된 특정한 특성들은 또한 단일 실시 예에서 조합으로 구현될 수 있다. 반대로, 단일 실시 예의 맥락에서 기술된 다양한 특성들은 또한 다수의 실시 예들에서 별도로 또는 임의의 적절한 부분 조합에서 구현될 수 있다. 또한, 특성들은 특정한 조합들에서 동작하는 것으로 위에서 기술되고 그리고 최초로 그렇게 청구되지만, 하나 또는 그보다 많은 특성들은 일부 사례들에서 청구된 조합으로부터 절개될 수 있고 그리고 청구된 조합은 부분 조합 또는 부분 조합의 변형에 대한 것일 수 있다.
마찬가지로, 동작들이 도면들에서 특정한 순서로 보여지지만, 이는 필요한 결과들을 달성하기 위해 동작들이 도시된 특정한 순서 또는 순차적인 순서로 수행되거나, 또는 도시된 모든 동작들이 수행되어야 함을 요구하는 것으로 이해되지 않아야 한다. 특정한 상황들에서, 멀티태스킹 또는 병렬 프로세싱이 유리할 수 있다. 또한, 위에서 기술된 실시 예들의 다양한 시스템 구성 요소들의 분리는 모든 실시 예들에서 그러한 분리를 필요로 하는 것으로 이해되지 않아야 하며, 기술된 프로그램 컴포넌트들 및 시스템들은 단일 소프트웨어 제품에 함께 집적되거나 또는 다수의 소프트웨어 제품들로 포장될 수 있음이 이해될 것이다.
따라서, 본 주제의 특정한 실시 예들이 설명되었다. 다른 실시 예들은 아래의 청구 범위들의 범위 내에 있다. 일부 사례들에서, 청구 범위들에서 인용된 동작들은 다른 순서로 수행될 수 있으며 여전히 필요한 결과들을 달성할 수 있다. 또한, 첨부된 도면들에 도시된 프로세스들은 필요한 결과들을 달성하기 위하여 도시된 특정한 순서 또는 순차적인 순서를 반드시 필요로 하지는 않는다. 특정한 구현들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다.
이 분야에 숙련된 자들에게 이해될 것과 같이, 여기에 기술된 혁신적인 사상들은 응용들의 넓은 범위에 따라 수정되거나 변형될 수 있다. 따라서, 청구된 주제의 범위는 위에서 논의된 구체적이고 모범적인 가르침들의 어느 것으로 한정되지 않아야 하며, 대신 아래의 청구 범위들에 의해 정의된다.
100, 100': 계층
101: 문턱 함수
CONV: 콘볼루션 계층
PL: 풀링 계층
FC: 완전 연결 계층
301a, 301b: 에지들
302: 폭
303: 웨이트 값들의 제1세트
302: 웨이트 값들의 제2세트
303: 웨이트 값들의 제3세트
601: 문턱 함수
602: 문턱 함수의 2차 도함수
810: 제어기
820: 입력/출력 장치
830: 메모리 장치
840: 인터페이스
850: 버스
101: 문턱 함수
CONV: 콘볼루션 계층
PL: 풀링 계층
FC: 완전 연결 계층
301a, 301b: 에지들
302: 폭
303: 웨이트 값들의 제1세트
302: 웨이트 값들의 제2세트
303: 웨이트 값들의 제3세트
601: 문턱 함수
602: 문턱 함수의 2차 도함수
810: 제어기
820: 입력/출력 장치
830: 메모리 장치
840: 인터페이스
850: 버스
Claims (20)
- 신경망에 있어서:
복수의 계층들을 포함하고, 상기 복수의 계층들 중 적어도 하나는 콘볼루션 계층을 포함하고,
상기 복수의 계층들의 각 계층은 상기 신경망의 속도 성능, 상기 신경망의 정확도, 또는 이들의 조합을 향상하는 계층과 연관된 웨이트들(w)의 세트를 포함하고,
상기 웨이트들(w)의 각 세트는 분석적 문턱 함수(h(w))를 이용하여 쳐내지고, 상기 분석적 문턱 함수(h(w))는 상기 분석적 문턱 함수(h(w))의 제1 에지 및 제2 에지의 가파름을 설정하는 제1 파라미터 그리고 상기 분석적 문턱 함수(h(w))의 상기 제1 에지 및 상기 제2 에지 사이의 거리를 설정하는 제2 파라미터를 포함하는 신경망. - 삭제
- 제1항에 있어서,
상기 분석적 문턱 함수(h(w))는 0을 중심으로 한 연속적인 웨이트 값들의 제1세트에 대한 0의 값, 그리고 연속적인 웨이트 값들의 제2세트 및 연속적인 웨이트 값들의 제3세트에 대한 1의 값을 포함하고,
상기 연속적인 웨이트 값들의 상기 제2세트는 상기 연속적인 웨이트 값들의 상기 제1세트와 다르고 더 크고 그리고 상기 연속적인 웨이트 값들의 상기 제3세트는 상기 연속적인 웨이트 값들의 상기 제1세트와 다르고 더 작고,
상기 분석적 문턱 함수(h(w))는 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제2세트 사이의 제1 에지 및 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제3세트 사이의 제2 에지를 더 포함하고,
0과 1 사이의 상기 제1 에지 및 상기 제2 에지의 상기 가파름은 상기 분석적 문턱 함수(h(w))의 상기 제1 파라미터의 값에 기반하고, 그리고 상기 제1 및 제2 에지들 사이의 상기 거리는 상기 분석적 문턱 함수(h(w))의 상기 제2 파라미터의 값에 기반하는 신경망. - 제3항에 있어서,
상기 분석적 문턱 함수(h(w))는 β에 비례하고 그리고 α에 반비례하고,
α는 상기 제1 파라미터이고 그리고 β는 상기 제2 파라미터인 신경망. - 제4항에 있어서,
상기 제1 파라미터(α)에 대한 초기값 및 상기 제2 파라미터(β)에 대한 초기값은 w가 0과 같은 것에 대한 상기 분석적 문턱 함수(h(w))의 부분 2차 도함수에 기반하는 신경망. - 제5항에 있어서,
상기 웨이트들(w)의 각 세트에 대한 상기 제1 파라미터(α) 및 상기 제2 파라미터(β)는, 입력 훈련 데이터에 응답하여 상기 신경망의 출력을 역전달함으로써 최소화되는 비용 함수(c), 분석적 문턱 함수(h(w))의 상기 제1 파라미터(α)에 대한 상기 비용 함수(c)의 도함수, 그리고 상기 분석적 문턱 함수(h(w))의 상기 제2 파라미터(β)에 대한 상기 비용 함수(c)의 도함수에 기반하고, 그리고
상기 비용 함수(c)는 계층들의 수, 최종 계층의 웨이트들의 인덱스, 그리고 하나 또는 그보다 많은 정규화 파라미터들에 기반하는 신경망. - 제6항에 있어서,
상기 출력을 상기 신경망을 통해 역전달하는 동안 상기 제1 파라미터(α)를 갱신함으로써, 상기 비용 함수(c)는 상기 제1 파라미터(α)에 대한 상기 비용 함수(c)의 상기 도함수에 기반하여 최소화되고,
상기 출력을 상기 신경망을 통해 역전달하는 동안 상기 제2 파라미터(β)를 갱신함으로써, 상기 비용 함수(c)는 상기 제2 파라미터(β)에 대한 상기 비용 함수(c)의 상기 도함수에 기반하여 최소화되는 신경망. - 제7항에 있어서,
상기 비용 함수(c)는 상기 출력을 상기 신경망을 통해 역전달하는 동안 상기 웨이트들(w)에 대한 값들을 갱신함으로써 더 최소화되는 신경망. - 제1항에 있어서,
상기 신경망은 심층 신경망을 포함하는 신경망. - 신경망의 웨이트들을 쳐내는 방법에 있어서:
분석적 문턱 함수(h(w))에 기반하여 신경망의 복수의 계층들의 각 계층과 연관된 웨이트들(w)에 대한 웨이트 함수(f(w))를 형성하는 단계;
상기 분석적 문턱 함수는 0을 중심으로 한 연속적인 웨이트 값들의 제1세트에 대한 0의 값, 그리고 연속적인 웨이트 값들의 제2세트 및 연속적인 웨이트 값들의 제3세트에 대한 1의 값을 포함하고, 상기 연속적인 웨이트 값들의 상기 제2세트는 상기 연속적인 값들의 상기 제1세트와 다르고 더 크고 그리고 상기 연속적인 웨이트 값들의 상기 제3세트는 상기 연속적인 웨이트 값들의 상기 제1세트와 다르고 더 작고, 상기 분석적 문턱 함수(h(w))는 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제2세트 사이의 제1 에지 및 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제3세트 사이의 제2 에지를 더 포함하고, 0과 1 사이의 상기 제1 및 제2 에지들의 각각의 가파름은 상기 분석적 문턱 함수(h(w))의 제1 파라미터의 값에 기반하고, 그리고 상기 제1 및 제2 에지들 사이의 거리는 상기 분석적 문턱 함수(h(w))의 제2 파라미터의 값에 기반하고;
훈련 데이터를 상기 신경망에 입력하여 상기 훈련 데이터에 기반하여 출력을 생성하는 단계;
상기 출력을 상기 신경망을 통해 역전달하는 단계; 그리고
상기 제1 파라미터에 대한 비용 함수(c)의 도함수에 기반하여 상기 비용 함수(c) 및 상기 제2 파라미터에 대한 상기 비용 함수(c)의 도함수에 기반하여 상기 비용 함수(c)를 최소화함으로써, 상기 출력 및 상기 훈련 데이터 사이의 차이를 최소화하여 상기 신경망의 속도 성능, 상기 신경망의 정확도, 또는 이들의 조합을 향상하는 웨이트들(w)의 세트를 판단하는 단계를 포함하는 방법. - 제10항에 있어서,
상기 분석적 문턱 함수(h(w))는 β에 비례하고 그리고 α에 반비례하고,
α는 상기 제1 파라미터이고 그리고 β는 상기 제2 파라미터인 방법. - 제11항에 있어서,
w가 0과 같은 것에 대한 상기 분석적 문턱 함수(h(w))의 부분 2차 도함수에 기반하여 상기 제1 파라미터(α) 및 상기 제2 파라미터(β)를 초기화하는 단계를 더 포함하는 방법. - 제11항에 있어서,
상기 웨이트 함수(f(w))는 상기 분석적 문턱 함수(h(w))에 의해 곱해진 상기 신경망의 웨이트들을 포함하는 방법. - 제13항에 있어서,
상기 비용 함수(c)는 계층들의 수, 최종 계층의 웨이트들의 인덱스, 그리고 하나 또는 그보다 많은 정규화 파라미터들에 기반하는 방법. - 제14항에 있어서,
상기 제1 파라미터(α)에 대한 상기 비용 함수(c)의 도함수에 기반하여 상기 비용 함수(c)를 최소화하는 것은 상기 출력을 상기 신경망을 통해 역전달하는 동안 상기 제1 파라미터(α)를 갱신하는 것을 포함하고, 그리고
상기 제2 파라미터(β)에 대한 상기 비용 함수(c)의 도함수에 기반하여 상기 비용 함수(c)를 최소화하는 것은 상기 출력을 상기 신경망을 통해 역전달하는 동안 상기 제2 파라미터(β)를 갱신하는 것을 포함하는 방법. - 제15항에 있어서,
상기 비용 함수(c)를 최소화하는 것은 상기 출력을 상기 신경망을 통해 역전달하는 동안 상기 웨이트들(w)에 대한 값들을 갱신하는 것을 포함하는 방법. - 제16항에 있어서,
훈련 데이터를 상기 신경망에 입력하여 상기 훈련 데이터에 기반하여 출력을 생성하는 단계, 상기 출력을 상기 신경망을 통해 역전달하는 단계, 그리고 상기 제1 파라미터에 대한 비용 함수(c)의 도함수에 기반하여 상기 비용 함수(c) 및 상기 제2 파라미터에 대한 상기 비용 함수(c)의 도함수에 기반하여 상기 비용 함수(c)를 최소화함으로써, 상기 출력 및 상기 훈련 데이터 사이의 차이를 최소화하여 상기 신경망의 속도 성능, 상기 신경망의 정확도, 또는 이들의 조합을 향상하는 웨이트들(w)의 세트를 판단하는 단계는 반복적으로 수행되어 상기 신경망의 속도 성능, 상기 신경망의 정확도, 또는 이들의 조합을 최적화하는 상기 웨이트들(w)의 각 세트를 판단하는 방법. - 제10항에 있어서,
상기 신경망은 심층 신경망을 포함하는 방법. - 신경망에 있어서:
복수의 계층들을 포함하고, 상기 복수의 계층들 중 적어도 하나는 콘볼루션 계층을 포함하고,
상기 복수의 계층들의 각 계층은 상기 신경망의 속도 성능, 상기 신경망의 정확도, 또는 이들의 조합을 향상하는 계층과 연관된 웨이트들(w)의 세트를 포함하고,
상기 웨이트들(w)의 각 세트는 입력 훈련 데이터에 응답하여 상기 신경망의 출력을 역전달함으로써 최소화되는 비용 함수(c), 분석적 문턱 함수(h(w))의 제1 파라미터에 대한 상기 비용 함수(c)의 도함수, 그리고 상기 분석적 문턱 함수(h(w))의 제2 파라미터에 대한 상기 비용 함수(c)의 도함수에 기반하고,
상기 분석적 문턱 함수(h(w))는 0을 중심으로 한 연속적인 웨이트 값들의 제1세트에 대한 0의 값, 그리고 연속적인 웨이트 값들의 제2세트 및 연속적인 웨이트 값들의 제3세트에 대한 1의 값을 포함하고,
상기 연속적인 웨이트 값들의 상기 제2세트는 상기 연속적인 값들의 상기 제1세트와 다르고 더 크고 그리고 상기 연속적인 웨이트 값들의 상기 제3세트는 상기 연속적인 웨이트 값들의 상기 제1세트와 다르고 더 작고,
상기 분석적 문턱 함수(h(w))는 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제2세트 사이의 제1 에지 및 상기 연속적인 웨이트 값들의 상기 제1세트와 상기 연속적인 웨이트 값들의 상기 제3세트 사이의 제2 에지를 더 포함하고,
0과 1 사이의 상기 제1 및 제2 에지들의 각각의 가파름은 상기 분석적 문턱 함수(h(w))의 상기 제1 파라미터의 값에 기반하고, 그리고 상기 제1 및 제2 에지들 사이의 거리는 상기 분석적 문턱 함수(h(w))의 상기 제2 파라미터의 값에 기반하는 신경망. - 제19항에 있어서,
상기 분석적 문턱 함수(h(w))는 β에 비례하고 그리고 α에 반비례하고,
α는 상기 제1 파라미터이고 그리고 β는 상기 제2 파라미터이고,
상기 제1 파라미터(α)에 대한 초기값 및 상기 제2 파라미터(β에 대한 초기값은 w가 0과 같은 것에 대한 상기 분석적 문턱 함수(h(w))의 부분 2차 도함수에 기반하고, 그리고
상기 비용 함수(c)는 계층들의 수, 최종 계층의 웨이트들의 인덱스, 그리고 하나 또는 그보다 많은 정규화 파라미터들에 기반하는 신경망.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762597908P | 2017-12-12 | 2017-12-12 | |
US62/597,908 | 2017-12-12 | ||
US15/894,921 US11250325B2 (en) | 2017-12-12 | 2018-02-12 | Self-pruning neural networks for weight parameter reduction |
US15/894,921 | 2018-02-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190070241A KR20190070241A (ko) | 2019-06-20 |
KR102607176B1 true KR102607176B1 (ko) | 2023-11-28 |
Family
ID=66697003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180096347A KR102607176B1 (ko) | 2017-12-12 | 2018-08-17 | 웨이트 파라미터 감소를 위한 자기 쳐내기 신경망들 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11250325B2 (ko) |
JP (1) | JP7273489B2 (ko) |
KR (1) | KR102607176B1 (ko) |
CN (1) | CN109919297A (ko) |
TW (1) | TWI846674B (ko) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10657426B2 (en) | 2018-01-25 | 2020-05-19 | Samsung Electronics Co., Ltd. | Accelerating long short-term memory networks via selective pruning |
US20210073615A1 (en) * | 2018-04-12 | 2021-03-11 | Nippon Telegraph And Telephone Corporation | Neural network system, neural network method, and program |
US11847567B1 (en) | 2018-12-05 | 2023-12-19 | Perceive Corporation | Loss-aware replication of neural network layers |
US12045725B1 (en) | 2018-12-05 | 2024-07-23 | Perceive Corporation | Batch normalization for replicated layers of neural network |
KR20200070831A (ko) | 2018-12-10 | 2020-06-18 | 삼성전자주식회사 | 인공 신경망을 압축하기 위한 장치 및 방법 |
CN110532859B (zh) * | 2019-07-18 | 2021-01-22 | 西安电子科技大学 | 基于深度进化剪枝卷积网的遥感图像目标检测方法 |
CN114341825A (zh) * | 2019-08-29 | 2022-04-12 | 阿里巴巴集团控股有限公司 | 用于在神经网络中提供向量稀疏化的方法及系统 |
JP2021047711A (ja) | 2019-09-19 | 2021-03-25 | キオクシア株式会社 | 演算装置、演算方法、及び学習方法 |
US11704571B2 (en) * | 2019-10-11 | 2023-07-18 | Qualcomm Incorporated | Learned threshold pruning for deep neural networks |
US11816574B2 (en) | 2019-10-25 | 2023-11-14 | Alibaba Group Holding Limited | Structured pruning for machine learning model |
CN111062382A (zh) * | 2019-10-30 | 2020-04-24 | 北京交通大学 | 用于目标检测网络的通道剪枝方法 |
US11995555B1 (en) | 2019-12-17 | 2024-05-28 | Perceive Corporation | Training a neural network with quantized weights |
CN113392953A (zh) * | 2020-03-12 | 2021-09-14 | 澜起科技股份有限公司 | 用于对神经网络中卷积层进行剪枝的方法和装置 |
US12093816B1 (en) * | 2020-07-07 | 2024-09-17 | Perceive Corporation | Initialization of values for training a neural network with quantized weights |
CN111866930B (zh) * | 2020-07-21 | 2022-02-25 | 西北大学 | 基于机器学习的射频信号检测方法及系统 |
US12061981B1 (en) | 2020-08-13 | 2024-08-13 | Perceive Corporation | Decomposition of weight tensors in network with value quantization |
US20220051102A1 (en) * | 2020-08-14 | 2022-02-17 | Tencent America LLC | Method and apparatus for multi-rate neural image compression with stackable nested model structures and micro-structured weight unification |
KR20220048832A (ko) * | 2020-10-13 | 2022-04-20 | 삼성전자주식회사 | 인공 신경망 프루닝 방법 및 장치 |
CN113052300B (zh) * | 2021-03-29 | 2024-05-28 | 商汤集团有限公司 | 神经网络训练方法、装置、电子设备及存储介质 |
US20230031691A1 (en) * | 2021-07-29 | 2023-02-02 | Capital One Services, Llc | Training machine learning models |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060195406A1 (en) * | 2005-02-25 | 2006-08-31 | Microsoft Corporation | System and method for learning ranking functions on data |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19611732C1 (de) | 1996-03-25 | 1997-04-30 | Siemens Ag | Verfahren zur Ermittlung von zur Entfernung geeigneten Gewichten eines neuronalen Netzes mit Hilfe eines Rechners |
US6408227B1 (en) | 1999-09-29 | 2002-06-18 | The University Of Iowa Research Foundation | System and method for controlling effluents in treatment systems |
US10849509B2 (en) | 2014-11-21 | 2020-12-01 | Siemens Healthcare Gmbh | Patient signal filtering |
EP3520038A4 (en) * | 2016-09-28 | 2020-06-03 | D5A1 Llc | LEARNING TRAINER FOR MACHINE LEARNING SYSTEM |
-
2018
- 2018-02-12 US US15/894,921 patent/US11250325B2/en active Active
- 2018-08-17 KR KR1020180096347A patent/KR102607176B1/ko active IP Right Grant
- 2018-09-25 TW TW107133685A patent/TWI846674B/zh active
- 2018-11-08 CN CN201811327128.3A patent/CN109919297A/zh active Pending
- 2018-12-06 JP JP2018229414A patent/JP7273489B2/ja active Active
-
2022
- 2022-01-10 US US17/572,625 patent/US20220129756A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060195406A1 (en) * | 2005-02-25 | 2006-08-31 | Microsoft Corporation | System and method for learning ranking functions on data |
Also Published As
Publication number | Publication date |
---|---|
TWI846674B (zh) | 2024-07-01 |
US11250325B2 (en) | 2022-02-15 |
TW201928791A (zh) | 2019-07-16 |
US20190180184A1 (en) | 2019-06-13 |
CN109919297A (zh) | 2019-06-21 |
JP7273489B2 (ja) | 2023-05-15 |
KR20190070241A (ko) | 2019-06-20 |
JP2019106181A (ja) | 2019-06-27 |
US20220129756A1 (en) | 2022-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102607176B1 (ko) | 웨이트 파라미터 감소를 위한 자기 쳐내기 신경망들 | |
KR102646667B1 (ko) | 이미지 영역을 찾기 위한 방법, 모델 훈련 방법 및 관련 장치 | |
CN109829433B (zh) | 人脸图像识别方法、装置、电子设备及存储介质 | |
US20220108178A1 (en) | Neural network method and apparatus | |
US11657254B2 (en) | Computation method and device used in a convolutional neural network | |
US10789734B2 (en) | Method and device for data quantization | |
CN108304921B (zh) | 卷积神经网络的训练方法及图像处理方法、装置 | |
CN110390394B (zh) | 批归一化数据的处理方法及装置、电子设备和存储介质 | |
JP2024050691A (ja) | ディープニューラルネットワークの動的適応 | |
CN106776673B (zh) | 多媒体文档概括 | |
EP3295381B1 (en) | Augmenting neural networks with sparsely-accessed external memory | |
CN111291190B (zh) | 一种编码器的训练方法、信息检测的方法以及相关装置 | |
Chen et al. | CCPrune: Collaborative channel pruning for learning compact convolutional networks | |
US20190122108A1 (en) | Systems and methods for trace norm regularization and faster inference for embedded models | |
WO2019190340A1 (en) | Channel pruning of a convolutional network based on gradient descent optimization | |
US12039427B2 (en) | Cursor-based adaptive quantization for deep neural networks | |
WO2020060605A1 (en) | Approximate nearest neighbor searching strategy generating based on reinforcement learning | |
US20210397963A1 (en) | Method and apparatus for neural network model compression with micro-structured weight pruning and weight unification | |
CN110188865B (zh) | 信息处理方法及装置、电子设备和存储介质 | |
EP3924896A1 (en) | Apparatus and a method for neural network compression | |
De Vita et al. | Porting deep neural networks on the edge via dynamic K-means compression: A case study of plant disease detection | |
US20240005157A1 (en) | Methods and systems for unstructured pruning of a neural network | |
Yang et al. | Comparative analysis of structured pruning and unstructured pruning | |
CN112685603A (zh) | 顶级相似性表示的有效检索 | |
CN115222012A (zh) | 用于压缩神经网络的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |