Universal Approximation Theorem

Wprowadzenie

Universal Approximation Theorem (UAT) (Twierdzenie o Uniwersalnej Aproksymacji) jest jednym z najważniejszych wyników teoretycznych w dziedzinie sieci neuronowych. Mówi, że sieci neuronowe z jedną ukrytą warstwą i odpowiednią nieliniową funkcją aktywacji mogą aproksymować dowolną ciągłą funkcję na zwartym zbiorze z dowolnie wysoką dokładnością.

Matematyczna postać

Niech f będzie ciągłą funkcją na zwartym zbiorze K ⊂ ℝⁿ. Wtedy dla każdej ε > 0 istnieje sieć neuronowa z jedną ukrytą warstwą taka, że:

sup |f(x) − NN(x)| < ε    (dla x ∈ K)

gdzie NN(x) jest wyjściem sieci neuronowej.

Historia

  • 1989 – George Cybenko udowodnił twierdzenie dla funkcji aktywacji sigmoid
  • 1989 – Kurt Hornik pokazał, że wynik jest prawdziwy dla szerszej klasy funkcji aktywacji
  • 1991 – Leshno, Lin, Pinkus i Schocken – uogólnienie na prawie wszystkie nieliniowe funkcje aktywacji

Znaczenie teoretyczne

  • Wyjaśnia, dlaczego sieci neuronowe są tak potężne
  • Pokazuje, że głębokość nie jest teoretycznie konieczna do aproksymacji (choć w praktyce jest bardzo pomocna)
  • Stanowi fundament dla całego deep learningu
  • Udowadnia, że sieci neuronowe są universal function approximators

Ograniczenia

  • Twierdzenie mówi tylko o istnieniu takiej sieci, nie o tym, jak ją wytrenować
  • Nie gwarantuje dobrej generalizacji
  • Nie mówi nic o efektywności obliczeniowej
  • W praktyce sieci z wieloma warstwami (deep) są znacznie lepsze ze względu na hierarchiczną reprezentację cech

Współczesny kontekst (2026)

Chociaż Universal Approximation Theorem jest wynikiem dla płytkich sieci, to w erze dużych modeli (LLM, Diffusion Models) jego znaczenie pozostaje fundamentalne. Nowsze teorie (np. Neural Tangent Kernel, Mean Field Theory) rozwijają zrozumienie dlaczego głębokie sieci działają tak dobrze w praktyce.

Powiązane pojęcia

Cybenko Theorem • Hornik Theorem • Approximation Theory • Neural Network Capacity • Deep Learning Theory • Kolmogorov-Arnold Representation Theorem • NTK (Neural Tangent Kernel)