Sieć neuronowa - Neural network

Uproszczony widok sztucznej sieci neuronowej ze sprzężeniem do przodu

Sieć neuronowa to sieć lub obwód neuronów lub w nowoczesnym sensie sztuczna sieć neuronowa złożona ze sztucznych neuronów lub węzłów. Zatem sieć neuronowa jest albo biologiczną siecią neuronową składającą się z neuronów biologicznych, albo sztuczną siecią neuronową do rozwiązywania problemów związanych ze sztuczną inteligencją (AI). Połączenia neuronu biologicznego są modelowane w sztucznych sieciach neuronowych jako wagi między węzłami. Dodatnia waga odzwierciedla połączenie pobudzające, podczas gdy wartości ujemne oznaczają połączenia hamujące. Wszystkie wejścia są modyfikowane przez wagę i sumowane. Ta czynność nazywana jest kombinacją liniową. Wreszcie funkcja aktywacji kontroluje amplitudę sygnału wyjściowego. Na przykład akceptowalny zakres wyjścia wynosi zwykle od 0 do 1 lub może wynosić od -1 do 1.

Te sztuczne sieci mogą być wykorzystywane do modelowania predykcyjnego , sterowania adaptacyjnego i aplikacji, w których można je trenować za pomocą zestawu danych. Samouczenie się wynikające z doświadczenia może zachodzić w sieciach, które mogą wyciągać wnioski ze złożonego i pozornie niepowiązanego zestawu informacji.

Przegląd

Sieć neuronowa składa się z grup chemicznie związanymi lub funkcjonalnie związanych neuronów. Pojedynczy neuron może być połączony z wieloma innymi neuronami, a łączna liczba neuronów i połączeń w sieci może być bardzo duża. Połączenia, zwane synapsami , zwykle tworzą się od aksonów do dendrytów , chociaż możliwe są synapsy dendrodendrytyczne i inne połączenia. Oprócz sygnalizacji elektrycznej istnieją inne formy sygnalizacji, które powstają w wyniku dyfuzji neuroprzekaźników .

Sztuczna inteligencja, modelowanie kognitywne i sieci neuronowe to paradygmaty przetwarzania informacji inspirowane sposobem, w jaki biologiczne systemy neuronowe przetwarzają dane. Sztuczna inteligencja i modelowanie kognitywne próbują symulować niektóre właściwości biologicznych sieci neuronowych. W dziedzinie sztucznej inteligencji sztuczne sieci neuronowe zostały z powodzeniem zastosowane do rozpoznawania mowy , analizy obrazu i sterowania adaptacyjnego , w celu konstruowania agentów oprogramowania (w grach komputerowych i wideo ) czy autonomicznych robotów .

Historycznie komputery cyfrowe ewoluowały z modelu von Neumanna i działają poprzez wykonywanie wyraźnych instrukcji poprzez dostęp do pamięci przez wiele procesorów. Z drugiej strony, początki sieci neuronowych opierają się na próbach modelowania przetwarzania informacji w systemach biologicznych. W przeciwieństwie do modelu von Neumanna, obliczenia w sieciach neuronowych nie rozdzielają pamięci i przetwarzania.

Teoria sieci neuronowych posłużyła zarówno do lepszej identyfikacji funkcjonowania neuronów w mózgu, jak i do stworzenia podstaw do wysiłków na rzecz stworzenia sztucznej inteligencji.

Historia

Wstępne podstawy teoretyczne współczesnych sieci neuronowych zaproponowali niezależnie Alexander Bain (1873) i William James (1890). W ich pracy zarówno myśli, jak i aktywność ciała wynikały z interakcji między neuronami w mózgu.

Symulacja komputerowa architektury rozgałęzienia dendrytów z neuronów piramidowych .

W przypadku Baina każda czynność prowadziła do odpalenia pewnego zestawu neuronów. Kiedy czynności były powtarzane, połączenia między tymi neuronami wzmacniały się. Zgodnie z jego teorią to powtórzenie doprowadziło do powstania pamięci. Ogólna społeczność naukowa w tamtym czasie była sceptyczna wobec teorii Baina, ponieważ wymagała ona nadmiernej liczby połączeń nerwowych w mózgu. Teraz jest oczywiste, że mózg jest niezwykle złożony i że to samo „okablowanie” mózgu może poradzić sobie z wieloma problemami i danymi wejściowymi.

Teoria Jamesa była podobna do teorii Baina, jednak sugerował, że wspomnienia i działania wynikały z prądów elektrycznych przepływających między neuronami w mózgu. Jego model, skupiając się na przepływie prądów elektrycznych, nie wymagał indywidualnych połączeń nerwowych dla każdej pamięci czy działania.

CS Sherrington (1898) przeprowadził eksperymenty, aby przetestować teorię Jamesa. Przeprowadził prądy elektryczne w dół rdzenia kręgowego szczurów. Jednak zamiast wykazać wzrost prądu elektrycznego, jak przewidywał James, Sherrington odkrył, że siła prądu elektrycznego spadała wraz z upływem czasu. Co ważne, praca ta doprowadziła do odkrycia koncepcji habituacji .

McCulloch i Pitts (1943) stworzyli model obliczeniowy sieci neuronowych oparty na matematyce i algorytmach. Nazwali ten model logiką progową . Model utorował drogę do podziału badań sieci neuronowych na dwa odrębne podejścia. Jedno podejście skoncentrowało się na procesach biologicznych w mózgu, a drugie na zastosowaniu sieci neuronowych do sztucznej inteligencji.

Pod koniec lat czterdziestych psycholog Donald Hebb stworzył hipotezę uczenia się opartą na mechanizmie plastyczności neuronalnej, który jest obecnie znany jako uczenie Hebbowskie . Uczenie Hebbowskie jest uważane za „typową” zasadę uczenia się nienadzorowanego, a jej późniejsze warianty były wczesnymi modelami długoterminowego wzmacniania . Te pomysły zaczęto stosować do modeli obliczeniowych w 1948 roku z maszyn typu B Turinga .

Farley i Clark (1954) po raz pierwszy użyli maszyn obliczeniowych, zwanych wówczas kalkulatorami, do symulacji sieci Hebbowskiej w MIT. Inne maszyny obliczeniowe sieci neuronowych stworzyli Rochester, Holland, Habit i Duda (1956).

Rosenblatt (1958) stworzył perceptron , algorytm rozpoznawania wzorców oparty na dwuwarstwowej uczącej się sieci komputerowej przy użyciu prostego dodawania i odejmowania. Za pomocą notacji matematycznej Rosenblatt opisał również obwody nie należące do podstawowego perceptronu, takie jak obwód wyłączny lub obwód, którego obliczenia matematyczne nie mogły być przetwarzane, dopóki algorytm propagacji wstecznej nie został stworzony przez Werbosa (1975).

Badania nad sieciami neuronowymi uległy stagnacji po opublikowaniu badań nad uczeniem maszynowym przez Marvina Minsky'ego i Seymoura Paperta (1969). Odkryli dwa kluczowe problemy z maszynami obliczeniowymi przetwarzającymi sieci neuronowe. Pierwszym problemem było to, że jednowarstwowe sieci neuronowe nie były w stanie przetwarzać obwodu wyłącznego lub. Drugim istotnym problemem był fakt, że komputery nie były wystarczająco zaawansowane, aby skutecznie obsługiwać długi czas działania wymagany przez duże sieci neuronowe. Badania nad sieciami neuronowymi zwolniły, dopóki komputery nie osiągnęły większej mocy obliczeniowej. Kluczem do późniejszych postępów był również algorytm propagacji wstecznej, który skutecznie rozwiązywał problem wyłączności (Werbos 1975).

Równoległe przetwarzanie rozproszone od połowy 1980 roku stał się popularny pod nazwą koneksjonizm . Tekst Rumelharta i McClellanda (1986) dostarczył pełnej ekspozycji na temat wykorzystania koneksjonizmu w komputerach do symulacji procesów neuronowych.

Sieci neuronowe, stosowane w sztucznej inteligencji, były tradycyjnie postrzegane jako uproszczone modele przetwarzania neuronowego w mózgu, mimo że związek między tym modelem a biologiczną architekturą mózgu jest dyskusyjny, ponieważ nie jest jasne, w jakim stopniu sztuczne sieci neuronowe odzwierciedlają mózg funkcjonować.

Sztuczna inteligencja

Sieć neuronowa (NN), w przypadku sztucznych neuronów zwana sztuczną siecią neuronową (ANN) lub symulowaną siecią neuronową (SNN), to połączona grupa naturalnych lub sztucznych neuronów, która wykorzystuje model matematyczny lub obliczeniowy do przetwarzania informacji w oparciu o koneksjonistyczne podejście do obliczeń . W większości przypadków SSN jest systemem adaptacyjnym, który zmienia swoją strukturę na podstawie informacji zewnętrznych lub wewnętrznych przepływających przez sieć.

W bardziej praktycznym ujęciu sieci neuronowe są nieliniowymi narzędziami do modelowania danych statystycznych lub podejmowania decyzji . Można ich używać do modelowania złożonych relacji między danymi wejściowymi i wyjściowymi lub do znajdowania wzorców w danych.

Sztuczna sieć neuronowa obejmuje sieć prostych elementów do przetwarzania ( neuronów sztuczne ), które mogą wykazywać złożony ogólnym zachowaniem określone przez połączenia pomiędzy elementami przetwarzania i parametry elementu. Sztuczne neurony zostały po raz pierwszy zaproponowane w 1943 roku przez neurofizjologa Warrena McCullocha i logika Waltera Pittsa , który jako pierwszy współpracował z Uniwersytetem w Chicago .

Jednym z klasycznych typów sztucznych sieci neuronowych jest rekurencyjna sieć Hopfielda .

Wydaje się, że koncepcja sieci neuronowej została po raz pierwszy zaproponowana przez Alana Turinga w jego pracy Intelligent Machinery z 1948 roku, w której nazwał je „niezorganizowanymi maszynami typu B”.

Użyteczność modeli sztucznych sieci neuronowych polega na tym, że można je wykorzystać do wywnioskowania funkcji z obserwacji, a także do jej wykorzystania. Nienadzorowane sieci neuronowe mogą być również wykorzystywane do uczenia się reprezentacji danych wejściowych, które wychwytują najistotniejsze cechy rozkładu danych wejściowych, np. patrz maszyna Boltzmanna (1983), a ostatnio algorytmy głębokiego uczenia , które mogą pośrednio uczyć się funkcji dystrybucji zaobserwowane dane. Uczenie się w sieciach neuronowych jest szczególnie przydatne w aplikacjach, w których złożoność danych lub zadania sprawia, że ​​ręczne projektowanie takich funkcji jest niepraktyczne.

Aplikacje

Sieci neuronowe mogą być używane w różnych dziedzinach. Zadania, do których stosuje się sztuczne sieci neuronowe, zwykle mieszczą się w następujących szerokich kategoriach:

Obszary zastosowań sieci ANN obejmują nieliniową identyfikację i sterowanie systemem (sterowanie pojazdem, sterowanie procesem), grę i podejmowanie decyzji (tryktrak, szachy, wyścigi), rozpoznawanie wzorców (systemy radarowe, identyfikacja twarzy , rozpoznawanie obiektów), rozpoznawanie sekwencji (gesty, mowa, rozpoznawanie tekstu odręcznego ), diagnostyka medyczna, aplikacje finansowe, eksploracja danych (lub odkrywanie wiedzy w bazach danych, „KDD”), wizualizacja i filtrowanie spamu w wiadomościach e-mail . Na przykład możliwe jest stworzenie profilu semantycznego zainteresowań użytkownika wyłaniającego się ze zdjęć wyszkolonych do rozpoznawania obiektów.

Neuronauka

Neuronauka teoretyczna i obliczeniowa to dziedzina zajmująca się analizą i modelowaniem obliczeniowym biologicznych systemów neuronowych. Ponieważ systemy neuronowe są ściśle związane z procesami poznawczymi i zachowaniem, dziedzina ta jest ściśle związana z modelowaniem poznawczym i behawioralnym.

Celem tej dziedziny jest tworzenie modeli biologicznych systemów neuronowych w celu zrozumienia działania systemów biologicznych. Aby to zrozumieć, neuronaukowcy starają się powiązać obserwowane procesy biologiczne (dane), biologicznie wiarygodne mechanizmy przetwarzania i uczenia się neuronów ( biologiczne modele sieci neuronowych ) i teorię (statystyczna teoria uczenia się i teoria informacji ).

Rodzaje modeli

Używanych jest wiele modeli; definiowane na różnych poziomach abstrakcji i modelujące różne aspekty systemów neuronowych. Obejmują one modele krótkoterminowego zachowania poszczególnych neuronów , modele dynamiki obwodów neuronowych powstających w wyniku interakcji między poszczególnymi neuronami, aż po modele zachowania wynikające z abstrakcyjnych modułów neuronowych, które reprezentują kompletne podsystemy. Należą do nich modele długookresowej i krótkookresowej plastyczności układów nerwowych oraz ich związku z uczeniem się i pamięcią, od pojedynczego neuronu do poziomu systemu.

Łączność

W sierpniu 2020 naukowców poinformował, że połączenia dwukierunkowy, lub dodawane odpowiednie połączenia sprzężenia zwrotnego, mogą przyspieszyć i usprawnić komunikację między aw modułowych sieci neuronowych w mózgu w korze mózgowej i obniżyć próg dla ich skutecznej komunikacji. Wykazali, że dodanie połączeń sprzężenia zwrotnego między parą rezonansową może wspierać pomyślną propagację pojedynczego pakietu impulsowego w całej sieci.

Krytyka

Powszechną krytyką sieci neuronowych, zwłaszcza w robotyce, jest to, że wymagają one dużej różnorodności próbek szkoleniowych do działania w świecie rzeczywistym. Nie jest to zaskakujące, ponieważ każda ucząca się maszyna potrzebuje wystarczająco reprezentatywnych przykładów, aby uchwycić podstawową strukturę, która pozwala jej uogólniać na nowe przypadki. Dean Pomerleau w swoich badaniach przedstawionych w artykule „Knowledge-based Training of Artificial Neural Networks for Autonomous Robot Driving” wykorzystuje sieć neuronową do trenowania pojazdu zrobotyzowanego do poruszania się po wielu rodzajach dróg (jednopasmowa, wielopasmowa, gruntowa). itp.). Duża część jego badań poświęcona jest (1) ekstrapolacji wielu scenariuszy szkoleniowych z jednego doświadczenia szkoleniowego oraz (2) zachowaniu wcześniejszej różnorodności treningów, aby system nie został przetrenowany (jeśli na przykład jest przedstawiany z serią skrętów w prawo – nie powinien nauczyć się zawsze skręcać w prawo). Problemy te są powszechne w sieciach neuronowych, które muszą decydować spośród szerokiej gamy odpowiedzi, ale można sobie z nimi poradzić na kilka sposobów, na przykład poprzez losowe tasowanie przykładów uczących, za pomocą algorytmu optymalizacji numerycznej, który nie wykonuje zbyt dużych kroków, gdy zmiana połączeń sieciowych według przykładu lub grupowanie przykładów w tzw. mini-paczki.

AK Dewdney , były felietonista Scientific American , napisał w 1997 roku: „Chociaż sieci neuronowe rozwiązują kilka problemów z zabawkami, ich moc obliczeniowa jest tak ograniczona, że ​​dziwię się, że ktokolwiek traktuje je poważnie jako ogólne narzędzie rozwiązywania problemów” (Dewdney, s. 82).

Argumenty przemawiające za stanowiskiem Dewdneya są takie, że wdrożenie dużych i efektywnych sieci neuronowych oprogramowania wymaga zaangażowania wielu zasobów przetwarzania i przechowywania. Podczas gdy mózg ma sprzęt dostosowany do przetwarzania sygnałów przez wykres neuronów, symulacja nawet najbardziej uproszczonej formy w technologii Von Neumanna może zmusić projektanta sieci neuronowej do wypełnienia wielu milionów wierszy bazy danych dla swoich połączeń – co może pochłaniać ogromne ilości pamięci komputera i pojemności przechowywania danych . Co więcej, projektant systemów sieci neuronowych często będzie musiał symulować transmisję sygnałów przez wiele z tych połączeń i powiązanych z nimi neuronów – co często musi być dopasowane do niewiarygodnych ilości mocy obliczeniowej procesora i czasu. Chociaż sieci neuronowe często generują efektywne programy, zbyt często robią to kosztem wydajności (pochłaniają znaczne ilości czasu i pieniędzy).

Argumenty przemawiające przeciwko stanowisku Dewdneya są takie, że sieci neuronowe są z powodzeniem wykorzystywane do rozwiązywania wielu złożonych i różnorodnych zadań, takich jak autonomicznie latające samoloty.

Autor technologii, Roger Bridgman, skomentował stwierdzenia Dewdneya dotyczące sieci neuronowych:

Na przykład sieci neuronowe są w doku nie tylko dlatego, że zostały rozreklamowane (co się nie stało?), ale także dlatego, że można było stworzyć udaną sieć bez zrozumienia, jak to działa: zbiór liczb, które przechwytują jej zachowanie byłoby najprawdopodobniej „nieprzezroczystą, nieczytelną tabelą… bezwartościową jako zasób naukowy”.

Pomimo jego stanowczej deklaracji, że nauka nie jest technologią, Dewdney wydaje się tutaj traktować sieci neuronowe jako złą naukę, podczas gdy większość z tych, którzy je opracowują, po prostu stara się być dobrymi inżynierami. Nieczytelna tabela, którą mogłaby odczytać użyteczna maszyna, nadal byłaby warta posiadania.

Chociaż prawdą jest, że analizowanie tego, czego nauczyła się sztuczna sieć neuronowa, jest trudne, jest to o wiele łatwiejsze niż analizowanie tego, czego nauczyła się biologiczna sieć neuronowa. Co więcej, niedawny nacisk na wyjaśnialność sztucznej inteligencji przyczynił się do rozwoju metod, zwłaszcza opartych na mechanizmach uwagi, do wizualizacji i wyjaśniania wyuczonych sieci neuronowych. Co więcej, badacze zaangażowani w badanie algorytmów uczenia sieci neuronowych stopniowo odkrywają ogólne zasady, które pozwalają maszynie uczącej się odnieść sukces. Na przykład Bengio i LeCun (2007) napisali artykuł dotyczący uczenia się lokalnego i nielokalnego, a także płytkiej i głębokiej architektury.

Kilka innych uwag krytycznych wyszło od wyznawców modeli hybrydowych (połączenie sieci neuronowych i podejścia symbolicznego ). Opowiadają się za połączeniem tych dwóch podejść i uważają, że modele hybrydowe mogą lepiej uchwycić mechanizmy ludzkiego umysłu (Sun i Bookman, 1990).

Ostatnie ulepszenia

Podczas gdy początkowo badania dotyczyły głównie elektrycznych cech neuronów, szczególnie ważną częścią badań w ostatnich latach było badanie roli neuromodulatorów, takich jak dopamina , acetylocholina i serotonina, na zachowanie i uczenie się.

Modele biofizyczne , takie jak teoria BCM , odegrały ważną rolę w zrozumieniu mechanizmów plastyczności synaptycznej i znalazły zastosowanie zarówno w informatyce, jak i neuronauce. Trwają badania nad zrozumieniem algorytmów obliczeniowych używanych w mózgu, z pewnymi niedawnymi dowodami biologicznymi na radialne sieci bazowe i neuronalną propagację wsteczną jako mechanizmy przetwarzania danych.

W CMOS stworzono urządzenia obliczeniowe do symulacji biofizycznej i obliczeń neuromorficznych . Nowsze prace dają nadzieję na stworzenie nanourządzeń do analizy i splotu głównych komponentów na bardzo dużą skalę . Jeśli się powiedzie, wysiłki te mogą zapoczątkować nową erę informatyki neuronowej, która jest krokiem poza przetwarzaniem cyfrowym, ponieważ zależy od uczenia się, a nie programowania i ponieważ jest zasadniczo analogowa, a nie cyfrowa, mimo że pierwsze egzemplarze mogą w rzeczywistości dotyczyć CMOS urządzenia cyfrowe.

W latach 2009-2012 sieci neuronowe rekurencyjne i sieci neuronowe z głębokim sprzężeniem do przodu, opracowane przez grupę badawczą Jürgena Schmidhubera w Swiss AI Lab IDSIA , wygrały osiem międzynarodowych konkursów z zakresu rozpoznawania wzorców i uczenia maszynowego . Na przykład wielowymiarowa pamięć długoterminowa (LSTM) wygrała trzy konkursy w zakresie połączonego rozpoznawania pisma ręcznego na Międzynarodowej Konferencji Analizy i Rozpoznawania Dokumentów (ICDAR 2009) bez wcześniejszej wiedzy na temat trzech różnych języków, których należy się nauczyć.

Warianty algorytmu propagacji wstecznej, a także nienadzorowane metody Geoffa Hintona i współpracowników z University of Toronto mogą być wykorzystywane do trenowania głębokich, wysoce nieliniowych architektur neuronowych, podobnych do Neocognitronu z 1980 roku autorstwa Kunihiko Fukushimy oraz „standardowej architektury widzenia”. ”, zainspirowany prostymi i złożonymi komórkami zidentyfikowanymi przez Davida H. Hubela i Torstena Wiesela w pierwotnej korze wzrokowej .

Wprowadzono również funkcję bazy promieniowej i sieci falkowe. Można wykazać, że oferują one najlepsze właściwości aproksymacyjne i zostały zastosowane w nieliniowych aplikacjach identyfikacji i klasyfikacji systemów.

Sieci ze sprzężeniem do uczenia głębokiego tworzą alternatywne warstwy splotowe i warstwy z maksymalnym pulowaniem, zwieńczone kilkoma czystymi warstwami klasyfikacyjnymi. Szybkie implementacje tego podejścia oparte na GPU wygrały kilka konkursów rozpoznawania wzorców, w tym IJCNN 2011 Traffic Sign Recognition Competition i ISBI 2012 Segmentation of Neuronal Structures in Electron Microscopy Stacks. Takie sieci neuronowe były również pierwszymi sztucznymi rozpoznawcami wzorców, które osiągnęły konkurencyjną dla człowieka, a nawet nadludzką wydajność w testach porównawczych, takich jak rozpoznawanie znaków drogowych (IJCNN 2012) lub problem z ręcznie pisanymi cyframi MNIST Yanna LeCuna i współpracowników z NYU .

Zobacz też

Bibliografia

Zewnętrzne linki

Posłuchaj tego artykułu ( 31 minut )
Mówiona ikona Wikipedii
Ten plik audio został utworzony na podstawie rewizji tego artykułu z dnia 27 listopada 2011 r. i nie odzwierciedla kolejnych edycji. ( 2011-11-27 )