다목적 최적 문제: 파레토 최적화
정의
최적화 문제에서 목적함수가 벡터함수로 확장된 문제를 다목적 최적화 문제multi-objective optimization problem라 하고, 이러한 문제를 푸는 것을 파레토 최적화Pareto optimization라 한다.
설명
최적화는 보통 손실함수라 하여 $L : \mathbb{R}^{n} \to \mathbb{R}$ 과 같은 형태로 그 함수값을 최소화하는 $x \in X$ 을 찾는 문제로 두는 경우가 많은데, 만약 그 함수가 동시에 여러가지 태스크를 수행해서 벡터함수 $L = \left( L_{1} , \cdots , L_{m} \right)$ 로 주어진다면 $\mathbb{R}^{m}$ 에서 널리 합의될만한 순서의 정의 자체가 없기 때문에 단순히 한방향으로 최적화하는 의미도 없어진다. 예를 들어 최적화 끝에 얻은 함수가 $L_{1}$ 을 최소화하는 것에는 탁월하지만 $L_{2}$ 를 최소화하는 것에는 형편없는 결과를 낸다면, 마찬가지로 그 반대라면 이들은 각자의 영역에서만 최적화된 것이지 누가 더 낫다고 말할 수 없기 때문이다.
다목적 최적 문제를 일반적인 최적화 문제로 바꾸는, 가장 널리 쓰이는 아이디어로는 다음과 같이 그들의 가중합weighted sum으로써 새로운 $L_{0}$ 을 정의하는 방법이 있다. $$ L_{0} = \sum_{k=1}^{m} \lambda_{k} L_{k} $$ 여러개의 목적함수가 있다는 복잡함을 하이퍼파라미터의 문제로 떠넘긴 것으로 볼 수 있다. 아이러니하게도, 이 방법이 너무나 간단하고 직관적이기 때문에 벡터 목적함수가 있는 경우에서조차 파레토 최적까지 생각해야하는 경우는 생각보다 많지 않다.
한편 파레토 최적화에서 목적함수 간의 트레이드오프trade-off까지 고려했을 때 유의미한 해의 집합을 파레토 프론트라 한다. 흔히 다목적 최적화 문제에서는 파레토 프론트에서 가장 의도와 맞는 해를 취사선택하는 과정이 동반된다.

저희들의 저서 「줄리아 프로그래밍」이 2024 세종도서 학술부문에 선정되었습니다!

