엔지니어가 되고 싶은 공돌이
07. 경사 하강법 및 오차함수 본문
1. 경사 하강법
- 오차를 바탕으로 가중치를 업데이트하는 대표적인 방법 중 하나
- 인공신경망이 폭발적으로 발전하게 되는 계기가 됨
- 복잡한 함수(오차)에서 한 스텝 한 스텝 천천히 내려오며 함수의 최저점(오차를 최소화)을 찾는 기법.
이때 우리는 이 함수에 대한 이해가 없을 수 있다.
- 정확한 해답을 못 찾을 수 도 있다.
- y가 오차함수라면 y를 최소화 할 수 있는 x값을 찾는 것이 목표.
- 양의 기울기라면 x값을 감소시키고, 음의 기울기라면 x값을 증가시킨다.
- 스탭의 간견을 적절하게 조절해나가서 오버슈팅이 나지 않도록 한다.
- x 변수 하나만 보여주는 예제지만 실제문제를 해결할 때는 여러 변수를 구해야 한다.
변수가 여러개이면 최저점과 하강 지점은 여러개가 될 수 있고 잘못된 하강지점에 빠질 수 있다.
그러므로 각각 다른 출발점에서 시작해 여러 번 학습하는 방법을 취할 수 도 있다.
다른 출발점이라는 말은 가중치의 초기 값을 다르게 준다는 것을 의미.
2. 여러 가지 오차함수
- 결과 함수를 바탕으로 오차 함수를 만든다.
1. (목표값 - 실제값)
: 전체 노드의 오차를 구하기 위해 합을 구할 때 양의 오차와 음의 오차의 합으로 오차가 상쇄될 수 있다.
2. |목표값 - 실제값|
- 오차간에 상쇄가 없지만 최저점 근처에 가면 기울기가 연속적이지 않으므로 경사하강법이 잘 동작하지 않을 수 있다.
3. (목표값 - 실제값)2
- 오차함수가 부드럽고 연속적이므로 경사하강법이 잘 동작한다.
오차함수는 매우 다양하게 존재하고, 만들 수 있으며, 경우에 따라 어떤 것은 잘 동작할 수 있고, 잘 동작하지 않을 수 도 있다.
3. 오차함수 미분법
경사하강법을 사용하려면 오차함수의 기울기를 구해야 한다.
'Artificial Intelligence > Basic Neural Network' 카테고리의 다른 글
09. 간단한 정리 (0) | 2020.01.20 |
---|---|
08. 데이터 (0) | 2020.01.19 |
06. 역전파(back propagation) (0) | 2019.12.30 |
05. 가중치 학습 (0) | 2019.12.29 |
04. 순전파(forward propagation) (0) | 2019.12.29 |