코딩세상
[딥러닝 기초] 2장 딥러닝 학습의 문제점 - 과적합 문제와 방지 기법 본문
이전 포스팅에서 저희는 딥러닝 모델 학습의 문제점 중 초기값 설정 문제를 알아보고 이를 방지하기 위한 방지 기법에 대해 알아보았습니다.
오늘은 딥러닝 모델 학습의 문제점 중 마지막 문제인 과적합 문제와 방지 기법에 대해 알아보겠습니다.
- 딥러닝 모델 학습에서의 과적합 방지 기법
딥러닝 모델 학습에서의 과적합(overfitting)문제는 모델이 학습 데이터에 너무 과하게 학습되어 다른 데이터가 들어왔을 때 성능이 현저하게 떨어지는 것을 말합니다.
이와 같은 과적합 현상을 방지하기 위해 다양한 방지 기법이 등장하였는데,
정규화(Regularization)
드롭아웃(Dropout)
배치 정규화(Batch Normalization)
다양한 방지 기법 중 위에 적어논 3개의 방지 기법에 대해 알아보겠습니다.
- 정규화(Regularization)
모델이 복잡해질수록 Parameter들은 많아지고, 절댓값이 커지는 경향이 발생하는데 이 때 기존 손실함수에 규제항을 더해 최적값을 찾는것이 가능합니다.
- 규제는 손실함수에 가중치의 노름(norm)을 더한 함수를 목적 함수(Objective function)로 설정하여 가중치를 제한합니다.
- 가중치의 노름(norm)이란 가중치 벡터(혹은 행렬)의 길이(length) 또는 크기(magnitude)를 측정하는 방법입니다.
- 목적 함수(Objective function)는 여러 분야에서 사용되는 단어이지만 머신러닝에서는 보통 '모델이 학습을 통해 최적화하고자 하는 함수'라고 해석합니다.
- L1 정규화(Lasso Regularization)
가중치의 절댓값의 합을 규제항으로 정의하는 정규화 입니다.
L1 정규화의 목적 함수는 위의 수식이며, L1 정규화를 통해 정규화를 진행할 경우 작은 가중치들은 거의 0으로 수렴하여 몇개의 중요한 가중치들만 남게됩니다.
- L2 정규화(Ridge Regularization)
가중치의 제곱의 합을 규제항으로 정의합니다.
L2 정규화의 목적 함수는 위의 수식이며, L2 정규화는 L1 정규화에 비하여 0으로 수렴하는 가중치가 적지만 큰 값을 가진 가중치를 더욱 제약하는 효과를 가지고 있습니다.
- 드롭아웃(DropOut)
드롭아웃은 단어 그 뜻대로 뉴런을 버리는 것으로, 각 layer 마다 일정 비율의 뉴런을 임의로 drop 시켜 나머지 뉴런들만 학습시키는 방법입니다.
드롭 아웃을 적용하면 매번 drop되는 뉴런의 갯수와 위치가 달라져 학습되는 노드와 가중치들이 매번 달라지게 됩니다.
- 드롭아웃의 적용 방법
드롭아웃은 다른 정규화 기법들과 상호 보완적으로 사용할 수 있습니다.
드롭아웃으로 인해 드롭된 뉴런은 역전파(Backpropagation) 시 신호를 차단하여 역전파가 이뤄지지 않게됩니다.
하지만 학습이 끝난 후 테스트를 진행할 때는 모든 뉴런에 신호를 전달합니다.
- 배치 정규화(Batch Normalization)
배치 정규화(Batch Normalization)란 Normalization을 처음 Input data 뿐만 아니라 신경망 내부 Hidden Layer의 input에도 적용시키는 기법을 말합니다.
- Normalization : 값의 범위(scale)을 0 ~ 1사이의 값으로 바꿔주는 것
- 배치 정규화의 장점
매 Layer마다 정규화를 진행하므로 가중치 초기값에 크게 의존하지 않습니다 -> 초기화 중요도 감소
과적합을 억제하는 효과를 지니게 됩니다. -> Dropout, L1, L2 정규화 필요성의 감소
배치 정규화의 핵심은 학습 속도가 다른 정규화에 비해 크게 증가한다는 것입니다.
# 출처
엘리스 AI 트랙 7기 - [강의자료] 딥러닝 학습의 문제점
https://yhyun225.tistory.com/18
'인공지능' 카테고리의 다른 글
[이미지] 이미지 데이터 - 딥러닝을 활용한 이미지 처리 사례 (0) | 2023.09.11 |
---|---|
[이미지] 이미지 데이터 - 이미지 데이터란? (0) | 2023.09.11 |
[딥러닝 기초] 2장 딥러닝 학습의 문제점 - 초기값 설정 문제와 방지 기법 (0) | 2023.09.07 |
[딥러닝 기초] 2장 딥러닝 학습의 문제점 - 기울기 소실 문제와 방지 기법 (0) | 2023.09.07 |
[딥러닝 기초] 2장 딥러닝 학습의 문제점 - 학습 속도 문제와 최적화 알고리즘 (0) | 2023.09.06 |