ML Atlas

Dane referencyjne · 1797 wierszy · 64 cech

Digits (ręcznie pisane cyfry 8×8)

1797 obrazków ręcznie pisanych cyfr 0–9 w rozdzielczości 8×8 pikseli, każdy piksel w skali 0–16. Mały kuzyn MNIST, który mieści się w przeglądarce.

Dlaczego ten zbiór

Pozwala trenować prawdziwą sieć neuronową na obrazach w kilka sekund w przeglądarce i zobaczyć macierz pomyłek: które cyfry myli się ze sobą i dlaczego.

Podgląd

0
1
2
3
4
5
6
7
8
9

Kolumny

KolumnaZnaczenieTypBrakiZakres / najczęstsze
targetcyfra 0–9kategorie (liczby)00, 1, 2, 3, 4, 5, 6, 7, 8, 9

Źródło i licencja

Alpaydin, E., Kaynak, C. (1998). UCI Machine Learning Repository. Licencja: CC BY 4.0. Strona zbioru.

Hasła, w których pojawia się ten zbiór

Rozkład według wartości osobliwych (SVD)SVD rozkłada dowolną macierz na obrót, skalowanie i obrót. Obcięcie najmniejszych wartości osobliwych daje najlepsze możliwe przybliżenie niskiego rzędu.Minimum lokalne i globalneMinimum lokalne to dolina krajobrazu straty, z której gradient nie wyprowadzi; globalne to najgłębsza. W dużych sieciach problemem są raczej siodła niż pułapki.Obrazy jako tablice liczb InteraktywneDla komputera obraz to tablica liczb: jasności pikseli w kanałach kolorów. Spłaszczenie do wektora gubi sąsiedztwo pikseli, z którego korzystają sieci CNN.Augmentacja danychAugmentacja tworzy nowe przykłady przez przekształcenia, które nie zmieniają etykiety, np. przesunięcia. Uczy model niezmienniczości bez zbierania danych.Regresja logistyczna czy drzewo decyzyjneRegresja logistyczna wygrywa, gdy wpływ cech jest w miarę liniowy i potrzebne są wiarygodne prawdopodobieństwa. Drzewo wygrywa przy progach i interakcjach.Las losowy czy gradient boostingGradient boosting po dostrojeniu bywa o włos dokładniejszy, las losowy jest odporniejszy na złe ustawienia. Na małych danych różnice giną zwykle w szumie.XGBoost, LightGBM czy CatBoostPo dostrojeniu XGBoost, LightGBM i CatBoost dają niemal identyczne wyniki. Różnią się ustawieniami domyślnymi, obsługą kategorii, szybkością i ekosystemem.Metryki dla wielu klas InteraktywneW klasyfikacji wieloklasowej precyzję, recall i F1 liczy się dla każdej klasy osobno i uśrednia. Sposób uśredniania decyduje, czy liczą się rzadkie klasy.Krzywe uczenia InteraktywneKrzywa uczenia pokazuje wynik treningowy i walidacyjny modelu w zależności od liczby przykładów. Mówi, czy więcej danych pomoże, czy model jest za prosty.Krzywe walidacyjne InteraktywneKrzywa walidacyjna pokazuje wynik treningowy i walidacyjny w zależności od jednego hiperparametru. Widać, gdzie model jest za prosty, a gdzie przeuczony.Pułapki PCA InteraktywnePCA łatwo zepsuć: brak standaryzacji, mylenie wariancji z ważnością, wyciek danych, nadinterpretacja ładunków i liniowość tam, gdzie struktura jest zakrzywiona.t-SNE — mapy danych w 2Dt-SNE rysuje dane wielowymiarowe na płaszczyźnie tak, by bliscy sąsiedzi zostali blisko. Dobrze pokazuje skupiska, ale odległości i rozmiary grup mylą.UMAP — redukcja wymiaruUMAP buduje graf najbliższych sąsiadów i układa go na płaszczyźnie. Daje mapy jak t-SNE, jest szybszy i rzutuje nowe punkty, ale ma te same pułapki.PCA, t-SNE czy UMAPPCA to szybki, liniowy rzut zachowujący wariancję, dobry do potoków. t-SNE i UMAP to nieliniowe mapy do oglądania sąsiedztw, nie do mierzenia odległości.AutoenkoderAutoenkoder to sieć, która uczy się odtwarzać własne wejście przez wąskie gardło. Kod w gardle to skompresowany opis danych, nieliniowe uogólnienie PCA.Uczenie półnadzorowaneUczenie półnadzorowane łączy kilka opisanych przykładów z mnóstwem nieopisanych. Działa, gdy granice klas biegną przez rzadkie obszary danych.Uczenie samonadzorowaneUczenie samonadzorowane tworzy etykiety z samych danych: zakrywa fragment i każe go odgadnąć. Tak uczą się modele językowe i wizyjne bez ręcznego opisywania.Funkcja aktywacji (ReLU, sigmoid, tanh) InteraktywneFunkcja aktywacji to nieliniowość nakładana na sumę ważoną neuronu. Bez niej sieć wielowarstwowa jest liniowa, a jej kształt decyduje o przepływie gradientu.Perceptron wielowarstwowy (MLP) InteraktywneMLP to sieć neuronowa z warstwami ukrytymi: każda składa sumy ważone i nieliniowość, dzięki czemu sieć uczy się zależności, których model liniowy nie uchwyci.Warstwa ukryta InteraktywneWarstwa ukryta to neurony między wejściem a wyjściem sieci. Każdy uczy się cechy pośredniej, dzięki czemu sieć rysuje granice, których jedna prosta nie da.Szerokość warstwySzerokość warstwy to liczba jej neuronów, czyli część pojemności sieci. Za mało — sieć nie wyrazi reguły; za dużo — rośnie koszt i ryzyko uczenia się szumu.Przejście w przód (forward pass) InteraktywnePrzejście w przód to obliczenie wyniku sieci: dane płyną warstwa po warstwie przez mnożenie przez wagi i funkcje aktywacji, aż do predykcji i straty.Softmax InteraktywneSoftmax zamienia wektor logitów na rozkład prawdopodobieństwa: każdy wynik podnosi do e^z i dzieli przez sumę, więc wyjścia są dodatnie i sumują się do 1.Automatyczne różniczkowanie (autograd) InteraktywneAutomatyczne różniczkowanie liczy dokładne pochodne programu: rozkłada go na proste operacje i łączy ich pochodne regułą łańcuchową, bez wzorów i przybliżeń.Krajobraz funkcji stratyKrajobraz straty to wartość błędu jako funkcja wszystkich wag sieci. Jego kształt wyjaśnia, dlaczego trening działa mimo niewypukłości i od czego zależy wynik.Learning rate (współczynnik uczenia) InteraktywneLearning rate to współczynnik skalujący krok wzdłuż ujemnego gradientu przy aktualizacji wag. Za mały spowalnia trening, za duży daje oscylacje i rozbieżność.Harmonogramy współczynnika uczeniaHarmonogram zmienia współczynnik uczenia w trakcie treningu: duże kroki na początku przyspieszają postęp, małe na końcu pozwalają osiąść w minimum.Mini-batch i rozmiar batchaMini-batch to porcja przykładów, na której liczy się jeden gradient i robi jeden krok. Mały batch daje szumny, częsty krok; duży gładki, ale rzadszy i droższy.Jak dobrać rozmiar minipaczkiZacznij od minipaczki 32–256 albo od największej, jaka mieści się w pamięci. Większa paczka to mniej kroków: podnieś współczynnik uczenia lub liczbę epok.Epoka treningu InteraktywneEpoka to jedno pełne przejście algorytmu uczącego przez cały zbiór treningowy. Trening składa się z wielu epok, bo jeden krok zmienia wagi tylko trochę.Optymalizatory: SGD, momentum, Adam InteraktywneOptymalizator zamienia gradient na krok. SGD idzie wzdłuż gradientu, momentum dodaje rozpęd, a Adam skaluje krok każdej wagi jej typowym gradientem.SGD czy Adam — który optymalizatorAdam szybciej zbiega i wybacza zły współczynnik uczenia, więc to dobry wybór domyślny. SGD z momentem po dostrojeniu mu dorównuje, a bywa lepszy w uogólnianiu.Inicjalizacja wag InteraktywneInicjalizacja wag to wybór wartości startowych przed treningiem. Losowy start łamie symetrię neuronów, a skala Xavier lub He trzyma sygnał w rozsądnym zakresie.Losowy seed i szczęśliwa inicjalizacjaLosowe wagi startowe dają przypadkową granicę decyzji, która czasem trafia blisko prawdziwej. Wynik zależy od seeda: jeden przebieg to jedno losowanie.Zanikający i eksplodujący gradient InteraktywneGradient w głębokiej sieci to iloczyn czynników z kolejnych warstw: gdy są mniejsze od 1, zanika, gdy większe, rośnie wykładniczo i wagi uciekają do NaN.Martwe neurony ReLU i nasycenie InteraktywneNeuron nasycony (sigmoid lub tanh na skraju) albo martwy (ReLU zawsze poniżej zera) ma gradient bliski zeru, więc przestaje się uczyć, choć zajmuje miejsce.Normalizacja wsadowa i warstwowa InteraktywneNormalizacja wsadowa i warstwowa sprowadzają aktywacje neuronów do średniej 0 i wariancji 1, co stabilizuje i przyspiesza trening głębokich sieci.Dropout InteraktywneDropout w czasie treningu losowo wyłącza część neuronów, więc sieć nie może polegać na pojedynczych połączeniach i lepiej uogólnia na nowe dane.Wczesne zatrzymanie (early stopping)Early stopping kończy trening, gdy strata walidacyjna przestaje spadać, i wraca do najlepszych wag. Działa jak regularyzacja, ale wymaga cierpliwości.Niemonotoniczność treninguTrafność treningowa nie musi rosnąć monotonicznie: krok gradientu obniża stratę średnio, ale może zepsuć pojedyncze przykłady, bo wszystkie dzielą te same wagi.Pojemność sieci neuronowej InteraktywnePojemność sieci to zakres funkcji, jakie może ona odwzorować. Za mała nie uchwyci wzorca, duża zapamięta nawet losowe etykiety, a mimo to potrafi uogólniać.Katastrofalne zapominanieKatastrofalne zapominanie to utrata starej wiedzy, gdy sieć trenuje się tylko na nowym zadaniu. Replay miesza stare przykłady z nowymi, by gradient dbał o oba.Embeddingi (osadzenia) InteraktywneEmbedding to wektor liczb reprezentujący obiekt, np. słowo, produkt czy obraz, tak że obiekty podobne dla zadania leżą blisko siebie w przestrzeni.Przykłady kontradyktoryjnePrzykład kontradyktoryjny to wejście zmienione niemal niezauważalnie, lecz celowo tak, by model się pomylił. Ujawnia, że sieci opierają się na kruchych cechach.Splot (konwolucja) InteraktywneSplot przesuwa mały filtr wag po obrazie i w każdym miejscu liczy sumę iloczynów. Ten sam wzorzec wykrywa wszędzie, przy ułamku parametrów warstwy gęstej.Sieć konwolucyjna (CNN) InteraktywneCNN to sieć zbudowana z warstw splotowych i poolingu, która składa obraz z hierarchii wzorców: od krawędzi, przez fragmenty, po całe obiekty.Pooling, krok i dopełnienie InteraktywneDopełnienie (padding) chroni brzegi obrazu, krok (stride) przeskakuje pozycje filtra, a pooling streszcza okienka. Razem ustalają rozmiar map cech w CNN.Połączenia rezydualne (ResNet)Połączenie rezydualne dodaje wejście bloku do jego wyjścia: y = x + F(x). Gradient ma wtedy skrót przez sieć, więc da się trenować setki warstw.Uczenie transferoweTransfer learning to start treningu z wag modelu wytrenowanego wcześniej, a nie z losowych. Wagi leżą blisko dobrego rozwiązania, więc trzeba mniej danych.RNN, LSTM czy transformerTransformer najlepiej łączy odległe elementy sekwencji i uczy się równolegle. LSTM sprawdza się przy strumieniach i małej pamięci, zwykła RNN przy krótkich.CNN czy transformer (ViT) dla obrazówSieć splotowa ma wbudowane założenia o obrazach i uczy się z mniej licznych danych. Transformer wizyjny jest elastyczniejszy, ale wymaga dużych zbiorów.Autoenkoder wariacyjny (VAE)VAE koduje dane jako rozkład w małej przestrzeni ukrytej i odtwarza z niego wejście. Kara KL porządkuje tę przestrzeń, więc można z niej losować próbki.Modele dyfuzyjneModel dyfuzyjny uczy się usuwać szum z obrazu. Zaczynając od czystego szumu i odszumiając go krok po kroku, tworzy całkiem nowe obrazy.Nagroda a etykieta InteraktywneEtykieta mówi, co należało zrobić, i daje gradient wprost w tę stronę. Nagroda mówi tylko, czy wybrana akcja była dobra — kierunek trzeba odgadnąć z prób.Jak wybrać model uczenia maszynowegoNie ma modelu najlepszego zawsze. Zacznij od punktu odniesienia i modelu liniowego, dodaj las lub boosting, a wybór rozstrzygnij walidacją krzyżową.Ile danych potrzeba do uczenia modeluNie ma uniwersalnej liczby. Odpowiada krzywa uczenia: gdy wynik wciąż rośnie z liczbą przykładów, więcej danych pomoże; gdy stoi, zmień model lub cechy.Przeuczenie modelu — lista kontrolnaLista kontrolna przeuczenia: luka trening–walidacja, przeciek w przetwarzaniu, duplikaty i grupy, zbyt wiele prób na walidacji i test na losowych etykietach.Twierdzenie „nie ma darmowego lunchu”Uśredniony po wszystkich możliwych problemach żaden algorytm uczenia nie jest lepszy od innego. Przewaga zawsze bierze się z założeń dopasowanych do danych.Brzytwa Ockhama w uczeniu maszynowymSpośród modeli równie dobrze wyjaśniających dane wybieraj prostszy. W ML to rozsądna heurystyka chroniąca przed przeuczeniem, ale nie twarde prawo.Prawo BenfordaW wielu zbiorach liczb pierwszą cyfrą jest 1 w około 30% przypadków, a 9 tylko w 5%. Kiedy prawo Benforda działa, dlaczego i kiedy zawodzi.Hipoteza rozmaitościDane wysokowymiarowe, jak obrazy czy dźwięk, skupiają się blisko powierzchni o znacznie niższym wymiarze. Dlatego uczenie z nich jest w ogóle wykonalne.Hipoteza losu na loteriiDuża losowa sieć zawiera małą podsieć, która trenowana od tych samych wag startowych dorównuje całej sieci. Dobrze potwierdzone w małej skali, sporne w dużej.Prawa skalowania modeliBłąd dużych modeli maleje jak potęga liczby parametrów, danych i obliczeń. Chinchilla: ok. 20 tokenów na parametr. Ekstrapolacja tych praw jest ryzykowna.Gorzka lekcja (Sutton)W historii AI ogólne metody skalujące się z obliczeniami wygrywały z ręcznie wbudowaną wiedzą ludzką. To interpretacja historii, nie twierdzenie, i ma krytyków.Paradoks MoravecaTo, co ludziom przychodzi bez wysiłku — widzenie, chodzenie, chwytanie — okazuje się dla maszyn najtrudniejsze, a to, co trudne dla ludzi, bywa dla nich łatwe.