top of page
Zdjęcie autoraHubert Taler

D jak Deep Learning (Uczenie głębokie)| Alfabet AI

Aby przybliżyć temat Deep Learningu, czyli głębokiego uczenia, nie sposób nie poruszyć tematu sztucznych sieci neuronowych, na których cała ta koncepcja się opiera.

Sieci neuronowe to sztuczny system przetwarzania informacji (w dzisiejszych czasach stuprocentowo oparty o oprogramowanie - nie ma w nim elektronicznych czy fizycznych części), który symuluje w pewnym stopniu działanie ludzkiego mózgu. W pewnym stopniu - czyli nie stanowią one modelu rzeczywistych struktur mózgu, jedynie pożyczają ogólną zasadę działania.


Sieci neuronowe to nie nowinka

Sieci neuronowe nie są nowością w informatyce. Jako sieci jednokierunkowe (bez propagacji wstecznej), pojawiły się już w latach 40 20. wieku. Były to tzw. perceptrony. Jak definiuje Wikipedia:

Działanie perceptronu polega na klasyfikowaniu danych pojawiających się na wejściu i ustawianiu stosownie do tego wartości wyjścia

I ta zasada działania do dziś odnosi się do wszystkich sieci neuronowych, których używamy. Co potrafiły perceptrony? Na przykład stworzony przez Franka Rosenblatta i Charlesa Whightmana perceptron był wytrenowany do rozpoznawania znaków alfanumerycznych. Było to w 1957 roku.


Sieć neuronowa z ukrytymi warstwami (Autorstwa John Salatas - https://jsalatas.ictpro.gr/implementation-of-elman-recurrent-neural-network-in-weka/, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=56969207)

Od tamtego czasu struktury sieci neuronowych mocno się skomplikowały. Po sieciach jednokierunkowych pojawiły się sieci rekurencyjne, w których połączenia między neuronami stanowią graf z cyklami oraz inne ich rodzaje np. sieci samoorganizujące się.

Po co nam te sieci

No właśnie, po co właściwie ludzkość tworzyła od ponad 80 lat te sztuczne sieci neuronowe? Ze względu na ich unikalną cechę: pozwalają rozwiązywać praktyczne problemy bez konieczności ich formalizowania matematycznego.

O co chodzi? Możemy np. znaleźć zależność między podawanymi lekami i wynikami leczenia, rozpoznać jaką emocję wyraża fotografia twarzy, lub zaproponować najkorzystniejszą kombinację akcji w naszym portfolio, bez pisania złożonych równań opisujących rzeczywistość. Tym bardziej, że często takich równań nie jesteśmy w stanie napisać - a dzięki sieciom neuronowym „piszą” się one same, odzwierciedlając zależności pomiędzy wejściem i wyjściem w sieci.

Jak to możliwe? No cóż, cudów nie ma. Po prostu musimy dostarczyć sieci tysiące, lub dziesiątki tysięcy przykładów danych obserwacyjnych (aby pociągnąć temat z przykładu: kombinacji aktywów w portfelu i wyniku finansowego), by po takim „nauczeni się”, mogła samodzielnie rozwiązywać kolejne.

Tak, podobnie jak człowiek, sieć neuronowa, uczy się na przykładach.

I tak naprawdę, przy okazji wyjaśniliśmy też tytułowe pojęcie głębokiego uczenia (ang. deep learning). Jest to metoda trenowania wielowarstwowej sieci neuronowej, bez dokładnego znania parametrów tego uczenia. Tego typu metoda pozwala na wykrycie skomplikowanych wzorców w danych.


Pierwszy perceptron - sieć można było obejrzeć fizycznie

Sprawdzam! Czy deep learning zadziałał?

Ciekawy jest sposób, w jaki sprawdza się tak wytrenowaną sieć. Inżynier lub naukowie trenujący taką sieć, zostawia sobie próbkę oryginalnych danych (np. 10% danych), i nie są one używane do trenowania sieci. Po wytrenowaniu, sprawdza jej odpowiedzi na tej próbce - dane wyjściowe powinny w jak największym stopniu odzwierciedlać dane rzeczywiste. Skoro działa na danych rzeczywistych, które mamy, jest szansa, że będzie działać też na nowo zebranych danych.

Oznacza to oczywiście też, że wszelkie nieprawidłowości w zbieraniu danych (np. nieświadome ich zawężenie tzw. data bias), też spowodują, że nasz wytrenowany model nie będzie odpowiednio przygotowany na analizę danych rzeczywistych. Podobnie też tego typu systemy są podatne na celowe ataki - czyli celowe „zatrucie” (ang data contamination) danych wejściowych.

Do czego tego używać?

Systemy oparte o deep learning używane są powszechnie w rozpoznawaniu mowy, rozpoznawaniu obrazów, klasyfikowania obrazów np. w celach medycznych, rekonstrukcję obrazów lub innych mediów, które zostały uszkodzone lub są niekompletne. Istnieje też kategoria zastosowań tego typu systemów w celach związanych z cyberbezpieczeństwem (np. Wykrywanie ataków lub nietypowych zachowań).

Uczenie głębokie jest z nami na dobre, i jest nieuchronnie powiązane z budowaniem sieci neuronowych. Używamy go na codzień, zarówno dzwoniąc na zautomatyzowaną infolinię, jak i pozwalając smartfonowi wykrywać zdjęcia pejzaży czy selfie wśród zrobionych przez nas fotografii.

13 wyświetleń0 komentarzy

Ostatnie posty

Zobacz wszystkie

Comentarios


bottom of page