지콩이
기발자의 기록
지콩이
전체 방문자
오늘
어제
  • 분류 전체보기 (41)
    • 대학원 공부 (29)
      • 데이터베이스 (8)
      • 기계학습의원리 (11)
      • 텐서플로 (4)
      • 통계 (3)
      • anomaly detection (2)
      • Python 데이터분석 (1)
    • 인공지능프로젝트 (3)
    • 알면 도움 되는 꾸루팁 (8)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 변수변환
  • EM알고리즘
  • 기계학습
  • 딥러닝
  • vscode
  • 주성분분석
  • 머신러닝
  • 이상징후탐지
  • pandas
  • 파이썬에러
  • 판다스
  • 볼츠만머신
  • 데이터분석
  • 강화학습
  • 정처기
  • 베이지안
  • 신용카드사기거래
  • 데이터셋
  • 파이썬
  • 전이학습
  • 텐서플로우
  • 빅데이터
  • 슈도코드
  • 텐서플로
  • RBM
  • 빈자리접수
  • 데이터전처리
  • feature
  • 가상환경
  • anomaly detection

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
지콩이

기발자의 기록

CNN 파라미터 개수 계산 (예제)
대학원 공부/기계학습의원리

CNN 파라미터 개수 계산 (예제)

2023. 10. 29. 01:00

1. Convolution Layer1

입력 shape = (39, 31, 1)

입력 채널 = 1

필터 = (4, 4)

출력 채널 = 20

stride = 1

이 레이어의 학습 파라미터는 320개(4*4*20*1)

 

RowSize = (shape[0]-shape[1])/stride+1 = (39-4) / 1 +1= 36

ColumnSize = (31-4)/1 +1 = 28

 

따라서 출력 데이터의 Shape는 (36, 28, 20)이 된다.

 

2 Max Pooling Layer1

입력 데이터의 Shape는 (36, 28, 20)이다.

Max Pooling Layer에서 학습 파라미터는 없다.

 

OutputRowSize = InputRowSize / PoolingSize=36/2=18

OutputColumnSize = InputColumnSize / PoolingSize=28/2=14

 

따라서 출력 데이터의 Shape은 (18, 14, 20)이 된다.

 

3. Convolution Layer2

입력 Shape = (18, 14, 20)

입력 채널 = 20

필터 = (3, 3)

출력 채널 = 40

Stride = 1

이 레이어의 학습 파라미터는 7200개(20*3*3*40)

 

RowSize = (18-3)/1 +1 = 16

ColumnSize = (14-3)/1+1 = 12

따라서 출력 Shape는 (16, 12, 40)이 된다.

 

4. Max Pooling Layer2

입력 데이터의 shape는 (16, 12, 40)이다.

Max Pooling Layer에서는 학습 파라미터가 없다.

OutputRowSize=16/2 = 8

OutputColumnSize=12/2 = 6

따라서 출력 데이터의 Shape는 (8, 6, 40)이다.

 

 

5. Convolution Layer3

입력 데이터 Shape = (8, 6, 40)

입력 채널 = 40

필터 = (3, 3)

출력 채널 = 60

Stride = 1

이 레이어의 학습 파라미터는 21,600개(40*3*3*60)

RowSize = (8-3)/1+1 = 6

ColumnSize = (6-3)/1+1 = 4

 

따라서 출력의 Shape는 (6, 4, 60)이 된다.

 

6. Max Pooling Layer2

입력 데이터의 shape는 (6, 4, 60)이다.

출력 데이터의 Shape는 (3, 2, 60)이다.

Max Pooling Layer에서는 학습 파라미터가 없다.

 

7. Convolution Layer 4

입력 데이터 Shape = (3, 2, 60)

입력 채널 = 60

필터 = (2, 2)

출력 채널 = 80

Stride = 1

이 레이어의 학습 파라미터는 19,200개(60*2*2*80)

RowSize = (3-2)/1+1 = 2

ColumnSize = (2-2)/1+1 = 1

 

따라서 출력의 Shape는 (2, 1, 80)이 된다.

 

8. Flatten Layer의 Shape

입력 데이터 = (2, 1, 80)

출력 데이터 = (160, 1)

이 레이어의 파라미터는 없다.

 

8. Dense layer

160*(Dense layer의 뉴런 수)=160*n

 

❗원래는 여기에 bias 파라미터도 더해줘야한다. 즉, 160*n+n개가 되어야 하지만, 현재 bias는 없다고 가정했기 때문에 160*n으로 마무리한다.

 

 

✨Total number of trainable parameters: 320+7,200+21,600+19,200+160*n=48,320+160*n

'대학원 공부 > 기계학습의원리' 카테고리의 다른 글

[머신러닝 원리] 10-2. PCA(Principal Component Analysis)의 원리 및 사용 예시  (0) 2024.04.23
[머신러닝 원리] 12-4. 강화 학습(Reinforcement Learning)  (0) 2022.12.31
[머신러닝 원리] 12-3. 강화 학습(Reinforcement Learning)  (0) 2022.12.13
[머신러닝 원리] 12-2. 강화 학습(Reinforcement Learning)  (0) 2022.12.13
[머신러닝 원리] 12-1. 강화 학습(Reinforcement Learning)  (0) 2022.12.08
    '대학원 공부/기계학습의원리' 카테고리의 다른 글
    • [머신러닝 원리] 10-2. PCA(Principal Component Analysis)의 원리 및 사용 예시
    • [머신러닝 원리] 12-4. 강화 학습(Reinforcement Learning)
    • [머신러닝 원리] 12-3. 강화 학습(Reinforcement Learning)
    • [머신러닝 원리] 12-2. 강화 학습(Reinforcement Learning)
    지콩이
    지콩이
    기획자와 개발자 그 사이 어딘가

    티스토리툴바