Głęboka nauka opiera się na wielowarstwowych sieciach neuronowych. To jest bezpośrednia odpowiedź.
Sieć neuronowa przyjmuje dane wejściowe, przetwarza je przez kilka warstw i generuje wynik. Głęboka nauka wykorzystuje wiele takich warstw. Warstwy między danymi wejściowymi a wyjściowymi nazywają się warstwami ukrytymi. To one wykonują większość pracy.
Słowo „głęboka” odnosi się do głębokości. W tym kontekście głębokość oznacza liczbę warstw w sieci. Mała sieć może mieć jedną warstwę ukrytą. Głęboka sieć ma ich kilka.
Różnica ta ma znaczenie, ponieważ każda warstwa może uczyć się innej części danych wejściowych. Wczesne warstwy często uczą się prostych wzorców. Późniejsze warstwy łączą te wzorce w większe całości.
Weźmy pod uwagę obraz psa. Pierwsze warstwy mogą reagować na krawędzie i drobne zmiany koloru. Późniejsze warstwy mogą łączyć te krawędzie w kształty. Głębsze warstwy mogą wykorzystywać te kształty do identyfikacji uszu, oczu lub twarzy. Ostatnia warstwa produkuje wynik, taki jak „pies”.
Sieć nie otrzymuje gotowych reguł dotyczących uszu czy oczu. Ucząc się użytecznych wzorców na podstawie przykładów, porównuje swój wynik z poprawną odpowiedzią podczas treningu. Następnie zmienia swoje wewnętrzne wagi, aby zmniejszyć błąd.
Waga to liczba kontrolująca siłę połączenia. Każda neurona wykorzystuje wagi do łączenia wartości przychodzących. Następnie stosuje niewielkie obliczenie zwane funkcją aktywacji. Pozwala to sieci modelowanie wzorców, których nie potrafi uchwycić prosta zasada liniowa.
Trening powtarza ten proces wielokrotnie. Błąd przemieszcza się wstecz przez sieć. Proces ten nazywa się propagacją wsteczną (backpropagation). Informuje on sieć o tym, w jakim stopniu każda waga przyczyniła się do powstania błędu.
Następnie metoda optymalizacji dostosowuje wagi. Celem jest sprawienie, by przyszłe przewidywania były bliższe wartości docelowej. Sieć nie uczy się faktów w taki sam sposób, w jaki człowiek je studiuje. Zmienia jedynie liczby wewnątrz modelu.
Ten punkt jest łatwy do przeoczenia. Treningowana sieć może wydawać się rozumieć obraz, zdanie lub dźwięk. W praktyce nauczyła się jednak wzorców, które pomagają mapować dane wejściowe na wyjściowe. Jakość tego mapowania zależy od danych, architektury modelu oraz procesu szkolenia.
Dlaczego warstwy mają znaczenie
Jedna warstwa może nauczyć się użytecznych wzorców. Wiele warstw może budować wzorce etapami.
Taka zarchitektonizowana struktura nazywa się hierarchiczną nauką cech. Cecha to użyteczna część danych wejściowych. Na obrazie cechą może być krawędź, zmiana koloru, kształt lub tekstura. W tekście może to być wzorzec słów lub relacja między nimi.
Różne typy sieci wykorzystują warstwy w różny sposób. Konwolucyjna sieć neuronowa (CNN) została zaprojektowana do przetwarzania danych o strukturze siatkowej, takich jak obrazy. Jej filtry skanują fragmenty obrazu i uczą się wzorców wizualnych.
Model językowy wykorzystuje inną architekturę. Przetwarza tokeny, czyli małe fragmenty tekstu. Jego warstwy pomagają reprezentować znaczenie i relacje między tymi tokenami. Dokładna konstrukcja może się różnić, ale centralna idea pozostaje ta sama: kilka nauczonych transformacji zamienia surowe dane wejściowe w użyteczny wynik.
Dlatego głęboka nauka jest częścią uczenia maszynowego, a nie osobną dziedziną połączoną z nią tylko powierzchownie. Uczenie maszynowe uczy się zależności z danych. Głęboka nauka robi to za pomocą sieci neuronowych zawierających wiele warstw.
Warstwy redukują również potrzebę ręcznego konstruowania cech. W starszych systemach widzenia komputerowego inżynier mógł projektować reguły dla krawędzi, rogów czy tekstur. Głębokie sieci mogą nauczyć się wielu z tych cech podczas treningu.
Nie oznacza to jednak rezygnacji z pracy inżynierskiej. Dane nadal wymagają troskliwego przygotowania. Etykiety mogą zawierać błędy. Wejścia mogą być niezbalansowane. Model może nauczyć się niepożądanych wskazówek. Sieć może skupiać się na tle zamiast na obiekcie.
Duża sieć może również zapamiętywać przykłady z treningu. Nazywa się to przeuczeniem (overfitting). Model sprawdza się dobrze na danych, które już widział, ale źle na nowych danych. Więcej warstw nie rozwiązuje automatycznie tego problemu.
Czego głęboka nauka nie obiecuje
Głęboka nauka jest potężna, ponieważ potrafi reprezentować złożone zależności. Nie jest potężna dlatego, że każda dodatkowa warstwa poprawia każdą zadanie.
Głębszy model zazwyczaj ma więcej parametrów. Parametry to wartościLearnione podczas treningu. Większa liczba parametrów może dać modelowi większą pojemność, ale może też zwiększyć koszt treningu i utrudnić śledzenie błędów.
Model może zawieść, gdy nowe dane wejściowe różnią się od danych treningowych. System wizyjny wytrenowany na jasnych zdjęciach dziennych może zachowywać się inaczej przy słabym oświetleniu. Model językowy może wydać pewną siebie odpowiedź, nawet gdy jego nauczone wzorce nie wspierają wiarygodnego wyniku.
Interpretacja to kolejny limit. Sieć może dać użyteczną odpowiedź bez dostarczania prostego powodu, który człowiek mógłby sprawdzić. Narzędzia mogą badać aktywacje lub porównywać wyniki, ale te metody nie przekształcają każdej decyzji w jasne ludzkie wyjaśnienie.
Istnieje również podstawowy limit w samych danych. Sieć nie może nauczyć się użytecznego wzorca, którego nie pokazują przykłady treningowe. Jeśli dane pomijają ważny przypadek, model może sobie z nim poradź słabo.
Z tego względu słowo „głęboki” nie powinno być traktowane jako synonim słowa „poprawny”. Głębokość daje modelowi przestrzeń do nauki złożonych wzorców. Nie gwarantuje jednak jakości danych, uczciwego zachowania, silnego rozumowania ani bezpiecznego użytkowania.
Ta sama zasada dotyczy rozmiaru modelu. Większy model może rozwiązywać trudniejsze zadania, ale rozmiar wiąże się z kosztem i nowymi trybami awarii. Prawidłowym pytaniem nie jest to, jak głęboka może być sieć. Pytaniem jest, czy jej struktura pasuje do problemu i czy jej wyniki utrzymują się na danych, które mają znaczenie.
Kiedy tłumaczę głęboką naukę, wracam do przepływu informacji. Dane wejściowe wpadają do pierwszej warstwy. Każda warstwa je przekształca. Ostatnia warstwa zamienia wynik w prognozę. Trening zmienia wagi tak, aby ten przepływ stawał się coraz bardziej użyteczny z biegiem czasu.
To jest rdzeniowy mechanizm. Głęboka nauka opiera się na wielowarstwowych sieciach neuronowych, ponieważ warstwy mogą uczyć się i łączyć cechy na różnych poziomach. Sieć zamienia proste wzorce w bardziej złożone reprezentacje.
Pomysł jest jasny, ale wyniki nadal wymagają testowania. Model może wyglądać imponująco podczas treningu, a zawieść w rzeczywistym użyciu. Solidna praca sprawdza dane, przypadki błędów oraz lukę między wynikiem modelu a faktycznym zadaniem.
To praktyczne spojrzenie jest tym najbardziej użytecznym. The Model Log realizuje tę samą obietnicę: jeden praktyczny koncept sztucznej inteligencji, jeden działający przykład i jedna szczera analiza tego, co naprawdę działa.



