딥러닝이 오늘날 인공지능의 핵심으로 자리 잡은 이유는 그저 경험적 성공 때문만이 아니다. 그 이면에는 수학적으로 증명된 강력한 이론적 기반이 있다. 바로 '유니버설 근사 정리(Universal Approximation Theorem)'가 그것이다. 이 정리는 신경망의 표현력을 수학적으로 보장하며, 왜 딥러닝이 복잡한 실세계 문제를 해결할 수 있는지 설명해준다.
유니버설 근사 정리의 핵심은 간단하면서도 강력하다: 충분한 뉴런을 가진 단일 은닉층 신경망은 어떠한 연속 함수도 원하는 정확도로 근사할 수 있다.
이는 무엇을 의미하는가? 우리가 해결하려는 많은 실제 문제(이미지 인식, 자연어 처리, 게임 플레이 등)는 본질적으로 함수로 표현할 수 있다. 예를 들어, 손글씨 숫자 인식은 픽셀 값을 입력받아 0부터 9까지의 레이블을 출력하는 함수로 볼 수 있다. 유니버설 근사 정리는 이러한 함수들이 신경망으로 표현 가능하다는 것을 보장한다.
특히 중요한 점은 '원하는 정확도'라는 부분이다. 오차를 아무리 작게 설정하더라도, 이론상으로는 항상 그 오차 범위 내에서 함수를 근사할 수 있는 신경망이 존재한다. 이것이 바로 '유니버설'이라는 단어가 의미하는 바이다.
유니버설 근사 정리를 직관적으로 이해하는 한 가지 방법은 '범프 함수(bump function)'의 개념을 통해서이다.
신경망에서 시그모이드 활성화 함수는 가중치가 충분히 클 때 스텝 함수(step function)에 근접한다. 특히
wx + b에서 w가 매우 크면, 시그모이드는 -b/w 지점에서 급격하게 0에서 1로 변화하는 계단 형태가 된다.
이런 스텝 함수들을 조합하면 범프 함수를 만들 수 있다. 예를 들어:
첫 번째 스텝 함수: 0.4에서 0으로부터 0.8로 상승
두 번째 스텝 함수: 0.6에서 0.8에서 0으로 하강
두 함수의 합: 0.4에서 0.6 사이에서만 0.8의 값을 갖는 범프 함수
이러한 범프 함수들을 여러 개 조합하면, 어떤 연속 함수도 원하는 정확도로 근사할 수 있다. 구간을 작게 나눌수록, 더 많은 범프 함수가 필요하지만, 근사의 정확도는 높아진다.
유니버설 근사 정리는 단일 은닉층 신경망으로도 함수 근사가 가능하다고 말한다. 그렇다면 왜 우리는 깊은(다층) 신경망을 사용할까?
핵심은 효율성에 있다. 같은 수의 파라미터를 가정했을 때, 깊은 신경망은 얕은 신경망보다 더 복잡한 함수를 효율적으로 표현할 수 있다.
예를 들어, 입력 차원이 4이고 은닉층 뉴런이 15개인 얕은 신경망과, 각각 5개의 뉴런을 가진 3개의 은닉층으로 구성된 깊은 신경망을 비교해보자. 두 네트워크 모두 75개의 가중치를 가지지만, 깊은 신경망은 다음과 같은 장점이 있다:
경로의 다양성: 얕은 신경망에서는 하나의 입력 특성이 출력에 영향을 미치는 경로가 15개뿐이지만, 깊은 신경망에서는 5³ = 125개의 경로가 존재한다.
비선형성의 반복 적용: 깊은 신경망에서는 활성화 함수의 비선형성이 여러 번 적용되어, 더 복잡한 패턴을 포착할 수 있다.
계층적 특성 추출: 깊은 신경망의 각 층은 이전 층의 특성을 기반으로 더 추상적이고 고급 특성을 추출한다.
이는 마치 초등학교 수학에서 대학 수학까지 배우는 과정과 같다. 복잡한 개념은 기본 개념 위에 쌓아 올려져 더 효율적으로 이해된다.
2006년 이전까지 깊은 신경망은 이론적으로는 강력했지만, 실제로는 훈련시키기 어려웠다. 제프리 힌튼은 당시 딥러닝의 주요 한계점을 네 가지로 요약했다:
데이터 부족: 수백만 개의 파라미터를 훈련시키기 위해 필요한 레이블 데이터가 너무 적었다.
컴퓨팅 파워 제한: 당시 컴퓨터는 대규모 신경망을 훈련시키기에 수백 배 느렸다.
가중치 초기화 문제: 무작정 랜덤하게 가중치를 초기화하면 네트워크의 앞쪽과 뒤쪽 레이어 간 불균형이 발생한다.
소멸하는 그라디언트 문제: 시그모이드 활성화 함수를 사용할 때, 그라디언트 값이 레이어를 거치며 급격히 감소하여 앞쪽 레이어가 효과적으로 학습되지 않는다.
이러한 문제들로 인해, 레이어가 많아질수록 오히려 성능이 저하되는 역설적인 상황이 발생했다. MNIST 손글씨 데이터셋에 대한 실험에서도 7-8개 이상의 레이어를 가진 네트워크는 성능이 급격히 떨어졌다.
이러한 도전과제들은 시간이 지남에 따라 다양한 혁신으로 해결되었다:
빅데이터와 IoT의 등장: 대량의 레이블된 데이터가 다양한 분야에서 가용해졌다.
GPU와 TPU의 발전: 병렬 처리에 최적화된 하드웨어가 등장하여 계산 속도를 크게 향상시켰다.
가중치 초기화 기법: RBM(Restricted Boltzmann Machine) 사전훈련, Xavier 초기화, He 초기화 등이 개발되어 안정적인 학습이 가능해졌다.
ReLU 활성화 함수: 힌튼이 제안한 ReLU는 소멸하는 그라디언트 문제를 크게 완화했다.
이러한 기술적 진보들이 모여 2006년 이후 딥러닝의 놀라운 발전을 가능하게 했다.
유니버설 근사 정리는 신경망의 이론적 표현력을 보장하지만, 실제로 효과적인 신경망을 구축하고 훈련시키는 것은 또 다른 문제다. 이론은 "무엇이 가능한가"를 알려주고, 실용적 혁신은 "어떻게 그것을 실현할 것인가"를 해결한다.
딥러닝의 성공은 바로 이 두 측면의 조화에서 비롯되었다. 유니버설 근사 정리가 신경망의 잠재력을 이론적으로 보장하고, 다양한 기술적 혁신이 그 잠재력을 실현 가능하게 만들었다.
오늘날 우리가 경험하는 딥러닝의 놀라운 능력은 수학적 이론의 견고한 기반 위에, 수많은 연구자들의 실용적 혁신이 쌓여 만들어진 결과물이다. 이는 인간의 지능을 흉내 내는 것을 넘어, 어쩌면 새로운 형태의 지능을 창조해나가는 여정의 시작일지도 모른다.