본문 바로가기
딥러닝&머신러닝/Paper Review

CNN의 parameter 개수와 tensor 사이즈 계산하기

by David.Ho 2023. 3. 30.
728x90
반응형

CNN의 parameter 개수와 tensor 사이즈 계산하기

  • 이번 글에서는 네트워크의 텐서 사이즈와 파라미터의 갯수를 계산하는 공식에 대해 다루려 한다.
  • 아래의 AlexNet을 이용하여 예시를 든다.

Alexnet의 구조

  • AlexNet의 구조
    • Input: 2272273 크기의 컬러 이미지. 논문의 224*224 사이즈는 오타임
    • Conv-1: 11*11 크기의 커널 96개, stride=4, padding=0
    • MaxPool-1: stride 2, 3*3 max pooling layer
    • Conv-2: 5*5 크기의 커널 256개, stride=1, padding=2
    • MaxPool-2: stride 2, 3*3 max pooling layer
    • Conv-3: 3*3 크기의 커널 384개, stride=1, padding=1
    • Conv-4: 3*3 크기의 커널 384개, stride=1, padding=1
    • Conv-5: 3*3 크기의 커널 256개, stride=1, padding=1
    • Maxpool-3: stride 2, 3*3 max pooling layer
    • FC-1: 4096개의 fully connected layer
    • FC-2: 4096개의 fully connected layer
    • FC-3: 1000개의 fully connected layer
  • 본 글에서는 AlexNet을 이용하여 아래의 내용을 알아본다.
    • 각 단계에서 텐서의 크기를 계산하는 방법
    • 네트워크에서 총 파라미터 개수를 계산하는 방법

 

Convolution layer의 output tensor size

 

Example on AlexNet

 

MaxPool layer의 output tensor size

 

Example on AlexNet

 

Fully Connected layer의 output tensor size

  • FC layer는 layer의 뉴런 수와 동일한 길의의 벡터를 출력
  • AlexNet summary
    • AlexNet에서 입력은 크기 227x227x3의 이미지
    • Conv-1의 출력은 MaxPool-1을 거치며 55x55x96에서 27x27x96으로 변환됨
    • Conv-2 이후에는 size가 27x27x256에서 MaxPool-2을 거치며 13x13x256으로 변경됨
    • Conv-3은 크기를 13x13x384로 변환
    • Conv-4는 크기가 유지됨
    • Conv-5는 크기를 27x27x256으로 변환함
    • 마지막으로 MaxPool-3는 크기를 6x6x256으로 줄임
    • 이 이미지는 크기 4096x1 크기의 벡터로 변환되는 FC-1에 feed됨
    • FC-2는 크기를 유지
    • FC-3 은 size를 1000x1로 변환

 

Convolution layer의 parameter 갯수

 

Example on AlexNet

 

MaxPool layer의 parameter 갯수

  • Pooling, stride, padding은 hyper parameter임(계산 X)

 

Fully Connnected layer의 parameter 갯수

  • CNN에는 두 종류의 FC layer가 존재
    • 마지막 Conv layer의 바로 뒤에 붙는 FC layer
    • 다른 FC layer에 연결되는 FC layer

 

Case1: FC layer connected to a Conv layer

 

Example on AlexNet

 

Case2: FC layer connected to a FC Layer

 

Example on AlexNet

AlexNet의 총 parameter 개수 및 tensor size

  • AlexNet의 전체 parameter 수는 5개의 convolution layer와 3개의 FC layer에서 계산되는 parameter 개수들의 합
    • 62,378,344 개.
  • 자세한 parameter 및 tensor size는

728x90
반응형

댓글