역전파란? 신경망의 각 매개변수(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들을 거쳐가면서 만들어진 합성함수들이 미분이 가능한 함수로 이루어져야한다
그런데 계단 함수들은 함수가 불연속적이어서 미분이 불가능해서 활성화함수로 사용할 수 없다. 활성화 함수로 사용하는 순간 역전파가 불가능해져 학습을 할 수 없기 때문이다.
그리고 활성화 함수의 주된 목적인 함수를 유연하게 만드는 역할에 부적합하기 때문이다.
'AI 정리' 카테고리의 다른 글
파라미터(w,b) 초기 값 정하는 방법 (1) | 2025.03.19 |
---|---|
Optimizer 종류들 (0) | 2025.03.19 |
비용 함수 (0) | 2025.03.10 |
활성화 함수 (0) | 2025.03.09 |
인공 지능의 종류 (0) | 2025.02.27 |