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

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
pullwall

Well done! 코딩

Batch Normalization, Layer Normalization, Vanishing Gradient 해결 방안 정리
AI

Batch Normalization, Layer Normalization, Vanishing Gradient 해결 방안 정리

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

 

batch size=5 일 때  해당 데이터들이 ReLU 함수를 통과하는 상황이다.

 

데이터들이 모두 양수일 때는 linear function을 쓰는 것과 다름이 없으며,

 

데이터들이 모두 음수일 때는 gradient=0이 되므로 gradient descent 문제가 발생한다.

 

 

따라서 위 그림과 같이 Activation function의 non-linear한 성질을 잘 살리고자 입력 데이터를 재조정 하는 것이 batch normalization의 첫번째 목적이다.

 

하지만 이 데이터들을 어디로 옮길지 어떻게 알아야 할까? 어디로 옮길지(non-linear한 성질을 잘 살리면서 vanishing gradient를 얼마나 해결하는지) AI가 학습하도록 하는 것이 batch normalization의 두 번째 목적이다.

 

평균이 0이고 분산이 1인 Y를 $Y=\frac{X-\bar{X}}{\sigma_X}$ 라고 하자. (수식에 따르면 당연히 평균이 0 분산이 1이 됨)

 

여기서 $aY+b$를 해준다면 평균은 $b$, 분산은 $a^2$이다.

 

해당 수식은 미분가능하기때문에 학습시킬 수 있다. 이 $a$와 $b$를 학습시키는 것이다. (어느정도 평균에 어느정도 분포로 옮길지)

 

 


 

 

Batch Normalization은 각 노드별로 위 기법을 적용시켰다면,

(한 노드에 들어오는 데이터들을 재배치한다)

(각 노드별 두 개 파라미터 추가 필요) 

(주로 image 데이터에 사용)

 

Layer Normalization은 한 Layer에 위 기법을 적용한다.

(한 레이어로 들어오는 데이터들을 재배치한다)
(레이어 당 두 개 파라미터 추가 필요)

(주로 NLP에서 사용)

 

 


 

 

Vanishing Gradient가 발생한다면

 

  1. activation function을 ReLU나 다른 Non-linearlity한 함수로 바꿔본다.
  2. Batch Normalization을 적용한다.
  3. Layer Normalization을 적용한다.

 

 

 

728x90

'AI' 카테고리의 다른 글

Overfitting, Data augmentation  (0) 2024.09.09
Loss Landscape, Skip connection  (0) 2024.09.09
ReLU (Rectified Linear Unit)  (0) 2024.09.06
기울기 소실 (Vanishing Gradient)  (0) 2024.09.06
Softmax를 이용한 다중 분류  (0) 2024.09.05
    'AI' 카테고리의 다른 글
    • Overfitting, Data augmentation
    • Loss Landscape, Skip connection
    • ReLU (Rectified Linear Unit)
    • 기울기 소실 (Vanishing Gradient)
    pullwall
    pullwall

    티스토리툴바