본문 바로가기

딥러닝 & 머신러닝/프로젝트

머신러닝 수업 프로젝트 (3) : 관련 연구 - 기법

D. 데이터 증강 (Data Augmentation)

 

Figure 8. Data Augmentation

과적합(overfitting)은 학습할 샘플이 너무 적어 새로운 데이터에 일반화할 수 있는 모델을 훈련할 수 없기 때문에 발생합니다. 그러나 매우 많은 데이터를 제공하면 데이터의 더 다양한 측면을 모델이 학습할 수 있으므로 모델의 과적합을 막고 일반화 성능을 높일 수 있습니다.

 

Figure 8과 같이, 데이터 증강은 여러 가지 랜덤한 변환(회전, 이동, 뒤집기, 밝기 변화 등)을 적용하여 기존 훈련 데이터와 비슷한 훈련 데이터를 더 많이 생성하고, 이로써 과적합 문제를 해결할 수 있습니다.

 

E. Mish 활성화 함수 (Mish Activation Function)

 

Figure 9. Mish Activation Function

Figure 9의 빨간색 그래프는 Mish 활성화 함수를 나타냅니다. Mish 활성화 함수의 수식은 식 (2)와 같이 정의되며 범위는 [-0.31, ∞) 입니다. Mish 활성화 함수는 ReLU, Swish[21] 활성화 함수와 마찬가지로 양의 영역에서 무한대까지 함수의 결괏값이 대응(unbounded above)되기 때문에 capping 으로 인한 포화(saturation)를 방지할 수 있는 한편, 음의 영역에선 극히 한정된 값을 갖기(bounded below) 때문에 강한 규제 효과를 가져 과적합을 방지할 수 있습니다.

 

또한 Mish 활성화 함수는 ReLU 와는 다르게 음의 영역에 해당하는 값을 0으로 만들지 않기에 gradient 전달이 잘 되어 정보 전달 및 정보 표현 성능이 더 뛰어납니다. 마지막으로 Mish 활성화 함수는 전 영역에서 smooth 한 특성을 가지기 때문에 더 깊은 신경망에서도 잘 동작합니다.

 

F. 라벨 스무딩 (Label Smoothing)

 

모델이 실제로 정답을 맞출 확률보다 모델이 물체를 예측한 확률이 높은 상태를 과잉 확신이라고 합니다. 과잉 확신 문제는 딥러닝 모델을 실제로 적용할 때 더욱 도드라집니다. 자율주행, 금융, 의료 분야 등 중요한 판단이 필요한 상황에서 모델이 예측한 확률보다 실제 정확도가 낮으면 모델은 틀린 판단(high-confidence error)을 한 것이고, 이는 매우 치명적인 문제로 이어집니다.

 

라벨 스무딩은 딥러닝 모델의 이러한 과잉 확신 문제를 해소하는 방법의 하나입니다. 라벨 스무딩은 Hard 라벨을 Soft 라벨으로 바꿔 사용하는 것을 의미합니다. K개의 클래스에 대해 라벨 스무딩의 표현식은 식 (3)과 같습니다. 수식에서 α는 스무딩의 정도를 결정하는 smoothing parameter입니다.

식 (3)을 살펴보면, 라벨 스무딩 기법은 예측한 레이블에 가중치를 곱하는 동시에 해당 라벨을 제외한 모든 라벨을 균일 분포(uniform distribution)로 취급합니다. 위 과정을 통해 스무딩된 Soft 라벨을 식 (4)와 같은 Cross Entropy 함수 내의 기존 라벨에 대체하여 사용합니다. 이는 결국 모델이 정답 클래스에 과적합되는 현상을 방지하므로, 곧 모델의 과잉 확신을 막는 효과를 얻게 됩니다.

 

G. 앙상블 (Ensemble)

 

앙상블은 다양한 분류 모델들의 예측 결과를 종합해 합의적 의사결정(consensus decision)을 내리는 방법입니다. 이를 통해 단일 모델을 사용했을 때보다 높은 일반화 성능을 얻을 수 있고, 과적합 문제 또한 해소할 수 있습니다.

 

앙상블은 독립적으로 훈련된 여러 종류의 좋은 모델이 각기 다른 장점이 있다는 가정을 바탕으로 합니다. 각 모델은 예측을 만들기 위해 데이터의 조금씩 다른 측면을 바라보며 정답 값을 찾습니다. 모델들은 각자의 가정을 이용해 각자의 관점으로 데이터를 이해합니다. 따라서 이 모델들의 관점을 종합하면 더욱 정확하게 정답 값을 예측할 수 있게 됩니다. 한편 앙상블에 사용되는 모델들의 성능은 각각의 정확도가 적어도 50%는 넘어야 그 효과를 얻을 수 있습니다. 그 이유는 식 (5)를 통해 알 수 있습니다.

 

만약 n 개의 개별 모델이 갖는 정확도가 p이고 모델들이 서로 독립적이라면, 투표를 기반으로 이러한 모델들을 결합한 최종 앙상블 모델의 오답률 P_e 는 위와 같이 계산됩니다. 즉, 모델의 순서 구분 없이 n-k개의 모델은 정답을 맞추고, k개의 모델은 정답을 못 맞히는 경우를 나타냅니다.

 

이때 과반수의 모델들이 오답을 내놓았을 때만 최종 모델이 오답을 내놓기 때문에 k>(n/2) 일 때를 고려해야 합니다. 여기서 p>0.5 인 경우 n이 증가할수록 P_e 는 점점 감소합니다. 그러나 p<0.5 인 경우 n이 증가할수록 P_e 는 점점 증가합니다. 따라서 앙상블을 사용할 땐 어느 정도 정확한 모델들을 결합해야 합니다.