NPZ 파일 형태
NPZ 파일은 NumPy에서 사용하는 압축된 데이터 저장 형식
-
여러 NumPy 배열을 하나의 압축 파일로 저장할 수 있다.
-
파일 확장자는 .npz이며, 일반 .npy 파일보다 용량이 작다.
-
주로 대용량 데이터셋을 저장하고 불러올 때 사용.
-
예시
np.savez_compressed('파일명.npz', X_train=X_train, X_test=X_test, y_train=y_train, y_test=y_test)
CNN (Convolutional Neural Network)
합성곱 신경망은 이미지 인식에 특화된 딥러닝 아키텍처
- 일반 DNN과 달리 이미지의 공간적 특성을 보존하는 구조입니다.
- 주요 구성 요소: 합성곱 층(Conv), 풀링 층(Pooling), 완전 연결 층(FC)
- 특징 추출 부분과 분류 부분으로 나뉩니다.
- 이미지, 비디오, 시계열 데이터 등 구조화된 데이터 처리에 효과적입니다.
Conv2D (합성곱 층)
2차원 이미지에 적용되는 합성곱 연산을 수행하는 층
- 필터(커널)를 이용해 입력 이미지의 특징을 추출합니다.
- 주요 매개변수
- filters: 적용할 필터(커널)의 수
- kernel_size: 필터의 크기(높이, 너비)
- strides: 필터가 이동하는 보폭
- padding: 'valid'(패딩 없음) 또는 'same'(원본 크기 유지)
- activation: 활성화 함수(주로 ReLU 사용)
MaxPooling2D (최대 풀링 층)
특징 맵의 크기를 줄이고 중요한 특징만 선택적으로 추출하는 층
- 지정된 영역에서 최댓값만 선택하여 출력합니다.
- 데이터의 차원을 감소시켜 계산 비용을 줄이고 과적합을 방지합니다.
- 주요 매개변수: pool_size(풀링 영역의 크기), strides(이동 보폭)
- 매개변수가 적어 학습이 필요 없는 층입니다.
전이 학습(Transfer Learning)
<aside>
📢
전이 학습은 하나의 문제를 위해 학습된 모델을 다른 관련 문제에 적용하는 기계학습 방법론입니다
</aside>
- 기본 개념: 이미 훈련된 모델(사전 훈련 모델)의 지식을 새로운 작업에 활용합니다.
- 장점:
- 적은 양의 데이터로도 좋은 성능 달성 가능
- 학습 시간 단축
- 컴퓨팅 리소스 절약
- 일반화 성능 향상
- 주요 사용 분야: 이미지 인식, 자연어 처리, 음성 인식 등
- 대표적인 사전 훈련 모델:
- 이미지: VGG, ResNet, Inception, EfficientNet
- 자연어: BERT, GPT, T5
- 음성: Wav2Vec, HuBERT
- 구현 방법:
- 사전 훈련된 모델 불러오기
- 모델의 일부 또는 전체 층 동결(freeze)
- 새로운 작업에 맞는 출력층 추가
- 미세 조정(fine-tuning) 수행
<aside>
📌
전이 학습은 특히 대규모 데이터셋으로 학습된 모델의 지식을 활용하여, 데이터가 부족한 도메인에서도 효과적인 학습이 가능하게 합니다.
</aside>
최적화 함수 (Optimizer)
<aside>
📌
딥러닝에서 최적화 함수는 모델의 파라미터를 업데이트하여 손실 함수를 최소화하는 알고리즘
</aside>
Batch Size 사용 이유 및 특징
배치 사이즈는 모델이 한 번에 학습하는 데이터 샘플의 개수입니다. 전체 데이터셋을 한번에 학습할 경우 메모리 문제가 발생할 수 있어, 데이터셋을 작은 단위로 나누어 모델에 입력합니다.
- 일반적으로 32, 64 크기를 주로 사용합니다