- 모델 선택(CNN, RNN, DNN, etc) -> 하이퍼파라미터 튜닝
- 아키텍처에 따라서 성능이 크게 달라지고, 그 안에서 디테일하게 하이퍼파라미터 튜닝을 통해서 성능을 높인다 !
-> 둘 다 모두 중요함, 우선순위 비슷, 많은 아키텍처와 하이퍼 파라미터를 알고 있는 것이 중요하다
-> CNN, RNN 모두 선형 레이어를 쌓는 과정과 같이 레이어를 쌓는 과정, 크게 다르지 않을 수도 있을거라 생각
※CNN 알아둬야할 것들
- 2차원 컨볼루전 연산 : 커널 크기의 정사각형을 계속 이동 시켜서 부분을 기록하는 방식, 큰 크기의 데이터셋(이미지)에서 잘 어울리는 레이어
컨볼루전 레이어 핵심 요소 :
kernel_size : 커널 크기, 홀수 단위
strides : 커널이 이동할 때 픽셀 단위
padding : 데이터 둘레에 0 패딩 추가 : 커널 사이즈로 인한 이미지 변경 방지
-> 커널 사이즈가 n x n 이면, padding을 (n-1)/2로 하면 크기가 유지(stride 1이어야함)
CNN 레이어 : 컨볼류션 레이어를 기반으로 모델링을 한 아키텍처
-컨볼루션 계층 : 컨볼루션 레이어 + 폴링레이어를 위주로 이미지에서 특성 추출
-> 구조를 확실하게 다지는게 중요 ! 입력 단위를 신경쓰
- FC Layer : 선형 레이어를 위주로 모델의 최종 출력(분류, 회귀)를 만드는 계층
-> Flatten, Pooling, Dropout 등등 포함
- 정형 데이터의 경우에는 한번에 데이터셋을 불러와 init함수에서 인코딩/정규화를 진행하지만, 이미지의 경우에는 크기가 크기 때문에 getitems__에서 하나씩 불러와서 정규화를 수행(메모리 효율성 관련)
이미지 데이터셋 모델 처리
이미지 경로 세팅 -> 이미지 불러와서 전처리(정규화, getitems 에서 처리) -> 모델링(컨볼루션 레이어) -> 모델 학습 -> 시각화
※폴링 레이어
- 컨볼루션 레이어에서는 계속 H,W를 줄여주는 방향으로 작업을 진행해야함
- 하지만 데이터 크기를 줄이려면 데이터의 손실은 불가피함, but 폴링 레이어를 활용하면 데이터의 손실 최소화가능
- 컨볼루션 계층 + 폴링 레이어를 같이 사용하여 최소한의 손실로 데이터의 크기를 줄일 수 있게 함(모델의 효율성)
- 최근에는 폴링 레이어를 쓰는 방법도 쓰지만, stride를 2로 만드는 방법을 많이 쓴다고 한다
'TIL' 카테고리의 다른 글
| [TIL] #10 2026-03-30 (0) | 2026.03.30 |
|---|---|
| [TIL] #9 2026-03-26 ~ 3-27 (1) | 2026.03.27 |
| [TIL] #7 2026-03-11 (1) | 2026.03.11 |
| [TIL] #6 2026-03-10 (0) | 2026.03.10 |
| [TIL] #5 2026-03-06 (1) | 2026.03.06 |
