Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
основні.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
64.35 Кб
Скачать
  1. Uczenie sztucznych sieci neuronowych – pojęcie, metody

Sieć neuronowa (sztuczna sieć neuronowa) – ogólna nazwa struktur matematycznych i ich programowych lub sprzętowych modeli, realizujących obliczenia lub przetwarzanie sygnałów poprzez rzędy elementów, zwanych sztucznymi neuronami, wykonujących pewną podstawową operację na swoim wejściu. Oryginalną inspiracją takiej struktury była budowa naturalnych neuronów, łączących je synaps, oraz układów nerwowych, w szczególności mózgu.

Jedną z cech, które czynią sztuczne sieci neuronowe tak potężnym narzędniem jest ich zdolność do uczenia (się). Nauka taka może być (ang. supervised learning, uczenie z nauczycielem), ale nie musi (ang. unsupervised learning, uczenie bez nauczyciela) nadzorowana przez tzw. nauczyciela. W pierwszym przypadku dla każdego wektora danych wejściowych znamy dokładną, porządaną przez nas odpowiedź sieci. Korekta wag neuronów następuje przez uwzględnienie różnicy między pożądaną, a rzeczywistą odpowiedzią sieci. W procesie uczenia się sieci bez nauczyciela, porządana odpowiedź jest oczywiście nie znana, dlatego sieć uczy się poprzez analizę swych reakcji na pobudzenia. Tego typu zmiany nazywane są samoorganizacją.

uczenie bez nadzoru(bez nauczyciela) - pożądana odpowiedź nie jest znana. Ze względu na brak informacji o poprawności, czy niepoprawności odpowiedzi sieć musi się uczyć poprzez analizę. W trakcie analizy parametry sieci podlegają zmianom(samoorganizacji). Tu można wyróżnić kilka typów uczenia:

• typu Hebba. Uczenie samoorganizujące się typu Hebba opiera się na obserwacji neurobiologicznej, zgodnie z którą waga powiązań między dwoma neuronami wzrasta przy stanie ich jednoczesnego pobudzenia, w przeciwnym wypadku maleje.

• typu konkurencyjnego. Charakterystyczną cechą tego typu jest to że neurony współzawodniczą ze sobą, aby stać się aktywnymi (pobudzonymi). W metodzie Hebba, dowolna liczba neuronów mogła być aktywna, natomiast w uczeniu konkurencyjnym tylko jeden neuron może być aktywny, a reszta pozostaje w stanie spoczynku.

  1. Algorytm genetyczny I operatory w nim stosowane

Algorytm genetyczny - rodzaj algorytmu przeszukującego przestrzeń alternatywnych rozwiązań problemu w celu wyszukania rozwiązań najlepszych.

Problem definiuje środowisko, w którym istnieje pewna populacja osobników. Każdy z osobników ma przypisany pewien zbiór informacji stanowiących jego genotyp, a będących podstawą do utworzenia fenotypu. Fenotyp to zbiór cech podlegających ocenie funkcji przystosowania modelującej środowisko. Innymi słowy - genotyp opisuje proponowane rozwiązanie problemu, a funkcja przystosowania ocenia, jak dobre jest to rozwiązanie.

Genotyp składa się z chromosomów, gdzie zakodowany jest fenotyp i ewentualnie pewne informacje pomocnicze dla algorytmu genetycznego. Chromosom składa się z genów.

Najczęściej działanie algorytmu przebiega następująco:

  1. Losowana jest pewna populacja początkowa.

  2. Populacja poddawana jest ocenie (selekcja). Najlepiej przystosowane osobniki biorą udział w procesie reprodukcji.

  3. Genotypy wybranych osobników poddawane są operatorom ewolucyjnym:

    1. są ze sobą kojarzone poprzez złączanie genotypów rodziców (krzyżowanie),

    2. przeprowadzana jest mutacja, czyli wprowadzenie drobnych losowych zmian.

  4. Rodzi się drugie (kolejne) pokolenie. Aby utrzymać stałą liczbę osobników w populacji te najlepsze (według funkcji oceniającej fenotyp) są powielane, a najsłabsze usuwane. Jeżeli nie znaleziono dostatecznie dobrego rozwiązania, algorytm powraca do kroku drugiego. W przeciwnym wypadku wybieramy najlepszego osobnika z populacji - jego genotyp to uzyskany wynik.

Działanie algorytmu genetycznego obejmuje kilka zagadnień potrzebnych do ustalenia:

  1. ustalenie genomu jako reprezentanta wyniku

  2. ustalenie funkcji przystosowania/dopasowania

  3. ustalenie operatorów przeszukiwania

Operatory przeszukiwania

W każdym cyklu (każde pokolenie) poddawane są "obróbce" za pomocą operatorów ewolucyjnych. Celem tego etapu jest wygenerowanie nowego pokolenia, na podstawie poprzedniego, które być może będzie lepiej dopasowane do założonego środowiska.

Operator krzyżowania ma za zadanie łączyć w różnych kombinacjach cechy pochodzące z różnych osobników populacji, zaś operator mutacji ma za zadanie zwiększać różnorodność tych osobników. O przynależności dowolnego algorytmu do klasy algorytmów genetycznych decyduje głównie zastosowanie operatora krzyżowania i praca z całymi populacjami osobników (idea łączenia w przypadkowy sposób genotypów nieprzypadkowo wybranych osobników). Równie ważny jest operator mutacji. Jeśli krzyżowanie traktować jako sposób eksploatacji przestrzeni rozwiązań, to mutacja jest sposobem na jej eksplorację. Może się jednak zdarzyć, że dla niektórych zagadnień jej zastosowanie nie jest krytyczne.

Krzyżowanie

Krzyżowanie polega na połączeniu niektórych (wybierane losowo) genotypów w jeden. Kojarzenie ma sprawić, że potomek dwóch osobników rodzicielskich ma zespół cech, który jest kombinacją ich cech (może się zdarzyć, że tych najlepszych).

Sposób krzyżowania jest zależny od kodowania chromosomów i specyfiki problemu. Jednak można wskazać kilka standardowych metod krzyżowania:

  • rozcięcie dwóch chromosomów i stworzenie nowego poprzez sklejenie lewej części jednego rodzica z prawą częścią drugiego rodzica (dla chromosomów z kodowaniem binarnym i całkowitoliczbowym),

  • stosowanie operacji logicznych (kodowanie binarne),

  • obliczenie wartości średniej genów (kodowanie liczbami rzeczywistymi).

Mutacja

Mutacja wprowadza do genotypu losowe zmiany. Jej zadaniem jest wprowadzanie różnorodności w populacji, czyli zapobieganie (przynajmniej częściowe) przedwczesnej zbieżności algorytmu. Mutacja zachodzi z pewnym przyjętym prawdopodobieństwem - zazwyczaj rzędu 1%. Jest ono niskie, ponieważ zbyt silna mutacja przynosi efekt odwrotny do zamierzonego: zamiast subtelnie różnicować dobre rozwiązania - niszczy je. Stąd w procesie ewolucji mutacja ma znaczenie drugorzędne, szczególnie w przypadku długich chromosomów.

W przypadku chromosomów kodowanych binarnie losuje się zazwyczaj dwa geny i zamienia się je miejscami bądź np. neguje pewien wylosowany gen.

W przypadku genotypów zakodowanych liczbami całkowitymi stosuje się permutacje.

W przypadku genotypów zakodowanych liczbami rzeczywistymi wprowadza się do przypadkowych genów losowe zmiany o danym rozkładzie - najczęściej normalnym.