Czy są możliwe modele, które mogą w najbliższej przyszłości zastąpić sieci neuronowe?
Czy potrzebujemy tego? Co jest najgorsze w korzystaniu z sieci neuronowych pod względem wydajności?
Czy są możliwe modele, które mogą w najbliższej przyszłości zastąpić sieci neuronowe?
Czy potrzebujemy tego? Co jest najgorsze w korzystaniu z sieci neuronowych pod względem wydajności?
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.
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.
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.
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.
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.
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 ...).
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.
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.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.
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.
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.
źródło
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”.
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.
źródło
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ę.
źródło