Madal

 

Adaline

Spotyka się dwie definicje struktury Adaline. 

Pierwsza określa ją jako liniowy element przetwarzający, którego sygnał wyjściowy opisany jest następująco:

Rozmiar: 1538 bajtów

przy czym indeks i = 0 dotyczy elementu progowego z doprowadzonym sygnałem u0 zawsze równym 1. Wprowadzenie ewentualnego stałego współczynnika liniowego k jest jedynie zmianą ilościową, a nie jakościową. W przypadku włączenia elementu Adaline w strukturę sieci wielowarstwowej rolę tego współczynnika przejmują wagi połączeń wychodzących z elementu.

Inna definicja niczym nie wyróżnia struktury Adaline od elementu perceptronowego. Obok sumatora (zwanego także ALC, czyli z ang. Adaptive Linear Combiner) istnieje blok aktywacji realizujący bipolarną funkcję signum:

Rozmiar: 2015 bajtów

Istnieje jednak istotna różnica pomiędzy elementem perceptronowym a elementem typu Adaline, niezależnie od definicji jego struktury. Jest nią reguła uczenia Adaline, która opiera się na metodzie minimalizacji błędu średniokwadratowego, znanej dla układów liniowych.

W perceptronie przy podejmowaniu decyzji o ewentualnej zmianie wag uwzględnia się wartość wyjściową z bloku aktywacji, w przypadku Adaline natomiast wykorzystuje się wynik sumatora ALC. Oto schemat procesu uczenia Adaline:

Poszczególne kroki w algorytmie uczenia powtarza się tak długo aż suma kwadratów błędów nie stanie się wystarczająco mała, tzn. mniejsza od zadanej dokładności.

Madaline

Budowa i zasada działania Adaline jest zbliżona do pojedynczego elementu perceptronowego i podlega podobnym ograniczeniom, np. przy pomocy Adaline z dwoma wejściami nie można rozwiązać problemu XOR. Podobnie jak przy budowaniu sieci wielowarstwowych z elementów perceptronowych, z elementów Adaline można utworzyć sieć, którą nazywa się siecią typu, Madaline. Struktura ogólna takiej sieci może być identyczna ze strukturą perceptronu wielowarstwowego.

W zasadzie złożona struktura sieci Madaline komplikuje poszukiwanie efektywnej metody jej uczenia. Zachęcającą jest idea użycia algorytmu LMS. Metoda ta wymaga jednak znajomości wejść i zadanych wyjść dla każdej z warstw, w tym warstw ukrytych, dla których informacji takiej nie posiadamy. Ponadto algorytm LMS dotyczy wyjść sumatora ALC, a nie bipolarnych wartości wyjściowych Adaline. Należy zatem określić inną strategię uczenia dla bloku aktywacji.

Możliwe jest zastosowanie do uczenia struktur podobnych do Madaline metody bazującej na algorytmie LMS, chociaż wymaga to wprowadzenia w miejsce funkcji progowej (czy też signum) funkcji różniczkowalnej. Taką metodą jest metoda propagacji wstecznej.

Rozważmy tymczasem metodę zwaną MRII, czyli Madaline rule II. Przypomina ona metodę prób i błędów, z dodatkiem odrobiny "inteligencji" w postaci zasady minimalnego zaburzenia. Idea metody MRII zawiera się w poniższym algorytmie:

  1. Podaj wektor uczący na wejście Madaline i wyznacz odpowiedź warstwy wyjściowej.

  2. Oblicz liczbę niepoprawnych wartości w warstwie wyjściowej. Liczba ta będzie miarą dokładności (błędem).

  3. Dla wszystkich elementów warstwy wyjściowej:

    wybierz pierwszy (wcześniej nie wybrany) element, dla którego wynik ważonego sumowania w bloku ALC jest najbliższy zeru (w takim elemencie niewielka zmiana wag spowoduje odwrócenie znaku na bipolarnym wyjściu bloku aktywacji, stąd określenie "zasada minimalnego zaburzenia");

    zmień wagi wybranego elementu tak, aby zmienić wartość jego wyjścia z bloku aktywacji;

    ponownie wyznacz wektor wyjściowy dla wejściowego wektora uczącego;

    jeśli w wyniku zmiany wag zmniejszył się błąd (tzn. ilość wyjść bipolarnych różnych od wzorcowych), zaakceptuj te zmiany, w przeciwnym razie powróć do wag poprzednich.

  4. Powtórz krok 3 dla wszystkich pozostałych warstw za wyjątkiem warstwy wejściowej.

  5. Dla wszystkich elementów warstwy wyjściowej:

    wybierz (wcześniej nie wybraną) parę elementów, dla których ważona suma wejść w bloku ALC jest bliska zeru;

    zmień wago wybranych elementów tak, aby zmienić wartość ich wyjść z bloku aktywacji;

    ponownie wyznacz wektor wyjściowy dla wejściowego wektora uczącego;

    jeśli w wyniku zmiany wag zmniejszył się błąd, zaakceptuj te zmiany, w przeciwnym razie powróć do stanu poprzedniego.

  6. Powtórz krok 5 dla wszystkich pozostałych warstw za wyjątkiem warstwy wejściowej.

Jeśli zajdzie konieczność, krok 5 i 6 może być powtarzany dla układów trypletowych, kwadrupletowych i większych kombinacji elementów.