Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym Jan Karwowski Wydział Matematyki i Nauk Informacyjnych PW 17 XII 2013 Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 1 / 21
Jan Karwowski, Michał Okulewicz, Jarosław Legierski (Orange Labs). Application of particle swarm optimization algorithm to neural network training process in the localization of the mobile terminal. Engineering Applications of Neural Networks, strony 122 131. Springer, 2013. Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 2 / 21
Problem Wejście Wektor sił sygnałów z punktów dostępowych WiFi, 107 punktów dostępowych w budynku. Wektor sił sygnałów BTS sieci komórkowych Około 1200 punktów pomiarowych, 40 pomiarów w punkcie w serii. 3 serie. Wyjście Współrzędne XYZ Numer pomieszczenia Piętro Y X Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 3 / 21
MLP b 1 2 3... 107 b 2x4 2x1 2x2 2x3... X Y Z BP Propagacja wsteczna błędu, aktualizacja wag po każdej prezentacji wzorca, w każdej iteracji zmiana kolejności wzorców. Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 4 / 21
PSO M Clerc, i in. Standard PSO 2011. http://www. particleswarm. info/, Particle Swarm Central, 2011. + Restart co 50 iteracji wokół najlepszej znanej pozycji. Mnożnik prędkości najlepszej cząstki Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 5 / 21
Uczenie W każdym eksperymencie: Wejście:w wektor sygnałów jednego typu (WiFI lub GSM) przeskalowany do [0,1]. Wyjście jeden z parametrów: 1 Jako pojedyncza wartość przeskalowana do [0,1] X, Y lub Z 2 Jako wektor długości N, gdzie N, liczba klas piętro lub pomieszczenie Uśrednienie 40 obserwacji w punkcie. Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 6 / 21
PSO w MLP Yuan-wei Jing, Tao Ren, Yu-cheng Zhou. Neural network training using pso algorithm in atm traffic control. Intelligent Control and Automation, strony 341 350. Springer, 2006. Michael Meissner, Michael Schmuker, Gisbert Schneider. Optimized particle swarm optimization (opso) and its application to artificial neural network training. BMC bioinformatics, 7(1):125, 2006. Xiaorong Pu, Zhongjie Fang, Yongguo Liu. Multilayer perceptron networks training using particle swarm optimization with minimum velocity constraints. Advances in Neural Networks ISNN 2007, strony 237 245. Springer, 2007. Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 7 / 21
Zastosowanie PSO W = [w 0,0,1, w 0,0,2,..., w 0,n0,n 1,... w l 1,nl 1,n l ] W wektor wszystkich wag w sieci l-warstwowej, n i liczba neuronów w warstwie i tej, n 0 liczba wejść, n l liczba wyjść, w i,j,k waga połączenia między j tym neuronem w warstwie i i k tym w warstwie i + 1. E : W R, E(W ) = p T e(w, p) T e(w, p) 1 2MSE dopasowania wzorca p przez sieć o wagach W. Optymalizujemy E(W ). Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 8 / 21
Zastosowanie PSO 1: function PSOLearning(Network, Learning, Validation) 2: Zainicjuj wszystkie cząstki losowo wokół środka układu 3: for i = 1 n do 4: Wykonaj iterację PSO 5: best najlepsza znana pozycja od początku PSO 6: if not ValidationCheck(Validation, best) then 7: SetWeights(Network, best) 8: return 9: end if 10: end for 11: SetWeights(Network, best) 12: BackPropagation(Network, Learning, Validation) Propagacja wsteczna z zatrzymaniem, gdy wzrośnie błąd walidacyjny 13: end function Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 9 / 21
Wyniki Task: floor Hidden layers: 2 Task: x Hidden layers: 2 log(error) 1.0 0.8 0.6 0.4 0.2 0.0 Training set error Validation set error Avarage validation set error log(error) 4.4 4.0 3.6 3.2 Training set error Validation set error Avarage validation set error 0 500 1000 1500 2000 2500 3000 Iteration BP 0 500 1000 1500 2000 2500 Iteration Task: floor Hidden layers: 2 Task: x Hidden layers: 2 log(error) 1.5 1.0 0.5 0.0 Training set error Validation set error Avarage validation set error log(error) 5.0 4.5 4.0 3.5 3.0 Training set error Validation set error Avarage validation set error 0 500 1000 1500 2000 2500 3000 3500 Iteration PSO 0 500 1000 1500 2000 2500 3000 3500 Iteration Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 10 / 21
Początkowa faza uczenia BP 0.18 0.16 0.14 0.12 Histogram błędu ez ex ey ilość 0.1 0.08 0.06 0.04 0.02 0-40 -30-20 -10 0 10 20 30 błąd Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 11 / 21
log(error) 5.5 5.0 4.5 4.0 3.5 3.0 Task: x Hidden layers: 5 Training set error Validation set error Avarage validation set error 0 500 1000 1500 2000 2500 3000 3500 Iteration Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 12 / 21
Skuteczność PSO it. Klasyfikacja 0.9 quantile of e X 0.9 quantile of e Y GSM WiFi GSM WiFi GSM WiFi 5 54% 98% 8.66m 5.93m 11.98m 6.55m 10 53% 98% 8.91m 5.31m 11.08m 6.03m 25 53% 98% 8.37m 5.35m 11.40m 6.29m 50 53% 98% 8.80m 4.96m 12.87m 6.14m 100 52% 98% 8.61m 5.33m 11.76m 6.94m 150 56% 97% 9.13m 5.45m 12.47m 6.47m 200 54% 97% 8.90m 5.01m 11.92m 6.48m 250 53% 98% 8.77m 5.46m 11.55m 6.42m 500 54% 98% 9.11m 5.18m 11.66m 6.48m Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 13 / 21
Warstwy ukryte Klasyfikacja 0.9 quantile of e X GSM WiFi GSM WiFi 2 52% 98% 9.06m 5.54m 3 54% 98% 9.11m 5.18m 4 52% 98% 8.67m 5.37m 5 53% 98% 8.92m 5.27m Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 14 / 21
Wnioski PSO nadaje się do uczenia MLP Dobry punkt startowy dla BP Możliwość użycia sieci z zapasem pojemności Możliwość przetwarzania równoległego Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 15 / 21
Dalsze problemy Inne grupowanie wzorców Zastosowanie innej miary błędu Nauka innych problemów Moment zmiany PSO BP Usuwanie połączeń z sieci/ zmiany architektury w trakcie Modyfikacje PSO Powód dla którego błąd w BP jest początkowo stały Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 16 / 21
iris 3 klasy 3 neurony w warstwie ukrytej 5 wejść http://archive.ics.uci.edu/ml/ Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 17 / 21
1 iris_pso1.iris_bp1 0.1 0.01 0.001 0.0001 0 500 1000 1500 2000 2500 3000 3500 Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 18 / 21
1 iris_pso1.iris_bp1 v 0.1 0.01 0.001 0.0001 1e-05 1e-06 0 500 1000 1500 2000 2500 3000 3500 Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 19 / 21
1 iris_bp1 0.1 0.01 0.001 0.0001 0 500 1000 1500 2000 2500 3000 Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 20 / 21
1 iris_bp1 v 0.1 0.01 0.001 0.0001 1e-05 1e-06 0 500 1000 1500 2000 2500 3000 Jan Karwowski (MiNI) PSO w MLP 17 XII 2013 21 / 21