Czym jest deep learning i jak się go stosuje

Używanie Siri lub dowolnego asystenta głosowego w dzisiejszych czasach stało się częścią naszego codziennego życia, aby szybko i łatwo wykonywać różne zadania. Nie wszyscy jednak wiedzą, że wykorzystując potencjał tych narzędzi, zbliżamy się do głębokiego uczenia. Termin ten, w naszym języku oddany jako głębokie uczenie, niektórzy nazywają go uczeniem hierarchicznym, i który jest związany na dwa sposoby z koncepcją uczenia maszynowego i, bardziej ogólnie, z koncepcją sztucznej inteligencji, czyli AI, od angielskiego Artificial Intelligence. Jeśli uczenie maszynowe jest specyficzną gałęzią sztucznej inteligencji, to w ten sam sposób technologia, o której mowa w tym poradniku, jest podzbiorem tej pierwszej i leży u podstaw czegoś znacznie szerszego niż proste, wielopoziomowe uczenie maszynowe. W związku z tym, jak już powiedzieliśmy, zastosowania są niezliczone, a my naturalnie przejdziemy do wspólnego odkrywania głównych z nich w kolejnych akapitach.


Definicja głębokiego uczenia

Techniczna definicja głębokiego uczenia lub głębokiego uczenia jest taka, że klasa algorytmów automatycznego uczenia się, czyli obszar badań automatycznego uczenia się, wspomnianego już uczenia maszynowego i sztucznej inteligencji, która opiera się na różnych poziomach reprezentacji, odpowiadających hierarchii cech czynników lub pojęć, gdzie pojęcia wysokiego poziomu są definiowane na podstawie pojęć niskiego poziomu. Definicja Obserwatorium Sztucznej Inteligencji przy Politecnico di Milano jest jeszcze bardziej zrozumiała dla nie-ekspertów: głębokie uczenie jest w rzeczywistości opisane jako zestaw technik opartych na sztucznych sieciach neuronowych zorganizowanych w różnych warstwach, gdzie każda warstwa oblicza wartości dla następnej, tak że informacje są przetwarzane w coraz bardziej kompletny sposób.

Nie przypadkiem więc wśród architektur głębokiego uczenia wymienia się najczęściej głębokie sieci neuronowe, konwolucję głębokich sieci neuronowych, głębokie sieci przekonań oraz rekurencyjne sieci neuronowe. Wszystkie one reprezentują podejście, zgodnie z którym uczenie odbywa się dzięki danym uzyskanym za pomocą algorytmów, głównie obliczeń statystycznych.

Zrozumiałeś zatem, że duża ilość danych przetwarzanych przez sieci neuronowe podąża "ścieżką" bardzo podobną do tej, która ma miejsce w ludzkim mózgu, co inspiruje funkcjonowanie tych samych sztucznych sieci. Wielu badaczy i naukowców jest znanych ze swojego zaangażowania w deep learning, takich jak Andrew Yan-Tak Ng, założyciel Google Brain, Ian J. Goodfellow, uznany za jednego z najlepszych na świecie innowatorów poniżej 35 roku życia przez MIT Boston, Yoshua Bengio, Ilya Sutskever i Geoffrey Everest Hinton, jedna z kluczowych postaci w dziedzinie sztucznej inteligencji.

To właśnie ich wkład pozwala nam obecnie zdefiniować głębokie uczenie jako system wykorzystujący klasę algorytmów uczenia maszynowego, które przede wszystkim wykorzystują różne poziomy kaskadowych jednostek nieliniowych do ekstrakcji i transformacji cech, przy czym każdy kolejny poziom wykorzystuje wyjście z poprzedniego poziomu jako dane wejściowe. Algorytmy te polegają następnie na tzw. nienadzorowanym uczeniu się wielu hierarchicznych poziomów cech danych, tworząc ich hierarchiczną reprezentację. Nie tylko to, sposób, w jaki są one zaprojektowane, uczą się wielu poziomów reprezentacji, które odpowiadają różnym poziomom abstrakcji, w konsekwencji generując hierarchię pojęć.

Nie było aż do około 2000 roku, że ludzie zaczęli mówić o głębokim uczeniu. Jednak w stosunkowo krótkim czasie, dzięki postępowi technologicznemu i coraz bardziej wyrafinowanym sieciom neuronowym, jej zastosowania mnożą się jak szalone. Pierwsze prace na temat wielowarstwowych sieci neuronowych zostały wykonane i opublikowane przez japońskiego naukowca Kunihiko Fukushima, który w 1975 roku opracował model kognitronu, a następnie neokognitronu. Ten sam uczony, wprowadził ideę obszaru połączeń dla neuronów, która rozwinęła się w konwolucyjne sieci neuronowe.

W latach 80-tych, analiza wielowarstwowych sztucznych sieci neuronowych była kontynuowana w bardziej zdecydowany sposób, ale dopiero w ostatniej dekadzie, szczególnie dzięki pojawieniu się Big Data i przezwyciężeniu pewnych ograniczeń, pokazują one cały swój potencjał w zróżnicowanych sektorach. Obecnie systemy głębokiego uczenia, oprócz wielu innych udogodnień, pozwalają np. na identyfikację obiektów na zdjęciach i filmach, transkrypcję mowy na tekst, czy też identyfikację i interpretację zainteresowań użytkowników sieci, zwracając wyniki wyszukiwania bliższe ich konkretnym potrzebom.

Jak działa głębokie uczenie

Jak wyjaśniono w poprzednim akapicie poradnika, głębokie uczenie opiera całe swoje funkcjonowanie na klasyfikacji i sukcesywnej selekcji najistotniejszych danych w celu osiągnięcia jak najbardziej optymalnych wniosków. Funkcjonowanie, które naśladuje działanie naszego biologicznego mózgu, albo w celu sformułowania poprawnej odpowiedzi na pytanie, albo w celu dojścia do rozwiązania konkretnego problemu, albo nawet w celu wydedukowania logicznej hipotezy. Niektórzy z Was pamiętają może słynny przypadek AlphaGo, oprogramowania, które w 2016 roku pokonało mistrza świata w Go, kilka lat przed czasem.

Deep learning zachowuje się więc tak samo jak ludzkie rozumowanie, ale z wykorzystaniem sztucznych sieci neuronowych, o których mówiliśmy, czyli matematyczno-komputerowych modeli opartych na funkcjonowaniu biologicznych sieci neuronowych, które z kolei zbudowane są z połączeń informacyjnych. W rzeczywistości sieć neuronowa jest systemem typu adaptacyjnego: może modyfikować swoją strukturę, złożoną z węzłów i względnych połączeń, opierając się na danych zewnętrznych, jak i wewnętrznych, które następnie łączą się i przecinają sieć neuronową w fazie uczenia się i rozumowania.

Uczenie jest wtedy zarówno automatyczne, jak i typu "głębokiego", gdzie przez głębokie rozumiemy na większej liczbie poziomów. Ten rodzaj uczenia się okazał się zdecydowanie potężniejszy niż poprzednie technologie AI, do tego stopnia, że przyciągnął ostatnio bezprecedensową uwagę mediów. A także, co nieuniknione, uwagę naukową i gospodarczą. Ograniczeń nie brakuje, ale z pewnością głębokie uczenie można odnotować za jakość uzyskiwanych wyników, z odpowiednią ogromną przewagą w nauce rozwiązywania złożonych problemów rozpoznawania wzorców. Choć zapotrzebowanie na ogromną moc obliczeniową może być ograniczeniem, skalowalność głębokiego uczenia wraz ze wzrostem ilości dostępnych danych i algorytmów jest tym, co odróżnia je od uczenia maszynowego.

To pierwsze w istocie poprawia swoją wydajność wraz ze wzrostem ilości danych, podczas gdy to drugie po osiągnięciu pewnego poziomu wydajności nie jest już w stanie udoskonalać swojej wydajności. Dzieje się tak dlatego, że złożona sieć neuronowa uczy się autonomicznie, jak analizować surowe dane i jak wykonać określone zadanie. Komputer jest więc w stanie "uczyć się sam", bez instrukcji człowieka, po wstępnej fazie szkolenia. Ostatecznym celem jest oszczędność czasu i zasobów, zwłaszcza w rutynowych pracach, które są wykonywane znacznie sprawniej i szybciej niż jakikolwiek człowiek, bez jakiegokolwiek wysiłku i z zachowaniem praktycznie stałego poziomu jakości.


Zastosowania głębokiego uczenia

Głębokie uczenie

W tej dziedzinie poczyniono ogromne postępy, choć nawet dziś niektóre decyzje w głębokim uczeniu nie są w pełni zrozumiałe z czysto ludzkiej perspektywy. Nie przeszkadza to, jak jest obecnie jasne, w ciągłym doskonaleniu technologii związanych z głębokim uczeniem się, w większym stopniu dzięki ilości dostępnych danych i dostępności infrastruktur o bardzo wysokiej wydajności, w szczególności w odniesieniu do procesorów centralnych i procesorów graficznych. Nie powinno dziwić, że deep learning jest obecnie stosowany w różnych gałęziach przemysłu, a przede wszystkim, że w najbliższej przyszłości będzie nadal stosowany i rozszerzany na wiele innych obszarów naszego codziennego życia. Wystarczy pomyśleć o samochodach bez kierowcy, dronach-robotach do dostarczania paczek, rozpoznawaniu i syntezie głosu i języka dla chatbotów i robotów usługowych, czy rozpoznawaniu twarzy dla celów bezpieczeństwa.

Są też zastosowania medyczne w radiologii do wczesnego wykrywania niektórych form raka, czy możliwość łatwego identyfikowania sekwencji genetycznych niektórych chorób w celu produkcji skuteczniejszych leków. Można też wspomnieć o automatycznym kolorowaniu obrazów czarno-białych, tłumaczeniu symultanicznym, klasyfikacji obiektów na zdjęciu, automatycznym generowaniu pisma i tekstu wraz z intuicyjnym podziałem na podpisy. Podobnie opracowano automatyczną grę, w której system sam uczy się jak grać w daną grę. Na zakończenie, nie do przecenienia są możliwości deep learningu w demaskowaniu nieprawidłowości w działaniach systemów dzięki ich niezależnemu i ciągłemu uczeniu się, zwłaszcza w przypadku niebezpiecznych cyberataków czy "inteligentnych" nagrań wideo instalowanych na najbardziej zaawansowanych lotniskach.

Podkreślić jednak należy, że deep learning nie może i nie powinien być najlepszym rozwiązaniem technologicznym dla każdego problemu. Wielu badaczy, zwłaszcza w ciągu ostatnich pięciu lat, jest przekonanych, że wkrótce zostaną znalezione bardziej efektywne, a być może i tańsze metody, które sprawią, że hierarchiczne uczenie się oparte na pracy ludzkiego mózgu stanie się przestarzałe. Jakby to było przelotne zjawisko, pomniejszone, by reprezentować tylko jedno z wielu niesamowitych! - przejawów sztucznej inteligencji.