PL EN


2016 | 49(4) Informatyka | 23-39
Article title

Teoria i metody algorytmu ewolucyjnego w uczeniu jednowarstwowej sieci neuronowej

Content
Title variants
EN
Implementation of the Evolutionary Algorithm Theory and Methods in the Learning Process of One-Layer ANN
Languages of publication
PL EN
Abstracts
PL
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.
EN
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.
Year
Pages
23-39
Physical description
Contributors
  • Akademia Finansów i Biznesu Vistula. Wydział Inżynierski
References
  • Eshelman L.J., Schaffer J.D. (1993), Real-coded genetic algorithm and internal schemata, Proceedings of Foundation of Genetic Algorithm.
  • Erben A.E., Smith J.E (2015), Introduction to evolutionary computing, Second Edition, Springer, London.
  • Goldberg D.E. (1989), Genetic Algorithms in Search, optimization, and Machine Learning, Addison-Veslay Publishing Company, Inc., Boston.
  • Holland J.H. (1973), Genetic algorithm and the optimal allocation of trials, SIAMJ of Conference 2.
  • Montana D.J., Davis L. (1989), Training Feedforward Neural Network Using Genetic Algorithms, Proceedings of the 1989 International Join Conference on Artificial Intelligence, Morgan Kaufmann Publishers, San Mateo, CA.
  • Michalewicz Z. (1996), Genetic Algorithm + Data Structure = Evolutionary Programs, Springer – Verlag, Berlin-Haidelberg.
  • Xinjie Yu, Mitsuo Gen (2010), Introduction to Evolutionary Algorithm, Springer, London.
Document Type
Publication order reference
Identifiers
YADDA identifier
bwmeta1.element.desklight-3657fe67-7da4-4251-9423-bafded64bbb5
JavaScript is turned off in your web browser. Turn it on to take full advantage of this site, then refresh the page.