234
arg4 - nazwa pliku, do którego wpisywane są wyniki testowe sieci nu danych uczących po nauczeniu sieci. Zawierają ono: wektor uczący X, wyniki aktualno na wyjściu sieci w postaci wektora Y. wartości zadane wektorem d (bez tej opcji będą zapisane do pliku nclleach. out).
Przełączniki zadawane w postaci opcji -switches mogą mieć postać:
— analyscOnly, przy której sieć dokonuje jedynie analizy sygnałowej przy zadanym ciągu wektorów wejściowych X (tryb odtworzeniowy sieci),
— eqxFile, przy którym sieć przystopuje do uczenia z zadanymi ograniczeniami na wagi sieci.
— cgMethod, przy którym uczenie sieci następuje przy użyciu metody gradientów sprzężonych niezależnie od wielkości sieci.
Przy pominięciu wszystkich komend opcjonalnych następuje proces uczenia sieci bez żadnych ograniczeń nakładanych na wagi, przy standardowym oznaczeniu poszczególnych plików pojawiających się w linii wywołania.
Program uczenia sieci bazuje na dwu efektywnych metodach optymalizacji: metodzie zmiennej metryki oraz metodzie gradientów sprzężonych omówionych w rozdziale trzecim. Obie metody wykorzystują w procesie uczenia wektor gradientu, który w programie określany jest przy wykorzystaniu koncepcji grafu przepływowego i grafu dołączonego do niego (patrz podrozdział 3.3). W metodzie gradientów sprzężonych stosowany jest współczynnik sprzężenia p określany według wzoru Polaka-Ribiery. Metoda zmiennej metryki wykorzystuje algorytm BFGS (patrz punkt 3.2.4). Przełączanie miedzy metodami optymalizacyjnymi odbywa się zwykle w sposób automatyczny w zależności od wielkości sieci. Przy średnich wielkościach sieci (do około 800 wag neuronowych) stosowany jest algorytm zmiennej metryki jako znacznie efektywniejszy. Przy większych sieciach może się okazać, że wymagania pamięciowe stawiane przez algorytm zmiennej metryki mogą przekraczać możliwości danego komputera osobistego. W takim przypadku następuje automatyczne przełączenie metody na algorytm gradientów sprzężonych stwarzający znacznie mniejsze wymagania co do pamięci. W obu metodach optymalizacja (uczenie) odbywa się w dwu krokach:
— poszukiwanie kierunku minimalizacyjnego przy użyciu jednej z dwu omówionych wyżej metod.
— poszukiwanie minimum w tym kierunku.
Poszukiwanie minimum kierunkowego jest procesem doboru optymalnej wartości stałej uczenia r\ w każdym kroku optymalizacyjnym. Zrezygnowano w programie z wartości t] stałej bądź adaptacyjnej jako mało skutecznych. W zamian zastosowano metodę aproksymacji sześciennej do poszukiwania minimum kierunkowego jednej zmiennej. Dzięki takiemu rozwiązaniu proces uczenia sieci został znacznie przyspieszony (nawet o kilka rzędów wielkości w skrajnym przypadku), a poza tym stał się znacznie odporniejszy na minima lokalne występujące w funkcji energetycznej. Dla przykładu nauczenie sieci rozwiązywania problemu parzystości przy pięciu składowych wektora wejściowego (patrz podrozdz. 4.1) i zastosowaniu uniwersalnego programu NcuralWorks wymagało około 30 minut pracy mikrokomputera