본문 바로가기

머신러닝/[기타]

Universal Approximation Theorem, UAT

 제가 머신러닝을 처음 접했을 때 굉장히 인상 깊었던 한 정리가 있었습니다. 사실 정리 전체의 문맥을 보지도 못했고 굉장히 러프하게 접했던 문장 정도 였는데, 얼마전에야 해당 정리의 이름과 전문을 알게되었습니다. 그것이 오늘 말씀드릴 Universal Approximation Theorem, UAT 입니다. 이것의 최초 정리가 George Cybenko에 의해 1989년에 증명되었기 때문에, Cybenko's theorem 이라고도 불리는듯 합니다.

A feed-forward network with a single hidden layer contating a finite number of neurons can approximate arbitrary well real-valued continuous function on compact subset of R^n, under mild assumptions on the activation function.
유한한 뉴런으로 구성된 싱글 히든 레이어를 갖는 피드-포워드 네트워크는, 어떤 컴팩트 셋 위의 리얼-밸류드 연속 함수에 근사될 수 있다. 물론, 활성 함수에 대한 유한 가정이 충족되어야한다.

 사실 진짜 UAT는 당연하게도 수학적 수식으로 구성되어있습니다만, 저희는 그런 수학을 뚫어져라보고싶은 마음은 별로 없을 거라 생각하여, 위키의 내용을 가져왔습니다. 제가 인상깊었던 내용은 결국 이런 내용이니까요. 유한하다니, 리얼-밸류드라니, 컴팩트니 하는, 수학적 내용을 전혀 모른다고 치고, 받아들일 수 있는 내용만 바라보면, 결국 어떤 조건이 충족된다면, 피드-포워드네트워크 구조 하나로, 세상의 많은 함수를 따라할 수 있다- 이 말입니다. 저희가 고등시절 배웠던 함수에는 종류가 굉장히 많습니다. 다항함수, 삼각함수, 로그함수, 지수함수,... 생긴것이 모두 다르게 생겼고, 저마다 특징도 다릅니다. 그런데 이러한 함수를 모두 네트워크 구조 하나로, 따라할 수 있다는 말이네요. 즉, Network 구조가 일반적인 근사 함수(Universal approximation function)가 될 수 있음을 의미합니다. 해당 정리의 이름이 UAT인 이유가 될 것같네요. 이런 내용을 한 번 보고나니, 그럼 반대로, Network 외에 Universal approximation function은 없나 궁금한데, 구글에 검색을 해도 UAT밖에 안보이네요. 추후 알게되면 내용을 추가하겠습니다.

 Under mild assumptions on the activation function. - 은 어떤 걸 말하는지 조금 더 생각해볼 가치가 있는데, 아마 비선형이 그 핵심인 것 같습니다. 당연히 활성 함수마저도 선형이면 선형 함수끼리의 결합 주제에 Universal approximation function이 됨을 제창할 수는 없을 것 같네요.

 다만, 이 멋진 정리는 단순히 가능성을 말할 뿐, 네트워크의 가중치를 어떻게 구성해야하는가, 뉴런의 개수는 몇이 되어야 하는가-에 대한 질문에 대해 답을 내려주고 있지는 않습니다. 사용자가 적절한 파라미터를 찾아내지 못하면, 근사는 했지만 그 정확도가 전혀 쓸모없는 수준에 머무르게 되겠지요.