99강에서 헤세를 세웠고 100강에서 이차 근사를 정식화했습니다. 이제 답을 낼 차례입니다.
93강 문제 5에서 이 질문을 처음 던졌습니다. 과 이 원점에서 둘 다 기울기가 인데 하나는 최소이고 하나는 안장이었습니다. 그때는 등고선을 눈으로 봤고, 99강에서 고유값 부호로 판정한다는 표를 제시했습니다.
아직 증명하지 않았습니다. 이 강의가 증명합니다.
도구는 갖춰졌습니다.
| 도구 | 어디서 |
|---|---|
| f(\mathbf{a}+\mathbf{h})-f(\mathbf{a})=\tfrac12\mathbf{h}^{\top}H(\mathbf{c})\mathbf | 100강 |
| \lambda_{\min}\lVert\mathbf{h}\rVert^{2}\le\mathbf{h}^{\top}H\mathbf{h}\le\lambda_{\max}\lVert\mathbf{h}\rVert^ | 99강, 86강 |
| 양정치성의 판정 | 87강 |
증명은 세 줄이면 됩니다. 어려운 부분은 이미 끝났고, 남은 일은 조립입니다.
그리고 이 강의는 판정이 닿지 못하는 자리도 정확히 밝힙니다. 헤세가 준정치이면 어떤 결론도 나오지 않으며, 고차원에서는 그런 자리가 오히려 흔합니다.
문제. 를 봅니다.
(1) 를 구하세요.
(2) 을 푸세요.
(3) 실수 해가 모두 몇 개인지 확인하세요.
생각의 실마리. 임계점을 찾는 일은 연립방정식을 푸는 일입니다. 비선형이라 일반적으로 어렵지만 이 예는 손으로 풀립니다.
풀이. (1) 각 변수로 미분하면
(2) 두 성분을 모두 으로 두면
첫 식을 둘째에 넣으면 이므로 입니다.
(3) 실수 해는 과 뿐입니다. 의 실근이 하나이기 때문입니다. 따라서 임계점은
검산에서 두 점 모두 이고 값이 각각 과 입니다.
이 문제에서 배우는 것: 임계점.
임계점. 인 점 를 임계점 또는 정류점이라 합니다. 가 미분불가능한 점도 임계점에 포함하는 것이 보통입니다.
필요조건. 가 에서 전미분가능하고 가 극값이면 입니다.
증명은 한 변수로 환원됩니다. 가 극소라면 각 방향으로도 극소이므로, 96강의 방향도함수가 모든 방향에서 이어야 합니다. 특히 좌표축 방향에서 입니다. 42강에서 한 변수에 대해 증명한 페르마 정리의 다변수판입니다.
필요조건일 뿐 충분조건이 아닙니다.
| 진술 | 성립 |
|---|---|
| 극값이면 임계점입니다 | 성립합니다 |
| 임계점이면 극값입니다 | 성립하지 않습니다 |
둘째 줄의 반례가 안장입니다. 그래서 임계점을 찾은 뒤 분류가 필요합니다.
임계점을 찾는 일 자체가 어렵습니다. 이 예는 다항식이라 손으로 풀렸지만, 일반적으로 은 비선형 연립방정식이라 해석적으로 풀리지 않습니다. 그래서 04단원에서 반복법으로 접근합니다. 방정식을 푸는 대신 값을 줄여 가며 내려갑니다.
바로 확인 1.
확인 1-1. 임계점의 정의를 쓰세요.
답. 인 점입니다.
확인 1-2. 극값이면 임계점입니까?
답. 미분가능하면 그렇습니다.
확인 1-3. 임계점이면 극값입니까?
답. 아닙니다. 안장일 수 있습니다.
문제. 문제 1의 두 임계점을 봅니다.
(1) 각 점에서 헤세를 구하세요.
(2) 고유값을 구하세요.
(3) 성격을 판정하세요.
생각의 실마리. 100강 문제 5에서 임계점의 함숫값 변화가 이차형식이라 했습니다. 그 이차형식의 부호를 보면 됩니다.
풀이. (1) , , 이므로
(2)와 (3) 검산에서
| 임계점 | 헤세 고유값 | 판정 |
|---|---|---|
| 안장 | ||
| 극소 |
**에서 헤세가 **이라 대각성분이 인데도 판정이 됩니다. 고유값이 이기 때문입니다.
이 문제에서 배우는 것: 이계 판정법과 그 증명.
이계 판정법. 가 근방에서 이고 이라 합니다. 에 대해
조건 결론 양정치 는 엄밀한 극소 음정치 는 엄밀한 극대 부정부호 는 안장 준정치 결론 없음
증명(양정치인 경우). 이라 둡니다. 가 연속이므로 고유값도 연속으로 변하고, 따라서 의 어떤 근방 에서 모든 에 대해
가 성립하는 를 잡을 수 있습니다. 이제 인 에 대해 100강의 테일러 정리를 쓰면, 선분 위의 가 있어
입니다. 99강의 레일리 몫 하한을 적용하면
이므로 는 엄밀한 극소입니다.
음정치인 경우는 에 적용하면 됩니다.
부정부호인 경우는 고유벡터를 씁니다. 의 고유벡터 방향으로는 위 논증이 그대로 적용되어 값이 커지고, 의 고유벡터 방향으로는 작아집니다. 아무리 작은 근방에도 두 방향이 모두 들어 있으므로 극값이 아닙니다.
증명에서 연속성을 쓴 자리가 핵심입니다. 테일러 정리의 는 가 아니라 알 수 없는 에서 재는데, 연속성 덕분에 가 작으면 가 와 비슷하다고 말할 수 있습니다.
얻은 부등식이 정량적이라는 점도 값어치가 있습니다.
"최소이다"를 넘어 **"얼마나 가파르게 최소인지"**까지 말합니다. 이 형태가 108강의 강볼록성이며, 110강의 수렴 속도 증명에 그대로 쓰입니다.
바로 확인 2.
확인 2-1. 양정치이면 무엇입니까?
답. 엄밀한 극소입니다.
확인 2-2. 증명에서 연속성을 어디에 씁니까?
답. 의 고유값이 의 것과 비슷하다고 말하는 데 씁니다.
확인 2-3. 얻은 부등식의 우변을 쓰세요.
답. 입니다.
문제. 이변수의 경우를 봅니다.
(1) 와 를 고유값으로 표현하세요.
(2) 이면 무엇인지 말하세요.
(3) 문제 1의 두 점에 적용해 문제 2의 결과와 맞는지 확인하세요.
생각의 실마리. 에서는 고유값이 둘뿐입니다. 곱과 합만 알아도 부호를 알 수 있습니다.
풀이. (1) 84강에서
(2) 곱이 음수이면 두 고유값의 부호가 다릅니다. 따라서 안장입니다.
(3) 검산에서
| 임계점 | f_ | 판정 | 고유값 판정 | |
|---|---|---|---|---|
| 안장 | 안장 | |||
| 극소 | 극소 |
일치합니다.
이 문제에서 배우는 것: 이변수 판정법.
이변수 이계 판정법. 이고 이라 하면
조건 결론 이고 극소 이고 극대 안장 결론 없음
왜 이것으로 충분한지 확인합니다. 이면 두 고유값이 같은 부호입니다. 어느 쪽인지는 대각합의 부호로 알 수 있는데, 만 봐도 됩니다.
따라서 의 부호가 의 부호와 같고, 고유값의 합의 부호가 곧 공통 부호입니다.
를 대신 써도 됩니다. 같은 부호이기 때문입니다.
계산이 훨씬 쌉니다.
| 방법 | 필요한 계산 |
|---|---|
| 고유값 | 특성방정식을 풀거나 수치 대각화 |
| 와 f_ | 곱셈 세 번과 뺄셈 한 번 |
에서 인데도 판정된 것을 다시 봅니다. 이라 첫 줄에서 바로 안장이고 를 볼 필요가 없습니다. 는 일 때만 씁니다.
변수로 확장하는 방법도 있습니다. 87강에서 본 실베스터 판정법입니다.
실베스터 판정법. 대칭행렬 가 양정치일 필요충분조건은 모든 선행 주소행렬식이 양수인 것입니다.
에서는 과 이 되어 위 표의 첫 줄과 같습니다. 음정치는 에 적용하며, 부호가 번갈아 나타나는 조건이 됩니다.
바로 확인 3.
확인 3-1. 이면 무엇입니까?
답. 안장입니다.
확인 3-2. 일 때 무엇을 더 봐야 합니까?
답. 의 부호를 봅니다.
확인 3-3. 이면 어떻게 합니까?
답. 결론이 나지 않아 더 높은 차수를 봐야 합니다.
문제. 원점에서 헤세가 인 세 함수를 봅니다.
(1)
(2)
(3)
각각의 원점의 성격을 직접 판정하세요.
생각의 실마리. 헤세가 같으니 판정법은 셋을 구별하지 못합니다. 정의로 돌아가야 합니다.
풀이. 검산에서 세 함수의 원점 헤세가 모두 이고 판정법은 모두 "판정 보류"입니다. 축 위의 값을 보면
| 함수 | 에서의 값 |
|---|---|
| x^{2}+y^ | |
| x^{2}-y^ | |
| x^ |
(1) 모든 점에서 이고 원점에서만 이므로 엄밀한 극소입니다.
(2) 축을 따라가면 음수이고 축을 따라가면 양수이므로 안장입니다.
(3) 축 전체에서 이고 다른 곳에서 양수이므로 극소이지만 엄밀하지 않습니다.
이 문제에서 배우는 것: 판정법의 한계.
왜 그런지는 100강의 관점에서 분명합니다. 이차 근사가 셋 모두 으로 같으니, 이차까지의 정보로 구별될 수 없습니다. 차이가 4계 항에 있습니다.
이럴 때 쓸 수 있는 방법들이 있습니다.
| 방법 | 하는 일 |
|---|---|
| 영방향을 따라 조사합니다 | 고유값이 인 방향에서 함수를 직접 봅니다 |
| 고차 항을 전개합니다 | 처음으로 이 아닌 차수를 찾습니다 |
| 부호를 직접 증명합니다 | 부등식으로 를 보입니다 |
| 반례를 찾습니다 | 값이 작아지는 점 하나면 극소가 아닙니다 |
첫째 줄이 가장 실용적입니다. 이 문제에서 인 방향이 축이었고, 거기서 를 보니 곧바로 갈렸습니다.
그런데 이 방법도 만능이 아닙니다. 각 직선을 따라서는 극소인데 전체로는 극소가 아닌 함수가 있습니다.
원점을 지나는 모든 직선 위에서 원점이 극소인데, 포물선 을 따라가면 음수입니다. 93강 심화 2와 96강 문제 5에서 본 것과 같은 현상이며, 직선만으로는 부족하다는 주제가 세 번째로 되돌아옵니다.
| 강의 | 직선으로 부족했던 것 |
|---|---|
| 93 | 극한의 존재 |
| 96 | 전미분가능성 |
| 101 | 극값 판정 |
셋 다 곡선 위에 답이 숨어 있었습니다.
바로 확인 4.
확인 4-1. 헤세가 준정치이면 어떻게 합니까?
답. 영방향을 따라 함수를 직접 조사하거나 고차 항을 봅니다.
확인 4-2. 와 의 원점 성격을 각각 쓰세요.
답. 극소와 안장입니다.
확인 4-3. 모든 직선에서 극소이면 극소입니까?
답. 아닙니다. 이 반례입니다.
문제. 무작위 대칭행렬을 헤세로 삼아 봅니다.
(1) 에 대해 무작위 대칭행렬 개를 만드세요.
(2) 그중 정부호인 비율을 구하세요.
(3) 결과가 무엇을 뜻하는지 쓰세요.
생각의 실마리. 극소이려면 고유값 개가 모두 같은 부호여야 합니다. 부호가 무작위라면 그 확률이 이 클수록 낮을 것입니다.
풀이. 검산에서
| 정부호 비율 | |
|---|---|
에서 이미 개 중 하나도 없습니다.
(3) 무작위 헤세를 가진 임계점은 거의 확실히 안장입니다.
이 문제에서 배우는 것: 고차원의 임계점은 대개 안장입니다.
에서 인 것은 고유값이 하나뿐이라 항상 정부호이기 때문입니다. 이 커지면 급격히 떨어집니다.
단순한 어림으로도 짐작됩니다. 고유값 부호가 독립이고 각각 절반이라면 모두 같은 부호일 확률이 입니다. 이면 입니다. 실제로는 고유값들이 서로 밀어내는 성질이 있어 이보다도 훨씬 빨리 떨어지며, 규모로 감소합니다. 표의 에서 이미 인 것이 그 때문입니다.
이것이 실무에 뜻하는 바가 큽니다. 신경망의 파라미터가 수백만 개이므로 이 그만큼 큽니다.
| 통념 | 실제 |
|---|---|
| 학습이 나쁜 극소에 갇힙니다 | 극소 자체가 드뭅니다 |
| 임계점에서 멈추면 극소입니다 | 대개 안장입니다 |
| 안장을 벗어나기 어렵습니다 | 내려갈 방향이 있으므로 벗어날 수 있습니다 |
셋째 줄이 위안이 됩니다. 안장에서는 인 방향이 있으므로 그 방향으로 가면 값이 줄어듭니다. 문제는 기울기가 이라 어느 쪽인지 모른다는 점이며, 실제로는 정확히 안장에 도달할 확률이 이라 잔여 기울기가 방향을 알려 줍니다.
다만 안장 근처에서 느려집니다. 기울기가 작아 걸음이 짧아지고 오래 머뭅니다. 111강의 모멘텀이 이 구간을 빠르게 통과하는 데 도움이 되며, 평탄한 방향에서 속도를 누적하기 때문입니다.
100강 심화 5에서 예고한 관찰이 여기서 수치로 확인됐습니다.
바로 확인 5.
확인 5-1. 고차원에서 임계점은 대개 무엇입니까?
답. 안장입니다.
확인 5-2. 그 이유를 쓰세요.
답. 고유값 개가 모두 같은 부호일 확률이 이 클수록 급격히 낮아지기 때문입니다.
확인 5-3. 안장에서 벗어날 수 있습니까?
답. 음의 고유값 방향이 있으므로 벗어날 수 있으나 느립니다.
| 개념 | 내용 |
|---|---|
| 임계점 | 인 점 |
| 필요조건 | 극값이면 임계점입니다 |
| 이계 판정 | 헤세의 고유값 부호로 분류합니다 |
| 증명 도구 | 테일러 나머지와 레일리 몫 |
| 헤세 | 결론 |
|---|---|
| 양정치 | 엄밀한 극소 |
| 음정치 | 엄밀한 극대 |
| 부정부호 | 안장 |
| 준정치 | 결론 없음 |
| 이변수 판정 | D=f_{xx}f_{yy}-f_{xy}^ |
|---|---|
| , | 극소 |
| , | 극대 |
| 안장 | |
| 결론 없음 |
| 자주 하는 실수 | 바로잡기 |
|---|---|
| 임계점이면 극값이라 봅니다 | 안장일 수 있습니다 |
| 인데 를 봅니다 | 바로 안장입니다 |
| 에서 결론을 냅니다 | 고차를 봐야 합니다 |
| 모든 직선에서 극소면 극소라 봅니다 | 곡선 반례가 있습니다 |
| 전역 최소를 판정했다고 여깁니다 | 국소 판정일 뿐입니다 |
문제 6. 의 임계점을 구하세요.
답. 에서 입니다.
문제 7. 문제 6의 성격을 판정하세요.
답. 이라 양정치이고 극소입니다.
문제 8. 의 임계점과 성격을 구하세요.
답. 원점이며 , 이라 안장입니다.
문제 9. 의 임계점을 구하세요.
답. 이므로 직선 전체입니다.
문제 10. 문제 9의 성격을 판정하세요.
답. 이라 판정 보류입니다. 실제로는 이므로 극소이며 엄밀하지 않습니다.
문제 11. 의 임계점을 구하세요.
답. 이고 이므로 입니다. 실근은 이라 , , 입니다.
문제 12. 문제 11의 을 판정하세요.
답. 이고 , 이라 극소입니다.
문제 13. 문제 11의 을 판정하세요.
답. 이고 이라 안장입니다.
문제 14. 의 임계점과 성격을 구하세요.
답. 원점이며 이라 극대입니다.
문제 15. 변수 헤세가 이면 무엇입니까?
답. 부호가 섞여 안장입니다.
문제 16. 실베스터 판정법으로 가 양정치인지 확인하세요.
답. 선행 주소행렬식이 과 이라 양정치입니다.
문제 17. 임계점을 해석적으로 못 찾으면 어떻게 합니까?
답. 04단원의 반복법으로 값을 줄여 가며 접근합니다.
문제 18. 고차원에서 무작위 헤세가 정부호일 확률은 어떻게 변합니까?
답. 이 커질수록 급격히 감소하며 에서 이미 거의 입니다.
심화 1. 부정부호일 때 안장임을 정확히 증명하세요.
문제 2에서 양정치의 경우를 증명했습니다. 부정부호의 경우를 마저 합니다.
가 부정부호라 하고 의 단위고유벡터를 , 의 단위고유벡터를 라 둡니다.
방향을 봅니다. 로 두면 99강 심화 2에서
이므로 44강의 한 변수 이계 판정법에 의해 이 의 엄밀한 극소입니다. 즉 작은 에 대해
방향도 같은 방식으로 입니다.
따라서 의 아무리 작은 근방에도 가 더 큰 점과 더 작은 점이 모두 있으므로 극값이 아니며, 93강의 정의에 따라 안장입니다.
증명의 구조가 심화 1의 방법을 다시 씁니다. 다변수 문제를 방향 하나로 제한해 한 변수 정리를 적용합니다.
여기서 얻는 부수적 결과가 있습니다. 안장에서 값이 줄어드는 방향이 최소 고유값의 고유벡터이고, 그 방향의 감소율이 입니다.
112강의 안장 탈출 기법이 이 사실을 씁니다. 헤세의 최소 고유벡터를 (근사적으로) 구해 그 방향으로 밀어내며, 99강 심화 4의 와 멱반복으로 계산합니다.
심화 2. 국소 판정과 전역 최소의 차이를 논하세요.
이 강의의 판정은 모두 국소적입니다. 증명에서 "의 어떤 근방에서"라 했고, 그 근방 밖은 아무 말도 하지 않습니다.
문제 11의 함수가 예입니다. 의 임계점이 셋이었습니다.
| 점 | 성격 | 값 |
|---|---|---|
| 안장 | ||
| 극소 | ||
| 극소 |
극소가 둘이고 값이 같습니다. 이 경우 둘 다 전역 최소이지만, 값이 달랐다면 하나는 국소 최소일 뿐입니다.
전역 최소를 보장하려면 무엇이 더 필요한지가 문제입니다. 두 가지 길이 있습니다.
첫째, 볼록성입니다. 107강에서 다룰 볼록함수는 국소 최소가 자동으로 전역 최소입니다. 이 성질이 볼록 최적화를 특별하게 만듭니다.
107강 예고. 가 볼록이면 모든 국소 최소가 전역 최소이며, 임계점이 곧 전역 최소입니다.
함수에서 볼록성의 판정이 헤세로 이뤄집니다.
이 강의의 판정이 한 점에서의 조건이었다면, 볼록성은 모든 점에서의 조건입니다. 그 차이가 국소와 전역을 가릅니다.
둘째, 컴팩트성입니다. 36강의 최대최소 정리가 다변수로 확장됩니다.
최대최소 정리. 유계이고 닫힌 집합에서 연속인 함수는 최댓값과 최솟값을 가집니다.
전역 최소를 찾는 절차가 여기서 나옵니다. 내부의 임계점을 모두 찾고, 경계 위에서 따로 최적화한 뒤, 후보들의 값을 비교합니다. 경계 위의 최적화가 05단원의 제약 최적화입니다.
| 상황 | 전역 최소 |
|---|---|
| 볼록입니다 | 임계점이 곧 답입니다 |
| 컴팩트 집합입니다 | 내부 임계점과 경계를 비교합니다 |
| 둘 다 아닙니다 | 보장이 없습니다 |
셋째 줄이 신경망의 상황입니다. 손실은 볼록하지 않고 파라미터 공간은 유계가 아닙니다. 그래서 전역 최소를 목표로 삼지 않습니다. 충분히 좋은 국소 최소를 찾는 것으로 만족하며, 실제로 고차원에서는 대부분의 국소 최소가 비슷하게 좋다는 관찰이 있습니다.
심화 3. 준정치인 경우를 체계적으로 다루는 방법을 논하세요.
문제 4에서 헤세가 준정치이면 결론이 나지 않는다고 했습니다. 완전히 손을 놓는 것은 아닙니다.
핵심 발상은 방향을 나누는 것입니다. 헤세의 고유공간으로 공간을 쪼갭니다.
각각 양수, , 음수 고유값의 고유공간이며 86강 스펙트럼 정리가 이 분해를 줍니다.
| 성분 | 이차 정보 |
|---|---|
| E_ | 위로 휩니다, 결정됐습니다 |
| E_ | 아래로 휩니다, 결정됐습니다 |
| E_ | 침묵합니다, 조사해야 합니다 |
가 비어 있지 않으면 즉시 안장입니다. 그 방향으로 값이 줄어드니 더 볼 것이 없습니다.
가 비어 있으면 만 조사하면 됩니다. 방향은 이미 위로 휘므로 안전하고, 문제는 평탄한 방향뿐입니다.
이 발상을 정리로 만든 것이 중심다양체 정리입니다. 평탄한 방향에 대응하는 저차원 다양체 위로 문제를 환원할 수 있다는 내용이며, 이 과목의 범위를 넘지만 발상은 위와 같습니다.
실제 조사 방법을 정리합니다.
| 방법 | 언제 |
|---|---|
| 위로 제한해 고차 전개 | 차원이 작을 때 |
| 부등식으로 직접 증명 | 구조가 단순할 때 |
| 곡선 반례를 찾음 | 안장이 의심될 때 |
문제 4에서 가 축 하나였고, 거기서 과 이 갈렸습니다. 차원이 이라 쉬웠습니다.
신경망에서는 가 큽니다. 문제 5에서 본 대로 고유값이 근처에 몰려 있고, 이는 파라미터가 과다해 여러 방향으로 함수가 거의 변하지 않기 때문입니다. 이 평탄한 방향들이 오히려 일반화에 도움이 된다는 관찰이 있으며, 214강에서 다룹니다.
심화 4. 임계점을 실제로 찾는 방법을 논하세요.
문제 1에서 을 손으로 풀었습니다. 일반적으로는 불가능합니다.
은 개의 미지수에 대한 개의 비선형 방정식이고, 인 다항식조차 차수가 조금만 높아지면 해석적으로 풀리지 않습니다.
세 가지 접근이 있습니다.
첫째, 뉴턴법을 방정식에 적용합니다. 을 푸는 문제로 보면, 98강의 야코비가 이므로
112강의 뉴턴법과 같은 식입니다. 다만 관점이 다릅니다.
| 관점 | 목표 |
|---|---|
| 방정식 풀이 | 인 점을 찾습니다 |
| 최소화 | 를 줄입니다 |
차이가 중요합니다. 방정식 풀이로 보면 안장으로도 수렴할 수 있습니다. 실제로 순수한 뉴턴법은 가장 가까운 임계점으로 가며 그것이 최소라는 보장이 없습니다. 최소화가 목적이면 하강 조건을 따로 걸어야 합니다.
둘째, 값을 줄여 가며 내려갑니다. 109강의 경사하강법이 이 방식이며, 임계점을 찾는 대신 를 줄이는 데 집중합니다.
셋째, 전역 탐색입니다. 임계점이 여럿일 때 모두 찾으려면 여러 시작점에서 반복하거나 동차 연속법 같은 기법을 씁니다. 다항식 계에는 그뢰브너 기저 같은 대수적 방법도 있으나 비용이 큽니다.
실무에서는 둘째가 압도적입니다. 이유가 셋입니다.
| 이유 | 내용 |
|---|---|
| 헤세를 만들 필요가 없습니다 | 기울기만으로 진행합니다 |
| 안장으로 수렴하지 않습니다 | 값이 줄어드는 방향만 갑니다 |
| 전역 최소가 목표가 아닙니다 | 충분히 좋으면 됩니다 |
심화 5. 이 강의의 판정이 최적화 알고리즘의 종료 조건과 어떻게 이어지는지 논하세요.
알고리즘을 언제 멈출지가 실무의 문제입니다. 이론적으로는 이지만 수치적으로는 정확히 이 되지 않습니다.
로 멈춥니다. 그런데 이 조건이 무엇을 보장하는지 물어야 합니다.
양정치이면 정량적 답이 나옵니다. 헤세가 을 만족하는 영역에서 최소점 에 대해
기울기의 크기로 최적성 간격을 잽니다. 첫 식은 과 평균값 정리에서, 둘째는 이차 근사에서 나옵니다.
| 일 때 간격 | |
|---|---|
| 5\times10^ | |
| 10^ | 5\times10^ |
| 10^ | 5\times10^ |
가 작으면 같은 기울기에서도 훨씬 멀리 있을 수 있습니다. 평탄한 골짜기에서 기울기가 작다고 안심하면 안 된다는 뜻이며, 91강에서 잔차만 보고 답을 믿지 말라 한 것과 같은 교훈입니다.
조건수가 다시 나타납니다. 이 크면 가 작다는 뜻이므로 종료 조건이 헐거워집니다. 110강에서 이를 정식으로 다룹니다.
안장 근처에서는 더 나쁩니다. 이라 위 부등식이 아예 성립하지 않고, 기울기가 작아도 최소 근처가 아닙니다. 종료 조건이 안장을 최소로 오인하게 만듭니다.
실무의 대응은 다음과 같습니다.
| 방법 | 하는 일 |
|---|---|
| 기울기와 함께 손실 변화를 봅니다 | 둘 다 멈춰야 종료합니다 |
| 잡음을 일부러 넣습니다 | 안장에서 밀려납니다 |
| 최소 고유값을 추정합니다 | 음수이면 계속 갑니다 |
| 검증 성능을 기준으로 삼습니다 | 최적화가 아니라 일반화를 봅니다 |
넷째 줄이 기계학습의 실제 답입니다. 손실의 임계점에 도달하는 것 자체가 목표가 아니며, 212강에서 다룹니다.
심화 6. 102강으로 어떻게 이어지는지 정리하세요.
이 단원의 셋째 강의까지 대수적으로 진행했습니다. 헤세를 세우고 고유값을 구해 부호를 셌습니다.
102강은 같은 것을 기하로 봅니다.
곡면 의 한 점에서 여러 방향으로 자르면 단면 곡선들이 나오고, 각각의 휘어짐이 다릅니다. 그 휘어짐의 극단이 주곡률이며 헤세의 고유값입니다.
| 기하 | 대수 | 어디서 |
|---|---|---|
| 주곡률 | 헤세의 고유값 | 99강 |
| 주방향 | 헤세의 고유벡터 | 99강 |
| 평균곡률 | 99강 심화 3 | |
| 가우스곡률 | 99강 심화 3 |
가우스곡률의 부호가 이 강의의 판정과 정확히 대응합니다.
| 가우스곡률 | 임계점 | 모양 |
|---|---|---|
| 양수 | 극값 | 그릇이나 돔 |
| 음수 | 안장 | 말안장 |
| 보류 | 원기둥이나 평면 |
"안장점"이라는 이름의 유래가 102강에서 확인됩니다. 실제 말안장이 앞뒤로 올라가고 좌우로 내려가는 음의 가우스곡률 곡면입니다.
102강은 여기서 한 걸음 더 나아가 곡선의 곡률도 다룹니다. 55강에서 한 변수 함수의 그래프가 얼마나 휘는지를 봤는데, 그것을 매개곡선으로 일반화하고 곡면으로 넓힙니다.
02단원이 끝나면 03단원에서 적분으로 옮겨갑니다. 미분을 다 세웠으니 반대 방향을 세울 차례이며, 98강의 야코비 행렬식이 105강 변수변환에서 주역이 됩니다.
그리고 04단원이 이 단원의 결과를 알고리즘으로 만듭니다. 이 강의에서 "무엇이 최소인가"에 답했으니, 이제 "어떻게 찾는가"에 답할 차례입니다.
import numpy as np
def classify(H, tol=1e-12):
w = np.linalg.eigvalsh(H)
if (w > tol).all(): return "극소"
if (w < -tol).all(): return "극대"
if (w > tol).any() and (w < -tol).any(): return "안장"
return "판정 보류"
# --- 문제 1: 임계점을 모두 찾기 -----------------------------------------
# f = x^3 + y^3 - 3xy
f = lambda x, y: x**3 + y**3 - 3*x*y
gf = lambda x, y: np.array([3*x**2 - 3*y, 3*y**2 - 3*x])
Hf = lambda x, y: np.array([[6*x, -3.0], [-3.0, 6*y]])
print(" y = x^2 과 x = y^2 을 연립하면 x = x^4, 즉 x(x^3-1) = 0")
print(" 실근은 x = 0 과 x = 1 뿐이므로 임계점은 두 개입니다")
for p in [(0.0, 0.0), (1.0, 1.0)]:
print(" %s grad = %s f = %.1f" % (p, gf(*p), f(*p)))
# y = x^2 과 x = y^2 을 연립하면 x = x^4, 즉 x(x^3-1) = 0
# 실근은 x = 0 과 x = 1 뿐이므로 임계점은 두 개입니다
# (0.0, 0.0) grad = [0. 0.] f = 0.0
# (1.0, 1.0) grad = [0. 0.] f = -1.0
# --- 문제 2: 헤세로 분류하기 --------------------------------------------
print(" 임계점 헤세 고유값 판정")
for p in [(0.0, 0.0), (1.0, 1.0)]:
H = Hf(*p); w = np.linalg.eigvalsh(H)
print(" %s %s %s" % (p, np.round(w, 4), classify(H)))
# 임계점 헤세 고유값 판정
# (0.0, 0.0) [-3. 3.] 안장
# (1.0, 1.0) [3. 9.] 극소
# --- 문제 3: 이변수 판정법 (det 와 fxx) ---------------------------------
print(" 임계점 det H fxx 판정(det/fxx) 판정(고유값)")
for p in [(0.0, 0.0), (1.0, 1.0)]:
H = Hf(*p); d = np.linalg.det(H); fxx = H[0,0]
if d < 0: k = "안장"
elif d > 0: k = "극소" if fxx > 0 else "극대"
else: k = "판정 보류"
print(" %s %7.1f %5.1f %-8s %-8s" % (p, d, fxx, k, classify(H)))
# 임계점 det H fxx 판정(det/fxx) 판정(고유값)
# (0.0, 0.0) -9.0 0.0 안장 안장
# (1.0, 1.0) 27.0 6.0 극소 극소
# fxx = 0 인데도 det 가 음수라 바로 안장입니다. fxx 는 det > 0 일 때만 씁니다.
# --- 문제 4: 판정이 통하지 않는 경우 ------------------------------------
funcs = [("x^2 + y^4 ", lambda x, y: x**2 + y**4, np.array([[2.,0.],[0.,0.]])),
("x^2 - y^4 ", lambda x, y: x**2 - y**4, np.array([[2.,0.],[0.,0.]])),
("x^2 ", lambda x, y: x**2 + 0*y, np.array([[2.,0.],[0.,0.]]))]
print(" 세 함수의 원점 헤세가 모두 diag(2,0) 입니다")
for name, fn, H in funcs:
ts = np.array([1e-3, 1e-2, 1e-1])
vy = [fn(0.0, t) for t in ts] # y축을 따라간 값
print(" %s 헤세 판정 %-8s y축 위 값 %s" % (name, classify(H), np.array(vy)))
# 세 함수의 원점 헤세가 모두 diag(2,0) 입니다
# x^2 + y^4 헤세 판정 판정 보류 y축 위 값 [1.e-12 1.e-08 1.e-04]
# x^2 - y^4 헤세 판정 판정 보류 y축 위 값 [-1.e-12 -1.e-08 -1.e-04]
# x^2 헤세 판정 판정 보류 y축 위 값 [0. 0. 0.]
# 헤세가 같은데 성격은 극소, 안장, 엄밀하지 않은 극소로 갈립니다.
# --- 문제 5: 고차원에서 안장이 흔하다 -----------------------------------
rng = np.random.default_rng(20260809)
print(" n 무작위 대칭행렬 1000 개 중 정부호 비율")
for n in [1, 2, 3, 4, 5, 10]:
cnt = 0
for _ in range(1000):
A = rng.standard_normal((n, n))
S = (A + A.T)/np.sqrt(2*n)
w = np.linalg.eigvalsh(S)
if (w > 0).all() or (w < 0).all(): cnt += 1
print(" %3d %6.1f %%" % (n, 100.0*cnt/1000))
# n 무작위 대칭행렬 1000 개 중 정부호 비율
# 1 100.0 %
# 2 29.7 %
# 3 6.1 %
# 4 0.2 %
# 5 0.0 %
# 10 0.0 %
# n=5 에서 이미 1000 개 중 하나도 없습니다. 고차원 임계점은 대개 안장입니다.
마지막 표가 이 강의의 실무적 결론입니다. 판정법을 배웠지만, 고차원에서 그 판정이 내놓는 답은 거의 언제나 "안장"입니다.
102강에서 이 분류를 기하로 다시 봅니다.
정답.
| 기호 | 읽는 법 | 뜻 |
|---|---|---|
| 임계점 | critical point | 인 점입니다 |
| 안장점 | saddle point | 방향에 따라 갈리는 임계점입니다 |
| D=f_{xx}f_{yy}-f_{xy}^ | 판별식 | 이변수 판정에 씁니다 |
| 양정치 | positive definite | 모든 고유값이 양수입니다 |
| 준정치 | semidefinite | 고유값이 있습니다 |
| 부정부호 | indefinite | 부호가 섞입니다 |
| 실베스터 판정법 | Sylvester's criterion | 선행 주소행렬식으로 판정합니다 |
| 엄밀한 극소 | strict minimum | 근방에서 유일한 최소입니다 |
| E_ | 영고유공간 | 조사해야 할 평탄한 방향입니다 |
다음 102강에서는 곡선의 곡률과 곡면의 휘어짐을 다룹니다. 이 강의의 대수적 판정을 기하로 옮겨, 헤세의 고유값이 주곡률이고 행렬식이 가우스곡률임을 봅니다. 안장점이라는 이름이 실제 말안장에서 왔음을 확인하며, 55강의 한 변수 곡률이 곡면으로 확장됩니다. 이것으로 02단원이 끝납니다.