Przeczytałem kilka artykułów omawiających zalety i wady każdej metody, niektórzy twierdzą, że GA nie daje żadnej poprawy w znalezieniu optymalnego rozwiązania, podczas gdy inni pokazują, że jest on bardziej skuteczny. Wydaje się, że GA jest ogólnie preferowane w literaturze (chociaż większość ludzi modyfikuje ją w jakiś sposób, aby osiągnąć pożądane wyniki), to dlaczego większość rozwiązań programowych wydaje się wykorzystywać wyłącznie propagację wsteczną?
Czy istnieje jakaś ogólna zasada, kiedy należy użyć jednego lub drugiego? Może zależy to od rodzaju NN lub istnieje jakieś najnowocześniejsze rozwiązanie, które generalnie przewyższa inne?
Jeśli to możliwe, szukam ogólnych odpowiedzi: tj. „Jeśli NN jest ogromny, GA jest lepszy” lub „GA jest zawsze lepszy, ale ma problemy z wydajnością obliczeniową” itp.
Jednym z kluczowych problemów z sieciami neuronowymi jest nadmierne dopasowanie, co oznacza, że algorytmy, które bardzo starają się znaleźć sieć, która minimalizuje niektóre kryteria oparte na skończonej próbce danych, otrzymają sieć, która działa bardzo dobrze dla tej konkretnej próbki danych, ale które będą słabo uogólnione. Z tego powodu raczej ostrożnie używam GA do projektowania sieci neuronowych, zwłaszcza jeśli optymalizują architekturę jednocześnie z optymalizacją wag. Ogólnie stwierdziłem, że sieci szkoleniowe (z regularyzacją) z pewnej liczby (powiedzmy 20) losowych wektorów masy początkowej, a następnie tworzenie zestawu wszystkich powstałych sieci jest ogólnie równie dobrym podejściem, jak każde inne.
Zasadniczo optymalizacja jest źródłem wszelkiego zła w uczeniu maszynowym, im więcej tego robisz, tym bardziej prawdopodobne jest, że skończy się to nadmiernym dopasowywaniem danych.
źródło
Ilekroć masz do czynienia z ogromną ilością danych i chcesz rozwiązać nadzorowane zadanie uczenia się za pomocą sieci neuronowej ze sprzężeniem zwrotnym, rozwiązania oparte na propagacji wstecznej są znacznie bardziej wykonalne. Powodem tego jest to, że w złożonej sieci neuronowej liczba wolnych parametrów jest bardzo wysoka. Jeden projekt branżowy, nad którym obecnie pracuję, dotyczy sieci neuronowej z około 1000 wejściami, dwiema ukrytymi warstwami @ 384 neuronów każda i 60 wyjściami. Prowadzi to do 1000 * 384 + 384 * 384 + 384 * 60 = 554496 parametrów wagi, które należy zoptymalizować. Użycie podejścia GA byłoby tutaj bardzo powolne.
źródło
Druga odpowiedź jest zła. Przeregulowanie nie jest spowodowane optymalizacją. Przeuczenie ma miejsce, gdy model jest zbyt skomplikowany i może zmieścić wszystkie punkty danych bez uczenia się faktycznej reguły, która je utworzyła (tj. Zapamiętywanie ich, w skrajnym przypadku.) Istnieje wiele sposobów zapobiegania przeregulowaniu, takich jak wybór prostszych modeli, rezygnacja, dropconnect, spadek masy i po prostu więcej danych. Celem powinno być zoptymalizowanie sieci i uczynienie jej możliwie najdokładniejszym, biorąc pod uwagę te ograniczenia.
Aby odpowiedzieć na pytanie, backprop jest podobno znacznie szybszy niż optymalizacja stochastyczna (algorytmy genetyczne i tym podobne). Domyślam się, że to dlatego, że wykorzystuje to, co powinno być rzeczywiste wyjście , dostosowuje wagi we właściwym kierunku na podstawie tego , gdzie optymalizacja stochastyczna próbuje całkowicie losowych zmian i ignoruje te informacje.
Jednak eksplorując większy obszar, GA prawdopodobnie lepiej na dłuższą metę unikając lokalnych optymów, po prostu potrwa dłużej.
Jestem ciekawy, o ile wolniejsze GA niż backprop, i jeśli ktoś wie o algorytmach hybrydowych (wyszukiwanie rozproszone wydaje się być idealne do tego.)
źródło
imho różnica między GA a propagacją wsteczną polega na tym, że GA opiera się na liczbach losowych, a propagacja wsteczna opiera się na algorytmie statycznym, takim jak stochastyczne pochylenie gradientu. GA oparte na liczbach losowych i dodane do tej mutacji oznacza, że prawdopodobnie uniknąłby złapania w minimach lokalnych. Ale wtedy GA oparte na liczbach losowych oznacza, że jest całkiem prawdopodobne, że 2 razy uruchomisz naukę w tej samej sieci, może dojść do innego wniosku, tj. Innego zestawu wag
źródło