ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DenseNet의 아이디어
    딥러닝/CNN 모델 2022. 6. 9. 15:25

    DenseNet은 2016년 발표된 논문입니다. ResNet이 2015년에 발표되었고 다음해에 발표되었습니다. 이 DenseNet에서는 행렬 합으로 퓨전하는 대신 채널 차원별 CAT (Concatenation) 으로 퓨전하는 것을 선택하였고 ResNet보다 더 적은 파라미터와 더 나은 성능을 보여주었습니다.

     

    기본 블록은 BN, ReLU로 시작하고 컨볼루션 1x1, 3x3으로 구성되어 있는 소 블록입니다.  다음 일러스트에서 보겠지만. Conv1x1과 Conv 3x3의 출력 차원은 (배치, 뎁스, X, Y)으로 구성되어 있으며 이 중 뎁스 차원이 각각 항상 같습니다. 모델의 전반적이로 이 소 블록이 쓰이는데 어떤 위치에 있는 소 블록이든지 간에 모두 Conv 1x1 출력 차원의 뎁스는 4x32 이고 Conv 3x3의 출력 차원의 뎁스 값은 32입니다. 카디널리티 등으로 명명하는 하이퍼파라미터 상수 값에 따라 32란 숫자는 달라질 수 있으나 달라지면 달라진 대로 항상 같은 값을 유지합니다. 1x1에서 볼록 튀어나온 형상을 띄다가 3x3에서 차원 축소가 된 느낌입니다.

    그리고 Transition Layer라고 Conv 1x1 + MP 로 이루어진 소 블록이 하나 더 있는데 그 내용은 생략하도록 하겠습니다.

     

    이 블록을 여러 번 쌓는데 각 블록의 끝에서 그림과 같이 CAT을 합니다. 

    스템(Stem)이란 반복적인 블록의 이음으로 설명 가능한 부분이 아니어서 별도로 설명하는 부분을 일컫는데 보통 모델의 맨 앞에 위치합니다. 스템(Stem) 인 BN-ReLU-Conv7x7은 논의에서 제외하도록 하겠습니다.

     

    첫 블록의 끝에서는 입력 64채널을 첫 블록의 결과 32채널과 CAT 하게 됩니다. 두 번째 블록의 끝에서는 CAT 할 수 있는 것들이 첫 입력 64채널, 첫 블록의 결과 32채널, 두 번째 블록의 결과 32채널 이렇게 3가지나 됩니다. 모두 CAT 해줍니다. 그런 식으로 블록을 쌓아나가면서 매우 많은 CAT을 하겠다는 것이 DenseNet의 흐름입니다. DenseNet은 기존 ResNet 의 잔차식 퓨전인 행렬 합 보다 CAT으로 이어 붙이는 것이 더 효과적이라는 사실을 우리에게 보여주고 있습니다.

     

    그래서 위 그림을 이렇게 심플하게 나타내곤 합니다.

    같은 그림입니다.

    '딥러닝 > CNN 모델' 카테고리의 다른 글

    네이버 RexNet 논문  (0) 2022.06.10
    ResNet의 잔차 아이디어  (0) 2022.06.05

    댓글

Designed by Tistory.