Jakie modele mogą potencjalnie zastąpić sieci neuronowe w najbliższej przyszłości?


Odpowiedzi:


4

Cofa się to, ale w pewnym sensie jest zgodne z logiką argumentów.

Pod względem wydajności widzę kilka poważnych problemów z klasycznymi sieciami neuronowymi.

Koszty ogólne związane z gromadzeniem i przetwarzaniem danych

Duże sieci neuronowe wymagają dużej ilości danych do trenowania. Ilość może się różnić w zależności od wielkości sieci i złożoności zadania, ale z reguły jest ona proporcjonalna do liczby wag. W przypadku niektórych nadzorowanych zadań edukacyjnych po prostu nie ma wystarczającej ilości danych o wysokiej jakości. Gromadzenie dużych ilości specjalistycznych danych szkoleniowych może potrwać miesiące, a nawet lata, a etykietowanie może być kłopotliwe i zawodne. Można to częściowo złagodzić poprzez zwiększenie danych, co oznacza „syntezę” większej liczby przykładów z tych, które już masz, ale nie jest to panaceum.

Czas treningu a kompromis energetyczny

Tempo uczenia się jest zwykle dość małe, więc postępy treningu są powolne. Duży model, którego trenowanie na komputerze stacjonarnym może zająć tygodnie, można wytrenować w, powiedzmy, dwie godziny, używając klastra GPU, który zużywa kilka kW energii. Jest to podstawowy kompromis ze względu na charakter procedury szkoleniowej. To powiedziawszy, GPU stają się coraz bardziej wydajne - na przykład nowa architektura GPU nVidia Volta pozwala na 15,7 TFLOP, zużywając mniej niż 300 W.

Brak możliwości przenoszenia

Obecnie praktycznie każdy inny problem wymaga zaprojektowania, przeszkolenia i wdrożenia niestandardowej sieci neuronowej. Chociaż rozwiązanie często działa, jest w pewien sposób uwięzione w tym problemie. Na przykład AlphaGo jest świetny w Go, ale beznadziejnie prowadziłby samochód lub udzielał rekomendacji muzycznych - po prostu nie został zaprojektowany do takich zadań. Ta przytłaczająca nadmiarowość jest, moim zdaniem, poważną wadą sieci neuronowych, a także stanowi główną przeszkodę dla postępu badań sieci neuronowych w ogóle. Istnieje cała dziedzina badań zwana uczeniem się przez transferktóry dotyczy znalezienia sposobów zastosowania sieci przeszkolonej w zakresie jednego zadania do innego zadania. Często wiąże się to z faktem, że dane mogą nie być wystarczające do wyszkolenia sieci od zera przy drugim zadaniu, więc możliwość użycia wstępnie wyszkolonego modelu z dodatkowym dostrajaniem jest bardzo atrakcyjna.


Pierwsza część pytania jest trudniejsza. Pomijając czysto statystyczne modele, nie widziałem żadnych znaczących podejść do uczenia maszynowego, które radykalnie różnią się od sieci neuronowych. Warto jednak wspomnieć o kilku interesujących wydarzeniach, ponieważ dotyczą one niektórych z powyższych nieefektywności.

Chipy neuromorficzne

Najpierw trochę tła.

Skokowe sieci neuronowe mają ogromny potencjał pod względem mocy obliczeniowej. W rzeczywistości udowodniono , że są one silniejsze niż klasyczne sieci neuronowe z aktywacjami sigmoidalnymi.

Co więcej, dynamiczne sieci neuronowe mają nieodłączny chwyt czasu - coś, co było poważną przeszkodą dla klasycznych sieci od ich powstania. Nie tylko to, ale sieci szczytowe są sterowane zdarzeniami , co oznacza, że ​​neurony działają tylko wtedy, gdy nadchodzi sygnał. Jest to w przeciwieństwie do klasycznych sieci, w których każdy neuron jest oceniany niezależnie od jego wkładu (ponownie, jest to tylko konsekwencja procedury oceny zwykle wdrażanej jako mnożenie dwóch gęstych macierzy). Tak więc sieci wzbogacające wykorzystują rzadki schemat kodowania, co oznacza, że ​​tylko niewielka część neuronów jest aktywna w danym momencie.

Teraz rzadkie kodowanie oparte na wartości szczytowej i działanie sterowane zdarzeniami są odpowiednie do sprzętowej implementacji sieci szczytowych zwanych chipami neuromorficznymi . Na przykład układ TrueNorth firmy IBM może symulować 1 milion neuronów i 256 milionów połączeń , pobierając średnio tylko około 100 mW mocy. Jest to rząd wielkości bardziej wydajny niż obecne procesory graficzne nVidia. Chipy neuromorficzne mogą być rozwiązaniem kompromisu czas / energia, o którym wspomniałem powyżej.

Ponadto memrystory to stosunkowo nowy, ale bardzo obiecujący rozwój. Zasadniczo, memrystor jest podstawowym elementem obwodu bardzo podobnym do rezystora, ale o zmiennej rezystancji proporcjonalnej do całkowitej ilości prądu, który przez niego przepłynął przez cały okres jego użytkowania. Zasadniczo oznacza to, że utrzymuje „pamięć” ilości prądu, który przez nią przepłynął. Jednym z ekscytujących potencjalnych zastosowań pamięci jest niezwykle wydajne modelowanie synaps w sprzęcie.

Uczenie się i ewolucja wzmocnienia

Myślę, że warto o nich wspomnieć, ponieważ są obiecującymi kandydatami do rozwiązania problemu nieprzenoszalności. Nie są one ograniczone do sieci neuronowych - ponieważ oparte na nagrodach, RL i ewolucja mają teoretycznie zastosowanie w ogólnych ustawieniach do każdego zadania, w którym możliwe jest zdefiniowanie nagrody lub celu dla agenta. Niekoniecznie jest to trywialne, ale jest o wiele bardziej ogólne niż zwykłe podejście oparte na błędach, w którym agent uczący się stara się zminimalizować różnicę między wynikami i prawdą podstawową. Najważniejsze jest tutaj nauczanie transferowe: idealnie, zastosowanie wyszkolonego agenta do innego zadania powinno być tak proste, jak zmiana celu lub nagrody (choć nie są jeszcze na tym poziomie ...).


„Dokładnie mocniejszy” - tak pisze Maass w swoim artykule z 1996 roku, jednak twierdzi, że jest matematyczny i nie określa mocy obliczeniowej. Co więcej, w 1996 r. Napisano, kiedy popularne były funkcje aktywacji sigmoidalnej, których nie są teraz, właśnie dlatego, że nie są zbieżne w przypadku wielu różnych scenariuszy tak niezawodnie lub tak szybko, jak prostsze funkcje aktywacyjne. Maass tylko dwukrotnie wspomina o konwergencji w artykule i nie wskazuje, w jaki sposób zachodzi konwergencja, co dodatkowo podkreśla brak definicji mocy obliczeniowej w kategoriach celów uczenia maszynowego.
FauChristian

Związek między RL a ewolucją jest niejasny. Masz na myśli jakąś kombinację algorytmu genetycznego i RL? Jeśli tak, jakie jest odniesienie?
FauChristian

@FauChristian Nawet jeśli nie przeczytałeś całego artykułu, definicja zdolności obliczeniowej jest podana w streszczeniu (drugie zdanie):In particular it is shown that networks of spiking neurons are, with regard to the number of neurons that are needed, computationally more powerful than these other neural network models.
Cantordust

Aktywacje @FauChristian Sigmoid są nadal bardzo żywe i pełne energii. Na przykład LSTM używają sigmoidalnych aktywacji do bram, softmax (znormalizowane sigmoidy) jest nadal najlepszą rzeczą, jaką mamy do klasyfikacji wieloklasowej itp. Aktywacje „prostsze” niekoniecznie są lepsze - oryginalna ReLU ( max(0, x)) jest bardzo zagrożona utknąć x < 0, powodując martwe neurony. W każdym razie chodzi o moc obliczeniową sieci szczytowych i ich ultra-wydajną implementację sprzętową pod względem zużycia energii.
kantordust

@FauChristian Nie rysuję podobieństw między RL a ewolucją. Podaję je jako przykłady obiecujących podejść do rozwiązania pewnego rodzaju nieefektywności, a mianowicie konieczności ręcznego opracowania rozwiązania (czy to NN, czy coś innego) dla każdego indywidualnego problemu, jaki masz pod ręką. Idealnie, powinieneś być w stanie zaprojektować ogólny solver, który jest automatycznie dostrajany przez RL i / lub ewolucję dla konkretnego problemu opartego wyłącznie na celu wysokiego poziomu.
kantordust

1

Wymiana sieci neuronowych

Mogą istnieć nowe algorytmy, które mogą zastąpić sieci neuronowe. Jedną z cech charakterystycznych sieci neuronowych jest to, że wykorzystują one proste elementy, z których każdy ma niskie wymagania dotyczące zasobów obliczeniowych we wzorach geometrycznych.

Sztuczne neurony można uruchamiać równolegle (bez współdzielenia czasu CPU lub zapętlania) poprzez mapowanie obliczeń na urządzenia DSP lub inny sprzęt do obliczeń równoległych. To, że wiele neuronów jest w zasadzie podobnych, stanowi zatem silną zaletę.

Co byśmy zastąpili?

Kiedy rozważamy algorytmiczne zastąpienie sieci neuronowych, sugerujemy, że projekt sieci neuronowej jest algorytmem. Nie jest.

Sieć neuronowa to podejście do zbieżności w obwodzie czasu rzeczywistego w celu przeprowadzenia nieliniowej transformacji wejścia na wyjście w oparciu o pewne sformułowanie tego, co jest optymalne. Takie sformułowanie może stanowić minimalizację miary błędu lub rozbieżności względem określonego zdefiniowanego ideału. Może to być miara dobrego samopoczucia, którą należy zmaksymalizować.

Źródło określania sprawności dla dowolnego zachowania sieci może być wewnętrzne. Nazywamy to nauką bez nadzoru. Może być zewnętrzny, który nazywamy nadzorowanym, gdy zewnętrzna informacja o kondycji jest sprzężona z wektorami wejściowymi w postaci pożądanych wartości wyjściowych, które nazywamy etykietami.

Sprawność może również pochodzić z zewnątrz jako skalar lub wektor niezwiązany z danymi wejściowymi, ale raczej w czasie rzeczywistym, który nazywamy wzmocnieniem. Wymaga to ponownego uczenia się algorytmów. Sprawność behawioralna netto może być alternatywnie oceniana przez inne sieci w systemie, w przypadku sieci ułożonych w stos lub innych konfiguracji, takich jak hierarchie Laplacian.

Wybór algorytmów ma niewiele wspólnego z inteligencją porównawczą po wybraniu projektów matematycznych i procesów. Projektowanie algorytmów jest bardziej bezpośrednio związane z minimalizowaniem zapotrzebowania na zasoby obliczeniowe i skracaniem wymagań czasowych. Ta minimalizacja zależy również od sprzętu i systemu operacyjnego.

Czy wskazana jest wymiana?

Pewnie. Byłoby lepiej, gdyby sieci były bardziej jak neurony ssaków.

  • Wyrafinowanie aktywacji
  • Heterogeniczność wzorów połączeń
  • Plastyczność projektu, aby wspierać metadaptację
  • Zarządzany przez wiele wymiarów sygnalizacji regionalnej

Przez sygnalizację regionalną rozumie się wiele sygnałów chemicznych poza transmisją sygnału przez synapsy.

Możemy nawet rozważyć wyjście poza neurologię ssaków.

  • Łączenie uczenia parametrycznego i opartego na hipotezach
  • Poznanie formy stosowanej, gdy drobnoustroje przechodzą przez DNA

Wydajność sieci neuronowej

Wydajności nie da się obliczyć w jakiejś uniwersalnej skali, ponieważ temperaturę można obliczyć w stopniach Kelvina. Wydajność można określić ilościowo jedynie jako iloraz pewnej zmierzonej wartości w stosunku do pewnego teoretycznego ideału. Pamiętaj, że jest to idealny, a nie maksymalny mianownik. W silnikach termodynamicznych idealnym rozwiązaniem jest szybkość wkładu energii, której nigdy nie można w pełni przenieść na moc wyjściową.

Podobnie sieci neuronowe nigdy nie mogą się uczyć w czasie zerowym. Sieć neuronowa nie może również osiągnąć błędu zerowego w dowolnym czasie produkcji. Dlatego informacje są pod pewnymi względami podobne do energii, koncepcji zbadanej przez Claude'a Shannona z Bell Labs w początkach automatyzacji cyfrowej, a związek między entropią informacji a entropią termodynamiczną jest obecnie ważną częścią fizyki teoretycznej.

Nie może być złej wydajności uczenia się lub dobrej wydajności uczenia się. Wydajność nie może być ani zła, ani dobra, jeśli chcemy myśleć logicznie i naukowo - tylko względna poprawa pewnej konfiguracji systemu w stosunku do innej konfiguracji systemu dla bardzo określonego zestawu scenariuszy wydajności.

Dlatego bez jednoznacznej specyfikacji dwóch konfiguracji sprzętu, systemu operacyjnego i oprogramowania oraz w pełni zdefiniowanego zestawu testów używanych do oceny względnej wydajność nie ma znaczenia.


1

Mamy nadzieję, że czai się z przodu. Na chwilę obecną mamy sieci kapsułowe J.Hintona, które wykorzystują inną nieliniową aktywację zwaną funkcją „squash”.

  1. Hinton nazywa maksymalne pule w CNN jako „duży błąd”, ponieważ CNN szuka jedynie obiektów obecności na obrazie, a nie względnej orientacji między nimi. Dlatego tracą informacje przestrzenne, próbując osiągnąć niezmienność tłumaczenia.
  2. Sieci neuronowe mają stałe połączenia, podczas gdy kapsułka w sieci kapsułek „decyduje”, do której innej kapsułki musi przekazać swoją aktywację w każdej epoce. Nazywa się to „routingiem”.
  3. Aktywacja każdego neuronu w sieciach neuronowych jest skalarem. Natomiast aktywacja kapsułki jest wektorem wychwytującym pozę i orientację obiektu na obrazie.
  4. CNN są uważane za złe przedstawienie ludzkiego układu wzrokowego. Przez ludzki układ wzrokowy mam na myśli oczy i mózg / poznanie razem. Możemy rozpoznać Statuę Wolności z dowolnej pozycji, nawet jeśli spojrzeliśmy na nią z jednej pozycji. CNN w większości przypadków nie może wykryć tego samego obiektu w różnych pozach i orientacjach.

Same sieci kapsułkowe mają pewne wady. Tak więc podjęto prace w kierunku patrzenia poza sieci neuronowe. Możesz przeczytać ten blog dla lepszego zrozumienia, zanim przeczytasz artykuł J.Hintona.


0

Sieci neuronowe wymagają dużej ilości danych i przeszkolenia. W przypadku większości zestawów danych w formacie tabelarycznym znacznie lepiej jest używać modeli opartych na drzewie decyzyjnym. Zwykle proste modele wystarczają do uzyskania dobrej dokładności. Jednak sieci neuronowe miały próbę czasu. Minęło zaledwie pięć do sześciu lat od rozpoczęcia rewolucji głębokiego uczenia się, więc wciąż nie znamy prawdziwej mocy głębokiego uczenia się.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.