Co to jest sieć neuronowa? Jak działa?

Sieci neuronowe jako jeden z działów sztucznej inteligencji budzą ogromne zainteresowanie naukowców i obserwatorów nowych technologii. Popularne były już w latach 70-tych XX wieku, jednak ich przyspieszony rozwój rozpoczął się dopiero w XXI wieku. Z tego artykułu dowiesz się więcej na temat historii powstania sieci neuronowych, co to w ogóle jest, jak działa oraz jakie ma zastosowanie. Zapraszam do lektury…

Jaka jest historia powstania sieci neuronowych?

Sztuczne sieci neuronowe powstały, ponieważ ludzie chcieli zrozumieć jak działa ludzki mózg. Już w roku 1943 pojawiła się pierwsza koncepcja sztucznego neuronu, którą pokazali szerszemu gronu ludzi Warren McCulloch i Walter Pits.

Był to bardzo prosty model, który składał się z wielu wejść i jednego wyjścia logicznego. W pierwszej wersji neuronów użyto funkcji aktywacji zwracających wartości unipolarne [0,1] i bipolarne [-1,1]. Stał się on pierwowzorem do budowania już bardziej skomplikowanych wersji oraz ulepszania rozwoju machine learning.

Kolejną osobą, która miała swój wkład w rozwój w sieci neuronowych był Frank Rosenblatt. To on w 1958 roku wymyślił teorię automatycznego uczenia się i stworzył algorytm, który działał za pomocą wag przemnażanych przez wartości wejściowe. Na ich podstawie stwierdzano, czy neuron będzie przesyłał sygnał dalej.

Początkowej fali zainteresowania rozpoczął się okres stagnacji trwający do 1986 roku, czyli momentu wprowadzenia algorytmu wsteczny propagacji błędów. Ze względu na dosyć ograniczone możliwości ówczesnych komputerów, wykorzystanie sieci neuronowej było niewielkie. Zajmowało to zbyt dużo czasu.

Dopiero w 2006 roku, razem z rozwojem technologii komputerowej I Big Data, nastąpił przełom w pracach nad sztucznymi sieciami neuronowymi, trwającym aż do dnia dzisiejszego.

Co to jest sieć neuronowa? 

Sieć neuronowa, nazywana również sztuczną siecią neuronową lub symulowaną siecią neuronową, jest częścią funkcji uczenia maszynowego i podstawą algorytmów uczenia głębokiego. Nazwę i budowę opierano na budowie i sposobie działania ludzkiego mózgu.

Sztuczne sieci neuronowe zbudowane są z warstw węzłów. Są to:

  • Warstwa wejściowa, która pobiera parametry wejściowe i zazwyczaj ma liczbę neuronów równą ilości parametrów wejściowych
  • Warstwy ukryte – może być ich więcej niż jedna w danej sieci. To one powodują, że sieć nowa się uczy i wykonuje szereg obliczeń
  • Warstwa wyjściowa, która pokazuje ostateczny wynik

Każda warstwa, oprócz wyjściowej, zaopatrzona jest w stałą wartość przesunięcia, którą nazywamy bias. Jest on dodatkowym neuronem, który przechowuje wartość 1.

Każdy sztuczny neuron łączy się z innymi i ma powiązany próg oraz wagę. Gdy wyjście dowolnego pojedynczego sztucznego neuronu jest większe od wcześniej ustalonej wartości progowej, wysyła on dane do kolejnej warstwy. Gdy nie przekracza to nie następuje przekazanie danych do kolejnych warstw.

Sieci neuronowe upływem czasu zaczynają się uczyć i są coraz dokładniejszy, stając się doskonałym narzędziem wykorzystywanym w informatyce i sztucznej inteligencji. Dzięki pracy sztucznych sieci neuronowych bardzo szybko można rozpoznać mowę lub zdjęcia, co by wielokrotnie dłużej trwało, gdyby zajmował się człowiek.

Jak działa sztuczna sieć neuronowa?

Wyróżnia się dwa typy uczenia maszynowego – nadzorowany i nienadzorowany. Ten pierwszy zachodzi wtedy gdy zbiór danych wejściowych, które dostarczane są do sieci, ma już odpowiednie etykiety. Inaczej mówiąc gdy sieć neuronowa otrzymuje dane zadanie od razu z prawidłową odpowiedzią. Wtedy za pomocą odpowiednio opisanych przypadków zaczyna uczyć się rozwiązywania innych zadań tego samego typu.

Jak działają sztuczne sieci neuronowe
Jak działają sztuczne sieci neuronowe

Jak wygląda algorytm procesu nadzorowanego uczenia maszynowego:

  1. Inicjowanie losowych wag modelu
  2. Podanie wektora danych uczących
  3. Obliczanie wyjściowej wartości
  4. Porównanie wyniku z danymi rzeczywistymi
  5. Jeżeli są różnice wyników zmieniana jest waga w modelu
  6. Obliczany jest średni błąd
  7. Gdy błąd jest mniejszy od założonego lub osiągnięto najwyższy możliwy poziom epok uczących – proces kończy się. Jeżeli błąd jest większy od założonego trzeba jeszcze raz przejść procedurę od podania wektora danych uczących

Algorytm nienadzorowanego procesu uczenia maszynowego polega na tym, że sieć neuronowa ma samodzielnie znaleźć powtarzające się schematy w zbiorze danych. Następnie ma dostarczyć wyniki na podstawie obróbki dostarczonych danych i przeprowadzenia własnoręcznych działań analizowanych.

Głębokie sieci neuronowe

Uczenie głębokie sieci neuronowych jest pod dziedziną uczenia maszynowego. W tym przypadku proces uczenia nie wymaga kontroli człowieka. Uczenie głębokie jest najszerzej stosowane wśród sposobów uczenia maszynowego. Jest w stanie bez problemu rozwiązywać zadania, w których używano do tej pory klasycznych metod.

Głębokie sieci neuronowe mają wyższą trafność wyników w porównaniu do zwykłych sieci. Wymagają jednak dłuższego czasu uczenia się oraz dużych zbiorów. Wymagania sprzętowe są też większe w głębokich sieciach w porównaniu do zwykłych – zalecane jest używanie kart graficznych.

Konwolucyjne sieci neuronowe

Konwolucyjne sieci neuronowe, w skrócie CNN, wprost doskonale dają sobie radę w rozwiązywaniem zadań związanych z obrazem (i nie tylko). Bardzo łatwo poradzą sobie z klasyfikowaniem obrazu wejściowego za pomocą wcześniej zdefiniowanych kategorii (na przykład marka samochodu).

Konwolucyjne sieci neuronowe mogą poprzez trening nauczyć się jakieś szczególne cechy danego obrazu pomagają w jego klasyfikowaniu. Mają znacznie większą skuteczność, w porównaniu do standardowych sieci głębokich, w wykrywaniu trudnych zależności w obrazach. Stosują do tego filtry badające zależności między sąsiednimi pikselami. Jednocześnie umożliwiają generowanie zdjęć za pomocą AI. Przykładem jest Midjourney.

Jakie są zastosowania sieci neuronowej?

Sieci neuronowe mają bardzo dużo możliwości zastosowania w praktyce. Można je podzielić na kilka kategorii:

  • Rozpoznawanie– na przykład obiektów na obrazie
  • Klasyfikacja obiektów, mowy czy choćby tekstów. Bardzo to pomaga choćby w operowaniu dużymi bazami danych
  • Identyfikacja na przykład twarzy
  • Transkrypcja mowy na tekst
  • Prognozowanie na przykład kursów walut
  • Tworzenie na podstawie szkiców
  • Oraz wiele innych

Dzięki rozwoju sieci neuronowych i uczenia maszynowego, komputery coraz częściej mogą zastępować człowieka w podejmowaniu działań dostępnych wcześniej tylko dla niego. Jest to kolejny element rewolucji technicznej w XXI wieku, co może znacznie ułatwić nasze życie w wielu różnych aspektach.

Press ESC to close