Nota redaktora: Jedną z centralnych technologii sztucznej inteligencji są sieci neuronowe. W tym wywiadzie Tam Nguyen, profesor informatyki na Uniwersytecie w Dayton, wyjaśnia, jak działają sieci neuronowe, programy, w których seria algorytmów próbuje symulować działanie ludzkiego mózgu.
Jakie są przykłady sieci neuronowych, które są znane większości ludzi?
Są liczne zastosowania sieci neuronowych. Jednym z powszechnych przykładów jest zdolność aparatu w smartfonie do rozpoznawania twarzy.
Samochody bez kierowcy są wyposażone w wiele kamer, które próbują rozpoznawać inne pojazdy, znaki drogowe i pieszych za pomocą sieci neuronowych i odpowiednio skręcać lub dostosowywać prędkość.
Sieci neuronowe stoją również za sugestiami tekstowymi, które można zobaczyć podczas pisania tekstów lub e-maili, a nawet w narzędziach do tłumaczenia dostępnych online.
Czy sieć musi posiadać wcześniejszą wiedzę o czymś, aby móc to sklasyfikować lub rozpoznać?
Tak, dlatego istnieje potrzeba wykorzystania big data w szkoleniu sieci neuronowych. Działają one, ponieważ są szkolone na ogromnych ilościach danych, aby następnie rozpoznawać, klasyfikować i przewidywać rzeczy.
W przykładzie samochodów bez kierowcy, musiałyby one spojrzeć na miliony obrazów i wideo wszystkich rzeczy na ulicy i być poinformowane, czym jest każda z tych rzeczy. Kiedy klikasz na zdjęciach przejść dla pieszych, aby udowodnić, że nie jesteś robotem podczas przeglądania Internetu, może to być również wykorzystane do pomocy w szkoleniu sieci neuronowej. Dopiero po obejrzeniu milionów przejść dla pieszych, pod różnymi kątami i w różnych warunkach oświetleniowych, samokierujący się samochód będzie w stanie je rozpoznać, gdy będzie jeździł w prawdziwym życiu.
Szerzej skomplikowane sieci neuronowe są w stanie uczyć się same. W filmie połączonym poniżej, sieć otrzymuje zadanie przejścia z punktu A do punktu B, i można zobaczyć, jak próbuje wszystkich rodzajów rzeczy, aby spróbować dostać model do końca kursu, aż znajdzie jeden, który robi najlepszą pracę.
Niektóre sieci neuronowe mogą pracować razem, aby stworzyć coś nowego. W tym przykładzie, sieci tworzą wirtualne twarze, które nie należą do prawdziwych ludzi, gdy odświeżasz ekran. Jedna sieć podejmuje próbę stworzenia twarzy, a druga próbuje ocenić, czy jest ona prawdziwa czy fałszywa. Idą tam i z powrotem, aż druga nie będzie w stanie stwierdzić, że twarz stworzona przez pierwszą jest fałszywa.
Ludzie również korzystają z big data. Człowiek postrzega około 30 klatek lub obrazów na sekundę, co oznacza 1800 obrazów na minutę i ponad 600 milionów obrazów rocznie. Dlatego powinniśmy dać sieciom neuronowym podobną możliwość korzystania z big data do treningu.
Jak działa podstawowa sieć neuronowa?
Sieć neuronowa to sieć sztucznych neuronów zaprogramowanych w oprogramowaniu. Próbuje ona symulować ludzki mózg, więc ma wiele warstw „neuronów”, tak jak neurony w naszym mózgu. Pierwsza warstwa neuronów otrzymuje dane wejściowe, takie jak obrazy, wideo, dźwięk, tekst itp. Te dane wejściowe przechodzą przez wszystkie warstwy, ponieważ wyjście jednej warstwy jest przekazywane do następnej.
Przyjrzyjmy przykład sieci neuronowej, która jest szkolona do rozpoznawania psów i kotów. Pierwsza warstwa neuronów rozbije ten obraz na obszary jasne i ciemne. Dane te zostaną przekazane do następnej warstwy w celu rozpoznania krawędzi. Kolejna warstwa spróbuje rozpoznać kształty powstałe z połączenia krawędzi. Dane przechodzą przez kilka warstw w podobny sposób, aby w końcu rozpoznać, czy obraz, który pokazałeś, to pies czy kot, zgodnie z danymi, na których zostały przeszkolone.
Sieci te mogą być niezwykle złożone i składają się z milionów parametrów, aby sklasyfikować i rozpoznać dane wejściowe, które otrzymują.
Dlaczego widzimy teraz tak wiele zastosowań sieci neuronowych?
Właściwie sieci neuronowe zostały wynalezione dawno temu, w 1943 roku, kiedy Warren McCulloch i Walter Pitts stworzyli model obliczeniowy sieci neuronowych oparty na algorytmach. Następnie pomysł ten przeszedł długą hibernację, ponieważ nie istniały jeszcze ogromne zasoby obliczeniowe potrzebne do budowy sieci neuronowych.
Ostatnio pomysł ten powrócił w wielkim stylu, dzięki zaawansowanym zasobom obliczeniowym, takim jak procesory graficzne (GPU). Są to układy, które były wykorzystywane do przetwarzania grafiki w grach wideo, ale okazuje się, że doskonale nadają się również do przetwarzania danych potrzebnych do uruchomienia sieci neuronowych. Dlatego właśnie jesteśmy obecnie świadkami rozprzestrzeniania się sieci neuronowych.