Squared Error 를 사용할 때
loss = (y' - y)^2 의 평균
loss_grad = 2/출력노드갯수 * (y' - y)
위에 처럼 평균을 해야한다고 배운거 같은데
실제 소스코드는
loss = (y' - y)^2
loss_grad = 2(y' - y)
이렇게 평균을 안하고 해버리네
Squared Error 를 사용할 때
loss = (y' - y)^2 의 평균
loss_grad = 2/출력노드갯수 * (y' - y)
위에 처럼 평균을 해야한다고 배운거 같은데
실제 소스코드는
loss = (y' - y)^2
loss_grad = 2(y' - y)
이렇게 평균을 안하고 해버리네
learning rate를 조절하면 딱히 문제가 없을 수 있음 그런데 웬만하면 평균화해주는 게 좋음 batch size가 극단적으로 달라지는 상황(100->1000)에서 수치적으로 불안정해질 수 있음
결론 : 안 해도 큰 문제는 없는데 수치적 안정성을 챙기려면 해주는 게 좋다
똑같음
adam 계열 쓰면 gradient scale이 normalize 되니까 크게 상관은 없음