Co to jest sieć neuronowa?

Що таке нейронна мережа: простими словами

Dowiedz się, co to jest sieć neuronowa?, dlaczego budzi dziś takie zainteresowanie, czy jest zaliczana do sztucznej inteligencji i jakie są dostępne rodzaje sieci neuronowych.

Co to jest sieć neuronowa? – w uproszczeniu

W informatyce (IT) sztuczna sieć neuronowa (ANN) to system sprzętu i/lub oprogramowania zbudowany na zasadzie neuronów w ludzkim mózgu. Nazywane również po prostu sieciami neuronowymi, ANN są rodzajem technologii głębokiego uczenia się, która również wchodzi w zakres sztucznej inteligencji, czyli AI.

Komercyjne zastosowania tych technologii zazwyczaj skupiają się na rozwiązywaniu złożonych problemów związanych z przetwarzaniem sygnałów lub rozpoznawaniem wzorców.

Przykłady sieci neuronowych

Przykłady ważnych komercyjnych zastosowań sieci neuronowych obejmują:

  • rozpoznawanie pisma ręcznego do przetwarzania czeków,
  • transkrypcja mowy na tekst,
  • analiza danych z poszukiwań ropy naftowej,
  • prognozowanie pogody
  • rozpoznawanie twarzy.

Historia sieci neuronowych

Historia sztucznych sieci neuronowych sięga początków informatyki. W 1943 roku matematycy Warren McCulloch i Walter Pitts zbudowali układ, który miał ściśle odwzorowywać ludzki mózg i wykonywać proste algorytmy.

Dopiero około 2010 roku badania nabrały tempa. Trend big data, w którym firmy gromadzą ogromne ilości danych, oraz obliczenia równoległe dały naukowcom dane treningowe i zasoby obliczeniowe potrzebne do uruchomienia złożonych sztucznych sieci neuronowych.

W 2012 r. w konkursie ImageNet sieć neuronowa była w stanie przewyższyć człowieka w rozpoznawaniu obrazów. Od tego czasu zainteresowanie sztucznymi sieciami neuronowymi gwałtownie wzrosło, a technologia wciąż się doskonali.

Co to jest sieć neuronowa: w prostych słowach

Jak działają sztuczne sieci neuronowe

ANN zazwyczaj składa się z dużej liczby procesorów pracujących równolegle i ułożonych w warstwy. Pierwszy poziom otrzymuje surowe informacje wejściowe – podobnie jak nerwy optyczne w ludzkim wzroku. Każdy kolejny poziom otrzymuje dane wyjściowe z poprzedniego poziomu, a nie surowe dane wejściowe, podobnie jak neurony znajdujące się dalej od nerwu wzrokowego otrzymują sygnały od tych znajdujących się bliżej. Ostatni poziom produkuje wyjście systemu.

Każdy węzeł przetwarzania ma swój mały obszar wiedzy, włączając w to to, co widział i wszelkie reguły, które pierwotnie zaprogramował lub opracował dla siebie.

Warstwy są ściśle sprzężone, co oznacza, że każdy węzeł w warstwie n będzie połączony z wieloma węzłami w warstwie n-1 – jego wejściami – oraz w warstwie n+1, które dostarczają danych wejściowych do tych węzłów. Warstwa wyjściowa może mieć jeden lub więcej węzłów, z których można odczytać odpowiedź, którą wytwarza.

Czym jest sieć neuronowa: w prostych słowach| Fot: https://www.kdnuggets.com/2019/11/designing-neural-networks.html
Co to jest sieć neuronowa: w prostych słowach| Fot: https://www.kdnuggets.com/2019/11/designing-neural-networks.html

Sztuczne sieci neuronowe są adaptacyjne, co oznacza, że w początkowym etapie modyfikują się w miarę uczenia, a kolejne przebiegi dostarczają więcej informacji o świecie. Najprostszy model uczenia się skupia się na ważeniu strumieni wejściowych, gdzie każdy węzeł waży ważność wejścia od każdego ze swoich poprzedników. Wejścia, które przyczyniają się do poprawnych odpowiedzi, otrzymują większą wagę.

Jak trenuje się sieci neuronowe

Z reguły sieci ANN są początkowo trenowane lub ładowane dużymi ilościami danych. Trening polega na dostarczeniu danych wejściowych i powiedzeniu sieci, jakie powinno być wyjście.

Sieć neuronowa, która rysuje online według opisu lub zdjęcia: top 5

Na przykład, aby zbudować sieć, która identyfikuje twarze aktorów, początkowy trening może obejmować serię obrazów zawierających aktorów, osoby niebędące aktorami, maski, rzeźby i twarze zwierząt. Każdemu wejściu towarzyszy odpowiednia identyfikacja, taka jak nazwiska aktorów lub informacja “nie aktor” lub “nie osoba”. Udzielenie odpowiedzi pozwala modelowi dostosować swoje wewnętrzne wagi, aby nauczyć się lepiej wykonywać swoją pracę.

Na przykład, jeśli węzły David, Diane i Dakota powiedzą węzłowi Ernie, że aktualny obraz wejściowy to zdjęcie Brada Pitta, ale węzeł Durango powie, że to Betty White, a program szkoleniowy potwierdzi, że to Pitt, Ernie zmniejszy wagę przypisaną obrazowi wejściowemu Durango i zwiększy wagę przypisaną obrazom Davida, Diane i Dakoty.

Podczas definiowania reguł i podejmowania decyzji – czyli decyzji każdego węzła o tym, co wysłać do następnego poziomu na podstawie danych wejściowych z poprzedniego poziomu – sieci neuronowe wykorzystują kilka zasad. Należą do nich:

  • Uczenie oparte na gradiencie,
  • logikę rozmytą,
  • algorytmy genetyczne
  • oraz metody bayesowskie.

Można im podać pewne podstawowe reguły dotyczące relacji między obiektami w modelowanych danych.

Na przykład systemowi rozpoznawania twarzy można powiedzieć: “Brwi są nad oczami” lub “Wąsy są pod nosem. Wąsy są nad i/lub obok ust”. Prefetowanie reguł może przyspieszyć szkolenie i uczynić model bardziej wydajnym. Ale tworzy również założenia dotyczące natury problemu, które mogą być albo nieistotne i niepomocne, albo błędne i przeciwskuteczne, co sprawia, że decyzja o tym, które reguły wbudować, jeśli w ogóle, jest bardzo ważna.

Sieci neuronowe i inne systemy uczenia maszynowego mogą wzmacniać uprzedzenia
Ponadto założenia, które ludzie przyjmują podczas szkolenia algorytmów, prowadzą do tego, że sieci neuronowe wzmacniają uprzedzenia kulturowe. Tendencyjne zbiory danych są stałym problemem dla systemów uczących się, które samodzielnie znajdują odpowiedzi, rozpoznając wzorce w danych. Jeśli dane, które zasilają algorytm, nie są neutralne – a to prawie nigdy nie ma miejsca – maszyna rozpowszechnia uprzedzenia.

Rodzaje sieci neuronowych

Sieci neuronowe są czasami opisywane pod względem ich głębokości, w tym liczby warstw między wejściem a wyjściem, lub tzw. ukrytych warstw modelu. Dlatego też termin “sieć neuronowa” jest używany niemal synonimicznie z “deep learning”. Można je również opisać za pomocą liczby ukrytych węzłów w modelu lub liczby wejść i wyjść, jakie posiada każdy węzeł. Wariacje na temat klasycznej konstrukcji sieci neuronowej pozwalają na różne formy przepływu informacji w przód i w tył pomiędzy poziomami.

Do specyficznych typów sztucznych sieci neuronowych należą:

Sieci neuronowe typu feed-forward (Feed-forward neural networks): jeden z najprostszych wariantów sieci neuronowych. Przekazują one informacje w jednym kierunku, przez różne węzły wejściowe, aż do osiągnięcia węzła wyjściowego. Sieć może, ale nie musi mieć ukrytych warstw węzłów, co czyni jej działanie bardziej zrozumiałym. Jest ona gotowa do obsługi dużych ilości szumów. Ten typ modelu obliczeniowego ANN jest stosowany w takich technologiach jak rozpoznawanie twarzy i wizja komputerowa.

Sieci neuronowe rekurencyjne (Recurrent neural networks): są bardziej złożone. Przechowują wyjście węzłów obliczeniowych i podają wynik z powrotem do modelu. W ten sposób model uczy się przewidywać wynik warstwy. Każdy węzeł w modelu RNN działa jak komórka pamięci, kontynuując obliczenia i wykonując operacje. Ta sieć neuronowa zaczyna od tej samej propagacji w przód, co sieć typu feed-forward, ale następnie zapamiętuje wszystkie przetworzone informacje, aby ponownie wykorzystać je w przyszłości. Jeśli przewidywanie sieci jest błędne, system jest samouczący i kontynuuje pracę nad poprawnym przewidywaniem podczas propagacji wstecznej. Ten typ ANN jest często wykorzystywany do przetwarzania tekstu na mowę.

Konwolucyjne sieci neuronowe (Convolutional neural networks – CNN): jeden z najpopularniejszych modeli stosowanych obecnie. Ten model obliczeniowy sieci neuronowej wykorzystuje odmianę percepcji wielowarstwowej i zawiera jedną lub więcej warstw konwolucyjnych, które mogą być w pełni połączone lub połączone. Te warstwy konwolucyjne tworzą mapy cech, które wychwytują obszar obrazu, który ostatecznie jest dzielony na prostokąty i wysyłany do analizy nieliniowej. Model CNN jest szczególnie popularny w dziedzinie rozpoznawania obrazów; jest używany w wielu najnowocześniejszych aplikacjach AI, w tym rozpoznawaniu twarzy, digitalizacji tekstu i przetwarzaniu języka naturalnego. Inne zastosowania obejmują wykrywanie parafraz, przetwarzanie sygnałów i klasyfikację obrazów.

Dekonwolucyjne sieci neuronowe (Deconvolutional neural networks): wykorzystują proces odwrotny do modelu CNN. Mają na celu znalezienie utraconych cech lub sygnałów, które początkowo zostały uznane za nieistotne dla zadania systemu CNN. Ten model sieci może być stosowany do syntezy i analizy obrazów.

Modułowe sieci neuronowe (Modular neural networks): zawierają kilka sieci neuronowych, które działają oddzielnie od siebie. Sieci te nie wchodzą w interakcje i nie zakłócają się wzajemnie podczas procesu obliczeniowego. W związku z tym złożone lub duże procesy obliczeniowe mogą być wykonywane bardziej efektywnie.

Zalety sieci neuronowych

Przyjrzyjmy się, czym jest sieć neuronowa w kontekście jej zalet i wad.

Do zalet sztucznych sieci neuronowych należą:

  • Przetwarzanie równoległe oznacza, że sieć może wykonywać kilka zadań jednocześnie.
  • Informacje są przechowywane w całej sieci, a nie tylko w bazie danych.
  • Zdolność do uczenia się i modelowania nieliniowych, złożonych zależności pomaga modelować w świecie rzeczywistym zależności między wejściem a wyjściem.
  • Odporność na błędy oznacza, że uszkodzenie jednej lub więcej komórek ANN nie zatrzyma generowania danych wyjściowych.
  • Stopniowe uszkodzenie oznacza, że sieć będzie ulegać powolnej degradacji w czasie, a nie że problem zniszczy sieć natychmiast.
  • Zdolność do wytwarzania danych wyjściowych przy niepełnej wiedzy, przy czym utrata wydajności zależy od tego, jak ważna jest brakująca informacja.
  • Brak ograniczeń na zmienne wejściowe, takich jak to, jak powinny być rozmieszczone.
  • Uczenie maszynowe oznacza, że ANN może uczyć się ze zdarzeń i podejmować decyzje na podstawie obserwacji.
  • Zdolność do uczenia się ukrytych związków w danych bez kierowania się stałymi związkami oznacza, że ANN może lepiej modelować wysoce zmienne dane i zmienną wariancję.
  • Zdolność do uogólniania i wnioskowania o niewidzialnych związkach z niewidzianych danych oznacza, że ANN może przewidywać dane wyjściowe z niewidzianych danych.

Wady sieci neuronowych

Do wad ANN należą:

  • Brak zasad określania prawidłowej struktury sieci oznacza, że odpowiednią architekturę dla sztucznej sieci neuronowej można znaleźć tylko metodą prób i błędów oraz doświadczenia.
  • Konieczność stosowania procesorów o możliwościach przetwarzania równoległego sprawia, że sieci neuronowe są uzależnione od sprzętu.
  • Sieć pracuje z informacjami numerycznymi, więc wszystkie problemy muszą być przetłumaczone na wartości liczbowe, zanim będą mogły być reprezentowane przez ANN.
  • Brak wyjaśnień stojących za poszukiwanymi rozwiązaniami jest jedną z największych wad ANN. Niemożność wyjaśnienia, dlaczego i jak uzyskano rozwiązanie, powoduje brak zaufania do sieci.

Co to jest sieć neuronowa pod względem zastosowań w życiu człowieka

Rozpoznawanie obrazów było jednym z pierwszych obszarów, w których z powodzeniem zastosowano sieci neuronowe, ale wykorzystanie technologii rozszerzyło się na wiele innych obszarów, m.in.

  • Chatboty
  • Przetwarzanie, tłumaczenie i generowanie języka naturalnego
  • Prognozowanie giełdowe
  • Planowanie i optymalizacja tras kurierskich
  • Odkrywanie i rozwój leków

To tylko kilka konkretnych obszarów, w których sieci neuronowe są dziś wykorzystywane. Główne obszary zastosowań sieci neuronowych to wszelkie procesy, które działają według ścisłych reguł lub wzorców i mają duże ilości danych.

Jeśli dane są zbyt duże, aby człowiek mógł je sensownie wykorzystać w rozsądnym czasie, proces jest prawdopodobnie głównym kandydatem do automatyzacji przy użyciu sztucznych sieci neuronowych.

Źródło: https://www.techtarget.com

Подібні новини

Leave a Comment