Dane, model, trening, inferencja: podstawowe pojęcia na jednym przykładzie
Cała droga uczenia maszynowego na szacowaniu ceny mieszkania: dane i ich podział, model z parametrami, trening spadkiem gradientu, hiperparametry i współczynnik uczenia, ewaluacja, inferencja oraz słowniczek pojęć z odnośnikami do części serii.
Seria Podstawy AI Część 3 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
- Co oznaczają dane, model, trening i inferencja i jak się ze sobą wiążą.
- Różnicę między parametrami a hiperparametrami i dlaczego współczynnik uczenia ma znaczenie.
- Dlaczego trening jest drogi raz, a inferencja tania, ale częsta.
Warto wiedzieć wcześniej: Mapa sztucznej inteligencji: co jest czym i jak to do siebie pasuje
W całej serii powtarzają się cztery słowa: dane, model, trening i inferencja. Czy chodzi o rozpoznawanie cyfr, filtr spamu, czy duży model językowy, droga jest zawsze taka sama: z przykładów uczy się funkcja, która potem odpowiada na nowe pytania. W tej części przejdziemy tę drogę w całości na najmniejszym możliwym przykładzie — szacowaniu ceny mieszkania na podstawie powierzchni — i przy każdym kroku powiemy, jak wygląda w dużych modelach. Na końcu jest słowniczek pojęć z odnośnikami do części, w których dowiesz się o nich więcej.
Nawiązuje do części Mapa sztucznej inteligencji i Krótka historia AI.
1. Dane: przykłady z poprawnymi odpowiedziami
Definicja — dane, cechy i etykiety
Dane to przykłady, z których model się uczy. Każdy przykład ma cechy (wejścia, które o nim znamy), a przy uczeniu nadzorowanym także etykietę (poprawną odpowiedź). Dane dzieli się na trzy części: treningową (z niej model się uczy), walidacyjną (według niej stroimy ustawienia i wybieramy model) i testową (używa się jej raz na końcu, aby wynik uczciwie oszacował, jak model poradzi sobie na nowych danych).
Podręcznik z zadaniami i odpowiedziami na końcu. Na zadaniach treningowych się uczysz, próbny sprawdzian pokaże, czy to umiesz, a prawdziwy sprawdzian (którego wcześniej nie widziałeś) pokaże, jak jest naprawdę.
Nasze dane są wymyślone: 60 mieszkań, przy każdym powierzchnia (cecha) i cena w milionach czeskich koron (etykieta). Cena rośnie z powierzchnią, ale nie dokładnie — dwa równie duże mieszkania różnią się położeniem, stanem, piętrem. Dzielimy je na 40 treningowych, 10 walidacyjnych i 10 testowych.
Definicja — zbiór danych formalnie
Zbiór danych to skończony ciąg par D = ((x(1), y(1)), …, (x(n), y(n))), gdzie x(i) ∈ ℝd jest wektorem d cech i-tego przykładu, a y(i) jego etykietą — liczbą rzeczywistą w regresji, elementem skończonego zbioru klas w klasyfikacji. Zakłada się, że przykłady są wzajemnie niezależne i pochodzą z tego samego (nieznanego) rozkładu co przyszłe zapytania.
Podział danych to trzy rozłączne części Dtr, Dval, Dtest, które razem dają D; każdy przykład należy do dokładnie jednej z nich. U nas d = 1 (powierzchnia), n = 60, a części mają 40, 10 i 10 przykładów.
Tabela, w której każdy wiersz to jedno mieszkanie: kolumny z cechami i ostatnia kolumna z ceną. Rozłączne znaczy, że żadne mieszkanie nie jest w dwóch częściach naraz — inaczej „prawdziwy sprawdzian” zawierałby przykłady, które model już widział. A założenie tego samego rozkładu mówi, że mieszkania testowe pochodzą z tego samego rynku co te, o które będziemy później pytać; bez niego błąd na teście nie mówiłby nic o przyszłości.
W dużych modelach językowych danymi są biliony tokenów tekstu z sieci, książek i kodu; cechą jest dotychczasowy tekst, a etykietą następny token (część o pretrenowaniu). Zasada jest ta sama.
2. Model: funkcja z parametrami
Definicja — model i parametry
Model to funkcja, która z wejścia oblicza wyjście i zawiera regulowane liczby — parametry (w sieciach neuronowych wagi). Kształt funkcji wybieramy my; wartości parametrów znajduje uczenie. Nasz model to prosta: cena = w · powierzchnia + b, z dwoma parametrami w (o ile rośnie cena z każdym metrem) i b (gdzie prosta się zaczyna).
Model to maszyna z pokrętłami. Nasza ma dwa pokrętła. Model językowy ma ich miliardy — ale to wciąż maszyna, która z wejścia oblicza wyjście, a jej „wiedza” to nic innego niż ustawienie pokręteł.
ŷ = w · x + b
- ŷ
- przewidywana cena; daszek odróżnia ją od rzeczywistej ceny y, z którą ją potem porównujemy
- w
- nachylenie — ile milionów dodaje każdy dodatkowy metr; bez niego cena w ogóle nie zależałaby od powierzchni
- x
- powierzchnia w m², jedyna cecha; to jedyne, co model wie o mieszkaniu
- b
- wyraz wolny — „cena mieszkania o zerowej powierzchni”; bez niego prosta musiałaby przechodzić przez początek układu, a ceny mieszkań nie zmierzają do zera
3. Trening: strojenie parametrów
Definicja — funkcja straty i trening
Funkcja straty to liczba, która mówi, jak bardzo model myli się na danych treningowych — u nas średnia kwadratów błędów (MSE). Trening szuka parametrów o jak najmniejszej stracie, najczęściej spadkiem gradientu: oblicza, w którą stronę strata rośnie, i przesuwa parametry małym krokiem w przeciwną. Jedno przejście przez wszystkie dane treningowe to epoka.
Mgła na górze i cel: zejść do doliny. Widzisz tylko zbocze pod nogami, więc robisz krok w dół, znowu się rozglądasz, kolejny krok. Każdy krok to jedna zmiana ustawienia pokręteł, a dolina to ustawienie, przy którym model myli się najmniej.
Nasza funkcja straty, błąd średniokwadratowy (MSE), zapisana w całości:
J(w, b) = (1/n) ∑i=1n ( w xi + b − yi )2
- J(w, b)
- strata jako funkcja parametrów — dane są ustalone, zmieniać wolno nam tylko w i b, dlatego w nawiasie są tylko one
- (1/n) ∑
- średnia ze wszystkich n = 40 mieszkań treningowych — żeby strata była porównywalna dla danych różnej wielkości i żadne mieszkanie nie miało pierwszeństwa
- w xi + b − yi
- błąd na i-tym mieszkaniu: przewidywanie ŷi minus rzeczywista cena; dodatni, gdy model przestrzeli, ujemny, gdy nie doszacuje
- 2
- kwadrat — żeby błędy dodatnie i ujemne się nie znosiły, duże błędy ważyły więcej niż małe, a stratę dało się gładko różniczkować
Twierdzenie — gradient MSE dla prostej
Dla J jak wyżej i ŷi = w xi + b zachodzi
∂J/∂w = (2/n) ∑i (ŷi − yi) · xi, ∂J/∂b = (2/n) ∑i (ŷi − yi).
Dowód. Pochodna sumy jest sumą pochodnych. Dla jednego składnika, z reguły łańcuchowej: ∂/∂w (w xi + b − yi)2 = 2 (w xi + b − yi) · xi, ponieważ wnętrze nawiasu ma względem w pochodną xi; względem b ma pochodną 1. ∎
Każde mieszkanie „ciągnie” parametry proporcjonalnie do tego, jak bardzo model się na nim pomylił. Przy w siła ciągnięcia jest jeszcze mnożona przez powierzchnię: błąd przy dużym mieszkaniu mówi o nachyleniu więcej niż błąd przy kawalerce.
Jeden krok spadku gradientu przesuwa następnie oba parametry przeciwnie do gradientu:
w ← w − η · ∂J/∂w
- w
- parametr przed krokiem i po nim — strzałka ← oznacza „nadpisz nową wartością”, a nie równość
- −
- idziemy przeciwnie do gradientu, czyli w dół: stratę chcemy zmniejszyć, a nie zwiększyć
- η
- współczynnik uczenia — jak długi krok robimy; gradient obowiązuje tylko w otoczeniu punktu, więc krok musi być mały (zob. następny rozdział)
- ∂J/∂w
- gradient — w którą stronę i jak stromo rośnie strata, gdy zwiększymy w
Cały trening jako algorytm (dokładnie tak liczy to wykres poniżej):
w, b = 0, 0 # parametry początkowe
for epocha in range(200): # hiperparametr: liczba epok
gw = gb = 0
for plocha, cena in trenovaci_data: # jedna epoka = wszystkie dane
x = plocha / 100 # powierzchnia w setkach m²
chyba = (w * x + b) - cena # ŷ − y
gw += 2 * chyba * x / n # ∂J/∂w
gb += 2 * chyba / n # ∂J/∂b
w, b = w - eta * gw, b - eta * gb # krok w dół, eta = współczynnik uczenia
Powierzchnię podstawiamy w setkach m² (52 m² → 0,52). W metrach gradient względem w wychodziłby kilkadziesiąt razy większy niż względem b i jeden współczynnik uczenia nie pasowałby do obu parametrów jednocześnie. Takie skalowanie cech jest w praktyce powszechne. Dlatego w poniżej wychodzi w milionach na 100 m².
Przykład — pierwszy krok spadku
W punkcie w = b = 0 model wszędzie przewiduje 0, więc błąd na każdym mieszkaniu wynosi −yi. Gradient jest zatem
∂J/∂w = −2 · (1/n) ∑ xi yi = −2 · 5,678 = −11,36, ∂J/∂b = −2 · ȳ = −2 · 6,88 = −13,76,
gdzie 5,678 to średnia iloczynów powierzchni (w setkach m²) i ceny, a ȳ = 6,88 to średnia cena w milionach. Ze współczynnikiem uczenia η = 0,5:
w ← 0 − 0,5 · (−11,36) = 5,68, b ← 0 − 0,5 · (−13,76) = 6,88.
(w jest tu w milionach na 100 m².) Strata spada z 54,2 do 17,7. Oba gradienty były ujemne (model wszędzie zaniżał), więc oba parametry wzrosły.
Zaczynamy od w = 0 i b = 0 (model mówi „wszystko kosztuje zero”, strata 54,2) i wykonujemy 200 epok spadku gradientu. Wynik: w = 0,0910 miliona za m², czyli mniej więcej 91 000 CZK za każdy dodatkowy metr, oraz b = 0,35 miliona. Dokładne rozwiązanie metodą najmniejszych kwadratów (dla prostej da się je obliczyć wzorem, zob. część o regresji liniowej) różni się dopiero na czwartym miejscu po przecinku. Spadek dotarł tam, gdzie miał.
4. Hiperparametry: co ustawiamy sami
Definicja — hiperparametry
Hiperparametry to ustawienia uczenia, których model nie potrafi nauczyć się sam i które wybieramy my: kształt i rozmiar modelu, współczynnik uczenia (jak duży jest krok spadku gradientu), liczba epok, rozmiar partii (ile przykładów używa się w jednym kroku). Stroi się je według wyników na danych walidacyjnych, nigdy na testowych.
Parametry to to, czego uczeń się nauczy. Hiperparametry to to, jak go uczymy: jak szybko, jak długo, ile przykładów naraz.
Ze współczynnikiem 0,05 model uczy się powoli — po 200 epokach ma stratę 0,48 i wciąż nie jest u celu. Z 0,5 w kilkadziesiąt epok dociera do 0,165. Z 1,6 kroki są tak duże, że model przeskakuje dolinę coraz dalej, a strata eksploduje — po pięciu epokach wynosi 46 310 590. Dobór właściwego współczynnika uczenia to jedno z najczęstszych strojeń w całym uczeniu maszynowym.
Dla prostej i MSE da się dokładnie obliczyć, gdzie leży granica między „powoli” a „eksploduje”. Strata jest funkcją kwadratową parametrów, więc jej krzywizna jest wszędzie taka sama i opisują ją dwie liczby — krzywizna w stromym i w płaskim kierunku doliny (wartości własne λ macierzy Hessego, tabeli drugich pochodnych).
et+1 = (1 − η λ) · et
- et+1
- odległość parametrów od najlepszych wartości po kolejnej epoce (w jednym z dwóch kierunków) — tę chcemy sprowadzić do zera
- 1
- bez kroku odległość pozostałaby taka, jaka była; krok odejmuje od niej część η λ. Jeśli |1 − η λ| < 1, odległość maleje, jeśli jest większe niż 1, rośnie jak ciąg geometryczny
- η
- współczynnik uczenia — jedyne, co tu wybieramy my
- λ
- krzywizna straty w danym kierunku — zadana przez dane, nie przez nas; w kierunku stromym gradient jest duży, a więc i krok jest długi
- et
- odległość przed epoką; wzór się powtarza, więc po t epokach et = (1 − η λ)t e0
Twierdzenie — kiedy spadek gradientu jest zbieżny
Jeśli strata jest kwadratowa z macierzą Hessego H, której wartości własne to 0 < λmin ≤ λmax, to spadek gradientu ze stałym współczynnikiem uczenia η jest zbieżny do minimum z każdego punktu początkowego wtedy i tylko wtedy, gdy 0 < η < 2 / λmax.
Dowód. Odchylenie od minimum w układzie współrzędnych wektorów własnych H zmienia się po składowych jako et+1 = (1 − η λ) et. Wszystkie składowe dążą do zera wtedy i tylko wtedy, gdy |1 − η λ| < 1 dla obu λ, tj. 0 < η λ < 2; najostrzejszy jest warunek dla λmax. ∎
Przykład — granica dla naszych mieszkań
Dla MSE prostej H = (2/n) · [[∑xi2, ∑xi], [∑xi, n]] = [[1,193, 1,435], [1,435, 2]] (powierzchnia w setkach m²). Wartości własne wychodzą λmax = 3,087 i λmin = 0,106, więc spadek jest zbieżny dla η < 2 / 3,087 = 0,648.
η = 0,05: mnożnik w płaskim kierunku to 1 − 0,05 · 0,106 = 0,9947; po 200 epokach zostaje 0,9947200 ≈ 35 % pierwotnego odchylenia — dlatego model nie jest u celu.
η = 0,5: mnożniki to 0,544 i 0,947; po 200 epokach zostaje 0,947200 ≈ 2 · 10−5 odchylenia — praktycznie nic.
η = 1,6 > 0,648: w kierunku stromym |1 − 1,6 · 3,087| = 3,94. Odchylenie z każdą epoką mniej więcej się czterokrotnie zwiększa, a strata, która rośnie z jego kwadratem, 15,5-krotnie — na wykresie z 801 do 12 395.
Dolina to wąskie koryto: w poprzek strome, wzdłuż prawie płaskie. Współczynnik uczenia musi być na tyle mały, by poradzić sobie ze stromymi ścianami, inaczej przeskoczysz na przeciwległe zbocze wyżej, niż byłeś. Tyle że wtedy wzdłuż koryta posuwasz się bardzo powoli. Ten konflikt między kierunkiem stromym a płaskim to powód, dla którego w dużych modelach używa się sprytniejszych odmian spadku.
5. Jak dobry jest model
Błąd na dowolnej części danych D′ z m przykładami mierzymy pierwiastkiem z błędu średniokwadratowego (RMSE):
RMSE = √(1/m) ∑(x, y) ∈ D′ (ŷ(x) − y)2
- √
- pierwiastek przenosi wynik z (mln CZK)² z powrotem do milionów koron — liczbę można czytać jako „typowy błąd”
- (1/m) ∑D′
- średnia z wybranej części — treningowej, walidacyjnej albo testowej; każda odpowiada na inne pytanie
- (ŷ(x) − y)2
- kwadrat błędu na jednym mieszkaniu, tak samo jak w stracie — mierzymy tym, co minimalizowaliśmy
Średni błąd (pierwiastek z MSE) wynosi na danych treningowych 0,41 miliona, na walidacyjnych 0,60, a na testowych 0,51 miliona, czyli mniej więcej pół miliona koron. Lepiej z jedną cechą być nie może: szum, który dodaliśmy do cen (położenie, stan), ma właśnie taką wielkość i z powierzchni nie da się go odgadnąć. Kto chce dokładniejszego oszacowania, potrzebuje więcej cech — a nie sprytniejszej prostej. Gdybyśmy natomiast model uczynili zbyt elastycznym, nauczyłby się szumu danych treningowych na pamięć (przeuczenie) i na nowych mieszkaniach myliłby się bardziej.
6. Inferencja: model w działaniu
Definicja — inferencja
Inferencja to użycie wytrenowanego modelu: parametry są ustalone, a model tylko oblicza wyjście dla nowego wejścia. Nie uczy się przy tym (chyba że wyraźnie trenujemy go ponownie). W modelach językowych inferencją jest każda odpowiedź — model generuje token po tokenie i dla każdego tokenu wykonuje jedno przejście przez sieć.
Trening to nauka, inferencja to egzamin — albo praca. Uczy się raz i długo, pracuje się potem codziennie i szybko. Kiedy piszesz z chatbotem, nie uczysz go (to dzieje się kiedy indziej i inaczej), tylko go używasz.
Nasz model dla mieszkania o powierzchni 65 m² szacuje 6,27 miliona. Kosztuje to 3 operacje arytmetyczne. Trening kosztował mniej więcej 72 000 operacji. W dużych modelach proporcja jest podobna, tylko w innej skali: trening trwa miesiące na tysiącach kart graficznych, jedna odpowiedź sekundy. Tyle że odpowiedzi są miliardy, więc w przypadku najczęściej używanych modeli inferencja łącznie może pochłonąć więcej obliczeń niż ich trening — i dlatego tyle wysiłku idzie w to, by modele zmniejszyć i przyspieszyć.
Przykład — inferencja i liczba operacji
Podstawiamy nauczone parametry w = 9,0957 miliona na 100 m² (tj. 0,0910 na m²) i b = 0,3538; powierzchnię w setkach m², x = 0,65:
ŷ = 9,0957 · 0,65 + 0,3538 = 5,9122 + 0,3538 = 6,2660 ≈ 6,27 miliona.
To 3 operacje: przeliczenie jednostek (dzielenie przez sto), mnożenie i dodawanie. Jedna epoka treningu wykonuje dla każdego z 40 mieszkań przewidywanie, błąd i oba wkłady do gradientu — liczymy mniej więcej 9 operacji na mieszkanie (dokładna liczba zależy od tego, co uznamy za jedną operację), czyli 40 · 9 · 200 = 72 000 operacji na cały trening. Stosunek trening : jedno przewidywanie wynosi 24 000 : 1.
7. Słowniczek
Pojęcia z tej części i gdzie w serii dowiesz się o nich więcej:
- dane
- przykłady, z których model się uczy — u nas 60 mieszkań z powierzchnią i ceną — szczegółowo
- cecha
- wartość wejściowa opisująca przykład (powierzchnia); obraz ma tysiące cech — piksele — szczegółowo
- etykieta
- poprawna odpowiedź, którą chcemy przewidywać (cena) — szczegółowo
- dane treningowe, walidacyjne i testowe
- na pierwszych model się uczy, na drugich stroi się ustawienia, trzecich używa się raz na końcu — szczegółowo
- model
- funkcja z regulowanymi parametrami, która z wejścia oblicza wyjście — szczegółowo
- parametr (waga)
- liczba wewnątrz modelu, której wartość jest uczona; modele językowe mają ich miliardy — szczegółowo
- funkcja straty
- liczba mierząca, jak bardzo model się myli; uczenie ją zmniejsza — szczegółowo
- trening (uczenie)
- szukanie parametrów, przy których strata na danych treningowych jest mała — szczegółowo
- gradient
- kierunek, w którym strata rośnie najszybciej; trening idzie w przeciwną stronę — szczegółowo
- epoka
- jedno przejście przez wszystkie dane treningowe — szczegółowo
- partia (batch)
- ile przykładów używa się w jednym kroku uczenia — szczegółowo
- hiperparametr
- ustawienie, które wybieramy sami i którego model się nie uczy (współczynnik uczenia, liczba epok, rozmiar modelu) — szczegółowo
- przeuczenie
- model uczy się danych treningowych na pamięć i zawodzi na nowych danych — szczegółowo
- inferencja
- użycie wytrenowanego modelu na nowym wejściu — to, co się dzieje, gdy pytasz chatbota — szczegółowo
- token
- fragment tekstu, z którym pracuje model językowy — szczegółowo
- embedding
- wektor liczb reprezentujący słowo, obraz lub inny obiekt — szczegółowo
- kontekst i prompt
- cały tekst, który model otrzymuje podczas inferencji — szczegółowo
8. Podsumowanie
- Dane = przykłady z cechami i etykietami, podzielone na część treningową, walidacyjną i testową.
- Model = funkcja z parametrami; trening szuka parametrów o najmniejszej stracie, zwykle spadkiem gradientu.
- Nasz model nauczył się 91 000 CZK za m² — tak samo jak dokładne obliczenie.
- Hiperparametry wybieramy sami: z małym współczynnikiem uczenia trening jest powolny, z dużym się rozpada.
- Błąd na teście (0,51 mln) odpowiada szumowi w danych; lepszy model potrzebuje więcej cech.
- Inferencja = użycie wytrenowanego modelu; jest tania dla jednego zapytania, ale zapytań jest ogromnie dużo.
Chcesz to wypróbować? Poproś agenta AI, żeby pobrał prawdziwe dane o cenach mieszkań w twoim mieście, podzielił je na trzy części i wytrenował tę samą prostą — a potem żeby dodał drugą cechę (na przykład odległość od centrum) i porównał błąd na teście.
Masz inne zdanie? Napisz na support@coden-app.com.