Sztuczne sieci neuronowe
Uczenie perceptronu z warstwą ukrytą
Cel
Celem ćwiczenia jest implementacja perceptronu z warstwą ukrytą i zbadanie jego działania dla przykładowych problemów (przede wszystkim XOR).
Ograniczenia neuronu
W 1969 Minsky i Papert udowodnili, że perceptron dwuwarstwowy ma bardzo ograniczone zastosowanie, m.in. nie jest w stanie rozwiązać problemu różnicy symetrycznej (XOR). Późniejsze badania wykazały, że wystarczy dodać warstwę ukrytą, by to ograniczenie pokonać. W ćwiczeniu tym zbudujemy właśnie taki model sieci.
Zagadnienia
- zbudować model wg wzoru zawartego w arkuszu Excela (nie stosować VBA), z logistycznymi funkcjami aktywacji (gotowy arkusz - tutaj),
- manualnie spróbować dobrać wagi dla problemu z pierwszego ćwiczenia,
- potraktować uczenie (dobór wag) jako proces optymalizacyjny; w tym celu użyć Solvera,
-
w VBA napisać program na dobór wag przyjmując:
- losowa inicjalizacja wag z przedziału [-2.5 , 2.5]
- ruch polegający na wylosowaniu liczby z rozkładu normalnego o średniej Wij oraz odchyleniu standardowym równym s (przekształcenie Boxa-Mullera),
- warunek stopu - osiągnięcie błędu dopuszczalnego lub 3000 iteracji,
- akceptowane tylko lepsze rozwiązanie.
- zbadać wpływ s na szybkość uczenia,
- spróbować dobrać wagi techniką symulowanego wyżarzania (o ile jest już poznana); wnioski?
- powtórzyć ćwiczenie dla operatorów AND, OR i XOR.