Graduation Capstone Project

QUBO 기반
CNN 채널 프루닝

본 프로젝트는 CNN 모델의 채널 선택 문제를 조합 최적화 문제로 바라보고, QUBO(Quadratic Unconstrained Binary Optimization) 형태로 구성한 뒤 Simulated Annealing 기반 탐색을 통해 효율적인 채널 프루닝 방법을 연구합니다.

Project Overview

딥러닝 모델은 높은 성능을 보이지만, 많은 채널과 파라미터로 인해 연산량과 추론 시간이 증가합니다. 본 프로젝트는 정확도를 최대한 유지하면서 모델을 경량화하는 채널 프루닝 방법을 제안합니다.

🎯

목표

CNN의 불필요한 채널을 제거하여 모델 크기와 연산량을 줄이고, 정확도 하락을 최소화하는 프루닝 전략을 설계합니다.

🧩

핵심 아이디어

채널을 단순히 하나씩 제거하는 것이 아니라, 여러 채널의 조합을 고려하는 QUBO 최적화 문제로 변환합니다.

기대 효과

정확도, latency, 모델 크기, 연산량을 함께 비교하여 실제 적용 가능성을 고려한 경량화 결과를 분석합니다.

Proposed Method

프루닝 대상 채널마다 binary variable을 부여하고, 채널 중요도와 채널 간 중복성을 함께 고려하여 QUBO 목적함수를 구성합니다.

QUBO Formulation

각 채널을 선택할지 제거할지를 이진 변수로 표현합니다. 예를 들어 xᵢ = 1이면 i번째 채널을 유지하고, xᵢ = 0이면 제거합니다.

minimize   xᵀQx
subject to   xᵢ ∈ {0, 1}
  • Q의 대각 원소는 채널별 중요도를 반영합니다.
  • Q의 비대각 원소는 채널 간 상관관계 또는 중복성을 반영합니다.
  • 선택할 채널 수는 penalty term을 통해 제어합니다.
01

CNN 학습 및 Backbone 준비

기준 모델을 먼저 학습하거나 pretrained model을 사용하여 baseline 성능을 측정합니다.

02

Validation Forward

Validation 데이터를 모델에 입력하여 각 convolution layer의 feature map을 수집합니다.

03

Importance & Correlation 계산

weight magnitude 기반 중요도와 feature map cosine similarity 기반 상관관계를 계산합니다.

04

QUBO Solver 적용

Simulated Annealing을 사용하여 유지할 채널 조합을 탐색합니다.

05

모델 재구성 및 Fine-tuning

선택된 채널만 남긴 모델을 재구성하고 fine-tuning을 통해 성능을 회복합니다.

Experiment Design

제안 방법의 효과를 확인하기 위해 baseline CNN, 일반적인 pruning 방식, QUBO 기반 pruning 방식을 비교합니다.

구분 설명 비교 목적
Baseline CNN 프루닝을 적용하지 않은 원본 CNN 모델 정확도와 latency의 기준 성능 측정
Classical Pruning weight magnitude 등 기존 기준에 따라 채널을 제거하는 방식 기존 경량화 방식과의 성능 차이 분석
QUBO-based Pruning 채널 중요도와 상관관계를 QUBO 행렬로 구성하여 채널 조합을 선택 조합 최적화 기반 접근의 장점 검증
Fine-tuned Model 프루닝 이후 재학습을 통해 성능을 회복한 모델 실제 사용 가능한 최종 모델 성능 확인

Expected Result

본 프로젝트는 단순히 모델을 작게 만드는 것이 아니라, 정확도와 효율성 사이의 균형을 정량적으로 분석하는 것을 목표로 합니다.

Accuracy 정확도 하락 최소화
Latency 추론 시간 감소
Params 파라미터 수 감소
FLOPs 연산량 감소

Why QUBO?

일반적인 pruning은 채널을 개별적으로 평가하는 경우가 많습니다. 하지만 실제 CNN에서는 채널들이 서로 독립적이지 않고, 어떤 채널 조합을 남기느냐에 따라 성능이 달라질 수 있습니다. QUBO는 이러한 채널 간 관계를 행렬 형태로 표현할 수 있기 때문에, 채널 선택 문제를 조합 최적화 관점에서 다룰 수 있습니다.