-
강화학습 기초 - 경사하강법, 확률적 경사하강법, 역전파전공 - AI/강화학습 2023. 9. 24. 12:51
유데미 강의를 참고하여 글을 작성하였습니다
목차
1. 경사하강법2. 확률적 경사하강법
3. 역전파
경사하강법
경사하강법이란 함수의 기울기(경사)를 구하고 경사의 반대 방향으로 계속 이동시켜 극값에 이를 때까지 반복시키는 것이다
( 기울기가 0이 될 때까지 )위와 같은 곡선에 파란색 공이 있다고 가정하겠다
( 이전 글에 나온 비용함수의 그래프이며 파란색선은 기울기이다 )
이 공이 아래로 굴러가면 반대쪽에서 더이상 가지 못하고 멈추게 된다
이 지점에서의 기울기는 양수이다
다시 반대쪽으로 굴러가면 위와 같은 그림이 되며 기울기는 음수이다
최종적으로 위와 같이 기울기가 0인 위치에 도달하게 된다
이해를 쉽게 하기위해 공이 굴러가는 것으로 표현하였고 실제 모습은 위와 같다
Gradient Disent( 경사하강법 ) 을 사용하는 이유는 0부터 시작하여 기울기가 0이 되는 지점을 하나하나 다 찾을 수 있지만
시간이 너무 오래걸리고 Hidden Layer가 많아지면 살아있는 동안에는 계산만 하고 있을 가능성이 높다위 그래프는 다차원 공간에서 비용함수를 제곱함수로 사용할 경우의 모습이다
위 그림에서와 같이 경사하강법을 이용해 기울기가 0이 되는 지점을 찾았지만 찾은 지점이 전체적으로 봤을 때는 최저점이 아닐 수 있다
확률적 경사하강법
확률적 경사하강법은 무작위로 배치 크기가 1인 단 한 개의 데이터를 추출하여 기울기를 계산하고, 경사 하강 알고리즘을 적용하는 방법이다이전 글에서 작성된 예시를 들고왔다
신경망 학습 시 5개를 모두 계산하여 예측값을 이용했다면 확률적 경사하강법에서는 5개 모두 계산하지 않고
1개만 계산해서 가중치를 재설정한다위와 같이 아래로 1칸씩 내려오며 가중치가 계속 재설정된다
가중치가 재설정되면서 비용함수도 낮아진다
예시에는 5가지의 데이터만 있지만 데이터가 많아질 경우 1개씩 하는 것보다 2개, 3개씩 묶어서 진행이 될 수 있다
마찬가지로 비용함수의 값이 0이 되면 가중치가 최적화되었다 할 수 있다
역전파
역전파(Backpropagation)는 먼저 계산 결과와 정답의 오차를 구해 이 오차에 관여하는 값들의 가증치를 수정하여 오차가 작아지는 방향으로 일정 횟수를 반복해 수정하는 방법이다앞에서 이미 설명되었지만 입력값을 이용해 결과를 만들어내는 것을 순전파라고 한다
가중치를 수정하기 위해 반대로 가는 것을 역전파라고 한다
728x90'전공 - AI > 강화학습' 카테고리의 다른 글
강화학습 - MC, SARSA (0) 2023.10.22 강화학습 - MDP, MP (0) 2023.10.22 강화학습 기초 - 강화학습, 벨만 방정식 (0) 2023.09.24 강화학습 기초 - 신경망 작동 방법, 신경망 학습 방법 (0) 2023.09.24 강화학습 기초 - 뉴런, 활성화 함수 (0) 2023.09.24