Zapoznaj się z naszymimateriałami na stronie

Potrzebne materiały:
- Co najmniej 1 robot
- 1 komputer/robot
- płaski przedmiot (pudełko, deska, smartfon…)
Konfiguracja oprogramowania:
- przykładowa konfiguracja: „wykrywanie intruzów”
Czas trwania:
2 godziny
Wiek:
od 15 lat
Zalety tej aktywności:
- Idealne do wykorzystania na zajęciach
- Potrzeba niewiele sprzętu
- Wielodyscyplinarny (matematyka / informatyka)
Zrozumienie matematycznych zasad działania sieci neuronowych poprzez ćwiczenie oparte na czujniku ultradźwiękowym robota. Dowiadujemy się w nim między innymi, dlaczego potrzebne są warstwy neuronów pośrednich.
[Wkrótce dostępny materiał wideo]
Wdrożenie
Ustaw robota obok komputera, twarzą do ściany (lub deski areny) w odległości około 50 cm, a następnie przygotuj przedmiot o płaskiej powierzchni (pudełko, deskę, smartfon), który będzie pełnił rolę intruza.
Załaduj konfigurację „Wykrywanie intruzów” z kategorii „Edycja ręczna”. Ten scenariusz wykorzystuje wyłącznie czujnik ultradźwiękowy.
Wszystkie działania są wykonywane w trybie„edycji ręcznej”, co oznacza, że parametry sieci neuronowej wybieramy samodzielnie, bez korzystania z algorytmu uczenia się.
Przedstawienie interfejsu
W tym ćwiczeniu na ekranie głównym znajdują się dwa widoki:
- Poniżej przedstawiono badaną sieć neuronową. Na początku ćwiczenia należy włączyć tryb edycji ręcznej (za pomocą przycisków u dołu interfejsu programu), co pozwala na samodzielną zmianę parametrów sieci neuronowej. Aby zmienić wartość połączenia, należy najechać myszką na to połączenie (zmieni kolor na czerwony), a następnie wpisać żądaną wartość za pomocą klawiatury lub zmienić bieżącą wartość za pomocą kółka myszy. Aby zmienić wartość odchylenia neuronu, należy najechać myszką na sam neuron (nie na wyświetlaną wartość), a następnie postępować tak samo jak w przypadku połączeń.
- U góry znajduje się wykres przedstawiającyprzestrzeń stanów. Na osi odciętych widoczna jest odległość zmierzona przez czujnik ultradźwiękowy. Na osi rzędnych widoczne są poziomy aktywacji neuronów wyjściowych. Przedstawiono dwie krzywe, ponieważ istnieją dwa neurony wyjściowe. Związek między krzywą a neuronem jest oznaczony kolorem. Wartość neuronów wyjściowych jest funkcją wartości wejściowej (odległości). Kolor tła wykresu wskazuje, która krzywa znajduje się powyżej drugiej dla każdej wartości wejściowej, a tym samym, jakie działanie wybierze robot dla tej wartości wejściowej.

Cel i problem
Robot stoi twarzą do ściany i musi wydać sygnał dźwiękowy, gdy ktoś (intruz) przejdzie między nim a ścianą.
Aby wykonać to zadanie, należy skonfigurować sieć neuronową. Ponieważ jedynym wykorzystywanym czujnikiem jest czujnik ultradźwiękowy, celem jest wygenerowanie sygnału dźwiękowego, gdy odległość jest niewielka, oraz wykonanie akcji „nie rób nic”, gdy odległość jest normalna.

Wdrażanie sieci neuronowych
Same parametry „wagi połączeń” nie wystarczą do wykonania tego zadania. Należy włączyć opcję „bias neuronowy” (w zakładce AI), co odblokuje nowe parametry, które pozwolą nam osiągnąć ten cel.



Próba oszustwa
Problem
Intruz próbuje oszukiwać, wykorzystując właściwości czujnika ultradźwiękowego: jeśli płaska strona zostanie ustawiona po przekątnej względem czujnika, fale odbijają się, a zmierzona odległość jest wtedy znacznie większa niż odległość do ściany! Musimy dostosować naszą sieć neuronową, aby wykrywała również tę próbę oszustwa.
Warstwy neuronów pośrednich
W tym celu musimy dodać warstwę pośrednią do naszej sieci neuronowej (w zakładce AI), aby dzięki funkcjom aktywacyjnym uzyskać model nieliniowy.

Podsumowanie i wnioski
Podsumowując:
- Sieć neuronowa to zbiór neuronów zorganizowanych w warstwy. Każda warstwa może składać się z jednego lub kilku neuronów.
- Neurony to obiekty abstrakcyjne zawierające pojedynczą wartość liczbową.
- Neurony są połączone ze sobą za pomocą połączeń, których wartości nazywane są wagami.
- Każdy neuron posiada również wartość domyślną, która jest dodawana do wartości neuronu.
- Wartości neuronów warstwy wejściowej są określane na podstawie wartości z czujników.
- Neurony warstwy wyjściowej odpowiadają za działania robota. W trybie autonomicznym zawsze wybierane jest działanie o najwyższej wartości.
- Warstwy pośrednie umożliwiają sieci wykonywanie bardziej złożonych zadań. Na wykresie widać, że wraz ze wzrostem liczby warstw pośrednich proste linie neuronów wyjściowych są zastępowane przez coraz bardziej złożone krzywe.
- Trenowanie sieci neuronowej polega po prostu na wybraniu wartości dla każdego z jej parametrów: wag połączeń i offsetów neuronów. Gdy liczba neuronów i połączeń staje się duża, to złożone zadanie realizuje algorytm uczenia się!