본문 바로가기

논문 읽어주는 대학원생

최적 설계란 무엇일가? 3편

그동안 진행했던 피드들을 통해 최적 설계에 대해 소개하고 있는데, 최적 설계 분야는 코에 걸면 코걸이, 귀에 걸면 귀걸이가 되는 것처럼 다양한 분야에 적용이 가능하며 방식도 여러 가지가 있습니다.

 

무엇보다 최적설계의 본질은 '최적 조건을 찾아내는 것'이 되겠습니다. 경험에만 의존하지 않고 최적의 조건을 찾아내 원하는 성능을 올리는 것입니다.

 

오늘은 수많은 최적설계 방법 중 하나인 gradient based method(경사도 기반 방법)sensitivity(민감도) 에 대해 이야기 해보려 합니다.

 

수학시간에 함수의 기울기에 대해 배웠지요? 배울 당시만 하더라도 어디에 쓰이는지 몰랐던 기울기는 사실 우리에게 많은 정보를 주고 있었답니다.

 

 

함수의 기울기는 함수를 한번 미분한 값입니다. 만약 기울기가 양수일 경우 변수가 커질 때 함수 값이 커지는 것을 알 수 있고, 기울기가 음수일 경우 변수가 커질 때 함수 값이 작아지는 것을 알 수 있습니다.

 

예를 들어 '찰흙'의 부피가 커지면 무게가 늘어나겠죠? 부피라는 변수가 커지면 무게라는 '결과 값'이 늘어나는 것이라고 볼 수 있습니다. 이 때 부피와 무게에 미분을 해주면 양수가 됩니다. 즉 부피가 커지면 무게가 늘어나는 것을 함수의 기울기만 보고도 알 수 있습니다.

 

그렇다면 임의의 함수를 만들어 보겠습니다. 함수의 원 함수는 모르지만 지금 현재 있는 위치의 함수 값과 기울기만을 안다고 가정해 봅시다. 그렇다면 우리는 이 함수의 (국부) 최솟값이나 최댓값을 기울기와 함수 값을 통해 찾아갈 수 있습니다. (국부 최솟값과 최댓값은 다음 시간에 설명 드리도록 하겠습니다.) 다음 최솟값을 찾는 과정을 한번 보실까요?

1번에서는 기울기가 음수이기 때문에 수가 커지면 함수 값이 작아집니다. 따라서 변수가 2번에 도달할 만큼 설정해 봅시다. 2번 기울기는 양수입니다. 양수임는 변수가 커지면 함수값이 작아지기 때문에, 변수가 작아지는 방향으로 변수를 줄여봅시다. 1번과 2번 과정을 반복하다가 기울기가 0과 비슷한 지점을 찾을 수 있는데요, 그게 최소화 되어 3번 지점이 됩니다. 3번 지점이 우리가 찾고 싶었던 최솟값입니다! 이 지점의 변수 값들이 최적화 해(정답)라고 말할 수 있습니다.

 

최적설계에서 이 기울기 값을 sensitivity(민감도)라고 이야기 합니다. sensitivity를 정확히 알아야 최적설계를 잘 할 수 있다고 말 할 수 있겠죠? 이것을 통해 앞으로 변수가 어떻게 움직이냐에 따라 목적함수가 어떻게 바뀔지를 예측해 줄 수 있습니다. 만약에 우리가 주식 그래프의 시간에 따른 sensitivity를 안다면 우린 금방 부자가 될 수 있겠죠?

 

이번 시간에는 gradient based method에서 사용하는 sensitivity 에 대해 설명드렸습니다. 조금은 어려운 개념이라고 느껴지실 수 있을 것 같습니다. 다음에는 "국부 최적해, 전역 최적해"에 대해 소개드리겠습니다.