Jak Powstały Sieci Neuronowe? - Alternatywny Widok

Spisu treści:

Jak Powstały Sieci Neuronowe? - Alternatywny Widok
Jak Powstały Sieci Neuronowe? - Alternatywny Widok

Wideo: Jak Powstały Sieci Neuronowe? - Alternatywny Widok

Wideo: Jak Powstały Sieci Neuronowe? - Alternatywny Widok
Wideo: Głębokie sieci neuronowe w praktyce, cz.1 (2020r) 2024, Wrzesień
Anonim

W ciągu ostatnich 10 lat dzięki tzw. Metodzie głębokiego uczenia się otrzymaliśmy najlepsze systemy sztucznej inteligencji - na przykład rozpoznawanie mowy na smartfony czy najnowszy automatyczny tłumacz Google. W rzeczywistości głębokie uczenie się stało się nowym trendem w już znanych sieciach neuronowych, które były modne i wychodzą na jaw od ponad 70 lat. Sieci neuronowe zostały po raz pierwszy zaproponowane przez Warrena McCullougha i Waltera Pittsa w 1994 roku, dwóch badaczy z University of Chicago. W 1952 roku podjęli pracę w Massachusetts Institute of Technology, aby położyć podwaliny pod pierwszy Wydział Poznawczy.

Sieci neuronowe były jednym z głównych kierunków badań zarówno w neurobiologii, jak i informatyce do 1969 roku, kiedy to zgodnie z legendą zostali zabici przez matematyków z MIT Marvina Minsky'ego i Seymoura Paperta, którzy rok później zostali współprzewodniczącymi nowego laboratorium sztucznej inteligencji MIT.

Ta metoda przeżyła odrodzenie w latach 80-tych, nieznacznie zniknęła w cieniu w pierwszej dekadzie nowego wieku i powróciła z fanfarą w drugiej, na szczycie niesamowitego rozwoju układów graficznych i ich mocy obliczeniowej.

„Panuje przekonanie, że idee naukowe są jak epidemie wirusów” - mówi Tomaso Poggio, profesor nauk o poznaniu i mózgu na MIT. „Istnieje prawdopodobnie pięć lub sześć głównych szczepów wirusów grypy, a jeden z nich powraca w godnym pozazdroszczenia tempie 25 lat. Ludzie zarażają się, uzyskują odporność i nie chorują przez następne 25 lat. Następnie pojawia się nowe pokolenie, gotowe do zakażenia tym samym szczepem wirusa. W nauce ludzie zakochują się w pomyśle, doprowadza wszystkich do szaleństwa, potem biją go na śmierć i uzyskują na niego odporność - męczą się tym. Pomysły powinny mieć podobną częstotliwość”.

Poważne pytania

Sieci neuronowe to metoda uczenia maszynowego, w której komputer uczy się wykonywania określonych zadań, analizując przykłady szkoleniowe. Zazwyczaj te przykłady są wcześniej ręcznie oznaczane. Na przykład system rozpoznawania obiektów może wchłonąć tysiące oznaczonych obrazów samochodów, domów, filiżanek do kawy itp., A następnie być w stanie znaleźć wzorce wizualne na tych obrazach, które są konsekwentnie skorelowane z określonymi tagami.

Sieć neuronową często porównuje się do ludzkiego mózgu, który również ma takie sieci, składające się z tysięcy lub milionów prostych węzłów przetwarzania, które są ze sobą ściśle powiązane. Większość nowoczesnych sieci neuronowych jest zorganizowana w warstwy węzłów, a dane przepływają przez nie tylko w jednym kierunku. Pojedynczy węzeł może być powiązany z kilkoma węzłami w warstwie poniżej, z której odbiera dane, oraz z kilkoma węzłami w warstwie powyżej, do których przesyła dane.

Film promocyjny:

Image
Image

Węzeł przypisuje numer do każdego z tych linków przychodzących - „wagę”. Gdy sieć jest aktywna, węzeł otrzymuje różne zestawy danych - różne liczby - dla każdego z tych połączeń i mnoży się przez odpowiednią wagę. Następnie sumuje wyniki, tworząc jedną liczbę. Jeśli ta liczba jest poniżej progu, węzeł nie przesyła danych do następnej warstwy. Jeśli liczba przekracza próg, węzeł „budzi się”, wysyłając liczbę - sumę ważonych danych wejściowych - do wszystkich połączeń wychodzących.

Kiedy sieć neuronowa jest szkolona, wszystkie jej wagi i progi są początkowo ustawiane w losowej kolejności. Dane szkoleniowe są wprowadzane do dolnej warstwy - warstwy wejściowej - i przechodzą przez kolejne warstwy, mnożąc i sumując w złożony sposób, aż w końcu dotrą, już przetworzone, do warstwy wyjściowej. Podczas treningu wagi i progi są stale korygowane, aż dane treningowe z tymi samymi etykietami dadzą podobne wnioski.

Umysł i maszyny

Sieci neuronowe opisane przez McCullougha i Pittsa w 1944 roku miały zarówno progi, jak i wagi, ale nie były zorganizowane warstwowo, a naukowcy nie określili żadnego konkretnego mechanizmu uczenia się. Ale McCullough i Pitts wykazali, że sieć neuronowa może w zasadzie obliczyć dowolną funkcję, jak każdy komputer cyfrowy. Wynik był bardziej z dziedziny neuronauki niż informatyki: należało założyć, że ludzki mózg może być postrzegany jako urządzenie komputerowe.

Sieci neuronowe nadal są cennym narzędziem w badaniach neurobiologicznych. Na przykład poszczególne warstwy sieci lub reguły dostosowywania wag i progów odtwarzały obserwowane cechy ludzkiej neuroanatomii i funkcji poznawczych, a tym samym wpływały na sposób przetwarzania informacji przez mózg.

Pierwsza nadająca się do szkolenia sieć neuronowa, Perceptron (lub Perceptron), została zademonstrowana przez psychologa z Cornell University, Franka Rosenblatta w 1957 roku. Konstrukcja Perceptronu była podobna do nowoczesnej sieci neuronowej, z tą różnicą, że miała pojedynczą warstwę z regulowanymi wagami i progami umieszczonymi pomiędzy warstwą wejściową i wyjściową.

„Perceptrony” były aktywnie badane w psychologii i informatyce do 1959 roku, kiedy Minsky i Papert opublikowali książkę „Perceptrons”, która wykazała, że wykonywanie całkiem zwyczajnych obliczeń na perceptronach jest niepraktyczne pod względem czasu.

Image
Image

„Oczywiście wszystkie ograniczenia znikają, jeśli uczyni się maszyny nieco bardziej złożonymi”, na przykład w dwóch warstwach”- mówi Poggio. Ale w tamtym czasie książka miała mrożący wpływ na badania sieci neuronowych.

„Warto rozważyć te kwestie w kontekście historycznym” - mówi Poggio. „Dowód został stworzony do programowania w językach takich jak Lisp. Niedawno ludzie po cichu korzystali z komputerów analogowych. Nie było wówczas do końca jasne, do czego doprowadzi programowanie. Myślę, że trochę przesadzili, ale jak zawsze nie da się wszystkiego podzielić na czarno-białe. Jeśli myślisz o tym jako o konkurencji między przetwarzaniem analogowym i cyfrowym, to walczyli o to, co było potrzebne”.

Okresowość

Jednak do lat 80-tych naukowcy opracowali algorytmy modyfikujące wagi i progi sieci neuronowych, które były wystarczająco wydajne dla sieci z więcej niż jedną warstwą, usuwając wiele ograniczeń zidentyfikowanych przez Minsky'ego i Paperta. Obszar ten przeżył renesans.

Ale z rozsądnego punktu widzenia w sieciach neuronowych czegoś brakowało. Wystarczająco długa sesja szkoleniowa może doprowadzić do zmiany ustawień sieci, aż zacznie ona klasyfikować dane w użyteczny sposób, ale co oznaczają te ustawienia? Na jakie cechy obrazu patrzy aparat do rozpoznawania obiektów i jak składa je razem, tworząc wizualne sygnatury samochodów, domów i filiżanek kawy? Badanie mas poszczególnych związków nie odpowie na to pytanie.

W ostatnich latach informatycy zaczęli wymyślać pomysłowe metody określania strategii analitycznych przyjętych przez sieci neuronowe. Ale w latach 80. strategie tych sieci były niezrozumiałe. Dlatego na przełomie XIX i XX wieku sieci neuronowe zostały wyparte przez maszyny wektorowe, alternatywne podejście do uczenia maszynowego oparte na czystej i eleganckiej matematyce.

Niedawny wzrost zainteresowania sieciami neuronowymi - rewolucja głębokiego uczenia się - zawdzięczamy branży gier. Złożona grafika i szybkie tempo współczesnych gier wideo wymaga sprzętu, który nadąża za trendem, czego wynikiem jest GPU (jednostka przetwarzania grafiki) z tysiącami stosunkowo prostych rdzeni przetwarzających w jednym chipie. Naukowcy szybko zdali sobie sprawę, że architektura GPU jest idealna dla sieci neuronowych.

Nowoczesne procesory graficzne umożliwiły budowanie sieci z lat 60. oraz dwu- i trójwarstwowych z lat 80. w bukiety 10-, 15-, a nawet 50-warstwowych sieci. Za to właśnie odpowiada słowo „głębokie” w „uczeniu głębokim”. W głąb sieci. Głębokie uczenie jest obecnie odpowiedzialne za najbardziej wydajne systemy w prawie wszystkich obszarach badań nad sztuczną inteligencją.

Pod maską

Nieprzezroczystość sieci wciąż niepokoi teoretyków, ale na tym froncie jest postęp. Poggio prowadzi program badawczy dotyczący teoretycznych podstaw inteligencji. Niedawno Poggio i jego koledzy opublikowali teoretyczne badanie sieci neuronowych w trzech częściach.

Pierwsza część, która została opublikowana w zeszłym miesiącu w International Journal of Automation and Computing, dotyczy zakresu obliczeń, które mogą wykonywać sieci głębokiego uczenia i kiedy sieci głębokie wykorzystują te płytkie. Części druga i trzecia, które zostały wydane jako wykłady, dotyczą wyzwań związanych z globalną optymalizacją, czyli zapewnieniem, że sieć znajdzie ustawienia, które najlepiej pasują do jej danych szkoleniowych, oraz gdy sieć tak dobrze rozumie specyfikę swoich danych szkoleniowych. które nie mogą generalizować innych przejawów tych samych kategorii.

Przed nami jeszcze wiele pytań teoretycznych, na które trzeba będzie udzielić odpowiedzi. Jest jednak nadzieja, że sieci neuronowe w końcu będą w stanie przerwać cykl pokoleń, które pogrążają je w upale, a czasem w chłodzie.

ILYA KHEL