Słownik AI

Sieć neuronowa – ang. Neural Network, NN

Sieć neuronowa – definicja, działanie, zastosowania

Czym jest Sieć neuronowa (Neural network)?

Sieć neuronowa to model obliczeniowy inspirowany sposobem, w jaki komórki nerwowe przetwarzają bodźce w mózgu zwierząt. W informatyce termin ten odnosi się do układu prostych jednostek zwanych neuronami, połączonych we warstwy i przekazujących między sobą sygnały numeryczne. Każdy neuron wykonuje niewielkie, łatwe do opisania działanie matematyczne (najczęściej ważone sumowanie wejść i nieliniową transformację), a cała sieć – składająca się z tysięcy, milionów lub nawet miliardów takich elementów – potrafi rozpoznawać skomplikowane zależności w danych.

Krótki rys historyczny

Pierwszy formalny opis sztucznego neuronu pojawił się w 1943 r., gdy Warren McCulloch i Walter Pitts opublikowali artykuł o sieci logicznych komórek nerwowych. W 1958 r. Frank Rosenblatt skonstruował perceptron – uproszczony model sieci uczącej się przez modyfikację wag. Rozwój przyspieszył w latach 80. dzięki algorytmowi propagacji wstecznej, szerzej spopularyzowanemu przez Davida Rumelharta, Geoffreya Hintona i Ronalda Williamsa w 1986 r. Warto wspomnieć o pracach Yann’a LeCuna nad rozpoznawaniem cyfr na obrazach czeków (1989) czy późniejszych osiągnięciach Alex Krizhevsky’ego, który w 2012 r. zaprezentował AlexNet – głęboką sieć konwolucyjną, znacząco poprawiającą wyniki w klasyfikacji obrazów.

Jak dokładnie działa Sieć neuronowa (Neural network)

Nauka sieci polega na stopniowej aktualizacji wag przypisanych połączeniom między neuronami, tak aby minimalizować zadaną funkcję błędu. Proces ten odbywa się iteracyjnie: dane wejściowe przechodzą w przód przez kolejne warstwy (propagacja), sieć generuje wynik, a następnie obliczany jest błąd względem etykiety lub wartości oczekiwanej. Dzięki regule łańcuchowej rachunku różniczkowego gradient tego błędu może „cofać się” na wcześniejsze warstwy, wyznaczając kierunek korekty wag. Najlepiej ilustruje to model głębokiej sieci konwolucyjnej, stosowanej w rozpoznawaniu obrazu: warstwy konwolucyjne wyłapują krawędzie, tekstury i kształty, a dalsze – bardziej abstrakcyjne struktury, aż do poziomu rozpoznawania obiektów.

Zastosowania w praktyce

Sieci neuronowe od lat stosuje się w rozpoznawaniu pisma odręcznego, nawigacji autonomicznych pojazdów czy systemach rekomendacyjnych. Przykładowo, smartfon potrafi automatycznie segregować zdjęcia według osób, gdyż sieć konwolucyjna analizuje twarze i przypisuje je do odpowiednich profili użytkownika. W mowie, modele akustyczno-językowe poprawiają transkrypcję, a w bioinformatyce – przyspieszają odkrywanie nowych leków przez przewidywanie trójwymiarowych struktur białek.

Zalety i ograniczenia

Głównym atutem jest zdolność do modelowania bardzo złożonych, nieliniowych relacji bez konieczności ręcznego projektowania cech. W porównaniu z klasyczną regresją liniową czy drzewami decyzyjnymi, sieć potrafi uchwycić subtelne korelacje w obrazach lub dźwięku. Jednocześnie wymaga dużych zbiorów danych treningowych, mocy obliczeniowej i starannego strojenia hiperparametrów. Zbyt silne dopasowanie do danych uczących prowadzi do overfittingu, a brak przejrzystości utrudnia wyjaśnienie wyników.

Na co uważać?

W praktyce szczególną uwagę należy zwrócić na jakość i reprezentatywność danych, gdyż sieć łatwo utrwala uprzedzenia znajdujące się w zbiorach treningowych. Złożone modele bywają podatne na ataki typu adversarial, gdzie niewielkie zakłócenie wejścia prowadzi do błędnej klasyfikacji. Istotnym aspektem jest także koszt energetyczny trenowania dużych architektur – szacuje się, że pojedyncze wytrenowanie sieci językowej może zużyć tyle energii, co lot transatlantycki.

Dodatkowe źródła

Wprowadzenie do tematu można znaleźć w artykule Sieć neuronowa – Wikipedia. Szczegółowy opis algorytmu propagacji wstecznej zamieszczono w publikacji Rumelharta, Hintona i Williamsa (1986) dostępnej na stronie Nature. Osoby zainteresowane zastosowaniami wizji komputerowej odsyłam do pracy ImageNet Classification with Deep Convolutional Neural Networks. Pogłębioną, matematyczną prezentację zawiera książka Deep Learning autorstwa Goodfellowa, Bengio i Courville’a.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *