CNN 12 - CNN에서 파라미터 수 계산

김성빈·2024년 5월 24일
0

Modern Computer Vision

목록 보기
62/117

CNN이 갖고 있는 파라미터(매개 변수)의 수를 계산하고

학습 가능한 매개 변수가 뭔지 확인한다.

CNN에서 파라미터(learnable parameters)란

  • 파라미터는 모델을 생성할 때 학습해야 하는 변수들
  • CNN에서는 주로 가중치(weights)라고 불리며, 초기에는 무작위로 초기화 된다.
    이런 걸 학습 매개 변수라고 한다.
  • 학습 과정(컨볼루션, FC Layer)에서 업데이트되어 최적의 값을 찾는다.

파라미터 수를 계산하는 방법


첫 번째 합성곱 레이어의 예시
16개의 3x3 필터를 사용한 경우, 각 필터는 깊이가 1(깊이, 차원)이므로 파라미터 수는

깊이는 채널수로 흑백이미지는 1, RGB는 3이다.

3×3×1+1=10
하나의 필터에 10개의 파라미터가 존재


총 16개의 필터가 있으므로

10×16=160개의 파라미터가 존재

하나의 필터에 10개의 파라미터가 존재한다는게 무슨말일까?

하나의 필터에 10개의 파라미터가 존재한다는 것은

그 필터가 이미지의 특정 패턴을 학습하기 위해 필요한

가중치(weight)와 바이어스(bias)의 개수를 의미한다.

필터 크기 = 3x3
입력 이미지의 깊이 : 1
바이어스 수 : 1
총 파라미터수 :9(가중치)+1(bias) =10

결론은 그 필터가 학습하는 동안 총 10개의 값(9개의 가중치와 1개의 바이어스)을 조정한다는 의미한다.

파라미터(가중치[Weights], 바이어스[bias])

가중치, Weights
데이터의 중요한 특징을 학습

바이어스:
모델의 유연성을 높여 복잡한 패턴을 학습

CNN에서의 가중치와 바이어스:

A . 합성곱 레이어(Conv Layer)

  1. 각 필터는 가중치를 가지고 있으며, 이 가중치들은 입력 이미지의 특징을 감지하는 데 사용
  2. 바이어스는 필터의 출력 값을 조정하여 활성화 함수를 이동

B. 완전 연결 레이어(Fully Connected Layer)

  1. 모든 입력 노드가 모든 출력 노드에 연결되어 있으며, 각 연결마다 가중치가 존재
  2. 바이어스는 각 출력 노드마다 하나씩 존재하여, 모델이 더 복잡한 패턴을 학습할 수 있도록 도움

결론

  1. 가중치와 바이어스는 CNN에서 핵심적인 학습 가능한 파라미터이다.
  2. 가중치는 데이터의 중요한 특징을 학습하고, 바이어스는 모델의 유연성을 높여 복잡한 패턴을 학습할 수 있게 한다.

가중치는

@가중치와 바이어스에 대한 예시

모델이름 : 집의 크기와 방의 개수를 이용해서 집 값을 예측

입력 변수
1. 집의 크기 : x1
2. 방의 개수 : x2

가중치
1. 집의 크기에 대한 가중치 : w1
2. 방의 개수에 대한 가중치 : w2

가중치는 입력변수의 중요도를 조절
예를 들어, 집의 크기가 집 값에 미치는 영향이 방의 개수보다 더 크다면 w1이 w2 보다 클 수 있음

바이어스
모델의 예측 값을 조정하는 추가적인 값
집의 크기와 방의 개수가 모두 0일 때도 기본적인 집 값이 있을 수 있는데, 이 때 바이어스로 조정
+기본적인 집값으로 봐도 괜찮다

방가격x개수 + 평수x 평당가격 + 기본집값(바이어스)

이 바이어스는 학습 과정에서 최적의 값을 찾기 위해 학습된다.

각 레이어에서 학습 가능한 파라미터(가중치와 바이어스)의 수를 계산

아래는 간단한 CNN 흐름을 나타내는 내용인데

계산이 어떤식으로 되고 입력과 필터에따라 파라미터 수가

어떻게 커지고 작아지는지 확인 해두자.




profile
감사합니다. https://www.youtube.com/channel/UCxlkiu9_aWijoD7BannNM7w

0개의 댓글