본문 바로가기

전체 글

(72)
플레이데이터 애널리시스 33기 10월 4주차(10/23 ~ 10/29) 회고 1. 전반적인 느낌(일주일동안 한 일) 1) 배운 것 이번 주에는 '딥러닝 모델개선' 방법 6가지과 'CNN모델의 개요' 를 배웠다. 모델은 과소적합이나 과대적합이 일어날 수 있는데 , 1. DNN 모델의 크기를 변경하거나, 2. Epoch수, layer수,unit수를 조정해서 모델의 크기를 바꿀 수 있다. 3. Dropout layer를 추가해서 랜덤으로 노드를 학습해 overfitting을 방지하고, 4. 배치정규화를 이용해 모델의 성능을 높일 수 있었다. 5. 학습률 조정방식을 이용해서 gradient를 더욱 정교하게 찾을 수 있는 방법과 6. Hyperparameter tuning을 이용해 모델을 개선하는 방법도 있다. 2) 실행한 것(개인프로젝트, 수학 공부 등) 데이콘의 python 튜토리얼을..
Image Augmentation | 1. 이미지에 효과를 주어 CNN small datasets의 데이터를 늘려보자 Data 양이 많지 않아 딥러닝 모델의 학습에 어려움이 있을 때 사용 가능한 방법 1) Image augmentation 활용 - Image에 다양한 효과를 주어 데이터양을 늘린다. 2) Pre-trained network의 활용한 Transfer learning (전이학습) - 매우 큰 데이터셋으로 미리 Training한 모델을 이용해 모델을 정의한다. - 성능이 좋은모델을 다량의 데이터로 학습시킨 모델을 사용하므로 적은 데이터에도 좋은 성능을 낼 수있다. ⭐Summary dataset객체에 1.전처리 함수 와 2. transform함수를 적용함으로써 데이터를 처리할 수 있다. - transforms.Compose([함수, 함수, 함수, ...])형식으로 적용할 함수(image augmentation함..
딥러닝 모델 개선 | 6. Hyper parameter tuning 딥러닝 모델 개선 방법 Epoch 수와 과적합 DNN 모델 크기 변경 Dropout Layer 추가를 통한 Overfitting 규제 Batch Normalization (배치정규화) Optimizer의 Learning rate(학습율) 조정을 통한 성능 향상 Hyper parameter tuning Hyper parameter tuning Parameters - 모델이 학습하여 데이터에 가장 적합한 값을 찾아내는 파라미터 - Weights - Bias Hyper parameters - 모형의 구조를 결정하거나 optimization 방법을 결정하는 변수들로 개발자가 직접 설정하는 파라미터 - Optimizer의 종류 - learning rate() - Hidden layer의 수 - Layer들의 un..
딥러닝 모델 개선 | 5. Learning rate(학습율) 조정 딥러닝 모델 개선 방법 Epoch 수와 과적합 DNN 모델 크기 변경 Dropout Layer 추가를 통한 Overfitting 규제 Batch Normalization (배치정규화) Optimizer의 Learning rate(학습율) 조정을 통한 성능 향상 Hyper parameter tuning Optimizer의 Learning rate(학습율) 조정을 통한 성능 향상 Optimizer의 Learning rate이 너무 크거나 너무 작으면 최적의 파라미터를 찾지 못할 수 있다. 그래서 Learning rate는 모델 성능과 밀접한 관계가 있는 아주 중요한 Hyper Parameter이다. 학습률이란? 오차함수의 최적점의 기울기로 Gradient를 찾아가는데, 이때 최적점을 향해 움직이는 비율이 L..
딥러닝 모델 개선 | 4.Batch Normalization (배치정규화) 딥러닝 모델 개선 방법 Epoch 수와 과적합 DNN 모델 크기 변경 Dropout Layer 추가를 통한 Overfitting 규제 Batch Normalization (배치정규화) Optimizer의 Learning rate(학습율) 조정을 통한 성능 향상 Hyper parameter tuning Batch Normalization (배치정규화) 각 Layer에서 출력된 값을 평균 = 0 ,표준편차 =1 로 정규화하여 각 Layer의 입력 분포를 균일하게 만들어 준다. 적용 방식 :배치정규화는 입력 데이터와 파라미터의 가중합을 구한 결과에 적용한 뒤 그 결과를 Activation 함수에 전달한다. 가중합 결과에 대해서 -> 미니배치의 평균과 분산을 구한 다음-> 감마를 곱하고 베타를 더해서 정규화를 ..
딥러닝 모델 개선 | 3. Dropout Layer 추가를 통한 Overfitting 규제 딥러닝 모델 개선 방법 Epoch 수와 과적합 DNN 모델 크기 변경 Dropout Layer 추가를 통한 Overfitting 규제 Batch Normalization (배치정규화) Optimizer의 Learning rate(학습율) 조정을 통한 성능 향상 Hyper parameter tuning Dropout Layer 추가를 통한 Overfitting 규제 Neural networkdml Overfitting을 방지하기 위한 기법 과대적합 Overfitting : 모델이 너무 복잡해서 발생 → Train dataset의 너무 많은 특성을 학습하여 데이터에 대한 일반성이 떨어짐 Dropot Node 학습 시에 1) 일부 Unit(노드)들을 2)Random하게 3)빼고 학습함. (Weight → 0으..
딥러닝 모델 개선 | 2. DNN 모델의 크기를 변경하는 방법 딥러닝 모델 개선 방법 Epoch 수와 과적합 DNN 모델 크기 변경 Dropout Layer 추가를 통한 Overfitting 규제 Batch Normalization (배치정규화) Optimizer의 Learning rate(학습율) 조정을 통한 성능 향상 Hyper parameter tuning 2. DNN 모델의 크기를 변경하는 방법 DNN 모델 크기 모델의 layer나 unit 수가 많을 수록 복잡한 모델이 된다. Overfitting일 경우 모델을 간단하게 만들고 Underfitting일 경우 모델을 크게 만든다 ⇒ 큰 모델에서 시작하여(overfitting 발생, 최적화 가능) ⇒ layer나 unit수를 줄여가며 validation loss의 감소 추세를 관찰해 최적화 - linear에서는..
딥러닝 모델 개선 | 1. Epoch수와 과적합 Epoch과 과적합 데이터셋을 여러번 반복 학습을 하게 되면 초반에는 train, validation 성능이 모두 개선된다. 그러나 학습이 계속 반복되면 train 의 성능은 계속 좋아지지만 어느시점부터는 Overfitting이 발생하여 validation 의 성능은 나빠진다. Epoch을 반복하는 것은 같은 데이터셋을 반복적으로 학습하는 것이기 때문에 적절한 Epoch수를 넘어가면 Overfitting이 발생한다. ⇒ Validation set의 성능이 나빠지기 전의 반복 횟수를 모델의 최적의 Epoch으로 선택한다.