Pytania z pierwszego kolokwium w dniu 26.11.2008r
1. Proszę zaproponować treść hasła "Sieci Neuronowe" do leksykonu dla uczniów szkół licealnych.
Sztuczne sieci inspirowane pracą mózgu. Sieć składa się z kilku warstw : wejściowej, wyjściowej i ukrytej. Zagadnienia sieci neuronowych zajmują się uczeniem i trenowaniem sieci. Dzielą się na sieci o prostym przebiegu sygnału (Feedforward) i z pętlą sprzężenia zwrotnego.
2. Zastosowanie sztucznych sieci neuronowych - obszary zastosowań, zalety, wady, ograniczenia.
Zastosowania tych sieci:
diagnostyka układów elektronicznych
prognozy giełdowe
prognozowanie sprzedaży
poszukiwania ropy naftowej
interpretacja badań biologicznych
prognozy cen
analiza badań medycznych
planowanie postępów w nauce
selekcja celów śledztwa w kryminalistyce
dobór pracowników
sterowanie procesów przemysłowych
w programach do rozpoznawania pisma (OCR)
do syntezy mowy
optymalizacja
Zalety:
dużo mniejsza awaryjność niż zwykłego algorytmu
zdolność do uogólniania zdobytej wiedzy
większa prędkość obliczeń
Wady:
wyniki nie są jasne - są rozmyte
brak umiejętności radzenia sobie z problemami wieloetapowymi
3. Algorytmy wykorzystujące sieci neuronowe, a algorytmy "klasyczne" w modelowaniu zjawisk i układów (podobieństwo, różnice, wady i zalety).
Podobieństwo:
Różnice:
Sieci nie są w stanie operować na symbolach
Algorytmy „klasyczne” dają wynik dokładny, sieciowe tylko przybliżony
Sieci nie są w stanie udokumentować przebiegu obliczeń, nie są też w stanie do wieloetapowego, logicznego rozwiązywania problemu
4. Metody uczenia sztucznych sieci neuronowych ( " z nauczycielem", "bez nauczyciela").
Uczenie z nauczycielem
Uczenie z nauczycielem polega na tym, że sieci podaje się przykłady poprawnego działania, które powinna ona potem naśladować w swoim bieżącym działaniu (w czasie egzaminu). Przykład należy rozumieć w ten sposób, że nauczyciel podaje konkretne sygnały wejściowe i wyjściowe, pokazując, jaka jest wymagana odpowiedź sieci dla pewnej konfiguracji danych wejściowych. Mamy do czynienia z parą wartości - przykładowym sygnałem wejściowym i pożądanym (oczekiwanym) wyjściem, czyli wymaganą odpowiedzią sieci na ten sygnał wejściowy. Zbiór przykładów zgromadzonych w celu ich wykorzystaniu w procesie uczenia sieci nazywa się zwykle ciągiem uczącym. Zatem w typowym procesie uczenia sieć otrzymuje od nauczyciela ciąg uczący i na jego podstawie uczy się prawidłowego działania, stosując jedną z wielu znanych dziś strategii uczenia.
Uczenie bez nauczyciela
Obok opisanego wyżej schematu uczenia z nauczycielem występuje też szereg metod tak zwanego uczenia bez nauczyciela (albo samouczenia sieci). Metody te polegają na podawaniu na wejście sieci wyłącznie szeregu przykładowych danych wejściowych, bez podawania jakiejkolwiek informacji dotyczącej pożądanych czy chociażby tylko oczekiwanych sygnałów wyjściowych. Odpowiednio zaprojektowana sieć neuronowa potrafi wykorzystać same tylko obserwacje wejściowych sygnałów i zbudować na ich podstawie sensowny algorytm swojego działania - najczęściej polegający na tym, że automatycznie wykrywane są klasy powtarzających się sygnałów wejściowych i sieć uczy się (spontanicznie, bez jawnego nauczania) rozpoznawać te typowe wzorce sygnałów.
Samouczenie jest też bardzo interesujące z punktu widzenia zastosowań, gdyż nie wymaga żadnej jawnie podawanej do sieci neuronowej zewnętrznej wiedzy , a sieć zgromadzi wszystkie potrzebne informacje i wiadomości.
5. Proszę opisać istotę algorytmu uczenia sieci jednokierunkowych, nieliniowych, wielowarstwowych (z metodą wstecznej propagacji błędów).
Uczenie sieci wielowarstwowej odbywa się zwykle z nauczycielem.
Sieci jednokierunkowe wielowarstwowe często wykorzystują nieliniową funkcję aktywacji typu sigmoidalnego lub tangens hiperpoliczny.
Algorytm wstecznej propagacji - BP (ang. BackPropagation) określa strategię doboru wag w sieci wielowarstwowej przy wykorzystaniu gradientowych metod optymalizacji. Podczas procesu uczenia sieci dokonuje się prezentacji pewnej ilości zestawów uczących (tzn. wektorów wejściowych oraz odpowiadających im wektorów sygnałów wzorcowych (wyjściowych)). Uczenie polega na takim doborze wag neuronów by w efekcie końcowym błąd popełniany przez sieć był mniejszy od zadanego. Nazwa "wsteczna propagacja" pochodzi od sposobu obliczania błędów w poszczególnych warstwach sieci. Najpierw obliczane są błędy w warstwie ostatniej (na podstawie sygnałów wyjściowych i wzorcowych. Błąd dla neuronów w dowolnej warstwie wcześniejszej obliczany jest jako pewna funkcja błędów neuronów warstwy poprzedzającej. Sygnał błędu rozprzestrzenia się od warstwy ostatniej, aż do warstwy wejściowej, a więc wstecz.
Korekcja wektora wag sieci oparta jest na minimalizacji funkcji miary błędu, która określona jest jako suma kwadratów błędów na wyjściach sieci:
L- numer warstwy ostatniej sieci
Pytania z drugiego kolokwium w dniu 21.01.2009r
1. Sieci rekurencyjne.
Mianem sieci rekurencyjnej określa się sieć, w której występuje sprzężenie zwrotne Od innych sieci odróżnia je to, że sygnał wpada w oscylację tworząc nowe sygnały na wejściu. Wśród różnorodności modeli rekurencyjnych sztucznych sieci neuronowych wyróżnić można np.:
sieć Hopfielda - układ neuronów połączonych tylko za pomocą sprzężeń zwrotnych i nie połączonych same ze sobą. Sieci te są zawsze stabilne.
maszyna Boltzmanna - sieć symulująca zjawiska termodynamiczne .
2. Sieci modularne.
3. Zastosowanie sieci neuronowych w układach sterowania.
W układach sterowania maszyn kroczących często wykorzystywana jest sieć Hopfielda, gdyż sieć taka tworzy powtarzającą się serię sygnałów. Można uczyć również inne sieci sterowania obiektem, poprzez odpowiedni układ złożony ze sterownika tradycyjnego i sieci (sterownik jest nauczycielem).