카테고리 없음
[딥러닝]규제화(Regularization)
玄曄
2022. 3. 24. 12:04
[딥러닝]규제화(Regularization)
1. 의의
2. 효과
3. 규제 종류
4. 코딩
=====================
[딥러닝]규제화(Regularization)
1. 의의
○ 과대적합(overffing)을 방지하는 방법 중 하나
- 과대적합은 가중치의 매개변수 값이 커서 발생하는 경우가 많음.
- 이를 방지하기 위해 큰 가중치 값에 큰 규제를 가하는 것
○ 규제
- 가중치의 절대값을 가능한 작게 만드는 것
- 가중치의 모든 원소를 0에 가깝게 하여 모든 특성이 출력에 주는 영향을 최소한으로 만드는 것을 의미
- 기울기를 작게 만드는 것을 의미
○ 적절한 규제값을 찾는 것이 중요
2. 효과
○ 가중치의 분포가 더 균일하게 됨.
○ 복잡한 네트워크일수록 네트워크의 복잡독에 제한을 두어 가중치가 작은 값을 가지도록 함.
- 규제란 과대적합이 되지 않도록 모델을 강제로 제한한다는 의미
3. 규제 종류
○ 기본방향 : 네트워크 손실함수에 큰 가중치와 연관된 비용을 추가
○ L1규제 : 가중치의 절대값에 비례하는 비용 추가
○ L1규제 : 가중치의 제곱값에 비례하는 비용 추가
○ 위 두 규제가 합쳐진 경우
4. 코딩
l2_model = Sequential([Dense(16, kernel_regularizer=l2(0.001), activation='relu', input_shape=(10000,)),
Dense(16, kernel_regularizer=l2(0.001), activation='relu'),
Dense(1, activation='sigmoid')])