122
10.1. Rozpoznawanie wybranego zbioru wyrazów
ilością elementów widma częstotliwościowego sygnału mowy 660 elementów, na warstwę wyjściową składało się ich 7 (ponieważ sieć miała rozpoznawać 7 rozkazów). Warstwa ukryta (środkowa) liczyła 200 elementów, ponieważ na tyle pozwalała rozszerzona do 4 Mb pamięć używanego do symulacji komputera (AT 386/387/33 Młlz).
Zgodnie z zasadami rządzącymi doborem rodzaju sieci do tak skomplikowanego problemu uczenia wybrano sieć typu back-propagation z elementami podstawowymi typu sig-moidalnego. Kolejne warstwy łączono ze sobą metodą ,,każdy z każdym”, warstwy ukrytą i wyjściową połączono dodatkowo z elementem typu ,,stała 1” (bias). Jak łatwo policzyć w sumie powstało
(nl + l)-«2 + (»2 + ł)*»3 = 133 607
połączeń, gdzie nl, n2 i »3 oznaczają odpowiednio ilości elementów w poszczególnych warstwach (1, 2 i 3). Przed rozpoczęciem procesu uczenia wagom tych połączeń zostały przyporządkowane wartości pseudopr/ypadkowe z przedziału [-0.1, 0.1].
Głównym problemem, z jakimi borykają się wszyscy eksperymentatorzy, zajmujący się stosowaniem sieci neuronowych do konkretnych zadań jest odpowiednie poprowadzenie procesu uczenia. Dane literaturowe, ogólnie bardzo bogate na ten konkretny temat są niezwykle skąpe, a czasem także sprzeczne ze sobą. Ogólnie można tu wskazać na występowanie następujących problemów:
1. Dobór odpowiedniej wielkości zbioru uczącego, a następnie opracowanie metody mieszania danych podczas procesu uczenia.
2. Określenie wielkości współczynników uczenia 1 (learning ratę) i »/2 (momentum) por. rozdz. 4. oraz podjęcie decyzji o ich ewentualnej zmianie w trakcie procesu uczenia.
3. Zdefiniowanie czasu uczenia (w ilościach prezentacji wypowiedzi), a tym samym wypracowanie kryteriów pozwalających na ocenę procesu uczenia.
Podczas eksperymentów z siecią neuronową dopracowano się pewnych rozwiązań trzech powyższych grup problemowych, przy czym należy wyraźnie podkreślić, że rozwiązania te zależą bardzo ściśle od wielkości i struktury modelowanej sieci i nie mogą być bezkrytycznie przenoszone na inne, różne od prezentowanej, struktury. Równocześnie okazuje się, że przedstawiony wyżej podział jest podziałem formalnym, a w rzeczywistości wszystkie trzy problemy są ze sobą ściśle sprzężone.
Początkowo optymistycznie przyjęto, że do uczenia sieci wystarczy jeden zbiór uczący, w którym zapisano 70 wypowiedzi, czyli każda komenda dla robota została wypowiedziana 10 razy. Do testowania użyto zbioru składającego się z 21 elementów: siedmiu rozkazów wypowiedzianych po 3 razy. Obydwa zbiory zostały zarejestrowane przez tego samego mówcę. Czynnikiem utrudniającym naukę i rozpoznawanie by! fakt, że nagrania zbiorów nastąpiły w różnym czasie i z różnym poziomem szumów nakładających się na sygnał mowy.
Po 200 prezentacjach zbioru uczącego (14 000 cykli uczenia) test wykazał, że sieć nauczyła się rozpoznawania zbioru uczącego (100%), natomiast zbiór testowy rozpoznawała jedynie