KR20210129031A - 모델 압축 방법, 이미지 처리 방법 및 장치 - Google Patents
모델 압축 방법, 이미지 처리 방법 및 장치 Download PDFInfo
- Publication number
- KR20210129031A KR20210129031A KR1020217013984A KR20217013984A KR20210129031A KR 20210129031 A KR20210129031 A KR 20210129031A KR 1020217013984 A KR1020217013984 A KR 1020217013984A KR 20217013984 A KR20217013984 A KR 20217013984A KR 20210129031 A KR20210129031 A KR 20210129031A
- Authority
- KR
- South Korea
- Prior art keywords
- network layer
- model
- channel
- sample image
- loss
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 153
- 230000006835 compression Effects 0.000 title claims abstract description 88
- 238000007906 compression Methods 0.000 title claims abstract description 88
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000013138 pruning Methods 0.000 claims abstract description 161
- 230000008569 process Effects 0.000 claims abstract description 67
- 238000012545 processing Methods 0.000 claims description 91
- 230000006870 function Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 22
- 238000013528 artificial neural network Methods 0.000 description 23
- 230000000694 effects Effects 0.000 description 12
- 238000003062 neural network model Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 229910052709 silver Inorganic materials 0.000 description 3
- 239000004332 silver Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 244000141353 Prunus domestica Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008909 emotion recognition Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012549 training 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
- G06N20/00—Machine learning
-
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Holo Graphy (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 모델 압축 방법, 이미지 처리 방법 및 장치를 개시하였고, 모델 압축 방법은, 압축될 모델에서의 다중 네트워크 계층 중에서 적어도 하나의 네트워크 계층 중 임의의 하나의 네트워크 계층에 대해, 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보 및 제1 타깃 모델에서의 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 샘플 이미지의 제1 특징 데이터를 획득하는 단계; 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 단계; 및 분류 손실 가이드 정보에 기반하여, 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하는 단계를 포함한다.
Description
관련 출원의 상호 참조
본 발명은 출원번호가 202010286175.9이고 출원일자가 2020년 4월 13일인 중국 특허 출원에 기반하여 제출하였고, 상기 중국 특허 출원의 우선권을 주장하는 바, 상기 중국 특허 출원의 모든 내용은 참조로서 본 발명에 인용된다.
본 발명은 머신 러닝 기술 분야에 관한 것으로, 구체적으로 모델 압축 방법, 이미지 처리 방법 및 장치에 관한 것이다.
신경망이 다양한 분야에서 광범위하게 응용됨에 따라, 일련의 스마트 제품의 홍보를 추진하였다. 신경망이 더욱 좋은 효과를 구비하도록, 신경망의 계층 수는 계속 증가되고, 신경망의 각 계층에는 점점 더 많은 파라미터가 존재하며, 예를 들어 이미지 처리 신경망에서, 이미지에서 더욱 많은 특징을 추출하기 위해, 각 계층의 신경망는 종종 수십 개의 컨볼루션 커널을 통해 이미지에 대해 컨볼루션 처리를 수행해야 한다. 이로 인해 신경망에 기반하는 제품은 대부분 양호한 작동 환경에 크게 의존하고, 신경망 모델의 응용 범위가 제한을 받게 되며, 예를 들어 임베디드 응용을 구현할 수 없도록 한다. 신경망 모델의 임베디드 응용을 구현하기 위해, 신경망 모델의 체적을 특정 범위 이하로 압축해야 한다.
채널 프루닝은 현재 흔히 볼 수 있는 모델 압축 방법이고, 상기 방법은 모델 훈련을 마친 후, 네트워크 모델에서 가중치가 비교적 작은 파라미터를 제거함으로써, 신경망 모델에 대한 압축을 구현한다.
본 발명의 실시예는 적어도 한 가지 모델 압축 방법, 이미지 처리 방법 및 장치를 제공한다.
제1측면에 있어서, 본 발명의 실시예는 모델 압축 방법을 제공하고, 상기 모델 압축 방법은, 압축될 모델에서의 다중 네트워크 계층 중에서 적어도 하나의 네트워크 계층 중 임의의 하나의 네트워크 계층에 대해, 상기 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보 및 상기 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득하는 단계; 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 단계; 및 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하는 단계를 포함한다.
이와 같이, 상기 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 손실 정보 및 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득하며; 그 다음, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하고, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한다. 따라서 매번 하나의 신경망 계층에 대해서만 프루닝을 수행하고, 프루닝을 수행할 때 분류 손실 가이드 정보에 기반하여 상기 계층 신경망의 채널 프루닝 처리를 가이드함으로써, 압축이 완료된 후 모델의 손실에 미치는 큰 영향을 방지하여, 압축 효율을 보장할 수 있고, 압축 효과도 고려할 수 있다.
선택적인 실시형태에 있어서, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한 후, 상기 모델 압축 방법은, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행하는 단계를 더 포함한다.
선택적인 실시형태에 있어서, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 단계는, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보 및 특징 중요성 가이드 정보를 결정하는 단계를 포함한다.
이와 같이, 특징 중요성 가이드 정보를 사용하여 채널 선택 지시 정보를 결정하고, 채널 선택 정보에 기반하여 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한다. 특징 중요성 가이드 정보를 번째 네트워크 계층에 대해 채널 프루닝을 수행할 때의 가이드로 사용하여, 정보성을 구비하지 않은 특징으로 인한 재구성 오류를 최소화하였고, 이러한 정보는 +1번째 네트워크 계층에 대해 채널 프루닝을 수행하는 과정에 삭제됨으로써, 합리적인 결과를 획득할 수 있다.
선택적인 실시형태에 있어서, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 특징 중요성 가이드 정보를 결정하는 단계는, 상기 제1 특징 데이터 및 미리 결정된 조정 파라미터에 기반하여, 상기 특징 중요성 가이드 정보를 결정하는 단계를 포함한다.
이와 같이, 제1 특징 데이터 중 각 요소의 요소값의 크기에 기반하여 특징 중요성 가이드 정보를 결정하고, 특정 채널의 경우, 제1 특징 데이터 중 각 요소의 요소값이 클수록, 상기 채널은 더 중요하다고 간주되며; 제1 특징 데이터 중 각 요소의 요소값이 작을수록, 상기 채널은 덜 중요하다고 간주되어, 상기 방식에 기반하여 채널에 대해 조정을 수행하여, 다음 계층의 특징 삭제 문제를 해결함으로써, 더욱 합리적인 채널 프루닝 결과를 획득하도록 한다.
선택적인 실시형태에 있어서, 상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층인 경우, 상기 제1 타깃 모델은 상기 압축될 모델이고; 상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층이 아닌 경우, 상기 제1 타깃 모델은 채널 프루닝 처리된 네트워크 계층 및 상기 압축될 모델 중 채널 프루닝 처리를 수행하지 않은 다른 네트워크 계층을 포함한다.
선택적인 실시형태에 있어서, 상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 손실 정보를 획득하는 단계는, 상기 제1 타깃 모델을 사용하여, 샘플 이미지의 분류 손실 예측 결과를 획득하는 단계; 및 상기 샘플 이미지의 분류 손실 예측 결과, 상기 샘플 이미지에 대응되는 진실 분류 라벨 및 미리 결정된 손실 함수에 기반하여, 상기 샘플 이미지의 손실 정보를 획득하는 단계를 포함한다.
선택적인 실시형태에 있어서, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 단계는, 상기 손실 정보가 상기 제1 타깃 모델에서의 역전파를 사용하여, 상기 제1 특징 데이터에 대한 손실 함수의 편도함수를 결정하는 단계; 및 상기 편도함수를 상기 분류 손실 가이드 정보로 결정하는 단계를 포함한다.
선택적인 실시형태에 있어서, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하는 단계는, 상기 분류 손실 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 상기 분류 손실 가이드 정보, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하는 단계; 및 상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정하는 단계를 포함하며; 상기 채널 선택 지시 정보는 보류할 채널을 지시하기 위한 것이고; 상기 샘플 이미지의 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터이다.
선택적인 실시형태에 있어서, 상기 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행하는 단계는, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 계층 네트워크에서의 각 컨볼루션 커널에 대해 채널 조정을 수행하는 단계; 프루닝 처리된 상기 임의의 하나의 네트워크 계층 및 컨볼루션 커널 채널 조정된 상기 다음 네트워크 계층에 기반하여, 제2 타깃 모델을 결정하고, 상기 제2 타깃 모델을 사용하여, 상기 제2 타깃 모델에서의 상기 프루닝 처리된 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층을 획득하여 상기 샘플 이미지의 제3 특징 데이터를 출력하며; 압축될 모델이 이미지에 대해 처리를 수행할 때의 상기 임의의 하나의 네트워크 계층에서 출력된 제2 특징 데이터를 사용하여, 상기 다음 네트워크 계층의 가중치 파라미터를 얻는 단계; 및 상기 가중치 파라미터에 기반하여, 상기 다음 네트워크 계층의 원래 가중치 파라미터에 대해 업데이트 처리를 수행하는 단계를 포함한다.
제2측면에 있어서, 본 발명의 실시예는 이미지 처리 방법을 더 제공하고, 상기 이미지 처리 방법은, 처리될 이미지를 획득하는 단계; 및 제1 측면 또는 제1 측면의 어느 하나에 따라 결정된 이미지 처리 모델을 사용하여, 상기 처리될 이미지에 대해 이미지 처리 임무를 실행하는 단계를 포함한다.
제3측면에 있어서, 본 발명의 실시예는 모델 압축 장치를 제공하고, 상기 모델 압축 장치는, 압축될 모델에서의 다중 네트워크 계층 중에서 적어도 하나의 네트워크 계층 중 임의의 하나의 네트워크 계층에 대해, 상기 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보 및 상기 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득하도록 구성된 획득 모듈; 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하도록 구성된 결정 모듈; 및 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하도록 구성된 프루닝 모듈을 포함한다.
선택적인 실시형태에 있어서, 상기 모델 압축 장치는, 상기 프루닝 모듈이 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한 후, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행하도록 구성된 업데이트 모듈을 더 포함한다.
선택적인 실시형태에 있어서, 상기 결정 모듈은, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보 및 특징 중요성 가이드 정보를 결정하도록 구성된다.
선택적인 실시형태에 있어서, 상기 결정 모듈은, 상기 제1 특징 데이터 및 미리 결정된 조정 파라미터에 기반하여, 상기 특징 중요성 가이드 정보를 결정하도록 구성된다.
선택적인 실시형태에 있어서, 상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층인 경우, 상기 제1 타깃 모델은 상기 압축될 모델이고; 상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층이 아닌 경우, 상기 제1 타깃 모델은, 채널 프루닝 처리된 네트워크 계층 및 상기 압축될 모델 중 채널 프루닝 처리를 수행하지 않은 다른 네트워크 계층을 포함한다.
선택적인 실시형태에 있어서, 상기 획득 모듈은, 상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 분류 손실 예측 결과를 획득하고; 상기 샘플 이미지의 분류 손실 예측 결과와 상기 샘플 이미지에 대응되는 진실 분류 라벨 및 미리 결정된 손실 함수에 기반하여, 상기 샘플 이미지의 손실 정보를 획득하도록 구성된다.
선택적인 실시형태에 있어서, 상기 결정 모듈은, 상기 손실 정보가 상기 제1 타깃 모델에서의 역전파를 사용하여, 상기 제1 특징 데이터에 대한 손실 함수의 편도함수를 결정하는 단계; 및 상기 편도함수를 상기 분류 손실 가이드 정보로 결정하도록 구성된다.
선택적인 실시형태에 있어서, 상기 프루닝 모듈은, 상기 분류 손실 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 상기 분류 손실 가이드 정보, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하며; 상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정하도록 구성되고; 상기 채널 선택 지시 정보는 보류할 채널을 지시하기 위한 것이고; 상기 샘플 이미지의 상기 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터이다.
선택적인 실시형태에 있어서, 상기 업데이트 모듈은, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 계층 네트워크에서의 각 컨볼루션 커널에 대해 채널 조정을 수행하고; 프루닝 처리된 상기 임의의 하나의 네트워크 계층 및 컨볼루션 커널 채널 조정된 상기 다음 네트워크 계층에 기반하여, 제2 타깃 모델을 결정하고, 상기 제2 타깃 모델을 사용하여, 상기 제2 타깃 모델에서의 상기 프루닝 처리된 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층을 획득하여 상기 샘플 이미지의 제3 특징 데이터를 출력하며; 압축될 모델이 이미지에 대해 처리를 수행할 때의 상기 임의의 하나의 네트워크 계층에서 출력된 제2 특징 데이터를 사용하여, 상기 다음 네트워크 계층의 가중치 파라미터를 얻고; 상기 가중치 파라미터에 기반하여, 상기 다음 네트워크 계층의 원래 가중치 파라미터에 대해 업데이트 처리를 수행하도록 구성된다.
제4측면에 있어서, 본 발명의 실시예는 또한 이미지 처리 장치를 제공하고, 상기 이미지 처리 장치는, 처리될 이미지를 획득하도록 구성된 획득 유닛; 제1측면 또는 제1측면 중 어느 하나에 기반하여 결정된 이미지 처리 모델을 사용하여, 상기 처리될 이미지에 대해 이미지 처리 임무를 실행하도록 구성된 처리 유닛을 포함한다.
제5측면에 있어서, 본 발명의 실시예는 또한 컴퓨터 기기를 제공하고, 상기 컴퓨터 기기는, 서로 연결된 프로세서 및 메모리를 포함하며, 상기 메모리에는 상기 프로세서가 실행 가능한 컴퓨터 판독 가능 명령어가 저장되어 있고, 컴퓨터 기기가 작동될 경우, 상기 컴퓨터 판독 가능 명령어가 상기 프로세서에 의해 실행될 때 본 발명의 실시예의 상기 제1측면 또는 제1측면 중 어느 한 가능한 실시형태에서의 단계를 실행하거나, 또는 상기 컴퓨터 판독 가능 명령어가 상기 프로세서에 의해 실행될 때 본 발명의 실시예의 상기 제2측면 또는 제2측면 중 어느 한 가능한 실시형태에서의 단계를 실행한다.
제6측면에 있어서, 본 발명의 실시예는 컴퓨터 판독 가능 저장 매체를 더 제공하고, 상기 컴퓨터 판독 가능 저장 매체에는 컴퓨터 프로그램이 저장되어 있으며, 상기 컴퓨터 프로그램이 프로세서에 의해 작동될 때 본 발명의 실시예의 상기 제1측면 또는 제1측면 중 어느 한 가지 가능한 실시형태에서의 단계를 실행하거나, 또는 상기 컴퓨터 프로그램이 프로세서에 의해 작동될 때 본 발명의 실시예의 상기 제2측면 또는 제2측면 중 어느 한 가능한 실시형태에서의 단계를 실행한다.
제7측면에 있어서, 본 발명의 실시예는 컴퓨터 프로그램을 더 제공하고, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 때 본 발명의 실시예의 상기 제1측면 또는 제1측면 중 어느 한 가능한 실시형태에서의 단계를 구현하거나, 또는 상기 컴퓨터 프로그램이 프로세서에 의해 작동될 때 본 발명의 실시예의 상기 제2측면 또는 제2측면 중 어느 한 가능한 실시형태에서의 단계를 실행한다.
본 발명의 실시예의 상기 목적, 특징 및 장점을 보다 명확하고 이해하기 쉽게 하기 위해, 이하에서는 첨부된 도면과 함께 바람직한 실시예를 구체적으로 인용하여 다음과 같이 상세히 설명한다.
본 발명의 실시예의 기술 방안을 더욱 명확하게 설명하기 위해, 아래에 실시예에서 사용하게 될 도면에 대해 간단히 설명하고, 여기서 도면은 명세서에 통합되어 본 명세서의 일부를 구성하며, 이러한 도면은 본 발명에 부합되는 실시예를 도시하고, 명세서와 함께 본 발명의 기술 방안을 설명하기 위한 것이다. 이해해야 할 것은, 아래의 도면은 다만 본 발명의 일부 실시예에 불과하므로, 그 범위에 대한 한정으로 간주되어서는 안되며, 본 기술 분야의 통상의 기술자는, 창조성 노동을 부여하지 않는 전제 하에, 이러한 도면에 따라 다른 관련된 도면을 획득할 수 있다.
도 1은 본 발명의 실시예에서 제공된 모델 압축 방법의 흐름도를 도시하였다.
도 2는 본 발명의 실시예에서 제공된 모델 압축 장치의 예시도를 도시하였다.
도 3은 본 발명의 실시예에서 제공된 컴퓨터 기기의 예시도를 도시하였다.
도 1은 본 발명의 실시예에서 제공된 모델 압축 방법의 흐름도를 도시하였다.
도 2는 본 발명의 실시예에서 제공된 모델 압축 장치의 예시도를 도시하였다.
도 3은 본 발명의 실시예에서 제공된 컴퓨터 기기의 예시도를 도시하였다.
본 발명의 실시예의 목적, 기술 방안 및 장점을 더욱 명확하게 하기 위해, 아래에 본 발명의 실시예에서의 도면을 결합하여, 본 발명의 실시예에서의 기술 방안에 대해 명확하고 완전한 설명을 수행하며, 설명된 실시예는 다만 본 발명의 일부 실시예이고, 모든 실시예가 아님은 분명하다. 통상적으로 여기 도면에서 설명 및 도시된 본 발명의 실시예의 컴포넌트는 다양하고 상이한 구성으로 배치 및 설계된다. 따라서, 도면에서 제공되는 본 발명의 실시예에 대한 다음의 상세한 설명은 청구된 본 발명의 범위를 한정하려는 것이 아니라, 다만 본 발명의 선택된 실시예를 나타내는 것이다. 본 발명의 실시예에 기반하여, 당업자가 창조성 노동을 부여하지 않은 전제 하에서 획득한 모든 다른 실시예는 전부 본 발명의 보호 범위에 속한다.
연구를 통해, 신경망 모델에 대해 채널 프루닝을 수행하는 방법은, 보통 두 가지가 있으며, 손실 함수의 최소화를 통한 프루닝의 방법 및 계층별 프루닝 방법이다. 손실 함수를 최소화하는 채널 프루닝 방법은 각 신경망 계층 채널을 반복적으로 삭제하여, 최종 압축 모델의 최종 손실 영향을 최소화하고, 즉 각 반복 과정에서, 모든 신경망 계층에 대해 처리를 수행한다. 상기 방법은 신경망 모델에 대한 압축 효과가 좋지만, 최종 손실에 대한 각 채널의 영향을 평가하기 위해, 미세 조정 과정을 빈번하게 실행해야 하여, 프루닝 속도가 느리고, 효율이 낮은 문제를 초래한다. 하지만 계층별 프루닝 방법은, 특정 신경망 계층에 대해 프루닝을 수행할 때, 다음 신경망 계층에서 출력된 특징 데이터의 재구성 오류를 최소화하여 삭제할 채널을 선택하고 모델 파라미터를 조정한다. 상기 방법은 한번에 하나의 신경망 계층에 대해서만 프루닝 동작을 수행할 수 있고, 각 신경망 계층에 대한 미세 조정 과정은 한 번만 실행되기 때문에, 프루닝 속도가 빠르지만; 각 신경망 계층의 채널에 대해 채널 프루닝 동작을 수행할 때, 채널에 대한 조정은 압축 완료 후의 신경망 모델의 손실에 대해 비교적 큰 영향을 미칠 수 있으며, 만족스럽지 못한 채널에 대한 조정 결과를 초래하고, 나쁜 최종 압축 효과를 가져온다. 더 나아가, 현재 신경망 모델에 대해 채널 프루닝을 수행하는 방법은, 효율성과 압축 효과를 동시에 고려할 수 없다는 문제가 존재한다.
또한, 신경망의 번째 네트워크 계층에 대해 채널 프루닝 동작을 수행한 후, +1 번째 네트워크 계층에 대해 채널 프루닝 동작을 수행하고, 채널 프루닝 동작이 수행된 후의 번째 네트워크 계층의 출력 특징은, +1 번째 네트워크 계층의 입력 특징으로 될 것이며; +1 번째 네트워크 계층에 대해 채널 프루닝 동작을 수행할 때, +1 번째 네트워크 계층의 입력 특징 중 일부 재구성 특징을 삭제하면, 이러한 재구성 특징은 번째 네트워크 계층에 대해 채널 프루닝 동작을 수행할 때 재구성하여 얻은 것이고, 이는 번째 네트워크 계층에 대해 채널 프루닝 동작을 수행할 때 이러한 +1 번째 네트워크 계층에서 삭제된 재구성 특징을 재구성할 필요가 없음을 의미하며, 이는, 번째 네트워크 계층에 대해 채널 프루닝 동작을 수행할 때, 삭제된 일부 채널을 선택하는 것은 정확하지 않음을 의미하므로, 이러한 상황으로 인해, 획득된 압축 모델은 사실상는 최적화된 모델이 아니며, 여전히 최적화 여지가 있다. 상기 문제를 다음 계층의 특징 삭제 문제로 지칭한다.
상기 방안에 존재하는 결함에 대해, 모두 발명인이 실천 및 면밀한 연구를 거친 후 얻은 결과이고, 따라서, 상기 문제점의 발견 과정과 상기 문제점을 해결하기 위해 아래의 본 발명의 실시 예에서 제안하는 해결 방안은, 모두 본 발명의 실시예의 과정에서 본 발명의 실시예에 대한 발명자가 기여한 것이어야 한다.
상기 연구에 기반하여, 본 발명의 실시예는 모델 압축 방법 및 장치를 제공하고, 압축될 모델에서의 다중 네트워크 계층 중의 적어도 하나의 네트워크 계층에 대해 채널 프루닝 처리를 수행하기 위한 것이며, 적어도 하나의 네트워크 계층 중 어느 하나에 대해, 상기 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 손실 정보 및 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득하며; 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하고, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한다. 따라서 매번 하나의 신경망 계층에 대해서만 프루닝을 수행하고, 프루닝을 수행할 때 분류 손실 가이드 정보에 기반하여 상기 계층 신경망의 채널 프루닝 처리를 가이드함으로써, 압축이 완료된 후 모델의 손실에 미치는 큰 영향을 방지하여, 압축 효율을 보장할 수 있고, 압축 효과도 고려할 수 있다.
아래에 본 발명의 실시예에서의 도면을 결합하여, 본 발명의 실시예에서의 기술 방안에 대해 명확하고 완전한 설명을 수행하며, 설명된 실시예는 다만 본 발명의 일부 실시예이고, 모든 실시예가 아님은 분명하다. 통상적으로 여기 도면에서 설명 및 도시된 본 발명의 컴포넌트는 다양하고 상이한 구성으로 배치 및 설계된다. 도면에서 제공되는 본 발명의 실시예에 대한 다음의 상세한 설명은 청구된 본 발명의 범위를 한정하려는 것이 아니라, 다만 본 발명의 선택된 실시예를 나타내는 것이다. 본 발명의 실시예에 기반하여, 당업자가 창조성 노동을 부여하지 않은 전제 하에서 획득한 모든 다른 실시예는 전부 본 발명의 보호 범위에 속한다.
유의해야 할 것은, 유사한 부호 및 문자는 아래의 도면에서 유사한 항목을 나타내므로, 어느 한 항목이 하나의 도면에서 정의되면, 후속 도면에서 추가로 정의 및 해석될 필요가 없다.
본 발명의 실시예에 대해 이해를 용이하게 하기 위해, 먼저 본 발명의 실시예에서 개시된 모델 압축 방법에 대해 상세하게 소개하고, 본 발명의 실시예에서 제공된 모델 압축 방법의 실행 주체는 보통 일정한 컴퓨팅 능력을 구비한 컴퓨터 기기이며, 상기 컴퓨터 기기에는 예를 들어, 단말 기기 또는 서버 또는 다른 처리 기기가 포함되고, 단말 기기는 사용자 기기(User Equipment, UE), 모바일 기기, 사용자 단말, 단말, 셀룰러 폰, 무선 전화, 개인용 정보 단말기(Personal Digital Assistant, PDA), 휴대용 기기, 컴퓨팅 기기, 차량 탑재 기기, 웨어러블 기기 등일 수 있다. 일부 가능한 구현 방식에 있어서, 상기 모델 압축 방법은 프로세서가 메모리에 저장된 컴퓨터 판독 가능 명령어를 호출하는 방식을 통해 구현될 수 있다.
먼저 네트워크 계층 중 채널의 개념을 설명하면, 임의의 하나의 네트워크 계층에 대해, 상기 네트워크 계층이 컨볼루션 계층이고; 상기 컨볼루션 계층에 입력된 입력 특징 맵의 차원이 4*10*24이며, 여기서 4는 상기 입력 특징 맵의 채널 개수가 4인 것을 나타내면; 10*24는 특징 맵이 각 채널에서의 크기를 나타내고; 64*4*3*3의 컨볼루션 커널을 통해 상기 입력 특징 맵에 대해 컨볼루션 처리를 수행하며, 여기서 64는 컨볼루션 커널의 개수를 나타내고, 각 컨볼루션 커널은 하나의 채널에 대응되며; 4는 컨볼루션 커널의 채널 개수를 나타내고, 3*3은 컨볼루션 커널의 크기를 나타낸다. 출력 특징 맵은, 64*10*24이고; 상기 계층 네트워크 계층에 대해 채널 프루닝 처리를 수행하면, 즉 컨볼루션 커널의 개수를 줄임으로써, 얻은 출력 특징 맵의 채널 개수를 줄여, 컨볼루션 처리 과정에서의 계산량 및 모델의 체적을 낮춘다. 예를 들어 상기 네트워크 계층에 대해 채널 프루닝 처리를 수행할 때, 상기 네트워크 계층에서의 5개 컨볼루션 커널을 감하면, 컨볼루션 커널은, 59*4*3*3이 되고; 최종적으로, 얻은 출력 특징 맵은 59*10*24이다.
아래에 본 발명의 실시예가 제공하는 모델 압축 방법에 대해 상세하게 설명한다.
도 1에 도시된 바를 참조하면, 본 발명의 실시예가 제공하는 모델 압축 방법의 흐름도이고, 상기 모델 압축 방법은 압축될 모델에서의 다중 네트워크 계층 중의 적어도 하나의 네트워크 계층에 대해 채널 프루닝 처리를 수행하기 위한 것이며; 가능한 실시형태에 있어서, 압축될 모델에 L 개의 네트워크 계층이 포함되면, L 개의 네트워크 계층에서의 임의의 m 개의 네트워크 계층을 채널 프루닝 처리를 수행해야 하는 네트워크 계층으로 사용할 수 있다. 여기서, m은 0 보다 크고, L 보다 작은 양의 정수이다.
상기 모델 압축 방법은 단계 S101~S103을 포함하고, 여기서,
단계 S101에 있어서, 압축될 모델에서의 다중 네트워크 계층 중에서 적어도 하나의 네트워크 계층 중 임의의 하나의 네트워크 계층에 대해, 상기 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보 및 상기 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득한다.
단계 S102에 있어서, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정한다.
단계 S103에 있어서, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한다.
아래 상기 단계 S101~S103에 대해 각각 상세하게 설명한다.
I: 상기 단계 S101에 있어서, 모델 압축 진도는, 압축될 모델에서의 현재 프루닝 처리를 수행하는 네트워크 계층의 위치 및 압축될 모델에서의 그 전에 채널 프루닝 처리가 수행된 네트워크 계층의 위치를 지시하기 위한 것이다.
일부 선택적인 실시예에 있어서, 압축될 모델에서의 모든 네트워크 계층에 대해 모두 채널 프루닝 처리를 수행할 때, 모델 압축 진도는, 다만 압축될 모델에서의 현재 프루닝 처리를 수행하는 네트워크 계층의 위치를 지시하기 위해 사용될 수 있다.
상기 임의의 하나의 네트워크 계층은 압축될 모델에서의 번째 네트워크 계층이라고 가정하고, 번째 네트워크 계층이 압축될 모델에서 채널 프루닝 처리될 첫 번째 네트워크 계층인 경우, 대응되는 제1 타깃 모델은 압축될 모델을 포함한다.
가능한 실시예에 있어서, =1이고, 즉 번째 네트워크 계층은 압축될 모델에서의 첫 번째 네트워크 계층이며; 번째 네트워크 계층 전에 다른 네트워크 계층이 존재하지 않고, 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행하려면, 번째 네트워크 계층은 압축될 모델에서 채널 프루닝 처리될 첫 번째 네트워크 계층이다. 이때, 제1 타깃 모델은 압축될 모델이다.
다른 가능한 실시예에 있어서, 은 1보다 큰 양의 정수이고, 예를 들어 =5이며, 즉 번째 네트워크 계층은 압축될 모델에서의 다섯 번째 네트워크 계층이고; 번째 네트워크 계층 이전의 첫 번째 내지 네 번째 네트워크 계층이 모두 채널 프루닝 처리가 필요하지 않으면, 번째 네트워크 계층도 압축될 모델에서 채널 프루닝 처리될 첫 번째 네트워크 계층이다. 이 경우, 제1 타깃 모델도 압축될 모델이다.
번째 네트워크 계층이 압축될 모델에서 채널 프루닝 처리될 첫 번째 네트워크 계층이 아닌 경우, 대응되는 제1 타깃 모델은, 채널 프루닝 처리된 네트워크 계층 및 압축될 모델 중 채널 프루닝 처리를 수행하지 않은 다른 네트워크 계층을 포함한다.
예를 들어, 특정 압축될 모델에 L 개 네트워크 계층이 포함되고, 각각 a1~aL로 나타내며; 여기서, 첫 번째 네트워크 계층 a1, 세 번째 네트워크 계층 a3 및 다섯 번째 네트워크 계층 a5인 총 세 개의 네트워크 계층에 대해 채널 프루닝 처리를 수행해야 한다. =5인 경우, a1에 대한 채널 프루닝 처리가 완료되었으므로, 채널 프루닝 처리된 네트워크 계층 a1’을 얻고; a3에 대한 채널 프루닝 처리도 완료되었으므로, 채널 프루닝 처리를 수행한 네트워크 계층 a3’을 얻으며, 이때 제1 타깃 모델은, a1’, a2, a3’, 및 a4~aL을 포함한다.
본 발명의 실시예는 압축될 모델에 L 개의 네트워크 계층이 포함되고, 처리될 모델에서의 첫 번째 네트워크 계층 내지 L-1 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행하는 것을 예로 들어 설명한다.
예를 들어, 상기 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보를 획득하는 단계는, 샘플 이미지를 제1 타깃 모델에 입력하여, 제1 타깃 모델을 사용하여, 샘플 이미지의 분류 손실 예측 결과를 획득하며, 상기 샘플 이미지의 분류 손실 예측 결과와 상기 샘플 이미지에 대응되는 진실 분류 라벨 및 미리 결정된 손실 함수에 기반하여, 상기 샘플 이미지의 손실 정보를 획득하는 단계를 포함한다.
상기 예시에 있어서, 제1 타깃 모델의 손실 정보는 예를 들어 아래 식 (1)과 같다.
여기서, C는 번째 네트워크 계층의 출력 특징이 Y 일 때, 제1 타깃 모델의 분류 손실 함수를 나타내고; 는 크로스 엔트로피 손실 함수를 나타내며; 는 샘플 이미지의 진실 분류 라벨을 나타낸다. N은 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행할 때, 번째 네트워크 계층 내지 L 번째 네트워크 계층에 의해 매핑된 함수를 나타내고; 는 상기 함수의 파라미터이며, Y는 상기 함수의 입력이다.
상기 과정을 통해 샘플 이미지의 손실 정보를 결정한다. 상기 손실 정보는 첫 번째 네트워크 계층 내지 -1 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행한 후, 채널 프루닝 처리된 네트워크 계층 및 채널 프루닝 처리를 수행하지 않은 네트워크 계층으로 구성된 제1 타깃 모델이 샘플 이미지에 대해 분류를 수행할 때 얻은 손실 정보이다.
제1 특징 데이터는 제1 타깃 모델에서의 +1 번째 네트워크 계층으로부터 출력된 특징 데이터이다. 본 발명의 실시예에 있어서, 제1 타깃 모델을 결정한 후, 제1 타깃 모델을 사용하여 샘플 이미지에 대해 이미지 처리를 수행하고, 각 네트워크 계층은 모두 샘플 이미지의 특징을 특성화하는 특징 데이터를 얻을 수 있으며; 제1 타깃 모델 중 +1 번째 네트워크 계층에서 출력된 특징 데이터를 제1 특징 데이터로 결정한다.
II: 상기 단계 S102에 있어서, 분류 손실 가이드 정보는, 채널 프루닝 처리를 수행해야 하는 네트워크 계층에서 각 컨볼루션 커널의 중요성을 특성화하기 위한 것이다.
일부 실시예에 있어서, 하기 방식을 사용하여 분류 손실 지시 정보를 얻을 수 있고, 손실 정보가 상기 제1 타깃 모델에서의 역전파를 사용하여, 상기 제1 특징 데이터에 대한 손실 함수의 편도함수를 결정하며, 상기 편도함수를 상기 분류 손실 가이드 정보로 결정한다.
예시적으로, 예를 들어 분류 손실 가이드 정보는 하기 식 (2)를 만족한다.
여기서, 는 손실 함수를 나타내고; 는 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행한 후, +1 번째 네트워크 계층이 i 번째 채널에서 출력한 특징 데이터를 나타내며; 는 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행하기 전에, +1 번째 네트워크 계층이 i 번째 채널에서 출력한 특징 데이터를 나타내고, 즉 제1 타깃 모델의 +1 번째 네트워크 계층이 i 번째 채널에서 출력한 특징 데이터이다.
여기서 유의해야 할 것은, 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행할 때, 번째 네트워크 계층에서의 일부 채널을 감소하는 것을 끊임없이 시도함으로써, 다양한 프루닝 방안을 형성하고, 최종으로 프루닝 처리의 결과를 피팅한다. 따라서, 프루닝 처리를 피팅하는 과정에 있어서, 는 변수이고; 상이한 프루닝 방안은, 대응되는 상이한 가 있다. 는 손실 함수를 사용하여 변수 에 대해 편도함수를 구하는 것을 나타내고, 그 제약 조건은 분류 손실 가이드 정보 의 값은 인 경우에 결정되는 것을 나타낸다. 나아가, 상기 단계 설명은 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정한다.
III: 상기 단계 S103에 있어서, 분류 손실 가이드 정보를 결정한 후, 상기 분류 손실 가이드 정보에 기반하여 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행할 수 있다.
예시적으로, 하기 방법을 사용하여 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 수행할 수 있다.
상기 분류 손실 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하고; 상기 채널 선택 지시 정보는 보류할 채널을 지시하기 위한 것이고; 상기 샘플 이미지의 상기 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터이다.
상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정한다.
구체적인 실시예에 있어서, 예를 들어, 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행하면, 먼저 압축될 모델을 사용하여 샘플 이미지에 대해 처리를 수행할 때, 압축될 모델의 +1 번째 네트워크 계층에서 출력된 샘플 이미지의 제2 특징 데이터를 얻은 다음, 분류 손실 가이드 정보 및 상기 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정할 수 있다.
여기서, 는 +1 번째 네트워크 계층의 출력 채널 개수를 나타내고; 는 출력 특징의 i 번째 채널을 나타낸다. 는 분류 손실 가이드 정보를 나타내고, 상기 식 (2)를 만족한다. 는 한 세트의 바이너리 채널 선택 지시자를 포함한 벡터의 요소이고, 상기 식에 있어서, 이는 번째 네트워크 계층 출력 특징의 하나의 출력 채널에 대응되고, 대응되는 출력 채널은 프루닝이 필요한지 여부를 지시하기 위한 것이며, 상기 벡터에 포함되는 요소의 개수와 +1 번째 네트워크 계층의 입력 채널 개수, 즉 번째 네트워크 계층과의 출력 채널 개수는 동일하다. 여기서, 은 +1 번째 네트워크 계층의 입력 채널 개수를 나타낸다. 그는 번째 네트워크 계층의 출력 채널과 일대일로 대응된다.
예를 들어, 번째 네트워크 계층에서의 특정 출력 채널에 대응되는 가 0일 때, 상기 출력 채널에 대해 프루닝을 수행함을 지시하고, 즉 상기 출력 채널을 삭제하며, 구체적인 동작은 상기 출력 채널에 대응되는 컨볼루션 커널을 삭제하는 것이고; 번째 네트워크 계층에서의 특정 출력 채널에 대응되는 가 1일 때, 상기 출력 채널에 대해 프루닝을 수행하지 않음을 지시하고, 즉 상기 채널을 보류하며, 구체적인 동작은 상기 출력 채널에 대응되는 컨볼루션 커널을 보류하는 것이다.
여기서, 는 제2 특징 데이터를 나타낸다. 는 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행한 후, +1 번째 네트워크 계층에서 출력된 특징 데이터를 나타낸다. 설명해야 할 것은, 상기 식 (3)은 상기 분류 손실 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정할 때의 타깃 함수이다. 여기서 는 사실상 타깃 함수를 피팅할 때, 의 상이한 값에 기반하여 결정되고, 타깃 함수에 대해 피팅을 수행하는 과정에서, 사실상 번째 네트워크 계층의 컨볼루션 커널에 대해 조정을 수행하지 않았다. 상기 타깃 함수에 기반하여 를 결정한 후에야만, 최종으로 결정된 에 기반하여 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정한다. 타깃 함수를 피팅할 때, 예를 들어, 라쏘(Least Absolute Shrinkage and Selection Operator, LASSO) 알고리즘을 사용하여 구현할 수 있다.
여기서, 는 재구성 오류를 나타낸다. 구체적으로, 번째 네트워크 계층에 대해 채널 프루닝을 수행하는 과정에 있어서, 번째 네트워크 계층에 대해 채널 프루닝을 수행하기 전 및 수행한 후에, +1 번째 네트워크 계층에서 출력된 특징 데이터 사이의 오류는 최대한 작아야 한다.
여기서, 은 의 L0 노름을 나타낸다. B는 번째 네트워크 계층에 대해 채널 프루닝을 수행한 후, 남은 채널의 개수를 나타낸다. 여기서, B는 보통 미리 결정된 것이고, 번째 네트워크 계층에 대해 채널 프루닝을 수행한 후, 남은 채널 개수가 B를 초과할 수 없음을 제약하기 위한 것이다.
다른 실시예에 있어서, 상기 식 (3)을 구하는 것은 비결정 다항식 (Non-Deterministic Polynomial Problems, NP) 난제이기 때문에, L0 노름 정규화를 L1 노름 정규화로 넓히고, 아래 타깃 함수 (4)를 얻을 수 있다.
여기서, 가 증가되면, 바이너리 채널 선택 지시자의 벡터에서의 0의 개수가 증가되도록 하고, 즉 감하는 채널의 개수는 증가되며; 가 감소되면, 바이너리 채널 선택 지시자의 벡터에서의 1의 개수가 증가되도록 하고, 즉 감하는 채널의 개수는 감소하며; 타깃 함수를 구할 때 의 값을 끊임없이 시도하고; 예를 들어 특정 프루닝 방안에서 제약 조건 를 만족할 때까지 를 점차적으로 증가한다.
또한, 각 채널에서 공간 위치 M의 합 및 위치 m의 인덱스를 고려하여, 상기 식 (3)은 하기 식 (5)의 형태로 나타낼 수도 있다.
여기서, 는 압축될 모델의 +1 번째 네트워크 계층이 i 번째 채널의 m 번째 위치에서의 출력 특징을 나타내고; 는 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행한 후, +1 번째 네트워크 계층이 i 번째 채널의 m 번째 위치에서 출력된 특징 데이터를 나타낸다. 다른 파라미터는 식 (3)에 대한 설명을 참조하고, 여기서 더 이상 반복하여 설명하지 않는다.
채널 선택 지시 정보를 얻은 후, 상기 채널 선택 지시 정보에 기반하여, 번째 네트워크 계층의 컨볼루션 커널을 조정한다. 예시적으로, 특정 채널에 대응되는 채널 선택 지시 정보의 값이 0 이면, 상기 채널에 대응되는 컨볼루션 커널을 삭제하고; 특정 채널에 대응되는 채널 선택 지시 정보의 값이 1 이면, 상기 채널에 대응되는 컨볼루션 커널을 보류한다.
본 발명의 실시예에서 제기된 다음 계층 특징 삭제 문제를 해결하기 위해, 본 발명의 실시예는 또한 손실 정보 및 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 다른 방법을 제공하고, 상기 방법은, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보 및 특징 중요성 가이드 정보를 결정하는 단계를 포함한다.
이 경우, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하는 단계는, 상기 분류 손실 가이드 정보, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하는 단계; 및 상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정하는 단계를 포함한다. 상기 샘플 이미지의 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터이다.
여기서, 특징 중요성 가이드 정보는 특징 데이터에서 상이한 위치의 요소 값의 중요성을 지시하기 위한 것이다. 예시적으로, 제1 특징 데이터 및 미리 결정된 조정 파라미터에 기반하여, 특징 중요성 가이드 정보를 결정할 수 있다.
예를 들어, 특징 중요성 가이드 정보는 하기 식 (6)을 만족한다.
다른 파라미터는 상기 식 (3)의 설명을 참조하고, 여기서 더 이상 반복하여 설명하지 않는다.
유사하게, 상기 식 (7)에서의 L0 노름 정규화가 L1 노름 정규화로 완화된 후, 하기 타깃 함수 (8)을 얻을 수 있다.
또한, 각 채널에서 공간 위치 M의 총계 및 위치 m의 인덱스를 고려하여, 상기 식 (7)은 하기 식 (9)의 형식으로 나타낼 수도 있다.
다른 파라미터는 상기 식 (5)의 설명을 참조하고, 여기서 더 이상 반복하여 설명하지 않는다.
또한, 본 발명의 다른 실시예에 있어서, 다만 특징 중요성 가이드 정보에 기반하여 채널 선택 지시 정보를 결정할 수도 있다.
이 경우, 예를 들어, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하는 단계는, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하는 단계; 및 상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정하는 단계를 포함할 수 있다. 상기 샘플 이미지의 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터이다.
예시적으로, 타깃 함수는 하기 식 (10)으로 나타낼 수도 있다.
상기 타깃 함수는 하기 식 (11)과 동일하게 다시 작성할 수 있다.
여기서, 대부분의 공간 위치 m에 대해, 일때, i 번째 채널은 번째 네트워크 계층에 대해 채널 프루닝을 수행할 때 삭제될 가능성이 더욱 크다. 이 경우, 의 재구성 오류를 사용할 수 있다. 한편, 번째 네트워크 계층에 대해 채널 프루닝을 수행할 때, i 번째 채널이 삭제되지 않으면, 의 재구성 오류를 사용할 수 있다. 관련 기술에 있어서, 번째 네트워크 계층에 대해 채널 프루닝을 수행한 결과는 공간 위치 m, 입력된 샘플 이미지 및 압축될 모델의 파라미터를 포함한 많은 요소에 의해 결정되므로, 번째 네트워크 계층에 대해 채널 프루닝을 수행할 때 상기 채널이 삭제되는지 여부를 예측하기 어렵고, 본 발명의 실시예에서는 를 사용하여 번째 네트워크 계층에 대한 채널 프루닝을 가이드한다.
본 발명의 다른 실시예에 있어서, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한 후, 하기 단계 S104를 더 포함한다.
단계 S104에 있어서, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행한다.
구체적인 실시예에 있어서, 예를 들어 임의의 하나의 네트워크 계층이 번째 네트워크 계층이면; 번째 네트워크 계층의 다음 네트워크 계층은 +1 번째 네트워크 계층이다. 예를 들어 하기 방식을 사용하여 +1 번째 네트워크 계층에 대해 파라미터 업데이트 처리를 수행할 수 있다.
프루닝 처리된 번째 네트워크 계층 및 컨볼루션 커널 채널 조정이 수행된 +1 번째 네트워크 계층에 기반하여, 제2 타깃 모델을 결정하고; 상기 제2 타깃 모델을 사용하여, 상기 제2 타깃 모델에서의 +1 번째 네트워크 계층을 획득하여 상기 샘플 이미지의 제3 특징 데이터를 출력하며; 압축될 모델이 이미지에 대해 처리를 수행할 때의 상기 임의의 하나의 네트워크 계층에서 출력된 제2 특징 데이터를 사용하여, +1 번째 네트워크 계층의 가중치 파라미터를 얻고; 상기 가중치 파라미터에 기반하여, +1 번째 네트워크 계층의 계층의 원래 가중치 파라미터에 대해 업데이트 처리를 수행한다.
구체적인 실시예에 있어서, 번째 네트워크 계층의 출력 채널 및 +1 번째 네트워크 계층의 입력 채널 개수가 일치해야 하므로; 번째 네트워크 계층의 출력 채널 개수에 변화가 발생할 때, +1 번째 네트워크 계층의 입력 채널 개수를 조정해야 한다.
예를 들어, 번째 네트워크 계층의 출력 채널 개수가 6이고; 특정 특징 맵이 번째 네트워크 계층의 처리를 거친 후, 출력 특징 맵의 차원은 6*10*24이며, 즉 +1 번째 네트워크 계층의 입력 채널 개수도 6이고; +1 번째 네트워크 계층에는 64 개의 6*3*3의 컨볼루션 커널이 있으며; 번째 네트워크 계층에서의 하나의 출력 채널을 삭제하면, 특징 맵은 출력 채널이 삭제된 번째 네트워크 계층의 처리를 거친 후, 출력된 특징 맵의 차원은5*10*24이고; +1 번째 네트워크 계층의 출력 채널이 변하지 않는 것을 보장하는 경우, +1 번째 네트워크 계층에서의 64개의 6*3*3의 컨볼루션 커널에 대해 각각 채널 삭제를 수행해야 하며, 최종으로 +1 번째 네트워크 계층에서의 64개의 컨볼루션 커널의 차원은 5*3*3이다.
번째 네트워크의 출력 채널이 각각 m1 내지 m6이고; +1 번째 네트워크 계층의 컨볼루션 커널의 채널이 각각 m1’ 내지 m6’이며, 번째 네트워크의 출력 채널 m3을 삭제하면; 이에 따라, +1 번째 네트워크 계층의 컨볼루션 커널의 채널 m3’을 삭제해야 한다.
+1 번째 네트워크 계층의 컨볼루션 커널에 대해 채널 조정을 수행한 후, 프루닝 처리가 수행된 번째 네트워크 및 컨볼루션 커널 채널 조정된 +1 번째 네트워크 계층에 기반하여, 제2 타깃 모델을 결정한다.
제1 타깃 모델 및 제2 타깃 모델 사이의 차이점은, 제1 타깃 모델에서, 번째 네트워크 계층은 채널 프루닝 동작을 거치기 전의 네트워크 계층이고, +1 번째 네트워크 계층도 압축될 모델에서 원래 +1 번째 네트워크 계층이며; 제2 타깃 모델에서, 번째 네트워크 계층은 채널 프루닝 동작을 거친 후의 네트워크 계층이고, +1 번째 네트워크 계층은 컨볼루션 커널 채널 조정을 수행한 +1 번째 네트워크 계층이다. 그 구체적인 구성은 상기 실시예의 설명을 참조할 수 있고, 여기서 더 이상 반복하여 설명하지 않는다.
일부 선택적인 실시예에 있어서, 번째 네트워크 계층에서 일부 채널에 대응되는 컨볼루션 커널을 삭제하고, +1 번째 네트워크 계층의 컨볼루션 커널도 상응하게 조정되었으므로, 적응적으로 +1 번째 네트워크 계층의 파라미터를 조정해야 한다.
일부 선택적인 실시예에 있어서, 번째 네트워크 계층에 대해 채널 프루닝 동작을 실행한 후, 번째 네트워크 계층에 대해 영향이 비교적 작은 채널은 삭제되었고, 남은 다른 채널은 모두 중요한 채널이므로, 번째 네트워크 계층에서 남은 각 채널은 똑같이 중요한 것으로 간주될 수 있다. 또한, 예를 들어 로 하고, 분류 손실 지시 정보 를 낮출 수 있으며, 고정된 채널 선택 지시 정보를 구비한 최소 제곱 최적화 문제를 해결하여 재구성 오류 를 최소화하고, 즉, +1 번째 네트워크 계층의 가중치 파라미터 는 하기 식 (12)를 만족한다.
또한 상기 식 (12)에 따라 +1 번째 네트워크 계층의 가중치 파라미터를 얻고, 상기 가중치 파라미터에 기반하여 +1 번째 네트워크 계층의 가중치 파라미터에 대해 업데이트 처리를 수행한다.
1: 압축될 모델을 사용하여 샘플 이미지를 위해 첫 번째 내지 L 번째 네트워크 계층에서, 각 네트워크 계층에 각각 대응되는 제2 특징 데이터 를 추출한다. 여기서, 는 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행할 때, +1 번째 네트워크 계층에 대응되는 특징 데이터 에서의 i 번째 출력 채널에서 출력되는 특징 데이터이다.
7, k 번째 컨볼루션 커널을 삭제하여, 번째 네트워크 계층에서의 채널을 프루닝하고, 여기서 k는 에서 모든 의 인덱스이며, 채널을 삭제한 후의 번째 네트워크 계층에 대응되는 가중치를 로 설정하고, 에 기반하여 +1 번째 네트워크 계층에서의 각 컨볼루션 커널의 채널을 조정한다.
8, 최소 제곱 최적화 방법 및 식 (12)에 기반하여, +1 번째 네트워크 계층의 조정 가중치 를 획득하고, 에 기반하여 컨볼루션 커널 채널의 +1 번째 네트워크 계층에서의 파라미터를 업데이트 조정한다.
상기 순환 단계를 실행 완료한 후, 최종적으로 얻은 압축 모델은,
본 발명의 다른 실시예에 있어서, 상기 단계에 기반하여 압축 모델을 얻은 후, 샘플 이미지를 사용하여 압축 모델에 대해 미세 조정 처리를 수행할 수도 있다. 예를 들어 압축 모델을 사용하여 샘플 이미지의 분류 결과를 획득할 수 있고, 분류 결과 및 샘플 이미지의 분류 라벨에 기반하여, 샘플 이미지의 분류 손실을 결정하며; 분류 손실에 기반하여, 압축 모델의 파라미터를 미세 조정함으로써, 압축된 모델의 인식 정밀도를 향상시킬 수 있다.
본 발명의 실시예는 압축될 모델에서의 다중 네트워크 계층에서의 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 손실 정보 및 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득하며; 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하고, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한다. 따라서 매번 하나의 신경망 계층에 대해서만 프루닝을 수행하고, 프루닝을 수행할 때 분류 손실 가이드 정보에 기반하여 상기 계층 신경망의 채널 프루닝 처리를 가이드함으로써, 압축이 완료된 후 모델의 손실에 미치는 큰 영향을 방지하여, 압축 효율을 보장할 수 있고, 압축 효과도 고려할 수 있다.
또한, 본 발명의 다른 실시예는 특징 중요성 가이드 정보를 더 사용하여 채널 선택 지시 정보를 결정하고, 채널 선택 정보에 기반하여 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한다. 특징 중요성 가이드 정보를 번째 네트워크 계층에 대해 채널 프루닝을 수행할 때의 가이드로 사용하여, 정보성을 구비하지 않은 특징으로 인한 재구성 오류를 효과적으로 최소화하였고, 이러한 정보는 +1 번째 네트워크 계층에 대해 채널 프루닝을 수행하는 과정에 삭제됨으로써, 합리적인 결과를 획득할 수 있다.
본 분야의 기술자는 구체적인 실시 형태의 상기 방식에서, 각 단계의 기록 순서는 엄격한 수행 순서를 의미하지 않고 실시 과정에 대한 임의의 제한을 구성하며, 각 단계의 구체적인 수행 순서는 그 기능 및 가능한 내부 논리에 의해 결정된다는 것을 이해할 수 있다.
동일한 발명 구상에 기반하여, 본 발명의 실시예에서는 모델 압축 방법에 대응되는 모델 압축 장치를 더 제공하고, 본 발명의 실시예에서의 장치가 문제를 해결하는 원리는 본 발명의 실시예에 따른 모델 압축 방법과 유사하므로, 장치의 실시는 방법의 실시를 참조할 수 있고, 중복되는 부분은 더 이상 반복하여 설명하지 않는다.
본 발명의 실시예는 이미지 처리 방법을 더 제공하고, 상기 이미지 처리 방법은, 처리될 이미지를 획득하는 단계; 및 본 발명의 전술한 어느 한 실시예에서 제공된 모델 압축 방법에 기반하여 결정된 이미지 처리 모델을 사용하여, 상기 처리될 이미지에 대해 이미지 처리 임무를 실행하는 단계를 포함한다. 본 발명의 실시예에서 제공된 이미지 처리 방법의 실행 주체는 보통 일정한 컴퓨팅 능력을 구비한 컴퓨터 기기이며, 상기 컴퓨터 기기에는 예를 들어, 단말 기기 또는 서버 또는 다른 처리 기기가 포함되고, 단말 기기는 사용자 기기(User Equipment, UE), 모바일 기기, 사용자 단말, 단말, 셀룰러 폰, 무선 전화, 개인용 정보 단말기(Personal Digital Assistant, PDA), 휴대용 기기, 컴퓨팅 기기, 차량 탑재 기기, 웨어러블 기기 등일 수 있다. 일부 가능한 구현 방식에 있어서, 상기 이미지 처리 방법은 프로세서가 메모리에 저장된 컴퓨터 판독 가능 명령어를 호출하는 방식을 통해 구현될 수 있다.
일부 선택적인 실시예에 있어서, 상기 처리될 이미지는 컴퓨터 기기에 설치된 촬영 장치를 통해 직접 수집될 수 있고, 통신 방식을 통해 다른 기기 또는 저장 장치로부터 획득할 수도 있다.
본 실시예에 있어서, 이미지 처리 임무는, 예를 들어 액션 인식, 얼굴 인식, 얼굴 감정 인식, 얼굴 키포인트 인식, 생체 인식 중 적어도 하나의 이미지 처리 임무를 포함한다.
본 발명의 실시예는 미리 정해진 이미지 처리 임무에 기반하여, 샘플 이미지 및 각 샘플 이미지와 대응되는 라벨을 결정하고; 샘플 이미지 및 각 샘플 이미지에 대응되는 라벨에 기반하여, 훈련하여 압축될 모델을 얻으며, 본 발명의 전술한 어느 한 실시예에서 제공된 모델 압축 방법에 기반하여 그에 대해 압축 처리를 수행하고; 압축 모델을 얻은 후, 다시 일부 샘플 이미지를 사용하여 압축 모델에 대해 미세 조정을 수행하여, 훈련이 완성된 이미지 처리 모델을 얻을 수도 있다.
본 발명의 실시예가 제공하는 이미지 처리 방법은, 본 발명의 실시예가 제공하는 모델 압축 방법에 기반하여 결정된 이미지 처리 모델을 사용하여 이미지 처리 임무를 실행한다. 본 발명의 실시예가 제공하는 모델 압축 방법은 더 나은 압축 효과를 가져올 수 있으며, 즉 얻은 압축 모델은 현재 기술로 얻은 압축 모델에 비해 모델 규모가 더욱 작고, 계산의 복잡도는 더욱 낮으므로, 임베디드 기기가 이미지 처리를 수행하는데 더욱 잘 적용된다.
도 2를 참조하면, 본 발명의 실시예가 제공하는 모델 압축 장치의 예시도이고, 상기 모델 압축 장치는, 획득 모듈(21), 결정 모듈(22) 및 프루닝 모듈(23)을 포함하며, 여기서,
상기 획득 모듈(21)은, 압축될 모델에서의 다중 네트워크 계층 중에서 적어도 하나의 네트워크 계층 중 임의의 하나의 네트워크 계층에 대해, 상기 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보 및 상기 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득하도록 구성되고;
상기 결정 모듈(22)은, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하도록 구성되며;
상기 프루닝 모듈(23)은, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하도록 구성된다.
본 발명의 실시예는, 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 손실 정보 및 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득하며; 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하고, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한다. 따라서 매번 하나의 신경망 계층에 대해서만 프루닝을 수행하고, 프루닝을 수행할 때 분류 손실 가이드 정보에 기반하여 상기 계층 신경망의 채널 프루닝 처리를 가이드함으로써, 압축이 완료된 후 모델의 손실에 미치는 큰 영향을 방지하여, 압축 효율을 보장할 수 있고, 압축 효과도 고려할 수 있다.
가능한 실시형태에 있어서, 상기 모델 압축 장치는, 상기 프루닝 모듈(23)이 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한 후, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행하도록 구성된 업데이트 모듈(24)을 더 포함한다.
가능한 실시형태에 있어서, 상기 결정 모듈(22)은, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보 및 특징 중요성 가이드 정보를 결정하도록 구성된다.
가능한 실시형태에 있어서, 상기 결정 모듈(22)은, 상기 제1 특징 데이터 및 미리 결정된 조정 파라미터에 기반하여, 상기 특징 중요성 가이드 정보를 결정하도록 구성된다.
가능한 실시형태에 있어서, 상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층인 경우, 상기 제1 타깃 모델은 상기 압축될 모델이고; 상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층이 아닌 경우, 상기 제1 타깃 모델은, 채널 프루닝 처리된 네트워크 계층 및 상기 압축될 모델 중 채널 프루닝 처리를 수행하지 않은 다른 네트워크 계층을 포함한다.
가능한 실시형태에 있어서, 상기 획득 모듈(21)은, 상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 분류 손실 예측 결과를 획득하고; 상기 샘플 이미지의 분류 손실 예측 결과, 상기 샘플 이미지에 대응되는 진실 분류 라벨 및 미리 결정된 손실 함수에 기반하여, 상기 샘플 이미지의 손실 정보를 획득하도록 구성된다.
가능한 실시형태에 있어서, 상기 결정 모듈(22)은, 상기 손실 정보가 상기 제1 타깃 모델에서의 역전파를 사용하여, 상기 제1 특징 데이터에 대한 손실 함수의 편도함수를 결정하고; 상기 편도함수를 상기 분류 손실 가이드 정보로 결정하도록 구성된다.
가능한 실시형태에 있어서, 상기 프루닝 모듈(23)은, 상기 분류 손실 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 상기 분류 손실 가이드 정보, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하며; 상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정하도록 구성되며; 상기 채널 선택 지시 정보는 보류할 채널을 지시하기 위한 것이고; 상기 샘플 이미지의 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터이다.
가능한 실시형태에 있어서, 상기 업데이트 모듈(24)은, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 계층 네트워크에서의 각 컨볼루션 커널에 대해 채널 조정을 수행하고; 프루닝 처리된 상기 임의의 하나의 네트워크 계층 및 컨볼루션 커널 채널 조정된 상기 다음 네트워크 계층에 기반하여, 제2 타깃 모델을 결정하고, 상기 제2 타깃 모델을 사용하여, 상기 제2 타깃 모델에서의 상기 프루닝 처리된 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층을 획득하여 상기 샘플 이미지의 제3 특징 데이터를 출력하며; 압축될 모델이 이미지에 대해 처리를 수행할 때의 상기 임의의 하나의 네트워크 계층에서 출력된 제2 특징 데이터를 사용하여, 상기 다음 네트워크 계층의 가중치 파라미터를 얻고; 상기 가중치 파라미터에 기반하여, 상기 다음 네트워크 계층의 원래 가중치 파라미터에 대해 업데이트 처리를 수행하도록 구성된다.
설명해야 할 것은, 상기 실시예에서 제공한 모델 압축 장치가 모델 압축을 수행할 경우, 상기 각 프로그램 모듈의 분할만을 예로 들면, 실제 응용에서, 필요에 따라 상기 처리 분배는 상이한 프로그램 모듈을 통해 완료될 수 있고, 즉 장치의 내부 구조를 상이한 프로그램 모듈로 분할하여, 상기 설명한 전부 또는 일부 처리를 완료한다 또한, 상기 실시예에서 제공한 모델 압축 장치와 모델 압축 방법의 실시예는 동일한 사상에 속하며, 이의 구체적인 구현 과정은 방법 실시예를 참조하면 되고, 여기서 더 이상 반복하여 설명하지 않는다.
본 발명의 실시예는 이미지 처리 장치를 더 제공하고, 상기 이미지 처리 장치는, 획득 유닛 및 처리 유닛을 포함하며, 상기 획득 유닛은 처리될 이미지를 획득하도록 구성되고; 상기 처리 유닛은 본 발명의 전술한 어느 한 실시예에서 제공된 모델 압축 방법에 의해 결정된 이미지 처리 모델을 사용하여, 상기 처리될 이미지에 대해 이미지 처리 임무를 실행하도록 구성된다.
본 발명의 실시예는 컴퓨터 기기를 더 제공하고, 도 3에 도시된 바와 같이, 본 발명의 실시예가 제공하는 컴퓨터 기기(30)의 구조 예시도이며, 상기 컴퓨터 기기(30)는, 서로 연결된 프로세서(31) 및 메모리(32)를 포함하고, 상기 메모리에는 상기 프로세서에서 실행 가능한 컴퓨터 판독 가능 명령어가 저장되어 있으며, 컴퓨터 기기가 작동될 경우, 상기 컴퓨터 판독 가능 명령어가 상기 프로세서(31)에 의해 실행될 때 본 발명의 전술한 어느 한 실시예가 제공하는 모델 압축 방법의 단계를 실행하거나 또는 상기 컴퓨터 판독 가능 명령어가 상기 프로세서(31)에 의해 실행될 때 본 발명의 실시예가 제공하는 모델 압축 방법에 의해 결정된 이미지 처리 모델을 사용하여, 처리될 이미지에 대해 이미지 처리 임무를 실행한다.
컴퓨터 기기(30)에서의 각 컴포넌트는 버스 시스템을 통해 서로 결합될 수 있음을 이해할 수 있다. 버스 시스템은 이러한 컴포넌트 사이의 연결 통신을 구현하기 위한 것임을 이해할 수 있다.
상기 본 발명의 실시예에서 언급된 방법은 프로세서(31)에 적용될 수 있거나, 또는 프로세서(31)에 의해 구현된다. 프로세서(31)는 신호 처리 능력을 구비한 집적 회로 칩일 수 있다. 구현 과정에서, 상기 방법의 각 단계는 프로세서(31)에서의 하드웨어의 집적 논리 회로 또는 소프트웨어 형태의 명령을 통해 수행될 수 있다. 상기 프로세서(31)는 범용 프로세서, 디지털 신호 프로세서(Digital Signal Processor, DSP) 또는 다른 프로그램 가능 논리 소자, 이산 게이트 또는 트랜지스터 논리 소자, 이산 하드웨어 컴포넌트 등일 수 있다. 프로세서(31)는 본 발명의 실시예에서 개시된 각 방법, 단계 및 논리 블록도를 구현 또는 실행할 수 있다. 범용 프로세서는 마이크로프로세서일 수 있고 또는 임의의 일반적인 프로세서 등일 수도 있다. 본 발명의 실시예를 결합하여 개시된 방법의 단계는, 하드웨어 디코딩 프로세서에 의해 실행 완료되거나, 또는 디코딩 프로세서에서의 하드웨어 및 소프트웨어 모듈 조합에 의해 실행 완료되는 것으로 직접 반영될 수 있다. 소프트웨어 모듈은 저장 매체에 위치할 수 있고, 상기 저장 매체는 메모리(32)에 위치하며, 프로세서(31)는 메모리(32)에서의 정보를 판독하고 하드웨어와 결합하여 전술한 방법의 단계를 완료한다.
이해할 수 있는 것은, 메모리(32)는 휘발성 메모리 또는 비휘발성 메모리일 수 있으며, 휘발성 메모리 및 비휘발성 메모리 모두를 포함할 수도 있다.
본 발명의 실시예는 컴퓨터 판독 가능 저장 매체를 더 제공하고, 상기 컴퓨터 판독 가능 저장 매체에는 컴퓨터 프로그램이 저장되어 있으며, 상기 컴퓨터 프로그램이 프로세서에 의해 작동될 때 본 발명의 실시예가 제공하는 모델 압축 방법의 단계를 실행하거나, 또는 상기 컴퓨터 프로그램이 프로세서에 의해 작동될 때 본 발명의 실시예가 제공하는 모델 압축 방법에 의해 결정된 이미지 처리 모델을 사용하여, 이미지 처리 임무를 실행한다.
본 발명의 실시예에서 제공된 컴퓨터 프로그램 제품은, 프로그램 코드가 저장된 컴퓨터 판독 가능 저장 매체를 포함하고, 상기 프로그램 코드에 포함된 명령어는 상기 방법 실시예에 따른 모델 압축 방법 또는 이미지 처리 방법의 단계를 실행하기 위한 것일 수 있으며, 구체적으로 상기 방법 실시예를 참조할 수 있고, 여기서 더 이상 반복하여 설명하지 않는다.
본 발명의 실시예는 컴퓨터 프로그램을 더 제공하고, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 때 전술한 실시예의 어느 한 모델 압축 방법 또는 이미지 처리 방법의 단계를 구현한다. 상기 컴퓨터 프로그램 제품은 구체적으로 하드웨어, 소프트웨어 또는 이들의 결합의 방식을 통해 구현될 수 있다. 선택적인 실시예에 있어서, 상기 컴퓨터 프로그램 제품은 컴퓨터 저장 매체로서 구체적으로 체현되며, 다른 선택적인 실시예에 있어서, 컴퓨터 프로그램 제품은 예를 들어 소프트웨어 개발 키트(Software Development Kit, SDK) 등과 같은 소프트웨어 제품으로서 구체적으로 체현된다.
해당 기술 분야의 기술자는 설명의 편의 및 간결함을 위해, 상기 설명된 시스템 및 장치의 구체적인 작업 과정은, 전술한 방법 실시예에서의 대응되는 과정을 참조할 수 있음을 명확하게 이해할 수 있으며, 여기서 더 이상 반복하여 설명하지 않는다. 본 발명에서 제공된 몇 개의 실시예에 있어서, 개시된 시스템, 장치 및 방법은 다른 방식으로 구현될 수 있음을 이해해야 한다. 위에서 설명한 장치 실시예는 다만 예시적일 뿐이고, 예를 들어, 상기 유닛의 분할은 다만 논리적 기능 분할이며, 사실상 구현될 때에는 다른 분할 방식이 있을 수 있으며, 또 예를 들어, 복수 개의 유닛 또는 컴포넌트는 다른 시스템에 결합 또는 통합될 수 있거나, 또는 일부 특징을 무시하거나 실행하지 않을 수 있다. 또한, 나타내거나 논의된 상호 간의 결합 또는 직접 결합 또는 통신 연결은 일부 통신 인터페이스, 장치 또는 유닛을 통한 간접 결합 또는 통신 연결일 수 있고, 전기적, 기계적 또는 다른 형태일 수 있다.
상기 분리 부재로서 설명된 유닛은 물리적으로 분리될 수 있거나, 분리되지 않을 수도 있고, 유닛으로서 나타낸 부재는 물리적 유닛이거나 아닐 수 있으며, 즉 한곳에 위치할 수 있거나, 또는 복수 개의 네트워크 유닛에 분포될 수도 있다. 실제 필요에 따라 그중의 일부 또는 전부 유닛을 선택하여 본 실시예 방안의 목적을 구현할 수 있다.
또한, 본 발명의 각 실시예에서의 각 기능 유닛은 하나의 처리 유닛에 통합될 수 있고, 각 유닛이 단독 물리적으로 존재할 수도 있으며, 두 개 또는 두 개 이상의 유닛이 하나의 유닛에 통합될 수도 있다.
상기 기능이 만약 소프트웨어 기능 유닛의 형태로 구현되고 또한 단독적인 제품으로 판매되거나 사용될 때, 프로세서가 실행 가능한 비휘발성 컴퓨터 판독 가능한 저장 매체에 저장될 수 있다. 이런 이해에 기반하여, 본 발명의 기술 방안은 본질적으로 또는 기존 기술에 대해 기여하는 부분 또는 상기 기술 방안의 일부는 소프트웨어 제품의 형태로 반영될 수 있고, 상기 컴퓨터 소프트웨어 제품은 하나의 저장 매체에 저장되며, 하나의 컴퓨터 기기(개인용 컴퓨터, 서버 또는 네트워크 기기 등일 수 있음)로 하여금 본 발명의 각 실시예의 상기 방법의 전부 또는 일부 단계를 실행하도록 하는 약간의 명령어를 포함한다. 전술한 저장 매체는 USB 메모리, 외장 하드, 읽기 전용 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 디스켓 또는 CD 등 프로그램 코드를 저장할 수 있는 다양한 매체를 포함한다.
마지막으로 설명할 것은, 이상의 상기 실시예는, 다만 본 발명의 구체적인 실시형태이고, 본 발명의 기술적 해결 수단을 설명하기 위한 것일 뿐이며, 이를 한정하는 것은 아니고, 본 발명의 보호 범위는 이에 한정되지 않으며, 전술한 실시예를 참조하여 본 발명에 대해 상세한 설명을 진행하였으나, 본 분야의 통상의 기술자는, 본 기술 분야에 익숙한 기술자라면 본 발명에서 개시된 기술적 범위 내에서, 전술한 실시예에 기재된 기술 방안에 대해 여전히 수정할 수 있거나 변화 또는 일부 기술 특징에 대해 동등한 교체를 진행할 수 있음을 쉽게 생각할 수 있고; 이러한 수정, 변화 또는 교체는, 상응한 기술 방안의 본질이 본 발명의 실시예의 기술 방안의 사상 및 범위를 벗어나지 않으며, 모두 본 발명의 보호 범위 내에 속해야 함을 이해해야 한다. 따라서, 본 발명의 보호 범위는 상기 청구 범위의 보호 범위를 기준으로 해야 한다.
Claims (23)
- 모델 압축 방법으로서,
압축될 모델에서의 다중 네트워크 계층 중에서 적어도 하나의 네트워크 계층 중 임의의 하나의 네트워크 계층에 대해, 상기 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보 및 상기 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득하는 단계;
상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 단계; 및
상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법. - 제1항에 있어서,
상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한 후, 상기 모델 압축 방법은,
프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행하는 단계를 더 포함하는 것을 특징으로 하는 모델 압축 방법. - 제1항 또는 제2항에 있어서,
상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 단계는,
상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보 및 특징 중요성 가이드 정보를 결정하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법. - 제3항에 있어서,
상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 특징 중요성 가이드 정보를 결정하는 단계는,
상기 제1 특징 데이터 및 미리 결정된 조정 파라미터에 기반하여, 상기 특징 중요성 가이드 정보를 결정하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층인 경우, 상기 제1 타깃 모델은 상기 압축될 모델이고;
상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층이 아닌 경우, 상기 제1 타깃 모델은, 채널 프루닝 처리된 네트워크 계층 및 상기 압축될 모델 중 채널 프루닝 처리를 수행하지 않은 다른 네트워크 계층을 포함하는 것을 특징으로 하는 모델 압축 방법. - 제1항 내지 제5항 중 어느 한 항에 있어서,
상기 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보를 획득하는 단계는,
상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 분류 손실 예측 결과를 획득하는 단계; 및
상기 샘플 이미지의 분류 손실 예측 결과, 상기 샘플 이미지에 대응되는 진실 분류 라벨 및 미리 결정된 손실 함수에 기반하여, 상기 샘플 이미지의 손실 정보를 획득하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법. - 제1항 내지 제6항 중 어느 한 항에 있어서,
상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 단계는,
상기 손실 정보가 상기 제1 타깃 모델에서의 역전파를 사용하여, 상기 제1 특징 데이터에 대한 손실 함수의 편도함수를 결정하는 단계; 및
상기 편도함수를 상기 분류 손실 가이드 정보로 결정하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법. - 제1항 내지 제7항 중 어느 한 항에 있어서,
상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하는 단계는,
상기 분류 손실 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 상기 분류 손실 가이드 정보, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하는 단계; 및
상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정하는 단계를 포함하고;
상기 채널 선택 지시 정보는 보류할 채널을 지시하기 위한 것이고; 상기 샘플 이미지의 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터인 것을 특징으로 하는 모델 압축 방법. - 제2항 내지 제8항 중 어느 한 항에 있어서,
상기 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행하는 단계는,
프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 계층 네트워크에서의 각 컨볼루션 커널에 대해 채널 조정을 수행하는 단계;
프루닝 처리된 상기 임의의 하나의 네트워크 계층 및 컨볼루션 커널 채널 조정된 상기 다음 네트워크 계층에 기반하여, 제2 타깃 모델을 결정하고, 상기 제2 타깃 모델을 사용하여, 상기 제2 타깃 모델에서의 상기 프루닝 처리된 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층을 획득하여 상기 샘플 이미지의 제3 특징 데이터를 출력하며; 압축될 모델이 이미지에 대해 처리를 수행할 때의 상기 임의의 하나의 네트워크 계층에서 출력된 제2 특징 데이터를 사용하여, 상기 다음 네트워크 계층의 가중치 파라미터를 얻는 단계; 및
상기 가중치 파라미터에 기반하여, 상기 다음 계층의 원래 가중치 파라미터에 대해 업데이트 처리를 수행하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법. - 이미지 처리 방법으로서,
처리될 이미지를 획득하는 단계; 및
제1항 내지 제9항 중 어느 한 항에 기반하여 결정된 이미지 처리 모델을 사용하여, 상기 처리될 이미지에 대해 이미지 처리 임무를 실행하는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법. - 모델 압축 장치로서,
압축될 모델에서의 다중 네트워크 계층 중에서 적어도 하나의 네트워크 계층 중 임의의 하나의 네트워크 계층에 대해, 상기 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보 및 상기 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득하도록 구성된 획득 모듈;
상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하도록 구성된 결정 모듈; 및
상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하도록 구성된 프루닝 모듈을 포함하는 것을 특징으로 하는 모델 압축 장치. - 제11항에 있어서,
상기 모델 압축 장치는, 상기 프루닝 모듈이 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한 후, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행하도록 구성된 업데이트 모듈을 더 포함하는 것을 특징으로 하는 모델 압축 장치. - 제11항 또는 제12항에 있어서, 상기 결정 모듈은, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보 및 특징 중요성 가이드 정보를 결정하도록 구성되는 것을 특징으로 하는 모델 압축 장치.
- 제13항에 있어서,
상기 결정 모듈은, 상기 제1 특징 데이터 및 미리 결정된 조정 파라미터에 기반하여, 상기 특징 중요성 가이드 정보를 결정하도록 구성되는 것을 특징으로 하는 모델 압축 장치. - 제11항 내지 제14항 중 어느 한 항에 있어서,
상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층인 경우, 상기 제1 타깃 모델은 상기 압축될 모델이고; 상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층이 아닌 경우, 상기 제1 타깃 모델은, 채널 프루닝 처리된 네트워크 계층 및 상기 압축될 모델 중 채널 프루닝 처리를 수행하지 않은 다른 네트워크 계층을 포함하는 것을 특징으로 하는 모델 압축 장치. - 제11항 내지 제15항 중 어느 한 항에 있어서,
상기 획득 모듈은, 상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 분류 손실 예측 결과를 획득하고; 상기 샘플 이미지의 분류 손실 예측 결과, 상기 샘플 이미지에 대응되는 진실 분류 라벨 및 미리 결정된 손실 함수에 기반하여, 상기 샘플 이미지의 손실 정보를 획득하도록 구성되는 것을 특징으로 하는 모델 압축 장치. - 제11항 내지 제16항 중 어느 한 항에 있어서,
상기 결정 모듈은, 상기 손실 정보가 상기 제1 타깃 모델에서의 역전파를 사용하여, 상기 제1 특징 데이터에 대한 손실 함수의 편도함수를 결정하는 단계; 및 상기 편도함수를 상기 분류 손실 가이드 정보로 결정하도록 구성되는 것을 특징으로 하는 모델 압축 장치. - 제11항 내지 제17항 중 어느 한 항에 있어서,
상기 프루닝 모듈은, 상기 분류 손실 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 상기 분류 손실 가이드 정보, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하며; 상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정하도록 구성되고; 상기 채널 선택 지시 정보는 보류할 채널을 지시하기 위한 것이고; 상기 샘플 이미지의 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터인 것을 특징으로 하는 모델 압축 장치. - 제12항 내지 제18항 중 어느 한 항에 있어서,
상기 업데이트 모듈은, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 계층 네트워크에서의 각 컨볼루션 커널에 대해 채널 조정을 수행하고; 프루닝 처리된 상기 임의의 하나의 네트워크 계층 및 컨볼루션 커널 채널 조정된 상기 다음 네트워크 계층에 기반하여, 제2 타깃 모델을 결정하고, 상기 제2 타깃 모델을 사용하여, 상기 제2 타깃 모델에서의 상기 프루닝 처리된 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층을 획득하여 상기 샘플 이미지의 제3 특징 데이터를 출력하며; 압축될 모델이 이미지에 대해 처리를 수행할 때의 상기 임의의 하나의 네트워크 계층에서 출력된 제2 특징 데이터를 사용하여, 상기 다음 네트워크 계층의 가중치 파라미터를 얻고; 상기 가중치 파라미터에 기반하여, 상기 다음 네트워크 계층의 원래 가중치 파라미터에 대해 업데이트 처리를 수행하도록 구성되는 것을 특징으로 하는 모델 압축 장치. - 이미지 처리 장치로서,
처리될 이미지를 획득하도록 구성된 획득 유닛;
제1항 내지 제9항 중 어느 한 항에 기반하여 결정된 이미지 처리 모델을 사용하여, 상기 처리될 이미지에 대해 이미지 처리 임무를 실행하도록 구성된 처리 유닛을 포함하는 것을 특징으로 하는 이미지 처리 장치. - 컴퓨터 기기로서,
서로 연결된 프로세서 및 메모리를 포함하고, 상기 메모리에는 상기 프로세서에서 실행 가능한 컴퓨터 판독 가능 명령어가 저장되어 있으며, 컴퓨터 기기가 작동될 경우, 상기 컴퓨터 판독 가능 명령어가 상기 프로세서에 의해 실행될 때 제1항 내지 제9항 중 어느 한 항에 따른 모델 압축 방법의 단계를 실행하거나 또는 상기 컴퓨터 판독 가능 명령어가 상기 프로세서에 의해 실행될 때 제10항에 따른 이미지 처리 방법의 단계를 실행하는 것을 특징으로 하는 컴퓨터 기기. - 컴퓨터 판독 가능 저장 매체로서,
상기 컴퓨터 판독 가능 저장 매체에는 컴퓨터 프로그램이 저장되어 있고, 상기 컴퓨터 프로그램이 프로세서에 의해 작동될 때 제1항 내지 제9항 중 어느 한 항에 따른 모델 압축 방법의 단계를 실행하거나 또는 상기 컴퓨터 프로그램이 프로세서에 의해 작동될 때 제10항에 따른 이미지 처리 방법의 단계를 실행하는 것을 특징으로 하는 컴퓨터 판독 가능 저장 매체. - 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램이 프로세서에 의해 실행될 때 제1항 내지 제9항 중 어느 한 항에 따른 모델 압축 방법을 구현하거나 또는 상기 컴퓨터 프로그램이 프로세서에 의해 작동될 때 제10항에 따른 이미지 처리 방법을 실행하는 것을 특징으로 하는 컴퓨터 프로그램.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010286175.9 | 2020-04-13 | ||
CN202010286175.9A CN111488986B (zh) | 2020-04-13 | 2020-04-13 | 一种模型压缩方法、图像处理方法以及装置 |
PCT/CN2020/088252 WO2021208151A1 (zh) | 2020-04-13 | 2020-04-30 | 一种模型压缩方法、图像处理方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210129031A true KR20210129031A (ko) | 2021-10-27 |
Family
ID=71791551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217013984A KR20210129031A (ko) | 2020-04-13 | 2020-04-30 | 모델 압축 방법, 이미지 처리 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP2022541359A (ko) |
KR (1) | KR20210129031A (ko) |
CN (1) | CN111488986B (ko) |
TW (1) | TWI768382B (ko) |
WO (1) | WO2021208151A1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132279B (zh) * | 2020-09-23 | 2023-09-15 | 平安科技(深圳)有限公司 | 卷积神经网络模型压缩方法、装置、设备及存储介质 |
CN114692816B (zh) * | 2020-12-31 | 2023-08-25 | 华为技术有限公司 | 神经网络模型的处理方法和设备 |
CN112906870B (zh) * | 2021-03-17 | 2022-10-18 | 清华大学 | 一种基于小样本的网络模型压缩云端服务方法和装置 |
CN114925821B (zh) * | 2022-01-05 | 2023-06-27 | 华为技术有限公司 | 一种神经网络模型的压缩方法及相关系统 |
CN114580632B (zh) * | 2022-03-07 | 2024-09-27 | 腾讯科技(深圳)有限公司 | 模型优化方法和装置、计算设备及存储介质 |
CN114819140A (zh) * | 2022-03-31 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 模型剪枝方法、装置和计算机设备 |
CN114813299B (zh) * | 2022-05-10 | 2023-03-24 | 无锡市第五人民医院 | 一种药敏检测样品取样预处理混合装置 |
CN114913441B (zh) * | 2022-06-28 | 2024-04-16 | 湖南大学 | 通道剪枝方法、目标检测方法及遥感图像车辆检测方法 |
CN115063673B (zh) * | 2022-07-29 | 2022-11-15 | 阿里巴巴(中国)有限公司 | 模型压缩方法、图像处理方法、装置和云设备 |
CN115329952B (zh) * | 2022-10-12 | 2023-01-20 | 深圳比特微电子科技有限公司 | 一种模型压缩方法、装置和可读存储介质 |
CN115543945B (zh) * | 2022-11-29 | 2023-06-20 | 支付宝(杭州)信息技术有限公司 | 一种模型压缩的方法、装置、存储介质及电子设备 |
CN116189667B (zh) * | 2023-04-27 | 2023-08-01 | 摩尔线程智能科技(北京)有限责任公司 | 语音处理模型的量化压缩方法、装置、设备和存储介质 |
CN116562346B (zh) * | 2023-07-07 | 2023-11-10 | 深圳大学 | 基于l0范数的人工神经网络模型压缩方法及装置 |
CN116644781B (zh) * | 2023-07-27 | 2023-09-29 | 美智纵横科技有限责任公司 | 模型压缩方法、数据处理方法、装置、存储介质及芯片 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180260695A1 (en) * | 2017-03-07 | 2018-09-13 | Qualcomm Incorporated | Neural network compression via weak supervision |
CN108229533A (zh) * | 2017-11-22 | 2018-06-29 | 深圳市商汤科技有限公司 | 图像处理方法、模型剪枝方法、装置及设备 |
US10936913B2 (en) * | 2018-03-20 | 2021-03-02 | The Regents Of The University Of Michigan | Automatic filter pruning technique for convolutional neural networks |
US11631004B2 (en) * | 2018-03-28 | 2023-04-18 | Intel Corporation | Channel pruning of a convolutional network based on gradient descent optimization |
JP6951295B2 (ja) * | 2018-07-04 | 2021-10-20 | 株式会社東芝 | 学習方法、学習装置および画像認識システム |
CN110909861B (zh) * | 2018-09-17 | 2023-05-30 | 北京市商汤科技开发有限公司 | 神经网络优化方法及装置、电子设备和存储介质 |
CN110929839B (zh) * | 2018-09-20 | 2024-04-16 | 深圳市商汤科技有限公司 | 训练神经网络的方法和装置、电子设备和计算机存储介质 |
CN109671020B (zh) * | 2018-12-17 | 2023-10-24 | 北京旷视科技有限公司 | 图像处理方法、装置、电子设备和计算机存储介质 |
CN109858613B (zh) * | 2019-01-22 | 2021-02-19 | 鹏城实验室 | 一种深度神经网络的压缩方法、系统及终端设备 |
CN110443165B (zh) * | 2019-07-23 | 2022-04-29 | 北京迈格威科技有限公司 | 神经网络量化方法、图像识别方法、装置和计算机设备 |
CN110490323A (zh) * | 2019-08-20 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 网络模型压缩方法、装置、存储介质和计算机设备 |
CN110705708A (zh) * | 2019-10-10 | 2020-01-17 | 上海交通大学 | 卷积神经网络模型的压缩方法、装置及计算机存储介质 |
-
2020
- 2020-04-13 CN CN202010286175.9A patent/CN111488986B/zh active Active
- 2020-04-30 WO PCT/CN2020/088252 patent/WO2021208151A1/zh active Application Filing
- 2020-04-30 KR KR1020217013984A patent/KR20210129031A/ko not_active Application Discontinuation
- 2020-04-30 JP JP2021525567A patent/JP2022541359A/ja active Pending
- 2020-06-22 TW TW109121223A patent/TWI768382B/zh active
Also Published As
Publication number | Publication date |
---|---|
CN111488986B (zh) | 2023-06-27 |
JP2022541359A (ja) | 2022-09-26 |
CN111488986A (zh) | 2020-08-04 |
WO2021208151A1 (zh) | 2021-10-21 |
TW202139071A (zh) | 2021-10-16 |
TWI768382B (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210129031A (ko) | 모델 압축 방법, 이미지 처리 방법 및 장치 | |
CN109840589B (zh) | 一种在fpga上运行卷积神经网络的方法和装置 | |
CN108073902B (zh) | 基于深度学习的视频总结方法、装置及终端设备 | |
CN108229667A (zh) | 基于人工神经网络类别的修剪 | |
US20220076123A1 (en) | Neural network optimization method, electronic device and processor | |
CN108701250A (zh) | 数据定点化方法和装置 | |
JP2023523029A (ja) | 画像認識モデル生成方法、装置、コンピュータ機器及び記憶媒体 | |
CN109766800B (zh) | 一种移动端花卉识别模型的构建方法 | |
US11775806B2 (en) | Method of compressing neural network model and electronic apparatus for performing the same | |
US20230019151A1 (en) | Implementation of pooling and unpooling or reverse pooling in hardware | |
CN114078195A (zh) | 分类模型的训练方法、超参数的搜索方法以及装置 | |
CN108053034B (zh) | 模型参数处理方法、装置、电子设备及存储介质 | |
CN113705589A (zh) | 数据处理方法、装置及设备 | |
CN113869420A (zh) | 基于对比学习的文本推荐方法及相关设备 | |
CN113011532A (zh) | 分类模型训练方法、装置、计算设备及存储介质 | |
CN115438804A (zh) | 预测模型训练方法、装置、设备以及图像预测方法 | |
CN115759192A (zh) | 一种神经网络加速方法、装置、设备、芯片及存储介质 | |
CN116842447A (zh) | 分类数据的后处理方法、装置、系统和电子装置 | |
CN113887719B (zh) | 一种模型压缩方法及装置 | |
CN113298224B (zh) | 神经网络模型的重训练方法和相关产品 | |
CN116758601A (zh) | 人脸识别模型的训练方法、装置、电子设备及存储介质 | |
CN115908592A (zh) | 特征图的处理方法和相关设备 | |
CN112508187A (zh) | 一种机器学习模型压缩方法、装置及设备 | |
CN113742991A (zh) | 模型和数据联合优化方法及相关装置 | |
WO2024124866A1 (en) | Data processing method and electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |