- Tytuł:
-
Teoria i metody algorytmu ewolucyjnego w uczeniu jednowarstwowej sieci neuronowej
Implementation of the Evolutionary Algorithm Theory and Methods in the Learning Process of One-Layer ANN - Autorzy:
- Płaczek, Stanisław
- Powiązania:
- https://bibliotekanauki.pl/articles/509173.pdf
- Data publikacji:
- 2016
- Wydawca:
- Akademia Finansów i Biznesu Vistula
- Tematy:
-
algorytmy genetyczne
algorytmy ewolucyjne
sztuczne sieci neuronowe
algorytmy uczenia sieci
algorytmy selekcji
algorytmy krzyżowania
algorytmy mutacji
genetic algorithm
evolutionary algorithm
artificial neural network
learning algorithm
selection algorithm
crossover algorithm
mutation algorithm - Opis:
-
Rozwój teorii sztucznych sieci neuronowych, a także pojawienie się nowych, efektywnych narzędzi programistycznych (systemy wieloprocesorowe, programowanie wielowątkowe) umożliwia zastosowanie algorytmów genetycznych oraz ewolucyjnych do uczenia sztucznych sieci neuronowych
(SSN). W literaturze dotyczącej zasad działania SSN podkreśla się ich atrakcyjne własności, takie jak: aproksymacja dowolnych nieliniowych odwzorowań, równolegle i rozproszone przetwarzanie, adaptacja i uczenie. Szczególnie równoległe i rozproszone przetwarzanie koresponduje ze strukturą algorytmu genetycznego i ewolucyjnego. Klasyczne algorytmy genetyczne operują na ciągach binarnych o stałej długości. Natomiast algorytmy ewolucyjne można interpretować jako uogólnienie algorytmów genetycznych. W algorytmach tych stosuje się zasady ewolucji i dziedziczenia oraz wykorzystuje się właściwą strukturę danych do reprezentacji chromosomów (liczby rzeczywiste, macierze, grafy). Definiuje się również inne operatory krzyżowania i mutacji. Tak więc struktura algorytmu ewolucyjnego jest prawie taka sama jak genetycznego. Różnice ukryte są na niższych poziomach przetwarzania – w strukturach danych. W artykule przedstawiono próbę implementacji algorytmu ewolucyjnego do uczenia jednowarstwowej sieci neuronowej. Sieć opisuje się w postaci macierzy połączeń między wektorami – wejściowym X oraz wyjściowym Y. Funkcja uczenia SSN zdefiniowana jest jako nieliniowa funkcja wag sieci oraz nieliniowej funkcji aktywacji minimalizującej błąd średniokwadratowy między wektorem wyjściowym Y a wektorem uczącym Z, dla całej paczki uczącej. Pojawienie się nieliniowości utrudnia zastosowanie algorytmu uczenia opartego na wstecznej propagacji błędu. Funkcja celu, oprócz minimum globalnego, może zawierać wiele minimów lokalnych, w których algorytm oparty na badaniu gradientu funkcji celu może się zatrzymać. Oczywiście stosuje się różne techniki i metody umożliwiające wyjście algorytmu z tego typu pułapek. Tym niemniej dla sprawdzenia poprawności otrzymanych wyników uruchamia się proces uczenia SSN dla różnych danych początkowych. W zaproponowanym algorytmie ewolucyjnym tworzy się zbiór osobników. Każdy z osobników przedstawia możliwe rozwiązanie zadania minimalizacji funkcji celu i jest reprezentowany przez macierzową strukturę danych. Każde rozwiązanie cząstkowe ocenia się na podstawie dopasowania funkcji celu, a następnie tworzy się nową populację (potomków) przez selekcję osobników o najlepszych dopasowaniach oraz dwa algorytmy krzyżowania i mutacji. W artykule omówiono zaproponowaną strukturę osobników, przyjęte algorytmy selekcji z ich wadami i zaletami oraz różne algorytmu krzyżowania i mutacji. Na wstępie zdefiniowano takie podstawowe pojęcia, jak gen, chromosom oraz najogólniejszą strukturę algorytmu ewolucyjnego. Artykuł ma charakter koncepcyjny.
The article proposes implementation of a modified version of genetic algorithms in neural networks, what in literature is known as “evolutionary algorithm” or “evolutionary programming”. An evolutionary algorithm is a probabilistic algorithm that works in a set of weight variability of neurons and seeks the optimal value solution within a population of individuals, avoiding the local maximum. For chromosomes, the real value variables and matrix structure are proposed. In the article, this decision is widely elaborated and discussed. In the original versions of genetic algorithms, all variables’ values are transformed into binary versions. The chromosomes bit sequences could include thousands of positions. It does not simplify the crossover and mutation operations. Processes could be very time-consuming and the algorithm convergence could also be slow. For a single-layer neural network matrix data structure is used. A particular emphasis is put on mutation and crossover algorithms. What is also important in both genetic and evolutionary algorithms is the selection process. The primary population, known as the parent population, is employed to build a new set of individuals using the selection process. These individuals are known as the children population. The selection algorithm should converge on the two very important issues: population diversity and selective pressure. Selective pressure can manifest in the overrepresentation of the best individuals in the new population. The area, in which the optimal solution is sought, is reduced too fast. Premature convergence is not desirable due to the high probability of achieving the local maximum. Reducing the selective pressure may result in increasing the time it takes to search for the solution. - Źródło:
-
Zeszyty Naukowe Uczelni Vistula; 2016, 49(4) Informatyka; 23-39
2353-2688 - Pojawia się w:
- Zeszyty Naukowe Uczelni Vistula
- Dostawca treści:
- Biblioteka Nauki