learn

what is argmin

관련: Understanding Deep Learning - Simon Prince

argmin = "그 값을 만드는 입력"

argmin은 argument of the minimum의 줄임말로, 함수를 최소로 만드는 입력값(argument) 자체를 돌려주는 연산이다.

min\min과 비교하면 차이가 명확해진다.

minϕL(ϕ)→ 최소 "값"이 뭐야?\min_\phi L(\phi) \quad \text{→ 최소 "값"이 뭐야?} argminϕL(ϕ)→ 그 최소값을 만드는 ϕ가 뭐야?\operatorname{argmin}_\phi L(\phi) \quad \text{→ 그 최소값을 만드는 } \phi \text{가 뭐야?}

간단한 예시로, L(ϕ)=(ϕ3)2L(\phi) = (\phi - 3)^2 이면:

  • minϕL(ϕ)=0\min_\phi L(\phi) = 0 — 최솟값
  • argminϕL(ϕ)=3\operatorname{argmin}_\phi L(\phi) = 3 — 그 최솟값을 만드는 ϕ\phi

딥러닝에서의 의미

학습의 목표를 한 줄로 쓰면 이렇다:

ϕ^=argminϕ[i=1nL(f(xi,  ϕ),  yi)]\hat{\phi} = \operatorname{argmin}_\phi \left[\sum_{i=1}^{n} L\bigl(f(\mathbf{x}_i,\; \phi),\; y_i\bigr)\right]

우리가 관심 있는 건 LossFunction VS Cost Function|cost의 최솟값이 "얼마"인지가 아니라, 그걸 만드는 파라미터 ϕ^\hat{\phi}가 "무엇"인지다. argmin 아래에 적힌 ϕ\phi는 "이걸 움직여가며 탐색한다"는 뜻이고, 그 탐색 방법이 gradient-descent|Gradient Descent다.

마찬가지로 argmax\operatorname{argmax}는 함수를 최대로 만드는 입력값을 돌려준다. 표기 구조는 동일하다.