ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [논문 리뷰] DepGraph: Towards Any Structural Pruning
    Paper Review/Neural Network 2024. 5. 1. 13:56

    Abstract 

    Structural Pruning이란 구조적으로 그룹화된 파라미터를 제거함으로써 모델 가속화를 가능하게 한다. 하지만 파라미터 그룹화 패턴은 모델마다 크게 다르기 때문에 높은 중요도의 파라미터를 결합하기 위한 정해진 그룹화 체계는 일반화되기 힘들다. 

    해당 연구에서는 이러한 한계를 극복하기 위해 layer 간의 종속성을 모델링한다. 또한, pruning을 위해 결합된 파라미터를 그룹화 작업을 일반적이고 자동화시킨 Dependency Graph(DepGraph)를 제안한다. 

     

    1. introduction 핵심 

    제안 접근 방식의 핵심 : 네트워크 내의 의존성을 모델링하는 dependency graph를 추정하는 것 

    - 서로 다른 layer에 걸쳐 dependency를 추적하기 위해 dependency chain을 재귀 프로세스로 분해하고 모델링할 수 있음 

    이는 그래프 내의 최대 연결 요소를 찾는 문제로 정의할 수 있음 

    - 또한, structural pruning에서 그룹화된 레이어가 동시에 가지치기 되므로 그룹에서 제거된 모든 파라미터가 일관되게 중요하지 않을 것으로 예상함. 

     

    3. 

    3.2. Dependency Graph 

    grouping 

    효과적인 dependency graph를 위해서 먼저, 상호 종속성에 따라 layer를 그룹화 해야함. 따라서, 레이어 간 상호 의존성을 갖는 모든 결합된 레이어를 찾는것 즉, 그룹화 행렬은 아래와 같이 표기할 수 있음 

    - G_ij는 i번째 레이어와 j 번째 레이어 사이에 종속성이 있다는 것을 표기 

     하지만, 복잡한 현대 네트워크 구조는 복잡한 연결로 인해 복잡한 그룹화 행렬 G가 생성되기 때문에 그룹화 패턴을 추정하기 어려움

    따라서, 본 연구에서는 그룹화 행렬 G를 직접 추정하지 않고 효율적으로 파생할 수 있는 종속성 그래프 Degraph를 제안함 

     

    Dependency Graph 

    이렇게 3개의 그룹을 갖는 그룹화 행렬이 w1<>w2, w2<>w3, w1<>w3 간의 종속성을 갖고 있을때, 재귀적으로 두 개의 종속성만 파악하면 모든 종속성을 파악할 수 있음. 따라서 제안한 dependency graph는 인접한 레이어 간의 local dependency만을 기록함으로써 그룹화 행렬 G를 압축시킴. 이를 Gij가 아닌 Dij로 표현함 

     

    Network Decomposition 

    하지만, FC layer 처럼 아닌 w[k,:], w[:,k]와 같이 두 가지 경우에는 위의 Degraph를 작성하는 것이 문제가 됨. 또한, residual skip connection 같은 매개변수화 되지 않은 작업도 종속성에 영향을 미침. 따라서, 해당 연구에서는 네트워크 F(x;w)를 F = (f1, f2 , ..., fL) 로 더 미세한 기본 구성 요소를 분해하는 표기법을 제안함. 여기서 f는 파라미터화된 layer 뿐만 아니라, non-parameterized 작업까지 포함됨. 이러한 표기는 레이어 간의 관계가 아닌 레이어의 입출력 간의 종속성에 집중하게 됨. 요소 fi의 입력, 출력은 f-i, f+i로 표기됨. 최종적으로, 모든 네트워크에 대한 분해는 F = {f 1 , f + 1 , ..., f L , f + L }로 공식화할 수 있고, 다양한 pruning 방식을 허용할 수 있으며 종속성 모델링을 쉽게 만든다. 

     

    Dependency Modeling

    위 표기법에 따라 신경망을 아래와 같이 표현함 

    이 공식은 intra-layer, inter-layer dependency를 표현할 수 있으며 dependency modeling에 대한 일반적인 규칙을 생성할 수 있음 

    -       inter-layer dependency : fi f+j라는 종속성은 fi f+j인 연결된 레이어에서 지속적으로 발생

    -       intra-layer dependency: fi f+i sch(fi) = sch(f+i)로 표시되는 동일한 가지치기 방식을 공유하는 경우 종속성 fi f+i가 존재

    첫번째로, 네트워크의 토폴로지 구조를 알면 inter-layer dependency를 쉽게 추정할 수 있음. f i f + j로 연결된 레이어의 경우 f i f + j가 네트워크의 동일한 중간 기능에 해당하기 때문에 종속성이 일관되게 존재함. 다음 단계에는 계층 내 종속성을 설명한다. 레이어 내 종속성으로 인해 단일 레이어의 입력과 출력이 동시에 정리되어야 한다. 입력과 출력이 sch(f i ) = sch(f + i )로 표시되는 동일한 가지치기 방식을 공유하는 일괄 정규화와 같은 수많은 네트워크 계층이 이 조건을 충족하므로 그림 3에 표시된 대로 동시에 가지치기된다.

    그림 3에서처럼 conv layer의 입출력 사이에는 종속성이 없음. 따라서 아래와 같이 dependency modeling을 설정함 

    여기서는 논리적 "OR" "AND" 연산을 나타내고 1 "True"를 반환하는 표시 함수로 조건이 유지된다. 첫 번째 용어는 네트워크 연결로 인해 발생하는 계층 간 종속성을 검사하고, 두 번째 용어는 계층 입력과 출력 간의 공유 프루닝 방식으로 인해 발생하는 계층 내 종속성을 검사한다. DepGraph D(f i , f + j ) = D(f + j , f i )를 갖는 대칭 행렬을 이루게 됨. 따라서 모든 입력-출력 쌍을 검사하여 종속성 그래프를 추정할 수 있다. 그림 3에서는 잔여 연결이 있는 CNN 블록의 DepGraph를 시각화한 것. 알고리즘 1 2는 종속성 모델링 및 그룹화를 위한 알고리즘을 요약한다.

     

    3.3 Group-level Pruning 

    위의 종속성 그래프를 통해 group-level pruning을 수행함. 이를 통해 종속성을 유지하면서 파라미터를 sparsity 희소화하는 sparse training 방법을 제안함. 이로 인해 그룹이 네트워크에서 안전하게 제거될 수 있음. w[k]로 인덱스된 k개의 정리 가능한 차원이 있는 각 매개변수 w에 대해 아래와 같이 sparse training을 위한 정규화 용어를 도입함. 

    Ig,k = P w∈g |w[k]Bu 2 2 k번째 정리 가능한 차원의 중요성을 나타내고, γk는 해당 매개변수에 적용되는 수축 강도를 나타낸다. 우리는 다음과 같이 γk를 결정하기 위해 제어 가능한 지수 전략을 사용한다.

    여기서 정규화된 점수는 2^0 , 2^α 범위 내에서 변화하는 수축 강도 αk를 제어하는 데 사용된다.

     

    이러한 sparse training 이후에는, 상대점수인 아래 ig,k를 통해 중요하지 않은 매개변수를 식별하고 제거함. 이러한 pruning 방법은 consistenet sparse training와 pruining method를 결합하여 기존 모델과 비슷한 성능을 달성할 수 있음 

     

     

     

Designed by Tistory.