AI 101

Co to są sieci neuronowe?

mm

Co to są sztuczne sieci neuronowe (ANN)?

Wiele z największych postępów w dziedzinie sztucznej inteligencji jest napędzanych przez sztuczne sieci neuronowe. Sztuczne sieci neuronowe (ANN) są połączeniem funkcji matematycznych połączonych w formacie inspirowanym sieciami neuronowymi znalezionymi w ludzkim mózgu. Te ANN są w stanie wyodrębnić złożone wzorce z danych, stosować te wzorce do niewidocznych danych w celu sklasyfikowania/rozpoznania danych. W ten sposób maszyna „uczy się”. To jest krótkie podsumowanie sieci neuronowych, ale przyjrzyjmy się im bliżej, aby lepiej zrozumieć, co one są i jak działają.

Wielowarstwowy perceptron wyjaśniony

Przed przyjrzeniem się bardziej złożonym sieciom neuronowym, przyjrzyjmy się prostszej wersji ANN, wielowarstwowemu perceptronowi (MLP).

Wyobraź sobie linię montażową w fabryce. Na tej linii montażowej jeden pracownik otrzymuje przedmiot, robi w nim pewne zmiany, a następnie przekazuje go do następnego pracownika w linii, który robi to samo. Ten proces trwa aż do momentu, gdy ostatni pracownik w linii nadaje przedmiotowi ostateczny kształt i umieszcza go na taśmie, która wyprowadzi go z fabryki. W tej analogii istnieją multiple „warstwy” linii montażowej, a produkty poruszają się między warstwami, gdy przechodzą od pracownika do pracownika. Linia montażowa ma również punkt wejścia i punkt wyjścia.

Wielowarstwowy perceptron można uznać za bardzo prostą linię produkcyjną, złożoną z trzech warstw: warstwy wejściowej, warstwy ukrytej i warstwy wyjściowej. Warstwa wejściowa to miejsce, w którym dane są wprowadzane do MLP, a w warstwie ukrytej pewna liczba „pracowników” obsługuje dane, zanim przekaże je do warstwy wyjściowej, która przekazuje produkt do zewnętrznego świata. W przypadku MLP ci pracownicy nazywani są „neuronami” (lub czasem węzłami) i gdy obsługują dane, manipulują nimi za pomocą szeregu funkcji matematycznych.

Wewnątrz sieci istnieją struktury łączące węzeł z węzłem, zwane „wagami”. Wagi są założeniem dotyczącym tego, jak punkty danych są ze sobą powiązane, gdy poruszają się przez sieć. Innymi słowy, wagi odzwierciedlają poziom wpływu, jaki jeden neuron ma na inny neuron. Wagi przechodzą przez „funkcję aktywacji” podczas opuszczania bieżącego węzła, co jest rodzajem funkcji matematycznej, która transformuje dane. Transformują liniowe dane w nie-liniowe reprezentacje, co umożliwia sieci analizowanie złożonych wzorców.

Analogia do ludzkiego mózgu wynikająca z „sztucznej sieci neuronowej” wynika z faktu, że neurony, które tworzą ludzki mózg, są połączone w podobny sposób, jak węzły w ANN.

Chociaż wielowarstwowe perceptrony istnieją od 1940 roku, istniało wiele ograniczeń, które uniemożliwiały im być szczególnie przydatnymi. Jednak w ciągu ostatnich kilku dekad opracowano technikę zwana „wsteczną propagacją”, która pozwoliła sieciom dostosować wagi neuronów i tym samym nauczyć się skuteczniej. Wsteczna propagacja zmienia wagi w sieci neuronowej, umożliwiając sieci lepiej uchwycić rzeczywiste wzorce w danych.

Głębokie sieci neuronowe

Głębokie sieci neuronowe przyjmują podstawową formę MLP i rozwijają ją, dodając więcej warstw ukrytych w środku modelu. Zamiast istnienia warstwy wejściowej, warstwy ukrytej i warstwy wyjściowej, istnieją wiele warstw ukrytych w środku, a dane wyjściowe jednej warstwy ukrytej stają się danymi wejściowymi dla następnej warstwy ukrytej, aż dane przesuną się przez całą sieć i zostaną zwrócone.

Wielowarstwowe warstwy głębokiej sieci neuronowej są w stanie interpretować bardziej złożone wzorce niż tradycyjny wielowarstwowy perceptron. Różne warstwy głębokiej sieci neuronowej uczą się wzorców różnych części danych. Na przykład, jeśli dane wejściowe składają się z obrazów, pierwsza część sieci może interpretować jasność lub ciemność pikseli, podczas gdy późniejsze warstwy wyłowią kształty i krawędzie, które mogą być użyte do rozpoznania obiektów na obrazie.

Różne rodzaje sieci neuronowych

Istnieją różne rodzaje sieci neuronowych, a każdy z nich ma swoje własne zalety i wady (i dlatego mają swoje własne przypadki użycia). Rodzaj głębokiej sieci neuronowej opisany powyżej jest najczęstszym rodzajem sieci neuronowej i często nazywany jest siecią neuronową feedforward.

Jedną z odmian sieci neuronowych jest sieć neuronowa rekurencyjna (RNN). W przypadku sieci neuronowych rekurencyjnych, mechanizmy pętli są używane do przechowywania informacji z poprzednich stanów analizy, co oznacza, że mogą one interpretować dane, w których kolejność ma znaczenie. RNN są przydatne w wyodrębnianiu wzorców z sekwencyjnych/chronologicznych danych. Sieci neuronowe rekurencyjne mogą być jednorozciągłe lub dwukierunkowe. W przypadku dwukierunkowej sieci neuronowej, sieć może pobierać informacje z późniejszych części sekwencji, a także z wcześniejszych części sekwencji. Ponieważ dwukierunkowa RNN bierze pod uwagę więcej informacji, jest lepiej w stanie wyłowić odpowiednie wzorce z danych.

Sieć neuronowa konwolucyjna jest specjalnym rodzajem sieci neuronowej, która jest zdolna do interpretowania wzorców znalezionych w obrazach. Sieć CNN działa, przechodząc filtr przez piksele obrazu i uzyskując numeryczną reprezentację pikseli w obrazie, którą może następnie analizować w celu wykrycia wzorców. Sieć CNN jest zorganizowana w taki sposób, że warstwy konwolucyjne, które wyciągają piksele z obrazu, pojawiają się jako pierwsze, a następnie gęsto połączone warstwy feedforward, które tak naprawdę uczą się rozpoznawać obiekty, pojawiają się po tym.

Blogger i programista ze specjalnościami w Machine Learning i Deep Learning tematy. Daniel liczy, że pomoże innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.