Other Regularization Methods (C2W1L08)
이번 강의에서는 L2 정규화와 드롭아웃 정규화와 더불어 신경망의 과대적합을 줄이는 다른 기법들을 알아본다.
Data augmentation
첫 번째 방법은 더 많은 데이터를 추가하는 것이다. 많은 데이터가 과대적합을 해결하는데 도움을 줄 수 있지만 많은 비용이 들어가거나 불가능한 경우가 있다.
그러면 수평 방향으로 뒤집은 이미지를 훈련 세트에 추가시켜 데이터를 늘리는 방법도 있다.
그러나 새로운 고양이 사진을 더 많이 구하지 않고 할 수 있는 방법이지만 새로운 m개의 독립적인 샘플을 얻는 것보다 이 방법은 중복된 샘플들이 많아져 좋지 않다.
이 방법 외에도 무작위로 이미지를 편집해 새로운 샘플을 얻을 수도 있다.
이런 추가적인 가짜 이미지들은 완전히 새로운 독립적인 고양이 샘플을 얻는것보다 더 많은 정보를 추가해주지는 않을 것이지만 데이터를 더 얻을 수 있는 비싸지 않은 방법이다.
Early stopping
두 번째는 조기 종료라고 부르는 기법도 있다.
경사하강법을 실행하면서 훈련 세트에 대한 분류 오차, 즉 훈련 오차를 그리거나 최적화하는 비용함수 J를 그리게 된다.
훈련 오차나 비용함수 J는 다음과 같이 단조 감소하는 형태로 그려져야 한다.
조기 종료에서는 개발 세트 오차도 함께 그려준다. 보라색 선은 개발 세트의 분류 오차 혹은 개발 세트에서 평가되는 로지스틱 손실 함수라고 볼 수 있다.
여기서 발견할 수 있는 점은 개발 세트 오차가 아래로 내려가다가 중간에 증가하는 것이다.
조기 종료는 신경망이 점이 있는 반복 주변에서 가장 잘 작동하는 것을 알 수 있다. 따라서 중간에 신경망을 훈련시키는 것을 멈추고 이 개발 세트 오차를 만들 값을 최적으로 삼는다.
훈련을 반복할수록 \( \omega \) 의 값은 계속 커진다. 조기 종료 기법에서 반복을 중간에 멈추면 \( \omega \) 가 중간 크기의 값을 갖는 상태가 된다.
L2 정규화와 비슷하게 매개변수 \( \omega \) 에 대해 더 작은 노름을 갖는 신경망을 선택함으로써 신경망이 덜 과대적합하게 된다.
조기종료의 장단점
조기종료는 의미하는 말처럼 신경망을 조기로 종료하는 것으로 신경망을 훈련시킬 때 가끔 조기 종료를 사용하는데 하나의 단점이 있다.
교수님이 생각하는 조기 종료의 주된 단점은 비용함수를 최적화하는 것과 과대적합을 막는 것, 이 둘을 섞어버린다는 것이다.
이 두 문제에 대해 더 이상 독립적으로 작업할 수 없게 된다. 왜냐하면 경사하강법을 일찍 멈춤으로써 비용함수 J를 최적화하는 것을 멈추게 된다.
그래서 비용함수 J를 줄이는 일을 잘 하지 못하게 되고, 동시에 과대적합을 막으려고 하여 문제를 더 복잡하게 만든다.
조기 종료를 사용하는 것의 대안은 L2 정규화를 사용하는 것이다. 그럼 가능한 오래 신경망을 훈련시킬 수 있게 된다. 이를 통해 하이퍼파라미터의 탐색 공간이 더 분해하기 쉽고 찾기 쉬워진다.
그러나 단점은 정규화 매개변수 \( \lambda \) 에 많은 값을 시도해야 한다는 것이다. \( \lambda \) 의 많은 값을 대입하는 것은 컴퓨터적으로 비용이 많이 든다.
조기 종료의 장점은 경사하강법 과정을 L2 정규화의 하이퍼파라미터 \( \lambda \) 처럼 많은 값을 시도할 필요없이 한번만 실행해서 작은 w, 중간 w, 큰 w의 값을 얻게 된다.