Sztuczne sieci neuronowe RÓWNOWAŻNE do regresji liniowej z cechami wielomianowymi?

11

Chcę lepiej zrozumieć sieci neuronowe i ich zalety w porównaniu z innymi algorytmami uczenia maszynowego. Rozumiem poniżej i moje pytanie brzmi:

Czy możesz poprawić i uzupełnić moje zrozumienie, proszę? :)

Moje zrozumienie:

(1) Sztuczne sieci neuronowe = funkcja, która przewiduje wartości wyjściowe na podstawie wartości wejściowych. Zgodnie z uniwersalnym twierdzeniem aproksymacyjnym ( https://en.wikipedia.org/wiki/Universal_approximation_theorem ), zwykle możesz mieć dowolną możliwą (choć powinna się dobrze zachowywać) funkcję predykcji, biorąc pod uwagę wystarczającą liczbę neuronów.

(2) To samo dotyczy regresji liniowej, przyjmując wielomiany wartości wejściowych jako dodatkowe wartości wejściowe, ponieważ można przybliżać (porównywać ekspansję Taylora) każdą funkcję dobrze za pomocą wielomianów.

(3) Oznacza to, że (w pewnym sensie, w odniesieniu do najlepszych możliwych wyników), te 2 metody są równoważne.

(4) Stąd ich główna różnica polega na tym, która metoda umożliwia lepszą implementację obliczeniową. Innymi słowy, z jaką metodą można znaleźć, na podstawie przykładów treningowych, szybsze dobre wartości parametrów, które ostatecznie definiują funkcję predykcji.

Z zadowoleniem przyjmuję wszelkie przemyślenia, komentarze i rekomendacje do innych linków lub książek w celu poprawy mojego myślenia.

tyrex
źródło
2
Powinny zostać przeniesione do math.stackexchange.com Sieci neuronowe z aktywacją przybliżają dowolnie dowolną płynną funkcję, ale mają jeszcze jedną cechę: gładkość (skalowanie wag) zależy od punktu, jest to klucz do dobrego globalnego przybliżenie. Nie można tego osiągnąć za pomocą aproksymacji wielomianowej (biorąc pod uwagę funkcję ciągłą, weź jej splot za pomocą i użyj pierwszych kilku terminów rozwinięcia Taylora wokół pewnego punktu, co daje tylko dobre przybliżenie lokalne )tanhndeπ|nx|2
1952009
@ user1952009 - czy Stone-Weierstrass nie oznacza arbitralnie dobrego globalnego przybliżenia ze względu na jednorodność przybliżenia w twierdzeniu?
jbowman
@jbowman Robi dobre przybliżenie lokalnej: dla dowolnego ciągłej, i istnieje gładka, funkcję analityczną lub wielomianu (jak chcesz) takiego, że . Podobnie jak sieć neuronowa, ale cecha polega na tym, że może ona przyjmować wiele różnych lokalnych przybliżeń (około różnych ) i mieszać je w celu uzyskania pewnego rodzaju globalnego przybliżenia. frϵfr,ϵsup|x|r|f(x)fr,ϵ(x)|ϵx0
user1952009
1
Jest to potencjalnie duplikat stats.stackexchange.com/questions/41289/ ... Oznaczę to pytanie, ale biorąc pod uwagę nagrodę, chyba zamierzam tu skomentować :)
Hugh Perkins,
1
+1 @HughPerkins dla linku do wnikliwego powiązanego pytania Q. Ale nawet jeśli odpowiedzi w powiązanym pytaniu dają wgląd w to pytanie tutaj (np. Jak Stephan Kolassa wyjaśnia, że ​​aNN bierze pod uwagę nieliniowość jako domyślną, podczas gdy regresja robi to tylko gdy jest specjalnie modelowany za pomocą dodatkowych technik), nie oznaczałbym duplikatu . Pytałeś, który typ modelu może dawać lepsze wyniki, podczas gdy to pytanie konkretnie prosi o wyjaśnienie, czy dwie metody są podobne pod względem wyników i ich uogólnienia.
IWS

Odpowiedzi:

7

Oto oferta:

Technicznie napisałeś prawdziwe zdania (oba modele mogą przybliżyć dowolną funkcję „niezbyt szaloną” przy wystarczających parametrach), ale zdania te nigdzie cię nie prowadzą!

Dlaczego? Cóż, spójrz bliżej na uniwersalną teorię aproksymacji lub inny formalny dowód, że sieć neuronowa może obliczyć dowolny f (x), jeśli istnieją wystarczające neurony.

Wszystkie tego rodzaju dowody, które widziałem, wykorzystują tylko jedną ukrytą warstwę.

Rzuć okiem tutaj http://neuralnetworksanddeeplearning.com/chap5.html dla pewnej intuicji. Istnieją prace pokazujące, że w pewnym sensie liczba potrzebnych neuronów rośnie wykładniczo, jeśli używasz tylko jednej warstwy.

Tak więc, choć teoretycznie masz rację, w praktyce nie masz nieskończonej ilości pamięci, więc tak naprawdę nie chcesz trenować sieci 2 ^ 1000 neuronów, prawda? Nawet jeśli miałeś nieskończoną ilość pamięci, ta sieć na pewno się przepełni.

Moim zdaniem najważniejszym punktem ML jest punkt praktyczny! Rozwińmy trochę na ten temat. Prawdziwym dużym problemem tutaj nie jest tylko to, jak wielomiany bardzo szybko zwiększają / zmniejszają się poza zestawem treningowym. Ani trochę. Jako szybki przykład piksel dowolnego obrazu mieści się w bardzo określonym zakresie ([0,255] dla każdego koloru RGB), dzięki czemu możesz mieć pewność, że każda nowa próbka znajdzie się w zakresie wartości twojego zestawu treningowego. Nie. Najważniejsze jest to, że porównanie to nie jest przydatne na początek (!).

Sugeruję, abyś trochę poeksperymentował z MNIST i spróbował zobaczyć rzeczywiste wyniki, które możesz wymyślić, używając tylko jednej warstwy.

Praktyczne sieci wykorzystują znacznie więcej niż jedną ukrytą warstwę, czasem dziesiątki (cóż, Resnet nawet więcej ...) warstw. Z powodu. Ten powód nie został udowodniony i ogólnie wybór architektury sieci neuronowej jest gorącym obszarem badań. Innymi słowy, chociaż wciąż musimy wiedzieć więcej, oba modele, które porównałeś (regresja liniowa i NN z tylko jedną ukrytą warstwą), dla wielu zestawów danych, nie są w ogóle przydatne!

Nawiasem mówiąc, na wypadek, gdybyś dostał się do ML, istnieje inne bezużyteczne twierdzenie, które w rzeczywistości jest obecnym „obszarem badań” - PAC (prawdopodobnie w przybliżeniu poprawny) / wymiar VC. Rozbuduję to jako bonus:

Jeśli uniwersalne przybliżenie zasadniczo stwierdza, że ​​biorąc pod uwagę nieskończoną liczbę neuronów, możemy przybliżyć dowolną funkcję (dziękuję bardzo?), W praktyce mówi PAC, biorąc pod uwagę (praktycznie!) Nieskończoną liczbę oznakowanych przykładów, które możemy zbliżyć tak blisko, jak to możliwe chcą najlepszej hipotezy w naszym modelu. To było absolutnie zabawne, kiedy obliczyłem rzeczywistą liczbę przykładów potrzebnych do tego, aby praktyczna sieć mieściła się w pewnym praktycznym pożądanym poziomie błędu z pewnym prawdopodobieństwem w przybliżeniu :) To było więcej niż liczba elektronów we wszechświecie. PS, aby go zwiększyć, zakłada również, że próbki są IID (co nigdy nie jest prawdą!).

Yoni Keren
źródło
Czy zatem sztuczne sieci neuronowe są równoważne regresji liniowej z cechami wielomianowymi, czy nie? Twoja odpowiedź wydaje się koncentrować na liczbie warstw i wymaganych neuronach, ale nie wyjaśnia, dlaczego te dwie analizy powinny / mogłyby być równoważne. Czy dodanie większej liczby (ukrytych) warstw sprawia, że ​​sieć neuronowa jest w stanie obsłużyć (nawet) więcej funkcji niż regresja z wielomianami? I, jak zastanawiał się OP w odpowiedzi na pytanie, co powiesz na zewnętrzną ważność / wydajność poza próbą tych modeli (i kompromisy między użyciem bardziej skomplikowanych opcji modelu i wydajności)?
IWS
Odsyłam cię do mojego pierwszego zdania: „Technicznie napisałeś prawdziwe zdania”.
Yoni Keren
Zapytałem, ponieważ uzasadnienie twojego stwierdzenia, że ​​„OP napisał prawdziwe zdania” nie było dla mnie jasne w oparciu o twoją odpowiedź. Czy byłbyś tak uprzejmy rozwinąć tę kwestię?
IWS,
Na pewno. Czy to jest lepsze, czy uważasz, że coś jeszcze jest niejasne?
Yoni Keren
8

Prawdą jest, że dowolną funkcję można dowolnie zamknąć w przybliżeniu zarówno przez coś, co liczy się jako sieć neuronowa, jak i przez coś, co liczy się jako wielomian.

Przede wszystkim pamiętaj, że dotyczy to wielu konstrukcji. Możesz przybliżyć dowolną funkcję, łącząc sinus i cosinus (transformaty Fouriera), lub po prostu dodając wiele „prostokątów” (niezbyt dokładna definicja, ale mam nadzieję, że rozumiesz).

Po drugie, podobnie jak odpowiedź Yoni, za każdym razem, gdy trenujesz sieć lub dopasowujesz regresję do wielu mocy, liczba neuronów lub liczba mocy są ustalone. Następnie zastosujesz jakiś algorytm, może zejście gradientu lub coś takiego, i dzięki temu znajdziesz najlepsze parametry. Parametry to wagi w sieci i współczynniki dla dużego wielomianu. Maksymalna moc pobierana przez wielomian lub liczba użytych neuronów nazywane są hiperparametrami. W praktyce wypróbujesz kilka z nich. Oczywiście możesz stwierdzić, że parametr jest parametrem, ale w praktyce tak się nie dzieje.

Chodzi o to, że w uczeniu maszynowym tak naprawdę nie potrzebujesz funkcji, która idealnie pasuje do twoich danych. W rzeczywistości nie byłoby to zbyt trudne. Chcesz czegoś, co dobrze pasuje, ale prawdopodobnie również działa na punkty, których jeszcze nie widziałeś. Zobacz to zdjęcie, na przykład zaczerpnięte z dokumentacji dla scikit-learn.

Linia jest zbyt prosta, ale najlepsze przybliżenie nie jest po prawej stronie, jest na środku, mimo że funkcja po prawej stronie najlepiej pasuje. Funkcja po prawej stronie stworzyłaby dość dziwne (i prawdopodobnie nieoptymalne) prognozy dla nowych punktów danych, szczególnie jeśli spadną one w pobliżu krętych bitów po lewej stronie.

Ostatecznym powodem, dla którego sieci neuronowe z kilkoma parametrami działają tak dobrze, jest to, że mogą one coś zmieścić, ale tak naprawdę nie są nadrzędne. Ma to również wiele wspólnego ze sposobem ich szkolenia, z pewną formą stochastycznego spadku.

Gijs
źródło
2

Ponieważ nie udzielono jeszcze odpowiedzi (choć zaakceptowałbym komentarz użytkownika 1952009, który został opublikowany jako odpowiedź), pozwólcie mi podzielić się tym, czego się nauczyłem w międzyczasie:

(1) Wydaje mi się, że ogólnie rozumiem, ale diabeł tkwi w szczegółach.

(2) Jedną z rzeczy, które przeoczyły „moje rozumienie”: jak dobrze sparametryzowana hipoteza uogólnia się na dane spoza zestawu treningowego? Nie-wielomianowy charakter prognoz sieci neuronowej może być tam lepszy niż prosta regresja liniowa / wielomianowa (pamiętaj, jak wielomian bardzo szybko rośnie / zmniejsza się poza zestawem treningowym).

(3) Link, który dodatkowo wyjaśnia znaczenie szybkiego obliczania parametrów: http://www.heatonresearch.com/2017/06/01/hidden-layers.html

tyrex
źródło
2

Może ten artykuł może ci pomóc:

Regresja wielomianowa jako alternatywa dla sieci neuronowych

Streszczenie mówi:

Pomimo sukcesu sieci neuronowych (NN), wielu nadal martwi się ich naturą „czarnej skrzynki”. Dlaczego oni pracują? Przedstawiamy prosty argument analityczny, że NN są w istocie modelami regresji wielomianowej. Pogląd ten będzie miał różne implikacje dla NN, np. Wyjaśniając, dlaczego w NN pojawiają się problemy z konwergencją, i daje przybliżone wskazówki, jak unikać nadmiernego dopasowania. Ponadto wykorzystujemy to zjawisko do przewidywania i potwierdzania właściwości wielokoliniowości NN, o których wcześniej nie informowano w literaturze. Co najważniejsze, biorąc pod uwagę tę luźną korespondencję, można rutynowo stosować modele wielomianowe zamiast NN, unikając w ten sposób niektórych poważnych problemów tych ostatnich, takich jak konieczność ustawienia wielu parametrów dostrajania i radzenia sobie z problemami konwergencji. Prezentujemy szereg wyników empirycznych; w każdym przypadku dokładność podejścia wielomianowego odpowiada lub przekracza dokładność podejścia NN. Dostępny jest wielofunkcyjny pakiet oprogramowania open source, polyreg.

Lucazav
źródło