Przejdź do treści
rozumiem.ai

Lekcja 2.3

Sieci neuronowe i głębokie uczenie

Miliony neuronów w warstwach potrafią rozpoznać twarz, głos i sens zdania.

7 minQuiz: 3 pytania

2.3

Pojedynczy neuron rysuje tylko proste granice. Ale gdy połączysz ich wiele w warstwy, dzieje się coś niezwykłego: sieć zaczyna rozpoznawać twarze, głos i sens zdań. Zobaczmy, jak to możliwe.

Każdy rozdział zaczyna się prosto. Chcesz więcej? Otwórz Zaawansowany, a w nim Ekspert.

01

Warstwa po warstwie

Prosto

Sieć neuronowa to wiele neuronów ułożonych w warstwy. Każda warstwa dostaje wyniki poprzedniej i przetwarza je dalej.

Przy rozpoznawaniu zdjęcia pierwsze warstwy mogą wychwytywać krawędzie i plamy koloru, dalsze — kształty takie jak oko czy ucho, a ostatnie — całe obiekty: „to kot”.

Wyobraź to sobie tak

„Sieć jest jak zespół przygotowujący przedstawienie: jedni robią dekoracje, inni światło, a reżyser łączy wszystko w całość.”

Sieć składa się z warstwy wejściowej, warstw ukrytych i warstwy wyjściowej. Warstwy ukryte wytwarzają cechy pośrednie, których nikt nie zaprogramował — sieć sama je odkrywa. Ich znaczenie nie musi odpowiadać pojęciom znanym człowiekowi ani być przypisane do jednego neuronu.

Głębokie uczenie to po prostu sieci z wieloma warstwami. Im więcej warstw, tym bardziej złożone wzory sieć może składać z prostszych.

Częsty błąd

Im głębsza sieć, tym zawsze lepiej.

Jak jest naprawdę

Większa głębokość może pomóc, ale utrudnia trening i zwiększa koszty. Wynik zależy od zadania i danych.

Bez nieliniowych aktywacji złożenie wielu warstw liniowych pozostaje jednym przekształceniem liniowym — sama liczba warstw nie daje wtedy żadnej nowej mocy. To nieliniowość między warstwami pozwala sieci przybliżać złożone funkcje.

W głębokich sieciach równie ważne jak liczba parametrów są inicjalizacja wag, normalizacja i geometria optymalizacji. ResNet (He i in., 2015) wprowadził połączenia rezydualne: blok uczy się poprawki F(x), a wynikiem jest x + F(x). To ułatwiło trening sieci mających nawet setki warstw.

02

Jak sieć się uczy

Prosto

Sieć uczy się podobnie jak pojedynczy neuron, tylko na wielką skalę. Zgaduje odpowiedź, sprawdza, jak bardzo się pomyliła, i poprawia miliony wag po troszeczku.

Ten cykl powtarza się miliardy razy. Każda poprawka jest maleńka, ale razem dają sieć, która trafia coraz częściej.

Najpierw propagacja w przód oblicza przewidywanie. Funkcja straty porównuje je z prawidłową odpowiedzią. Następnie propagacja wsteczna przechodzi przez sieć od końca i wyznacza gradienty — informację, w którą stronę i jak mocno zmienić każdą wagę. Na końcu optymalizator aktualizuje wagi.

Propagacja wsteczna i optymalizator to dwa różne etapy: pierwsza tylko liczy kierunki zmian, drugi decyduje, jak duży krok zrobić. Cały cykl powtarza się dla kolejnych porcji danych.

  1. 1Oblicz przewidywanie
  2. 2Zmierz stratę
  3. 3Wyznacz gradienty
  4. 4Zaktualizuj wagi
  5. 5Powtórz i sprawdź na teście

Propagacja wsteczna stosuje regułę łańcuchową różniczkowania do całej sieci, dzięki czemu gradient względem wszystkich parametrów liczy się kosztem porównywalnym z jednym przejściem w przód. Najprostszy krok to spadek gradientu: θ ← θ − η∇L.

W praktyce używa się ulepszonych optymalizatorów. Adam (Kingma i Ba, 2014) dobiera wielkość kroku osobno dla każdego parametru na podstawie historii gradientów. Trening na losowych porcjach danych (mini-batchach) przyspiesza obliczenia i pomaga uniknąć złych ustawień.

Zapis formalny

θ ← θ − η · ∇θ L

Krok spadku gradientowego: parametry θ przesuwamy przeciwnie do gradientu straty; η to tempo uczenia.
03

Różne sieci do różnych zadań

Prosto

Nie ma jednej sieci do wszystkiego. Do zdjęć używa się sieci, które przyglądają się obrazowi małymi fragmentami. Do tekstu — sieci, które potrafią łączyć słowa odległe od siebie w zdaniu.

Najsłynniejszy dziś typ sieci to Transformer. To on napędza chatboty, o których porozmawiamy w następnej lekcji.

Sieci konwolucyjne (CNN) przesuwają po obrazie małe filtry, które wykrywają lokalne wzory, dlatego tak dobrze radzą sobie ze zdjęciami. Transformery łączą informacje z różnych miejsc sekwencji dzięki mechanizmowi uwagi — każde słowo może „spojrzeć” na każde inne.

Architekturę i wielkość sieci dobiera się do danych, budżetu obliczeń i wymagań niezawodności. Największa sieć nie zawsze jest najlepszym wyborem — zwłaszcza gdy ma działać szybko w telefonie.

Transformer (Vaswani i in., 2017) zastąpił rekurencję mechanizmem uwagi w tłumaczeniu maszynowym. Przyspieszył równoległy trening na długich sekwencjach, ale standardowa pełna uwaga ma koszt rosnący kwadratowo z długością tekstu — stąd liczne prace nad wydajniejszymi wariantami.

Ocena architektury powinna obejmować koszt inferencji, zużycie pamięci i odporność na zmiany danych, a nie wyłącznie wynik w jednym teście.

Zapamiętaj

  • Sieci uczą się hierarchii cech: od prostych do złożonych.
  • Transformer i mechanizm uwagi to serce dzisiejszych modeli.
  • Rozmiar modelu mierzy się liczbą parametrów.
Sieć neuronowa

Sygnał płynie przez sieć

wybierz obraz → uruchom

KOTPIESWejście: pikseleKrawędzieKształtyWynik

Każda kolejna warstwa łączy proste cechy w bardziej złożone.

Ciekawostka

W 2024 roku badacze Anthropic znaleźli w modelu Claude cechę odpowiadającą mostowi Golden Gate. Gdy ją wzmocnili, model zaczął twierdzić, że… sam jest tym mostem.

W liczbach

175 mld

parametrów miał GPT-3 w 2020 roku

Źródło: Brown i in., OpenAI 2020

Ewaluacja · 3 pytania

Sprawdź się

Pytanie 01 / 03

Co oznacza „głębokie” w głębokim uczeniu?

Dokąd dalej

Następny przystanek: Jak działa model językowy?

Sieć neuronowa to warstwy prostych neuronów, które same odkrywają coraz bardziej złożone cechy. Uczy się w pętli: przewidywanie, błąd, gradienty, poprawka — powtórzone miliardy razy.

Najsłynniejsza dziś sieć, Transformer, potrafi pisać teksty. Jak dokładnie to robi? W ostatniej lekcji tego poziomu rozbierzemy model językowy na części: tokeny, przewidywanie i losowanie kolejnego słowa.