Regularization Method
규제 기법
; 일반화 오류를 줄이기 위해 학슴 알고리즘을 수정하는 방법
- 명시적 규제와 암시적 규제로 나뉨
- 용량이 충분히 큰 모델에 여러 가지 규제 기법을 적용해서 일반화 능력을 높일 수 있음
명시적 규제
: 목적함수나 신경망 구조를 직접 수정
e.g. 가중치 감쇠, 드롭아웃
암시적 규제
: 간접적으로 영향을 미침
e.g. 조기 멈춤, 데이터 증대, 잡음 추가, 앙상블
가중치 벌칙
규제항
- 노드를 연결하는 가중치는 노드 사이의 상호작용을 표현해서 규제가 필요함
cf) 바이어스는 하나의 노드에만 관련되어 규제하지 않아도 됨
- 규제항은 훈련집합과 무관, 가중치 크기에 제약을 가하는 역할만 함
--> 가중치가 커지면 규제항이 커지고, 목적함수가 증가하므로 목적함수를 작아지게 하기 위하여 가중치의 크기에 제약
- 데이터와 무관한 원래 있는 사전 지식
- 규제항은 매개변수를 작은 값으로 유지해서 모델의 용량 제한
- 규제항으로 L1나 L2를 주로 사용
L2 Norm
- L2놈을 사용하는 규제 기법이 가중치 감쇠(weight decay)
- 최종해를 원점 가까이 당기는 효과
L1 Norm
; 개별 요소의 절댓값을 모두 더한 값
- 해를 원점 방향으로 당기는 효과가 존재
- L1 놈을 사용하면 0이 되는 매개변수가 많음 : 희소성
- 0인 매개변수는 제거 가능 --> 0이 된 가중치를 제거해서 완전연결을 희소연결 구조로 바꿈
Early Stopping
- 학습을 오래시킬수록 훈련데이터를 암기해서 검증집합에 대해서는 일반화 능력이 하락함
--> 검증집합의 오류가 최저인 지점을 만나면 멈추는 전략이 효과적
- SGD의 내부 동작 수정하지 않은 채 적용 가능, 구현 간단
Data Augmentation
- 과잉적합을 방지하기 위한 가장 확실한 방법은 큰 훈련집합을 사용하는 것
e.g. 데이터가 영상이면 물체에 이동, 회전, 크기 변환 등을 가하면 됨
--> 선형 변환, 어파인 변환 affine transformation
Dropout
; 입력층과 은닉층의 노드 중 일정 비율을 임의로 선택해서 제거 / 선택된 노드는 들어오는 엣지와 나가는 엣지 모두 제거함
-> 제거하고 남은 부분 신경망으로 학습을 진행함
-> 특정 노드 몇개에만 지나치게 의존하지 않아서 입력값의 작은 변화에 덜 민감해짐
e.g. 회사에서 사람들이 일정 확률로 연차를 냄 -> 전문성이 여러 사람에게 나눠짐
- 예측 단계에서는 입력 테스트 샘플을 학습 시 사용했던 모든 신경망에 입력해서 예측 결과 받은 후 투표로 최종 결과를 결정
-> 앙상블 기법의 일종에 해당
- 가중치 공유 기법으로 하나의 신경망을 만듦
-> 여러 개의 독립적 신경망이 투표해서 의사결정하는 방식은 쓸 수 없음
-> 하나의 신경망으로 앙상블 효과를 거둠
- 드롭아웃 비율만큼 노드가 쉬므로 드롭아웃을 채택하지 않는 신경망에 비해 은닉 노드 수를 1/Phidden만큼 늘리라고 권장
- 보통 드롭아웃 확률을 0.1~0.5로 설정
- 최신 신경망 구조는 마지막 은닉층 뒤에만 드롭아웃 사용
Ensemble
; 여러 모델의 예측한 결과를 결합하여 일반화 오류를 줄임
- 계산 시간과 메모리를 추가로 지불해서 성능 향상을 얻고자 할 때 적용 시 효과적
- 서로 다른 예측기를 제작해야함
Model Averaging
여러 모델의 출력으로부터 평균을 구하거나 투표해서 최종 결과를 결정
Bagging(bootstrap aggregating)
- 부트스트랩 기법을 앙상블 기법으로 확장