KR20210129031A - 모델 압축 방법, 이미지 처리 방법 및 장치 - Google Patents

모델 압축 방법, 이미지 처리 방법 및 장치 Download PDF

Info

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
Application number
KR1020217013984A
Other languages
English (en)
Inventor
진양 구오
완리 오우양
동 쑤
Original Assignee
센스타임 그룹 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 센스타임 그룹 리미티드 filed Critical 센스타임 그룹 리미티드
Publication of KR20210129031A publication Critical patent/KR20210129031A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하고, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한다. 따라서 매번 하나의 신경망 계층에 대해서만 프루닝을 수행하고, 프루닝을 수행할 때 분류 손실 가이드 정보에 기반하여 상기 계층 신경망의 채널 프루닝 처리를 가이드함으로써, 압축이 완료된 후 모델의 손실에 미치는 큰 영향을 방지하여, 압축 효율을 보장할 수 있고, 압축 효과도 고려할 수 있다.
선택적인 실시형태에 있어서, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한 후, 상기 모델 압축 방법은, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행하는 단계를 더 포함한다.
이와 같이,
Figure pct00001
번째 네트워크 계층에 대해 채널 프루닝 동작을 수행한 후, 적응적으로
Figure pct00002
+1번째 네트워크 계층의 파라미터를 조정하였다.
선택적인 실시형태에 있어서, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 단계는, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보 및 특징 중요성 가이드 정보를 결정하는 단계를 포함한다.
이와 같이, 특징 중요성 가이드 정보를 사용하여 채널 선택 지시 정보를 결정하고, 채널 선택 정보에 기반하여 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한다. 특징 중요성 가이드 정보를
Figure pct00003
번째 네트워크 계층에 대해 채널 프루닝을 수행할 때의 가이드로 사용하여, 정보성을 구비하지 않은 특징으로 인한 재구성 오류를 최소화하였고, 이러한 정보는
Figure pct00004
+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은 본 발명의 실시예에서 제공된 컴퓨터 기기의 예시도를 도시하였다.
본 발명의 실시예의 목적, 기술 방안 및 장점을 더욱 명확하게 하기 위해, 아래에 본 발명의 실시예에서의 도면을 결합하여, 본 발명의 실시예에서의 기술 방안에 대해 명확하고 완전한 설명을 수행하며, 설명된 실시예는 다만 본 발명의 일부 실시예이고, 모든 실시예가 아님은 분명하다. 통상적으로 여기 도면에서 설명 및 도시된 본 발명의 실시예의 컴포넌트는 다양하고 상이한 구성으로 배치 및 설계된다. 따라서, 도면에서 제공되는 본 발명의 실시예에 대한 다음의 상세한 설명은 청구된 본 발명의 범위를 한정하려는 것이 아니라, 다만 본 발명의 선택된 실시예를 나타내는 것이다. 본 발명의 실시예에 기반하여, 당업자가 창조성 노동을 부여하지 않은 전제 하에서 획득한 모든 다른 실시예는 전부 본 발명의 보호 범위에 속한다.
연구를 통해, 신경망 모델에 대해 채널 프루닝을 수행하는 방법은, 보통 두 가지가 있으며, 손실 함수의 최소화를 통한 프루닝의 방법 및 계층별 프루닝 방법이다. 손실 함수를 최소화하는 채널 프루닝 방법은 각 신경망 계층 채널을 반복적으로 삭제하여, 최종 압축 모델의 최종 손실 영향을 최소화하고, 즉 각 반복 과정에서, 모든 신경망 계층에 대해 처리를 수행한다. 상기 방법은 신경망 모델에 대한 압축 효과가 좋지만, 최종 손실에 대한 각 채널의 영향을 평가하기 위해, 미세 조정 과정을 빈번하게 실행해야 하여, 프루닝 속도가 느리고, 효율이 낮은 문제를 초래한다. 하지만 계층별 프루닝 방법은, 특정 신경망 계층에 대해 프루닝을 수행할 때, 다음 신경망 계층에서 출력된 특징 데이터의 재구성 오류를 최소화하여 삭제할 채널을 선택하고 모델 파라미터를 조정한다. 상기 방법은 한번에 하나의 신경망 계층에 대해서만 프루닝 동작을 수행할 수 있고, 각 신경망 계층에 대한 미세 조정 과정은 한 번만 실행되기 때문에, 프루닝 속도가 빠르지만; 각 신경망 계층의 채널에 대해 채널 프루닝 동작을 수행할 때, 채널에 대한 조정은 압축 완료 후의 신경망 모델의 손실에 대해 비교적 큰 영향을 미칠 수 있으며, 만족스럽지 못한 채널에 대한 조정 결과를 초래하고, 나쁜 최종 압축 효과를 가져온다. 더 나아가, 현재 신경망 모델에 대해 채널 프루닝을 수행하는 방법은, 효율성과 압축 효과를 동시에 고려할 수 없다는 문제가 존재한다.
또한, 신경망의
Figure pct00005
번째 네트워크 계층에 대해 채널 프루닝 동작을 수행한 후,
Figure pct00006
+1 번째 네트워크 계층에 대해 채널 프루닝 동작을 수행하고, 채널 프루닝 동작이 수행된 후의
Figure pct00007
번째 네트워크 계층의 출력 특징은,
Figure pct00008
+1 번째 네트워크 계층의 입력 특징으로 될 것이며;
Figure pct00009
+1 번째 네트워크 계층에 대해 채널 프루닝 동작을 수행할 때,
Figure pct00010
+1 번째 네트워크 계층의 입력 특징 중 일부 재구성 특징을 삭제하면, 이러한 재구성 특징은
Figure pct00011
번째 네트워크 계층에 대해 채널 프루닝 동작을 수행할 때 재구성하여 얻은 것이고, 이는
Figure pct00012
번째 네트워크 계층에 대해 채널 프루닝 동작을 수행할 때 이러한
Figure pct00013
+1 번째 네트워크 계층에서 삭제된 재구성 특징을 재구성할 필요가 없음을 의미하며, 이는,
Figure pct00014
번째 네트워크 계층에 대해 채널 프루닝 동작을 수행할 때, 삭제된 일부 채널을 선택하는 것은 정확하지 않음을 의미하므로, 이러한 상황으로 인해, 획득된 압축 모델은 사실상는 최적화된 모델이 아니며, 여전히 최적화 여지가 있다. 상기 문제를 다음 계층의 특징 삭제 문제로 지칭한다.
상기 방안에 존재하는 결함에 대해, 모두 발명인이 실천 및 면밀한 연구를 거친 후 얻은 결과이고, 따라서, 상기 문제점의 발견 과정과 상기 문제점을 해결하기 위해 아래의 본 발명의 실시 예에서 제안하는 해결 방안은, 모두 본 발명의 실시예의 과정에서 본 발명의 실시예에 대한 발명자가 기여한 것이어야 한다.
상기 연구에 기반하여, 본 발명의 실시예는 모델 압축 방법 및 장치를 제공하고, 압축될 모델에서의 다중 네트워크 계층 중의 적어도 하나의 네트워크 계층에 대해 채널 프루닝 처리를 수행하기 위한 것이며, 적어도 하나의 네트워크 계층 중 어느 하나에 대해, 상기 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제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에 있어서, 모델 압축 진도는, 압축될 모델에서의 현재 프루닝 처리를 수행하는 네트워크 계층의 위치 및 압축될 모델에서의 그 전에 채널 프루닝 처리가 수행된 네트워크 계층의 위치를 지시하기 위한 것이다.
일부 선택적인 실시예에 있어서, 압축될 모델에서의 모든 네트워크 계층에 대해 모두 채널 프루닝 처리를 수행할 때, 모델 압축 진도는, 다만 압축될 모델에서의 현재 프루닝 처리를 수행하는 네트워크 계층의 위치를 지시하기 위해 사용될 수 있다.
상기 임의의 하나의 네트워크 계층은 압축될 모델에서의
Figure pct00015
번째 네트워크 계층이라고 가정하고,
Figure pct00016
번째 네트워크 계층이 압축될 모델에서 채널 프루닝 처리될 첫 번째 네트워크 계층인 경우, 대응되는 제1 타깃 모델은 압축될 모델을 포함한다.
가능한 실시예에 있어서,
Figure pct00017
=1이고, 즉
Figure pct00018
번째 네트워크 계층은 압축될 모델에서의 첫 번째 네트워크 계층이며;
Figure pct00019
번째 네트워크 계층 전에 다른 네트워크 계층이 존재하지 않고,
Figure pct00020
번째 네트워크 계층에 대해 채널 프루닝 처리를 수행하려면,
Figure pct00021
번째 네트워크 계층은 압축될 모델에서 채널 프루닝 처리될 첫 번째 네트워크 계층이다. 이때, 제1 타깃 모델은 압축될 모델이다.
다른 가능한 실시예에 있어서,
Figure pct00022
은 1보다 큰 양의 정수이고, 예를 들어
Figure pct00023
=5이며, 즉
Figure pct00024
번째 네트워크 계층은 압축될 모델에서의 다섯 번째 네트워크 계층이고;
Figure pct00025
번째 네트워크 계층 이전의 첫 번째 내지 네 번째 네트워크 계층이 모두 채널 프루닝 처리가 필요하지 않으면,
Figure pct00026
번째 네트워크 계층도 압축될 모델에서 채널 프루닝 처리될 첫 번째 네트워크 계층이다. 이 경우, 제1 타깃 모델도 압축될 모델이다.
Figure pct00027
번째 네트워크 계층이 압축될 모델에서 채널 프루닝 처리될 첫 번째 네트워크 계층이 아닌 경우, 대응되는 제1 타깃 모델은, 채널 프루닝 처리된 네트워크 계층 및 압축될 모델 중 채널 프루닝 처리를 수행하지 않은 다른 네트워크 계층을 포함한다.
예를 들어, 특정 압축될 모델에 L 개 네트워크 계층이 포함되고, 각각 a1~aL로 나타내며; 여기서, 첫 번째 네트워크 계층 a1, 세 번째 네트워크 계층 a3 및 다섯 번째 네트워크 계층 a5인 총 세 개의 네트워크 계층에 대해 채널 프루닝 처리를 수행해야 한다.
Figure pct00028
=5인 경우, a1에 대한 채널 프루닝 처리가 완료되었으므로, 채널 프루닝 처리된 네트워크 계층 a1’을 얻고; a3에 대한 채널 프루닝 처리도 완료되었으므로, 채널 프루닝 처리를 수행한 네트워크 계층 a3’을 얻으며, 이때 제1 타깃 모델은, a1’, a2, a3’, 및 a4~aL을 포함한다.
본 발명의 실시예는 압축될 모델에 L 개의 네트워크 계층이 포함되고, 처리될 모델에서의 첫 번째 네트워크 계층 내지 L-1 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행하는 것을 예로 들어 설명한다.
Figure pct00029
번째 네트워크 계층에 대해 채널 프루닝 처리를 수행할 때,
예를 들어, 상기 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보를 획득하는 단계는, 샘플 이미지를 제1 타깃 모델에 입력하여, 제1 타깃 모델을 사용하여, 샘플 이미지의 분류 손실 예측 결과를 획득하며, 상기 샘플 이미지의 분류 손실 예측 결과와 상기 샘플 이미지에 대응되는 진실 분류 라벨 및 미리 결정된 손실 함수에 기반하여, 상기 샘플 이미지의 손실 정보를 획득하는 단계를 포함한다.
상기 예시에 있어서, 제1 타깃 모델의 손실 정보는 예를 들어 아래 식 (1)과 같다.
Figure pct00030
여기서, C는
Figure pct00031
번째 네트워크 계층의 출력 특징이 Y 일 때, 제1 타깃 모델의 분류 손실 함수를 나타내고;
Figure pct00032
는 크로스 엔트로피 손실 함수를 나타내며;
Figure pct00033
는 샘플 이미지의 진실 분류 라벨을 나타낸다. N은
Figure pct00034
번째 네트워크 계층에 대해 채널 프루닝 처리를 수행할 때,
Figure pct00035
번째 네트워크 계층 내지 L 번째 네트워크 계층에 의해 매핑된 함수를 나타내고;
Figure pct00036
는 상기 함수의 파라미터이며, Y는 상기 함수의 입력이다.
상기 과정을 통해 샘플 이미지의 손실 정보를 결정한다. 상기 손실 정보는 첫 번째 네트워크 계층 내지
Figure pct00037
-1 번째 네트워크 계층에 대해 채널 프루닝 처리를 수행한 후, 채널 프루닝 처리된 네트워크 계층 및 채널 프루닝 처리를 수행하지 않은 네트워크 계층으로 구성된 제1 타깃 모델이 샘플 이미지에 대해 분류를 수행할 때 얻은 손실 정보이다.
제1 특징 데이터는 제1 타깃 모델에서의
Figure pct00038
+1 번째 네트워크 계층으로부터 출력된 특징 데이터이다. 본 발명의 실시예에 있어서, 제1 타깃 모델을 결정한 후, 제1 타깃 모델을 사용하여 샘플 이미지에 대해 이미지 처리를 수행하고, 각 네트워크 계층은 모두 샘플 이미지의 특징을 특성화하는 특징 데이터를 얻을 수 있으며; 제1 타깃 모델 중
Figure pct00039
+1 번째 네트워크 계층에서 출력된 특징 데이터를 제1 특징 데이터로 결정한다.
II: 상기 단계 S102에 있어서, 분류 손실 가이드 정보는, 채널 프루닝 처리를 수행해야 하는 네트워크 계층에서 각 컨볼루션 커널의 중요성을 특성화하기 위한 것이다.
일부 실시예에 있어서, 하기 방식을 사용하여 분류 손실 지시 정보를 얻을 수 있고, 손실 정보가 상기 제1 타깃 모델에서의 역전파를 사용하여, 상기 제1 특징 데이터에 대한 손실 함수의 편도함수를 결정하며, 상기 편도함수를 상기 분류 손실 가이드 정보로 결정한다.
예시적으로, 예를 들어 분류 손실 가이드 정보는 하기 식 (2)를 만족한다.
Figure pct00040
식 (2)
여기서,
Figure pct00041
는 손실 함수를 나타내고;
Figure pct00042
Figure pct00043
번째 네트워크 계층에 대해 채널 프루닝 처리를 수행한 후,
Figure pct00044
+1 번째 네트워크 계층이 i 번째 채널에서 출력한 특징 데이터를 나타내며;
Figure pct00045
Figure pct00046
번째 네트워크 계층에 대해 채널 프루닝 처리를 수행하기 전에,
Figure pct00047
+1 번째 네트워크 계층이 i 번째 채널에서 출력한 특징 데이터를 나타내고, 즉 제1 타깃 모델의
Figure pct00048
+1 번째 네트워크 계층이 i 번째 채널에서 출력한 특징 데이터이다.
여기서 유의해야 할 것은,
Figure pct00049
번째 네트워크 계층에 대해 채널 프루닝 처리를 수행할 때,
Figure pct00050
번째 네트워크 계층에서의 일부 채널을 감소하는 것을 끊임없이 시도함으로써, 다양한 프루닝 방안을 형성하고, 최종으로 프루닝 처리의 결과를 피팅한다. 따라서, 프루닝 처리를 피팅하는 과정에 있어서,
Figure pct00051
는 변수이고; 상이한 프루닝 방안은, 대응되는 상이한
Figure pct00052
가 있다.
Figure pct00053
는 손실 함수를 사용하여 변수
Figure pct00054
에 대해 편도함수를 구하는 것을 나타내고, 그 제약 조건은 분류 손실 가이드 정보
Figure pct00055
의 값은
Figure pct00056
인 경우에 결정되는 것을 나타낸다. 나아가, 상기 단계 설명은 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정한다.
III: 상기 단계 S103에 있어서, 분류 손실 가이드 정보를 결정한 후, 상기 분류 손실 가이드 정보에 기반하여
Figure pct00057
번째 네트워크 계층에 대해 채널 프루닝 처리를 수행할 수 있다.
예시적으로, 하기 방법을 사용하여 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 수행할 수 있다.
상기 분류 손실 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하고; 상기 채널 선택 지시 정보는 보류할 채널을 지시하기 위한 것이고; 상기 샘플 이미지의 상기 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터이다.
상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정한다.
구체적인 실시예에 있어서, 예를 들어,
Figure pct00058
번째 네트워크 계층에 대해 채널 프루닝 처리를 수행하면, 먼저 압축될 모델을 사용하여 샘플 이미지에 대해 처리를 수행할 때, 압축될 모델의
Figure pct00059
+1 번째 네트워크 계층에서 출력된 샘플 이미지의 제2 특징 데이터를 얻은 다음, 분류 손실 가이드 정보 및 상기 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정할 수 있다.
예시적으로, i 번째 채널 선택 지시 정보
Figure pct00060
는 하기 식 (3)을 만족한다.
Figure pct00061
여기서,
Figure pct00062
식 (3)
여기서,
Figure pct00063
Figure pct00064
+1 번째 네트워크 계층의 출력 채널 개수를 나타내고;
Figure pct00065
는 출력 특징의 i 번째 채널을 나타낸다.
Figure pct00066
는 분류 손실 가이드 정보를 나타내고, 상기 식 (2)를 만족한다.
Figure pct00067
는 한 세트의 바이너리 채널 선택 지시자를 포함한 벡터의 요소이고, 상기 식에 있어서, 이는
Figure pct00068
번째 네트워크 계층 출력 특징의 하나의 출력 채널에 대응되고, 대응되는 출력 채널은 프루닝이 필요한지 여부를 지시하기 위한 것이며, 상기 벡터에 포함되는 요소의 개수와
Figure pct00069
+1 번째 네트워크 계층의 입력 채널 개수, 즉
Figure pct00070
번째 네트워크 계층과의 출력 채널 개수는 동일하다. 여기서,
Figure pct00071
Figure pct00072
+1 번째 네트워크 계층의 입력 채널 개수를 나타낸다. 그는
Figure pct00073
번째 네트워크 계층의 출력 채널과 일대일로 대응된다.
예를 들어,
Figure pct00074
번째 네트워크 계층에서의 특정 출력 채널에 대응되는
Figure pct00075
가 0일 때, 상기 출력 채널에 대해 프루닝을 수행함을 지시하고, 즉 상기 출력 채널을 삭제하며, 구체적인 동작은 상기 출력 채널에 대응되는 컨볼루션 커널을 삭제하는 것이고;
Figure pct00076
번째 네트워크 계층에서의 특정 출력 채널에 대응되는
Figure pct00077
가 1일 때, 상기 출력 채널에 대해 프루닝을 수행하지 않음을 지시하고, 즉 상기 채널을 보류하며, 구체적인 동작은 상기 출력 채널에 대응되는 컨볼루션 커널을 보류하는 것이다.
여기서,
Figure pct00078
는 제2 특징 데이터를 나타낸다.
Figure pct00079
Figure pct00080
번째 네트워크 계층에 대해 채널 프루닝 처리를 수행한 후,
Figure pct00081
+1 번째 네트워크 계층에서 출력된 특징 데이터를 나타낸다. 설명해야 할 것은, 상기 식 (3)은 상기 분류 손실 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정할 때의 타깃 함수이다. 여기서
Figure pct00082
는 사실상 타깃 함수를 피팅할 때,
Figure pct00083
의 상이한 값에 기반하여 결정되고, 타깃 함수에 대해 피팅을 수행하는 과정에서, 사실상
Figure pct00084
번째 네트워크 계층의 컨볼루션 커널에 대해 조정을 수행하지 않았다. 상기 타깃 함수에 기반하여
Figure pct00085
를 결정한 후에야만, 최종으로 결정된
Figure pct00086
에 기반하여 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정한다. 타깃 함수를 피팅할 때, 예를 들어, 라쏘(Least Absolute Shrinkage and Selection Operator, LASSO) 알고리즘을 사용하여 구현할 수 있다.
여기서,
Figure pct00087
는 재구성 오류를 나타낸다. 구체적으로,
Figure pct00088
번째 네트워크 계층에 대해 채널 프루닝을 수행하는 과정에 있어서,
Figure pct00089
번째 네트워크 계층에 대해 채널 프루닝을 수행하기 전 및 수행한 후에,
Figure pct00090
+1 번째 네트워크 계층에서 출력된 특징 데이터 사이의 오류는 최대한 작아야 한다.
여기서,
Figure pct00091
Figure pct00092
의 L0 노름을 나타낸다. B는
Figure pct00093
번째 네트워크 계층에 대해 채널 프루닝을 수행한 후, 남은 채널의 개수를 나타낸다. 여기서, B는 보통 미리 결정된 것이고,
Figure pct00094
번째 네트워크 계층에 대해 채널 프루닝을 수행한 후, 남은 채널 개수가 B를 초과할 수 없음을 제약하기 위한 것이다.
다른 실시예에 있어서, 상기 식 (3)을 구하는 것은 비결정 다항식 (Non-Deterministic Polynomial Problems, NP) 난제이기 때문에, L0 노름 정규화를 L1 노름 정규화로 넓히고, 아래 타깃 함수 (4)를 얻을 수 있다.
Figure pct00095
, 여기서,
Figure pct00096
식 (4)
여기서,
Figure pct00097
가 증가되면, 바이너리 채널 선택 지시자의 벡터에서의 0의 개수가 증가되도록 하고, 즉 감하는 채널의 개수는 증가되며;
Figure pct00098
가 감소되면, 바이너리 채널 선택 지시자의 벡터에서의 1의 개수가 증가되도록 하고, 즉 감하는 채널의 개수는 감소하며; 타깃 함수를 구할 때
Figure pct00099
의 값을 끊임없이 시도하고; 예를 들어 특정 프루닝 방안에서 제약 조건
Figure pct00100
를 만족할 때까지
Figure pct00101
를 점차적으로 증가한다.
여기서,
Figure pct00102
Figure pct00103
의 L1 노름을 나타낸다. 다른 파라미터는 식 (3)에 대한 설명을 참조하고, 여기서 더 이상 반복하여 설명하지 않는다.
또한, 각 채널에서 공간 위치 M의 합 및 위치 m의 인덱스를 고려하여, 상기 식 (3)은 하기 식 (5)의 형태로 나타낼 수도 있다.
Figure pct00104
,여기서,
Figure pct00105
식 (5)
여기서,
Figure pct00106
는 압축될 모델의
Figure pct00107
+1 번째 네트워크 계층이 i 번째 채널의 m 번째 위치에서의 출력 특징을 나타내고;
Figure pct00108
Figure pct00109
번째 네트워크 계층에 대해 채널 프루닝 처리를 수행한 후,
Figure pct00110
+1 번째 네트워크 계층이 i 번째 채널의 m 번째 위치에서 출력된 특징 데이터를 나타낸다. 다른 파라미터는 식 (3)에 대한 설명을 참조하고, 여기서 더 이상 반복하여 설명하지 않는다.
채널 선택 지시 정보를 얻은 후, 상기 채널 선택 지시 정보에 기반하여,
Figure pct00111
번째 네트워크 계층의 컨볼루션 커널을 조정한다. 예시적으로, 특정 채널에 대응되는 채널 선택 지시 정보의 값이 0 이면, 상기 채널에 대응되는 컨볼루션 커널을 삭제하고; 특정 채널에 대응되는 채널 선택 지시 정보의 값이 1 이면, 상기 채널에 대응되는 컨볼루션 커널을 보류한다.
본 발명의 실시예에서 제기된 다음 계층 특징 삭제 문제를 해결하기 위해, 본 발명의 실시예는 또한 손실 정보 및 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 다른 방법을 제공하고, 상기 방법은, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보 및 특징 중요성 가이드 정보를 결정하는 단계를 포함한다.
이 경우, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하는 단계는, 상기 분류 손실 가이드 정보, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하는 단계; 및 상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정하는 단계를 포함한다. 상기 샘플 이미지의 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터이다.
여기서, 특징 중요성 가이드 정보는 특징 데이터에서 상이한 위치의 요소 값의 중요성을 지시하기 위한 것이다. 예시적으로, 제1 특징 데이터 및 미리 결정된 조정 파라미터에 기반하여, 특징 중요성 가이드 정보를 결정할 수 있다.
예를 들어, 특징 중요성 가이드 정보는 하기 식 (6)을 만족한다.
Figure pct00112
식 (6)
여기서,
Figure pct00113
는 미리 결정된 상수이고,
Figure pct00114
의 영향 정도를 조정하기 위한 것이며; 필요에 따라 설정할 수 있다. 예를 들어, 1, 0.9, 1.1등으로 설정할 수 있다.
이때, 상기 i 번째 채널 선택 지시 정보
Figure pct00115
는 하기 식 (7)을 만족한다.
Figure pct00116
, 여기서,
Figure pct00117
식 (7)
다른 파라미터는 상기 식 (3)의 설명을 참조하고, 여기서 더 이상 반복하여 설명하지 않는다.
유사하게, 상기 식 (7)에서의 L0 노름 정규화가 L1 노름 정규화로 완화된 후, 하기 타깃 함수 (8)을 얻을 수 있다.
Figure pct00118
, 여기서,
Figure pct00119
식 (8)
또한, 각 채널에서 공간 위치 M의 총계 및 위치 m의 인덱스를 고려하여, 상기 식 (7)은 하기 식 (9)의 형식으로 나타낼 수도 있다.
Figure pct00120
, 여기서,
Figure pct00121
식(9)
다른 파라미터는 상기 식 (5)의 설명을 참조하고, 여기서 더 이상 반복하여 설명하지 않는다.
또한, 본 발명의 다른 실시예에 있어서, 다만 특징 중요성 가이드 정보에 기반하여 채널 선택 지시 정보를 결정할 수도 있다.
이 경우, 예를 들어, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하는 단계는, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하는 단계; 및 상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정하는 단계를 포함할 수 있다. 상기 샘플 이미지의 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터이다.
예시적으로, 타깃 함수는 하기 식 (10)으로 나타낼 수도 있다.
Figure pct00122
, 여기서,
Figure pct00123
식 (10)
상기 타깃 함수는 하기 식 (11)과 동일하게 다시 작성할 수 있다.
Figure pct00124
, 여기서,
Figure pct00125
식 (11)
여기서, 대부분의 공간 위치 m에 대해,
Figure pct00126
일때, i 번째 채널은
Figure pct00127
번째 네트워크 계층에 대해 채널 프루닝을 수행할 때 삭제될 가능성이 더욱 크다. 이 경우,
Figure pct00128
의 재구성 오류를 사용할 수 있다. 한편,
Figure pct00129
번째 네트워크 계층에 대해 채널 프루닝을 수행할 때, i 번째 채널이 삭제되지 않으면,
Figure pct00130
의 재구성 오류를 사용할 수 있다. 관련 기술에 있어서,
Figure pct00131
번째 네트워크 계층에 대해 채널 프루닝을 수행한 결과는 공간 위치 m, 입력된 샘플 이미지 및 압축될 모델의 파라미터를 포함한 많은 요소에 의해 결정되므로,
Figure pct00132
번째 네트워크 계층에 대해 채널 프루닝을 수행할 때 상기 채널이 삭제되는지 여부를 예측하기 어렵고, 본 발명의 실시예에서는
Figure pct00133
를 사용하여
Figure pct00134
번째 네트워크 계층에 대한 채널 프루닝을 가이드한다.
본 발명의 다른 실시예에 있어서, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한 후, 하기 단계 S104를 더 포함한다.
단계 S104에 있어서, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행한다.
구체적인 실시예에 있어서, 예를 들어 임의의 하나의 네트워크 계층이
Figure pct00135
번째 네트워크 계층이면;
Figure pct00136
번째 네트워크 계층의 다음 네트워크 계층은
Figure pct00137
+1 번째 네트워크 계층이다. 예를 들어 하기 방식을 사용하여
Figure pct00138
+1 번째 네트워크 계층에 대해 파라미터 업데이트 처리를 수행할 수 있다.
프루닝 처리된
Figure pct00139
번째 네트워크 계층에 기반하여, 상기
Figure pct00140
+1 번째 네트워크 계층에서의 각 컨볼루션 커널에 대해 채널 조정을 수행한다.
프루닝 처리된
Figure pct00141
번째 네트워크 계층 및 컨볼루션 커널 채널 조정이 수행된
Figure pct00142
+1 번째 네트워크 계층에 기반하여, 제2 타깃 모델을 결정하고; 상기 제2 타깃 모델을 사용하여, 상기 제2 타깃 모델에서의
Figure pct00143
+1 번째 네트워크 계층을 획득하여 상기 샘플 이미지의 제3 특징 데이터를 출력하며; 압축될 모델이 이미지에 대해 처리를 수행할 때의 상기 임의의 하나의 네트워크 계층에서 출력된 제2 특징 데이터를 사용하여,
Figure pct00144
+1 번째 네트워크 계층의 가중치 파라미터를 얻고; 상기 가중치 파라미터에 기반하여,
Figure pct00145
+1 번째 네트워크 계층의 계층의 원래 가중치 파라미터에 대해 업데이트 처리를 수행한다.
구체적인 실시예에 있어서,
Figure pct00146
번째 네트워크 계층의 출력 채널 및
Figure pct00147
+1 번째 네트워크 계층의 입력 채널 개수가 일치해야 하므로;
Figure pct00148
번째 네트워크 계층의 출력 채널 개수에 변화가 발생할 때,
Figure pct00149
+1 번째 네트워크 계층의 입력 채널 개수를 조정해야 한다.
예를 들어,
Figure pct00150
번째 네트워크 계층의 출력 채널 개수가 6이고; 특정 특징 맵이
Figure pct00151
번째 네트워크 계층의 처리를 거친 후, 출력 특징 맵의 차원은 6*10*24이며, 즉
Figure pct00152
+1 번째 네트워크 계층의 입력 채널 개수도 6이고;
Figure pct00153
+1 번째 네트워크 계층에는 64 개의 6*3*3의 컨볼루션 커널이 있으며;
Figure pct00154
번째 네트워크 계층에서의 하나의 출력 채널을 삭제하면, 특징 맵은 출력 채널이 삭제된
Figure pct00155
번째 네트워크 계층의 처리를 거친 후, 출력된 특징 맵의 차원은5*10*24이고;
Figure pct00156
+1 번째 네트워크 계층의 출력 채널이 변하지 않는 것을 보장하는 경우,
Figure pct00157
+1 번째 네트워크 계층에서의 64개의 6*3*3의 컨볼루션 커널에 대해 각각 채널 삭제를 수행해야 하며, 최종으로
Figure pct00158
+1 번째 네트워크 계층에서의 64개의 컨볼루션 커널의 차원은 5*3*3이다.
여기서, 삭제된 컨볼루션 커널의 채널은 삭제된
Figure pct00159
번째 네트워크 계층의 출력 채널과 일치하다.
Figure pct00160
번째 네트워크의 출력 채널이 각각 m1 내지 m6이고;
Figure pct00161
+1 번째 네트워크 계층의 컨볼루션 커널의 채널이 각각 m1’ 내지 m6’이며,
Figure pct00162
번째 네트워크의 출력 채널 m3을 삭제하면; 이에 따라,
Figure pct00163
+1 번째 네트워크 계층의 컨볼루션 커널의 채널 m3’을 삭제해야 한다.
Figure pct00164
+1 번째 네트워크 계층의 컨볼루션 커널에 대해 채널 조정을 수행한 후, 프루닝 처리가 수행된
Figure pct00165
번째 네트워크 및 컨볼루션 커널 채널 조정된
Figure pct00166
+1 번째 네트워크 계층에 기반하여, 제2 타깃 모델을 결정한다.
제1 타깃 모델 및 제2 타깃 모델 사이의 차이점은, 제1 타깃 모델에서,
Figure pct00167
번째 네트워크 계층은 채널 프루닝 동작을 거치기 전의 네트워크 계층이고,
Figure pct00168
+1 번째 네트워크 계층도 압축될 모델에서 원래
Figure pct00169
+1 번째 네트워크 계층이며; 제2 타깃 모델에서,
Figure pct00170
번째 네트워크 계층은 채널 프루닝 동작을 거친 후의 네트워크 계층이고,
Figure pct00171
+1 번째 네트워크 계층은 컨볼루션 커널 채널 조정을 수행한
Figure pct00172
+1 번째 네트워크 계층이다. 그 구체적인 구성은 상기 실시예의 설명을 참조할 수 있고, 여기서 더 이상 반복하여 설명하지 않는다.
일부 선택적인 실시예에 있어서,
Figure pct00173
번째 네트워크 계층에서 일부 채널에 대응되는 컨볼루션 커널을 삭제하고,
Figure pct00174
+1 번째 네트워크 계층의 컨볼루션 커널도 상응하게 조정되었으므로, 적응적으로
Figure pct00175
+1 번째 네트워크 계층의 파라미터를 조정해야 한다.
일부 선택적인 실시예에 있어서,
Figure pct00176
번째 네트워크 계층에 대해 채널 프루닝 동작을 실행한 후,
Figure pct00177
번째 네트워크 계층에 대해 영향이 비교적 작은 채널은 삭제되었고, 남은 다른 채널은 모두 중요한 채널이므로,
Figure pct00178
번째 네트워크 계층에서 남은 각 채널은 똑같이 중요한 것으로 간주될 수 있다. 또한, 예를 들어
Figure pct00179
로 하고, 분류 손실 지시 정보
Figure pct00180
를 낮출 수 있으며, 고정된 채널 선택 지시 정보를 구비한 최소 제곱 최적화 문제를 해결하여 재구성 오류
Figure pct00181
를 최소화하고, 즉,
Figure pct00182
+1 번째 네트워크 계층의 가중치 파라미터 는 하기 식 (12)를 만족한다.
Figure pct00183
식 (12)
또한 상기 식 (12)에 따라
Figure pct00184
+1 번째 네트워크 계층의 가중치 파라미터를 얻고, 상기 가중치 파라미터에 기반하여
Figure pct00185
+1 번째 네트워크 계층의 가중치 파라미터에 대해 업데이트 처리를 수행한다.
예를 들어, 압축될 모델
Figure pct00186
을 입력하며, 여기서
Figure pct00187
이다.
여기서,
Figure pct00188
Figure pct00189
번째 네트워크 계층의 파라미터이고, Θ는 프루닝되지 않은 다른 네트워크 계층(예를 들어, 완전 연결층)의 파라미터이다.
하기 단계에 기반하여 압축 모델
Figure pct00190
를 출력하고, 다시 샘플 이미지를 사용하여 그에 대해 훈련을 수행한다.
1: 압축될 모델을 사용하여 샘플 이미지를 위해 첫 번째 내지 L 번째 네트워크 계층에서, 각 네트워크 계층에 각각 대응되는 제2 특징 데이터
Figure pct00191
를 추출한다. 여기서,
Figure pct00192
Figure pct00193
번째 네트워크 계층에 대해 채널 프루닝 처리를 수행할 때,
Figure pct00194
+1 번째 네트워크 계층에 대응되는 특징 데이터
Figure pct00195
에서의 i 번째 출력 채널에서 출력되는 특징 데이터이다.
2:
Figure pct00196
로 설정한다.
3:
Figure pct00197
=1부터
Figure pct00198
=L-1까지, 하기 단계 4 내지 단계 9를 실행한다.
4: 현재 압축 모델
Figure pct00199
에 따라, 순방향 전파를 사용하여
Figure pct00200
를 계산하고, 여기서 위첨자
Figure pct00201
+1은
Figure pct00202
+1 번째 네트워크 계층을 나타낸다.
5: 역전파를 사용하여 분류 손실 가이드 정보
Figure pct00203
를 계산하고, 여기서
Figure pct00204
는 현재 압축 모델이
Figure pct00205
+1 번째 네트워크 계층 i 번째 채널에서의 출력 특징 데이터이다.
6, LASSO 최적화 알고리즘 및 식 (7)에 기반하여,
Figure pct00206
번째 네트워크 계층의 채널 선택 지시 정보
Figure pct00207
를 획득한다.
7, k 번째 컨볼루션 커널을 삭제하여,
Figure pct00208
번째 네트워크 계층에서의 채널을 프루닝하고, 여기서 k는
Figure pct00209
에서 모든
Figure pct00210
의 인덱스이며, 채널을 삭제한 후의
Figure pct00211
번째 네트워크 계층에 대응되는 가중치를
Figure pct00212
로 설정하고,
Figure pct00213
에 기반하여
Figure pct00214
+1 번째 네트워크 계층에서의 각 컨볼루션 커널의 채널을 조정한다.
8, 최소 제곱 최적화 방법 및 식 (12)에 기반하여,
Figure pct00215
+1 번째 네트워크 계층의 조정 가중치
Figure pct00216
를 획득하고,
Figure pct00217
에 기반하여 컨볼루션 커널 채널의
Figure pct00218
+1 번째 네트워크 계층에서의 파라미터를 업데이트 조정한다.
9, 압축 모델
Figure pct00219
을 획득한다.
상기 순환 단계를 실행 완료한 후, 최종적으로 얻은 압축 모델은,
Figure pct00220
이다.
본 발명의 다른 실시예에 있어서, 상기 단계에 기반하여 압축 모델을 얻은 후, 샘플 이미지를 사용하여 압축 모델에 대해 미세 조정 처리를 수행할 수도 있다. 예를 들어 압축 모델을 사용하여 샘플 이미지의 분류 결과를 획득할 수 있고, 분류 결과 및 샘플 이미지의 분류 라벨에 기반하여, 샘플 이미지의 분류 손실을 결정하며; 분류 손실에 기반하여, 압축 모델의 파라미터를 미세 조정함으로써, 압축된 모델의 인식 정밀도를 향상시킬 수 있다.
본 발명의 실시예는 압축될 모델에서의 다중 네트워크 계층에서의 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 손실 정보 및 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득하며; 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하고, 상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한다. 따라서 매번 하나의 신경망 계층에 대해서만 프루닝을 수행하고, 프루닝을 수행할 때 분류 손실 가이드 정보에 기반하여 상기 계층 신경망의 채널 프루닝 처리를 가이드함으로써, 압축이 완료된 후 모델의 손실에 미치는 큰 영향을 방지하여, 압축 효율을 보장할 수 있고, 압축 효과도 고려할 수 있다.
또한, 본 발명의 다른 실시예는 특징 중요성 가이드 정보를 더 사용하여 채널 선택 지시 정보를 결정하고, 채널 선택 정보에 기반하여 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한다. 특징 중요성 가이드 정보를
Figure pct00221
번째 네트워크 계층에 대해 채널 프루닝을 수행할 때의 가이드로 사용하여, 정보성을 구비하지 않은 특징으로 인한 재구성 오류를 효과적으로 최소화하였고, 이러한 정보는
Figure pct00222
+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 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 단계; 및
    상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법.
  2. 제1항에 있어서,
    상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한 후, 상기 모델 압축 방법은,
    프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행하는 단계를 더 포함하는 것을 특징으로 하는 모델 압축 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 단계는,
    상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보 및 특징 중요성 가이드 정보를 결정하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법.
  4. 제3항에 있어서,
    상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 특징 중요성 가이드 정보를 결정하는 단계는,
    상기 제1 특징 데이터 및 미리 결정된 조정 파라미터에 기반하여, 상기 특징 중요성 가이드 정보를 결정하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층인 경우, 상기 제1 타깃 모델은 상기 압축될 모델이고;
    상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층이 아닌 경우, 상기 제1 타깃 모델은, 채널 프루닝 처리된 네트워크 계층 및 상기 압축될 모델 중 채널 프루닝 처리를 수행하지 않은 다른 네트워크 계층을 포함하는 것을 특징으로 하는 모델 압축 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보를 획득하는 단계는,
    상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 분류 손실 예측 결과를 획득하는 단계; 및
    상기 샘플 이미지의 분류 손실 예측 결과, 상기 샘플 이미지에 대응되는 진실 분류 라벨 및 미리 결정된 손실 함수에 기반하여, 상기 샘플 이미지의 손실 정보를 획득하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하는 단계는,
    상기 손실 정보가 상기 제1 타깃 모델에서의 역전파를 사용하여, 상기 제1 특징 데이터에 대한 손실 함수의 편도함수를 결정하는 단계; 및
    상기 편도함수를 상기 분류 손실 가이드 정보로 결정하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하는 단계는,
    상기 분류 손실 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 상기 분류 손실 가이드 정보, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하는 단계; 및
    상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정하는 단계를 포함하고;
    상기 채널 선택 지시 정보는 보류할 채널을 지시하기 위한 것이고; 상기 샘플 이미지의 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터인 것을 특징으로 하는 모델 압축 방법.
  9. 제2항 내지 제8항 중 어느 한 항에 있어서,
    상기 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행하는 단계는,
    프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 계층 네트워크에서의 각 컨볼루션 커널에 대해 채널 조정을 수행하는 단계;
    프루닝 처리된 상기 임의의 하나의 네트워크 계층 및 컨볼루션 커널 채널 조정된 상기 다음 네트워크 계층에 기반하여, 제2 타깃 모델을 결정하고, 상기 제2 타깃 모델을 사용하여, 상기 제2 타깃 모델에서의 상기 프루닝 처리된 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층을 획득하여 상기 샘플 이미지의 제3 특징 데이터를 출력하며; 압축될 모델이 이미지에 대해 처리를 수행할 때의 상기 임의의 하나의 네트워크 계층에서 출력된 제2 특징 데이터를 사용하여, 상기 다음 네트워크 계층의 가중치 파라미터를 얻는 단계; 및
    상기 가중치 파라미터에 기반하여, 상기 다음 계층의 원래 가중치 파라미터에 대해 업데이트 처리를 수행하는 단계를 포함하는 것을 특징으로 하는 모델 압축 방법.
  10. 이미지 처리 방법으로서,
    처리될 이미지를 획득하는 단계; 및
    제1항 내지 제9항 중 어느 한 항에 기반하여 결정된 이미지 처리 모델을 사용하여, 상기 처리될 이미지에 대해 이미지 처리 임무를 실행하는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법.
  11. 모델 압축 장치로서,
    압축될 모델에서의 다중 네트워크 계층 중에서 적어도 하나의 네트워크 계층 중 임의의 하나의 네트워크 계층에 대해, 상기 임의의 하나의 네트워크 계층에 대응되는 채널에 대해 프루닝 처리 시의 모델 압축 진도에 따라, 제1 타깃 모델을 결정하고, 상기 제1 타깃 모델을 사용하여, 샘플 이미지의 손실 정보 및 상기 제1 타깃 모델에서의 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에서 출력된 상기 샘플 이미지의 제1 특징 데이터를 획득하도록 구성된 획득 모듈;
    상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보를 결정하도록 구성된 결정 모듈; 및
    상기 분류 손실 가이드 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행하도록 구성된 프루닝 모듈을 포함하는 것을 특징으로 하는 모델 압축 장치.
  12. 제11항에 있어서,
    상기 모델 압축 장치는, 상기 프루닝 모듈이 상기 임의의 하나의 네트워크 계층에 대해 채널 프루닝 처리를 실행한 후, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층에 대해 파라미터 업데이트 처리를 수행하도록 구성된 업데이트 모듈을 더 포함하는 것을 특징으로 하는 모델 압축 장치.
  13. 제11항 또는 제12항에 있어서, 상기 결정 모듈은, 상기 손실 정보 및 상기 제1 특징 데이터에 기반하여, 분류 손실 가이드 정보 및 특징 중요성 가이드 정보를 결정하도록 구성되는 것을 특징으로 하는 모델 압축 장치.
  14. 제13항에 있어서,
    상기 결정 모듈은, 상기 제1 특징 데이터 및 미리 결정된 조정 파라미터에 기반하여, 상기 특징 중요성 가이드 정보를 결정하도록 구성되는 것을 특징으로 하는 모델 압축 장치.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서,
    상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층인 경우, 상기 제1 타깃 모델은 상기 압축될 모델이고; 상기 임의의 하나의 네트워크 계층이 채널 프루닝 처리될 첫 번째 네트워크 계층이 아닌 경우, 상기 제1 타깃 모델은, 채널 프루닝 처리된 네트워크 계층 및 상기 압축될 모델 중 채널 프루닝 처리를 수행하지 않은 다른 네트워크 계층을 포함하는 것을 특징으로 하는 모델 압축 장치.
  16. 제11항 내지 제15항 중 어느 한 항에 있어서,
    상기 획득 모듈은, 상기 제1 타깃 모델을 사용하여, 상기 샘플 이미지의 분류 손실 예측 결과를 획득하고; 상기 샘플 이미지의 분류 손실 예측 결과, 상기 샘플 이미지에 대응되는 진실 분류 라벨 및 미리 결정된 손실 함수에 기반하여, 상기 샘플 이미지의 손실 정보를 획득하도록 구성되는 것을 특징으로 하는 모델 압축 장치.
  17. 제11항 내지 제16항 중 어느 한 항에 있어서,
    상기 결정 모듈은, 상기 손실 정보가 상기 제1 타깃 모델에서의 역전파를 사용하여, 상기 제1 특징 데이터에 대한 손실 함수의 편도함수를 결정하는 단계; 및 상기 편도함수를 상기 분류 손실 가이드 정보로 결정하도록 구성되는 것을 특징으로 하는 모델 압축 장치.
  18. 제11항 내지 제17항 중 어느 한 항에 있어서,
    상기 프루닝 모듈은, 상기 분류 손실 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하거나; 또는, 상기 분류 손실 가이드 정보, 특징 중요성 가이드 정보 및 상기 샘플 이미지의 제2 특징 데이터에 기반하여, 채널 선택 지시 정보를 결정하며; 상기 채널 선택 지시 정보에 기반하여, 상기 임의의 하나의 네트워크 계층에서의 컨볼루션 커널을 조정하도록 구성되고; 상기 채널 선택 지시 정보는 보류할 채널을 지시하기 위한 것이고; 상기 샘플 이미지의 제2 특징 데이터는, 압축될 모델을 사용하여 상기 샘플 이미지에 대해 처리를 수행할 때 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층으로부터 출력된 특징 데이터인 것을 특징으로 하는 모델 압축 장치.
  19. 제12항 내지 제18항 중 어느 한 항에 있어서,
    상기 업데이트 모듈은, 프루닝 처리된 상기 임의의 하나의 네트워크 계층에 기반하여, 상기 임의의 하나의 네트워크 계층의 다음 계층 네트워크에서의 각 컨볼루션 커널에 대해 채널 조정을 수행하고; 프루닝 처리된 상기 임의의 하나의 네트워크 계층 및 컨볼루션 커널 채널 조정된 상기 다음 네트워크 계층에 기반하여, 제2 타깃 모델을 결정하고, 상기 제2 타깃 모델을 사용하여, 상기 제2 타깃 모델에서의 상기 프루닝 처리된 상기 임의의 하나의 네트워크 계층의 다음 네트워크 계층을 획득하여 상기 샘플 이미지의 제3 특징 데이터를 출력하며; 압축될 모델이 이미지에 대해 처리를 수행할 때의 상기 임의의 하나의 네트워크 계층에서 출력된 제2 특징 데이터를 사용하여, 상기 다음 네트워크 계층의 가중치 파라미터를 얻고; 상기 가중치 파라미터에 기반하여, 상기 다음 네트워크 계층의 원래 가중치 파라미터에 대해 업데이트 처리를 수행하도록 구성되는 것을 특징으로 하는 모델 압축 장치.
  20. 이미지 처리 장치로서,
    처리될 이미지를 획득하도록 구성된 획득 유닛;
    제1항 내지 제9항 중 어느 한 항에 기반하여 결정된 이미지 처리 모델을 사용하여, 상기 처리될 이미지에 대해 이미지 처리 임무를 실행하도록 구성된 처리 유닛을 포함하는 것을 특징으로 하는 이미지 처리 장치.
  21. 컴퓨터 기기로서,
    서로 연결된 프로세서 및 메모리를 포함하고, 상기 메모리에는 상기 프로세서에서 실행 가능한 컴퓨터 판독 가능 명령어가 저장되어 있으며, 컴퓨터 기기가 작동될 경우, 상기 컴퓨터 판독 가능 명령어가 상기 프로세서에 의해 실행될 때 제1항 내지 제9항 중 어느 한 항에 따른 모델 압축 방법의 단계를 실행하거나 또는 상기 컴퓨터 판독 가능 명령어가 상기 프로세서에 의해 실행될 때 제10항에 따른 이미지 처리 방법의 단계를 실행하는 것을 특징으로 하는 컴퓨터 기기.
  22. 컴퓨터 판독 가능 저장 매체로서,
    상기 컴퓨터 판독 가능 저장 매체에는 컴퓨터 프로그램이 저장되어 있고, 상기 컴퓨터 프로그램이 프로세서에 의해 작동될 때 제1항 내지 제9항 중 어느 한 항에 따른 모델 압축 방법의 단계를 실행하거나 또는 상기 컴퓨터 프로그램이 프로세서에 의해 작동될 때 제10항에 따른 이미지 처리 방법의 단계를 실행하는 것을 특징으로 하는 컴퓨터 판독 가능 저장 매체.
  23. 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램이 프로세서에 의해 실행될 때 제1항 내지 제9항 중 어느 한 항에 따른 모델 압축 방법을 구현하거나 또는 상기 컴퓨터 프로그램이 프로세서에 의해 작동될 때 제10항에 따른 이미지 처리 방법을 실행하는 것을 특징으로 하는 컴퓨터 프로그램.
KR1020217013984A 2020-04-13 2020-04-30 모델 압축 방법, 이미지 처리 방법 및 장치 KR20210129031A (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 上海交通大学 卷积神经网络模型的压缩方法、装置及计算机存储介质

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