STRATEGIA DOBORU PARAMETRÓW SIECI NEURONOWEJ W ROZPOZNAWANIU PISMA

Podobne dokumenty
Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Wprowadzenie do sieci neuronowych i zagadnień deep learning

Wrocław University of Technology. Uczenie głębokie. Maciej Zięba

Streszczenie. Słowa kluczowe: modele neuronowe, parametry ciągników rolniczych

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Optymalizacja ciągła

Podstawy Sztucznej Inteligencji (PSZT)

Wstęp do głębokich sieci neuronowych. Paweł Morawiecki IPI PAN

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Elementy inteligencji obliczeniowej

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Deep Learning na przykładzie Deep Belief Networks

Zastosowania sieci neuronowych

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

ZASTOSOWANIE AUTORSKIEJ METODY WYZNACZANIA WARTOŚCI PARAMETRÓW NOWOCZESNYCH SYSTEMÓW TECHNICZNYCH DO PŁUGÓW I OPRYSKIWACZY POLOWYCH

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Widzenie komputerowe

Analiza możliwości szacowania parametrów mieszanin rozkładów prawdopodobieństwa za pomocą sztucznych sieci neuronowych 4

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2014 Seria: TRANSPORT z. 82 Nr kol. 1903

Metody Sztucznej Inteligencji II

Machine learning Lecture 6

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

Sieci neuronowe w Statistica

DEKOMPOZYCJA HIERARCHICZNEJ STRUKTURY SZTUCZNEJ SIECI NEURONOWEJ I ALGORYTM KOORDYNACJI

Projekt Sieci neuronowe

ZASTOSOWANIE SIECI NEURONOWYCH DO OPTYMALIZACJI WARUNKÓW OBRÓBKI CIEPLNEJ STOPÓW Mg-Al

NEURAL NETWORK ) FANN jest biblioteką implementującą SSN, którą moŝna wykorzystać. w C, C++, PHP, Pythonie, Delphi a nawet w środowisku. Mathematica.

Dokumentacja Końcowa

ALGORYTM ROZPOZNAWANIA OBRAZÓW MATERIAŁÓW BIOLOGICZNYCH

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Algorytmy wstecznej propagacji sieci neuronowych

ĆWICZENIE 5: Sztuczne sieci neuronowe

ZASTOSOWANIE SZTUCZNYCH SIECI NEURONOWYCH DO LOKALIZACJI ZWARĆ W LINIACH ELEKTROENERGETYCZNYCH

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

Uczenie sieci typu MLP

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Algorytm do rozpoznawania człowieka na podstawie dynamiki użycia klawiatury. Paweł Kobojek, prof. dr hab. inż. Khalid Saeed

MODELOWANIE NEURONALNE ROZWOJU SYSTEMU ELEKTROENERGETYCZNEGO. CZĘŚĆ 2. MODELE SYSTEMU IEEE RTS

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

MATLAB Neural Network Toolbox przegląd

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

MODELOWANIE PROCESU OMŁOTU PRZY WYKORZYSTANIU SZTUCZNYCH SIECI NEURONOWYCH

WYZNACZANIE WARTOŚCI PODSTAWOWYCH PARAMETRÓW TECHNICZNYCH NOWOCZESNYCH KOMBAJNÓW ZBOŻOWYCH PRZY UŻYCIU SSN

Rozpoznawanie obrazów

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

MODELOWANIE FAZ ZNI ANIA I L DOWANIA SAMOLOTU BOEING ER PRZY U YCIU SZTUCZNYCH SIECI NEURONOWYCH

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

AUTO-ENKODER JAKO SKŠADNIK ARCHITEKTURY DEEP LEARNING

WYKORZYSTANIE SZTUCZNYCH SIECI NEURONOWYCH DO ANALIZY WPŁYWU WYBRANYCH PARAMETRÓW NA ŚREDNICE KOLUMN INIEKCYJNYCH

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych

METODA WARTOŚCIOWANIA PARAMETRÓW PROCESU PLANOWEGO OBSŁUGIWANIA TECHNICZNEGO MASZYN ROLNICZYCH

Uczenie maszynowe w zastosowaniu do fizyki cząstek

WYKORZYSTANIE SIECI NEURONOWYCH DO ODWZOROWANIA DEFORMACJI POWIERZCHNI NA TERENACH GÓRNICZYCH

Inteligentne systemy przeciw atakom sieciowym

8. Neuron z ciągłą funkcją aktywacji.

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Politechnika Warszawska

Podstawy sztucznej inteligencji

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty

PRZETWARZANIE GRAFICZNYCH DANYCH EMPIRYCZNYCH DLA POTRZEB EDUKACJI SZTUCZNYCH SIECI NEURONOWYCH, MODELUJĄCYCH WYBRANE ZAGADNIENIA INŻYNIERII ROLNICZEJ

Krytyczne czynniki sukcesu w zarządzaniu projektami

PROGNOZOWANIE CENY OGÓRKA SZKLARNIOWEGO ZA POMOCĄ SIECI NEURONOWYCH

Algorytm grupowania danych typu kwantyzacji wektorów

Asocjacyjna reprezentacja danych i wnioskowanie

Technologie cyfrowe semestr letni 2018/2019

Optymalizacja Ci gªa

Sztuczne sieci neuronowe w zastosowaniu do modelowania fazy wznoszenia samolotu

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

WYZNACZANIE KOSZTÓW TRANSPORTU Z WYKORZYSTANIEM OCTAVE 3.4.3

Podstawy Sztucznej Inteligencji

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

PRÓBA ZASTOSOWANIA SIECI NEURONOWYCH DO PROGNOZOWANIA OSIADAŃ POWIERZCHNI TERENU POWSTAŁYCH NA SKUTEK EKSPLOATACJI GÓRNICZEJ**

Algorytmy sztucznej inteligencji

WYKORZYSTANIE SZTUCZNYCH SIECI NEURONOWYCH W PROGNOZOWANIU

Zastosowanie sieci neuronowych w problemie klasyfikacji wielokategorialnej. Adam Żychowski

MODELOWANIE PROCESÓW PRZETWÓRCZYCH Z UŻYCIEM SZTUCZNYCH SIECI NEURONOWYCH

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Klasyfikacja z milionami etykiet

XII International PhD Workshop OWD 2010, October Metodyka pozyskiwania i analizy wyników badań symulacyjnych ścieżek klinicznych

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

Metody systemowe i decyzyjne w informatyce

REALIZACJA WNIOSKOWANIA DIAGNOSTYCZNEGO ROZPYLACZA OPRYSKIWACZA POLOWEGO W CZASIE RZECZYWISTYM

SYSTEM WSPOMAGAJĄCY ROZPOZNAWANIE ZNAKÓW JĘZYKA MIGOWEGO OPARTY NA SZTUCZNEJ SIECI NEURONOWEJ

POLITECHNIKA WARSZAWSKA. Wydział Zarządzania ROZPRAWA DOKTORSKA. mgr Marcin Chrząścik

DOBÓR POMP CIEPŁA Z WYKORZYSTANIEM SZTUCZNYCH SIECI NEURONOWYCH DLA DOMÓW JEDNORODZINNYCH DLA PEŁNYCH I NIEPEŁNYCH ZBIORÓW DANYCH

Celem tych ćwiczeń jest zapoznanie się z klasyfikacją za pomocą sieci neuronowych.

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

WPŁYW KOMPRESJI BARW NA DZIAŁANIE NEURONOWEGO MODELU IDENTYFIKACYJNEGO

Rozpoznawanie obrazów

MODEL NEURONOWY ZMIAN TEMPERATURY PODCZAS KONWEKCYJNEGO SUSZENIA ZRĘBKÓW WIERZBY ENERGETYCZNEJ

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Jazda autonomiczna Delphi zgodna z zasadami sztucznej inteligencji

ZASTOSOWANIE SZTUCZNYCH SIECI NEURONOWYCH DO OCENY ZDOLNOŚCI KREDYTOWYCH ROLNIKÓW KLIENTÓW FIRMY LEASINGOWEJ

Transkrypt:

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2016 Seria: ORGANIZACJA I ZARZĄDZANIE z. 96 Nr kol. 1963 Wiktor WALENTYNOWICZ wiktorwalentynowicz@hotmail.com Ireneusz J. JÓŹWIAK Politechnika Wrocławska Wydział Informatyki i Zarządzania ireneusz.jozwiak@pwr.edu.pl STRATEGIA DOBORU PARAMETRÓW SIECI NEURONOWEJ W ROZPOZNAWANIU PISMA Streszczenie. W pracy przedstawiono propozycje dobierania parametrów sieci neuronowej w celu usprawnienia wartości skuteczności sieci w rozpoznawaniu cyfr zapisanych pismem ręcznym. Sieć neuronową wyuczoną do tego celu utworzono przy użyciu biblioteki Keras. Analizie poddano parametry: momentum oraz współczynniki nauki i rozkładu. Artykuł zawiera badania, wnioski oraz wskazówki do dalszych badań dotyczących rozpoznawania pisma. Słowa kluczowe: sieć neuronowa, rozpoznawanie cyfr, strategia, dobór parametru. SELECTION STRATEGY OF THE NEURAL NETWORK PARAMETERS IN THE HANDWRITING RECOGNITION Summary. The paper presents the problem of selection the parameters of neural network for increasing network performance. Trained neural network was created with Keras library. Analyzed parameters: momentum, learning rate and decay. The article contains researches, conclusions and advices for further research in the field of handwriting recognition. Keywords: neural network, digit recognition, strategy, selection of the parameter.

464 W. Walentynowicz, I.J. Jóźwiak 1. Wprowadzenie Wraz z rozwojem technologicznym ludzkość wykonuje coraz więcej pracy, którą da się zautomatyzować. Jednym z takich możliwych do automatyzacji problemów jest rozpoznawanie pisma ręcznego, a dokładniej rozróżnianie znaków. Do tego zadania często wykorzystuje się sieci neuronowe, które przez możliwość ich wcześniejszego wyuczenia na setkach tysięcy przykładów osiągają bardzo dobre wyniki. Wraz z rozwojem dziedziny uczenia maszynowego i popularyzacji gotowych bibliotek programistycznych wzrosła liczba ludzi tworzących własne sieci zajmujące się wspomnianym problemem. Takie biblioteki, oprócz ustawionych domyślnie parametrów sieci wpływających na proces nauki, pozwalają na ustawienie ich samemu. Niestety najczęściej proponowane wartości parametrów podawane są bez wyjaśnienia, skąd wzięła się ich wartość. Z wymienionych powodów wynika cel niniejszej pracy: wskazanie sposobów zwiększenia wartości skuteczności sieci neuronowej. W ramach poszukiwania rozwiązania podjęto próbę sprawdzenia tendencji wpływu poszczególnych parametrów na wyniki określające sprawność działania sieci neuronowej w rozwiązywaniu problemu rozpoznawania pisma ręcznego. 2. Sieć neuronowa rozpoznająca cyfry oparta na bibliotece Keras, zakres badań Dziedzina rozpoznawania pisma ręcznego jest bardzo szeroka, w związku z tym do badań wybrano przypadek bardziej szczegółowy. Jest to rozpoznawanie cyfr zapisanych pismem ręcznym. Sieć neuronową wyuczoną do tego celu utworzono przy użyciu biblioteki Keras [3], służącej do łatwego modelowania sieci neuronowych w języku programowania Python. Sieć miała architekturę 500-300-10 (500 neuronów w pierwszej warstwie ukrytej, 300 w drugiej warstwie ukrytej i 10 w warstwie wyjściowej) i 40% dropout [6] na warstwach ukrytych. Warstwa wejściowa posiadała 784 neurony wejściowe. Było to podyktowane zbiorem danych, na którym sieć była uczona i testowana. Był to zbiór MNIST [5], czyli zbiór obrazów cyfr zapisanych pismem ręcznym o rozmiarze 28x28 pikseli w skali szarości. Zbiór ten zawiera 60 000 przykładów treningowych i 10 000 przykładów testowych. Zbiór treningowy został podzielony na 50 000 przykładów uczących i 10 000 przykładów walidacyjnych. Jako funkcje aktywacji w warstwach ukrytych wykorzystano funkcje ReLU [2]. Analizie poddano następujące parametry: 1. Współczynnik nauki (ang. learning rate). 2. Ułamkowa wielkość poprzedniej aktualizacji (ang. momentum). 3. Współczynnik rozkładu (ang. decay).

Strategia doboru parametrów sieci neuronowej 465 Ad 1. Współczynnik nauki Współczynnik nauki wpływa na wielkość kroku w algorytmie gradientu prostego, który jest wykorzystywany jako algorytm optymalizacji w procesie nauki sieci neuronowej. Kontroluje wielkość zmian wag neuronów. Ad 2. Wielkość poprzedniej aktualizacji momentum Momentum jest wartością dodawaną do aktualnie aktualizowanej wagi, równą ułamkowi wielkości poprzedniej aktualizacji. Używa się tego parametru w celu uniknięcia zbiegania do minimów lokalnych czy punktów siodłowych. Ad 3. Współczynnik rozkładu Współczynnik rozkładu zmienia swoją wartość, wielkość współczynnika nauki, po każdej epoce (zmianie wszystkich wag podczas epoki). Epoka to proces przetworzenia całego ciągu uczącego (czyli przepuszczenie przez sieć wszystkich przykładów uczących). Na potrzeby badań zależności pomiędzy doborem współczynników a sprawnością sieci opracowano trzy scenariusze, z czego każdy skupiał się na innym czynniku: wpływ na wyniki sieci neuronowej przy zmianie współczynnika nauki, przy stałym współczynniku nauki i z zastosowaniem momentum oraz przy zmiennym współczynniku nauki poprzez współczynnik rozkładu. W przypadku badania wpływu wartości współczynnika nauki na wyniki sieci neuronowej zostały przebadane dwa algorytmy optymalizacji: RMSprop [4] oraz stochastyczny algorytm gradientu prostego (SGD) [1, 4]. W pozostałych przypadkach badanym algorytmem optymalizacji jest tylko SGD. W każdym badaniu sieć uczono przez czas 20 epok. Rys. 1. Skuteczność sieci neuronowej w zależności od wartości współczynnika nauki Fig. 1. The effectiveness of the neural network depending on values of learning rate Źródło: Opracowanie własne.

466 W. Walentynowicz, I.J. Jóźwiak 3. Wpływ współczynnika nauki Aby określić wpływ, jaki ma współczynnik nauki, sprawdzano wyniki, które uzyskiwała sieć neuronowa po nauce na tych samych danych z różnymi wartościami współczynnika nauki dla dwóch różnych algorytmów optymalizacji. Przedział wartości współczynnika nauki to zbiór liczb rzeczywistych <0, 1>. Z przeprowadzonych badań wynika, że zależnie od wybranego algorytmu optymalizacji należy się kierować w zupełnie inną stronę przy doborze wartości początkowej współczynnika nauki. Algorytm RMSprop osiąga skuteczność 98% przy wartości 0,0005 i 0,001, a wraz ze wzrostem współczynnika nauki skuteczność spada, natomiast algorytm SGD osiąga skuteczność 95% przy wartości 0,02, a wraz z obniżaniem wartości współczynnika nauki skuteczność spada. 4. Wpływ wielkości poprzedniej aktualizacji momentum Aby określić wpływ wielkości poprzedniej aktualizacji, sprawdzano wyniki, jakie uzyskiwała sieć neuronowa po nauce na tych samych danych z różnymi wartościami momentum. Wartość współczynnika nauki wynosiła 0,02. Przedział wartości momentum to zbiór liczb rzeczywistych <0, 1>. Rys. 2. Skuteczność sieci neuronowej w zależności od wartości momentum Fig. 2. The effectiveness of the neural network depending on values of momentum Źródło: Opracowanie własne. Z przeprowadzonych badań wynika, że wartości momentum należy poszukiwać w okolicach 0,9. Wraz ze wzrostem wartości momentum skuteczność sieci rośnie, jednak przy

Strategia doboru parametrów sieci neuronowej 467 osiągnięciu wartości momentum równej 1 skuteczność sieci drastycznie spada. Jest to związane z przestrzeleniem minimum w procesie optymalizacji przez algorytm gradientu prostego. 5. Wpływ współczynnika rozkładu Aby określić wpływ, jaki ma współczynnik rozkładu, sprawdzano wyniki, które uzyskiwała sieć neuronowa po nauce na tych samych danych z różnymi wartościami współczynnika rozkładu. Wartość współczynnika nauki wynosiła 0,02. Przedział wartości współczynnika rozkładu to zbiór liczb rzeczywistych <0, 1>. Rys. 3. Skuteczność sieci neuronowej w zależności od wartości współczynnika rozkładu Fig. 3. The effectiveness of the neural network depending on values of decay Źródło: Opracowanie własne. Z przeprowadzonych badań wynika, że wartości współczynnika rozkładu należy poszukiwać w okolicach jak najmniejszych wartości. Wraz z obniżaniem wartości współczynnika rozkładu rośnie skuteczność sieci. Proponowana wartość współczynnika rozkładu to około 1% wartości współczynnika nauki. 6. Podsumowanie Ważnym elementem wpływającym na poziom skuteczności sieci neuronowej jest dobór parametrów sieci. Aby dobrze dobrać te parametry, należy wiedzieć, jakie są tendencje

468 W. Walentynowicz, I.J. Jóźwiak wpływu poszczególnych parametrów. Podane wyniki badań wskazują, jak zachowuje się wartość skuteczności sieci w zależności od wartości parametrów. Badania te pozwalają na wskazanie sposobów zwiększenia wartości skuteczności sieci neuronowej, co było celem pracy. Nie oznacza to jednak, że tematyka podjętych w tym artykule badań została wyczerpana. Warto zastanawiać się nad równoczesnym doborem kilku parametrów i ich zależności względem siebie. Bibliografia 1. Bottou L.: Large-scale machine learning with stochastic gradient descent. Proceedings of COMPSTAT'2010. Physica-Verlag HD, 2010, p. 177-186. 2. Glorot X., Bordes A., Bengio Y.: Deep Sparse Rectifier Neural Networks. Aistats, vol. 15, No. 106, 2011. 3. Keras: Deep Learning library for Theano and TensorFlow, https://keras.io/ (20.08.2016). 4. Diederik K., Ba J.: Adam: A method for stochastic optimization. arxiv preprint arxiv:1412.6980 (2014). 5. MNIST database, http://yann.lecun.com/exdb/mnist/ (20.08.2016). 6. Nitish S., et al.: Dropout: a simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, vol. 15, No. 1, 2014, p. 1929-1958. Abstract Nowadays it is possible to automate the recognition process of the handwriting to the purpose of the significant acceleration of that process. Using neural networks recognizing individual signs is one of methods. With important component during the process of teaching the neural network there is a selection of neural network parameters associated with the learning process. Researches in the article focussed on increasing the efficiency of the network through the change of these parameters. Learning rate, momentum and decay were analysed parameters. Thanks to conducted researches relations were noticed between the selection of the value of the parameter and the level of the effectiveness networks and they presented how to select parameters if only to achieve as the greatest results. In the end of article more distant research directions were suggested in the field of handwriting recognition.