파라미터가 여러개이니 벡터로 취급 -> 파라미터 공간에서 파라미터벡터를 이동시키는게 학습 -> 그럼 어느 방향으로 움직여야 하는가?를 오차함수를 미분해서 그라디언트벡터의 반대반향으로 가면 된다
익명(165.194)2024-03-11 10:38
gradient 방법은 고전적인 수치해석방법.
익명(125.191)2024-03-11 14:01
Learning rate가 생략된거(아니면 1) 아님? 근데 억지로 짜맞추면 어차피 미분은 homogenious하니깐 loss가 lr로 곱해져 있으면 틀리지 않게 할 수 있을 듯
익명(211.234)2024-03-11 19:24
x와 y는 데이터 셋으로 주어지는 값이니 y = tanh(Wx)일때의 W를 구한다고 해보자,좌변을 우변으로 넘겨서 f(W) = y - tanh(Wx)라고 표현을 한다면 결국 W를 구한다는건 f(W)=0인 해를 구한다는 이야기가 됨그렇다면 f(W)의 해는 어떻게 구해야 될까?일반적으론 Newton Method라고 해서 f(W)의 기울기를 가지고 아래와 같이 순차적으로 찾는 방법을 사용함W_{k+1} = W_{k} - f(W_{k}) / f'(W_{k})여기서 f'(W)는 f(W)의 W에 대한 도함수임,
익명(203.230)2024-03-11 21:32
답글
근데 여기서 의문이 들거야 내가 본거랑 뭔가 다른거 같은데?
뭔가 다른 이유는 인공지능 Exact한 해를 구하는 문제가 아니라 손실함수를 최소로하는 방식으로 해를 구하기 때문임
엄밀히 이야기하면 인공지능은 y = tanh(Wx)이 되는 지점의 W를 구하는게 아니라 Loss를 최소화하는 W를 구한다는거지
하지만 수식이 크게 달라지지는 않음 단순히 극값을 찾는 문제이기 때문에 전에는 f(W) = 0인 해를 찾았다면
손실함수를 J(W) = (y - tanh(Wx))^2라고 할때 인공지능은 J'(W) = 0인 해를 찾으면 되는 거지
익명(203.230)2024-03-11 21:36
답글
따라서 위에서 이야기한 Newton Method를 J'(W) = 0 인 해를 구하도록 수정하면 아래와 같이 됨
W_{k+1} = W_{k} - J'(W_{k}) / J''(W_{k})
여기서 J'(W)는 J(W)의 W에 대한 1차 도함수이고 J''(W)는 2차 도함수 임
익명(203.230)2024-03-11 21:36
답글
근데 이것도 뭔가 다르지 싶을거야 그거는 그냥 대부분 2차 도함수의 역수를 구하는게 쉽지가 않으니까 학습률로 대체한거임
실제로 1/J''(W) 대신에 학습률 η를 곱해주면 아래와 같이 친숙한 경사하강법 식을 확인할 수 있다.
W_{k+1} = W_{k} - η J'(W_{k})
익명(203.230)2024-03-11 21:37
기울기(미분값)의 반대 방향(-)으로 weight(W(t))를 전진(W(t+1))시킨다 - dc App
구라맞음 ㅇㅅㅇ
ㅇㅇ
파라미터가 여러개이니 벡터로 취급 -> 파라미터 공간에서 파라미터벡터를 이동시키는게 학습 -> 그럼 어느 방향으로 움직여야 하는가?를 오차함수를 미분해서 그라디언트벡터의 반대반향으로 가면 된다
gradient 방법은 고전적인 수치해석방법.
Learning rate가 생략된거(아니면 1) 아님? 근데 억지로 짜맞추면 어차피 미분은 homogenious하니깐 loss가 lr로 곱해져 있으면 틀리지 않게 할 수 있을 듯
x와 y는 데이터 셋으로 주어지는 값이니 y = tanh(Wx)일때의 W를 구한다고 해보자,좌변을 우변으로 넘겨서 f(W) = y - tanh(Wx)라고 표현을 한다면 결국 W를 구한다는건 f(W)=0인 해를 구한다는 이야기가 됨그렇다면 f(W)의 해는 어떻게 구해야 될까?일반적으론 Newton Method라고 해서 f(W)의 기울기를 가지고 아래와 같이 순차적으로 찾는 방법을 사용함W_{k+1} = W_{k} - f(W_{k}) / f'(W_{k})여기서 f'(W)는 f(W)의 W에 대한 도함수임,
근데 여기서 의문이 들거야 내가 본거랑 뭔가 다른거 같은데? 뭔가 다른 이유는 인공지능 Exact한 해를 구하는 문제가 아니라 손실함수를 최소로하는 방식으로 해를 구하기 때문임 엄밀히 이야기하면 인공지능은 y = tanh(Wx)이 되는 지점의 W를 구하는게 아니라 Loss를 최소화하는 W를 구한다는거지 하지만 수식이 크게 달라지지는 않음 단순히 극값을 찾는 문제이기 때문에 전에는 f(W) = 0인 해를 찾았다면 손실함수를 J(W) = (y - tanh(Wx))^2라고 할때 인공지능은 J'(W) = 0인 해를 찾으면 되는 거지
따라서 위에서 이야기한 Newton Method를 J'(W) = 0 인 해를 구하도록 수정하면 아래와 같이 됨 W_{k+1} = W_{k} - J'(W_{k}) / J''(W_{k}) 여기서 J'(W)는 J(W)의 W에 대한 1차 도함수이고 J''(W)는 2차 도함수 임
근데 이것도 뭔가 다르지 싶을거야 그거는 그냥 대부분 2차 도함수의 역수를 구하는게 쉽지가 않으니까 학습률로 대체한거임 실제로 1/J''(W) 대신에 학습률 η를 곱해주면 아래와 같이 친숙한 경사하강법 식을 확인할 수 있다. W_{k+1} = W_{k} - η J'(W_{k})
기울기(미분값)의 반대 방향(-)으로 weight(W(t))를 전진(W(t+1))시킨다 - dc App