Sieć neuronowa: definicja
Czym jest sieć neuronowa?
Sieć neuronowa (ang. neural network) to pojęcie związane z uczeniem głębokim (deep learning) i sztuczną inteligencją. Podstawowym elementem sieci jest sztuczny neuron, który tworzy się na wzór tego biologicznego występującego w ludzkim mózgu. Sztuczny neuron podobnie jak biologiczny również funkcjonuje w siatce wzajemnych powiązań. W systemie nerwowym człowieka neuron przekazuje bodziec dalej po synapsach (przewodach) aż do mózgu. Tak samo w sztucznej sieci przetwarza się i przenosi informację.
Po co tworzona jest sieć neuronowa?
Pojedynczy neuron to bardzo prosty element, ale dzięki powiązaniu z innymi tworzy coraz bardziej złożony układ, w których może odbywać się proces uczenia się. W deep learning uczenie to może być przebiegać bez wsparcia człowieka. Do sieci dostarcza się dane wejściowe, które system analizuje i przetwarza. Efektem końcowym jest wynik. W jego obliczaniu biorą udział wszystkie „poziomy” sieci (informacja wyjściowa została przetworzona przez wszystkie neurony w sieci).
Architektura: jak zbudowana jest sieć neuronowa?
Każda sieć składa się z warstw:
- warstwa wejściowa – zewnętrzna (1) – jest tylko jedna, tutaj wprowadza się są dane wejściowe,
- warstwa środkowa – ukryta (2) – w najprostszej sieci występuje jedna warstwa, ale warstw może być też bardzo wiele; dane wejściowymi dla warstwy ukrytej są danymi wyjściowymi z poprzedniej warstwy (1); co więcej podobna zależność występuje w samej warstwie ukrytej (2): dane wyjściowe z jednego neuronu przekazuje się dalej jako dane wejściowe dla kolejnego neuronu.
- warstwa wyjściowa (3) – podobnie jak wejściowa – jest tylko jedna; dopiero tutaj na ostatniej warstwie widoczny jest wynik obliczeń całej sieci.
Większość sieci to sieci wielowarstwowe, czyli mają więcej niż jedną warstwę ukrytą. Im więcej poziomów w warstwie ukrytej, tym bardziej złożona siatka, ale też lepsza jakość obliczeń i mniej błędów w danych wyjściowych (ostatecznym widocznym wyniku).
Podsumowując: każdy neuron dokonuje swoich obliczeń i następnie przekazuje je dalej. Wyniki obliczeń poszczególnych neuronów w warstwie wejściowej i ukrytej nie są jednak dla nas widoczne, otrzymujemy dopiero wynik warstwy wyjściowej.
Jakie są typy sieci neuronowych?
Wyróżnia się kilka typów sieci neuronowych:
- sieci jednokierunkowe,
- sieci rekurencyjne,
- samoorganizujące się mapy.
Sieci neuronowe: dzisiejsze zastosowania
Sieci neuronowe są dzisiaj podstawowym narzędziem deep learning i mają bardzo zaawansowane zastosowania. To dzięki nim funkcjonują autonomiczne samochody. Sięga się po nie jako wsparcie przy diagnozach pacjentów. Dodatkowo, wielkim potencjałem dla sztucznych sieci jest wszelkiego typu prognozowanie, w tym również wyników ekonomicznych, gospodarczych, giełdowych, społecznych.
Narzędzia do budowy sieci neuronowych
Sieci neuronowe tworzy się dzięki narzędziom specjalnie przygotowanym do tego celu. Za jedne z najbardziej zaawansowanych uważa się Statistica Neural Networks oraz Matlab. Ten drugi posiada również graficzny wizualizator, który mają wspomóc proces budowania sieci.