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”.
źródło
Odpowiedzi:
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.
źródło
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.
źródło