Zalety optymalizacji roju cząstek w porównaniu z optymalizacją Bayesa do strojenia hiperparametrów?


18

Istnieją znaczące współczesne badania dotyczące optymalizacji bayesowskiej (1) dostrajania hiperparametrów ML. Motywacją do kierowania jest tutaj minimalna liczba punktów danych, aby dokonywać świadomych wyborów, które punkty warto wypróbować (wywołania funkcji celu są drogie, więc zmniejszenie ich liczby jest lepsze), ponieważ szkolenie modelu jest czasochłonne - niektóre skromnie -Duże problemy z SVM, nad którymi pracowałem, mogą zająć od kilku minut do kilku godzin.

Z drugiej strony, Optunity to implementacja roju cząstek, która rozwiązuje to samo zadanie. PSO nie znam się w przeważającej mierze, ale wydaje się, że musi on być mniej wydajny, ponieważ wymaga większej liczby punktów próbnych, a zatem obiektywnych ocen funkcji, do oceny powierzchni hiperparametrów.

Czy brakuje mi kluczowego szczegółu, który sprawia, że ​​PSO woli od BO w kontekście uczenia maszynowego? Czy też wybór pomiędzy tymi dwoma zawsze jest kontekstowo związany z zadaniem dostrajania hiperparametrów?


(1) Shahriari i in., „Wyjmowanie człowieka z pętli: przegląd optymizmu bayesowskiego”.


nie potrzebuje gradientu. działa z nieciągłością. umiarkowanie wydajny. obsługuje kilka wymiarów. dobrze radzi sobie z hałasem. Ma wbudowaną odporność estymatora.
EngrStudent - Przywróć Monikę

@EngrStudent Możesz powiedzieć wszystkie te rzeczy na temat BO, z wyjątkiem BO, który wydaje się być bardziej wydajny, ponieważ wymaga mniejszej liczby oceny funkcji, przynajmniej moim zdaniem. Ogólnie nie pytam o PSO, pytam o jego zalety w stosunku do BO.
Sycorax mówi Przywróć Monikę

1
Nie dość dobrze wyszkolony na ten temat, aby była to ostateczna odpowiedź, ale uważam, że optymalizacja bayesowska powinna spotkać ten sam los, co najbardziej wydajne optymalizatory z wysoce multimodalnymi problemami (patrz: 95% problemów z uczeniem maszynowym): zeruje się na najbliższe lokalne minimum bez „badania” globalnej przestrzeni. Myślę, że Rój Cząstek miałby więcej szczęścia w znalezieniu nielokalnych minimów.
Cliff AB

2
Przepraszam za spóźnienie na imprezę, nie jestem pewien, jak udało mi się tak długo przeoczyć pytanie o Optunity! :-)
Marc Claesen

1
@MarcClaesen Muszę przyznać, miałem nadzieję, że w pewnym momencie znajdziesz czas na odpowiedź. Późno czy nie, myślę, że wszyscy cieszymy się, że przybyłeś.
Sycorax mówi Przywróć Monikę

Odpowiedzi:


25

Jako główny programista Optunity dodam moje dwa centy.

Dokonaliśmy rozległych testów porównawczych porównujących Optunity z najpopularniejszymi rozwiązaniami bayesowskimi (np. Hyperopt, SMAC, bayesopt) w rzeczywistych problemach, a wyniki wskazują, że PSO w rzeczywistości nie jest mniej efektywny w wielu praktycznych przypadkach. W naszym teście, który polega na dostrajaniu klasyfikatorów SVM w różnych zestawach danych, Optunity jest faktycznie bardziej wydajny niż hyperopt i SMAC, ale nieco mniej wydajny niż BayesOpt. Chciałbym się tutaj podzielić wynikami, ale poczekam, aż w końcu nadejdzie Optunity opublikowany w JMLR (sprawdzany od ponad roku, więc nie wstrzymuj oddechu ...).

Jak wskazano, zwiększona wydajność jest powszechnie używanym punktem sprzedaży dla optymalizacji bayesowskiej, ale w praktyce utrzymuje wodę tylko wtedy, gdy zachodzą założenia podstawowych modeli zastępczych, co wcale nie jest trywialne. W naszych eksperymentach bardzo prosty solver Optivity PSO często konkuruje ze złożonymi podejściami bayesowskimi pod względem liczby ocen funkcji. Rozwiązania bayesowskie działają bardzo dobrze, jeśli mają dobre priorytety, ale z nieinformacyjnym uprzednim nie ma praktycznie żadnej strukturalnej przewagi nad metodami metaheurystycznymi, takimi jak PSO, pod względem wydajności.

Dużą zaletą PSO jest to, że jest żenująco równoległy. Optymalizacja bayesowska jest często trudna do zrównoleglenia z powodu jej z natury sekwencyjnej natury (implementacja hyperopt jest jedynym prawdziwym wyjątkiem). Biorąc pod uwagę możliwości dystrybucji, która staje się normą, Optunity szybko zajmuje wiodącą pozycję w zakresie czasu naściennego, aby uzyskać dobre rozwiązania.

Inną kluczową różnicą między Optunity a większością innych dedykowanych bibliotek optymalizacji hiperparametrów jest grupa docelowa: Optivity ma najprostszy interfejs i jest skierowana do ekspertów nie uczących się maszynowo, podczas gdy większość innych bibliotek wymaga pewnej wiedzy na temat optymalizacji bayesowskiej, aby efektywnie korzystać (tj. skierowane do specjalistów).

Powodem, dla którego stworzyliśmy bibliotekę, jest to, że pomimo faktu, że istnieją dedykowane metody optymalizacji hiperparametrów, brakuje ich w praktyce. Większość ludzi wciąż albo wcale nie dostraja, robi to ręcznie, albo naiwnie, na przykład za pomocą siatki lub losowego wyszukiwania. Naszym zdaniem kluczowym powodem tego jest fakt, że istniejące biblioteki przed opracowaniem Optunity były zbyt trudne w użyciu pod względem instalacji, dokumentacji, API i często ograniczały się do jednego środowiska.


4
Tak dobrze poinformowana odpowiedź, jak tylko możemy! Jestem ciekawy: mówisz, że solver PSO jest konkurencyjny w stosunku do Bayesian Optimization. Czy to znaczy, że PSO działające równolegle okazuje się być szybsze niż Optymalizacja Bayseian uruchamiana sekwencyjnie ? Nie próbuję być wredny, ale jest to dla mnie ważne rozróżnienie.
Cliff AB

2
Nie, oba działają sekwencyjnie. W naszych eksperymentach (strojenie SVM) wydajność PSO i optymalizacja Bayesa są konkurencyjne pod względem liczby ocen funkcji. Nie porównaliśmy wydajności pod względem czasu zegara ściennego w ustawieniach rozproszonych, ponieważ byłby to trochę tani strzał, ponieważ wiele bayesowskich metod optymalizacji po prostu nie może tego zrobić.
Marc Claesen

To interesujące. Wszelkie przemyślenia, dlaczego? Niestabilna powierzchnia hiperparametrów?
Cliff AB

3
Myślę, że jest kilka powodów. Po pierwsze, powierzchnie hiperparametrów mają wiele lokalnych optymów (np. Ze względu na skończone efekty próbki, fałdy krzyżowej walidacji, nieodłączną losowość w niektórych podejściach do uczenia się). Po drugie, optymalizacja bayesowska polega na budowaniu dokładnych zastępczych funkcji celu, co nie jest łatwym zadaniem, dopóki próbka funkcji celu nie zostanie pobrana wiele razy. Optymalizacja Bayesa zajmuje trochę czasu, zanim konwergencja przyspieszy (często pomijany szczegół). W tym czasie metody metaheurystyczne, takie jak PSO, osiągnęły także fazę lokalnego wyszukiwania. PSO jest bardzo dobry w wyszukiwaniu lokalnym.
Marc Claesen

4
+1 za doskonałą odpowiedź. Zbudowałem własne oprogramowanie BO, które muszę przyznać, że w tym momencie jest to głównie próżny projekt, więc rozumiem, w jaki sposób procedura BO działa bardziej szczegółowo; Cieszę się, że mogę zacząć rysować powierzchnię tego, co dzieje się w świecie tuningu hiperparametrów. Twoja uwaga na temat naiwnych podejść naprawdę do mnie dociera, ponieważ jeden z moich starszych naiwnych programów dostrajających dostraja model już od tygodnia bez końca ... Dziękuję za twój wkład i jestem pewien, że będę miał więcej pytań, gdy to trawię.
Sycorax mówi Przywróć Monikę

0

Odpowiedź zależy od problemu i nie można jej podać bez dodatkowego kontekstu. Zazwyczaj odpowiedź brzmiałaby następująco. Optymalizacja Bayesowska jest bardziej odpowiednia w przypadku problemów niskowymiarowych z budżetem obliczeniowym do 10x-100x liczby zmiennych. PSO może być dość wydajny w przypadku znacznie większych budżetów, ale nie jest najnowocześniejszy w swojej niszy.


Komentarze nie są przeznaczone do rozszerzonej dyskusji; ta rozmowa została przeniesiona do czatu .
gung - Przywróć Monikę
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.