pullwall
Well done! 코딩
pullwall
전체 방문자
오늘
어제
  • 분류 전체보기 (151)
    • 개발환경 (2)
    • java study (21)
    • 백준 단계별 (51)
    • 알고리즘 (3)
    • AI (43)
    • 클라우드 (3)
      • Kubernetes in Google (3)
    • 논문 (5)
    • 리눅스 (1)
    • AWS (4)
    • 수학 (15)
    • 기타 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • pytorch
  • 쿠버네티스
  • 백준
  • 정렬알고리즘
  • 알고리즘
  • 자바
  • AWS
  • 단계별
  • 자바독학
  • 수학
  • 논문리뷰
  • 선택정렬
  • Kubernetes
  • 백준 단계별
  • dataset
  • LLM
  • 정렬
  • Google
  • Java
  • Ai

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
pullwall

Well done! 코딩

AI

Regularization (Overfitting 방지 방법)

2024. 9. 10. 21:29
728x90
해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.

Regularization은 overfitting을 줄일 수 있는 방법 중 하나이다.

 

Regularization에 대해 알아보기 전에 $l_2 norm$과 $l_1 norm$에 대하여 정리한다.

 

벡터 $w$가 다음과 같이 정의되어 있다면, $\underline{w}=\begin{bmatrix}
w_1 \\ w_2
 \\ w_3
\end{bmatrix}$

  • $l_2 norm= \begin{Vmatrix}
    w\end{Vmatrix}_2=(|w_1|^2+|w_2|^2+|w_3|^2)^{\frac{1}{2}}$
  • $l_1 norm= \begin{Vmatrix}
    w\end{Vmatrix}_1=(|w_1|^1+|w_2|^1+|w_3|^1)^{\frac{1}{1}}$

 


 

 

이제 $l_2$Regularization과 $l_1$Regularization을 정의한다.

  • $R_{l_2}=L+\lambda\left\|w \right\|_{2}^{2}$
  • $R_{l_1}=L+\lambda\left\|w \right\|_{1}^{1}$

기존 Loss함수에 $ \lambda \left\|w \right\|_{p}^{p} $를 더한 형태이다. 이를 새로운 Loss function으로 사용한다.

 

Regularization은 loss를 줄이되, weight의 크기 또한 작게 하는 두 가지를 고려한다.

 

이를 통해

  1. weight를 0으로 보낼 가능성이 생기며 (connection을 끊는다는 의미와 같음) 모델을 경량화 할 수 있다.
  2. $l_2$를 사용하면 weight의 크기가 크면 많이 줄이고, 작으면 조금 줄인다. weight의 크기를 서로 비슷하게 만들 수 있다. (node들을 골고루 사용하게끔 한다)
  3. $l_2$을 사용하면  weight의 크기와 상관 없이 같은 양을 줄인다. (중요한 connection만 살린다)

 

그럼 왜 weight의 크기를 줄이는게 좋을까?

 

epoch가 커질수록 적절한 accuracy에 수렴했음에도 불구하고 weight는 계속해서 조금씩 커진다.

-> weight가 계속해서 조금씩 커지면 overfitting이 발생한다.

-> 이를 방지하자 -> Regularization

728x90

'AI' 카테고리의 다른 글

Padding, Stride, Pooling  (0) 2024.09.11
CNN (Convolution Neural Network)  (1) 2024.09.10
Overfitting 방지를 위한 Dropout  (1) 2024.09.09
Overfitting, Data augmentation  (0) 2024.09.09
Loss Landscape, Skip connection  (0) 2024.09.09
    'AI' 카테고리의 다른 글
    • Padding, Stride, Pooling
    • CNN (Convolution Neural Network)
    • Overfitting 방지를 위한 Dropout
    • Overfitting, Data augmentation
    pullwall
    pullwall

    티스토리툴바