JH 개발자의 성장일지

Deep Learning Study (9) / 24.09.25 본문

Deep Learning

Deep Learning Study (9) / 24.09.25

JHDeveloper 2024. 9. 26. 09:13

- L1, L2 Regularization

  • Regularization의 주목적 = 과적합 방지, 일반화 기능 향상
  • Weight 중 일부가 학습과정 중 과도하게 커져버린다면, 몇몇개의 인풋에 극단적으로 의존하는 상황이 벌어지고, 이 경우 모델의 일반화 성능은 감소 → L1, L2 정규화가 특정 Weight가 과도하게 커지지 않게끔 락(Lock)을 걸어주는 역할 도와줌. (손실함수에 패널티 더해줌)
  • L1 regularization : 모든 가중치들의 절대값들의 합을 정규화 항으로 사용
  • L2 regularization : 모든 가중치들의 제곱 값들의 합을 정규화 항으로 사용

→ 식을 보면 가중치의 모든 값이 다 최소가 되면, 0이 되면 손실이 최소가 되지 않을까? 근데 이렇게 되면 모든 가중치 값이 다 0이 되어서 실제 손실값이 더 증가해버릴 수 있음. 가중치 합을 줄이면서 손실값도 줄여지는 최적의 값을 찾는 것이 목표

 

예시

가정) 간단한 선형 함수 (가중치가 1개인 경우)

  • L1이 적용 될 시, 옵티마이저에서 경사하강법을 이용해 가중치 값을 조정할 때 해당 현재 가중치가 양수인 경우 새로운 가중치는 더 작아지게 되고, 음수일 경우, 새로운 가중치는 더 커지게 된다. ⇒ 학습이 지속될수록, 가중치들이 0에 가깝게 근접하려는 압력 받게 됨. 애초에 정규화 항이 모든 가중치 값에 대해 동일한 패널티를 적용하고 있기 때문에 가중치 절대값이 작았던 애들도 나머지 애들과 똑같이 일정값의 양이 없어지고 (가중치 크기와 상관없이 가중치별로 일정하게 양을 변화시킴), 아웃풋에 영향을 끼치지 않은 작은 가중치들을 제거할 수 있게 됨.

  • L2 regularization : L1과 원리가 똑같지만 현재 가중치 값이 함께 반영되어 조정이 됨. L1보다 조금 더 부드러운 정규화가 진행됨.

 

차이점 정리

L1 L2

패널티 가중치 절댓값 합계 가중치 재곱합 합계
가중치 영향 일부 가중치 0으로 만듦 가중치를 0에 가깝게 만듦
특징 중요한 특징 ‘선택’ 모델 전반적 복잡도 감소

 

 

 

참고 자료

https://youtu.be/swYILd-M2Ks?si=ZZDPu_m6NNOeJ5uo

 

 

 

 

 

  • Pooling layer → 작은 변형이나 잡음에 덜 민감하다는 의미는
    • 최대 풀링의 경우 : 해당 영역에서 가장 큰 값만 남김. (44 영역에서 22 영역만 남김). 작거나 음수값에는 영향을 받지 않음.