반응형
Convex란?
- Convex란 '볼록한'이라는 뜻으로 수학에서 Convex를 대상이 집합(set)인지, 함수(function)인지에 따라 개념이 다르다.
- Convex Optimization은 목적함수 및 제약 조건 함수가 Convex Function 에 속하며, 동시에 문제의 범위에 해당하는 Domain이 Convex Set으로 정의된 경우에 해당한다.
Convex Function
흔히 우리가 볼록 함수라고 말하는 함수이다.
아래로 볼록한 함수만 Convex function 이라고 한다.
위로 볼록한 함수는 아래로는 '오목'한 함수이므로 Concave function이라고 한다.
함수 위의 임의의 두 점을 연결하는 선을 그래프에 그었을 때, 그 선이 아래 그림과 같이 함수 그래프의 위쪽만을 지나가면 이 함수는 Convex한 함수라고 할 수 있다.
수식으로 표현하면 다음과 같다.
- 반면, 함수 위의 임의의 두 점을 연결하는 선이 함수의 아래를 지난다면 이는 Non-Convex 함수이다.
Convex Set
- Convex 한 집합을Convex Set이라고 부른다.
- Convex 집합은 집합이 이루는 공간 내의 두 점을 연결한 선분이 그 집합 안에 포함되는지, 포함되지 않는지에 따라 Convexity가 갈린다.
- 오른쪽의 경우 임의의 두 점 x와 y를 잇는 선분이 set의 바깥에 나와있어 Convex 하지 않다고 할 수 있다.
Convexity와 딥러닝
딥러닝은 매우 복잡한 다변수 함수의 최적해를 경사 하강법을 통해 찾는 것이다.
경사 하강법을 사용할 때, convex 함수와 non-convex 함수에서 탐색한 해는 큰 차이를 갖는다.
convex 함수의 경우, 우리가 딥러닝에서 경사 하강법을 통해 찾는 최저점이 단 하나 존재한다. 이 점을 전역 최적해Global Minimum이라고 한다.
non-convex 함수는 무한히 넓은 함수 공간에서 여러 곳의 지역 최저점 Local minima을 갖는다. 위 함수에서 이로 인하여, 경사 하강법을 시작하는 위치에 따라 서로 다른 최저점을 향해 결과가 수렴하게 된다. non-convex 함수의 문제는 우리가 어디가 전역 최적해인지를 알 수가 없다는 것이다. 이로 인해 non-convex 한 문제를 딥러닝으로 해결하려고 하면 학습이 잘 되지 않고 좋지 않은 지역 최저점에 갇히는 등의 문제가 발생한다.
→ 더 나은 지역 최저점을 찾기 위해 경사 하강법을 보완해 AdaGrad, RMSprop 등 다양한 Optimizer들이 연구되었다.
참고
반응형
'Artificial intelligence' 카테고리의 다른 글
[AI] 과소적합(underfitting)과 과잉적합(overfitting) / 바이어스(bias)와 분산(variance) (0) | 2021.09.10 |
---|---|
[AI] 기계 학습 유형 (0) | 2021.09.10 |
[AI] 선형 회귀 문제와 매개변수 최적화 관계 (0) | 2021.09.08 |
[AI] 데이터에 대한 이해 / 데이터 생성 과정 / 데이터의 중요성 / 데이터베이스 크기와 기계 학습 성능 / 데이터 가시화 (0) | 2021.09.08 |
[AI] 인공지능과 특징공간 / 표현학습과 심층학습 (0) | 2021.09.07 |