Regularization?
Overfitting을 막고 Generalization(일반화)을 높여 test에 대한 정확도를 높인다.
쉽게 말하면, network의 어떤 weight들을 0으로 만들거나 0에 가깝게 만들어 train set에 overfitting이 안되게 막는다.
L2 Regularization
weight의 magnitude를 제한한다. ϵ^=ϵ+αΩ=ϵ+α(21∑ωi2)=ϵ+α∣ω∣2 ϵ^은 loss 식이며 저 뒤에 값들이 이제 계속 작아지게 학습을 진행한다.
여기서 ϵ은 원래 loss 함수이며 MSE이나 CE를 사용한다.
α는 regularization rate에 해당한다. => control하게 된다. weight를
이 값이 커지면 weight들이 더 0에 가까워진다.(크다의 기준이 1보다 크면?? 대락적인 값)
참고로, 이 Regularizer는 input-hidden과 0utput-hidden을 다르게 해야 한다.
Ω=2α1i∑h∑ωih2+2α2h∑j∑ωhj2
dropout
모델에서 특정 부분의 연결을 끊어서 co-adaptation 문제를 막을 수 있다.
co-adaptation problem
딥러닝 연산에서 다 같이 train 하면 보통 weight들의 연관 관계가 강한 것은 점점 더 강해지고 약한 것은 점점 더 약해지는 문제이다. 이 문제를 해결 함 => dropout