이 레슨과 관련된 학습 키워드
인공지능(AI) — 기계가 생각하는 법 → 인공지능 수학 — AI를 떠받치는 수학적 기초 → 인공지능 수학 — AI를 떠받치는 수학적 기초 → 미적분과 최적화
볼록 집합과 함수, 라그랑주 승수법, KKT 조건, 쌍대 문제, ML에서의 볼록 완화
볼록 최적화는 머신러닝에서 "풀 수 있는" 최적화의 핵심이에요.
왜 볼록성이 이토록 중요한지, 그림을 보면서 이해해 볼게요.
왼쪽 그래프를 보세요. 비볼록 함수에요.
울퉁불퉁한 곡선에 지역 극소값이 세 개나 있어요.
경사하강법을 돌리면, 시작점에 따라 다른 극소에 빠져요.
안장점까지 있어서 그래디언트가 0인데도 최솟값이 아닌 지점이 존재해요.
전역 최소를 찾으려면 결국 모든 곳을 탐색해야 하고, 이건 NP-hard예요.
이제 오른쪽 볼록 함수를 보세요. 매끈한 그릇 모양이에요.
극소값이 딱 하나! 어디서 시작하든 경사하강이 여기로 수렴해요.
수렴 속도도 보장돼요. 일반 볼록은 O(1/t), 강볼록은 기하급수적이에요.
하단 비교 상자를 보면, 비볼록은 NP-hard에 초기값 의존적이에요.
볼록은 다항 시간에 유일해, 초기값과 무관하게 최적해를 줘요.
역사적으로 1947년 단치히의 심플렉스법부터 시작됐어요.
1951년 쿤-터커 조건, 2004년 SVM과 라쏘에서 전성기를 맞이했죠.
딥러닝 손실은 비볼록이지만, 부분문제를 볼록으로 환원하는 게 핵심 전략이에요.
볼록 최적화를 알아야 비볼록 문제도 다룰 수 있어요.
다음 슬라이드에서 볼록 집합과 볼록 함수의 정의를 배워볼게요.
정의를 정확히 알아야 어떤 문제가 볼록인지 판별할 수 있어요.
지금 본 직관을 수식으로 형식화하는 과정이에요.
이 레슨이 끝나면 SVM, 라쏘 같은 문제가 왜 잘 풀리는지 이해하게 될 거예요.
학생: 볼록이면 무조건 전역 최솟값을 찾을 수 있는 건가요?
선생님: 네! 볼록 함수에서 그래디언트가 0인 점은 반드시 전역 최솟값이에요.
선생님: 일반 볼록은 오 분의 일 티 속도로, 강볼록이면 기하급수적으로 빠르게 수렴해요.
학생: 딥러닝 손실함수는 비볼록인데, 왜 경사하강법이 잘 작동하나요?
선생님: 고차원에서는 지역 극소가 전역 극소와 비슷한 값을 가지는 경우가 많아요.
선생님: 또 배치 정규화, 드롭아웃 같은 기법이 손실 지형을 매끄럽게 만들어 주거든요.