본문 바로가기

Deeplearning

Regularization, 정형화 - Norm 기반 Regularization

728x90
반응형

정형화란, 오비피팅이나 ill-posed(1개의 유일한 정답이 존재하지 않는) 문제를 가지고 있는 머신러닝 모델에 추가적인 정보를 더하거나 제약사항을 두는 등의 과정을 통해 문제를 해결하는 방법이다. 이는 모델의 학습 에러를 줄이기 위한 것이 아닌 일반화 에러를 줄이기 위한 프로세스이다. 

딥러닝을 위한 정형화의 종류로는 다음의 방법들이 있다.

1. 제한을 거는 파라미터값을 삽입 (Parameter Norm Penalties)
2. 데이터 증대 (Dataset Augmentation)
3. 노이즈 활용 (Noise Robustness)
4. 준지도 학습 (Semi-Supervised Learing)
5. 단일 신경망으로 유사성이 있는 여러 작업 수행 (Multitask Learning)
6. 이른 학습 중단 (Early Stopping)
7. 학습 데이터를 설명하는 여러개의 가설 모델 혼합, 앙상블 (Bagging and Other Ensemble Methods)
8. Drop out
9. 데이터 분포의 이전 정보를 이용해 추가적인 학습데이터를 더해서 모델 학습에 정형화 (Parameter Tying and Parameter Sharing)

이 외에도 많은 연구들이 있는데, 위의 내용 중 몇 가지를 정리해 본다.


1. 제한을 거는 파라미터값을 삽입

학습 가능한 파라미터를 가진 목적함수를 튜닝함으로써 머신러닝 모델을 학습할 수 있다. 

$\tilde{J}(\theta) = J(\theta) + \lambda \Omega(\theta) =  \frac{1}{n}\sum{L(x_i, y_i; \theta) + \lambda \Omega(\theta)} $
$\Omega(\theta) $ : 정형화(패널티)함수

위의 식에서 정형화 함수 중 가장 단순하고 많이 쓰이는 것은 파라미터 $\theta$의 크기(norm)를 구하는 것이다.
= norm기반의 regularization 기법으로 알려져 있다. 

Norm : $(\sum_i{x_i^n})^{\frac{1}{n}} = \sqrt[n]{\sum_i{x_i^n}}$

많이 사용되는 기법으로는 L1 정규화와 L2 정규화가 있다

  L1 (Lasso) L2 (Ridg)
수식 $\underset{\theta}{\text{min}} J(\theta) + \lambda||\theta||_1$
$= \underset{\theta}{\text{min}} J(\theta) + \lambda \sum_{\theta_{i}}{|\theta_i|}$
$\Vert\theta\Vert_1 \leq \lambda$
$\underset{\theta}{\text{min}} J(\theta) + \frac{\lambda}{2}||\theta||_{2}^{2}$
$= \underset{\theta}{\text{min}} J(\theta) + \lambda \sqrt{\sum_{\theta_{i}}{|\theta_i|^2}}$
$\Vert\theta\Vert_2 \leq \lambda$
개념도 - 파란색 영역은 $\beta_1, \beta_2$가 분포할 수 있는 영역을 뜻한다. 각각 주어진 페널티 조건으로 $\beta_1, \beta_2$는 해당 영역을 벗어나지 못한다. 
조건에 따라 영역의 모양이 다름을 알 수 있다. 
- 붉은 원은 gradient descent를 수행하며 최적의 점을 향해 가는 것이다. 제약이 없으면 과적합 되기 쉽다.
- $\hat{\beta}$ : regulation 조건이 없을 경우 empirical rist optima(학습 데이터로 경험적으로 얻을 수 있는 최적의 부분)로써 학습 시 loss가 최소가 되는 지점을 뜻한다.

특징 $\hat{\beta}$는 대부분 $\beta$영역의 꼭지점에서 만난다. 이는 $\beta$가 0이 될 수 있고, sparsity가 생길 수 있다는 것을 뜻한다. 
즉, 값이 0이 되어 사용하지 않는 파라미터가 생길 수 있다는 의미이다.
$\hat{\beta}$는 원의 형태로써 $\beta$들의 값이 균등해지고 그룹핑이 된다. 
장점 - sparsity가 생긴다면 많은 파라미터들이 0이 되기 때문에 모델이 압축되고, 컴퓨팅 파워를 절약할 수 있다. 
- 또한 0이 아닌 값을 가진 부분을 주의해서 보기 때문에 더 나은 해석 능력을 가질 수 있다.
- 거의 쓰지 않는 feature와 관련된 부분이 0이 되어 feature selection효과를 지닌다

즉, 높은 차원 학습이나 데이터 주도 방법에 효과가 있다

L1의 단점(유일하지 않은 미분값)이 발생하지 않는다.
단점 L1을 미분할 경우, 유일한 해가 아닐수도 있다.
아래 그림과 같이 w1의 값이 0일때, 그래디언트가 1 또는 -1의 값을 가질 수 있다.
즉, solution이 불안정 하다는 것을 뜻한다. 
 

정리하자면...

  L1 Regression L2 Regression
강건성, Robustness
(이상치에 강한지?)
O X
안정성이 있는가 X O
유일해를 가지는가 X O
Feature Selection 효과 O X
Sparsity O X

 


Reference

https://www.deeplearningbook.org/

https://www.linkedin.com/pulse/regularization-episode-1-amr-mahmoud 

728x90
반응형