코딩 이야기

[2022] NVIDIA DEEP LEARNING INSTITUTE 4부 본문

Coding/NVIDIA

[2022] NVIDIA DEEP LEARNING INSTITUTE 4부

always7767 2022. 12. 2. 14:35

[ 4부 : 데이터 증강 및 배포 ]
1) HANDS-ON 요약
- 분석 : CNN으로 검증 정확도를 높임 / 여전히 트레이닝 정확도가 검증 정확도보다 높음
- 솔루션 : 정제 데이터가 더 나은 예시를 제공 / 데이터세트의 다양성이 모델의 일반화에 도움이 됨

2) 모델 배포 (MODEL DEPLOYMENT)
- 트레이닝 배치 입력 : 합성곱, Max Pooling(최대 풀링), ...
- 크기 조정 → 회색조 → '배치'

3) 데이터 증강 (Data Augmentation)
- 데이터세트에서 크기와 편차를 프로그래밍 방식으로 늘리는 것
- 다수의 딥러닝 애플리케이션을 위한 유용한 기술


4) 기타 (Other)

- hands-on는 24개의 알파벳을 분류하는 multi-class이다보니 sigmoid를 적용했을  성능이  떨어질  있다.
- compile할때 사용하는 loss를 다르게 정의를 해야한다. 
- categorical_crossentropy는 softmax를 기준으로 정의되어 있는 손실함수이다.
- 모델 아키텍처는 이미지의 중요한 특징을 인식하도록 설계되었다.
- 검증 정확도는 여전히 트레이닝 정확도에 미치지 못하고 있으며, 이는 과적합의 징후이다.
- Keras에는 ImageDataGenerator라는 이미지 증강 클래스가 포함되어 있다.
- 데이터세트는 알파벳을 손으로 나타내는 그림이다.
- 분야별 추론은 자체적인 딥러닝 애플리케이션과 관련된 적절한 결정을 내릴 수 있게 도와준다.
- ImageDataGenerator의 또 다른 이점은 모델이 무작위 샘플에 대해 트레이닝할 수 있도록 데이터를 배치 처리한다는 점이다.
- 모델이 진정한 무작위여서 데이터가 제대로 섞이고 한 벌의 카드처럼 공평한 경우에는 모집단의 일부임에도 불구하고 샘플이 모든 데이터를 제대로 표현
   할 수 있다. 
- 트레이닝의 각 단계에서는 모델이 새로운 배치로 처리된다.
- Keras에 이미지 데이터 생성기를 사용하는 경우 모델은 약간 다른 방식으로 트레이닝한다. 
- 즉, 단순히 x_train  y_train 데이터세트를 모델에 전달하는 대신 생성기를 전달하여 생성기의 flow 메서드를 호출한다.
- 이미지가 트레이닝을 위해 모델에 전달되기 직전에 실시간으로 증강되어 메모리에 위치한다.
- 생성기(Generator)는 무한한 데이터를 공급할 수 있으므로 생성기를 사용하여 데이터를 트레이닝할 때는 각 에포크가 얼마나 오랫동안 실행되어야
   하는지를 명시적으로 설정해야 한다.
- 이 섹션에서는 Keras를 사용하여 데이터세트를 증강했으며, 그 결과 과적합이 감소한 트레이닝된 모델과 뛰어난 검증 이미지 결과를 얻었다.

Comments