Słownik AI

Optymalizacja rojem cząstek – ang. Particle Swarm Optimization, PSO

Optymalizacja rojem cząstek (PSO) – definicja i zastos.

Czym jest Optymalizacja rojem cząstek (particle swarm optimization, PSO)?

Optymalizacja rojem cząstek to stochastyczny algorytm obliczeniowy inspirowany zachowaniem stadnym ptaków i ryb. Metoda, zaproponowana w 1995 roku przez Jamesa Kennedy’ego, psychologa społeczeństw zwierzęcych, oraz Russella C. Eberharta z Purdue University, adresuje problemy optymalizacyjne, w których forma funkcji celu lub krajobraz poszukiwań utrudnia zastosowanie klasycznych, analitycznych procedur. W kontekście systemów uczących się PSO pełni rolę heurystycznej techniki przeszukiwania przestrzeni parametrów, konkurując z algorytmami takimi jak algorytm genetyczny czy symulowane wyżarzanie.

Jak dokładnie działa Optymalizacja rojem cząstek (PSO)

Algorytm rozpoczyna się od losowego rozmieszczenia cząstek w przestrzeni rozwiązań. Każda cząstka przechowuje swoją aktualną pozycję, prędkość oraz najlepszą pozycję napotkaną od początku poszukiwań. W każdej iteracji cząstki modyfikują prędkość pod wpływem dwóch składowych: doświadczenia indywidualnego (pamięć własna) i informacji globalnej (najlepsze znane rozwiązanie całego roju). Dzięki temu powstaje równowaga między eksploracją nieodwiedzonych rejonów a intensywną eksploatacją obiecujących obszarów. Formuły aktualizacji są nieskomplikowane, co przekłada się na niewielkie wymagania obliczeniowe i prostą implementację w wielu językach programowania.

Pochodzenie i rozwój algorytmu

Pierwotna wersja PSO powstała w środowisku symulacji zachowań społecznych. Z czasem badacze, tacy jak Maurice Clerc czy Yuhui Shi, wprowadzili modyfikacje usprawniające stabilność oraz szybkość zbieżności, między innymi współczynnik bezwładności i koncepcję roju z ograniczoną topologią informacyjną. Modyfikacje te pozwoliły dostosować PSO do zadań wielowymiarowych typowych dla uczenia maszynowego.

Zastosowania w praktyce

PSO bywa wykorzystywane do strojenia hiperparametrów sieci neuronowych, planowania tras dronów, optymalizacji portfeli inwestycyjnych oraz projektowania anten. Przykładowo, w problematyce klasyfikacji obrazów inżynierowie stosują PSO do znajdowania zestawu wag warstwy wstępnej modelu konwolucyjnego, co pozwala skrócić czas dalszego uczenia opartego na propagacji wstecznej.

Zalety i ograniczenia

Algorytm wyróżnia się niewielką liczbą parametrów sterujących, odpornością na złożone, nieciągłe funkcje celu oraz równoległym charakterem umożliwiającym akcelerację na GPU. W porównaniu z metodami gradientowymi PSO nie wymaga informacji o pochodnych, dlatego znajduje zastosowanie w problemach czarnej skrzynki. Wadą może być wolniejsza zbieżność w pobliżu optimum oraz podatność na przedwczesne skupienie się cząstek, zwłaszcza gdy współczynniki przyciągania są źle dobrane.

Na co uważać?

Praktycy powinni zwrócić uwagę na dobór rozmiaru roju i zakresów prędkości, ponieważ zbyt duże wartości prowadzą do oscylacji, a zbyt małe do stagnacji. Istotne jest także monitorowanie kryterium stopu; z byt restrykcyjnym limitem iteracji można uzyskać pozorną stabilizację daleko od optimum. W zadaniach wysokowymiarowych zaleca się wprowadzenie dynamicznej regulacji współczynnika bezwładności, aby ograniczyć eksplozję przestrzeni poszukiwań.

Dodatkowe źródła

Szczegółowe omówienie klasycznego artykułu Eberharta i Kennedy’ego z 1995 roku można znaleźć w repozytorium IEEE Xplore. Podsumowanie wraz z przykładami implementacji jest dostępne w artykule przeglądowym arXiv:1809.06484. Użytkowników poszukujących kodu odsyłam do dokumentacji projektu PySwarms. Definicję encyklopedyczną można znaleźć w serwisie Wikipedia.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *