AI 정리

역전파

dawon-project 2025. 3. 17. 23:32

역전파란?  신경망의 각 매개변수(w, b)에 대한 손실 함수의 기울기를 계산하는 것

  • 나오게 된 배경
    • 딥러닝에서 층이 깊어짐(깊은 신경망: MLP(Multi-Layer Perception) )에 따라 계산량이 너무 많아져서 컴퓨팅 파워가 따라가지를 못해서 역전파가 나오게 되었다.
  • how?     연쇄 법칙(Chain Rules)
  • 주된 목적 : Optimizer 함수들에 역전파를 통해 구한 기울기들을 적용해서 해당 모델의 비용함수의 모든 구간에서의 Global Minimum 값을 가지도록 w,b를 구하기 위해 필요한 과정
    => 역전파가 안되면 W, b의 값을 갱신할 수 없다.
  • 필요한 이유?
    • 지도학습을 통해 더 나은 예측을 할 수 있도록 신경망을 훈련시키는 것
    • 계산량 감소
  • 특징
    • 학습 속도와 효율성 측면에서 매우 우수한 성능을 보임
    • 가중치 업데이트에 대한 효율적인 계산으로 인해, 신경망의 크기에 상관없이 효과적인 학습이 가능하다.
    • 가중치를 통해 특징을 자동으로 학습할 수 있는 장점이 있다.
    • 순전파 과정을 통해 미리 저장된 기울기들을 이용해서 계산량 감소

 

역전파 원리 설명전 기본적으로 알야하는 것들

  • 극한과 입실론- 델타 문법

연속 함수와 계단 함수

  • 미분 : " 순간변화율" ( (그래프 상에선) 순간 기울기 )
    • 1차 함수는 동일
    • 2차함수 이상에서 기울기 지점마다 달라짐
    • 순간 -> lim(극한) 도입 

  • 편미분과 GD(그라디언트)

  • Chain Rule(연쇄 법칙)

 

  • Chain Rule을 이용한 역전파

-> 학습하는 이유 : 손실(error)을 최소화하는 모델 찾기

how? 최적의 w, b 등의 파라미터들을 통해 error를 최소화하는 값을 찾는다.

-> 즉, 최적의 W와 b를 구하는 것

 

-> 아무리 깊고 복잡한 층으로 구성되어 있다 하더라도 Chain Rule을 활용하여 미분 값을 얻어낼 수 있다.

-> Forward propagation(순전파)을 한번 해서 Local Gradient를 구해 놓고, Back Propagation을 통해 미분 값을 구한다
        -> 그 후 SGD 사용하면 됨

-> path 전부 고려해서 더해줘야 함

 

계단 함수들은 다른 최적화 함수들(시그모이드, 소프트맥스 등) 에 비해 많이 쓰이지 않고 있다. 그 이유는?

-> 역전파가 가능하려면 Layer들을 거쳐가면서 만들어진 합성함수들이 미분이 가능한 함수로 이루어져야한다

그런데 계단 함수들은 함수가 불연속적이어서 미분이 불가능해서 활성화함수로 사용할 수 없다. 활성화 함수로 사용하는 순간 역전파가 불가능해져 학습을 할 수 없기 때문이다.

그리고 활성화 함수의 주된 목적인 함수를 유연하게 만드는 역할에 부적합하기 때문이다.