Funkcje i odwzorowania: dlaczego każdy model AI jest funkcją
Dziedzina, obraz, iniekcja, składanie, funkcja odwrotna, funkcje wielu zmiennych i wypukłość — z wykresami sigmoidy, ReLU i krajobrazu błędu.
Seria Podstawy AI Część 6 z 52
- Mapa sztucznej inteligencji: co jest czym i jak to do siebie pasuje
- Krótka historia sztucznej inteligencji: od Turinga do modeli językowych
- Dane, model, trening, inferencja: podstawowe pojęcia na jednym przykładzie
- Jak czytać zapis matematyczny: symbole, indeksy, sumy i kwantyfikatory
- Zbiory i relacje: klocki, z których składają się definicje w AI
- Funkcje i odwzorowania: dlaczego każdy model AI jest funkcją
- Logika i dowody: reguły, według których rozumuje AI
- Grafy i drzewa: struktura, na której opierają się przeszukiwanie i sieci neuronowe
- Algebra liniowa dla uczenia maszynowego: wektory, macierze i dlaczego AI głównie mnoży
- Pochodne, gradient i reguła łańcuchowa: jak model ustala, w którą stronę się uczyć
- Spadek gradientu: jak uczy się model
- Czym jest prawdopodobieństwo: od rzutu kostką do aksjomatów Kołmogorowa
- Prawdopodobieństwo warunkowe i twierdzenie Bayesa: jak zmienić ocenę, gdy dowiesz się czegoś nowego
- Zmienna losowa i dystrybuanta: jedna funkcja, która mówi o rozkładzie wszystko
- Funkcja gęstości i funkcja prawdopodobieństwa: dlaczego zmienna ciągła ma w punkcie prawdopodobieństwo zero
- Wartość oczekiwana, wariancja i kowariancja: gdzie leży rozkład, jak jest szeroki i co z czym się wiąże
- Przegląd rozkładów prawdopodobieństwa: Bernoulliego, dwumianowy, Poissona, jednostajny, normalny i wykładniczy
- Prawo wielkich liczb i centralne twierdzenie graniczne: dlaczego średnie zachowują się tak przewidywalnie
- Statystyka i estymacja parametrów: największa wiarygodność, MAP i przedziały ufności
- Teoria informacji: entropia, entropia krzyżowa i dywergencja KL — skąd się biorą funkcje straty
- Przeszukiwanie przestrzeni stanów: BFS, DFS, UCS i A* z animacjami
- Gry i przeciwnik: minimax, przycinanie alfa-beta i Monte Carlo tree search
- Spełnianie ograniczeń: backtracking, propagacja ograniczeń i AC-3 na sudoku i mapie czeskich krajów
- Logika i systemy z bazą wiedzy: wnioskowanie w przód i wstecz, rezolucja i systemy ekspertowe
- Planowanie: STRIPS, świat klocków, heurystyki z relaksacji i planowanie w agentach AI
- Przeszukiwanie lokalne i symulowane wyżarzanie: komiwojażer przez czeskie miasta wojewódzkie
- Algorytmy genetyczne: populacja, krzyżowanie, mutacja i selekcja na plecaku na wycieczkę
- Strategie ewolucyjne i programowanie genetyczne: od reguły jednej piątej do prawa Keplera
- Optymalizacja kolonią mrówek: jak ślad feromonowy znajduje krótką drogę
- Optymalizacja rojem cząstek: bezwładność, własne doświadczenie i doświadczenie roju
- Neuroewolucja: ewolucja wag i kształtu sieci neuronowych oraz algorytm NEAT
- Zbiory rozmyte i funkcje przynależności: jak zapisać „trochę ciepło”
- Logika rozmyta a prawdopodobieństwo: dlaczego „trochę ciepło” nie znaczy „prawdopodobnie ciepło”
- Logika rozmyta: t-normy, implikacje i reguły JEŻELI–TO
- Sterowanie rozmyte: Mamdani i Sugeno od wentylatora po wahadło na wózku
- Klasteryzacja rozmyta: algorytm fuzzy c-means i punkty między skupieniami
- Systemy neuro-rozmyte (ANFIS): reguły rozmyte, które uczą się z danych
- Łańcuchy Markowa: macierz przejścia, rozkład stacjonarny i PageRank
- Ukryte modele Markowa: algorytm Viterbiego i nieuczciwe kasyno
- Sieci bayesowskie: dlaczego trawa jest mokra i co z tego wynika dla zraszacza
- Filtr Kalmana: jak z niedokładnych pomiarów oszacować, gdzie jest samochód i jak szybko jedzie
- Rodzaje uczenia maszynowego: nadzorowane, nienadzorowane, półnadzorowane i inne
- Prompty, kontekst i RAG: jak dać modelowi właściwe informacje
- Wariacyjne autoenkodery (VAE): nowe obrazki z ciągłej przestrzeni latentnej
- Generatywne sieci przeciwstawne (GAN): fałszerz kontra detektyw
- Modele dyfuzyjne: jak z czystego szumu powstaje obraz
- Procesy decyzyjne Markowa: stany, akcje, nagrody i równania Bellmana
- Q-learning i DQN: uczenie się wartości akcji od tabeli po sieć neuronową
- Policy gradient i PPO: uczenie się bezpośrednio polityki
- Jak działa agent AI: model językowy w pętli z narzędziami
- Programowanie z agentami AI: zadanie, testy i kontrola
- Ocena i bezpieczeństwo systemów AI: jak mierzyć i jak pilnować
Pełny program serii Gotowe: 52 z 83 tematów
- Czym jest funkcja, dziedzina i obraz — i które funkcje spotkasz w AI najczęściej.
- Co znaczą iniekcja, suriekcja i bijekcja, dlaczego sieć neuronowa jest złożeniem funkcji i kiedy istnieje funkcja odwrotna.
- Dlaczego funkcja straty jest krajobrazem i dlaczego wypukłość ma znaczenie przy szukaniu jej dna.
Warto wiedzieć wcześniej: Jak czytać zapis matematyczny: symbole, indeksy, sumy i kwantyfikatory, Zbiory i relacje: klocki, z których składają się definicje w AI
Każdy model w sztucznej inteligencji jest funkcją. Klasyfikator spamu bierze e-mail i zwraca „spam” albo „nie-spam”, model językowy bierze tekst i zwraca prawdopodobieństwa następnego słowa, sieć neuronowa to funkcja złożona z tysięcy mniejszych funkcji. Uczenie nie jest wtedy niczym innym niż szukaniem właściwej funkcji.
Poprzednia część zakończyła się definicją funkcji jako szczególnej relacji. Tutaj do niej nawiążemy: jak funkcje wyglądają, jakie mają własności, jak się je składa i dlaczego ma to znaczenie w AI.
1. Czym jest funkcja
Definicja — funkcja (odwzorowanie)
Funkcja f : X → Y przyporządkowuje każdemu elementowi x ∈ X dokładnie jeden element f(x) ∈ Y. Słowo odwzorowanie znaczy to samo.
X to dziedzina, Y to przeciwdziedzina (zbiór docelowy). Obraz funkcji (zbiór wartości) to zbiór wartości, które naprawdę przyjmuje: f(X) = {f(x) : x ∈ X} ⊆ Y.
Wykres funkcji to zbiór par {(x, f(x)) : x ∈ X} ⊆ X × Y.
Funkcja to automat: wrzucasz wejście i wypada dokładnie jedno wyjście — za każdym razem to samo. Dziedzina mówi, co wolno wrzucić do automatu, przeciwdziedzina, co może z niego wypaść. Obraz to to, co z niego naprawdę wypada.
Różnicę między przeciwdziedziną a obrazem widać na sigmoidzie σ : ℝ → ℝ: wolno jej zwracać dowolną liczbę rzeczywistą, ale naprawdę zwraca tylko liczby między 0 a 1. Dlatego można z niej odczytywać prawdopodobieństwo.
2. Funkcje, które spotkasz w AI
Funkcję jednej zmiennej najlepiej zrozumiesz z jej wykresu. Te pojawiają się w sztucznej inteligencji wciąż od nowa — jako modele, jako funkcje aktywacji sieci neuronowych albo jako funkcje straty:
- Funkcja liniowa to najprostszy model — regresja liniowa nie jest niczym innym.
- Funkcja kwadratowa to podstawa błędu średniokwadratowego: kara rośnie z kwadratem odchylenia.
- Funkcja wykładnicza i logarytm są do siebie odwrotne; logarytm zamienia mnożenie na dodawanie i dlatego znajdziesz go w każdej stracie opartej na prawdopodobieństwie.
- Sigmoida i tanh „ściskają” dowolną liczbę do przedziału (0, 1), odpowiednio (−1, 1).
- ReLU przepuszcza liczby dodatnie, a ujemne zeruje. Jest tak prosta, że długo nie wierzono, że będzie działać — dziś jest najczęściej używaną funkcją aktywacji.
3. Iniekcja, suriekcja i bijekcja
Definicja — funkcja różnowartościowa, „na” i wzajemnie jednoznaczna
f : X → Y jest iniekcją (funkcją różnowartościową), gdy różne wejścia dają różne wyjścia: ∀x1, x2 : f(x1) = f(x2) ⇒ x1 = x2.
f jest suriekcją (funkcją „na”), gdy trafia w każdy element Y: ∀y ∈ Y ∃x ∈ X : f(x) = y, czyli f(X) = Y.
f jest bijekcją (funkcją wzajemnie jednoznaczną), gdy jest jednocześnie iniekcją i suriekcją.
Iniekcja: żadne dwa wejścia nie dzielą wyjścia — z wyjścia da się poznać, skąd przyszło. Suriekcja: nic w zbiorze docelowym nie zostaje opuszczone. Bijekcja: każdemu wejściu odpowiada dokładnie jedno wyjście i na odwrót — jak w szatni, gdzie każdy płaszcz ma swój numerek.
W AI prawie każdy model nie jest iniekcją: klasyfikator wysyła tysiące różnych zdjęć kotów do jednej klasy „kot”. Informacja o tym, które to było zdjęcie, ginie — i to jest w porządku, właśnie tego od klasyfikatora chcemy. Natomiast modele kompresyjne (autoenkodery) starają się być „prawie iniekcjami”, żeby z postaci skompresowanej dało się z powrotem odtworzyć wejście.
4. Składanie funkcji
Definicja — złożenie funkcji
Dla f : X → Y i g : Y → Z złożenie funkcji g ∘ f : X → Z jest zdefiniowane jako (g ∘ f)(x) = g(f(x)).
Składanie jest łączne, h ∘ (g ∘ f) = (h ∘ g) ∘ f, ale w ogólności nie jest przemienne: g ∘ f ≠ f ∘ g.
Składanie to linia montażowa: wyjście jednej maszyny trafia prosto do następnej. Liczy się kolejność — najpierw się ubrać, a potem umyć wychodzi inaczej niż na odwrót.
Weźmy f(x) = 2x + 1 i g(x) = x2:
(g ∘ f)(3) = g(f(3)) = g(7) = 49
(f ∘ g)(3) = f(g(3)) = f(9) = 19
Dokładnie tak zbudowana jest sieć neuronowa. Każda warstwa to funkcja — krok liniowy, po którym następuje funkcja aktywacji — a cała sieć jest ich złożeniem: f = f3 ∘ f2 ∘ f1. „Głęboka” sieć to po prostu długie złożenie. A kiedy w kolejnych częściach będziemy się uczyć różniczkować, reguła łańcuchowa powie, jak różniczkować właśnie funkcje złożone.
5. Funkcja odwrotna
Definicja — funkcja odwrotna
Funkcja f−1 : Y → X jest odwrotna do f : X → Y, gdy f−1(f(x)) = x dla wszystkich x ∈ X i f(f−1(y)) = y dla wszystkich y ∈ Y.
Twierdzenie. Funkcja odwrotna istnieje wtedy i tylko wtedy, gdy f jest bijekcją.
Funkcja odwrotna robi krok wstecz: z wyjścia ustala wejście. Da się to zrobić tylko wtedy, gdy żadne dwa wejścia nie prowadzą do tego samego wyjścia (inaczej nie byłoby jasne, dokąd wrócić) i gdy każde wyjście naprawdę dokądś prowadzi.
Funkcja wykładnicza i logarytm to para funkcji odwrotnych: ln(ex) = x. Funkcją odwrotną do sigmoidy jest logit, logit(p) = ln(p / (1 − p)) — z prawdopodobieństwa robi z powrotem dowolną liczbę rzeczywistą. Dlatego wyjścia sieci przed sigmoidą albo softmaxem nazywa się „logitami”.
6. Funkcje wielu zmiennych
Definicja — funkcja wielu zmiennych
Funkcja f : ℝn → ℝ przyporządkowuje wektorowi (x1, …, xn) jedną liczbę; funkcja f : ℝn → ℝm przyporządkowuje wektorowi wektor (funkcja wektorowa).
Większość prawdziwych funkcji bierze kilka wejść naraz: cena mieszkania zależy od powierzchni, lokalizacji i wieku. Warstwa sieci neuronowej bierze cały wektor i zwraca inny wektor.
Funkcję dwóch zmiennych możemy narysować jak mapę: każdy punkt (x, y) kolorujemy według wartości f(x, y). Oto funkcja Himmelblaua, klasyczny test algorytmów optymalizacji. Ciemne miejsca to doliny o małej wartości, białe punkty to cztery minima, w których funkcja jest równa zeru:
Dokładnie tak wyobraź sobie funkcję straty modelu: wejściem są jego parametry, wyjściem błąd. Trening to szukanie najniższego miejsca w krajobrazie — tyle że zamiast dwóch wymiarów krajobraz prawdziwego modelu ma ich miliony.
7. Monotoniczność i wypukłość
Definicja — funkcja rosnąca i wypukła
f jest rosnąca, gdy x1 < x2 ⇒ f(x1) < f(x2). Funkcja rosnąca jest zawsze iniekcją.
f jest wypukła, gdy dla wszystkich x1, x2 i t ∈ [0, 1] zachodzi f(tx1 + (1 − t)x2) ≤ t f(x1) + (1 − t) f(x2).
Twierdzenie. Każde minimum lokalne funkcji wypukłej jest jednocześnie globalne.
Funkcja wypukła ma kształt miski: odcinek między dwoma punktami wykresu leży zawsze nad wykresem. W misce jest tylko jedno dno — kto idzie ciągle w dół, znajdzie je. Przy funkcji niewypukłej możesz skończyć w mniejszym dołku i nigdy nie dowiedzieć się o głębszym obok.
wypukła: x², jedyne minimum
niewypukła: x⁴ − 3x² + x
Niewypukła funkcja x4 − 3x2 + x ma dwa minima: globalne przy x ≈ −1,30 o wartości ≈ −3,51 i lokalne przy x ≈ 1,13 o wartości ≈ −1,07. Kto zacznie szukać po prawej i idzie ciągle w dół, skończy w tym gorszym. Funkcje straty regresji liniowej i logistycznej są wypukłe — dlatego ich trening niezawodnie znajduje najlepsze rozwiązanie. Straty sieci neuronowych wypukłe nie są, a o tym, jak sobie z tym radzić, będzie część o metodzie spadku gradientu.
8. Funkcje w sztucznej inteligencji
Teraz całe uczenie maszynowe da się już wyrazić językiem funkcji:
- Model to funkcja fθ : X → Y z parametrami θ — cała rodzina funkcji, po jednej dla każdego wyboru parametrów.
- Funkcja straty L : Y × Y → ℝ mówi, ile kosztuje odpowiedź ŷ, gdy poprawne jest y.
- Uczenie to wybór jednej funkcji z rodziny: argmin po θ średniej straty — funkcji parametrów, którą przed chwilą rysowaliśmy jako krajobraz.
- Funkcje aktywacji (sigmoida, tanh, ReLU) robią z warstw liniowych nieliniową sieć; bez nich złożenie funkcji liniowych byłoby znowu tylko funkcją liniową.
9. Podsumowanie
- Funkcja przyporządkowuje każdemu wejściu dokładnie jedno wyjście; obraz to to, w co naprawdę trafia.
- Iniekcja nie pomyli dwóch wejść, suriekcja pokrywa cały cel, bijekcja ma funkcję odwrotną.
- Składanie funkcji to linia montażowa — a sieć neuronowa to złożenie warstw.
- Funkcja straty to krajobraz nad przestrzenią parametrów; wypukły krajobraz ma jedno dno, niewypukły może mieć ich kilka.
Masz inne zdanie? Napisz na support@coden-app.com.